0

On Drupal 8.7.10

How can I get the user's current language code into Views as a raw value, such as 'en' or 'fr-ca'?

This is not for filtering content. I need the raw value of the users' current language to pass into a url for a third-party tool.

I added a custom text field. Then placed in some twig code. The code is just failing to the fallback 'else' value.

Based on other posts, I've tried it these three ways:

{% if language.getId() == 'en' %}
en
{% elseif language.getId() == 'es-us' %}
es-us
{% elseif language.getId() == 'en-us' %}
en-us
{% else %}
failed
{% endif %}

I'm getting 'failed'

{% if language == 'en' %} 
en
{% elseif language == 'es-us' %}
es-us
{% elseif language == 'en-us' %}
en-us
{% else %}
failed
{% endif %}

still get 'failed'

{% if language.id() == 'en' %}
en
{% elseif language.id() == 'es-us' %}
es-us
{% elseif language.id() == 'en-us' %}
en-us
{% else %}
failed
{% endif %}

.... and, still, 'failed'.

0

I would suggest adding a custom text field then add the language value as a field. this way you will have the language as a replacement pattern that you can use with any custom link field which would be something like {{ language }}

You need to checkout the style settings of to use the custom link option.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.