bebo2xd/laravel-translation

Abanoub优化,用于管理所有Laravel翻译的工具

2.x-dev 2024-03-11 14:56 UTC

This package is not auto-updated.

Last update: 2024-09-24 15:38:05 UTC


README

Laravel Translation

Laravel应用翻译管理。

Laravel Translation UI

GitHub GitHub

关于Laravel翻译

Laravel Translation是一个Laravel的包,允许您在使用Laravel本地化功能时完全控制您的翻译。

该包允许您使用本地文件翻译或数据库驱动程序来管理您的翻译,后者在多服务器设置中非常有用。

它提供了一个用户界面,允许您更新现有翻译并添加新的翻译到您的应用程序。

以下是完整的功能列表

  • 文件和数据库驱动程序
  • 数据库翻译加载器(当使用Laravel的翻译检索方法和数据库驱动程序时,自动从数据库加载翻译)
  • 用户界面,用于添加新语言以及添加和更新翻译
  • Artisan命令来管理您的翻译
  • 扫描您的应用程序以查找缺失的翻译

版本兼容性

安装

通过Composer安装包

composer require joedixon/laravel-translation

发布配置和资产

php artisan vendor:publish --provider="JoeDixon\Translation\TranslationServiceProvider"

服务提供者将自动通过包发现加载。

使用方法

配置

该包附带一个名为translation.php的配置文件,在安装过程中发布到config目录。以下是设置概要。

driver [file|database]

选择filedatabase。文件翻译利用Laravel的本地文件翻译,包括对基于array和基于json的语言文件的支持。

route_group_config.middleware [string|array]

将对包附带的路由应用中间件。例如,您可能希望使用auth中间件以确保包的用户界面只对已登录用户可用。

translation_methods [array]

选择在搜索缺失翻译键时使用哪个Laravel翻译方法。

scan_paths [array]

选择在搜索缺失翻译时使用哪些路径。将搜索范围缩小到特定目录将在扫描缺失翻译时提高性能。

ui_url [string]

选择可以访问包用户界面的根URL。所有路由都将以前面的值作为前缀。

例如,将此值设置为languages将生成类似于translations/{language}/translations的URL。

database.languages_table

使用数据库驱动程序时,选择语言表名称。

database.translations_table

使用数据库驱动程序时,选择翻译表名称。

驱动程序

文件

利用Laravel的本地php数组和JSON语言文件,并公开用户界面来管理包含的翻译。可以使用用户界面或内置的Artisan命令添加和更新语言和翻译。

数据库

数据库驱动程序继承了Laravel基于文件的本地语言文件的所有功能,但将存储移动到数据库中,利用为您的Laravel应用程序配置的连接。

它还替换了容器中的翻译加载器,因此所有Laravel的翻译检索方法(__()trans()@lang()等)都将从数据库而不是文件中加载相关字符串,而无需更改应用程序中的任何代码。这是一种类似交换。

要使用数据库驱动程序,请确保在配置文件中更新数据库表名称并运行迁移。

将驱动程序从文件(默认)更改为数据库

  1. 更新驱动以使用位于 ./config/translation.php 的数据库。
'driver' => 'database'
  1. 运行迁移以添加翻译和语言表。
php artisan migrate
  1. 运行以下命令,并根据提示同步驱动之间的翻译。
php artisan translation:sync-translations
  1. 将会有一些问题需要回答,请参考下面的截图。

用户界面

导航到 http://your-project.test/languages(将 languages 更新为与 translation.ui_url 配置设置相匹配)并使用界面来管理您的翻译。

首先,点击您想要编辑的语言。在随后的页面中,找到您想要编辑的翻译并点击铅笔图标,或直接点击文本进行编辑。一旦您从输入框移开焦点,您的翻译就会保存,以绿色的勾选图标表示。

Artisan 命令

该包附带一系列 Artisan 命令,有助于翻译管理。

php artisan translation:add-language

向应用程序添加新语言。

php artisan translation:add-translation-key

为应用程序添加新的语言键。

php artisan translation:list-languages

列出应用程序中所有可用的语言。

php artisan translation:list-missing-translation-keys

列出应用程序中所有没有对应翻译的翻译键。

php artisan translation:sync-translations

在驱动之间同步翻译。如果您有一个现有的应用程序使用基于文件的本地语言文件,并希望迁移到数据库驱动,这个命令非常有用。运行此命令将把所有翻译从语言文件中提取出来,并插入到数据库中。

php artisan translation:sync-missing-translation-keys

此命令将扫描您的项目(使用配置文件中提供的路径),并创建所有缺失的翻译键。这可以针对所有语言或单一语言运行。