Localisation/jp

ローカライゼーションとは、複数の言語のユーザーインタフェースをソフトウェアに与える一般的なプロセスです. FreeCADでは、編集→環境設定→アプリケーションを編集するで、ユーザーインターフェイスの言語を設定することができます. FreeCADは、Qtを使用して複数の言語のサポートを可能にしています. Unix / Linuxシステム上では、FreeCADはシステムの現在の地域設定を使用するよう初期設定されています.

FreeCAD翻訳の支援
プログラマ以外の人々がFreeCADのためにできる最も重要な事の一つが、プログラムの翻訳を助けることです. オンライン共同翻訳システムCrowdinの採用により、翻訳作業は以前よりとても簡単になりました.

翻訳するには

* Crowdin上のFreeCAD翻訳プロジェクト・ページへ行ってください * 新しいプロファイルを作成するか、Gmailのアドレスのようなサードパーティのアカウントを使用してログインしてください * 作業したい言語をクリックしてください * ファイルを選択し、ファイルの横にある「翻訳開始ボタン」をクリックします. 例えば、FreeCAD.tsはFreeCADのメインGUIのテキスト文字列を持ちます * 既存の翻訳へ投票や、独自の訳を作成することができます.

注 ：あなたがFreeCADの翻訳に活発に参加しており、次のリリースの開始準備を事前に知って翻訳のレビューを行いたい場合には、以下に登録してください. http://sourceforge.net/apps/mantisbt/free-cad/view.php?id=137

Qt-Linguistによる翻訳（昔の方法）
以下の情報は今後使用される必要がなく、おそらく廃れていくでしょう. この情報は、プログラマがその動作をよく理解する手助けになる可能性があるため残されています.


 * 以下に示すFreeCADのすべての言語フォルダを開きます.
 * あなたの言語コードを示す.tsファイルがあるかどうか確認してください（例えば"fr"はフランス、"de"はドイツ語です）
 * ファイルがあれば、そのファイルはダウンロードできます（ファイルをクリックでダウンロード）. 翻訳の修正、検討、改善が可能です.
 * ファイルが存在しない場合、言語コードなしの.tsファイルをダウンロードしてください（あるいは他の.tsファイルでも同じです）
 * そのファイル名をあなたの言語コードに変更してください.
 * Qt-Linguistプログラムでそのファイルを開いてください.
 * 翻訳を開始します（Qt Linguistは大変使いやすいプログラムです）
 * 翻訳がすべて終わったらファイルを保存してください.
 * ファイルを我々に送ってください.他のユーザへも役立てられるように、そのファイルをfreecadソースコードに含めます.

利用可能な翻訳ファイル

 * FreeCAD main GUI
 * Complete Workbench
 * Drawing Workbench
 * Draft Workbench
 * Reverse Engineering Workbench
 * FEM Workbench
 * Robot Workbench
 * Image Workbench
 * Sketcher Workbench
 * Mesh Workbench
 * Test Workbench
 * Points Workbench
 * Raytracing Workbench
 * Part Workbench
 * PartDesign Workbench
 * Assembly Workbench
 * MeshPart Workbench

必要なもの
独自のアプリケーションモジュールをローカライズするにはQtの助けが必要になります. これらはTrolltech-ウェブサイトからダウンロードすることができますし、また、LibPackにも含まれています:


 * qmake: プロジェクトファイルを生成します
 * lupdate: ソースコードを調べてプロジェクトからオリジナルテキストを抽出するか更新します
 * Qt-Linguist: Qt-Linguistは非常に使いやすく、一般的な文章の慣用表現集のような便利な機能を持ち、あなたの翻訳を手助けします

プロジェクトのセットアップ
プロジェクトのローカライゼーションを始めるために、モジュールのGUI部分に移動し以下のコマンドを実行してください:

qmake -project

このコマンドはあなたのプロジェクトのディレクトリにあるテキスト文字列を含んでいるファイルを調べ、次の例のようなプロジェクトファイルを作成します:

TEMPLATE = app DEPENDPATH += .\Icons INCLUDEPATH +=. HEADERS += ViewProvider.h Workbench.h SOURCES += AppMyModGui.cpp \ Command.cpp \ ViewProvider.cpp \ Workbench.cpp TRANSLATIONS += MyMod_de.ts
 * 1) Automatically generated by qmake (1.06c) Do 2. Nov 14:44:21 2006
 * 1) Automatically generated by qmake (1.06c) Do 2. Nov 14:44:21 2006
 * 1) Input

手動でファイルを追加することができます. TRANSLATIONSセクションでは、言語ごとに翻訳されたファイルのリストを持ちます. 上記の例ではMyMod_de.ts はドイツ語に翻訳されたファイルです.

では次にlupdateを実行し、GUIに含まれる文字列リテラルを抽出する必要があります. ソースコードの変更後にlupdateを実行しても、翻訳ファイルから文字列を削除することは決してないため、常に安全です. lupdateは新しい文字列を追加するだけです.

次にVisualStudioのプロジェクトへ.ts-filesを追加する必要があります. 次のカスタムビルドメソッドを指定してください:

python ..\..\..\Tools\qembed.py "$(InputDir)\$(InputName).ts" "$(InputDir)\$(InputName).h" "$(InputName)" 注意:1つのコマンドラインにこれを入れてください、ここではレイアウトのために改行しているだけです.

上記の実施例のように.ts-fileをコンパイルすることによって、ヘッダーファイル MyMod_de.hが作成されます. このファイルをインクルードする最適な場所はAppGui.cppです. 我々のこの例ではAppMyModGui.cppになります. このファイルに次の行を追加し new Gui::LanguageProducer("Deutsch", _de_h_data, _de_h_len); あなたの翻訳をアプリケーション内で公開しましょう.

pythonファイルの翻訳設定
pyファイルのローカライゼーションを簡単にするために複数のpｙファイルにも対応できる"pylupdate4"ツールが利用できます. -ts オプションをつけることで複数の.tsファイルの作成や更新が可能です. 例えばフランス語のための.tsファイルを作成するには、コマンドラインに次のように入力するだけです:

pylupdate4 *.py -ts YourModule_fr.ts

pylupdateツールは、pyファイルからtranslateかtr関数をスキャンし、YourModule_fr.tsファイルを作ります. このファイルはQLinguistによる翻訳が可能であり、QLinguistまたは次のコマンドでYourModule_fr.qmが作成されます:

lrelease YourModule_fr.ts

pylupdate4ツールはtranslate関数をあまりよく認識しないことに注意してください. この関数は詳細な書式を必要とします（例としてドラフトモジュールファイルを参照してください）. ファイルの中で、以下のように変換システムを組み入れることが可能です（QApplicationのロード後ですがQtウィジェットの作成前です）:

translator = QtCore.QTranslator translator.load("YourModule_"+languages[ln]) QtGui.QApplication.installTranslator(translator)

必要に応じて、以下の内容のXMLファイルDraft.qrcを作成することができます：

  Draft_fr.qm 

pyrcc4 Draft.qrc -o qrc_Draft.py を実行すると、全てのリソースを含む大きなPythonファイルを作成します. またこの方法で複数のアイコンファイルを1つのリソースファイルに入れることも可能です.

wikiを翻訳する
このwikiは多数のコンテンツを提供しています. 最新の興味深い内容はマニュアルに集められています. そのため最初のステップはあなたの言語のマニュアルの翻訳がすでに始まっているかどうかを確認することです（"マニュアル"の下の左側のサイドバーを見てみください）. 開始されていなければフォーラムに行き、新しい翻訳を始めたいと発言してください. 我々はあなたが取り組みたい言語のための基本的な設定を作成します.

次にwikiの編集の許可を得なければなりません.

もしあなたの言語の翻訳が既に開始されている場合、まだ翻訳されていないページを見つけてください（リストに赤色で表示されています）. 手順は単純です：赤いページに行き、対応する英語ページの内容をコピーして貼り付けます、そして翻訳を開始します. もとの英語ページのすべてのタグとテンプレートを入れるのを忘れないでください. いくつかのテンプレートは、あなたの言葉の相当するテンプレートを持っているでしょう（例えば、Docnav/frはフランス語版のDocnavテンプレートです）. 翻訳済みの他のページを参考にしましょう.

ページの翻訳を終えたら、元の英語ページにあなたの翻訳へのリンクを加えなければなりません. これによって読者は テンプレートからそのページの翻訳版が利用できることがわかります. 他の翻訳者のやり方を見て同じようにしましょう.

もし自信がない場合、フォーラムに行き、正しいかどうかのチェックを依頼してください.

マニュアルページでよく使用される3つのテンプレートがあります. これら３つのテンプレートはローカライズバージョンを持っています.
 * Template:Docnav :ページの下にあるナビゲーションバーです. 「前のページ」や「後のページ」を示します
 * Template:Languages :このテンプレートは元のページに配置し、読者にそのページの翻訳版が存在することを示します. 翻訳版のページには英語ページへのリンクを張らなければなりません.
 * Template:en ：各言語ごとに用意されたアイコンの一つです. languagesテンプレート内に配置します.

ページの命名規則
MediaWikiエンジンのSourceforge実装の制限のために、あなたのページの名前を、元の英語ページの名前にスラッシュとあなたの言語コードを追加した名前にする必要があるので注意してください. 例えばAbout FreeCADの翻訳されたページは、スペイン語ならAbout FreeCAD/es、ポーランド語ならAbout FreeCAD/plなどです. この理由は単純に翻訳者が去った場合にwikiの管理者が(すべての言語を話せるわけではないので）それらのページが何であるかを知るためです. またメンテナンスを容易にしてページが失われるのを避けるためです.

Docnavテンプレートのリンク先のページ名をあなたの言語で表示したい場合、リダイレクトページを使用します. これは基本的には実際のページへのショートカットリンクです. 以下はAbout FreeCADのフランス語のページの例です.

ページ"Bienvenue sur l'aide en ligne"はOnline Help Startpage/frにリダイレクトし、ページ"Fonctionnalites"はFeature list/frへリダイレクトします.
 * About FreeCAD/frは実際のページです
 * ページÀ propos de FreeCADでは次のコードを持ちます：
 * 1) REDIRECT About FreeCAD/fr
 * About FreeCAD/frのページではDocnavのコードは次のようになります：

不明な点があれば遠慮しないでフォーラムで聞きましょう.