当我尝试将现有iOS应用程序翻译成立陶宛语时,出现了一个重要问题。我知道Apple翻译系统是如何工作的,特别是对于像英语或匈牙利语这样的语言。但我如何将立陶宛名词与我不知道的数字结合起来。
立陶宛语语与数字一起使用的单词“įvykis”(事件):
Lithuanian English
0 įvykių 0 events
1 įvykis 1 event
2 - 9 įvykiai 2 - 9 events
10 - 20 įvykių 10 - 20 events
21 įvykis 21 events
22 -29 įvykiai 22 - 29 events
30 įvykių 30 events
the same logic continuous
as of 21
有关立陶宛名词变数的更多信息,请参阅此Wikipedia article。
我的问题是,立陶宛语的“Localizable.stringsdict”必须填写哪些关键值?对于英语,此文件如下所示:
对于立陶宛语,同一文件看起来像这样:
最后一张表中的那些条目只是部分正确。有谁知道我必须使用哪些键才能将我的表映射到stringsdict表?哪些关键字/关键字是必要的?
答案 0 :(得分:1)
在stringsdict
文件中,您只能拥有密钥zero
,one
,two
,few
,many
和{{ 1}}。这就是你真正需要的。 iOS有自己的数据(基于Unicode标准的信息),根据实际数字告诉它使用哪些密钥。
(现已归档的)Internationalization and Localization Guide,特别是Handling Noun Plurals and Units Of Measure章节中介绍了这一点,其中详细介绍了Appendix C中的other
文件。
您还可以从Unicode找到特定于语言的规则。向下滚动到Lithianian,您将看到有关如何使用给定数字类别的内置规则。
简而言之,您希望立陶宛语中的“活动”以下内容:
stringsdict
iOS会知道将one - %d įvykis
few - %d įvykiai
other - %d įvykių
用于1,21,31,41等。它会知道使用one
2~9,22~29等。它会知道使用few
代表0,10~20,30等