AI Coding 让我两天完成图像编辑器 Monica 的国际化与多主题

news/2025/10/1 17:47:21/文章来源:https://www.cnblogs.com/tlnshuju/p/19122600

AI Coding 让我两天完成图像编辑器 Monica 的国际化与多主题

2025-10-01 17:41  tlnshuju  阅读(0)  评论(0)    收藏  举报

一、引言

去年这个时候我对 AI Coding 的理解,更多停留在「写点代码补全」的层面。但是在前几个月我真正用起来才发现,它远不止于此。更像是和一位全天候的结对编程伙伴(也就是大家常说的 Vibe Coding)合作:我用自然语言描述需求,它帮我生成、重构甚至优化实现。

结果是显而易见的——原本至少需要一周才能完成的某款软件的国际化与多主题功能,我在不到两天的时间内就搞定了。

二、案例背景:Monica 图像编辑器

Monica(https://github.com/fengzhizi715/Monica) 是我正在开发的一款跨平台的桌面图像编辑软件。它不仅支持多种图像格式(包括相机 RAW),还集成了传统图像处理和基于深度学习的图像增强功能,提供可扩展、可二次开发的图像编辑体验。

在 Monica 的功能规划里,国际化(i18n)和多主题(暗黑模式 + 多种主题色)属于「非核心但必要」的部分:

  • 国际化能让更多用户无障碍使用软件。

  • 多主题能提升个性化体验,特别是暗黑模式已经成为现代应用的标配。

但问题是,如果靠传统开发方式,这两个功能都很「费工夫」:

  • 国际化意味着要把界面里的所有文本抽取出来、管理语言资源、写切换逻辑,还得测试各种场景。

  • 多主题则需要重构 UI 样式,提取颜色变量,实现亮/暗模式切换,还要保证兼容性。

它们都不是难到需要攻关的技术问题,而是典型的「不复杂但费时」功能。而正是这类功能,使用 AI Coding 可以带来效率的巨大提升。

三. 功能一:国际化(i18n)

3.1 传统做法

如果完全靠人工开发,一个图像编辑器的国际化流程大概是这样的:

  1. 先把界面中所有的文案找出来,逐个抽取成资源文件(比如 JSON、XML、properties 等)。

  2. 建立语言文件结构,至少要有 en 和 zh 两个版本。

  3. 改造 UI 代码,确保所有文本都能通过 key 动态加载,而不是硬编码。

  4. 编写语言切换逻辑,让应用可以在运行时切换语言。

  5. 测试每个界面,确保不同语言下不会出现 UI 溢出、编码问题。

这个过程听起来很常规,但细节特别多。就拿抽取字符串来说,一个几十个界面的应用可能要耗上两天时间才能完成,整个流程加起来至少 3–4 天。

3.2 AI Coding 做法(以 Cursor 为例)

我在 Cursor 里写了一个类似这样的需求描述:

帮我为项目加上国际化功能,至少支持中英文。
请把界面里的硬编码字符串提取出来,改成使用资源文件的方式。
同时实现一个语言切换逻辑,让用户可以在设置里选择语言。

当然有一个前提,Cursor 已经很熟悉当前的项目了。

Cursor 的处理方式让我挺惊喜的:

  • 它会自动找出代码里所有硬编码的文本,并生成对应的资源文件。

  • 自动修改 UI 绑定,把原来的 "打开本地图片" 改成LocalizationManager.getString("open_local_image")这样的写法。

  • 还会补全一个语言切换函数,以及初始化配置逻辑。

我需要做的就是:

  • 检查生成的 key 是否合理。

  • 检查是否有需要国际化的地方遗漏了。

  • 对照界面,微调一些翻译或 UI 细节。

整个流程差不多半天就完成了,而如果自己手动写,至少得花 3 天。Cursor 每次完成一项功能,都会进行总结以及写一个 readme 文档。

3.3 Cursor 使用技巧

在国际化这个场景里,我总结了几个实用技巧

  • 需求要分步骤给:不要一次性抛出「帮我做全局国际化」,可以先让 Cursor 提取字符串,再让它生成语言切换逻辑,最后加上配置界面。这样生成结果更可控。

  • 善用“Explain”功能:Cursor 不只是写代码,还能解释它为什么要这样改。如果生成的 key 命名不合理,可以直接让它「重新生成更短的 key」。

  • 对话式修正:如果有遗漏的地方,不用自己改代码,直接在对话里说「还有 XXX 文件里的文案没提取」就行,它会补全。

  • 结合搜索:Cursor 有全局搜索,配合国际化这种「找硬编码」的需求特别好用,可以直接定位剩余未抽取的文本。

最后,我还让 Cursor 写了两个脚本,便于后续使用 Cursor 补全国际化功能时,使用起来更加方便。

  • string_manager.sh - 综合管理工具

    • 清理重复项

    • 检查缺失翻译

    • 文件统计报告

    • 自动修复功能

  • position_check.sh - 位置比对工具

    • 检查中英文文件位置一致性

    • 详细的位置差异分析

    • 统计信息报告

四、多主题颜色切换:从繁琐到一键生成

在桌面软件中,多主题颜色切换(常见的“亮色模式 / 暗色模式”,甚至更多创意配色)已经成为用户体验的标配。

4.1 传统做法:手工维护庞大的样式表

如果按照传统方式来写,过程通常是这样的:

  • 为每个 UI 元素(按钮、背景、文字、边框等)逐一定义颜色;

  • 在 Kotlin Compose 中维护多份 ColorScheme,并反复检查它们的一致性;

  • 每次调试时都要手动切换主题,生怕某个角落的颜色“没换过去”。

这种方式虽然可行,但工作量庞大,极其机械。随着组件数量增加,样式表会变得越来越臃肿,维护成本也随之上升。

4.2 AI Coding 做法:自动生成配色方案 + 一键改造

我在 Cursor 里直接输入了这样的提示:

帮我为图像编辑器生成两个主题(亮色 / 暗色),并写成可切换的 Compose 代码。
要求:风格简洁、颜色对比度足够、不要和已有按钮冲突。

几分钟后,Cursor 就生成了 ColorTheme.kt 和 ThemeManager.kt 文件,自动定义了 LIGHT 和 DARK 两套主题,并写好了切换逻辑。

更妙的是,我后来临时想加一个「高饱和度主题」,只需再输入一句:

再加一个强调色更多、适合设计师的主题。

Cursor 很快就生成了第三套方案,还帮我自动调整了关键组件的颜色引用。原本需要几天才能完成的主题扩展,如今只需要几分钟。

4.3 实用技巧:让 AI 记住「颜色命名规范」

如果不给约束,AI 往往会生成五花八门的命名(如 primaryLightBlue、mainOrange),长久来看难以维护。 目前,我是这样做的:

  • 在对话开始时就规定一套统一规则:比如 primary, secondary, background, surface, error;

  • 让 AI 在所有后续生成中都遵循这套命名。

这样就能保证新增主题不会引入混乱,而是自然融入到既有的主题系统中。

五、效率对比与价值

如果没有 AI 帮助,这些功能对一个开发者来说,往往意味着至少一周的工作量:

  • 国际化 → 翻译文本、管理语言文件、插入切换逻辑,逐个测试。

  • 多主题切换 → 维护多份样式表,调试每个 UI 组件。

而在 Cursor 的协助下,我只花了两天时间就完成了这两个模块的开发与调试。

换句话说,AI Coding 帮我节省了约 70% 的时间成本,并且在很多细节上(例如颜色一致性、国际化 key 的规范化),它比我手写更可靠。

英文版界面示例screenshot-en1.png

screenshot-en2.png
screenshot-en2.png

主题切换ui-theme-settings.png

ui-theme-dark.png
ui-theme-dark.png
ui-theme-purple.png
ui-theme-purple.png

除了时间成本的降低,价值还体现在:

  • 思维负担的减轻:不需要记忆所有样式细节,把规则交给 AI 就好。

  • 迭代速度的提升:想到一个新主题或新语言时,只需补充一句 prompt。

  • 产品体验的提升:本来容易被拖延的功能(如国际化),现在可以提前上线。

六、我的思考与结尾

最近几个月,我尝试使用了多种 AI 编程工具,比如 Cursor、Qoder、Gemini CLI、v0 等等,让我对 AI Coding 有了更清晰的认知:

  • 它不是替代,而是加速 在现阶段 AI 不是取代开发者,而是帮我跳过那些「重复性劳动」。真正的设计思路、功能逻辑,依然需要我来把关。

  • 越具体,越高效 例如在 Cursor 里,prompt 越具体、规则越清晰,输出的代码越可直接使用。模糊的需求可能会得到华丽却不可控的结果。

  • 养成“AI 优先”的习惯 过去我遇到这些功能时,可能会选择“以后再做”。但现在我更倾向于先尝试让 AI 生成,再做针对性修改。或者遇到复杂的功能,让 ChatGPT 先出一个方案,然后丢给 AI 编程工具让它去实现。

  • 长期价值:降低门槛 + 提高迭代力 对于开发者来说,AI Coding 不仅是节省时间的工具,更是让产品能以更快的速度进入用户手中的神器。

claude.jpg
claude.jpg

最后,Monica 后续的开发除了借助会 AI Coding,我也会继续增加 AI 相关的功能,以及探索使用「自然语言 × 图像编辑」的边界。

图像编辑器 Monica 的地址:https://github.com/fengzhizi715/Monica

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程同步实战指南:从 bug 根源到锁优化的终极之路 - 教程

线程同步实战指南:从 bug 根源到锁优化的终极之路 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

2025 年数据恢复系统推荐转转大师数据恢复,深度剖析各款系统平台核心优势与适用场景数据恢复系统推荐指南

行业背景2025 年中国数据恢复软件市场迎来爆发式增长,预计规模将突破 85 亿元人民币,年复合增长率达 28.6%,数字化转型加速与数据安全意识提升成为核心驱动力。技术层面,AI 智能恢复算法与分布式存储架构成为主流,…

2025 年离心泵厂家 TOP 企业品牌推荐排行榜!化工,卧式多级,不锈钢,立式,氟塑料,管道,衬氟,耐腐蚀离心泵推荐这十家公司!

在工业领域中,离心泵作为流体输送的关键设备,广泛应用于化工、石油、电力、冶金等诸多行业。然而,随着市场的不断发展,离心泵制造商如雨后春笋般涌现,产品质量与技术水平参差不齐。如何在众多制造商中挑选出技术先…

做响应式网站设计师如何布局呢网站优化的方式

1.前言   懒加载技术(简称lazyload)并不是新技术, 它是js程序员对网页性能优化的一种方案.lazyload的核心是按需加载.在大型网站中都有lazyload的身影,例如谷歌的图片搜索页,迅雷首页,淘宝网,QQ空间等.因此掌握lazyload技术是个不错的选择,可惜jquery插件lazy loa…

在线PS的强大功能一览:从基础修图到高级合成,还有这3款免费软件推荐!

​ 大家好!今天我们来聊聊在线PS工具,无需下载安装,打开浏览器就能轻松处理图片,真的太方便了!接下来就为大家介绍几项在线PS的实用功能,并推荐一个我最近发现的超好用的网站。 📌 在线PS的五大实用功能: 基础…

详细介绍:抽丝剥茧的Transformer详解

详细介绍:抽丝剥茧的Transformer详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

2025 年高压氧舱厂家 TOP 推荐榜单揭晓,家用,高原,小型,单人,民用,专业,医用,家庭,智能,进口高压氧舱公司推荐!

随着健康意识的不断提升,高压氧舱作为一种能为用户带来氧疗体验的设备,在医疗保健、日常保养等领域的需求持续增长。然而,当前高压氧舱行业发展并非毫无问题,市场上品牌数量众多,产品质量参差不齐,部分制造商缺乏…

oppoR9m刷Linux系统:开启开发者模式

前言全局说明一、说明 1.1 环境: Windows 7 旗舰版 OppoR9m二、开启,开发者模式 2.1 开启开发者模式 设置 -- 关于手机 - 点击 “版本号” 7次,提示开启“开启开发者模式”2.2 找到开启开发者选项 设置 -- 其他设置 …

macOS 上手记录

近期在某二手平台入手了一台 MacBook Pro,由此开启了 macOS 的使用历程。这里记录一下自己认为有价值的内容。你也可以认为这是一个从 Windows 切换到 macOS 的实用经验贴。 本文可能会不时更新。 设备和系统信息机型…

Google Drive批量转存他人分享的链接的文件

1、将链接文件的快捷方式添加到自己网盘2、安装桌面客户端,到共享目录下复制分享的文件到你要的位置或者右击选可离线使用也会下载到本地(推荐,不然边下边转移可能出问题)或者设置里选镜像模式

异常检测

本文总结和整理所有异常检测算法异常检测知识点汇总 异常检测面临的难点 1.在实际应用场景的大量数据,都没有标签,市面上成熟的监督学习技术都不能使用, 2.区分是噪声或者是异常点也是一个挑战 3.当各种诈骗数据混在…

2025 年物流公司服务 TOP 企业品牌推荐推荐榜,无锡到西安、无锡到太原、无锡到宁波、无锡到郑州、无锡到上海物流公司推荐!

在现代供应链体系中,冷链运输与仓储服务作为保障商品品质的关键环节,其重要性愈发凸显。然而当前物流行业在该领域仍面临诸多突出问题:部分企业冷链运输方式选择单一,未能根据货物特性匹配最优方案,导致货物损耗率…

2025 年曝气器制造厂家 TOP 企业品牌推荐排行榜,微孔 / 平板 / 管式 / 拱形 / 可提升式曝气器公司推荐这 10 家

在环保水处理行业持续发展的当下,曝气器作为污水处理系统中的关键设备,其性能与质量直接影响着污水处理效率和效果。然而,当前市场上曝气器制造企业数量众多,产品种类繁杂,质量参差不齐,给采购方带来了诸多困扰。…

定制型网站建设服务动漫设计速成班

题目描述:将一句话的单词进行倒置,标点不倒置。比如 “I like beijing.”,经过处理后变为:“beijing. like I”。 文章目录 原题目题目描述:输入描述:输出描述:题目链接: 整体思路分…

深入解析:基于海思Hi3798MV200Android7.0聊聊HDMI色深模式和电视HDR

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年石灰料仓厂家 TOP 企业品牌推荐榜单,深度剖析行业优秀企业优势!

在环保行业快速发展的当下,污水及污泥处理领域对石灰料仓的需求日益增长,但市场上石灰料仓产品质量参差不齐、技术水平差异明显,给企业选购带来诸多困扰。部分厂家缺乏核心生产设备,产品密封性能差、防板结效果不佳…

面试复习题---Flutter 资深专家 - 详解

面试复习题---Flutter 资深专家 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

Notion 3.0 发布会深度解析:AI原生时代的知识工作重新定义 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

保定网站免费制作国外网页模板

原文链接https://cuiqingcai.com/2621.html 前言 前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法。如果大…

完整教程:MYSQL —— 约束和多表查询

完整教程:MYSQL —— 约束和多表查询pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…