Xaratas Posted May 24, 2018 Posted May 24, 2018 (edited) I can see nice things happen here and on nexus mods, so I think it's time to write up some stuff for the others. As I work mostly with the Stringtables I begin with them. And I hope, BMac or any other Dev could add things I am missing or explain stuff in greater detail. Let's begin. ~99,5% of the visible Text ingame is externalised in the exported folder. And translated into 8 languages. The Exceptions are the Credits, News (they come via web request) and a few which the developers missed to mark as “externalize”.The exported Text is stored in xml Files with a .stringtable fileextension diveded into files according to usage, be it Gui, Abilities or a Conversation with Edér. <?xml version="1.0" encoding="utf-8"?> <StringTableFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>game\itemmods</Name> <NextEntryID>1</NextEntryID> <EntryCount>1024</EntryCount> <Entries> <Entry> <ID>2</ID> <DefaultText>Water proof</DefaultText> <FemaleText /> </Entry> <Entry> <ID>3</ID> <DefaultText>Dishwasher proof</DefaultText> <FemaleText /> </Entry> </Entries> </StringTableFile> That's the structure of any Stringtable file. It has: a XML header, a <Stringtable> wrapper with ‘some’ namespace, a <Name> which must correspond to the folder and filename of the file itself a <NextEntryID> whose value is not important for us a <EntryCount> whose value is not important for us and a list of <Entries>Each of them has exactly 3 elements. a <ID> which is used by the game to reference this particular string a <DefaultText> which is shown per default and a <FemaleText> which is shown if the person in the current context is female, may it your main character or a female NPC Rule 1When editing a Stringtable, or creating a new one for the Override folder of your mod. Always make sure the File is valid xml!You can test that with this little xsd file and a validator tool: Name the file stringtable.xsd <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="StringTableFile"> <xsd:complexType> <xsd:sequence> <xsd:element type="xsd:string" name="Name"/> <xsd:element type="xsd:integer" name="NextEntryID"/> <xsd:element type="xsd:integer" name="EntryCount"/> <xsd:element name="Entries"> <xsd:complexType> <xsd:sequence> <xsd:element name="Entry" maxOccurs="unbounded" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element type="xsd:integer" name="ID"/> <xsd:element type="xsd:string" name="DefaultText"/> <xsd:element type="xsd:string" name="FemaleText"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:unique name="ids_sind_unique"> <xsd:selector xpath="Entries/Entry"/> <xsd:field xpath="ID"/> </xsd:unique> </xsd:element> </xsd:schema> Validation Tools The validation tool I use is xsvd.jar from https://github.com/amouat/xsd-validator/tree/master/lib so if you use that you also need java installed. alternative online tool https://devutilsonline.com/xml/validate alternative online tool https://www.freeformatter.com/xml-validator-xsd.html The most basic invocation of xsvd.jar on a terminal would be: java -jar xsdv.jar stringtable.xsd yourChangedFile.stringtable To which it can respond with: yourChangedFile.stringtable validates. or yourChangedFile.stringtable fails to validate because: <reason> If all files validate you can enjoy your changes. What can one do with this?You can override any line, with anything, as is done here: https://www.nexusmods.com/pillarsofeternity2/mods/5 or here: https://www.nexusmods.com/pillarsofeternity2/mods/42You can add your own texts via the override folder for your custom items, conversations or questsYou can style the text mostly free. Known limitationsThe font ingame has no iconographies for Cyrillic or Korean, or any other non Latin script. As the file has to be valid XML all helpers, which use < and > have to be written as their replacement Tags < and >. XML in general has 3 more escapes, but they are, so far, not needed for stringtable files. Full reference: https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents General text handlingIn the text you have various helper elements to style the text or insert variable values. Which variables are available depends on the context. Besides the replacement system there is an automatic coloring system in place, which recognizes direct speech and changes the font color from gray to white. This system works flawless in PoE 2 and all available translations. Links get always a teal color in Conversations and the Log, while they are blue by default in popups and the cyclopedia. For displays which have Iconographies all non Word Characters from the Start of the Sentence are removed. So if the Text is Wrapped in „“ your result is a stray “ at the end of the Text. Ex-curseThere are 2 types of String renderings for “conversations”. One is the big modal two part speech box and the other one are barks. These are displayed as floating text above the head of the speaker. Basic text effects <b>Bold</b> <i>Italic</i> <u>Underline</u> Be careful with that one. The underline line in the log window stays visible if the hud is hidden. <b>bold</b> <i>italic</i> <u>underline</u> <b><i><u>bold, italic, underline</u></i></b> „<b>bold</b> <i>italic</i> <u>underline</u> <b><i><u>bold, italic, underline</u></i></b>“ <ispeech>Used when the Watcher has a Vision and “speaks“ with himself</ispeech> The text is Italic in the conversation panel and Italic and white in the log panel <#FF0000>Red!</color> Same colors as in html <#FF0000>Red!</color> <#00FF00>Green!</color> <#0000FF>Blue!</color> <#00DDFF>Cyan!</color> <#ca1f7b>Fuchsia!</color> <#FFA500>Orange!</color> <#7FFFD4>Aquamarine!</color> <#FFFFFF>White!</color> <#000000>Black!</color> Links of various kind <g>Link to a Cyclopedia entry</g> Most of the time the game finds out when to set a link if the word is the same, but for non English languages that's not that easy. So for example in German to add a link to Zersetzung – the name of the Cyclopedia entry – in the word „Zersetzungsschaden“ (corrode damage) one would write <g>Zersetzung</g>sschaden. The text will be displayed in teal. <xg> Anti Link. Prevents an automatic link to a normally linked word. <link="gamedata://b863a8c3-ed3b-4787-8b3f-2bdea96c47a1">Machtschwung</link> Link to Items or Ability popups. Good for showing a quest reward <link=https://forums.obsidian.net/forum/126–pillars–of–eternity–ii–deadfire–backer–beta/>forums.obsidian.net</link>or link to the web <link="glossary://GlossaryEntry_Skaen">Der Stille Sklave</link> Link to named entries of the glossary. Words which have an entry in the Cyclopdia are linked automatically. <link="stringtooltip://cyclopedia/56">strudelt gefährlich</link> Make Tooltips with texts from this file. For the Example it's ID 56 from cyclopedia.stringtable. You could use any file of the game folder. <link="neutralvalue://Vailian: Gebt mir den Seelenverschlinger!>„Derme o Engoliero me Espirs!</link> Link to inline translations of all the different con langs. Which are these in Eora known ones, and then any you want:Eld Aedyran Vailian Ixamitl Engwithan Ordhjóma Huana Rauataian Lembur <sprite="Inline" name="action_hold" tint=1> Use sprites in the text. Currently they are on mass in the Ship battle and the Tutorial. Attention: Sprites have no end tag! There are plenty of icons to use. See the List from BMacs Post: https://forums.obsidian.net/topic/100818-how-to-work-with-stringtables/?p=2041213 Replacement Token {0}, {1} etc. get replaced with numbers or texts from some source. Like function evaluations. Which functions there are, and how many return values they have is a whole different topic. Example: {0} {1} {2} for {3} damage {4}. Could result in Aloth hits Edér for 12 fire damage. (and I have forgotten what the {4} does.)The curly braces replacements can have subvalues which can be at least these. Percent gets a % sign from itself. {0:AfflictionType} {0:DamageType} {0:Equippable} {0:WeaponType} {0:Value} {0:Value:DamageProc} {0:Value:Duration} {0:Value:PercentBonus} {0:Value:DurationBonus} {0:Value:InvertPercentBonus} {0:Value:Percent} {0:Value:Straight} {0:ExtraValue:straight} {0:ExtraValue:Percent} {0:ExtraValue:Duration} [specified 0] get replaced with the name of the user character at the current selection for this particular scripted interaction. If you choose “Edér should jump the cliff“ and then „Aloth should watch it“ Aloth will be [specified 1] [slot 0] is comparable to [specified x] but it refers to the order of your party members. The left most portrait is Slot 0. It is replaced with the character name. [skillCheck 0] Is replaced with the character name which do the task [Player Animal Companion] is replaced with the Name of your cat, äh, animal companion[Player Class][Player Culture][Player Deity][Player Name][Player Race][Player Ship][Player Subrace] [Death Grunt/Cry 1] According to BMac this is only to show sounds, it has no significance ingame. Maybe a feature to play that audio was once planned but got clipped. [OrlansHeadGame_OpponentLastResult] these are for the knive throwing minigame[OrlansHeadGame_OpponentLastScore][OrlansHeadGame_OpponentTotalScore][OrlansHeadGame_PlayerLastResult][OrlansHeadGame_PlayerLastScore][OrlansHeadGame_PlayerTotalScore] [shipDuel_BraceChance][shipDuel_OpponentShip][shipDuel_Opponent][shipDuel_PlayerFullSailDist][shipDuel_PlayerHalfSailDist][shipDuel_PlayerShip][shipDuel_SurrenderCost] A few more Images: https://imgur.com/a/LfuSA08 Edited June 25, 2018 by Xaratas 8 More modding for PoE II | How to Work with Stringtables
aweigh0101 Posted May 25, 2018 Posted May 25, 2018 I can see nice things happen here and on nexus mods, so I think it's time to write up some stuff for the others. As I work mostly with the Stringtables I begin with them. And I hope, BMac or any other Dev could add things I am missing or explain stuff in greater detail. Let's begin. ~99,5% of the visible Text ingame is externalised in the exported folder. And translated into 8 languages. The Exceptions are the Credits, News (they come via web request) and a few which the developers missed to mark as “externalize”. The exported Text is stored in xml Files with a .stringtable fileextension diveded into files according to usage, be it Gui, Abilities or a Conversation with Edér. <?xml version="1.0" encoding="utf-8"?> <StringTableFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>game\itemmods</Name> <NextEntryID>1</NextEntryID> <EntryCount>1024</EntryCount> <Entries> <Entry> <ID>2</ID> <DefaultText>Water proof</DefaultText> <FemaleText /> </Entry> <Entry> <ID>3</ID> <DefaultText>Dishwasher proof</DefaultText> <FemaleText /> </Entry> </Entries> </StringTableFile> Thats the structure of any Stringtable file. It has: a XML header, a <Stringtable> wrapper with ‘some’ namespace, a <Name> which must correspond to the folder and filename of the file itself a <EntryCount> whose value is not important for us and a list of <Entries>Each of them has exactly 3 elements. a <ID> which is used by the game to reference this particular string a <DefaultText> which is shown per default and a <FemaleText> which is shown if the person in the current context is female, may it your main character or a female NPC What can one do with this? You can override any line, with anything, as is done here: https://www.nexusmods.com/pillarsofeternity2/mods/5 or here: https://www.nexusmods.com/pillarsofeternity2/mods/42 You can add your own texts via the override folder for your custom items, conversations or quests You can style the text mostly free. Known limitations The font ingame has no iconographies for Cyrillic or Korean. As the file has to be valid XML all helpers, which use < and > have to be written as their replacement Tags < and >. XML in genral has 3 more escapes, but they are, so far not needed for stringtable files. Full reference: https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents Text effects In the text you have various helper elements to style the text or insert variables. Which variables are available depends on the context. <b>Bold</b> <i>Italic</i> <ispeech>Used when the Watcher has a Vision and “speaks“ with himself</ispeech> The text is Italic in the conversation panel and Italic and white in the log panel <#FF0000>Red!</color> Same colors as in html Links of various kind <g>Link to a Cyclopedia entry</g> Most of the time the game finds out when to set a link if the word is the same, but for non English languages that's not that easy. So for example in German to add a link to Zersetzung – the name of the Cyclopedia entry – in the word „Zersetzungsschaden“ (corrode damage) one would write <g>Zersetzung</g>sschaden. The text will be displayed in teal. <link="gamedata://b863a8c3-ed3b-4787-8b3f-2bdea96c47a1">Machtschwung</link> Link to Items or Ability popups. Good for showing a quest reward <link=https://forums.obsidian.net/forum/126–pillars–of–eternity–ii–deadfire–backer–beta/>forums.obsidian.net</link>or link to the web <link="glossary://GlossaryEntry_Skaen">Der Stille Sklave</link> Link to named entries of the glossary <link="stringtooltip://cyclopedia/56">strudelt gefährlich</link> Make Tooltips with texts from this file. For the Example it's ID 56 from cyclopedia.stringtable. You could use any file of the game folder. @BMac or any any? <link="neutralvalue://Vailian: Gebt mir den Seelenverschlinger!>„Derme o Engoliero me Espirs!</link> Link to inline translations of all the different con langs. Which are at least:Eld Aedyran Vailian Ixamitl Engwithan Ordhjóma Huana Rauataian Lembur <sprite="Inline" name="action_hold" tint=1> Use sprites in the text. Currently they are on mass in the Ship battle and the Tutorial. Attention: Sprites have no end tag! @BMac Could that use any icon? Like the little crush damage hammer? Replacement Token {0}, {1} etc. get replaced with numbers or texts from some source. Like function evaluations. Which functions there are, and how many return values they have is a whole different topic. Example: {0} {1} {2} for {3} damage {4}. Could result in Aloth hits Edér for 12 fire damage. (and I have forgotten what the {4} does.)The curly braces replacements can have subvalues which can be at least these. Percent gets a % sign from itself. {0:AfflictionType} {0:DamageType} {0:Equippable} {0:WeaponType} {0:Value} {0:Value:DamageProc} {0:Value:Duration} {0:Value:PercentBonus} {0:Value:DurationBonus} {0:Value:InvertPercentBonus} {0:Value:Percent} {0:Value:Straight} {0:ExtraValue:straight} {0:ExtraValue:Percent} {0:ExtraValue:Duration} [specified 0] get replaced with the name of the user character at the current selection for this particular scripted interaction. If you choose “Edér should jump the cliff“ and then „Aloth should watch it“ Aloth will be [specified 1] [slot 0] is comparable to [specified x] but it refers to the order of your party members. The left most portrait is Slot 0. It is replaced with the character name. [skillCheck 0] Is replaced with the character name which do the task [Player Animal Companion] is replaced with the Name of your cat, äh, animal companion[Player Class] [Player Culture] [Player Deity] [Player Name] [Player Race] [Player Ship] [Player Subrace] [Death Grunt/Cry 1] I have the feeling the should play that audio from the characters voice bank. But i have yet to encounter a place where it does work. @BMac Any hint what they do and where they work? [OrlansHeadGame_OpponentLastResult] these are for the knive throwing minigame[OrlansHeadGame_OpponentLastScore] [OrlansHeadGame_OpponentTotalScore] [OrlansHeadGame_PlayerLastResult] [OrlansHeadGame_PlayerLastScore] [OrlansHeadGame_PlayerTotalScore] [shipDuel_BraceChance][shipDuel_OpponentShip] [shipDuel_Opponent] [shipDuel_PlayerFullSailDist] [shipDuel_PlayerHalfSailDist] [shipDuel_PlayerShip] [shipDuel_SurrenderCost] Where would you suggest I look for the text that pops up when you're in SLOW MODE or FAST MODE, the one that literally says "Game is in Slow Mode [F]" etc. I'd really like to delete (or replace with blank file) that text but can't find it. Lovely post btw! Very well formatted. 1
BMac Posted May 25, 2018 Posted May 25, 2018 strudelt gefährlich Make Tooltips with texts from this file. For the Example it's ID 56 from cyclopedia.stringtable. You could use any file of the game folder. @BMac or any any? This will only work for string tables that are in the StringTableType enum. In general, this is any of the "game" stringtables (items, abilities, gui, cyclopedia), but not conversations or quests.
Xaratas Posted May 26, 2018 Author Posted May 26, 2018 (edited) 1st Post edited with pictures, excurse and underline. Thanks BMac, any hint for the other questions? Edited May 26, 2018 by Xaratas More modding for PoE II | How to Work with Stringtables
Spherical Posted May 27, 2018 Posted May 27, 2018 This is awesome! Thanks for putting the guide together Xaratas! The only thing I'd like to add is that you can add icons to text entries by using this tag: <sprite="Inline" name="[icon name]" tint=1> It's also possible to colorize the icons using the color tag mentioned in the guide. Editor and DesignerEnhanced User InterfaceNexus Mods | Steam Workshop
Tarlonniel Posted May 29, 2018 Posted May 29, 2018 Thanks for the guide! I've been fumbling around based on my limited experience with the Infinity Engine, scared to death I'll break something. Now I can start studying up a bit. 1
BMac Posted May 29, 2018 Posted May 29, 2018 Use sprites in the text. Currently they are on mass in the Ship battle and the Tutorial. Attention: Sprites have no end tag! @BMac Could that use any icon? Like the little crush damage hammer?Yes, there is a list of valid sprites. Currently: actionbar_leader_Athletics actionbar_leader_Barbarian actionbar_leader_Chanter actionbar_leader_Chanter_resource actionbar_leader_Cipher actionbar_leader_Cipher_resource actionbar_leader_Druid actionbar_leader_Fighter actionbar_leader_Modal actionbar_leader_Monk actionbar_leader_Monk_resource actionbar_leader_Paladin actionbar_leader_Priest actionbar_leader_Ranger actionbar_leader_Rogue actionbar_leader_Wizard action_board action_brace action_dive action_fire action_full_sail action_half_sail action_hold action_left action_report action_reverse action_right Aggressive_L anti_eothas anti_eothasians anti_gods anti_huana anti_humor anti_leadenkey anti_principi anti_tradition Attribute_Constitution Attribute_Dexterity Attribute_Intellect Attribute_Might Attribute_Perception Attribute_Resolve Background_Apprentice Background_Aristocrat_L Background_Artist_L Background_Clergy_L Background_Colonist_L Background_Dissident_L Background_Drifter_L Background_Explorer_L Background_Farmer Background_Gentry Background_Hunter_L Background_Laborer_L Background_Marksman Background_Mercenary_L Background_Merchant_L Background_Missionary Background_Mystic_L Background_Philosopher_L Background_Raider_L Background_Scholar_L Background_Scientist_L Background_Slave_L Background_Soldier Benevolent_L Class_Barbarian_L Class_Chanter_L Class_Cipher_L Class_Druid_L Class_Fighter_L Class_Monk_L Class_Paladin_L Class_Priest_L Class_Ranger_L Class_Rogue_L Class_Wizard_L Clever_L crew_rank_0 crew_rank_1 crew_rank_2 crew_rank_3 crew_rank_4 crew_rank_5 crew_rank_6 Cruel_L CS_Accuracy CS_Accuracy_S CS_AR CS_AR_S CS_Blunt CS_Blunt_S CS_Burn CS_Burn_S CS_Corrosive CS_Corrosive_S CS_Deflection CS_Deflection_S CS_Fortitude CS_Fortitude_S CS_Freeze CS_Freeze_S CS_Health CS_Health_S CS_Penetration CS_Penetration_S CS_Pierce CS_Pierce_S CS_Random CS_Random_S CS_Raw CS_Raw_S CS_Reflex CS_Reflex_S CS_Shock CS_Shock_S CS_Slash CS_Slash_S CS_Will CS_Will_S Culture_Aedyr_L Culture_DeadfireArchipelago_L Culture_Dyrwood Culture_IxamitlPlains_L Culture_LivingLands_L Culture_OldVailia_L Culture_Principi Culture_Rauatai_L Culture_Readceras Culture_Vailian Culture_WhiteWends_L Culture_Yezuha Diplomatic_L dir.txt down_arrow Empowered Gender_Female_L Gender_Male_L Honest_L hostile iconNewQuest icon_levelScale_1 icon_levelScale_2 icon_levelScale_3 icon_levelScale_4 icon_ship_advantage icon_ship_ammunition icon_ship_cannon_accuracy icon_ship_carpenter icon_ship_combat_speed icon_ship_crew icon_ship_currency icon_ship_defender icon_ship_distance icon_ship_firepower icon_ship_food icon_ship_heading icon_ship_health icon_ship_hull_health icon_ship_maneuverability icon_ship_morale icon_ship_position icon_ship_sail_health icon_ship_water icon_ship_water_speed ic_ship_boatswain ic_ship_cannon ic_ship_cannoneer ic_ship_chef ic_ship_deckhand ic_ship_flag ic_ship_helmsman ic_ship_hull ic_ship_navigator ic_ship_permanent_upgrade ic_ship_reserves ic_ship_sail ic_ship_surgeon ic_ship_surrender ic_ship_upgrade irresponsibility missing_icon Passionate_L poe1_reactivity pro_animalcruelty pro_animalkindness pro_animancy pro_autonomy pro_deceit pro_duty pro_eothas pro_eothasians pro_gods pro_huana pro_humor pro_immodesty pro_leadenkey pro_passion pro_principi pro_provincial pro_racism pro_rauatai pro_resourcefulness pro_stewardship pro_tradition pro_vailian pro_worldly questDifficulty_1 questDifficulty_2 questDifficulty_3 questDifficulty_4 questDifficulty_None Race_Aumaua_L Race_Dwarves_L Race_Elves_L Race_Godlike_L Race_Human_L Race_Orlan_L Rational_L repIcon_Aggressive repIcon_Benevolent repIcon_Clever repIcon_Cruel repIcon_Diplomatic repIcon_Honest repIcon_Passionate repIcon_Rational repIcon_Shady repIcon_Stoic reputationIcon_dawnstars reputationIcon_gulletRoparu reputationIcon_huana reputationIcon_myrlesfen reputationIcon_neketaka reputationIcon_portMaje reputationIcon_principi reputationIcon_rathun reputationIcon_rdc reputationIcon_slavers reputationIcon_slums reputationIcon_tikawara reputationIcon_vtc reputationIcon_watcher reputationIcon_watershapersGuild rep_anti_eothas rep_anti_eothasians rep_anti_gods rep_anti_huana rep_anti_humor rep_anti_leadenkey rep_anti_principi rep_anti_tradition rep_pro_animalcruelty rep_pro_animalkindness rep_pro_animancy rep_pro_autonomy rep_pro_deceit rep_pro_duty rep_pro_eothas rep_pro_eothasians rep_pro_gods rep_pro_huana rep_pro_humor rep_pro_immodesty rep_pro_irresponsibility rep_pro_leadenkey rep_pro_passion rep_pro_principi rep_pro_provincial rep_pro_racism rep_pro_rauatai rep_pro_resourcefulness rep_pro_stewardship rep_pro_tradition rep_pro_vailian rep_pro_worldly Shady_L shipFire_cannonball shipFire_chainshot shipFire_fire shipFire_grapeshot shipRole_Indicator Skill_Acrobatics Skill_Alchemy Skill_Arcana Skill_Athletics Skill_Bluff Skill_Climb Skill_Diplomacy Skill_Herbalism Skill_History Skill_Hunting Skill_Insight Skill_Intimidate Skill_Jump Skill_Mechanics Skill_Metaphysics Skill_Religion Skill_Sleight_of_Hand Skill_Stealth Skill_Streetwise Skill_Survival Stoic_L Tooltip_counterIcon vo worldmap_crewHealth worldmap_hullHealth worldmap_sailHealth actionbar_edit_chant citymapicon_setSail citymapicon_supplies dir.txt ICO_attack ICO_charSheet ICO_filterCrafting ICO_inventory ICO_journal ICO_rest ICO_selectAll ICO_stealth ICO_strongholdShip ICO_talk quickItems_S sqrMenu_hireSailor [Death Grunt/Cry 1] I have the feeling the should play that audio from the characters voice bank. But i have yet to encounter a place where it does work. @BMac Any hint what they do and where they work? Those aren't actually tokens, they're just text in chatters signifying sounds that aren't words. 4
Xaratas Posted June 3, 2018 Author Posted June 3, 2018 Notice: Never ever have 2 times the same ID in one stringtable. The game silently locks up at starting and you get the spinnig gears on the resume and load buttons. The output.log says there was a stringtable error with duplicated id, but it does not say which. So I think I have to enhance the xml shema validation tool and write a bit about it. More modding for PoE II | How to Work with Stringtables
Xaratas Posted June 3, 2018 Author Posted June 3, 2018 Updated first post: Added a Block about the file validation. Linked BMacs icon list. Added general text handling and iconographies. More modding for PoE II | How to Work with Stringtables
kilay Posted June 3, 2018 Posted June 3, 2018 (edited) Thnks for this, just a couple of questions. I'm fixing by myself some mistakes in my localization (italian) and a lot of female pronouns are missing so i would try to add them.About that ,after some attempts i guess that also a string in the main stringtable (english) should be added to have a proper working mod, right? Can i left it empty and just add the required part in my localized stringtable? Are there other things to know about that ? Thnks in advance Edited June 3, 2018 by kilay Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
Xaratas Posted June 3, 2018 Author Posted June 3, 2018 Hi kilay, i saw your italian mod on nexus, was quite close to write you yesterday, but it was 4am. You are currently overwriting the orginal files, which is not good. It removes you patched texts with each PoE patch. A better approach is to either make a whole new language, as we have done for the german fix. But then you have to add all new strings with each new patch. Or to use the override folder and override only what needs to be changed. If you have different female forms use the FemaleText. Fill it with the whole DefaultText text but in female form. It doesn't matter if the english version has one for that id. 1 More modding for PoE II | How to Work with Stringtables
kilay Posted June 3, 2018 Posted June 3, 2018 (edited) Hi kilay, i saw your italian mod on nexus, was quite close to write you yesterday, but it was 4am. You are currently overwriting the orginal files, which is not good. It removes you patched texts with each PoE patch. A better approach is to either make a whole new language, as we have done for the german fix. But then you have to add all new strings with each new patch. Or to use the override folder and override only what needs to be changed. If you have different female forms use the FemaleText. Fill it with the whole DefaultText text but in female form. It doesn't matter if the english version has one for that id. Thnks for answer, yeah, how stated i'm a noob in modding PoE , i readed the part about the override but i hadn't time to make it in a proper form, btw atm i've changed really few string, so should be quick to compile. And about a new language, good advice, but i'm just an amateur, i'm pretty sure that after some patches there will be some group of italian translator that take care of this Edited June 3, 2018 by kilay Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
kilay Posted June 3, 2018 Posted June 3, 2018 (edited) Ok , I did the override folder and works, just a last question to avoid issues In your OP you said that <EntryCount> has not relevance for us so in that field and in <NextEntryID> can i left the values from the original file that i have to change? Atm seems to work fine but i would avoid futher headache and make that in the right way. Thnks Edited June 3, 2018 by kilay Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
Xaratas Posted June 3, 2018 Author Posted June 3, 2018 (edited) Yes, just copy the two lines from the orginal file. The icons from BMacs list, the non white icons can be very hard to read in the normal text display, that's why the first picture got lighten up: https://imgur.com/a/IpwfSHD icon_ship_defender and reputationicon_gulletropau did not work. The icons with _s for small behave differently, they are placed way above the line, so the got their own lines at the bottom. A few of the ship icons are also not 1 line height. Important: All icon names must be written in lowercase. Sprites have a direct color attribute. <sprite="Inline" name="action_hold" tint=1 color=#FF0000> Edited June 3, 2018 by Xaratas 1 More modding for PoE II | How to Work with Stringtables
kilay Posted June 4, 2018 Posted June 4, 2018 (edited) Sorry for other questions Whats about more stringtable mods with the same files changed, which order they follow? And can i avoid to check that if they change different entries? Can i rename the mod folder with 01_his_name , 02_2nd_mod , 03_3rd_mod to make a sort of custom reading order? Edited June 4, 2018 by kilay Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
Xaratas Posted June 4, 2018 Author Posted June 4, 2018 I did not test it myself, but as far as i understand it the override system goes after alphabetical order and the last one wins. So yes, renaming the folders should order them. 1 More modding for PoE II | How to Work with Stringtables
BMac Posted June 10, 2018 Posted June 10, 2018 It's probably worth mentioning that you can probably use any of the tags listed on this page with the game's text. I'm not sure why it didn't occur to me to share this until now, hah. 1
kilay Posted June 17, 2018 Posted June 17, 2018 (edited) Where or How i can found new ID to add entries to Glossary&Cyclopedia? EDIT : Nevermind found it... maybe add it to the first page could be useful for someone who would like to change/add entries https://www.uuidgenerator.net/ Edited June 17, 2018 by kilay Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
Testlum Posted September 25, 2021 Posted September 25, 2021 Quote Where or How i can found new ID to add entries to Glossary&Cyclopedia? Was looking for a way to do this - Glossary entries are contained inside the gui.gamedatabundle.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now