1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-23 21:07:17 +00:00

Merge pull request #40 from Quuxplusone/langen2

Refactor to improve the compile time of "langen.cpp"
This commit is contained in:
Zeno Rogue 2018-06-25 23:02:23 +02:00 committed by GitHub
commit 91690f326f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 441 additions and 425 deletions

View File

@ -14,35 +14,39 @@
#include <cstdlib>
#include <set>
using std::string;
using std::map;
using std::vector;
using std::set;
template<class T> int isize(const T& x) { return x.size(); }
#define NUMLAN 7
// language generator
const char *escape(string s, string dft);
const char *escape(std::string s, const std::string& dft);
template<class T> struct dictionary {
map<string, T> m;
void add(const string& s, const T& val) {
if(m.count(s)) add(s + " [repeat]", val);
else m[s] = val;
std::map<std::string, T> m;
void add(const std::string& s, T val) {
if(m.count(s)) add(s + " [repeat]", std::move(val));
else m[s] = std::move(val);
}
T& operator [] (const string& s) { return m[s]; }
int count(const string& s) { return m.count(s); }
void clear() { m.clear(); }
T& operator [] (const std::string& s) { return m[s]; }
int count(const std::string& s) { return m.count(s); }
};
dictionary<string> d[NUMLAN];
dictionary<std::string> d[NUMLAN];
struct noun2 {
int genus;
const char *nom;
const char *nomp;
const char *acc;
const char *abl;
};
struct noun {
int genus;
string nom, nomp, acc, abl;
std::string nom, nomp, acc, abl;
noun() = default;
noun(const noun2& n) : genus(n.genus), nom(n.nom), nomp(n.nomp), acc(n.acc), abl(n.abl) {}
};
dictionary<noun> nouns[NUMLAN];
@ -55,17 +59,16 @@ int utfsize(char c) {
return 4;
}
void addutftoset(set<string>& s, string& w) {
int i = 0;
//printf("%s\n", w.c_str());
while(i < isize(w)) {
void addutftoset(std::set<std::string>& s, std::string& w) {
size_t i = 0;
while(i < w.size()) {
int siz = utfsize(w[i]);
s.insert(w.substr(i, siz));
i += siz;
}
}
void addutftoset(set<string>& s, noun& w) {
void addutftoset(std::set<std::string>& s, noun& w) {
addutftoset(s, w.nom);
addutftoset(s, w.nomp);
addutftoset(s, w.acc);
@ -73,34 +76,22 @@ void addutftoset(set<string>& s, noun& w) {
}
template<class T>
void addutftoset(set<string>& s, dictionary<T>& w) {
for(typename map<string,T>::iterator it = w.m.begin(); it != w.m.end(); it++)
addutftoset(s, it->second);
void addutftoset(std::set<std::string>& s, dictionary<T>& w) {
for(auto&& elt : w.m)
addutftoset(s, elt.second);
}
set<string> allchars;
void printletters(dictionary<string>& la, dictionary<noun>& nounla, const char *lang) {
set<string> s;
addutftoset(s, la);
addutftoset(s, nounla);
addutftoset(allchars, la);
addutftoset(allchars, nounla);
//printf("%s:", lang);
//for(set<string>::iterator it = s.begin(); it != s.end(); it++)
// printf(" \"%s\",", it->c_str());
//printf("\n");
}
std::set<std::string> allchars;
typedef unsigned hashcode;
hashcode hashval;
bool isrepeat(const string& s) {
return s.find(" [repeat]") != string::npos;
bool isrepeat(const std::string& s) {
return s.find(" [repeat]") != std::string::npos;
}
hashcode langhash(const string& s) {
hashcode langhash(const std::string& s) {
if(isrepeat(s)) {
return langhash(s.substr(0, s.size() - 9)) + 1;
}
@ -109,19 +100,19 @@ hashcode langhash(const string& s) {
return r;
}
map<hashcode, string> buildHashTable(set<string>& s) {
map<hashcode, string> res;
for(set<string>::iterator it = s.begin(); it != s.end(); it++)
res[langhash(*it)] = *it;
std::map<hashcode, std::string> buildHashTable(std::set<std::string>& s) {
std::map<hashcode, std::string> res;
for(auto&& elt : s)
res[langhash(elt)] = elt;
return res;
}
const char *escape(string s, string dft) {
const char *escape(std::string s, const std::string& dft) {
if(s == "") {
printf("/*MISSING*/ ");
s = dft;
}
static string t;
static std::string t;
t = "\"";
for(int i=0; i<isize(s); i++)
if(s[i] == '\\') t += "\\\\";
@ -132,76 +123,121 @@ const char *escape(string s, string dft) {
return t.c_str();
}
set<string> nothe;
set<string> plural;
std::set<std::string> nothe;
std::set<std::string> plural;
#ifdef CHECKALL
const char* allstr[] = {
#include "d"
};
#endif
void setstats(set<string>& s, const char* bn) {
int tlen=0, tc = 0;
for(set<string>::iterator it = s.begin(); it != s.end(); it++)
tc++, tlen += it->size();
printf("// %-10s %5d %5d\n", bn, tc, tlen);
}
void langPL() {
#define S(a,b) d[1].add(a,b);
#define N(a,b,c,d,e,f) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.acc = e; n.abl = f; nouns[1].add(a,n);}
#include "language-pl.cpp"
#undef N
#undef S
}
void langPL() {
static std::pair<const char *, const char *> ds[] = {
#define S(a,b) { a, b },
#define N(a,b,c,d,e,f)
#include "language-pl.cpp"
#undef N
#undef S
};
static std::pair<const char *, noun2> ns[] = {
#define S(a,b)
#define N(a,b,c,d,e,f) { a, noun2{ b, c, d, e, f } },
#include "language-pl.cpp"
#undef N
#undef S
};
for(auto&& elt : ds) d[1].add(elt.first, elt.second);
for(auto&& elt : ns) nouns[1].add(elt.first, elt.second);
}
void langTR() {
#define S(a,b) d[2].add(a,b);
#define N5(a,b,c,d,e) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.acc = e; n.abl = e; nouns[2].add(a,n);}
#define N(a,b,c,d,e,f) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.acc = e; n.abl = f; nouns[2].add(a,n);}
#include "language-tr.cpp"
#undef N
#undef S
static std::pair<const char *, const char *> ds[] = {
#define S(a,b) { a, b },
#define N(a,b,c,d,e,f)
#include "language-tr.cpp"
#undef N
#undef S
};
static std::pair<const char *, noun2> ns[] = {
#define S(a,b)
#define N(a,b,c,d,e,f) { a, noun2{ b, c, d, e, f } },
#include "language-tr.cpp"
#undef N
#undef S
};
for(auto&& elt : ds) d[2].add(elt.first, elt.second);
for(auto&& elt : ns) nouns[2].add(elt.first, elt.second);
}
void langCZ() {
#define S(a,b) d[3].add(a,b);
#define N(a,b,c,d,e,f) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.acc = e; n.abl = f; nouns[3].add(a,n);}
#include "language-cz.cpp"
#undef N
#undef S
static std::pair<const char *, const char *> ds[] = {
#define S(a,b) { a, b },
#define N(a,b,c,d,e,f)
#include "language-cz.cpp"
#undef N
#undef S
};
static std::pair<const char *, noun2> ns[] = {
#define S(a,b)
#define N(a,b,c,d,e,f) { a, noun2{ b, c, d, e, f } },
#include "language-cz.cpp"
#undef N
#undef S
};
for(auto&& elt : ds) d[3].add(elt.first, elt.second);
for(auto&& elt : ns) nouns[3].add(elt.first, elt.second);
}
void langRU() {
#define S(a,b) d[4].add(a,b);
#define N(a,b,c,d,e,f) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.acc = e; n.abl = f; nouns[4].add(a,n);}
#include "language-ru.cpp"
#undef N
#undef S
static std::pair<const char *, const char *> ds[] = {
#define S(a,b) { a, b },
#define N(a,b,c,d,e,f)
#include "language-ru.cpp"
#undef N
#undef S
};
static std::pair<const char *, noun2> ns[] = {
#define S(a,b)
#define N(a,b,c,d,e,f) { a, noun2{ b, c, d, e, f } },
#include "language-ru.cpp"
#undef N
#undef S
};
for(auto&& elt : ds) d[4].add(elt.first, elt.second);
for(auto&& elt : ns) nouns[4].add(elt.first, elt.second);
}
void langDE() {
#define S(a,b) d[5].add(a,b);
#define N(a,b,c,d,e) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.acc = e; n.abl = e; nouns[5].add(a,n);}
#include "language-de.cpp"
#undef N
#undef S
static std::pair<const char *, const char *> ds[] = {
#define S(a,b) { a, b },
#define N(a,b,c,d,e)
#include "language-de.cpp"
#undef N
#undef S
};
static std::pair<const char *, noun2> ns[] = {
#define S(a,b)
#define N(a,b,c,d,e) { a, noun2{ b, c, d, e, e } },
#include "language-de.cpp"
#undef N
#undef S
};
for(auto&& elt : ds) d[5].add(elt.first, elt.second);
for(auto&& elt : ns) nouns[5].add(elt.first, elt.second);
}
void langPT() {
#define S(a,b) d[6].add(a,b);
#define N(a,b,c,d,e) \
{noun n; n.genus = b; n.nom = c; n.nomp = d; n.abl = e; nouns[6].add(a,n);}
#include "language-ptbr.cpp"
#undef N
#undef S
static std::pair<const char *, const char *> ds[] = {
#define S(a,b) { a, b },
#define N(a,b,c,d,e)
#include "language-ptbr.cpp"
#undef N
#undef S
};
static std::pair<const char *, noun2> ns[] = {
#define S(a,b)
#define N(a,b,c,d,e) { a, noun2{ b, c, d, "", e } },
#include "language-ptbr.cpp"
#undef N
#undef S
};
for(auto&& elt : ds) d[6].add(elt.first, elt.second);
for(auto&& elt : ns) nouns[6].add(elt.first, elt.second);
}
int completeness[NUMLAN];
@ -226,87 +262,68 @@ int main() {
langTR(); langDE(); langPT();
// verify
set<string> s;
std::set<std::string> s;
for(int i=1; i<NUMLAN; i++)
for(map<string,string>::iterator it = d[i].m.begin(); it != d[i].m.end(); it++)
s.insert(it->first);
for(auto&& elt : d[i].m)
s.insert(elt.first);
printf("// DO NOT EDIT -- this file is generated automatically with langen\n\n");
for(set<string>::iterator x=s.begin(); x != s.end(); x++) {
string mis = "", mis1 = "";
for(int i=1; i<NUMLAN; i++) if(d[i].count(*x) == 0) {
string which = d[i]["EN"];
for(auto&& elt : s) {
std::string mis = "", mis1 = "";
for(int i=1; i<NUMLAN; i++) if(d[i].count(elt) == 0) {
std::string which = d[i]["EN"];
if(which != "TR" && which != "DE" && which != "PT-BR")
mis += which;
else
mis1 += which;
}
if(mis != "" && !isrepeat(*x))
printf("// #warning Missing [%s/%s]: %s\n", mis.c_str(), mis1.c_str(), escape(*x, "?"));
if(mis != "" && !isrepeat(elt))
printf("// #warning Missing [%s/%s]: %s\n", mis.c_str(), mis1.c_str(), escape(elt, "?"));
if(!isrepeat(*x)) {
if(!isrepeat(elt)) {
completeness[0]++;
for(int i=1; i<NUMLAN; i++) if(d[i].count(*x)) completeness[i]++;
for(int i=1; i<NUMLAN; i++) if(d[i].count(elt)) completeness[i]++;
}
}
s.clear();
for(int i=1; i<NUMLAN; i++)
for(map<string,noun>::iterator it = nouns[i].m.begin(); it != nouns[i].m.end(); it++)
s.insert(it->first);
for(set<string>::iterator x=s.begin(); x != s.end(); x++) {
string mis = "", mis1 = "";
for(int i=1; i<NUMLAN; i++) if(nouns[i].count(*x) == 0) {
string which = d[i]["EN"];
for(auto&& elt : nouns[i].m)
s.insert(elt.first);
for(auto&& elt : s) {
std::string mis = "", mis1 = "";
for(int i=1; i<NUMLAN; i++) if(nouns[i].count(elt) == 0) {
std::string which = d[i]["EN"];
if(which != "TR" && which != "DE" && which != "PT-BR")
mis += which;
else mis1 += which;
}
if(mis != "" && !isrepeat(*x))
printf("// #warning Missing [%s/%s]: %s\n", mis.c_str(), mis1.c_str(), escape(*x, "?"));
if(mis != "" && !isrepeat(elt))
printf("// #warning Missing [%s/%s]: %s\n", mis.c_str(), mis1.c_str(), escape(elt, "?"));
if(!isrepeat(*x)) {
if(!isrepeat(elt)) {
completeness[0]++;
for(int i=1; i<NUMLAN; i++) if(nouns[i].count(*x)) completeness[i]++;
for(int i=1; i<NUMLAN; i++) if(nouns[i].count(elt)) completeness[i]++;
}
}
#ifdef CHECKALL
for(int i=1; i<NUMLAN; i++)
for(map<string,string>::iterator it = d[i].m.begin(); it != d[i].m.end(); it++)
s.insert(it->first);
int ca = sizeof(allstr) / sizeof(char*);
for(int i=0; i<ca; i++) if(!s.count(allstr[i])) {
printf("#warning GO %s\n", escape(allstr[i], "?"));
}
for(set<string>::iterator x=s.begin(); x != s.end(); x++) {
bool b = false;
for(int i=0; i<ca; i++) if(allstr[i] == *x) b = true;
if(!b) printf("#warning TO %s\n", escape(*x, "?"));
}
#endif
for(int i=1; i<NUMLAN; i++) {
printletters(d[i], nouns[i], "SOMETHING");
addutftoset(allchars, d[i]);
addutftoset(allchars, nouns[i]);
}
int c =0;
string javastring;
vector<string> vchars;
//printf("ALL:");
for(set<string>::iterator it = allchars.begin(); it != allchars.end(); it++) {
// printf(" \"%s\",", it->c_str());
if(isize(*it) >= 2) { javastring += (*it); vchars.push_back(*it); c++; }
std::string javastring;
std::vector<std::string> vchars;
for(auto&& elt : allchars) {
if(isize(elt) >= 2) { javastring += elt; vchars.push_back(elt); }
}
printf("\n");
printf("#define NUMEXTRA %d\n", c);
printf("#define NUMEXTRA %zu\n", vchars.size());
printf("#define NATCHARS {");
for(int i=0; i<c; i++) printf("\"%s\",", vchars[i].c_str());
for(auto&& elt : vchars) printf("\"%s\",", elt.c_str());
printf("};\n");
printf("const char* natchars[NUMEXTRA] = NATCHARS;");
printf("//javastring = \"%s\";\n", javastring.c_str());
@ -316,47 +333,47 @@ int main() {
printf("};\n");
for(int i=1; i<NUMLAN; i++)
for(map<string,string>::iterator it = d[i].m.begin(); it != d[i].m.end(); it++)
s.insert(it->first);
for(auto&& elt : d[i].m)
s.insert(elt.first);
printf("\n//statistics\n");
for(map<string, string>::iterator it = d[1].m.begin(); it != d[1].m.end(); it++)
d[0][it->first] = it->first;
for(map<string, noun>::iterator it = nouns[1].m.begin(); it != nouns[1].m.end(); it++) {
noun n = it->second;
n.nom = n.nomp = n.acc = n.abl = it->first;
nouns[0][it->first] = n;
for(auto&& elt : d[1].m)
d[0][elt.first] = elt.first;
for(auto&& elt : nouns[1].m) {
noun n = elt.second;
n.nom = n.nomp = n.acc = n.abl = elt.first;
nouns[0][elt.first] = n;
}
printf("// total: %5d nouns, %5d sentences\n", isize(nouns[1].m), isize(d[1].m));
printf("// total: %5zu nouns, %5zu sentences\n", nouns[1].m.size(), d[1].m.size());
for(int i=0; i<NUMLAN; i++) {
int bnouns = 0;
int dict = 0;
size_t bnouns = 0;
size_t bdict = 0;
for(map<string, string>::iterator it = d[i].m.begin(); it != d[i].m.end(); it++)
dict += isize(it->second);
for(map<string, noun>::iterator it = nouns[i].m.begin(); it != nouns[i].m.end(); it++) {
noun& n = it->second;
bnouns += isize(n.nom);
bnouns += isize(n.nomp);
bnouns += isize(n.acc);
bnouns += isize(n.abl);
for(auto&& elt : d[i].m)
bdict += elt.second.size();
for(auto&& elt : nouns[i].m) {
const noun& n = elt.second;
bnouns += n.nom.size();
bnouns += n.nomp.size();
bnouns += n.acc.size();
bnouns += n.abl.size();
}
printf("// %s: %5dB nouns, %5dB sentences\n",
d[i]["EN"].c_str(), bnouns, dict);
printf("// %s: %5zuB nouns, %5zuB sentences\n",
d[i]["EN"].c_str(), bnouns, bdict);
}
set<string> allsent;
for(map<string, string>::iterator it = d[1].m.begin(); it != d[1].m.end(); it++)
allsent.insert(it->first);
std::set<std::string> allsent;
for(auto&& elt : d[1].m)
allsent.insert(elt.first);
set<string> allnouns;
for(map<string, noun>::iterator it = nouns[1].m.begin(); it != nouns[1].m.end(); it++)
allnouns.insert(it->first);
std::set<std::string> allnouns;
for(auto&& elt : nouns[1].m)
allnouns.insert(elt.first);
map<hashcode, string> ms, mn;
std::map<hashcode, std::string> ms, mn;
do {
hashval = rand();
@ -364,16 +381,16 @@ int main() {
ms = buildHashTable(allsent);
mn = buildHashTable(allnouns);
}
while(isize(ms) != isize(allsent) || isize(mn) != isize(allnouns));
while(ms.size() != allsent.size() || mn.size() != allnouns.size());
printf("hashcode hashval = 0x%x;\n\n", hashval);
printf("sentence all_sentences[] = {\n");
for(map<hashcode,string>::iterator it = ms.begin(); it != ms.end(); it++) {
string s = it->second;
for(auto&& elt : ms) {
const std::string& s = elt.second;
if(isrepeat(s)) printf("#if REPEATED\n");
printf(" {0x%x, { // %s\n", it->first, escape(s, s));
printf(" {0x%x, { // %s\n", elt.first, escape(s, s));
for(int i=1; i<NUMLAN; i++) printf(" %s,\n", escape(d[i][s], s));
printf(" }},\n");
if(isrepeat(s)) printf("#endif\n");
@ -382,10 +399,10 @@ int main() {
printf("fullnoun all_nouns[] = {\n");
for(map<hashcode,string>::iterator it = mn.begin(); it != mn.end(); it++) {
string s = it->second;
for(auto&& elt : mn) {
const std::string& s = elt.second;
if(isrepeat(s)) printf("#if REPEATED\n");
printf(" {0x%x, %d, { // \"%s\"\n", it->first,
printf(" {0x%x, %d, { // \"%s\"\n", elt.first,
(nothe.count(s) ? 1:0) + (plural.count(s) ? 2:0),
escape(s, s));
@ -404,4 +421,3 @@ int main() {
printf(" };\n");
}

View File

@ -965,8 +965,8 @@ S("Shift=random, Ctrl=mix", "Shift=náhodná, Ctrl=směs")
S("Euclidean mode", "Eukleidovský mód")
S("Return to the hyperbolic world", "Návrat do hyperbolického světa")
S("Choose from the lands visited this game.", "Vyber si z krajů, které jsi v této hře navštívil.")
S("Scores and achievements are not", "V Eukleidovském módu se");
S("saved in the Euclidean mode!", "neukládají skóre a achievementy!");
S("Scores and achievements are not", "V Eukleidovském módu se")
S("saved in the Euclidean mode!", "neukládají skóre a achievementy!")
S("MOVE", "POHYB")
S("BACK", "ZPĚT")
@ -1481,8 +1481,8 @@ S("A castle in the Crossroads...", "O hradu na Křižovatce...")
//S("You can find Temples of Cthulhu in R'Lyeh once you collect five Statues of Cthulhu.",
// "Po sebrání pěti Cthulhuových sošek můžeš v R'Lyeh najít Cthulhuovy chrámy.")
S("You have to escape first!", "Nejprve musíš utéct!");
S("There is not enough space!", "Není tady dost místa!");
S("You have to escape first!", "Nejprve musíš utéct!")
S("There is not enough space!", "Není tady dost místa!")
S("Customize character", "upravit postavu")
S("gender", "pohlaví")
@ -1540,7 +1540,7 @@ S("Cannot throw fire there!", "Sem nemůžeš vrhnout oheň!")
S("or ESC to see how it ended", "nebo ESC, abys vidě%l0, jak to skončilo")
S("high contrast", "vysoký kontrast")
S("draw the heptagons darker", "tmavší sedmiúhelníky");
S("draw the heptagons darker", "tmavší sedmiúhelníky")
S("targetting ranged Orbs Shift+click only",
"zaměřování dálkových Sfér pouze kombinací Shift + kliknutí")
S("Shift+F, Shift+O, Shift+T, Shift+L, Shift+U, etc.",
@ -1721,8 +1721,8 @@ S(
// missing sentences
S("%The1 drowns!", "%1 se utopi%l1!");
S("%The1 falls!", "%1 spad%l1!");
S("%The1 drowns!", "%1 se utopi%l1!")
S("%The1 falls!", "%1 spad%l1!")
// these were missing from the translation for some reason
@ -1732,17 +1732,17 @@ S("Hell has these lakes everywhere... They are shaped like evil stars, and fille
// Hardcore Mode
// -------------
S("hardcore mode", "hardcore mód");
S("hardcore mode", "hardcore mód")
S("One wrong move and it is game over!", "Jediný špatný tah a hra končí!");
S("Not so hardcore?", "Že bys nebyl zas až tak hardcore?");
S("One wrong move and it is game over!", "Jediný špatný tah a hra končí!")
S("Not so hardcore?", "Že bys nebyl zas až tak hardcore?")
// Shoot'em up Mode
// ----------------
S("shoot'em up mode", "mód střílečky");
S("Welcome to the Shoot'em Up mode!", "Vítej v módu střílečky!");
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = střelba, WASD/IJKL/Numpad = pohyb");
S("shoot'em up mode", "mód střílečky")
S("Welcome to the Shoot'em Up mode!", "Vítej v módu střílečky!")
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = střelba, WASD/IJKL/Numpad = pohyb")
N("Rogue", GEN_M, "Chytrák", "Chytráci", "Chytráka", "Chytrákem")
N("Knife", GEN_O, "Nůž", "Nože", "Nůž", "Nožem")
@ -1775,16 +1775,16 @@ S(", m - mode: shoot'em up", "m - mód střílečky")
S("You would get hurt!", "To by bolelo!")
S("PARTIAL", "CZĘŚCIOWO")
S("Cannot drop %the1 here!", "Tady nelze položit Mrtvou Sféru!");
S("Cannot drop %the1 here!", "Tady nelze položit Mrtvou Sféru!")
// Euclidean scores
// ----------------
S(" (E:%1)", " (E:%1)");
S(" (E:%1)", " (E:%1)")
S("You cannot attack Rock Snakes directly!", "Na Kamenné hady nemůžeš útočit přímo!");
S("You cannot attack Rock Snakes directly!", "Na Kamenné hady nemůžeš útočit přímo!")
S("\"I am lost...\"", "\"I am lost...\"");
S("\"I am lost...\"", "\"I am lost...\"")
S("You are killed by %the1!", "Zabi%l1 tě %1!")
@ -2273,7 +2273,7 @@ S("You destroy %the1 with a mental blast!", "Zniči%l0 jsi %a1 mentálním úder
S("The ivy kills %the1!", "Břečťan zabil %a1!")
S("You destroy %the1.", "Zniči%l0 jsi %a1.")
S("%The1 kills %the2!", "%1 zabi%l1 %a2!")
S("%The1 sinks!", "%1 zmize%l1 pod vodou!");
S("%The1 sinks!", "%1 zmize%l1 pod vodou!")
S("Cannot jump on %the1!", "Nemůžeš skočit na %1!")
@ -2400,13 +2400,13 @@ N("Mouse", GEN_F, "Myška", "Myška", "Myšku", "Myškou")
S("You hear a distant squeak!", "V dálce slyšíš zapištění!")
S("%The1 squeaks in a confused way.", "%1 zmateně piští.")
S("%The1 squeaks gratefully!", "%1 vděčně piští!");
S("%The1 squeaks hopelessly.", "%1 zdrceně piští.");
S("%The1 squeaks in despair.", "%1 zoufale piští.");
S("%The1 squeaks sadly.", "%1 smutně piští.");
S("%The1 squeaks with hope!", "%1 nadějně piští!");
S("%The1 squeaks happily!", "%1 šťastně piští!");
S("%The1 squeaks excitedly!", "%1 vzrušeně piští!");
S("%The1 squeaks gratefully!", "%1 vděčně piští!")
S("%The1 squeaks hopelessly.", "%1 zdrceně piští.")
S("%The1 squeaks in despair.", "%1 zoufale piští.")
S("%The1 squeaks sadly.", "%1 smutně piští.")
S("%The1 squeaks with hope!", "%1 nadějně piští!")
S("%The1 squeaks happily!", "%1 šťastně piští!")
S("%The1 squeaks excitedly!", "%1 vzrušeně piští!")
N("giant rug", GEN_O, "obří koberec", "obří koberce", "obří koberec", "obřím kobercem")
@ -2462,7 +2462,7 @@ S("Save %the1 first to unlock this challenge!", "Pro aktivaci této mise musíš
S("Welcome to %the1 Challenge!", "Vítej v Misi: %1!")
S("The more Hypersian Rugs you collect, the harder it is.", "Čím víc Hyperských koberců sebereš, tím obtížnější bude.")
S("Follow the Mouse and escape with %the1!", "Následuj Myšku a uteč s %abl1!")
S("Hardness frozen at %1.", "Obtížnost nastavená na: %1.");
S("Hardness frozen at %1.", "Obtížnost nastavená na: %1.")
S("Congratulations! Your score is %1.", "Gratulujeme! Tvé skóre je %1.")
S("u = undo", "u = zpět")
@ -3120,7 +3120,7 @@ S("Trees in this forest can be chopped down. Big trees take two turns to chop do
S("Your power is drained by %the1!", "%1 vysává tvou sílu!")
S("Wow! That was close.", "Uf! To bylo o chlup!");
S("Wow! That was close.", "Uf! To bylo o chlup!")
S("Collect four different Elemental Shards!", "Získej čtyři různé Elementální úlomky!")
S("Unbalanced shards in your inventory are dangerous.",
@ -3469,7 +3469,7 @@ S(
"Tento kraj je plný krásných, ale nebezpečných tvorů a rostlin.")
S("%The1 is killed by thorns!", "%1 se nabod%l na trny!");
S("%The1 is killed by thorns!", "%1 se nabod%l na trny!")
// Warped Sea/Coast
// ----------------
@ -4504,7 +4504,7 @@ S("Vampire Bats drain your magical powers!",
S("Hint: use arrow keys to scroll.", "Nápověda: šipkami můžeš scrollovat.")
S("Hint: press 1 2 3 4 to change the projection.", "Nápověda: Klávesy 1 2 3 4 mění projekci.")
S("You gain a protective Shell!", "Získa%l0 jsi ochranný Krunýř!");
S("You gain a protective Shell!", "Získa%l0 jsi ochranný Krunýř!")
S("Hint: magical powers from Treats expire after a number of uses.",
"Nápověda: magické schopnosti získané z Pochoutek zmizí po určitém počtu použití.")
S("A magical energy sword. Don't waste its power!",
@ -5571,7 +5571,7 @@ S(
"co tam získáš 25 Èertových kvítek. Po získání 50 Èertových kvítek se "
"zaènou objevovat na Køižovatce a v Oceánu, a po získání 100 Èertových "
"kvítek všude."
);
)
S(
"\n\nIn the Orb Strategy Mode, dead orbs are available once you collect "
@ -5648,7 +5648,7 @@ S("line width", "šíøka èar")
S("configure panning and general keys", "konfigurace pøejíždìní a obecných kláves")
S("\n\nHint: use 'm' to toggle cells quickly",
"\n\nTip: políèka lze rychle pøepínat klávesou 'm'");
"\n\nTip: políèka lze rychle pøepínat klávesou 'm'")
// cell pattern names
S("football", "fotbal")
@ -5684,7 +5684,7 @@ S(
"If you collect too many treasures in a given land, it will become "
"extremely dangerous. Try other lands once you have enough!",
"Pokud získáš pøíliš mnoho pokladù v jednom kraji, zaène být velmi "
"nebezpeèný. Až budeš mít dost, zkus jiné kraje!");
"nebezpeèný. Až budeš mít dost, zkus jiné kraje!")
S(
"Remember that you can right click almost anything for more information.",
@ -5692,7 +5692,7 @@ S(
"o tom více informací.")
S("Want to understand the geometry in HyperRogue? Try the Tutorial!",
"Chceš porozumìt geometrii v HyperRogue? Zkus Tutoriál!");
"Chceš porozumìt geometrii v HyperRogue? Zkus Tutoriál!")
S(
"Collecting 25 treasures in a given land may be dangerous, "
@ -5780,9 +5780,9 @@ N("Reflection", GEN_O, "Odraz", "Odrazy", "Odraz", "v Odraze")
N("mirror wall", GEN_F, "zrcadlová stìna", "zrcadlové stìny", "zrcadlovou stìnu", "zrcadlovou stìnou")
S("This would only move you deeper into the trap!",
"Tím by ses jen dostal dál do pasti!");
"Tím by ses jen dostal dál do pasti!")
S("You swing your sword at the mirror.", "Udeøil jsi meèem do zrcadla.");
S("You swing your sword at the mirror.", "Udeøil jsi meèem do zrcadla.")
N("Mimic", GEN_M, "Mimik", "Mimikové", "Mimika", "Mimikem")
N("Narcissist", GEN_M, "Narcis", "Narcisové", "Narcisa", "Narcisem")
N("Mirror Spirit", GEN_M, "Zrcadlový duch", "Zrcadloví duchové", "Zrcadlového ducha", "Zrcadlovým duchem")
@ -5950,7 +5950,7 @@ S("Extras:", "Extra:") // extra Orbs gained in OSM
// ------
S("unlock Orbs of Yendor", "odemkni Yendorské Sféry")
S("Collected the keys!", "Získal jsi klíče!");
S("Collected the keys!", "Získal jsi klíče!")
S("Saved the Princess!", "Zachránil jsi Princeznu!")
S("save a Princess", "zachraň Princeznu")
@ -6020,7 +6020,7 @@ S(
N("Kraken", GEN_M, "Kraken", "Krakeni", "Krakena", "Krakenem")
N("Kraken Tentacle", GEN_N, "Krakení chapadlo", "Krakení chapadla", "Krakení chapadlo", "Krakením chapadlem")
S(" (killing increases treasure spawn)", " (zabití zlepšuje výskyt pokladů)");
S(" (killing increases treasure spawn)", " (zabití zlepšuje výskyt pokladů)")
N("stepping stones", GEN_O, "Brod", "Brody", "Brod", "Brodem")
@ -6275,7 +6275,7 @@ S("You are ambushed!", "Přepadení!")
S("teleport", "teleport")
S("ambush:", "přepadení:")
S("The Hunting Dogs give up.", "Lovečtí psi vzdali pronásledování.");
S("The Hunting Dogs give up.", "Lovečtí psi vzdali pronásledování.")
/*
"NEW_ACHIEVEMENT_8_20_NAME" "Kořist"
@ -6338,7 +6338,7 @@ S("Yes, this is definitely a crystal. A very regular crystalline structure.\n\n"
"Ano, tohle je rozhodně krystal. A navíc má velice pravidelnou krystalickou strukturu.\n\n"
"Tento kraj byl navržený jako nástroj pro hraní s různými geometriemi a v normální hře se neobjevuje.")
S("You cannot move there!", "Tam se nemůžeš pohnout!");
S("You cannot move there!", "Tam se nemůžeš pohnout!")
// geometry stuff
@ -6425,7 +6425,7 @@ S("stereographic/orthogonal", "stereografická/ortogonální projekce")
S("Poincaré/Klein", "Poincaré/Klein")
// Paper Model Creator
S("Useless in Euclidean geometry.", "V eukleidovské geometrii k ničemu.");
S("Useless in Euclidean geometry.", "V eukleidovské geometrii k ničemu.")
S("Not implemented for spherical geometry. Please tell me if you really want this.",
"Není implementováno ve sférické geometrii. Pokud byste to opravdu chtěli, dejte mi vědět.")
@ -7162,8 +7162,8 @@ S("Static mode enabled.", "Statický mód zapnut.")
S("Static mode disabled.", "Statický mód vypnut.")
S("Returned to your game.", "Návrat do tvé hry.")
S("Spherical version of %the1. ", "%1 ve sférické verzi. ");
S("Euclidean version of %the1. ", "%1 v eukleidovské verzi. ");
S("Spherical version of %the1. ", "%1 ve sférické verzi. ")
S("Euclidean version of %the1. ", "%1 v eukleidovské verzi. ")
S("Click again to go back to your game.", "Dalším kliknutím se vrátíš do své hry.")
S("Press %1 again to go back to your game.", "Dalším stisknutím %1 se vrátíš do své hry.")
S("return to your game", "návrat do hry")
@ -7182,7 +7182,7 @@ S("You give %the1 a grim look.", "Vrhl jsi pochmurný pohled na %a1.")
// Strange Challenge
S("Strange Challenge", "Podivná mise")
S("compete with other players on random lands in random geometries", "soupeř s jinými hráči v náhodných krajích a náhodných geometriích");
S("compete with other players on random lands in random geometries", "soupeř s jinými hráči v náhodných krajích a náhodných geometriích")
S("Strange Challenge #%1", "Podivná mise #%1")
S("next challenge in %1", "do další mise: %1")

View File

@ -918,8 +918,8 @@ S("Euclidean mode", "Euklidischer Modus")
S("Return to the hyperbolic world", "Zur hyperbolischen Welt zurückkehren")
S("go back", "zurück")
S("Choose from the lands visited this game.", "Wähle aus den Ländern, die diese Sitzung besucht wurden.")
S("Scores and achievements are not", "Im euklidischem Modus werden");
S("saved in the Euclidean mode!", "Punkte und Errungenschaften nicht gespeichert!");
S("Scores and achievements are not", "Im euklidischem Modus werden")
S("saved in the Euclidean mode!", "Punkte und Errungenschaften nicht gespeichert!")
// Android buttons (some are not translated because there are no good short words in Polish)
S("MOVE", "VOR")
@ -1381,8 +1381,8 @@ S("A castle in the Crossroads...", "Ein Schloss in den Kreuzungen...")
"Du kannst Tempel des Cthulhu in R'Lyeh finden, sobald du fünf seiner Statuen besitzt.")
*/
S("You have to escape first!", "Du musst zuerst entkommen!");
S("There is not enough space!", "Zu wenig Platz!");
S("You have to escape first!", "Du musst zuerst entkommen!")
S("There is not enough space!", "Zu wenig Platz!")
S("Customize character", "Character anpassen")
S("gender", "Geschlecht")
@ -1437,7 +1437,7 @@ S("Cannot throw fire there!", "Du kannst dort kein Feuer hinwerfen!")
S("or ESC to see how it ended", "oder ESC um zu sehen, wie alles endete")
S("high contrast", "Hoher Kontrast")
S("draw the heptagons darker", "Heptagone verdunkeln");
S("draw the heptagons darker", "Heptagone verdunkeln")
S("targetting ranged Orbs Shift+click only", "Zielen mit Distanzorbs per Shift-Klick")
S("Shift+F, Shift+O, Shift+T, Shift+L, Shift+U, etc.",
"Shift+F, Shift+O, Shift+T, Shift+L, Shift+U, etc.")
@ -1600,8 +1600,8 @@ S("This Orb is able to bring faraway items to your location, even if there are "
// missing sentences
S("%The1 drowns!", "%Der1 %1 ertrinkt!");
S("%The1 falls!", "%Der1 %1 fällt!");
S("%The1 drowns!", "%Der1 %1 ertrinkt!")
S("%The1 falls!", "%Der1 %1 fällt!")
// these were missing from the translation for some reason
@ -1611,17 +1611,17 @@ S("Hell has these lakes everywhere... They are shaped like evil stars, and fille
// Hardcore Mode
// -------------
S("hardcore mode", "Hardcore Modus");
S("hardcore mode", "Hardcore Modus")
S("One wrong move and it is game over!", "Eine falsche Bewegung kostet dich den Kopf!");
S("Not so hardcore?", "Doch nicht so hardcore?");
S("One wrong move and it is game over!", "Eine falsche Bewegung kostet dich den Kopf!")
S("Not so hardcore?", "Doch nicht so hardcore?")
// Shoot'em up Mode
// ----------------
S("shoot'em up mode", "Ballermodus");
S("Welcome to the Shoot'em Up mode!", "Willkommen im Ballermodus!");
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/[;]/[LEER]/[ENTER]/[Numpad 5] = schießen, WASD/IJKL/[Numpad] = bewegen");
S("shoot'em up mode", "Ballermodus")
S("Welcome to the Shoot'em Up mode!", "Willkommen im Ballermodus!")
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/[;]/[LEER]/[ENTER]/[Numpad 5] = schießen, WASD/IJKL/[Numpad] = bewegen")
N("Rogue", GEN_M, "Schurke", "Schurken", "Schurken")
N("Knife", GEN_N, "Messer", "Messer", "Messer")
@ -1655,16 +1655,16 @@ S(", m - mode: shoot'em up", "m - Modus: Ballern")
S("You would get hurt!", "Du würdest dir wehtun!")
S("PARTIAL", "TEILWEISE")
S("Cannot drop %the1 here!", "Du kannst %den1 %a1 hier nicht ablegen!");
S("Cannot drop %the1 here!", "Du kannst %den1 %a1 hier nicht ablegen!")
// Euclidean scores
// ----------------
S(" (E:%1)", " (E:%1)");
S(" (E:%1)", " (E:%1)")
S("You cannot attack Rock Snakes directly!", "Du kannst Felsschlangen nicht direkt angreifen!");
S("You cannot attack Rock Snakes directly!", "Du kannst Felsschlangen nicht direkt angreifen!")
S("\"I am lost...\"", "\"Ich bin verloren...\"");
S("\"I am lost...\"", "\"Ich bin verloren...\"")
S("You are killed by %the1!", "%Der1 %1 hat dich getötet!")
@ -2124,7 +2124,7 @@ S("You destroy %the1 with a mental blast!", "Du zerstörst %den1 %a1 mit einem m
S("The ivy kills %the1!", "Der Efeu tötet %den1 %a1!")
S("You destroy %the1.", "Du zerstörst %den1 %a1.")
S("%The1 kills %the2!", "%Der1 %1 tötet %den2 %a2!")
S("%The1 sinks!", "%Der1 %1 sinkt!");
S("%The1 sinks!", "%Der1 %1 sinkt!")
S("Cannot jump on %the1!", "Du kannst nicht auf %den1 %a1 springen!")
@ -2257,13 +2257,13 @@ N("Mouse", GEN_F, "Maus", "Mäuse", "Maus")
S("You hear a distant squeak!", "Du hörst ein Piepsen in der Ferne!")
S("%The1 squeaks in a confused way.", "%Die1 %1 piepst verwirrt.")
S("%The1 squeaks gratefully!", "%Die1 %1 piepst dankbar!");
S("%The1 squeaks hopelessly.", "%Die1 %1 piepst hoffnungslos.");
S("%The1 squeaks in despair.", "%Die1 %1 piepst voll Verzweiflung.");
S("%The1 squeaks sadly.", "%Die1 %1 piepst traurig.");
S("%The1 squeaks with hope!", "%Die1 %1 piepst hoffnungsvoll!");
S("%The1 squeaks happily!", "%Die1 %1 piepst fröhlich!");
S("%The1 squeaks excitedly!", "%Die1 %1 piepst aufgeregt!");
S("%The1 squeaks gratefully!", "%Die1 %1 piepst dankbar!")
S("%The1 squeaks hopelessly.", "%Die1 %1 piepst hoffnungslos.")
S("%The1 squeaks in despair.", "%Die1 %1 piepst voll Verzweiflung.")
S("%The1 squeaks sadly.", "%Die1 %1 piepst traurig.")
S("%The1 squeaks with hope!", "%Die1 %1 piepst hoffnungsvoll!")
S("%The1 squeaks happily!", "%Die1 %1 piepst fröhlich!")
S("%The1 squeaks excitedly!", "%Die1 %1 piepst aufgeregt!")
N("giant rug", GEN_O, "Riesiger Teppich", "Riesige Teppiche", "Riesigen Teppich")
@ -2319,7 +2319,7 @@ S("Save %the1 first to unlock this challenge!", "Rette zuerst %den1 %a1 um diese
S("Welcome to %the1 Challenge!", "Willkommen zu der %a1-Herausforderung!")
S("The more Hypersian Rugs you collect, the harder it is.", "Je mehr Hypersische Teppiche du sammelst desto schwieriger wird es.")
S("Follow the Mouse and escape with %the1!", "Folge der Maus und entkomme mit %dem1!")
S("Hardness frozen at %1.", "Festgefroren: %1.");
S("Hardness frozen at %1.", "Festgefroren: %1.")
S("Congratulations! Your score is %1.", "Glückwunsch! Deine Punktzahl beträgt %1.")
S("u = undo", "u = rückgängig")
@ -2649,11 +2649,11 @@ N("Crossroads III", GEN_F, "Kreuzungen III", "Kreuzungen III", "auf den Kreuzung
S("An alternate layout of the Crossroads. Great Walls cross here at right angles.",
"Ein alternatives Layout der Kreuzungen. Große Mauern kreuzen sich hier in rechten Winkeln.")
S("Cannot create temporary matter on a monster!", "Temporäre Materie kann nicht auf einem Monster erzeugt werden!");
S("Cannot create temporary matter on an item!", "Temporäre Materie kann nicht auf einem Item erzeugt werden!");
S("Cannot create temporary matter here!", "Hier kann keine temporäre Materie erzeugt werden!");
S("Cannot summon on a monster!", "Kann nicht auf einem Monster beschworen werden!");
S("No summoning possible here!", "Beschwören hier nicht möglich!");
S("Cannot create temporary matter on a monster!", "Temporäre Materie kann nicht auf einem Monster erzeugt werden!")
S("Cannot create temporary matter on an item!", "Temporäre Materie kann nicht auf einem Item erzeugt werden!")
S("Cannot create temporary matter here!", "Hier kann keine temporäre Materie erzeugt werden!")
S("Cannot summon on a monster!", "Kann nicht auf einem Monster beschworen werden!")
S("No summoning possible here!", "Beschwören hier nicht möglich!")
S("You summon %the1!", "Du beschwörst %den1 %a1!")
S("F4 = file", "F4 = Datei")
@ -2929,7 +2929,7 @@ S("Trees in this forest can be chopped down. Big trees take two turns to chop do
"Bäume in diesem Wald können gefällt werden. Große Bäume zu fällen dauert zwei Züge.")
S("Your power is drained by %the1!", "Deine Kraft wird von %dem1 %d1 ausgesaugt!")
S("Wow! That was close.", "Wow! Das war knapp.");
S("Wow! That was close.", "Wow! Das war knapp.")
S("Collect four different Elemental Shards!", "Sammle vier verschiedene Elementscherben!")
S("Unbalanced shards in your inventory are dangerous.",
"Unbalancierte Scherben in deinem Inventar sind gefährlich.")

View File

@ -946,8 +946,8 @@ S("Shift=random, Ctrl=mix", "Shift=losowo, Ctrl=miks")
S("Euclidean mode", "tryb euklidesowy")
S("Return to the hyperbolic world", "powrót na hiperboloidę")
S("Choose from the lands visited this game.", "Wybierz spośród odwiedzonych krain.")
S("Scores and achievements are not", "Wyniki i osiągnięcia nie są");
S("saved in the Euclidean mode!", "zapamiętywane w tym trybie!");
S("Scores and achievements are not", "Wyniki i osiągnięcia nie są")
S("saved in the Euclidean mode!", "zapamiętywane w tym trybie!")
// Android buttons (some are not translated because there are no good short words in Polish)
S("MOVE", "RUCH")
@ -1442,8 +1442,8 @@ S("You can find Temples of Cthulhu in R'Lyeh once you collect five Statues of Ct
"Po znalezieniu 5 Statuetek Cthulhu możesz w R'Lyeh trafić na Świątynie Cthulhu.")
*/
S("You have to escape first!", "Musisz najpierw uciec!");
S("There is not enough space!", "Nie ma miejsca!");
S("You have to escape first!", "Musisz najpierw uciec!")
S("There is not enough space!", "Nie ma miejsca!")
S("Customize character", "pokoloruj postać")
S("gender", "płeć")
@ -1503,7 +1503,7 @@ S("Cannot throw fire there!", "Nie możesz tego podpalić!")
S("or ESC to see how it ended", "lub ESC by zobaczyć, jak się skończyło")
S("high contrast", "wysoki kontrast")
S("draw the heptagons darker", "siedmiokąty ciemniejsze");
S("draw the heptagons darker", "siedmiokąty ciemniejsze")
S("targetting ranged Orbs Shift+click only",
"celowanie sfer na odgległość wymaga Shift+klik")
S("Shift+F, Shift+O, Shift+T, Shift+L, Shift+U, etc.",
@ -1680,8 +1680,8 @@ S(
// missing sentences
S("%The1 drowns!", "%1 się utopi%ł1!");
S("%The1 falls!", "%1 spad%ł1!");
S("%The1 drowns!", "%1 się utopi%ł1!")
S("%The1 falls!", "%1 spad%ł1!")
// these were missing from the translation for some reason
@ -1691,17 +1691,17 @@ S("Hell has these lakes everywhere... They are shaped like evil stars, and fille
// Hardcore Mode
// -------------
S("hardcore mode", "tryb hardcore");
S("hardcore mode", "tryb hardcore")
S("One wrong move and it is game over!", "Jeden fałszywy ruch i koniec gry!");
S("Not so hardcore?", "Hardkor to nie to?");
S("One wrong move and it is game over!", "Jeden fałszywy ruch i koniec gry!")
S("Not so hardcore?", "Hardkor to nie to?")
// Shoot'em up Mode
// ----------------
S("shoot'em up mode", "tryb strzelanki");
S("Welcome to the Shoot'em Up mode!", "Witaj w trybie strzelanki!");
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = strzał, WASD/IJKL/Numpad = ruch");
S("shoot'em up mode", "tryb strzelanki")
S("Welcome to the Shoot'em Up mode!", "Witaj w trybie strzelanki!")
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = strzał, WASD/IJKL/Numpad = ruch")
N("Rogue", GEN_M, "Cwaniak", "Cwaniaki", "Cwaniaka", "Cwaniakiem")
N("Knife", GEN_O, "Nóż", "Noże", "Nóż", "Nożem")
@ -1735,16 +1735,16 @@ S(", m - mode: shoot'em up", "m - tryb strzelanki")
S("You would get hurt!", "To by bolało!")
S("PARTIAL", "CZĘŚCIOWO")
S("Cannot drop %the1 here!", "Nie możesz tu położyć %a1!");
S("Cannot drop %the1 here!", "Nie możesz tu położyć %a1!")
// Euclidean scores
// ----------------
S(" (E:%1)", " (E:%1)");
S(" (E:%1)", " (E:%1)")
S("You cannot attack Rock Snakes directly!", "Nie możesz atakować Skalnych Węży bezpośrednio!");
S("You cannot attack Rock Snakes directly!", "Nie możesz atakować Skalnych Węży bezpośrednio!")
S("\"I am lost...\"", "\"Zgubiłem się...\"");
S("\"I am lost...\"", "\"Zgubiłem się...\"")
S("You are killed by %the1!", "Zabi%ł1 Cię %1!")
@ -2230,7 +2230,7 @@ S("You destroy %the1 with a mental blast!", "Zniszczy%łeś0 %a1 mocą psychiczn
S("The ivy kills %the1!", "Bluszcz zabił %a1!")
S("You destroy %the1.", "Zniszczy%łeś0 %a1.")
S("%The1 kills %the2!", "%1 zabi%ł1 %a2!")
S("%The1 sinks!", "%1 uton%ął1!");
S("%The1 sinks!", "%1 uton%ął1!")
S("Cannot jump on %the1!", "Nie możesz skoczyć na %1!")
@ -2369,13 +2369,13 @@ N("Mouse", GEN_F, "Myszka", "Myszki", "Myszkę", "Myszką")
S("You hear a distant squeak!", "Słyszysz odległy pisk!")
S("%The1 squeaks in a confused way.", "Zmieszan%ya1 %1 pisn%ął1.")
S("%The1 squeaks gratefully!", "%1 pisn%ął1 w podziękowaniu!");
S("%The1 squeaks hopelessly.", "%1 pisn%ął1 bez nadziei.");
S("%The1 squeaks in despair.", "%1 pisn%ął1 rozpaczliwie.");
S("%The1 squeaks sadly.", "%1 pisn%ął1 smutno.");
S("%The1 squeaks with hope!", "%1 pisn%ął1 z nadzieją!");
S("%The1 squeaks happily!", "%1 pisn%ął1 szczęśliwie!");
S("%The1 squeaks excitedly!", "%1 się ekscytuje!");
S("%The1 squeaks gratefully!", "%1 pisn%ął1 w podziękowaniu!")
S("%The1 squeaks hopelessly.", "%1 pisn%ął1 bez nadziei.")
S("%The1 squeaks in despair.", "%1 pisn%ął1 rozpaczliwie.")
S("%The1 squeaks sadly.", "%1 pisn%ął1 smutno.")
S("%The1 squeaks with hope!", "%1 pisn%ął1 z nadzieją!")
S("%The1 squeaks happily!", "%1 pisn%ął1 szczęśliwie!")
S("%The1 squeaks excitedly!", "%1 się ekscytuje!")
N("giant rug", GEN_O, "wielki dywan", "wielkie dywany", "wielki dywan", "wielkim dywanem")
@ -2432,7 +2432,7 @@ S("Save %the1 first to unlock this challenge!", "Uratuj %a1, by mieć dostęp do
S("Welcome to %the1 Challenge!", "Uratuj %a1!")
S("The more Hypersian Rugs you collect, the harder it is.", "Im więcej zbierzesz Hiperskich Dywanów, tym misja trudniejsza.")
S("Follow the Mouse and escape with %the1!", "Idź za Myszką i ucieknij z %abl1!")
S("Hardness frozen at %1.", "Trudność zamrożona: %1.");
S("Hardness frozen at %1.", "Trudność zamrożona: %1.")
S("Congratulations! Your score is %1.", "Gratulacje! Twój wynik to %1.")
S("u = undo", "u = cofnij")
@ -2772,11 +2772,11 @@ N("Crossroads III", GEN_N, "Skrzyżowanie III", "Skrzyżowania III", "Skrzyżowa
S("An alternate layout of the Crossroads. Great Walls cross here at right angles.",
"Alternatywny układ Skrzyżowania. Wielkie Ściany przecinają się tu pod kątami prostymi.")
S("Cannot create temporary matter on a monster!", "Nie można tworzyć tymczasowej materii na potworze!");
S("Cannot create temporary matter on an item!", "Nie można tworzyć tymczasowej materii na przedmiocie!");
S("Cannot create temporary matter here!", "Nie można tu stworzyć tymczasowej materii!");
S("Cannot summon on a monster!", "Nie można przywołać na potworze!");
S("No summoning possible here!", "Przywołanie niemożliwe!");
S("Cannot create temporary matter on a monster!", "Nie można tworzyć tymczasowej materii na potworze!")
S("Cannot create temporary matter on an item!", "Nie można tworzyć tymczasowej materii na przedmiocie!")
S("Cannot create temporary matter here!", "Nie można tu stworzyć tymczasowej materii!")
S("Cannot summon on a monster!", "Nie można przywołać na potworze!")
S("No summoning possible here!", "Przywołanie niemożliwe!")
S("You summon %the1!", "Przywoła%łeś0 %a1!")
S("F4 = file", "F4 = plik")
@ -3061,7 +3061,7 @@ S("Trees in this forest can be chopped down. Big trees take two turns to chop do
S("Your power is drained by %the1!", "Twoja moc jest wyssana przez %a1!")
S("Wow! That was close.", "Uff! Było blisko.");
S("Wow! That was close.", "Uff! Było blisko.")
S("Collect four different Elemental Shards!", "Znajdź Okruch każdego żywiołu!")
S("Unbalanced shards in your inventory are dangerous.",
@ -3400,7 +3400,7 @@ S(
"Ta kraina pełna jest pięknych, lecz niebezpiecznych, stworzeń i roślin.")
S("%The1 is killed by thorns!", "%1 wpad%ł1 na kolce i się zabi%ł1!");
S("%The1 is killed by thorns!", "%1 wpad%ł1 na kolce i się zabi%ł1!")
S("You just cannot stand in place, those roses smell too nicely.", "Nie możesz stać w miejscu, róże zbyt ładnie pachną.")
S("Those roses smell too nicely. You have to come towards them.", "Te róże tak ładnie pachną. Musisz iść w ich kierunku.")
@ -4418,7 +4418,7 @@ S("Vampire Bats drain your magical powers!",
S("Hint: use arrow keys to scroll.", "Wskazówka: przewijasz strzałkami.")
S("Hint: press 1 2 3 4 to change the projection.", "Wskazówka: 1 2 3 4 zmienia rzut.")
S("You gain a protective Shell!", "Zdoby%łeś0 ochronną Skorupę!");
S("You gain a protective Shell!", "Zdoby%łeś0 ochronną Skorupę!")
S("Hint: magical powers from Treats expire after a number of uses.",
"Wskazówka: magiczne moce Cukierków wyczerpują się po kilku użyciach.")
S("A magical energy sword. Don't waste its power!",
@ -5510,7 +5510,7 @@ S(
"\n\nW trybie strategii sfer Sfery Yendoru pojawiają się w Piekle "
"po zebraniu 25 Czarcich Ziel, na Skrzyżowaniu/Oceanie po zebraniu 50, "
"wszędzie po zebraniu 100."
);
)
S(
"\n\nIn the Orb Strategy Mode, dead orbs are available once you collect "
@ -5590,7 +5590,7 @@ S("line width", "szerokość linii")
S("configure panning and general keys", "skonfiguruj klawisze ogólne")
S("\n\nHint: use 'm' to toggle cells quickly",
"\n\nWsk: użyj 'm' by szybko przestawiać pola");
"\n\nWsk: użyj 'm' by szybko przestawiać pola")
// cell pattern names
S("football", "piłka nożna")
@ -5625,7 +5625,7 @@ S(
"If you collect too many treasures in a given land, it will become "
"extremely dangerous. Try other lands once you have enough!",
"Jeśli zbierzesz za dużo skarbów w jednej krainie, stanie się ona "
"bardzo niebezpieczna. Spróbuj pójść do innych krain, gdy masz dość!");
"bardzo niebezpieczna. Spróbuj pójść do innych krain, gdy masz dość!")
S(
"Remember that you can right click almost anything for more information.",
@ -5633,7 +5633,7 @@ S(
"by dowiedzieć się czegoś na dany temat.")
S("Want to understand the geometry in HyperRogue? Try the Tutorial!",
"Chcesz zrozumieć geometrię w HyperRogue? Obejrzyj Podręcznik!");
"Chcesz zrozumieć geometrię w HyperRogue? Obejrzyj Podręcznik!")
S(
"Collecting 25 treasures in a given land may be dangerous, "
@ -5719,9 +5719,9 @@ N("Reflection", GEN_N, "Odbicie", "Odbicia", "Odbicie", "w Odbiciu")
N("mirror wall", GEN_F, "lustrzana ściana", "lustrzane ściany", "lustrzaną ścianę", "lustrzaną ścianą")
S("This would only move you deeper into the trap!",
"To tylko przeniesie Cię w głąb pułapki!");
"To tylko przeniesie Cię w głąb pułapki!")
S("You swing your sword at the mirror.", "Wywijasz mieczem w kierunku lustra.");
S("You swing your sword at the mirror.", "Wywijasz mieczem w kierunku lustra.")
N("Mimic", GEN_M, "Mimik", "Mimiki", "Mimika", "Mimikiem")
N("Narcissist", GEN_M, "Narcyz", "Narcyzy", "Narcyza", "Narcyzem")
N("Mirror Spirit", GEN_M, "Duch Lustra", "Duchy Lustra", "Ducha Lustra", "Duchem Lustra")
@ -5850,7 +5850,7 @@ S("Extras:", "Dodatkowe:") // extra Orbs gained in OSM
// ------
S("unlock Orbs of Yendor", "otwórz Sfery Yendoru")
S("Collected the keys!", "Zebrano klucze!");
S("Collected the keys!", "Zebrano klucze!")
S("Saved the Princess!", "Uratowano Księżniczkę!")
S("save a Princess", "uratuj Księżniczkę")
@ -5922,7 +5922,7 @@ S(
N("Kraken", GEN_M, "Kraken", "Krakeny", "Krakena", "Krakenem")
N("Kraken Tentacle", GEN_F, "Macka Krakena", "Macki Krakena", "Mackę Krakena", "Macką Krakena")
S(" (killing increases treasure spawn)", " (pokonywanie zwiększa częstość skarbów)");
S(" (killing increases treasure spawn)", " (pokonywanie zwiększa częstość skarbów)")
N("stepping stones", GEN_O, "Bród", "Brody", "Bród", "Brodem")
@ -6163,7 +6163,7 @@ S("When your plan has clearly failed, it is better to abandon it and go to a saf
"Kiedy jest jasne, że Twój plan się nie powiódł, lepiej jest go porzucić i odejść w bezpieczne miejsce, by mieć szansę na sukces przy kolejnej próbie. "
"Ten pies zdecydowanie to wie.")
S("The Hunting Dogs give up.", "Myśliwskie psy się poddały.");
S("The Hunting Dogs give up.", "Myśliwskie psy się poddały.")
// missing from previous versions:
@ -6191,7 +6191,7 @@ S("Yes, this is definitely a crystal. A very regular crystalline structure.\n\n"
"Tak, to na pewno kryształ. Bardzo regularna struktura krystaliczna.\n\n"
"Ta kraina została zaprojektowana do zabawy różnymi geometriami, i nie pojawia się podczas normalnej gry.")
S("You cannot move there!", "Nie możesz tam iść!");
S("You cannot move there!", "Nie możesz tam iść!")
// geometry stuff
@ -6276,7 +6276,7 @@ S("stereographic/orthogonal", "rzut stereo/orto")
S("Poincaré/Klein", "Poincaré/Klein")
// Paper Model Creator
S("Useless in Euclidean geometry.", "Bezużyteczne w geometrii euklidesowej.");
S("Useless in Euclidean geometry.", "Bezużyteczne w geometrii euklidesowej.")
S("Not implemented for spherical geometry. Please tell me if you really want this.",
"Nie zaimplementowane dla geometrii sferycznej. Jeśli bardzo tego chcesz, powiedz.")
@ -6840,7 +6840,7 @@ S(
"krainy ze szczególnym kierunkiem. Jeśli znalezienie "
"tego szczególnego kierunku jest częścią zadania gracza, "
"opcja ta działa tylko w trybie oszusta."
);
)
S("NEVER", "NIGDY")
S("Mercator", "odwzorowanie Merkatora")
@ -6865,8 +6865,8 @@ S("Static mode enabled.", "Tryb statyczny włączony.")
S("Static mode disabled.", "Tryb statyczny wyłączony.")
S("Returned to your game.", "Wracasz do swojej gry.")
S("Spherical version of %the1. ", "%1 w wersji sferycznej. ");
S("Euclidean version of %the1. ", "%1 w wersji euklidesowej. ");
S("Spherical version of %the1. ", "%1 w wersji sferycznej. ")
S("Euclidean version of %the1. ", "%1 w wersji euklidesowej. ")
S("Click again to go back to your game.", "Kliknij ponownie by wrócić do swojej gry.")
S("Press %1 again to go back to your game.", "Wciśnij %1 ponownie by wrócić do swojej gry.")
S("return to your game", "Wróć do gry")
@ -6886,7 +6886,7 @@ S("You juggle the Dead Orbs.", "Żonglujesz Martwymi Sferami.")
S("You give %the1 a grim look.", "Spoglądasz ponuro na %a1.")
S("Strange Challenge", "Dziwna Misja")
S("compete with other players on random lands in random geometries", "konkuruj z innymi na losowych krainach w losowych geometriach");
S("compete with other players on random lands in random geometries", "konkuruj z innymi na losowych krainach w losowych geometriach")
S("Strange Challenge #%1", "Dziwna Misja #%1")
S("next challenge in %1", "do następna misji: %1")

View File

@ -1032,8 +1032,8 @@ S("Shift=random, Ctrl=mix", "Shift=losowo, Ctrl=miks")
S("Euclidean mode", "tryb euklidesowy")
S("Return to the hyperbolic world", "powrót na hiperboloidę")
S("Choose from the lands visited this game.", "Wybierz spośród odwiedzonych krain.")
S("Scores and achievements are not", "Wyniki i osiągnięcia nie są");
S("saved in the Euclidean mode!", "zapamiętywane w tym trybie!");
S("Scores and achievements are not", "Wyniki i osiągnięcia nie są")
S("saved in the Euclidean mode!", "zapamiętywane w tym trybie!")
// Android buttons (some are not translated because there are no good short words in Polish)
S("MOVE", "RUCH")
@ -1533,8 +1533,8 @@ S("You can find Temples of Cthulhu in R'Lyeh once you collect five Statues of Ct
"Po znalezieniu 5 Statuetek Cthulhu możesz w R'Lyeh trafić na Świątynie Cthulhu.")
*/
S("You have to escape first!", "Musisz najpierw uciec!");
S("There is not enough space!", "Nie ma miejsca!");
S("You have to escape first!", "Musisz najpierw uciec!")
S("There is not enough space!", "Nie ma miejsca!")
S("Customize character", "pokoloruj postać")
S("gender", "płeć")
@ -1594,7 +1594,7 @@ S("Cannot throw fire there!", "Nie możesz tego podpalić!")
S("or ESC to see how it ended", "lub ESC by zobaczyć, jak się skończyło")
S("high contrast", "wysoki kontrast")
S("draw the heptagons darker", "siedmiokąty ciemniejsze");
S("draw the heptagons darker", "siedmiokąty ciemniejsze")
S("targetting ranged Orbs Shift+click only",
"celowanie sfer na odgległość wymaga Shift+klik")
S("Shift+F, Shift+O, Shift+T, Shift+L, Shift+U, etc.",
@ -1771,8 +1771,8 @@ S(
// missing sentences
S("%The1 drowns!", "%1 się utopi%ł1!");
S("%The1 falls!", "%1 spad%ł1!");
S("%The1 drowns!", "%1 się utopi%ł1!")
S("%The1 falls!", "%1 spad%ł1!")
// these were missing from the translation for some reason
@ -1782,17 +1782,17 @@ S("Hell has these lakes everywhere... They are shaped like evil stars, and fille
// Hardcore Mode
// -------------
S("hardcore mode", "tryb hardcore");
S("hardcore mode", "tryb hardcore")
S("One wrong move and it is game over!", "Jeden fałszywy ruch i koniec gry!");
S("Not so hardcore?", "Hardkor to nie to?");
S("One wrong move and it is game over!", "Jeden fałszywy ruch i koniec gry!")
S("Not so hardcore?", "Hardkor to nie to?")
// Shoot'em up Mode
// ----------------
S("shoot'em up mode", "tryb strzelanki");
S("Welcome to the Shoot'em Up mode!", "Witaj w trybie strzelanki!");
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = strzał, WASD/IJKL/Numpad = ruch");
S("shoot'em up mode", "tryb strzelanki")
S("Welcome to the Shoot'em Up mode!", "Witaj w trybie strzelanki!")
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = strzał, WASD/IJKL/Numpad = ruch")
N("Rogue", GEN_M, "Cwaniak", "Cwaniaki", "Cwaniaka", "Cwaniakiem")
N("Knife", GEN_O, "Nóż", "Noże", "Nóż", "Nożem")
@ -1826,16 +1826,16 @@ S(", m - mode: shoot'em up", "m - tryb strzelanki")
S("You would get hurt!", "To by bolało!")
S("PARTIAL", "CZĘŚCIOWO")
S("Cannot drop %the1 here!", "Nie możesz tu położyć %a1!");
S("Cannot drop %the1 here!", "Nie możesz tu położyć %a1!")
// Euclidean scores
// ----------------
S(" (E:%1)", " (E:%1)");
S(" (E:%1)", " (E:%1)")
S("You cannot attack Rock Snakes directly!", "Nie możesz atakować Skalnych Węży bezpośrednio!");
S("You cannot attack Rock Snakes directly!", "Nie możesz atakować Skalnych Węży bezpośrednio!")
S("\"I am lost...\"", "\"Zgubiłem się...\"");
S("\"I am lost...\"", "\"Zgubiłem się...\"")
S("You are killed by %the1!", "Zabi%ł1 Cię %1!")
@ -2321,7 +2321,7 @@ S("You destroy %the1 with a mental blast!", "Zniszczy%łeś0 %a1 mocą psychiczn
S("The ivy kills %the1!", "Bluszcz zabił %a1!")
S("You destroy %the1.", "Zniszczy%łeś0 %a1.")
S("%The1 kills %the2!", "%1 zabi%ł1 %a2!")
S("%The1 sinks!", "%1 uton%ął1!");
S("%The1 sinks!", "%1 uton%ął1!")
S("Cannot jump on %the1!", "Nie możesz skoczyć na %1!")
@ -2460,13 +2460,13 @@ N("Mouse", GEN_F, "Myszka", "Myszki", "Myszkę", "Myszką")
S("You hear a distant squeak!", "Słyszysz odległy pisk!")
S("%The1 squeaks in a confused way.", "Zmieszan%ya1 %1 pisn%ął1.")
S("%The1 squeaks gratefully!", "%1 pisn%ął1 w podziękowaniu!");
S("%The1 squeaks hopelessly.", "%1 pisn%ął1 bez nadziei.");
S("%The1 squeaks in despair.", "%1 pisn%ął1 rozpaczliwie.");
S("%The1 squeaks sadly.", "%1 pisn%ął1 smutno.");
S("%The1 squeaks with hope!", "%1 pisn%ął1 z nadzieją!");
S("%The1 squeaks happily!", "%1 pisn%ął1 szczęśliwie!");
S("%The1 squeaks excitedly!", "%1 się ekscytuje!");
S("%The1 squeaks gratefully!", "%1 pisn%ął1 w podziękowaniu!")
S("%The1 squeaks hopelessly.", "%1 pisn%ął1 bez nadziei.")
S("%The1 squeaks in despair.", "%1 pisn%ął1 rozpaczliwie.")
S("%The1 squeaks sadly.", "%1 pisn%ął1 smutno.")
S("%The1 squeaks with hope!", "%1 pisn%ął1 z nadzieją!")
S("%The1 squeaks happily!", "%1 pisn%ął1 szczęśliwie!")
S("%The1 squeaks excitedly!", "%1 się ekscytuje!")
N("giant rug", GEN_O, "wielki dywan", "wielkie dywany", "wielki dywan", "wielkim dywanem")
@ -2523,7 +2523,7 @@ S("Save %the1 first to unlock this challenge!", "Uratuj %a1, by mieć dostęp do
S("Welcome to %the1 Challenge!", "Uratuj %a1!")
S("The more Hypersian Rugs you collect, the harder it is.", "Im więcej zbierzesz Hiperskich Dywanów, tym misja trudniejsza.")
S("Follow the Mouse and escape with %the1!", "Idź za Myszką i ucieknij z %abl1!")
S("Hardness frozen at %1.", "Trudność zamrożona: %1.");
S("Hardness frozen at %1.", "Trudność zamrożona: %1.")
S("Congratulations! Your score is %1.", "Gratulacje! Twój wynik to %1.")
S("u = undo", "u = cofnij")
@ -2863,11 +2863,11 @@ N("Crossroads III", GEN_N, "Skrzyżowanie III", "Skrzyżowania III", "Skrzyżowa
S("An alternate layout of the Crossroads. Great Walls cross here at right angles.",
"Alternatywny układ Skrzyżowania. Wielkie Ściany przecinają się tu pod kątami prostymi.")
S("Cannot create temporary matter on a monster!", "Nie można tworzyć tymczasowej materii na potworze!");
S("Cannot create temporary matter on an item!", "Nie można tworzyć tymczasowej materii na przedmiocie!");
S("Cannot create temporary matter here!", "Nie można tu stworzyć tymczasowej materii!");
S("Cannot summon on a monster!", "Nie można przywołać na potworze!");
S("No summoning possible here!", "Przywołanie niemożliwe!");
S("Cannot create temporary matter on a monster!", "Nie można tworzyć tymczasowej materii na potworze!")
S("Cannot create temporary matter on an item!", "Nie można tworzyć tymczasowej materii na przedmiocie!")
S("Cannot create temporary matter here!", "Nie można tu stworzyć tymczasowej materii!")
S("Cannot summon on a monster!", "Nie można przywołać na potworze!")
S("No summoning possible here!", "Przywołanie niemożliwe!")
S("You summon %the1!", "Przywoła%łeś0 %a1!")
S("F4 = file", "F4 = plik")
@ -3152,7 +3152,7 @@ S("Trees in this forest can be chopped down. Big trees take two turns to chop do
S("Your power is drained by %the1!", "Twoja moc jest wyssana przez %a1!")
S("Wow! That was close.", "Uff! Było blisko.");
S("Wow! That was close.", "Uff! Było blisko.")
S("Collect four different Elemental Shards!", "Znajdź Okruch każdego żywiołu!")
S("Unbalanced shards in your inventory are dangerous.",
@ -3489,7 +3489,7 @@ S(
"Ta kraina pełna jest pięknych, lecz niebezpiecznych, stworzeń i roślin.")
S("%The1 is killed by thorns!", "%1 wpad%ł1 na kolce i się zabi%ł1!");
S("%The1 is killed by thorns!", "%1 wpad%ł1 na kolce i się zabi%ł1!")
S("You just cannot stand in place, those roses smell too nicely.", "Nie możesz stać w miejscu, róże zbyt ładnie pachną.")
S("Those roses smell too nicely. You have to come towards them.", "Te róże tak ładnie pachną. Musisz iść w ich kierunku.")
@ -4502,7 +4502,7 @@ S("Vampire Bats drain your magical powers!",
S("Hint: use arrow keys to scroll.", "Wskazówka: przewijasz strzałkami.")
S("Hint: press 1 2 3 4 to change the projection.", "Wskazówka: 1 2 3 4 zmienia rzut.")
S("You gain a protective Shell!", "Zdobył%eś0 ochronną Skorupę!");
S("You gain a protective Shell!", "Zdobył%eś0 ochronną Skorupę!")
S("Hint: magical powers from Treats expire after a number of uses.",
"Wskazówka: magiczne moce Cukierków wyczerpują się po kilku użyciach.")
S("A magical energy sword. Don't waste its power!",
@ -5591,7 +5591,7 @@ S(
"\n\nW trybie strategii sfer Sfery Yendoru się pojawiają w Piekle "
"po zebraniu 25 Czarcich Ziel, na Skrzyżowaniu/Oceanie po zebraniu 50, "
"wszędzie po zebraniu 100."
);
)
S(
"\n\nIn the Orb Strategy Mode, dead orbs are available once you collect "
@ -5673,7 +5673,7 @@ S("line width", "szerokość linii")
S("configure panning and general keys", "skonfiguruj klawisze ogólne")
S("\n\nHint: use 'm' to toggle cells quickly",
"\n\nWsk: użyj 'm' by szybko przestawiać pola");
"\n\nWsk: użyj 'm' by szybko przestawiać pola")
// cell pattern names
// ------------------
@ -5711,7 +5711,7 @@ S(
"If you collect too many treasures in a given land, it will become "
"extremely dangerous. Try other lands once you have enough!",
"Jeśli zbierzesz za dużo skarbów w jednej krainie, stanie się ona "
"bardzo niebezpieczna. Spróbuj pójść do innych krain, gdy masz dość!");
"bardzo niebezpieczna. Spróbuj pójść do innych krain, gdy masz dość!")
S(
"Remember that you can right click almost anything for more information.",
@ -5719,7 +5719,7 @@ S(
"by dowiedzieć się czegoś na dany temat.")
S("Want to understand the geometry in HyperRogue? Try the Tutorial!",
"Chcesz zrozumieć geometrię w HyperRogue? Obejrzyj Podręcznik!");
"Chcesz zrozumieć geometrię w HyperRogue? Obejrzyj Podręcznik!")
S(
"Collecting 25 treasures in a given land may be dangerous, "
@ -5805,9 +5805,9 @@ N("Reflection", GEN_N, "Odbicie", "Odbicia", "Odbicie", "w Odbiciu")
N("mirror wall", GEN_F, "lustrzana ściana", "lustrzane ściany", "lustrzaną ścianę", "lustrzaną ścianą")
S("This would only move you deeper into the trap!",
"To tylko przeniesie Cię w głąb pułapki!");
"To tylko przeniesie Cię w głąb pułapki!")
S("You swing your sword at the mirror.", "Wywijasz mieczem w kierunku lustra.");
S("You swing your sword at the mirror.", "Wywijasz mieczem w kierunku lustra.")
N("Mimic", GEN_M, "Mimik", "Mimiki", "Mimika", "Mimikiem")
N("Narcissist", GEN_M, "Narcyz", "Narcyzy", "Narcyza", "Narcyzem")
N("Mirror Spirit", GEN_M, "Duch Lustra", "Duchy Lustra", "Ducha Lustra", "Duchem Lustra")
@ -5938,7 +5938,7 @@ S("Extras:", "Dodatkowe:") // extra Orbs gained in OSM
// ------
S("unlock Orbs of Yendor", "otwórz Sfery Yendoru")
S("Collected the keys!", "Zebrano klucze!");
S("Collected the keys!", "Zebrano klucze!")
S("Saved the Princess!", "Uratowano Księżniczkę!")
S("save a Princess", "uratuj Księżniczkę")

View File

@ -930,8 +930,8 @@ S("Shift=random, Ctrl=mix", "Shift=случайный, Ctrl=смешать")
S("Euclidean mode", "режим евклидовой плоскости")
S("Return to the hyperbolic world", "вернуться на гиперболоид")
S("Choose from the lands visited this game.", "Выберите одну из уже посещённых земель.")
S("Scores and achievements are not", "Очки и достижения не");
S("saved in the Euclidean mode!", "сохраняются в евклидовом режиме!");
S("Scores and achievements are not", "Очки и достижения не")
S("saved in the Euclidean mode!", "сохраняются в евклидовом режиме!")
// Android buttons
// ---------------
@ -1410,8 +1410,8 @@ S("You can find Temples of Cthulhu in R'Lyeh once you collect five Statues of Ct
"Вы можете найти храмы Ктулху в Р'Льехе, как только найдёте 5 статуй Ктулху.")
*/
S("You have to escape first!", "Вы должны бежать первым!");
S("There is not enough space!", "Нет места!");
S("You have to escape first!", "Вы должны бежать первым!")
S("There is not enough space!", "Нет места!")
S("Customize character", "Настройка персонажа")
S("gender", "пол")
@ -1477,7 +1477,7 @@ S("or ESC to see how it ended", "либо ESC, чтобы посмотреть,
S("high contrast", "высокий контраст")
S("draw the heptagons darker", "семиугольники темнее");
S("draw the heptagons darker", "семиугольники темнее")
S("targetting ranged Orbs Shift+click only",
"выбирать цель сфер только через Shift+клик")
@ -1654,8 +1654,8 @@ S(
// missing sentences
S("%The1 drowns!", "%1 утонул%E1!");
S("%The1 falls!", "%1 упал%E1!");
S("%The1 drowns!", "%1 утонул%E1!")
S("%The1 falls!", "%1 упал%E1!")
// these were missing from the translation for some reason
@ -1665,17 +1665,17 @@ S("Hell has these lakes everywhere... They are shaped like evil stars, and fille
// Hardcore Mode
// -------------
S("hardcore mode", "режим hardcore");
S("hardcore mode", "режим hardcore")
S("One wrong move and it is game over!", "Один неверный шаг, и игра закончится!");
S("Not so hardcore?", "не так хардкорно?");
S("One wrong move and it is game over!", "Один неверный шаг, и игра закончится!")
S("Not so hardcore?", "не так хардкорно?")
// Shoot'em up Mode
// ----------------
S("shoot'em up mode", "режим стрельбы");
S("Welcome to the Shoot'em Up mode!", "Добро пожаловать в режим стрельбы!");
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = стрелять, WASD/IJKL/Numpad = ходить");
S("shoot'em up mode", "режим стрельбы")
S("Welcome to the Shoot'em Up mode!", "Добро пожаловать в режим стрельбы!")
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = стрелять, WASD/IJKL/Numpad = ходить")
N("Rogue", GEN_M, "Разбойник", "Разбойники", "Разбойника", "Разбойником")
N("Knife", GEN_O, "Нож", "Ножи", "Нож", "Ножом")
@ -1710,10 +1710,10 @@ S("You are killed by %the1!", "Вас убил %1!")
S("You would get hurt!", "Это было больно!")
S("PARTIAL", "ЧАСТИЧНО")
S("Cannot drop %the1 here!", "Сюда нельзя положить мёртвую сферу!")
S("You cannot attack Rock Snakes directly!", "Вы не можете атаковать Каменную змею!");
S(" (E:%1)", " (E:%1)");
S("You cannot attack Rock Snakes directly!", "Вы не можете атаковать Каменную змею!")
S(" (E:%1)", " (E:%1)")
S("\"I am lost...\"", "\"Я потерялся...\"");
S("\"I am lost...\"", "\"Я потерялся...\"")
// achievements from Version 7.0 which have not yet been translated
@ -2241,7 +2241,7 @@ S("You destroy %the1 with a mental blast!", "Вы уничтожили %a1 си
S("The ivy kills %the1!", "Плющ убил %a1!")
S("You destroy %the1.", "Вы уничтожили %a1.")
S("%The1 kills %the2!", "%1 убил%E1 %a2!")
S("%The1 sinks!", "%1 утонул%E1!");
S("%The1 sinks!", "%1 утонул%E1!")
S("Cannot jump on %the1!", "Нельзя прыгнуть на %1!")
@ -2378,13 +2378,13 @@ N("Mouse", GEN_F, "Мышка", "Мышки", "Мышку", "Мышкой")
S("You hear a distant squeak!", "Вы слышите писк!")
S("%The1 squeaks in a confused way.", "%1 пищит, запутавшись.")
S("%The1 squeaks gratefully!", "%1 пищит с благодарностью!");
S("%The1 squeaks hopelessly.", "%1 пищит без надежды.");
S("%The1 squeaks in despair.", "%1 пищит в отчаянии.");
S("%The1 squeaks sadly.", "%1 пищит грустно.");
S("%The1 squeaks with hope!", "%1 пищит с надеждой!");
S("%The1 squeaks happily!", "%1 пищит радостно!");
S("%The1 squeaks excitedly!", "%1 пищит азартно!");
S("%The1 squeaks gratefully!", "%1 пищит с благодарностью!")
S("%The1 squeaks hopelessly.", "%1 пищит без надежды.")
S("%The1 squeaks in despair.", "%1 пищит в отчаянии.")
S("%The1 squeaks sadly.", "%1 пищит грустно.")
S("%The1 squeaks with hope!", "%1 пищит с надеждой!")
S("%The1 squeaks happily!", "%1 пищит радостно!")
S("%The1 squeaks excitedly!", "%1 пищит азартно!")
N("giant rug", GEN_O, "огромный ковёр", "огромные ковры", "огромный ковёр", "огромным ковром")
@ -2441,7 +2441,7 @@ S("Save %the1 first to unlock this challenge!", "Спаси %a1, прежде ч
S("Welcome to %the1 Challenge!", "Спаси %a1!")
S("The more Hypersian Rugs you collect, the harder it is.", "Чем больше Вы нашли гиперсидских ковров, тем это сложнее.")
S("Follow the Mouse and escape with %the1!", "Следуq за Мышкой и выйди с %abl1!")
S("Hardness frozen at %1.", "Сложность заморожена на %1.");
S("Hardness frozen at %1.", "Сложность заморожена на %1.")
S("Congratulations! Your score is %1.", "Поздравляем! Ваш результат: %1.")
S("u = undo", "u = отмена")
@ -3120,7 +3120,7 @@ S("Alternatively: kill a %1 in %the2.\n", "Альтернатива: убить
S("Your power is drained by %the1!", "%1 уменьшил Вашу мощь!")
S("Wow! That was close.", "Ох! Это было близко.");
S("Wow! That was close.", "Ох! Это было близко.")
S("Collect four different Elemental Shards!", "Собери Осколки всех стихий!")
S("Unbalanced shards in your inventory are dangerous.",
@ -3488,7 +3488,7 @@ S(
"Эта земля полна прекрасными, но опасными существами и растениями.")
S("%The1 is killed by thorns!", "%1 убит%E1 шипами!");
S("%The1 is killed by thorns!", "%1 убит%E1 шипами!")
S("You just cannot stand in place, those roses smell too nicely.", "Вы не можете устоять на месте, эти розы пахнут слишком прекрасно.")
S("Those roses smell too nicely. You have to come towards them.", "Эти розы пахнут слишком прекрасно. Вы можете пойти лишь в сторону них.")
@ -4571,7 +4571,7 @@ S("Vampire Bats drain your magical powers!",
S("Hint: use arrow keys to scroll.", "Подсказка: листайте экран стрелками.")
S("Hint: press 1 2 3 4 to change the projection.", "Подсказка: 1 2 3 4 -- сменить проекцию.")
S("You gain a protective Shell!", "Вы получили защитную раковину!");
S("You gain a protective Shell!", "Вы получили защитную раковину!")
S("Hint: magical powers from Treats expire after a number of uses.",
"Подсказка: магические силы конфет пропадают после некоторого числа использований.")
S("A magical energy sword. Don't waste its power!",
@ -5656,7 +5656,7 @@ S(
"\n\nВ режим стратегии сфер Сфера Йендора появляется в Аду, "
"когда ты соберёшь 25 Адских Ромашек, на Перекрёстке и а Океана, когда ты соберёшь 50, "
"и везде, когда ты соберёшь 100."
);
)
S(
"\n\nIn the Orb Strategy Mode, dead orbs are available once you collect "
@ -5738,7 +5738,7 @@ S("line width", "широта линии")
S("configure panning and general keys", "настроить панораму и общие клавиши")
S("\n\nHint: use 'm' to toggle cells quickly",
"\n\nПодсказка: используй 'm', чтобы быстро переключать клетки");
"\n\nПодсказка: используй 'm', чтобы быстро переключать клетки")
// cell pattern names
// ------------------
@ -5776,14 +5776,14 @@ S(
"If you collect too many treasures in a given land, it will become "
"extremely dangerous. Try other lands once you have enough!",
"Если ты соберёшь слишком много сокровищ в одной земле, она станет "
"весьма опасной. Попробуй другую землю, когда наберёшь достаточно сокровищ здесь!");
"весьма опасной. Попробуй другую землю, когда наберёшь достаточно сокровищ здесь!")
S(
"Remember that you can right click almost anything for more information.",
"Помни, что правая кнопка мыши даст информацию практически обо всём.")
S("Want to understand the geometry in HyperRogue? Try the Tutorial!",
"Хочешь понять геометрию в HyperRogue? Воспользуйся Руководством!");
"Хочешь понять геометрию в HyperRogue? Воспользуйся Руководством!")
S(
"Collecting 25 treasures in a given land may be dangerous, "
@ -5869,9 +5869,9 @@ N("Reflection", GEN_N, "Отражение", "Отражения", "Отраже
N("mirror wall", GEN_F, "зеркальная стена", "зеркальные стены", "зеркальную стену", "зеркальной стеной")
S("This would only move you deeper into the trap!",
"Это только уведёт тебя глубже в ловушку!");
"Это только уведёт тебя глубже в ловушку!")
S("You swing your sword at the mirror.", "Ты размахиваешь мечом в сторону зеркала.");
S("You swing your sword at the mirror.", "Ты размахиваешь мечом в сторону зеркала.")
N("Mimic", GEN_M, "Мимик", "Мимики", "Мимика", "Мимиком")
N("Narcissist", GEN_M, "Нарциссист", "Нарциссисты", "Нарциссиста", "Нарциссистом")
N("Mirror Spirit", GEN_M, "Зеркальный дух", "Зеркальные духи", "Зеркального духа", "Зеркальным духом")
@ -5986,7 +5986,7 @@ S(
"соответствующую маленькой черепашке), Камелот (найди центр большого "
"гиперболического круга) и Дворец (следуй за мышкой). "
"Остальные места перечислены для изучения."
);
)
S("puzzles and exploration", "головоломки и изучение")
@ -6035,7 +6035,7 @@ S("Extras:", "Дополнительно:") // extra Orbs gained in OSM
// ------
S("unlock Orbs of Yendor", "открыть Сферы Йендора")
S("Collected the keys!", "Ключи собраны!");
S("Collected the keys!", "Ключи собраны!")
S("Saved the Princess!", "Принцесса спасена!")
S("save a Princess", "спасти Принцессу")
@ -6108,7 +6108,7 @@ S(
N("Kraken", GEN_M, "Кракен", "Кракены", "Кракена", "Кракеном")
N("Kraken Tentacle", GEN_N, "Щупальце кракена", "Щупальца кракена", "Щупальце кракена", "Щупальцем кракена")
S(" (killing increases treasure spawn)", " (убийство увеличивает генерацию сокровищ)");
S(" (killing increases treasure spawn)", " (убийство увеличивает генерацию сокровищ)")
N("stepping stones", GEN_F, "Ступенька", "Ступеньки", "Ступеньку", "Ступенькой")
@ -6416,7 +6416,7 @@ S("Yes, this is definitely a crystal. A very regular crystalline structure.\n\n"
"Да, это определенно кристалл. Регулярная кристаллическая структура.\n\n"
"Эта земля была сделана, чтобы поиграть с различными геометриями, и она не влияет на обычную игру.")
S("You cannot move there!", "Ты не можешь ходить сюда!");
S("You cannot move there!", "Ты не можешь ходить сюда!")
// geometry stuff
@ -6499,7 +6499,7 @@ S("stereographic/orthogonal", "стереографическая/ортогон
S("Poincaré/Klein", "Пуанкаре/Клейн")
// Paper Model Creator
S("Useless in Euclidean geometry.", "Бесполезно в Евклидовой геометрии.");
S("Useless in Euclidean geometry.", "Бесполезно в Евклидовой геометрии.")
S("Not implemented for spherical geometry. Please tell me if you really want this.",
"Не реализовано для сферической геометрии. Напиши мне, если очень хочешь.")
@ -7159,7 +7159,7 @@ S(
"с выделенным направлением. Если нахождение этого направления "
"является частью игры, то это работает только в "
"режиме обманщика."
);
)
S("NEVER", "НИКОГДА")
@ -7261,8 +7261,8 @@ S("Static mode enabled.", "Статический режим включен.")
S("Static mode disabled.", "Статический режим выключен.")
S("Returned to your game.", "Вернуться в игру.")
S("Spherical version of %the1. ", "%1 в сферической версии. ");
S("Euclidean version of %the1. ", "%1 в евклидовой версии. ");
S("Spherical version of %the1. ", "%1 в сферической версии. ")
S("Euclidean version of %the1. ", "%1 в евклидовой версии. ")
S("Click again to go back to your game.", "Нажмите еще раз, чтобы вернуться в игру.")
S("Press %1 again to go back to your game.", "Нажмите %1 еще раз, чтобы вернуться в игру.")
S("return to your game", "вернуться в игру")
@ -7281,7 +7281,7 @@ S("You give %the1 a grim look.", "Ты мрачно смотришь на %a1.")
// Strange Challenge
S("Strange Challenge", "Странная миссия")
S("compete with other players on random lands in random geometries", "соревнуйся с другими игроками в случайных землях в случайных геометриях");
S("compete with other players on random lands in random geometries", "соревнуйся с другими игроками в случайных землях в случайных геометриях")
S("Strange Challenge #%1", "Странная миссия #%1")
S("next challenge in %1", "до следующей миссии: %1")

View File

@ -876,8 +876,8 @@ S("message flash time", "mesaj gösterme süresi")
S("Euclidean mode", "Öklid modu")
S("Return to the hyperbolic world", "Hiperbolik Dünyaya geri dön")
S("Choose from the lands visited this game.", "Oyunda eriştiğin diyarlardan birini seç.")
S("Scores and achievements are not", "Başarımlar ve puanlar Öklid");
S("saved in the Euclidean mode!", "modunda kaydedilmeyecek!");
S("Scores and achievements are not", "Başarımlar ve puanlar Öklid")
S("saved in the Euclidean mode!", "modunda kaydedilmeyecek!")
S("Your total treasure has been recorded in the Google Leaderboards.", "Toplam hazinen Google Listelerine kaydedildi.")
S("You have improved your total high score on Google. Congratulations!", "Google'daki toplam yüksek puanını artırdın. Tebrikler!")
@ -1324,8 +1324,8 @@ S("You overhear miners talking about a castle...",
S("A castle in the Crossroads...", "Arayollarda bir Kale...")
S("You have to escape first!", "Önce kaçman gerekiyor!");
S("There is not enough space!", "Yeterince yer yok!");
S("You have to escape first!", "Önce kaçman gerekiyor!")
S("There is not enough space!", "Yeterince yer yok!")
S("Customize character", "Karakteri düzenle.")
S("gender", "cinsiyet")
@ -1379,7 +1379,7 @@ S("Illusions are targeted "
S("or ESC to see how it ended", "veya nasıl bittiğini görmek için ESC'ye bas")
S("high contrast", "yüksek kontrast")
S("draw the heptagons darker", "yedigenleri daha koyu çiz");
S("draw the heptagons darker", "yedigenleri daha koyu çiz")
S("targetting ranged Orbs Shift+click only",
"menzilli küreler için sadece Shift+sol tık")
S("Shift+F, Shift+O, Shift+T, Shift+L, Shift+U, etc.",
@ -1550,8 +1550,8 @@ S(
// missing sentences
S("%The1 drowns!", "%1 boğuldu!");
S("%The1 falls!", "%1 düştü!");
S("%The1 drowns!", "%1 boğuldu!")
S("%The1 falls!", "%1 düştü!")
// these were missing from the translation for some reason
@ -1561,17 +1561,17 @@ S("Hell has these lakes everywhere... They are shaped like evil stars, and fille
// Hardcore Mode
// -------------
S("hardcore mode", "Aşmış mod");
S("hardcore mode", "Aşmış mod")
S("One wrong move and it is game over!", "Tek bir yanlış hamle ve oyun biter!");
S("Not so hardcore?", "O kadar da aşmış değil?");
S("One wrong move and it is game over!", "Tek bir yanlış hamle ve oyun biter!")
S("Not so hardcore?", "O kadar da aşmış değil?")
// Shoot'em up Mode
// ----------------
S("shoot'em up mode", "tryb strzelanki");
S("Welcome to the Shoot'em Up mode!", "Witaj w trybie strzelanki!");
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = strzał, WASD/IJKL/Numpad = ruch");
S("shoot'em up mode", "tryb strzelanki")
S("Welcome to the Shoot'em Up mode!", "Witaj w trybie strzelanki!")
S("F/;/Space/Enter/KP5 = fire, WASD/IJKL/Numpad = move", "F/;/Space/Enter/KP5 = strzał, WASD/IJKL/Numpad = ruch")
N("Rogue", GEN_M, "Seyyah", "Seyyahlar", "Seyyahı", "Seyyahla")
N("Knife", GEN_M, "Bıçak", "Bıçaklar", "Bıçağı", "Bıçakla")
@ -1604,16 +1604,16 @@ S(", m - mode: shoot'em up", "m - SHMUP modu")
S("You would get hurt!", "Orada hasar alırsın!")
S("PARTIAL", "KISMÎ")
S("Cannot drop %the1 here!", "Ölü Küreyi buraya bırakamazsın!");
S("Cannot drop %the1 here!", "Ölü Küreyi buraya bırakamazsın!")
// Euclidean scores
// ----------------
S(" (E:%1)", " (Ö:%1)");
S(" (E:%1)", " (Ö:%1)")
S("You cannot attack Rock Snakes directly!", "Kaya Yılanlarına doğrudan saldıramazsın!");
S("You cannot attack Rock Snakes directly!", "Kaya Yılanlarına doğrudan saldıramazsın!")
S("\"I am lost...\"", "Kayboldum...");
S("\"I am lost...\"", "Kayboldum...")
S("You are killed by %the1!", "%1 tarafından öldürüldün!")
@ -2126,7 +2126,7 @@ S("You destroy %the1 with a mental blast!", "%a1 bir zihin patlamasıyla yok ett
S("The ivy kills %the1!", "Sarmaşık %a1 öldürdü!")
S("You destroy %the1.", "%a1 yok ettin.")
S("%The1 kills %the2!", "%1 %a2 öldürdü!")
S("%The1 sinks!", "%1 battı!");
S("%The1 sinks!", "%1 battı!")
S("Cannot jump on %the1!", "%1 hücresine atlayamazsın!")
@ -2254,13 +2254,13 @@ N("Mouse", GEN_F, "Fare", "Fareler", "Fareyi", "Fareyle")
S("You hear a distant squeak!", "Uzaktan gelen bir ciyaklama duydun!")
S("%The1 squeaks in a confused way.", "%1 şaşkın bir şekilde ciyaklıyor.")
S("%The1 squeaks gratefully!", "%1 minnetle ciyaklıyor.");
S("%The1 squeaks hopelessly.", "%1 umutsuzca ciyaklıyor.");
S("%The1 squeaks in despair.", "%1 karamsarlıkla ciyaklıyor.");
S("%The1 squeaks sadly.", "%1 üzüntüyle ciyaklıyor.");
S("%The1 squeaks with hope!", "%1 umutla ciyaklıyor!");
S("%The1 squeaks happily!", "%1 neşeyle ciyaklıyor!");
S("%The1 squeaks excitedly!", "%1 heyecanla ciyaklıyor!");
S("%The1 squeaks gratefully!", "%1 minnetle ciyaklıyor.")
S("%The1 squeaks hopelessly.", "%1 umutsuzca ciyaklıyor.")
S("%The1 squeaks in despair.", "%1 karamsarlıkla ciyaklıyor.")
S("%The1 squeaks sadly.", "%1 üzüntüyle ciyaklıyor.")
S("%The1 squeaks with hope!", "%1 umutla ciyaklıyor!")
S("%The1 squeaks happily!", "%1 neşeyle ciyaklıyor!")
S("%The1 squeaks excitedly!", "%1 heyecanla ciyaklıyor!")
N("giant rug", GEN_O, "devasa kilim", "devasa kilimler", "devasa kilimi", "devasa kilimle")
@ -2316,7 +2316,7 @@ S("Save %the1 first to unlock this challenge!", "Bu görevi açmak için önce %
S("Welcome to %the1 Challenge!", "%1 görevine hoşgeldin!")
S("The more Hypersian Rugs you collect, the harder it is.", "Ne kadar Aşkınlı Kilim toplarsan o kadar zor.")
S("Follow the Mouse and escape with %the1!", "Fareyi takip et ve %abl1 kaç!")
S("Hardness frozen at %1.", "Trudność zamrożona: %1.");
S("Hardness frozen at %1.", "Trudność zamrożona: %1.")
S("Congratulations! Your score is %1.", "Tebrikler! Puanın: %1.")
S("u = undo", "u = geri al")
@ -2664,11 +2664,11 @@ S("An alternate layout of the Crossroads. Great Walls cross here at right angles
"NEW_ACHIEVEMENT_5_23_DESC" "50 Unsurtaşı oluştur."
*/
S("Cannot create temporary matter on a monster!", "Geçici maddenin üzerinde bir canavar çıkaramazsın!");
S("Cannot create temporary matter on an item!", "Bir eşyanın üzerinde geçici madde oluşturamazsın!");
S("Cannot create temporary matter here!", "Burada geçici madde oluşturamazsın!");
S("Cannot summon on a monster!", "Bir canavarın üstüne çağıramazsın!");
S("No summoning possible here!", "Çağırmak burada mümkün değil!");
S("Cannot create temporary matter on a monster!", "Geçici maddenin üzerinde bir canavar çıkaramazsın!")
S("Cannot create temporary matter on an item!", "Bir eşyanın üzerinde geçici madde oluşturamazsın!")
S("Cannot create temporary matter here!", "Burada geçici madde oluşturamazsın!")
S("Cannot summon on a monster!", "Bir canavarın üstüne çağıramazsın!")
S("No summoning possible here!", "Çağırmak burada mümkün değil!")
S("You summon %the1!", "%a1 çağırdın!")
S("F4 = file", "F4 = dosya")