diff --git a/projects/mtg/bin/Res/lang/fr.txt b/projects/mtg/bin/Res/lang/fr.txt index 1ec6a4d84..16453ccc7 100644 --- a/projects/mtg/bin/Res/lang/fr.txt +++ b/projects/mtg/bin/Res/lang/fr.txt @@ -8,6 +8,7 @@ #Limitation: Special characters that are not in the limited 128 ASCII set CAN NOT be put in this file, it will display as garbage #Game menus/texts +LOADING SET: %s=CHARGEMENT SET: %s Play=Jouer Deck Editor=Editeur de Deck Shop=Magasin @@ -19,6 +20,8 @@ Cancel=Annuler Classic=Classique Music volume=Volume Musique SFX volume=Volume Sons +interrupt my spells=Interrompre mes sorts +interrupt my abilities=Interrompre mes abilites Seconds to pause for an Interrupt=Secondes pour interruption Difficulty=Difficulte Image Cache Size=Taille du cache images @@ -32,9 +35,6 @@ Choose Opponent=Choix de l'adversaire (easy)=(*) (hard)=(***) Random=Aleatoire -Interrupt?=Interruption ? -X Interrupt - 0 No - [] No to All=X Interrompre - 0 Non - [] Non pour tout -X Interrupt - 0 No=X Interrompre - 0 Non You have a %i%% victory ratio with Deck%i=Vous avez %i%% de reussite avec le Deck%i You have played %i games with Deck%i=Vous avez fait %i parties avec le Deck %i You have played a total of %i games=Vous avez fait un total de %i parties @@ -51,6 +51,16 @@ No=Non NO DECK AVAILABLE,=PAS DE DECK DISPONIBLE, PRESS CIRCLE TO GO TO THE DECK EDITOR!=APPUYEZ SUR O POUR CREER UN DECK ! +#Shop +credits: %i=credits: %i + +#in Game +Interrupt?=Interruption ? +X Interrupt - 0 No - [] No to All=X Interrompre - 0 Non - [] Non pour tout +X Interrupt - 0 No=X Interrompre - 0 Non +Player 1=Joueur 1 +Player 2=Joueur 2 + #End of Match Difficulty Bonus=Bonus Difficulte 'Live dangerously and you live right' Bonus=Bonus 'Vivre dangereusement et fierement' @@ -61,7 +71,7 @@ Victory=Victoire Congratulations! You earn %i credits=Felicitations, vous gagnez %i credits You have been defeated=Vous avez perdu Player %i wins (%i)=Le joueur %i gagne (%i) -Please support this project !=Soutenez ce projet ! +Please support this project!=Soutenez ce projet ! Wagic is free, open source, and developed on the little free time I have=Wagic est gratuit, open source, et developpe sur mon temps libre If you enjoy this game, please consider donating a few bucks=Si vous appreciez ce jeu, merci de me faire un don (Seriously, donate or I'll kill this cute little bunny)=(serieux si vous me faites pas un don, je tue un pokemon) @@ -84,6 +94,18 @@ Cleanup=Nettoyage #Stack Deals %i damage to=Fait %i degat(s) a +goes to graveyard=va au cimetiere +is exiled=est exile +Player %i draws %i card=Joueur %i pioche %i carte +%s goes to graveyard=%s va au cimetiere + +#inGame +Attacking Player=Joueur attaquant +Blocking Player=Joueur defenseur +Current Damager:=Blessures infligees par: +Damages Assigned, Click Square to Continue=Blessures infligees, appuyez sur [] pour continuer +Order blockers, then Click Square to Continue=triez les bloqueurs, puis appuyez sur [] pour continuer +sacrifice=sacrifice #Deck Editor Prev.=Prec. @@ -102,6 +124,8 @@ collection. Press TRIANGLE=collection. Appuyez sur TRIANGLE to switch to your deck=pour voir votre deck deck. Press TRIANGLE to=deck. Appuyez sur TRIANGLE switch to your collection=pour voir votre collection +Your Deck: %i cards=votre deck: %i cartes +No Card=Pas de carte Deck info=Info deck Sell card=Vendre carte diff --git a/projects/mtg/include/GameStateDeckViewer.h b/projects/mtg/include/GameStateDeckViewer.h index 23c7aec49..9e815f194 100644 --- a/projects/mtg/include/GameStateDeckViewer.h +++ b/projects/mtg/include/GameStateDeckViewer.h @@ -582,7 +582,7 @@ class GameStateDeckViewer: public GameState, public JGuiListener } } int value = myDeck->getCount(); - sprintf(buffer, "Your Deck: %i cards", value); + sprintf(buffer, _("Your Deck: %i cards").c_str(), value); font->DrawString(buffer, SCREEN_WIDTH-200+rightTransition, SCREEN_HEIGHT/2 + 25); //TODO, put back ! @@ -712,7 +712,7 @@ class GameStateDeckViewer: public GameState, public JGuiListener if (displayed_deck->getCount(colorFilter)>0){ renderSlideBar(); }else{ - mFont->DrawString("No Card", SCREEN_WIDTH/2, SCREEN_HEIGHT/2,JGETEXT_CENTER); + mFont->DrawString(_("No Card").c_str(), SCREEN_WIDTH/2, SCREEN_HEIGHT/2,JGETEXT_CENTER); } if (mStage == STAGE_ONSCREEN_MENU){ diff --git a/projects/mtg/include/WEvent.h b/projects/mtg/include/WEvent.h index 4def736c8..c9d9e6db7 100644 --- a/projects/mtg/include/WEvent.h +++ b/projects/mtg/include/WEvent.h @@ -45,9 +45,9 @@ public: class WEventCardTap: public WEvent{ public: MTGCardInstance * card; - int before; - int after; - WEventCardTap(MTGCardInstance * card, int before, int after); + bool before; + bool after; + WEventCardTap(MTGCardInstance * card, bool before, bool after); }; #endif diff --git a/projects/mtg/src/ActionStack.cpp b/projects/mtg/src/ActionStack.cpp index 58ee65e7a..d79f794d8 100644 --- a/projects/mtg/src/ActionStack.cpp +++ b/projects/mtg/src/ActionStack.cpp @@ -125,7 +125,7 @@ void Spell::Render(){ JLBFont * mFont = GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT); mFont->SetBase(0); mFont->SetScale(DEFAULT_MAIN_FONT_SCALE); - mFont->DrawString(_(source->getName()).c_str(), x + 30 , y, JGETEXT_LEFT); + mFont->DrawString(_(source->name).c_str(), x + 30 , y, JGETEXT_LEFT); JRenderer * renderer = JRenderer::GetInstance(); JQuad * quad = source->getThumb(); if (quad){ @@ -176,7 +176,7 @@ void Spell::Render(){ renderer->RenderQuad(quad, x + 150 , y , 0,scale,scale); }else{ if (target->type_as_damageable == DAMAGEABLE_MTGCARDINSTANCE) - mFont->DrawString(_(((MTGCardInstance *)target)->getName()).c_str(),x+120,y); + mFont->DrawString(_(((MTGCardInstance *)target)->name).c_str(),x+120,y); } } } @@ -213,7 +213,7 @@ void PutInGraveyard::Render(){ if (!removeFromGame){ mFont->DrawString(_("goes to graveyard").c_str(), x + 30 , y, JGETEXT_LEFT); }else{ - mFont->DrawString(_("is removed from game").c_str(), x + 30 , y, JGETEXT_LEFT); + mFont->DrawString(_("is exiled").c_str(), x + 30 , y, JGETEXT_LEFT); } JRenderer * renderer = JRenderer::GetInstance(); JQuad * quad = card->getThumb(); @@ -222,7 +222,7 @@ void PutInGraveyard::Render(){ float scale = 30 / quad->mHeight; renderer->RenderQuad(quad, x , y , 0,scale,scale); }else{ - mFont->DrawString(card->getName(),x,y-15); + mFont->DrawString(_(card->name).c_str(),x,y-15); } } @@ -250,7 +250,7 @@ void DrawAction::Render(){ char buffer[200]; int playerId = 1; if (player == GameObserver::GetInstance()->players[1]) playerId = 2; - sprintf(buffer, "Player %i draws %i card", playerId, nbcards); + sprintf(buffer, _("Player %i draws %i card").c_str(), playerId, nbcards); mFont->DrawString(buffer, x + 20 , y, JGETEXT_LEFT); } @@ -808,7 +808,6 @@ void ActionStack::Render(){ //WALDORF - removed all the unnecessary math. just display the prompt at the // top of the box. - //mFont->DrawString(buffer, x0 + 5 , currenty - 40 - ((Interruptible *)mObjects[mCount-1])->mHeight); mFont->DrawString(buffer, x0 + 5, y0); @@ -817,7 +816,6 @@ void ActionStack::Render(){ // WALDORF - puts the button legend right under the prompt. the stack // will be displayed below it now. no more need to do wierd currY math. - //mFont->DrawString(buffer, x0 + 5 , currenty); mFont->DrawString(buffer, x0 + 5, y0 + 14); }else if (mode == ACTIONSTACK_TARGET && modal){ for (int i=0;imHeight; renderer->RenderQuad(quad, x , y , 0,scale,scale); }else{ - mFont->DrawString(source->getName(),x,y-15); + mFont->DrawString(_(source->getName()).c_str(),x,y-15); } quad = target->getIcon(); if (quad){ @@ -81,7 +81,7 @@ void Damage::Render(){ renderer->RenderQuad(quad, x + 150 , y , 0,scale,scale); }else{ if (target->type_as_damageable == DAMAGEABLE_MTGCARDINSTANCE) - mFont->DrawString(((MTGCardInstance *)target)->getName(),x+120,y); + mFont->DrawString(_(((MTGCardInstance *)target)->getName()).c_str(),x+120,y); } } diff --git a/projects/mtg/src/DamageResolverLayer.cpp b/projects/mtg/src/DamageResolverLayer.cpp index 95843cb48..ae07c2ca7 100644 --- a/projects/mtg/src/DamageResolverLayer.cpp +++ b/projects/mtg/src/DamageResolverLayer.cpp @@ -4,6 +4,7 @@ #include "../include/MTGCardInstance.h" #include "../include/DamagerDamaged.h" #include "../include/Damage.h" +#include "../include/Translate.h" DamageResolverLayer::DamageResolverLayer(int id, GameObserver * _game):PlayGuiObjectController(id, _game){ currentPhase = -1; @@ -449,13 +450,13 @@ void DamageResolverLayer::Render(){ JRenderer * renderer = JRenderer::GetInstance(); renderer->FillRect(0 ,0 , SCREEN_WIDTH , SCREEN_HEIGHT , ARGB(200,0,0,0)); if (currentChoosingPlayer == game->currentPlayer){ - mFont->DrawString("Attacking Player", 0,0); + mFont->DrawString(_("Attacking Player").c_str(), 0,0); }else{ - mFont->DrawString("Blocking Player", 0,0); + mFont->DrawString(_("Blocking Player").c_str(), 0,0); } if (currentSource){ currentSource->RenderBig(10, 20); - mFont->DrawString("Current Damager:", 10, 5); + mFont->DrawString(_("Current Damager:").c_str(), 10, 5); } for (int i = 0; i < mCount; i++){ ((DamagerDamaged *)mObjects[i])->Render(currentChoosingPlayer); @@ -466,7 +467,7 @@ void DamageResolverLayer::Render(){ if (currentPhase == Constants::MTG_PHASE_COMBATDAMAGE && canStopDealDamages()){ - mFont->DrawString("Damages Assigned, Click Square to Continue", 250, 5); + mFont->DrawString(_("Damages Assigned, Click Square to Continue").c_str(), 250, 5); } - if (orderingIsNeeded) mFont->DrawString("Order blockers, then Click Square to Continue", 200, 5); + if (orderingIsNeeded) mFont->DrawString(_("Order blockers, then Click Square to Continue").c_str(), 200, 5); } diff --git a/projects/mtg/src/ExtraCost.cpp b/projects/mtg/src/ExtraCost.cpp index e4a12ce14..6ee619fff 100644 --- a/projects/mtg/src/ExtraCost.cpp +++ b/projects/mtg/src/ExtraCost.cpp @@ -1,6 +1,7 @@ #include "../include/ExtraCost.h" #include "../include/TargetChooser.h" #include "../include/MTGCardInstance.h" +#include "../include/Translate.h" #include ExtraCost::ExtraCost( TargetChooser *_tc):tc(_tc){ @@ -61,7 +62,7 @@ void SacrificeCost::Render(){ JLBFont * mFont = GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT); mFont->SetScale(DEFAULT_MAIN_FONT_SCALE); char buffer[200]; - sprintf(buffer, "sacrifice"); + sprintf(buffer, _("sacrifice").c_str()); mFont->DrawString(buffer, 20 ,20, JGETEXT_LEFT); } diff --git a/projects/mtg/src/GameStateMenu.cpp b/projects/mtg/src/GameStateMenu.cpp index ec69dd426..9a51632e6 100644 --- a/projects/mtg/src/GameStateMenu.cpp +++ b/projects/mtg/src/GameStateMenu.cpp @@ -446,7 +446,7 @@ void GameStateMenu::Render() renderer->RenderQuad(splashQuad,0,0); }else{ char text[512]; - sprintf(text, "LOADING SET: %s", mCurrentSetName); + sprintf(text, _("LOADING SET: %s").c_str(), mCurrentSetName); mFont->DrawString(text,SCREEN_WIDTH/2,SCREEN_HEIGHT/2,JGETEXT_CENTER); } }else{ diff --git a/projects/mtg/src/GameStateOptions.cpp b/projects/mtg/src/GameStateOptions.cpp index da879b9ed..ce0e499e6 100644 --- a/projects/mtg/src/GameStateOptions.cpp +++ b/projects/mtg/src/GameStateOptions.cpp @@ -112,12 +112,11 @@ void GameStateOptions::Render() if (pos < -20) timer = 0; mFont->SetScale(1.f); + optionsList->Render(); + if (mState == SHOW_OPTIONS_MENU){ optionsMenu->Render(); } - - optionsList->Render(); - } diff --git a/projects/mtg/src/MTGRules.cpp b/projects/mtg/src/MTGRules.cpp index 94625ef2d..aea626e2f 100644 --- a/projects/mtg/src/MTGRules.cpp +++ b/projects/mtg/src/MTGRules.cpp @@ -1,5 +1,6 @@ #include "../include/config.h" #include "../include/MTGRules.h" +#include "../include/Translate.h" MTGPutInPlayRule::MTGPutInPlayRule(int _id):MTGAbility(_id, NULL){ aType=MTGAbility::PUT_INTO_PLAY; @@ -333,7 +334,7 @@ int HUDDisplay::receiveEvent(WEvent * event){ } if (!ok) return 0; char buffer[512]; - sprintf(buffer,"%s goes to graveyard", ezc->card->getName()); + sprintf(buffer,_("%s goes to graveyard").c_str(), _(ezc->card->getName()).c_str()); string s = buffer; return addEvent(s); } @@ -341,7 +342,7 @@ int HUDDisplay::receiveEvent(WEvent * event){ WEventDamage * ed = dynamic_cast(event); if (ed) { char buffer[512]; - sprintf(buffer, "%s: %i -> %s", ed->damage->source->getName(), ed->damage->damage, ed->damage->target->getDisplayName()); + sprintf(buffer, "%s: %i -> %s", _(ed->damage->source->name).c_str(), ed->damage->damage, _(ed->damage->target->getDisplayName()).c_str()); string s = buffer; return addEvent(s); } diff --git a/projects/mtg/src/MenuItem.cpp b/projects/mtg/src/MenuItem.cpp index f2073fdac..8dbdf38ff 100644 --- a/projects/mtg/src/MenuItem.cpp +++ b/projects/mtg/src/MenuItem.cpp @@ -30,9 +30,6 @@ void MenuItem::Render() if (mHasFocus) { - /* if (!updatedSinceLastRender){ - mParticleSys->Update(lastDt); - }*/ // set additive blending renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE); mParticleSys->Render(); diff --git a/projects/mtg/src/OptionItem.cpp b/projects/mtg/src/OptionItem.cpp index a0c9b2e82..29eab854d 100644 --- a/projects/mtg/src/OptionItem.cpp +++ b/projects/mtg/src/OptionItem.cpp @@ -36,9 +36,9 @@ void OptionItem::Render(){ char buf[512]; if (maxValue == 1){ if (value){ - sprintf(buf, "yes"); + sprintf(buf, _("Yes").c_str()); }else{ - sprintf(buf,"no"); + sprintf(buf,_("No").c_str()); } }else{ sprintf(buf, "%i", value); diff --git a/projects/mtg/src/ShopItem.cpp b/projects/mtg/src/ShopItem.cpp index 469f81d6b..24c36ee01 100644 --- a/projects/mtg/src/ShopItem.cpp +++ b/projects/mtg/src/ShopItem.cpp @@ -2,6 +2,7 @@ #include "../include/ShopItem.h" #include "../include/GameStateShop.h" #include "../include/CardGui.h" +#include "../include/Translate.h" ShopItem::ShopItem(int id, JLBFont *font, char* text, JQuad * _quad,JQuad * _thumb, int x, int y, bool hasFocus, int _price): JGuiObject(id), mFont(font), mText(text), mX(x), mY(y), quad(_quad), thumb(_thumb), price(_price) @@ -60,10 +61,10 @@ void ShopItem::Render(){ thumb = card->getThumb(); if (nameCount){ char buffer[512]; - sprintf(buffer, "%s (%i)", card->name.c_str(), nameCount ); + sprintf(buffer, "%s (%i)", _(card->name).c_str(), nameCount ); mText = buffer; }else{ - mText = card->name; + mText = _(card->name).c_str(); } } @@ -211,7 +212,7 @@ void ShopItems::Render(){ } } char credits[512]; - sprintf(credits,"credits: %i", playerdata->credits); + sprintf(credits,_("credits: %i").c_str(), playerdata->credits); unsigned int len = 4 + mFont->GetStringWidth(credits); mFont->SetColor(ARGB(200,0,0,0)); mFont->DrawString(credits, SCREEN_WIDTH - len + 2, SCREEN_HEIGHT - 13); diff --git a/projects/mtg/src/WEvent.cpp b/projects/mtg/src/WEvent.cpp index e667bd61d..f94d29672 100644 --- a/projects/mtg/src/WEvent.cpp +++ b/projects/mtg/src/WEvent.cpp @@ -24,8 +24,4 @@ WEventPhaseChange::WEventPhaseChange(Phase * _from, Phase * _to):WEvent(CHANGE_P to = _to; } -WEventCardTap::WEventCardTap(MTGCardInstance * _card, int _before, int _after):WEvent(){ - card = _card; - before = _before; - after = _after; -} \ No newline at end of file +WEventCardTap::WEventCardTap(MTGCardInstance * card, bool before, bool after):WEvent(), card(card),before(before), after(after){} \ No newline at end of file