kikwik / db-trans-bundle
symfony 5 的数据库翻译加载器,支持页面翻译编辑
v1.0.7
2024-04-25 10:50 UTC
Requires
- php: >=7.2.5
- doctrine/doctrine-bundle: ^2.0
- symfony/console: ^5.3|^6.0
- symfony/form: ^5.3|^6.0
- symfony/framework-bundle: ^5.3|^6.0
- symfony/security-bundle: ^5.3|^6.0
- symfony/translation: ^5.3|^6.0
- symfony/twig-bundle: ^5.3|^6.0
README
symfony 5 的数据库翻译加载器。
本扩展受到 creative/symfony-db-i18n-bundle 中的 andrew72ru 的工作的启发
安装
打开命令行,进入您的项目目录并执行以下命令以下载此扩展的最新稳定版本
$ composer require kikwik/db-trans-bundle
更新数据库以创建翻译表
$ php bin/console make:migration $ php bin/console doctrine:migrations:migrate
配置
创建配置文件 config/packages/kikwik_db_trans.yaml
并定义语言环境(并清除缓存)
kikwik_db_trans: locales: [ it, en ]
在 config/routes/kikwik_db_trans.yaml
中导入路由扩展
kikwik_db_trans_bundle: resource: '@KikwikDbTransBundle/Resources/config/routes.xml' prefix: '/'
运行 kikwik:db-trans:import-messages
命令以初始化数据库翻译并导入具有域名参数的现有目录中的消息
$ ./bin/console kikwik:db-trans:import-messages myDomain
在每个启用的语言环境中,在项目的翻译目录中将创建一个名为 db_myDomain.locale.db
的文件
使用方法
您可以使用这些twig翻译函数
db_trans
将显示数据库翻译。editable_db_trans
将显示数据库翻译,但- 如果用户具有
ROLE_TRANSLATOR
权限,则可以直接在页面上修改翻译(当鼠标悬停在翻译上时会出现一个图标) - 请注意,此函数将用 span 元素包围翻译的字符串。
- 如果用户具有
这两个函数的参数与 trans twig 过滤器 相同
- 消息
- 参数(可选)
- 域(可选)
- 语言环境(可选)
这两个函数将尝试添加域名前缀进行翻译,因此 {{ db_trans('some.mesage',{},'myDomain') }}
函数将在 db_myDomain
域中搜索 some.mesage
键。
如果此翻译未找到,则将回退到原始域翻译(相当于 {{ 'some.mesage'| trans({},'myDomain') }}
)