Ryzom-it italian community
my name is Riccardo, I'm organizing an italian community for the development and the translation of the Ryzom Core system. Our website is http://ryzomit.altervista.org/. We need tips or informations to start the translation of the software, so we can make a guide and post it on the site.
RE: Ryzom-it italian community - Added by sfb almost 2 years ago
This entirely depends on what you want to translate. First I want to make sure there's no confusion between Ryzom Core and Ryzom. If you want to help translate the Ryzom game (www.ryzom.com) into Italian you should contact email@example.com - Ryzom Core has no ability to update/translate/etc the Ryzom game as that is managed independently.
For translating the tools I would suggest only translating the Qt-based tools such as Object Viewer Qt and its plugins. You can find them in the Hg repository at: code/nel/tools/3d/object_viewer_qt. For the main tool you can find its translations in code/nel/tools/3d/object_viewer_qt/src/translations. What you would do is use Qt Linguist to create new .ts files, see: http://doc.qt.nokia.com/latest/linguist-manual.html for more information on Qt Linguist.
Some of the other plugins do not yet have translations set up for them so we could work together to add that functionality.
One thing to note is that Linguist will do a good job of fetching translations from the UI files but anything that we do dynamically in code may not be reflected there. So if you translate a page and find that there's still stuff untranslated you will want to look at the relevant code for tr() calls.
Now if you're talking about translating the newbieland in-game words and phrases this is a little more involved and hopefully about to change soon. I'll give you the brief basics and then explain what we hope it will be like in 1-2 months...
There are three basic translation file formats in Ryzom Core's game internationalization: words dictionary, words worksheets and the phrase worksheet.
- Words Dictionary is the .uxt file and are named by the two letter ISO name (e.g. en, ru, fr, etc). So for example en.uxt is for English. This file defines basic keyword-to-word pairs typically used by the UI in the client.
- Words Worksheets are words_xx.txt files that you find on both the client and server (in gamedev.bnp/languages for the client and in data_shard/langauges for the server). These represent things like the names of NPCs and creatures, character titles and so on. They are tab-delimited CSV files which, based on the type, provide the platform with a keyword (typically the sheet name) and a variety of other information to properly build a reference to the noun. creature_words_en.txt is a good one to look at.
- Phrase Worksheets are ways of expressing dynamically built phrases. These may be dialog between NPCs and players or entries into the journal and so on. These are a bit more complicated and looking at phrases_en.txt is probably a good first step to being intimidated.
Now! How will this change? The translation pipeline is complicated and messy right now and there's an obscure command line tool for extracting, performing differentials and merging returns from translators. The company that uses Ryzom uses it well but no one in the community is large enough to warrant such a tool, yet. Through the Google Summer of Code project we have two students working on two facets of the translation pipeline - tools for content designers and tools for translators.
By the end of SoC (next week) we'll have a mostly functioning tool for both sides of this and will need some time for polish and deployment. The first tool is a Translation Manager for OVQT which will allow content designers to edit the 'wk' sheets and send them to the other tool which presents what words and phrases are available and untranslated. The first tool allows a mission designer to quickly add translatable strings and phrases and push them out to the other tool which is a web-based crowd sourcing tool for translating these.
That brings me back one step - you can choose to edit each langauge individually (edit creature_words_en.txt and creature_words_ru.txt) but the pipeline (old and new) typically expects that you'll edit creature_words_wk.txt (wk == working sheet) and then find what lines/phrases are untranslated in the various languages.
Hope that doesn't overload you and feel free to ask questions. You may get more help and information if you join us on IRC at irc.freenode.net in channel #ryzom.