我可以使用 Rollup 为 Svelte 应用程序生成 i18n JSON 文件吗?
Can I generate i18n JSON files for Svelte app using Rollup?
我有一个 Svelte Rollup JS 应用程序。我已经实现了自己的 i18n。我有 en-us/[function].json
和 de-de/[function].json
。我在运行时 fetch
JSON
并显示文本。
en-us/login.json
{
"username": {
"label": "Username"
}
}
de-de/login.json
{
"username": {
"label": "Nutzername"
}
}
登录和注册等功能有共同的文本。在上面的示例中,username
字段同时用于 screens/functions。如果我必须对文本进行更改,我将不得不更改所有语言文件夹中的所有 [function].json
文件。在这种情况下,如果我更改 username.label
,我将不得不更改 4 个文件 en-us/login.json
、en-us/signup.json
、de-de/login.json
、de-de/signup.json
.
有更好的处理方法吗?我可以使用 Rollup 生成这些 JSON 文件吗?
您可以使用像 guillaumepotier/gettext.js, or Jed. The former suggests to use xgettext-php together with Poedit to extract/edit the PO files. Probably you could use also jspot 这样的 javascript gettext 端口进行提取。
另见 po2json。
这里是an article用Jed和jspot解释过程。
我有一个 Svelte Rollup JS 应用程序。我已经实现了自己的 i18n。我有 en-us/[function].json
和 de-de/[function].json
。我在运行时 fetch
JSON
并显示文本。
en-us/login.json
{
"username": {
"label": "Username"
}
}
de-de/login.json
{
"username": {
"label": "Nutzername"
}
}
登录和注册等功能有共同的文本。在上面的示例中,username
字段同时用于 screens/functions。如果我必须对文本进行更改,我将不得不更改所有语言文件夹中的所有 [function].json
文件。在这种情况下,如果我更改 username.label
,我将不得不更改 4 个文件 en-us/login.json
、en-us/signup.json
、de-de/login.json
、de-de/signup.json
.
有更好的处理方法吗?我可以使用 Rollup 生成这些 JSON 文件吗?
您可以使用像 guillaumepotier/gettext.js, or Jed. The former suggests to use xgettext-php together with Poedit to extract/edit the PO files. Probably you could use also jspot 这样的 javascript gettext 端口进行提取。
另见 po2json。
这里是an article用Jed和jspot解释过程。