On Wed, Apr 06, 2011 at 10:07:15PM -0500, Dan McGee wrote: > On Wed, Apr 6, 2011 at 9:27 PM, Lukas Fleischer > <[email protected]> wrote: > > On Wed, Apr 06, 2011 at 10:26:35PM +0200, Lukas Fleischer wrote: > >> Hi, > >> > >> I thought about this sometime ago. The existing i8n files shouldn't be > >> too hard to convert and we could move translation work to some more > >> appropriate platform like Transifex which is used by pacman already. PHP > >> gettext integration doesn't seem to be too bad and our PHP is compiled > >> with gettext support by default, also. > >> > >> Any opinions/objections? > > > > Pushed a first draft to my "wip" branch. There still is a bunch of hacky > > stuff that needs to the reviewed or fixed. This should rather be > > considered as some code to play around with. > > > > Patches welcome. > > Hmm. You're missing like the most important part- how are you > generating the original message catalog? I came up with this, this > should be the very first patch as "make catalog" or something: > $ grep -RFl '__(' web/* | xargs xgettext --default-domain=aur -L php > --keyword=__ > > And then naming this file aur.pot
Done. `make update-pot` can be used to (re)build the catalog now. > A much better solution is obviously not to grep, but to put the > filenames in a POTFILES file (pretty standard convention), and then > using the --files-from flag. You can also use the --directory=web flag > to not have to duplicate that in every path specified. Read the > manpage of xgettext for some other things to consider: c-format > strings, whether to include line number comments (I'd encourage > against them as it generates a lot of churn in the files hiding the > actual changes). Yes, did that. > Next, I'd recommend setting up some makefile shortcuts for running > msgmerge to update the translation files from the catalog. Then use > this to make another checkin of the language-specific po files so they > are in a more "native" format, with the headers and all that. Done. You can use `make update-po` to update all ".po" files or `make $foo.po-update` to update a single ".po" file now. > Patch notes: > * A capital gettext domain seems silly and out of character; I'd > really just think about going with "aur". Done. > * Use --check when calling msgfmt. Done.
