dyanakiev/laravel-translation

管理Laravel应用所有翻译的工具


README

Laravel Translation

Laravel应用翻译管理。

Laravel Translation UI

Travis (.org) branch Scrutinizer Scrutinizer Coverage GitHub

关于Laravel Translation

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

该包允许您使用基于文件的原生翻译,同时提供了一个数据库驱动器,这对于多服务器设置非常有用。

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

以下是一个完整的功能列表

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

安装

通过Composer安装包

composer require joedixon/laravel-translation

发布配置和资源

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

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

使用方法

配置

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

driver [file|database]

选择filedatabase。文件翻译使用Laravel的本地文件翻译,并支持基于arrayjson的语言文件。

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()等)将直接从数据库加载相关字符串,而不是从文件中加载,无需修改您的应用程序中的任何代码。这是一个直接的替换。

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

用户界面

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

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

Artisan 命令

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

translation:add-language

向应用程序添加新语言。

translation:add-translation-key

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

translation:list-languages

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

translation:list-missing-translation-keys

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

translation:sync-translations

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

translation:sync-missing-translation-keys

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