问题标签 [nslocalizedstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2187 浏览

objective-c - iOS应用程序中的本地化不起作用

当我在模拟器中启动我的应用程序时,本地化工作正常,例如

在模拟器中,它为我提供了我在 Localizable.strings 文件中定义的正确文本。

但在设备上它只打印HEAD而不是文本。

哪里有问题?有任何想法吗?

0 投票
4 回答
833 浏览

iphone - 在 NSLocalizedString() 中使用“真实”键是否安全?是否有保证的后备语言?

我知道许多开发人员就是这样做的:他们开始用英语开发他们的应用程序,然后NSLoclaizedString(@"Tap this to do that!", @"Telling what to do...")@"Tap this to do that!".

然后他们运行genstrings,通过提取所有这些字符串以某种方式创建一个 Localizable.strings 文件。混乱的部分:代码中使用的长文本成为关键。有用。直到有一天,您快速进入您的代码并更改英文字符串并忘记本地化,它是所有那些 Localizable.strings 文件的关键。

所以我倾向于使用不会与字符串混淆的“真实”键。为了快速测试,我创建了一个本地化为英语和法语的项目。然后我将模拟器语言设置为德语。因为,你知道,如果用户看到像TTTDT.

因此,只有英语和德语就位,我启动了演示应用程序。我得到的是来自英文 Localizable.strings 文件的英文文本。

结论:如果应用程序未涵盖操作系统语言,则 NSLocalizedString 似乎会退回到英文文件。

问题:假设总是有一个Localizable.strings (English)文件,并且文件中的键是正确格式的值。是否存在 NSLocalizedString 会失败然后直接显示密钥的情况?

0 投票
7 回答
53387 浏览

objective-c - 如何本地化 iOS 故事板

我有一个带有一些视图的 iPhone 故事板。例如,导航项标题名为News,应翻译为其他语言。

当我向我的故事板添加新的本地化时,它为我的当前故事板创建了新语言的副本。在这里我可以更改导航项的标题,但对我来说似乎不是很有用。如果我的故事板包含 100 个视图并且我需要支持 10 种语言怎么办?如果我需要更改原始情节提要中的某些内容,则必须对所有语言进行相同的更改。这似乎很奇怪。这在哪些情况下有用?

我能做些什么呢?我应该只有英文故事板并使用 ViewController 手动翻译每个元素NSLocalizedString吗?

0 投票
1 回答
506 浏览

xcode - 从 NSLocalizedString 插入数组翻译值

我有一个带有字典数组的 plist。

例子:

使用 NSLocalizedString,标签被翻译。

使用此代码,我将所有内容放入字典中,然后放入数组中。

但是,如何将值直接转换为数组,而不是键?

谢谢大家!

0 投票
1 回答
595 浏览

iphone - 本地化字符串文件编码

我即将开始我的应用程序的本地化。我做了一个测试应用程序来检查一切是否正常,令我高兴的是,它确实如此。我读过字符串文件应该是 iOS 系统的 UTF16 编码,但是我在我的 iPhone 4S 上对其进行了测试,它可以与 UTF16 或默认的 UTF8 一起使用。

有人可以确认或否认我是否应该使用 UTF16?

部署目标是 4.1。

非常感谢!

0 投票
1 回答
271 浏览

localization - 本地化不会影响某些 .strings 文件

我在我的项目中使用 SORelativeDateTransformer。

我本地化了我的项目(翻译了故事板并创建了 Localizable.strings(我使用了 NSLocalizedString)),这部分翻译得很完美。

问题是 SORelativeDateTransformer 使用它自己的 SORelativeDateTransformer.strings(使用 NSLocalizedStringFromTable),它在演示中有效,但在我的项目中无效。

Upd.:还发现我翻译成挪威语本地化的一些标签保留了英文单词。啊!

有任何想法吗?

0 投票
2 回答
1171 浏览

iphone - 是否可以更改本地化的默认英语语言?

我的应用程序支持英语、德语和意大利。如果使用法国界面语言的加载应用程序,应用程序将有英文界面。那么是否可以更改默认语言以及如何更改?我想将德语作为默认语言。

0 投票
2 回答
200 浏览

iphone - 如何在 iPhone 上本地化特定的短语?

我在 iPhone 上有一些短语可以翻译成某些语言的不同逻辑块。例如,在英语中它将是:

在法语中它将在哪里

考虑到元素的数量、元素的类型(在这个例子中是骆驼)和位置是可变的,我不太明白如何解决这个问题。我故意在这个例子中选择骆驼,因为你不能简单地在末尾添加一个“S”来标记多重性,如英语或其他单词。如果是我们所说的瓶子:

有人有想法吗?我真的不认为我应该实现一个语法系统来决定是否添加 X、S 或任何其他是所用语言中多重性的标志......

我应该明确指出,NSLocalizedString 目前在表单的 NSStringWithFormat 中@"%@ %d %@ %@ %@"使用,第二个和最后一个%@是从适当的语言数据库动态构建的,第一个和第三个%@是从本地化字符串文件中获取的。此外,为了详细说明@rckoenes 的答案,他的建议已经实施,但正如我解释的那样,这不是我遇到的问题:D

0 投票
2 回答
910 浏览

iphone - 根据特定的本地化动态切换 XIB

我使用这些方法

强制我的应用程序在运行时更改其本地化(当用户点击一个简单调用这些方法的按钮时)并且它运行良好,但是,这些方法不足以将整个 XIB 切换到新语言(在我的case,阿拉伯语),假设我有一个名为 XCode 的 XIBHomeViewController.xib作为 XCode 中的一个目录打开,一个包含两个文件的目录:HomeViewController.xib (English)并且 HomeViewController.xib (Arabic)每个文件根据语言都有自己的布局(例如,阿拉伯语 xib 具有从右到左的控件布局。 .),我尝试调用removeFromSuperView当前控制器上的每个控件,然后调用addSubView控件,但没有任何改变,应用程序仍显示英文 XIB。

当点击该语言按钮时,如何让我的应用程序在运行时将其 XIB 更改为正确的本地化版本。

ps 当我在系统设置中更改整个模拟器本地化时,应用程序按预期工作,即它显示正确的本地化 XIB。

0 投票
2 回答
212 浏览

cocoa - localizable.strings - 从代码中翻译字符串

有没有可能设置可可应用程序,所以它会NSString在启动后翻译(放置在代码中)而不需要使用NSLocalizedString

感谢帮助 !