Thaddeus Crews
06cce0e81a
Merge pull request #100016 from Ivorforce/camelcase-to-underscore-rolling-cache
...
Optimize `_camelcase_to_underscore` (and thus `String.capitalize`)
2024-12-05 14:11:59 -06:00
Lukas Tenbrink
8d82933c7c
Optimize _camelcase_to_underscore (and thus String.capitalize) by using a rolling cache of character attributes, instead of re-computing each iteration.
2024-12-04 18:39:38 +01:00
Lukas Tenbrink
0d2e13bcb8
Optimize is_valid_filename and validate_filename by caching invalid filename characters, instead of re-splitting each call.
2024-12-04 17:54:11 +01:00
Rémi Verschelde
d7515dddaa
Merge pull request #99815 from Ivorforce/string-name-not-equal-inline
...
Move StringName `!=` operator to the header file to make it inlineable.
2024-12-02 15:51:43 +01:00
Lukas Tenbrink
a47d29cf11
Move StringName != to the header file to make it inlineable.
2024-12-01 19:50:34 +01:00
Rémi Verschelde
56a7dba10b
Merge pull request #99799 from akien-mga/fix-typos
...
Fix various typos and code style issues
2024-11-29 22:02:53 +01:00
Rémi Verschelde
88e81ee730
Fix various typos and code style issues
2024-11-28 17:40:42 +01:00
Lukas Tenbrink
884cbb5333
Don't repeat calls to strlen in split, and make splitter_length const in get_slice.
2024-11-28 01:55:48 +01:00
Thaddeus Crews
e7b11d1c99
Merge pull request #99527 from RandomShaper/fix_threaded_trans
...
Make loading translations from threads safe
2024-11-22 14:54:26 -06:00
Pedro J. Estébanez
7a25173ff4
Make loading translations from threads safe
2024-11-22 09:44:07 +01:00
Dan Nicholson
6f4fadf65d
Expose standardize_locale add_default param publicly
...
Comparing locales can have surprising outcomes since it standardizes
locales with defaults. For example, zh and zh_CN result in an exact
match since the defaults change them both to zh_Hans_CN. Expose the
add_default parameter publicly with a default of false so the fully
standardized locale can be inspected.
2024-11-21 16:50:31 -07:00
A Thousand Ships
68f638cf02
Use (r)find_char
instead of (r)find
for single characters
2024-11-17 10:02:18 +01:00
Thaddeus Crews
ebf49317a2
Merge pull request #97923 from kisg/translation_server_siof_fix
...
Make TranslationServer singleton variable inline.
2024-11-12 12:13:01 -06:00
Thaddeus Crews
27b394c52a
Merge pull request #98743 from dbnicholson/improve-compare-locales
...
Improve locale comparison
2024-11-12 09:27:54 -06:00
Dan Nicholson
2dd409fd70
Improve locale comparison
...
Since 9456454109
, country specific locales are always preferred over
country-less locales even when the OS locale country doesn't match. For
example, running the Godot editor with locale es_ES will result in the
es_AR locale being chosen even though the es locale would be better.
The change happened because the score of the es_AR locale and the es
locale are the same when comparing to es_ES. Change this by parsing
locale strings into a Locale structure and decreasing the score when
script, country or variant are set in both but not matched. For the
es_ES case, this causes the es_AR score to be decreased since the
countries don't match. On the other hand, the es locale is not decreased
since it doesn't specify a country.
2024-11-12 06:06:50 -07:00
Thaddeus Crews
6c4c61f1b2
Merge pull request #98547 from timothyqiu/loaded-locales-set
...
Fix duplicated entries in `TranslationServer::get_loaded_locales()`
2024-11-11 14:18:40 -06:00
Thaddeus Crews
63838c936c
Merge pull request #98278 from a-johnston/fuzzy-search-rebase
...
Add fuzzy string matching to quick open search
2024-11-10 12:12:56 -06:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
...
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
A Thousand Ships
38f9769bc6
[Core] Improve error messages with vformat
2024-10-30 15:55:51 +01:00
Thaddeus Crews
b8f626a0e1
Merge pull request #65962 from 4d49/format-object
...
Add `Object` support for `String.format`
2024-10-29 19:25:45 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
...
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Mansur Isaev
98c89f17c4
Add Object
support for String.format
2024-10-29 22:27:33 +01:00
Adam Johnston
3ac043c508
Add fuzzy string matching to quick open search
...
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Haoyu Qiu
f451997666
Fix duplicated entries in TranslationServer::get_loaded_locales()
2024-10-26 15:10:43 +08:00
Thaddeus Crews
d3298fe738
Merge pull request #98395 from Repiteo/core/char-range-utils-update
...
Core: Update `char_range.inc` to Unicode 16
2024-10-25 13:04:07 -05:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon
rule to true
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Clay John
33db590947
Merge pull request #98357 from yeojunh/valid-base-check-num-int64-uint64
...
Core: Fix String::num_int64(), uint64 for valid base check
2024-10-24 19:41:43 -07:00
kobewi
5c0f2414cd
Always add decimal when printing float
2024-10-23 15:00:21 +02:00
Thaddeus Crews
b6547b0d06
Merge pull request #98236 from timothyqiu/locale-compare-cache-4.x
...
Cache results for `TranslationServer.compare_locales()`
2024-10-21 16:39:14 -05:00
Thaddeus Crews
ab72082fa2
Core: Update char_range.inc
to Unicode 16
2024-10-21 14:54:19 -05:00
yeojunh
b3b24ded19
Add checks for valid base in String::num_int64, uint64().
...
- Ensure String::num_int64, uint64 returns an empty string for bases less than 2 or greater than 36.
- Added corresponding test cases to verify the behavior.
- Error messages are printed when invalid bases are encountered. These messages are suppressed in the test output.
2024-10-20 00:22:08 -07:00
Haoyu Qiu
f61fe2799c
Don't pseudolocalize empty strings
2024-10-17 10:30:17 +08:00
Haoyu Qiu
acab2d6c1c
Cache results for TranslationServer.compare_locales()
2024-10-16 20:54:56 +08:00
Gergely Kis
257633c354
Make TranslationServer singleton variable inline.
...
This change avoids the problem known as 'Static Initialization Order Fiasco' (SIOF).
See the following PR for more explanation: https://github.com/godotengine/godot/pull/94683
Co-authored-by: Gabor Koncz <gabor.koncz@migeran.com>
2024-10-07 13:47:42 +02:00
Rémi Verschelde
05b519fafb
Merge pull request #96230 from timothyqiu/per-domain-pseudolocalization
...
Move pseudolocalization into `TranslationDomain`
2024-10-04 11:21:18 +02:00
Haoyu Qiu
6516ca6b11
Parse fragment from URL
2024-09-27 19:42:30 +08:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
Haoyu Qiu
a751c05b15
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 00:05:16 +08:00
Haoyu Qiu
cca54ba4db
Move pseudolocalization into TranslationDomain
...
Also adds command-line option `--editor-pseudolocalization`
2024-09-21 18:28:12 +08:00
Haoyu Qiu
818acb4290
Make editor use translation domains
...
How editor plugins use this feature:
1. Pick a unique translation domain name.
2. `_enter_tree()`: load translations into that translation domain.
3. Call `set_translation_domain()` for its root UI node.
4. `_exit_tree()`: remove that translation domain.
Plugins can also set the translation domain to `godot.editor` for
nested nodes that should use editor translations. `EditorFileDialog`
automatically does this.
2024-09-17 13:09:44 +08:00
Haoyu Qiu
68d494e24e
Add translation domain
2024-09-17 13:09:44 +08:00
rune-scape
0dde931bc9
StringName: Fix empty hash
...
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
Rémi Verschelde
69ca549ef9
Merge pull request #92570 from rune-scape/rune-stringname-bits
...
StringName: `operator==` compares in-place
2024-09-04 11:16:32 +02:00
rune-scape
6abd17265b
StringName: operator== compares in-place
2024-09-03 17:31:08 -07:00
Rémi Verschelde
88197d4a51
Merge pull request #96462 from RandomShaper/opt_comp_loc
...
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 12:14:01 +02:00
Pedro J. Estébanez
cfb7443e26
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 10:50:14 +02:00
A Thousand Ships
e33fdb4296
Use MutexLock
in more places
2024-08-29 14:12:59 +02:00
Haoyu Qiu
8bf4ecc026
Add String.is_valid_unicode_identifier()
...
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde
c7702b350a
Merge pull request #92548 from AThousandShips/string_cleaning
...
[Core] Optimize some `String` methods
2024-08-26 23:28:24 +02:00
Rémi Verschelde
8dad1ba482
Merge pull request #92933 from TokageItLab/match-concatenating
...
Match the coding style for concatenating String
2024-08-26 22:44:59 +02:00