[Freeipa-devel] resend: internationalization of kid templates

Rob Crittenden rcritten at redhat.com
Thu Jan 31 19:59:57 UTC 2008


Masato Taruishi wrote:
> Ah, I'm very sorry about my late reply.
> I missed your reply.

No worries.

> 
>> Masato Taruishi wrote:
>>> Hi,
>>>
>>> I wrote a patch to internationalize kid templates. In addition
>>> to the general internationalization, the patch also includes
>>> the japanese po file. Please see the attached screenshots.
>>> Of cource, this patch supports the content negotiation feature
>>> so you can see the English page, too.
>>>
>>> I haven't internationalize javascript and python messages yet
>>> because it requires utf-8 safe. I guess it's a next work for
>>> i18n related tasks. 
>>>
>>> I hope this would help internationalization support of freeipa.
>>>
>>> Thanks
>>> Best regards
>>
>> Hi. I'm reviewing your patch now and it looks ok, I just have a couple
>> of question.
>>
>> What do we need to do on an ongoing basis to be sure that the messages
>> stay up-to-date? Will we need to run something every time we make a
>> change to a kid file?
> 
> You can collect the template pot file by running the following command:
> 
> ~/ipa-server/ipa-gui$ tg-admin i18n collect
> 
> which creates locales/messages.pot. However, unfotunately, the above
> command doesn't work correctly for .kid files unless you apply the
> following patch:
> 
> --- /usr/lib/python2.5/site-packages/turbogears/command/i18n.py
> 2007-07-22 05:08:37.000000000 +0900
> +++ i18n.py     2008-01-31 01:02:13.000000000 +0900
> @@ -251,7 +251,12 @@
>                  if self.options.loose_kid_support or el.get('lang',
> None):
>                      tag = re.sub('({[^}]+})?(\w+)', '\\2', el.tag)
>                      ents = []
> -                    if el.text: ents = [el.text.strip()]
> +                    if el.text and not ( el.text.strip() in keys):
> +                        if el.tag == "script":
> +                            ents = [el.text.strip()]
> +                        else:
> +                            messages.append((tag, fname,
> el.text.strip()))
> +                            keys.append(el.text.strip())
>                      if el.attrib: ents.extend(el.attrib.values())
>                      for k in ents:
>                          key = None

How often would we be expected to run this? I assume that ideally we 
should do it with any update to the kid files, just to keep things in 
sync, right?

> 
>> The .po files have a header. Currently the translator field is empty. Is
>> it common for this to be the default, FULL NAME <EMAIL at ADDRESS>?
> 
> Ah, I forgot to change that to my name. Can you change it
> to my name?

Sure.

> 
>> It pulled in some pure code in some cases. It looks like:
>>
>> +#: ipagui/templates/ipapolicyshow.kid:td
>> +msgid "${ipapolicy.get(\"ipasearchtimelimit\")}"
>> +msgstr ""
>>
>> Should we leave these in there or remove them?
> 
> Or use py:content for the code in the td tag.

And I assume this is something we could go back to and fix later?

One last question. How would you recommend packaging? Would we want a 
separate package that contained the .pot file(s) for each language?

thanks

rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20080131/b4a223ae/attachment.bin>


More information about the Freeipa-devel mailing list