【问题标题】:Xcode Import For Localizations Missing Resource in Import errorXcode Import For Localizations Missing Resource in Import 错误
【发布时间】:2022-05-05 18:15:14
【问题描述】:

在将我们的应用翻译成几种语言后,我们意识到有几个 .strings 文件已包含在不需要翻译的 .xliff 文件中,因此可以将它们删除。

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

但是,现在每当我导入一个 .xliff 文件时,它仍然以某种方式缺少我们不再需要的那些文件的本地化。

导入会导致 Xcode 崩溃。

即使为本地化进行导出也会引用那些不再存在的 .strings 文件。

在我们的 Xcode 项目中,这些文件仍然可以被引用吗?在解决此问题之前,我无法导入本地化。

【问题讨论】:

  • 你能解决这个问题吗?我面临同样的情况。
  • @Verma - 我最终删除了所有 NSLocalizedStringFromTable 并用 NSLocalizedString 替换它们。这对我有用。
  • 我只需按导入,它就可以毫无问题地导入。对我来说,那是那里唯一的错误信息。不过我使用的是 iOS 11,Apple 可能已经解决了这个问题。

标签: ios objective-c xcode localization


【解决方案1】:

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

检查文件s

中的original属性
<file original="..." source-language="en" target-language="cs">

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

你的情况

我假设您必须检查 xliff 文件并找到 引用您删除的字符串并删除此类块 (&lt;file original="path/to/deleted.strings"&gt;...&lt;/file&gt;)

一般

我编写了一个简单的 bash 脚本,它将所有受影响的文件作为参数并修改 original 属性以防包含无效路径:

for file in "$@"
do
   sed -i '' -E "s#original=\"**ProjectDir**/#original=\"#g" "$file"
done

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 2019-09-16
    • 2021-10-14
    • 1970-01-01
    • 2013-06-26
    • 2022-12-01
    • 2020-03-01
    • 2018-03-31
    相关资源
    最近更新 更多