我在一个相当大的 Angular 项目中使用 angular-translate。我将项目分解为多个模块以使其更易于管理,但我无法分解每个模块的翻译字符串。
例如,我有模块 A 和 B,其中 B 是 A 的子模块。有一些与模块 A 所涵盖的 HTML 相关的字符串,它们位于“/json/localization/A/en.json”中。同样,我将一些与 B 相关的字符串放在“/json/localization/B/en.json”中。首先,我使用 angular-translate 的 $translationProvider 在模块 B 中加载 B 的 en.json。然后我加载模块 A 的 en.json,同样使用 $translationProvider。问题是加载 A 的字符串会覆盖 B 的字符串并且它们会丢失。
使用角度翻译,有没有办法在不覆盖的情况下为每个模块加载字符串,或者父模块是否必须从单个 en.json 加载所有字符串?
这是我如何加载翻译字符串的示例(在咖啡脚本中):
my_module.config(['$translateProvider', ($translateProvider) ->
$translateProvider.useStaticFilesLoader
prefix: '/json/localization/A/'
suffix: '.json'
$translateProvider.preferredLanguage 'en'
])