Tag: 国际化

如何在Swift中格式化本地化的string?

我正在学习将我的应用本地化为简体中文。 我正在关注如何做到这一点的教程 。 由于本教程基于Obj-C,格式化的string可以这样写: "Yesterday you sold %@ apps" = "Ayer le vendi&oacute; %@ aplicaciones"; “你喜欢?” =“〜Es bueno?〜”; 但是我正在使用Swift。 而在Swift中,我不认为你可以用%@来表示有什么东西放在那里。 我们有string插值的权利? 我的应用程序是有关math。 我想显示哪个input是用来计算表格视图单元格的详细标签的结果。 例如 ————– 1234.5678 From x, y <—- Here is the detailed label ————– 这里, From x, y表示“结果是从x和y计算的”。 我想把这个翻译成中文: 从 x, y 得出 之前,我可以使用这个: "From \(someVariable)" 与string文件: "From" = "从 得出"; 这就是我将如何在代码中使用它 "\(NSLocalizedString("From", […]

从右到左语言翻转UIImageViews

当使用像阿拉伯语这样的RTL语言时,iOS自动翻转整个ViewController ,并且在大部分的布局,特别是文本方面做得很好。 默认行为是翻转布局,但离开UIImageViews相同的方向(因为你通常不想扭转图像)。 当手机设置为RTL语言时,是否可以指定某些图像应该翻转(如箭头)?

每个目标不同的故事板本地化

我有一个3个目标的项目。 每个目标只需要支持一种语言,但每个目标的语言都不相同。 目前我有 目标1(es) 目标2(es) 目标3(点) 我的大部分string都在Localizable.strings文件中,我只是针对每个目标指定一个不同的文件。 不过,我的故事板中有很多string。 我的问题是,似乎不可能为每个目标创build不同的故事板本地化文件。 如果我更改葡萄牙语文件的定位,西class牙语文件的定位会自动更改。 一个可能的解决scheme是复制每个目标的每个故事板,但是这不会随着目标数量的增长而很好地扩展。 我也可以在每个ViewController中使用NSLocalizedString修改所有的文本,但是这看起来很乏味和容易出错。 有更好的解决scheme吗?

以编程方式更改应用语言

我正在开发一个最新的SDK和XCode 4.2的iOs应用程序。 我需要添加一个菜单,用户只能更改应用程序语言(我不想更改设备语言)。 我也想使用NSLocalizedString 。 我怎样才能做到这一点?

如何本地化UIImagePickerController

我写了一个使用自定义本地化(由于各种原因)的iOS应用程序。 它取消了NSLocalizedString的定义,并用一个同名的内联函数取代了从服务器下载的NSDictionary中的值。 我的问题是这…一切工作正常,但标准的UIKit视图(即UIImagePickerController)没有被国际化,我相信这是应该在设备语言改变时自动发生的事情? 例如,我的完整应用程序正在显示它的日语对应,但即使设备语言设置为日语的标准控件(UIImagePickerController和search栏上的取消button不显示!) 任何帮助将不胜感激:D 编辑 我试图删除我重新定义的NSLocalizedString,我仍然有同样的问题,所以build议我反对重新定义标准的APIfunction是伟大的,它并不真的帮我解决我遇到的问题。

如何在国际化我的应用之前更改Xcode中的开发语言?

我正在接pipe一个完全用法文写的应用程序。 代码中的string用法语进行硬编码,故事板中的所有信息都是法文的。 但Info.plist中最初的开发区域是英文的。 所以我将CFBundleDevelopmentRegion更改为fr,以便它符合所使用的实际语言。 但XCode不断告诉我,我的开发语言是英语: 我该如何纠正? 目标是能够激活基地国际化,并使用法语作为基础语言而不是英语。

Objective-C的国际多元化图书馆?

我正在国际化我的应用程序,并正在寻找解决scheme来处理复数forms。 我遇到了Mozilla的PluralForm项目,该项目基本上将国际化的复数问题抽象出来。 这是如何工作的: 语言可以遵循一些“复数规则”。 每种语言都符合许多复数规则中的一个(Mozilla的文档有15个可能的复数规则)。 例如,在规则0(如中文)的语言中,没有复数forms,所以只有一个需要的单词forms。 在规则1(如德语)的语言中,每个单词都有两个不同的复数forms。 等等,这取决于规则如何匹配。 当你编写一个国际化的string,你不仅要传递string国际化,但你想复数名词的数字: print("You have " + num + " " + PluralForm.get(num, downloads) + "."); 在Objective-C中,人们会做的更加不同: NSString *str = [NSString stringWithFormat:NSLocalizedStringFromTable(@"%d Items"), myNumber]; 当然,上面这个Objective-C例子并没有解决复数forms的问题。 当PluralForm.get函数调用时,根据当前正在使用的语言,它将应用复数forms,并根据应遵循的特定子规则从string文件中提取正确的国际化string。 PluralForm的优点很明显(至less对我来说)。 它从编码器中抽象出实际的语言规则,以便它们不需要在所有必须处理复数forms的位置复制。 我想使用像编程我的iPhone应用程序时的系统。 有没有项目或代码可用端口Mozilla的PluralForm目标C?

迅速改变语言

现在我知道苹果不推荐这个。 通常,您不应该在应用程序中更改iOS系统语言(通过使用AppleLanguages首选项)。 这违背了在“设置”应用程序中切换语言的基本iOS用户模型,并且还使用了未logging的首选项,这意味着在将来的某个时刻,关键名称可能会更改,这会破坏您的应用程序。 但是,这是一个应用程序,即时改变语言是合理的,只要相信我就可以了。 我也知道这个问题在这里被问到: 在运行iOS中,以编程方式更改语言 。 然而,这是越来越老,我想知道是否有任何更新,更好或更简单的方法来做到这一点。 目前在我的应用程序中,我有一个语言select屏幕。 点击该视图中的button,使用与该button关联的语言来调用以下function: func changeLang(language: String) { if language != (currentLang as! String?)! { func handleCancel(alertView: UIAlertAction!) { } var alert = UIAlertController(title: NSLocalizedString("language", comment: "Language"), message: NSLocalizedString("languageWarning", comment: "Warn User of Language Change Different Than Defaults"), preferredStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler:handleCancel)) alert.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.Default, […]

用xibstring文件本地化的UiTextView

我在xCode中使用基本国际化来pipe理我的应用中的多种语言。 在一个xib文件中我有这个对象: Xrj-9E-2VK it's an UITextView 在相应的string文件中: "Xrj-9E-2VK.text" = "text translated in french" 但是我的文本仍然是英文的。 任何build议?

XCode Base国际化不起作用

我正在尝试本地化我的应用程序。 我注意到,如果我添加一个语言,每个本地化的文件变成了一倍。 这样就不可能维护代码或故事板,所以我知道我需要Base国际化 。 问题是,当我在xcode项目设置中select该checkbox时,它显示一个没有任何select的窗口,有没有人知道如何解决这个问题? 这是一个截图