gettext/intl/po explained?



Something that has really caused me a lot of pain when trying to compile GNOME packages from CVS, is the gettext/i18n related part. Invariably, when I update a module and try to build it, I get some error related to intl and/or po. The steps to update a GNOME package usually become:

1. cvs -z3 update
2. [ Lots of conflicts for po directory ]
3. rm -f po/*.po; cvs -z3 update po
4. [ ARGHHH. Forgot about ChangeLog... ]
5. rm -f po/ChangeLog; cvs -z3 update po
6. ./autogen.sh
7. [ *Something* is wrong with intl/]
8. Update all sorts of build packages.
9. ./autogen.sh
10. [ Still won't work. ]
11. Some dirty hack, like cp -r <some other module>/intl .
12. ./autogen.sh
13. [ Possibly works now. ]

And if I also try to create an RPM, I tend to have:
14. make dist
15. rpm -tb <tarball>
16. [ po/Makefile and/or po/Makefile.in missing ]
17. Hack po dir or Makefile.am so that po/Makefile.in is included; don't expect it to be generated from Makefile.in.in.
18. ./autogen.sh
19. make dist
20. rpm -tb <tarball>
21. [ Oh, I'll be darned, it actually worked, now. Just like that... ]

This all comes from the fact that I haven't a clue about how this internationalisation thing is supposed to work (never do it for other apps, English is just fine), I'm sure. So can anyone explain it to me? Is it documented anywhere?

--
- Toralf



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]