sebrogala / xsv-translate
Zend Expressive 翻译模块
3.0.0
2018-07-23 07:08 UTC
Requires
- sebrogala/xsv-doctrine: ^3.1
This package is not auto-updated.
Last update: 2024-09-25 15:54:26 UTC
README
本模块是为了使用 Doctrine2 进行数据库导向的资源翻译而制作的。然而,扩展翻译器以使用自己的适配器非常简单。
安装(位于项目根目录)
composer require sebrogala/xsv-translate^3.0 cp vendor/sebrogala/xsv-translate/data/xsv-translate-config.global.php.dist config/autoload/xsv-translate-config.global.php
- 在
config/config.php中启用模块,添加Xsv\Translate\ConfigProvider::class, - 在
config/pipeline.php中在DispatchMiddleware之前添加管道中间件
/* ... */ $app->pipe(\Xsv\Translate\App\Middleware\TranslatorConfigMiddleware::class); $app->pipe(DispatchMiddleware::class); /* ... */
- 根据需要更改配置文件
vendor/bin/doctrine orm:schema-tool:update --force
用法
- 尚未完成,目前只有简单的示例
识别要使用哪种语言
- 通过自定义头提供区域代码
X-Preferable-Locale locale_CODE
添加翻译
//adding translation interface public static function addTranslation($resourceName, $resourceId, Locale $locale, $content)
use Xsv\Translate\Translator\Translator; /* ... */ Translator::addTranslation("resource.name", "id", new Locale("pl_PL"), "TranslationToPolish");
位置
- "resource.name" 是自行定义的,可以是 "user.username" - 它关于单个字段。
- "id" 是行的唯一标识符(目前基于 uuid)
翻译资源
//translating interface public static function translate(string $resourceName, string $resourceId, $defaultTranslationContent = "")
use Xsv\Translate\Translator\Translator; /* ... */ return new JsonResponse( [ "userName" => Translator::translate("user.name", $user->getId(), $user->getUserName()) ] );
待办事项
- 删除单个翻译
- 删除选定 ID 的所有翻译
- 提供更好的示例