hricer/sync-translations

同步所有翻译文件。

0.3.1 2023-11-01 14:27 UTC

This package is auto-updated.

Last update: 2024-09-30 01:35:56 UTC


README

根据一个地区文件同步所有翻译文件。这将确保所有翻译文件包含相同的键。

这允许开发者只管理一种语言。在将应用程序部署到生产环境之前,开发者将对其他语言执行同步操作。

用法

假设你修改了主地区文件,例如 messages.en.yaml

common:
    yes: Yes
+   no: No
    actions:
        close: Close
-       send: Send
    toast:
        save: 'Successfully saved.'

现在你需要通过 messages.en.yaml(添加新行或删除旧行)来同步所有 messages.*.yaml 文件。在终端中输入

$ php bin/console translation:sync en --domain=messages

该命令将更新所有 messages.*.yaml(排除 en)。

例如 message.cs.yaml

common:
    yes: Ano
+   no: No
    actions:
        close: Zavřít
-       send: Odeslat
    toast:
        save: 'Úspešně uloženo.'

你可以使用 --deepl 参数来自动翻译所有新行。

安装

步骤 1: 下载软件包

$ composer require hricer/sync-translations --dev

步骤 2: 注册包

// bundles.php
return [
    // ...
    Hricer\SyncTranslations\SyncTranslationsBundle::class => ['dev' => true],
];

没有 Symfony 包管理系统的环境

创建一个带有翻译:同步作为唯一命令的终端应用程序

// bin/translation.php
use Symfony\Component\Console\Application;
use Hricer\SyncTranslations\Command\SyncTranslationCommand;

(new Application('translation/sync'))
    ->add(new SyncTranslationCommand())
    ->getApplication()
    ->setDefaultCommand('translation:sync', true)
    ->run();