bestit/contentful-translation-bundle
Composer 安装命令:
composer require bestit/contentful-translation-bundle
包简介
A Translation bundle for loading messages from contentful
README 文档
README
A Translation bundle for loading messages from contentful
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require bestit/contentful-translation-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new BestIt\ContentfulTranslationBundle\BestItContentfulTranslationBundle(), ); // ... } // ... }
Step 3: Configure the Bundle
Simple configuration. Here a yaml example:
# 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'
Step 4: Configure contentful
You need a translation content type in your contentful space. Just create one and set the field id in your config mapping (see above). The content type need three fields: key, value and domain. You can use a localized field as value.
Example configuration as 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": {
//...
}
}
Step 5: Use translations
The symfony translator expects a translation file. So you have to create a 'contentful' translation file -
as you already know it through yml, xml or xliff: /Resources/translations/messages.de.contentful
The filename defines the domain and locale as usual in Symfony. The file content can remain empty - the translations are fetched via contentful.
Please note that Symfony cache the translations. So you have to clear the cache after changes in Contentful.
bestit/contentful-translation-bundle 适用场景与选型建议
bestit/contentful-translation-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 40 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 11 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 bestit/contentful-translation-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bestit/contentful-translation-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-11-16