Translation and Localization

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Post Reply
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16093
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Translation and Localization

#1 Post by PyTom »

So, here's the deal.

Right now, translation of Ren'Py and the Ren'Py Launcher takes place in a fairly ad-hoc way. I update the English template to the translations page, and people sort of try and figure out what's changed, and update their languages to match.

This is running into several problems:

1) I've been avoiding making string changes to Ren'Py, so as not to invalidate older translations. This limits what I can do.
2) People are making more complete translations of Ren'Py, including the Launcher. This is fundamentally good.
3) The launcher is being totally rewritten, as Launcher2. This leaves us in a scenario where the translation files are about half-complete.

Basically, we need a translation management system. I'd like one that's largely user-run, such that people can start their own translation projects, update translations, and download a file suitable for inclusion with Ren'Py... all without me having to get involved.

I've looked into a couple of web-based translation solutions. Launchpad (Rosetta) is slow, often impractically slow, and it's very hard to get the data out of the system. Pootle is nice and fast, but requires a lot of administration work to add new languages, update those languages, etc.

What I'd like is suggestions from our translators about how to go about fixing this. I'd like my involvement with translations to be me uploading a message catalog (a po file, or something similar) to some site, and then let the translators do their thing, with the end result being some sort of file Ren'Py can read back in. (I'd be willing to make reasonable modifications to Ren'Py to let it read some sort of translations file.)

I'm not willing to do a lot of unpaid work writing my own translation website. Translation to languages other than English doesn't benefit me much, and so I'd rather spend my time on more interesting projects.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Jo'ogn
Veteran
Posts: 398
Joined: Sat Jul 12, 2008 1:31 pm
Projects: Kassiopeia [iVN]
Location: Deutschland
Contact:

Re: Translation and Localization

#2 Post by Jo'ogn »

I have no real idea, the whole approach of replacing the English string in order to translate it is, put frankly, absurd.
config.translations[u'Are you sure you want to return to the main menu?\nThis will lose unsaved progress.'] = u'Wirklich zum Hauptmenü?\nNicht gespeicherter Spielstand wird verlorengehen.'
The moment you separate variable from string you can change your English text as much as you want to without disabling other translations... I should think o_o

On this occasion you might want to consider built in support for switching languages?

If each language could have it's own ren'py file like: gui.en.rpy, gui.de.rpy, gui.it.rpy, you might not even need a big managment system, unless you add and/or change your variable names every five minutes. If you add another variable once per year I guess ppl can handle that manually. Have ren'py fall back to the English variable in case one in the translation is missing.
Audio Plays: [original] The White Feathers Directive - [Star Wars] Through Flame and Shadow
Ren'Py: Kassiopeia [very interactive VN] work in progress - looking for proof reader english

User avatar
killdream
Veteran
Posts: 325
Joined: Wed Nov 05, 2008 1:05 pm
Projects: EVūL (WIP), insilo (WIP), Cute Demon Crashers!
Deviantart: robotlolita
Github: robotlolita
Location: World's End (aka Brazil)
Contact:

Re: Translation and Localization

#3 Post by killdream »

I don't know about any web-based translation management. But python comes with a gettext module (altough I've never used it, I'm still pretty new to most of Python stuffs .-.), so you could upload the .mo file (I guess was it) and peoples would translate and such. The program would search for the proper localizations in a folder, I guess, what'd give less headaches to peoples trying to figure out how to use a translation file.

Aenakume
Regular
Posts: 182
Joined: Mon Aug 11, 2008 4:38 am
Projects: Arts... i hate arts -_-
Contact:

Re: Translation and Localization

#4 Post by Aenakume »

Wouldn't gettext do the job? What more would you need? I mean, something fancy like what they have on launchpad would be cool... but you can do the job just fine with just gettext.

And if you wanted to get fancy, put the .po files in a revision control system like CVS or Subversion and multiple people can do translations for the same language easily.

What more would you need?
“You can lead a fool to wisdom, but you cannot make him think.”

Post Reply

Who is online

Users browsing this forum: No registered users