QUOTE (Nebular @ Aug 30 2011, 02:43 PM)
I'd really like to update Chummer to work with multiple languages, and I've been getting more and more requests to translate it to German. Everyone has been asking for the source code though which isn't a feasible solution as there would then be different versions floating around - English version is at build Y, meanwhile the German version is updated independently and is only at version X
We agree and we came with a solution that overrides that problem.
QUOTE (Nebular @ Aug 30 2011, 02:43 PM)
because it takes a while for translations.
Yes and no. As I said, we've got access to an offical french xls master file.
When you write rpg, the main editor always have a file like this to show the official names they invented. In french rpg edition, these are usually called "bible".
Shadowrun is being translated by a french team. Each time they have to translate a gameplay element, they got used to put their translation in a single file like that.
We have this file, it's a xls. If we want a french.xml with "<English>Edge</English><Translation>Chance</Translation>", it's a matter of 10 minutes.
"If I were the german editor", I would have the same file somewhere.
QUOTE (Nebular @ Aug 30 2011, 02:43 PM)
What I'd like to do instead is put all of the language strings into a language-specific XML file. This would mean that only a single version of the application would need to exist, and people just need to provide translations for new strings as needed (with it falling back to English if a translated version isn't available).
We came with the same conclusions.
QUOTE (Nebular @ Aug 30 2011, 02:43 PM)
There are a few big problems with this.
1) There are a large number of strings in the application and pulling them all out, indexing them, and dumping them into an XML file is going to take a long time (and is about as fun as watching paint dry). This would also hold up any other updates as this is an all-or-nothing sort of change and cannot be released half-done. There are no critical bugs right now, so perhaps this is the best time to do it.
As I said, I only see some small problems coming with the indexation.
In this files there's indexes, but not Chummer's.
More like : found in "Arsenal", it's an "Equipement". Not a very precise Arsenal p.53 and it's a Weapon upgrade thingy like in chummer.
Maybe we could cross-reference chummer's xml with our xls. It should be easy if you have chummer's xlm in xls form.
QUOTE (Nebular @ Aug 30 2011, 02:43 PM)
2) This only addresses the application. The data files and character sheet files would still be in English. I don't know if that would be a problem or not, but I have no idea how to handle this if they would need to be in another language as they're replaced with each data/character sheet file update. My first thought is to provide identifier keys for all of the items, but that is a massive amount of work, would require a lot of stuff to be re-written, and would break every save file, so it's not really a solution as far as I'm concerned.
I don't really understand the problem as I'm not in Chummer's secrets.
We had the idea of having a second parser after Chummer's main parser.
When Chummer read in a xml in the purpose of affiching a value, it makes his job as usual but before affiching he use a/our translating module. The translating module would be the same as your main reader module, but he would search in french_gear.xml or german_gear.xml instead of searching in gear.xml for exemple. Then he returns the name to affich or work with.
translating module : input = the name to search, the language
French_gear.xml only contains the names in english, the supplement names, the reference and the names in french, no stats. Stats of items only exists in gear.xml
To summurize, you would have to do this second parsing (ie translate) each time you are not writing in a datafile. that way : When I create a charcter in my french language, the character is saved in a format that a user in english or a user in german can read and affich.
And the same if an english super cool man wrote a character megapack with new super awesome equipement. French/german would still be able to read it and use it, since that megapack (maybe it's allready made) have english data in it.
Of course, custom item would still be in english, but "who cares for a few items when you have 90% of them listed rigth as you want"
And also, of course, the notes would still be in french, no magic here.
QUOTE (Nebular @ Aug 30 2011, 02:43 PM)
Omae service itself shouldn't be a concern. It doesn't return any strings, only a status which the application interprets into a message, so those would be a part of the translated strings. The only snag is things like Qualities and Metatypes, if translated into another language, would not be translated back to English when someone searches.
Again, I don understand very well because you're the only to be in Chummer's dirty secrets
(and we don't want to interfere)