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. css中background背景属性概

    css中background背景属性概 background:url(背景图片路径)  no-repeat;/*不重复默认在左上方*/background:url(背景图片路径)  no-repeat ...

  2. HTML5 声明兼容IE的写法(转载)

    HTML5 声明兼容IE的写法(转载)   1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html> <!--[if IE]> <meta http-eq ...

  3. java.lang.IllegalStateException: getOutputStream() has already been called for this response

    ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exceptionjava.lang ...

  4. 【Objective-C】NSDate详解及获取当前时间等常用操作

    NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等. 1. 创建或初始化可用以下方法 用于创建NSDate实例的类方法有 ...

  5. java类读取properties文件

    package com.bshinfo.el.userInfo.util; import java.io.BufferedReader;import java.io.File;import java. ...

  6. 【Javascript】解决Ajax轮询造成的线程阻塞问题(过渡方案)

    一.背景 开发Web平台时,经常会需要定时向服务器轮询获取数据状态,并且通常不仅只开一个轮询,而是根据业务需要会产生数个轮询.这种情况下,性能低下的Ajax长轮询已经不能满足需求,频繁的访问还会造成线 ...

  7. winform TreeView的一些用法以及异步加载

    今天,主要弄了一下对于树型控件的一些方法,以及异步加载.参考: http://www.cnblogs.com/greatverve/archive/2012/03/23/winform-treevie ...

  8. html学习第二天—— 第七章——CSS样式基本知识

    外部式css样式,写在单独的一个文件中外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<s ...

  9. Codeforces Round #370 - #379 (Div. 2)

    题意: 思路: Codeforces Round #370(Solved: 4 out of 5) A - Memory and Crow 题意:有一个序列,然后对每一个进行ai = bi - bi  ...

  10. BZOJ 2115 [Wc2011] Xor ——线性基

    [题目分析] 显然,一个路径走过两边是不需要计算的,所以我么找到一条1-n的路径,然后向该异或值不断异或简单环即可. 但是找出所有简单环是相当复杂的,我们只需要dfs一遍,找出所有的环路即可,因为所有 ...