stepovenko/laravel-chained-translator

Laravel Chained Translator 可以组合多个翻译器,它们可以覆盖彼此的翻译。

1.3.2 2021-09-09 14:32 UTC

This package is not auto-updated.

Last update: 2024-10-02 22:28:04 UTC


README

链式翻译器可以将多个翻译器组合在一起,它们可以覆盖彼此的翻译。通常,在开发阶段某个时候,内容管理员想要翻译或微调开发人员添加的翻译字符串。这通常会导致合并和版本问题,当开发人员和内容管理员同时处理翻译文件时。

链式翻译器包允许开发人员创建的翻译与内容管理员在单独的 lang 目录中编辑的翻译分开存在。库合并了这两个语言目录的翻译,其中内容管理员的翻译(自定义翻译)覆盖了开发人员的翻译(默认翻译)。

例如,开发人员创建的默认翻译存储在默认 Laravel 的 lang 目录中,位于 resources/lang,而内容管理员的翻译添加到 resources/lang-custom。当 resources/lang-custom 目录中存在翻译键时,优先使用,否则回退到默认翻译。

此包与我们的 Laravel Nova 链式翻译管理器 一起工作,它提供了一个用户界面,让内容管理员可以编辑翻译。

安装

通过 composer

composer require statikbe/laravel-chained-translator

命令

合并自定义翻译回默认翻译文件

如果您想将当前环境中内容管理员制作的翻译文件与默认翻译文件合并,可以使用以下命令。由于此库对您的 Laravel 应用程序支持的地区不可知,因此您需要传递地区作为参数。Laravel 很遗憾没有默认支持的地区列表。因此,如果您想合并所有支持地区的文件,请为每个地区运行此命令。

例如,对于法语

php artisan chainedtranslator:merge fr

此命令可用于将翻译人员的翻译工作合并回默认翻译文件。

配置

您可以通过运行此命令发布配置

php artisan vendor:publish --provider="Statikbe\LaravelChainedTranslator\TranslationServiceProvider"

以下配置字段可用

  • 自定义 lang 目录:默认情况下,自定义翻译保存在 resources/lang-custom。这可以在 laravel-chained-translator.php 配置文件中通过键 custom_lang_directory_name 进行配置

  • 将 .gitignore 添加到自定义 lang 目录:如果配置键 add_gitignore_to_custom_lang_directory 设置为 true,则将 .gitignore 文件添加到自定义语言目录。

待办事项 & 建议

  • 支持 JSON 翻译文件
  • 选项覆盖默认 lang 目录。这在本地和预发布环境中管理开发人员翻译可能很有用。

鸣谢

我们使用了 Joe Dixon 的 翻译库作为技术专长和灵感的来源

非常感谢您做出的出色工作!

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件