1

我正在使用当前版本 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" );

“你好!” (倒退)

我怎么能意识到这一点?

4

1 回答 1

0

简短的回答

它不见了Globalize.loadMessages({fr: {}});。空消息告诉 globalizefr是一个有效的包。

更长的答案

文档示例工作得很好。注意:在此处使用 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"
于 2017-07-06T12:29:43.817 回答