1
0
mirror of https://github.com/XProger/OpenLara.git synced 2025-04-26 22:02:36 +02:00

Added czech language translation. (WIP) (#233)

This commit is contained in:
bax-cz 2020-01-18 18:33:35 +01:00 committed by Timur Gagiev
parent 85ff46944f
commit ef3fd680c1
8 changed files with 370 additions and 3 deletions

View File

@ -158,7 +158,7 @@ static const OptionItem optSound[] = {
OptionItem( OptionItem::TYPE_PARAM, STR_REVERBERATION, SETTINGS( audio.reverb ), STR_OFF, 0, 1 ),
OptionItem( OptionItem::TYPE_PARAM, STR_OPT_SUBTITLES, SETTINGS( audio.subtitles ), STR_OFF, 0, 1 ),
#ifndef FFP
OptionItem( OptionItem::TYPE_PARAM, STR_OPT_LANGUAGE, SETTINGS( audio.language ), STR_LANG_EN, 0, 10 ),
OptionItem( OptionItem::TYPE_PARAM, STR_OPT_LANGUAGE, SETTINGS( audio.language ), STR_LANG_EN, 0, 11/*TODO: sizeof(LANG_PREFIXES)*/ ),
#endif
};

View File

@ -36,6 +36,7 @@ enum StringID {
, STR_LANG_JA
, STR_LANG_GR
, STR_LANG_FI
, STR_LANG_CZ
, STR_APPLY
, STR_GAMEPAD_1
, STR_GAMEPAD_2
@ -261,9 +262,10 @@ enum StringID {
, "Ðóññêè{è" \
, "\x11\x02\x70\x01\x97\x01\xD6\xFF\xFF" \
, "\x11\x01\x22\x01\x0F\x01\x0F\x01\x0E\x01\x06\x01\x04\x01\x0C\x01\x0B\xFF\xFF" \
, "Suomi"
, "Suomi" \
, "{Cesky"
#define LANG_PREFIXES "_EN", "_FR", "_DE", "_ES", "_IT", "_PL", "_PT", "_RU", "_JA", "_GR", "_FI"
#define LANG_PREFIXES "_EN", "_FR", "_DE", "_ES", "_IT", "_PL", "_PT", "_RU", "_JA", "_GR", "_FI", "_CZ"
#define STR_KEYS \
"NONE", "LEFT", "RIGHT", "UP", "DOWN", "SPACE", "TAB", "ENTER", "ESCAPE", "SHIFT", "CTRL", "ALT" \
@ -307,6 +309,7 @@ const char *helpText =
#include "lang/ja.h"
#include "lang/gr.h"
#include "lang/fi.h"
#include "lang/cz.h"
char **STR = NULL;
@ -322,6 +325,7 @@ void ensureLanguage(int lang) {
ASSERT(COUNT(STR_JA) == STR_MAX);
ASSERT(COUNT(STR_GR) == STR_MAX);
ASSERT(COUNT(STR_FI) == STR_MAX);
ASSERT(COUNT(STR_CZ) == STR_MAX);
lang += STR_LANG_EN;
@ -336,6 +340,7 @@ void ensureLanguage(int lang) {
case STR_LANG_JA : STR = (char**)STR_JA; break;
case STR_LANG_GR : STR = (char**)STR_GR; break;
case STR_LANG_FI : STR = (char**)STR_FI; break;
case STR_LANG_CZ : STR = (char**)STR_CZ; break;
default : STR = (char**)STR_EN; break;
}
}

355
src/lang/cz.h Normal file
View File

@ -0,0 +1,355 @@
#ifndef H_LANG_CZ
#define H_LANG_CZ
// Thanks to XProger :)
const char *STR_CZ[] = { ""
// help
, "Nahr)av)an)i..."
, "Stiskn{ete H pro n)apov{edu"
, helpText
, "%s@@@"
"ZABITO %d@@"
"SEBR)ANO P{REDM{ET*U %d@@"
"NALEZENO SKR)Y{S)I %d z %d@@"
"STR)AVENO {CASU %s"
, "Ukl)ad)an)i hry..."
, "Hra ulo{zena!"
, "CHYBA P{RI UKL)AD)AN)I!"
, "ANO"
, "NE"
, "Vypnuto"
, "Zapnuto"
, "Vypnout"
, "Vedle sebe"
, "Anaglyf"
, "Rozd{elen)a Obrazovka"
, "VR"
, "N)izk)e"
, "St{redn)i"
, "Vysok)e"
, STR_LANGUAGES
, "Pou{z)it"
, "Gamepad 1"
, "Gamepad 2"
, "Gamepad 3"
, "Gamepad 4"
, "Hr)a{c Nep{ripraven"
, "Hr)a{c 1"
, "Hr)a{c 2"
, "Stiskn{ete Kl)avesu"
, "%s - Vybrat"
, "%s - Zp{et"
// inventory pages
, "NASTAVEN)I"
, "INVENT)A{R"
, "P{REDM{ETY"
// save game page
, "Ulo{zit Hru?"
, "Aktu)aln)i Pozice"
// inventory option
, "Hra"
, "Mapa"
, "Kompas"
, "Statistiky"
, "La{rin Domov"
, ")Urove{n Detail*u"
, "Zvuk"
, "Ovl)ad)an)i"
, "Gama Korekce"
// passport menu
, "Nahr)at Hru"
, "Nov)a Hra"
, "Restartovat )Urove{n"
, "Zp{et na )Uvod"
, "Ukon{cit Hru"
, "Vybrat )Urove{n"
// detail options
, "Nastaven)i Detail*u"
, "Filtrov)an)i"
, "Osv{etlen)i"
, "St)iny"
, "Voda"
, "VSync"
, "Stereo"
, "Jednoduch)e objekty"
, "Rozli{sen)i"
, STR_SCALE
// sound options
, "Nastaven)i Zvuku"
, "Dozvuk"
, "Titulky"
, "Jazyk"
// controls options
, "Nastaven)i Ovl)ad)an)i"
, "Kl)avesnice"
, "Gamepad"
, "Vibrace"
, "Auto-zm{ena c)ile"
, "Multi-m)i{ren)i"
// controls
, "Vlevo", "Vpravo", "Vp{red", "Vzad", "Skok", "Ch*uze", "Akce", "Tasit zbra{n", "Rozhl)ednout", "D{rep", "Sprint", "Kotoul", "Invent)a{r", "Start"
, STR_KEYS
// inventory items
, "Nezn)am)y"
, "V)ybu{snina"
, "Pistole"
, "Brokovnice"
, "Magnum"
, "Uzi"
, "Z)asobn)iky Pistole"
, "N)aboje Brokovnice"
, "Z)asobn)iky Magnum"
, "Z)asobn)iky Uzi"
, "Mal)a L)ek)arn)i{cka"
, "Velk)a L)ek)arn)i{cka"
, "Olov{en)a Cihla"
, "Scion"
// keys
, "Kl)i{c"
, "St{r)ibrn)y Kl)i{c"
, "Rezav)y Kl)i{c"
, "Zlat)y Kl)i{c"
, "Saf)irov)y Kl)i{c"
, "Neptunov)y Kl)i{c"
, "Atlasov)y Kl)i{c"
, "Damokl*uv Kl)i{c"
, "Thor*uv Kl)i{c"
, "Zdoben)y Kl)i{c"
// puzzles
, "H)adanka"
, "Zlat)a Modla"
, "Zlat)a Cihla"
, "Ozuben)e Kolo"
, "Pojistka"
, "Anch"
, "Horovo oko"
, "Anupova Pe{ce{t"
, "Skarab"
, "Kl)i{c Pyramidy"
// TR1 subtitles
/* CAFE */ ,
"[43500]Co mus)i {clovek ud{elat,@aby se od tebe do{ckal takov)e pozornosti?"
"[47500]T{e{zko {r)ict,@ale zat)im si vede{s docela dob{re."
"[50000]Skv{el)e. I kdy{z, ve skute{cnosti@nejsem ten, kdo t{e chce."
"[54500]Ne?"
"[55000]Ne. Sh)an)i se po tob{e sle{cna Jacqueline Natla,@z firmy Natla Technologies."
"[59000]V)i{s, ta co tvo{r)i v{secky@ty kr)asn)y slun)i{ckov)y v{eci?"
"[64500]Sklapni, Larsone."
"[66000]Madam."
"[68000]Jen se nad t)im pokochejte, Laro."
"[70500]T{ech pen{ez, co by se dalo vyd{elat."
"[73500]Je mi l)ito. Ned{el)am to pro pen)ize."
"[76000]Pak to tedy berte jako v)ylet."
"[78000]Peru. Rozlehl)a poho{r)i.@Strm)e st{eny hol)eho ledu. Skaln)i )utesy. Zu{riv)y v)itr."
"[87500]A pak je tu ta jedna drobnost:@prastar)y artefakt s tajemn)ymi schopnostmi"
"[92500]hluboko poh{rben)y v dosud nenalezen)e hrobce Qualopeca."
"[96000]To je zase m*uj z)ajem."
"[98000]Mohla byste let{et u{z z)itra.@M)ate na z)it{rek n{ejak)e pl)any?"
/* LIFT */ ,
"[49000]Relocated now to St. Francis' Folly, new temptations torment me."
"[53500]Rumour amongst my fellow brothers is that entombed@beneath our monastery lies the body of Tihocan,"
"[60000]one of the three legendary rulers of@the lost continent, Atlantis,"
"[64500]and that within lies his piece@of the Atlantean Scion."
"[68000]The pendant divided and shared between the three rulers@"
"[72500]which curbs tremendous powers.@Powers beyond the creator himself."
"[79000]My toes sweat at such possibilities@lying so close to my mortal self."
"[85500]Each night, I bid myself rid of these@fantasies, but it is indeed a test."
"[92000]"
"[93500]Pierre. Tss. Ty bordel)a{ri."
/* CANYON */ ,
"[13500]You just pulled the tough end of a wishbone."
"[16500]Howdy."
"[17500]Afternoon."
"[20000]Left Larson sucking wind then, eh?"
"[22500]If that is the phrase."
"[24000]Well, your little vacation riot's over now."
"[27000]Time to give back what you've hijacked off me."
"[30000]Let's try the lunch-box."
"[32000]"
"[42500]Well? Kill her!"
"[45000]Hey!"
"[48000]"
"[50500]You morons!"
"[53000]"
"[62500]Let's go."
"[65000]"
"[136000]What the heck was that?"
"[138000]What?"
"[138500]That-a-way."
"[140500]Probably just a fish."
"[142500]That's some fish, kid."
"[145000]Man, you have got to learn to chill.@I'm going back inside. You coming?"
"[152000]"
"[158000]Steady..."
"[160000]Here she goes."
"[161500]You ready yet?"
/* PRISON */ ,
"[00001]You can't do this!"
"[01500]We condemn you, Natla of Atlantis, for your crimes."
"[06000]For the flagrant misuse of your powers@and for robbing us of our..."
"[11500]You can't! I..."
"[12500]Breaking the free bond of consent that our@people are ruled and secured under,"
"[18500]and invading Tihocan and myself with our army."
"[23500]Our warriors emptied from our pyramid"
"[27000]so that you could use the pyramid - its powers@of creation - for your own mindless destruction."
"[33500]Mindless!? Look at you!"
"[35500]Neither of you have one squirt of@inventive juice in your heads."
"[40500]Wasters!"
"[41500]Let's just do it."
"[44000]Tihocan!"
"[45000]You used the sacramental place as a source@of individual pleasure,"
"[49500]as some freak factory."
"[51000]They're survivalists. A new generation."
"[54000]A slaughter heap now."
"[56000]And you. We're going to lock you in limbo."
"[60000]Make your veins, heart, feet,"
"[64000]and that diseased brain stick solid with frozen blood."
"[70000]Greet your eternal unrest, Natla."
"[73000]You won't rest either, or your@damned continent of Atlantis!"
/* 22 */ ,
"[04000]Back again?"
"[05500]And you - for a grand re-opening, I assume."
"[09500]Evolution's in a rut - natural selection at an all time low..."
"[13500]shipping out fresh meat will incite territorial rages again"
"[17500] - will strengthen and advance us..."
"[20500]Even create new breeds."
"[22500]Kind of evolution on steroids, then."
"[24500]A kick in the pants...@those runts Qualopec and Tihocan had no idea"
"[29500] - the cataclysm of Atlantis struck a race of langouring wimps..."
"[33500]plummeted them to the very basics of survival again..."
"[37000]It shouldn't happen like that."
"[39000]Or like this."
"[40000]Hatching commences in 15 seconds."
"[43000]Too late for abortions now!"
"[45000]Not without the heart of the operation!"
"[47000]Noooo!"
"[50000]TEN"
"[54000]FIVE..."
"[55500]4...3...2..."
"[60000]ONE..."
/* 23 */ ,
"[00001]Tak{ze, te{d m)a{s mou plnou pozornost"
"[02500]- A{ckoli si nejsem a{z tak jist)a jestli m)am tvou."
"[05000]Hello?"
"[06000]I'll heel an' hide ye to a barn door yit."
"[09000]Of course."
"[10000]Ye and that drivelin' piece of the Scion."
"[13000]Ye want to keep it so bad, I'll harness it right up y..."
"[17000]Wait... we're talking about the artifact here?"
"[20000]Damn straight we are ... right up y ..."
"[22000]Hold on - I'm sorry"
"[24000]- this piece, you say - where's the rest?"
"[26500]Ms. Natla put Pierre Dupont on that trail."
"[29500]And where is that?"
"[30500]Hah. Ye ain't fast enough fer him."
"[34000]So you think all this talking is just holding me up?"
"[37000]I don't know where his little jackrabbit-frog-legs are runnin' him to."
"[42000]You'll have to ask Ms. Natla."
"[46000]"
"[51000]Thank you. I will."
/* 24 */ , ""
/* 25 */ ,
"[03500]Zde odpo{c)iv)a Tihocan"
"[05000]...jeden ze dvou spravedliv)ych vl)adc*u Atlantidy..."
"[10000]Ten, kter)y i po proklet)i kontinentu..."
"[13000]...se pokusil udr{zet pr)avo v t{echto pust)ych ciz)ich zem)ich..."
"[19000]Zem{rel bez d)it{ete a jeho v{ed{en)i z*ustalo bez n)asledovn)ika..."
"[25500]Bu{d k n)am milostiv, Tihocane."
/* 26 */ , "V)itejte u m{e doma!@Vezmu V)as na prohl)idku."
/* 27 */ , "Pomoc)i sm{erov)ych kl)aves p{rejd{ete do hudebn)i m)istnosti."
/* 28 */ , "Dobr)a. Poj{dme trochu pocvi{cit akrobacii.@Stiskn{ete kl)avesu pro skok."
/* 29 */ , "Nyn)i ji stiskn{ete je{st{e jednou v kombinaci s n{ekterou ze sm{erov)ych kl)aves@a j)a po{zadovan)ym sm{erem sko{c)im."
/* 30 */ , "Ach, ta hlavn)i hala.@Omlouv)am se za ty bedny, m)am tu p)ar v{eci k uskladn{en)i@a st{ehov)aci je je{st{e nevyzvedli."
/* 31 */ , "P{rib{ehn{ete k bedn{e a za sou{casn)eho dr{zen)i kl)avesy vp{red,@stiskn{ete kl)avesu akce a j)a se na n)i vy{svihnu."
/* 32 */ , "Tohle kdysi b)yval tane{cn)i s)al ne{z jsem si z n{ej ud{elala t{elocvi{cnu.@Co na n)i {r)ik)ate? No, poj{dme zkusit p)ar cvik*u."
/* 33 */ , "Ve skute{cnosti nemus)im v{sude jen b{ehat.@Kdy{z chci b)yt opatrn)a, tak chod)im krokem.@Podr{zte kl)avesu pro ch*uzi a dojd{ete k b)il)e {c)a{re."
/* 34 */ , "P{ri dr{zen)i kl)avesy ch*uze nespadnu dol*u ani pokud se o to pokus)ite.@Schv)aln{e to zkuste."
/* 35 */ , "Jestli{ze se budete cht)it rozhl)ednout, stiskn{ete a podr{zte kl)avesu pro rozhl)ednut)i.@Pot)e stiskn{ete kl)avesu sm{eru, kter)ym se chcete rozhl)ednout."
/* 36 */ , "Pokud je pro m{e skok p{r)ili{s vzd)alen)y, m*u{zu se zachytit okraje@a vyhnout se tak p)adu. B{e{zte a{z k okraji s b)ilou {c)arou@jak to jen p*ujde. Pot)e stiskn{ete kl)avesu pro skok, n)asledovanou@kl)avesou vp{red a zat)imco budu je{st{e ve vzduchu, stiskn{ete a podr{zte kl)avesu akce."
/* 37 */ , "Podr{zte kl)avesu vp{red a j)a na p{rek)a{zku vy{splh)am."
/* 38 */ , "V p{r)ipad{e skoku s rozb{ehem pro m{e takov)a vzd)alenost nep{redstavuje probl)em."
/* 39 */ , "Pomoc)i kl)avesy ch*uze b{e{zte a{z k okraji s b)ilou {c)arou dokud se sama nezastav)im.@Pot)e uvoln{ete kl)avesu ch*uze a stiskn{ete kl)avesu vzad, abych m{ela prostor pro rozb{eh.@Stiskn{ete kl)avesu vp{red a hned na to stiskn{ete a podr{zte kl)avesu pro skok.@Sko{c)im sama a{z v posledn)i chv)ili."
/* 40 */ , "Dob{re. Tenhle je opravdu dost daleko.@Tak{ze stejn{e jako p{redt)im. Skok s rozb{ehem n)asledovan)y podr{zen)im kl)avesy akce,@abych se zachytila okraje."
/* 41 */ , "P{ekn{e."
/* 42 */ , "Zkuste tu vysko{cit nahoru.@Stiskn{ete kl)avesu vp{red a podr{zte kl)avesu akce."
/* 43 */ , "Nahoru nevylezu, proto{ze mezera je p{r)ili{s mal)a.@Av{sak podr{zen)im sm{erov)e kl)avesy vpravo,@odru{ckuji a{z do m)ista kde je prostor, pot)e stiskn{ete kl)avesu vp{red."
/* 44 */ , "V)yborn{e!@Pokud se nechci zranit p{ri seskoku z velk)e v)y{sky,@m*u{zu se opatrn{e spustit dol*u."
/* 45 */ , "Klepn{ete na kl)avesu vzad a sesko{c)im pozp)atku.@Hned na to, podr{zte kl)avesu akce@a j)a se zachyt)im okraje."
/* 46 */ , "Pot)e ji pus{tte."
/* 47 */ , "Poj{dme si zaplavat."
/* 48 */ , "Pro pohyb pod vodou pou{zijte kl)avesu pro skok v kombinaci se sm{erov)ymi kl)avesami."
/* 49 */ , "Ach! Vzduch!@Pro man)evrov)an)i na hladin{e prost{e pou{zijte kl)avesy vp{red a vlevo a vpravo.@Pro dal{s)i potopen)i se, stiskn{ete kl)avesu pro skok.@Nebo doplavte ke kraji a stiskn{ete kl)avesu akce a j)a z vody vylezu."
/* 50 */ , "Dob{re. Te{d bych rad{eji m{ela svl)eknout to prom)a{cen)e oble{cen)i."
/* 51 */ , "Say cheese!"
/* 52 */ , "Ain't nothin' personal."
/* 53 */ , "I still git a pain in my brain from ye.@An' it's tellin' me funny ideas now.@Like to shoot you to hell!"
/* 54 */ , "You can't bump off me and my brood so easy, Lara."
/* 55 */ , "A leetle late for ze prize giving - non?@Still, it is ze taking-part wheech counts."
/* 56 */ , "You firin' at me?@You firin' at me, huh?@Ain't nobody else here, you must be firin' at me!"
// TR1 levels
, "La{rin Domov"
, "Jeskyn{e"
, "M{esto Vilcabamba"
, "Ztracen)e )Udol)i"
, "Hrobka Qualopeca"
, "Monument Sv. Franti{ska"
, "Koloseum"
, "Pal)ac Midase"
, "N)adr{z"
, "Hrobka Tihocana"
, "M{esto Khamoon"
, "Obelisk Khamoonu"
, "Svatyn{e Scionu"
, "Doly Natly"
, "Atlantida"
, "Velk)a Pyramida"
, "N)avrat do Egypta"
, "Chr)am Ko{cky"
, "Atlantsk)a Pevnost"
, "Hn)izdo"
// TR2 levels
, "Lara's Home"
, "The Great Wall"
, "Venice"
, "Bartoli's Hideout"
, "Opera House"
, "Offshore Rig"
, "Diving Area"
, "40 Fathoms"
, "Wreck of the Maria Doria"
, "Living Quarters"
, "The Deck"
, "Tibetan Foothills"
, "Barkhang Monastery"
, "Catacombs of the Talion"
, "Ice Palace"
, "Temple of Xian"
, "Floating Islands"
, "The Dragon's Lair"
, "Home Sweet Home"
// TR3 levels
, "Lara's House"
, "Jungle"
, "Temple Ruins"
, "The River Ganges"
, "Caves Of Kaliya"
, "Coastal Village"
, "Crash Site"
, "Madubu Gorge"
, "Temple Of Puna"
, "Thames Wharf"
, "Aldwych"
, "Lud's Gate"
, "City"
, "Nevada Desert"
, "High Security Compound"
, "Area 51"
, "Antarctica"
, "RX-Tech Mines"
, "Lost City Of Tinnos"
, "Meteorite Cavern"
, "All Hallows"
};
#endif

View File

@ -383,6 +383,7 @@ int checkLanguage() {
if (id == TWOCC("ja")) return STR_LANG_JA - STR_LANG_EN;
if (id == TWOCC("gr")) return STR_LANG_GR - STR_LANG_EN;
if (id == TWOCC("fi")) return STR_LANG_FI - STR_LANG_EN;
if (id == TWOCC("cs")) return STR_LANG_CZ - STR_LANG_EN;
return 0;
}

View File

@ -489,6 +489,7 @@ int checkLanguage() {
if (id == TWOCC("ja")) return STR_LANG_JA - STR_LANG_EN;
if (id == TWOCC("gr")) return STR_LANG_GR - STR_LANG_EN;
if (id == TWOCC("fi")) return STR_LANG_FI - STR_LANG_EN;
if (id == TWOCC("cs")) return STR_LANG_CZ - STR_LANG_EN;
return 0;
}

View File

@ -182,6 +182,7 @@
<ClInclude Include="..\..\gltf.h" />
<ClInclude Include="..\..\json.h" />
<ClInclude Include="..\..\lang.h" />
<ClInclude Include="..\..\lang\cz.h" />
<ClInclude Include="..\..\lang\de.h" />
<ClInclude Include="..\..\lang\en.h" />
<ClInclude Include="..\..\lang\es.h" />

View File

@ -119,6 +119,9 @@
<ClInclude Include="..\..\lang\fi.h">
<Filter>lang</Filter>
</ClInclude>
<ClInclude Include="..\..\lang\cz.h">
<Filter>lang</Filter>
</ClInclude>
<ClInclude Include="..\..\extension.h" />
<ClInclude Include="..\..\gltf.h" />
<ClInclude Include="..\..\json.h" />

View File

@ -576,6 +576,7 @@ int checkLanguage() {
case LANG_JAPANESE : str = STR_LANG_JA; break;
case LANG_GREEK : str = STR_LANG_GR; break;
case LANG_FINNISH : str = STR_LANG_FI; break;
case LANG_CZECH : str = STR_LANG_CZ; break;
}
return str - STR_LANG_EN;
}