【问题标题】:Globalize Version 1.2.3 - root/fallback Culture全球化版本 1.2.3 - 根/后备文化
【发布时间】:2017-07-04 14:42:24
【问题描述】:

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

“Moin!”

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

“嗨!” (后备)

我怎么能意识到这一点?

【问题讨论】:

    标签: javascript-globalize


    【解决方案1】:

    简答

    缺少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"
    

    【讨论】:

      猜你喜欢
      • 2021-11-19
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多