如何在没有Storyboard的情况下使iOS应用程序本地化?

6

我遵循了各种关于“如何本地化iOS(iPhone)应用程序”的教程。所有这些教程都建议执行以下步骤:

  1. 从项目导航器中选择您的项目
  2. 点击“使用基础国际化”复选框
  3. 将您的storyboard选择为“Localizable Strings”

但是我的iOS应用程序xcode 7.2项目不包括任何storyboard,因此我无法在我的iOS应用程序中启用“使用基础国际化”。

请告诉我如何在没有storyboard选择的情况下启用“使用基础国际化”,以及我应该如何使用"Localizable.strings"文件来本地化各种警报消息。


在文档中阅读国际化和本地化指南 - rmaddy
2个回答

11

前往项目-> 新建文件-> 资源-> 字符串文件-> 另存为 Localizable.string

现在

  1. 现在再次进入项目设置...然后选择设置中的项目而不是目标...您只有两个选项...进入信息部分,在那里找到本地化...在此处添加您要本地化的语言。

  2. 创建的文件已经处于基本国际化模式...现在进入文件,在右侧侧边栏中检查本地化按钮...点击并选择您在项目中添加的语言。

  3. 现在,这个文件添加了一个下拉菜单..点击箭头...它会向您显示本地化文件.string,第一个是基本的英语...默认情况下是第二个本地化字符串文件...
  4. 复制在两个文件中硬编码的所有文本,如下所示

基本文件-> "输入要搜索的关键字" = "输入要搜索的关键字"; 本地化文件-> "输入要搜索的关键字" = "本地化字符串";

现在可以通过以下方式提取字符串来使用此本地化字符串

label.text = NSLocalizedString("your String",nil);

注意:字符串文件的名称应该为“Localizable”...如果您没有使用此名称保存它...它将无法工作...并且每次使用本地化字符串时,您都需要提供路径。


感谢@Divyanshu的帮助,让我更加简洁易懂。我很感激你。 - Mihir Oza
1
@Divyanshu Sharma 我正在使用Xcode 7.2,我的项目不包含任何故事板...正如您在第一步中建议的那样,“选择项目设置=>项目=>进入信息部分,在那里找到本地化...在这里添加您的语言进行本地化。”选择语言后,Xcode会显示对话框以选择文件和参考语言进行本地化....由于我的项目不包括任何故事板,因此我得到了空文件列表....请帮助我在这种情况下该怎么做.... - Chetan Mahajan
你在项目中添加了 .string 文件吗? - Divyanshu Sharma

9

感谢Divyanshu Sharma

Xcode 8 (Swift 3)的步骤如下:
  1. 文件 > 新建 > 文件... (⌘N)
  2. 滚动到 "资源" 部分,选择 "Strings 文件",然后按下“下一步”
  3. 将其保存为 "Localizable.string" 并加入到您的项目中
  4. 在项目导航器中选择您的新文件 "Localizable.string" (通常在创建新文件后已经被选择)
  5. 转到 视图 > 实用程序 > 显示文件检查器 (⌥⌘1)
  6. 找到本地化部分并选择 "本地化..."
  7. 选择基础语言(我选择了英语),然后点击本地化
  8. 打开项目信息设置,在其中
  9. 在“本地化”部分中按 (+) 添加新语言
  10. 选择 "Localizable.string",并在新打开的本地化资源选择窗口中按完成

现在,您应该拥有默认的本地化,而不需要使用Storyboards。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接