XCode:显示一种语言的所有本地化文件(IOS项目)

时间:2013-09-27 07:35:27

标签: iphone ios objective-c xcode localization

我一直在搜索XCode和Google,但我无法知道该怎么做:

我正在使用Base本地化,它显示4个本地化为英语的文件。我不知道为什么它是4,我想找出原因。 但是怎么样?如何获取所有本地化文件的列表(以及这些文件所在的位置)?

这是一项不寻常的任务,我找不到任何答案吗?或者这是显而易见的,我只是无法找到它?

我意识到当我尝试添加另一种语言(如Japanase)时,我会看到有4x InfoPlist.strings文件用于英文,1x文件用于Base Localization(Storyboard),但我仍然不知道为什么这些文件在哪里以及如何删除它们。

检查en.lproj文件夹,只有1个InfoPlist.strings文件。为什么XCode告诉我我有4个?

6 个答案:

答案 0 :(得分:5)

有一种方法可以删除本地化文件。如果您正在使用版本控制,则可以确保您的工作已提交并且您的树是干净的。然后,当您删除本地化文件时,您只需检查树状态并查看他们 的文件,并从中恢复它们,从而确定您需要做什么。

我同意这是一个非常糟糕的开发者体验。只需将其添加到移动开发者被滥用的方式列表中。

enter image description here

答案 1 :(得分:1)

使用此回答manual language selection in an iOS-App (iPhone and iPad)

您可以设置所需的任何语言,请记住“Localizable.strings”以包含语言文本

答案 2 :(得分:1)

只是有同样的问题。通过添加新语言(并取消)的动作,这是一种获取所有本地化文件列表的非常简单的方法:

  1. 项目->本地化
  2. 点击加号按钮以添加新语言。
  3. 选择任何语言。
  4. 将出现“选择文件和参考语言来创建...本地化”对话框。 这是所有本地化文件的列表。
  5. 点击取消(不添加新语言)。

答案 3 :(得分:0)

您可以检查文件,在Project Navigator中选择它们,然后查看Xcode右侧的File Inspector。

在这里,如果您的文件已本地化,您可以查看存在的语言并选择/取消选择它们。

enter image description here

您也可以使用Finder:转到您的项目文件夹,其中有名为ja.lprojit.lproj的文件夹(实际名称根据Xcode版本更改)。在这些文件夹中,您将找到为该语言本地化的所有文件(例如,在ja.lproj中,您将看到本地化为日语的文件。)

答案 4 :(得分:0)

最简单的方法是在项目的根目录中打开een finder屏幕。之后,在搜索栏中输入en.lproj(或您的主要语言)。

选择仅在文件夹中搜索

现在您有一个包含所有本地化文件的列表。

Search for localized files in xCode project

答案 5 :(得分:0)

我自己也在想。我没有开始本地化过程,Xcode已经告诉我,我有“2个文件本地化”。

您可能想要检查项目中的目标。我的主目标有一个InfoPlist.strings文件,单元测试目标有第二个InfoPlist.strings文件。

通过尝试添加新的本地化,确认屏幕会显示一个列出所有资源文件的表格以及与这些资源文件关联的每种参考语言的下拉列表。

资源文件!=本地化文件。

参考语言=本地化文件。

对于您在“参考语言”下拉列表中看到的每种语言,“文件本地化”计数器都会增加一个。

在我的情况下,此确认屏幕显示了两个相同的条目,对应于每个目标中的InfoPlit.strings资源文件,其中英语是每个引用的唯一语言,使其成为“2个文件本地化”。

有趣的是,“资源文件”在技术上并不存在于文件系统中,只有本地化文件存在于那些.lproj文件夹中。

据我所知,“资源文件”是Xcode的废话。