genstrings是苹果推出的一个用于自动从代码的nslocalizedstring等提取生成国际化字符串的工具;

xcode的国际化文件方案一直以来都不太智能,我记得很久以前.strings文件库上的修改好像是必然会引发冲突的(别人在你修改过程中提交);

在代码中写完国际化的字符串还要单独打开.strings文件进行编辑,比较麻烦。

鉴于此,很多开发者在这个方面也做了不少的努力:

比如xcode里面对genstrings的扩展或者是改写,支持merge功能等(在github里面搜索genstrings会出现一票的仓库)。

其中值得一提的是DTLocalizableStringScanner,它不是基于genstrings而是全部自己开发的开源代码,希望自己定制开发功能的朋友可以考虑基于它进行改造。

还有商业化的产品:

https://www.delitestudio.com/why-not-use-genstrings/

愿意付费的朋友可以尝试,应该可以值回5美元的票价。

还有别的思路,根据资源文件自动补全字符串(类似ksimageNamed):

https://github.com/questbeat/Lin

这个插件实际测试在xcode8下已经无法安装了(笔者使用的是反和谐的xcode,是可以安装其他插件的)。

目前现有的方案都不太令人满意,要想让这套工作变得舒服,还是要打造一套完整、好用的工具链,目前可用的工具我个人认为离这个目标还是有点远。

这块应该算上是苹果开发中的痛点了,所以其中对于开发者而言也同时蕴含了机会,如果有好的工具或是产品出现,个人感觉应该会比较受欢迎。

另外,个人认为国际化文件也分模块会比较好,这样也有利于模块化。

理想中的流程:

新模块:

NSString -> LocalizedXXX ->自动生成.strings,进入其中进行编辑

pending:

NSString -> LocalizedXXX ->自动生成/merge.strings,进入其中进行编辑

xcode国际化工具genstrings体验总结的更多相关文章

  1. iOS国际化和genstrings所有子文件夹本地化字符串

    iOS国际化和genstrings所有子文件夹本地化字符串 在最近的一个繁忙的对外工程.每天加班.没有时间更新博客.简单谈一下知识的国际化. 首先,我们使用串.必须NSLocalizedString( ...

  2. 功能强大的Xcode辅助工具Faux Pas:帮你找到各种隐形的bug

    本文转载至 http://www.cocoachina.com/industry/20140804/9307.html Faux Pas(Beta版下载地址)是一个Xcode辅助工具,用以检查Xcod ...

  3. Windows Phone开发工具初体验【转载】

    Windows Phone开发工具在MIX 2010上火热登场了.Windows Mobile开发者们压抑许久的热情终于爆发出来,对于Windows Phone的华丽转身,开发者们褒贬不一,有人对Si ...

  4. iOS国际化和genstrings所有子目录本地化字符串

    最近在忙着一个国外项目,天天加班,没时间更新博客.就简单讲讲国际化的知识. 首先,我们使用字符串,必须用NSLocalizedString(key,comment),这样我们在不同的Localizab ...

  5. 开源静态分析工具androguard体验

    原文链接:http://blog.csdn.net/xbalien29/article/details/21885297 虽然在windows端免费版的IDA.VTS等工具都可用来静态分析,但相对来说 ...

  6. Xcode编译工具

    一.关于Other Linker Flags xcode中,在“Targets”选项下有Other Linker Flags选项,在这里可以填写xcode链接器的参数,如:-ObjC.-all_loa ...

  7. BERT可视化工具bertviz体验

    BERT可视化工具体验:bertviz是用于BERT模型注意力层的可视化页面. 1,bertviz的github地址:https://github.com/jessevig/bertviz 2,将be ...

  8. Xcode开发工具问题

    昨天打开Xcode 发现鼠标光标变成了黑色的块状,不能编辑内容了,且Content区域还多出了一个显示文件路径的框框 如下图: 然后自己百度,到论坛提问.到QQ群里问;卸载重装Xcode.重装系统各种 ...

  9. Xcode 注释工具的使用

    1:Xcode 8之后 Goodbye World In Xcode 8, Apple integrated a comment documentation generator plugin, whi ...

随机推荐

  1. iOS 获取沙盒路径方法

    //获取家目录路径的函数: NSString *homeDir = NSHomeDirectory(); //获取Documents目录路径的方法: NSArray *paths = NSSearch ...

  2. React学习笔记-2-什么是jsx?如何使用jsx?

    什么是jsx?    JSX是JavaScript  XML 这两个单词的缩写,xml和html非常类似,简单来说可以把它理解成使用各种各样的标签,大家可以自行 百度.所以jsx就是在javascri ...

  3. linq 的switch实现

    List<RemindSend> lrs = (from a in db.Remind join b in db.Certified on a.certifiedId equals b.C ...

  4. quartz.net任务调度:源码及使用文档

    目录: 1.quartz.net任务调度:源码及使用文档 2.quartz.net插件类库封装 前言 前段时间把自己封装quartz.net 类库的过程总结到博客园,有网友想要看一下源码,所以就把源码 ...

  5. Swift - UIColor16进制编码与RGB格式互相转换

    Swift UIColor 16进制编码转换RGB : 由于UI出图的时候,通常给的是16进制的编码颜色,我们在开发的时候需要将它转换为RGB格式,现在给出两种代码片段. 一.对UIColor进行扩展 ...

  6. Django【基础篇】

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  7. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

  8. js原生

    1.数组  shift unshift pop push 头删增         尾删增 // 数组 shift unshift pop push var str="a,b,c,d,e,f& ...

  9. linux 内核与用户空间通信之netlink使用方法

    转自:http://blog.csdn.net/haomcu/article/details/7371835 Linux中的进程间通信机制源自于Unix平台上的进程通信机制.Unix的两大分支AT&a ...

  10. UnicodeToGB2312

    http://www.myluoluo.com/unicodetogb2312.love 你是否遇到类似于:\u5355\u4f4d之类的让人纠结的字符? 一个JS文件中一堆一堆的全都是这种,分析起来 ...