Don't works... Simply add_translation require a Translation object, but loading a translation file don't give back one of that type...
At the end, I did it with this code:
func _load_translations():
var dir: Directory = Directory.new();
var translation_array: Array = [];
if dir.open(TRANSLATION_DIRECTORY) == OK:
var _unused = dir.list_dir_begin();
var file_name = dir.get_next();
while file_name != "":
if (".csv" in file_name) and !(".import" in file_name):
var file: File = File.new();
if file.open(TRANSLATION_DIRECTORY + file_name, File.READ) == OK:
while file.get_position() < file.get_len():
translation_array.append(file.get_csv_line());
file_name = dir.get_next();
for i in range(1, translation_array.size()):
for y in range (1, translation_array[i].size()):
var translation: Translation = Translation.new();
var str_locale: String = translation_array[0][y];
var str_origin: String = translation_array[i][0];
var str_destination: String = translation_array[i][y];
translation.locale = str_locale;
translation.add_message(str_origin, str_destination);
TranslationServer.add_translation(translation);
pass
Now I can load how many *.csv files from packages I would...