Flerspråkigt användargränssnitt
Multilingual User Interface ( MUI ) möjliggör lokalisering av användargränssnittet för en applikation .
MUI tillhandahålls av Microsoft som en integrerad funktion i dess operativsystem Windows 11 ner till Windows 2000 med vissa begränsningar i äldre versioner.
MUI används för att lokalisera flaggskepps Microsoft-produkter Microsoft Windows och Microsoft Office och kan som en öppen teknik användas i alla program som körs i en version av Windows som stöder MUI.
Kärnan i MUI är de användardefinierade systeminställningarna för önskat språk som kan användas/delas av alla applikationer på en dator. Den näst mest centrala funktionen är systemfunktioner (dvs. LoadString) som använder denna inställning för att ladda användargränssnittstillgångar vid körning från resurser på användarens föredragna språk. För att vara MUI-aktiverad behöver en applikation bara lagra användargränssnittstillgångar som språkspecifika resurser och använda LoadStrIng för att ladda dem under körning.
MUI stöder också lagring av användargränssnittstillgångar som separata, enspråkiga filer vilket ger flexibilitet för utveckling och distribution. Denna funktion är valfri. Resurserna kan lagras i applikationsbinären.
MUI tillhandahåller också systemfunktioner som möjliggör anpassat och utökat lokaliseringsbeteende.
Översikt
MUI-tekniken är integrerad i Windows OS och kan utnyttjas i en applikation genom att lagra lokaliserbara tillgångar som resurser på ett föreskrivet sätt och använda MUI-aktiverade win32-funktioner för att läsa resurserna.
En relativt enkel implementering av MUI i en applikation lagrar strängarna för varje språk i en strängtabellresurs för den binära filen och använder win32-funktionen LoadString för att ladda strängar vid körning. Ingen annan MUI-relaterad konfiguration eller kod krävs. Följande valfria funktioner för MUI kan implementeras om så önskas:
- Lagra resurserna för varje språk i en separat DLL för att möjliggöra distributions-/installationsflexibilitet
- En applikation kan använda dedikerade MUI-funktioner för att ge mer kontroll över lokaliserbar tillgångsförbrukning, till exempel att använda ett annat språk än den systemdefinierade användarinställningen
- Lokaliserbara tillgångar kan lagras i ett annat format än resurs
Utformningen av MUI försöker tillhandahålla ett gemensamt sätt att lagra information om applikationslokalisering som lindrar begränsningar av mer traditionella och monolitiska konstruktioner för lokalisering, såsom att inkludera alla språk i applikationslogikfilerna (dvs. resurser). Med MUI är följande distributionsscenarier möjliga:
- Lägg till stöd för ett språk genom att endast installera språkfiler -- utan att ändra programlogik eller andra språkfiler
- Lägg till nya funktioner och fixa buggar genom att endast installera programlogikfiler -- utan att ändra de installerade språkfilerna
Terminologi
Följande MUI-relaterade termer används antingen i eller härledda från Microsofts dokumentation.
Språkneutral (LN): Beskriver något som förmedlar en mening oavsett tittarens språk, till exempel en bild utan text eller andra lokaliserbara aspekter
LN-resurs: en resurs som delas av och installeras för alla språkversioner av programmet
LN-fil: Windows binär innehållande applikationslogik och språkneutrala resurser
Språkspecifik (LS): Beskriver något som har väsentligt olika betydelse baserat på tittarens språk. De vanligaste LS-objekten är gränssnittssträngar men kan vara andra objekt som en bild med text i
LS resursfil: En uppsättning resurser lokaliserade för ett språk; aka MUI-fil
Språkinställningar
Ett språkval lagras av systemet för systemet (delas av alla användare och kanske används som standard för en ny användare) och för varje användare. Dessa val kan ändras av användaren via systemets kontrollpanel men kan inte ändras av en applikation.
Dessa inställningar styr språket som operativsystemet använder för UI-element. Applikationer kan också använda dessa inställningar, och via MUI-aktiverade systemfunktioner (som LoadString) är användningen automatisk och transparent (kräver ingen MUI-specifik kod för att använda). Men användningen av dessa inställningar är valfri och anpassningsbar. En applikation kan utformas för att ignorera språkinställningarna. Eller det kan använda dem på andra sätt än det som tillhandahålls av MUI-aktiverade systemfunktioner.
En applikation kan använda MUI-funktioner för att läsa språkpreferenser -- som standard är användarens val [antaget] och är en lista över språk i prioriterad ordning. Dessa inställningar tillhandahålls på system-, användar-, process- och trådnivåer [förutsatt att ändring på en högre nivå ändrar inställningarna för lägre nivåer].
En applikation kan modifiera dessa språkpreferenslistor (via SetThreadPreferredUILanguages och andra funktioner) för att påverka MUI:s beteende. Till exempel:
std::string languageIdSpec = "en-US"; languageIdSpec.push_back('\0'); // måste avslutas med dubbelnull ULONG langCount = 1; if (!::SetThreadPreferredUILanguages(MUI_LANGUAGE_NAME, languageIdSpec.c_str(), &langCount)) throw std::runtime_error("Det gick inte att ange trådens föredragna UI-språk.");
Resurslagring
MUI ger stöd för lokaliserade resurser lagrade i Windows binära (alias Win32 PE) filer (DLL, EXE, SYS) - vanligtvis DLL-filer.
Resurserna för ett språk kan antingen lagras i den binära applikationen eller i en MUI-fil (aka LS) - en per språk. För att MUI ska hitta resurser måste en MUI-fil finnas i samma katalog som dess associerade LN-fil och ha samma namn som LN-filen plus ". LCID .mui". Till exempel, för LN-filen my-lib.dll , skulle MUI-filen för en-US heta my-lib.dll.0409.mui .
Strängresurser är kodade som strängtabeller så här:
LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN 1 L"meddelandetext" END
Resurshämtning
Flera win32-funktioner som läser programresurser är MUI-aktiverade, inklusive LoadString, FormatMessage och LoadImage.
Varje funktion försöker läsa en resurs för ett språk som valts av globala språkinställningar, från programresurser eller associerade MUI-filer (samlokaliserad med LN-fil och enligt namnkonvention). Var och en använder de globala språkinställningarna för att välja ett språk som är tillgängligt. Om laddningen av resursen för det första föredragna språket misslyckas antingen på grund av att MUI-filen inte finns eller att resursen inte finns i MUI-filen, kommer funktionen att försöka med nästa föredragna språk och så vidare tills alla inställningar har prövats. Om laddningen misslyckas för alla föredragna språk, försök sedan LN-filen.
Den mest använda funktionen är LoadString som laddar strängar från en strängtabellresurs. Exempel med LoadString:
wchar_t* resourceCharArray; int resourceLength = ::LoadStringW(_moduleHandle, resourceId, (LPWSTR)&resourceCharArray, 0); if (!resourceLength) throw std::runtime_error("Kan inte hitta resursen."); std::wstring text; text.append(resourceCharArray, resourceLength);
Detta hämtar adressen till resurstextteckenbufferten som inte garanteras vara noll-terminerad. Sedan kopierar detta tecknen till en std::string och dess c_str()-metod kommer garanterat att avslutas med null. Därför finns det inget behov av att lägga till en null. Ett annat alternativ är att låta LoadString kopiera strängen till en godkänd buffert, men det kräver att man använder en buffert med fast längd som har nackdelar som att vanligtvis allokera mer än vad som behövs eller trunkering om det är för kort.
Konstigt nog nämner MS-dokumentationen för LoadString inte dess interaktion med MUI -- användning av språkpreferens.
FormatMessage är också MUI-aktiverat. Dess funktionsreferenssida beskriver dess interaktion med användarens språkpreferens när parametern dwLanguageId skickas som 0. Men FormatMessage läser från en meddelandetabell , inte en strängtabell och som Raymond Chen säger, "ingen använder faktiskt meddelandetabeller".
Icke-resurslagring och hämtning
MS-dokumentationen rekommenderar att du lagrar UI-tillgångar som resurser eftersom MUI fullt ut stöder hämtning från denna lagring, men den noterar att MUI stöder alla andra filformat, som XML, JSON eller platt textfil. Detta innebär att användning av resurshämtningsaspekten av MUI inte krävs för att en applikation ska vara MUI-aktiverad. En applikation kan använda sin egen, anpassade logik för hämtning av UI-tillgångar.
För att vara MUI-aktiverad måste applikationen använda systemspråksinställningarna. Den anpassade logiken för hämtning av UI-tillgångar kan eventuellt använda MUI-funktionen GetFileMUIPath för att utnyttja MUI-filens plats och namnkonventioner.
Andra aspekter
MS MUI-dokumentationen beskriver följande begrepp, men det är oklart hur de relaterar till MUI och vilket värde de erbjuder:
- Resurskonfigurationsfil
- Omdirigering av registersträng
Genomförande
Grundläggande uppgifter för att stödja/implementera MUI:
- Använd LoadString i applikationskoden för att läsa resurser; den använder användarpreferenser, systeminställningar för att läsa resurser som är på det språk som är mest föredraget av användaren baserat på tillgänglighet
- Författare resurskällkod (RC) för varje språk; rekommenderas att lagra varje språk i en separat RC-fil
När de grundläggande uppgifterna har slutförts är en applikation MUI-aktiverad. Men det finns andra funktioner i MUI som en applikation valfritt kan dra nytta av.
De grundläggande uppgifterna innebär att alla språk lagras i applikationens binära resurser -- vilket betyder att det inte är språkneutralt. Den här strukturen ger alla fördelar för körtidslokalisering med MUI och enkel distribution av en fil men tillåter inte distributionsflexibilitet som MUI ger. För att dra fördel av distributionsflexibiliteten:
- Konfigurera programmets binära projekt för att utesluta alla LS-resurser -- gör det till LN-filen
- Konfigurera projekt för att bygga varje språk till en resurs-DLL; heter samma som LN-filen + " LCID .mui" -- MUI-filer
- Distribuera/installera MUI-filer i samma katalog som LN-filen
För att lagra lokaliserade tillgångar i andra format än resurs, måste applikationen implementera en mekanism för att läsa tillgångar vid körning baserat på språkinställningarna (se GetThreadUILanguage). Med andra ord, applikationen laddar UI-tillgångar baserat på systemspråkinställningarna utan att använda LoadString. Applikationen kan utnyttja MUI-fil-per-språk-platsen och namnkonventionen genom att använda GetFileMUIPath.
Fördelar jämfört med lokaliserad version
MUI-tekniken utvecklades som svar och som en förbättring av lokaliserade versioner - en äldre teknik för att globalisera och distribuera mjukvarupaket. Det här avsnittet beskriver skillnaderna och fördelarna med MUI jämfört med lokaliserade versioner.
Windows lokaliserad via ett MUI-paket uppnår samma mål som en lokaliserad version, men det finns viktiga skillnader. Medan både menyer och dialogrutor visas på målspråket, använder bara en lokaliserad version översatta fil- och mappnamn. [vad betyder det här? vissa speciella mappar är lokaliserbara (dokument, nedladdningar, ...) men en användarskapad fil/mapp kan inte lokaliseras (av operativsystemet). Lokaliserar inte ett språkpaket de speciella mappnamnen? Vad mer kan det göra?]
En lokaliserad version av Windows översätter basoperativsystemet, såväl som alla inkluderade program [vilka program?], inklusive fil- och mappnamn [så den lokaliserar fil-/mappnamn. detta motsäger ovan], objektnamn [vad är ett objekt?], strängar i registret [på riktigt? vilka strängar?], och alla andra interna strängar som används av Windows till ett visst språk. Lokaliserade versioner av Windows stöder uppgradering från en tidigare lokaliserad version och användargränssnittsresurser är helt lokaliserade, vilket inte är fallet för MUI-versioner av en produkt. [vad är inte fallet för MUI?]
En MUI-version innehåller inte översatta administrativa funktioner som registerposter [registerposter är funktioner?] och objekt i Microsoft Management Console .
En fördel med en MUI-version är att varje användare av en dator kan använda ett annat språk. För en lokaliserad version av operativsystemet är detta inte möjligt. Det kan vara möjligt för lokaliserade applikationer men kräver installation av flera versioner; en för varje språk, och detta kan leda till programlagringsutrymme och installationsproblem sida vid sida. Med MUI stöder den enskilda versionen flera språk, och operativsystemet och applikationerna använder användarens föredragna språk. Vidare kan samma OS vara värd för ett program som använder något av programmets stödda språk som kan skilja sig från det valda OS-språket och till och med ett språk som inte stöds av OS.
Historia
MUI introducerades med Windows 2000 och stöds i varje efterföljande Windows-version.
Windows 2000 och Windows XP
MUI-produkter för dessa versioner var endast tillgängliga genom volymavtal från Microsoft. De var inte tillgängliga via detaljhandelskanaler. Vissa OEM-tillverkare distribuerade dock produkten. [ citat behövs ]
Språk i Windows XP
Upp till Windows XP appliceras MUI-paket för en produkt ovanpå en engelsk version för att ge en lokaliserad användarupplevelse. Det finns totalt 5 uppsättningar MUI-paket.
Set 1
- tysk
- franska
- japanska
- koreanska
- Förenklad kinesiska)
- Traditionell Kinesisk)
Set 2
- arabiska
- hebreiska
- spanska
- italienska
- svenska
- holländska
- portugisiska (Brasilien)
Set 3
- norska
- danska
- finska
- ryska
- tjeckiska
Set 4
- putsa
- ungerska
- Portugisiska (Portugal)
- turkiska
- grekisk
Set 5
- bulgariska
- estniska
- Kroatisk
- lettiska
- litauiska
- rumänska
- slovakiska
- slovenska
- Thai
Windows Vista
Windows Vista förbättrad MUI-teknik för att separera de engelska resurserna från applikationslogikens binära filer . Programlogikfilerna är nu språkneutrala aka språkoberoende. Med andra ord är applikationslogikfilerna inte längre engelskcentrerade. Denna separation gör det möjligt att ändra språk helt utan att ändra kärnbinärerna i Windows, och att ha flera språk installerade med samma applikationslogikbinärer. Språk används som språkpaket som innehåller de resurser som krävs för att lokalisera en del av eller hela användargränssnittet i Windows Vista.
MUI-paket är tillgängliga för Windows Vista Enterprise-användare och som ett Ultimate Extras för Windows Vista Ultimate-användare.
Från och med Windows Vista görs uppsättningen med tillhörande MUI API:er också tillgängliga för utvecklare för applikationsutveckling. [Detta tillåter vem som helst att använda MUI-tekniken?]
Vid lanseringen släpptes följande 16 språkpaket:
- danska
- tysk
- engelsk
- spanska
- franska
- italienska
- holländska
- norska
- portugisiska (Brasilien)
- finska
- svenska
- ryska
- koreanska
- Förenklad kinesiska)
- Traditionell Kinesisk)
- japanska
Den 23 oktober 2007 släpptes de återstående 19 språkpaketen:
- tjeckiska
- estniska
- Kroatisk
- lettiska
- litauiska
- ungerska
- putsa
- Portugisiska (Portugal)
- rumänska
- slovakiska
- slovenska
- serbiska
- turkiska
- grekisk
- bulgariska
- ukrainska
- hebreiska
- arabiska
- Thai
Windows 7
MUI är tillgängligt för användare av Windows 7 Enterprise och Ultimate Edition.
Från och med Windows 7 började Microsoft hänvisa till ett "MUI-paket" som ett "språkpaket"; inte att förväxla med ett språkgränssnittspaket (LIP).
Windows 8/8.1/RT
Från och med Windows 8/RT kan de flesta versioner av Windows ladda ner och installera alla språkpaket, med några få undantag:
- I Single Language-utgåvor av Windows tillåts endast ett språkpaket installeras, samma beteende som versioner av Windows 7 och tidigare som inte är Enterprise eller Ultimate.
- I OEM-utgåvor av Windows beror de exakta språkpaketen som är förinstallerade/tillgängliga för nedladdning på enhetstillverkaren och inköpslandet/regionen (och mobiloperatören för enheter med mobilanslutning). Detta är en blandning av en lokal marknadsfunktion och en funktion för alla överallt. Det kan finnas flera skärmspråk förinstallerade på enheten av tillverkaren och/eller den trådlösa operatören, men varje tillverkare och/eller trådlös operatör installerar två olika uppsättningar språk: en uppsättning förinstallerade språk och en uppsättning språk som kan installeras av slutanvändare. Den här regeln används för närvarande i Windows Phones från och med Windows Phone 7 och datorer från och med Windows 8 (eftersom Windows 8 och Windows Phone 8 delar samma Windows NT-kärna) och släpptes senare i Windows 10 version 1803, men återställdes senare tyst som av Windows 10 version 1809. En slutanvändare kan installera en återförsäljarlicens ovanpå en OEM-licens genom att utföra en ren installation via Media Creation Tool för att kringgå regionlåsningen och installera vilket visningsspråk som helst.
- Windows-uppdateringsprocessen påverkar inte de för närvarande installerade visningsspråken på något sätt, men den kan ge slutanvändaren tillgång till nyligen släppta språkpaket som gjorts tillgängliga av OEM (endast datorer). Men när du installerar en ny funktionsuppdatering kan den ändra visningsspråket tillbaka till det som sattes in under den första installationsprocessen. Till exempel, om Samsung ATIV Smart PC på AT&T uppgraderas från Windows 8.1 till Windows 10 Anniversary Update (inte nödvändigtvis gjort på en gång), kommer den nu att kunna installera portugisiska (Brasilien), vietnamesiska, kinesiska (förenklad och traditionell) , och japanska förutom engelska, spanska, franska, tyska, italienska och koreanska (de tre sista språken kan laddas ner av slutanvändaren vid tidpunkten för lanseringen), precis som med Galaxy S8-serien och den Verizon-baserade Galaxy bok.
- Å andra sidan stöder inte en Samsung Galaxy Book-enhet afrikaans som visningsspråk, eftersom Samsung-appar inte officiellt stöder afrikaans. Dessutom stöder mobilvarianter av Galaxy Book-bärbara datorer som säljs i Nordamerika färre skärmspråk än deras Wi-Fi-bara motsvarigheter, precis som på deras smartphones.
- Vissa språkpaket som engelska (Australien) och engelska (Kanada) stöds endast på Xbox-konsolerna och Surface Duo.
- Vissa LIP-paket kräver att vissa MUI-paket (basspråk) finns eller är kompatibla. Om det basspråket inte finns eller är kompatibelt kan den LIP inte installeras på den enheten.
Windows 10
Från och med Windows 10 version 1803 började Microsoft använda termen "Local Experience Pack" (LXP) på vissa ställen [butik?] istället för den äldre termen "Language Pack", men de fungerar på samma sätt. Förutom att installera via Windows-inställningar är dessa 110 LXP också tillgängliga via Microsoft Store (app och webb); det senare möjliggör fjärrinstallation för konsumentversioner av Windows. Som med alla applikationer från Microsoft Store visas endast LXP:er som är kompatibla med den Windows-enheten i Microsoft Store-appen.
En LXP uppdateras via Microsoft Store; utanför den normala Windows-uppdateringscykeln.
Språk som stöds
Språk som stöds av OS-version är som följer:
PC
Språk | engelskt namn | 2000 | XP | Perspektiv | 7,0 | 7.1 | 8,0 | 8.1 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|
العربية | arabiska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Български | bulgariska | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Català | katalanska (Spanien) | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | Ja |
Čeština | tjeckiska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Dansk | danska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Deutsch | tysk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Ελληνικά | grekisk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
engelska (Storbritannien) | engelska (Storbritannien) | Nej | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja |
Engelska Förenta Staterna) | Engelska Förenta Staterna) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Español (España) | Spanska (Spanien) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Español (Mexiko) | spanska (Mexiko) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
Eesti | estniska | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Euskara | baskiska | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | Ja |
Suomi | finska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Français (Kanada) | franska (Kanada) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
Français (Frankrike) | franska (Frankrike) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Galego | galiciska | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | Ja |
עברית | hebreiska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Hrvatski | Kroatisk | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Magyar | ungerska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Indonesien | indonesiska | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | Ja |
Italiano | italienska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
日本語 | japanska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
한국어 | koreanska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Lietuvių | litauiska | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Latviešu | lettiska | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Norsk bokmål | norskt bokmål | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Nederlands | holländska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Polski | putsa | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Português (Brasilien) | portugisiska (Brasilien) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Português (Portugal) | Portugisiska (Portugal) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Română | rumänska | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Русский | ryska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Slovenčina | slovakiska | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Slovenščina | slovenska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Srpski | serbiska (latin) | LÄPP | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Svenska | svenska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
ไทย | Thai | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Türkçe | turkiska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Українська | ukrainska | LÄPP | LÄPP | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Tiếng Việt | vietnamesiska | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | LÄPP | Ja |
中文 (简体) | Förenklad kinesiska) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
中文 (香港特別行政區) | kinesiska (Hongkong) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
中文 (繁體) | Traditionell Kinesisk) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Språk | engelskt namn | Grundspråk krävs | 2000 | XP | Perspektiv | 7,0 | 7.1 | 8,0 | 8.1 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
afrikaans | afrikaans | engelsk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
አማርኛ | amhariska | engelsk | Ja | Ja | |||||||
অসমীয়া | assamiska | engelsk | Ja | Ja | |||||||
Azərbaycan | azerbajdzjanska | engelsk | Ja | Ja | Ja | ||||||
Беларуская | vitryska | ryska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
বাংলা (বাংলাদেশ) | Bangla (Bangladesh) | engelsk | Ja | Ja | |||||||
বাংলা (ভারত) | Bangla (Indien) | engelsk | Ja | Ja | Ja | ||||||
Босански | bosniska (kyrilliska) | ryska | Ja | Ja | |||||||
Bosanski | bosniska (latin) | engelsk | Ja | Ja | Ja | ||||||
Català | katalanska (Spanien) | engelsk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | MUI |
Valencia | katalanska (Spanien, valencianska) | spanska | |||||||||
ᏣᎳᎩ | Cherokee | engelsk | |||||||||
Cymraeg | walesiska | engelsk | Ja | Ja | Ja | ||||||
Euskara | baskiska | spanska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | MUI |
فارسى | persiska (Iran) | engelsk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Filippinare | Filippinare | engelsk | Ja | Ja | |||||||
Gaeilge | irländska | engelsk | Ja | Ja | |||||||
Gàidhlig | skotsk gaeliska | engelsk | |||||||||
Galego | galiciska | spanska | Ja | Ja | MUI | ||||||
ગુજરાતી | Gujarati | engelsk | Ja | Ja | |||||||
Hausa | Hausa | engelsk | Ja | ||||||||
हिन्दी | hindi | engelsk | Ja | Ja | |||||||
Հայերեն | armeniska | engelsk | Ja | Ja | |||||||
Indonesien | indonesiska | engelsk | Ja | Ja | MUI | ||||||
Igbo | Igbo | engelsk | Ja | ||||||||
Íslenska | isländska | engelsk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
ᐃᓄᒃᑎᑐᑦ | Inuktitut | engelsk | Ja | Ja | |||||||
ქართული | georgiska | engelsk | Ja | Ja | |||||||
Қазақ тілі | Kazakiska | engelsk | Ja | Ja | |||||||
ខ្មែរ | Khmer | engelsk | Ja | ||||||||
ಕನ್ನಡ | Kannada | engelsk | Ja | Ja | |||||||
कोंकणी | Konkani | engelsk | Ja | Ja | |||||||
کوردیی ناوەڕاست | Centralkurdiska | engelsk | |||||||||
Кыргызча | kirgiziska | ryska | Ja | ||||||||
Lëtzebuergesch | Luxemburgiska | franska | Ja | Ja | |||||||
ລາວ | Lao | ??? | |||||||||
Te reo Māori | Maori | engelsk | Ja | Ja | |||||||
Македонски | makedonska | engelsk | Ja | Ja | |||||||
മലയാളം | Malayalam | engelsk | Ja | Ja | |||||||
Монгол | mongoliska | engelsk | |||||||||
मराठी | Marathi | engelsk | Ja | Ja | |||||||
Melayu (Brunei) | Malajiska (Brunei) | engelsk | Ja | ||||||||
Melayu (Malaysia) | Malaysia (Malaysia) | engelsk | Ja | Ja | |||||||
Malti | maltesiska | engelsk | Ja | Ja | |||||||
नेपाली | nepalesiska | engelsk | Ja | Ja | |||||||
Norsk nynorsk | norsk nynorsk | norskt bokmål | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Sesotho sa Leboa | södra Sotho | engelsk | Ja | ||||||||
ଓଡ଼ିଆ | Odia | engelsk | Ja | ||||||||
پنجابی | Punjabi (arabiska, Pakistan) | engelsk | |||||||||
ਪੰਜਾਬੀ | Punjabi (Gurmukhi, Indien) | engelsk | Ja | Ja | |||||||
درى | persiska (Afghanistan) | engelsk | Ja | Ja | |||||||
K'iche' | K'iche' | spanska | |||||||||
Runasimi | Quechua | spanska | Ja | Ja | |||||||
Kinyarwanda | Kinyarwanda | engelsk | |||||||||
سنڌي | Sindhi | engelsk | |||||||||
සිංහල | singalesiska | engelsk | |||||||||
Shqip | albanska | engelsk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Српски (Босна и Херцеговина) | Serbiska (Bosnien och Hercegovina) | engelsk | |||||||||
Српски (Србија) | Serbien (Serbien) | serbiska (latin) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Kiswahili | Swahili | engelsk | Ja | Ja | |||||||
தமிழ் | Tamil | engelsk | Ja | Ja | |||||||
తెలుగు | Telugu | engelsk | Ja | Ja | |||||||
Тоҷикӣ | tadzjikiska | ryska | |||||||||
ትግር | Tigrinya | engelsk | |||||||||
Turkmensk dili | turkmeniska | ryska | |||||||||
Setswana | Tswana | engelsk | Ja | ||||||||
Татар | tatariska | ryska | Ja | Ja | |||||||
ئۇيغۇرچە | uiguriska | Förenklad kinesiska) | |||||||||
اُردو | Urdu | engelsk | Ja | Ja | |||||||
O'zbekiska | uzbekiska | engelsk | |||||||||
Tiếng Việt | vietnamesiska | engelsk | Ja | Ja | MUI | ||||||
Wolof | Wolof | franska | |||||||||
IsiXhosa | Xhosa | engelsk | Ja | ||||||||
Èdè Yorùbá | Yoruba | engelsk | |||||||||
IsiZulu | Zulu | engelsk | Ja |
Mobil
Det flerspråkiga användargränssnittet för Windows Phones dök inte upp förrän version 7.0.
Språk | engelskt namn | 7,0 | 7.5 | 7.7 | 7.8 | 8,0 | 8.0.2 | 8.1 | 8.1.2 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
afrikaans | afrikaans | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja | Ja |
አማርኛ | amhariska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
العربية | arabiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Azərbaycan | azerbajdzjanska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Беларуская | vitryska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Български | bulgariska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
বাংলা | Bangla | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
Català | katalanska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Čeština | tjeckiska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Dansk | danska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Deutsch | tysk | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Ελληνικά | grekisk | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
engelska (Storbritannien) | engelska (Storbritannien) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Engelska Förenta Staterna) | Engelska Förenta Staterna) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Español (España) | spanska (Spanien) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Español (Mexiko) | spanska (Mexiko) | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Eesti | estniska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Euskara | baskiska | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja | Ja |
فارسى | persiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Suomi | finska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Filippinare | Filippinare | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Français (Kanada) | franska (Kanada) | Nej | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja |
Français (Frankrike) | franska (Frankrike) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Galego | galiciska | Ja | Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja |
Hausa | Hausa | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja | Ja |
עברית | hebreiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
हिन्दी | hindi | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Hrvatski | Kroatisk | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Magyar | ungerska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Indonesien | indonesiska | Nej | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Íslenska | isländska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
Italiano | italienska | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
日本語 | japanska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Қазақ тілі | Kazakiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
ខ្មែរ | Khmer | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
ಕನ್ನಡ | Kannada | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
한국어 | koreanska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
ລາວ | Lao | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
Lietuvių | litauiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Latviešu | lettiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Македонски | makedonska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
മലയാളം | Malayalam | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
Melayu | malajiska | Nej | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Norsk bokmål | norskt bokmål | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Nederlands | holländska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Polski | putsa | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Português (Brasilien) | portugisiska (Brasilien) | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Português (Portugal) | Portugisiska (Portugal) | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Română | rumänska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Русский | ryska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Slovenčina | slovakiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Slovenščina | slovenska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Shqip | albanska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Srpski | serbiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Svenska | svenska | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Kiswahili | Swahili | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
தமிழ் | Tamil | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
తెలుగు | Telugu | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
ไทย | Thai | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Türkçe | turkiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Українська | ukrainska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
O'zbekiska | uzbekiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
Tiếng Việt | vietnamesiska | Nej | Nej | Nej | Nej | Ja | Ja | Ja | Ja | Ja |
中文 (简体) | Förenklad kinesiska) | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
中文 (香港特別行政區) | kinesiska (Hongkong) | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja | Ja |
中文 (繁體) | Traditionell Kinesisk) | Nej | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Patent
MUI-tekniken täcks av ett internationellt patent med titeln "Multilingual User Interface for an Operating System". Uppfinnarna är Bjorn C. Rettig, Edward S. Miller, Gregory Wilson och Shan Xu.
Se även
- Windows MUI Knowledge Center (arkiverat)
- Windows språkpaket (Microsoft-referens)
- Språkgränssnittspaket (LIP)
- GNU gettext : både ett UNIX-system för lokalisering och en funktion som liknar LoadString