言語の追加
Liferay には、すぐに使用できる 50 以上の言語が付属しています。 これらの言語の多くでは翻訳 が完了していますが、いくつかはまだ翻訳中です。 各言語には、その言語キーを含む独自の 言語プロパティ ファイル があります。
新しい言語の追加
デフォルトでは、 portal.properties ファイルは Liferay で使用可能なすべての言語を指定します。 指定されていない新しい言語を追加するには
-
あなたの言語の ISO 639-1 標準コード に注意してください (たとえば、アムハラ語の ISO コードは
amになります)。 -
あなたの言語の ISO 3166-1 alpha-2 の 2 文字の国コード をメモしてください。 (例えば、エチオピアのISOコードは、
ETとなります)。 -
Liferay インストール内の
web.xmlファイルを変更して置き換えます:[LIFERAY_HOME]/tomcat-[version]/webapps/ROOT/WEB-INF/<web-resource-name>の下に新しい言語を追加します。 例えば、<url-pattern>/am/c/portal/protected</url-pattern> <url-pattern>/am-ET/c/portal/protected</url-pattern> <url-pattern>/am_ET/c/portal/protected</url-pattern> -
Liferay インストール内の
shielded-container-web.xmlファイルを変更して置き換えます:[LIFERAY_HOME]/tomcat-[version]/webapps/ROOT/WEB-INF/。<servlet-mapping>の下に新しい言語を追加します。 例えば、<servlet-mapping> <servlet-name>I18n Servlet</servlet-name> <url-pattern>/am/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>I18n Servlet</servlet-name> <url-pattern>/am-ET/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>I18n Servlet</servlet-name> <url-pattern>/am_ET/*</url-pattern> </servlet-mapping> -
インストールの Liferay Home フォルダ内の
portal-ext.propertiesファイルを作成または変更します。 なお、このファイルは、portal.propertiesファイルで定義された有効なデフォルトロケールを上書きします。 そのため、portal-ext.propertiesファイルに使用する予定の言語をすべて列挙します。localesとlocales.enabledの両方を定義します。 以下に例を示します。locales=am_ET,ar_SA,fa_IR,en_US,zh_CN,ja_JP locales.enabled=am_ET,ar_SA,fa_IR,en_US,zh_CN,ja_JP -
新しい言語の言語キーを追加します。 これを行うには、次の 2 つの方法があります。
-
言語オーバーライドツールを使用します。 これは、 Liferay DXP 7.4 U4/Portal 7.4 GA8 以降で新しい言語キーを追加する場合に推奨される方法です。。
-
言語モジュール を使用し、言語キーを
language.propertiesファイルに記述します。 この方法では、方向性や名前の構造などの言語設定をより細かく制御できます。
-
-
コントロール パネル → インスタンス設定 → ローカリゼーションに移動します。 検証し、新しい言語を[Current]言語に移動させます。 [保存]をクリックします。

-
デフォルトの言語を新しい言語に変更し、 [Save]をクリックします。 新しい言語がLiferayインスタンスで使用されるようになりました。

言語オーバーライドツールで言語キーを追加する
-
言語の上書き ページに移動します。
-
変更したい言語キーを検索してクリックします。
-
上書きする値を入力します。

言語モジュールで言語キーを追加する
-
使用する言語用に
language.propertiesファイルを作成し、ファイル名にISOコードを使用します。 例えば、アムハラ語の場合、Language_am.propertiesとなります。create-account=መለያ መፍጠር email-address=የ ኢሜል አድራሻ forgot-password=መክፈቻ ቁልፉን ረሳኽው home=መነሻ ገጽ password=ፕስወርድ powered-by-x=በ {0} የተጎላበተ remember-me=አስታወስከኝ search=የፍለጋ አሞሌ sign-in=ስግን እን -
作成した
language.propertiesファイルで言語モジュールを作成し、モジュールをLiferayのインストールにデプロイします。 このモジュールを作成するためのサンプル プロジェクトと具体的な手順については、「 言語プロパティによるグローバル言語翻訳の上書き 」を参照してください。
方向性を変える
右から左に書く言語を追加する場合は、次のプロパティを言語プロパティに追加します。
lang.dir=rtl
これにより、サイトの CSS が予期しない影響を受ける可能性があります。 /* @noflip */ 装飾を、適用する CSS ルールの左側に配置することで、CSS ルールが変換 (反転) されるのを防ぐことができます。 この例では、選択した言語の書き込み方向に関係なく、 本文 に 20em の左余白が設定されます。
/* @noflip */ body {
margin-left: 20em;
}
.rtl CSS セレクターを使用して、RTL 言語にのみルールを適用することもできます。 言語設定のカスタマイズの詳細については、「 言語プロパティによるグローバル言語翻訳の上書き」を参照してください。
旗アイコンの追加
Liferay のすぐに使用できる言語には、言語セレクターに表示されるフラグ アイコンがあります。
新しい言語に旗アイコンを追加するには、次の 2 つの方法があります。
-
ユーザー ページには テーマ スプライト マップ クライアント拡張機能 を使用し、管理ページには 管理テーマ を使用します。
以下の例では、アムハラ語を表すためにエチオピアの国旗を追加しています。
<symbol id="am-et" viewBox="0 0 1200 600">
<path fill="#da121a" d="M0 0H1200V600H0z"/>
<path fill="#fcdd09" d="M0 0H1200V400H0z"/>
<path fill="#078930" d="M0 0H1200V200H0z"/>
<g transform="matrix(1.6666667,0,0,1.6666667,600,300)">
<circle r="120" fill="#0f47af"/>
<g id="a">
<path d="m 0,-96 -4.205849,12.944272 17.347494,53.390097 H -9.987258 l -2.599358,8 h 74.162668 l 11.011056,-8 H 21.553343 Z" fill="#fcdd09"/>
<path d="M 0,44 V 96" transform="rotate(-144)" stroke="#fcdd09" stroke-width="4"/>
</g>
<use xlink:href="#a" transform="rotate(72)" width="100%" height="100%"/>
<use xlink:href="#a" transform="rotate(144)" width="100%" height="100%"/>
<use xlink:href="#a" transform="rotate(-144)" width="100%" height="100%"/>
<use xlink:href="#a" transform="rotate(-72)" width="100%" height="100%"/>
</g>
</symbol>
テーマスプライトマップクライアント拡張機能を使用してユーザーページに旗アイコンを追加する
Liferay DXP 7.4
-
テーマスプライトマップクライアント拡張機能を作成します。
-
spritemap.svgで、旗の SVG を<symbol>タグ内に追加します。idは言語コードである必要があります。 -
クライアント拡張機能を Liferay にデプロイします。
-
新しい空白ページを作成し、言語セレクター フラグメントを追加します。 あなたの言語には国旗アイコンがありません。

-
クライアント拡張機能を追加してページを公開します。 フラグが言語セレクターに表示されます。

フラグを表示したいすべてのページまたはページ テンプレートでこのクライアント拡張機能を使用します。 テーマ スプライト マップ クライアント拡張機能の詳細については、「 テーマ スプライト マップ クライアント拡張機能の使用」を参照してください。
クラシックテーマを使用してユーザーページに旗アイコンを追加する
Liferay テーマツールキットは、Liferay 2024.Q4+ の時点で 非推奨 となっており、将来のリリースで削除される予定です。 代わりに、 クライアント拡張機能 を使用してテーマを作成するか、 サイト初期化子を使用します。
-
Liferay の テーマ ジェネレーターを使用してテーマを作成します。
-
src/images/clay/icons.svgを変更し、旗の SVG を<symbol>タグ内に追加します。idは言語コードである必要があります。 -
各依存関係の適切なバージョンを使用するには、
package.jsonを更新します。 -
src/WEB-INF/liferay-look-and-feel.xmlを、 liferay-portal リポジトリの例に従って変更します。 -
ルートモジュールディレクトリで
gulp deployを実行します。 -
フラグアイコンが必要なすべてのページまたはページ テンプレートにテーマを追加します。 テーマの詳細については、 テーマを参照してください。
管理テーマを使用して管理ページに旗アイコンを追加する
-
Liferay の テーマ ジェネレーターを使用してテーマを作成します。
-
src/images/clay/icons.svgを変更し、旗の SVG を<symbol>タグ内に追加します。idは言語コードである必要があります。 -
各依存関係の適切なバージョンを使用するには、
package.jsonを更新します。 -
src/WEB-INF/liferay-look-and-feel.xmlを変更して、これを管理者テーマにします。 liferay-portal リポジトリの例に従ってください。 -
ルートモジュールディレクトリで
gulp deployを実行します。 管理者テーマは自動的に適用されます。 -
新しい変更を適用するにはページを更新してください。
テーマの詳細については、 テーマを参照してください。