【问题标题】:How to translate native SiteConfig with silverstripe-fluent如何使用 silverstripe-fluent 翻译本机 SiteConfig
【发布时间】:2018-10-04 15:09:03
【问题描述】:

我正在使用带有 silverstripe-fluent 模块的 silverstripe 4。我无法翻译本机 SiteConfig(网站名称和标语/口号)怎么办?

感谢您的帮助!

奥雷利安

【问题讨论】:

  • 请向我们展示您的尝试:)
  • @Jones1220:我刚刚将我的 DataExtension 写为documentation 写。但我找不到方法告诉 fluent 翻译这些字段(FooterContentSiteNameSlogan

标签: config silverstripe fluent silverstripe-4


【解决方案1】:

我遇到了同样的问题。仅翻译特定变量。

模拟解决了:

YML (config.yml)

SilverStripe\SiteConfig\SiteConfig:
  extensions:
  - Pixelparker\Extensions\SiteConfigExtension
  - TractorCow\Fluent\Extension\FluentExtension

SiteConfigExtension.php

private static $translate = [
    'CookieMessage'
];

就是这样。

【讨论】:

    【解决方案2】:

    解决了!
    Silverstripe\SiteConfig\SiteConfig 中添加TractorCow\Fluent\Extension\FluentExtension

    ---
    Name: myproject
    ---
    SilverStripe\Core\Manifest\ModuleManifest:
      project: app
    Silverstripe\SiteConfig\SiteConfig:
      extensions:
        - TractorCow\Fluent\Extension\FluentExtension
        - CustomSiteConfig
    

    并在您的配置扩展类中扩展 FluentExtension 而不是 DataExtension

    use SilverStripe\Forms\FieldList;
    use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
    use TractorCow\Fluent\Extension\FluentExtension;
    
    
    class CustomSiteConfig extends FluentExtension
    {
    
        private static $db = [
            'FooterContent' => 'HTMLText'
        ];
    
        public function updateCMSFields(FieldList $fields)
        {
            $fields->addFieldToTab("Root.Main",
                new HTMLEditorField("FooterContent", "Footer Content")
            );
            parent::updateCMSFields($fields);
        }
    }
    

    【讨论】:

      【解决方案3】:

      如果您只想翻译 SiteConfig 的默认 TitleTagline DB 字段,那么您可以应用 Fluent 扩展并在 .yml 配置文件中定义要翻译的 DB 字段,例如这个:

      SilverStripe\SiteConfig\SiteConfig:
        extensions:
          - TractorCow\Fluent\Extension\FluentExtension
        translate:
          - Title
          - Tagline
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多