我有一个Svelte Rollup JS应用程序。我已经实现了自己的i18n。我有en-us/[function].json
和de-de/[function].json
。我在运行时fetch
JSON
并显示文本。
zh-cn / login.json
{
"username": {
"label": "Username"
}
}
de-de / login.json
{
"username": {
"label": "Nutzername"
}
}
诸如登录和注册之类的功能具有通用文本。在上面的示例中,在两个屏幕/功能中都使用了username
字段。如果必须更改文本,则必须更改所有语言文件夹中的所有[function].json
文件。在这种情况下,如果更改username.label
,则必须更改4个文件en-us/login.json
,en-us/signup.json
,de-de/login.json
,de-de/signup.json
。
是否有更好的方法来处理?我可以使用汇总生成这些JSON文件吗?
答案 0 :(得分:0)
您可以使用诸如guillaumepotier/gettext.js或Jed之类的javascript gettext端口。前者建议将xgettext-php与Poedit一起使用以提取/编辑PO files。也许您也可以使用jspot进行提取。
另请参阅po2json。
在这里an article用Jed和jspot解释了这个过程。