为网站制作自定义语言切换器的最佳方法是什么。
我的问题是我有一个有两种语言版本的网站,我想说的是我的自定义语言切换器有点问题。由于某种原因,它并不适用于所有页面,在我看来,它是以非常复杂的方式编码的。在我们的网站中,语言版本是通过 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 %}
我想知道有没有其他方法可以实现这一点,因为对我来说这似乎是非常复杂的解决方案。我想知道是否有一些全局变量或定义页面中当前使用的语言的东西。