Lync Language
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")