mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 15:21:56 -05:00
Merge commit godotengine/godot@c6c464cf9a
This commit is contained in:
@@ -422,7 +422,7 @@ NodePath::NodePath(const String &p_path) {
|
||||
continue; // Allow end-of-path :
|
||||
}
|
||||
|
||||
ERR_FAIL_MSG("Invalid NodePath '" + p_path + "'.");
|
||||
ERR_FAIL_MSG(vformat("Invalid NodePath '%s'.", p_path));
|
||||
}
|
||||
subpath.push_back(str);
|
||||
|
||||
|
||||
@@ -248,7 +248,7 @@ void TranslationPO::add_message(const StringName &p_src_text, const StringName &
|
||||
HashMap<StringName, Vector<StringName>> &map_id_str = translation_map[p_context];
|
||||
|
||||
if (map_id_str.has(p_src_text)) {
|
||||
WARN_PRINT("Double translations for \"" + String(p_src_text) + "\" under the same context \"" + String(p_context) + "\" for locale \"" + get_locale() + "\".\nThere should only be one unique translation for a given string under the same context.");
|
||||
WARN_PRINT(vformat("Double translations for \"%s\" under the same context \"%s\" for locale \"%s\".\nThere should only be one unique translation for a given string under the same context.", String(p_src_text), String(p_context), get_locale()));
|
||||
map_id_str[p_src_text].set(0, p_xlated_text);
|
||||
} else {
|
||||
map_id_str[p_src_text].push_back(p_xlated_text);
|
||||
@@ -256,12 +256,12 @@ void TranslationPO::add_message(const StringName &p_src_text, const StringName &
|
||||
}
|
||||
|
||||
void TranslationPO::add_plural_message(const StringName &p_src_text, const Vector<String> &p_plural_xlated_texts, const StringName &p_context) {
|
||||
ERR_FAIL_COND_MSG(p_plural_xlated_texts.size() != plural_forms, "Trying to add plural texts that don't match the required number of plural forms for locale \"" + get_locale() + "\"");
|
||||
ERR_FAIL_COND_MSG(p_plural_xlated_texts.size() != plural_forms, vformat("Trying to add plural texts that don't match the required number of plural forms for locale \"%s\".", get_locale()));
|
||||
|
||||
HashMap<StringName, Vector<StringName>> &map_id_str = translation_map[p_context];
|
||||
|
||||
if (map_id_str.has(p_src_text)) {
|
||||
WARN_PRINT("Double translations for \"" + p_src_text + "\" under the same context \"" + p_context + "\" for locale " + get_locale() + ".\nThere should only be one unique translation for a given string under the same context.");
|
||||
WARN_PRINT(vformat("Double translations for \"%s\" under the same context \"%s\" for locale %s.\nThere should only be one unique translation for a given string under the same context.", p_src_text, p_context, get_locale()));
|
||||
map_id_str[p_src_text].clear();
|
||||
}
|
||||
|
||||
@@ -282,7 +282,7 @@ StringName TranslationPO::get_message(const StringName &p_src_text, const String
|
||||
if (!translation_map.has(p_context) || !translation_map[p_context].has(p_src_text)) {
|
||||
return StringName();
|
||||
}
|
||||
ERR_FAIL_COND_V_MSG(translation_map[p_context][p_src_text].is_empty(), StringName(), "Source text \"" + String(p_src_text) + "\" is registered but doesn't have a translation. Please report this bug.");
|
||||
ERR_FAIL_COND_V_MSG(translation_map[p_context][p_src_text].is_empty(), StringName(), vformat("Source text \"%s\" is registered but doesn't have a translation. Please report this bug.", String(p_src_text)));
|
||||
|
||||
return translation_map[p_context][p_src_text][0];
|
||||
}
|
||||
@@ -298,7 +298,7 @@ StringName TranslationPO::get_plural_message(const StringName &p_src_text, const
|
||||
if (!translation_map.has(p_context) || !translation_map[p_context].has(p_src_text)) {
|
||||
return StringName();
|
||||
}
|
||||
ERR_FAIL_COND_V_MSG(translation_map[p_context][p_src_text].is_empty(), StringName(), "Source text \"" + String(p_src_text) + "\" is registered but doesn't have a translation. Please report this bug.");
|
||||
ERR_FAIL_COND_V_MSG(translation_map[p_context][p_src_text].is_empty(), StringName(), vformat("Source text \"%s\" is registered but doesn't have a translation. Please report this bug.", String(p_src_text)));
|
||||
|
||||
int plural_index = _get_plural_index(p_n);
|
||||
ERR_FAIL_COND_V_MSG(plural_index < 0 || translation_map[p_context][p_src_text].size() < plural_index + 1, StringName(), "Plural index returned or number of plural translations is not valid. Please report this bug.");
|
||||
|
||||
@@ -1821,7 +1821,7 @@ String String::num(double p_num, int p_decimals) {
|
||||
#endif
|
||||
|
||||
buf[324] = 0;
|
||||
//destroy trailing zeroes
|
||||
// Destroy trailing zeroes, except one after period.
|
||||
{
|
||||
bool period = false;
|
||||
int z = 0;
|
||||
@@ -1838,7 +1838,7 @@ String String::num(double p_num, int p_decimals) {
|
||||
if (buf[z] == '0') {
|
||||
buf[z] = 0;
|
||||
} else if (buf[z] == '.') {
|
||||
buf[z] = 0;
|
||||
buf[z + 1] = '0';
|
||||
break;
|
||||
} else {
|
||||
break;
|
||||
@@ -1931,14 +1931,28 @@ String String::num_real(double p_num, bool p_trailing) {
|
||||
return num_int64((int64_t)p_num);
|
||||
}
|
||||
}
|
||||
#ifdef REAL_T_IS_DOUBLE
|
||||
int decimals = 14;
|
||||
#else
|
||||
int decimals = 6;
|
||||
#endif
|
||||
// We want to align the digits to the above sane default, so we only need
|
||||
// to subtract log10 for numbers with a positive power of ten magnitude.
|
||||
double abs_num = Math::abs(p_num);
|
||||
const double abs_num = Math::abs(p_num);
|
||||
if (abs_num > 10) {
|
||||
decimals -= (int)floor(log10(abs_num));
|
||||
}
|
||||
return num(p_num, decimals);
|
||||
}
|
||||
|
||||
String String::num_real(float p_num, bool p_trailing) {
|
||||
if (p_num == (float)(int64_t)p_num) {
|
||||
if (p_trailing) {
|
||||
return num_int64((int64_t)p_num) + ".0";
|
||||
} else {
|
||||
return num_int64((int64_t)p_num);
|
||||
}
|
||||
}
|
||||
int decimals = 6;
|
||||
// We want to align the digits to the above sane default, so we only need
|
||||
// to subtract log10 for numbers with a positive power of ten magnitude.
|
||||
const float abs_num = Math::abs(p_num);
|
||||
if (abs_num > 10) {
|
||||
decimals -= (int)floor(log10(abs_num));
|
||||
}
|
||||
@@ -4618,7 +4632,7 @@ String String::humanize_size(uint64_t p_size) {
|
||||
}
|
||||
|
||||
if (magnitude == 0) {
|
||||
return String::num(p_size) + " " + RTR("B");
|
||||
return String::num_uint64(p_size) + " " + RTR("B");
|
||||
} else {
|
||||
String suffix;
|
||||
switch (magnitude) {
|
||||
|
||||
@@ -334,6 +334,7 @@ public:
|
||||
static String num(double p_num, int p_decimals = -1);
|
||||
static String num_scientific(double p_num);
|
||||
static String num_real(double p_num, bool p_trailing = true);
|
||||
static String num_real(float p_num, bool p_trailing = true);
|
||||
static String num_int64(int64_t p_num, int base = 10, bool capitalize_hex = false);
|
||||
static String num_uint64(uint64_t p_num, int base = 10, bool capitalize_hex = false);
|
||||
static String chr(char32_t p_char);
|
||||
|
||||
Reference in New Issue
Block a user