Skip to main content

OpenRefine の翻訳

OpenRefine を自分の言語に翻訳するには Weblate を利用します。ブラウザ上で翻訳を編集でき、完了すると自動的に Pull Request が送信されます。

Translation status

Weblate で翻訳に参加

手動で翻訳する

各言語の文字列は main/webapp/modules/core/langs/translation-xx.json に格納されています(xx は言語コード、例: fr)。

単純な例

{
"name": "Français",
"core-index/help": "Aide"
}

core-index/help というキーに対し、フランス語では "Aide" が表示されます。

変数を含む例

列名などのパラメータは $1 のように表現します。

"core-facets/edit-facet-title": "Cliquez ici ...\nColonne : $1"

単数・複数形

{{plural:$2|page|pages}} のようにして値に応じた語形を選択します。

フロントエンド開発

OpenRefine のフロントエンドは Wikimedia jquery.i18n でローカライズされています。新しい文字列が必要な場合は既存のキーを再利用できないか確認し、適切なキーで文章全体を国際化してください。以下のように $.i18n('section/key') で取得し、text()html() を使って DOM に挿入します。

$('#element').text($.i18n('section/key'));

文字列の連結は行わず、パラメータを含む完全な文章として翻訳対象に含めます。

新しい言語の追加

最も簡単なのは Weblate で翻訳を追加する方法です。手動の場合は translation-en.json をコピーして translation-<locale>.json を作成し、値を翻訳します。

  • コア UI: main/webapp/modules/core/langs
  • database 拡張: extensions/database/module/langs
  • Wikibase 拡張: extensions/wikibase/module/langs

マスターブランチで OpenRefine を動かしてレイアウトに収まるか確認してください。未翻訳のテキストが残る場合は Issue を作成して報告してください。

拡張

拡張も Weblate で翻訳できます。Wikibase 拡張では専門用語が多いため、Wikidata glossary を参照するとよいでしょう。新言語をメニューに表示するには /main/webapp/modules/core/scripts/index/lang-settings-ui.html のドロップダウンに <option value="<locale>">言語名</option> を追加します。

サーバー側ローカライズ

バックエンドの一部も Weblate で翻訳され、.properties ファイルに保存されています。ビルド時に Java クラスへ生成されます。例: 操作説明は main/resources/com/google/refine/operations にあります。