Move localized number formatting methods to TranslationServer

Co-Authored-By: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
This commit is contained in:
Haoyu Qiu
2025-10-27 21:48:09 +08:00
parent 6fd949a6dc
commit 72d437c030
27 changed files with 348 additions and 394 deletions

View File

@ -36,6 +36,10 @@
#include "core/variant/typed_array.h"
#include "servers/rendering/rendering_server.h"
#ifndef DISABLE_DEPRECATED
#include "core/string/translation_server.h"
#endif // DISABLE_DEPRECATED
TextServerManager *TextServerManager::singleton = nullptr;
void TextServerManager::_bind_methods() {
@ -507,9 +511,11 @@ void TextServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("shaped_text_get_dominant_direction_in_range", "shaped", "start", "end"), &TextServer::shaped_text_get_dominant_direction_in_range);
#ifndef DISABLE_DEPRECATED
ClassDB::bind_method(D_METHOD("format_number", "number", "language"), &TextServer::format_number, DEFVAL(""));
ClassDB::bind_method(D_METHOD("parse_number", "number", "language"), &TextServer::parse_number, DEFVAL(""));
ClassDB::bind_method(D_METHOD("percent_sign", "language"), &TextServer::percent_sign, DEFVAL(""));
#endif // DISABLE_DEPRECATED
ClassDB::bind_method(D_METHOD("string_get_word_breaks", "string", "language", "chars_per_line"), &TextServer::string_get_word_breaks, DEFVAL(""), DEFVAL(0));
ClassDB::bind_method(D_METHOD("string_get_character_breaks", "string", "language"), &TextServer::string_get_character_breaks, DEFVAL(""));
@ -2109,6 +2115,23 @@ String TextServer::strip_diacritics(const String &p_string) const {
return result;
}
#ifndef DISABLE_DEPRECATED
String TextServer::format_number(const String &p_string, const String &p_language) const {
const StringName lang = p_language.is_empty() ? TranslationServer::get_singleton()->get_tool_locale() : p_language;
return TranslationServer::get_singleton()->format_number(p_string, lang);
}
String TextServer::parse_number(const String &p_string, const String &p_language) const {
const StringName lang = p_language.is_empty() ? TranslationServer::get_singleton()->get_tool_locale() : p_language;
return TranslationServer::get_singleton()->parse_number(p_string, lang);
}
String TextServer::percent_sign(const String &p_language) const {
const StringName lang = p_language.is_empty() ? TranslationServer::get_singleton()->get_tool_locale() : p_language;
return TranslationServer::get_singleton()->get_percent_sign(lang);
}
#endif // DISABLE_DEPRECATED
TypedArray<Vector3i> TextServer::parse_structured_text(StructuredTextParser p_parser_type, const Array &p_args, const String &p_text) const {
TypedArray<Vector3i> ret;
switch (p_parser_type) {