STERFIELD
開発ナレッジ2016.09.14

Symfonyでの国際化(i18n)対応

多言語対応

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

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

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

準備

特に必要なし

記述方法

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

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

などです。

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

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

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

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

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

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

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

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

WRITER

スターフィールド編集部

この著者の記事を見る

CONTACT

記事の内容について
相談したい方へ

実際の進め方は、状況を伺ってからご提案します。

2営業日以内にご返信します
資料ダウンロード無料相談に申し込む