Swift:情节提要中的本地化 - 标签未添加到 Main.strings?
Swift: Localization in Storyboard - Labels not added to Main.strings?
当我尝试本地化我的应用程序并为目标语言创建一个新的 Main.strings 文件时,我在界面构建器中创建的所有内容(标签、按钮...)都会添加到新的 Main.strings 文件(基本和语言版本),我可以相应地本地化文本。
但是当我稍后在界面生成器中向 ViewController 添加标签或按钮时,它不会自动添加到基本和语言版本的 Main.strings 文件中。
那么,我怎样才能找出 button/label 的 ObjectID 是什么,以便我可以将它添加到字符串文件中?
或者是否有另一种方法可以强制 Xcode 自动将新添加的标签和按钮添加到这些文件中?
从故事板中选择 UILabel
后,您可以在右侧面板中找到 UILabel
的对象 ID:
然后您可以在 Main.string
文件中设置如下标签文本:
"sxl-NO-5WX.text" = "Phone";
Dhaval Bhimani 的回答是本地化少量新添加的视图组件的最简单的解决方案。如果您想重新生成故事板的所有本地化,select Main.storyboard-> deselect 所有语言的本地化复选框。选中 'Delete localized resource files from disk' 复选框
现在确保您新添加的标签和按钮在那里,并通过 selecting 语言再次本地化。以防万一在那之前备份你的字符串文件
使用 ibtool 提取故事板中的字符串。
打开终端应用程序
找到您的 Base.lproj 目录
使用此行提取字符串:
ibtool MainStoryboard.storyboard --generate-strings-file file_name.strings
ibtool 将字符串提取到 file_name.strings 后,您可以将其复制并粘贴到原始 .strings 文件
(原贴于此Is it possible to update a localized storyboard's strings?)
对UILabel
使用ObjectID.text
对UIButton
使用ObjectID.normalTitle
示例:
/* Object ID of UILabel */
"GWb-TZ-iGk.text" = "I am label";
/* Object ID of UIButton */
"H6f-pG-K8Z.normalTitle" = "I am button";
简单的 XIB 和情节提要本地化 - 非常有效和简单的方法
此存储库作为有关如何本地化某些 UIKit 控件的示例:
UILabel,
界面按钮,
UITextField 占位符,
UISegmentedControl,
标签栏项目和导航栏项目的 UIBarItem,
UINavigationItem,
评论 Localizable.swift 进行检查。
https://github.com/emenegro/xib-localization
当我尝试本地化我的应用程序并为目标语言创建一个新的 Main.strings 文件时,我在界面构建器中创建的所有内容(标签、按钮...)都会添加到新的 Main.strings 文件(基本和语言版本),我可以相应地本地化文本。
但是当我稍后在界面生成器中向 ViewController 添加标签或按钮时,它不会自动添加到基本和语言版本的 Main.strings 文件中。
那么,我怎样才能找出 button/label 的 ObjectID 是什么,以便我可以将它添加到字符串文件中?
或者是否有另一种方法可以强制 Xcode 自动将新添加的标签和按钮添加到这些文件中?
从故事板中选择 UILabel
后,您可以在右侧面板中找到 UILabel
的对象 ID:
然后您可以在 Main.string
文件中设置如下标签文本:
"sxl-NO-5WX.text" = "Phone";
Dhaval Bhimani 的回答是本地化少量新添加的视图组件的最简单的解决方案。如果您想重新生成故事板的所有本地化,select Main.storyboard-> deselect 所有语言的本地化复选框。选中 'Delete localized resource files from disk' 复选框
使用 ibtool 提取故事板中的字符串。
打开终端应用程序 找到您的 Base.lproj 目录 使用此行提取字符串:
ibtool MainStoryboard.storyboard --generate-strings-file file_name.strings
ibtool 将字符串提取到 file_name.strings 后,您可以将其复制并粘贴到原始 .strings 文件
(原贴于此Is it possible to update a localized storyboard's strings?)
对UILabel
ObjectID.text
对UIButton
ObjectID.normalTitle
示例:
/* Object ID of UILabel */
"GWb-TZ-iGk.text" = "I am label";
/* Object ID of UIButton */
"H6f-pG-K8Z.normalTitle" = "I am button";
简单的 XIB 和情节提要本地化 - 非常有效和简单的方法
此存储库作为有关如何本地化某些 UIKit 控件的示例:
UILabel, 界面按钮, UITextField 占位符, UISegmentedControl, 标签栏项目和导航栏项目的 UIBarItem, UINavigationItem, 评论 Localizable.swift 进行检查。
https://github.com/emenegro/xib-localization