我使用的是当前版本1.2.3,并希望使用此处描述的功能: https://github.com/globalizejs/globalize/blob/6d3a5a57c56fd0afb93e20340905a435d1650341/doc/api/message/load-translation.md#example
我需要继承翻译,以便在我的loadMessages方法中未定义/初始化浏览器文化的情况下具有后备文化。例如:
Globalize.loadMessages({
root: { hello: "Hi!" },
de: { hello: "Moin!" }
});
这就是我的期望:
Globalize( "de-DE" ).formatMessage( "hello" );
"!莫因"
Globalize( "fr" ).formatMessage( "hello" );
"您好&#34!; (回退)
我怎么能意识到这一点?
答案 0 :(得分:0)
简短回答
它缺少Globalize.loadMessages({fr: {}});
。空消息告诉globalize 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"