On Fri, Nov 23, 2012 at 1:42 PM, Zeeshan Ali (Khattak) <zeeshanak@xxxxxxxxx> wrote: > On Fri, Nov 23, 2012 at 5:03 PM, Fabiano Fidêncio <fabiano@xxxxxxxxxxxx> wrote: >> Add this translation in the windows template file because the script >> must have the language is being set using >> https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Locale-Names.html >> While, for Windows, the standard being used is: >> https://www.ietf.org/rfc/rfc4646.txt (page 56, Language-Region topic). >> >> A practical example is: >> Windows will use, for Brazilian Portuguese, pt-BR instead of pt_BR. >> --- >> data/install-scripts/windows-unattend.xml | 50 ++++++++++++++++++++++++++----- >> osinfo/osinfo_install_config.c | 14 ++++++++- >> 2 files changed, 55 insertions(+), 9 deletions(-) >> >> diff --git a/data/install-scripts/windows-unattend.xml b/data/install-scripts/windows-unattend.xml >> index d3b2df5..86031ed 100644 >> --- a/data/install-scripts/windows-unattend.xml >> +++ b/data/install-scripts/windows-unattend.xml >> @@ -32,6 +32,23 @@ >> </xsl:choose> >> </xsl:template> >> >> + <xsl:template name="language"> >> + <xsl:variable name="l10n-language"> >> + <xsl:value-of select="config/l10n-language"/> >> + </xsl:variable> >> + <xsl:variable name="new-l10n-language"> > > Is a new variable really needed? Can't you override the value of > existing variable? I tried, but I'm newbie. If you know a better way to do this, feel free to change the patch and commit with your name (as it's a really trivial change). :) > >> + <xsl:value-of select="translate($l10n-language,'_','-')"/> >> + </xsl:variable> >> + <xsl:choose> >> + <xsl:when test="contains($new-l10n-language,'.')"> >> + <xsl:value-of select="substring-before($new-l10n-language,'.')"/> >> + </xsl:when> >> + <xsl:otherwise> >> + <xsl:value-of select="$new-l10n-language"/> >> + </xsl:otherwise> >> + </xsl:choose> >> + </xsl:template> >> + >> <xsl:template name="arch"> >> <xsl:choose> >> <xsl:when test="count(config/hardware-arch) > 0"> >> @@ -99,11 +116,11 @@ >> <xsl:call-template name="arch"/> >> </xsl:attribute> >> <SetupUILanguage> >> - <UILanguage><xsl:value-of select="config/l10n-language"/></UILanguage> >> + <UILanguage><xsl:call-template name="language"/></UILanguage> >> </SetupUILanguage> >> - <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> >> + <SystemLocale><xsl:call-template name="language"/></SystemLocale> >> + <UILanguage><xsl:call-template name="language"/></UILanguage> >> + <UserLocale><xsl:call-template name="language"/></UserLocale> >> </component> >> </settings> >> <settings pass="oobeSystem"> >> @@ -213,6 +230,23 @@ >> </xsl:choose> >> </xsl:template> >> >> + <xsl:template name="language"> >> + <xsl:variable name="l10n-language"> >> + <xsl:value-of select="config/l10n-language"/> >> + </xsl:variable> >> + <xsl:variable name="new-l10n-language"> >> + <xsl:value-of select="translate($l10n-language,'_','-')"/> >> + </xsl:variable> >> + <xsl:choose> >> + <xsl:when test="contains($new-l10n-language,'.')"> >> + <xsl:value-of select="substring-before($new-l10n-language,'.')"/> >> + </xsl:when> >> + <xsl:otherwise> >> + <xsl:value-of select="$new-l10n-language"/> >> + </xsl:otherwise> >> + </xsl:choose> >> + </xsl:template> >> + >> <xsl:template name="arch"> >> <xsl:choose> >> <xsl:when test="config/hardware-arch = 'x86_64'"> >> @@ -283,11 +317,11 @@ >> <xsl:call-template name="arch"/> >> </xsl:attribute> >> <SetupUILanguage> >> - <UILanguage><xsl:value-of select="config/l10n-language"/></UILanguage> >> + <UILanguage><xsl:call-template name="language"/></UILanguage> >> </SetupUILanguage> >> - <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> >> + <SystemLocale><xsl:call-template name="language"/></SystemLocale> >> + <UILanguage><xsl:call-template name="language"/></UILanguage> >> + <UserLocale><xsl:call-template name="language"/></UserLocale> >> </component> >> </settings> >> <xsl:if test="os/version > 6.0"> >> diff --git a/osinfo/osinfo_install_config.c b/osinfo/osinfo_install_config.c >> index f146aec..a8a78e0 100644 >> --- a/osinfo/osinfo_install_config.c >> +++ b/osinfo/osinfo_install_config.c >> @@ -140,7 +140,19 @@ const gchar *osinfo_install_config_get_l10n_keyboard(OsinfoInstallConfig *config >> OSINFO_INSTALL_CONFIG_PROP_L10N_KEYBOARD); >> } >> >> - >> +/** >> + * osinfo_install_config_set_l10n_language: >> + * >> + * Sets the #OSINFO_INSTALL_CONFIG_PROP_L10N_LANGUAGE parameter. >> + * >> + * The expected format to set l10n_language follows the gettext Locale Names[0] >> + * standard with both encoding and variant are accepted but are optional. >> + * >> + * For example, 'pt_BR' is used to Brazilian Portuguese. 'pt_BR.utf8' is >> + * accepted but the encoding part is optional. >> + * >> + * [0]: https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Locale-Names.html > > This will not translate into footnote (as its meant to be) in the > generated docs. See if there is any way to create links in gtk-doc. If > not, you want to inline it. It's inline now. Thanks! > > Looks good otherwise. > > -- > Regards, > > Zeeshan Ali (Khattak) > FSF member#5124 Best Regards, -- Fabiano Fidêncio