Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何按代码更新应用程序中的localizable.strings?_Iphone_Cocoa_Localization - Fatal编程技术网

Iphone 如何按代码更新应用程序中的localizable.strings?

Iphone 如何按代码更新应用程序中的localizable.strings?,iphone,cocoa,localization,Iphone,Cocoa,Localization,我希望能够通过应用程序中的代码更新本地化字符串。我实际上想做的是在服务器上更改本地化,然后让iPhone应用程序从服务器获取更新的本地化字符串,然后将它们保存到localizable.strings文件中。你不能!这些文件是捆绑包的一部分,无法更新。您必须自己设置整个翻译框架(这并不是很多工作),并使用核心数据或序列化字典(我想每种语言对应一个)实现缓存。您将无法修改应用程序包中的Localizable.strings文件,因为应用程序包在iOS设备上是只读的。要从应用程序库目录中的字符串文件中

我希望能够通过应用程序中的代码更新本地化字符串。我实际上想做的是在服务器上更改本地化,然后让iPhone应用程序从服务器获取更新的本地化字符串,然后将它们保存到localizable.strings文件中。

你不能!这些文件是捆绑包的一部分,无法更新。您必须自己设置整个翻译框架(这并不是很多工作),并使用核心数据或序列化字典(我想每种语言对应一个)实现缓存。

您将无法修改应用程序包中的Localizable.strings文件,因为应用程序包在iOS设备上是只读的。要从应用程序库目录中的字符串文件中获取本地化字符串,您可以通过编程方式在该位置创建一个捆绑包,将Localizable.strings文件放入其中,然后使用
NSLocalizedStringFromTableInBundle()
获取本地化字符串。(我还没试过,但应该可以用。)

有一个服务()允许您将这些.strings文件上传到服务器,并通过API获取它们。不过,iPhone目前还没有客户端,但这将非常简单。你可以贡献一个,或者等待官方的消息