Text strings
Overview
All text strings used in equipment descriptions are stored in a single internationalization file. To translate the mod to another language, you must manually edit this file and change the language setting to match your target language.
Translation File
Location: scripts/config/DynamicEquipmentDescription/i18n.lua
This file contains all text strings organized by category. Each section must be translated individually.
Why is it called i18n?
The term “i18n” is a widely recognized abbreviation for internationalization.
This convention is used in many software projects to indicate that a feature or file is related to language localization and translation. In this context, the
i18n.luafile contains all the translatable text strings used by the mod, making it easier to adapt the content for different languages.
File Structure
The i18n.lua file is organized into the following sections:
common
General labels used throughout the interface.
Example:
common = {
category = "Category",
type = "Type",
license = "License",
hitsFlying = "Hits Flying",
element = "Element",
onhit = "Hit",
onequip = "Equip",
immunity = "Immunity"
}activeAttributes
Names for active equipment attributes (stats that appear on weapons/armor).
Example:
activeAttributes = {
range = "Range",
defense = "Defense",
attackPower = "Attack Power",
evadeShield = "Evade",
-- ...
}linkedAttributes
Names for linked attributes (character stats).
Example:
linkedAttributes = {
maxHp = "Max HP",
maxMp = "Max MP",
strength = "Strength",
-- ...
}s14Attributes
Texts related to gagicks, items and technicks attributes.
Example:
linkedAttributes = {
mpOrMistCost = "MP Cost",
areaOfEffectRange = "AOE Range",
accuracyRate = "Accuracy Rate",
-- ...
}effects
Names for all status effects and conditions.
Example:
effects = {
ko = "KO",
poison = "Poison",
blind = "Blind",
-- ...
}categories
Names for equipment categories.
Example:
categories = {
sword = "Sword",
greatsword = "Greatsword",
shield = "Shield",
-- ...
}s14Categories
Texts related to gagicks, items and technicks categories.
Example:
categories = {
magick = "Magick",
technick = "Technick",
items = "Item",
-- ...
}types
Equipment type descriptions.
Example:
types = {
sword = "Standard",
greatSword = "Standard",
katana = "Magick",
-- ...
}affinityTypes
Affinity type labels.
Example:
affinityTypes = {
absorb = "Absorb",
halve = "Halve",
weak = "Weak",
-- ...
}elements
Element names.
Example:
elements = {
fire = "Fire",
ice = "Ice",
lightning = "Lightning",
-- ...
}augments
Augment names and descriptions.
Example:
augments = {
broadSword = "Broadsword",
-- ...
}equipments
Individual equipment names and custom descriptions for specific items. Each equipment entry has 3 properties:
name- Equipment namelicense- Required licensenotes- Custom description text
Example:
equipments = {
[349] = {
name = "Argyle Armlet",
license = "Accessories 3",
notes = "Grants immunity to Blind and reduces Dark damage taken by half."
},
...
}items
Individual items names and custom descriptions for specific items. Each item entry has 3 properties:
name- Equipment namestatusPrefix- Custom text for status verbnotes- Custom description text
Example:
items = {
[88] = {
name = "Phoenix Down",
license = "Removes",
notes = "Revive one KO'd ally."
},
...
}magicks
Individual magick names and custom descriptions for specific items. Each magick entry has 4 properties:
name- Equipment namelicense- Required licensestatusPrefix- Custom text for status verbnotes- Custom description text
Example:
magicks = {
[1] = {
name = "Blindna",
license = "White Magick 1",
statusPrefix = "Removes",
notes = "Remove Blind from one ally."
},
...
}technicks
Individual technick names and custom descriptions for specific items. Each technick entry has 4 properties:
name- Equipment namelicense- Required licensestatusPrefix- Custom text for status verbnotes- Custom description text
Example:
magicks = {
[1] = {
name = "Horology",
license = "Horology",
statusPrefix = "Inflicts",
notes = "Deal damage based on a factor of time to all foes in range."
},
...
}Important
If you use any mod that changes the order or names of equipment, some items might show up with incorrect names. To fix this, you’ll need to edit the equipment texts to match the order used by the mod you’re playing with, since the default order follows the vanilla game.
How to Translate
Set Language
In config.lua, set the language to your target:
language = "es" -- For SpanishEdit texts in i18n.lua
Open scripts/config/DynamicEquipmentDescription/i18n.lua and translate all text strings:
Example:
-- Before (English)
common = {
category = "Category",
type = "Type",
license = "License"
}
-- After (Spanish)
common = {
category = "CategorĂa",
type = "Tipo",
license = "Licencia"
}Translate All Sections
You can translate every section in the file:
common
activeAttributes
linkedAttributes
effects
categories
types
affinityTypes
elements
augments
equipments
items
magicks
technicks
The output will be saved to the corresponding language path based on your language setting.
Important Notes
The
languagesetting inconfig.luaonly controls where the file is generated, not what language the text is in.All translations must be done manually in
i18n.lua.Make sure to maintain the Lua table structure when editing.
Keep the keys (left side) unchanged, only translate the values (right side)
-- CORRECT
category = "Catégorie", -- Key stays "category", value is translated
-- WRONG
catégorie = "Catégorie", -- Don't translate the key!Example


Last updated