Blog

Symfonyでの国際化(i18n)対応

2016.09.13Cat:PHP Symfony プログラマー

多言語対応

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

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

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

準備

特に必要なし

記述方法

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

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

などです。

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

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

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

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

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

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

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

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

Author Profile

ohba
ランニングと音楽とヲタトーク好きプログラマーです。 数学と英語を勉強中です。 DeepLearning始めました!
» 投稿一覧
  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ