ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

如何为Localizable.strings2Excel快速新增转换功能?5脚本+4工具类的代码架构开发指南

如何为Localizable.strings2Excel快速新增转换功能?5脚本+4工具类的代码架构开发指南 如何为Localizable.strings2Excel快速新增转换功能5脚本4工具类的代码架构开发指南【免费下载链接】Localizable.strings2ExcelPython command line tool for conversion between iOS strings files and excel files between android strings.xml files and excl files. strings files to android strings.xml files.项目地址: https://gitcode.com/gh_mirrors/lo/Localizable.strings2ExcelLocalizable.strings2Excel 是一款开源的 Python 命令行转换工具支持 iOS strings 文件、Android strings.xml 文件与 Excel 表格之间的互相转换常用于多语言本地化团队协作。它的代码结构非常教科书式5 个转换脚本 4 个工具类读懂这套架构后你可以在 10 分钟内为项目新增一个转换方向比如 strings 转 properties 文件。️ 先看懂项目能做什么项目内置 5 种转换方向覆盖移动端多语言协作的完整闭环转换方向入口脚本典型场景strings → Excelpython/Strings2Xls.py把 iOS 多语言 strings 汇总给翻译团队Excel → stringspython/Xls2Strings.py翻译完成后回填 iOS 工程strings.xml → Excelpython/Xml2Xls.py把 Android 文案导出成表格Excel → strings.xmlpython/Xls2Xml.py翻译回填 Android 工程strings → strings.xmlpython/Strings2Xml.pyiOS 项目直接迁移到 Android示例数据就放在examples/目录可以直接对照理解iOS 格式examples/ios/en.lproj/Localizable.strings每行是key value;Android 格式examples/android/values/strings.xml即string namekeyvalue/string两者语义完全一致差别只在文件格式——这正是工具类存在的意义。 代码架构总览5 脚本 4 工具类所有源码集中在 python/ 目录可以分成两层工具类层被复用的核心工具类文件职责StringsFileUtilpython/StringsFileUtil.py读写 iOS strings 文件含注释剥离、编码容错XmlFileUtilpython/XmlFileUtil.py读写 Android strings.xml自动处理占位符格式XlsFileUtilpython/XlsFileUtil.py封装 xlrd 读取 Excel 工作表Logpython/Log.py彩色日志输出工具类只暴露最小组合getKeysAndValues(path)读入、writeToFile(keys, values, dir, name, additional)写出。无论哪个脚本、哪个转换方向数据在内存中都统一流转为(keys, values)两个列表这就是新增功能时最大的复用点。脚本层每个转换方向一个入口5 个脚本共享同一套三段式骨架以Strings2Xls.py为例addParser()—— 用optparse.OptionParser定义命令行参数如-f源目录、-t目标目录、-eExcel 存储形式startConvert(options)—— 参数校验后遍历目录调用工具类完成实际转换输出带时间戳的结果目录main()—— 串联前两步并执行新增脚本时照抄骨架只替换中间的工具类调用即可。 三步新增一个转换功能如 Excel → properties第一步确定输入输出选对工具类转换的输入端用读取类输出端用写出类。本例输入是 Excel复用XlsFileUtil.getAllTables()拿到 sheet 数据参考Xls2Strings.py中convertFromMultipleForm的遍历方式输出 properties 文件没有现成写出方法可仿照StringsFileUtil.writeToFile新增一个PropertiesFileUtil类。第二步新建脚本复用三段式骨架新建python/Xls2Properties.py照抄python/Xls2Strings.py的addParser()/startConvert()/main()结构把其中写入 strings 的部分换成新的工具类调用。第三步定义 CLI 参数并自测沿用项目统一的参数命名习惯-f源目录、-t目标目录、-a附加内容。跑通后用examples/目录做回归python python/Xls2Properties.py -f examples/ -t examples/output/ 两个隐藏细节值得注意XmlFileUtil.writeToFile里用正则把 iOS 占位符%1$转成 Android 的%1$s跨平台转换的坑基本都藏在这类细节里所有脚本输出的目录名都带%Y%m%d_%H%M%S时间戳后缀避免覆盖历史结果 安装与运行项目基于 Python 2.x依赖pyExcelerator和xlrd两个库git clone https://gitcode.com/gh_mirrors/lo/Localizable.strings2Excel cd Localizable.strings2Excel pip install pyExcelerator xlrd python python/Strings2Xls.py -f examples/ios/ -t examples/output完整的使用说明见 README.md版本变更记录见 CHANGELOG.md。✅ 小结Localizable.strings2Excel 的架构精髓在于格式差异被工具类完全封装转换脚本只负责调度。想扩展新格式、新平台、新存储方式时先问自己输入端和输出端分别缺哪个工具类缺什么补什么脚本层几乎零成本复用——这就是这套 5 脚本 4 工具类结构对二次开发最友好的地方。【免费下载链接】Localizable.strings2ExcelPython command line tool for conversion between iOS strings files and excel files between android strings.xml files and excl files. strings files to android strings.xml files.项目地址: https://gitcode.com/gh_mirrors/lo/Localizable.strings2Excel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表