+1 vote

is there a way to check if a certain translation exists?

Object.tr("SOME_ID")

returns the right string according to the language set in TranslationServer.set_locale(en).

But how can I verify if "SOME_ID" even exists?

Thanks.

in Engine by (199 points)

2 Answers

+2 votes
Best answer

Looking at the class reference, Translation::get_message_list seems to do the job, and you can load Translation as a resource with load/preload. E.g:

if "SOME_ID" in preload("res://translations/en.tres").get_message_list():
    ...
by (1,602 points)
selected by

it worked, thanks.

Although I had to import the translation as a resource and deactivate the "compress" option. Otherwise I was not able to access the translation.

0 votes

Also you can do:if tr("SOME_ID") != "SOME_ID":.

by (29 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.