Chaosforge Forum

DoomRL => Requests For Features => Topic started by: bardysya on March 03, 2012, 03:32

Title: DoomRL on different languages
Post by: bardysya on March 03, 2012, 03:32
Hi there! I just want to know - Does the DoomRL have any translations on different languages. I'm sure, if this game  be translated, there will be more fans of the game. So, at first, I'm from Kazakhstan, and we talk in russian. So, I can traslate this game on russian language, it wouldn't be very hard for me. At second, I think, we need people, who can speak other languages, and then translate the game on other languages.
P.S. Sorry, if I have grammatical mistakes, I just learn to speak english.
OK, we've got people to translate, at least people. I just make a little list of languages and translators:

Klear, ZicherCZ - Czech
Parasait - Dutch
Bardysya, you, motorheadbanger, ckopo - Russian
Kashi - Spanish

At future, I think, the list will be supplemented. But now it is all we have
Title: Re: DoomRL on different languages
Post by: Motorheadbanger on March 04, 2012, 01:34
I can help with it, too.
Title: Re: DoomRL on different languages
Post by: Klear on March 04, 2012, 05:26
If there was some sort of translation effort, I could help with Czech.
Title: Re: DoomRL on different languages
Post by: bardysya on March 04, 2012, 06:02
Ok, now we got at least two more people. Maybe I'll do the list with member and language he'll work with? But the first thing we need, is all text from DoomRL.
Title: Re: DoomRL on different languages
Post by: ParaSait on March 04, 2012, 06:21
Actually this is a good idea.
I could translate to Dutch.
Title: Re: DoomRL on different languages
Post by: you on March 04, 2012, 09:13
Can help with Russian.
Title: Re: DoomRL on different languages
Post by: thelaptop on March 04, 2012, 09:51
Good grassroots work everyone, but this will need Kornel to first stringify Valkyrie so that we can do the internationalisation efforts.  I think I might have talked to him about this before, and maybe he might implement it.

But it's not going to be that soon though, so everyone, hold on to your hats!  =)
Title: Re: DoomRL on different languages
Post by: Klear on March 04, 2012, 10:37
I figured this would be the case. Whenever translations become possible and if I'm still around, I'll be glad to help.
Title: Re: DoomRL on different languages
Post by: Kornel Kisielewicz on March 04, 2012, 12:42
There are actually two separate problems here. First is the character map -- even if using UTF, I need the character map to fit into a single texture. While this won't be a problem in 80-90% cases, it might prove difficult for (e.g) Mandarin Chinese. That also means that the engine will have to operate on two string types -- internal ASCII strings for handling lua, xml etc, and UTF for handling displayed messages and text. I only barely know how to handle UTF in pascal, and even less how to make Lua play along.

The latter can be very easy or extremely hard depending on the language in question -- many messages in DoomRL are constructed on the fly (The former human uses a large medpack! The former human looks healthier!) -- those require at least some basic grammar rules, and I know that (for example) translating that sentence to non-broken Polish would take a lot of work including implementation of full declination tables...

So... hints?
Title: Re: DoomRL on different languages
Post by: RSO on March 04, 2012, 13:21
Quote
The latter can be very easy or extremely hard depending on the language in question -- many messages in DoomRL are constructed on the fly (The former human uses a large medpack! The former human looks healthier!) -- those require at least some basic grammar rules, and I know that (for example) translating that sentence to non-broken Polish would take a lot of work including implementation of full declination tables...

I'm probably misunderstanding the problem, but I don't think you'd need to code anything for grammar - just use replaceable tokens. "The %unit% uses a %item%". For languages with different word orders, the tokens would just need to be placed in a different order in the template string.

...Though I can see how things like a/an (in English) or noun-verb gender agreement in certain languages could still cause problems.
Title: Re: DoomRL on different languages
Post by: ZicherCZ on March 04, 2012, 13:39
If there was some sort of translation effort, I could help with Czech.
If any translation is going to happen, I can add my Czech language skills :).
I can already imagine that diacritics can be a problem, but I believe that the game would be understandable even without them. Declination would be a much tougher nut to crack in Czech (quite similar to Polish) t - without declination, the texts would probably sound very awkward ...
Title: Re: DoomRL on different languages
Post by: Motorheadbanger on March 04, 2012, 13:47
I can't think about any big issues with Russian on the second thing.
Title: Re: DoomRL on different languages
Post by: bardysya on March 04, 2012, 18:54
I can't think about any big issues with Russian on the second thing.
Yes, because just some words would have sound kinda strange, but if we can competently replace this words in similar, we'll get very good translationof the game.
P.S. Maybe it is suitable for other languages?
Title: Re: DoomRL on different languages
Post by: HexaDoken on March 06, 2012, 05:31
Well, we at Russia quite got used to translation error due to messages being constructed on the flight. For example, something that would sound to you like "You no in stairs", horribly wrong but understandable, is pretty much what we get every time when we play a translated game which uses constructing messages on the fly. I believe that some other countries got used to this thing too.

Also, is it just me or the majority of people here are russians?

And, of course, I can help with russian translation too, but I doubt that will be needed given the amount of people who voulentereed before me.
Title: Re: DoomRL on different languages
Post by: Motorheadbanger on March 06, 2012, 05:47
HexaDoken, as for me, I think that loсalizers should do better work then something like this. I also hate when this happens, so now I use mostly software in English.
Title: Re: DoomRL on different languages
Post by: Klear on March 06, 2012, 07:21
Well, we at Russia quite got used to translation error due to messages being constructed on the flight. For example, something that would sound to you like "You no in stairs", horribly wrong but understandable, is pretty much what we get every time when we play a translated game which uses constructing messages on the fly. I believe that some other countries got used to this thing too.

Yeah, that happens with Czech too. People are used to that. BTW, this reminds me that a month ago I wanted to watch Isaev (http://www.imdb.com/title/tt1179592/), being a fan of Seventeen moments of spring, but the only non-russian subtitles I could find was an automatic transaltion to English. It was really hard to keep up, so I eventually gave up after the first episode. From what I've seen the series isn't that great, though I'd like to give it another go under better circumstances.
Title: Re: DoomRL on different languages
Post by: HexaDoken on March 08, 2012, 00:41
HexaDoken, as for me, I think that loсalizers should do better work then something like this. I also hate when this happens, so now I use mostly software in English.
You probably don't really understand how the localizations USUALLY work.
USUALLY, games have the so called "string file" somewhere which holds all the messages that can pop out in the game. The localizers take this file, and translate it to desired language. If all lines are plain fixed, then everything is perfect - all lines can be perfectly translated to any language. But, if they are constructed on the fly(as it usually happens, since it's better codewise), then whoops. Either localizers have to deal with it, resulting in horrible grammar errors, either they have to modify the code of the game itself, to change the line generation proccess, which is impossible without sourcecodes, and bad, especially if the game is multiplayer one, since internally modified game won't be able to connect to original games, while just changing that string file is fine. In other words, it is better to provide a shit translation than rebuilding the game and possibly breaking things up horribly.
All the same things can happen not only with games, but pretty much any software existant.

Although, I tend to use mostly english software, too.
Title: Re: DoomRL on different languages
Post by: Motorheadbanger on March 08, 2012, 05:36
Nope, I DO understand. I mostly tell about bad translations that are made спустя рукава.
Title: Re: DoomRL on different languages
Post by: Kashi on March 08, 2012, 05:39
I can give a hand with Spanish, if you need it.
Title: Re: DoomRL on different languages
Post by: bardysya on March 08, 2012, 06:02
@Kashi
Ok, I'll write you in the list for now.
Nope, I DO understand. I mostly tell about bad translations that are made спустя рукава.
But not all the translations are bad...
Title: Re: DoomRL on different languages
Post by: you on March 08, 2012, 10:05
Nope, I DO understand. I mostly tell about bad translations that are made спустя рукава.
There are lots of much worse translatons that are made забив болт.
Title: Re: DoomRL on different languages
Post by: ih8regin on March 08, 2012, 22:27
PRoMt translations are IMO the worst of all made, and there is a lot of them.
Title: Re: DoomRL on different languages
Post by: ckopo on March 09, 2012, 02:10
I can help with PROMT-less Russian translation. c:
Also, I thought about that, and I was going to start translation topic, but I`m late. :D

Русский на форуме работает? Отлично.
Есть такие вопросы:
А как переводить-то будем? Через Translated.by?
Знает ли об этом автор и что он думает?
И, как ни странно, здесь имеется трудность перевода. Падежная.
Например, если пользоваться только именительным, то в мортеме, например, будет такая белиберда: *игрок* был убит падшая душа. Решения?
Title: Re: DoomRL on different languages
Post by: bardysya on March 09, 2012, 02:28
Ok, I'll write on russian and on english:
Translation won't be made just by translation sites like translate.google.com and others. We'll translate on our own forces (maybe with some help)
Теперь по-русски:
Автор знает об этой идее, он за, только там какие-то сложности возникли.
Например, если пользоваться только именительным, то в мортеме, например, будет такая белиберда: *игрок* был убит падшая душа. Решения?
Просто правильно просклонять: *Игрок* был убит падшей душой (хоть выглядит чутка нелепо, но можно будет исправить.
Title: Re: DoomRL on different languages
Post by: ckopo on March 09, 2012, 02:34
[English language: *nothing to do there*]

Если использовать склонения, то понадобится уделить больше строк в файле с игровым текстом (много монстров, несколько падежей, дохрена текста).

А если экономить, придется извращаться с текстом. За примером далеко бегать не надо, та же самая падшая душа в мортеме.
...был убит врагом Падшая душа. *пфф*
Title: Re: DoomRL on different languages
Post by: bardysya on March 09, 2012, 02:36
Лучше не экономить... Пусть будет длиннее, но красивее и читабельнее.
Title: Re: DoomRL on different languages
Post by: ckopo on March 09, 2012, 02:40
Лучше не экономить... Пусть будет длиннее, но красивее и читабельнее.

Это кодерам скажи. ИМХО, тяжеловато будет в код впрягать функцию "склонятеля".
Нет, мне, например, не будет тяжело переводить все склонения. Но кодеры...
Title: Re: DoomRL on different languages
Post by: bardysya on March 09, 2012, 02:44
А зачем склонятель... достаточно просто вписать все с падежами...
Title: Re: DoomRL on different languages
Post by: ckopo on March 09, 2012, 03:15
достаточно просто вписать все с падежами...

Посвятите неграмотного, как? =Р
По идее, надо записать для каждого объекта все нужные падежи и обращаться к ним, когда нужно.
Под склонятелем я имел в виду приставку к коду, формирующему на экран сообщения на лету. Эта приставка обращалась бы к падежам,
приписанным к объектам.
Title: Re: DoomRL on different languages
Post by: Shoop da Whoop on March 09, 2012, 05:40
Вряд ли понадобятся прямо-таки все падежи. Достаточно именительного (кто бьёт/атакует/стоит вон там), винительного (соответственно, кого бьют/и т. д.) и творительного (кем был убит).

Для примерного списка строк есть, в принципе, вики. Например, level feelings.
Title: Re: DoomRL on different languages
Post by: you on March 09, 2012, 05:56
А сейчас все те, кто не имеет доступа к репозиторию быстро, решительно взяли и замолкли касательно технической части. Большая часть событий генерится луа-скриптами (в том числе и мортем и база данных с монстрами), адаптировать под падежи не так уж и сложно.

BTW this thread was occupied by Red Army Special Forces.
Title: Re: DoomRL on different languages
Post by: Klear on March 09, 2012, 06:06
No kidding... could you maybe post some summary in english so the rest of us knows what is going on? =)
Title: Re: DoomRL on different languages
Post by: Shoop da Whoop on March 09, 2012, 06:12
We're discussing problems of declension (http://en.wikipedia.org/wiki/Declension) in Russian (as well as any Slavic) language and how to implement it.
Title: Re: DoomRL on different languages
Post by: ZicherCZ on March 09, 2012, 06:20
We're discussing problems of declension (http://en.wikipedia.org/wiki/Declension) in Russian (as well as any Slavic) language and how to implement it.
Well, the Czechs of us face the similar, if not worse, problem. Perhaps you may share your results with us? I can read Azbuka, but I certainly am not able to reply :).
Title: Re: DoomRL on different languages
Post by: Midnight on March 09, 2012, 06:32
Если адаптировать код таки не получится то всегда можно попробовать переделать предложения так, чтобы использовался только один падеж. Правда, понадобится фантазия.
Title: Re: DoomRL on different languages
Post by: HexaDoken on March 09, 2012, 06:53
Perhaps you may share your results with us? I can read Azbuka, but I certainly am not able to reply :).
Three suggestions.
1) Grab the repo and redo it specifically for the Russian language. We have people who are able to do it. The problem is that it will be tedious to keep the localization up to date with the mainstream versions of Doom RL.
2) Try to translate the way where declension stops being an issue. The problem is that success of this plan is doubtable, will require a fair part of imagination al well.
3) Deal with it. This will work for sure, but the problem is that it sucks.

Вобщем, адаптировать то код получится полюбасу, заставим получится... но вот запихивать всю эту падежную фигню в основной релиз туповато получается, а пилить новую "Русскую" версию каждый раз как выходит оффициальная муторно. Конечно гораздо меньше работы будет чем в первый раз но муторно.
Фантазию попробовать применить таки можно, но не факт что получится. Порой, фантазии мало. Да и не у всех она есть. Но попробовать таки можно.
Можно конечно сделать и "был убит потерянный душа". Но это уже на крайняк.
Title: Re: DoomRL on different languages
Post by: ZicherCZ on March 09, 2012, 07:36
Three suggestions.
1) Grab the repo and redo it specifically for the Russian language. We have people who are able to do it. The problem is that it will be tedious to keep the localization up to date with the mainstream versions of Doom RL.
2) Try to translate the way where declension stops being an issue. The problem is that success of this plan is doubtable, will require a fair part of imagination al well.
3) Deal with it. This will work for sure, but the problem is that it sucks.

1) is definitely the way I would personally like to go. There will be quite an effort in the beginning - but I don't believe there will be too much text to change between the versions (and the devs will certainly let us know in the changelog).
And of course, we would have to be able to change the repo to each and every particular language. Given the fact that Czech is the language with second toughest grammar structure in the world (at least that's what I heard), this would really be Tough As Nails.
Last but not least - this would require some serious programming skills to see how the messages are constructed at first, then creating the grammar structure and then applying it into the game.
Last but very first - DoomRL is closed-source so far. I believe that a translation squad would be given access to some portion of needed source code - but ingame testing would probably be a completely different issue.

2) At some point better than at the others:
"Here lies: a medkit" and "The sergeant uses: a medkit" sounds certainly not that awkward. But let's say:
"You attached: a power mod to: a pistol" (not a real game example, but usable for this consideration) would be way tougher without going the 1) way.

3) Always an option. But the goal of attracting non-English-speaking players to DoomRL would then be rather screwed.

All in all, I can barely offer any other suggestion than to create a dictionary for each language, with all the declension needed, and a list of the "on the fly" generated messages. Most difficult to start, I believe, but also the easiest to keep up with further versions.
Title: Re: DoomRL on different languages
Post by: Klear on March 09, 2012, 08:01
Given the fact that Czech is the language with second toughest grammar structure in the world (at least that's what I heard), this would really be Tough As Nails.

Good thing I'm a Badass when it comes to this. I love to play with language, and I'm actually doing it for a living this month.
Title: Re: DoomRL on different languages
Post by: thelaptop on March 09, 2012, 09:39
I can help with simplified Mandarin if need be.

Though I'm wondering if most of our Chinese visitors are mostly spammers or actually interested in playing DoomRL.  >.<
Title: Re: DoomRL on different languages
Post by: ParaSait on March 09, 2012, 09:57
Don't be beech...
Be Russian!
Title: Re: DoomRL on different languages
Post by: Uitë on March 09, 2012, 10:45
Well, Dutch has its problems as well, but from a purely technical standpoint, I think a regular string substitution would work well enough.
Title: Re: DoomRL on different languages
Post by: ParaSait on March 09, 2012, 17:42
Well, Dutch has its problems as well, but from a purely technical standpoint, I think a regular string substitution would work well enough.
You have the Dragonslayer gefounden!
\o/
Title: Re: DoomRL on different languages
Post by: ckopo on March 09, 2012, 18:32
А сейчас все те, кто не имеет доступа к репозиторию быстро, решительно взяли и замолкли касательно технической части. Большая часть событий генерится луа-скриптами (в том числе и мортем и база данных с монстрами), адаптировать под падежи не так уж и сложно.

Хо-хо-хо. Ну ладно.
Раз с падежами проблем не предвидится... Пойду поперевожу. с:
Title: Re: DoomRL on different languages
Post by: Zalminen on March 13, 2012, 02:40
Finnish would be difficult as well, but I have a feeling that most of the Finnish who are interested in playing DoomRL would prefer playing it in English anyway.
Title: Re: DoomRL on different languages
Post by: Benkyo on March 14, 2012, 03:27
I can translate into Japanese. Got the free time and the motivation, and knowing the Japanese gaming community as I do it's a translation they really need! How can I get started?
Title: Re: DoomRL on different languages
Post by: you on March 14, 2012, 04:14
I think wiki translation is the best thing all of us can do here.
Title: Re: DoomRL on different languages
Post by: bardysya on March 14, 2012, 06:33
I can translate into Japanese. Got the free time and the motivation, and knowing the Japanese gaming community as I do it's a translation they really need! How can I get started?
You can just start translating, but you need to know does the FPC Valkyrie supports Japanese...
Title: Re: DoomRL on different languages
Post by: Reverend Bizarre on March 31, 2012, 08:06
I joined Russian translation team.
Title: Re: DoomRL on different languages
Post by: Belk on April 24, 2012, 18:54
Судя по тому что перевод затягивается второй месяц его можно вообще не ждать. Это же не РПГ какая-нибудь, чего там переводить?
Если вам лень/не охота/нет времени заниматься переводом напишите что где надо править я займусь.

If you lazy/dont want/have not time make Russian translate write me how to do it.
Title: Re: DoomRL on different languages
Post by: AlterAsc on April 25, 2012, 00:47
Get source code, rewite it, profit!
If i understand correctly translation efforts(or at least implementing translation in game) has not started, so there's no point to say that someone is lazy.
Reread this thread, it was all discussed.
Title: Re: DoomRL on different languages
Post by: Belk on April 25, 2012, 00:49
Whom I get to kill to get source code to translete it?
Title: Re: DoomRL on different languages
Post by: pacmanus on April 25, 2012, 01:16
Hopefully I will helpful for translation into Russian. However, sources are not yet available. We are waiting for version 1.0.0.
Title: Re: DoomRL on different languages
Post by: ZicherCZ on April 25, 2012, 03:16
I like the idea of translating the DoomRL Wiki to other languages, but I am unfamiliar with creating a whole new language version. I would be willing to go for Czech translation, but I would need a few pointers to get a new language running (not the articles per se, I edited some in the past).

Title: Re: DoomRL on different languages
Post by: thelaptop on April 25, 2012, 07:32
Whom I get to kill to get source code to translete it?
In practice, one does not need the source code to translate the presented text into another language.  All the display strings would be abstracted into a string table that is loaded from the various "language packs".  This is the standard practice.

At present, Valkyrie (the library that DoomRL is based on) does not have this ability yet.  Even if we reach 1.0.0, if the ability stringify isn't out, the translation work would be too tedious and error prone.
Title: Re: DoomRL on different languages
Post by: pacmanus on April 25, 2012, 11:24
Then, we hope this feature will be presented in future =) And, yes, wiki might be some sort of training ability.
And only time needed. Other things - is smaller things.
Title: Re: DoomRL on different languages
Post by: e^cha on April 29, 2012, 15:24
I can help with russian translation too )
Title: Re: DoomRL on different languages
Post by: LuckyDee on April 29, 2012, 16:13
This thread totally escaped my attention up until now. I'd be glad to help as well; Dutch will be no problem, and I should be able to get quite some stuff done in German as well.

However: what about the translations of names (enemies/levels/weapons/anything). Dutch is so heavily interlaced with English words, that it would sound really amateuristic to translate these things. Germans, on the other hand translate *EVERY (http://www.youtube.com/watch?v=K_XJNnP-qh0)/THING (http://www.3dsupply.de/products/94-ich-liebe-es-wenn-ein-plan-funktioniert/)*

How does this work out in other languages?
Title: Re: DoomRL on different languages
Post by: thelaptop on April 29, 2012, 16:34
It'll be messy for mandarin.  Most non-named entities would require functional translations, while those with strange person names *coughcoughMalekcoughcough* might require creative transliteration.
Title: Re: DoomRL on different languages
Post by: Benkyo on April 29, 2012, 17:58
Japanese would not be a problem, as there is a separate set of phonetic characters for foreign words/names. The issue is support for double-width characters etc.
Title: Re: DoomRL on different languages
Post by: Klear on April 29, 2012, 23:27
I guess it would be best to to find out if the games were ever translated and use that, though it might be difficult. While it is unlikely that Doom 1 & 2 were traslated, localized versions of Doom 3 ought to exist... A manual would be enough.
Title: Re: DoomRL on different languages
Post by: SugarOrc on May 09, 2012, 21:52
Доступа к репозиторию нет, но немного наговнокодил:

Code: [Select]
--[[
http://ru.wiktionary.org/wiki/Викисловарь:Использование_словаря_Зализняка

http://ru.wikipedia.org/wiki/Склонение_(лингвистика)
http://ru.wikipedia.org/wiki/Спряжение
http://ru.wikipedia.org/wiki/Одушевлённость_(грамматика)

http://ru.wiktionary.org/wiki/Категория:Шаблоны_словоизменений
http://ru.wiktionary.org/wiki/Категория:Шаблоны_словоизменений/Прилагательные
http://ru.wiktionary.org/wiki/Категория:Шаблоны_словоизменений/Существительные/Одушевлённые/Мужской_род
http://ru.wiktionary.org/wiki/Шаблон:прил_ru_3*a/b

]]

Dictionary={noun={}, adjective={}, pronoun={}, numeral={}} -- существительные, прилагательные, местоимения, числительные

Templates={}
Templates.adjective={


    ['4a'] = function(word, base, animacy) -- нет разных слов для одуш./неодуш.
return { type = 'adjective', word = word
, nominative = { -- именительный
singular = { masculine = base..'ий', neuter = base..'ее', feminine = base..'ая'}
, plural = base..'ие' }
, genitive = { -- родительный
singular = { masculine = base..'его', neuter = base..'его', feminine = base..'ей'}
, plural = base..'их' }
, dative = { -- дательный
singular = { masculine = base..'ему', neuter = base..'ему', feminine = base..'ей'}
, plural = base..'им' }
, accusative = { -- винительный
singular = { masculine = (animacy and base..'его' or base..'ий'), neuter = base..'ее', feminine = base..'ую'}
, plural = (animacy and base..'их' or base..'ие') }
, instrumental ={ -- творительный
singular = { masculine = base..'им', neuter = base..'им', feminine = base..'ей'}
, plural = base..'ими' }
, prepositional={ -- предложный
singular = { masculine = base..'ем', neuter = base..'ем', feminine = base..'ей'}
, plural = base..'их' }
}
    end
}


Templates.noun = {
['a 1a'] = function(word, base) -- http://ru.wiktionary.org/wiki/Шаблон:сущ_ru_m_a_1a  http://ru.wiktionary.org/wiki/Шаблон:сущ_ru_f_a_1a  http://ru.wiktionary.org/wiki/Шаблон:сущ_ru_n_a_1a
return { type = 'noun', word = word
, nominative = { singular = { masculine = base..'', neuter = base..'о', feminine = base..'а'}
, plural = { masculine = base..'ы', neuter = base..'а', feminine = base..'ы' } }
, genitive = { singular =  { masculine = base..'а', neuter = base..'а', feminine = base..'ы'}
, plural = { masculine = base..'ов', neuter = base..'', feminine = base..''} }
, dative = { singular =  { masculine = base..'у', neuter = base..'у', feminine = base..'е'}
, plural = { masculine = base..'ам', neuter = base..'ам', feminine = base..'ам'} }
, accusative = { singular =  { masculine = base..'а', neuter = base..'о', feminine = base..'у'}
, plural = { masculine = base..'ов', neuter = base..'', feminine = base..''} }
, instrumental = { singular =  { masculine = base..'ом', neuter = base..'ом', feminine = base..'ой'}
, plural = { masculine = base..'ами', neuter = base..'ами', feminine = base..'ами'} }
, prepositional = { singular =  { masculine = base..'е', neuter = base..'е', feminine = base..'е'}
, plural = { masculine = base..'ах', neuter = base..'ах', feminine = base..'ах'} }

}
end
}


-- verb - глаголы?

-- число, род, падеж
-- основа, основа1, основа2
-- краткая форма?
-- одушевленность (animacy) - винительный?

function adjective(word, dtype, base, animacy)
local a = Dictionary.adjective
-- добавляет (если не было) слово word в таблицу Dictionary.adjective и возвращает таблицу
-- dtype - тип склонения по классификации А. Зализняка (Dictionary.adjective.Templates)
-- base  - строка или таблица с основами
if not a[word] then
a[word] = Templates.adjective[dtype](word, base, animacy)
end
return a[word]
end

function noun(word, dtype, base)
local n = Dictionary.noun
if not n[word] then
n[word] = Templates.noun[dtype](word, base)
end
return n[word]
end

Monsters = {
former_sergeant={
name = {
adjective('бывший', '4a', 'бывш', true) -- http://ru.wiktionary.org/wiki/бывший
, noun('сержант','a 1a','сержант', true) -- http://ru.wiktionary.org/wiki/сержант
}, gender = 'masculine'
}
}


function declension(monster, case, number)
local tbl = {}
for k, v in ipairs(monster.name) do
local tmp = Dictionary[v.type][v.word][case][number]
if type(tmp) == 'table' then tmp = tmp[monster.gender] end
table.insert(tbl, tmp)
end
return table.concat(tbl,' ')
end

local mfs = Monsters.former_sergeant
print( 'именительный', declension(mfs, 'nominative', 'singular'), declension(mfs, 'nominative', 'plural') )
print( 'родительный ', declension(mfs, 'genitive', 'singular'), declension(mfs, 'genitive', 'plural') )
print( 'дательный   ', declension(mfs, 'dative', 'singular'), declension(mfs, 'dative', 'plural') )
print( 'винительный ', declension(mfs, 'accusative', 'singular'), declension(mfs, 'accusative', 'plural') )
print( 'творительный', declension(mfs, 'instrumental', 'singular'), declension(mfs, 'instrumental', 'plural') )
print( 'предложный  ', declension(mfs, 'prepositional', 'singular'),declension(mfs, 'prepositional', 'plural') )

Code: [Select]
>lua test.lua
именительный    бывший сержант  бывшие сержанты
родительный     бывшего сержанта        бывших сержантов
дательный       бывшему сержанту        бывшим сержантам
винительный     бывшего сержанта        бывших сержантов
творительный    бывшим сержантом        бывшими сержантами
предложный      бывшем сержанте бывших сержантах
Title: DoomRL Russian translation
Post by: ckopo on January 12, 2013, 00:01
First, I should write some words for non-Russian people.

This is a branch of the "DoomRL on different languages" thread for Russian translation. I had to start it because:
1. The original thread is locked, so I (and other people too, I think) can't continue it anymore.
2. The Russian translation is nearly to be done. We just need to recheck it and start working with developers.

So, words below are to Russian users of this forum.

Соотечественники!

Год назад в теме под началом bardysya был начат перевод DoomRL на русский язык. Сейчас перевод заброшен, тема закрыта...
Ваш покорный слуга, участвовавший в работе на переводом, сохранил в сети документ с текстами перевода.
Они почти готовы для дальнейшего использования. Единственное, что осталось сделать - вычитать перевод и "окультурить" переведенный текст.

Тексты лежат на моем гуглдиске в виде таблицы (пруф (http://dl.dropbox.com/u/10699923/DoomRL%20Russian%20Translation%20Project.png)), ссылку на которую выложу, если замечу хоть какую-то активность.

Засим:
1. Я ищу людей-добровольцев, хорошо знающих английский язык и желающих сделать вычитку и довести перевод до идеала.
Пока что отозвались: Rajhin, e^cha, singalen.
2. Прошу вернуться к делу тех, кто участвовал в переводе (особенно you и bardysya) и его обсуждении.

Вопросы, советы и заявки приветствуются.
Пора закончить перевод и заставить батьку Корнелия выпустить новый релиз! :3
Title: Re: DoomRL Russian translation
Post by: LuckyDee on January 12, 2013, 00:41
See this thread (http://forum.chaosforge.org/index.php/topic,5293.0.html) as well. Sounds really great, but at the moment not much is happening I guess....
Title: Re: DoomRL Russian translation
Post by: Rajhin on January 12, 2013, 04:56
Я всегда не против помочь с переводом, но у меня возникают вопросы:
Как к этому относится разработчик? В прошлом треде он покрутился, написал пост о том как всё сложно, помянул китайский и свалил по-тихому.
У нас есть собственно сам полный текст для перевода?
Какое там у нас состояние с техническими проблемами, с теми же падежами?
Что переводить будем, .996? Обещан как бы релиз .997, причём обещан "на новый (уж не 2014-й ли) год".
Title: Re: DoomRL Russian translation
Post by: ckopo on January 12, 2013, 05:20
See this thread (http://forum.chaosforge.org/index.php/topic,5293.0.html) as well. Sounds really great, but at the moment not much is happening I guess....

Read my post again, but more closely.

1. The original thread is locked, so I (and other people too, I think) can't continue it anymore.
Or is it just for me?

Как к этому относится разработчик? В прошлом треде он покрутился, написал пост о том как всё сложно, помянул китайский и свалил по-тихому.
У нас есть собственно сам полный текст для перевода?
Какое там у нас состояние с техническими проблемами, с теми же падежами?
Что переводить будем, .996? Обещан как бы релиз .997, причём обещан "на новый (уж не 2014-й ли) год".

В том треде было упомянуто, что это рогалечная библиотека, на которой написана игра, поддерживает вывод текста на китайском.
С разработчиком тогда you вроде говорила, собственно поэтому нам и предоставили полные тексты из исходников.
Да, сам полный текст.
Технические проблемы еще обсудим, тут кроме падежей (у меня сохранен рабочий lua-скрипт для склонения, написанный SugarOrc) есть неприятность с кодировками - мортемы наверняка будут выходить под DOS-кодировкой...
Да, перевод будет пока под .996, но в текстах найдены реплики для не знакомых мне как игроку локаций. Похоже, для нового релиза. Если что, перевод можно и дописать.

Еще вопросы? :3
Title: Re: DoomRL Russian translation
Post by: Rajhin on January 12, 2013, 05:40
Еще вопросы? :3
Предварительных - никаких, как будете координироваться и устанавливать связь - зовите.
Title: Re: DoomRL Russian translation
Post by: LuckyDee on January 12, 2013, 06:39
Read my post again, but more closely.

My bad, guess I wasn't far enough into my first coffee yet. It is locked indeed, which explains why there's not much going on. Did you do the Russian translation by yourself?
Title: Re: DoomRL Russian translation
Post by: ckopo on January 12, 2013, 07:10
My bad, guess I wasn't far enough into my first coffee yet. It is locked indeed, which explains why there's not much going on. Did you do the Russian translation by yourself?

It's OK, it happens to everybody. :)

Yep. All we need now is some time and patience. And more bumps. Soon people will catch this thread.

Errm... At all, no, the translation was being created by as total 13 restless human souls, counting 'you' (not you, her :3), bardysya and me.
But initial kick was made by bardysya and me (we started to translate the text [by information of Wiki ><]), and 'you' (yep, not you again), who ripped all string data of the DoomRL.
Title: Re: DoomRL Russian translation
Post by: Equality on January 12, 2013, 08:25
соотечественник, перевод и вычитка - это самое небольшое, что нужно сделать. Я извиняюсь, но любой может написать текст.
Возможно даже с приколами, а не дословно. "Как только вы появились, раздался демонический глас: "Вот и свежее мясо для игр! Ты либо идиот, либо храбрец - в любом случае, для тебя отступать уже поздно. Но если сможешь победить всех врагов, то получишь награду!" Со всех сторон вы слышите выкрики: "Кровь! Кровушка! КРОВИЩА!"...

  Для начала попробуйте перевести пару строчек в отдельном модуле. Лично у меня после этого игра вылетает с ошибкой при сохранении в юникоде и UTF-8. А в ANSI получаем вот такое:
(http://s2.postimage.org/bnlx4xpbp/2013_01_12_19_06_09_John.jpg) (http://postimage.org/image/bnlx4xpbp/)
То есть надо а) добавить в игру поддержку юникода. б) выделить текстовые строки в отдельный файл, не упаковывая в wad. в) сделать возможность выбора нужного файла с текстами, хотя бы в конфиге.

So, for multilingual support author must:
a) add a unicode support in game
b) all text strings must be in separate file(s), not packed into wad.
c) make a possibility for choosing proper language file(s). At least in config file, if not in GUI

then translation will be a simple task
Title: Re: DoomRL Russian translation
Post by: thelaptop on January 12, 2013, 12:42
Eh, you could have PM-ed a mod to help unlock it.  Threads lock automatically when there's no activity after some fixed period of time (can't remember exactly the time period).

Would you like me to unlock and merge the two topics?
Title: Re: DoomRL Russian translation
Post by: Cora on January 12, 2013, 13:47
Can help too.
Title: Re: DoomRL on different languages
Post by: thelaptop on January 12, 2013, 16:12
Unlocking this thread.
Title: Re: DoomRL Russian translation
Post by: ckopo on January 12, 2013, 20:28
Я извиняюсь, но любой может написать текст. Возможно даже с приколами, а не дословно.

Да, в этом ты прав. Это перевод текст - это малое, лишь первый этап. Но без него дальше не продвинуться, понимаешь.
Кстати, именно в этом наша задача: сделать перевод как можно более литературным и со своими отсылками.

То есть надо:
а) добавить в игру поддержку юникода.
б) выделить текстовые строки в отдельный файл, не упаковывая в wad.
в) сделать возможность выбора нужного файла с текстами, хотя бы в конфиге.

А вот это дико плюсую.
Можно даже немного перефразировать:

а) Вшить в игру юникод и шрифт не должно быть трудным. Но наверняка придется перекроить код.
Да и командная строка Windows не поддерживает юникод, заметь. Только DOS-кодировка.
Это затруднит вывод текста в консоль. Можно, правда, написать конвертер из юникода в DOS.
В Линуксе и графическом режиме вроде таких проблем вроде не ожидается.

б) Пришить игре функцию считывания строк из одного файла со всем переводом текста.
   Достоинства - легкая работа над переводом, легко подключить к игре...
   Недостатки - некое неудобство реализации, текст оголяется, больше проблем со склонением, спойлеры и прочее.
 
  И, ах да, 'you' говорит, что текст вшит еще в exeшник, а не только в *.wad.

в) Возможность выбора файла перевода, но это выливается в б).

Со склонением еще разберемся, SugarOrc выше писал функцию для этого.
Title: Re: DoomRL on different languages
Post by: singalen on January 31, 2013, 05:54
Plug me in for Russian, please. I had some experience with "Battle for Weesnoth", for instance.
Title: Re: DoomRL on different languages
Post by: Fanta Hege on February 08, 2013, 09:43
If you guys plan on making different language versions some more, I am capable of helping with Finnish.
Though I don't think it'd be the most biggest priority in the list.