I’m following this tutorial for implementing translations into my game. While importing though, I get this block of error messages:
The csv I have in the file system contains this data:
and it uses UTF 16. It seems as if Godot expects a UTF 8 file for some reason, even though these files don’t support speciala characters (which are used heavily in different languages). Does someone know what is going on here?
Check out my tutorial. It demonstrates the correct structure of the csv file.
First, make sure you read: https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/importing_translations.html#translation-format
You must save the file using UTF-8 and you’re missing “keys” in the first column.
The top-left cell is ignored and can be left empty or having any content.
The “keys” thing doesn’t seem to be necessary, but thank you, I’ll read through it.
EDIT: How are we supposed to enter these special characters for different languages with UTF 8?
Utf-8 is still Unicode and supports the same set of characters. Just encoded differently, with a variable amount of bytes per character. So, it should work, unless the software writing the file doesn’t support it properly.
The “keys” thing doesn’t seem to be necessary, but thank you, I’ll read through it.
Yes, you are right, sorry i always put it just in case.
EDIT: How are we supposed to enter these special characters for different languages with UTF 8?
What languages are you talking about? Do you use specific characters that are not supported?
You could enter the unicode value of your characters in your UTF-8 translation file and then use a script to convert these values to UTF-16 or make your own tool / extension to add the feature. I don’t know much in the unicode formatting area.
I am talking about these characters: Ä Ö Ü È Ś and so on.
Comments in the video you mentioned say that Godot 4 requires use of UTF-8 without BOM encoding.
What’s missing in UTF-8 in your use case?