werkraum / deepl-translate-slim
按需翻译所有页面,无需额外配置。在TYPO3中,您无需设置超过一种语言。在网站配置中启用翻译目标,并通过我们的菜单集成显示语言菜单,然后即可开始。
Requires
- php: ^8.1
- ext-curl: *
- ext-dom: *
- typo3/cms-core: ^12.4
README
按需翻译所有页面,无需额外配置。在TYPO3中,您无需设置超过一种语言。在网站配置中启用翻译目标,并通过我们的 菜单集成 显示语言菜单,然后即可开始。
- 页面仅在需要时进行翻译
- 一个中间件处理TYPO3的响应,并通过DeepL进行翻译
- 翻译过程可根据您的需求进行自定义 自定义翻译处理
- 所有翻译目标都经过验证
- 例如,如果您禁用了
DK
,则无法绕过此值
- 例如,如果您禁用了
- 默认情况下排除搜索引擎机器人(否则它们可能会用尽您的API翻译量)
- 所有获取的翻译都存储在一个单独的 缓存 中(以进一步保护您的API量)
更多信息
https://werkraum.net/typo3-deepl-integration(德语)
安装
composer require werkraum/deepl-translate-slim
扩展设置
您必须提供 authenticationKey
。如果您有专业账户,请确保将API类型设置为 pro。
全局配置值
网站配置值
菜单集成
扩展有一个自定义的 \Werkraum\DeeplTranslate\DataProcessing\DeepLMenuProcessor
,以提供启用的DeepL翻译目标。它提供与 \TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor
相同的值
dataProcessing {
10 = Werkraum\DeeplTranslate\DataProcessing\DeepLMenuProcessor
10 {
as = menu
}
}
<html data-namespace-typo3-fluid="true" xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers" > <nav class="nav languagenav text-uppercase notranslate"> <f:for each="{menu}" as="item" iteration="iter"> <a class="nav-link" href="{item.link}" hreflang="{item.hreflang}" title="{item.title}"> <span>{item.title}</span> </a> </f:for> </nav> </html>
缓存
扩展有自己的缓存,以确保即使在页面内容更改的情况下,翻译也能保留在系统中。该服务不是免费的,应谨慎使用。尽管如此,此缓存可以进行检查和清空
您可以在扩展配置中启用 cacheClear
,以在页面或页面内容更改时始终刷新翻译。默认情况下是禁用的。
InfoModule中的专用视图提供了所有缓存页面的详细概述。
自定义翻译处理
您可以通过实现具有 \Werkraum\DeeplTranslate\DocumentProcessor\DocumentProcessorInterface
接口的自定义DocumentProcessor来自定义和扩展翻译过程。
查看 ReplaceLinksProcessor.php 以查看其实际操作。