From: "Zeeshan Ali (Khattak)" <zeeshanak@xxxxxxxxx> Lets make use of new datamaps to map GETTEXT language codes (that libosinfo expect from apps) to X11 keyboard layout codes (that Fedora 18 expects). --- data/datamaps/Makefile.am | 1 + data/datamaps/x11-keyboard.xml | 155 ++++++++++++++++++++++++++++++++++++++++ data/install-scripts/fedora.xml | 132 ++++------------------------------ 3 files changed, 168 insertions(+), 120 deletions(-) create mode 100644 data/datamaps/x11-keyboard.xml diff --git a/data/datamaps/Makefile.am b/data/datamaps/Makefile.am index e02c295..5572005 100644 --- a/data/datamaps/Makefile.am +++ b/data/datamaps/Makefile.am @@ -2,6 +2,7 @@ datamapdir = $(pkgdatadir)/db/datamaps/ datamap_DATA = \ windows-lang.xml \ + x11-keyboard.xml \ $(NULL) EXTRA_DIST = $(datamap_DATA) diff --git a/data/datamaps/x11-keyboard.xml b/data/datamaps/x11-keyboard.xml new file mode 100644 index 0000000..15a7cd5 --- /dev/null +++ b/data/datamaps/x11-keyboard.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- The datamaps in this file will be used to map the GETTEXT locale + codes to X11 keyboard layouts. +--> + +<libosinfo version="0.0.1"> + <!-- GETTEXT locale to X11 keyboard layout mapping --> + <datamap id="http://libosinfo.fedorahosted.org/x11-keyboard"> + <entry inval="af_ZA" outval="za"/> + <entry inval="ar_AE" outval="ae"/> + <entry inval="ar_BH" outval="bh"/> + <entry inval="ar_DZ" outval="dz"/> + <entry inval="ar_EG" outval="eg"/> + <entry inval="ar_IN" outval="in"/> + <entry inval="ar_IQ" outval="iq"/> + <entry inval="ar_JO" outval="jo"/> + <entry inval="ar_KW" outval="kw"/> + <entry inval="ar_LB" outval="lb"/> + <entry inval="ar_LY" outval="ly"/> + <entry inval="ar_MA" outval="ma"/> + <entry inval="ar_OM" outval="om"/> + <entry inval="ar_QA" outval="qa"/> + <entry inval="ar_SA" outval="sa"/> + <entry inval="ar_SD" outval="sd"/> + <entry inval="ar_SY" outval="sy"/> + <entry inval="ar_TN" outval="tn"/> + <entry inval="ar_YE" outval="ye"/> + <entry inval="as_IN" outval="in"/> + <entry inval="ast_ES" outval="es (ast)"/> + <entry inval="be_BY" outval="by"/> + <entry inval="bg_BG" outval="bg"/> + <entry inval="bn_BD" outval="bd"/> + <entry inval="bn_IN" outval="in (ben)"/> + <entry inval="br_FR" outval="fr (bre)"/> + <entry inval="bs_BA" outval="ba"/> + <entry inval="ca_ES" outval="es (cat)"/> + <entry inval="cs_CZ" outval="cz"/> + <entry inval="cy_GB" outval="gb"/> + <entry inval="da_DK" outval="dk"/> + <entry inval="de_AT" outval="at"/> + <entry inval="de_BE" outval="be"/> + <entry inval="de_CH" outval="ch"/> + <entry inval="de_DE" outval="de"/> + <entry inval="de_LU" outval="lu"/> + <entry inval="el_GR" outval="gr"/> + <entry inval="en_AU" outval="au"/> + <entry inval="en_BW" outval="bw"/> + <entry inval="en_CA" outval="ca (eng)"/> + <entry inval="en_DK" outval="dk"/> + <entry inval="en_GB" outval="gb"/> + <entry inval="en_HK" outval="hk"/> + <entry inval="en_IE" outval="ie"/> + <entry inval="en_IN" outval="in (eng)"/> + <entry inval="en_NZ" outval="nz"/> + <entry inval="en_PH" outval="ph"/> + <entry inval="en_SG" outval="sg"/> + <entry inval="en_US" outval="us"/> + <entry inval="en_ZA" outval="za"/> + <entry inval="en_ZW" outval="zw"/> + <entry inval="es_AR" outval="ar"/> + <entry inval="es_BO" outval="bo"/> + <entry inval="es_CL" outval="cl"/> + <entry inval="es_CO" outval="co"/> + <entry inval="es_CR" outval="cr"/> + <entry inval="es_DO" outval="do"/> + <entry inval="es_EC" outval="ec"/> + <entry inval="es_ES" outval="es"/> + <entry inval="es_GT" outval="gt"/> + <entry inval="es_HN" outval="hn"/> + <entry inval="es_MX" outval="mx"/> + <entry inval="es_NI" outval="ni"/> + <entry inval="es_PA" outval="pa"/> + <entry inval="es_PE" outval="pe"/> + <entry inval="es_PR" outval="pr"/> + <entry inval="es_PY" outval="py"/> + <entry inval="es_SV" outval="sv"/> + <entry inval="es_US" outval="us"/> + <entry inval="es_UY" outval="uy"/> + <entry inval="es_VE" outval="ve"/> + <entry inval="et_EE" outval="ee"/> + <entry inval="eu_ES" outval="es"/> + <entry inval="fa_IR" outval="ir"/> + <entry inval="fi_FI" outval="fi"/> + <entry inval="fo_FO" outval="fo"/> + <entry inval="fr_BE" outval="be"/> + <entry inval="fr_CA" outval="ca"/> + <entry inval="fr_CH" outval="ch (fr)"/> + <entry inval="fr_FR" outval="fr"/> + <entry inval="fr_LU" outval="lu"/> + <entry inval="ga_IE" outval="ie"/> + <entry inval="gl_ES" outval="es"/> + <entry inval="gu_IN" outval="in (guj)"/> + <entry inval="gv_GB" outval="gb"/> + <entry inval="he_IL" outval="il"/> + <entry inval="hi_IN" outval="in"/> + <entry inval="hr_HR" outval="hr"/> + <entry inval="hu_HU" outval="hu"/> + <entry inval="id_ID" outval="id"/> + <entry inval="is_IS" outval="is"/> + <entry inval="it_CH" outval="ch"/> + <entry inval="it_IT" outval="it"/> + <entry inval="ja_JP" outval="jp"/> + <entry inval="kl_GL" outval="gl"/> + <entry inval="kn_IN" outval="in (kan)"/> + <entry inval="ko_KR" outval="kr"/> + <entry inval="kw_GB" outval="gb"/> + <entry inval="lo_LA" outval="la"/> + <entry inval="lt_LT" outval="lt"/> + <entry inval="lv_LV" outval="lv"/> + <entry inval="mai_IN" outval="in"/> + <entry inval="mk_MK" outval="mk"/> + <entry inval="ml_IN" outval="in (mal)"/> + <entry inval="mr_IN" outval="in"/> + <entry inval="ms_MY" outval="my"/> + <entry inval="mt_MT" outval="mt"/> + <entry inval="nb_NO" outval="no"/> + <entry inval="nds_DE" outval="de"/> + <entry inval="ne_NP" outval="np"/> + <entry inval="nl_BE" outval="be"/> + <entry inval="nl_NL" outval="nl"/> + <entry inval="nn_NO" outval="no"/> + <entry inval="oc_FR" outval="fr (oci)"/> + <entry inval="or_IN" outval="in (ori)"/> + <entry inval="pa_IN" outval="in (guru)"/> + <entry inval="pl_PL" outval="pl"/> + <entry inval="pt_BR" outval="br"/> + <entry inval="pt_PT" outval="pt"/> + <entry inval="ro_RO" outval="ro"/> + <entry inval="ru_RU" outval="ru"/> + <entry inval="ru_UA" outval="ua"/> + <entry inval="se_NO" outval="no (smi)"/> + <entry inval="si_LK" outval="lk"/> + <entry inval="sk_SK" outval="sk"/> + <entry inval="sl_SI" outval="si"/> + <entry inval="sq_AL" outval="al"/> + <entry inval="sr_RS" outval="rs"/> + <entry inval="sv_FI" outval="fi"/> + <entry inval="sv_SE" outval="se"/> + <entry inval="ta_IN" outval="in (tam)"/> + <entry inval="te_IN" outval="in (tel)"/> + <entry inval="th_TH" outval="th"/> + <entry inval="tl_PH" outval="ph"/> + <entry inval="tr_TR" outval="tr"/> + <entry inval="uk_UA" outval="ua"/> + <entry inval="ur_PK" outval="pk"/> + <entry inval="uz_UZ" outval="uz"/> + <entry inval="wa_BE" outval="be"/> + <entry inval="xh_ZA" outval="za"/> + <entry inval="zh_CN" outval="cn"/> + <entry inval="zh_HK" outval="hk"/> + <entry inval="zh_TW" outval="tw"/> + <entry inval="zu_ZA" outval="za"/> + </datamap> +</libosinfo> diff --git a/data/install-scripts/fedora.xml b/data/install-scripts/fedora.xml index a7c30e8..a0a3f35 100644 --- a/data/install-scripts/fedora.xml +++ b/data/install-scripts/fedora.xml @@ -5,7 +5,7 @@ <expected-filename>fedora.ks</expected-filename> <config> <param name="admin-password" policy="optional"/> - <param name="l10n-keyboard" policy="optional"/> + <param name="l10n-keyboard" policy="optional" value-map="http://libosinfo.fedorahosted.org/x11-keyboard"/> <param name="l10n-language" policy="optional"/> <param name="l10n-timezone" policy="optional"/> <param name="target-disk" policy="optional"/> @@ -59,70 +59,16 @@ </xsl:choose> </xsl:template> - <xsl:template name="country-from-keyboard"> - <xsl:value-of select="substring-after(config/l10n-keyboard,'_')"/> - </xsl:template> - <xsl:template name="keyboard"> <xsl:choose> <xsl:when test="os/version > 17"> - <xsl:choose> - <xsl:when test="starts-with(config/l10n-keyboard,'en_CA')"> - <xsl:text>ca (eng)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'fr_CH')"> - <xsl:text>ch (fr)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ast_ES')"> - <xsl:text>es (ast)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ca_ES')"> - <xsl:text>es (cat)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'se_NO')"> - <xsl:text>no (smi)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'br_FR')"> - <xsl:text>fr (bre)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'oc_FR')"> - <xsl:text>fr (oci)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'bn_IN')"> - <xsl:text>in (ben)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'en_IN')"> - <xsl:text>in (eng)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'gu_IN')"> - <xsl:text>in (guj)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'kn_IN')"> - <xsl:text>in (kan)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ml_IN')"> - <xsl:text>in (mal)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'or_IN')"> - <xsl:text>in (ori)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'pa_IN')"> - <xsl:text>in (guru)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ta_IN')"> - <xsl:text>in (tam)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'te_IN')"> - <xsl:text>in (tel)</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="country-from-keyboard"/> - </xsl:otherwise> - </xsl:choose> + <xsl:value-of select="config/l10n-keyboard"/> </xsl:when> <xsl:otherwise> - <!-- F17 and older required keyboard layout to be a console layout so we'll need some complicated - code to translate from X to console layout if we want to properly support those. --> + <!-- FIXME: F17 and older required keyboard layout to be a console + layout so we'll need a different datamap for those but + currently we only support one datamap per config param per + script. --> <xsl:text>us</xsl:text> </xsl:otherwise> </xsl:choose> @@ -187,7 +133,7 @@ reboot <profile>desktop</profile> <expected-filename>fedora.ks</expected-filename> <config> - <param name="l10n-keyboard" policy="optional"/> + <param name="l10n-keyboard" policy="optional" value-map="http://libosinfo.fedorahosted.org/x11-keyboard"/> <param name="l10n-language" policy="optional"/> <param name="l10n-timezone" policy="optional"/> <param name="hostname" policy="optional"/> @@ -250,70 +196,16 @@ reboot </xsl:choose> </xsl:template> - <xsl:template name="country-from-keyboard"> - <xsl:value-of select="substring-after(config/l10n-keyboard,'_')"/> - </xsl:template> - <xsl:template name="keyboard"> <xsl:choose> <xsl:when test="os/version > 17"> - <xsl:choose> - <xsl:when test="starts-with(config/l10n-keyboard,'en_CA')"> - <xsl:text>ca (eng)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'fr_CH')"> - <xsl:text>ch (fr)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ast_ES')"> - <xsl:text>es (ast)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ca_ES')"> - <xsl:text>es (cat)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'se_NO')"> - <xsl:text>no (smi)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'br_FR')"> - <xsl:text>fr (bre)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'oc_FR')"> - <xsl:text>fr (oci)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'bn_IN')"> - <xsl:text>in (ben)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'en_IN')"> - <xsl:text>in (eng)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'gu_IN')"> - <xsl:text>in (guj)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'kn_IN')"> - <xsl:text>in (kan)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ml_IN')"> - <xsl:text>in (mal)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'or_IN')"> - <xsl:text>in (ori)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'pa_IN')"> - <xsl:text>in (guru)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'ta_IN')"> - <xsl:text>in (tam)</xsl:text> - </xsl:when> - <xsl:when test="starts-with(config/l10n-keyboard,'te_IN')"> - <xsl:text>in (tel)</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="country-from-keyboard"/> - </xsl:otherwise> - </xsl:choose> + <xsl:value-of select="config/l10n-keyboard"/> </xsl:when> <xsl:otherwise> - <!-- F17 and older required keyboard layout to be a console layout so we'll need some complicated - code to translate from X to console layout if we want to properly support those. --> + <!-- FIXME: F17 and older required keyboard layout to be a console + layout so we'll need a different datamap for those but + currently we only support one datamap per config param per + script. --> <xsl:text>us</xsl:text> </xsl:otherwise> </xsl:choose> -- 1.8.0.2 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo