Tag: 本地化

在iOS中更改应用程序语言,无需重新启动应用程序

我似乎有些应用程序可以在应用程序内部更改语言,而无需重新启动应用程序,我想知道它们是如何实现的。 例如,对于我们使用NSLocalizedString ,我知道可以在运行时在main.m设置语言,当你的AppDelegate没有初始化,但是一旦它被初始化(特别是你的视图控制器被创build),改变它不会下次重启 [[NSUserDefaults standardUserDefaults] setObject:[NSMutableArray arrayWithObjects:language, nil] forKey:@"AppleLanguages"]; 任何人都知道如何在不重新启动应用程序的情况下完成这些dynamic语言更改?

在运行时可以添加.strings资源文件吗?

我知道在Mac应用程序中,可以将.strings文件添加到项目文件夹以添加本地化。 有什么方法可以在编译时将其他本地化添加到应用程序(iOS或Mac OS),而无需从资源束中加载它们。 说,下载一个额外的本地化,并将其存储在/ iOS上的文件?

制作多语言的ios应用程序

我需要build立一个多语言的应用程序。 例如,该应用程序将在法国和荷兰发布。 用户需要在应用第一次启动时select一种语言。 有没有更简单的方法来做到这一点? 在Xcode中,我看到了一些关于本地化的信息。 这与这有什么关系吗?

XCode 5 / iOS 7 – 本地化不能在模拟器中工作

我正在关注Ray Wenderlich的关于本地化的教程,但我似乎无法得到它的工作。 我已经把我的项目设置为英语和法语的本地化,我有一个locaziable.strings文件为每个: 法文档有正确的(就Google翻译而言)我的string的法文版本: 我通过调用localizable.strings文件中的正确键来设置string: NSString* strTitle = [NSString stringWithFormat:NSLocalizedString(@"Title", Nil)]; 我有模拟器设置为法语(顺便说一句:每当我做一个语言改变模拟器崩溃)。 但它不是从正确的localizable.strings文件中提取的。 它仍然以英文显示: 难道我做错了什么?

在iOs中手动加载不同的本地化笔尖

我正在开发一个支持多语言的应用程序。 正如你所期望的那样,我不时地用这样的代码加载一些nib文件: self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:nil]; 该应用程序将从其languange文件夹中加载相应的本地化xib版本。 现在,我想知道是否可以手动加载本地化的nib文件。 例如,不是简单地加载CustomController,而是加载CustomController的english / french / german / 等版本。 有什么办法可以做到这一点? 提前谢谢你的帮助! PS我知道这可能不是在iphone / ipad应用程序中更改语言的正确方法,但这不是我的决定 [稍后编辑]这看起来有点奇怪,像一个黑客,但它似乎工作(加载德国的笔尖): NSString* path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"]; NSBundle* languageBundle = [NSBundle bundleWithPath:path]; self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:languageBundle]; 我在这里find了提示: http : //learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html 不过感觉并不完全正确,我想知道是否还有其他解决scheme。 对于初学者来说,我觉得这会给老版本的iOs带来麻烦,因为language文件夹有不同的命名约定

以编程方式在运行iOS时即时更改语言

我已经堆积并search了几个小时。 而且我现在有点绝望。 我想改变我的应用程序内的语言不仅在默认的语言。 从我试过的东西,我坚持每个人都重启一步。 意思是,苹果迫使你手动重启应用程序。 这意味着你必须退出应用程序,然后重新启动它。 那么,谷歌search后,我试图设置一个警报,然后迫使应用程序退出 exit(0); 我的坏,苹果似乎不喜欢这个,并阻止开发人员使用它…我想我没有指向正确的方向。 最后,尽pipe所有的问题,我可以见面,我想讨论一下。 任何提示? 编辑,从苹果的信息 通常,您不应该在应用程序中更改iOS系统语言(通过使用AppleLanguages首选项)。 这违背了在“设置”应用程序中切换语言的基本iOS用户模型,并且还使用了未logging的首选项,这意味着在将来的某个时刻,关键名称可能会改变,这将会破坏您的应用程序。 如果您想在应用程序中切换语言,可以通过手动加载资源文件到您的软件包中来实现。 您可以使用NSBundle:pathForResource:ofType:inDirectory:forLocalization:为此目的,但请记住,您的应用程序将负责所有本地化数据的加载。 关于exit(0)问题,Apple DTS无法评论应用程序审批stream程。 你应该联系appreview@apple.com得到这个问题的答案。 那么,我必须select到目前为止。

本地化iOS上的剪切|复制|粘贴菜单

我有一些本地化丹麦应用程序的问题。 (语言,而不是糕点) 我已经在我的info.plist中将CFBundleDevelopmentRegion设置为da_DK作为丹麦语,但是出现文本input的popup窗口仍然是英文,即使是在运行丹麦语操作系统的手机上。 乔布斯的名字如何改变这个? 该testing设备是一个非越狱iPhone 4S运行iOS 5.1与丹麦作为其iOS设置,并与丹麦iTunes帐户关联。 我不使用.xibs进行devise。 所有接口都被编程为视图控制器。

NSFetchedResultsController与UILocalizedIndexedCollat​​ion

我正在尝试使用混合语言数据的FRC,并希望有一个部分索引。 从文档看来,您应该能够覆盖FRC – (NSString *)sectionIndexTitleForSectionName:(NSString *)sectionName – (NSArray *)sectionIndexTitles 然后使用UILocalizedIndexedCollat​​ion来获得本地化的索引和部分。 但可悲的是,这是行不通的,不是什么打算使用:( 有没有人能够使用UILocalizedIndexedCollat​​ion FRC或我们被迫使用示例UITableView + UILocalizedIndexedCollat​​ion示例中提到的手动sorting方法(示例代码包括我得到这个工作)。 使用以下属性 @property (nonatomic, assign) UILocalizedIndexedCollation *collation; @property (nonatomic, assign) NSMutableArray *collatedSections; 和代码: – (UILocalizedIndexedCollation *)collation { if(collation == nil) { collation = [UILocalizedIndexedCollation currentCollation]; } return collation; } – (NSArray *)collatedSections { if(_collatedSections == nil) { int sectionTitlesCount = [[self.collation […]

iOS:如何以编程方式更改应用程序语言无需重新启动应用程序?

当我使用设备语言独立更改应用程序语言时,它将不会生效,直到closures应用程序并重新启动它为止。 如何不要求应用程序重新加载所有的nib文件和.strings文件取决于所选的语言? 我使用它在运行时更改语言: NSArray* languages = [NSArray arrayWithObjects:@"ar", @"en", nil]; [[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];

以编程方式更改应用程序中的语言

如何在Xcode 5中更改语言 我在ChangeLanguageViewController上有3个button 这是: 英语 简体中文 马来西亚语 这是代码: #import <UIKit/UIKit.h> @interface ChangeLanguageViewController :UIViewController -(IBAction)changeEnglish:(id)sender; -(IBAction)changeChinesesimplified:(id)sender; -(IBAction)changeBahasaMalaysia:(id)sender; -(IBAction)changeEnglish:(id)sender{ [[NSUSerDefaults standardUSerDefaults] setObject:[NSArray arrayWithObjects:@"en", @"zh-Hans", @"ms", nil] forKey:@"AppleLanguage"]; } -(IBAction)changeChinesesimplified:(id)sender{ [[NSUSerDefaults standardUSerDefaults] setObject:[NSArray arrayWithObjects:@"zh-Hans", @"ms", @"en", nil] forKey:@"AppleLanguage"]; } -(IBAction)changeBahasaMalaysia:(id)sender{ [[NSUSerDefaults standardUSerDefaults] setObject:[NSArray arrayWithObjects:@"ms",@"en",@"zh-Hans", nil] forKey:@"AppleLanguage"]; } 我想看看用户按下button时语言的变化,它不会杀死应用程序,但会改变应用程序的语言