bestit / contentful-translation-bundle
用于从contentful加载信息的翻译包
0.1.0
2017-11-16 19:47 UTC
Requires
- php: ^7.0
- contentful/contentful: ^1.0|^2.0
- symfony/symfony: ^3.1
Requires (Dev)
- phing/phing: ^2.16
- phploc/phploc: ^3.0
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^5.5
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^2.8
This package is auto-updated.
Last update: 2024-08-29 04:41:30 UTC
README
用于从contentful加载信息的翻译包
步骤 1: 下载包
打开命令控制台,进入您的项目目录并执行以下命令以下载此包的最新稳定版本
$ composer require bestit/contentful-translation-bundle
此命令需要您全局安装了Composer,请参考Composer文档中的安装章节。
步骤 2: 启用包
然后,将包添加到项目app/AppKernel.php
文件中注册的包列表中,以启用该包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new BestIt\ContentfulTranslationBundle\BestItContentfulTranslationBundle(), ); // ... } // ... }
步骤 3: 配置包
简单配置。以下是一个yaml示例
# config.yml best_it_contentful_translation: # Contentful client service ... expect an Client from offical contentful sdk contentful_client_id: 'contentful.delivery.translation_client' # Required # Contentful mapping (all optional) contentful_mapping: # Contentful content type id (default: translation) content_type: 'translation' # Contentful field id for the message key (default: translation_key) translation_key: 'translation_key' # Contentful field id for the message value (default: translation_value) translation_value: 'translation_value' # Contentful field id for the message domain (default: translation_domain) translation_domain: 'translation_domain'
步骤 4: 配置contentful
您需要在contentful空间中有一个翻译内容类型。只需创建一个,并在您的配置映射中设置字段id(见上方)。内容类型需要三个字段:key、value和domain。您可以使用本地化字段作为value。
以下是一个json示例配置
{ "name": "Übersetzung", "description": "", "displayField": "translation_key", "fields": [ { "id": "translation_key", "name": "Schlüssel", "type": "Symbol", "localized": false, "required": true, "validations": [ { "unique": true } ], "disabled": false, "omitted": false }, { "id": "translation_value", "name": "Text", "type": "Symbol", "localized": true, "required": false, "validations": [], "disabled": false, "omitted": false }, { "id": "translation_domain", "name": "Domain", "type": "Symbol", "localized": false, "required": false, "validations": [], "disabled": false, "omitted": false } ], "sys": { //... } }
步骤 5: 使用翻译
symfony翻译器期望一个翻译文件。因此,您必须创建一个'contentful'翻译文件 - 就像您已经通过yml、xml或xliff所知道的那样:/Resources/translations/messages.de.contentful
文件名定义了域名和区域设置,就像在Symfony中一样。文件内容可以保持为空 - 翻译通过contentful获取。
请注意,symfony缓存翻译。因此,在Contentful中进行更改后,您必须清除缓存。