Cleaned up addition parsing works in general language file loader, only the language file for deck description now can control where a line ends by using '@' ('@' is translated into '\n' in the memory).

This commit is contained in:
linshier
2010-09-02 07:49:41 +00:00
parent 7d61e0693e
commit c7fc2b934d
4 changed files with 10 additions and 7 deletions

View File

@@ -109,8 +109,7 @@ Random 2 Colors=
# Player deck menu:
Choose a Deck=选择一个套牌
Highly recommended to get the full Wagic experience!=强烈建议体验本游戏的完整风貌!
Create your Deck!=请创建属于你自己的套牌!
Create your Deck!=创建属于自己的套牌
Premade G/R=预置的红绿套牌
New Deck...=新建套牌……
NO DECK AVAILABLE,=没有可用的套牌,

View File

@@ -25,6 +25,7 @@ Boar's Tusks=
Burning=欲点燃午夜的油灯,@最好提前准备。@莽撞的鬼怪@让你愤怒@伴随微弱的火焰@而你的生命将就此终结……
Corruption=我们会毁掉你。@我们会破坏你。@我们会消灭你。@当你除了一具死亡和空洞的壳@再一无所剩时,仙女们@将在你的残骸上跳舞庆祝。
Creaky Wood=死亡@一直是自然的一部分。@我们拥抱它来@增强自己的力量。
Create your Deck!=强烈推荐!@来获得本游戏的完整体验吧!
Death=我们挥霍般撒下死亡的种子。@当战斗胜利时,@我们收获那些死尸。
Deep Blue=你确定要召唤这只强大的生物@入场吗?可能你觉得它足够强大,@可以助你结束战斗。但是,@别怪我没警告过你注意回镖……
Depletion=矿井的嚎叫,@梦生谬思的低语,@噬殁兽的吐息,@让无数法师发疯,@真实的底密尔公馆在等待你去发现。

View File

@@ -97,7 +97,13 @@ void GameStateDuel::Start()
if(deckmenu){
if (decksneeded){
deckmenu->Add(-1,_("Create your Deck!").c_str(),"Highly recommended to get\nthe full Wagic experience!");
//translate deck creating desc
Translator * t = Translator::GetInstance();
map<string,string>::iterator it = t->deckValues.find("Create your Deck!");
if (it != t->deckValues.end())
deckmenu->Add(-1,_("Create your Deck!").c_str(), it->second);
else
deckmenu->Add(-1,_("Create your Deck!").c_str(),"Highly recommended to get\nthe full Wagic experience!");
premadeDeck = true;
fillDeckMenu(deckmenu,RESPATH"/player/premade");
}

View File

@@ -69,10 +69,6 @@ void Translator::load(string filename, map<string,string> * dictionary) {
while(std::getline(file,s)){
if (!s.size()) continue;
if (s[s.size()-1] == '\r') s.erase(s.size()-1); //Handle DOS files
//Translate '@' to '\n'
char * sp = (char *)s.c_str();
for (int i = 0; sp[i]; i++)
if (sp[i] == '@') sp[i] = '\n';
size_t found = s.find('=');
if (found == string::npos) continue;
string s1 = s.substr(0,found);
@@ -122,6 +118,7 @@ void Translator::initDecks(){
if (!s.size()) continue;
if (s[s.size()-1] == '\r') s.erase(s.size()-1); //Handle DOS files
// Translate '@' to '\n'
// Note: general language files don't include any line-break infomation
char * sp = (char *)s.c_str();
for (int i = 0; sp[i]; i++)
if (sp[i] == '@') sp[i] = '\n';