Locale
Declare translations in Rust with locale!. On build, factorio-rs writes
locale/<lang>/<file>.cfg into the mod output.
Keys that reference associated constants (such as Settings::CASUAL_MODE) are checked by rustc and resolved to the setting’s Factorio name when assembling .cfg files.
factorio_rs::locale! { file = "settings",
en { mod_setting_name { Settings::CASUAL_MODE = "Casual mode", Settings::ADJACENCY_ENABLED = "Adjacency checks", } mod_setting_description { Settings::CASUAL_MODE = "Relax some placement rules.", } "my-mod-messages" { "hello" = "Hello engineer!", } }
de { mod_setting_name { Settings::CASUAL_MODE = "Lässig Modus", } }}- Optional
file = "..."- default file stem islocale. - Category idents: underscores become hyphens (
mod_setting_name->[mod-setting-name]). Quoted category strings are used as-is. - Keys:
Type::CONSTpaths or string literals. - Values: single-line string literals only.
- Multiple language blocks in one
locale!are supported.
Output
Section titled “Output”dist/locale/en/settings.cfgdist/locale/de/settings.cfg[mod-setting-name]msr-casual-mode=Casual mode