我可以使用汇总生成Svelte应用程序的i18n JSON文件吗?

时间:2019-11-13 20:40:38

标签: json webpack internationalization rollup svelte

我有一个Svelte Rollup JS应用程序。我已经实现了自己的i18n。我有en-us/[function].jsonde-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.jsonen-us/signup.jsonde-de/login.jsonde-de/signup.json

是否有更好的方法来处理?我可以使用汇总生成这些JSON文件吗?

1 个答案:

答案 0 :(得分:0)

您可以使用诸如guillaumepotier/gettext.jsJed之类的javascript gettext端口。前者建议将xgettext-phpPoedit一起使用以提取/编辑PO files。也许您也可以使用jspot进行提取。

另请参阅po2json

在这里an article用Jed和jspot解释了这个过程。