Godot Version
v4.4.1.stable.mono.official [49a5bc7b6]
Question
I’m trying to figure out how to translate strings that can have different form depending on context. For example let’s assume you have key APPLE with english string apple, and also translated to other languages as needed. And then in code:
body.Text = Tr($"{x} APPLE");
And this thing won’t work properly, because for example it will display “5 apple”, which is not correct.
Apparently this issue can be solved by Tr_n() method, but there are no usage examples in documentation, and from what I’ve seen on github it doesn’t actually support csv format, and people have been begging for csv support for over half a decade, and there is no support to be seen.
And this makes me confused. Because from what I’ve seen, 99% of tutorials show how to handle translation with CSV files. And if CSV files do not support different contexts, this means CSV translations are literally useless outside of extremely tiny and simple games.
Is there any way to bypass this issue for CSV? Because otherwise I will be forced to use PO files. I tried at first, but after 3 hours of digging and trying multiple PO edit software, I couldn’t even figure out how to create PO file, this is some hidden and secret knowledge that no one wants to share. CSV is very convenient because you have one spreadsheet where you can easily access every key.