Skip to main content

blocs/blocs: 多言語対応(data-lang)

blocs/blocs: 多言語対応(data-lang)

data-lang を使って、Laravelの多言語機能と連携し、言語ごとに異なるテキストを表示します。タグ記法・コメント記法の両方で使用可能です。

: data-langdata-notice のエイリアスです(No.2.1 参照)。テンプレート上はどちらの属性名でも同じ動作になります。

言語ファイルの準備

日本語ファイル(lang/ja.json)

{
    "success:data_registered": "「{1}」を登録しました。"
}

英語ファイル(lang/en.json)

{
    "success:data_registered": "{1} has been registered."
}

プレースホルダー({1})には、data-lang でコロンの後に指定した値が順番に挿入されます。

翻訳文字列は Laravel の lang/*.json に加え、テンプレートルート直下の lang.jsonBLOCS_ROOT_DIR/lang.json)からも読み込めます。

サンプルコード

<div data-lang="success:data_registered:test"></div>

コメント記法:

<!-- data-lang="success:data_registered:test" -->

QA

ツールチップで言語ごとの表示を切り替えたい

BLOCS の lang() 関数を使えば、翻訳ファイルから文字列を取得してツールチップに表示できます。

<span data-bs-toggle="tooltip" :data-bs-original-title=lang("template:admin_user_invalid_title")></span>

HTMLタグを含むツールチップ:

<span data-bs-toggle="tooltip" data-bs-html="true" data-bs-original-title="<i>ERROR</i>"></span>