本地化的 XIB 标签

发布于 2024-11-16 12:17:44 字数 295 浏览 3 评论 0原文

我查看了不同的帖子和文章,当然还有苹果文档,通常足以满足本地化目的。

但是,我是一个使用IB的新手。

为了本地化 XIB 文件,我知道您可以为每种语言创建一个版本......但任何人都知道是否可以从 UIViewController 进行管理。

我更喜欢使用 .strings 文件来管理本地化,为每种新语言创建不同的 XIB 文件。

我们可以从 UIViewController (viewDidLoad) 中的 XIB 文件中检索 UILabel 吗?

感谢您抽出时间,

伊万

I took a look in different post and articles, and of course the apple documentation, usually enough for localization purposes.

But, I'm a newbie using IB.

In order to localize the XIB files, I know you can create one version for each language ... but anybody knows if is posible to manage from the UIViewController.

I prefer to manage the localization using the .strings file against to create different XIB files for every new language.

Could we retrieve the UILabel from the XIB file in the UIViewController (viewDidLoad)?

Thanks for your time,

Ivan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

毁虫ゝ 2024-11-23 12:17:45

您无法更改 XIB 文件,但在调用 viewDidLoad 时,UILabel(如果它是视图所使用的 XIB 文件的一部分)加载的控制器已经是视图层次结构的一部分。除非您直接为 UILabel 实例设置 IBOutlet,否则您必须在视图层次结构中搜索特定标记,例如 tag也许。一旦获得标签,它应该是本地化字符串的直接赋值。

label.text = NSLocalizedString(.., ..);

You can't alter a XIB file but by the time viewDidLoad is called, the UILabel if it was part of the XIB file that the view controller loaded will already be part of the view hierarchy. Unless you've directly set an IBOutlet for the UILabel instance, you will have to search through the view hierarchy for a specific marker like a tag perhaps. Once you get the label, it should be a direct assignment of the localized string.

label.text = NSLocalizedString(.., ..);
别闹i 2024-11-23 12:17:45

我没有测试它,但我们可以子类化 UILabel 并将

- (void) setText:(NSString*) theString

方法重载为

- (void) setText:(NSString*) theString
{
    [super setText: NSLocalizedString (theSrting);
}

或者类似的东西吗?

I didn't test it but can we just subclass UILabel and overload the

- (void) setText:(NSString*) theString

method to

- (void) setText:(NSString*) theString
{
    [super setText: NSLocalizedString (theSrting);
}

Or something like this ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文