Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ホットキーの一覧の日本語化 #2

Open
yoneken opened this issue Sep 27, 2015 · 3 comments
Open

ホットキーの一覧の日本語化 #2

yoneken opened this issue Sep 27, 2015 · 3 comments

Comments

@yoneken
Copy link
Member

yoneken commented Sep 27, 2015

From @kinichiro on August 5, 2015 16:42

現時点で @starfort-jp さんがほとんど日本語化して下さってて、
メニュー、アイコンのツールチップ、コンテキストメニュー、ダイアログ、等々、
ほぼ全て日本語化が完了してる状態ですが、? キー で表示される
ホットキーの一覧にはまだ日本語化されていない説明文があります。

この辺りを多少直そうかと思ったのですが、そもそも kicad.po ファイルに
ホットキーの説明文が落ちてないようです。

これはおそらくプログラムのソースコード側が多言語化対応してないからなのでしょうね?

Copied from original issue: kicad-jp/kicad-gui#3

@starfort-jp
Copy link

starfort-jp commented Jul 23, 2016

原因が分かりましたので、ご参考までに記しておきます。

gettext manualによると、翻訳可能なストリングのPOマークは "()" です。(4.5 Marking~)
これ以外にキーワードとして、gettext、gettext_noop が例示されています。(4.6 Special~)
なので通常は、PoEditのキーワードには "
" しか定義されていません。
(もしくは、gettext、gettext_noopが追加されているくらいです。)

ところがソースを眺めていたら、次のような記述がhotkeys.cppの冒頭にありました。
// Remark: the hotkey message info is used as keyword in hotkey config files and
// as comments in help windows, therefore translated only when displayed
// they are marked _HKI to be extracted by translation tools
// See hotkeys_basic.h for more info
コードを見ると確かに、翻訳可能なストリングのPOマークが'_HKI()'となっています。

そこで、PoEditのキーワードに '_HKI' を追加して再度ソースから更新しました。
未翻訳を埋めてMOを生成したところ、"ホットキーの一覧"の日本語化が確認できました。

まだ他に英語の部分が残っているので、別のkeywordがあるのかも知れません。
Linux等でgrepが使える方がおられましたら、チェックを宜しくお願いします。

...Oh, no! Damn the markdown!

@kinichiro
Copy link

素晴らしいですね。
こういうことも、potからGUI翻訳する仕組みにしておけば他の言語の翻訳者とも共有できますね。

@starfort-jp
Copy link

starfort-jp commented Jul 24, 2016

POTからPOを生成するその仕組みこそが、本来のgettextの使い方ですね。
個人的には、少なくともリリース版についてはPOTにすべきと思います。
開発者がコードに注意書きしただけでは、簡単には翻訳者に伝わりませんよ。
ちなみに追加キーワードはこの2つだけで良いようです。(i18n_utility.h に記述がありました)
他の英語部分はwxGetTranslationによるもので、この方法では変更できないようです。

コード開発に係ってる翻訳者なら設定してそうだと思い、試しに4.0のPOを漁ってみました。
国毎で対応状況はまちまちですが、やはりコード開発してる人たちは設定してました。
それでも訳語の数がばらばらなので、きっとソースの取り込み方が違うんでしょうね…
(開発版向けなら作業してるレビジョンによって当然でしょうけど)

Code Country Keywords IDs Date
bg Bulgarian _ 3491 2011/11/29
ca Catalan _ 1727 2007/10/22
cs Czech 3444 2011/08/15
de German _ 4737 2016/02/12
el Greek _ 4377 2016/01/03
es Spanish _: _HKI 5048 2016/07/11
fi Finnish _; gettext; gettext_noop 3459 2012/04/04
fr French _: _HKI 4902 2016/02/26
hu Hungarian 1896 2006/01/16
id Indonesian _: _HKI 4864
it Italian _: _HKI 4921 2016/02/21
ja Japanese _: _HKI 4920 2016/07/23
ko Korean _ 2214 2007/12/17
lt Lithuanian _: _HKI 4858
nl Dutch _ 2964 2010/03/09
pl Polish _: _HKI 4844 2015/12/29
pt Portuguese 2978 2011/02/17
ru Russian _: _HKI 4902 2016/02/27
sk Slovak _ 3889 2014/09/02
sl Slovenian _ 1709 2005/07/05
sv Swedish _ 3839 2015/04/01
zh_CN Chinese _ 4869 2016/01/13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants