[Libosinfo] [PATCH 5/5] win7: Use a datamap for GETTEXT to ISO language mapping

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Fri Dec 28 23:14:06 UTC 2012


From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>

Lets make use of new datamaps to map GETTEXT language codes (that
libosinfo expect from apps) to ISO language codes (that Windows
expects).
---
 data/datamaps/windows-lang.xml            | 42 +++++++++++++++++++++++++++++++
 data/install-scripts/windows-unattend.xml | 28 ++++++++-------------
 2 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/data/datamaps/windows-lang.xml b/data/datamaps/windows-lang.xml
index 7588e80..6b3efe1 100644
--- a/data/datamaps/windows-lang.xml
+++ b/data/datamaps/windows-lang.xml
@@ -86,4 +86,46 @@
     <entry inval="TR-TR" outval="tr_TR"/>
     <entry inval="UK-UA" outval="uk_UA"/>
   </datamap>
+
+  <!-- Reverse map of above, for mapping GETTEXT language codes to ISO standard
+       language codes used by Windows. -->
+  <datamap id="http://microsoft.com/win/8/l10n-language-reverse">
+    <entry inval="en_US" outval="EN-US"/>
+    <entry inval="en_GB" outval="EN-GB"/>
+    <entry inval="ar_SA" outval="AR-SA"/>
+    <entry inval="bg_BG" outval="BG-BG"/>
+    <entry inval="zh_HK" outval="ZH-HK"/>
+    <entry inval="zh_CN" outval="ZH-CN"/>
+    <entry inval="zh_TW" outval="ZH-TW"/>
+    <entry inval="hr_HR" outval="HR-HR"/>
+    <entry inval="cs_CZ" outval="CS-CZ"/>
+    <entry inval="da_DK" outval="DA-DK"/>
+    <entry inval="nl_NL" outval="NL-NL"/>
+    <entry inval="et_EE" outval="ET-EE"/>
+    <entry inval="fi_FI" outval="FI-FI"/>
+    <entry inval="fr_FR" outval="FR-FR"/>
+    <entry inval="de_DE" outval="DE-DE"/>
+    <entry inval="el_GR" outval="EL-GR"/>
+    <entry inval="he_IL" outval="HE-IL"/>
+    <entry inval="hu_HU" outval="HU-HU"/>
+    <entry inval="it_IT" outval="IT-IT"/>
+    <entry inval="ja_JP" outval="JA-JP"/>
+    <entry inval="ko_KR" outval="KO-KR"/>
+    <entry inval="lv_LV" outval="LV-LV"/>
+    <entry inval="lt_LT" outval="LT-LT"/>
+    <entry inval="nb_NO" outval="NB-NO"/>
+    <entry inval="pl_PL" outval="PL-PL"/>
+    <entry inval="pt_BR" outval="PT-BR"/>
+    <entry inval="pt_PT" outval="PT-PT"/>
+    <entry inval="ro_RO" outval="RO-RO"/>
+    <entry inval="ru_RU" outval="RU-RU"/>
+    <entry inval="sr_RS at latin" outval="SR-LATN-CS"/>
+    <entry inval="sk_SK" outval="SK-SK"/>
+    <entry inval="sl_SI" outval="SL-SI"/>
+    <entry inval="es_ES" outval="ES-ES"/>
+    <entry inval="sv_SE" outval="SV-SE"/>
+    <entry inval="th_TH" outval="TH-TH"/>
+    <entry inval="tr_TR" outval="TR-TR"/>
+    <entry inval="uk_UA" outval="UK-UA"/>
+  </datamap>
 </libosinfo>
diff --git a/data/install-scripts/windows-unattend.xml b/data/install-scripts/windows-unattend.xml
index db08ac2..3c1bd1a 100644
--- a/data/install-scripts/windows-unattend.xml
+++ b/data/install-scripts/windows-unattend.xml
@@ -8,7 +8,7 @@
     <config>
       <param name="admin-password" policy="optional"/>
       <param name="hardware-arch" policy="optional"/>
-      <param name="l10n-language" policy="optional"/>
+      <param name="l10n-language" policy="optional" value-map="http://microsoft.com/win/8/l10n-language-reverse"/>
       <param name="user-login" policy="optional"/>
       <param name="user-password" policy="optional"/>
       <param name="user-realname" policy="optional"/>
@@ -35,10 +35,6 @@
           </xsl:choose>
         </xsl:template>
 
-        <xsl:template name="language">
-          <xsl:value-of select="translate(config/l10n-language,'_','-')"/>
-        </xsl:template>
-
 	<xsl:template name="arch">
 	  <xsl:choose>
 	    <xsl:when test="count(config/hardware-arch) > 0">
@@ -138,11 +134,11 @@
 		  <xsl:call-template name="arch"/>
 		</xsl:attribute>
 		<SetupUILanguage>
-		  <UILanguage><xsl:call-template name="language"/></UILanguage>
+		  <UILanguage><xsl:value-of select="config/l10n-language"/></UILanguage>
 		</SetupUILanguage>
-		<SystemLocale><xsl:call-template name="language"/></SystemLocale>
-		<UILanguage><xsl:call-template name="language"/></UILanguage>
-		<UserLocale><xsl:call-template name="language"/></UserLocale>
+		<SystemLocale><xsl:value-of select="config/l10n-language"/></SystemLocale>
+		<UILanguage><xsl:value-of select="config/l10n-language"/></UILanguage>
+		<UserLocale><xsl:value-of select="config/l10n-language"/></UserLocale>
 	      </component>
 	    </settings>
 	    <settings pass="oobeSystem">
@@ -227,7 +223,7 @@
    <config>
     <param name="admin-password" policy="optional"/>
     <param name="hardware-arch" policy="required"/>
-    <param name="l10n-language" policy="optional"/>
+    <param name="l10n-language" policy="optional" value-map="http://microsoft.com/win/8/l10n-language-reverse"/>
     <param name="user-login" policy="optional"/>
     <param name="user-password" policy="optional"/>
     <param name="user-realname" policy="optional"/>
@@ -255,10 +251,6 @@
         </xsl:choose>
       </xsl:template>
 
-      <xsl:template name="language">
-       <xsl:value-of select="translate(config/l10n-language,'_','-')"/>
-      </xsl:template>
-
       <xsl:template name="arch">
        <xsl:choose>
         <xsl:when test="config/hardware-arch = 'x86_64'">
@@ -361,11 +353,11 @@
           <xsl:call-template name="arch"/>
          </xsl:attribute>
          <SetupUILanguage>
-          <UILanguage><xsl:call-template name="language"/></UILanguage>
+          <UILanguage><xsl:value-of select="config/l10n-language"/></UILanguage>
          </SetupUILanguage>
-         <SystemLocale><xsl:call-template name="language"/></SystemLocale>
-         <UILanguage><xsl:call-template name="language"/></UILanguage>
-         <UserLocale><xsl:call-template name="language"/></UserLocale>
+         <SystemLocale><xsl:value-of select="config/l10n-language"/></SystemLocale>
+         <UILanguage><xsl:value-of select="config/l10n-language"/></UILanguage>
+         <UserLocale><xsl:value-of select="config/l10n-language"/></UserLocale>
         </component>
        </settings>
        <xsl:if test="os/version > 6.0">
-- 
1.8.0.2




More information about the Libosinfo mailing list