Wil*_* A. 4 javascript internationalization typescript webpack
我正在开发一个需要从.json文件加载翻译的 TypeScript 项目,目的是每个国家/地区都有一个语言文件。示例:en.json, es.json。
然后我应该能够使用.ts具有某些功能的文件中的翻译__('red')或其他扩展提供的功能。
然后最终编译的.js文件应该包含所有翻译以“实时”切换语言。
json 文件的内容可能类似于:
es.json
{
"colors": {
"red": "rojo",
"blue": "blue"
}
}
Run Code Online (Sandbox Code Playgroud)
似乎不推荐使用当前推荐的(在文档中)i18n 加载器和 Webpack 插件:
我想知道使用这个扩展是否安全,或者我的情况有一些可用的选项,我尝试了i18next和i18next-loader但它似乎不适用于我当前的设置,它似乎与以下内容有关模块导入过程如何工作。所以也许另一个支持 Webpack + TypeScipt 的轻量级替代品可以解决这个问题。
这是我当前的 package.json 依赖项
{
"dependencies": {
"animate.css": "^3.7.2",
"i18next": "^19.1.0",
"intl-tel-input": "^16.0.8",
"uniq": "^1.0.1"
},
"devDependencies": {
"@alienfast/i18next-loader": "^1.1.4",
"@babel/core": "^7.7.5",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"babelify": "^10.0.0",
"browserify": "^16.5.0",
"copy-webpack-plugin": "^5.1.1",
"css-loader": "^3.4.2",
"file-loader": "^5.0.2",
"gulp": "^4.0.2",
"node-sass": "^4.13.0",
"sass-loader": "^8.0.0",
"style-loader": "^1.1.3",
"terser-webpack-plugin": "^2.2.3",
"ts-loader": "^6.2.1",
"typescript": "^3.7.3",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
这个怎么样? @zainulbr/i18n-webpack-plugin
这是从原始分叉出来i18n-webpack-plugin并固定以支持webpack5.
用法和原来的未维护仓库一样。