【问题标题】:Continous Integration and Cakephp 3.x internationalisation with multiple plugins in project项目中多个插件的持续集成和 Cakephp 3.x 国际化
【发布时间】:2023-03-19 08:24:02
【问题描述】:

在我们的用例中,我们使用 cake 3 的插件来分离相同数据的不同前端(简化解释)——因此,我们有很多 `__('random_strings');分布在以下路径的文件中:

  1. src/*
  2. plugins/plugin_name(s)/*

我正在使用以下命令来提取.potfiles:

bin/cake i18n extract --app /cake/ --paths src,plugins --merge yes --output /cake/src/Locale --exclude test,vendors --overwrite --extract-core yes

我们正在使用带有 Ant 脚本的 Jenkins 来构建我们的应用程序,并且我们即将选择一个在线 Web gui 来翻译这些 .pot 文件 - 这是没有开发人员知识的翻译人员可以进入的要求该 web gui,翻译文件并以某种方式将生成的 .po 文件同步回 git repo。

我正在考虑让 jenkins 工作在我们当前的工作之前运行,唯一的工作是运行生成 .pot 文件的脚本,然后提交 + 将它们推回我们的开发分支 - 然后拥有Web gui“检查”每种语言的这些 .po 文件。

但是,这感觉有点 hack-ish,可能存在一些更好的解决方案 :-)

【问题讨论】:

  • 我们刚刚设置了一个 www.poeditor.com 的实例 - 并添加了我们的语言,它会小心(有点骇人听闻)将新内容从 .pot 文件导入到相应的 @ 987654327@ - 迄今为止被认为是一个优雅的解决方案。它适用于从 Poeditor 到 github 的手动导出,并且它们也支持 webhook。不过,webhook 刚刚向我们的 repo 提交了 400 次提交...... ! :-)
  • 你可以看看 Weblate。它内置了 git 集成。
  • 谢谢 Greg - 看起来不错!我可能会考虑一下..对于非开发人员来说没有很高的可用性:-)

标签: php jenkins internationalization continuous-integration cakephp-3.0


【解决方案1】:

我最终每天 3 次使用 POEditor.com 的 API 从我们的 GitHub 项目中提取/推送翻译 - 但我还没有自动生成 .pot 文件,所以现在是手动的。

不知道我们是要实现 pre-commit git hook,还是在 Jenkins 中实现预生产构建来检查它:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2015-08-31
    • 2013-04-19
    • 2010-12-03
    相关资源
    最近更新 更多