Tkh's Translation Helper program (downloadable)


I didn’t think it would take that long to just list all the files that have text, you sure you’re not overworking this list? :wink:


Perhaps i give every directory plus filename and line Sooo there are lots of files xD

Feedback from the translation team(s)

Ok, I did one more little test. I opened the en.json file in Notepad++. It wasn’t identified as UTF8, but UTF8 without BOM. Didn’t expect that, but perhaps it doesn’t matter at all at this point. Anyway, I added UTF8 w/o BOM as an option in my program, exported a new file and put it in stonehearth.smod-locales.

Now the game can read the file, but the special characters (in Swedish: only åäö) are not read correctly. If you look at my small test yesterday with reading UTF-8 as ANSI, that’s exactly how it looks.

Also found this regarding UTF-8 vs UTF-8_w/o_BOM… I don’t know if that can give any hints…


lol now i have the list finished and there is an update ^^ so i must recheck :wink:


Sooooo here is the list for all peoples ^^ There you can find in which files and lines you must translate something into your language.



because of the zipping and unzipping: perhaps @jonzoid can help you - he have impleted this in his SHED ^^

also i have found an tool where you can compare all informations - so i save the completed translated stonehearthfolder and then i can fast compare if there are changes ^^


That’s a killer list! I understand why your fingers broke :wink:

And the problem I talked about earlier is very visible when looking through that list - only a few lines per file to translate - a lot in those files should never be touched. It would have been sooo good if there would only be locales files, with data kept separately.

Anyway, I will start looking at a way to have lots of files in same folder to quickly open them - but I don’t know if I can handle all type of files (like with more depth, or other problems that I’ve described before). That will require a lot of re-coding…


just for info i have updated the list

also i have test with a chinese symbol which format it use ingame … its use turkish or baltic ISO … its changes the symbol for tree 木 to 木. in utf-8 its all correct but ingame its change them ^^


I don’t know how to think regarding that massive list of translations… Radiant really made it hard for us by spreading out everything like this.

At one point I was thinking of a massive database to keep track of all files and tags, but I would probably cancel this project rather than go for that :wink: It would take me so much time… time I don’t have. But perhaps a database to keep track of what files we should look into, and to have an easy way to display the content of both files or so… but… gah, this is starting to be too big for me.

Today you’re doing it completely manual, and it’s a massive workload to keep track of everything and keep up with changes and so on. Just to go through all files and check for updates every time is too much to do manual.


They didn’t make it hard, they didn’t make it at all, and that’s the point. i18n support right now is on its very basics. I’m sure that somewhere down the road they’ll add proper support for localisation in a centralised (or at least, easier) way.


I’m not sure how you interpreted my sentence and because of that I’m not sure how to respond. But I was referring to how text and data is spread out in so many files, and text and data are in the same files. I mean, it’s no problem doing manual work in a handful of files, but at some point it’s just too much. And how it looks right now is way, way too much :wink:

Thumbs up for a centralised way.

The purpose with this project was to support the translation work up to the point where an official method was introduced - to have most translations finished in advance. But right now it feels like I’ll have to close down the project much sooner :blush:


That’s to some extent what I’m referring to: There’s no real localisation system in place. While the GUI can be localised (and is) with the locales/en.json; all entities and especially everything within lua isn’t (although there seem to be some efforts towards it). You can’t look at data and tell what it is; you can’t know whether a string is a text that could be translated, an entity reference, a formula, or something else. It’s not possible (yet).

Maybe in the future they’ll add a system to do just that - maybe based on mixintos (i.e. oak_log.json will have oak_log_en.json mixin’ed automatically), maybe on something else. Once that has happened, translations programs will be much easier to do.

Right now, going through all JSON and lua files is just insane.


Wow! wish I had something like this when I tried to play some custom maps in the Cultures series, could have just translated them with something like this instead off copy-paste into web translator line by line


Hey im Not insane ;)… Orrrrr Ok im insane xD


@RepeatPan Agreed to all.

Going through all files today is just insane, don’t you agree @Wiese2007 ? :wink:

edit: damn, too slow!


Like i have said im insane i have done this xD


It would be funny rather than sad if you two were at least doing it in an efficient way.


Don’t count me into that insane stuff, I have only worked with the gui file. I didn’t know the extent of the spread until I got the crazy list :grin:


I have it only done one Time :wink: now i only compare the files :stuck_out_tongue: im Not insane enough to Do this multiple Times :smiley:


But Yes it would be very Nice if there would be an Mainframe for all Translations :wink: at the Moment i have all files copyed and compare them easily with beyond compare if there are changes xD