Dav*_*son 6 macos xcode localization objective-c cmake
我们正在使用cMake作为创建Xcode项目的工具来开发我们的OSX项目.
然而,事实证明我们现在需要一些本地化,我们需要英语和德语.xib文件(或.strings来生成它们,这不是重要的一点).
我们将文件放在正确的位置并正确创建,但是当cMake生成项目时,文件作为两个完全独立且独立的文件插入到Xcode项目中,例如:
Foo.xib Foo.xib
而不是同名下的两个"子文件":
Foo.xib - Foo.xib(英文) - Foo.xib(德文)
如果我将en.lproj和sv.lproj中的xib直接拖放到项目浏览器中的resources文件夹中:Xcode会自动检测到这是同一UI的某些不同语言,因此在项目设置中添加了语言自动.此外,xib在项目资源管理器3中获得MainMenu.xib组,包括两种语言.
我尝试通过cmake将本地化的xib添加到项目中.它们被添加到资源文件夹但不是已识别的本地化,我只在项目资源管理器中获得两个xib三个没有本地化它们之间没有连接.
如何通过cmake生成进行本地化工作?
set(CEFCLIENT_RESOURCES_MAC_ENGLISH_LPROJ_SRCS_MACOSX
mac/en.lproj/MainMenu.xib
)
set(CEFCLIENT_RESOURCES_MAC_SWEDISH_LPROJ_SRCS_MACOSX
mac/sv.lproj/MainMenu.xib
)
set(CEFCLIENT_RESOURCES_SRCS
${CEFCLIENT_RESOURCES_MAC_SRCS}
${CEFCLIENT_RESOURCES_MAC_ENGLISH_LPROJ_SRCS}
${CEFCLIENT_RESOURCES_MAC_SWEDISH_LPROJ_SRCS}
${CEFCLIENT_RESOURCES_RES_SRCS}
)
Run Code Online (Sandbox Code Playgroud)
有没有办法通过cmake生成Xcode项目,并且.lproj包有效?
我们只是自己做了这件事。不幸的是,解决方案并不完美。我最终使用mod_pbxproj编写了自己的 python 脚本,以在 cmake 生成 xcode 项目后对其进行修改。如果你可以使用常规的 xcode 项目而不是 cmake 生成的项目,我认为你的情况会更好。要使 XCode 将一组文件识别为本地化文件,您需要做的事情相当复杂。
归档时间: |
|
查看次数: |
543 次 |
最近记录: |