- 追加された行はこの色です。
- 削除された行はこの色です。
* 英語版 [#ce094715]
-ページ: [[Request]]
-投稿者: [[request.txt]]
-優先順位: 低
-状態: 提案
-カテゴリー: 編集
-投稿日: 2007-03-31 (土) 20:46:20
-バージョン:
** メッセージ [#dd2053f6]
*** 方法(その1) [#fa7563d2]
次のファイルの日本語メッセージ(20071202版から抽出)を英語に変換してからソースファイルを置換してしまえば、英語版になるはずです。
なお、メッセージ表示が英語になるだけで、欧州文字等が編集できるようになるわけではありません。
#ref(ja.txt)
皆さんで編集できるように分割掲載しました。Wikiで編集してください。
(コツはメッセージの長さが変わらないようにすることです)
[[0001〜0100>Request/53/en1]],
[[0101〜0200>Request/53/en2]],
[[0201〜0300>Request/53/en3]],
[[0301〜0400>Request/53/en4]],
[[0401〜0500>Request/53/en5]],
[[0501〜0600>Request/53/en6]],
[[0601〜0700>Request/53/en7]],
[[0701〜0800>Request/53/en8]],
[[0801〜0900>Request/53/en9]],
[[0901〜1000>Request/53/en10]],
[[1001〜1100>Request/53/en11]],
[[1101〜1200>Request/53/en12]],
[[1201〜1300>Request/53/en13]],
[[1301〜1400>Request/53/en14]],
[[1401〜1500>Request/53/en15]],
[[1501〜1600>Request/53/en16]],
[[1601〜1700>Request/53/en17]]
日本語版ソフトがグローバルにならない要因のひとつに英語情報がないことが挙げられます。
でも、それはどうしようもないか。
ヘルプファイルも英語化されれば使いたがる人が出てくるかもしれません。
*** 方法(その2) [#a9aaa499]
本格的にするなら、次のような方法も考えられます。
- 主要なメッセージ文字列をリソースに追い出す(日本語リソースはexe内に保持)。
- 追い出したリソースだけを保持するリソースDLL(もちろん英語に翻訳したものです)を作成する。
- 設定画面に言語設定項目を用意する。対応言語は、sakura.exeと同じフォルダにあるsakura_rc_*.dllを検索し、言語問い合わせインタフェース(特定のリソース文字列を読む)を使って言語情報を取得する。検索できた言語をコンボリストに表示する。
-- IDS_RC_LANG = 9999
-- 日本語: IDS_RC_LANG = "1041,Japanese"
-- 英語 : IDS_RC_LANG = "1033,English(US)"
-- 日本語: IDS_RC_LANG = "Sakura-Editor,1041,Japanese"
-- 英語 : IDS_RC_LANG = "Sakura-Editor,1033,English(US)"
-- 言語リスト http://www.microsoft.com/globaldev/reference/lcid-all.mspx
-- または LPCTSTR GetRcLang( void ); のようなAPIを使う
- サクラエディタ起動時に、設定されている言語のリソースDLL(例:sakura_rc_1033.dll)をチェックする。
- リソースDLLがある場合はLoadLibraryしそのインスタンスを、ない場合はWinMainのインスタンスを保持する。
- メッセージ文字列を参照する場合は、上記インスタンスを使ってLoadStringする。保険として、外部リソースDLLを参照していて失敗した場合は、内部リソースで再試行する。
- ダイアログも同じである。
- 利点
-- 日本語として使うときは、余計なリソースを持ってないのでバイナリが増加しない。
-- 英語を使いたい人は、指定場所に指定の名前のリソースDLLを置くだけでよい。
-- 他の言語にも対応できる。
- 欠点
-- 動的な切り替えはできない。
-- メッセージ文字列をリソースに追い出す必要がある。
-- リソースから取得するので、若干遅くなる。
- その他
-- OSの言語モードとは無関係である。
*** コメント [#t8992be5]
いずれにしても英訳は必要なので、英訳情報が無駄になることはありません。
#ref(en-menu.png)
----
- Express 2005+Platform SDKで、メニュー1行のみと、タスクトレイを英語化(GlobalじゃないけどCool ->見た目の確認)。 ただ、添付ファイルと一緒にコメントできないので、後でコメントのみ追加。 -- [[じゅうじ]] &new{2008-03-16 (日) 22:19:06};
#comment
#attach