ios - 在 Xcode 中禁用目标本地化

标签 ios xcode localization

在我们的项目中,我们有多个构建目标,每个目标都使用英语、法语和基础(英语)本地化文件。其中一些是字符串文件,而另一些是已构建为包含这两种语言的本地化 Storyboard文件。

在单个构建目标上限制本地化的最佳方法是什么,以便它仅使用英语而不是不使用法语,同时保留它以便所有其他构建目标仍然具有英语和法语本地化都有效吗?我尝试不包括该特定构建的法语本地化,但删除了整个本地化文件,因为这似乎是在项目级别完成的。

我在这里找到了一些帖子,但没有任何帖子可以从特定的构建目标中禁用一种本地化语言,而让其他人保持独立。

我们目前正在使用 Xcode 6。

最佳答案

我不确定这是否正是您要查找的内容,但如果您想强制以特定语言显示您的应用程序,您可以在不从项目中删除其他本地化版本的情况下执行此操作。您可以将 main.m 实现更改为:

int main(int argc, char *argv[])
{
    @autoreleasepool
    {
        if (/*Some condition for this build*/)
        {
            NSString *newLanguage = [[NSUserDefaults standardUserDefaults] objectForKey:kNewLanguageCode];

            [[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:newLanguage, nil] forKey:@"AppleLanguages"];
        }
        else // If you want other conditions, or just do nothing if you want to support the device's current localization settings
        {
            [[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
        }

        [[NSUserDefaults standardUserDefaults] synchronize];

        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

我知道这与您问的不完全一样,但我认为它可能会从稍微不同的方向解决您的问题,所以我希望这对您有所帮助。祝你好运!

关于ios - 在 Xcode 中禁用目标本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32213872/

相关文章:

iphone - 我在哪里可以找到用于 Objective-C 的 CSV 到 NSArray 解析器?

iphone - Xcode 4.6 失败,退出代码为 255

ios - 链接来自不同 swift 文件的变量的正确方法是什么?

ios - 通过 View Controller 传递用户数据

PHP 变量或 JSON 本地化以及如何检索它们

ios - Xcode 应用验证 "You must supply an Apple ID"

swift - Paintcode 中 "StyleKitSettableImage"的重新声明无效

ios - View Controller 中顶部元素垂直空间的变化

asp.net-mvc - 如何在 MVC3 中使用级联下拉列表和 View 全局化

iphone - 'right to left' 书面语言的 UITextView 对齐