如何使用只有ID的源字符串Weblate?

时间:2015-03-21 15:22:08

标签: weblate

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

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

如示例所示,我的源字符串仅仅是ID而不是句子本身就给我带来了很多问题,例如:

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

我理想的解决方案是将英语定义为一种基本语言,通过该语言,英语翻译将被视为核对清单比较,机器翻译等的来源。

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

3 个答案:

答案 0 :(得分:2)

是的,这可能并涵盖在Weblate documentation

  

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

     

为了正确使用单语文件,Weblate需要访问包含完整字符串列表的文件以及其源代码 - 此文件在Weblate中称为“单语基本语言文件”,但命名可能因应用程序而异。

所以只需将英文文件设置为“单语基础语言文件”即可。

答案 1 :(得分: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

答案 2 :(得分:0)

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

示例:

STRING001:"Hello World!"成为"Hello World!":"Hello World!"

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

由于密钥翻译和源翻译(英文翻译)之间的差异,我们在支票方面仍然存在问题。

设置:

en / file.csv(源)

STRING001:"Hello world!"

sv / file.csv

STRING001:"Hej världen!"

警告:

Trailing exclamation