Foren

FreeMarker - Request local language

Mar Kus, geändert vor 6 Jahren.

FreeMarker - Request local language

New Member Beiträge: 5 Beitrittsdatum: 14.03.16 Neueste Beiträge
Does anyone know how to request the current language local the user is using like "en_US"?

I want to use this variable in a template.

Thanks in advance.

Best,
Markus
thumbnail
Nikolai Reisch, geändert vor 6 Jahren.

RE: FreeMarker - Request local language

New Member Beiträge: 14 Beitrittsdatum: 25.02.09 Neueste Beiträge
${w3c_language_id}
Mar Kus, geändert vor 6 Jahren.

RE: FreeMarker - Request local language

New Member Beiträge: 5 Beitrittsdatum: 14.03.16 Neueste Beiträge
Many thanks for your reply.

But this doesn't work for me: <a>${w3c_language_id}</a>

Do I have to assign it in a special way?
thumbnail
Nikolai Reisch, geändert vor 6 Jahren.

RE: FreeMarker - Request local language

New Member Beiträge: 14 Beitrittsdatum: 25.02.09 Neueste Beiträge
it comes from init.ftl:

<#assign language = locale.getLanguage() />
<#assign language_id = user.getLanguageId() />
<#assign w3c_language_id = localeUtil.toW3cLanguageId(theme_display.getLanguageId()) />
<#assign time_zone = user.getTimeZoneId() />
Aitor Ibañez, geändert vor 6 Jahren.

RE: FreeMarker - Request local language

New Member Beiträge: 15 Beitrittsdatum: 05.06.17 Neueste Beiträge
Hi Markus,
I have used that variable like this:

&lt;#assign langId = themeDisplay.getLanguageId() /&gt; 
&lt;#if langId == "es_ES" &gt;
		${langId}
<!--#if-->
Mar Kus, geändert vor 6 Jahren.

RE: FreeMarker - Request local language

New Member Beiträge: 5 Beitrittsdatum: 14.03.16 Neueste Beiträge
Many thanks for your replies!

Finally, that solution worked for me:
<#assign langId = request['theme-display']['language-id'] />
André Biegel, geändert vor 6 Jahren.

RE: FreeMarker - Request local language

Junior Member Beiträge: 31 Beitrittsdatum: 11.11.13 Neueste Beiträge
<#assign langId = request['theme-display']['language-id'] /> worked !
bunix nic, geändert vor 4 Jahren.

RE: FreeMarker - Request local language

New Member Beitrag: 1 Beitrittsdatum: 28.02.20 Neueste Beiträge
Special variables are variables defined by the FreeMarker engine itself. To access them, you use the .variable_name syntax.locale: Returns the current value of the locale setting. This is a string, for example en_US. For more information about locale strings see the setting directive.
So to access the current local within a Freemarker template you would use
[code]The current locale is: ${.locale}
To use it in a conditional statement as per your requirements, you would do:
[code]&lt;#if .locale == "DE"&gt;
   ...
&lt;#else&gt;
   ...
<!--#if-->
​​​​​​​[u][color=#2b4259][font="Source Sans Pro", sans-serif][size=4][b][/b][/size][/font][/color][/u]
Upsers