Benvenuto Visitatore(Log In|Registrati)
15 Jun 2014, 21:29
Messaggio
#1
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
********************************************************************* file sorgente tradotto condiviso su googledocs Stato della richiesta di implementazione sul "feature request" di scummvm. ********************************************************************* Uso questo spazio per l'avanzamento. I ragazzi di scummvm hanno fatto passi da gigante con l'engine Kyra. Ora è COMPLETAMENTE Reverse Enginnered. Dovrebbe bastare passare al team tramite una "feature request" su sourceforge (ci penso io) i nuovi md5 che ha già calcolato il buon mic ed il file sorgente tradotto. Allego una versione di scummvm che ho compilato in modo che riconoscesse la versione italiana di Eob by OGI. Ovviamente tutto il testo presente originariamente nell'exe è in tedesco, ma questo lo risolveremo dopo. Per ora concentriamoci sulle parti in italiano. Chi ha tempo di testare lo faccia. CITAZIONE FONT8.FNT 1f5b71c39368d929b1697ddd90389e82 EOBDATA1.PAK b4977798e840e1adb9f41e08bb5c7bb5 EOBDATA3.PAK 3ed915ab5b94d60dbfe1b55379889c51 EOBDATA4.PAK bb41a36a75bca6ec30aef742ef8cf39b EOBDATA5.PAK db9e7ad804978eae5e5573b65508d95f EOBDATA6.PAK 0398bebe986821cb0a01fcf7b3a46064 FONT6.FNT 0f0c5611d98718844e344cba98646b7f Di seguito il sorgente da tradurre (allegato anche in basso): CODICE static const char *const kEoB1ChargenStrings1DOSEnglish[9] = { "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.", " ", "AC\rHP\rLVL", "%s\r%d\r%d\r%d\r%d\r%d", "%d\r%d", "%d", "%d/%d", "%d/%d/%d", "Select the box of\rthe character you\rwish to create or\rview." }; static const StringListProvider kEoB1ChargenStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenStrings1DOSEnglish), kEoB1ChargenStrings1DOSEnglish }; static const char *const kEoB1ChargenStrings2DOSEnglish[12] = { "%s", "%d", "%s", "%d", "%d", "%d", "%s", "%d", "SELECT RACE:", "SELECT CLASS:", "SELECT ALIGNMENT:", "Name:" }; static const StringListProvider kEoB1ChargenStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenStrings2DOSEnglish), kEoB1ChargenStrings2DOSEnglish }; static const char *const kEoB1ChargenStatStringsDOSEnglish[12] = { "STR", "INT", "WIS", "DEX", "CON", "CHA", "STRENGTH", "INTELLIGENCE", "WISDOM", "DEXTERITY", "CONSTITUTION", "CHARISMA" }; static const StringListProvider kEoB1ChargenStatStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenStatStringsDOSEnglish), kEoB1ChargenStatStringsDOSEnglish }; static const char *const kEoB1ChargenRaceSexStringsDOSEnglish[12] = { "HUMAN MALE", "HUMAN FEMALE", "ELF MALE", "ELF FEMALE", "HALF-ELF MALE", "HALF-ELF FEMALE", "DWARF MALE", "DWARF FEMALE", "GNOME MALE", "GNOME FEMALE", "HALFLING MALE", "HALFLING FEMALE" }; static const StringListProvider kEoB1ChargenRaceSexStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenRaceSexStringsDOSEnglish), kEoB1ChargenRaceSexStringsDOSEnglish }; static const char *const kEoB1ChargenClassStringsDOSEnglish[21] = { "FIGHTER", "RANGER", "PALADIN", "MAGE", "CLERIC", "THIEF", "FIGHTER/CLERIC", "FIGHTER/THIEF", "FIGHTER/MAGE", "FIGHTER/MAGE/THIEF", "THIEF/MAGE", "CLERIC/THIEF", "FIGHTER/CLERIC/MAGE", "RANGER/CLERIC", "CLERIC/MAGE", "FIGHTER", "MAGE", "CLERIC", "THIEF", "PALADIN", "RANGER" }; static const StringListProvider kEoB1ChargenClassStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenClassStringsDOSEnglish), kEoB1ChargenClassStringsDOSEnglish }; static const char *const kEoB1ChargenAlignmentStringsDOSEnglish[9] = { "LAWFUL GOOD", "NEUTRAL GOOD", "CHAOTIC GOOD", "LAWFUL NEUTRAL", "TRUE NEUTRAL", "CHAOTIC NEUTRAL", "LAWFUL EVIL", "NEUTRAL EVIL", "CHAOTIC EVIL" }; static const StringListProvider kEoB1ChargenAlignmentStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenAlignmentStringsDOSEnglish), kEoB1ChargenAlignmentStringsDOSEnglish }; static const char *const kEoB1ChargenEnterGameStringsDOSEnglish[1] = { " Entering game.\r Please wait." }; static const StringListProvider kEoB1ChargenEnterGameStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenEnterGameStringsDOSEnglish), kEoB1ChargenEnterGameStringsDOSEnglish }; static const char *const kEoB1MainMenuStringsDOSEnglish[3] = { "LOAD GAME IN PROGRESS\r", "START A NEW PARTY\r", "EXIT TO DOS\r" }; static const StringListProvider kEoB1MainMenuStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MainMenuStringsDOSEnglish), kEoB1MainMenuStringsDOSEnglish }; static const char *const kEoB1BonusStringsDOSEnglish[3] = { "Congratulations on completing all 12 Beholder Bonuses.\r\rThe names of the character in your winning Beholder Bonus party are:\r\r", "\r", "\r\rPassword: %04x\r" }; static const StringListProvider kEoB1BonusStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1BonusStringsDOSEnglish), kEoB1BonusStringsDOSEnglish }; static const char *const kEoB1TurnUndeadStringDOSEnglish[1] = { "\x06\x06""%s uses the power to turn undead!""\x06\x0F""\r" }; static const StringListProvider kEoB1TurnUndeadStringDOSEnglishProvider = { ARRAYSIZE(kEoB1TurnUndeadStringDOSEnglish), kEoB1TurnUndeadStringDOSEnglish }; static const char *const kEoB1Npc0StringsDOSEnglish[2] = { "\r I wish you luck in your travels.", "Which should be resurrected?" }; static const StringListProvider kEoB1Npc0StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc0StringsDOSEnglish), kEoB1Npc0StringsDOSEnglish }; static const char *const kEoB1Npc11StringsDOSEnglish[3] = { "Tend his wounds", "Talk", "Leave" }; static const StringListProvider kEoB1Npc11StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc11StringsDOSEnglish), kEoB1Npc11StringsDOSEnglish }; static const char *const kEoB1Npc12StringsDOSEnglish[2] = { "Tend his wounds", "Leave" }; static const StringListProvider kEoB1Npc12StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc12StringsDOSEnglish), kEoB1Npc12StringsDOSEnglish }; static const char *const kEoB1Npc21StringsDOSEnglish[2] = { "Hear proposal", "Leave" }; static const StringListProvider kEoB1Npc21StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc21StringsDOSEnglish), kEoB1Npc21StringsDOSEnglish }; static const char *const kEoB1Npc22StringsDOSEnglish[2] = { "Help him", "Leave" }; static const StringListProvider kEoB1Npc22StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc22StringsDOSEnglish), kEoB1Npc22StringsDOSEnglish }; static const char *const kEoB1Npc31StringsDOSEnglish[2] = { "Heal Party", "Leave" }; static const StringListProvider kEoB1Npc31StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc31StringsDOSEnglish), kEoB1Npc31StringsDOSEnglish }; static const char *const kEoB1Npc32StringsDOSEnglish[3] = { "Heal Party", "Resurrect Dead", "Leave" }; static const StringListProvider kEoB1Npc32StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc32StringsDOSEnglish), kEoB1Npc32StringsDOSEnglish }; static const char *const kEoB1Npc4StringsDOSEnglish[2] = { "Attack", "Bribe" }; static const StringListProvider kEoB1Npc4StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc4StringsDOSEnglish), kEoB1Npc4StringsDOSEnglish }; static const char *const kEoB1Npc5StringsDOSEnglish[3] = { "Kill her", "Hear her out", "Let her go" }; static const StringListProvider kEoB1Npc5StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc5StringsDOSEnglish), kEoB1Npc5StringsDOSEnglish }; static const char *const kEoB1Npc6StringsDOSEnglish[2] = { "Surrender", "Attack" }; static const StringListProvider kEoB1Npc6StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc6StringsDOSEnglish), kEoB1Npc6StringsDOSEnglish }; static const char *const kEoB1Npc7StringsDOSEnglish[3] = { "Free Him", "Kill Him", "Leave" }; static const StringListProvider kEoB1Npc7StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc7StringsDOSEnglish), kEoB1Npc7StringsDOSEnglish }; static const char *const kEoB1PryDoorStringsDOSEnglish[7] = { "Nobody is able to force the door.\r", "The party forces the door.\r", "%s forces the door!\r", "The party tries to force the door and fails.\r", "You can't put that item there.\r", "The item is too large to fit.\r", "No one is able to pry this door open.\r" }; static const StringListProvider kEoB1PryDoorStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1PryDoorStringsDOSEnglish), kEoB1PryDoorStringsDOSEnglish }; static const char *const kEoB1WarningStringsDOSEnglish[3] = { "You can't go that way.\r", "%s isn't capable of eating food!\r", "You may only eat food!\r" }; static const StringListProvider kEoB1WarningStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1WarningStringsDOSEnglish), kEoB1WarningStringsDOSEnglish }; static const char *const kEoB1ItemSuffixStringsRingsDOSEnglish[4] = { "Adornment", "Wizardry", "Sustenance", "Feather Fall" }; static const StringListProvider kEoB1ItemSuffixStringsRingsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsRingsDOSEnglish), kEoB1ItemSuffixStringsRingsDOSEnglish }; static const char *const kEoB1ItemSuffixStringsPotionsDOSEnglish[8] = { "Giant Strength", "Healing", "Extra Healing", "Poison", "Vitality", "Speed", "Invisibility", "Cure Poison" }; static const StringListProvider kEoB1ItemSuffixStringsPotionsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsPotionsDOSEnglish), kEoB1ItemSuffixStringsPotionsDOSEnglish }; static const char *const kEoB1ItemSuffixStringsWandsDOSEnglish[7] = { "Stick", "Lightning", "Frost", "Curing", "Fireball", "Silvias", "Magic Missile" }; static const StringListProvider kEoB1ItemSuffixStringsWandsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsWandsDOSEnglish), kEoB1ItemSuffixStringsWandsDOSEnglish }; static const char *const kEoB1RipItemStringsDOSEnglish[3] = { "%s has lost her ", "%s has lost his ", ".\r" }; static const StringListProvider kEoB1RipItemStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1RipItemStringsDOSEnglish), kEoB1RipItemStringsDOSEnglish }; static const char *const kEoB1CursedStringDOSEnglish[1] = { "Cursed %s %d" }; static const StringListProvider kEoB1CursedStringDOSEnglishProvider = { ARRAYSIZE(kEoB1CursedStringDOSEnglish), kEoB1CursedStringDOSEnglish }; static const char *const kEoB1MagicObjectStringsDOSEnglish[5] = { "Mage Scroll", "Cleric Scroll", "Ring", "Potion", "Wand" }; static const StringListProvider kEoB1MagicObjectStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MagicObjectStringsDOSEnglish), kEoB1MagicObjectStringsDOSEnglish }; static const char *const kEoB1MagicObjectString5DOSEnglish[1] = { "Stick" }; static const StringListProvider kEoB1MagicObjectString5DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicObjectString5DOSEnglish), kEoB1MagicObjectString5DOSEnglish }; static const char *const kEoB1PatternSuffixDOSEnglish[1] = { "%s of %s" }; static const StringListProvider kEoB1PatternSuffixDOSEnglishProvider = { ARRAYSIZE(kEoB1PatternSuffixDOSEnglish), kEoB1PatternSuffixDOSEnglish }; static const char *const kEoB1PatternGrFix1DOSEnglish[1] = { "%s of %s" }; static const StringListProvider kEoB1PatternGrFix1DOSEnglishProvider = { ARRAYSIZE(kEoB1PatternGrFix1DOSEnglish), kEoB1PatternGrFix1DOSEnglish }; static const char *const kEoB1PatternGrFix2DOSEnglish[1] = { "%s of %s" }; static const StringListProvider kEoB1PatternGrFix2DOSEnglishProvider = { ARRAYSIZE(kEoB1PatternGrFix2DOSEnglish), kEoB1PatternGrFix2DOSEnglish }; static const char *const kEoB1ValidateArmorStringDOSEnglish[1] = { "%s can't wear that type of armor.\r" }; static const StringListProvider kEoB1ValidateArmorStringDOSEnglishProvider = { ARRAYSIZE(kEoB1ValidateArmorStringDOSEnglish), kEoB1ValidateArmorStringDOSEnglish }; static const char *const kEoB1ValidateNoDropStringDOSEnglish[1] = { "You cant put that item there.\r" }; static const StringListProvider kEoB1ValidateNoDropStringDOSEnglishProvider = { ARRAYSIZE(kEoB1ValidateNoDropStringDOSEnglish), kEoB1ValidateNoDropStringDOSEnglish }; static const char *const kEoB1PotionStringsDOSEnglish[2] = { "poisoned", "%s feels %s!\r" }; static const StringListProvider kEoB1PotionStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1PotionStringsDOSEnglish), kEoB1PotionStringsDOSEnglish }; static const char *const kEoB1WandStringsDOSEnglish[2] = { "The wand has no apparent magical effect\r", "no effect.\r" }; static const StringListProvider kEoB1WandStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1WandStringsDOSEnglish), kEoB1WandStringsDOSEnglish }; static const char *const kEoB1ItemMisuseStringsDOSEnglish[3] = { " can not use this item.\r", "This item automatically used when worn.\r", "This item is not used in this way.\r" }; static const StringListProvider kEoB1ItemMisuseStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemMisuseStringsDOSEnglish), kEoB1ItemMisuseStringsDOSEnglish }; static const char *const kEoB1TakenStringsDOSEnglish[1] = { " taken.\r" }; static const StringListProvider kEoB1TakenStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1TakenStringsDOSEnglish), kEoB1TakenStringsDOSEnglish }; static const char *const kEoB1PotionEffectStringsDOSEnglish[8] = { "much stronger", "better", "much better", "ill for a moment", "no longer hungry", "fast and agile", "transparent", "better" }; static const StringListProvider kEoB1PotionEffectStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1PotionEffectStringsDOSEnglish), kEoB1PotionEffectStringsDOSEnglish }; static const char *const kEoB1YesNoStringsDOSEnglish[2] = { "yes", "no" }; static const StringListProvider kEoB1YesNoStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1YesNoStringsDOSEnglish), kEoB1YesNoStringsDOSEnglish }; static const char *const kEoB1MoreStringsDOSEnglish[1] = { "MORE" }; static const StringListProvider kEoB1MoreStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MoreStringsDOSEnglish), kEoB1MoreStringsDOSEnglish }; static const char *const kEoB1NpcMaxStringsDOSEnglish[1] = { "You may only have six characters in your party. Select the one you wish to drop." }; static const StringListProvider kEoB1NpcMaxStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1NpcMaxStringsDOSEnglish), kEoB1NpcMaxStringsDOSEnglish }; static const char *const kEoB1NpcJoinStringsDOSEnglish[1] = { "%s joins the party.\r" }; static const StringListProvider kEoB1NpcJoinStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1NpcJoinStringsDOSEnglish), kEoB1NpcJoinStringsDOSEnglish }; static const char *const kEoB1CancelStringsDOSEnglish[1] = { "CANCEL" }; static const StringListProvider kEoB1CancelStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1CancelStringsDOSEnglish), kEoB1CancelStringsDOSEnglish }; static const char *const kEoB1MenuStringsMainDOSEnglish[8] = { "Select Option:", "Rest Party", "Memorize Spells", "Pray for Spells", "Scribe Scrolls", "Preferences", "Game Options", "Exit" }; static const StringListProvider kEoB1MenuStringsMainDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsMainDOSEnglish), kEoB1MenuStringsMainDOSEnglish }; static const char *const kEoB1MenuStringsSaveLoadDOSEnglish[8] = { "Load Game", "Save Game", "Drop Character", "Quit Game", "Game Options:", "\r Game saved.", "\r Save game\r failure!", "\r Load game\r failure!" }; static const StringListProvider kEoB1MenuStringsSaveLoadDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsSaveLoadDOSEnglish), kEoB1MenuStringsSaveLoadDOSEnglish }; static const char *const kEoB1MenuStringsOnOffDOSEnglish[2] = { "ON", "OFF" }; static const StringListProvider kEoB1MenuStringsOnOffDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsOnOffDOSEnglish), kEoB1MenuStringsOnOffDOSEnglish }; static const char *const kEoB1MenuStringsSpellsDOSEnglish[17] = { "\r\r Select a character\r from your party who\r would like to learn\r spells.", "\r Your Paladin is \r too low a level\r for spells.", "\r\r The Mage has no\r Spell Book!", "\r\r\r Select a character\r from your party\r who would like to\r pray for spells.", "\r You don't have\r any Cleric able\r to pray in your\r party.", "\r You don't have\r any Mage able to\r learn spells.", " An unconscious\r or dead Mage\r cannot memorize\r spells.", " An unconscious\r or dead Cleric\r cannot pray for\r spells.", "1", "2", "3", "4", "5", "Clear", "Spells Available:", "Yes", "No" }; static const StringListProvider kEoB1MenuStringsSpellsDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsSpellsDOSEnglish), kEoB1MenuStringsSpellsDOSEnglish }; static const char *const kEoB1MenuStringsRestDOSEnglish[5] = { "\rWill your healers\rheal the party?", " Someone is still\r injured. Rest\r until healed?", "Resting party.", "\r All characters\r are fully\r rested.", " Your party needs\r to rest to gain\r spells." }; static const StringListProvider kEoB1MenuStringsRestDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRestDOSEnglish), kEoB1MenuStringsRestDOSEnglish }; static const char *const kEoB1MenuStringsDropDOSEnglish[1] = { " You cannot have\r less than four\r characters." }; static const StringListProvider kEoB1MenuStringsDropDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDropDOSEnglish), kEoB1MenuStringsDropDOSEnglish }; static const char *const kEoB1MenuStringsExitDOSEnglish[1] = { " Are you sure you\r wish to exit the\r game?" }; static const StringListProvider kEoB1MenuStringsExitDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsExitDOSEnglish), kEoB1MenuStringsExitDOSEnglish }; static const char *const kEoB1MenuStringsStarveDOSEnglish[1] = { " Your party is\r starving. Do you\r wish to continue\r resting?" }; static const StringListProvider kEoB1MenuStringsStarveDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsStarveDOSEnglish), kEoB1MenuStringsStarveDOSEnglish }; static const char *const kEoB1MenuStringsScribeDOSEnglish[5] = { "Select the scroll(s)\ryou wish to scribe.", "\r\r\r Select a Mage\r from your party\r who would like to\r scribe spells.", " You don't have\r any scolls to be\r scribed.", " You don't have\r any scrolls that\r this Mage needs.", "\r You don't have\r any Mage able to\r scribe scrolls." }; static const StringListProvider kEoB1MenuStringsScribeDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsScribeDOSEnglish), kEoB1MenuStringsScribeDOSEnglish }; static const char *const kEoB1MenuStringsDrop2DOSEnglish[3] = { " Select the\r character you\r wish to drop.", " Are you sure you\r wish to SAVE the\r game?", " Are you sure you\r wish to LOAD a\r saved game?" }; static const StringListProvider kEoB1MenuStringsDrop2DOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDrop2DOSEnglish), kEoB1MenuStringsDrop2DOSEnglish }; static const char *const kEoB1MenuStringsHeadDOSEnglish[3] = { "Camp:", "Preferences:", "Game Options:" }; static const StringListProvider kEoB1MenuStringsHeadDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsHeadDOSEnglish), kEoB1MenuStringsHeadDOSEnglish }; static const char *const kEoB1MenuStringsPoisonDOSEnglish[1] = { "Poisoned party\rmembers will die!\rRest anyway?" }; static const StringListProvider kEoB1MenuStringsPoisonDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsPoisonDOSEnglish), kEoB1MenuStringsPoisonDOSEnglish }; static const char *const kEoB1MenuStringsMgcDOSEnglish[2] = { "%-18s %1d", "%d of %d Remaining. " }; static const StringListProvider kEoB1MenuStringsMgcDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsMgcDOSEnglish), kEoB1MenuStringsMgcDOSEnglish }; static const char *const kEoB1MenuStringsPrefsDOSEnglish[4] = { "Tunes are %-3s", "Sounds are %-3s", "Bar Graphs are %-3s", "Mouse is %-3s" }; static const StringListProvider kEoB1MenuStringsPrefsDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsPrefsDOSEnglish), kEoB1MenuStringsPrefsDOSEnglish }; static const char *const kEoB1MenuStringsRest2DOSEnglish[4] = { "%s gained %s.\r", "%s memorized %s.\r", "%s casts healing on %s.\r", "Hours rested: %-4d" }; static const StringListProvider kEoB1MenuStringsRest2DOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRest2DOSEnglish), kEoB1MenuStringsRest2DOSEnglish }; static const char *const kEoB1MenuStringsRest4DOSEnglish[1] = { "\rYou can't rest here, monsters are near." }; static const StringListProvider kEoB1MenuStringsRest4DOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRest4DOSEnglish), kEoB1MenuStringsRest4DOSEnglish }; static const char *const kEoB1MenuStringsDefeatDOSEnglish[1] = { "All of your party has been defeated. The minions of evil will be able to carry out their plans unhindered!\r" }; static const StringListProvider kEoB1MenuStringsDefeatDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDefeatDOSEnglish), kEoB1MenuStringsDefeatDOSEnglish }; static const char *const kEoB1MenuYesNoStringsDOSEnglish[2] = { "Yes", "No" }; static const StringListProvider kEoB1MenuYesNoStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuYesNoStringsDOSEnglish), kEoB1MenuYesNoStringsDOSEnglish }; static const char *const kEoB1CharGuiStringsHpDOSEnglish[2] = { "HP", "%3d of %-3d" }; static const StringListProvider kEoB1CharGuiStringsHpDOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsHpDOSEnglish), kEoB1CharGuiStringsHpDOSEnglish }; static const char *const kEoB1CharGuiStringsWp1DOSEnglish[2] = { "MISS", "HACK" }; static const StringListProvider kEoB1CharGuiStringsWp1DOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsWp1DOSEnglish), kEoB1CharGuiStringsWp1DOSEnglish }; static const char *const kEoB1CharGuiStringsWrDOSEnglish[4] = { "CAN'T", "REACH", "NO", "AMMO" }; static const StringListProvider kEoB1CharGuiStringsWrDOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsWrDOSEnglish), kEoB1CharGuiStringsWrDOSEnglish }; static const char *const kEoB1CharGuiStringsSt1DOSEnglish[6] = { "Swapping", "DEAD", "UNCONSCIOUS", "POISON (SLOW)", "POISONED", "PARALYZED" }; static const StringListProvider kEoB1CharGuiStringsSt1DOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsSt1DOSEnglish), kEoB1CharGuiStringsSt1DOSEnglish }; static const char *const kEoB1CharGuiStringsInDOSEnglish[4] = { "CHARACTER INFO", "ARMOR CLASS", "EXP", "LVL" }; static const StringListProvider kEoB1CharGuiStringsInDOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsInDOSEnglish), kEoB1CharGuiStringsInDOSEnglish }; static const char *const kEoB1CharStatusStrings7DOSEnglish[1] = { "%s no longer has giant strength.\r" }; static const StringListProvider kEoB1CharStatusStrings7DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings7DOSEnglish), kEoB1CharStatusStrings7DOSEnglish }; static const char *const kEoB1CharStatusStrings81DOSEnglish[1] = { "%s feels the effects of poison!\r" }; static const StringListProvider kEoB1CharStatusStrings81DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings81DOSEnglish), kEoB1CharStatusStrings81DOSEnglish }; static const char *const kEoB1CharStatusStrings9DOSEnglish[1] = { "%s is no longer paralyzed!\r" }; static const StringListProvider kEoB1CharStatusStrings9DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings9DOSEnglish), kEoB1CharStatusStrings9DOSEnglish }; static const char *const kEoB1CharStatusStrings131DOSEnglish[1] = { "%s is %s!\r" }; static const StringListProvider kEoB1CharStatusStrings131DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings131DOSEnglish), kEoB1CharStatusStrings131DOSEnglish }; static const char *const kEoB1LevelGainStringsDOSEnglish[1] = { "\x06\x01""%s has gained a level of experience.""\x06\x0F""\r" }; static const StringListProvider kEoB1LevelGainStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1LevelGainStringsDOSEnglish), kEoB1LevelGainStringsDOSEnglish }; static const char *const kEoB1BookNumbersDOSEnglish[5] = { "First", "Second", "Third", "Fourth", "Fifth" }; static const StringListProvider kEoB1BookNumbersDOSEnglishProvider = { ARRAYSIZE(kEoB1BookNumbersDOSEnglish), kEoB1BookNumbersDOSEnglish }; static const char *const kEoB1MageSpellsListDOSEnglish[26] = { "", "Armor", "Burning Hands", "Detect Magic", "Magic Missile", "Read Magic", "Shield", "Shocking Grasp", "Invisibility", "Knock", "M's Acid Arrow", "Stinking Cloud", "Dispel Magic", "Fireball", "Flame Arrow", "Haste", "Hold Person", "Invisibility 10'", "Lightning Bolt", "Vampiric Touch", "Fear", "Ice Storm", "Stoneskin", "Cloudkill", "Cone of Cold", "Hold Monster" }; static const StringListProvider kEoB1MageSpellsListDOSEnglishProvider = { ARRAYSIZE(kEoB1MageSpellsListDOSEnglish), kEoB1MageSpellsListDOSEnglish }; static const char *const kEoB1ClericSpellsListDOSEnglish[25] = { "", "Bless", "Cure Light Wnds", "Cause Light Wnds", "Detect Magic", "Protect-Evil", "Aid", "Flame Blade", "Hold Person", "Slow Poison", "Create Food", "Dispel Magic", "Magical Vestment", "Prayer", "Remove Paralysis", "Cure Serious", "Cause Serious", "Neutral-Poison", "Protect-Evil 10'", "Protect-Lightning", "Cure Critical", "Cause Critical", "Flame Strike", "Raise Dead", "Lay on Hands" }; static const StringListProvider kEoB1ClericSpellsListDOSEnglishProvider = { ARRAYSIZE(kEoB1ClericSpellsListDOSEnglish), kEoB1ClericSpellsListDOSEnglish }; static const char *const kEoB1SpellNamesDOSEnglish[51] = { "", "armor", "burning hands", "detect magic", "magic missile", "shield", "shocking grasp", "invisibility", "melf's acid arrow", "stinking cloud", "dispel magic", "fireball", "flame arrow", "haste", "hold person", "invisibility 10' radius", "lightning bolt", "vampiric touch", "fear", "ice storm", "stoneskin", "cloudkill", "cone of cold", "hold monster", "bless", "cure light wounds", "cause light wounds", "detect magic", "protection from evil", "aid", "flame blade", "hold person", "slow poison", "create food", "dispel magic", "magical vestment", "prayer", "remove paralysis", "cure serious wounds", "cause serious wounds", "neutralize poison", "protection from evil 10' radius", "protection from lightning", "cure critical wounds", "cause critical wounds", "flame strike", "raise dead", "lay on hands", "", "", "" }; static const StringListProvider kEoB1SpellNamesDOSEnglishProvider = { ARRAYSIZE(kEoB1SpellNamesDOSEnglish), kEoB1SpellNamesDOSEnglish }; static const char *const kEoB1MagicStrings1DOSEnglish[6] = { "ABORT SPELL", "ABORT SPELL", "You must have a free hand for this spell.\r", "You can't have two of this spell type active.\r", "%s casts %s.\r", "ok\r" }; static const StringListProvider kEoB1MagicStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings1DOSEnglish), kEoB1MagicStrings1DOSEnglish }; static const char *const kEoB1MagicStrings2DOSEnglish[3] = { "no effect\r", "%s has been disintegrated!\r", "The party has been hit by a death spell!\r" }; static const StringListProvider kEoB1MagicStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings2DOSEnglish), kEoB1MagicStrings2DOSEnglish }; static const char *const kEoB1MagicStrings3DOSEnglish[6] = { "Cast spell on which character? ", "\rok\r", "\rSpell aborted.\r", "%s's %s spell expires.\r", "%s missed the monster.\r", "%s must be in the front ranks to hit!\r" }; static const StringListProvider kEoB1MagicStrings3DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings3DOSEnglish), kEoB1MagicStrings3DOSEnglish }; static const char *const kEoB1MagicStrings4DOSEnglish[1] = { "no effect.\r" }; static const StringListProvider kEoB1MagicStrings4DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings4DOSEnglish), kEoB1MagicStrings4DOSEnglish }; static const char *const kEoB1MagicStrings6DOSEnglish[1] = { "%s already has a high base armor class.\r" }; static const StringListProvider kEoB1MagicStrings6DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings6DOSEnglish), kEoB1MagicStrings6DOSEnglish }; static const char *const kEoB1MagicStrings7DOSEnglish[5] = { "1ST", "2ND", "3RD", "4TH", "5TH" }; static const StringListProvider kEoB1MagicStrings7DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings7DOSEnglish), kEoB1MagicStrings7DOSEnglish }; static const char *const kEoB1MagicStrings8DOSEnglish[3] = { "All spells on %s are dispelled.\r", "The party is already blessed!\r", "The aid spell fails!\r" }; static const StringListProvider kEoB1MagicStrings8DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings8DOSEnglish), kEoB1MagicStrings8DOSEnglish }; static const byte kEoB1ManDefDOSEnglish[120] = { 0x09, 0x0A, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00, 0x09, 0x06, 0x06, 0x00, 0x09, 0x03, 0x03, 0x00, 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00, 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00, 0x09, 0x06, 0x02, 0x00, 0x23, 0x01, 0x05, 0x00, 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00, 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00, 0x23, 0x07, 0x01, 0x00, 0x1A, 0x01, 0x01, 0x00, 0x1A, 0x03, 0x02, 0x00, 0x1A, 0x06, 0x01, 0x00, 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x04, 0x00, 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00, 0x02, 0x03, 0x03, 0x00, 0x02, 0x05, 0x03, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00, 0x01, 0x04, 0x03, 0x00, 0x0C, 0x02, 0x01, 0x00, 0x0C, 0x03, 0x03, 0x00, 0x0C, 0x04, 0x02, 0x00 }; static const ByteProvider kEoB1ManDefDOSEnglishProvider = { ARRAYSIZE(kEoB1ManDefDOSEnglish), kEoB1ManDefDOSEnglish }; static const char *const kEoB1ManWordDOSEnglish[31] = { "attacks", "short", "line", "weapons", "certain", "rank", "rear", "can", "away", "dungeon", "cursor", "feature", "information", "displayed", "below", "around", "carefree", "gnomes", "clerics", "mystic", "pummel", "fitness", "using", "toughness", "wealth", "wizard", "officials", "hound", "disturbing", "flaming", "" }; static const StringListProvider kEoB1ManWordDOSEnglishProvider = { ARRAYSIZE(kEoB1ManWordDOSEnglish), kEoB1ManWordDOSEnglish }; static const char *const kEoB1ManPromptDOSEnglish[1] = { "\r\r\r\rOn the page with this symbol...\r\rFind line %d\rEnter word %d\r" }; static const StringListProvider kEoB1ManPromptDOSEnglishProvider = { ARRAYSIZE(kEoB1ManPromptDOSEnglish), kEoB1ManPromptDOSEnglish }; static const char *const kEoB1MonsterDistAttStringsDOSEnglish[5] = { "%s is hit by a cause serious wounds spell!\r", "The party is hit with a psychic mind blast!\r", "paralyzed", "poisoned", "paralyzed" }; static const StringListProvider kEoB1MonsterDistAttStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MonsterDistAttStringsDOSEnglish), kEoB1MonsterDistAttStringsDOSEnglish }; scummvm_eob.bak è da rinominare in .exe
Files allegati
eob1_dos_english.txt ( 28.15k )
Numero di download: 841
scummvm_eob.zip ( 2.67mb )
Numero di download: 714-------------------- |
|
|
|
![]() |
16 Jun 2014, 20:01
Messaggio
#2
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Visto che una versione tedesca è già implementata in scummvm, qualcuno se lo stesse chiedendo, le accentate non dovrebbero rappresentare un problema.
Ho confrontato i due exe eng ed ita e ho visto che avete spostato testi in base alle esigenze. Purtroppo questo richiederà tempo in più. Sarebbe bene che facesse copia-incolla chi si è già occupato della traduzione. da quello che ho letto sul thread dell'exe dovreste avere un bel dump pulito magari con le frasi inglesi. Così sarebbe molto facile. -------------------- |
|
|
|
16 Jun 2014, 20:06
Messaggio
#3
|
|
Gruppo: Admin Messaggi: 30.471 Iscritto il: 18 April 04 Da: Britannia Utente Nr.: 1.377 pulley-in-the-middle BGE Ultima 7 Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO! Dungeon Master 1 (PC - DosBox) Sonic (Wii) Runaway (PC) SO WinXP |
Che grande che sei Rullo!
Siamo una squadra fortisssimI! -------------------- |
|
|
|
16 Jun 2014, 22:40
Messaggio
#4
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Grazie Antix, abbiamo un piccolo sforzo ancora da fare, DAI! DAI! DAI! LA LOCURA!
Ho condiviso il sorgente su google docs: https://docs.google.com/file/d/0B-83wCtq_Ac...m95RXduQ0U/edit C'è da verificare anche l'array static const byte kEoB1ManDefDOSEnglish[120] = { 0x09, 0x0A, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00, 0x09, 0x06, 0x06, 0x00, 0x09, 0x03, 0x03, 0x00, 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00, 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00, 0x09, 0x06, 0x02, 0x00, 0x23, 0x01, 0x05, 0x00, 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00, 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00, 0x23, 0x07, 0x01, 0x00, 0x1A, 0x01, 0x01, 0x00, 0x1A, 0x03, 0x02, 0x00, 0x1A, 0x06, 0x01, 0x00, 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x04, 0x00, 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00, 0x02, 0x03, 0x03, 0x00, 0x02, 0x05, 0x03, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00, 0x01, 0x04, 0x03, 0x00, 0x0C, 0x02, 0x01, 0x00, 0x0C, 0x03, 0x03, 0x00, 0x0C, 0x04, 0x02, 0x00 }; visto che è leggermente diverso da quello tedesco: static const byte kEoB1ManDefDOSGerman[120] = { 0x09, 0x0A, 0x01, 0x00, 0x09, 0x04, 0x03, 0x00, 0x09, 0x06, 0x01, 0x00, 0x09, 0x03, 0x03, 0x00, 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00, 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00, 0x09, 0x01, 0x03, 0x00, 0x23, 0x01, 0x05, 0x00, 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00, 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00, 0x23, 0x07, 0x01, 0x00, 0x1A, 0x02, 0x01, 0x00, 0x1A, 0x03, 0x02, 0x00, 0x1A, 0x06, 0x01, 0x00, 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x03, 0x00, 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00, 0x02, 0x03, 0x03, 0x00, 0x02, 0x07, 0x02, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00, 0x01, 0x04, 0x03, 0x00, 0x0C, 0x02, 0x01, 0x00, 0x0C, 0x03, 0x03, 0x00, 0x0C, 0x02, 0x04, 0x00 }; -------------------- |
|
|
|
16 Jun 2014, 23:07
Messaggio
#5
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Trovato l'array nell'exe italiano. E' invariato, non lo avete toccato. Meglio così.
proprio sotto l'array (0002A149) ho trovato parti in inglese. E' normale che non siano state tradotte? CODICE attacks.short.line.weapons.certain.rank.rear.can.away.dungeon.cursor.feature.inf ormation.displayed.below.around.carefree.gnomes.clerics.mystic.pummel.fitness.us i ng.toughness.wealth.wizard.officials.hound.disturbing.flaming.. nella versione tedesca sono tradotte. -------------------- |
|
|
|
17 Jun 2014, 09:42
Messaggio
#6
|
|
|
Gruppo: Gamer Messaggi: 929 Iscritto il: 27 June 12 Da: Ravenna Utente Nr.: 19.437 BGE The Last of Us Playing Poco e niente SO Windows7 |
se mi dici solo i testi da tradeurre posso vedere di aiutare scipollare sul codice non mi ispira
|
|
|
|
17 Jun 2014, 10:44
Messaggio
#7
|
|
Gruppo: SMod Messaggi: 7.080 Iscritto il: 19 August 10 Utente Nr.: 17.671 BGE Day of the Tentacle SO WinXP ![]() ![]() ![]() ![]() ![]() ![]() Direttore (59) |
Trovato l'array nell'exe italiano. E' invariato, non lo avete toccato. Meglio così. proprio sotto l'array (0002A149) ho trovato parti in inglese. E' normale che non siano state tradotte? nella versione tedesca sono tradotte. Traduciamole per sicurezza. -------------------- Il muto non si fa capire dal lama, il lama non si fa capire dal muto, il muto prova allora con una tromba, il lama invece perde la pazienza e comincia a prenderlo a sassate, il muto scappa e non sa cosa succede, voleva solo dire al lama che era muto, allora perchè il lama ha reagito così? Forse perchè in questa storia manca qualcosa, e questo qualcosa devi dirmelo tu.
|
|
|
|
17 Jun 2014, 11:50
Messaggio
#8
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Nel sorgente sono presenti quindi direi anche io di tradurle.
Selven non dobbiamo tradurre da zero. Dobbiamo copiare le frasi già tradotte ed uniformate dall'exe italiano. Ad ogni modo le parti da modificare nel sorgente sono quelle tra virgolette. Lasciando inalterati i caratteri speciali come %d o \r: "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.", " ", "AC\rHP\rLVL", "%s\r%d\r%d\r%d\r%d\r%d", "%d\r%d", "%d", "%d/%d", "%d/%d/%d", "Select the box of\rthe character you\rwish to create or\rview." -------------------- |
|
|
|
17 Jun 2014, 12:51
Messaggio
#9
|
|
Gruppo: Oldgame Editor Messaggi: 1.025 Iscritto il: 29 February 08 Da: bangkok, tailandia Utente Nr.: 12.138 BGE ไม่รู้ Playing JA 1 in ITALIANO :) - finito! SO Windows7 OGI Supporter |
Trovato l'array nell'exe italiano. E' invariato, non lo avete toccato. Meglio così. proprio sotto l'array (0002A149) ho trovato parti in inglese. E' normale che non siano state tradotte? CODICE attacks.short.line.weapons.certain.rank.rear.can.away.dungeon.cursor.feature.inf ormation.displayed.below.around.carefree.gnomes.clerics.mystic.pummel.fitness.us i ng.toughness.wealth.wizard.officials.hound.disturbing.flaming.. nella versione tedesca sono tradotte. queste sono le risposte per l'anticopia non traducetele nemmeno per sicurezza... ;) -------------------- [img][/img] "I'll finish it... eventually." . . . GOG :( Equipaggiamento RetroAudio: Roland MT-32 + Roland SC-50 |
|
|
|
17 Jun 2014, 13:43
Messaggio
#10
|
|
Gruppo: SMod Messaggi: 10.006 Iscritto il: 7 May 04 Da: Regione dell'Albero d'Oro Utente Nr.: 1.400 BGE Elvira 1 SO WinXP |
Quello che doveva essere tradotto lo è, la traduzione è finita e completa. se trovate frasi inglesi lasciatecele. O sono parti non completate ma neppure eliminate dal codice, o roba tipo l'anticopia, ecc.
Basta fare copia e incolla dal testo già tradotto nell'exe. L'unico dubbio è come implementare le accentate presenti nel nostro exe nel txt di scummvm. -------------------- ![]() |
|
|
|
17 Jun 2014, 13:44
Messaggio
#11
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
AHHH! allora l'array precedente non è altro che lo schema per trovare le parole giuste sul manuale. E' per questo che inglese e tedesco differiscono.
difatti la prima riga: 0x09, 0x0A, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00, scudo, linea 10, parola 2, spazio separatore, scudo, linea 4, parola 3, spazio separatore stando ad una tabella codici trovata in rete combacia tutto. grazie jsbrigo! -------------------- |
|
|
|
17 Jun 2014, 14:01
Messaggio
#12
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Micartu, circa le parti non tradotte, non vorrei che in scummvm le avessere inserite. Certamente si tratta di una cosa che potremmo fare in un secondo momento, e non ho nessun problema a lasciare la trad esattamente come l'avete concepita, considerato anche il fatto che ci avete speso tantissimo tempo e risorse, ponderando tantissime cose. Quello che voglio dire e che anche se alcune frasi non vengono visualizzate dal gioco dos, potrebbe esserlo in scummvm.
mi hai messo la pulce sulle accentate ed ho verificato. qui c'è il sorgente tedesco e pare non vi siano tracce delle loro umlaut ma siccome l'engine è il Kyra, e per Kyrandia abbiamo fatto carte false per riuscire ad inserire tutte le accentate, è facile supperre che anche eob condivida la stessa tabella caratteri. QUINDI, stando al sorgente che feci a suo tempo per Kyrandia 1 (ora non ho sotto mano la tabella che usai al tempo) i caratteri dovrebbero essere questi: ù - \x97 è - \x8A é - \x82 ò - \x95 à - \x85 ì - ? che andranno inserite in questa maniera: "Dar""\x95"" un giusto avvertimento." -------------------- |
|
|
|
17 Jun 2014, 14:23
Messaggio
#13
|
|
Gruppo: SMod Messaggi: 10.006 Iscritto il: 7 May 04 Da: Regione dell'Albero d'Oro Utente Nr.: 1.400 BGE Elvira 1 SO WinXP |
Non so come si comporta lo scummvm con le accentate, ma noi abbiamo modificato i font di gioco proprio per avere supporto diretto. Infatti se spulci l'exe troverai il corrispettivo esadecimale del valore che abbiamo utilizzato qui e là. Intendevo dire che non so come si trasferisca questo valore in txt non che le accentate siano assenti al contrario sono ben presenti anche nell'exe italianizzato.
Per eventuale testo inglese non tradotto, non ci siamo capiti: non compare, sono frammenti mai completati e mai riattivati, e lo dico con certezza superiore al 300% Sono incantesimi e cose abbozzate dai programmatori del gioco e mai implementate nel gioco finito, si trovano residui qui e là nell'exe e alle volte qualche abbozzo in grafica, incantesimi che volevano implementare e poi non l'hanno fatto per varie ragioni e cose così. Esistono progetti amatoriali di recupero e di modding di tale materiale, uno dei quali proprio del "nostro" Delmair. Mi preoccupa invece il discorso della limitazione nell'exe inglese del buffer, noi abbiamo appunto tramite gufino ampliato il buffer, proprio perché siamo gli unici al mondo ad aver tradotto gli inf nella nostra lingua. Le altre traduzioni non hanno gli inf tradotti o se li hanno utilizzano meno testo di quelli inglesi. Credo bisognerà sentire Gufino e chiedergli come lo ha realizzato e poi implementare questo aumento di buffer nello scummvm. Il principio è che l'inf decompresso viene memorizzato nel buffer, con un limite di 7500 byte in inglese, avendo tradotto gli inf, è aumentato anche il peso in byte e parti di livello venivano appunto troncate, quindi abbiamo dovuto espanderlo per la traduzione. -------------------- ![]() |
|
|
|
17 Jun 2014, 15:47
Messaggio
#14
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Avevo capito come elegantemente fosse stato risolto il problema accentate, ma purtroppo è una soluzione che rimarrà relegata all'exe. In scummvm bisogna usare altri codici.
La parola che nell'exe è "Velocit0x0C" dovrà essere tradotta nel sorgente come "Velocit""\x85" basterà copiaincollare le frasi come sono poi "sostituire" ogni accentata con notepad++ La questione del buffer va chiesta al team. Io credo che, riscrivendo l'engine, se ne fossero accorti ed abbiano tolto la limitazione o quantomeno aumentato il buffer visto che le frasi tedesche di norma sono più lunghe. -------------------- |
|
|
|
17 Jun 2014, 19:44
Messaggio
#15
|
|
Gruppo: SMod Messaggi: 7.080 Iscritto il: 19 August 10 Utente Nr.: 17.671 BGE Day of the Tentacle SO WinXP ![]() ![]() ![]() ![]() ![]() ![]() Direttore (59) |
Anche queste due frasi: "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.", "Select the box of\rthe character you\rwish to create or\rview." fanno parte dell'anticopia? Ok per il resto, ma queste due qui secondo me son da tradurre. -------------------- Il muto non si fa capire dal lama, il lama non si fa capire dal muto, il muto prova allora con una tromba, il lama invece perde la pazienza e comincia a prenderlo a sassate, il muto scappa e non sa cosa succede, voleva solo dire al lama che era muto, allora perchè il lama ha reagito così? Forse perchè in questa storia manca qualcosa, e questo qualcosa devi dirmelo tu.
|
|
|
|
17 Jun 2014, 21:01
Messaggio
#16
|
|
Gruppo: SMod Messaggi: 10.006 Iscritto il: 7 May 04 Da: Regione dell'Albero d'Oro Utente Nr.: 1.400 BGE Elvira 1 SO WinXP |
Come ho già spiegato, quello che è testo è TUTTO tradotto. Quello che nel nostro exe è in inglese è scarto.
Capisco Rullo, allora dobbiamo sentire il team per il buffer. Stasera inizio il nostro allegro copia e incolla. -------------------- ![]() |
|
|
|
17 Jun 2014, 21:52
Messaggio
#17
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Anche queste due frasi: "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.", "Select the box of\rthe character you\rwish to create or\rview." fanno parte dell'anticopia? Ok per il resto, ma queste due qui secondo me son da tradurre. nell'exe italiano quelle sono tradotte. Quindi si, vanno copiate tenendo presente la posizione del carattere "a capo" (/r) -------------------- |
|
|
|
17 Jun 2014, 21:55
Messaggio
#18
|
|
Gruppo: SMod Messaggi: 7.080 Iscritto il: 19 August 10 Utente Nr.: 17.671 BGE Day of the Tentacle SO WinXP ![]() ![]() ![]() ![]() ![]() ![]() Direttore (59) |
Ottimo.
Messaggio modificato da redice il 17 Jun 2014, 21:55 -------------------- Il muto non si fa capire dal lama, il lama non si fa capire dal muto, il muto prova allora con una tromba, il lama invece perde la pazienza e comincia a prenderlo a sassate, il muto scappa e non sa cosa succede, voleva solo dire al lama che era muto, allora perchè il lama ha reagito così? Forse perchè in questa storia manca qualcosa, e questo qualcosa devi dirmelo tu.
|
|
|
|
18 Jun 2014, 16:39
Messaggio
#19
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
-------------------- |
|
|
|
18 Jun 2014, 21:05
Messaggio
#20
|
|
Gruppo: SMod Messaggi: 10.006 Iscritto il: 7 May 04 Da: Regione dell'Albero d'Oro Utente Nr.: 1.400 BGE Elvira 1 SO WinXP |
Io non vedo nulla aprendo il link.
-------------------- ![]() |
|
|
|
23 Jun 2014, 22:31
Messaggio
#21
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
Copiaincolla al 25% circa.
Ho trovato una frase all'indirizzo 0x00027276 che FORSE è stata tradotta così per mancanza di spazio nell'exe : You may only eat food! Puoi solo [] Mancava spazio nell'exe o a video? Per ora l'ho tradotta: Puoi solo mangiare cibo! e questa? Legno.Fulmini.Gelo.Cure.Fuoco.Silvias.Dardi non sono proprio uguali in inglese: "Stick", "Lightning", "Frost", "Curing", "Fireball", "Silvias", "Magic Missile" li lascio così o metto Palla di fuoco, Dardo incantato ecc.. intanto, per chi si chiedesse della storia del buffer di 7500Bytes, LordHoto, programmatore tedesco del team di scummvm ha fugato ogni dubbio. -------------------- |
|
|
|
23 Jun 2014, 23:42
Messaggio
#22
|
|
Gruppo: SMod Messaggi: 10.006 Iscritto il: 7 May 04 Da: Regione dell'Albero d'Oro Utente Nr.: 1.400 BGE Elvira 1 SO WinXP |
CITAZIONE You may only eat food! Puoi solo [] Hai trovato un bug o una svista bravo XD Bisogna dire a Jsbrigo di correggere. Se ci sono problemi di spazio può diventare: "Non è cibo!" in quanto esce se usi un oggetto qualsiasi cercando di mangiarlo. Edito: "Non è cibo!" confermo questa traduzione, che è poi quella che adotteremo noi. Ho già fatto le prove e non dà problemi. CITAZIONE Legno.Fulmini.Gelo.Cure.Fuoco.Silvias.Dardi Non ho idea di cosa siano queste, nel senso che sono sicuro che sono degli attributi collegati a qualche altra parola, per esempio potrebbe essere "Bacchetta". Quel "cure" potrebbe essere un typo, mentre Dardi sarà un abbreviazione sbagliata o un'abbreviazione forzata, devo sentire Jsbrigo. Il nome degli oggetti è contenuto in Item.dat. Se tu raccogli una bacchetta dei dardi incantanti, ti esce nell'inventario "Bacchetta dei dardi incantati", ma nel parser probabilmente esce "Preso bacchetta dardi" per motivi di spazio carente, non è una tragedia, ma vediamo che si può fare. -------------------- ![]() |
|
|
|
24 Jun 2014, 10:40
Messaggio
#23
|
|
Gruppo: SMod Messaggi: 14.543 Iscritto il: 20 January 06 Da: Bologna Utente Nr.: 2.653 Entropologo part-time BGE AG: Indy3 Arcade: Silpheed Free Roaming: Shadow of the Colossus RTS: Praetorians Playing Magari... SO Windows7 OGI Supporter |
-------------------- |
|
|
|
24 Jun 2014, 12:02
Messaggio
#24
|
|
|
Gruppo: Gamer Messaggi: 929 Iscritto il: 27 June 12 Da: Ravenna Utente Nr.: 19.437 BGE The Last of Us Playing Poco e niente SO Windows7 |
Quindi da tradurre non c'era niente?
Mic più che "non è cibo!" ci starebbe meglio " Non si mangia!" |
|
|
|
24 Jun 2014, 13:33
Messaggio
#25
|
|
Gruppo: Oldgame Editor Messaggi: 1.025 Iscritto il: 29 February 08 Da: bangkok, tailandia Utente Nr.: 12.138 BGE ไม่รู้ Playing JA 1 in ITALIANO :) - finito! SO Windows7 OGI Supporter |
Esatto, come da post di Mic
http://www.oldgamesitalia.net/forum/index....st&p=309353 -------------------- [img][/img] "I'll finish it... eventually." . . . GOG :( Equipaggiamento RetroAudio: Roland MT-32 + Roland SC-50 |
|
|
|
![]() ![]() ![]() |
| Versione Lo-Fi | Oggi è il: 22nd October 2026 - 00:33 |