diglin / oro-deepl

允许从OroPlatform应用程序中提取未翻译的字符串,并通过deepl网络服务进行翻译。需要Deepl开发者账户

维护者

详细信息

github.com/diglin/oro-deepl

来源

问题

安装: 615

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

1.2.0 2023-06-08 10:04 UTC

This package is auto-updated.

Last update: 2024-09-08 12:53:54 UTC


README

翻译无聊?不再无聊,有了强大的机器学习工具DeepL的帮助。感谢此包,您可以翻译OroPlatform数据库中所有未翻译的字符串,并将它们导出为YAML或CSV文件以供重用。

翻译将注意不翻译带有以下标签的字符串:"如果这个 {{ 不会被翻译 }} 或者我的亲爱的 %hello world% 平安",

如果您在自己的包中创建了翻译文件,在通过Deepl进行翻译之前,它们需要被加载到数据库中。您必须先使用命令 "oro:translation:convert"。

特别推荐

通过DeepL API翻译是收费的。因此,如果在导出时出现任何问题,请现在不要再次运行相同的命令。相反,打开... TODO(因为我必须检查确切的操作...)

CSV导出

在这种情况下,导出CSV文件,英语值也将导出,可用于人工翻译或检查翻译值。检查翻译后,使用命令 "diglin:oro:deepl:translate:convert" 将CSV转换为位于 translations 文件夹中的YAML文件,然后将其内容加载到您的OroPlatform数据库中。在生产环境中,您只需在部署后将生成的文件放置在 translations 文件夹中,然后运行命令 oro:platform:update --force(运行它之前请进行数据库备份)。

YAML导出

生成的文件可以直接用于加载到您的应用程序中。如果需要,OroPlatform还可以将其加载到您的数据库中(例如,允许后端用户编辑这些翻译)。与CSV导出相同,在生产环境中,您只需将生成的文件放置在 translations 文件夹中,然后部署后运行命令 oro:platform:update --force(运行它之前请进行数据库备份)。

安装

composer require diglin/oro-deepl

要求

  • OroPlatform 4.x, 5.0, 5.1(可能适用于旧版本,但未测试)

配置

如果您想自动翻译字符串,则需要DeepL API密钥

  • 请访问OroPlatform后台办公室,菜单 系统 > 配置 > 系统配置 > 集成 > DeepL
  • 或通过参数 deepl-api-key 提供密钥。
  • 或将密钥设置在 var/deepl-license.key 文件中。

如果没有API密钥,将显示错误消息,但仍然会生成空翻译。

使用示例

导出要翻译的值的空字符串到CSV

bin/console --env=prod diglin:oro:deepl:translate:export --format csv --disable-deepl de_DE

将翻译导出到CSV文件,将提供英语值以供翻译检查

bin/console --env=prod diglin:oro:deepl:translate:export --format csv de_DE

直接将翻译导出到YAML文件,现有数据将被合并,如果发生重复则被覆盖。生成的文件将包含时间戳

bin/console --env=prod diglin:oro:deepl:translate:export --format yml de_DE

直接将翻译导出到YAML文件,现有数据将被合并,如果发生重复则被覆盖。现有的域翻译文件(例如,messages.de_DE.yml)将被覆盖。

bin/console --env=prod diglin:oro:deepl:translate:export --format yml --overwrite de_DE

仅翻译消息域

bin/console --env=prod diglin:oro:deepl:translate:export --domains messages de_DE

计算将导出的字符数量,用于估算DeepL的费用

bin/console --env=prod diglin:oro:deepl:translate:export --domains messages,jsmessages,workflows,validators,security --simulate de_DE

加载先前生成的CSV文件,将其转换为YAML格式,导入数据库并重建语言缓存,无需中断前端

bin/console --env=prod diglin:oro:deepl:translate:convert --rebuild-cache translations/messages.de_DE.csv de_DE

你有小贴士吗?

好吧,我们承认diglin:oro:deepl:translate:export是一个长的命令,但至少它描述了它所做的事情。如果你愿意,可以使用这个快捷方式:d:o:d:t:e

路线图

  • 为后端用户在不同区域(CMS、产品、翻译管理)添加翻译按钮-

许可证

MIT

作者