This wiki does not contain official documentation and is currently deprecated and read only. Please try reading the documentation on the Liferay Developer Network, the new site dedicated to Liferay documentation. DISCOVER Build your web site, collaborate with your colleagues, manage your content, and more. DEVELOP Build applications that run inside Liferay, extend the features provided out of the box with Liferay's APIs. DISTRIBUTE Let the world know about your app by publishing it in Liferay's marketplace. PARTICIPATE Become a part of Liferay's community, meet other Liferay users, and get involved in the open source project. Liferay Portalの翻訳
Alternative Languages: English
このページは Liferay アプリケーションの翻訳についてあつかったものです。wiki 記事への翻訳の追加については Translations を参照してください。
Liferay Portal は複数の言語にローカライズ可能なアプリケーションで、プラットフォームがサポートしている中からユーザごとに別々の言語を選択することまでできるようになっています。Liferay はデフォルトで数多くの言語への翻訳を提供しています。そういった翻訳の中にはネイティブスピーカーによって入念にレビューされたものもありますが、自動翻訳によるものもあります (お使いの言語がそうだという場合は翻訳を手伝うことができます)。
この記事では、Liferay を新しい言語に翻訳する方法や、既存の翻訳を改善する方法について説明します。
手順 1) その言語への翻訳がすでにないか探す #
Liferay はポータル中で使用される文を Language_(言語コード).properties という形式のファイル群で管理しています。ここで (言語コード) の部分は、Java 国際化仕様で定義されている言語コードを示します。
これらのファイルは、クラスパスに配備されるファイルの中の 'content' という名前のディレクトリに格納されます。このディレクトリの正確な場所は、あなたがソースで探しているのか配備済みのインストレーションで探しているかによって異なります。もっともよくあるパターンをいくつか挙げておきます。
- Liferay ソース: portal-impl/src/content/Language_(Language code).properties
- 拡張環境: ファイルは modules/portal-impl.jar の中のパス content/Language_(Language code).properties にあります。
- 拡張環境を使うと、ext-impl/classes/content/Language-ext_(言語コード).properties という形式で同等のファイルを作ることにより、既存のファイルを実際には修正せずに、翻訳を変更することができます。
- 配備済みの Liferay: $LIFERAY_WAR/WEB-INF/lib/portal-impl.jar の中で、content/Language_(言語コード).properties を探してください。
- Tomcat バンドル: $TOMCAT/webapps/ROOT/WEB-INF/lib/portal-impl.jar の中で、content/Language_(言語コード).properties を探してください。
手順 2) ファイルの編集 #
Language_(言語コード).properties ファイルは、単純なテキストエディタで編集できる、通常のテキストファイルです。最近の多くの IDE では Java プロパティファイルエディタが利用可能なので、それを使用することもできます。
新しい言語への翻訳を作成する場合は、既存の言語用のファイルをコピーして、(言語コード) の部分をその新しい言語に関連付けられた言語コードに変更します。言語コードは以下の書式で指定します (大括弧は必須ではない部分を示します)。
なお、複数の language.properties ファイルを変更しなければならないこともあります。このページで language.properties の場所を探すことができます。
詳しくは、Internationalization: Understanding Locale in the Java Platform を確認してください。
非 ASCII 文字の扱い (6 より前のバージョンのみ) #
非 ASCII 文字を使用する言語への翻訳を書く際、問題が起きる可能性があります。この節では、そういった問題が起きる理由と、解決方法を説明します。
非 ASCII 文字を Language.properties ファイルで使う場合、テストエディタはそれらのファイルを表現できるような別のエンコーディング体系を使用するでしょう。そのエンコーディングが、ポータルが使うものと一致しないと、非 ASCII 文字はユーザに対して正常に表示されません。
この問題は、ファイルをポータルと同じエンコーディングで保存するという方法でも解決できますが、もっとよいのは、使用されるエンコーディングに依存しない Java 独自の形式でファイルをエンコードするという方法です。こうすることで、ポータルが使用するのと同じエンコードを使用する場合についても、非 ASCII 文字は正常に読み込まれます。
Java では、任意のエンコーディング (パラメータで指定) から Java の形式に変換してくれる、native2ascii というコマンドラインツールが提供されています。Liferay では、必要のあるすべての言語 (実際には、英語以外のすべての言語) でこのツールを使用します。元のエンコーディングのファイルには拡張子 .native を付けておき、次のように変換を行います。
Language_(言語コード).properties.native ==> Language_(言語コード).properties
まとめると、Liferay 6 以降のバージョンをお使いの場合は、native ファイルを用意する必要も、非 ASCII 文字について心配する必要もまったくありません。そうでない場合は、
- Liferay のソース内や拡張環境で Language ファイルを編集している場合は、Language_(言語コード).properties ファイルを直接編集してはいけません。代わりに、Language_(言語コード).properties.native を編集してください。
- 配備済みの環境でファイルを編集する場合も、同様のパターンを使うことをおすすめします。つまり、.native ファイル (またはお好きな拡張子) で変更を行い、native2ascii を使って実際の Language ファイルを生成します。
- 配備する必要があるのは Language_(言語コード).properties という形式のファイル (拡張子 .native がない方) だけです。
手順 3) 新規または修正版の翻訳をインストールする #
新規または改善版の翻訳ファイルを用意したら、ステップ 1 で挙げた場所に、他の Language ファイルといっしょに置いてください。
新しい言語の場合は、Liferay への登録も行う必要があります。登録するには、portal.properties または portal-ext.properties を編集して、プロパティ locales に新しい言語を追加します。追加した場合の例を以下の示します。
locales=ar_SA,ca_AD,ca_ES,...tr_TR,vi_VN,ro ----
手順 4) 翻訳を Liferay に提供する (オプション) #
Liferay に新しい翻訳を提供 (contribute) して次のバージョンに含めてほしい場合は、以下の手順にしたがってください。
- 翻訳を最新バージョンに更新する
- Liferay の Subversion リポジトリから最新バージョンを取得します。
svn://svn.liferay.com/repos/public/portal/trunk/portal-impl/src/content/
- 自分の翻訳 (すでに作成済みであれば) と比較します。特に、言語キーの追加・削除が行われていないかによく注意してください。
- Improved translation to [言語名] or Added translation to [言語名] というタイトルで、JIRA のチケットを作成します。
- 他にも同じ作業を行っている人がいたら連携できるように、先に JIRA のチケットを作ってから翻訳や変更を初めてもかまいません。
- プロパティファイルに対して行った変更部分のみを含むパッチをチケットに添付します。パッチはUTF-8エンコーディングを使用するようにしてください。
- パッチを作成するには、svn diff コマンドか、SmartSVN や TortoiseSVN といった SVN IDE を使います。
- チケットをオフィシャルコントリビュータにアサインします。現時点のオフィシャルコントリビュータは Liferay Translation Team のページに載っています。あなたの言語にオフィシャルコントリビュータがいない場合は、SE Support にアサインしておいて、翻訳を提供した旨を Liferay Translation Forums に投稿してください。
その他の手順 (オプション) #
- 新しいユーザのデフォルトの言語を変更する: Language/display customization の手順を読んでください。