3作者: Eatcats7 个月前原帖
小小的坦白<p>我已经使用Windsurf编辑器大约六个月了,它为我完成了大部分编码工作。<p>最近,我意识到我不再享受编程了。感觉就像是在痛苦地向大型语言模型(LLM)解释我想要什么,然后坐在那里等待它完成。如果它失败了,我就换一个模型——通常其中一个能完成任务。<p>到这个时候,我甚至停止了对具体代码更改的审查。我只是不断向前推进,直到任务完成。<p>好的一面是,我在撰写设计文档方面变得更加出色。<p>还有其他人有同样的感觉吗?
4作者: XAKEPEHOK7 个月前原帖
我们的使用案例:我们的应用程序支持俄语(我们的母语)和英语。我们需要快速、轻松地添加更多语言(应客户要求)。我们的翻译文件一团糟:重复的字符串、使用字符串拼接而非占位符、俄语和英语文件中字符串顺序不同、尾随空格等等。 因此,我编写了一个辅助工具来解决这些问题。现在,添加一种新语言只需40分钟和2美元。这个工具效果很好,我整理了项目并将其作为开源软件发布。 # 主要特点: 翻译新语言时,支持同时使用两种源语言:主要语言(在我们这里是俄语)和次要语言(对我们来说是英语)。次要语言不是严格要求的,但强烈推荐。无论您有多少其他语言,只有主要和次要语言会被发送到LLM上下文中进行翻译。 顺便提一下,上下文还包括附近的字符串和术语表(更多内容见下文),提示设计为LLM首先评论字符串的含义、用途,然后再进行翻译。根据我的测试,这种组合显著提高了翻译质量。 # 关于翻译: - 支持的格式:目前仅支持JSON(平面和结构化)+ i18next风格的复数形式,但很容易添加新格式。 - 复数形式:支持基数和序数形式。示例: ```json { "key_one": "1 file", "key_other": "{{count}} files" } ``` - 占位符:${likeJs}、{{doubleCurve}}、{singleCurve} — 您可以轻松添加新格式。每个项目可以设置首选格式。 - 字符串顺序得以保留!这对意义和LLM都很重要。 - 多行字符串:支持\r和\n(可配置)。 - 字符串注释:您可以添加解释,仅存储在应用程序中。默认情况下,由LLM生成。 - 建议翻译:您可以单独提供推荐翻译(例如,来自专业翻译或AI建议)。 - 批量或单个翻译,按语言选择LLM。 - 重用翻译:对于批量翻译,已经翻译的相同字符串会被重用。 - 旧字符串/翻译不会被删除,而是保留在数据库中。这部分覆盖了git中的分支场景,当某些分支已经有新翻译,而某些没有时,确保没有内容丢失。 # 字符串验证 当我们开始认真处理翻译和本地化时,我们迅速意识到我们的翻译文件完全混乱。不仅有未翻译的字符串,还有过时的翻译(主要语言中删除的字符串)、占位符被字符串拼接替代的地方、主要语言(俄语)使用“:”而次要语言(英语)没有的翻译,或者换行符仅存在于其中一个。甚至有些情况下,主要语言有占位符而次要语言忘记了。 现在,所有这些情况都会被检查,任何上传/翻译的字符串如果满足以下条件,将会被标记为警告: - 翻译字符串为空 - 存在前导或尾随空格 - 字符串包含多个连续空格 - 翻译与主要或次要语言相同(对于电子邮件、API、IP、URL、URI、ID有例外) - 缺少主要语言中存在的占位符 - 翻译中有一个在主要语言中不存在的占位符 - 主要语言和翻译之间的换行符数量(\r或\n)不同 - 主要语言和翻译之间的冒号数量不同 - 复数值缺失或多余 - 复数值在换行符或冒号上不同 无论验证结果如何,用户都可以手动将字符串标记为已验证,从而实现灵活的过滤和批量翻译控制。 GIF和更多信息请访问GitHub: [https://github.com/XAKEPEHOK/lokilizer](https://github.com/XAKEPEHOK/lokilizer)
1作者: mb21007 个月前原帖
我开始学习网页开发时使用的是PHP,后来转向Ruby on Rails,接着经历了整个React和Next的周期,最近又发现了岛屿架构和Astro以及它那经典的多页面应用(MPA)架构。但我觉得事情可以更简单一些。 Mastro是我试图提炼网页开发本质的尝试。它由四个相互关联的部分组成: - 一份关于HTML、CSS和JS的入门指南:教你如何在浏览器中构建并发布一个网站到GitHub Pages。 - 一个作为VSCode扩展在浏览器中运行的静态网站生成器。 - 一个不需要打包器、没有客户端JS和冗余的最小化网页框架。 - Reactive Mastro:一个小巧(2.8k min.gz)的客户端响应式GUI库,适用于你现有的MPA或Mastro项目。