There was an error while loading. Please reload this page.
beezには、国際化(i18n)に対応しています。
JSファイル、テンプレートファイル(Handlebars)で利用出来ます。
利用前に、setup関数を実行する必要があります。
====
var options = { lang:{ base:'en' }, message:{ en:{ 'hello':'hello' }, ja:{ 'hello':'こんにちは' } } }; var CustomI18n = beez.I18n.extend('custom.i18n', { // .... }) beez.i18n.setup(options, CustomI18n);
en
すでに言語が設定されている場合は、マージになります。
// 1言語追加 beez.i18n.addMessage('ja', { 'hello': 'こんにちは', 'test': 'テスト' }); // 一括追加 beez.i18n.add({ 'ja': { 'hello2': 'こんにちは2', 'test2': 'テスト2' }, 'en': { 'hello2': 'hello2', 'test2': 'test2' } });
// JS beez.i18n.getMessage('hello'); beez.i18n.__('hello'); // Handlebars {{__ 'hello'}} // エスケープなし {{__e 'hello'}} // エスケープあり
設定されているメッセージを削除します。
beez.i18n.remove()
beez.i18n.getCurrentLang()
メッセージを取得する際に、登録したメッセージに変数を渡すことで可変メッセージとして使用することが出来ます。
var res = i18n.add({ 'ja': { 'hello': 'こんにちは {#name} さん [ステータス] : {#status}', }, 'en': { 'hello': 'Hello {#name} [Status] : {#status}', } }); // JS beez.i18n.getMessage('hello', 'fkei', 'fine').length).equal(0); > Hello fkei [Status] : fine // Handlebars {{__ 'hello', 'fkei', 'fine'}} > Hello fkei [Status] : fine