Drupal 8 可翻译配置
Drupal 8 translatable configuration
我正在尝试设置一个自定义模块,该模块提供来自 API.The API url 的内容是可配置的,但由于每种语言都不同,我必须能够翻译它。我按照 here 中的描述设置了我的模块配置(请参阅下面的要点)但是当我尝试从 /admin/config/regional/config-translation 访问翻译表单时,我得到 "Access denied"
我做错了什么?
https://gist.github.com/julien-maitan/ffd136bc104d3dbe2ee526367ffcb44c
首先,
您的自定义权限 configure crtib configurator
是否在 permissions.yml
文件中定义?您是否已将此权限授予您的用户?
您的 config/install 设置文件在哪里?在你的情况下你的 crtib_configurator.settings.yml
?错过了吗?
默认情况下,这些文件在 Drupal 8 中不是强制性的,但一旦我们想让您的配置可翻译,就需要这些文件。
我会向您推荐这两篇文章:
- Drupal 8 - How to translate the Config API
- Drupal 8 multilingual tidbits 16: configuration translation development
更新 - 审查 Google 驱动器文件
config
文件夹应该放在模块的 root not in src
;
crtib_configurator.links.task.yml
用错了route_namecrtib_configurator.api_settings_translate
,应该是crtib_configurator.api_settings
.
应用这 2 项更改并清除缓存,然后您将能够正确使用翻译表单。
我认为主要和初始错误是 config
文件夹位置。
目录结构:
.
+-- crtib_configurator
| +-- config
| | +-- install
| | | +-- crtib_configurator.api.yml
| | +-- schema
| | | +-- crtib_configurator.schema.yml
| +-- src
| | +-- Form
| | | +-- SettingsForm.php
| +-- crtib_configurator.config_translation.yml
| +-- crtib_configurator.info.yml
| +-- crtib_configurator.links.menu.yml
| +-- crtib_configurator.links.task.yml
| +-- crtib_configurator.permissions.yml
| +-- crtib_configurator.routing.yml
crtib_configurator.links.task.yml
的内容:
crtib_configurator.api_settings:
route_name: crtib_configurator.api_settings
title: 'CRTIB configurator settings'
base_route: crtib_configurator.api_settings
我正在尝试设置一个自定义模块,该模块提供来自 API.The API url 的内容是可配置的,但由于每种语言都不同,我必须能够翻译它。我按照 here 中的描述设置了我的模块配置(请参阅下面的要点)但是当我尝试从 /admin/config/regional/config-translation 访问翻译表单时,我得到 "Access denied"
我做错了什么?
https://gist.github.com/julien-maitan/ffd136bc104d3dbe2ee526367ffcb44c
首先,
您的自定义权限
configure crtib configurator
是否在permissions.yml
文件中定义?您是否已将此权限授予您的用户?您的 config/install 设置文件在哪里?在你的情况下你的
crtib_configurator.settings.yml
?错过了吗?
默认情况下,这些文件在 Drupal 8 中不是强制性的,但一旦我们想让您的配置可翻译,就需要这些文件。
我会向您推荐这两篇文章:
- Drupal 8 - How to translate the Config API
- Drupal 8 multilingual tidbits 16: configuration translation development
更新 - 审查 Google 驱动器文件
config
文件夹应该放在模块的 root not insrc
;crtib_configurator.links.task.yml
用错了route_namecrtib_configurator.api_settings_translate
,应该是crtib_configurator.api_settings
.
应用这 2 项更改并清除缓存,然后您将能够正确使用翻译表单。
我认为主要和初始错误是 config
文件夹位置。
目录结构:
.
+-- crtib_configurator
| +-- config
| | +-- install
| | | +-- crtib_configurator.api.yml
| | +-- schema
| | | +-- crtib_configurator.schema.yml
| +-- src
| | +-- Form
| | | +-- SettingsForm.php
| +-- crtib_configurator.config_translation.yml
| +-- crtib_configurator.info.yml
| +-- crtib_configurator.links.menu.yml
| +-- crtib_configurator.links.task.yml
| +-- crtib_configurator.permissions.yml
| +-- crtib_configurator.routing.yml
crtib_configurator.links.task.yml
的内容:
crtib_configurator.api_settings:
route_name: crtib_configurator.api_settings
title: 'CRTIB configurator settings'
base_route: crtib_configurator.api_settings