|
@@ -38,6 +38,7 @@
|
|
|
#include "core/string/translation.h"
|
|
|
#include "core/string/ucaps.h"
|
|
|
#include "core/variant/variant.h"
|
|
|
+#include "core/version_generated.gen.h"
|
|
|
|
|
|
#include <stdio.h>
|
|
|
#include <stdlib.h>
|
|
@@ -4868,15 +4869,20 @@ String TTRN(const String &p_text, const String &p_text_plural, int p_n, const St
|
|
|
return p_text_plural;
|
|
|
}
|
|
|
|
|
|
+/* DTR and DTRN are used for the documentation, handling descriptions extracted
|
|
|
+ * from the XML.
|
|
|
+ * They also replace `$DOCS_URL` with the actual URL to the documentation's branch,
|
|
|
+ * to allow dehardcoding it in the XML and doing proper substitutions everywhere.
|
|
|
+ */
|
|
|
String DTR(const String &p_text, const String &p_context) {
|
|
|
// Comes straight from the XML, so remove indentation and any trailing whitespace.
|
|
|
const String text = p_text.dedent().strip_edges();
|
|
|
|
|
|
if (TranslationServer::get_singleton()) {
|
|
|
- return TranslationServer::get_singleton()->doc_translate(text, p_context);
|
|
|
+ return String(TranslationServer::get_singleton()->doc_translate(text, p_context)).replace("$DOCS_URL", VERSION_DOCS_URL);
|
|
|
}
|
|
|
|
|
|
- return text;
|
|
|
+ return text.replace("$DOCS_URL", VERSION_DOCS_URL);
|
|
|
}
|
|
|
|
|
|
String DTRN(const String &p_text, const String &p_text_plural, int p_n, const String &p_context) {
|
|
@@ -4884,14 +4890,14 @@ String DTRN(const String &p_text, const String &p_text_plural, int p_n, const St
|
|
|
const String text_plural = p_text_plural.dedent().strip_edges();
|
|
|
|
|
|
if (TranslationServer::get_singleton()) {
|
|
|
- return TranslationServer::get_singleton()->doc_translate_plural(text, text_plural, p_n, p_context);
|
|
|
+ return String(TranslationServer::get_singleton()->doc_translate_plural(text, text_plural, p_n, p_context)).replace("$DOCS_URL", VERSION_DOCS_URL);
|
|
|
}
|
|
|
|
|
|
// Return message based on English plural rule if translation is not possible.
|
|
|
if (p_n == 1) {
|
|
|
- return text;
|
|
|
+ return text.replace("$DOCS_URL", VERSION_DOCS_URL);
|
|
|
}
|
|
|
- return text_plural;
|
|
|
+ return text_plural.replace("$DOCS_URL", VERSION_DOCS_URL);
|
|
|
}
|
|
|
#endif
|
|
|
|