Jump to content

Multilingual User Interface

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Stevebroshar (talk | contribs) at 15:54, 6 July 2022 (Mention FormatMessage). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Comparison of Windows Vista Ultimate Start Menu interface with an English MUI applied in the left image, and a Traditional Chinese MUI applied in the right.

Multilingual User Interface (MUI) is a Microsoft technology used for Microsoft Windows, Microsoft Office and other applications that allows and supports storing localized user interface resources in files separate from the application logic files. This design simplifies and enhances application development and deployment processes in order to meet the user's need for localized user interface.

The design of MUI attempts to provide a common way to store application localization information that alleviates limitations of more traditional and monolithic designs for localization such as including all languages in the application logic files (i.e. resources). With MUI, the following deployment scenarios are possible:

  • Add support for a language by installing only languages files -- without modifying application logic or other language files
  • Add new features and fix bugs by installing only application logic files -- without modifying the installed language files

On a system with MUI, each user is able to select their preferred display language.

Overview

The MUI technology is integrated into the Windows OS and can be leveraged in an application by storing localizable assets as resources in a prescribed way and using MUI-enabled win32 functions to read the resources.

A typical scenario is relatively simple: application string resources are stored in a file per language and win32 function LoadString is used to load them at runtime. No other MUI related configuration or functionality is required.

Optionally, an application can use dedicated MUI functions to provide more control of localizable asset consumption.

Optionally, localizable assets can be stored in a format other than resource which, by the way, requires using various dedicated MUI functions.

Terminology

The following MUI related terms are either used in or derived from the Microsoft documentation.

Language-neutral (LN): Describes something that conveys a meaning regardless of the languages of the viewer, such as an image without text or other localizable aspects

LN resource: a resource that is shared by and installed for all language versions of the application

LN file: Windows binary containing the application logic and language-neutral resources

Language-specific (LS): Describes something that has significantly different meaning based on the languages of the viewer. The most common LS items are interface strings but can be other items such as an image with text in it

LS resource file: A set of resources localized for one language; a.k.a. MUI file

Language Preferences

A language selection is stored by the system for the system (shared by all users and maybe used as default for a new user) and for each user. These selections can be modified by the user via the system Control Panel but cannot be modified by an application.

These preferences control the language that the OS for UI elements and applications can use these preferences too. But this use is optional and customizable. An application may not leverage the language preferences at all; may not participate in the benefits provided by MUI. Or it may, but with different or additional controls on which languages are used.

An application can use MUI functions to read language preferences -- that default to the user selection [assumed] and are a list of languages in preference order. These preferences are provided at the system, user, process and thread levels [assumed that changing at a higher level modifies the preferences for lower levels].

An application can modify these language preference lists in order to influence the behavior of LoadString. For example:

std::string languageIdSpec = "en-US";
languageIdSpec.push_back('\0'); // must be double-null terminated
ULONG langCount = 1;
if (!::SetThreadPreferredUILanguages(MUI_LANGUAGE_NAME, languageIdSpec.c_str(), &langCount))
    throw std::runtime_error("Unable to set thread preferred UI language.");

Resource Storage

MUI provides support for localized resources stored in Windows binary (a.k.a. Win32 PE) files (DLL, EXE, SYS) -- usually DLL files. MUI does support any other file format, such as XML, JSON or flat text file, but that requires more integration.

For MUI to find resources based on the configured language preferences, a MUI file much be in the same directory as its associated LN file and be named the same as the LN file plus ".LCID.mui". For example, for LN file my-lib.dll, the MUI file for en-US would be named my-lib.dll.0409.mui.

String resources are coded as string table like so:

LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
1 L"message text"
END

Resource Retrieval

The win32 function LoadString attempts to read a resource for a language as selected by global language preferences, from MUI files (co-located with LN file and following naming convention).

LoadString uses the global language preferences to choose a language that is available. If loading the resource for the first preferred language fails either because the MUI file does not exist or the resource does not exist in the MUI file, LoadString will try the next preferred language and so on until all preferences have been tried. If load fails for all preferred languages, then tries the LN file.

wchar_t* resourceCharArray;
int resourceLength = ::LoadStringW(_moduleHandle, resourceId, (LPWSTR)&resourceCharArray, 0);
if (!resourceLength)
    throw std::runtime_error("Unable to find resource.");
std::wstring text;
text.append(resourceCharArray, resourceLength);

This retrieves the address of the resource text character buffer which is not guaranteed to be null terminated. Then, this copies the characters to a std::string and its c_str() method is guaranteed to be null terminated. Therefore, there is no need to append a null. Another option is to have LoadString copy the string to a passed buffer, but that requires using a fixed-length buffer which has downsides like usually allocating more than needed or truncation if too short.

Oddly, MS documentation for LoadString does not mention its interaction with MUI and language preference.

The win32 FormatMessage function is also MUI-enabled. Like LoadString, the function reference page does not mention its interaction with MUI and language preference. But the function is mentioned in the MUI reference.

Implementing

Microsoft provides information on implementing MUI in an application. Although not terse, it lacks clarity, significant important details and example code.

MUI is an open technology. It can be implemented in an application that is targeted for a version of Windows that supports the technology. It is not a private technology only available to Microsoft for their products.

Basic tasks to support/implement MUI:

  • Use LoadString in the application code to read resources; it uses user preference, system settings to read resources that are in the language that is most preferred by the user based on availability
  • Author resource source code (RC) for each language; recommended to store each language in a separate RC file

The basic steps imply storing all languages in the resources of the application binary -- which means it is not language neutral. This structure provides all runtime localization benefits of MUI but does not allow for deployment flexibility that MUI enables. In order to take advantage of the deployment flexibility:

  • Configure the application binary project to exclude all LS resources -- making it the LN file
  • Configure project(s) to build each language to a resource DLL; named the same as the LN file + "LCID.mui" -- MUI files
  • Deploy/install MUI files in same directory as the LN file

According to Microsoft documentation, MUI supports storing localized assets in formats other than resource but provides little guidance on how to implement this option.

Advantages over Localized Version

The MUI technology was developed in response and as an improvement to localized versions -- an older technology for globalizing and deploying software packages. This section describes the differences and advantages of MUI over localized versions.

Windows localized via a MUI pack achieves the same goal as a localized version, but there are key differences. While both display menus and dialogs in the targeted language, only a localized version uses translated file and folder names. [what does this mean? some special folders are localizable (Documents, Downloads, ...) but a user created file/folder is not localizable (by the OS). Doesn't a language pack localize the special folder names? What else could it do?]

A localized version of Windows translates the base operating system, as well as all included programs [what programs?], including file and folder names [so it does localize file/folder names. this contradicts above], objects names [what's an object?], strings in registry [really? what strings?], and any other internal strings used by Windows into a particular language. Localized versions of Windows support upgrading from a previous localized version and user interface resources are completely localized, which is not the case for MUI versions of a product. [what is not the case for MUI?]

A MUI version does not contain translated administrative functions such as registry entries [registry entries are functions?] and items in Microsoft Management Console.

One advantage of a MUI version is that each user of a computer can use a different language.[1] For a localized version of the OS, this is not possible. It may be possible for localized applications but requires installing multiple versions; one for each language, and this may lead to application storage space and side-by-side installation issues. With MUI, the single version supports multiple languages, and the OS and applications use the user's preferred language. Further, the same OS can host an application that uses any of the application's supported languages which may be different than the OS selected language and even a language that's not supported by the OS.

History

MUI was introduced with Windows 2000 and is supported in each subsequent Windows release.

Windows 2000 and Windows XP

MUI products for these versions were available only through volume agreements from Microsoft. They were not available through retail channels. However, some OEMs distributed the product.

Languages in Windows XP

Up to Windows XP, MUI packs for a product are applied on top of an English version to provide a localized user experience. There are a total of 5 sets of MUI packs.

Set 1
  • German
  • French
  • Japanese
  • Korean
  • Chinese (Simplified)
  • Chinese (Traditional)
Set 2
  • Arabic
  • Hebrew
  • Spanish
  • Italian
  • Swedish
  • Dutch
  • Portuguese (Brazil)
Set 3
  • Norwegian
  • Danish
  • Finnish
  • Russian
  • Czech
Set 4
  • Polish
  • Hungarian
  • Portuguese (Portugal)
  • Turkish
  • Greek
Set 5
  • Bulgarian
  • Estonian
  • Croatian
  • Latvian
  • Lithuanian
  • Romanian
  • Slovak
  • Slovenian
  • Thai

Windows Vista

Windows Vista enhanced MUI technology to separate the English resources from the application logic binary files. The application logic files are now language-neutral a.k.a. language-independent. In other words, the application logic files are no longer English-centric. This separation allows for changing languages completely without changing the core binaries of Windows, and to have multiple languages installed using the same application logic binaries. Languages are applied as language packs containing the resources required to localize part of or the entire user interface in Windows Vista.

MUI packs are available to Windows Vista Enterprise users and as an Ultimate Extras to Windows Vista Ultimate users.

Beginning with Windows Vista, the set of associated MUI APIs are also made available to developers for application development. [This allows anyone to use the MUI technology?]

At launch, the following 16 language packs were released:

  • Danish
  • German
  • English
  • Spanish
  • French
  • Italian
  • Dutch
  • Norwegian
  • Portuguese (Brazil)
  • Finnish
  • Swedish
  • Russian
  • Korean
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Japanese

On October 23, 2007, the remaining 19 language packs were released:

  • Czech
  • Estonian
  • Croatian
  • Latvian
  • Lithuanian
  • Hungarian
  • Polish
  • Portuguese (Portugal)
  • Romanian
  • Slovak
  • Slovenian
  • Serbian
  • Turkish
  • Greek
  • Bulgarian
  • Ukrainian
  • Hebrew
  • Arabic
  • Thai

Windows 7

MUI is available to Windows 7 Enterprise and Ultimate edition users.

Beginning with Windows 7, Microsoft started referring to a "MUI pack" as a "Language Pack"; not to be confused with a Language Interface Pack (LIP).[2]

Windows 8/8.1/RT

Beginning with Windows 8/RT, most editions of Windows are able to download and install all Language Packs,[3] with a few exceptions:

  • In Single Language editions of Windows, only one language pack is allowed to be installed, [4] the same behavior as editions of Windows 7 and earlier that are not Enterprise or Ultimate.
  • In OEM editions of Windows, the exact language packs that are preinstalled/available for download depend on the device manufacturer and country/region of purchase (and the mobile operator for devices with cellular connectivity). This is a mixture of a local-market feature and a feature for everyone everywhere. There may be multiple display languages preinstalled on the device by the manufacturer and/or wireless carrier, but each manufacturer and/or wireless carrier installs two different sets of languages: one set of preloaded languages and one set of languages that can be installed by the end user. This rule is currently used in Windows Phones as of Windows Phone 7[5] and PCs as of Windows 8 (since Windows 8 and Windows Phone 8 share the same Windows NT kernel) and was later dropped in Windows 10 version 1803, but was later quietly reinstated as of Windows 10 version 1809. An end user could install a retail license on top of an OEM license by performing a clean install through the Media Creation Tool to circumvent the region locking and install any display language that they want.
    • The Windows update process does not affect the currently installed display languages in any way, but it may give the end user access to newly released language packs made available by the OEM (PCs only). However, when installing a new feature update, it may change the display language back to the one set during the initial setup process. For example, if the Samsung ATIV Smart PC on AT&T is upgraded from Windows 8.1 to Windows 10 Anniversary Update (not necessarily done in one go), it will now be able to install Portuguese (Brazil), Vietnamese, Chinese (Simplified and Traditional), and Japanese in addition to English, Spanish, French, German, Italian, and Korean (the last three languages can be downloaded by the end user at the time of its launch), just like with the Galaxy S8 series and the Verizon-based Galaxy Book.
    • On the other hand, a Samsung Galaxy Book device does not support Afrikaans as a display language, because Samsung apps do not officially support Afrikaans.[6] Furthermore, cellular variants of the Galaxy Book laptops sold in North America support fewer display languages than their Wi-Fi-only counterparts, just like on their smartphones.
    • Certain language packs like English (Australia) and English (Canada) are only supported on the Xbox consoles and the Surface Duo.
    • Some LIP packs require certain MUI packs (base languages) to be present or compatible.[7] If that base language is not present or compatible, then that LIP cannot be installed on that device.

Windows 10

Beginning with Windows 10 version 1803, Microsoft started using the term "Local Experience Pack" (LXP) in some places [store?] instead of the older term "Language Pack", but they work the same way.[8] In addition to installing via Windows Settings, these 110 LXPs are also available through the Microsoft Store (app and web); the latter enabling remote installation for consumer editions of Windows.[9] As with all applications from the Microsoft Store, only the LXPs that are compatible with that Windows device are shown in the Microsoft Store app.

An LXP is updated through the Microsoft Store; outside of the normal Windows update cycle.[10]

Supported languages

Supported languages by OS version is as follows:

PC

MUI Language Packs by Windows version
Language English name 2000 XP Vista 7.0 7.1 8.0 8.1 10 11
العربية Arabic Yes Yes Yes Yes Yes Yes Yes Yes Yes
Български Bulgarian LIP Yes Yes Yes Yes Yes Yes Yes Yes
Català Catalan (Spain) LIP LIP LIP LIP LIP LIP LIP LIP Yes
Čeština Czech Yes Yes Yes Yes Yes Yes Yes Yes Yes
Dansk Danish Yes Yes Yes Yes Yes Yes Yes Yes Yes
Deutsch German Yes Yes Yes Yes Yes Yes Yes Yes Yes
Ελληνικά Greek Yes Yes Yes Yes Yes Yes Yes Yes Yes
English (United Kingdom) English (United Kingdom) No No No No No Yes Yes Yes Yes
English (United States) English (United States) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Español (España) Spanish (Spain) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Español (México) Spanish (Mexico) No No No No No No No Yes Yes
Eesti Estonian LIP Yes Yes Yes Yes Yes Yes Yes Yes
Euskara Basque LIP LIP LIP LIP LIP LIP LIP LIP Yes
Suomi Finnish Yes Yes Yes Yes Yes Yes Yes Yes Yes
Français (Canada) French (Canada) No No No No No No No Yes Yes
Français (France) French (France) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Galego Galician LIP LIP LIP LIP LIP LIP LIP LIP Yes
עברית Hebrew Yes Yes Yes Yes Yes Yes Yes Yes Yes
Hrvatski Croatian LIP Yes Yes Yes Yes Yes Yes Yes Yes
Magyar Hungarian Yes Yes Yes Yes Yes Yes Yes Yes Yes
Indonesia Indonesian LIP LIP LIP LIP LIP LIP LIP LIP Yes
Italiano Italian Yes Yes Yes Yes Yes Yes Yes Yes Yes
日本語 Japanese Yes Yes Yes Yes Yes Yes Yes Yes Yes
한국어 Korean Yes Yes Yes Yes Yes Yes Yes Yes Yes
Lietuvių Lithuanian LIP Yes Yes Yes Yes Yes Yes Yes Yes
Latviešu Latvian LIP Yes Yes Yes Yes Yes Yes Yes Yes
Norsk bokmål Norwegian Bokmål Yes Yes Yes Yes Yes Yes Yes Yes Yes
Nederlands Dutch Yes Yes Yes Yes Yes Yes Yes Yes Yes
Polski Polish Yes Yes Yes Yes Yes Yes Yes Yes Yes
Português (Brasil) Portuguese (Brazil) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Português (Portugal) Portuguese (Portugal) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Română Romanian LIP Yes Yes Yes Yes Yes Yes Yes Yes
Русский Russian Yes Yes Yes Yes Yes Yes Yes Yes Yes
Slovenčina Slovak LIP Yes Yes Yes Yes Yes Yes Yes Yes
Slovenščina Slovenian No Yes Yes Yes Yes Yes Yes Yes Yes
Srpski Serbian (Latin) LIP LIP Yes Yes Yes Yes Yes Yes Yes
Svenska Swedish Yes Yes Yes Yes Yes Yes Yes Yes Yes
ไทย Thai LIP Yes Yes Yes Yes Yes Yes Yes Yes
Türkçe Turkish Yes Yes Yes Yes Yes Yes Yes Yes Yes
Українська Ukrainian LIP LIP Yes Yes Yes Yes Yes Yes Yes
Tiếng Việt Vietnamese LIP LIP LIP LIP LIP LIP LIP LIP Yes
中文 (简体) Chinese (Simplified) Yes Yes Yes Yes Yes Yes Yes Yes Yes
中文 (香港特別行政區) Chinese (Hong Kong) Yes Yes Yes Yes Yes Yes Yes Yes Yes
中文 (繁體) Chinese (Traditional) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Language Interface Packs by Windows version
Language English name Base language required 2000 XP Vista 7.0 7.1 8.0 8.1 10 11
Afrikaans Afrikaans English Yes Yes Yes Yes Yes Yes Yes Yes Yes
አማርኛ Amharic English Yes Yes
অসমীয়া Assamese English Yes Yes
Azərbaycan Azerbaijani English Yes Yes Yes
Беларуская Belarusian Russian Yes Yes Yes Yes Yes Yes Yes Yes
বাংলা (বাংলাদেশ) Bangla (Bangladesh) English Yes Yes
বাংলা (ভারত) Bangla (India) English Yes Yes Yes
Босански Bosnian (Cyrillic) Russian Yes Yes
Bosanski Bosnian (Latin) English Yes Yes Yes
Català Catalan (Spain) English Yes Yes Yes Yes Yes Yes Yes Yes MUI
Valencià Catalan (Spain, Valencian) Spanish
ᏣᎳᎩ Cherokee English
Cymraeg Welsh English Yes Yes Yes
Euskara Basque Spanish Yes Yes Yes Yes Yes Yes Yes Yes MUI
فارسى Persian (Iran) English Yes Yes Yes Yes Yes Yes Yes Yes Yes
Filipino Filipino English Yes Yes
Gaeilge Irish English Yes Yes
Gàidhlig Scottish Gaelic English
Galego Galician Spanish Yes Yes MUI
ગુજરાતી Gujarati English Yes Yes
Hausa Hausa English Yes
हिन्दी Hindi English Yes Yes
Հայերեն Armenian English Yes Yes
Indonesia Indonesian English Yes Yes MUI
Igbo Igbo English Yes
Íslenska Icelandic English Yes Yes Yes Yes Yes Yes Yes Yes Yes
ᐃᓄᒃᑎᑐᑦ Inuktitut English Yes Yes
ქართული Georgian English Yes Yes
Қазақ тілі Kazakh English Yes Yes
ខ្មែរ Khmer English Yes
ಕನ್ನಡ Kannada English Yes Yes
कोंकणी Konkani English Yes Yes
کوردیی ناوەڕاست Central Kurdish English
Кыргызча Kyrgyz Russian Yes
Lëtzebuergesch Luxembourgish French Yes Yes
ລາວ Lao ???
Te reo Māori Maori English Yes Yes
Македонски Macedonian English Yes Yes
മലയാളം Malayalam English Yes Yes
Монгол Mongolian English
मराठी Marathi English Yes Yes
Melayu (Brunei) Malay (Brunei) English Yes
Melayu (Malaysia) Malay (Malaysia) English Yes Yes
Malti Maltese English Yes Yes
नेपाली Nepali English Yes Yes
Norsk nynorsk Norwegian Nynorsk Norwegian Bokmål Yes Yes Yes Yes Yes Yes Yes Yes Yes
Sesotho sa Leboa Southern Sotho English Yes
ଓଡ଼ିଆ Odia English Yes
پنجابی Punjabi (Arabic, Pakistan) English
ਪੰਜਾਬੀ Punjabi (Gurmukhi, India) English Yes Yes
درى Persian (Afghanistan) English Yes Yes
K'iche' K'iche' Spanish
Runasimi Quechua Spanish Yes Yes
Kinyarwanda Kinyarwanda English
سنڌي Sindhi English
සිංහල Sinhala English
Shqip Albanian English Yes Yes Yes Yes Yes Yes Yes Yes Yes
Српски (Босна и Херцеговина) Serbian (Bosnia & Herzegovina) English
Српски (Србија) Serbian (Serbia) Serbian (Latin) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Kiswahili Swahili English Yes Yes
தமிழ் Tamil English Yes Yes
తెలుగు Telugu English Yes Yes
Тоҷикӣ Tajik Russian
ትግር Tigrinya English
Türkmen dili Turkmen Russian
Setswana Tswana English Yes
Татар Tatar Russian Yes Yes
ئۇيغۇرچە Uyghur Chinese (Simplified)
اُردو Urdu English Yes Yes
O‘zbek Uzbek English
Tiếng Việt Vietnamese English Yes Yes MUI
Wolof Wolof French
IsiXhosa Xhosa English Yes
Èdè Yorùbá Yoruba English
IsiZulu Zulu English Yes

Mobile

The multilingual user interface for Windows Phones did not appear until version 7.0.

Language packs for the new Windows Phone platform
Language English name 7.0 7.5 7.7 7.8 8.0 8.0.2 8.1 8.1.2 10
Afrikaans Afrikaans No No No No No No Yes Yes Yes
አማርኛ Amharic No No No No No No No No Yes
العربية Arabic No No No No Yes Yes Yes Yes Yes
Azərbaycan Azerbaijani No No No No Yes Yes Yes Yes Yes
Беларуская Belarusian No No No No Yes Yes Yes Yes Yes
Български Bulgarian No No No No Yes Yes Yes Yes Yes
বাংলা Bangla No No No No No No No Yes Yes
Català Catalan No No No No Yes Yes Yes Yes Yes
Čeština Czech No Yes Yes Yes Yes Yes Yes Yes Yes
Dansk Danish No Yes Yes Yes Yes Yes Yes Yes Yes
Deutsch German Yes Yes Yes Yes Yes Yes Yes Yes Yes
Ελληνικά Greek No Yes Yes Yes Yes Yes Yes Yes Yes
English (United Kingdom) English (United Kingdom) Yes Yes Yes Yes Yes Yes Yes Yes Yes
English (United States) English (United States) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Español (España) Spanish (Spain) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Español (México) Spanish (Mexico) No No No No Yes Yes Yes Yes Yes
Eesti Estonian No No No No Yes Yes Yes Yes Yes
Euskara Basque No No No No No No Yes Yes Yes
فارسى Persian No No No No Yes Yes Yes Yes Yes
Suomi Finnish No Yes Yes Yes Yes Yes Yes Yes Yes
Filipino Filipino No No No No Yes Yes Yes Yes Yes
Français (Canada) French (Canada) No No No No No Yes Yes Yes Yes
Français (France) French (France) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Galego Galician Yes Yes Yes Yes Yes No Yes Yes Yes
Hausa Hausa No No No No No No Yes Yes Yes
עברית Hebrew No No No No Yes Yes Yes Yes Yes
हिन्दी Hindi No No No No Yes Yes Yes Yes Yes
Hrvatski Croatian No No No No Yes Yes Yes Yes Yes
Magyar Hungarian No Yes Yes Yes Yes Yes Yes Yes Yes
Indonesia Indonesian No No Yes Yes Yes Yes Yes Yes Yes
Íslenska Icelandic No No No No No No No No Yes
Italiano Italian Yes Yes Yes Yes Yes Yes Yes Yes Yes
日本語 Japanese No Yes Yes Yes Yes Yes Yes Yes Yes
Қазақ тілі Kazakh No No No No Yes Yes Yes Yes Yes
ខ្មែរ Khmer No No No No No No No Yes Yes
ಕನ್ನಡ Kannada No No No No No No No No Yes
한국어 Korean No Yes Yes Yes Yes Yes Yes Yes Yes
ລາວ Lao No No No No No No No Yes Yes
Lietuvių Lithuanian No No No No Yes Yes Yes Yes Yes
Latviešu Latvian No No No No Yes Yes Yes Yes Yes
Македонски Macedonian No No No No Yes Yes Yes Yes Yes
മലയാളം Malayalam No No No No No No No No Yes
Melayu Malay No No Yes Yes Yes Yes Yes Yes Yes
Norsk bokmål Norwegian Bokmål No Yes Yes Yes Yes Yes Yes Yes Yes
Nederlands Dutch No Yes Yes Yes Yes Yes Yes Yes Yes
Polski Polish No Yes Yes Yes Yes Yes Yes Yes Yes
Português (Brasil) Portuguese (Brazil) No Yes Yes Yes Yes Yes Yes Yes Yes
Português (Portugal) Portuguese (Portugal) No Yes Yes Yes Yes Yes Yes Yes Yes
Română Romanian No No No No Yes Yes Yes Yes Yes
Русский Russian No Yes Yes Yes Yes Yes Yes Yes Yes
Slovenčina Slovak No No No No Yes Yes Yes Yes Yes
Slovenščina Slovenian No No No No Yes Yes Yes Yes Yes
Shqip Albanian No No No No Yes Yes Yes Yes Yes
Srpski Serbian No No No No Yes Yes Yes Yes Yes
Svenska Swedish No Yes Yes Yes Yes Yes Yes Yes Yes
Kiswahili Swahili No No No No No No No Yes Yes
தமிழ் Tamil No No No No No No No No Yes
తెలుగు Telugu No No No No No No No No Yes
ไทย Thai No No No No Yes Yes Yes Yes Yes
Türkçe Turkish No No No No Yes Yes Yes Yes Yes
Українська Ukrainian No No No No Yes Yes Yes Yes Yes
O‘zbek Uzbek No No No No Yes Yes Yes Yes Yes
Tiếng Việt Vietnamese No No No No Yes Yes Yes Yes Yes
中文 (简体) Chinese (Simplified) No Yes Yes Yes Yes Yes Yes Yes Yes
中文 (香港特別行政區) Chinese (Hong Kong) No No No No No No Yes Yes Yes
中文 (繁體) Chinese (Traditional) No Yes Yes Yes Yes Yes Yes Yes Yes

Patent

The MUI technology is covered by an international patent titled "Multilingual User Interface for an Operating System".[11] The inventors are Bjorn C. Rettig, Edward S. Miller, Gregory Wilson, and Shan Xu.

See also

References

  1. ^ "About Multilingual User Interface". Microsoft. Retrieved 22 June 2022.{{cite web}}: CS1 maint: url-status (link)
  2. ^ "How To Install Language Packs In Windows 7". The Windows Club. Archived from the original on 1 August 2010. Retrieved 29 April 2016.
  3. ^ "Language packs are available for Windows 8 and Windows RT". Microsoft. Retrieved 29 April 2016.{{cite web}}: CS1 maint: url-status (link)
  4. ^ "Check whether your version of Windows supports multiple languages". support.microsoft.com. Retrieved 2022-01-10.
  5. ^ Blog, Windows Experience (2011-07-06). "Windows Phone around the world: Language support in Mango". Windows Experience Blog. Retrieved 2022-01-10.
  6. ^ "Get Samsung Notes". Microsoft Store. Retrieved 2022-01-10.
  7. ^ "Language packs for Windows". support.microsoft.com. Retrieved 2022-01-11.
  8. ^ "Local Experience Packs: What are they and when should you use them?". TECHCOMMUNITY.MICROSOFT.COM. 2018-11-14. Retrieved 2022-01-10.
  9. ^ "Local Experience Packs". Microsoft Store. Retrieved 2022-01-10.
  10. ^ "Local Experience Packs". support.microsoft.com. Retrieved 2022-01-11.
  11. ^ US patent 6252589, "Multilingual user interface for an operating system", published 2003-05-14