You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
Make --doctool locale aware
* Adds `indent(str)` to `String`:
* Indent the (multiline) string with the given indentation.
* This method is added in order to keep the translated XML correctly
indented.
* Moves the loading of tool/doc translation into
`editor/editor_translation.{h,cpp}`.
* This will be used from both `EditorSettings` and the doc tool from
`main`.
* Makes use of doc translation when generating XML class references, and
setup the translation locale based on `-l LOCALE` CLI parameter.
The XML class reference won't be translated if `-l LOCALE` parameter is
not given, or when it's `-l en`.
This commit is contained in:
@@ -3507,6 +3507,27 @@ char32_t String::unicode_at(int p_idx) const {
|
||||
return operator[](p_idx);
|
||||
}
|
||||
|
||||
String String::indent(const String &p_prefix) const {
|
||||
String new_string;
|
||||
int line_start = 0;
|
||||
|
||||
for (int i = 0; i < length(); i++) {
|
||||
const char32_t c = operator[](i);
|
||||
if (c == '\n') {
|
||||
if (i == line_start) {
|
||||
new_string += c; // Leave empty lines empty.
|
||||
} else {
|
||||
new_string += p_prefix + substr(line_start, i - line_start + 1);
|
||||
}
|
||||
line_start = i + 1;
|
||||
}
|
||||
}
|
||||
if (line_start != length()) {
|
||||
new_string += p_prefix + substr(line_start);
|
||||
}
|
||||
return new_string;
|
||||
}
|
||||
|
||||
String String::dedent() const {
|
||||
String new_string;
|
||||
String indent;
|
||||
|
||||
Reference in New Issue
Block a user