Version 15 (modified by 5 years ago) ( diff ) | ,
---|
他の言語:
翻訳
JOSMの翻訳は3つの部分に分けられます。一つは毎回起動時に見られる部分、二つ目はソフトウェア、三つ目はWikiあるいはオンラインヘルプです。
Wikiとオンラインヘルプ
初めて貢献するのに適切なのはこのWikiです。WikiはJOSMのオンラインヘルプも提供しています。詳細はTranslations/Wikiをご覧ください。すべての良いWiki同様に、直ちに作業を始められます。
言語特有の情報はページの最後にあります。
StartupPage
JOSM JOSM起動時のメッセージの訳文はStartupPageSourceで変更できます。
このページでは特別なフォーマットを使います:
- "en:" で始まる各行は翻訳対象の行の開始を意味します。
- 他の言語の省略形で始まる各行は、上記の英文に対応する訳文になります。
- 言語の指定がない行は、そのまま扱われます。
- "#"で始まる行は無視されます。
注意: 別々の組の間に常に空行があるわけではありません。 訳文を混ぜたり忘れたりしないように気を付けてください!それぞれの組で行を小文字の言語の省略形で並び替えてください。ただし"en:"は最初です。
英文を変更するときには、翻訳もまた修正する必要があることに留意してください。 各言語の修正ができない場合は、言語指定の前に"x"を追加してください。 これによって訳文はそのままで無効にできます。
プレビューボタンや変更を送信ボタンを押すと、ページは各言語ごとそれぞれのセクションに分けられます。 ENのマークがついた行は未翻訳の行を意味します。 Xのマークがついた行は、草稿であることを意味します。 BASEのマークがついた行は、国有化した翻訳が存在せず、ベースの言語の翻訳で上書きされてることを意味します(例:存在しない"ca@valencia"の代わりに"ca"が使われています。
古いJOSM起動メッセージは当年分はVersionHistorySourceで変更できます。2008年から昨年分までは各年ごとのページで変更できます(例:VersionHistorySource/2016)。フォーマットは上記と同じです。
ソフトウェアの翻訳
プラグインを含むプログラム内のテキストの翻訳はLaunchpadで進められています。少数のプラグインはtransifexで行われています(2018年1月現在 Mapillary、geojson、scripting)。
Launchpadのテンプレートは毎晩の最新ビルドで更新されます。 翻訳結果は新しいリリースが行なわれる度に(あるいは必要ならもっと頻繁に)インポートされます。
Java環境での翻訳については以下のような特殊な点に留意する必要があります:
- ' 記号は特殊文字です。 もう一つ ' を重ねることでエスケープできるので、 '' が結果の表示では単一引用符を意味します。
- この記号を多用する言語では、エスケープする代わりに別の記号の ’ を使います (こちらの方が翻訳時に見栄えがよく、最終的にソフトウェアで表示する際にもユーザはほとんど見分けがつきません)。
- この文字はRIGHT SINGLE QUOTATION MARKという名前でU+2019です。
- Linuxではこの文字は<ALT-GR>+<SHIFT>+<N>で入力できます。
- Windowsでは<ALT>を押して0146をタイプすると入力できます。
- メッセージフォーマット用の括弧 {} は使わないようにするか、それぞれ単一引用符で '{ や'} というようにエスケープしてください。
すべての文字列は存在するソースコードの場所のリファレンスがあります。これは、適切な翻訳に役立ちます。ソースコードはこちらで見られます:
- メインJOSMソースあるいは完全なJOSMソース
- [osm:source:applications/editors/josm/plugins JOSMプラグイン]
- trans_から始まるソースはデータファイルから変換されます
- trans_maps.java: 背景画像の一覧
- trans_plugins.java: プラグインの説明テキスト
- trans_presets.java: 内部プリセット
- trans_surveyor.java: [osm:source:applications/editors/josm/plugins/surveyor/resources/surveyor.xml surbeyorプラグイン設定ファイル]
Launchpadでの変更は、JOSMが対応する全ての言語についてインポートされます。通常、JOSMチームは新しい推奨バージョンをリリースする前に1度か2度テキストデータを更新します(通常、毎月の終わりです。roadmapを参照)。
最低2000個の文字列の翻訳があれば、新しい言語への対応をJOSMに追加できます。 最良の結果に到達させるためにはメインのユーザインタフェースから開始してください。
2000個の文字列という制限にまだ届かない間、テストのために新しい言語サポートを追加する方法の概要を示します:
- 新しい言語ファイルを作成し、プラグインファイル(かJOSMコア)に格納します:
- 言語ファイルはJOSMの"data"ディレクトリに格納されており、英小文字の言語コードに拡張子.langを付した名前が付けられています。
- これらのファイルは常に組になっています。 英語のベースファイルと翻訳ファイルは一緒に生成される必要があり、さもないと正常に動作しません。
- Perlスクリプト [osm:source:applications/editors/josm/i18n/i18n.pl i18n.pl] を配置先のディレクトリと翻訳データを作るための.poファイルを指定して呼び出します。
- I18n.java の init() 関数に新しい言語を追加します。
- 対象言語の複数形の様式について適切なコードを指定する必要があります。
- Launchpadからダウンロードした.poファイル内に複数形の処理に関する説明が記載されています。
- 対象言語に合致する既存の様式が無い場合、PluralModeの列挙型に追加して、pluralEval() 関数にも追加する必要があります。
- 特定の言語では、Javaの言語コードとLaunchpadで使われる新しいコードへの変換を行うためのワークアラウンド用コードを LanguageInfo.java に追加する必要があります。
言語固有の注意事項
JOSMやOpenStreetMapで使われる用語や文章の翻訳の仕方について、言語ごとに特定のルールが定められていることがあります。