OGeek|极客世界-中国程序员成长平台

标题: ios - 在 Xcode 中禁用目标本地化 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:06
标题: ios - 在 Xcode 中禁用目标本地化

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

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

我在这里找到了一些帖子,但没有任何内容可用于从特定构建目标禁用单一本地化语言,同时不理会其他语言。

我们目前正在使用 Xcode 6。



Best Answer-推荐答案


我不确定它是否正是您要查找的内容,但如果您想强制您的应用以特定语言显示,您可以在不从项目中删除其他本地化的情况下执行此操作。您可以将 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4