yyqsg888 / laravel-translation
管理您所有Laravel翻译的工具
Requires
- php: >=8.0
- illuminate/support: >=8.0||^9.0||^10.0
- laravel/legacy-factories: >=1.3
Requires (Dev)
- mockery/mockery: >=1.0.0
- orchestra/testbench: >=6.0
- phpunit/phpunit: >=9.0
README
Laravel应用翻译管理。
关于Laravel Translation
Laravel Translation是一个Laravel包,允许您在使用Laravel的本地化功能时对翻译拥有完全控制。
该包允许您使用本地文件翻译或数据库驱动程序来管理您的翻译,后者在多服务器设置中非常有用。
它提供了一个用户界面,允许您更新现有翻译并添加新翻译到您的应用程序。
以下为全部功能列表
- 文件和数据库驱动程序
- 数据库翻译加载器(当使用Laravel的翻译检索方法和数据库驱动程序时,自动从数据库加载翻译)
- 用户界面,用于添加新语言和添加/更新翻译
- Artisan命令来管理您的翻译
- 扫描您的应用程序以查找缺失的翻译
版本兼容性
安装
通过Composer安装包
composer require joedixon/laravel-translation
发布配置和资源
php artisan vendor:publish --provider="JoeDixon\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()等)将直接从数据库加载相关字符串,而不需要修改您的应用程序中的任何代码。这是一个完全相同的交换。
为了使用数据库驱动程序,请确保更新配置文件中的数据库表名称并运行迁移。
从文件(默认)驱动程序更改为数据库驱动程序
- 在
./config/translation.php中更新驱动程序以使用数据库。
'driver' => 'database'
- 运行迁移以添加翻译和语言表。
php artisan migrate
- 运行以下命令并遵循提示来同步驱动程序之间的翻译。
php artisan translation:sync-translations
- 将会有几个问题需要回答。请参考下面的截图
用户界面
导航到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
此命令将扫描您的项目(使用配置文件中提供的路径)并创建所有缺失的翻译键。这可以用于所有语言或单一语言。

