相关疑难解决方法(0)

如何使用Swift以编程方式更改语言环境

我正在通过Swift在XCODE 6.3上制作ios应用程序.我的应用程序将具有选择语言功能,如下图所示

在此输入图像描述

我已经有了当地语言的故事板.但我无法找到如何通过按钮以编程方式更改应用程序的本地化.

任何人都知道如何做到这一点

xcode localization ios swift

62
推荐指数
8
解决办法
6万
查看次数

在运行iOS时,以编程方式动态更改语言

我已经堆叠和谷歌搜索了几个小时.我现在有点绝望了.我想在应用程序中更改应用程序的语言,而不仅仅是使用默认语言.

从我的尝试开始,我就像所有人一样重新启动.意思是,苹果强制您手动重启应用程序.这意味着您必须退出应用程序然后再次启动它.

好吧,谷歌搜索后,我试图设置一个警报,然后强迫应用程序退出

exit(0);
Run Code Online (Sandbox Code Playgroud)

我的坏,苹果似乎不喜欢这样,并阻止开发者使用它...我想我没有指向正确的方向.

最后,尽管存在所有问题,我还是可以见面,我想讨论一下.

任何提示?


编辑,APPLE的相关信息

通常,您不应在应用程序中更改iOS系统语言(通过使用AppleLanguages pref键).这违反了在Settings应用程序中切换语言的基本iOS用户模型,并且还使用了未记录的首选项键,这意味着在将来的某个时候,键名可能会更改,这会破坏您的应用程序.

如果要在应用程序中切换语言,可以通过手动加载捆绑包中的资源文件来实现.您可以使用NSBundle:pathForResource:ofType:inDirectory:forLocalization:为此目的,但请记住,您的应用程序将负责所有本地化数据的加载.

关于退出(0)问题,Apple DTS无法评论应用程序批准过程.您应该联系appreview@apple.com以获得此问题的答案.

好吧,到目前为止我必须选择.

iphone localization runtime ios

32
推荐指数
3
解决办法
4万
查看次数

XCode:显示一种语言的所有本地化文件(IOS项目)

我一直在搜索XCode和Google,但我无法找到如何做到这一点:

我正在使用Base本地化,它显示4个本地化为英语的文件.我不知道为什么它是4,我想找出原因. 但是怎么样?如何获取所有本地化文件的列表(以及这些文件所在的位置)?

这是一项非常罕见的任务,我找不到任何答案吗?或者这是显而易见的,我只是无法找到它?

我意识到当我尝试添加另一种语言(如Japanase)时,我会看到有4x InfoPlist.strings文件用于英文,1x文件用于Base Localization(Storyboard),但我仍然不知道为什么以及在哪里这些文件以及如何删除它们.

检查en.lproj文件夹,只有1个InfoPlist.strings文件.为什么XCode告诉我我有4个?

iphone xcode localization objective-c ios

7
推荐指数
1
解决办法
3976
查看次数

设置"AppleLanguages"不会更改应用程序语言

我正在尝试实现可以​​更改应用程序语言的功能.
我试着像这样设置:

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("de", forKey: "AppleLanguages")
Run Code Online (Sandbox Code Playgroud)

应用程序重启后语言仍为"系统默认".
现在我通过设置测试不同的语言Scheme > Application Language > language.
但用户是否可以单击按钮并在重新启动后查看所选语言?

还有什么方法可以避免在重启时更改语言?

ios swift ios8

7
推荐指数
3
解决办法
1万
查看次数

iOS - 我可以在运行时更改localizable.strings内容吗?

每次启动应用程序时,我都会通过JSON文件加载翻译.我可以解析那个JSON,清理它并将它放在localizable.strings文件中吗?

如果没有,我是否可以从Documents目录中创建的可本地化文件加载本地化?

iphone xcode localization localizable.strings ios

5
推荐指数
1
解决办法
4453
查看次数