Step fourteen: two-language support
In Dev Log 14, I finished one of the parts that mattered for bringing Dalo closer to a soft launch: full support for two languages. This stage was more than translating a few buttons. I wanted text, fonts and their display to match the selected language. Once menus, the shop and game sections come together, scattered text quickly becomes noticeable. I therefore moved strings out of their fixed places on individual screens so they could be managed through a common approach, with language selection having a clear meaning throughout the interface.
One key for each string
My approach uses JSON files. Each piece of text has a unique key, and the corresponding string in each language is found through that key. Instead of writing the sentence directly into every area, TextMeshPro receives the key and displays the selected language’s text. The main benefit for me was separating where a string is used from the translation itself. If wording needs revision, I can work on its text data instead of locating the same sentence across individual screens. This is my project’s custom approach, and I am describing what I actually built for Dalo.
Fonts, joined characters and direction
Fonts were a separate part of the work. I added the option to use a different font for each language so character display would not depend on an unsuitable font. For Persian, having the characters available is not enough: joining, spacing and direction must work too. In that development update, I discussed Persian and Arabic script requirements for this reason. That reference concerns writing behavior, rather than announcing a third language. Dalo supports two languages in that update. If a translation is correct but its characters appear disconnected or its direction is wrong, the interface is still not readable.
Text brought the project’s parts together
This stage made the project’s pieces feel more connected. I had already worked on the game table, menus and economy; now their text needed to make the experience more consistent. A phrase in the shop should be as understandable as an in-game message, even when Persian and English strings have different lengths. Reaching two-language support does not finish every interface task, but it was a concrete step toward release. I like describing these improvements through the details I actually implemented. Visit the Dalo page to see the development path and the areas that this text connects.




