加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – CMake使用本地化生成xcode项目

发布时间:2020-12-14 19:40:46 所属栏目:百科 来源:网络整理
导读:我们正在使用cMake作为创建 Xcode项目的工具来开发我们的OSX项目. 然而,事实证明我们现在需要一些本地化,我们需要英语和德语.xib文件(或.strings来生成它们,这不是重要的一点). 我们将文件放在正确的位置并正确创建,但是当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}
  )

有没有办法通过cmake生成Xcode项目,并且.lproj包有效?

解决方法

我们自己就是这么做的.不幸的是,解决方案并不漂亮.在cmake生成它之后,我最终使用 mod_pbxproj编写了自己的python脚本来修改xcode项目.如果您可以使用常规xcode项目而不是生成cmake项目,我认为您会更好.要使XCode将一组文件识别为本地化非常复杂,您需要做些什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读