Hello ! I'm currently developing a game for my Playdate, and most of the people that know my work today are french. I'm french myself, so I would like to have a french translation for my game.
At this time, Playdate only supports English and Japanese localization through
jp.strings files, because those are the only two languages that are available on the system.
Some games like Playnote Studio have implemented their own translations mechanisms, not using the internal translation system at all.
So, for my own game, I've created an
en.strings file, but I've also made a
fr.strings file even if there isn't any way to use it easily at this time. I don't want to manage my own translation system at this time, but I wanted to know if it would be possible to use the internal translation system to switch languages for each game, even for languages which aren't currently supported by Playdate ?
For example, we could imagine that a game starts with the system language by default (English here for the example). You could have a language selector in the game directly (or through checkmark items in the system menu if there's only one other language available, or if there's not too many items already used). When you select another language (French here for the example), the game switches from
fr.strings and will use this file to translate all strings from now on (maybe we can use the datastore to keep the change between game launches).
The major problem could be that some accented characters / alphabets couldn't be supported by the system fonts, and there may be problems when rendering them. I don't know how it could be solved easily. Maybe by limiting the supported languages to the ones using a latin alphabet at first, but the accented characters must be implemented through the system fonts to avoid problems.