Automatic Tile Translator 9001 is used to automatically translate the Official FTB Wiki's tiles based on already existing language files.
ATT-9001 supports both language files made in the .properties
format (with the suffix .lang
) and files in JSON format (with the suffix .json
), thus it can work with newer versions of Minecraft.
- Make Ruby is installed, particularly the version specified in the
Gemfile
. - Open a Terminal or whatever and change the directory to this directory.
- Install, if necessary, all dependencies listed in the Gemfile. This can be done through running
bundle install
. - Copy example_config.yml to config.yml.
- Fill in the details. Note
login
is not the same as the bot's username on Gamepedia. Instead, it is a special username specific to a "bot password," which must be generated by Special:BotPasswords.token
, likewise, is not the same as the bot's password on Gamepedia; it also must come from Special:BotPasswords. Note that when a token generated through Special:BotPasswords, it cannot be viewed again, so make sure to put it in the config file so it isn't lost. - Copy the language files of the mod you want translated to
/resources/<the mod's FTB Wiki abbreviation>/*
. - Run with
ruby run.rb <the mod's FTB Wiki abbreviation>
(if there are errors caused by missing gems, try doingbundle exec ruby run.rb
). - Profit. Make sure to not import the tiles through your regular account, but through a bot account. If you don't, FTB Wiki editors might get angry since it spams the recent changes.
The console will output what tiles are being translated as they are translated. Example output:
47402; Lapis Electron Tube (item.for.thermionicTubes.lapis.name) => Tubo de electrones de Lapis (es-ni)
If nothing needs an update, nothing will be updated, and the output will be rather lame.
Some mods (very specifically, MineFactory Reloaded) format their property files very strangely, with extra spaces, like this:
tile.mfr.machine.planter.name = Planter
tile.mfr.machine.fisher.name = Fisher
tile.mfr.machine.harvester.name = Harvester
You add the --remove-spaces while running the command to fix this. (Actually, you just need a 2nd argument of any kind because I'm being hacky.)