dereuromark / cakephp-translate
用于管理翻译的 CakePHP 插件
0.2
2022-12-26 01:40 UTC
Requires
- php: >=7.3
- cakephp/cakephp: ^4.2.0
- dereuromark/cakephp-tools: ^2.0
- friendsofcake/search: ^6.0
Requires (Dev)
- ext-json: *
- dereuromark/cakephp-queue: ^5.0
- fig-r/psr2r-sniffer: dev-master
- phpunit/phpunit: ^9.5
- sepia/po-parser: ^6.0.1
- yandex/translate-api: dev-master
Suggests
- dereuromark/cakephp-queue: To use background processing for e.g. PO file import
- yandex/translate-api: Free Translation API Alternative
README
基于数据库驱动的 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 或类似工具来管理对翻译后端的用户组访问。
- 如果您想获得更好的自动建议,请实现自己的翻译引擎。