Xcode导入本地化导入错误资源

Nic*_*ard 7 xcode localization objective-c ios

在我们的应用程序用几种语言翻译后,我们意识到.strings文件中包含了.xliff一些不需要翻译的文件,因此可以删除它们.

因此,我在Xcode中取消选中这些语言的本地化选项并删除了.string文件.

但是,现在每当我导入.xliff文件时,它仍然在某种程度上缺少我们不再需要的文件的本地化.

在此输入图像描述

导入将导致Xcode崩溃.

即使进行本地化导出也会引用那些无处可去的.strings文件.

在我们的Xcode项目中,哪些文件仍然可以被引用?在我修复此问题之前,我无法导入本地化.

Ark*_*dii 0

我遇到了同样的问题,对我来说,这是由xliff本身的不正确路径引起的。

检查文件s中的原始属性

<file original="..." source-language="en" target-language="cs">
Run Code Online (Sandbox Code Playgroud)

对我来说,它具有包含根目录的路径(例如“ ProjectDir /Resources/...”而不是“Resources/...”)。这阻止了进口。

在你的情况下

我假设你必须浏览 xliff 文件并找到引用您删除的字符串并删除此类块 ( <file original="path/to/deleted.strings">...</file>)

一般来说

我编写了一个简单的 bash 脚本,该脚本期望所有受影响的文件作为参数,并在包含无效路径的情况下修改原始属性:

for file in "$@"
do
   sed -i '' -E "s#original=\"**ProjectDir**/#original=\"#g" "$file"
done
Run Code Online (Sandbox Code Playgroud)

ProjectDir替换为您的根文件夹(或任何额外的父文件夹),它将被修剪。

请注意,它将编辑传递的文件,因此请确保您有备份