trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: November 2010

Re: [trinity-devel] translation process

From: Denis Prost <denis.prost@...>
Date: Mon, 01 Nov 2010 21:05:44 +0100

Le 31/10/2010 09:17, Denis Prost a écrit :
>
>
>
> Le 31/10/2010 08:43, Kristopher Gamrat a écrit :
>> On Sun, Oct 31, 2010 at 3:11 AM, Denis Prost <denis.prost@... 
>> <mailto:denis.prost@...>> wrote:
>>
>>
>>
>>     Le 31/10/2010 03:09, Kristopher Gamrat a écrit :
>>
>>         On Sat, Oct 30, 2010 at 9:47 PM, Timothy Pearson
>> <kb9vqf@...
>> <mailto:kb9vqf@...>
>> <mailto:kb9vqf@...
>> <mailto:kb9vqf@...>>> wrote:
>>
>> > On Sat, Oct 30, 2010 at 16:18, Denis Prost
>> <denis.prost@... <mailto:denis.prost@...>
>> <mailto:denis.prost@...
>> <mailto:denis.prost@...>>> wrote:
>> >>
>> >>
>> >> Le 27/10/2010 09:31, Denis Prost a écrit :
>> >>>
>> >>>
>> >>>
>> >>> Le 26/10/2010 18:30, Denis Prost a écrit :
>> >>>>
>> >>>>
>> >>>>
>> >>>> Le 26/10/2010 17:51, Robert Xu a écrit :
>> >>>>>
>> >>>>> On Tue, Oct 26, 2010 at 02:32, Denis
>>            Prost<denis.prost@...
>> <mailto:denis.prost@...> <mailto:denis.prost@...
>> <mailto:denis.prost@...>>>
>>
>> >>>>>  wrote:
>> >>>>>>
>> >>>>>> Le 25/10/2010 23:00, Robert Xu a écrit :
>> >>>>>>>
>> >>>>>>> On Mon, Oct 25, 2010 at 15:37, Denis
>>            Prost<denis.prost@...
>> <mailto:denis.prost@...> <mailto:denis.prost@...
>> <mailto:denis.prost@...>>>
>>
>> >>>>>>>  wrote:
>> >>>>>>>>
>> >>>>>>>> Can the trinity developers take care of that ?
>> >>>>>>>>
>> >>>>>>> I think you should be able to compare with other po files
>>            and add
>> >>>>>>> it
>> >>>>>>> yourself :P
>> >>>>>>> I'll test for any breakage, if you desire.
>> >>>>>>>
>> >>>>>>>
>> >>>>>> I'm not sure I understand what you say. Do you mean
>>         adding new
>> >>>>>> strings
>> >>>>>> one
>> >>>>>> by one by hand in the po file ?
>> >>>>>> First, I might miss some new strings doing it that way.
>> >>>>>> Secondly, each trinity translater will have to do that
>>         manual
>> >>>>>> strings
>> >>>>>> adding
>> >>>>>> in his language po files. Seeing the number of languages
>>            trinity is
>> >>>>>> translated into, that seems to be a terrible waste of time.
>> >>>>>> A centralized process adding new strings to all po
>>         files in any
>> >>>>>> languages
>> >>>>>> would be a lot more efficient. I can't imagine there's no
>>            automatic
>> >>>>>> way
>> >>>>>> to
>> >>>>>> achieve this. But unfortunately I don't know how and don't
>>            have much
>> >>>>>> time to
>> >>>>>> investigate. I hope someone on the list has some knowledge
>>            about
>> >>>>>> that
>> >>>>>> topic.
>> >>>>>>
>> >>>>> hm, maybe Trinity could do something like Fedora does?
>> >>>>> https://translate.fedoraproject.org
>> >>>>>
>> >>>> I can't tell myself, but surely a clear translation process
>>            providing
>> >>>> all
>> >>>> instructions needed would help.
>> >>>> (not forgetting that translators are just translators and may
>>            be very
>> >>>> ignorant besides !).
>> >>>> Regards,
>> >>>>
>> >>>> Denis
>> >>>>
>> >>> Maybe what we're looking for is here :
>> >>>
>> >>>
>>         
>> http://developer.kde.org/documentation/library/kdeqt/kde3arch/kde-i18n-howto.html#SECTION00050000000000000000
>> >>> especially chapter 3 about Makefile.am.
>> >>> As far as I understand (I just checked quickly) It seems that
>>            "make
>> >>> messages" should be run periodically on the source tree by its
>> >>> administrator
>> >>> to update the pot files, followed by some command to merge the
>>            new pot
>> >>> files
>> >>> with the existing corresponding po files for each language (at
>>            present
>> >>> time,
>> >>> the po files seem to exist only in kde-i18n directory as
>>            tarballs :
>> >>> maybe if
>> >>> they existed as untared in svn, it would be more easy to do
>>            the merging
>> >>> and
>> >>> then for the translators to update them.
>> >>>
>> >>> Regards,
>> >>>
>> >>> Denis
>> >>
>> >> As long as there is no centralized process to update the po
>>            files, I'm
>> >> trying to do it myself, but I don't know enough of the
>>            development tools
>> >> to
>> >> achieve it. Maybe someone might help me :
>> >> I'd like to run "make messages" in kdebase/kicker source
>>            directory, but
>> >> there is no Makefile in it, only Makefile.am. How can I
>>         generate
>> >> Makefile
>> >> from it, what command should I run ?
>> >> Thanks,
>> >>
>> >
>> > I recommend asking Timothy Pearson on how to do this.
>> > You can see this:
>> >
>>         
>> http://trinity.pearsoncomputing.net/wiki/bin/view/Developers/HowToBuild
>> > and it'll tell you have to run make -f admin/Makefile.common....
>> > Then from there I suppose you could look at Makefile.in and
>>         such.
>> >
>> > --
>> > later, Robert Xu
>> >
>>
>>            Sorry, I do not know how to do this either.  I never was
>>         involved
>>            with the
>>            translation arm of KDE, so it's just something I never
>>         learned to do.
>>
>>            Tim
>>
>>         The obvious first step (after downloading and unpacking the
>>         sources, of course) is to find where the original strings are,
>>         then translate those into whatever the target locale. You'd
>>         then need to follow whatever the format for the project is in
>>         saving the translated strings into their own locale files
>>         (generally speaking). I can't be specific to any particular
>>         project, it is simply an observation that most projects keep
>>         their language files organized in a separate directory inside
>>         the sources, so I can't be specific to KDE3.
>>
>>         --         Kris
>>         "Piki"
>>         Ark Linux Webmaster
>>         Wannabe Ark Linux packager
>>
>>     Thanks to all of you for your answers.
>>     It seems that I have to restart from Tim HowToBuild page.
>>     But I'm stuck with /<path to your system's libool.m4 file> and
>>     //<path to your system's ltmain.sh file>
>>     /What are these files, where can I find them (locate did not find
>>     them) ?
>>     Thanks,
>>
>>     Regards
>>     /
>>     /
>>
>>
>> I think (not quite sure) they may be related to Autoconf and 
>> Automake. Make sure you have them installed, then run the updatedb 
>> command as root to update the file database for locate. From there, 
>> hopefully those files will appear. If not, post back and someone else 
>> will come to the aid.
>>
>>
> Thanks Kris, with automake installed and after updatedb, I can locate 
> these files.
> Now, I'm going on for the build process hoping that it will provide me 
> Makefiles with "messages" target at the end.
>
Some news : here is where I am in my attempt to achieve the translation 
process :

1) For every module, I ran :
     cp -Rp /<path to your system's libtool.m4 file>/ admin/libtool.m4.in
     cp -Rp /<path to your system's ltmain.sh file>/ admin/ltmain.sh
     make -f admin/Makefile.common
     ./configure (with options as indicated by Tim for debian)

2) after the operations, some of the generated Makefiles had a 
"messages" target in them, to produce the corresponding pot file

     For example, in kdebase/kcontrol/kicker/Makefile :

     messages: rc.cpp
         (cd ../../kicker/data/tiles ; ls *_tiny_up.png) | perl -p -e \
           's/(.*)_tiny_up\.png/i18n\(\"\u$$1\"\)\;/; s/[_ ]+(.)/ 
\u$$1/g' >> rc.cpp
         $(XGETTEXT) *.cpp -o $(podir)/kcmkicker.pot

3) so I tried "make messages" on one of them :

=> a) first error : "missing separator (did you mean TAB instead of 8 
spaces?)."
         It was solved performing unexpand on the Makefile (don't know 
why tabs were replaced by spaces in Makefile, is there any way to avoid 
this ?)

     b) second error : "No rule to make target `rc.cpp'"
         I googled for that error : as far as I understand, it seems 
that this is the extractrc script that did not do its job extracting the 
i18n strings to generate rc.cpp. But I don't know where in the build 
process it is supposed to be called. Should I have run "make" before ? 
(I'm trying as much as possible to avoid a full build process, that 
should not be required just for extracting i18n strings from source).

Thanks for any help,

Denis