Interfacebuilder 中是否有隐式本地化标签的选项
在博客文章的某个地方,我偶然发现了一个字符串文件,如下所示:
// de.lproj/Localizable.strings
"This is the title" = "Das ist der Titel"
对我来说,这看起来像 Interface Builder 中的实际标签由编译器处理,因此没有使用 NSLocalizedString(@"SOME_IDENTIFIER", @" 进行显式翻译");
将不再是必要的。
我现在的问题是,是否有某种快捷方式,或者我是否需要本地化视图上的所有个人标签,例如在 awakeFromNib
方法中。
Somewhere in a blog post I stumbled upon a strings file which looked like this:
// de.lproj/Localizable.strings
"This is the title" = "Das ist der Titel"
To me this looked like the actual labels in Interface builder were processed by the compiler so that no explicit translations using NSLocalizedString(@"SOME_IDENTIFIER", @"");
would be necessary any more.
My question now, is whether there is some kind of shortcut or do I need to localise all my individual labels on my view e.g. in the awakeFromNib
method.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已经找到了一种半自动化该过程的方法,这样我就不必这样做:
因此,对于所有应该本地化的标签,我将其文本设置为IB中的
__KeyForLabelX
。然后在视图控制器的 viewWillAppear 方法中,我循环遍历视图上的项目并将文本设置为本地化值:我的 .strings 文件如下所示:
更新:要进一步调整该机制,您还可以检查其他
UIView
,例如UIButtons
、UITextField
(包括提示文本)等。I have figured out a way to semi-automate the process so that I don't have to do this:
So for all labels which should be localised I set their text to
__KeyForLabelX
in IB. Then in theviewWillAppear
method of the viewcontroller I loop through the items on the view and set the text to the localized value:My .strings file then look like this:
Update: To further adapt the mechanism you could also check for other
UIView
s likeUIButtons
,UITextField
s (including prompt text) etc.