house-of-code / dn-translate
启用翻译服务而非本地文件的使用
Requires
- laravel/framework: >=5.1.0 <6.15.0
- nodes/core: 1.1.*
This package is not auto-updated.
Last update: 2024-09-25 18:58:32 UTC
README
一个用于启用翻译服务而非本地文件使用的包。
📝 简介
在 Nodes 我们创建了很多东西,需要支持多种语言。默认的翻译功能要求开发者更改本地文件并提交和部署。但我们想使用一个服务,让其他人——客户、项目经理等——能够管理翻译。
此包使得在您的 Laravel 应用中创建翻译提供者和通用使用变得简单。
目前它仅支持
但我们非常欢迎提供其他服务提供者的拉取请求。
📦 安装
要安装此包,您需要
- Laravel 5.1+
- PHP 5.5.9+
然后您必须修改您的 composer.json
文件并运行 composer update
以将包的最新版本包含到您的项目中。
"require": { "nodes/translate": "^1.0" }
或者您可以从终端运行 composer require 命令。
composer require nodes/translate:^1.0
🔧 设置
在 Laravel 5.5 及以上版本中,服务提供者和别名是 自动注册 的。如果您使用 Laravel 5.5 或更高版本,请直接跳到 发布配置文件。
在 config/app.php
中设置服务提供者
Nodes\Translate\ServiceProvider::class
在 config/app.php
中设置别名
'Translate' => Nodes\Translate\Support\Facades\Translate::class
发布配置文件
php artisan vendor:publish --provider="Nodes\Translate\ServiceProvider"
如果您想覆盖任何现有的配置文件,请使用 --force
参数
php artisan vendor:publish --provider="Nodes\Translate\ServiceProvider" --force
⚙ 使用方法
全局方法
translate($key, $replacements = [], $locale = null, $platform = null) translate_app($app, $key, $replacements = [], $locale = null, $platform = null) translate_or_fail($key, array $replacements = [], $locale = null, $platform = null) translate_app_or_fail($application, $key, $replacements = [], $locale = null, $platform = null) translate_with_fallback($key, $fallback, array $replacements = [], $locale = null, $platform = null) translate_app_with_fallback($application, $key, $fallback, $replacements = [], $locale = null, $platform = null)
回退
处理回退有两种方式,如果键不存在或 NStack 不可用且缓存无效
-
默认情况下,translate() 函数将使用 laravel 的 trans('nstack.' . key) 作为回退,这意味着您可以将 nstack 键下载下来,重新格式化成 PHP 数组,并将其插入到
/ressources/lang/en/nstack.php
文件中 -
使用 translate_with_fallback 并决定使用什么
🏆 致谢
此包由 Nodes 的 PHP 团队开发和维护
📄 许可证
此包是开源软件,根据 MIT 许可证 发布