2017-07-04 5 views
1

私は、現在のリリースのバージョン1.2.3を使用していますし、ここで説明した機能を使用したいと思います: https://github.com/globalizejs/globalize/blob/6d3a5a57c56fd0afb93e20340905a435d1650341/doc/api/message/load-translation.md#exampleグローバル化バージョン1.2.3 - ルート/フォールバック文化

を私はフォールバックの文化を持っている翻訳を継承する必要があります私のloadMessagesメソッドでブラウザカルチャが定義/初期化されていない場合たとえば:

Globalize.loadMessages({ root: { hello: "Hi!" }, de: { hello: "Moin!" } });

これは私が期待するものである: "!Moin"

Globalize("de-DE").formatMessage("hello");

Globalize("fr").formatMessage("hello");

"こんにちは!" (フォールバック)

どうすれば実現できますか?

答えて

0

短い答え

それはGlobalize.loadMessages({fr: {}});が欠落しています。空のメッセージは、グローバル化を指示しますfrは有効なバンドルです。

長い答え

ドキュメントの例ではうまく動作します。注:ここで使用v1.2.3ドキュメント:私はテストするためにhttps://github.com/globalizejs/globalize/blob/1.2.3/doc/api/message/load-messages.md

npm install globalize cldr-data 

その後:

var Globalize = require("globalize"); 
Globalize.load(require("cldr-data").entireSupplemental()); 

Globalize.loadMessages({ 
    root: { 
    amen: "Amen" 
    }, 
    de: {}, 
    en: {}, 
    "en-GB": {}, 
    fr: {}, 
    pt: { 
    amen: "Amém" 
    }, 
    "pt-PT": {} 
}); 

Globalize("de").formatMessage("amen"); 
// > "Amen" 

Globalize("en").formatMessage("amen"); 
// > "Amen" 

Globalize("en-GB").formatMessage("amen"); 
// > "Amen" 

Globalize("fr").formatMessage("amen"); 
// > "Amen" 

Globalize("pt-PT").formatMessage("amen"); 
// > "Amém" 
関連する問題