house-of-code/dn-translate

启用翻译服务而非本地文件的使用

1.2.7 2022-01-04 08:19 UTC

README

一个用于启用翻译服务而非本地文件使用的包。

Total downloads Monthly downloads Latest release Open issues License Star repository on GitHub Watch repository on GitHub Fork repository on GitHub StyleCI

📝 简介

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 不可用且缓存无效

  1. 默认情况下,translate() 函数将使用 laravel 的 trans('nstack.' . key) 作为回退,这意味着您可以将 nstack 键下载下来,重新格式化成 PHP 数组,并将其插入到 /ressources/lang/en/nstack.php 文件中

  2. 使用 translate_with_fallback 并决定使用什么

🏆 致谢

此包由 Nodes 的 PHP 团队开发和维护

Follow Nodes PHP on Twitter Tweet Nodes PHP

📄 许可证

此包是开源软件,根据 MIT 许可证 发布