0

I am working on building dnn9 multilingual site. I put language selection dropdown in theme.

To show dropdown in theme I am using this code:

<% if Localization.ActiveLanguagesByPortalID(PortalSettings.PortalId) >  1 Then %>              
   <dnn:LANGUAGE runat="server" ID="LANGUAGE1" ShowMenu="True" ShowLinks="False" />                     
<% End If %>

Now it shows long language names, like that: English (United States). How can I make it show 3 latter language name, like ENG, instead?

Michael Tobisch
  • 1,034
  • 6
  • 15
  • I figured out solution: <% if Localization.ActiveLanguagesByPortalID(PortalSettings.PortalId) > 1 Then %> <% End If %> And then I've hidden language flags with css. – Manana Gedevanishvili Aug 27 '19 at 12:39

1 Answers1

0

I use the following:

<dnn:LANGUAGE runat="server"
   ID="dnnLanguage"
   ShowLinks="True"
   ShowMenu="False"
   ItemTemplate='<a href="[URL]" title="[CULTURE:NATIVENAME]"><span class="Language" style="text-transform: uppercase;">[CULTURE:THREELETTERISOCODE]</span></a>'
   AlternateTemplate='<a href="[URL]" title="[CULTURE:NATIVENAME]"><span class="Language" style="text-transform: uppercase;">[CULTURE:THREELETTERISOCODE]</span></a>'
   SelectedItemTemplate='<span class="Language selected" title="[CULTURE:NATIVENAME]" style="text-transform: uppercase;">[CULTURE:THREELETTERISOCODE]</span>'
/>

That displays links with the three letter ISO-Code, and a popup with the native name when hovering over them.

There is no need to check whether there is only one language or more, as the skin object is hidden automatically when only one languge is activated, or the current page is not translated (or the translations are not published) yet.

Michael Tobisch
  • 1,034
  • 6
  • 15