1

我在 .json 文件中有我的项目本地化,这是一个英文示例:

{
  "AreYouSure" : "Are you sure?",
  "DescriptionText" : "This is a very long description text, used to aid the user.",
}

如示例所示,我的源字符串只是 ID,而不是它们自己的句子,这给我带来了很多问题,例如:

  • 由于来源和翻译都不是以停止/问题/感叹号结尾,我收到很多错误
  • 机器翻译不起作用,因为它只翻译 id
  • 翻译时,我只看到源 ID,这在编写其他语言时没有帮助。我可以通过在用户首选项中选择其他语言来绕过它,但这在 zen 模式下不起作用。

我理想的解决方案是将英语定义为基础语言,英语翻译将被视为清单比较、机器翻译等的来源。

那么我的问题是,这可能吗?我应该如何处理这个问题?

4

3 回答 3

2

是的,这是可能的,并且在Weblate 文档中有所介绍:

...单语格式通过 ID 识别字符串,每个语言文件仅包含这些到给定语言的映射(通常是 Android 字符串资源)。两种变体都使用了一些文件格式,请参阅下面的详细说明。

为了正确使用单语文件,Weblate 需要访问包含完整字符串列表的文件,以便与它们的源一起翻译 - 此文件在 Weblate 中称为“单语基础语言文件”,尽管命名可能在您的应用程序中有所不同。

因此,只需将英文文件设置为“单语基本语言文件”即可。

于 2015-03-23T07:33:18.440 回答
0

为了进一步参考,我通过在导入项目时指定“--base-file-template”来实现这一点:

./manage.py import_project --base-file-template=en-GB/%s.json --file-format=json {project_name} {git_url} {git_branch} *-*/**.json
于 2015-03-26T08:19:59.800 回答
0

使用“单语基本语言文件”选项时,我们所有的键都更改为英文翻译。

例子:

STRING001:"Hello World!"变成了"Hello World!":"Hello World!"

并且“基本文件模板”对这些检查没有任何作用。

由于关键和源翻译(英文翻译)之间的差异,我们仍然存在检查问题。

设置:

en/file.csv(来源)

STRING001:"Hello world!"

sv/文件.csv

STRING001:"Hej världen!"

警告:

Trailing exclamation
于 2018-11-13T07:34:17.177 回答