ninacoder-info / translation
管理所有Laravel翻译的工具
Requires (Dev)
- mockery/mockery: ^1.0.0
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-30 01:35:55 UTC
README
Laravel应用翻译管理。
关于Laravel翻译
Laravel翻译是一个Laravel 5的包,它允许你在使用Laravel的本地化功能时完全控制你的翻译。
该包允许你使用本地文件翻译或数据库驱动程序来管理你的翻译,后者在多服务器设置中非常有用。
它提供了一个用户界面,允许你更新现有翻译并添加新翻译到你的应用程序中。
以下是完整的功能列表
- 文件和数据库驱动程序
- 数据库翻译加载器(当使用Laravel的翻译检索方法和数据库驱动程序时,自动从数据库中加载翻译)
- 用户界面以添加新语言和添加/更新翻译
- Artisan命令以管理你的翻译
- 扫描应用程序中的缺失翻译
安装
通过Composer安装包
composer require ninacoder-info/translation
发布配置和资源
php artisan vendor:publish --provider="NiNaCoder\Translation\TranslationServiceProvider"
服务提供者会自动通过包发现加载。
用法
配置
该包附带一个名为translation.php
的配置文件,在安装过程中发布到配置目录。以下是设置概要。
driver [file|database]
选择file
或database
。文件翻译使用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()
等)都将从数据库中加载相关字符串,而无需更改应用程序中的任何代码。这是一个一对一的替换。
要使用数据库驱动程序,请确保更新配置文件中的数据库表名并运行迁移。
用户界面
导航到 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
此命令将扫描您的项目(使用配置文件中提供的路径)并创建所有缺失的翻译键。这可以用于所有语言或单一语言。