STERFIELD

Symfonyでの国際化(i18n)対応

Symfonyでの国際化(i18n)対応

多言語対応

Symfonyでの国際化対応をした備忘録です。

データの項目名など対応も可能。

今回は主にエラー文言に対応しました。

準備

特に必要なし

記述方法

同じエラー文言でも記述ファイルが異なることがあります。

FormTypeなどフォーム入力時に編集するのは

などです。

拡張子の直前にあるドットで囲まれた文字列が言語識別子です。
日本語ならja, 英語ならen。

以下のようにvalidators.ja.ymlでエラーを定義し

FormType側ではコロンとインデントで句切られた定義文字列を
ドットで以下のように渡せば言語ごとに上記の validators.{{ language code }}.yml を読み取ってくれます。

ラベルなどのバリデーション以外での翻訳は以下のようなファイルです

※ アクティブなBundleや読み込んでいるリソースによって {{ Application/BackendBundle }} 部分は都度変わることあり。

使用方法は validators と同じです。

テンプレート(twig)側では

のように記述すれば同様の言語毎の翻訳文字列が取得可能です。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい