ayacoo/xliff

TYPO3 XLIFF 迁移

安装数量: 5,734

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 1

公开问题: 3

类型:typo3-cms-extension

dev-main 2023-06-03 17:47 UTC

This package is auto-updated.

Last update: 2024-09-03 20:21:49 UTC


README

1 功能

  • 将 XLIFF 文件从版本 1.0 迁移到 1.2
  • 在定义的语言中生成 XLIFF 文件
  • 在定义的语言中通过 Deepl 自动翻译生成 XLIFF 文件
  • 以 csv 或 xlsx 文件格式导出 XLIFF 文件

2 使用方法

2.1 安装

使用 Composer 安装

推荐使用 Composer 安装该扩展。

在您的基于 Composer 的 TYPO3 项目中运行以下命令

composer require --dev ayacoo/xliff

不要忘记在扩展管理器中激活扩展,并在必要时/希望的情况下定义 Deepl API 设置。同时:由于我们使用 Deepl 的缓存,还需要进行 DB 比较。

注意:此扩展仅在开发模式下应处于活动状态!

2.2 CLI 命令

基础

此实用工具在 Resources/Private/Language 文件夹中搜索所有扩展 xlf 文件。之后,XLIFF 标头将被重建,并使用原始文件中的 trans-unit 元素。

将 XLIFF 1.0 迁移到 1.2

vendor/bin/typo3 xliff:migrate --extension=EXTENSION_NAME --overwrite=(1|0) --empty=(1|0) --path=SUBFOLDER --file==FILENAME

所有 XLIFF 文件将从版本 1.0 迁移到 1.2。如果您想禁用文件的覆盖并创建原始文件的副本,也可以。

也可以使用 empty 属性来迁移空 XLIFF 文件。

如果您想自定义单个文件,请使用 file 属性。如果此文件在子文件夹中,请添加 path 属性。

为定义的语言生成和/或翻译 XLIFF 文件

使用此命令,例如,应从扩展创建 locallang.xlf 的翻译变体。为此,您可以在 languages 参数中指定逗号分隔的 isocodes 列表。在此过程中,还会直接创建版本 1.2 的 XLIFF。

然后自动添加目标元素,其中包含原始源文本。CDATA 也被考虑在内。所有没有目标语言属性的 xlf 文件都将迁移。

如果您使用参数 translate 并将 true,您还可以自动将文本从原始内容翻译。为此,使用 deeplGoogle Translate。为此,必须存在 API 帐户及密钥。

在此处尚不清楚 Deepl API 是否有限制。如有疑问,最好是逐文件进行翻译。

vendor/bin/typo3 xliff:generate --extension=EXTENSION_NAME --languages=ISOCODES --translate=(0|1)

导出 xliff 文件

翻译机构有时需要不同的文件格式。因此,还有一个 CSV 导出。您可以导出任何 xlf 文件,或者您可以使用 filepath 参数精确控制一个文件。

vendor/bin/typo3 xliff:export --extension=EXTENSION_NAME
vendor/bin/typo3 xliff:export --extension=EXTENSION_NAME --file=FILENAME --path=PATH

如果您需要导出到 Excel 格式,这是如何操作的

vendor/bin/typo3 xliff:export --extension=EXTENSION_NAME --format=xlsx

如果您需要导出到 JSON 格式,这是如何操作的

vendor/bin/typo3 xliff:export --extension=EXTENSION_NAME --format=json

默认情况下,在最后创建一个导出文件,包含所有 xlf 文件。如果您想为每个 xlf 文件生成一个生成的文件,请使用参数 singleFileExport

vendor/bin/typo3 xliff:export --extension=EXTENSION_NAME --singleFileExport=(0|1)

3 文档

https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Internationalization/Index.html

4 感谢

该扩展的开发得到了TYPO3代理机构brandung的支持。

使用了扩展wv_translate的DeeplService,并进行了轻微的调整。

当然,感谢deepl提供的卓越服务。