mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
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:
parent
6fd949a6dc
commit
72d437c030
27 changed files with 348 additions and 394 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -584,10 +584,12 @@ public:
|
|||
void shaped_text_debug_print(const RID &p_shaped) const;
|
||||
#endif
|
||||
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
// Number conversion.
|
||||
virtual String format_number(const String &p_string, const String &p_language = "") const = 0;
|
||||
virtual String parse_number(const String &p_string, const String &p_language = "") const = 0;
|
||||
virtual String percent_sign(const String &p_language = "") const = 0;
|
||||
virtual String format_number(const String &p_string, const String &p_language = "") const;
|
||||
virtual String parse_number(const String &p_string, const String &p_language = "") const;
|
||||
virtual String percent_sign(const String &p_language = "") const;
|
||||
#endif // DISABLE_DEPRECATED
|
||||
|
||||
// String functions.
|
||||
virtual PackedInt32Array string_get_word_breaks(const String &p_string, const String &p_language = "", int64_t p_chars_per_line = 0) const = 0;
|
||||
|
|
|
|||
|
|
@ -365,9 +365,11 @@ void TextServerExtension::_bind_methods() {
|
|||
GDVIRTUAL_BIND(_shaped_text_prev_character_pos, "shaped", "pos");
|
||||
GDVIRTUAL_BIND(_shaped_text_closest_character_pos, "shaped", "pos");
|
||||
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
GDVIRTUAL_BIND(_format_number, "number", "language");
|
||||
GDVIRTUAL_BIND(_parse_number, "number", "language");
|
||||
GDVIRTUAL_BIND(_percent_sign, "language");
|
||||
#endif
|
||||
|
||||
GDVIRTUAL_BIND(_strip_diacritics, "string");
|
||||
GDVIRTUAL_BIND(_is_valid_identifier, "string");
|
||||
|
|
@ -1652,12 +1654,13 @@ int64_t TextServerExtension::shaped_text_closest_character_pos(const RID &p_shap
|
|||
return TextServer::shaped_text_closest_character_pos(p_shaped, p_pos);
|
||||
}
|
||||
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
String TextServerExtension::format_number(const String &p_string, const String &p_language) const {
|
||||
String ret;
|
||||
if (GDVIRTUAL_CALL(_format_number, p_string, p_language, ret)) {
|
||||
return ret;
|
||||
}
|
||||
return p_string;
|
||||
return TextServer::format_number(p_string, p_language);
|
||||
}
|
||||
|
||||
String TextServerExtension::parse_number(const String &p_string, const String &p_language) const {
|
||||
|
|
@ -1665,14 +1668,17 @@ String TextServerExtension::parse_number(const String &p_string, const String &p
|
|||
if (GDVIRTUAL_CALL(_parse_number, p_string, p_language, ret)) {
|
||||
return ret;
|
||||
}
|
||||
return p_string;
|
||||
return TextServer::parse_number(p_string, p_language);
|
||||
}
|
||||
|
||||
String TextServerExtension::percent_sign(const String &p_language) const {
|
||||
String ret = "%";
|
||||
GDVIRTUAL_CALL(_percent_sign, p_language, ret);
|
||||
return ret;
|
||||
if (GDVIRTUAL_CALL(_percent_sign, p_language, ret)) {
|
||||
return ret;
|
||||
}
|
||||
return TextServer::percent_sign(p_language);
|
||||
}
|
||||
#endif // DISABLE_DEPRECATED
|
||||
|
||||
bool TextServerExtension::is_valid_identifier(const String &p_string) const {
|
||||
bool ret;
|
||||
|
|
|
|||
|
|
@ -607,12 +607,14 @@ public:
|
|||
GDVIRTUAL2RC(int64_t, _shaped_text_prev_character_pos, RID, int64_t);
|
||||
GDVIRTUAL2RC(int64_t, _shaped_text_closest_character_pos, RID, int64_t);
|
||||
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
virtual String format_number(const String &p_string, const String &p_language = "") const override;
|
||||
virtual String parse_number(const String &p_string, const String &p_language = "") const override;
|
||||
virtual String percent_sign(const String &p_language = "") const override;
|
||||
GDVIRTUAL2RC(String, _format_number, const String &, const String &);
|
||||
GDVIRTUAL2RC(String, _parse_number, const String &, const String &);
|
||||
GDVIRTUAL1RC(String, _percent_sign, const String &);
|
||||
#endif // DISABLE_DEPRECATED
|
||||
|
||||
virtual String strip_diacritics(const String &p_string) const override;
|
||||
GDVIRTUAL1RC(String, _strip_diacritics, const String &);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue