BartyCrouch - 基本语言检测

问题描述 投票:1回答:1

我有一个Xcode的ObjC项目,按照project.pbxproj语言相关的属性

developmentRegion = English;
knownRegions = ( en, Base, sk, cs, );

此外Info.plist中有<key>CFBundleDevelopmentRegion</key>设置为<string>en</string>。所有设计文件(故事板,视图等)都设计在英语。

每当我在项目的根文件夹中运行bartycrouch interfaces -p ".",我让所有的* .strings文件更新,但是所有从设计师的文件中的字符串写入在cs.lproj文件夹(捷克语应该是)的文件,而不是该en.proj文件夹。

是不是有什么毛病我的项目?或者是有办法(参数?)可以指定我的bartycrouch基本语言?

我打开项目的GitHub(https://github.com/Flinesoft/BartyCrouch/issues/91),但两个星期没有反应的问题,所以我希望我可以在这里找到更多的活跃用户。

ios xcode localization interface-builder
1个回答
1
投票

我已经回答了相关问题GitHub的这个问题,但让我在这里解释一下,也为了完整的目的:

问题的解释

这里的变化在cs.lproj发生时BartyCrouch在项目运行的摘录:enter image description here

让我们也来看看在语言sk.lproj同一条目:enter image description here

在一个可能认为一见钟情,为什么BartyCrouch与英国一个替换正确的捷克语翻译?为什么是不是这样做的斯洛伐克语?

这里发生的事情:如果在评论看一看,你会发现它是两种语言相同。作为事实上,在创建字符串时,文件在Xcode中第一次时,Xcode将自动从XIB或故事板的值,并把它们放进意见。它也永远不会改变的评论价值,即使你做的XIB或故事板文件的更改,让你有三个不同的值,每个条目:实际值,注释值和XIB /故事板价值。在开始的时候,后两者是相同的,但由于Xcode中不更新他们,他们往往是在不同的时间。

因为我们可以看到,在注释的值是捷克语,我可以假设,在您第一次让Xcode中生成的字符串的文件,你的XIB或故事板在捷克语有值的时间。看来你以后改变了这一点,并作出或XIB内的每个值故事板是英语。 BartyCrouch有一个特点,内置的,将自动为您更新自己的评论价值。所以这就是为什么我们看到在上面的两个例子语言注释行的变化。 BartyCrouch的另外一个特点是 - 万一评论值完全匹配的真正价值 - 也更新了真正的价值。由于捷克语翻译的实际值是一样的评论价值,这是在这里发生了什么,是什么让BartyCrouch也更新值,并与新的英语值,它在XIB或故事板文件中找到替换它。

现在我们知道问题是什么,让我们来看看能够做些什么来解决这个问题,和/或防止它在未来:

  1. 为了防止此问题再次发生是在厦门国际银行或从一开始故事板文件,从来没有改变使用的语言英语(或其他语言)。
  2. 当语言虽然改变了,解决它一个人工的办法就是更新自己的评论值手动新的语言。例如:
/* Class = "UILabel"; text = "Proveďte synchronizaci."; ObjectID = "RvR-Nz-aYE"; */

将需要手动更改为

/* Class = "UILabel"; text = "Sync to get data."; ObjectID = "RvR-Nz-aYE"; */
  1. 或者,你也可以让BartyCrouch做其工作,并恢复了错误的手动更改一次(保持评论的变化虽然!)。从那时起,(只要你不要再更改语言)的问题不应该再次发生。这是我建议你解决这个问题的方式 - 用一个Git GUI工具(如SourceTree)的帮助,这不应该需要很长时间。

我希望我能帮助。

© www.soinside.com 2019 - 2024. All rights reserved.