我正在接手一个完全使用法语编写的应用程序。字符串在代码中是硬编码的,所有故事板中的消息都是法语。但是,在Info.plist
中初始开发区域留给了英语。因此,我将CFBundleDevelopmentRegion
更改为fr
以匹配实际使用的语言。但是XCode仍然告诉我我的开发语言是英语:
我该如何更正?目标是能够激活基础国际化并将其使用法语作为基础语言,而不是英语。
我正在接手一个完全使用法语编写的应用程序。字符串在代码中是硬编码的,所有故事板中的消息都是法语。但是,在Info.plist
中初始开发区域留给了英语。因此,我将CFBundleDevelopmentRegion
更改为fr
以匹配实际使用的语言。但是XCode仍然告诉我我的开发语言是英语:
我该如何更正?目标是能够激活基础国际化并将其使用法语作为基础语言,而不是英语。
project.pbxproj
文件:
project.pbxproj
文件developmentRegion
):旧的:
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
新:
developmentRegion = fr;
hasScannedForEncodings = 0;
knownRegions = (
fr,
Base,
);
我可能已经弄清楚了。
我用瑞典语创建了一个应用,但开发语言设置为英语。
我手动编辑了MyProject.xcodeproj/project.pbxproj
。有两行像这样:
91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
并且这一部分:
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
像这样将所有的“en”更改为“sv”:
91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
和
developmentRegion = Swedish;
hasScannedForEncodings = 0;
knownRegions = (
sv,
Base,
);
移动文件MyProject/en.lproj/InfoPlist.strings
到MyProject/sv.lproj/InfoPlist.strings
看起来已经解决了问题。现在“开发语言”显示为瑞典语,我可以添加英语翻译。
添加翻译后,故事板会有一个展开三角形,其中基础语言是现有的瑞典语版本,翻译是一个英语的字符串文件。
developmentRegion = Base;
之后,英语不再被设定为开发语言,我就可以像其他人一样对待它。这使得作为开发人员的你有可能编写简短的文本占位符,并将正确的拼写委托给团队中的另一个人。
require 'fileutils'
require 'Xcodeproj'
filename = ARGV.first
raise "Argument '#{filename}' is not a valid .xcodeproject" unless filename && File.directory?(filename) && File.extname(filename).downcase == ".xcodeproj"
puts "Region to set: "
region = $stdin.gets.chomp
project = Xcodeproj::Project.open(filename)
project.root_object.development_region = region
project.save
puts "#{project.path}", "development_region = #{project.root_object.development_region}"
https://www.ralfebert.de/snippets/ios/xcode-change-development-language/
Info.plist
文件。然后,在编辑器视图中的本地化开发区域
中,单击“英语”右侧的上下箭头,并选择法国
。
应该就是这样了。不过,Xcode有时候不会更新项目设置的“信息”视图。