I haven't followed this discussion in detail, but babelfish is easy to implement in django, however you need a bit of low-level hackery, I easily got it working (and I am not a regular Python hacker), I had all the babelfish stuff running db-based (templates and translations), completely replacing gettext. That project was just a proof-of- concept. Start with looking the babelfish django integration they are offering, that shows how to do things (helpful even if you are not using django)
-- Roberto On Aug 1, 6:56 pm, Jason Salas <digitalpontificat...@gmail.com> wrote: > I've used Babelfish only as a web tool, never an API, so does that > option exist? You can leverage GAE's urlfetch lib and make a remote > call if Babelfish has a REST interface. > > On 8/2/09, Emilien Klein <emilien.kl...@gmail.com> wrote: > > > > > > > > > OK, thanks Rodrigo for the link to Babel. I had already seen it, but > > never used it. > > The problem I see with using Babel is that it IS an external library, > > which means that I need to integrate it with my project. What I'm > > looking for is a way to have a translated application WITHOUT having > > to install any external library... > > > I am looking at > >http://makeyjl.blogspot.com/2009/02/using-djangos-i18n-in-google-app-... > > right now, and (while I'm not done playing around) I have already been > > able to generate .po files, and my application still works OK. I'm > > going to continue playing around, and then I'll report here about how > > it went. If everything works fine I might even write a Knol article to > > explain my steps (the article is not 100% accurate, I had to find out > > to add "{% load i18n %}" in the templates for instance... > > > If anyone has another way of translating App Engine applications using > > only the available tools, fell free to share it! > > > On 31 juil, 18:17, Rodrigo Moraes <rodrigo.mor...@gmail.com> wrote: > >> Now, anwering some other questions. > > >> > - I suppose that the .po / .mo files that open source projects > >> > traditionally use can not be used in the App Engine world? > > >> Yes, you can use those files with gettext functions. You'll probably > >> need to wrap those functions and write some utilities to make it > >> easier to use - but you don't need to do that because there are > >> excellent libraries that have done it - Babel is the most known in the > >> python world (I actually don't know any other). > > >> > - Would you have various template files for each languages (like a > >> > contact.en.html, contact.fr.html, contact.nl.html, etc.) and use the > >> > appropriate file depending on the language that has been detected from > >> > the browser header? > > >> No! You would use one template, and have the strings wrapped by a > >> translation function. The convention is to use a function name "_". > >> Like: > > >> {{ _("This is my string - I'll translate it later, and if not it'll be > >> in English forever.") }} > > >> There are issues you'll find, like how to handle singular/plural and > >> string replacements, but existing solutions cover that. > > >> > - Would you use a single template file, but pass it the strings one by > >> > one that you would retrieve from the datastore (ouch, just writing > >> > this solution hurts!) > > >> Absolutelly no. The strings are stored in a .po file, which you > >> compile into a .mo file. This if you go for the widely used gettext. > > >> > Note: if you execute the following command from inside the GAE dev > >> > server folder: > >> > find | xargs -i grep -iH i18n \{\} > >> > you will see that a lot of files contain the string i18n, and that all > >> > are related to django. Does that mean that we could use standard > >> > Django internationalization techniques, or is it just that Google < > >> > forgot > to remove those files? > > >> I tried to use Django's i18n. Unfortunately Django is too tied to > >> itself and that library is not reusable outside of Django. Fortunately > >> later I found a standalone, reusable, well written one: Babel. It > >> works very well. > > >> -- rodrigo > > -- > Sent from my mobile device --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---