gpt4 book ai didi

ios - BartyCrouch - 基本语言检测

转载 作者:行者123 更新时间:2023-11-29 11:35:35 27 4
gpt4 key购买 nike

我有一个 Xcode ObjC 项目,在 project.pbxproj 中具有以下与语言相关的属性

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

Info.plist 也有 <key>CFBundleDevelopmentRegion</key>设置为 <string>en</string> .所有设计器文件( Storyboard、 View 等)均以英文设计。

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

我的项目有问题吗?或者有没有办法(参数?)为 bartycrouch 指定我的基本语言?

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

最佳答案

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

问题解释

以下是当 BartyCrouch 在您的项目中运行时 cs.lproj 中发生的更改的摘录: enter image description here

让我们也看一下 sk.lproj 语言中的相同条目: enter image description here

乍一看,人们可能会想,为什么 BartyCrouch 要把正确的捷克语翻译换成英语?为什么不用斯洛伐克语呢?

事情是这样的:如果您看一下评论,您会发现两种语言的评论是一样的。事实上,当第一次在 Xcode 中创建 Strings 文件时,Xcode 会自动从 XIB 或 Storyboard 中获取值并将它们放入注释中。它也永远不会更改注释值,即使您在 XIB 或 Storyboard 文件中进行了更改,也不会为每个条目留下三个不同的值:实际值、注释值和 XIB/Storyboard 值。开始时后两者是相同的,但由于 Xcode 不更新它们,因此随着时间的推移它们往往会有所不同。

因为我们可以看到注释中的值是捷克语,所以我可以假设在您第一次让 Xcode 生成字符串文件时,您的 XIB 或 Storyboard 具有捷克语的值。看来你后来改变了这一点,并使 XIB 或 Storyboard 中的每个值都是英语。 BartyCrouch 有一个内置功能,可以自动为您更新评论值。这就是为什么我们看到上面两种示例语言的注释行发生了变化。 BartyCrouch 的一个附加功能是——如果评论值与真实值完全匹配——也更新真实值。由于捷克语翻译的实际值与评论值相同,这就是这里发生的事情,也是使 BartyCrouch 也更新该值并将其替换为在 XIB 或 Storyboard 文件中找到的新英语值的原因。

解决方案

既然我们知道问题是什么,让我们看看可以做些什么来解决这个问题和/或在未来防止它发生:

  1. 要防止此问题再次发生,请从一开始就在 XIB 或 Storyboard 文件中使用英语(或任何语言)并且永远不要更改语言。
  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)的帮助下,这不会花费很长时间。

希望能帮到你。

关于ios - BartyCrouch - 基本语言检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49556522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com