ios - 为iOS项目中的每个目标选择不同的语言

标签 ios xcode localization project

我有一个iOS项目(当前的XCode),该项目支持5种语言,目标很少。我希望能够以某种方式为每个目标选择语言(而无需手动删除它们)。有没有办法做到这一点?

最佳答案

我最终创建了两个脚本。同时,我将我的美国文件中的更改添加到默认的en lproj(我的US和GB略有不同)。

一种删除不必要的语言

#!/bin/bash
if [ -e ProjectName.xcodeproj/project.pbxproj.backup ]; then
    echo "Last changes were not yet reverted."
else
    # move files from en-US to en
    cp -f en-US.lproj /* en.lproj */

    # remove from project file all occurences of unwanted languages
    cp ProjectName.xcodeproj/project.pbxproj ProjectName.xcodeproj/project.pbxproj.backup
    grep -v "en-GB.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
    grep -v "fr.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
    grep -v "it.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
    grep -v "sv.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj

其次是找回所有语言包
#!/bin/bash

if [ -e ProjectName.xcodeproj/project.pbxproj.backup ]; then
    mv ProjectName.xcodeproj/project.pbxproj.backup ProjectName.xcodeproj/project.pbxproj
fi

关于ios - 为iOS项目中的每个目标选择不同的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14457307/

相关文章:

ios - 当应用程序在后台时,UserNotificationCenterDelegate 的 willPresent 的替代方案

ios - sprite Kit 的奇怪行为

ios - 是否可以将 AVCaptureFileOutputRecordingDelegate 添加到子类 UIView 中?

ios - 如何更改图像选择器页面导航栏的标题?

ios - xcrun 无法复制到/var/文件夹

java - 如何从 Android 上的 Locale 对象获取脚本?

Laravel 中的 javascript 字符串本地化

iOS - 无法访问 swift 类的静态方法

swift - 如何将 float3 转换为 SIMD3<Float>(Xcode 11 Swift 5 使用 float3 和 float4 给出折旧警告)

.net - .NET 应用程序中的命名资源字符串