新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/1 18:22:56来源:尧图网络
如何为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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

SmartTube:3 步搞定 Android TV 上 HDR 播放,附硬件检查清单 2026/9/2 15:04:55

SmartTube:3 步搞定 Android TV 上 HDR 播放,附硬件检查清单

SmartTube:3 步搞定 Android TV 上 HDR 播放,附硬件检查清单 【免费下载链接】SmartTube Browse media content with your own rules on Android TV 项目地址: https://gitcode.com/GitHub_Trending/smar/SmartTube 遥控器按下播放按钮的那一刻&a…

阅读更多 →
Android服药提醒APP开发:从需求分析到MVVM架构与AlarmManager实战 2026/9/2 15:04:55

Android服药提醒APP开发:从需求分析到MVVM架构与AlarmManager实战

简介:本资源是一套面向计算机专业本科生的Android毕业设计实战项目,聚焦老年人健康管理场景,解决独居或慢性病老人漏服、错服药物的现实问题。项目采用Android原生开发技术栈,基于Java语言实现,涵盖首页展示、个性化用…

阅读更多 →
MATLAB实现受限玻尔兹曼机:从原理到实践 2026/9/2 15:04:55

MATLAB实现受限玻尔兹曼机:从原理到实践

简介:本资源是一份面向机器学习初学者与研究者的受限玻尔兹曼机(RBM)MATLAB实现代码包,聚焦无监督特征学习与概率生成建模任务,适用于图像数据(如手写数字)的隐层表示训练与采样生成。压缩包共2…

阅读更多 →
多行文本替换实战:从正则原理到VS Code、Perl、Python批量处理 2026/9/2 15:04:55

多行文本替换实战:从正则原理到VS Code、Perl、Python批量处理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
会计专业数据科学实践指南:从零完成AI期末报告 2026/9/2 15:04:55

会计专业数据科学实践指南:从零完成AI期末报告

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
让任意模型出现在Codex子代理选择器中:OpenCodex Sub-agent Surface深度使用教程 2026/9/2 15:01:55

让任意模型出现在Codex子代理选择器中:OpenCodex Sub-agent Surface深度使用教程

让任意模型出现在Codex子代理选择器中:OpenCodex Sub-agent Surface深度使用教程 【免费下载链接】opencodex Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞