添加新语言进行本地化/翻译时,Xcode崩溃

时间:2012-09-10 18:54:45

标签: ios xcode localization translation

每当我向Xcode添加新语言(Project - > Localizations - > +)时,Xcode立即崩溃。这是错误:

Process:         Xcode [1362]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.4.1 (1488)
Build Info:      IDEApplication-1488000000000000~2
App Item ID:     497799835
App External ID: 9950605
Code Type:       X86-64 (Native)
Parent Process:  launchd [132]
User ID:         501

Date/Time:       2012-09-10 11:53:15.906 -0700
OS Version:      Mac OS X 10.8.1 (12B19)
Report Version:  10

Interval Since Last Report:          3309 sec
Crashes Since Last Report:           5
Per-App Interval Since Last Report:  3139 sec
Per-App Crashes Since Last Report:   5
Anonymous UUID:                      6F2A1E95-B759-4403-BA5B-A1D00B69A631

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
ProductBuildVersion: 4F1003
ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/Xcode3Model/Xcode3VariantGroup.m:709
Details:  Assertion failed: [newFilePathString hasPrefix:self.resolvedFilePath.pathString]
Object:   <Xcode3VariantGroup: 0x4017fbe00>
Method:   -addNewReferenceForLocale:filePath:fileType:
Thread:   <NSThread: 0x40030a220>{name = (null), num = 1}
Hints:   None

4 个答案:

答案 0 :(得分:1)

  1. 转到项目并添加新语言。(您可能会收到一些路径错误)
  2. 转到localize.string文件,在检查器窗格中取消选中英文。
  3. 将de.lproj(您的语言项目)复制到finder中的en.lproj文件夹中,然后从外部删除。
  4. 现在在项目中手动添加de.lproj字符串文件。
  5. 现在也启用英语。

答案 1 :(得分:0)

我在Apple开发者论坛上发现了一个相同的主题:

https://devforums.apple.com/thread/166062?tstart=0

解决方案是创建一个新项目并将所有源文件放入其中?甜蜜的耶稣。

编辑:这是一个对我有用的可怕的,糟糕的修复:你可以单独地进行本地化&#39;您的所有文件(取消选中文件中的英文&#39; Inspector窗格),然后转到Project - &gt;本地化 - &gt; +,现在添加langs似乎对我有用。似乎与Xcode有关,无法添加lang&amp;一次本地化许多对象?

答案 2 :(得分:0)

我也遇到了这个问题(但在Xcode 7中)。我这样解决了:

  1. 从项目中删除plist(但将文件保留在磁盘上)。
  2. 在Finder中,将plist文件从基本本地化(例如en.lproj)复制到其他lproj文件夹。
  3. 将每个lproj中的plist文件逐个添加到项目中。
  4. plist文件将作为本地化文件树显示在Xcode中,就像您已成功使用Localize复选框一样。
  5. 希望有所帮助!

答案 3 :(得分:0)

作为一个懒惰的混蛋,我不想重新创建一个新项目,重新配置整个节目的麻烦。

以下是我为解决问题所做的工作:我将故事板复制到其他地方并将其从项目中移除。然后我将它们移动到我的源文件夹(不在xxx.lproj文件夹中)并在我的项目中重新添加它们。

之后,我能够在项目设置中添加新语言。 Talam,案件结案。