moomak / laravel-translation-manager
增强型 Laravel 翻译管理器
Requires
- php: >=7.3
- doctrine/dbal: >=2.6
- illuminate/support: ~9
- illuminate/translation: ~9
- laravelcollective/html: >=6.3
- symfony/finder: >=4.0
Requires (Dev)
- fzaninotto/faker: >=1.4
- mockery/mockery: >=1.4
- phpspec/phpspec: >=3.0
- phpunit/phpunit: >=9.5
README
本包用于通过 Yandex 翻译 API 提供翻译辅助,方便地管理、查看、编辑和翻译 Laravel 语言文件。它通过大量实用功能增强了 Laravel 翻译器系统。 特性
⚠️ 仅支持 MySQL 和 PostgreSQL 数据库连接。添加其他数据库只需根据 MysqlTranslatorRepository.php 或 PostgresTranslatorRepository.php 的示例实现额外的仓库接口。
⚠️ 版本 2.6.10 有新的迁移
从早期版本升级时运行
$ php artisan vendor:publish --provider="Vsch\TranslationManager\ManagerServiceProvider" --tag=public --force $ php artisan vendor:publish --provider="Vsch\TranslationManager\ManagerServiceProvider" --tag=migrations $ php artisan migrate
支持的 Laravel 版本
对于 Laravel 6.0 需要:
"vsch/laravel-translation-manager": "~6.0"
对于 Laravel 5.6 需要:
"vsch/laravel-translation-manager": "~2.6"
对于 Laravel 5.5 需要:
"vsch/laravel-translation-manager": "~2.5"
对于 Laravel 5.4 需要:
"vsch/laravel-translation-manager": "~2.4"
对于 Laravel 5.3 需要:
"vsch/laravel-translation-manager": "~2.3"
对于 Laravel 5.2 需要:
"vsch/laravel-translation-manager": "~2.1"
Laravel 版本 4.2 已不再支持。
您仍然可以获取最新更新版本。使用
laravel4
分支,或要求:"vsch/laravel-translation-manager": "~1.0"
初始本地化添加
❗ 如果您已对自动翻译的本地化进行了纠正并希望与他人分享,请这样做。我们将非常感激。
详细信息现在在 wiki 中。
2.6.16 添加了 React App UI 作为 WebUI 的替代方案
发布版本 2.6.10
将 React UI 添加为 WebUI 的选项。
代码更新以兼容 Laravel 5.6
添加了对 JSON 翻译文件的支持。 Versioninfo.md
发布版本 2.5.6
添加了对 JSON 翻译文件的支持。 Versioninfo.md
代码更新以兼容 Laravel 5.5
发布版本 2.4.36
添加了对 JSON 翻译文件的支持。 Versioninfo.md
重要的 LTM 翻译器方法更改,以恢复与 Laravel 5.4 API 的兼容性。这些更改会影响 LTM 翻译器实现的参数顺序。如果您根据以前的 LTM 实现使用这些方法,那么您需要在代码中进行更改
从 transChoice($id, $number, array $parameters = array(), $domain = 'messages', $locale = null, $useDB = null)
更改为 transChoice($id, $number, array $parameters = array(), $locale = null, $domain = 'messages', $useDB = null)
从 trans($id, array $parameters = array(), $domain = 'messages', $locale = null, $useDB = null)
更改为 trans($id, array $parameters = array(), $locale = null, $domain = 'messages', $useDB = null)
从 get($key, array $replace = array(), $locale = null, $useDB = null)
更改为 get($key, array $replace = array(), $locale = null, $fallback = true, $useDB = null)
发布版本 2.4.0
Laravel 5.4 兼容版本。没有 API 变更,仅内部实现变更。
发布版本 2.3.3
Laravel 5.3 兼容版本。升级说明请参阅 从 2.0、2.1 升级到 2.3
现在使用 Laravel 5 授权 API 处理所有 LTM 相关授权。
现在更新了翻译键的源引用,并添加了新的键,同时清理动态键。需要发布并运行迁移来更新此功能,请参阅 安装:发布和运行迁移
现在您可以查看翻译的源文件和行号引用。请参阅 Web 接口:源引用
如果您是从 LTM 2.0.x 版本升级,您需要
- 从您的应用程序中删除对
UserPrivilegeMapper
的依赖:请参阅 从服务提供者数组中删除对 UserPrivilegeMapper 的依赖 和 从外观别名数组中删除对 UserPrivilegeMapper 的依赖 - 定义 LTM 使用的权限:请参阅 设置用户授权
按区域用户访问控制
由于框架不支持在配置文件中使用闭包,实现从上一个版本开始已更改。现在使用权限来完成同样的工作。请参阅 启用按区域用户访问控制
默认情况下,此选项是关闭的,并且没有 ltm-admin-translations
权限的用户可以修改任何区域。启用 user_locales_enabled
选项后,您可以控制用户可以修改哪些区域。所有用户的默认值是所有区域,除非您通过 Web UI 明确更改,请参阅 用户管理 或通过适当填充 ltm_user_locales
表来实现。
屏幕截图
* 此软件包最初基于 Barry vd. Heuvel 的优秀 barryvdh 软件包。