zelax90 / zf-doctrine-orm-translation-loader
提供使用 doctrine ORM 的翻译加载器
Requires
This package is auto-updated.
Last update: 2024-09-20 01:44:08 UTC
README
此模块添加了一个额外的翻译加载器,该加载器使用 Doctrine ORM 存储翻译。
安装
LanguageRoute 使用 composer 进行安装。有关 composer 文档,请参阅 getcomposer.org。
composer require xelax90/zf-doctrine-orm-translation-loader
然后,将 DoctrineORMTranslationLoader
添加到您的 config/application.config.php
中,并运行 doctrine 模式更新以创建数据库表
php vendor/bin/doctrine-module orm:schema-tool:update --force
用法
此模块使用 DoctrineORMTranslationLoader\Entity\Translation
实体来存储翻译。要添加新的翻译,只需使用 Doctrine 添加新的实体或直接将它们添加到 translation
数据库表中。默认翻译器将自动使用提供的加载器,并且 translate()
函数/视图辅助函数将搜索数据库中的翻译。
翻译键不应以 __META__
开头,因为该前缀用于存储元数据。特别是使用 __META__plural_forms
会导致不希望的结果。
复数翻译
您可以通过使用 DoctrineORMTranslationLoader\Entity\Translation
实体的 translationPluralNumber 属性来存储复数翻译。为您的复数规则中的每个复数形式提供翻译,并使用翻译器的 translatePlural
函数来选择正确的形式。
元数据
您还可以为每个区域和域存储元数据(如复数形式)。每个元条目都必须有一个以 __META__
开头的翻译键,后跟元标识符。元规则不会被翻译器删除,这使得它们可以作为翻译键使用,尽管不推荐这样做。到目前为止,只有 plural_forms 标识符被解释。
DoctrineORMTranslationLoader\I18n\Translator\Loader\DoctrineEntity
类提供了元前缀和 plural_forms
标识符的常量,您可能在使用 PHP 脚本添加或读取元数据时找到它们很有用。
要存储本地和域的复数规则,请使用 __META__plural_forms
作为翻译键。有关复数规则语法的详细信息,请参阅 Zend_i18n 文档。