dereuromark/cakephp-translate

用于管理翻译的 CakePHP 插件

0.2 2022-12-26 01:40 UTC

This package is auto-updated.

Last update: 2024-08-27 14:19:39 UTC


README

CI Coverage Status Latest Stable Version Minimum PHP Version License Total Downloads Coding Standards

基于数据库驱动的 CakePHP 翻译管理插件。

此分支适用于 CakePHP 5.0+。有关详细信息,请参阅 版本映射

警告:尚未完全升级,需要帮助!

主要功能

  • 从 POT、PO 文件或任何服务/API 导入。
  • 基于 Web 且无外部依赖。
  • 同时翻译所有语言的字符串。
  • 允许他人帮助翻译,无需了解技术细节。
  • 使用翻译 API(例如 Google Translate PHP/JS、Yandex 等)实现自动翻译和自动建议,提高效率。

与普通 PO 编辑相比的优点

  • 防止重复、缺失翻译、冲突。
  • 自动功能,如 trim()h()、换行到 <p>/<br>%s 的间隔。
  • 验证占位符({0}%s、...)。
  • 预览和引用代码片段。
  • 自动添加控制器名称(单数 + 复数)。
  • 按组(=域)管理并导出/启用/禁用它们。
  • 创建包含所有使用翻译的干净 PO 文件,以便更容易地比较更改。

通过 API 包含的翻译服务

  • Google(免费,有限制)
  • Yandex(免费,有限制)
  • Transltr(免费)

在此 位置添加您自己的翻译引擎

安装

包括插件的方式与其他 CakePHP 插件基本相同

composer require dereuromark/cakephp-translate

然后,要加载插件,请运行以下命令

bin/cake plugin load Translate -b -r
# If you haven't loaded the Tools plugin already
bin/cake plugin load Tools -b -r

后端需要路由,引导程序设置了一些默认值。

在控制台中运行此命令以创建必要的数据库表

bin/cake migrations migrate -p Translate

建议

对于较大的项目,建议使用 dereuromark/cakephp-queue 以避免导入 PO 文件时的超时问题。

用法

Web 后端

  • 在浏览器中导航到 /admin/translate/

CLI

  • 运行 bin/cake translate

提示

  • 使用 TinyAuth 或类似工具来管理对翻译后端的用户组访问。
  • 如果您想获得更好的自动建议,请实现自己的翻译引擎。

配置和文档