hyperdigital/hd_translator

从locallang.xlf文件中翻译静态字符串以及数据库相关内容的导入/导出

安装: 1,487

依赖: 0

建议者: 0

安全性: 0

星标: 5

关注者: 1

分支: 2

开放问题: 1

类型:typo3-cms-extension

1.1.1 2024-09-18 12:05 UTC

README

这是一个用于处理翻译的TYPO3扩展。它允许编辑器编辑XLF文件(通常位于EXT:/Resources/Private/Languages)中的静态字符串,或者导出数据库条目,使用翻译工具/代理在xlf格式下编辑它们,然后再次导入到TYPO3中。

初始化

安装后,WEB模块下将添加一个新的子模块。在利用扩展功能之前,指定新翻译应存储的位置至关重要。请按照以下步骤操作

  1. 导航到扩展配置部分。
  2. 在HD翻译器设置中查找“存储路径(从项目根目录)”选项。在此字段中插入相对路径时,请注意起始点为项目根目录,其中存储了项目的composer.json文件。

静态字符串翻译

预览

所有locallang文件类别

All locallang filed

某个类别的所有locallang

All locallang for specific category

一个locallang的德语翻译示例

Example of german translation

特定的locallang文件

该扩展的一个关键功能是能够无缝地与locallang.xlf文件协同工作。要启用对特定locallang.xlf文件的处理,请按照以下步骤操作

  1. 在您的TYPO3扩展中打开ext_localconf.php文件。

  2. 添加以下配置以注册所需的locallang.xlf文件(unique_key必须始终唯一)

    $GLOBALS['TYPO3_CONF_VARS']['translator']['unique_key'] = [
        'label' => 'My Cool Extension - Base',
        'path' => 'EXT:cool_extension/Resources/Private/Language/locallang.xlf',
        'category' => 'Cool Extension',
        'languages' => [
            'en',
            'de',
            'cs'
        ]
    ];
    • label:为翻译集提供描述性标签。
    • path:指定目标locallang.xlf文件在您的扩展中的路径。
    • category:将翻译归类到特定类别。
    • languages:定义支持的翻译语言。

确保提供的路径正确且与您的locallang.xlf文件的实际位置相对应。您可以根据需要扩展'languages'数组以包含其他语言代码。

同步所有locallang.xlf文件

系统具有检索所有可访问的locallang.xlf文件的能力,这使得翻译管理更高效。按照以下步骤同步文件

  1. 在扩展配置中,找到并勾选“所有locallang.xlf文件”旁边的复选框。

  2. 在TYPO3后端导航到翻译模块。

  3. 找到“同步所有文件”按钮并单击它。

此操作为所有locallang.xlf文件生成设置,确保系统了解并能处理来自每个扩展的翻译。如果您添加了新的翻译文件或引入了新的扩展,则必须再次单击“同步所有文件”按钮。此过程将相应地更新系统设置。

利用此功能,您可以简化TYPO3项目中翻译的管理,确保翻译模块了解所有相关的翻译文件和扩展。

正确配置语言

要为您的TYPO3网站定义正确的语言,您可以在位于config/sites/xxx/config.yaml的站点配置文件中指定它。以下是一个示例配置

languages:
  -
    ...
    typo3Language: de
    ...

启用不受TYPO3支持的新语言

要启用不受TYPO3支持的新语言,请将以下代码添加到LocalConfiguration.phpAdditionalConfiguration.php中。确保此代码在所有扩展加载之前出现

$GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['user']['us'] = 'English US';

重要组件

  • 'us':这是在翻译文件中使用的语言键。
  • '英语美国':表示语言名称。

数据库导出

该扩展提供了一个灵活的机制,用于从数据库导出字段,允许您根据需要定制导出的数据。

默认导出设置

默认的数据库导出字段列表位于“显示字段”配置相同的部分。它遵循相同的“类型”逻辑。如果此设置为空,则所有可访问的非TYPO3核心字段都将包含在导出中。

$GLOBALS['TCA'][$table]['types'][1]['translator_export'] = 'title, subtitle, another_field';

不同表类型的不同设置

在许多情况下,您可能需要为各种内容元素有不同的设置。例如,您可能希望为类型为“标题”的内容元素与“文本”元素有特定的导出配置。为了达到这种粒度,请使用类型特定的设置。以下是在tt_content表中的“标题”和“文本”元素的示例

标题内容元素
$GLOBALS['TCA']['tt_content']['types']['header']['translator_export'] = 'header, subheader';
文本内容元素
$GLOBALS['TCA']['tt_content']['types']['text']['translator_export'] = 'header, subheader, bodytext';

导出Flexform字段

当Flexform包含在导出中时,它默认检索所有字段。但是,您可以像整个表一样限制导出的字段。使用以下配置

$GLOBALS['TCA'][$table]['types'][1]['translator_export_column']['pi_flexform'] = 'settings.text, settings.header';

显示导出按钮

在编辑表条目或页面模块内时,导出按钮将出现在保存或编辑按钮旁边。它也是上下文菜单的一部分。

根据您的特定需求自定义导出设置,以确保仅包含导出文件中的必要数据。