Transifex でリソース (Resources.resx) の翻訳・管理をする -導入編-

前回のエントリーで、WPF アプリの国際化 (多言語対応) と、動的な言語切り替えの実装例について解説しました。
続いて、多言語化対象となるリソースを、翻訳プラットフォーム Transifex を活用して翻訳・管理する例を紹介します。

「提督業も忙しい!」を例にしていますが、Transifex で管理するようになって日が浅いので、今回は導入まで、特に既存のリソースを Transifex に投入する部分までとします。
導入編、もしくは移行編です。
実際に運用してから判ったことなどは、後日共有させて頂きたく。

実際に作成した Transifex 上のプロジェクトはこちら。
https://www.transifex.com/projects/p/kancolleviewer/

プロジェクトの作成

Transifex は有償サービスですが、OSS プロジェクトであれば無償で利用できます。
そこで「提督業も忙しい!」は、Transifex で多言語リソースの翻訳・管理をすることにしました。

まず、Transifex で新しいプロジェクトを作成します。(以降、画像クリックで拡大)

Transifex dashboard

ダッシュボードの左ペインから、[新規プロジェクト] ボタンを押します。
こんな感じに入力しました。

new project

翻訳元を日本語、翻訳する言語に英語・中国語・韓国語を指定してみます (既にリソースがある言語なので…)。

languages

こんな感じのプロジェクトが作成されました。

KanColleViewer project

リソースの追加

次に、翻訳対象となるリソースを追加します。
リソース タブからリソース画面に移ると、こんな表示に。まだリソースは何もありません。

resources (empty)

[新規リソースを追加] ボタンから、リソースを追加します。

ここで、前回のエントリーでも解説した Resources.resx ファイルを指定しましょう。
プロジェクト作成時に「翻訳元言語」で日本語を指定したので、この Resources.resx は日本語の文字列が含まれている必要があります。

Resources.resx ファイルを指定すると、ファイル形式は自動的に「.NET Resource Files (.resx, .aspx)」が選択されます。

Resources.resx

ご参考までに、この Resources.resx の中身 (例)。

Resources.resx

リソースを作成すると、こんな感じに。
翻訳元である日本語リソースが 100 % 作成された状態で、他は 0 % です。

この状態で各言語の文字列を web で参照すると、当然ながらリソースが翻訳されていない状態で出てきます。

Resources - English

Resources - English

今回は既に翻訳されたリソースがあるので、それをアップロードして埋めてみましょう。
各言語のメニューにある [ファイルのアップロード] リンクから、その言語でローカライズされた .resx ファイルを指定します。

Resources.en-US.resx

翻訳できました。
98 % になっているのは、日本語 (Resources.resx) で先行して追加されたリソースがあるためです。

個々のリソースを翻訳する場合は、各言語のメニューから [翻訳する] ボタンで。
「提督業も忙しい!」では、実際にこの画面から翻訳する運用に至っていないので、詳細は後日、ということで…

翻訳されたリソースのダウンロード

さて、翻訳が済んだリソースをプロジェクトにどう適用するか、というと、各言語のメニューに「利用のためにダウンロード」というリンクがあります。
クリックすると、.resx がダウンロードされます。

menu

downloads

中身は普通の .resx ファイルですので、これを Resources.<カルチャ名>.resx にリネームしてプロジェクトに入れてやれば、ローカライズ完了です。
(いちいちリネームしたりするのがちょっと面倒なので、何とかしたいかも…)

おわりに

ということで、「提督業も忙しい!」の開発で実施した .resx 管理の Transifex への移行、でした。
まだ Transifex にリソースを移しただけです。
これから、リソースの翻訳や言語の追加、などの運用していきたいです。

https://www.transifex.com/projects/p/kancolleviewer/

うまくいったら、また何か書きます。


One thought on “Transifex でリソース (Resources.resx) の翻訳・管理をする -導入編-

  1. Pingback: WPF アプリの国際化 (多言語対応) と、実行中の動的な言語切り替え | grabacr.nét

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です