3作者: Eatcats8 个月前
一个小小的坦白 我用 Windsurf 编辑器已经大约六个月了,它帮我完成了大部分的编码工作。 最近,我意识到我不再享受编程了。感觉就像我只是在痛苦地向大语言模型解释我想要什么,然后坐等它完成。如果失败了,我就切换到另一个模型——通常,其中一个能完成任务。 现在,我甚至都不再审查确切的代码更改了。我只是不断推进,直到任务完成。 从好的方面来说,我写设计文档的能力提高了很多。 有没有其他人也有同样的感觉?
4作者: XAKEPEHOK8 个月前
我们的用例:我们的应用程序有俄语(我们的母语)和英语。我们需要快速、轻松地添加更多语言(根据客户要求)。我们的翻译文件一团糟:重复的字符串、使用字符串拼接而不是占位符、ru/en 文件中不同的字符串顺序、尾随空格等等。<p>所以我写了一个辅助工具来解决所有这些问题。现在,添加一种新语言只需 40 分钟和 2 美元。它效果很好,所以我清理了项目并将其作为开源发布。<p># 主要功能:<p>翻译成新语言同时从两种源语言进行:主要语言(我们的情况是俄语)和次要语言(我们的情况是英语)。次要语言不是必需的,但强烈推荐。无论您有多少其他语言,只有主要语言和次要语言会被发送到 LLM 上下文中进行翻译。<p>顺便说一句,上下文还包括附近的字符串和词汇表(稍后会详细介绍),并且提示的设计使得 LLM 首先评论字符串是什么,在哪里使用,然后才翻译它。根据我的测试,这种组合极大地提高了翻译质量。<p># 关于翻译:<p>- 支持的格式:目前仅支持 JSON(扁平 &amp; 结构化)+ i18next 风格的复数形式,但很容易添加新格式。<p>- 复数形式:支持基数和序数形式。示例:<p>{ &quot;key_one&quot;: &quot;1 个文件&quot;, &quot;key_other&quot;: &quot;{{count}} 个文件&quot; }<p>- 占位符:${likeJs}, {{doubleCurve}}, {singleCurve} — 您可以轻松添加新格式。首选格式按项目设置。<p>- 字符串顺序被保留!这对于含义和 LLM 都很重要。<p>- 多行字符串:支持 \r 和 \n(可配置)。<p>- 字符串注释:您可以添加说明,仅存储在应用程序中。默认情况下,它们由 LLM 生成。<p>- 建议翻译:您可以单独提供推荐的翻译(例如,来自专业翻译人员或 AI 建议)。<p>- 批量或单个翻译,可为每种语言选择 LLM。<p>- 重用翻译:对于批量翻译,已经翻译过的相同字符串会被重用。<p>- 旧字符串/翻译不会被删除,而是保留在数据库中。这部分涵盖了 git 中的分支场景,当某些分支已经有新的翻译,而某些分支没有时。什么都不会丢失。<p># 字符串验证<p>当我们开始认真处理翻译和本地化时,我们很快意识到我们的翻译文件一团糟。不仅有未翻译的字符串,还有过时的翻译(从主要语言中删除的字符串)、用字符串拼接替换占位符的地方、主要语言(俄语)使用“:”,但次要语言(英语)没有,或者仅在一个地方存在换行符。甚至主要语言有占位符但次要语言忘记了的情况。<p>现在会检查所有这些情况,并且任何上传/翻译的字符串都会收到一个警告标志,如果:<p>- 翻译字符串为空<p>- 有前导或尾随空格<p>- 字符串包含多个连续空格<p>- 翻译与主要或次要语言相同(电子邮件、api、ip、url、uri、id 除外)<p>- 缺少主要语言中存在的占位符<p>- 翻译有主要语言中不存在的占位符<p>- 主要语言和翻译之间的换行符 (\r 或 \n) 数量不同<p>- 主要语言和翻译之间的冒号 : 数量不同<p>- 语言缺少或有多余的复数形式值<p>- 复数形式值在换行符或冒号上有所不同<p>无论验证如何,用户都可以手动将字符串标记为已验证,从而实现灵活的过滤和批量翻译控制。<p>更多信息和 GIF 动图请访问 GitHub:<a href="https:&#x2F;&#x2F;github.com&#x2F;XAKEPEHOK&#x2F;lokilizer&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;XAKEPEHOK&#x2F;lokilizer&#x2F;</a>
1作者: mb21008 个月前
我最初用 PHP 和后来的 Ruby on Rails 开始了 Web 开发,然后经历了整个 React 和 Next 周期,最近又发现了 Islands 架构和 Astro,以及它那久违的 MPA(多页面应用)架构。但我感觉事情还可以更简单。<p>Mastro 是我试图提炼 Web 开发精髓的尝试。它由四个相互关联的部分组成:<p> - HTML、CSS 和 JS 入门指南:教你如何构建网站并将其发布到 GitHub Pages——所有操作都在你的浏览器中完成。 - 一个作为 VSCode 浏览器扩展运行的静态站点生成器。 - 一个极简 Web 框架,没有打包器,没有客户端 JS,也没有臃肿的代码。 - Reactive Mastro:一个微型(2.8k min.gz)客户端响应式 GUI 库,适用于你现有的 MPA 或 Mastro 项目。