Added support for translation .csv files in the user://locale directory
This commit is contained in:
parent
a2ce919ed4
commit
90267698f4
39
start.gd
39
start.gd
|
@ -78,13 +78,46 @@ func _ready():
|
|||
|
||||
var dir = Directory.new()
|
||||
if dir.open("user://locale") == OK:
|
||||
var csv_files : Array = []
|
||||
dir.list_dir_begin()
|
||||
var file_name = dir.get_next()
|
||||
while file_name != "":
|
||||
if !dir.current_is_dir() and file_name.get_extension() in [ "po", "translation" ]:
|
||||
var t : Translation = load("user://locale/"+file_name)
|
||||
TranslationServer.add_translation(t)
|
||||
if !dir.current_is_dir():
|
||||
match file_name.get_extension():
|
||||
"po", "translation":
|
||||
var t : Translation = load("user://locale/"+file_name)
|
||||
TranslationServer.add_translation(t)
|
||||
"csv":
|
||||
csv_files.push_back(file_name)
|
||||
file_name = dir.get_next()
|
||||
for fn in csv_files:
|
||||
var f : File = File.new()
|
||||
if f.open("user://locale/"+fn, File.READ) == OK:
|
||||
var l : String = f.get_line()
|
||||
if l.left(2) == "id":
|
||||
var separator = l[2]
|
||||
var languages : Array = l.split(separator)
|
||||
languages[0] = null
|
||||
for i in range(1, languages.size()):
|
||||
if languages[i] == "en" or languages[i] in TranslationServer.get_loaded_locales():
|
||||
languages[i] = null
|
||||
else:
|
||||
print("Adding translation for "+languages[i])
|
||||
var translation : Translation = Translation.new()
|
||||
translation.locale = languages[i]
|
||||
languages[i] = translation
|
||||
TranslationServer.add_translation(translation)
|
||||
var stringcount : int = 0
|
||||
while ! f.eof_reached():
|
||||
l = f.get_line()
|
||||
var strings : Array = l.split(separator)
|
||||
if strings.size() == languages.size():
|
||||
for i in range(1, languages.size()):
|
||||
if languages[i] != null:
|
||||
languages[i].add_message(strings[0], strings[i])
|
||||
stringcount += 1
|
||||
print(stringcount)
|
||||
f.close()
|
||||
|
||||
set_process(true)
|
||||
var thread = Thread.new()
|
||||
|
|
Loading…
Reference in New Issue