Benvenuto Visitatore(Log In|Registrati)

3 Pagine V   1 2 3 >  
Reply to this topicStart new topic
> [ScummVM] Eye of the Beholder ITA, lavori in corso...
TheRuler
messaggio15 Jun 2014, 21:29
Messaggio #1



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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
File Allegato  eob1_dos_english.txt ( 28.15k ) Numero di download: 215
File Allegato  scummvm_eob.zip ( 2.67mb ) Numero di download: 154
 


--------------------
 
TheRuler
messaggio16 Jun 2014, 20:01
Messaggio #2



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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.


--------------------
 
The Ancient One
messaggio16 Jun 2014, 20:06
Messaggio #3



Gruppo icone

Gruppo: Admin
Messaggi: 30.302
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! smilies3.gif


--------------------
 
TheRuler
messaggio16 Jun 2014, 22:40
Messaggio #4



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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
};


--------------------
 
TheRuler
messaggio16 Jun 2014, 23:07
Messaggio #5



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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.


--------------------
 
selven
messaggio17 Jun 2014, 09:42
Messaggio #6





Gruppo: Gamer
Messaggi: 906
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
 
redice
messaggio17 Jun 2014, 10:44
Messaggio #7



Gruppo icone

Gruppo: SMod
Messaggi: 6.919
Iscritto il: 19 August 10
Utente Nr.: 17.671
BGE Day of the Tentacle
SO WinXP


Direttore (58)


CITAZIONE (TheRuler @ 17 Jun 2014, 00:07) *
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.
 
TheRuler
messaggio17 Jun 2014, 11:50
Messaggio #8



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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."


--------------------
 
jsbrigo
messaggio17 Jun 2014, 12:51
Messaggio #9



Gruppo icone

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




CITAZIONE (TheRuler @ 17 Jun 2014, 00:07) *
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
 
Micartu
messaggio17 Jun 2014, 13:43
Messaggio #10



Gruppo icone

Gruppo: SMod
Messaggi: 9.948
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.


--------------------
 
TheRuler
messaggio17 Jun 2014, 13:44
Messaggio #11



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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!






--------------------
 
TheRuler
messaggio17 Jun 2014, 14:01
Messaggio #12



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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."


--------------------
 
Micartu
messaggio17 Jun 2014, 14:23
Messaggio #13



Gruppo icone

Gruppo: SMod
Messaggi: 9.948
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.


--------------------
 
TheRuler
messaggio17 Jun 2014, 15:47
Messaggio #14



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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 è "Velocit 0x0C" 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.


--------------------
 
redice
messaggio17 Jun 2014, 19:44
Messaggio #15



Gruppo icone

Gruppo: SMod
Messaggi: 6.919
Iscritto il: 19 August 10
Utente Nr.: 17.671
BGE Day of the Tentacle
SO WinXP


Direttore (58)



Anche queste due frasi:
CITAZIONE (TheRuler @ 17 Jun 2014, 12:50) *
"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.
 
Micartu
messaggio17 Jun 2014, 21:01
Messaggio #16



Gruppo icone

Gruppo: SMod
Messaggi: 9.948
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.


--------------------
 
TheRuler
messaggio17 Jun 2014, 21:52
Messaggio #17



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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




CITAZIONE (redice @ 17 Jun 2014, 20:44) *
Anche queste due frasi:
CITAZIONE (TheRuler @ 17 Jun 2014, 12:50) *
"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)


--------------------
 
redice
messaggio17 Jun 2014, 21:55
Messaggio #18



Gruppo icone

Gruppo: SMod
Messaggi: 6.919
Iscritto il: 19 August 10
Utente Nr.: 17.671
BGE Day of the Tentacle
SO WinXP


Direttore (58)


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.
 
TheRuler
messaggio18 Jun 2014, 16:39
Messaggio #19



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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




Confermato da Micartu:
Immagine Allegata


--------------------
 
Micartu
messaggio18 Jun 2014, 21:05
Messaggio #20



Gruppo icone

Gruppo: SMod
Messaggi: 9.948
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.


--------------------
 
TheRuler
messaggio23 Jun 2014, 22:31
Messaggio #21



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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.


--------------------
 
Micartu
messaggio23 Jun 2014, 23:42
Messaggio #22



Gruppo icone

Gruppo: SMod
Messaggi: 9.948
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.


--------------------
 
TheRuler
messaggio24 Jun 2014, 10:40
Messaggio #23



Gruppo icone

Gruppo: SMod
Messaggi: 11.279
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




Ho finito l'adattamento e sottoposto la richiesta al tracker.

...attendere prego...


--------------------
 
selven
messaggio24 Jun 2014, 12:02
Messaggio #24





Gruppo: Gamer
Messaggi: 906
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!"
 
jsbrigo
messaggio24 Jun 2014, 13:33
Messaggio #25



Gruppo icone

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
 

3 Pagine V   1 2 3 >
Fast ReplyReply to this topicStart new topic
1 utenti stanno leggendo questa discussione (1 visitatori e 0 utenti anonimi)
0 utenti:

 

Modalità di visualizzazione: Normale · Passa a: Lineare · Passa a: Outline


Versione Lo-Fi Oggi è il: 25th August 2019 - 06:25