我的翻译文件位于:
frontend/locales/en/translations.js
看起来像:
export default {
back: "Back",
or: "Or",
cancel: "Cancel",
};
我想将翻译哈希移动到.json文件中:
frontend/locales/en/translations.json
并以某种方式将其包含在.js文件中。
最好的方法是什么?
答案 0 :(得分:1)
我找到了一个非常灵活的解决方案:ember-cli-json-module。
安装此附加组件后,我可以这样做:
// master.json:
{
"back": "Back",
"or": "Or",
"cancel": "Cancel"
}
// translations.js:
import masterFile from './master';
export default masterFile;
我还删除了EcmaScript6标签,因为这是一个特别的ember-cli解决方案。
答案 1 :(得分:0)
EcmaScript 6 modules
不允许导入.json
(或其他内容),它们只关注javascript。
这是一个参考:How to import a json file in ecmascript 6?
您可以使用webpack之类的具有特定json-loader
的捆绑包来实现此目的。
如果您不使用任何捆绑器,请考虑使用javascript而不是JSON,因为JSON是Javascript Object Notation
,唯一的区别是JSON是简单的字符串(您可以解析)。
因此,在没有任何JSON.parse
的情况下直接使用javascript。
如果您需要使用json formats
,可以通过Javascript加载...
看看https://blog.gospodarets.com/fetch_in_action
fetch('/path/to/locale/en.json).then(res => res.json()).then(translations => console.log('translations', translations));