Registry locations

HKCU\Software\Microsoft\Communicator\Language

Allowed registry values

An integer value corresponding to the desired language (see below for a complete list of allowed values)

Registry value type

REG_DWORD

Default setting

Varies based on your initial installation settings

 

Microsoft Lync isn’t just another pretty face; far from it. Instead, Microsoft Lync has brains as well as beauty; for example, if you install the Multilingual User Interface Package you’ll discover that Microsoft Lync can speak 38 different languages – fluently.

 

What does that mean? Well, suppose you’ve installed the English language version of Microsoft Lync. In that case, you have the option to select one, and only one, language for the user interface: English. As a result, your copy of Lync will look something like this:

 

 

Now, suppose you install the Multilingual User Interface Package. Like magic, you’ll suddenly be able to select any one of 37 other user interface languages in addition to English. For example, suppose you select Dutch. Now your copy of Microsoft Lync will look like this:

 

 

And then suppose you decide to switch to Japanese; in that case, Lync will look like this:

 

 

Etc., etc.

 

Switching languages is remarkably easy in Microsoft Lync. If you happen to find yourself in the Options dialog box you can simply click on the General tab and then choose the appropriate item from the Lync language dropdown list:

 

 

 

Alternatively, you can modify the HKCU\SOFTWARE\Microsoft\Communicator\Language value in the registry (something you can do by using a Windows PowerShell script). To do that, simply locate the desired language in the table below, and then set Language to the corresponding numeric value:

 

Language

Numeric value

Arabic

1025

Bulgarian

1026

Catalan

1027

Chinese - Simplified

2052

Chinese - Traditional

1028

Chinese Hong Kong

3076

Croatian

1050

Czech

1029

Danish

1030

Dutch

1043

English

1033

Estonian

1061

Finnish

1035

French

1036

German

1031

Greek

1032

Hebrew

1037

Hindi

1081

Hungarian

1038

Italian

1040

Japanese

1041

Korean

1042

Latvian

1062

Lithuanian

1063

Norwegian

1044

Polish

1045

Portuguese (Portugal)

2070

Portuguese (Brazil)

1046

Romanian

1048

Russian

1049

Serbian

2074

Slovak

1051

Slovenian

1060

Spanish

3082

Swedish

1053

Thai

1054

Turkish

1055

Ukrainian

1058

 

Note. Would you ever even want to change the Lync language by modifying the registry? Well, maybe. For example, suppose you're trying to help a user who has inherited a computer where Lync was previously set to Japanese. Rather than trying to walk them through changing the language, you could simply run a script that would change the language for them. All in all, that would probably prove to be much quicker and much easier than trying to walk a user who speaks only English through a user interface written in Japanese.

 

Before we do anything else, let's show you how to use a script to identify the current Lync language. The following PowerShell script retrieves the current value of the Language registry value on the local computer. If you'd prefer to retrieve this value from a remote computer, simply set the value of the variable $computer to the name of that remote computer. For example:

 

$computer = "atl-ws-001.litwareinc.com"

 

Here's the script for retrieving the Lync language:

 

$computer = "."

 

$registry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("CurrentUser", $computer)

$key = $registry.OpenSubKey("SOFTWARE\Microsoft\Communicator", $True)

 

$value =$key.GetValue("Language",$null)

switch ($value) {

    1025 {$value = "Arabic "}

    1026 {$value = "Bulgarian "}

    1027 {$value = "Catalan "}

    2052 {$value = "Chinese - Simplified "}

    1028 {$value = "Chinese - Traditional "}

    3076 {$value = "Chinese Hong Kong "}

    1050 {$value = "Croatian "}

    1029 {$value = "Czech "}

    1030 {$value = "Danish "}

    1043 {$value = "Dutch "}

    1033 {$value = "English "}

    1061 {$value = "Estonian "}

    1035 {$value = "Finnish "}

    1036 {$value = "French "}

    1031 {$value = "German "}

    1032 {$value = "Greek "}

    1037 {$value = "Hebrew "}

    1081 {$value = "Hindi "}

    1038 {$value = "Hungarian "}

    1040 {$value = "Italian "}

    1041 {$value = "Japanese "}

    1042 {$value = "Korean "}

    1062 {$value = "Latvian "}

    1063 {$value = "Lithuanian "}

    1044 {$value = "Norwegian "}

    1045 {$value = "Polish "}

    2070 {$value = "Portuguese (Portugal) "}

    1046 {$value = "Portuguese (Brazil) "}

    1048 {$value = "Romanian "}

    1049 {$value = "Russian "}

    2074 {$value = "Serbian "}

    1051 {$value = "Slovak "}

    1060 {$value = "Slovenian "}

    3082 {$value = "Spanish "}

    1053 {$value = "Swedish "}

    1054 {$value = "Thai "}

    1055 {$value = "Turkish "}

    1058 {$value = "Ukrainian"}

}

 

Write-Host "Lync Language: $value"

 

By the way, this script works even if you're not running the Multilingual User Interface Package. In that case, the current Lync language will still be stored in the registry; you just won't be able to change that language.

 

Speaking of which, here's a script that does that very thing: it changes the value of the Language registry value. In this example, the script sets the Lync user interface language to Finnish (1035):

 

$computer = "."

 

$registry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("CurrentUser", $computer)

$key = $registry.OpenSubKey("SOFTWARE\Microsoft\Communicator", $True)

 

$key.SetValue("Language",1035,"DWORD")