Hubspot CMS中的语言切换

时间:2019-05-13 09:40:20

标签: html hubspot hubl hubspot-cms

使自定义语言切换器进入网站的最佳方法是什么。

我的问题是,我的网站有两种语言版本,我的自定义语言切换器有点麻烦。由于某种原因,它并非在所有页面上都有效,我认为它是以非常复杂的方式进行编码的。在我们的网站上,语言版本通过url进行了更改。例如,mycompany.fi/是主要的语言版本,而mycompany.fi/en/是该网站的英语版本。这是我现在仅通过更改url即可切换语言的代码。在代码中,它检查url以及页面是否包含translation_content。之后,我将site_language和other_language设置为链接,因此通过按链接可以更改语言。

{% if absolute_url is string_containing "/en-us/" %} 
  {% set site_language = 'en'  %} 
  {% set other_language = 'fi' %}
  {% if content.translated_content['fi-fi'] %}
    {% set other_language_url = '/' + content.translated_content['fi-fi'].slug %} 
  {% elif content.translated_content['fi'] %}
    {% set other_language_url = '/' + content.translated_content['fi'].slug %} 
  {% else %}
    {% set other_language_url = '#' %} 
  {% endif %}
{% elif absolute_url is string_containing "/en/" %}
  {% set site_language = 'en'  %}
  {% set other_language = 'fi' %}
  {% if content.translated_content['fi-fi'] %}
    {% set other_language_url = '/' + content.translated_content['fi-fi'].slug %} 
  {% elif content.translated_content['fi'] %}
    {% set other_language_url = '/' + content.translated_content['fi'].slug %} 
  {% else %}
    {% set other_language_url = '#' %} 
  {% endif %}
{% else %}
  {% set site_language = 'fi' %}
  {% set other_language = 'en' %}
  {% if content.translated_content['en-us'] %}
    {% set other_language_url = '/' + content.translated_content['en-us'].slug %} 
  {% elif content.translated_content['en'] %}
    {% set other_language_url = '/' + content.translated_content['en'].slug %} 
  {% else %}
    {% set other_language_url = '#' %} 
  {% endif %}
{% endif %}

我想知道是否还有其他方法可以实现这一目标,因为对我而言,这似乎是非常复杂的解决方案。我想知道是否有一些全局变量或什么定义了页面中使用的当前语言。

0 个答案:

没有答案