kikwik/db-trans-bundle

symfony 5 的数据库翻译加载器,支持页面翻译编辑

安装: 32

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.7 2024-04-25 10:50 UTC

This package is auto-updated.

Last update: 2024-09-25 11:42:52 UTC


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') }}