5

为网站制作自定义语言切换器的最佳方法是什么。

我的问题是我有一个有两种语言版本的网站,我想说的是我的自定义语言切换器有点问题。由于某种原因,它并不适用于所有页面,在我看来,它是以非常复杂的方式编码的。在我们的网站中,语言版本是通过 url 更改的。例如,mycompany.fi/ 是主要语言版本,mycompany.fi/en/ 是网站的英文版本。这是我当前如何通过更改 url 来切换语言的代码。在代码中,它会检查 url 以及页面是否有 translate_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 %}

我想知道有没有其他方法可以实现这一点,因为对我来说这似乎是非常复杂的解决方案。我想知道是否有一些全局变量或定义页面中当前使用的语言的东西。

4

0 回答 0