2013-06-20 38 views
2

我嘗試使用帶有i18n功能的require-handlebars-plugin。需要手柄插件i18n只加載默認'en_us.json'

但是,即使我更改了瀏覽器語言,也需要嘗試加載默認文件'en_us.json'。

我可以設置一個區域設置值在require js config中「強制」加載正確的文件。但我不認爲這是「如何使用它」的好方法。

define({ 
    name: 'The Handle of the Bars', 
    require: { 
     paths: { 
      handlebars: 'components/require-handlebars-plugin/Handlebars', 
      hbs: 'components/require-handlebars-plugin/hbs', 
      i18nprecompile: 'components/require-handlebars-plugin/hbs/i18nprecompile', 
      json2: 'components/require-handlebars-plugin/hbs/json2' 
     }, 
//  locale: (navigator.language.substring(0, 2) === 'en') ? 'en' : 'fr', 
     hbs: { 
      disableI18n : false, 
      disableHelpers: true, 
      templateExtension: 'hbs' 
     } 
    }, 

我在想什麼? :)


哦,我也有一個其他問題:

是否可以設置一個默認值,如果沒有找到的語言?

例如,如果瀏覽器語言設置爲「德」,但我的應用程序只有ENFR翻譯。

回答

0

答到第二個問題:

var availableLocales = ['en', 'fr']; 
var browserLocale = navigator.language.substring(0, 2); 
var locale = availableLocales.indexOf(browserLocale) >= 0 browserLocale : 'en'; // 'en' is default locale