[prev in list] [next in list] [prev in thread] [next in thread]
List: olpc-etoys
Subject: Re: [etoys-dev] [Sugar-devel] Translating etoys home screen
From: Chris Leonard <cjlhomeaddress () gmail ! com>
Date: 2013-10-09 15:31:01
Message-ID: CAHdAatZhWDjHkE_YMg6tkdsjtTjTJ412jqto1At4GWS5unYLOw () mail ! gmail ! com
[Download RAW message or body]
The POT in the zip has been uploaded to Templates and propagated across langs.
Project-Home.pot
The following langs have been populated with the provided strings:
de, es, fr, ja, pt, pt_BR, zh_CN
I will also do the three English variants (en, en_US, en_GB).
So at least now there is a means of capturing the strings in Pootle
via translating the Project-Home.po for a given language. Building the
.pr is left as a manual process for the moment.
Daniel, ask the Armenian team translate these few words:
http://translate.sugarlabs.org/hy/etoys_new/
On Wed, Oct 9, 2013 at 7:52 AM, Bert Freudenberg <bert@freudenbergs.de> wrote:
> On 09.10.2013, at 12:31, Chris Leonard <cjlhomeaddress@gmail.com> wrote:
>
> > Bert,
> >
> > Would this POT capture everything that is needed?
> >
> > I can add it to Templates in Etoys and propagate it across langs.
> >
> > If you set it up in an SVN directory, we could even work on pushing it
> > to your repo, in the meantime, it would at least be in Pootle.
>
>
> I'm attaching a zip resulting from running the snippet below which exports all \
> translated strings from a project. In theory that could be used to automate project \
> translations in the future. And if someone makes the gallery and tutorial projects \
> translatable (by turning on the "translatable" property on the right strings and \
> providing one translation at least) we could use the snippet to gather those \
> strings, too.
> - Bert -
>
> > original translations msgids msgid msgstr ext |
> original := LocaleID isoString: 'en'.
> translations := Dictionary new.
> msgids := Dictionary new.
> World allMorphs do: [:m | (m isTextMorph and: [m translatable]) ifTrue: [
> msgid := (m translations at: original) asString.
> msgids at: m externalName put: msgid.
> m translations keysAndValuesDo: [:k :v |
> (translations at: k ifAbsentPut: [Dictionary new])
> at: msgid put: v asString]]].
> translations keysAndValuesDo: [:locale :trans |
> ext := locale = original ifTrue: ['.pot'] ifFalse: ['-', locale asString,'.po'].
> FileStream fileNamed: 'Project-', Project current name, ext do: [:f |
> f lineEndConvention: #lf.
> msgids keys asSortedCollection do: [:name |
> msgid := msgids at: name.
> msgstr := trans at: msgid.
> locale = original ifTrue: [msgstr := ''].
> f nextPutAll: '#: ', Project current name, '.pr ', name; cr.
> f nextPutAll: 'msgid "', (msgid copyReplaceAll: String cr with: '\n'), '"'; cr.
> f nextPutAll: 'msgstr "', (msgstr copyReplaceAll: String cr with: '\n'), '"'; cr.
> f cr.]]]
>
_______________________________________________
etoys-dev mailing list
etoys-dev@squeakland.org
http://lists.squeakland.org/mailman/listinfo/etoys-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic