言語DLLで言語を切り替えられるようにします。
ベースは昨年初めにANSI版にてLucienさんが公開された翻訳リソース、およびなすこじさん作のDLL切り替えです。(>>data:5706)
【主な変更】
・言語DLLプロジェクトをsakura_coreと並列に配置
・UNICODE版のリソースを元にメッセージ定数などを追加(String_define.hを追加)
・なすこじさんの言語切り替えを追加(CSelectLang.cpp, CSelectLang.h)
・メインメニューのノード文字列を常にiniに保存していたのを、ノード名変更があったときのみ保存しそれ以外はリソースから取得するように。
・文字列ロードマクロ追加 LS( ) 、LSW( ) (LoadStringStを呼んでいるだけ)
【本体残り作業】
・メインメニュー・・・コマンド一覧とカスタムメニューを除き完了
・画面制御・・・2画面ほど実施
・メッセージ・・・未着手
【英語DLL残り作業】
・メインメニュー・・・ひとまず完了。Unicodeはアクセスキーの指定が要らないので削除
・ダイアログ・・・2割くらい英語化
・メッセージ・・・とりあえず翻訳済み。Unicode独自分の追加
【その他】
・メッセージ定数名が STR_ERR_クラス名_連番 のような名前なので、もう少し意味のある名前に・・・
STR_PROPTYPE_ERRの部分がエラーだったのを修正
skrw_new_en_prop_v2.patchを[r3497]でコミットしました。
Related
Commit: [r3497]
[r3497]で日本語リソースの タブを閉じるボタン のところがおかしかったのを修正
Related
Commit: [r3497]
skrw_fix_dlg_tabclosebtn.patch
を[r3508]でコミットしました。
Related
Commit: [r3508]
ためしにプラグインの地域化(L10N)をしました。
plugindir\local\plugin_en_us.def
に、定義の文字列部分だけの英語版を置くと英語になります。
各国語の部分は、.Label等の部分のみで、基本的な値はplugin.defのみを読み込むので、
定義の不整合で、特定言語だけ変な動きにならないようになっています。
また、言語がデフォルト設定の場合、
plugindir\local\plugin_ja_jp.def
を読み込むようにしてあります。ので、plugin.defを英語にして、日本語をplugin_ja_jp.defにすることで、
さらにほかの言語を追加したときのデフォルト文字列を英語にできます。
また、plugin*.defで
[String]
S[1]=文字列
を追加しました。S[99]までつかえます。
js内からPlugin.GetString(数字)で読み取れます。(GetDefは、各国語に未対応)
Plugin.GetString(0)で、プラグイン設定が読み込まれた時の言語を取得できます。
=>en_us や =>ja_jp になります。
共通設定の言語切り替えは即時反映ですが、いまのところプラグインの言語切り替えは、
読み込んだプロセスの起動時固定です。
テスト用プラグイン(の詰め合わせ、pluginsフォルダ)です。
http://ux.getuploader.com/sakura_editor/download/87/plugins_sakura_mlang_test.zip
[r3547]でmlang_pluginをコミットしました。
Related
Commit: [r3547]
英語リソースの機能名のところにアクセスキーがついており、
「アクセスキーを必ず()付きで表示」をOFFにすると、&Copyになってしまう不具合を修正
デバッガで追いかけてみましたが、"&Copy"になってしまうのは、
CKeyBind::MakeMenuLabel()で"&&Copy"のようなラベルを作っているのが原因のようです。
(Windowsの仕様だと思っていました)
追記です。
CKeyBind::MakeMenuLabel()を呼び出してラベルを作る場合、
アクセスキーの文字マッチングを行って&を追加するので
Mocaさんの修正案(リソースに&を付けない)で問題なさそうです。
ただし、文字マッチングで大文字と小文字が区別されるので
CKeyBind::MakeMenuLabel()側で別途対応が必要かもしれません。
たとえば、CutのアクセスキーはTですが、これだと文字マッチングしないので
Cut(T)のままになります。
WinMergeは小文字もアクセスキーになるようです。
Last edit: novice123 2013-12-07
skrw_fix_mainmenu_acckey.patchを[r3498]でコミットしました。
Related
Commit: [r3498]
主にダイアログのソース部分の文字列のリソース化をしました。
String_define.h更新
dlg_v2を[r3509]でコミットしました。
Related
Commit: [r3509]
・キャプション文字列や、ファイル名表示の文字列置換を行うようにしました
String_define.h更新
en_valuecnv_v2を[r3510]でコミットしました。
(ConvertLangValues)
Related
Commit: [r3510]
アウトライン画面のリソース化をしました
en_outlineを[r3511]でコミットしました。
Related
Commit: [r3511]
残りのファイルをほぼ、リソース化しました。
言語設定がされるより前の状態で表示されるメッセージはそのまま残してあります。
Last edit: Moca 2013-12-18
・conflict修正
skrw_new_en_etc_v3.patch を [r3516]でコミットしました。
Related
Commit: [r3516]
・いくつかのリソースの間違いの修正
少し修正して、[r3517]でコミットしました。
Related
Commit: [r3517]
印刷プレビューを英語化します。
リビジョン3523でコミットしました。