summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/android_builds.yml2
-rw-r--r--.github/workflows/ios_builds.yml2
-rw-r--r--.github/workflows/linux_builds.yml3
-rw-r--r--.github/workflows/macos_builds.yml2
-rw-r--r--.github/workflows/web_builds.yml2
-rw-r--r--.github/workflows/windows_builds.yml2
-rw-r--r--core/config/project_settings.cpp1
-rw-r--r--core/io/resource_loader.cpp4
-rw-r--r--core/object/message_queue.cpp32
-rw-r--r--core/object/message_queue.h6
-rw-r--r--core/object/object.cpp2
-rw-r--r--core/string/string_name.h9
-rw-r--r--doc/classes/@GlobalScope.xml4
-rw-r--r--doc/classes/DisplayServer.xml9
-rw-r--r--doc/classes/ImmediateMesh.xml2
-rw-r--r--doc/classes/InputEventMIDI.xml6
-rw-r--r--doc/classes/ParallaxLayer.xml5
-rw-r--r--doc/classes/ProjectSettings.xml4
-rw-r--r--doc/classes/RichTextLabel.xml1
-rw-r--r--doc/classes/String.xml2
-rw-r--r--doc/classes/StringName.xml10
-rw-r--r--doc/translations/es.po298
-rw-r--r--doc/translations/fr.po610
-rw-r--r--doc/translations/zh_CN.po6847
-rw-r--r--editor/editor_properties.cpp1
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.cpp28
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.h3
-rw-r--r--editor/scene_tree_dock.cpp5
-rw-r--r--editor/translations/editor/ar.po1644
-rw-r--r--editor/translations/editor/bg.po6
-rw-r--r--editor/translations/editor/ca.po6
-rw-r--r--editor/translations/editor/cs.po134
-rw-r--r--editor/translations/editor/de.po30
-rw-r--r--editor/translations/editor/el.po6
-rw-r--r--editor/translations/editor/es.po308
-rw-r--r--editor/translations/editor/es_AR.po6
-rw-r--r--editor/translations/editor/fa.po4062
-rw-r--r--editor/translations/editor/fi.po6
-rw-r--r--editor/translations/editor/fr.po264
-rw-r--r--editor/translations/editor/he.po29
-rw-r--r--editor/translations/editor/id.po3344
-rw-r--r--editor/translations/editor/it.po50
-rw-r--r--editor/translations/editor/ja.po495
-rw-r--r--editor/translations/editor/ko.po20
-rw-r--r--editor/translations/editor/nl.po27
-rw-r--r--editor/translations/editor/pl.po29
-rw-r--r--editor/translations/editor/pt.po6
-rw-r--r--editor/translations/editor/pt_BR.po6
-rw-r--r--editor/translations/editor/ro.po11
-rw-r--r--editor/translations/editor/ru.po1697
-rw-r--r--editor/translations/editor/sk.po6
-rw-r--r--editor/translations/editor/sv.po32
-rw-r--r--editor/translations/editor/th.po211
-rw-r--r--editor/translations/editor/tr.po6
-rw-r--r--editor/translations/editor/uk.po6
-rw-r--r--editor/translations/editor/vi.po136
-rw-r--r--editor/translations/editor/zh_CN.po26
-rw-r--r--editor/translations/editor/zh_TW.po6
-rw-r--r--editor/translations/properties/de.po29
-rw-r--r--editor/translations/properties/es.po13
-rw-r--r--editor/translations/properties/fr.po179
-rw-r--r--editor/translations/properties/id.po8017
-rw-r--r--editor/translations/properties/ja.po13
-rw-r--r--editor/translations/properties/ko.po67
-rw-r--r--editor/translations/properties/pl.po156
-rw-r--r--editor/translations/properties/pt.po13
-rw-r--r--editor/translations/properties/ru.po39
-rw-r--r--editor/translations/properties/zh_CN.po6
-rw-r--r--modules/gdscript/gdscript_parser.cpp2
-rw-r--r--modules/mono/csharp_script.cpp6
-rw-r--r--modules/mono/editor/GodotTools/GodotTools/Build/BuildManager.cs4
-rw-r--r--platform/android/doc_classes/EditorExportPlatformAndroid.xml2
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/Godot.java8
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/GodotLib.java5
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/tts/GodotTTS.java20
-rw-r--r--platform/android/java_godot_lib_jni.cpp7
-rw-r--r--platform/android/java_godot_lib_jni.h4
-rw-r--r--platform/android/tts_android.cpp42
-rw-r--r--platform/android/tts_android.h3
-rw-r--r--platform/ios/display_server_ios.mm19
-rw-r--r--platform/linuxbsd/x11/display_server_x11.cpp23
-rw-r--r--platform/macos/display_server_macos.mm19
-rw-r--r--platform/web/display_server_web.cpp12
-rw-r--r--platform/web/display_server_web.h1
-rw-r--r--platform/windows/display_server_windows.cpp19
-rw-r--r--scene/2d/touch_screen_button.cpp4
-rw-r--r--scene/3d/skeleton_3d.cpp8
-rw-r--r--scene/animation/animation_tree.cpp4
-rw-r--r--scene/animation/animation_tree.h2
-rw-r--r--scene/gui/color_picker.cpp108
-rw-r--r--scene/gui/color_picker.h10
-rw-r--r--scene/gui/rich_text_label.cpp38
-rw-r--r--scene/gui/rich_text_label.h4
-rw-r--r--scene/gui/slider.cpp1
-rw-r--r--scene/resources/curve.cpp4
-rw-r--r--servers/physics_3d/godot_shape_3d.cpp37
-rw-r--r--servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp2
-rw-r--r--tests/core/threads/test_worker_thread_pool.h157
-rw-r--r--tests/scene/test_curve.h31
-rw-r--r--tests/test_main.cpp12
-rw-r--r--thirdparty/README.md2
-rw-r--r--thirdparty/libwebp/godot-node-debug-fix.patch16
-rw-r--r--thirdparty/libwebp/src/enc/quant_enc.c5
103 files changed, 24508 insertions, 5182 deletions
diff --git a/.github/workflows/android_builds.yml b/.github/workflows/android_builds.yml
index 1912189d1c..afc73a462f 100644
--- a/.github/workflows/android_builds.yml
+++ b/.github/workflows/android_builds.yml
@@ -4,7 +4,7 @@ on:
# Global Settings
env:
- # Only used for the cache key. Increment version to force clean build.
+ # Used for the cache key. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no module_text_server_fb_enabled=yes
diff --git a/.github/workflows/ios_builds.yml b/.github/workflows/ios_builds.yml
index a32b25a8e7..63ecabd957 100644
--- a/.github/workflows/ios_builds.yml
+++ b/.github/workflows/ios_builds.yml
@@ -4,7 +4,7 @@ on:
# Global Settings
env:
- # Only used for the cache key. Increment version to force clean build.
+ # Used for the cache key. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no module_text_server_fb_enabled=yes
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml
index 44765ee32e..dc313359ab 100644
--- a/.github/workflows/linux_builds.yml
+++ b/.github/workflows/linux_builds.yml
@@ -4,7 +4,7 @@ on:
# Global Settings
env:
- # Only used for the cache key. Increment version to force clean build.
+ # Used for the cache key, and godot-cpp checkout. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
DOTNET_NOLOGO: true
@@ -182,6 +182,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: godotengine/godot-cpp
+ ref: ${{ env.GODOT_BASE_BRANCH }}
submodules: 'recursive'
path: 'godot-cpp'
diff --git a/.github/workflows/macos_builds.yml b/.github/workflows/macos_builds.yml
index 8822566c48..6e0fbbf461 100644
--- a/.github/workflows/macos_builds.yml
+++ b/.github/workflows/macos_builds.yml
@@ -4,7 +4,7 @@ on:
# Global Settings
env:
- # Only used for the cache key. Increment version to force clean build.
+ # Used for the cache key. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
diff --git a/.github/workflows/web_builds.yml b/.github/workflows/web_builds.yml
index 24cb0adac8..2ae238caa6 100644
--- a/.github/workflows/web_builds.yml
+++ b/.github/workflows/web_builds.yml
@@ -4,7 +4,7 @@ on:
# Global Settings
env:
- # Only used for the cache key. Increment version to force clean build.
+ # Used for the cache key. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no
EM_VERSION: 3.1.18
diff --git a/.github/workflows/windows_builds.yml b/.github/workflows/windows_builds.yml
index 0f37db5f14..182ae2fc8c 100644
--- a/.github/workflows/windows_builds.yml
+++ b/.github/workflows/windows_builds.yml
@@ -5,7 +5,7 @@ on:
# Global Settings
# SCONS_CACHE for windows must be set in the build environment
env:
- # Only used for the cache key. Increment version to force clean build.
+ # Used for the cache key. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
SCONS_CACHE_MSVC_CONFIG: true
diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp
index 264259eb2f..c3df4a2ebe 100644
--- a/core/config/project_settings.cpp
+++ b/core/config/project_settings.cpp
@@ -1290,6 +1290,7 @@ ProjectSettings::ProjectSettings() {
GLOBAL_DEF("display/window/energy_saving/keep_screen_on.editor", false);
GLOBAL_DEF_BASIC(PropertyInfo(Variant::STRING, "audio/buses/default_bus_layout", PROPERTY_HINT_FILE, "*.tres"), "res://default_bus_layout.tres");
+ GLOBAL_DEF_RST("audio/general/text_to_speech", false);
GLOBAL_DEF_RST(PropertyInfo(Variant::FLOAT, "audio/general/2d_panning_strength", PROPERTY_HINT_RANGE, "0,2,0.01"), 0.5f);
GLOBAL_DEF_RST(PropertyInfo(Variant::FLOAT, "audio/general/3d_panning_strength", PROPERTY_HINT_RANGE, "0,2,0.01"), 0.5f);
diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp
index c68191554c..e9f812ab1c 100644
--- a/core/io/resource_loader.cpp
+++ b/core/io/resource_loader.cpp
@@ -309,6 +309,9 @@ void ResourceLoader::_thread_load_function(void *p_userdata) {
// --
Ref<Resource> res = _load(load_task.remapped_path, load_task.remapped_path != load_task.local_path ? load_task.local_path : String(), load_task.type_hint, load_task.cache_mode, &load_task.error, load_task.use_sub_threads, &load_task.progress);
+ if (mq_override) {
+ mq_override->flush();
+ }
thread_load_mutex.lock();
@@ -354,7 +357,6 @@ void ResourceLoader::_thread_load_function(void *p_userdata) {
if (load_nesting == 0 && mq_override) {
memdelete(mq_override);
- MessageQueue::set_thread_singleton_override(nullptr);
}
}
diff --git a/core/object/message_queue.cpp b/core/object/message_queue.cpp
index 78fdb08f85..18ba5d5b30 100644
--- a/core/object/message_queue.cpp
+++ b/core/object/message_queue.cpp
@@ -35,10 +35,22 @@
#include "core/object/class_db.h"
#include "core/object/script_language.h"
+#ifdef DEV_ENABLED
+// Includes sanity checks to ensure that a queue set as a thread singleton override
+// is only ever called from the thread it was set for.
+#define LOCK_MUTEX \
+ if (this != MessageQueue::thread_singleton) { \
+ DEV_ASSERT(!this->is_current_thread_override); \
+ mutex.lock(); \
+ } else { \
+ DEV_ASSERT(this->is_current_thread_override); \
+ }
+#else
#define LOCK_MUTEX \
if (this != MessageQueue::thread_singleton) { \
mutex.lock(); \
}
+#endif
#define UNLOCK_MUTEX \
if (this != MessageQueue::thread_singleton) { \
@@ -213,8 +225,8 @@ void CallQueue::_call_function(const Callable &p_callable, const Variant *p_args
Error CallQueue::flush() {
LOCK_MUTEX;
- // Non-main threads are not meant to be flushed, but appended to the main one.
- if (this != MessageQueue::main_singleton) {
+ // Thread overrides are not meant to be flushed, but appended to the main one.
+ if (this == MessageQueue::thread_singleton) {
if (pages.size() == 0) {
return OK;
}
@@ -237,6 +249,7 @@ Error CallQueue::flush() {
uint32_t dst_offset = mq->page_bytes[dst_page];
if (dst_offset + page_bytes[0] < uint32_t(PAGE_SIZE_BYTES)) {
memcpy(mq->pages[dst_page]->data + dst_offset, pages[0]->data, page_bytes[0]);
+ mq->page_bytes[dst_page] += page_bytes[0];
src_page++;
}
}
@@ -520,6 +533,10 @@ CallQueue::~CallQueue() {
if (!allocator_is_custom) {
memdelete(allocator);
}
+ // This is done here to avoid a circular dependency between the sanity checks and the thread singleton pointer.
+ if (this == MessageQueue::thread_singleton) {
+ MessageQueue::thread_singleton = nullptr;
+ }
}
//////////////////////
@@ -528,7 +545,18 @@ CallQueue *MessageQueue::main_singleton = nullptr;
thread_local CallQueue *MessageQueue::thread_singleton = nullptr;
void MessageQueue::set_thread_singleton_override(CallQueue *p_thread_singleton) {
+ DEV_ASSERT(p_thread_singleton); // To unset the thread singleton, don't call this with nullptr, but just memfree() it.
+#ifdef DEV_ENABLED
+ if (thread_singleton) {
+ thread_singleton->is_current_thread_override = false;
+ }
+#endif
thread_singleton = p_thread_singleton;
+#ifdef DEV_ENABLED
+ if (thread_singleton) {
+ thread_singleton->is_current_thread_override = true;
+ }
+#endif
}
MessageQueue::MessageQueue() :
diff --git a/core/object/message_queue.h b/core/object/message_queue.h
index c6fcccbd58..9f567e4dd0 100644
--- a/core/object/message_queue.h
+++ b/core/object/message_queue.h
@@ -40,6 +40,8 @@
class Object;
class CallQueue {
+ friend class MessageQueue;
+
public:
enum {
PAGE_SIZE_BYTES = 4096
@@ -75,6 +77,10 @@ private:
uint32_t pages_used = 0;
bool flushing = false;
+#ifdef DEV_ENABLED
+ bool is_current_thread_override = false;
+#endif
+
struct Message {
Callable callable;
int16_t type;
diff --git a/core/object/object.cpp b/core/object/object.cpp
index 5a34328ec4..f42d604832 100644
--- a/core/object/object.cpp
+++ b/core/object/object.cpp
@@ -1350,7 +1350,7 @@ bool Object::_disconnect(const StringName &p_signal, const Callable &p_callable,
}
ERR_FAIL_COND_V_MSG(!s, false, vformat("Disconnecting nonexistent signal '%s' in %s.", p_signal, to_string()));
- ERR_FAIL_COND_V_MSG(!s->slot_map.has(*p_callable.get_base_comparator()), false, "Disconnecting nonexistent signal '" + p_signal + "', callable: " + p_callable + ".");
+ ERR_FAIL_COND_V_MSG(!s->slot_map.has(*p_callable.get_base_comparator()), false, "Attempt to disconnect a nonexistent connection from '" + to_string() + "'. Signal: '" + p_signal + "', callable: '" + p_callable + "'.");
SignalData::Slot *slot = &s->slot_map[*p_callable.get_base_comparator()];
diff --git a/core/string/string_name.h b/core/string/string_name.h
index 07abc781a2..4ed58d8286 100644
--- a/core/string/string_name.h
+++ b/core/string/string_name.h
@@ -117,6 +117,15 @@ public:
_FORCE_INLINE_ bool operator<(const StringName &p_name) const {
return _data < p_name._data;
}
+ _FORCE_INLINE_ bool operator<=(const StringName &p_name) const {
+ return _data <= p_name._data;
+ }
+ _FORCE_INLINE_ bool operator>(const StringName &p_name) const {
+ return _data > p_name._data;
+ }
+ _FORCE_INLINE_ bool operator>=(const StringName &p_name) const {
+ return _data >= p_name._data;
+ }
_FORCE_INLINE_ bool operator==(const StringName &p_name) const {
// the real magic of all this mess happens here.
// this is why path comparisons are very fast
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 7f5ef7046d..6ba0deadaa 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -2436,10 +2436,10 @@
Enum value which doesn't correspond to any MIDI message. This is used to initialize [enum MIDIMessage] properties with a generic state.
</constant>
<constant name="MIDI_MESSAGE_NOTE_OFF" value="8" enum="MIDIMessage">
- MIDI note OFF message. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
+ MIDI note OFF message. Not all MIDI devices send this event; some send [constant MIDI_MESSAGE_NOTE_ON] with zero velocity instead. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
</constant>
<constant name="MIDI_MESSAGE_NOTE_ON" value="9" enum="MIDIMessage">
- MIDI note ON message. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
+ MIDI note ON message. Some MIDI devices send this event with velocity zero instead of [constant MIDI_MESSAGE_NOTE_OFF], but implementations vary. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
</constant>
<constant name="MIDI_MESSAGE_AFTERTOUCH" value="10" enum="MIDIMessage">
MIDI aftertouch message. This message is most often sent by pressing down on the key after it "bottoms out".
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index beccaab048..47a7d2c67d 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -1017,6 +1017,7 @@
- [code]language[/code] is language code in [code]lang_Variant[/code] format. [code]lang[/code] part is a 2 or 3-letter code based on the ISO-639 standard, in lowercase. And [code]Variant[/code] part is an engine dependent string describing country, region or/and dialect.
Note that Godot depends on system libraries for text-to-speech functionality. These libraries are installed by default on Windows and macOS, but not on all Linux distributions. If they are not present, this method will return an empty list. This applies to both Godot users on Linux, as well as end-users on Linux running Godot games that use text-to-speech.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_get_voices_for_language" qualifiers="const">
@@ -1025,6 +1026,7 @@
<description>
Returns an [PackedStringArray] of voice identifiers for the [param language].
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_is_paused" qualifiers="const">
@@ -1032,6 +1034,7 @@
<description>
Returns [code]true[/code] if the synthesizer is in a paused state.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_is_speaking" qualifiers="const">
@@ -1039,6 +1042,7 @@
<description>
Returns [code]true[/code] if the synthesizer is generating speech, or have utterance waiting in the queue.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_pause">
@@ -1046,6 +1050,7 @@
<description>
Puts the synthesizer into a paused state.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_resume">
@@ -1053,6 +1058,7 @@
<description>
Resumes the synthesizer if it was paused.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_set_utterance_callback">
@@ -1065,6 +1071,7 @@
- [constant TTS_UTTERANCE_BOUNDARY] callable's method should take two [int] parameters, the index of the character and the utterance ID.
[b]Note:[/b] The granularity of the boundary callbacks is engine dependent.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_speak">
@@ -1086,6 +1093,7 @@
[b]Note:[/b] On Windows and Linux (X11), utterance [param text] can use SSML markup. SSML support is engine and voice dependent. If the engine does not support SSML, you should strip out all XML markup before calling [method tts_speak].
[b]Note:[/b] The granularity of pitch, rate, and volume is engine and voice dependent. Values may be truncated.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="tts_stop">
@@ -1093,6 +1101,7 @@
<description>
Stops synthesis in progress and removes all utterances from the queue.
[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
+ [b]Note:[/b] [member ProjectSettings.audio/general/text_to_speech] should be [code]true[/code] to use text-to-speech.
</description>
</method>
<method name="virtual_keyboard_get_height" qualifiers="const">
diff --git a/doc/classes/ImmediateMesh.xml b/doc/classes/ImmediateMesh.xml
index cd6cb32d3e..25eaa078f8 100644
--- a/doc/classes/ImmediateMesh.xml
+++ b/doc/classes/ImmediateMesh.xml
@@ -7,12 +7,14 @@
A mesh type optimized for creating geometry manually, similar to OpenGL 1.x immediate mode.
Here's a sample on how to generate a triangular face:
[codeblocks]
+ [gdscript]
var mesh = ImmediateMesh.new()
mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES)
mesh.surface_add_vertex(Vector3.LEFT)
mesh.surface_add_vertex(Vector3.FORWARD)
mesh.surface_add_vertex(Vector3.ZERO)
mesh.surface_end()
+ [/gdscript]
[/codeblocks]
[b]Note:[/b] Generating complex geometries with [ImmediateMesh] is highly inefficient. Instead, it is designed to generate simple geometry that changes often.
</description>
diff --git a/doc/classes/InputEventMIDI.xml b/doc/classes/InputEventMIDI.xml
index 4f6bdc93d0..02d7ed201e 100644
--- a/doc/classes/InputEventMIDI.xml
+++ b/doc/classes/InputEventMIDI.xml
@@ -81,7 +81,8 @@
Returns a value indicating the type of message for this MIDI signal. This is a member of the [enum MIDIMessage] enum.
For MIDI messages between 0x80 and 0xEF, only the left half of the bits are returned as this value, as the other part is the channel (ex: 0x94 becomes 0x9). For MIDI messages from 0xF0 to 0xFF, the value is returned as-is.
Notes will return [constant MIDI_MESSAGE_NOTE_ON] when activated, but they might not always return [constant MIDI_MESSAGE_NOTE_OFF] when deactivated, therefore your code should treat the input as stopped if some period of time has passed.
- For more information, see the MIDI message status byte list chart linked above.
+ Some MIDI devices may send [constant MIDI_MESSAGE_NOTE_ON] with zero velocity instead of [constant MIDI_MESSAGE_NOTE_OFF].
+ For more information, see the note in [member velocity] and the MIDI message status byte list chart linked above.
</member>
<member name="pitch" type="int" setter="set_pitch" getter="get_pitch" default="0">
The pitch index number of this MIDI signal. This value ranges from 0 to 127. On a piano, middle C is 60, and A440 is 69, see the "MIDI note" column of the piano key frequency chart on Wikipedia for more information.
@@ -90,7 +91,8 @@
The pressure of the MIDI signal. This value ranges from 0 to 127. For many devices, this value is always zero.
</member>
<member name="velocity" type="int" setter="set_velocity" getter="get_velocity" default="0">
- The velocity of the MIDI signal. This value ranges from 0 to 127. For a piano, this corresponds to how quickly the key was pressed, and is rarely above about 110 in practice. Note that some MIDI devices may send a [constant MIDI_MESSAGE_NOTE_ON] message with zero velocity and expect this to be treated the same as a [constant MIDI_MESSAGE_NOTE_OFF] message, but device implementations vary so Godot reports event data exactly as received.
+ The velocity of the MIDI signal. This value ranges from 0 to 127. For a piano, this corresponds to how quickly the key was pressed, and is rarely above about 110 in practice.
+ [b]Note:[/b] Some MIDI devices may send a [constant MIDI_MESSAGE_NOTE_ON] message with zero velocity and expect this to be treated the same as a [constant MIDI_MESSAGE_NOTE_OFF] message, but device implementations vary so Godot reports event data exactly as received. Depending on the hardware and the needs of the game/app, this MIDI quirk can be handled robustly with a couple lines of script (check for [constant MIDI_MESSAGE_NOTE_ON] with velocity zero).
</member>
</members>
</class>
diff --git a/doc/classes/ParallaxLayer.xml b/doc/classes/ParallaxLayer.xml
index d0fdaf65e4..54301f1577 100644
--- a/doc/classes/ParallaxLayer.xml
+++ b/doc/classes/ParallaxLayer.xml
@@ -12,8 +12,9 @@
</tutorials>
<members>
<member name="motion_mirroring" type="Vector2" setter="set_mirroring" getter="get_mirroring" default="Vector2(0, 0)">
- The ParallaxLayer's [Texture2D] mirroring. Useful for creating an infinite scrolling background. If an axis is set to [code]0[/code], the [Texture2D] will not be mirrored.
- If the length of the viewport axis is bigger than twice the mirrored axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the texture at any one time.
+ The ParallaxLayer's [Texture2D] repeating. Useful for creating an infinite scrolling background. If an axis is set to [code]0[/code], the [Texture2D] will not be repeated.
+ If the length of the viewport axis is bigger than twice the repeated axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the texture at any given time.
+ [b]Note:[/b] Despite its name, the texture will not be mirrored, it will simply be repeated.
</member>
<member name="motion_offset" type="Vector2" setter="set_motion_offset" getter="get_motion_offset" default="Vector2(0, 0)">
The ParallaxLayer's offset relative to the parent ParallaxBackground's [member ParallaxBackground.scroll_offset].
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index ee3367c24c..0b60f0dbf6 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -371,6 +371,10 @@
The base strength of the panning effect for all [AudioStreamPlayer3D] nodes. The panning strength can be further scaled on each Node using [member AudioStreamPlayer3D.panning_strength]. A value of [code]0.0[/code] disables stereo panning entirely, leaving only volume attenuation in place. A value of [code]1.0[/code] completely mutes one of the channels if the sound is located exactly to the left (or right) of the listener.
The default value of [code]0.5[/code] is tuned for headphones. When using speakers, you may find lower values to sound better as speakers have a lower stereo separation compared to headphones.
</member>
+ <member name="audio/general/text_to_speech" type="bool" setter="" getter="" default="false">
+ If [code]true[/code], text-to-speech support is enabled, see [method DisplayServer.tts_get_voices] and [method DisplayServer.tts_speak].
+ [b]Note:[/b] Enabling TTS can cause addition idle CPU usage and interfere with the sleep mode, so consider disabling it if TTS is not used.
+ </member>
<member name="audio/video/video_delay_compensation_ms" type="int" setter="" getter="" default="0">
Setting to hardcode audio delay when playing video. Best to leave this untouched unless you know what you are doing.
</member>
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index c44f54749b..4a243a70ce 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -410,6 +410,7 @@
<param index="2" name="language" type="String" default="&quot;&quot;" />
<param index="3" name="st_parser" type="int" enum="TextServer.StructuredTextParser" default="0" />
<param index="4" name="justification_flags" type="int" enum="TextServer.JustificationFlag" default="163" />
+ <param index="5" name="tab_stops" type="PackedFloat32Array" default="PackedFloat32Array()" />
<description>
Adds a [code][p][/code] tag to the tag stack.
</description>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 09ded0f4ce..d1bc24db13 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -333,7 +333,7 @@
[/gdscript]
[csharp]
var text = "hello world";
- var encoded = text.ToUtf8Buffer().HexEncode(); # outputs "68656c6c6f20776f726c64"
+ var encoded = text.ToUtf8Buffer().HexEncode(); // outputs "68656c6c6f20776f726c64"
GD.Print(buf.HexDecode().GetStringFromUtf8());
[/csharp]
[/codeblocks]
diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml
index 7ffe1d8c32..3d3ac6e91f 100644
--- a/doc/classes/StringName.xml
+++ b/doc/classes/StringName.xml
@@ -316,7 +316,7 @@
[/gdscript]
[csharp]
var text = "hello world";
- var encoded = text.ToUtf8Buffer().HexEncode(); # outputs "68656c6c6f20776f726c64"
+ var encoded = text.ToUtf8Buffer().HexEncode(); // outputs "68656c6c6f20776f726c64"
GD.Print(buf.HexDecode().GetStringFromUtf8());
[/csharp]
[/codeblocks]
@@ -1020,14 +1020,14 @@
<return type="bool" />
<param index="0" name="right" type="StringName" />
<description>
- Returns [code]true[/code] if the left [String] comes before [param right] in [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url], which roughly matches the alphabetical order. Useful for sorting.
+ Returns [code]true[/code] if the left [StringName]'s pointer comes before [param right]. Note that this will not match their [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url].
</description>
</operator>
<operator name="operator &lt;=">
<return type="bool" />
<param index="0" name="right" type="StringName" />
<description>
- Returns [code]true[/code] if the left [String] comes before [param right] in [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url], which roughly matches the alphabetical order, or if both are equal.
+ Returns [code]true[/code] if the left [StringName]'s pointer comes before [param right] or if they are the same. Note that this will not match their [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url].
</description>
</operator>
<operator name="operator ==">
@@ -1048,14 +1048,14 @@
<return type="bool" />
<param index="0" name="right" type="StringName" />
<description>
- Returns [code]true[/code] if the left [StringName] comes after [param right] in [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url], which roughly matches the alphabetical order. Useful for sorting.
+ Returns [code]true[/code] if the left [StringName]'s pointer comes after [param right]. Note that this will not match their [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url].
</description>
</operator>
<operator name="operator &gt;=">
<return type="bool" />
<param index="0" name="right" type="StringName" />
<description>
- Returns [code]true[/code] if the left [StringName] comes after [param right] in [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url], which roughly matches the alphabetical order, or if both are equal.
+ Returns [code]true[/code] if the left [StringName]'s pointer comes after [param right] or if they are the same. Note that this will not match their [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/url].
</description>
</operator>
</operators>
diff --git a/doc/translations/es.po b/doc/translations/es.po
index 398698fc4b..2c3c51b4a7 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -49,12 +49,13 @@
# Joinner Medina <devjoi2018@gmail.com>, 2023.
# Denis Anfruns <daanfruns@gmail.com>, 2023.
# Luis Ortiz <luisortiz66@hotmail.com>, 2023.
+# Biel Serrano Sanchez <bielsesa@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2023-04-12 08:56+0000\n"
-"Last-Translator: Luis Ortiz <luisortiz66@hotmail.com>\n"
+"PO-Revision-Date: 2023-04-26 21:48+0000\n"
+"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -62,7 +63,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Description"
msgstr "Descripción"
@@ -1202,16 +1203,6 @@ msgstr ""
"La propiedad es un script variable que debe ser serializado y guardado en el "
"archivo de la escena."
-msgid "Default usage (storage, editor and network)."
-msgstr "Uso por defecto (almacenamiento, editor y red)."
-
-msgid ""
-"Default usage but without showing the property in the editor (storage, "
-"network)."
-msgstr ""
-"Uso por defecto pero sin mostrar la propiedad en el editor (almacenamiento, "
-"red)."
-
msgid "Flag for a normal method."
msgstr "Flag para un método normal."
@@ -2448,24 +2439,6 @@ msgid "Returns [code]true[/code] if the array is empty."
msgstr "Devuelve [code]true[/code] si el array es vacio."
msgid ""
-"Returns the maximum value contained in the array if all elements are of "
-"comparable types. If the elements can't be compared, [code]null[/code] is "
-"returned."
-msgstr ""
-"Devuelve el maximo valor contenido en el array si todos los elementos son de "
-"tipos comparables. Si los elementos no pueden ser comparados, [code]null[/"
-"code] es devuelto."
-
-msgid ""
-"Returns the minimum value contained in the array if all elements are of "
-"comparable types. If the elements can't be compared, [code]null[/code] is "
-"returned."
-msgstr ""
-"Devuelve el minimo valor contenido en el array si todos los elementos son de "
-"tipos comparables. Si los elementos no pueden ser comparados, [code]null[/"
-"code] es devuelto."
-
-msgid ""
"Resizes the array to contain a different number of elements. If the array "
"size is smaller, elements are cleared, if bigger, new elements are "
"[code]null[/code]."
@@ -3935,16 +3908,6 @@ msgstr ""
"para superponer sombras en una cámara de alimentación en AR."
msgid ""
-"If [code]true[/code], subsurface scattering is enabled. Emulates light that "
-"penetrates an object's surface, is scattered, and then emerges."
-msgstr ""
-"Si [code]true[/code], se activa la dispersión subterránea. Emula la luz que "
-"penetra en la superficie de un objeto, se dispersa y luego emerge."
-
-msgid "The strength of the subsurface scattering effect."
-msgstr "La fuerza del efecto de dispersión del subsuelo."
-
-msgid ""
"Texture used to control the subsurface scattering strength. Stored in the "
"red texture channel. Multiplied by [member subsurf_scatter_strength]."
msgstr ""
@@ -4878,21 +4841,6 @@ msgstr ""
"utiliza como el material para este elemento."
msgid ""
-"If [code]true[/code], this [CanvasItem] is drawn. The node is only visible "
-"if all of its antecedents are visible as well (in other words, [method "
-"is_visible_in_tree] must return [code]true[/code]).\n"
-"[b]Note:[/b] For controls that inherit [Popup], the correct way to make them "
-"visible is to call one of the multiple [code]popup*()[/code] functions "
-"instead."
-msgstr ""
-"Si [code]true[/code], se dibuja este [CanvasItem]. El nodo sólo es visible "
-"si todos sus antecedentes también lo son (en otras palabras, [method "
-"is_visible_in_tree] debe devolver [code]true[/code]).\n"
-"[b]Nota:[/b] Para los controles que heredan [Popup], la forma correcta de "
-"hacerlos visibles es llamar a una de las múltiples funciones [code]popup*()[/"
-"code] en su lugar."
-
-msgid ""
"If [code]true[/code], the node's Z index is relative to its parent's Z "
"index. If this node's Z index is 2 and its parent's effective Z index is 3, "
"then this node's effective Z index will be 2 + 3 = 5."
@@ -6074,15 +6022,6 @@ msgstr ""
"inmediatamente."
msgid ""
-"Marks an input event as handled. Once you accept an input event, it stops "
-"propagating, even to nodes listening to [method Node._unhandled_input] or "
-"[method Node._unhandled_key_input]."
-msgstr ""
-"Marca un evento de entrada como manejado. Una vez que aceptas un evento de "
-"entrada, deja de propagarse, incluso a los nodos que escuchan [method Node."
-"_unhandled_input] o [method Node._unhandled_key_input]."
-
-msgid ""
"Returns the mouse cursor shape the control displays on mouse hover. See "
"[enum CursorShape]."
msgstr ""
@@ -6891,16 +6830,6 @@ msgstr ""
"este nodo padre."
msgid ""
-"Snap makes the mesh snap to a given distance so that the faces of two meshes "
-"can be perfectly aligned. A lower value results in greater precision but may "
-"be harder to adjust."
-msgstr ""
-"El recorte hace que la malla se ajuste a una distancia determinada para que "
-"las caras de dos mallas puedan estar perfectamente alineadas. Un valor más "
-"bajo da como resultado una mayor precisión pero puede ser más difícil de "
-"ajustar."
-
-msgid ""
"Geometry of both primitives is merged, intersecting geometry is removed."
msgstr ""
"La geometría de ambas primitivas se fusiona, la geometría que se intersecta "
@@ -8290,18 +8219,6 @@ msgstr ""
"fase de física del bucle de juego."
msgid ""
-"Controls how fast or slow the in-game clock ticks versus the real life one. "
-"It defaults to 1.0. A value of 2.0 means the game moves twice as fast as "
-"real life, whilst a value of 0.5 means the game moves at half the regular "
-"speed."
-msgstr ""
-"Controla la velocidad o la lentitud del reloj del juego en comparación con "
-"el de la vida real. El valor por defecto es 1.0. Un valor de 2.0 significa "
-"que el juego se mueve el doble de rápido que en la vida real, mientras que "
-"un valor de 0.5 significa que el juego se mueve a la mitad de la velocidad "
-"normal."
-
-msgid ""
"Resource for environment nodes (like [WorldEnvironment]) that define "
"multiple rendering options."
msgstr ""
@@ -9369,9 +9286,6 @@ msgstr ""
"Un recurso interpolador de color que puede ser usado para generar colores "
"entre puntos de color definidos por el usuario."
-msgid "Returns the interpolated color specified by [code]offset[/code]."
-msgstr "Devuelve el color interpolado especificado por [code]offset[/code]."
-
msgid "Cubic interpolation."
msgstr "Interpolación cúbica."
@@ -11292,18 +11206,6 @@ msgid "A singleton that deals with inputs."
msgstr "Un singleton que se ocupa de las entradas."
msgid ""
-"A singleton that deals with inputs. This includes key presses, mouse buttons "
-"and movement, joypads, and input actions. Actions and their events can be "
-"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or "
-"with the [InputMap] class."
-msgstr ""
-"Un singleton que se ocupa de las entradas. Esto incluye pulsaciones de "
-"teclas, botones del ratón y movimiento, joypads y acciones de entrada. Las "
-"acciones y sus eventos se pueden configurar en la pestaña [b]Mapa de "
-"entradas[/b] en el [b]Proyecto > Configuración del proyecto[/b], o con la "
-"clase [InputMap]."
-
-msgid ""
"This will simulate pressing the specified action.\n"
"The strength can be used for non-boolean actions, it's ranged between 0 and "
"1 representing the intensity of the given action.\n"
@@ -13995,17 +13897,6 @@ msgstr ""
"escala de transformación local."
msgid ""
-"Returns [code]true[/code] if the node is present in the [SceneTree], its "
-"[member visible] property is [code]true[/code] and all its antecedents are "
-"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
-msgstr ""
-"Devuelve [code]true[/code] si el nodo está presente en el [SceneTree], su "
-"propiedad [member visible] es [code]true[/code] y todos sus antecedentes "
-"también son visibles. Si algún antecedente está oculto, este nodo no será "
-"visible en el árbol de la escena."
-
-msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians."
msgstr ""
@@ -14068,15 +13959,6 @@ msgstr ""
"Cambia la posición del nodo por el desplazamiento dado [Vector3] en el "
"espacio local."
-msgid ""
-"If [code]true[/code], this node is drawn. The node is only visible if all of "
-"its antecedents are visible as well (in other words, [method "
-"is_visible_in_tree] must return [code]true[/code])."
-msgstr ""
-"Si [code]true[/code], este nodo se dibuja. El nodo sólo es visible si todos "
-"sus antecedentes también lo son (en otras palabras, [method "
-"is_visible_in_tree] debe devolver [code]true[/code])."
-
msgid "Emitted when node visibility changes."
msgstr "Emitido cuando cambia la visibilidad del nodo."
@@ -14192,6 +14074,9 @@ msgstr ""
msgid "Add an action set."
msgstr "Añadir un conjunto de acciones."
+msgid "Add an interaction profile."
+msgstr "Añadir un perfil de interacción."
+
msgid "Optimized translation."
msgstr "Traducción optimizada."
@@ -16823,9 +16708,6 @@ msgstr ""
"Si [code]true[/code], utiliza un modelo de iluminación de material Lambert "
"más rápido pero de menor calidad en lugar del Burley."
-msgid "Quaternion."
-msgstr "Cuaternario."
-
msgid ""
"Constructs a quaternion that will rotate around the given axis by the "
"specified angle. The axis must be a normalized vector."
@@ -17294,9 +17176,6 @@ msgstr "Establece el [CanvasItem] para copiar un rectángulo al backbuffer."
msgid "Sets the index for the [CanvasItem]."
msgstr "Establece el índice para el [CanvasItem]."
-msgid "Sets a new material to the [CanvasItem]."
-msgstr "Establece un nuevo material para el [CanvasItem]."
-
msgid "Sets if the [CanvasItem] uses its parent's material."
msgstr "Establece si el [CanvasItem] utiliza el material de su padre."
@@ -17409,27 +17288,6 @@ msgstr ""
msgid "Modulates all colors in the given canvas."
msgstr "Modula todos los colores en el canvas dado."
-msgid ""
-"Sets the values to be used with the \"Adjustment\" post-process effect. See "
-"[Environment] for more details."
-msgstr ""
-"Establece los valores que se utilizarán con el efecto de post-proceso de "
-"\"Ajuste\". Ver [Environment] para más detalles."
-
-msgid ""
-"Sets the [i]BGMode[/i] of the environment. Equivalent to [member Environment."
-"background_mode]."
-msgstr ""
-"Establece el [i]BGMode[/i] del medio ambiente. Equivalente a [member "
-"Environment.background_mode]."
-
-msgid ""
-"Color displayed for clear areas of the scene (if using Custom color or "
-"Color+Sky background modes)."
-msgstr ""
-"Color mostrado para áreas claras de la escena (si se utilizan los modos de "
-"fondo Color personalizado o Color+Sky)."
-
msgid "Sets the intensity of the background color."
msgstr "Establece la intensidad del color de fondo."
@@ -17438,13 +17296,6 @@ msgstr ""
"Establece la capa máxima a usar si se utiliza el modo de fondo de canvas."
msgid ""
-"Sets the variables to be used with the \"screen space reflections\" post-"
-"process effect. See [Environment] for more details."
-msgstr ""
-"Establece las variables que se utilizarán con el efecto de post-proceso "
-"\"reflejos del espacio de la pantalla\". Ver [Environment] para más detalles."
-
-msgid ""
"Sets the variables to be used with the \"tonemap\" post-process effect. See "
"[Environment] for more details."
msgstr ""
@@ -17513,9 +17364,6 @@ msgstr ""
"Establece el escenario en el que se encuentra la instancia. El escenario es "
"el mundo tridimensional en el que se mostrarán los objetos."
-msgid "Not implemented in Godot 3.x."
-msgstr "No se implementó en Godot 3.x."
-
msgid "Returns the value of a certain material's parameter."
msgstr "Devuelve el valor del parámetro de un determinado material."
@@ -17716,9 +17564,6 @@ msgstr ""
"una vez o cada fotograma. Ver [enum ReflectionProbeUpdateMode] para las "
"opciones."
-msgid "Sets the environment that will be used with this scenario."
-msgstr "Establece el entorno que se utilizará con este escenario."
-
msgid ""
"Sets the fallback environment to be used by this scenario. The fallback "
"environment is used if no environment is set. Internally, this is used by "
@@ -17729,23 +17574,6 @@ msgstr ""
"Internamente, es usado por el editor para proporcionar un entorno por "
"defecto."
-msgid ""
-"If [code]true[/code], the engine will generate wireframes for use with the "
-"wireframe debug mode."
-msgstr ""
-"Si [code]true[/code], el motor generará mallas de alambre para su uso con el "
-"modo de depuración de mallas de alambre."
-
-msgid ""
-"Sets the default clear color which is used when a specific clear color has "
-"not been selected."
-msgstr ""
-"Establece el color claro predeterminado que se utiliza cuando no se ha "
-"seleccionado un color claro específico."
-
-msgid "Returns a shader's code."
-msgstr "Devuelve un código de shader."
-
msgid "Returns the [Transform2D] set for a specific bone of this skeleton."
msgstr ""
"Devuelve el conjunto [Transform] para un hueso específico de este esqueleto."
@@ -17789,21 +17617,9 @@ msgstr ""
"Establece el modo de dibujo de depuración de un viewport. Ver [enum "
"ViewportDebugDraw] para las opciones."
-msgid "If [code]true[/code], the viewport's canvas is not rendered."
-msgstr "Si [code]true[/code], el canvas del viewport no se renderiza."
-
msgid "Sets the viewport's global transformation matrix."
msgstr "Establece la matriz de transformación global del Viewport."
-msgid "Sets the viewport's parent to another viewport."
-msgstr "Establece el padre del viewport a otra viewport."
-
-msgid "Sets the shadow atlas quadrant's subdivision."
-msgstr "Establece la subdivisión del cuadrante del atlas de las sombras."
-
-msgid "Sets the viewport's width and height."
-msgstr "Establece el ancho y la altura del viewport."
-
msgid ""
"If [code]true[/code], the viewport renders its background as transparent."
msgstr "Si [code]true[/code], el viewport hace que su fondo sea transparente."
@@ -17836,24 +17652,12 @@ msgstr "La capa Z mínima para los objetos del canvas."
msgid "The maximum Z-layer for canvas items."
msgstr "La máxima capa Z para los objetos del canvas."
-msgid ""
-"Max number of glow levels that can be used with glow post-process effect."
-msgstr ""
-"Número máximo de niveles de brillo que se pueden utilizar con el efecto de "
-"post-procesado de brillo."
-
-msgid "Unused enum in Godot 3.x."
-msgstr "La lista no utilizada en Godot 3.x."
-
msgid "Shader is a 3D shader."
msgstr "Shader es un shader 3D."
msgid "Shader is a 2D shader."
msgstr "Shader es un shader 2D."
-msgid "Shader is a particle shader."
-msgstr "Shader es un shader de partículas."
-
msgid "Represents the size of the [enum ShaderMode] enum."
msgstr "Representa el tamaño del enum [enum ShaderMode]."
@@ -17863,46 +17667,27 @@ msgstr "La prioridad mínima de renderizado de todos los materiales."
msgid "The maximum renderpriority of all materials."
msgstr "La máxima prioridad de renderización de todos los materiales."
-msgid "Array is a vertex array."
-msgstr "El array es un array de vértices."
-
msgid "Array is a normal array."
msgstr "El array es un array normales."
msgid "Array is a tangent array."
msgstr "El Array es una array de tangentes."
-msgid "Array is a color array."
-msgstr "El Array es un array de colores."
-
msgid "Array is an UV coordinates array."
msgstr "El Array es un array de coordenadas UV."
-msgid "Array is an UV coordinates array for the second UV coordinates."
-msgstr ""
-"El Array es un array de coordenadas UV para las segundas coordenadas UV."
-
msgid "Array contains bone information."
msgstr "El Array contiene información sobre los huesos."
msgid "Array is weight information."
msgstr "El Array contiene la información de pesos."
-msgid "Array is index array."
-msgstr "El Array es un array de índices."
-
-msgid "Flag used to mark a vertex array."
-msgstr "Bandera usada para marcar un array de vértices."
-
msgid "Flag used to mark a normal array."
msgstr "Bandera usada para marcar una array de normales."
msgid "Flag used to mark a tangent array."
msgstr "Bandera usada para marcar un array de tangentes."
-msgid "Flag used to mark a color array."
-msgstr "Bandera usada para marcar un array de colores."
-
msgid "Flag used to mark an UV coordinates array."
msgstr "Bandera usada para marcar un conjunto de coordenadas UV."
@@ -17947,15 +17732,6 @@ msgstr "Representa el tamaño del enum [enum PrimitiveType]."
msgid "Use [Transform2D] to store MultiMesh transform."
msgstr "Use [Transform2D] para almacenar la transformada de MultiMalla."
-msgid "Is a directional (sun) light."
-msgstr "Es una luz direccional (sol)."
-
-msgid "Is an omni light."
-msgstr "Es una luz omnipresente."
-
-msgid "Is a spot light."
-msgstr "Es un foco de luz."
-
msgid "The light's influence on specularity."
msgstr "La influencia de la luz en la especularidad."
@@ -17971,9 +17747,6 @@ msgstr "El ángulo del foco."
msgid "The spotlight's attenuation."
msgstr "La atenuación del foco."
-msgid "Max distance that shadows will be rendered."
-msgstr "La distancia máxima a la que las sombras se renderizarán."
-
msgid "Proportion of shadow atlas occupied by the first split."
msgstr "Proporción de atlas de sombras ocupados por la primera división."
@@ -18046,31 +17819,6 @@ msgstr "Clasificar las partículas en función de su vida útil."
msgid "Sort particles based on their distance to the camera."
msgstr "Clasifica las partículas según su distancia a la cámara."
-msgid "Do not update the viewport."
-msgstr "No actualice el viewport."
-
-msgid "Update the viewport once then set to disabled."
-msgstr "Actualiza el viewport una vez y luego ponlo en desactivado."
-
-msgid "Update the viewport whenever it is visible."
-msgstr "Actualice el viewport siempre que sea visible."
-
-msgid "Always update the viewport."
-msgstr "Siempre actualiza el viewport."
-
-msgid "The viewport is always cleared before drawing."
-msgstr "El viewport siempre se limpia antes de dibujar."
-
-msgid "The viewport is never cleared before drawing."
-msgstr "El viewport nunca se limpia antes de dibujar."
-
-msgid ""
-"The viewport is cleared once, then the clear mode is set to [constant "
-"VIEWPORT_CLEAR_NEVER]."
-msgstr ""
-"El viewport se borra una vez, luego el modo de borrado se establece en "
-"[constant VIEWPORT_CLEAR_NEVER]."
-
msgid "Number of objects drawn in a single frame."
msgstr "Número de objetos dibujados en un solo fotograma."
@@ -18424,15 +18172,6 @@ msgstr ""
"Añade una etiqueta [code]font[/code] a la pila de etiquetas. Anula las "
"fuentes predeterminadas para su duración."
-msgid ""
-"Adds a [code][font][/code] tag with a italics font to the tag stack. This is "
-"the same as adding a [code][i][/code] tag if not currently in a [code][b][/"
-"code] tag."
-msgstr ""
-"Añade una etiqueta [code]font[/code] con una fuente en cursiva a la pila de "
-"etiquetas. Esto es lo mismo que añadir una etiqueta [code]i[/code] si no "
-"está actualmente en una etiqueta [code]b[/code]."
-
msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack."
msgstr ""
"Añade una etiqueta [code]font[/code] con una fuente monoespacio a la pila de "
@@ -18964,12 +18703,6 @@ msgstr ""
"hijos enfocados (incluyendo los niños indirectos) para asegurarse de que son "
"completamente visibles."
-msgid "The current horizontal scroll value."
-msgstr "El valor actual de desplazamiento horizontal."
-
-msgid "The current vertical scroll value."
-msgstr "El valor actual de scroll vertical."
-
msgid "Emitted when scrolling stops."
msgstr "Emitido cuando el scroll se detiene."
@@ -19659,13 +19392,6 @@ msgstr ""
msgid "Returns the smallest border width out of all four borders."
msgstr "Devuelve el menor ancho de borde de los cuatro bordes."
-msgid ""
-"This changes the size of the faded ring. Higher values can be used to "
-"achieve a \"blurry\" effect."
-msgstr ""
-"Esto cambia el tamaño del anillo descolorido. Se pueden usar valores más "
-"altos para lograr un efecto \"borroso\"."
-
msgid "The background color of the stylebox."
msgstr "El color de fondo de la caja de estilo."
@@ -22202,9 +21928,6 @@ msgstr "[VideoStream] recurso para los videos de Ogg Theora."
msgid "Returns the visible rectangle in global screen coordinates."
msgstr "Devuelve el RID del viewport del [VisualServer]."
-msgid "Stops the input from propagating further down the [SceneTree]."
-msgstr "Evita que la entrada se propague más abajo en el [SceneTree]."
-
msgid ""
"Sets the number of subdivisions to use in the specified quadrant. A higher "
"number of subdivisions allows you to have more shadows in the scene at once, "
@@ -22328,13 +22051,6 @@ msgstr "Los objetos se muestran en el estilo wireframe."
msgid "Texture which displays the content of a [Viewport]."
msgstr "Textura que muestra el contenido de un [Viewport]."
-msgid ""
-"The path to the [Viewport] node to display. This is relative to the scene "
-"root, not to the node which uses the texture."
-msgstr ""
-"La ruta al nodo [Viewport] para visualizar. Es relativa a la raíz de la "
-"escena, no al nodo que usa la textura."
-
msgid "Enables certain nodes only when approximately visible."
msgstr "Habilita ciertos nodos sólo cuando son aproximadamente visibles."
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index 5c764f41a4..bd4e2f73e4 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -68,13 +68,14 @@
# GuruWP <guruwp@protonmail.com>, 2023.
# Paul Cordellier <cordellierp@gmail.com>, 2023.
# Alexis Robin <arobin9999@gmail.com>, 2023.
+# "Dimitri A." <dimitripilot3@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-03 15:09+0000\n"
-"Last-Translator: Paul Cordellier <cordellierp@gmail.com>\n"
+"PO-Revision-Date: 2023-04-30 10:49+0000\n"
+"Last-Translator: \"Dimitri A.\" <dimitripilot3@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
"Language: fr\n"
@@ -82,7 +83,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Description"
msgstr "Description"
@@ -390,56 +391,6 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Returns [code]true[/code] if [param value] is an instance of [param type]. "
-"The [param type] value must be one of the following:\n"
-"- A constant from the [enum Variant.Type] enumeration, for example [constant "
-"TYPE_INT].\n"
-"- An [Object]-derived class which exists in [ClassDB], for example [Node].\n"
-"- A [Script] (you can use any class, including inner one).\n"
-"Unlike the right operand of the [code]is[/code] operator, [param type] can "
-"be a non-constant value. The [code]is[/code] operator supports more features "
-"(such as typed arrays) and is more performant. Use the operator instead of "
-"this method if you do not need dynamic type checking.\n"
-"Examples:\n"
-"[codeblock]\n"
-"print(is_instance_of(a, TYPE_INT))\n"
-"print(is_instance_of(a, Node))\n"
-"print(is_instance_of(a, MyClass))\n"
-"print(is_instance_of(a, MyClass.InnerClass))\n"
-"[/codeblock]\n"
-"[b]Note:[/b] If [param value] and/or [param type] are freed objects (see "
-"[method @GlobalScope.is_instance_valid]), or [param type] is not one of the "
-"above options, this method will raise an runtime error.\n"
-"See also [method @GlobalScope.typeof], [method type_exists], [method Array."
-"is_same_typed] (and other [Array] methods)."
-msgstr ""
-"Renvoie [code]true[/code] si [param value] est une instance de [param type]. "
-"La valeur de [param type] doit être l'une des suivantes :\n"
-"- Une constante de l'énumération [enum Variant.Type], par exemple [constant "
-"TYPE_INT].\n"
-"- Une classe dérivée de [Object] qui existe dans [ClassDB], par exemple "
-"[Node].\n"
-"- Un [Script] (vous pouvez utiliser n'importe quelle classe, y compris une "
-"classe interne).\n"
-"Contrairement à l'opérande droit de l'opérateur [code]is[/code], [param "
-"type] peut être une valeur non constante. L'opérateur [code]is[/code] prend "
-"en charge davantage de fonctionnalités (telles que les tableaux typés) et "
-"est plus performant. Utilisez l'opérateur au lieu de cette méthode si vous "
-"n'avez pas besoin d'une vérification dynamique des types.\n"
-"Exemples :\n"
-"[bloc de code]\n"
-"print(is_instance_of(a, TYPE_INT))\n"
-"print(is_instance_of(a, Node))\n"
-"print(is_instance_of(a, MyClass))\n"
-"print(is_instance_of(a, MyClass.InnerClass))\n"
-"[/codeblock]\n"
-"[b]Note :[/b] Si [param value] et/ou [param type] sont des objets libérés "
-"(voir [method @GlobalScope.is_instance_valid]), ou si [param type] n'est pas "
-"l'une des options ci-dessus, cette méthode lèvera une erreur d'exécution.\n"
-"Voir aussi [method @GlobalScope.typeof], [method type_exists], [method Array."
-"is_same_typed] (et autres méthodes [Array])."
-
-msgid ""
"Returns the length of the given Variant [param var]. The length can be the "
"character count of a [String], the element count of any array type or the "
"size of a [Dictionary]. For every other Variant type, a run-time error is "
@@ -465,58 +416,6 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Returns a [Resource] from the filesystem located at the absolute [param "
-"path]. Unless it's already referenced elsewhere (such as in another script "
-"or in the scene), the resource is loaded from disk on function call, which "
-"might cause a slight delay, especially when loading large scenes. To avoid "
-"unnecessary delays when loading something multiple times, either store the "
-"resource in a variable or use [method preload].\n"
-"[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource "
-"in the FileSystem dock and choosing \"Copy Path\", or by dragging the file "
-"from the FileSystem dock into the current script.\n"
-"[codeblock]\n"
-"# Load a scene called \"main\" located in the root of the project directory "
-"and cache it in a variable.\n"
-"var main = load(\"res://main.tscn\") # main will contain a PackedScene "
-"resource.\n"
-"[/codeblock]\n"
-"[b]Important:[/b] The path must be absolute. A relative path will always "
-"return [code]null[/code].\n"
-"This function is a simplified version of [method ResourceLoader.load], which "
-"can be used for more advanced scenarios.\n"
-"[b]Note:[/b] Files have to be imported into the engine first to load them "
-"using this function. If you want to load [Image]s at run-time, you may use "
-"[method Image.load]. If you want to import audio files, you can use the "
-"snippet described in [member AudioStreamMP3.data]."
-msgstr ""
-"Retourne une [Resource] depuis le système de fichiers localisé au chemin "
-"absolu [param path]. Sauf si cela est déjà référencé autre part (comme dans "
-"un autre script ou dans une scène), la ressource est chargée depuis le "
-"disque sur un appel de fonction, qui peut causé un petit délai, en "
-"particulier pendant le chargement de larges scènes. Pour éviter des délais "
-"inutiles lorsque vous chargez quelque chose plusieurs fois, vous pouvez "
-"stocker la ressource dans une variable ou utiliser [method preload].\n"
-"[b]Note :[/b] Les chemins des ressources peuvent être obtenus en faisant un "
-"clic droit sur une ressource dans la barre d'outils du système de fichiers "
-"et en choisissant \"Copier le chemin\", ou en déplaçant le fichier du "
-"système de fichiers vers le script actuel.\n"
-"[codeblock]\n"
-"# Charge une scène appelée \"main\" située dans la racine du répertoire du "
-"projet et la stocke dans une variable.\n"
-"var main = load(\"res://main.tscn\") # main contiendra une ressource "
-"PackedScene.\n"
-"[/codeblock]\n"
-"[b]Important :[/b] Le chemin doit être absolu. Un chemin relatif retournera "
-"toujours [code]null[/code].\n"
-"Cette fonction est une version simplifiée de [method ResourceLoader.load], "
-"qui peut être utilisée pour des scénarios plus avancés.\n"
-"[b]Note :[/b] Les fichiers doivent être importés dans le moteur de jeu en "
-"premier pour qu'ils soient chargés en utilisant cette fonction. Si vous "
-"voulez importer des [Image]s au run-time vous pouvez utiliser [method Image."
-"load]. Si vous voulez importer des fichiers audio, vous pouvez utiliser "
-"l'extrait décrit dans [member AudioStreamMP3.data]."
-
-msgid ""
"Returns a [Resource] from the filesystem located at [param path]. During run-"
"time, the resource is loaded when the script is being parsed. This function "
"effectively acts as a reference to that resource. Note that this function "
@@ -929,25 +828,6 @@ msgstr "Constantes et fonction à portée globale."
msgid "Random number generation"
msgstr "Génération de nombres aléatoires"
-msgid ""
-"Returns the arc cosine of [param x] in radians. Use to get the angle of "
-"cosine [param x]. [param x] must be between [code]-1.0[/code] and [code]1.0[/"
-"code] (inclusive), otherwise, [method acos] will return [constant @GDScript."
-"NAN].\n"
-"[codeblock]\n"
-"# c is 0.523599 or 30 degrees if converted with rad_to_deg(c)\n"
-"var c = acos(0.866025)\n"
-"[/codeblock]"
-msgstr ""
-"Renvoie le cosinus inverse de [param x] en radians. À utiliser pour obtenir "
-"l'angle du cosinus [param x]. [param x] doit être entre [code]-1.0[/code] et "
-"[code]1.0[/code] (inclus), dans le cas contraire, [method acos] retournera "
-"[constant @GDScript.NAN].\n"
-"[codeblock]\n"
-"# c vaut 0.523599 ou 30 degrés si converti avec rad2deg(s)\n"
-"c = acos(0.866025)\n"
-"[/codeblock]"
-
msgid "Converts from decibels to linear energy (audio)."
msgstr "Convertit les décibels en énergie linéaire (audio)."
@@ -1565,20 +1445,6 @@ msgid "Extra mouse button 2 mask."
msgstr "Masque du bouton de souris supplémentaire 2."
msgid ""
-"MIDI note OFF message. See the documentation of [InputEventMIDI] for "
-"information of how to use MIDI inputs."
-msgstr ""
-"Le message OFF pour la note MIDI. Référez vous à la documentation de "
-"[InputEventMIDI] pour avoir des informations concernant les entrées MIDI."
-
-msgid ""
-"MIDI note ON message. See the documentation of [InputEventMIDI] for "
-"information of how to use MIDI inputs."
-msgstr ""
-"Le message MIDI pour la note ON. Référez vous à la documentation de "
-"[InputEventMIDI] pour avoir des informations concernant les entrées MIDI."
-
-msgid ""
"MIDI aftertouch message. This message is most often sent by pressing down on "
"the key after it \"bottoms out\"."
msgstr ""
@@ -1831,16 +1697,6 @@ msgstr ""
"La propriété est une variable appartenant à un script, qui devrait être "
"sérialisé et sauvegardé dans le fichier de la scène."
-msgid "Default usage (storage, editor and network)."
-msgstr "Usage défaut (stockage, éditeur et réseau)."
-
-msgid ""
-"Default usage but without showing the property in the editor (storage, "
-"network)."
-msgstr ""
-"Utilisation par défaut mais sans l'affichage de la propriété dans l'éditeur "
-"(stockage, réseau)."
-
msgid "Flag for a normal method."
msgstr "Indicateur pour une méthode normale."
@@ -2009,6 +1865,45 @@ msgstr ""
"autre."
msgid ""
+"Returns a copy of this [AABB] expanded to include a given point.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# position (-3, 2, 0), size (1, 1, 1)\n"
+"var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))\n"
+"# position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and "
+"Vector3(0, -1, 2)\n"
+"var box2 = box.expand(Vector3(0, -1, 2))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// position (-3, 2, 0), size (1, 1, 1)\n"
+"var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));\n"
+"// position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB "
+"and Vector3(0, -1, 2)\n"
+"var box2 = box.Expand(new Vector3(0, -1, 2));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"Retourne une copie de ce [AABB] élargi afin d'inclure un point donné.\n"
+"[b]Exemple :[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Occupe la position (-3, 2, 0) avec une taille de (1, 1, 1).\n"
+"var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))\n"
+"# Occupe la position (-3, -1, 0) avec une taille de (3, 4, 2) afin d'inclure "
+"le point défini par Vector3(0, -1, 2) en plus du AABB d'origine.\n"
+"var box2 = box.expand(Vector3(0, -1, 2))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Occupe la position (-3, 2, 0) avec une taille de (1, 1, 1).\n"
+"var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));\n"
+"// Occupe la position (-3, -1, 0) avec une taille de (3, 4, 2) afin "
+"d'inclure le point défini par Vector3(0, -1, 2) en plus du AABB d'origine.\n"
+"var box2 = box.Expand(new Vector3(0, -1, 2));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns the center of the [AABB], which is equal to [member position] + "
"([member size] / 2)."
msgstr ""
@@ -2196,7 +2091,7 @@ msgid "Maximum value for the mode enum."
msgstr "Valeur maximale pour le mode énumeration."
msgid "3D Physics Tests Demo"
-msgstr "Démo des tests de physique 3D"
+msgstr "Démo de tests physiques en 3D"
msgid "Third Person Shooter Demo"
msgstr "Démo de tir à la troisième personne"
@@ -3121,6 +3016,12 @@ msgstr ""
msgid "Using Area2D"
msgstr "Utiliser les Area2D"
+msgid "2D Pong Demo"
+msgstr "Démo 2D « Pong »"
+
+msgid "2D Platformer Demo"
+msgstr "Démo de jeu de plateforme en 2D"
+
msgid ""
"Returns a list of intersecting [Area2D]s. The overlapping area's [member "
"CollisionObject2D.collision_layer] must be part of this area's [member "
@@ -3184,7 +3085,7 @@ msgid "This area does not affect gravity/damping."
msgstr "Cette aire n'influe pas sur la gravité/amortissement."
msgid "GUI in 3D Demo"
-msgstr "Démo des interfaces en 3D"
+msgstr "Démo d'interface graphique en 3D"
msgid ""
"The rate at which objects stop spinning in this area. Represents the angular "
@@ -3318,24 +3219,6 @@ msgid "Returns [code]true[/code] if the array is empty."
msgstr "Retourne [code]true[/code] si le tableau est vide."
msgid ""
-"Returns the maximum value contained in the array if all elements are of "
-"comparable types. If the elements can't be compared, [code]null[/code] is "
-"returned."
-msgstr ""
-"Retourne la valeur maximale contenue dans le tableau si tous les éléments "
-"peuvent être comparés entre eux. Si les éléments ne peuvent pas être "
-"comparés, [code]null[/code] est retourné."
-
-msgid ""
-"Returns the minimum value contained in the array if all elements are of "
-"comparable types. If the elements can't be compared, [code]null[/code] is "
-"returned."
-msgstr ""
-"Retourne la valeur minimale contenue dans le tableau si tous les éléments "
-"peuvent être comparés entre eux. Si les éléments ne peuvent pas être "
-"comparés, [code]null[/code] est retourné."
-
-msgid ""
"Removes and returns the last element of the array. Returns [code]null[/code] "
"if the array is empty, without printing an error message. See also [method "
"pop_front]."
@@ -4207,9 +4090,6 @@ msgstr "Démo du générateur audio"
msgid "Returns the length of the audio stream in seconds."
msgstr "Retourne la durée en secondes du flux audio."
-msgid "Audio stream that generates sounds procedurally."
-msgstr "Un flux audio qui génère des sons de manière procédurale."
-
msgid ""
"The length of the buffer to generate (in seconds). Lower values result in "
"less latency, but require the script to generate audio data faster, "
@@ -4755,9 +4635,6 @@ msgstr ""
"La texture utilisée pour contrôler la rugosité par pixel. Multipliée par "
"[membre roughness]."
-msgid "The strength of the subsurface scattering effect."
-msgstr "L'intensité de l'effet de transluminance."
-
msgid ""
"If [code]true[/code], instead of using [code]UV2[/code] textures will use a "
"triplanar texture lookup to determine how to apply textures. Triplanar uses "
@@ -5011,7 +4888,7 @@ msgid "Matrix Transform Demo"
msgstr "Démo de transformation matricielle"
msgid "2.5D Demo"
-msgstr "Démo 2.5D"
+msgstr "Démo 2,5D"
msgid "Constructs a pure rotation basis matrix from the given quaternion."
msgstr ""
@@ -5209,13 +5086,13 @@ msgstr ""
"Le nombre de boucles de bord supplémentaires insérées le long de l'axe X."
msgid "3D Kinematic Character Demo"
-msgstr "Démo de caractère cinématique 3D"
+msgstr "Démo de personnage cinématique en 3D"
msgid "Standard themed Button."
msgstr "Bouton thématique standard."
msgid "OS Test Demo"
-msgstr "Démo de test de système d'exploitation"
+msgstr "Démo de test des fonctions OS (système d'exploitation)"
msgid ""
"When this property is enabled, text that is too large to fit the button is "
@@ -5287,6 +5164,23 @@ msgstr "Émis lorsqu’un des boutons de ce groupe est appuyé."
msgid "Calls the specified method after optional delay."
msgstr "Appelle la méthode spécifiée après un délai optionnel."
+msgid ""
+"Makes the callback call delayed by given time in seconds.\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback(queue_free).set_delay(2) #this will call queue_free() "
+"after 2 seconds\n"
+"[/codeblock]"
+msgstr ""
+"Retarde l'appel par le temps donné en secondes.\n"
+"[b]Exemple :[/b]\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback(queue_free).set_delay(2) # Ceci va appeler queue_free() "
+"après 2 secondes\n"
+"[/codeblock]"
+
msgid "Camera node for 2D scenes."
msgstr "Nœud de caméra pour les scènes en 2D."
@@ -5294,7 +5188,7 @@ msgid "2D Isometric Demo"
msgstr "Démo 2D isométrique"
msgid "2D HDR Demo"
-msgstr "Démo 2D HDR"
+msgstr "Démo de plage dynamique étendue (HDR) en 2D"
msgid "Aligns the camera to the tracked node."
msgstr "Aligne la caméra sur le nœud suivi."
@@ -5353,7 +5247,7 @@ msgid "The camera updates with the [code]_process[/code] callback."
msgstr "La caméra se met à jour durant l'appel de [code]_process[/code]."
msgid "Camera node, displays from a point of view."
-msgstr "Nœud de caméra, affiche d'un point de vue."
+msgstr "Un nœud de caméra ; affichage d'un point de vue."
msgid ""
"Makes this camera the current camera for the [Viewport] (see class "
@@ -5387,6 +5281,36 @@ msgstr ""
"la caméra. Ceci est utile pour lancer des rayons sous la forme (origine, "
"normale) pour l'intersection ou la sélection d'objets."
+msgid ""
+"Returns the 2D coordinate in the [Viewport] rectangle that maps to the given "
+"3D point in world space.\n"
+"[b]Note:[/b] When using this to position GUI elements over a 3D viewport, "
+"use [method is_position_behind] to prevent them from appearing if the 3D "
+"point is behind the camera:\n"
+"[codeblock]\n"
+"# This code block is part of a script that inherits from Node3D.\n"
+"# `control` is a reference to a node inheriting from Control.\n"
+"control.visible = not get_viewport().get_camera_3d()."
+"is_position_behind(global_transform.origin)\n"
+"control.position = get_viewport().get_camera_3d()."
+"unproject_position(global_transform.origin)\n"
+"[/codeblock]"
+msgstr ""
+"Retourne les coordonnées 2D dans le rectangle du [Viewport] qui "
+"correspondent à un point 3D donné dans l'espace du monde.\n"
+"[b]Note :[/b] Lorsque vous utilisez cette méthode pour positionner des "
+"éléments graphiques sur un [Viewport] en 3D, pensez à utiliser [method "
+"is_position_behind] pour les empêcher d'apparaître tant que le point 3D se "
+"trouve derrière la caméra :\n"
+"[codeblock]\n"
+"# Cet extrait de code fait partie d'un script qui hérite de Node3D.\n"
+"# `control` fait référence à un nœud qui hérite de Control.\n"
+"control.visible = not get_viewport().get_camera_3d()."
+"is_position_behind(global_transform.origin)\n"
+"control.position = get_viewport().get_camera_3d()."
+"unproject_position(global_transform.origin)\n"
+"[/codeblock]"
+
msgid "The [Environment] to use for this camera."
msgstr "L'[Environment] à utiliser pour cette caméra."
@@ -5650,13 +5574,6 @@ msgid "Returns the [RID] of the [World2D] canvas where this item is in."
msgstr "Retourne le [RID] de la toile [World2D] où cet élément se trouve."
msgid ""
-"Returns the mouse's position in the [CanvasLayer] that this [CanvasItem] is "
-"in using the coordinate system of the [CanvasLayer]."
-msgstr ""
-"Retourne la position de la souris dans le [CanvasLayer] que ce [CanvasItem] "
-"utilise suivant le système de coordonnées du [CanvasLayer]."
-
-msgid ""
"Returns the mouse's position in this [CanvasItem] using the local coordinate "
"system of this [CanvasItem]."
msgstr ""
@@ -5720,21 +5637,6 @@ msgstr ""
"est utilisée comme matériau de celui-ci."
msgid ""
-"If [code]true[/code], this [CanvasItem] is drawn. The node is only visible "
-"if all of its antecedents are visible as well (in other words, [method "
-"is_visible_in_tree] must return [code]true[/code]).\n"
-"[b]Note:[/b] For controls that inherit [Popup], the correct way to make them "
-"visible is to call one of the multiple [code]popup*()[/code] functions "
-"instead."
-msgstr ""
-"Si [code]true[/code], ce [CanvasItem] est affiché. Le nœud n'est visible que "
-"si tous ses parents le sont également (en d'autres termes, [méthode "
-"is_visible_in_tree] doit retourner [code]true[/code]).\n"
-"[b]Note :[/b] Pour les contrôles qui héritent de [Popup], la bonne manière "
-"de les rendre visible est plutôt d'appeler l'une des fonctions [code]popup*()"
-"[/code]."
-
-msgid ""
"If [code]true[/code], the node's Z index is relative to its parent's Z "
"index. If this node's Z index is 2 and its parent's effective Z index is 3, "
"then this node's effective Z index will be 2 + 3 = 5."
@@ -5931,7 +5833,7 @@ msgid "Kinematic character (2D)"
msgstr "Caractère cinématique (2D)"
msgid "2D Kinematic Character Demo"
-msgstr "Démo de caractère cinétique 2D"
+msgstr "Démo de personnage cinématique en 2D"
msgid ""
"Returns a [KinematicCollision2D], which contains information about the "
@@ -6352,11 +6254,14 @@ msgstr ""
msgid "A disabled collision shape has no effect in the world."
msgstr "Une forme de collision désactivée n’a aucun effet dans le monde."
+msgid "2D GD Paint Demo"
+msgstr "Démo 2D « GD Paint »"
+
msgid "Tween Demo"
msgstr "Démo des Tween"
msgid "GUI Drag And Drop Demo"
-msgstr "Démo de l'interface de déposer-glisser"
+msgstr "Démo de glisser-déplacer dans une interface graphique"
msgid ""
"The color's alpha component, typically on the range of 0 to 1. A value of 0 "
@@ -7117,16 +7022,7 @@ msgid "Control node gallery"
msgstr "Galerie des nœuds de contrôle"
msgid "All GUI Demos"
-msgstr "Toutes les démos d'interface"
-
-msgid ""
-"Marks an input event as handled. Once you accept an input event, it stops "
-"propagating, even to nodes listening to [method Node._unhandled_input] or "
-"[method Node._unhandled_key_input]."
-msgstr ""
-"Marque un événement d'entrée comme traité. Une fois l'événement accepté, il "
-"arrête de se propager, même aux nœuds surchargeant les méthodes [method Node."
-"_unhandled_input] ou [method Node._unhandled_key_input]."
+msgstr "Toutes les démos d'interface graphique"
msgid ""
"Finds the next (below in the tree) [Control] that can receive the focus."
@@ -9825,6 +9721,18 @@ msgstr ""
"Définit une liste des dossiers récemment visités dans le dialogue de "
"fichiers de ce projet."
+msgid ""
+"The language to use for the editor interface.\n"
+"Translations are provided by the community. If you spot a mistake, "
+"[url=$DOCS_URL/contributing/documentation/editor_and_docs_localization."
+"html]contribute to editor translations on Weblate![/url]"
+msgstr ""
+"La langue à utiliser dans l'interface de l'éditeur.\n"
+"Les traductions sont fournies par la communauté. Si vous apercevez une "
+"erreur, [url=$DOCS_URL/contributing/documentation/"
+"editor_and_docs_localization.html]merci de contribuer aux traductions de "
+"l'éditeur sur Weblate ![/url]"
+
msgid "Emitted after any editor setting has changed."
msgstr "Émis après qu'une préférence de l'éditeur a changé."
@@ -10567,6 +10475,16 @@ msgstr ""
"lumières physiques (qui ont une portée infinie). Lors de la création d'une "
"lumière Godot, la portée est fixée à 4096 unités."
+msgid "2D Particles Demo"
+msgstr "Démo des particules en 2D"
+
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+"Démo 2D « Dodge The Creeps » (utilise GPUParticles2D pour les traces "
+"derrière le joueur)"
+
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
"Retourne un rectangle contenant la position de toutes les particules "
@@ -10611,9 +10529,6 @@ msgstr ""
"Une ressource d'interpolation de couleur qui peut être utilisé pour générer "
"des couleurs entre des points de couleur définis par l'utilisateur."
-msgid "Returns the interpolated color specified by [code]offset[/code]."
-msgstr "Retourne la couleur interpolée spécifiée à [code]offset[/code]."
-
msgid ""
"Defines how the colors between points of the gradient are interpolated. See "
"[enum InterpolationMode] for available modes."
@@ -12527,6 +12442,9 @@ msgstr ""
msgid "Base class for all 3D joints."
msgstr "La classe parente de tous les joints 3D."
+msgid "3D Truck Town Demo"
+msgstr "Démo 3D « Truck Town »"
+
msgid "The node attached to the first side (A) of the joint."
msgstr "Le nœud attaché à la première extrémité (A) du joint."
@@ -13099,6 +13017,18 @@ msgid "Emitted when a user responds to a permission request."
msgstr "Émis quand l'utilisateur répond à une demande de permission."
msgid ""
+"Notification received when translations may have changed. Can be triggered "
+"by the user changing the locale. Can be used to respond to language changes, "
+"for example to change the UI strings on the fly. Useful when working with "
+"the built-in translation support, like [method Object.tr]."
+msgstr ""
+"La notification reçue quand les traductions peuvent avoir changé. Peut être "
+"déclenchée quand l'utilisateur modifie les paramètres régionaux. Permet de "
+"réagir aux changements de langue, par exemple en modifiant le texte des "
+"interfaces utilisateur à la volée. Pratique lorsque vous utilisez la prise "
+"en charge intégrée des traductions, comme par le biais de [method Object.tr]."
+
+msgid ""
"Notification received from Godot's crash handler when the engine is about to "
"crash.\n"
"Implemented on desktop platforms if the crash handler is enabled."
@@ -13636,9 +13566,6 @@ msgstr ""
"d'exécution.\n"
"[b]Note :[/b] Si n'est à l'intérieur d'un RPC, cette méthode retournera 0."
-msgid "WebRTC Signaling Demo"
-msgstr "Démo des signaux WebRTC"
-
msgid ""
"Returns the current state of the connection. See [enum ConnectionStatus]."
msgstr "Retourne l'état actuel de la connexion. Voir [enum ConnexionStatus]."
@@ -13837,6 +13764,12 @@ msgstr ""
"les zones d'un environnement qui peuvent être traversés pour aider les "
"agents dans leur cheminement dans les espaces compliqués."
+msgid "3D Navmesh Demo"
+msgstr "Démo de NavigationMesh (« navmesh ») en 3D"
+
+msgid "Using NavigationMeshes"
+msgstr "Utiliser les NavigationMesh"
+
msgid ""
"Adds a polygon using the indices of the vertices you get when calling "
"[method get_vertices]."
@@ -14843,17 +14776,6 @@ msgstr ""
"échelle de transformation locale."
msgid ""
-"Returns [code]true[/code] if the node is present in the [SceneTree], its "
-"[member visible] property is [code]true[/code] and all its antecedents are "
-"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
-msgstr ""
-"Retourne [code]true[/code] si le nœud est présent dans le [SceneTree], que "
-"sa propriété [member visible] est [code]true[/code] et que tous ses parents "
-"sont également visibles. Si un parent est caché, ce nœud ne sera pas visible "
-"dans l'arborescence de la scène."
-
-msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians."
msgstr ""
@@ -15492,75 +15414,6 @@ msgstr ""
"d'envoyer des paquets à une adresse de diffusion (par exemple "
"[code]255.255.255[/code])."
-msgid ""
-"Waits for a packet to arrive on the bound address. See [method bind].\n"
-"[b]Note:[/b] [method wait] can't be interrupted once it has been called. "
-"This can be worked around by allowing the other party to send a specific "
-"\"death pill\" packet like this:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"socket = PacketPeerUDP.new()\n"
-"# Server\n"
-"socket.set_dest_address(\"127.0.0.1\", 789)\n"
-"socket.put_packet(\"Time to stop\".to_ascii())\n"
-"\n"
-"# Client\n"
-"while socket.wait() == OK:\n"
-" var data = socket.get_packet().get_string_from_ascii()\n"
-" if data == \"Time to stop\":\n"
-" return\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var socket = new PacketPeerUDP();\n"
-"// Server\n"
-"socket.SetDestAddress(\"127.0.0.1\", 789);\n"
-"socket.PutPacket(\"Time to stop\".ToAscii());\n"
-"\n"
-"// Client\n"
-"while (socket.Wait() == OK)\n"
-"{\n"
-" string data = socket.GetPacket().GetStringFromASCII();\n"
-" if (data == \"Time to stop\")\n"
-" {\n"
-" return;\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"Attend qu'un paquet arrive sur l'adresse attachée. Voir [method bind].\n"
-"[b]Note :[/b] [method wait] ne peut pas être interrompu une fois appelé. "
-"Nous pouvons contourner cela en autorisant l'autre partie à envoyer un "
-"paquet \"death pill\" comme cela :\n"
-"[codeblock]\n"
-"# Serveur\n"
-"socket.set_dest_address(\"127.0.0.1\", 789)\n"
-"socket.put_packet(\"Time to stop\".to_ascii())\n"
-"\n"
-"# Client\n"
-"while socket.wait() == OK:\n"
-" var data = socket.get_packet().get_string_from_ascii()\n"
-" if data == \"Time to stop\":\n"
-" return\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var socket = new PacketPeerUDP();\n"
-"// Serveur\n"
-"socket.SetDestAddress(\"127.0.0.1\", 789);\n"
-"socket.PutPacket(\"Time to stop\".ToAscii());\n"
-"\n"
-"// Client\n"
-"while (socket.Wait() == OK)\n"
-"{\n"
-" string data = socket.GetPacket().GetStringFromASCII();\n"
-" if (data == \"Time to stop\")\n"
-" {\n"
-" return;\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
msgid "Provides an opaque background for [Control] children."
msgstr "Fournis un arrière-plan opaque pour le [Control] enfant."
@@ -16359,6 +16212,48 @@ msgstr ""
"Définit l'ordre d'une valeur de configuration (qui a une influence quand "
"sauvegardée dans le fichier de configuration)."
+msgid ""
+"Sets whether a setting requires restarting the editor to properly take "
+"effect.\n"
+"[b]Note:[/b] This is just a hint to display to the user that the editor must "
+"be restarted for changes to take effect. Enabling [method "
+"set_restart_if_changed] does [i]not[/i] delay the setting being set when "
+"changed."
+msgstr ""
+"Définit si un paramètre exige que l'éditeur soit redémarré afin d'être "
+"correctement pris en compte.\n"
+"[b]Note :[/b] Cela n'aura pour effet que d'indiquer (ou non) à l'utilisateur "
+"que l'éditeur doit être redémarré pour que les changements prennent effet. "
+"Activer [method set_restart_if_changed] [i]ne retarde pas[/i] l'affectation "
+"d'une valeur à un paramètre lorsqu'il est modifié."
+
+msgid ""
+"Sets the value of a setting.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"ProjectSettings.set_setting(\"application/config/name\", \"Example\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"ProjectSettings.SetSetting(\"application/config/name\", \"Example\");\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"This can also be used to erase custom project settings. To do this change "
+"the setting value to [code]null[/code]."
+msgstr ""
+"Définit la valeur d'un paramètre.\n"
+"[b]Exemple :[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"ProjectSettings.set_setting(\"application/config/name\", \"Exemple\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"ProjectSettings.SetSetting(\"application/config/name\", \"Exemple\");\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Cela permet aussi de supprimer un paramètre personnalisé du projet : pour ce "
+"faire, remplacez la valeur de ce dernier par [code]null[/code]."
+
msgid "Background color for the boot splash."
msgstr "La couleur d'arrière plan pour l'écran de lancement."
@@ -16418,6 +16313,14 @@ msgstr ""
"exportateurs utiliseront également cette icône si possible."
msgid ""
+"Translations of the project's name. This setting is used by OS tools to "
+"translate application name on Android, iOS and macOS."
+msgstr ""
+"Traductions du nom du projet. Ce paramètre est utilisé en interne par le "
+"système d'exploitation afin de traduire le nom de l'application sur Android, "
+"iOS et macOS."
+
+msgid ""
"Enables [url=https://github.com/facebook/zstd/releases/tag/v1.3.2]long-"
"distance matching[/url] in Zstandard."
msgstr ""
@@ -17195,9 +17098,6 @@ msgstr ""
msgid "2D in 3D Demo"
msgstr "Démo pour la 2D en 3D"
-msgid "Quaternion."
-msgstr "Quaternion."
-
msgid ""
"Constructs a quaternion that will rotate around the given axis by the "
"specified angle. The axis must be a normalized vector."
@@ -17626,9 +17526,6 @@ msgstr "Efface le [CanvasItem] et enlève toutes les commandes."
msgid "Sets the index for the [CanvasItem]."
msgstr "Définit l’index du [CanvasItem]."
-msgid "Sets a new material to the [CanvasItem]."
-msgstr "Définit un nouveau matériau pour le [CanvasItem]."
-
msgid "Sets if the [CanvasItem] uses its parent's material."
msgstr "Définit si le [CanvasItem] utilise le même matériau que son parent."
@@ -17690,13 +17587,6 @@ msgstr "Définit la forme du polygone occulteur."
msgid "Modulates all colors in the given canvas."
msgstr "Module toutes les couleurs du canevas spécifié."
-msgid ""
-"Sets the [i]BGMode[/i] of the environment. Equivalent to [member Environment."
-"background_mode]."
-msgstr ""
-"Définit le mode d'arrière-plan [i]BGMode[/i] de l'environnement. Équivalent "
-"à [member Environment.background_mode]."
-
msgid "Sets the intensity of the background color."
msgstr "Définit l'intensité de la couleur de l'arrière-plan."
@@ -17745,9 +17635,6 @@ msgstr ""
"Définit le drapeau pour un [enum InstanceFlags] spécifié. Voir [enum "
"InstanceFlags] pour plus de détails."
-msgid "Not implemented in Godot 3.x."
-msgstr "Non mis en œuvre dans Godot 3.x."
-
msgid "Returns the value of a certain material's parameter."
msgstr "Retourne la valeur du paramètre du matériau."
@@ -17822,9 +17709,6 @@ msgstr ""
"Retourne [code]true[/code] si les particules ne sont pas émises et qu'elles "
"sont inactives."
-msgid "Returns a shader's code."
-msgstr "Retourne le code d'un shader."
-
msgid "Returns the [Transform2D] set for a specific bone of this skeleton."
msgstr ""
"Retourne la [Transform2D] définie pour l'os spécifié pour ce squelette."
@@ -17865,22 +17749,10 @@ msgstr ""
"Définit le mode d'affichage de débogage de la fenêtre d'affichage. Voir "
"[enum ViewportDebugDraw] pour les options."
-msgid "If [code]true[/code], the viewport's canvas is not rendered."
-msgstr ""
-"Si [code]true[/code], le canevas de la fenêtre d'affichage n'est pas rendu."
-
msgid "Sets the viewport's global transformation matrix."
msgstr ""
"Définit la matrice de transformation globale de la fenêtre d'affichage."
-msgid "Sets the viewport's parent to another viewport."
-msgstr ""
-"Définir le parent de la fenêtre d'affichage par une autre fenêtre "
-"d'affichage."
-
-msgid "Sets the viewport's width and height."
-msgstr "Définit la largeur et la hauteur de la fenêtre d'affichage."
-
msgid ""
"If [code]true[/code], the viewport renders its background as transparent."
msgstr ""
@@ -17898,18 +17770,12 @@ msgid "The maximum Z-layer for canvas items."
msgstr ""
"Le niveau maximal du calque de profondeur pour les éléments de canevas."
-msgid "Unused enum in Godot 3.x."
-msgstr "Énumération inutilisée dans Godot 3.x."
-
msgid "Shader is a 3D shader."
msgstr "Ce shader est utilisé en 3D."
msgid "Shader is a 2D shader."
msgstr "Ce shader est utilisé en 2D."
-msgid "Shader is a particle shader."
-msgstr "Ce shader est utilisé pour les particules."
-
msgid "Represents the size of the [enum ShaderMode] enum."
msgstr "Représente la taille de l'énumération [enum ShaderMode]."
@@ -17919,45 +17785,27 @@ msgstr "La priorité minimale de rendu de tous les matériaux."
msgid "The maximum renderpriority of all materials."
msgstr "La priorité maximale de rendu de tous les matériaux."
-msgid "Array is a vertex array."
-msgstr "Le tableau est un tableau de sommets."
-
msgid "Array is a normal array."
msgstr "Le tableau est un tableau normal."
msgid "Array is a tangent array."
msgstr "Le tableau est un tableau de tangentes."
-msgid "Array is a color array."
-msgstr "Le tableau est un tableau de couleurs."
-
msgid "Array is an UV coordinates array."
msgstr "Le tableau est un tableau de coordonnées UV."
-msgid "Array is an UV coordinates array for the second UV coordinates."
-msgstr "Le tableau est un tableau de coordonnées UV secondaires (UV2)."
-
msgid "Array contains bone information."
msgstr "Le tableau contient des informations sur les os."
msgid "Array is weight information."
msgstr "Le tableau est une information sur le poids."
-msgid "Array is index array."
-msgstr "Le tableau est un tableau d'index."
-
-msgid "Flag used to mark a vertex array."
-msgstr "Drapeau utilisé pour marquer un tableau de sommets."
-
msgid "Flag used to mark a normal array."
msgstr "Drapeau utilisé pour marquer un tableau de normales."
msgid "Flag used to mark a tangent array."
msgstr "Drapeau utilisé pour marquer un tableau de tangentes."
-msgid "Flag used to mark a color array."
-msgstr "Drapeau utilisé pour marquer un tableau de couleurs."
-
msgid "Flag used to mark an UV coordinates array."
msgstr "Drapeau utilisé pour marquer un tableau de coordonnées UV."
@@ -17981,15 +17829,6 @@ msgstr "Représente la taille de l'énumération [enum PrimitiveType]."
msgid "Use [Transform2D] to store MultiMesh transform."
msgstr "Utiliser [Transform2D] pour stocker la transformation des MultiMesh."
-msgid "Is a directional (sun) light."
-msgstr "Est une lumière (solaire) directionnelle."
-
-msgid "Is an omni light."
-msgstr "Est une lumière omnidirectionnelle."
-
-msgid "Is a spot light."
-msgstr "Est une lumière ponctuelle."
-
msgid "The light's influence on specularity."
msgstr "L’influence de la lumière sur la spécularité."
@@ -18005,9 +17844,6 @@ msgstr "L’angle du projecteur."
msgid "The spotlight's attenuation."
msgstr "L'atténuation du projecteur."
-msgid "Max distance that shadows will be rendered."
-msgstr "Distance maximale à laquelle les ombres seront rendues."
-
msgid "Represents the size of the [enum LightParam] enum."
msgstr "Représente la taille de l'énumération [enum LightParam]."
@@ -18047,31 +17883,6 @@ msgstr "Trier les particules par durée de vie."
msgid "Sort particles based on their distance to the camera."
msgstr "Trier les particules suivant leur distance à la caméra."
-msgid "Do not update the viewport."
-msgstr "Ne pas mettre à jour le viewport."
-
-msgid "Update the viewport once then set to disabled."
-msgstr "Met à jour le fenêtre d'affichage une fois puis arrête les mis à jour."
-
-msgid "Update the viewport whenever it is visible."
-msgstr "Met à jour la fenêtre d'affichage quand elle est visible."
-
-msgid "Always update the viewport."
-msgstr "Toujours mettre à jour la fenêtre d'affichage."
-
-msgid "The viewport is always cleared before drawing."
-msgstr "La fenêtre d'affichage est toujours nettoyée avant d'être dessinée."
-
-msgid "The viewport is never cleared before drawing."
-msgstr "La fenêtre d'affichage n'est jamais nettoyée avant d'être dessinée."
-
-msgid ""
-"The viewport is cleared once, then the clear mode is set to [constant "
-"VIEWPORT_CLEAR_NEVER]."
-msgstr ""
-"La fenêtre d'affichage sera effacée une seule fois, puis passera en mode "
-"[constant VIEWPORT_CLEAR_NEVER]."
-
msgid "Number of objects drawn in a single frame."
msgstr "Le nombre d'objets affichés en une seule trame."
@@ -18550,12 +18361,6 @@ msgstr "Classe de base pour les barres de défilement."
msgid "Emitted when the scrollbar is being scrolled."
msgstr "Émis quand la barre de défilement est défilée."
-msgid "The current horizontal scroll value."
-msgstr "La valeur de défilement horizontal actuelle."
-
-msgid "The current vertical scroll value."
-msgstr "La valeur de défilement vertical actuelle."
-
msgid "Emitted when scrolling stops."
msgstr "Émis lorsque le défilement s'arrête."
@@ -19206,13 +19011,6 @@ msgstr ""
msgid "Returns the smallest border width out of all four borders."
msgstr "Retourne la plus fine bordure parmi les quatre bordures."
-msgid ""
-"This changes the size of the faded ring. Higher values can be used to "
-"achieve a \"blurry\" effect."
-msgstr ""
-"Cela change la taille de l’anneau fané. Des valeurs plus élevées peuvent "
-"être utilisées pour obtenir un effet « flou »."
-
msgid "The background color of the stylebox."
msgstr "La couleur d'arrière-plan de la stylebox."
@@ -21602,10 +21400,6 @@ msgstr ""
"[constant Node. NOTIFICATION_DRAG_END] lorsque vous préférez récupérer "
"directement la valeur."
-msgid "Stops the input from propagating further down the [SceneTree]."
-msgstr ""
-"Arrête la propagation de l'entrée plus profondément dans le [SceneTree]."
-
msgid "If [code]true[/code], the viewport will process 2D audio streams."
msgstr "Si [code]true[/code], la fenêtre d'affichage gèrera les flux audio 2D."
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index a5957c9be4..526120ddf3 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -79,7 +79,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2023-04-19 00:40+0000\n"
+"PO-Revision-Date: 2023-05-19 06:49+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hans/>\n"
@@ -414,7 +414,7 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] If [param value] and/or [param type] are freed objects (see "
"[method @GlobalScope.is_instance_valid]), or [param type] is not one of the "
-"above options, this method will raise an runtime error.\n"
+"above options, this method will raise a runtime error.\n"
"See also [method @GlobalScope.typeof], [method type_exists], [method Array."
"is_same_typed] (and other [Array] methods)."
msgstr ""
@@ -486,7 +486,13 @@ msgid ""
"[b]Note:[/b] Files have to be imported into the engine first to load them "
"using this function. If you want to load [Image]s at run-time, you may use "
"[method Image.load]. If you want to import audio files, you can use the "
-"snippet described in [member AudioStreamMP3.data]."
+"snippet described in [member AudioStreamMP3.data].\n"
+"[b]Note:[/b] If [member ProjectSettings.editor/export/"
+"convert_text_resources_to_binary] is [code]true[/code], [method @GDScript."
+"load] will not be able to read converted files in an exported project. If "
+"you rely on run-time loading of files present within the PCK, set [member "
+"ProjectSettings.editor/export/convert_text_resources_to_binary] to "
+"[code]false[/code]."
msgstr ""
"返回一个位于文件系统绝对路径 [param path] 的 [Resource]。除非该资源已在其他地"
"方引用(例如在另一个脚本或场景中),否则资源是在函数调用时从磁盘加载的——这可"
@@ -503,7 +509,12 @@ msgstr ""
"景。\n"
"[b]注意:[/b]必须先将文件导入引擎才能使用此函数加载它们。如果你想在运行时加"
"载 [Image],你可以使用 [method Image.load]。如果要导入音频文件,可以使用 "
-"[member AudioStreamMP3.data]中描述的代码片段。"
+"[member AudioStreamMP3.data] 中描述的代码片段。\n"
+"[b]注意:[/b]如果 [member ProjectSettings.editor/export/"
+"convert_text_resources_to_binary] 为 [code]true[/code],则 [method @GDScript."
+"load] 无法在导出后的项目中读取已转换的文件。如果你需要在运行时加载存在于 PCK "
+"中的文件,请将 [member ProjectSettings.editor/export/"
+"convert_text_resources_to_binary] 设置为 [code]false[/code]。"
msgid ""
"Returns a [Resource] from the filesystem located at [param path]. During run-"
@@ -1505,17 +1516,17 @@ msgstr ""
msgid ""
"Returns the arc cosine of [param x] in radians. Use to get the angle of "
-"cosine [param x]. [param x] must be between [code]-1.0[/code] and [code]1.0[/"
-"code] (inclusive), otherwise, [method acos] will return [constant @GDScript."
-"NAN].\n"
+"cosine [param x]. [param x] will be clamped between [code]-1.0[/code] and "
+"[code]1.0[/code] (inclusive), in order to prevent [method acos] from "
+"returning [constant @GDScript.NAN].\n"
"[codeblock]\n"
"# c is 0.523599 or 30 degrees if converted with rad_to_deg(c)\n"
"var c = acos(0.866025)\n"
"[/codeblock]"
msgstr ""
"返回 [param x] 的反余弦,单位为弧度。用来获取余弦 [param x] 的角度。[param "
-"x] 必须在 [code]-1.0[/code] 和 [code]1.0[/code](包括)之间,否则 [method "
-"acos] 将返回 [constant @GDScript.NAN]。\n"
+"x] 会被钳制在 [code]-1.0[/code] 和 [code]1.0[/code](包括)之间,因此 "
+"[method acos] 不会返回 [constant @GDScript.NAN]。\n"
"[codeblock]\n"
"# 如果用 rad_to_deg(c) 转换,c为0.523599或30度\n"
"var c = acos(0.866025)\n"
@@ -1523,16 +1534,17 @@ msgstr ""
msgid ""
"Returns the arc sine of [param x] in radians. Use to get the angle of sine "
-"[param x]. [param x] must be between [code]-1.0[/code] and [code]1.0[/code] "
-"(inclusive), otherwise, [method asin] will return [constant @GDScript.NAN].\n"
+"[param x]. [param x] will be clamped between [code]-1.0[/code] and "
+"[code]1.0[/code] (inclusive), in order to prevent [method asin] from "
+"returning [constant @GDScript.NAN].\n"
"[codeblock]\n"
"# s is 0.523599 or 30 degrees if converted with rad_to_deg(s)\n"
"var s = asin(0.5)\n"
"[/codeblock]"
msgstr ""
"返回 [param x] 的反正弦值,单位为弧度。用来获取正弦 [param x] 的角度。[param "
-"x] 必须在 [code]-1.0[/code] 和 [code]1.0[/code](包括)之间,否则 [method "
-"asin] 将返回 [constant @GDScript.NAN]。\n"
+"x] 会被钳制在 [code]-1.0[/code] 和 [code]1.0[/code](包括)之间,因此 "
+"[method asin] 不会返回 [constant @GDScript.NAN]。\n"
"[codeblock]\n"
"# 如果用 rad_to_deg(s) 转换,s为0.523599或30度\n"
"var s = asin(0.5)\n"
@@ -2622,52 +2634,73 @@ msgstr ""
msgid ""
"Converts one or more arguments of any type to string in the best way "
-"possible and prints them to the console. The following BBCode tags are "
-"supported: b, i, u, s, indent, code, url, center, right, color, bgcolor, "
-"fgcolor. Color tags only support named colors such as [code]red[/code], "
-"[i]not[/i] hexadecimal color codes. Unsupported tags will be left as-is in "
-"standard output.\n"
+"possible and prints them to the console.\n"
+"The following BBCode tags are supported: [code]b[/code], [code]i[/code], "
+"[code]u[/code], [code]s[/code], [code]indent[/code], [code]code[/code], "
+"[code]url[/code], [code]center[/code], [code]right[/code], [code]color[/"
+"code], [code]bgcolor[/code], [code]fgcolor[/code].\n"
+"Color tags only support the following named colors: [code]black[/code], "
+"[code]red[/code], [code]green[/code], [code]yellow[/code], [code]blue[/"
+"code], [code]magenta[/code], [code]pink[/code], [code]purple[/code], "
+"[code]cyan[/code], [code]white[/code], [code]orange[/code], [code]gray[/"
+"code]. Hexadecimal color codes are not supported.\n"
+"URL tags only support URLs wrapped by an URL tag, not URLs with a different "
+"title.\n"
"When printing to standard output, the supported subset of BBCode is "
-"converted to ANSI escape codes for the terminal emulator to display. "
-"Displaying ANSI escape codes is currently only supported on Linux and macOS. "
-"Support for ANSI escape codes may vary across terminal emulators, especially "
-"for italic and strikethrough.\n"
+"converted to ANSI escape codes for the terminal emulator to display. Support "
+"for ANSI escape codes varies across terminal emulators, especially for "
+"italic and strikethrough. In standard output, [code]code[/code] is "
+"represented with faint text but without any font change. Unsupported tags "
+"are left as-is in standard output.\n"
"[codeblocks]\n"
"[gdscript]\n"
-"print_rich(\"[code][b]Hello world![/b][/code]\") # Prints out: [b]Hello "
-"world![/b]\n"
+"print_rich(\"[color=green][b]Hello world![/b][/color]\") # Prints out "
+"\"Hello world!\" in green with a bold font\n"
"[/gdscript]\n"
"[csharp]\n"
-"GD.PrintRich(\"[code][b]Hello world![/b][/code]\"); // Prints out: [b]Hello "
-"world![/b]\n"
+"GD.PrintRich(\"[color=green][b]Hello world![/b][/color]\"); // Prints out "
+"\"Hello world!\" in green with a bold font\n"
"[/csharp]\n"
"[/codeblocks]\n"
"[b]Note:[/b] Consider using [method push_error] and [method push_warning] to "
"print error and warning messages instead of [method print] or [method "
"print_rich]. This distinguishes them from print messages used for debugging "
"purposes, while also displaying a stack trace when an error or warning is "
-"printed."
+"printed.\n"
+"[b]Note:[/b] On Windows, only Windows 10 and later correctly displays ANSI "
+"escape codes in standard output."
msgstr ""
"以尽可能最佳的方式将一个或多个任意类型的参数转换为字符串,并将其打印到控制"
-"台。支持以下 BBCode 标签:b、i、u、s、indent、code、url、center、right、"
-"color、bgcolor、fgcolor。颜色标签仅支持命名颜色,例如 [code]red[/code]、[i]不"
-"支持[/i] 十六进制颜色代码。不支持的标签将在标准输出中保持原样。\n"
+"台。\n"
+"支持以下 BBCode 标签: [code]b[/code]、[code]i[/code]、[code]u[/code]、"
+"[code]s[/code]、[code]indent[/code]、[code]code[/code]、[code]url[/code]、"
+"[code]center[/code]、[code]right[/code]、[code]color[/code]、[code]bgcolor[/"
+"code]、[code]fgcolor[/code]。\n"
+"颜色标签仅支持以下颜色名称:[code]black[/code]、[code]red[/code]、"
+"[code]green[/code]、[code]yellow[/code]、[code]blue[/code]、[code]magenta[/"
+"code]、[code]pink[/code]、[code]purple[/code]、[code]cyan[/code]、"
+"[code]white[/code]、[code]orange[/code]、[code]gray[/code]。不支持十六进制颜"
+"色代码。\n"
+"URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 URL。\n"
"当打印到标准输出时,支持的 BBCode 子集被转换为 ANSI 转义码以供终端仿真器显"
-"示。目前仅 Linux 和 macOS 支持显示 ANSI 转义码。对 ANSI 转义码的支持可能因终"
-"端仿真器而异,尤其是斜体和删除线。\n"
+"示。对 ANSI 转义码的支持可能因终端仿真器而异,尤其是斜体和删除线。在标准输出"
+"中,[code]code[/code] 会使用较弱的文本表示,但字体不变。不支持的标签在标准输"
+"出中会原样保留。\n"
"[codeblocks]\n"
"[gdscript]\n"
-"print_rich(\"[code][b]Hello world![/b][/code]\") # 输出:[b]Hello world![/"
-"b]\n"
+"print_rich(\"[color=green][b]Hello world![/b][/color]\") # 输出绿色的粗"
+"体“Hello world!”\n"
"[/gdscript]\n"
"[csharp]\n"
-"GD.PrintRich(\"[code][b]Hello world![/b][/code]\"); // 输出:[b]Hello world!"
-"[/b]\n"
+"GD.PrintRich(\"[color=green][b]Hello world![/b][/color]\"); // 输出绿色的粗"
+"体“Hello world!”\n"
"[/csharp]\n"
"[/codeblocks]\n"
"[b]注意:[/b]请考虑使用 [method push_error] 和 [method push_warning] 来打印错"
"误和警告消息,而不是 [method print] 或 [method print_rich]。这将它们与用于调"
-"试目的的打印消息区分开来,同时还会在打印错误或警告时显示堆栈跟踪。"
+"试目的的打印消息区分开来,同时还会在打印错误或警告时显示堆栈跟踪。\n"
+"[b]注意:[/b]在 Windows 中,只有 Windows 10 及后续版本能够在标准输出中正确显"
+"示 ANSI 转义码。"
msgid ""
"If verbose mode is enabled ([method OS.is_stdout_verbose] returning "
@@ -4751,18 +4784,6 @@ msgstr ""
"MIDIMessage] 属性。"
msgid ""
-"MIDI note OFF message. See the documentation of [InputEventMIDI] for "
-"information of how to use MIDI inputs."
-msgstr ""
-"MIDI 音符 OFF 消息。如何使用 MIDI 输入的信息请参阅 [InputEventMIDI] 的文档。"
-
-msgid ""
-"MIDI note ON message. See the documentation of [InputEventMIDI] for "
-"information of how to use MIDI inputs."
-msgstr ""
-"MIDI 音符 ON 消息。如何使用 MIDI 输入的信息请参阅 [InputEventMIDI] 的文档。"
-
-msgid ""
"MIDI aftertouch message. This message is most often sent by pressing down on "
"the key after it \"bottoms out\"."
msgstr "MIDI 触后消息。这个消息经常都是在按键“结束”后继续施压时发送。"
@@ -5353,14 +5374,6 @@ msgstr "只有在支持现代渲染器(不包含 GLES3)的情况下该属性
msgid "The property is read-only in the [EditorInspector]."
msgstr "该属性在 [EditorInspector] 中只读。"
-msgid "Default usage (storage, editor and network)."
-msgstr "默认用法(存储、编辑器和网络)。"
-
-msgid ""
-"Default usage but without showing the property in the editor (storage, "
-"network)."
-msgstr "默认用法,但不在编辑器中显示属性(存储、网络)。"
-
msgid "Flag for a normal method."
msgstr "普通方法的标志。"
@@ -5971,27 +5984,29 @@ msgid ""
" var data = \"My secret text!!\" # Data size must be multiple of 16 "
"bytes, apply padding if needed.\n"
" # Encrypt ECB\n"
-" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())\n"
-" var encrypted = aes.update(data.to_utf8())\n"
+" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8_buffer())\n"
+" var encrypted = aes.update(data.to_utf8_buffer())\n"
" aes.finish()\n"
" # Decrypt ECB\n"
-" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())\n"
+" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8_buffer())\n"
" var decrypted = aes.update(encrypted)\n"
" aes.finish()\n"
" # Check ECB\n"
-" assert(decrypted == data.to_utf8())\n"
+" assert(decrypted == data.to_utf8_buffer())\n"
"\n"
" var iv = \"My secret iv!!!!\" # IV must be of exactly 16 bytes.\n"
" # Encrypt CBC\n"
-" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())\n"
-" encrypted = aes.update(data.to_utf8())\n"
+" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8_buffer(), iv."
+"to_utf8_buffer())\n"
+" encrypted = aes.update(data.to_utf8_buffer())\n"
" aes.finish()\n"
" # Decrypt CBC\n"
-" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())\n"
+" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8_buffer(), iv."
+"to_utf8_buffer())\n"
" decrypted = aes.update(encrypted)\n"
" aes.finish()\n"
" # Check CBC\n"
-" assert(decrypted == data.to_utf8())\n"
+" assert(decrypted == data.to_utf8_buffer())\n"
"[/gdscript]\n"
"[csharp]\n"
"using Godot;\n"
@@ -6008,28 +6023,30 @@ msgid ""
" string data = \"My secret text!!\"; // Data size must be multiple of "
"16 bytes, apply padding if needed.\n"
" // Encrypt ECB\n"
-" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8());\n"
-" byte[] encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer());\n"
+" byte[] encrypted = _aes.Update(data.ToUtf8Buffer());\n"
" _aes.Finish();\n"
" // Decrypt ECB\n"
-" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer());\n"
" byte[] decrypted = _aes.Update(encrypted);\n"
" _aes.Finish();\n"
" // Check ECB\n"
-" Debug.Assert(decrypted == data.ToUtf8());\n"
+" Debug.Assert(decrypted == data.ToUtf8Buffer());\n"
"\n"
" string iv = \"My secret iv!!!!\"; // IV must be of exactly 16 "
"bytes.\n"
" // Encrypt CBC\n"
-" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8(), iv.ToUtf8());\n"
-" encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer(), iv."
+"ToUtf8Buffer());\n"
+" encrypted = _aes.Update(data.ToUtf8Buffer());\n"
" _aes.Finish();\n"
" // Decrypt CBC\n"
-" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8(), iv.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer(), iv."
+"ToUtf8Buffer());\n"
" decrypted = _aes.Update(encrypted);\n"
" _aes.Finish();\n"
" // Check CBC\n"
-" Debug.Assert(decrypted == data.ToUtf8());\n"
+" Debug.Assert(decrypted == data.ToUtf8Buffer());\n"
" }\n"
"}\n"
"[/csharp]\n"
@@ -6048,27 +6065,29 @@ msgstr ""
" var data = \"My secret text!!\" # 数据大小必须是 16 字节的倍数,需要时添"
"加补白。\n"
" # ECB 加密\n"
-" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())\n"
-" var encrypted = aes.update(data.to_utf8())\n"
+" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8_buffer())\n"
+" var encrypted = aes.update(data.to_utf8_buffer())\n"
" aes.finish()\n"
" # ECB 解密\n"
-" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())\n"
+" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8_buffer())\n"
" var decrypted = aes.update(encrypted)\n"
" aes.finish()\n"
" # ECB 校验\n"
-" assert(decrypted == data.to_utf8())\n"
+" assert(decrypted == data.to_utf8_buffer())\n"
"\n"
" var iv = \"My secret iv!!!!\" # IV 必须是 16 字节。\n"
" # CBC 加密\n"
-" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())\n"
-" encrypted = aes.update(data.to_utf8())\n"
+" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8_buffer(), iv."
+"to_utf8_buffer())\n"
+" encrypted = aes.update(data.to_utf8_buffer())\n"
" aes.finish()\n"
" # CBC 解密\n"
-" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())\n"
+" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8_buffer(), iv."
+"to_utf8_buffer())\n"
" decrypted = aes.update(encrypted)\n"
" aes.finish()\n"
" # CBC 校验\n"
-" assert(decrypted == data.to_utf8())\n"
+" assert(decrypted == data.to_utf8_buffer())\n"
"[/gdscript]\n"
"[csharp]\n"
"using Godot;\n"
@@ -6084,27 +6103,29 @@ msgstr ""
" string data = \"My secret text!!\"; // 数据大小必须是 16 字节的倍数,"
"需要时添加补白。\n"
" // ECB 加密\n"
-" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8());\n"
-" byte[] encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer());\n"
+" byte[] encrypted = _aes.Update(data.ToUtf8Buffer());\n"
" _aes.Finish();\n"
" // ECB 解密\n"
-" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer());\n"
" byte[] decrypted = _aes.Update(encrypted);\n"
" _aes.Finish();\n"
" // ECB 校验\n"
-" Debug.Assert(decrypted == data.ToUtf8());\n"
+" Debug.Assert(decrypted == data.ToUtf8Buffer());\n"
"\n"
" string iv = \"My secret iv!!!!\"; // IV 必须是 16 字节。\n"
" // CBC 加密\n"
-" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8(), iv.ToUtf8());\n"
-" encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer(), iv."
+"ToUtf8Buffer());\n"
+" encrypted = _aes.Update(data.ToUtf8Buffer());\n"
" _aes.Finish();\n"
" // CBC 解密\n"
-" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8(), iv.ToUtf8());\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer(), iv."
+"ToUtf8Buffer());\n"
" decrypted = _aes.Update(encrypted);\n"
" _aes.Finish();\n"
" // CBC 校验\n"
-" Debug.Assert(decrypted == data.ToUtf8());\n"
+" Debug.Assert(decrypted == data.ToUtf8Buffer());\n"
" }\n"
"}\n"
"[/csharp]\n"
@@ -6161,9 +6182,11 @@ msgid "Maximum value for the mode enum."
msgstr "模式列举的最大值。"
msgid ""
-"Physics body for 2D physics which moves only by script or animation. Useful "
-"for moving platforms and doors."
-msgstr "用于 2D 物理中仅通过脚本或动画移动的物理实体。适用于移动的平台和门。"
+"Physics body for 2D physics which moves only by script or animation (while "
+"affecting other bodies on its path). Useful for moving platforms and doors."
+msgstr ""
+"2D 物理中的物理物体,仅能够通过脚本或动画移动(会影响路径上的其他物体)。适用"
+"于移动的平台和门。"
msgid ""
"Animatable body for 2D physics.\n"
@@ -6197,9 +6220,11 @@ msgstr ""
"要[/b]与[method PhysicsBody2D.move_and_collide]一起使用。"
msgid ""
-"Physics body for 3D physics which moves only by script or animation. Useful "
-"for moving platforms and doors."
-msgstr "仅通过脚本或动画移动、用于3D 物理的物理体。适用于移动的平台和门。"
+"Physics body for 3D physics which moves only by script or animation (while "
+"affecting other bodies on its path). Useful for moving platforms and doors."
+msgstr ""
+"3D 物理中的物理物体,仅能够通过脚本或动画移动(会影响路径上的其他物体)。适用"
+"于移动的平台和门。"
msgid ""
"Animatable body for 3D physics.\n"
@@ -8664,7 +8689,7 @@ msgstr ""
"[b]注意:[/b]方法/音频/动画播放轨道不会被该方法处理。"
msgid ""
-"If playing, the the current animation's key, otherwise, the animation last "
+"If playing, the current animation's key, otherwise, the animation last "
"played. When set, this changes the animation, but will not play it unless "
"already playing. See also [member current_animation]."
msgstr ""
@@ -9801,8 +9826,8 @@ msgid "The magnitude of area-specific wind force."
msgstr "特定区域风力的大小。"
msgid ""
-"The [Node3D] which is used to specify the the direction and origin of an "
-"area-specific wind force. The direction is opposite to the z-axis of the "
+"The [Node3D] which is used to specify the direction and origin of an area-"
+"specific wind force. The direction is opposite to the z-axis of the "
"[Node3D]'s local transform, and its origin is the origin of the [Node3D]'s "
"local transform."
msgstr ""
@@ -10548,18 +10573,47 @@ msgstr ""
msgid ""
"Returns the maximum value contained in the array if all elements are of "
"comparable types. If the elements can't be compared, [code]null[/code] is "
-"returned."
+"returned.\n"
+"To find the maximum value using a custom comparator, you can use [method "
+"reduce]. In this example every array element is checked and the first "
+"maximum value is returned:\n"
+"[codeblock]\n"
+"func _ready():\n"
+" var arr = [Vector2(0, 1), Vector2(2, 0), Vector2(1, 1), Vector2(1, 0), "
+"Vector2(0, 2)]\n"
+" # In this example we compare the lengths.\n"
+" print(arr.reduce(func(max, val): return val if is_length_greater(val, "
+"max) else max))\n"
+"\n"
+"func is_length_greater(a, b):\n"
+" return a.length() > b.length()\n"
+"[/codeblock]"
msgstr ""
-"如果数组中的所有元素都是可比较的类型,返回其中的最大值。如果无法比较,返回 "
-"[code]null[/code]。"
+"如果数组中包含的所有元素都是可比较的类型,则返回其中的最大值。如果无法比较,"
+"则返回 [code]null[/code]。\n"
+"要使用自定义比较器来查找最大值,可以使用 [method reduce]。这个例子中会比较数"
+"组中的每个元素,并返回第一个最大值:\n"
+"[codeblock]\n"
+"func _ready():\n"
+" var arr = [Vector2(0, 1), Vector2(2, 0), Vector2(1, 1), Vector2(1, 0), "
+"Vector2(0, 2)]\n"
+" # 这个例子中我们比较的是长度。\n"
+" print(arr.reduce(func(max, val): return val if is_length_greater(val, "
+"max) else max))\n"
+"\n"
+"func is_length_greater(a, b):\n"
+" return a.length() > b.length()\n"
+"[/codeblock]"
msgid ""
"Returns the minimum value contained in the array if all elements are of "
"comparable types. If the elements can't be compared, [code]null[/code] is "
-"returned."
+"returned.\n"
+"See also [method max] for an example of using a custom comparator."
msgstr ""
-"如果数组中的所有元素都是可比较的类型,返回其中的最小值。如果无法比较,返回 "
-"[code]null[/code]。"
+"如果数组中包含的所有元素都是可比较的类型,则返回其中的最小值。如果无法比较,"
+"则返回 [code]null[/code]。\n"
+"使用自定义比较器的示例见 [method max]。"
msgid ""
"Returns a random value from the target array.\n"
@@ -13657,13 +13711,36 @@ msgid ""
msgstr ""
"如果该音频流仅支持单声道播放,则返回 true;如果音频流支持复调,则返回 false。"
-msgid "Audio stream that generates sounds procedurally."
-msgstr "使用程序生成声音的音频流。"
+msgid "An audio stream with utilities for procedural sound generation."
+msgstr "提供程序式声音生成工具的音频流。"
msgid ""
-"This audio stream does not play back sounds, but expects a script to "
-"generate audio data for it instead. See also "
-"[AudioStreamGeneratorPlayback].\n"
+"[AudioStreamGenerator] is a type of audio stream that does not play back "
+"sounds on its own; instead, it expects a script to generate audio data for "
+"it. See also [AudioStreamGeneratorPlayback].\n"
+"Here's a sample on how to use it to generate a sine wave:\n"
+"[codeblock]\n"
+"var playback # Will hold the AudioStreamGeneratorPlayback.\n"
+"@onready var sample_hz = $AudioStreamPlayer.stream.mix_rate\n"
+"var pulse_hz = 440.0 # The frequency of the sound wave.\n"
+"\n"
+"func _ready():\n"
+" $AudioStreamPlayer.play()\n"
+" playback = $AudioStreamPlayer.get_stream_playback()\n"
+" fill_buffer()\n"
+"\n"
+"func fill_buffer():\n"
+" var phase = 0.0\n"
+" var increment = pulse_hz / sample_hz\n"
+" var frames_available = playback.get_frames_available()\n"
+"\n"
+" for i in range(frames_available):\n"
+" playback.push_frame(Vector2.ONE * sin(phase * TAU))\n"
+" phase = fmod(phase + increment, 1.0)\n"
+"[/codeblock]\n"
+"In the example above, the \"AudioStreamPlayer\" node must use an "
+"[AudioStreamGenerator] as its stream. The [code]fill_buffer[/code] function "
+"provides audio data for approximating a sine wave.\n"
"See also [AudioEffectSpectrumAnalyzer] for performing real-time audio "
"spectrum analysis.\n"
"[b]Note:[/b] Due to performance constraints, this class is best used from C# "
@@ -13671,12 +13748,34 @@ msgid ""
"class from GDScript, consider using a lower [member mix_rate] such as 11,025 "
"Hz or 22,050 Hz."
msgstr ""
-"该音频流不播放声音,但需要脚本为其生成音频数据。另见 "
-"[AudioStreamGeneratorPlayback]。\n"
-"另请参阅 [AudioEffectSpectrumAnalyzer] 以执行实时音频频谱分析。\n"
-"[b]注意:[/b]由于性能限制,最好从 C# 或通过 GDExtension 编译的语言中使用此"
-"类。如果仍想使从 GDScript 中使用此类,请考虑使用较低的 [member mix_rate],例"
-"如 11,025 Hz 或 22,050 Hz。"
+"[AudioStreamGenerator] 是一种音频流,它自己并不播放声音,而是要用脚本来为它生"
+"成音频数据。另见 [AudioStreamGeneratorPlayback]。\n"
+"以下是用它来生成正弦波的例子:\n"
+"[codeblock]\n"
+"var playback # 存放 AudioStreamGeneratorPlayback。\n"
+"@onready var sample_hz = $AudioStreamPlayer.stream.mix_rate\n"
+"var pulse_hz = 440.0 # 声音波形的频率。\n"
+"\n"
+"func _ready():\n"
+" $AudioStreamPlayer.play()\n"
+" playback = $AudioStreamPlayer.get_stream_playback()\n"
+" fill_buffer()\n"
+"\n"
+"func fill_buffer():\n"
+" var phase = 0.0\n"
+" var increment = pulse_hz / sample_hz\n"
+" var frames_available = playback.get_frames_available()\n"
+"\n"
+" for i in range(frames_available):\n"
+" playback.push_frame(Vector2.ONE * sin(phase * TAU))\n"
+" phase = fmod(phase + increment, 1.0)\n"
+"[/codeblock]\n"
+"上面的例子中,“AudioStreamPlayer”节点必须使用 [AudioStreamGenerator] 作为其"
+"流。[code]fill_buffer[/code] 函数负责提供模拟正弦波的音频数据。\n"
+"要执行实时音频频谱分析,见 [AudioEffectSpectrumAnalyzer]。\n"
+"[b]注意:[/b]由于性能的限制,这个类最好在 C# 或者在利用 GDExtension 的编译语"
+"言中使用。如果你仍然想要在 GDScript 中使用这个类,请考虑使用 11,025 Hz 或 "
+"22,050 Hz 等较低的 [member mix_rate]。"
msgid ""
"The length of the buffer to generate (in seconds). Lower values result in "
@@ -15622,10 +15721,13 @@ msgstr ""
msgid ""
"If [code]true[/code], subsurface scattering is enabled. Emulates light that "
-"penetrates an object's surface, is scattered, and then emerges."
+"penetrates an object's surface, is scattered, and then emerges. Subsurface "
+"scattering quality is controlled by [member ProjectSettings.rendering/"
+"environment/subsurface_scattering/subsurface_scattering_quality]."
msgstr ""
"如果为 [code]true[/code],则启用次表面散射。模拟光线穿透物体表面,被散射,然"
-"后出现。"
+"后出现。次表面散射质量由 [member ProjectSettings.rendering/environment/"
+"subsurface_scattering/subsurface_scattering_quality] 控制。"
msgid ""
"If [code]true[/code], subsurface scattering will use a special mode "
@@ -15635,8 +15737,14 @@ msgstr ""
"如果为 [code]true[/code],则次表面散射将使用针对人类皮肤的颜色和密度进行优化"
"的特殊模式,例如提升次表面散射中红色通道的强度。"
-msgid "The strength of the subsurface scattering effect."
-msgstr "次表面散射效果的强度。"
+msgid ""
+"The strength of the subsurface scattering effect. The depth of the effect is "
+"also controlled by [member ProjectSettings.rendering/environment/"
+"subsurface_scattering/subsurface_scattering_scale], which is set globally."
+msgstr ""
+"次表面散射效果的强度。效果的深度也受到全局的 [member ProjectSettings."
+"rendering/environment/subsurface_scattering/subsurface_scattering_scale] 的控"
+"制。"
msgid ""
"Texture used to control the subsurface scattering strength. Stored in the "
@@ -17705,18 +17813,27 @@ msgstr ""
msgid ""
"Returns a copy of this [Callable] with one or more arguments bound. When "
"called, the bound arguments are passed [i]after[/i] the arguments supplied "
-"by [method call]."
+"by [method call]. See also [method unbind].\n"
+"[b]Note:[/b] When this method is chained with other similar methods, the "
+"order in which the argument list is modified is read from right to left."
msgstr ""
"返回该 [Callable] 的副本,绑定其中的一个或多个参数。调用时,被绑定的参数在提"
-"供给 [method call] 的参数[i]之后[/i]传递。"
+"供给 [method call] 的参数[i]之后[/i]传递。另见 [method unbind]。\n"
+"[b]注意:[/b]这个方法与其他类似方法链式调用时,参数列表的修改顺序是从右至左"
+"的。"
msgid ""
"Returns a copy of this [Callable] with one or more arguments bound, reading "
"them from an array. When called, the bound arguments are passed [i]after[/i] "
-"the arguments supplied by [method call]."
+"the arguments supplied by [method call]. See also [method unbind].\n"
+"[b]Note:[/b] When this method is chained with other similar methods, the "
+"order in which the argument list is modified is read from right to left."
msgstr ""
"返回该 [Callable] 的副本,绑定其中的一个或多个参数,参数从数组中读取。调用"
-"时,被绑定的参数在提供给 [method call] 的参数[i]之后[/i]传递。"
+"时,被绑定的参数在提供给 [method call] 的参数[i]之后[/i]传递。另见 [method "
+"unbind]。\n"
+"[b]注意:[/b]这个方法与其他类似方法链式调用时,参数列表的修改顺序是从右至左"
+"的。"
msgid ""
"Calls the method represented by this [Callable]. Arguments can be passed and "
@@ -17844,14 +17961,34 @@ msgstr ""
"在不支持的方法上调用该方法会导致出错。见 [method Node.rpc_id]。"
msgid ""
-"Returns a copy of this [Callable] with the arguments unbound, as defined by "
-"[param argcount]. Calling the returned [Callable] will call the method "
-"without the extra arguments that are supplied in the [Callable] on which you "
-"are calling this method."
+"Returns a copy of this [Callable] with a number of arguments unbound. In "
+"other words, when the new callable is called the last few arguments supplied "
+"by the user are ignored, according to [param argcount]. The remaining "
+"arguments are passed to the callable. This allows to use the original "
+"callable in a context that attempts to pass more arguments than this "
+"callable can handle, e.g. a signal with a fixed number of arguments. See "
+"also [method bind].\n"
+"[b]Note:[/b] When this method is chained with other similar methods, the "
+"order in which the argument list is modified is read from right to left.\n"
+"[codeblock]\n"
+"func _ready():\n"
+" foo.unbind(1).call(1, 2) # Calls foo(1).\n"
+" foo.bind(3, 4).unbind(1).call(1, 2) # Calls foo(1, 3, 4), note that it "
+"does not change the arguments from bind.\n"
+"[/codeblock]"
msgstr ""
-"返回该 [Callable] 的副本,解绑若干个参数,个数由 [param argcount] 定义。调用"
-"返回的 [Callable] 时,会去除所提供参数中的额外参数,再对原 [Callable] 的方法"
-"进行调用。"
+"返回这个 [Callable] 的副本,解绑了一些参数。换句话说,调用新的可调用体时,用"
+"户提供的最后几个参数会被忽略,忽略几个由 [param argcount] 决定。剩余的参数会"
+"被传递给该可调用体。这样传入的参数就能够比原本可调用体所能处理的参数要多,例"
+"如带有固定数量参数的信号。另见 [method bind]。\n"
+"[b]注意:[/b]这个方法与其他类似方法链式调用时,参数列表的修改顺序是从右至左"
+"的。\n"
+"[codeblock]\n"
+"func _ready():\n"
+" foo.unbind(1).call(1, 2) # 调用 foo(1).\n"
+" foo.bind(3, 4).unbind(1).call(1, 2) # 调用 foo(1, 3, 4),注意改动的不是 "
+"bind 中的参数。\n"
+"[/codeblock]"
msgid "Returns [code]true[/code] if both [Callable]s invoke different targets."
msgstr "如果两个 [Callable] 调用的目标不同,则返回 [code]true[/code]。"
@@ -19448,11 +19585,15 @@ msgid ""
"Draws a solid polygon of any number of points, convex or concave. Unlike "
"[method draw_colored_polygon], each point's color can be changed "
"individually. See also [method draw_polyline] and [method "
-"draw_polyline_colors]."
+"draw_polyline_colors]. If you need more flexibility (such as being able to "
+"use bones), use [method RenderingServer.canvas_item_add_triangle_array] "
+"instead."
msgstr ""
"绘制一个由任意数量的点构成的实心多边形,凸形或凹形。与 [method "
"draw_colored_polygon] 不同,每个点的颜色都可以单独改变。另见 [method "
-"draw_polyline] 和 [method draw_polyline_colors]。"
+"draw_polyline] 和 [method draw_polyline_colors]。如果你需要更大的自由度(例如"
+"能够使用骨骼),请改用 [method RenderingServer."
+"canvas_item_add_triangle_array]。"
msgid ""
"Draws interconnected line segments with a uniform [param color] and [param "
@@ -19511,7 +19652,7 @@ msgid ""
"Draws a rectangle. If [param filled] is [code]true[/code], the rectangle "
"will be filled with the [param color] specified. If [param filled] is "
"[code]false[/code], the rectangle will be drawn as a stroke with the [param "
-"color] and [param width] specified.\n"
+"color] and [param width] specified. See also [method draw_texture_rect].\n"
"If [param width] is negative, then two-point primitives will be drawn "
"instead of a four-point ones. This means that when the CanvasItem is scaled, "
"the lines will remain thin. If this behavior is not desired, then pass a "
@@ -19524,7 +19665,8 @@ msgid ""
msgstr ""
"绘制一个矩形。如果 [param filled] 为 [code]true[/code],则矩形将使用指定的 "
"[param color] 填充。如果 [param filled] 为 [code]false[/code],则矩形将被绘制"
-"为具有指定的 [param color] 和 [param width] 的笔划。\n"
+"为具有指定的 [param color] 和 [param width] 的笔划。另见 [method "
+"draw_texture_rect]。\n"
"如果 [param width] 为负,则将绘制一个两点图元而不是一个四点图元。这意味着当缩"
"放 CanvasItem 时,线条将保持细长。如果不需要此行为,请传递一个正的 [param "
"width],如 [code]1.0[/code]。\n"
@@ -19634,18 +19776,22 @@ msgstr "在给定的位置绘制纹理。"
msgid ""
"Draws a textured rectangle at a given position, optionally modulated by a "
"color. If [param transpose] is [code]true[/code], the texture will have its "
-"X and Y coordinates swapped."
+"X and Y coordinates swapped. See also [method draw_rect] and [method "
+"draw_texture_rect_region]."
msgstr ""
"在给定位置绘制一个带纹理的矩形,可以选择用颜色调制。如果 [param transpose] "
-"为 [code]true[/code],则纹理将交换其 X 和 Y 坐标。"
+"为 [code]true[/code],则纹理将交换其 X 和 Y 坐标。另见 [method draw_rect] 和 "
+"[method draw_texture_rect_region]。"
msgid ""
-"Draws a textured rectangle region at a given position, optionally modulated "
-"by a color. If [param transpose] is [code]true[/code], the texture will have "
-"its X and Y coordinates swapped."
+"Draws a textured rectangle from a texture's region (specified by [param "
+"src_rect]) at a given position, optionally modulated by a color. If [param "
+"transpose] is [code]true[/code], the texture will have its X and Y "
+"coordinates swapped. See also [method draw_texture_rect]."
msgstr ""
-"在给定位置绘制带纹理的矩形区域,可选择用颜色调制。如果 [param transpose] 为 "
-"[code]true[/code],则纹理将交换其 X 和 Y 坐标。"
+"在给定的位置绘制具有纹理的矩形,可以指定所使用的纹理区域(由 [param "
+"src_rect] 指定),可选择用颜色调制。如果 [param transpose] 为 [code]true[/"
+"code],则纹理将交换其 X 和 Y 坐标。另见 [method draw_texture_rect]。"
msgid ""
"Forces the transform to update. Transform changes in physics are not instant "
@@ -19668,10 +19814,14 @@ msgstr "返回从该项目所在的画布坐标系到 [Viewport] 坐标系的变
msgid ""
"Returns the mouse's position in the [CanvasLayer] that this [CanvasItem] is "
-"in using the coordinate system of the [CanvasLayer]."
+"in using the coordinate system of the [CanvasLayer].\n"
+"[b]Note:[/b] For screen-space coordinates (e.g. when using a non-embedded "
+"[Popup]), you can use [method DisplayServer.mouse_get_position]."
msgstr ""
"返回该 [CanvasItem] 所在的 [CanvasLayer] 中鼠标的位置,使用该 [CanvasLayer] "
-"的坐标系。"
+"的坐标系。\n"
+"[b]注意:[/b]要得到屏幕空间的坐标(例如使用非嵌入式 [Popup] 时),你可以使用 "
+"[method DisplayServer.mouse_get_position]。"
msgid ""
"Returns the global transform matrix of this item, i.e. the combined "
@@ -19740,8 +19890,8 @@ msgstr "如果将全局变换通知传达给子级,则返回 [code]true[/code]
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
-"[member visible] property is [code]true[/code] and all its antecedents are "
-"also visible. If any antecedent is hidden, this node will not be visible in "
+"[member visible] property is [code]true[/code] and all its ancestors are "
+"also visible. If any ancestor is hidden, this node will not be visible in "
"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
"如果该节点位于 [SceneTree] 中,并且其 [member visible] 属性为 [code]true[/"
@@ -19878,7 +20028,7 @@ msgstr ""
msgid ""
"If [code]true[/code], this [CanvasItem] is drawn. The node is only visible "
-"if all of its antecedents are visible as well (in other words, [method "
+"if all of its ancestors are visible as well (in other words, [method "
"is_visible_in_tree] must return [code]true[/code]).\n"
"[b]Note:[/b] For controls that inherit [Popup], the correct way to make them "
"visible is to call one of the multiple [code]popup*()[/code] functions "
@@ -21985,7 +22135,7 @@ msgstr "将该选项标记为变量。"
msgid "Marks the option as a member."
msgstr "将该选项标记为成员。"
-msgid "Marks the option as a enum entry."
+msgid "Marks the option as an enum entry."
msgstr "将该选项标记为枚举条目。"
msgid "Marks the option as a constant."
@@ -24696,13 +24846,124 @@ msgid "6-sided texture typically used in 3D rendering, optionally compressed."
msgstr "6 面纹理,通常用于 3D 渲染,可选择压缩。"
msgid ""
+"A cubemap that is loaded from a [code].ccube[/code] file. This file format "
+"is internal to Godot; it is created by importing other image formats with "
+"the import system. [CompressedCubemap] can use one of 4 compresson methods:\n"
+"- Lossless (WebP or PNG, uncompressed on the GPU)\n"
+"- Lossy (WebP, uncompressed on the GPU)\n"
+"- VRAM Compressed (compressed on the GPU)\n"
+"- VRAM Uncompressed (uncompressed on the GPU)\n"
+"- Basis Universal (compressed on the GPU. Lower file sizes than VRAM "
+"Compressed, but slower to compress and lower quality than VRAM Compressed)\n"
+"Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. "
+"The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the "
+"required storage on disk, but they will not reduce memory usage on the GPU "
+"as the texture is sent to the GPU uncompressed.\n"
+"Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed "
+"textures are faster to load compared to textures using lossless or lossy "
+"compression. VRAM compression can exhibit noticeable artifacts and is "
+"intended to be used for 3D rendering, not 2D.\n"
+"See [Cubemap] for a general description of cubemaps."
+msgstr ""
+"一种从 [code].ccube[/code] 文件加载的立方体贴图。这种文件格式是 Godot 内部使"
+"用的;它是通过导入系统导入其他图像格式创建的。[CompressedCubemap] 可以使用 4 "
+"种压缩方法中的一种:\n"
+"- 无损(WebP 或 PNG,在 GPU 上不压缩)\n"
+"- 有损(WebP,在 GPU 上不压缩)\n"
+"- VRAM 压缩(在 GPU 上压缩)\n"
+"- VRAM 未压缩(在 GPU 上不压缩)\n"
+"- Basis Universal(在 GPU 上压缩。与 VRAM 压缩相比,文件更小,但压缩速度更"
+"慢、质量更低)\n"
+"只有 [b]VRAM 压缩[/b]实际上减少了 GPU 上的内存使用。[b]无损[/b]和[b]有损[/b]"
+"压缩方法将减少磁盘上所需的存储空间,但它们不会减少 GPU 上的内存使用,因为纹理"
+"未经压缩地被发送到 GPU。\n"
+"使用 [b]VRAM 压缩[/b]还可以缩短加载时间,因为与使用无损或有损压缩的纹理相比,"
+"VRAM 压缩的纹理加载速度更快。VRAM 压缩会表现出明显的伪影,并且它旨在用于 3D "
+"渲染,而不是 2D。\n"
+"有关立方体贴图的一般描述,请参阅 [Cubemap]。"
+
+msgid ""
"Array of 6-sided textures typically used in 3D rendering, optionally "
"compressed."
msgstr "6 面纹理的数组,通常用于 3D 渲染,可选择压缩。"
+msgid ""
+"A cubemap array that is loaded from a [code].ccubearray[/code] file. This "
+"file format is internal to Godot; it is created by importing other image "
+"formats with the import system. [CompressedCubemapArray] can use one of 4 "
+"compresson methods:\n"
+"- Lossless (WebP or PNG, uncompressed on the GPU)\n"
+"- Lossy (WebP, uncompressed on the GPU)\n"
+"- VRAM Compressed (compressed on the GPU)\n"
+"- VRAM Uncompressed (uncompressed on the GPU)\n"
+"- Basis Universal (compressed on the GPU. Lower file sizes than VRAM "
+"Compressed, but slower to compress and lower quality than VRAM Compressed)\n"
+"Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. "
+"The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the "
+"required storage on disk, but they will not reduce memory usage on the GPU "
+"as the texture is sent to the GPU uncompressed.\n"
+"Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed "
+"textures are faster to load compared to textures using lossless or lossy "
+"compression. VRAM compression can exhibit noticeable artifacts and is "
+"intended to be used for 3D rendering, not 2D.\n"
+"See [CubemapArray] for a general description of cubemap arrays."
+msgstr ""
+"一种从 [code].ccubearray[/code] 文件加载的立方体贴图数组。这种文件格式是 "
+"Godot 内部使用的;它是通过导入系统导入其他图像格式创建的。"
+"[CompressedCubemapArray] 可以使用 4 种压缩方法中的一种:\n"
+"- 无损(WebP 或 PNG,在 GPU 上不压缩)\n"
+"- 有损(WebP,在 GPU 上不压缩)\n"
+"- VRAM 压缩(在 GPU 上压缩)\n"
+"- VRAM 未压缩(在 GPU 上不压缩)\n"
+"- Basis Universal(在 GPU 上压缩。与 VRAM 压缩相比,文件更小,但压缩速度更"
+"慢、质量更低)\n"
+"只有 [b]VRAM 压缩[/b]实际上减少了 GPU 上的内存使用。[b]无损[/b]和[b]有损[/b]"
+"压缩方法将减少磁盘上所需的存储空间,但它们不会减少 GPU 上的内存使用,因为纹理"
+"未经压缩地被发送到 GPU。\n"
+"使用 [b]VRAM 压缩[/b]还可以缩短加载时间,因为与使用无损或有损压缩的纹理相比,"
+"VRAM 压缩的纹理加载速度更快。VRAM 压缩会表现出明显的伪影,并且它旨在用于 3D "
+"渲染,而不是 2D。\n"
+"有关立方体贴图数组的一般说明,请参阅 [CubemapArray]。"
+
msgid "Texture with 2 dimensions, optionally compressed."
msgstr "二维纹理,可选择压缩。"
+msgid ""
+"A texture that is loaded from a [code].ctex[/code] file. This file format is "
+"internal to Godot; it is created by importing other image formats with the "
+"import system. [CompressedTexture2D] can use one of 4 compression methods "
+"(including a lack of any compression):\n"
+"- Lossless (WebP or PNG, uncompressed on the GPU)\n"
+"- Lossy (WebP, uncompressed on the GPU)\n"
+"- VRAM Compressed (compressed on the GPU)\n"
+"- VRAM Uncompressed (uncompressed on the GPU)\n"
+"- Basis Universal (compressed on the GPU. Lower file sizes than VRAM "
+"Compressed, but slower to compress and lower quality than VRAM Compressed)\n"
+"Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. "
+"The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the "
+"required storage on disk, but they will not reduce memory usage on the GPU "
+"as the texture is sent to the GPU uncompressed.\n"
+"Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed "
+"textures are faster to load compared to textures using lossless or lossy "
+"compression. VRAM compression can exhibit noticeable artifacts and is "
+"intended to be used for 3D rendering, not 2D."
+msgstr ""
+"一种从 [code].ctex[/code] 文件加载的纹理。这种文件格式是 Godot 内部使用的;它"
+"是通过导入系统导入其他图像格式创建的。[CompressedTexture2D] 可以使用 4 种压缩"
+"方法中的一种(包括没有任何压缩):\n"
+"- 无损(WebP 或 PNG,在 GPU 上不压缩)\n"
+"- 有损(WebP,在 GPU 上不压缩)\n"
+"- VRAM 压缩(在 GPU 上压缩)\n"
+"- VRAM 未压缩(在 GPU 上不压缩)\n"
+"- Basis Universal(在 GPU 上压缩。与 VRAM 压缩相比,文件更小,但压缩速度更"
+"慢、质量更低)\n"
+"只有 [b]VRAM 压缩[/b]实际上减少了 GPU 上的内存使用。[b]无损[/b]和[b]有损[/b]"
+"压缩方法将减少磁盘上所需的存储空间,但它们不会减少 GPU 上的内存使用,因为纹理"
+"未经压缩地被发送到 GPU。\n"
+"使用 [b]VRAM 压缩[/b]还可以缩短加载时间,因为与使用无损或有损压缩的纹理相比,"
+"VRAM 压缩的纹理加载速度更快。VRAM 压缩会表现出明显的伪影,并且它旨在用于 3D "
+"渲染,而不是 2D。"
+
msgid "Loads the texture from the specified [param path]."
msgstr "从指定的路径 [param path] 加载纹理。"
@@ -24712,6 +24973,44 @@ msgstr "该 [CompressedTexture2D] 的文件路径,指向 [code].ctex[/code]
msgid "Array of 2-dimensional textures, optionally compressed."
msgstr "二维纹理的数组,可选择压缩。"
+msgid ""
+"A texture array that is loaded from a [code].ctexarray[/code] file. This "
+"file format is internal to Godot; it is created by importing other image "
+"formats with the import system. [CompressedTexture2DArray] can use one of 4 "
+"compresson methods:\n"
+"- Lossless (WebP or PNG, uncompressed on the GPU)\n"
+"- Lossy (WebP, uncompressed on the GPU)\n"
+"- VRAM Compressed (compressed on the GPU)\n"
+"- VRAM Uncompressed (uncompressed on the GPU)\n"
+"- Basis Universal (compressed on the GPU. Lower file sizes than VRAM "
+"Compressed, but slower to compress and lower quality than VRAM Compressed)\n"
+"Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. "
+"The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the "
+"required storage on disk, but they will not reduce memory usage on the GPU "
+"as the texture is sent to the GPU uncompressed.\n"
+"Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed "
+"textures are faster to load compared to textures using lossless or lossy "
+"compression. VRAM compression can exhibit noticeable artifacts and is "
+"intended to be used for 3D rendering, not 2D.\n"
+"See [Texture2DArray] for a general description of texture arrays."
+msgstr ""
+"一种从 [code].ctexarray[/code] 文件加载的纹理数组。这种文件格式是 Godot 内部"
+"使用的;它是通过导入系统导入其他图像格式创建的。[CompressedTexture2DArray] 可"
+"以使用 4 种压缩方法中的一种:\n"
+"- 无损(WebP 或 PNG,在 GPU 上不压缩)\n"
+"- 有损(WebP,在 GPU 上不压缩)\n"
+"- VRAM 压缩(在 GPU 上压缩)\n"
+"- VRAM 未压缩(在 GPU 上不压缩)\n"
+"- Basis Universal(在 GPU 上压缩。与 VRAM 压缩相比,文件更小,但压缩速度更"
+"慢、质量更低)\n"
+"只有 [b]VRAM 压缩[/b]实际上减少了 GPU 上的内存使用。[b]无损[/b]和[b]有损[/b]"
+"压缩方法将减少磁盘上所需的存储空间,但它们不会减少 GPU 上的内存使用,因为纹理"
+"未经压缩地被发送到 GPU。\n"
+"使用 [b]VRAM 压缩[/b]还可以缩短加载时间,因为与使用无损或有损压缩的纹理相比,"
+"VRAM 压缩的纹理加载速度更快。VRAM 压缩会表现出明显的伪影,并且它旨在用于 3D "
+"渲染,而不是 2D。\n"
+"有关纹理数组的一般描述,请参阅 [Texture2DArray]。"
+
msgid "Texture with 3 dimensions, optionally compressed."
msgstr "三维纹理,可选择压缩。"
@@ -24741,8 +25040,16 @@ msgstr "该 [CompressedTexture3D] 的文件路径,指向 [code].ctex3d[/code]
msgid "Base class for texture arrays that can optionally be compressed."
msgstr "可压缩纹理数组的基类。"
+msgid ""
+"Base class for [CompressedTexture2DArray] and [CompressedTexture3D]. Cannot "
+"be used directly, but contains all the functions necessary for accessing the "
+"derived resource types. See also [TextureLayered]."
+msgstr ""
+"[CompressedTexture2DArray] 和 [CompressedTexture3D] 的基类。不能直接使用,但"
+"包含了访问派生资源类型所需的所有函数。另见 [TextureLayered]。"
+
msgid "Loads the texture at [param path]."
-msgstr "从路径 [param path] 加载纹理。"
+msgstr "加载位于 [param path] 的纹理。"
msgid "The path the texture should be loaded from."
msgstr "加载纹理所使用的路径。"
@@ -25872,10 +26179,14 @@ msgstr ""
msgid ""
"Marks an input event as handled. Once you accept an input event, it stops "
"propagating, even to nodes listening to [method Node._unhandled_input] or "
-"[method Node._unhandled_key_input]."
+"[method Node._unhandled_key_input].\n"
+"[b]Note:[/b] This does not affect the methods in [Input], only the way "
+"events are propagated."
msgstr ""
"将输入事件标记为已处理。一旦接受输入事件,传播就会停止,不会再传播到正在侦听 "
-"[method Node._unhandled_input] 和 [method Node._unhandled_key_input] 的节点。"
+"[method Node._unhandled_input] 和 [method Node._unhandled_key_input] 的节"
+"点。\n"
+"[b]注意:[/b]不会影响 [Input] 中的方法,只会影响事件的传播。"
msgid ""
"Creates a local override for a theme [Color] with the specified [param "
@@ -26896,30 +27207,6 @@ msgstr ""
"点交给与该控件左侧最接近的 [Control]。"
msgid ""
-"Tells Godot which node it should give focus to if the user presses the right "
-"arrow on the keyboard or right on a gamepad by default. You can change the "
-"key by editing the [member ProjectSettings.input/ui_right] input action. The "
-"node must be a [Control]. If this property is not set, Godot will give focus "
-"to the closest [Control] to the bottom of this one."
-msgstr ""
-"告诉 Godot 在默认情况下,当用户按下键盘上的向右箭头或游戏手柄上的向右键时,应"
-"将焦点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_right] 的"
-"输入动作来更改按键。该节点必须为 [Control]。如果未设置此属性,则 Godot 会将焦"
-"点交给与该控件右侧最接近的 [Control]。"
-
-msgid ""
-"Tells Godot which node it should give focus to if the user presses the top "
-"arrow on the keyboard or top on a gamepad by default. You can change the key "
-"by editing the [member ProjectSettings.input/ui_up] input action. The node "
-"must be a [Control]. If this property is not set, Godot will give focus to "
-"the closest [Control] to the bottom of this one."
-msgstr ""
-"告诉 Godot 在默认情况下,当用户按下键盘上的向上箭头或游戏手柄上的向上键时,应"
-"将焦点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_up] 的输"
-"入动作来更改按键。该节点必须为 [Control]。如果未设置此属性,则 Godot 会将焦点"
-"交给与该控件顶部最接近的 [Control]。"
-
-msgid ""
"Tells Godot which node it should give focus to if the user presses [kbd]Tab[/"
"kbd] on a keyboard by default. You can change the key by editing the [member "
"ProjectSettings.input/ui_focus_next] input action.\n"
@@ -28760,157 +29047,6 @@ msgid "Access to advanced cryptographic functionalities."
msgstr "访问高级加密功能。"
msgid ""
-"The Crypto class allows you to access some more advanced cryptographic "
-"functionalities in Godot.\n"
-"For now, this includes generating cryptographically secure random bytes, RSA "
-"keys and self-signed X509 certificates generation, asymmetric key encryption/"
-"decryption, and signing/verification.\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"extends Node\n"
-"\n"
-"var crypto = Crypto.new()\n"
-"var key = CryptoKey.new()\n"
-"var cert = X509Certificate.new()\n"
-"\n"
-"func _ready():\n"
-" # Generate new RSA key.\n"
-" key = crypto.generate_rsa(4096)\n"
-" # Generate new self-signed certificate with the given key.\n"
-" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
-"O=My Game Company,C=IT\")\n"
-" # Save key and certificate in the user folder.\n"
-" key.save(\"user://generated.key\")\n"
-" cert.save(\"user://generated.crt\")\n"
-" # Encryption\n"
-" var data = \"Some data\"\n"
-" var encrypted = crypto.encrypt(key, data.to_utf8())\n"
-" # Decryption\n"
-" var decrypted = crypto.decrypt(key, encrypted)\n"
-" # Signing\n"
-" var signature = crypto.sign(HashingContext.HASH_SHA256, data."
-"sha256_buffer(), key)\n"
-" # Verifying\n"
-" var verified = crypto.verify(HashingContext.HASH_SHA256, data."
-"sha256_buffer(), signature, key)\n"
-" # Checks\n"
-" assert(verified)\n"
-" assert(data.to_utf8() == decrypted)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"using Godot;\n"
-"using System.Diagnostics;\n"
-"\n"
-"public partial class MyNode : Node\n"
-"{\n"
-" private Crypto _crypto = new Crypto();\n"
-" private CryptoKey _key = new CryptoKey();\n"
-" private X509Certificate _cert = new X509Certificate();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" // Generate new RSA key.\n"
-" _key = _crypto.GenerateRsa(4096);\n"
-" // Generate new self-signed certificate with the given key.\n"
-" _cert = _crypto.GenerateSelfSignedCertificate(_key, \"CN=mydomain."
-"com,O=My Game Company,C=IT\");\n"
-" // Save key and certificate in the user folder.\n"
-" _key.Save(\"user://generated.key\");\n"
-" _cert.Save(\"user://generated.crt\");\n"
-" // Encryption\n"
-" string data = \"Some data\";\n"
-" byte[] encrypted = _crypto.Encrypt(_key, data.ToUtf8());\n"
-" // Decryption\n"
-" byte[] decrypted = _crypto.Decrypt(_key, encrypted);\n"
-" // Signing\n"
-" byte[] signature = _crypto.Sign(HashingContext.HashType.Sha256, Data."
-"Sha256Buffer(), _key);\n"
-" // Verifying\n"
-" bool verified = _crypto.Verify(HashingContext.HashType.Sha256, Data."
-"Sha256Buffer(), signature, _key);\n"
-" // Checks\n"
-" Debug.Assert(verified);\n"
-" Debug.Assert(data.ToUtf8() == decrypted);\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"Crypto 类允许您访问 Godot 中一些更高级的加密功能。\n"
-"目前,这包括生成加密安全随机字节、RSA 密钥和自签名 X509 证书生成、非对称密钥"
-"加密/解密、以及签名/验证。\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"extends Node\n"
-"\n"
-"var crypto = Crypto.new()\n"
-"var key = CryptoKey.new()\n"
-"var cert = X509Certificate.new()\n"
-"\n"
-"func _ready():\n"
-" # 生成新的 RSA 密钥。\n"
-" key = crypto.generate_rsa(4096)\n"
-" # 使用给定的密钥生成新的自签名证书。\n"
-" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
-"O=My Game Company,C=IT\")\n"
-" # 将密钥和证书保存在用户文件夹中。\n"
-" key.save(\"user://generated.key\")\n"
-" cert.save(\"user://generated.crt\")\n"
-" # 加密\n"
-" var data = \"Some data\"\n"
-" var encrypted = crypto.encrypt(key, data.to_utf8())\n"
-" # 解密\n"
-" var decrypted = crypto.decrypt(key, encrypted)\n"
-" # 签名\n"
-" var signature = crypto.sign(HashingContext.HASH_SHA256, data."
-"sha256_buffer(), key)\n"
-" # 验证\n"
-" var verified = crypto.verify(HashingContext.HASH_SHA256, data."
-"sha256_buffer(), signature, key)\n"
-" # 校验\n"
-" assert(verified)\n"
-" assert(data.to_utf8() == decrypted)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"using Godot;\n"
-"using System.Diagnostics;\n"
-"\n"
-"public partial class MyNode : Node\n"
-"{\n"
-" private Crypto _crypto = new Crypto();\n"
-" private CryptoKey _key = new CryptoKey();\n"
-" private X509Certificate _cert = new X509Certificate();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" // 生成新的 RSA 密钥。\n"
-" _key = _crypto.GenerateRsa(4096);\n"
-" // 使用给定的密钥生成新的自签名证书。\n"
-" _cert = _crypto.GenerateSelfSignedCertificate(_key, \"CN=mydomain."
-"com,O=My Game Company,C=IT\");\n"
-" // 将密钥和证书保存在用户文件夹中。\n"
-" _key.Save(\"user://generated.key\");\n"
-" _cert.Save(\"user://generated.crt\");\n"
-" // 加密\n"
-" string data = \"Some data\";\n"
-" byte[] encrypted = _crypto.Encrypt(_key, data.ToUtf8());\n"
-" // 解密\n"
-" byte[] decrypted = _crypto.Decrypt(_key, encrypted);\n"
-" // 签名\n"
-" byte[] signature = _crypto.Sign(HashingContext.HashType.Sha256, Data."
-"Sha256Buffer(), _key);\n"
-" // 验证\n"
-" bool verified = _crypto.Verify(HashingContext.HashType.Sha256, Data."
-"Sha256Buffer(), signature, _key);\n"
-" // 校验\n"
-" Debug.Assert(verified);\n"
-" Debug.Assert(data.ToUtf8() == decrypted);\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
-msgid ""
"Compares two [PackedByteArray]s for equality without leaking timing "
"information in order to prevent timing attacks.\n"
"See [url=https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-"
@@ -29540,14 +29676,6 @@ msgstr ""
"与该节点父级的上一个子级之间进行的。"
msgid ""
-"Snap makes the mesh snap to a given distance so that the faces of two meshes "
-"can be perfectly aligned. A lower value results in greater precision but may "
-"be harder to adjust."
-msgstr ""
-"捕捉使网格捕捉到给定的距离,以便两个网格的面可以完美对齐。较低的值会导致较高"
-"的精度,但可能难以调整。"
-
-msgid ""
"Adds a collision shape to the physics engine for our CSG shape. This will "
"always act like a static body. Note that the collision shape is still active "
"even if the CSG shape itself is hidden. See also [member collision_mask] and "
@@ -30203,7 +30331,7 @@ msgstr ""
"[/code]。"
msgid ""
-"Similar with [code]interpolate_baked()[/code]. The the return value is "
+"Similar with [code]interpolate_baked()[/code]. The return value is "
"[code]Transform3D[/code], with [code]origin[/code] as point position, "
"[code]basis.x[/code] as sideway vector, [code]basis.y[/code] as up vector, "
"[code]basis.z[/code] as forward vector. When the curve length is 0, there is "
@@ -30266,13 +30394,6 @@ msgid "The [Curve] that is rendered onto the texture."
msgstr "渲染到纹理上的 [Curve]。"
msgid ""
-"The format the texture should be generated with. When passing a CurveTexture "
-"as a input to a [Shader], this may need to be adjusted."
-msgstr ""
-"生成纹理时应使用的格式。当将 CurveTexture 作为输入传递给 [Shader] 时,可能需"
-"要调整。"
-
-msgid ""
"The width of the texture (in pixels). Higher values make it possible to "
"represent high-frequency data better (such as sudden direction changes), at "
"the cost of increased generation time and memory usage."
@@ -30764,29 +30885,6 @@ msgstr ""
"的 Alpha 通道将用于确定应在何处覆盖底层表面的法线贴图(及其强度)。"
msgid ""
-"[Texture2D] storing ambient occlusion, roughness, and metallic for the "
-"decal. Use this to add extra detail to decals.\n"
-"[b]Note:[/b] Unlike [BaseMaterial3D] whose filter mode can be adjusted on a "
-"per-material basis, the filter mode for [Decal] textures is set globally "
-"with [member ProjectSettings.rendering/textures/decals/filter].\n"
-"[b]Note:[/b] Setting this texture alone will not result in a visible decal, "
-"as [member texture_albedo] must also be set. To create a ORM-only decal, "
-"load an albedo texture into [member texture_albedo] and set [member "
-"albedo_mix] to [code]0.0[/code]. The albedo texture's alpha channel will be "
-"used to determine where the underlying surface's ORM map should be "
-"overridden (and its intensity)."
-msgstr ""
-"存有贴花的环境光遮蔽、粗糙度、金属性的 [Texture2D]。可用于为贴花添加额外的细"
-"节。\n"
-"[b]注意:[/b][BaseMaterial3D] 的过滤模式可以对每个材质进行调整,而 [Decal] 纹"
-"理的过滤模式是通过 [member ProjectSettings.rendering/textures/decals/filter] "
-"全局设置的。\n"
-"[b]注意:[/b]单独设置此纹理时贴花不可见,因为还必须设置 [member "
-"texture_albedo]。要创建仅包含 ORM 的贴花,请将反照率纹理加载到 [member "
-"texture_albedo],并将 [member albedo_mix] 设置为 [code]0.0[/code]。反照率纹理"
-"的 Alpha 通道将用于确定应在何处覆盖底层表面的 ORM 贴图(及其强度)。"
-
-msgid ""
"Sets the curve over which the decal will fade as the surface gets further "
"from the center of the [AABB]. Only positive values are valid (negative "
"values will be clamped to [code]0.0[/code]). See also [member lower_fade]."
@@ -31608,14 +31706,6 @@ msgstr ""
msgid ""
"Returns a [PackedStringArray] containing filenames of the directory "
-"contents, excluding directories. The array is sorted alphabetically.\n"
-"Affected by [member include_hidden]."
-msgstr ""
-"返回该目录内容的文件名 [PackedStringArray],不含目录。该数组按字母排序。\n"
-"受 [member include_hidden] 的影响。"
-
-msgid ""
-"Returns a [PackedStringArray] containing filenames of the directory "
"contents, excluding directories, at the given [param path]. The array is "
"sorted alphabetically.\n"
"Use [method get_files] if you want more control of what gets included."
@@ -32591,22 +32681,6 @@ msgstr ""
"[b]注意:[/b]该方法在 macOS 上实现。"
msgid ""
-"Returns number of states of an multistate item. See [method "
-"global_menu_add_multistate_item] for details.\n"
-"[b]Note:[/b] This method is implemented on macOS."
-msgstr ""
-"返回多状态项的状态数。详情见 [method global_menu_add_multistate_item]。\n"
-"[b]注意:[/b]该方法在 macOS 上实现。"
-
-msgid ""
-"Returns the state of an multistate item. See [method "
-"global_menu_add_multistate_item] for details.\n"
-"[b]Note:[/b] This method is implemented on macOS."
-msgstr ""
-"返回多状态项的状态。详情见 [method global_menu_add_multistate_item]。\n"
-"[b]注意:[/b]该方法在 macOS 上实现。"
-
-msgid ""
"Returns the submenu ID of the item at index [param idx]. See [method "
"global_menu_add_submenu_item] for more info on how to add a submenu.\n"
"[b]Note:[/b] This method is implemented on macOS."
@@ -32769,14 +32843,6 @@ msgstr ""
"[b]注意:[/b]该方法在 macOS 上实现。"
msgid ""
-"Sets number of state of an multistate item. See [method "
-"global_menu_add_multistate_item] for details.\n"
-"[b]Note:[/b] This method is implemented on macOS."
-msgstr ""
-"设置多状态项的状态数。详情见 [method global_menu_add_multistate_item]。\n"
-"[b]注意:[/b]该方法在 macOS 上实现。"
-
-msgid ""
"Sets the type of the item at the specified index [param idx] to radio "
"button. If [code]false[/code], sets the type of the item to plain text.\n"
"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/"
@@ -32789,14 +32855,6 @@ msgstr ""
"[b]注意:[/b]该方法在 macOS 上实现。"
msgid ""
-"Sets the state of an multistate item. See [method "
-"global_menu_add_multistate_item] for details.\n"
-"[b]Note:[/b] This method is implemented on macOS."
-msgstr ""
-"设置多状态项的状态。详情见 [method global_menu_add_multistate_item]。\n"
-"[b]注意:[/b]该方法在 macOS 上实现。"
-
-msgid ""
"Sets the submenu of the item at index [param idx]. The submenu is the ID of "
"a global menu root that would be shown when the item is clicked.\n"
"[b]Note:[/b] This method is implemented on macOS."
@@ -32937,9 +32995,6 @@ msgstr ""
msgid "Returns the current mouse mode. See also [method mouse_set_mode]."
msgstr "返回当前的鼠标模式。另见 [method mouse_set_mode]。"
-msgid "Returns the mouse cursor's current position."
-msgstr "返回鼠标光标当前位置。"
-
msgid "Sets the current mouse mode. See also [method mouse_get_mode]."
msgstr "设置当前的鼠标模式。另见 [method mouse_get_mode]。"
@@ -33990,9 +34045,6 @@ msgstr ""
msgid "Default landscape orientation."
msgstr "默认横屏朝向。"
-msgid "Default portrait orienstation."
-msgstr "默认竖屏朝向。"
-
msgid "Reverse landscape orientation (upside down)."
msgstr "倒横屏朝向(上下颠倒)。"
@@ -34243,9 +34295,9 @@ msgstr ""
"multiple_resolutions.html]多个分辨率[/url]。"
msgid ""
-"The window can't be resizing by dragging its resize grip. It's still "
-"possible to resize the window using [method window_set_size]. This flag is "
-"ignored for full screen windows."
+"The window can't be resized by dragging its resize grip. It's still possible "
+"to resize the window using [method window_set_size]. This flag is ignored "
+"for full screen windows."
msgstr ""
"该窗口不能通过拖动其调整大小的手柄来调整大小。但仍然可以使用 [method "
"window_set_size] 调整窗口大小。全屏窗口会忽略该标志。"
@@ -34284,13 +34336,13 @@ msgid ""
"changed when the window is visible. An active popup window will exclusively "
"receive all input, without stealing focus from its parent. Popup windows are "
"automatically closed when uses click outside it, or when an application is "
-"switched. Popup window must have [code]transient parent[/code] set (see "
-"[method window_set_transient])."
+"switched. Popup window must have transient parent set (see [method "
+"window_set_transient])."
msgstr ""
"窗口是菜单或 [OptionButton] 下拉菜单的一部分。当窗口可见时,不能更改该标志。"
-"一个活动的弹出窗口将仅仅接收所有输入,而不会从其父窗口窃取焦点。当在其外部点"
-"击或切换应用程序时,弹出窗口将会自动关闭。 弹出窗口必须已经设置了 "
-"[code]transient parent[/code](参见 [method window_set_transient])。"
+"活动的弹出窗口会以独占的形式接收所有输入,但不会从其父窗口窃取焦点。当在其外"
+"部点击或切换应用程序时,弹出窗口将会自动关闭。 弹出窗口必须已经设置了临时父级"
+"(参见 [method window_set_transient])。"
msgid ""
"Window content is expanded to the full size of the window. Unlike borderless "
@@ -34485,316 +34537,6 @@ msgid "Helper class to implement a DTLS server."
msgstr "实现 DTLS 服务器的辅助类。"
msgid ""
-"This class is used to store the state of a DTLS server. Upon [method setup] "
-"it converts connected [PacketPeerUDP] to [PacketPeerDTLS] accepting them via "
-"[method take_connection] as DTLS clients. Under the hood, this class is used "
-"to store the DTLS state and cookies of the server. The reason of why the "
-"state and cookies are needed is outside of the scope of this documentation.\n"
-"Below a small example of how to use it:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# server_node.gd\n"
-"extends Node\n"
-"\n"
-"var dtls := DTLSServer.new()\n"
-"var server := UDPServer.new()\n"
-"var peers = []\n"
-"\n"
-"func _ready():\n"
-" server.listen(4242)\n"
-" var key = load(\"key.key\") # Your private key.\n"
-" var cert = load(\"cert.crt\") # Your X509 certificate.\n"
-" dtls.setup(key, cert)\n"
-"\n"
-"func _process(delta):\n"
-" while server.is_connection_available():\n"
-" var peer: PacketPeerUDP = server.take_connection()\n"
-" var dtls_peer: PacketPeerDTLS = dtls.take_connection(peer)\n"
-" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n"
-" continue # It is normal that 50% of the connections fails due to "
-"cookie exchange.\n"
-" print(\"Peer connected!\")\n"
-" peers.append(dtls_peer)\n"
-"\n"
-" for p in peers:\n"
-" p.poll() # Must poll to update the state.\n"
-" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
-" while p.get_available_packet_count() > 0:\n"
-" print(\"Received message from client: %s\" % p.get_packet()."
-"get_string_from_utf8())\n"
-" p.put_packet(\"Hello DTLS client\".to_utf8())\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ServerNode.cs\n"
-"using Godot;\n"
-"\n"
-"public partial class ServerNode : Node\n"
-"{\n"
-" private DtlsServer _dtls = new DtlsServer();\n"
-" private UdpServer _server = new UdpServer();\n"
-" private Godot.Collections.Array<PacketPeerDTLS> _peers = new Godot."
-"Collections.Array<PacketPeerDTLS>();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _server.Listen(4242);\n"
-" var key = GD.Load<CryptoKey>(\"key.key\"); // Your private key.\n"
-" var cert = GD.Load<X509Certificate>(\"cert.crt\"); // Your X509 "
-"certificate.\n"
-" _dtls.Setup(key, cert);\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" while (Server.IsConnectionAvailable())\n"
-" {\n"
-" PacketPeerUDP peer = _server.TakeConnection();\n"
-" PacketPeerDTLS dtlsPeer = _dtls.TakeConnection(peer);\n"
-" if (dtlsPeer.GetStatus() != PacketPeerDtls.Status.Handshaking)\n"
-" {\n"
-" continue; // It is normal that 50% of the connections fails "
-"due to cookie exchange.\n"
-" }\n"
-" GD.Print(\"Peer connected!\");\n"
-" _peers.Add(dtlsPeer);\n"
-" }\n"
-"\n"
-" foreach (var p in _peers)\n"
-" {\n"
-" p.Poll(); // Must poll to update the state.\n"
-" if (p.GetStatus() == PacketPeerDtls.Status.Connected)\n"
-" {\n"
-" while (p.GetAvailablePacketCount() > 0)\n"
-" {\n"
-" GD.Print($\"Received Message From Client: {p.GetPacket()."
-"GetStringFromUtf8()}\");\n"
-" p.PutPacket(\"Hello DTLS Client\".ToUtf8());\n"
-" }\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# client_node.gd\n"
-"extends Node\n"
-"\n"
-"var dtls := PacketPeerDTLS.new()\n"
-"var udp := PacketPeerUDP.new()\n"
-"var connected = false\n"
-"\n"
-"func _ready():\n"
-" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
-" dtls.connect_to_peer(udp, false) # Use true in production for "
-"certificate validation!\n"
-"\n"
-"func _process(delta):\n"
-" dtls.poll()\n"
-" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
-" if !connected:\n"
-" # Try to contact server\n"
-" dtls.put_packet(\"The answer is... 42!\".to_utf8())\n"
-" while dtls.get_available_packet_count() > 0:\n"
-" print(\"Connected: %s\" % dtls.get_packet()."
-"get_string_from_utf8())\n"
-" connected = true\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ClientNode.cs\n"
-"using Godot;\n"
-"using System.Text;\n"
-"\n"
-"public partial class ClientNode : Node\n"
-"{\n"
-" private PacketPeerDtls _dtls = new PacketPeerDtls();\n"
-" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
-" private bool _connected = false;\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
-" _dtls.ConnectToPeer(_udp, validateCerts: false); // Use true in "
-"production for certificate validation!\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" _dtls.Poll();\n"
-" if (_dtls.GetStatus() == PacketPeerDtls.Status.Connected)\n"
-" {\n"
-" if (!_connected)\n"
-" {\n"
-" // Try to contact server\n"
-" _dtls.PutPacket(\"The Answer Is..42!\".ToUtf8());\n"
-" }\n"
-" while (_dtls.GetAvailablePacketCount() > 0)\n"
-" {\n"
-" GD.Print($\"Connected: {_dtls.GetPacket()."
-"GetStringFromUtf8()}\");\n"
-" _connected = true;\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"该类用于存储 DTLS 服务器的状态。在 [method setup] 之后,它将连接的 "
-"[PacketPeerUDP] 转换为 [PacketPeerDTLS],通过 [method take_connection] 接受它"
-"们作为 DTLS 客户端。在底层,这个类用于存储服务器的 DTLS 状态和 cookie。为什么"
-"需要状态和 cookie 的原因不在本文档的范围内。\n"
-"下面是一个如何使用它的小例子:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# server_node.gd\n"
-"extends Node\n"
-"\n"
-"var dtls := DTLSServer.new()\n"
-"var server := UDPServer.new()\n"
-"var peers = []\n"
-"\n"
-"func _ready():\n"
-" server.listen(4242)\n"
-" var key = load(\"key.key\") # 你的私钥。\n"
-" var cert = load(\"cert.crt\") # 你的 X509 证书。\n"
-" dtls.setup(key, cert)\n"
-"\n"
-"func _process(delta):\n"
-" while server.is_connection_available():\n"
-" var peer: PacketPeerUDP = server.take_connection()\n"
-" var dtls_peer: PacketPeerDTLS = dtls.take_connection(peer)\n"
-" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n"
-" continue # 由于 cookie 交换,50% 的连接会失败,这是正常现象。\n"
-" print(\"对等体已连接!\")\n"
-" peers.append(dtls_peer)\n"
-"\n"
-" for p in peers:\n"
-" p.poll() # 必须轮询以更新状态。\n"
-" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
-" while p.get_available_packet_count() > 0:\n"
-" print(\"从客户端收到消息:%s\" % p.get_packet()."
-"get_string_from_utf8())\n"
-" p.put_packet(\"你好 DTLS 客户端\".to_utf8())\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ServerNode.cs\n"
-"using Godot;\n"
-"\n"
-"public partial class ServerNode : Node\n"
-"{\n"
-" private DtlsServer _dtls = new DtlsServer();\n"
-" private UdpServer _server = new UdpServer();\n"
-" private Godot.Collections.Array<PacketPeerDTLS> _peers = new Godot."
-"Collections.Array<PacketPeerDTLS>();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _server.Listen(4242);\n"
-" var key = GD.Load<CryptoKey>(\"key.key\"); // 你的私钥。\n"
-" var cert = GD.Load<X509Certificate>(\"cert.crt\"); // 你的 X509 证"
-"书。\n"
-" _dtls.Setup(key, cert);\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" while (Server.IsConnectionAvailable())\n"
-" {\n"
-" PacketPeerUDP peer = _server.TakeConnection();\n"
-" PacketPeerDTLS dtlsPeer = _dtls.TakeConnection(peer);\n"
-" if (dtlsPeer.GetStatus() != PacketPeerDtls.Status.Handshaking)\n"
-" {\n"
-" continue; // 由于 cookie 交换,50% 的连接会失败,这是正常现"
-"象。\n"
-" }\n"
-" GD.Print(\"对等体已连接!\");\n"
-" _peers.Add(dtlsPeer);\n"
-" }\n"
-"\n"
-" foreach (var p in _peers)\n"
-" {\n"
-" p.Poll(); // 必须轮询以更新状态。\n"
-" if (p.GetStatus() == PacketPeerDtls.Status.Connected)\n"
-" {\n"
-" while (p.GetAvailablePacketCount() > 0)\n"
-" {\n"
-" GD.Print($\"从客户端收到消息:{p.GetPacket()."
-"GetStringFromUtf8()}\");\n"
-" p.PutPacket(\"你好 DTLS 客户端\".ToUtf8());\n"
-" }\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# client_node.gd\n"
-"extends Node\n"
-"\n"
-"var dtls := PacketPeerDTLS.new()\n"
-"var udp := PacketPeerUDP.new()\n"
-"var connected = false\n"
-"\n"
-"func _ready():\n"
-" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
-" dtls.connect_to_peer(udp, false) # 生产环境中请使用 true 进行证书校验!\n"
-"\n"
-"func _process(delta):\n"
-" dtls.poll()\n"
-" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
-" if !connected:\n"
-" # 尝试联系服务器\n"
-" dtls.put_packet(\"回应是… 42!\".to_utf8())\n"
-" while dtls.get_available_packet_count() > 0:\n"
-" print(\"已连接:%s\" % dtls.get_packet()."
-"get_string_from_utf8())\n"
-" connected = true\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ClientNode.cs\n"
-"using Godot;\n"
-"using System.Text;\n"
-"\n"
-"public partial class ClientNode : Node\n"
-"{\n"
-" private PacketPeerDtls _dtls = new PacketPeerDtls();\n"
-" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
-" private bool _connected = false;\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
-" _dtls.ConnectToPeer(_udp, validateCerts: false); // 生产环境中请使用 "
-"true 进行证书校验!\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" _dtls.Poll();\n"
-" if (_dtls.GetStatus() == PacketPeerDtls.Status.Connected)\n"
-" {\n"
-" if (!_connected)\n"
-" {\n"
-" // 尝试联系服务器\n"
-" _dtls.PutPacket(\"回应是… 42!\".ToUtf8());\n"
-" }\n"
-" while (_dtls.GetAvailablePacketCount() > 0)\n"
-" {\n"
-" GD.Print($\"已连接:{_dtls.GetPacket()."
-"GetStringFromUtf8()}\");\n"
-" _connected = true;\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
-msgid ""
"Setup the DTLS server to use the given [param server_options]. See [method "
"TLSOptions.server]."
msgstr ""
@@ -39930,12 +39672,6 @@ msgid "If [code]true[/code], render the grid on an XZ plane."
msgstr "如果为 [code]true[/code],则在 XZ 平面上渲染栅格。"
msgid ""
-"If [code]true[/code], render the grid on an YZ plane. This can be useful for "
-"3D side-scrolling games."
-msgstr ""
-"如果为 [code]true[/code],则在 YZ 平面上渲染栅格。可用于 3D 横向卷轴游戏。"
-
-msgid ""
"If [code]true[/code], enables 3-button mouse emulation mode. This is useful "
"on laptops when using a trackpad.\n"
"When 3-button mouse emulation mode is enabled, the pan, zoom and orbit "
@@ -41013,14 +40749,6 @@ msgstr ""
"current_line_color] 为文本光标当前所在行的背景着色。"
msgid ""
-"The shape of the caret to use in the script editor. [b]Line[/b] displays a "
-"vertical line to the left of the current character, whereas [b]Block[/b] "
-"displays a outline over the current character."
-msgstr ""
-"在脚本编辑器中使用的文本光标的形状。[b]Line[/b] 会在当前字符的左侧显示一条垂"
-"直线,而 [b]Block[/b] 会在当前字符上方显示一个轮廓。"
-
-msgid ""
"The column at which to display a subtle line as a line length guideline for "
"scripts. This should generally be greater than [member text_editor/"
"appearance/guidelines/line_length_guideline_soft_column]."
@@ -43646,15 +43374,6 @@ msgstr ""
"(默认情况下)之前,[i]不[/i]报告错误。\n"
"[b]注意:[/b]从编辑器运行项目时,该属性不会影响编辑器的“错误”选项卡。"
-msgid ""
-"Controls how fast or slow the in-game clock ticks versus the real life one. "
-"It defaults to 1.0. A value of 2.0 means the game moves twice as fast as "
-"real life, whilst a value of 0.5 means the game moves at half the regular "
-"speed."
-msgstr ""
-"控制游戏中的时钟与现实生活中的时钟的快慢。默认值为 1.0。值为 2.0 意味着游戏的"
-"移动速度是现实生活的两倍,而值为 0.5 意味着游戏的移动速度是常规速度的一半。"
-
msgid "Exposes the internal debugger."
msgstr "暴露内部调试器。"
@@ -44915,6 +44634,9 @@ msgstr ""
"[/csharp]\n"
"[/codeblocks]"
+msgid "Evaluating Expressions"
+msgstr "表达式求值"
+
msgid ""
"Executes the expression that was previously parsed by [method parse] and "
"returns the result. Before you use the returned object, you should check if "
@@ -45956,13 +45678,13 @@ msgid "Invalidate and update the current dialog content list."
msgstr "使当前对话框内容列表无效并更新。"
msgid ""
-"The file system access scope. See enum [code]Access[/code] constants.\n"
+"The file system access scope. See [enum Access] constants.\n"
"[b]Warning:[/b] Currently, in sandboxed environments such as Web builds or "
"sandboxed macOS apps, FileDialog cannot access the host file system. See "
"[url=https://github.com/godotengine/godot-proposals/issues/1123]godot-"
"proposals#1123[/url]."
msgstr ""
-"文件系统的访问范围。见枚举 [code]Access[/code] 常量。\n"
+"文件系统的访问范围。见 [enum Access] 常量。\n"
"[b]警告:[/b]目前,在 Web 构建或沙盒 macOS 应用程序等沙盒环境中,FileDialog "
"无法访问主机文件系统。参见 [url=https://github.com/godotengine/godot-"
"proposals/issues/1123]godot-proposals#1123[/url]。"
@@ -45977,13 +45699,13 @@ msgid "The currently selected file path of the file dialog."
msgstr "当前选择的文件对话框的文件路径。"
msgid ""
-"If [code]true[/code], changing the [code]Mode[/code] property will set the "
-"window title accordingly (e.g. setting mode to [constant "
+"If [code]true[/code], changing the [member file_mode] property will set the "
+"window title accordingly (e.g. setting [member file_mode] to [constant "
"FILE_MODE_OPEN_FILE] will change the window title to \"Open a File\")."
msgstr ""
-"如果为 [code]true[/code],更改 [code]Mode[/code] 属性,将相应地设置窗口标题"
-"(例如,将模式设置为 [constant FILE_MODE_OPEN_FILE],会将窗口标题更改为“打开"
-"文件”)。"
+"如果为 [code]true[/code],更改 [member file_mode] 属性将相应地设置窗口标题"
+"(例如,将 [member file_mode] 设置为 [constant FILE_MODE_OPEN_FILE],会将窗口"
+"标题更改为“打开文件”)。"
msgid ""
"If non-empty, the given sub-folder will be \"root\" of this [FileDialog], i."
@@ -46889,73 +46611,6 @@ msgid ""
"bitmap font."
msgstr "字体源数据和预渲染字形的缓存,从动态字体或位图字体导入。"
-msgid ""
-"[FontFile] contains a set of glyphs to represent Unicode characters imported "
-"from a font file, as well as a cache of rasterized glyphs, and a set of "
-"fallback [Font]s to use.\n"
-"Use [FontVariation] to access specific OpenType variation of the font, "
-"create simulated bold / slanted version, and draw lines of text.\n"
-"For more complex text processing, use [FontVariation] in conjunction with "
-"[TextLine] or [TextParagraph].\n"
-"Supported font formats:\n"
-"- Dynamic font importer: TrueType (.ttf), TrueType collection (.ttc), "
-"OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), "
-"Type 1 (.pfb, .pfm).\n"
-"- Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary "
-"(version 3) format variants.\n"
-"- Monospace image font importer: All supported image formats.\n"
-"[b]Note:[/b] A character is a symbol that represents an item (letter, digit "
-"etc.) in an abstract way.\n"
-"[b]Note:[/b] A glyph is a bitmap or shape used to draw a one or more "
-"characters in a context-dependent manner. Glyph indices are bound to the "
-"specific font data source.\n"
-"[b]Note:[/b] If a none of the font data sources contain glyphs for a "
-"character used in a string, the character in question will be replaced with "
-"a box displaying its hexadecimal code.\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var f = load(\"res://BarlowCondensed-Bold.ttf\")\n"
-"$Label.add_theme_font_override(\"font\", f)\n"
-"$Label.add_theme_font_size_override(\"font_size\", 64)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var f = ResourceLoader.Load<FontFile>(\"res://BarlowCondensed-Bold.ttf\");\n"
-"GetNode(\"Label\").AddThemeFontOverride(\"font\", f);\n"
-"GetNode(\"Label\").AddThemeFontSizeOverride(\"font_size\", 64);\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"[FontFile] 包含一组代表从字体文件导入的 Unicode 字符的字形,以及一个光栅化字"
-"形的缓存,还有一组要使用的后备 [Font]。\n"
-"使用 [FontVariation] 访问字体的特定 OpenType 变体,创建模拟的粗体/斜体版本,"
-"并绘制文本行。\n"
-"对于更复杂的文本处理,请将 [FontVariation] 与 [TextLine] 或 [TextParagraph] "
-"结合使用。\n"
-"支持的字体格式:\n"
-"- 动态字体导入器:TrueType(.ttf)、TrueType 集合(.ttc)、OpenType(.otf)、"
-"OpenType 集合(.otc)、WOFF(.woff)、WOFF2(.woff2)、Type 1(.pfb,."
-"pfm)。\n"
-"- 位图字体导入器:AngelCode BMFont(.fnt,.font)、文本和二进制(版本 3)格式"
-"变体。\n"
-"- 等宽图像字体导入器:所有支持的图像格式。\n"
-"[b]注意:[/b]字符是以抽象方式表示一个项目(字母、数字等)的符号。\n"
-"[b]注意:[/b]字形是一种位图或形状,用于以上下文相关的方式绘制一个或多个字符。"
-"字形索引被绑定到特定的字体数据源。\n"
-"[b]注意:[/b]如果没有字体数据源包含字符串中使用的字符的字形,则该字符将被替换"
-"为显示其十六进制代码的方框。\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var f = load(\"res://BarlowCondensed-Bold.ttf\")\n"
-"$Label.add_theme_font_override(\"font\", f)\n"
-"$Label.add_theme_font_size_override(\"font_size\", 64)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var f = ResourceLoader.Load<FontFile>(\"res://BarlowCondensed-Bold.ttf\");\n"
-"GetNode(\"Label\").AddThemeFontOverride(\"font\", f);\n"
-"GetNode(\"Label\").AddThemeFontSizeOverride(\"font_size\", 64);\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
msgid "Removes all font cache entries."
msgstr "移除所有字体缓存条目。"
@@ -47495,18 +47150,6 @@ msgstr ""
msgid "A script implemented in the GDScript programming language."
msgstr "用 GDScript 编程语言实现的脚本。"
-msgid ""
-"A script implemented in the GDScript programming language. The script "
-"extends the functionality of all objects that instantiate it.\n"
-"[method new] creates a new instance of the script. [method Object."
-"set_script] extends an existing object, if that object's class matches one "
-"of the script's base classes."
-msgstr ""
-"一个用 GDScript 编程语言实现的脚本。该脚本扩展了实例化该对象后其所有对象的功"
-"能。\n"
-"[method new] 创建一个新的脚本实例。如果一个对象的类与脚本的基类之一匹配,则 "
-"[method Object.set_script] 会扩展该对象。"
-
msgid "GDScript documentation index"
msgstr "GDScript 文档索引"
@@ -48427,18 +48070,6 @@ msgid ""
msgstr "选择的阴影投射标志。可能的取值见 [enum ShadowCastingSetting]。"
msgid ""
-"Overrides the bounding box of this node with a custom one. This can be used "
-"to avoid the expensive [AABB] recalculation that happens when a skeleton is "
-"used with a [MeshInstance3D] or to have fine control over the "
-"[MeshInstance3D]'s bounding box. To remove this, set value to an [AABB] with "
-"all fields set to zero."
-msgstr ""
-"用一个自定义的边框来覆盖这个节点的边框。这可以用来避免当骨架与 "
-"[MeshInstance3D] 一起使用时,昂贵的 [AABB] 重新计算;或者可对 "
-"[MeshInstance3D] 的边框进行精细控制。要移除它,请将值设置为一个所有字段被设置"
-"为零的 [AABB]。"
-
-msgid ""
"The extra distance added to the GeometryInstance3D's bounding box ([AABB]) "
"to increase its cull box."
msgstr ""
@@ -48473,13 +48104,6 @@ msgstr ""
"light_bake_mode]。"
msgid ""
-"If [code]true[/code], disables occlusion culling for this instance. Useful "
-"for gizmos that must be rendered even when occlusion culling is in use."
-msgstr ""
-"如果为 [code]true[/code],则禁用该实例的遮挡剔除。对于即使在使用遮挡剔除时也"
-"必须渲染的小工具很有用。"
-
-msgid ""
"Changes how quickly the mesh transitions to a lower level of detail. A value "
"of 0 will force the mesh to its lowest level of detail, a value of 1 will "
"use the default settings, and larger values will keep the mesh in a higher "
@@ -48542,25 +48166,6 @@ msgstr ""
"visibility_range_begin_margin]。默认值 0 用于禁用范围检查。"
msgid ""
-"Margin for the [member visibility_range_begin] threshold. The "
-"GeometryInstance3D will only change its visibility state when it goes over "
-"or under the [member visibility_range_begin] threshold by this amount.\n"
-"If [member visibility_range_fade_mode] is [constant "
-"VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If "
-"[member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] "
-"or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade "
-"transition distance and must be set to a value greater than [code]0.0[/code] "
-"for the effect to be noticeable."
-msgstr ""
-"[member visibility_range_begin] 阈值的边距。GeometryInstance3D 只有在超出或低"
-"于 [member visibility_range_begin] 阈值达到这个量时,才会更改其可见性状态。\n"
-"如果 [member visibility_range_fade_mode] 为 [constant "
-"VISIBILITY_RANGE_FADE_DISABLED],这将作为滞后距离。如果 [member "
-"visibility_range_fade_mode] 为 [constant VISIBILITY_RANGE_FADE_SELF] 或 "
-"[constant VISIBILITY_RANGE_FADE_DEPENDENCIES],这将作为淡入淡出过渡距离,并且"
-"必须被设置为大于 [code]0.0[/code] 的值,才能使效果显眼。"
-
-msgid ""
"Distance from which the GeometryInstance3D will be hidden, taking [member "
"visibility_range_end_margin] into account as well. The default value of 0 is "
"used to disable the range check."
@@ -48569,25 +48174,6 @@ msgstr ""
"visibility_range_end_margin]。默认值 0 用于禁用范围检查。"
msgid ""
-"Margin for the [member visibility_range_end] threshold. The "
-"GeometryInstance3D will only change its visibility state when it goes over "
-"or under the [member visibility_range_end] threshold by this amount.\n"
-"If [member visibility_range_fade_mode] is [constant "
-"VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If "
-"[member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] "
-"or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade "
-"transition distance and must be set to a value greater than [code]0.0[/code] "
-"for the effect to be noticeable."
-msgstr ""
-"[member visibility_range_end] 阈值的边距。GeometryInstance3D 只有在超出或低"
-"于 [member visibility_range_end] 阈值达到这个量时,才会更改其可见性状态。\n"
-"如果 [member visibility_range_fade_mode] 为 [constant "
-"VISIBILITY_RANGE_FADE_DISABLED],这将作为滞后距离。如果 [member "
-"visibility_range_fade_mode] 为 [constant VISIBILITY_RANGE_FADE_SELF] 或 "
-"[constant VISIBILITY_RANGE_FADE_DEPENDENCIES],这将作为淡入淡出过渡距离,并且"
-"必须被设置为大于 [code]0.0[/code] 的值,才能使效果显眼。"
-
-msgid ""
"Controls which instances will be faded when approaching the limits of the "
"visibility range. See [enum VisibilityRangeFadeMode] for possible values."
msgstr ""
@@ -50169,16 +49755,6 @@ msgid "Represents the size of the [enum Resolution] enum."
msgstr "代表 [enum Resolution] 枚举的大小。"
msgid ""
-"Only update the heightmap when the [GPUParticlesCollisionHeightField3D] node "
-"is moved, or when the camera moves if [member follow_camera_enabled] is "
-"[code]true[/code]. An update can be forced by slightly moving the "
-"[GPUParticlesCollisionHeightField3D] in any direction."
-msgstr ""
-"仅在 [GPUParticlesCollisionHeightField3D] 节点移动时,或者当 [member "
-"follow_camera_enabled] 为 [code]true[/code] 且相机移动时,更新高度图。可以通"
-"过向任意方向稍微移动 [GPUParticlesCollisionHeightField3D] 来强制更新。"
-
-msgid ""
"Update the heightmap every frame. This has a significant performance cost. "
"This update should only be used when geometry that particles can collide "
"with changes significantly during gameplay."
@@ -50374,11 +49950,19 @@ msgstr "返回渐变中的颜色数。"
msgid "Removes the color at the index [param point]."
msgstr "移除索引 [param point] 处的颜色。"
-msgid "Reverses/mirrors the gradient."
-msgstr "将渐变进行反转/镜像。"
+msgid ""
+"Reverses/mirrors the gradient.\n"
+"[b]Note:[/b] This method mirrors all points around the middle of the "
+"gradient, which may produce unexpected results when [member "
+"interpolation_mode] is set to [constant GRADIENT_INTERPOLATE_CONSTANT]."
+msgstr ""
+"将渐变进行翻转/镜像。\n"
+"[b]注意:[/b]这个方法会将所有点以渐变的中点进行镜像,[member "
+"interpolation_mode] 为 [constant GRADIENT_INTERPOLATE_CONSTANT] 时可能产生意"
+"外的结果。"
-msgid "Returns the interpolated color specified by [code]offset[/code]."
-msgstr "返回由偏移 [code]offset[/code] 指定的插值颜色。"
+msgid "Returns the interpolated color specified by [param offset]."
+msgstr "返回由偏移 [param offset] 指定的插值颜色。"
msgid "Sets the color of the gradient color at index [param point]."
msgstr "设置渐变色在索引 [param point] 处的颜色。"
@@ -51925,102 +51509,6 @@ msgid "Used to create an HMAC for a message using a key."
msgstr "用来为一个使用密钥的信息创建 HMAC。"
msgid ""
-"The HMACContext class is useful for advanced HMAC use cases, such as "
-"streaming the message as it supports creating the message over time rather "
-"than providing it all at once.\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"extends Node\n"
-"var ctx = HMACContext.new()\n"
-"\n"
-"func _ready():\n"
-" var key = \"supersecret\".to_utf8()\n"
-" var err = ctx.start(HashingContext.HASH_SHA256, key)\n"
-" assert(err == OK)\n"
-" var msg1 = \"this is \".to_utf8()\n"
-" var msg2 = \"super duper secret\".to_utf8()\n"
-" err = ctx.update(msg1)\n"
-" assert(err == OK)\n"
-" err = ctx.update(msg2)\n"
-" assert(err == OK)\n"
-" var hmac = ctx.finish()\n"
-" print(hmac.hex_encode())\n"
-"\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"using Godot;\n"
-"using System.Diagnostics;\n"
-"\n"
-"public partial class MyNode : Node\n"
-"{\n"
-" private HmacContext _ctx = new HmacContext();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" byte[] key = \"supersecret\".ToUtf8();\n"
-" Error err = _ctx.Start(HashingContext.HashType.Sha256, key);\n"
-" Debug.Assert(err == Error.Ok);\n"
-" byte[] msg1 = \"this is \".ToUtf8();\n"
-" byte[] msg2 = \"super duper secret\".ToUtf8();\n"
-" err = _ctx.Update(msg1);\n"
-" Debug.Assert(err == Error.Ok);\n"
-" err = _ctx.Update(msg2);\n"
-" Debug.Assert(err == Error.Ok);\n"
-" byte[] hmac = _ctx.Finish();\n"
-" GD.Print(hmac.HexEncode());\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"HMACContext 类对于高级的 HMAC 用例非常有用,例如流式消息,因为它支持在一段时"
-"间内创建消息,而非一次性提供。\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"extends Node\n"
-"var ctx = HMACContext.new()\n"
-"\n"
-"func _ready():\n"
-" var key = \"supersecret\".to_utf8()\n"
-" var err = ctx.start(HashingContext.HASH_SHA256, key)\n"
-" assert(err == OK)\n"
-" var msg1 = \"this is \".to_utf8()\n"
-" var msg2 = \"super duper secret\".to_utf8()\n"
-" err = ctx.update(msg1)\n"
-" assert(err == OK)\n"
-" err = ctx.update(msg2)\n"
-" assert(err == OK)\n"
-" var hmac = ctx.finish()\n"
-" print(hmac.hex_encode())\n"
-"\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"using Godot;\n"
-"using System.Diagnostics;\n"
-"\n"
-"public partial class MyNode : Node\n"
-"{\n"
-" private HmacContext _ctx = new HmacContext();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" byte[] key = \"supersecret\".ToUtf8();\n"
-" Error err = _ctx.Start(HashingContext.HashType.Sha256, key);\n"
-" Debug.Assert(err == Error.Ok);\n"
-" byte[] msg1 = \"this is \".ToUtf8();\n"
-" byte[] msg2 = \"super duper secret\".ToUtf8();\n"
-" err = _ctx.Update(msg1);\n"
-" Debug.Assert(err == Error.Ok);\n"
-" err = _ctx.Update(msg2);\n"
-" Debug.Assert(err == Error.Ok);\n"
-" byte[] hmac = _ctx.Finish();\n"
-" GD.Print(hmac.HexEncode());\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
-msgid ""
"Returns the resulting HMAC. If the HMAC failed, an empty [PackedByteArray] "
"is returned."
msgstr "返回生成的 HMAC。如果该 HMAC 失败,则返回一个空的 [PackedByteArray]。"
@@ -53762,20 +53250,6 @@ msgid ""
"Compresses the image to use less memory. Can not directly access pixel data "
"while the image is compressed. Returns error if the chosen compression mode "
"is not available.\n"
-"The [param mode] parameter helps to pick the best compression method for DXT "
-"and ETC2 formats. It is ignored for ASTC compression.\n"
-"For ASTC compression, the [param astc_format] parameter must be supplied."
-msgstr ""
-"压缩图像以减少内存的使用。当图像被压缩时,不能直接访问像素数据。如果选择的压"
-"缩模式不可用,则返回错误。\n"
-"[param mode] 参数有助于为 DXT 和 ETC2 格式选择最佳压缩方法。对于 ASTC 压缩,"
-"它会被忽略。\n"
-"对于 ASTC 压缩,必须提供 [param astc_format] 参数。"
-
-msgid ""
-"Compresses the image to use less memory. Can not directly access pixel data "
-"while the image is compressed. Returns error if the chosen compression mode "
-"is not available.\n"
"This is an alternative to [method compress] that lets the user supply the "
"channels used in order for the compressor to pick the best DXT and ETC2 "
"formats. For other formats (non DXT or ETC2), this argument is ignored.\n"
@@ -54638,6 +54112,12 @@ msgstr "使用 ETC2 压缩。"
msgid "Use BPTC compression."
msgstr "使用 BPTC 压缩。"
+msgid "Use ASTC compression."
+msgstr "使用 ASTC 压缩。"
+
+msgid "Represents the size of the [enum CompressMode] enum."
+msgstr "代表 [enum CompressMode] 枚举的大小。"
+
msgid ""
"Source texture (before compression) is a regular texture. Default for all "
"textures."
@@ -54906,9 +54386,36 @@ msgid "Mesh optimized for creating geometry manually."
msgstr "为手动创建几何体,而优化的网格。"
msgid ""
-"Mesh optimized for creating geometry manually, similar to OpenGL1.x "
-"immediate mode."
-msgstr "为手动创建几何体,而优化的网格,类似于 OpenGL1.x 即时模式。"
+"A mesh type optimized for creating geometry manually, similar to OpenGL 1.x "
+"immediate mode.\n"
+"Here's a sample on how to generate a triangular face:\n"
+"[codeblocks]\n"
+"var mesh = ImmediateMesh.new()\n"
+"mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES)\n"
+"mesh.surface_add_vertex(Vector3.LEFT)\n"
+"mesh.surface_add_vertex(Vector3.FORWARD)\n"
+"mesh.surface_add_vertex(Vector3.ZERO)\n"
+"mesh.surface_end()\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] Generating complex geometries with [ImmediateMesh] is highly "
+"inefficient. Instead, it is designed to generate simple geometry that "
+"changes often."
+msgstr ""
+"针对手动创建几何体优化的网格类型,与 OpenGL 1.x 的立即模式类似。\n"
+"以下是生成三角形面的示例:\n"
+"[codeblocks]\n"
+"var mesh = ImmediateMesh.new()\n"
+"mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES)\n"
+"mesh.surface_add_vertex(Vector3.LEFT)\n"
+"mesh.surface_add_vertex(Vector3.FORWARD)\n"
+"mesh.surface_add_vertex(Vector3.ZERO)\n"
+"mesh.surface_end()\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]使用 [ImmediateMesh] 生成复杂的几何体极其低效。这种网格的设计目"
+"的是用来生成经常变化的简单几何体。"
+
+msgid "Using ImmediateMesh"
+msgstr "使用 ImmediateMesh"
msgid "Clear all surfaces."
msgstr "清除所有表面。"
@@ -55075,11 +54582,18 @@ msgid ""
"A singleton that deals with inputs. This includes key presses, mouse buttons "
"and movement, joypads, and input actions. Actions and their events can be "
"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or "
-"with the [InputMap] class."
+"with the [InputMap] class.\n"
+"[b]Note:[/b] The methods here reflect the global input state and are not "
+"affected by [method Control.accept_event] or [method Viewport."
+"set_input_as_handled], which only deal with the way input is propagated in "
+"the [SceneTree]."
msgstr ""
-"处理输入的单例。这包括按键、鼠标点击和移动、游戏手柄和输入动作。可以在[b]项"
-"目 > 项目设置[/b]的[b]输入映射[/b]选项卡中或使用 [InputMap] 类设置操作及其事"
-"件。"
+"处理输入的单例。处理的内容包括键盘、鼠标按键和移动、游戏手柄、输入动作。可以"
+"在[b]项目 > 项目设置[/b]的[b]输入映射[/b]选项卡中或使用 [InputMap] 类设置动作"
+"及其事件。\n"
+"[b]注意:[/b]此处的方法反映的是全局输入状态,不受 [method Control."
+"accept_event] 和 [method Viewport.set_input_as_handled] 的影响,这两个方法处"
+"理的是在 [SceneTree] 中传播的输入。"
msgid "Inputs documentation index"
msgstr "输入文档索引"
@@ -55482,36 +54996,6 @@ msgstr ""
"[b]注意:[/b]这个值在 Android 和 iOS 上可立即被硬件传感器的值所覆盖。"
msgid ""
-"Sets a custom mouse cursor image, which is only visible inside the game "
-"window. The hotspot can also be specified. Passing [code]null[/code] to the "
-"image parameter resets to the system cursor. See [enum CursorShape] for the "
-"list of shapes.\n"
-"[param image]'s size must be lower than 256×256.\n"
-"[param hotspot] must be within [param image]'s size.\n"
-"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If "
-"using an [AnimatedTexture], only the first frame will be displayed.\n"
-"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
-"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors.\n"
-"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
-"128×128. Cursor images larger than 32×32 will also only be displayed if the "
-"mouse cursor image is entirely located within the page for [url=https://"
-"chromestatus.com/feature/5825971391299584]security reasons[/url]."
-msgstr ""
-"设置一个自定义鼠标光标图像,该图像仅当游戏窗口内可见。还可以指定热点。将 "
-"[code]null[/code] 传递给 image 参数将重置为系统光标。有关详细信息,请参阅 "
-"[enum CursorShape] 形状列表。\n"
-"[param image] 的大小必须小于 256×256。\n"
-"[param hotspot] 必须在 [param image] 的大小范围内。\n"
-"[b]注意:[/b]不支持 [AnimatedTexture] 作为自定义鼠标光标。如果使用 "
-"[AnimatedTexture],则只会显示第一帧。\n"
-"[b]注意:[/b]仅支持以[b]无损[/b]、[b]有损[/b]、或[b]未压缩[/b]压缩模式导入的"
-"图像。[b]Video RAM[/b] 压缩模式不能用于自定义光标。\n"
-"[b]注意:[/b]在网络平台上,最大允许的光标图像大小为 128×128。 出于"
-"[url=https://chromestatus.com/feature/5825971391299584]安全原因[/url],只有当"
-"鼠标光标图像完全位于页面内时,大于 32×32 的光标图像才会显示。"
-
-msgid ""
"Sets the default cursor shape to be used in the viewport instead of "
"[constant CURSOR_ARROW].\n"
"[b]Note:[/b] If you want to change the default cursor shape for [Control]'s "
@@ -56381,28 +55865,6 @@ msgstr ""
"都减一。标准钢琴的乐器号为 0。"
msgid ""
-"Returns a value indicating the type of message for this MIDI signal. This is "
-"a member of the [enum MIDIMessage] enum.\n"
-"For MIDI messages between 0x80 and 0xEF, only the left half of the bits are "
-"returned as this value, as the other part is the channel (ex: 0x94 becomes "
-"0x9). For MIDI messages from 0xF0 to 0xFF, the value is returned as-is.\n"
-"Notes will return [constant MIDI_MESSAGE_NOTE_ON] when activated, but they "
-"might not always return [constant MIDI_MESSAGE_NOTE_OFF] when deactivated, "
-"therefore your code should treat the input as stopped if some period of time "
-"has passed.\n"
-"For more information, see the MIDI message status byte list chart linked "
-"above."
-msgstr ""
-"返回表示这个 MIDI 信号类型的值,是 [enum MIDIMessage] 枚举的成员。\n"
-"对于在 0x80 和 0xEF 之间的 MIDI 消息,这个值返回的是左半部分的比特位,另一半"
-"是通道(例:0x94 会变成 0x9)。对于在 0xF0 到 0xFF 之间的 MIDI 消息,这个值是"
-"原样返回的。\n"
-"激活音符时会返回 [constant MIDI_MESSAGE_NOTE_ON],但失活时并不一定会返回 "
-"[constant MIDI_MESSAGE_NOTE_OFF],因此你的代码应该在经过一段时间后将输入处理"
-"为停止。\n"
-"更多消息请参阅上面链接的 MIDI 消息状态字节列表。"
-
-msgid ""
"The pitch index number of this MIDI signal. This value ranges from 0 to 127. "
"On a piano, middle C is 60, and A440 is 69, see the \"MIDI note\" column of "
"the piano key frequency chart on Wikipedia for more information."
@@ -56415,19 +55877,6 @@ msgid ""
"devices, this value is always zero."
msgstr "MIDI 信号的压力。这个值在 0 到 127 之间。对于很多设备,这个值总是 0。"
-msgid ""
-"The velocity of the MIDI signal. This value ranges from 0 to 127. For a "
-"piano, this corresponds to how quickly the key was pressed, and is rarely "
-"above about 110 in practice. Note that some MIDI devices may send a "
-"[constant MIDI_MESSAGE_NOTE_ON] message with zero velocity and expect this "
-"to be treated the same as a [constant MIDI_MESSAGE_NOTE_OFF] message, but "
-"device implementations vary so Godot reports event data exactly as received."
-msgstr ""
-"MIDI 信号的速度。这个值在 0 到 127 之间。对于钢琴,这对应的是按键有多块,实际"
-"很少超过 110。请注意,部分 MIDI 设备可能会发送速度为零的 [constant "
-"MIDI_MESSAGE_NOTE_ON] 并期望进行和 [constant MIDI_MESSAGE_NOTE_OFF] 一样的处"
-"理,但因设备实现而异,所以 Godot 会原样汇报事件数据。"
-
msgid "Base input event type for mouse events."
msgstr "鼠标事件的基本输入事件类型。"
@@ -59608,19 +59057,6 @@ msgstr ""
"时更新。这适用于细微的变化(例如闪烁的手电筒),但通常不适用于大的变化,例如"
"打开和关闭灯光。"
-msgid ""
-"Light is taken into account in dynamic baking ([VoxelGI] and SDFGI ([member "
-"Environment.sdfgi_enabled]) only). The light can be moved around or modified "
-"with global illumination updating in real-time. The light's global "
-"illumination appearance will be slightly different compared to [constant "
-"BAKE_STATIC]. This has a greater performance cost compared to [constant "
-"BAKE_STATIC]."
-msgstr ""
-"在动态烘焙(仅 [VoxelGI] 和 SDFGI([member Environment.sdfgi_enabled]))时,"
-"考虑了灯光。灯光可以四处移动或修改,而且全局照明会实时更新。与 [constant "
-"BAKE_STATIC] 相比,灯光的全局照明外观会略有不同。与 [constant BAKE_STATIC] 相"
-"比,这具有更大的性能成本。"
-
msgid "Computes and stores baked lightmaps for fast global illumination."
msgstr "计算并存储烘焙光照贴图,以实现快速全局照明。"
@@ -62116,114 +61552,6 @@ msgstr "混合形状是相对于基础的权重。"
msgid "Helper tool to access and edit [Mesh] data."
msgstr "用于访问和编辑 [Mesh] 数据的辅助工具。"
-msgid ""
-"MeshDataTool provides access to individual vertices in a [Mesh]. It allows "
-"users to read and edit vertex data of meshes. It also creates an array of "
-"faces and edges.\n"
-"To use MeshDataTool, load a mesh with [method create_from_surface]. When you "
-"are finished editing the data commit the data to a mesh with [method "
-"commit_to_surface].\n"
-"Below is an example of how MeshDataTool may be used.\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var mesh = ArrayMesh.new()\n"
-"mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, BoxMesh.new()."
-"get_mesh_arrays())\n"
-"var mdt = MeshDataTool.new()\n"
-"mdt.create_from_surface(mesh, 0)\n"
-"for i in range(mdt.get_vertex_count()):\n"
-" var vertex = mdt.get_vertex(i)\n"
-" # In this example we extend the mesh by one unit, which results in "
-"separated faces as it is flat shaded.\n"
-" vertex += mdt.get_vertex_normal(i)\n"
-" # Save your change.\n"
-" mdt.set_vertex(i, vertex)\n"
-"mesh.surface_remove(0)\n"
-"mdt.commit_to_surface(mesh)\n"
-"var mi = MeshInstance.new()\n"
-"mi.mesh = mesh\n"
-"add_child(mi)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var mesh = new ArrayMesh();\n"
-"mesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, new BoxMesh()."
-"GetMeshArrays());\n"
-"var mdt = new MeshDataTool();\n"
-"mdt.CreateFromSurface(mesh, 0);\n"
-"for (var i = 0; i < mdt.GetVertexCount(); i++)\n"
-"{\n"
-" Vector3 vertex = mdt.GetVertex(i);\n"
-" // In this example we extend the mesh by one unit, which results in "
-"separated faces as it is flat shaded.\n"
-" vertex += mdt.GetVertexNormal(i);\n"
-" // Save your change.\n"
-" mdt.SetVertex(i, vertex);\n"
-"}\n"
-"mesh.SurfaceRemove(0);\n"
-"mdt.CommitToSurface(mesh);\n"
-"var mi = new MeshInstance();\n"
-"mi.Mesh = mesh;\n"
-"AddChild(mi);\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"See also [ArrayMesh], [ImmediateMesh] and [SurfaceTool] for procedural "
-"geometry generation.\n"
-"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
-"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
-"primitive modes."
-msgstr ""
-"MeshDataTool 提供对 [Mesh] 中各个顶点的访问。它允许用户读取和编辑网格的顶点数"
-"据。它还创建了一系列面和边。\n"
-"要使用 MeshDataTool,请使用 [method create_from_surface] 加载一个网格。完成数"
-"据编辑后,使用 [method commit_to_surface] 将数据提交到一个网格。\n"
-"下面是如何使用 MeshDataTool 的示例。\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var mesh = ArrayMesh.new()\n"
-"mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, BoxMesh.new()."
-"get_mesh_arrays())\n"
-"var mdt = MeshDataTool.new()\n"
-"mdt.create_from_surface(mesh, 0)\n"
-"for i in range(mdt.get_vertex_count()):\n"
-" var vertex = mdt.get_vertex(i)\n"
-" # 在这个例子中,我们将网格挤出一个单位,这会导致分离的面,因为它是平直着"
-"色的。\n"
-" vertex += mdt.get_vertex_normal(i)\n"
-" # 保存你的更改。\n"
-" mdt.set_vertex(i, vertex)\n"
-"mesh.surface_remove(0)\n"
-"mdt.commit_to_surface(mesh)\n"
-"var mi = MeshInstance.new()\n"
-"mi.mesh = mesh\n"
-"add_child(mi)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var mesh = new ArrayMesh();\n"
-"mesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, new BoxMesh()."
-"GetMeshArrays());\n"
-"var mdt = new MeshDataTool();\n"
-"mdt.CreateFromSurface(mesh, 0);\n"
-"for (var i = 0; i < mdt.GetVertexCount(); i++)\n"
-"{\n"
-" Vector3 vertex = mdt.GetVertex(i);\n"
-" // 在这个例子中,我们将网格挤出一个单位,这会导致分离的面,因为它是平直着"
-"色的。\n"
-" vertex += mdt.GetVertexNormal(i);\n"
-" // 保存你的更改。\n"
-" mdt.SetVertex(i, vertex);\n"
-"}\n"
-"mesh.SurfaceRemove(0);\n"
-"mdt.CommitToSurface(mesh);\n"
-"var mi = new MeshInstance();\n"
-"mi.Mesh = mesh;\n"
-"AddChild(mi);\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"另请参阅 [ArrayMesh]、[ImmediateMesh]、和 [SurfaceTool],以了解程序化几何生"
-"成。\n"
-"[b]注意:[/b]对于三角形基元模式的前面,Godot 使用顺时针[url=https://"
-"learnopengl.com/Advanced-OpenGL/Face-culling]缠绕顺序[/url]。"
-
msgid "Clears all data currently in MeshDataTool."
msgstr "将当前 MeshDataTool 中所有的数据全部清除。"
@@ -63844,13 +63172,6 @@ msgstr ""
"transfer_mode])。"
msgid ""
-"Called when the unique ID of this [MultiplayerPeer] is requested (see "
-"[method MultiplayerPeer.get_unique_id])."
-msgstr ""
-"请求 [MultiplayerPeer] 的唯一 ID 时调用(见 [method MultiplayerPeer."
-"get_unique_id])。"
-
-msgid ""
"Called when the \"refuse new connections\" status is requested on this "
"[MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections])."
msgstr ""
@@ -65691,55 +65012,6 @@ msgstr "[NavigationMesh] 发生变化时发出通知。"
msgid "Server interface for low-level 2D navigation access."
msgstr "用于低级 2D 导航访问的服务器接口。"
-msgid ""
-"NavigationServer2D is the server responsible for all 2D navigation. It "
-"handles several objects, namely maps, regions and agents.\n"
-"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world.\n"
-"[b]Note:[/b] Most NavigationServer changes take effect after the next "
-"physics frame and not immediately. This includes all changes made to maps, "
-"regions or agents by navigation related Nodes in the SceneTree or made "
-"through scripts.\n"
-"For two regions to be connected to each other, they must share a similar "
-"edge. An edge is considered connected to another if both of its two vertices "
-"are at a distance less than [code]edge_connection_margin[/code] to the "
-"respective other edge's vertex.\n"
-"You may assign navigation layers to regions with [method NavigationServer2D."
-"region_set_navigation_layers], which then can be checked upon when "
-"requesting a path with [method NavigationServer2D.map_get_path]. This allows "
-"allowing or forbidding some areas to 2D objects.\n"
-"To use the collision avoidance system, you may use agents. You can set an "
-"agent's target velocity, then the servers will emit a callback with a "
-"modified velocity.\n"
-"[b]Note:[/b] The collision avoidance system ignores regions. Using the "
-"modified velocity as-is might lead to pushing and agent outside of a "
-"navigable area. This is a limitation of the collision avoidance system, any "
-"more complex situation may require the use of the physics engine.\n"
-"This server keeps tracks of any call and executes them during the sync "
-"phase. This means that you can request any change to the map, using any "
-"thread, without worrying."
-msgstr ""
-"NavigationServer2D 是负责所有 2D 导航的服务器。它处理多种对象,即地图、区块和"
-"代理。\n"
-"地图由区块组成,区块由导航多边形组成。它们共同定义了 2D 世界中的可导航区"
-"域。\n"
-"[b]注意:[/b]大多数 NavigationServer 更改,在下一个物理帧之后生效,而不是立即"
-"生效。这些更改包括通过 SceneTree 中的导航相关节点或通过脚本对地图、区块或代理"
-"所做的所有更改。\n"
-"对于要相互连接的两个区块,它们必须共享一条相似的边。如果一条边的两个顶点到另"
-"一条边的顶点的距离,都小于 [code]edge_connection_margin[/code],则认为这条边"
-"与另一条边相连。\n"
-"可以使用 [method NavigationServer2D.region_set_navigation_layers] 将导航层分"
-"配给区块,然后可以在使用 [method NavigationServer2D.map_get_path] 请求路径时"
-"对其进行检查。这允许允许或禁止某些区域到 2D 对象。\n"
-"要使用碰撞回避系统,可以使用代理。可以设置代理的目标速度,然后服务器将以修改"
-"后的速度发出回调。\n"
-"[b]注意:[/b]碰撞回避系统忽略区块。按原样使用修改后的速度,可能会导致推挤,甚"
-"至代理超出可导航区域。这是碰撞回避系统的一个限制,任何更复杂的情况,可能都需"
-"要使用物理引擎。\n"
-"该服务器会跟踪任何调用并在同步阶段执行它们。这意味着对地图进行任何更改的任何"
-"请求,都可以使用线程,而无需担心出现问题。"
-
msgid "Using NavigationServer"
msgstr "使用 NavigationServer"
@@ -67398,6 +66670,15 @@ msgid ""
msgstr "如果本地系统为这个节点的多人游戏控制者,则返回 [code]true[/code]。"
msgid ""
+"Returns [code]true[/code] if the node is ready, i.e. it's inside scene tree "
+"and all its children are initialized.\n"
+"[method request_ready] resets it back to [code]false[/code]."
+msgstr ""
+"如果该节点已就绪,则返回 [code]true[/code],即该节点位于场景树中,并且所有子"
+"项均已初始化。\n"
+"[method request_ready] 会将其重置回 [code]false[/code]。"
+
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -68487,16 +67768,6 @@ msgstr ""
"返回该节点是否通知其全局和局部变换的更改。[Node3D] 默认不会传播此属性。"
msgid ""
-"Returns [code]true[/code] if the node is present in the [SceneTree], its "
-"[member visible] property is [code]true[/code] and all its antecedents are "
-"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
-msgstr ""
-"如果该节点位于 [SceneTree] 中,并且其 [member visible] 属性为 [code]true[/"
-"code],并且其所有上层节点也均可见,则返回 [code]true[/code]。如果任何上层节点"
-"被隐藏,则该节点在场景树中将不可见。"
-
-msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[param target] position.\n"
"The local up axis (+Y) points as close to the [param up] vector as possible "
@@ -68742,15 +68013,6 @@ msgstr ""
"[member Node3D.visible] 属性隐藏的节点,基本上可以从可见性依赖树中移除,因此"
"依赖实例不会考虑隐藏节点或其祖先。"
-msgid ""
-"If [code]true[/code], this node is drawn. The node is only visible if all of "
-"its antecedents are visible as well (in other words, [method "
-"is_visible_in_tree] must return [code]true[/code])."
-msgstr ""
-"如果为 [code]true[/code],这个节点就会被画出来。只有当它的所有前项也是可见的"
-"时候,这个节点才是可见的(换句话说,[method is_visible_in_tree] 必须返回 "
-"[code]true[/code])。"
-
msgid "Emitted when node visibility changes."
msgstr "当节点可见性更改时触发。"
@@ -70668,7 +69930,7 @@ msgstr ""
"被编辑,但它仍可以被该方法找到。"
msgid ""
-"Returns [code]true[/code] if the the given [param method] name exists in the "
+"Returns [code]true[/code] if the given [param method] name exists in the "
"object.\n"
"[b]Note:[/b] In C#, [param method] must be in snake_case when referring to "
"built-in Godot methods. Prefer using the names exposed in the "
@@ -72283,110 +71545,6 @@ msgstr ""
"[EditorPlugin] 或 [EditorScript] 的一部分时,它会冻结编辑器但不会冻结当前正在"
"运行的项目(因为项目是一个独立的子进程)。"
-msgid ""
-"Executes a command. The file specified in [param path] must exist and be "
-"executable. Platform path resolution will be used. The [param arguments] are "
-"used in the given order and separated by a space. If an [param output] "
-"[Array] is provided, the complete shell output of the process will be "
-"appended as a single [String] element in [param output]. If [param "
-"read_stderr] is [code]true[/code], the output to the standard error stream "
-"will be included too.\n"
-"On Windows, if [param open_console] is [code]true[/code] and the process is "
-"a console app, a new terminal window will be opened. This is ignored on "
-"other platforms.\n"
-"If the command is successfully executed, the method will return the exit "
-"code of the command, or [code]-1[/code] if it fails.\n"
-"[b]Note:[/b] The Godot thread will pause its execution until the executed "
-"command terminates. Use [Thread] to create a separate thread that will not "
-"pause the Godot thread, or use [method create_process] to create a "
-"completely independent process.\n"
-"For example, to retrieve a list of the working directory's contents:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var output = []\n"
-"var exit_code = OS.execute(\"ls\", [\"-l\", \"/tmp\"], output)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var output = new Godot.Collections.Array();\n"
-"int exitCode = OS.Execute(\"ls\", new string[] {\"-l\", \"/tmp\"}, output);\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"If you wish to access a shell built-in or execute a composite command, a "
-"platform-specific shell can be invoked. For example:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var output = []\n"
-"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], output)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var output = new Godot.Collections.Array();\n"
-"OS.Execute(\"CMD.exe\", new string[] {\"/C\", \"cd %TEMP% && dir\"}, "
-"output);\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
-"Windows.\n"
-"[b]Note:[/b] To execute a Windows command interpreter built-in command, "
-"specify [code]cmd.exe[/code] in [param path], [code]/c[/code] as the first "
-"argument, and the desired command as the second argument.\n"
-"[b]Note:[/b] To execute a PowerShell built-in command, specify "
-"[code]powershell.exe[/code] in [param path], [code]-Command[/code] as the "
-"first argument, and the desired command as the second argument.\n"
-"[b]Note:[/b] To execute a Unix shell built-in command, specify shell "
-"executable name in [param path], [code]-c[/code] as the first argument, and "
-"the desired command as the second argument.\n"
-"[b]Note:[/b] On macOS, sandboxed applications are limited to run only "
-"embedded helper executables, specified during export."
-msgstr ""
-"执行一条命令。[param path] 中指定的文件必须存在且可执行。将使用平台路径解析。"
-"[param arguments] 按给定顺序使用,并以空格分隔。如果提供了 [param output] "
-"[Array],则进程的完整 shell 输出,将作为单个 [String] 元素追加到 [param "
-"output] 中。如果 [param read_stderr] 为 [code]true[/code],则标准错误流的输出"
-"也将被包含在内。\n"
-"在 Windows 上,如果 [param open_console] 为 [code]true[/code] 并且进程是控制"
-"台应用程序,则将打开一个新的终端窗口。该参数在其他平台上被忽略。\n"
-"如果命令执行成功,该方法将返回命令的退出代码,如果失败则返回 [code]-1[/"
-"code]。\n"
-"[b]注意:[/b]Godot 线程将暂停执行,直到执行的命令终止。使用 [Thread] 创建一个"
-"不会暂停 Godot 线程的独立线程,或者使用 [method create_process] 创建一个完全"
-"独立的进程。\n"
-"例如,要检索工作目录内容的列表:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var output = []\n"
-"var exit_code = OS.execute(\"ls\", [\"-l\", \"/tmp\"], output)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var output = new Godot.Collections.Array();\n"
-"int exitCode = OS.Execute(\"ls\", new string[] {\"-l\", \"/tmp\"}, output);\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"如果希望访问内置的 shell 或执行复合命令,则可以调用特定于平台的 shell。例"
-"如:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"var output = []\n"
-"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], output)\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var output = new Godot.Collections.Array();\n"
-"OS.Execute(\"CMD.exe\", new string[] {\"/C\", \"cd %TEMP% && dir\"}, "
-"output);\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS 和 Windows 上实现。\n"
-"[b]注意:[/b]要执行 Windows 命令解释器的内置命令,在 [param path] 中指定 "
-"[code]cmd.exe[/code],将 [code]/c[/code] 作为第一个参数,并将所需的命令作为第"
-"二个参数。\n"
-"[b]注意:[/b]要执行 PowerShell 的内置命令,在 [param path] 中指定 "
-"[code]powershell.exe[/code],将 [code]-Command[/code] 作为第一个参数,然后将"
-"所需的命令作为第二个参数。\n"
-"[b]注意:[/b]要执行 Unix shell 内置命令,请在 [param path] 中指定 shell 可执"
-"行文件名称,将 [code]-c[/code] 作为第一个参数,并将所需的命令作为第二个参"
-"数。\n"
-"[b]注意:[/b]在 macOS 上,沙盒应用程序仅限于运行在导出期间指定的嵌入的辅助可"
-"执行文件。"
-
msgid "Returns the keycode of the given string (e.g. \"Escape\")."
msgstr "返回给定字符串(例如“Escape”)的键码。"
@@ -72888,31 +72046,6 @@ msgstr ""
"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS、Windows 上实现。"
msgid ""
-"Returns an array of the system substitute font file paths, which are similar "
-"to the font with [param font_name] and style for the specified text, locale "
-"and script. Returns empty array if no matching fonts found.\n"
-"The following aliases can be used to request default fonts: \"sans-serif\", "
-"\"serif\", \"monospace\", \"cursive\", and \"fantasy\".\n"
-"[b]Note:[/b] Depending on OS, it's not guaranteed that any of the returned "
-"fonts is suitable for rendering specified text. Fonts should be loaded and "
-"checked in the order they are returned, and the first suitable one used.\n"
-"[b]Note:[/b] Returned fonts might have different style if the requested "
-"style is not available or belong to a different font family.\n"
-"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
-"Windows."
-msgstr ""
-"返回系统替换字体文件路径的数组,这些字体与名称为 [param font_name] 并且其他风"
-"格也相符的字体相近,可用于指定的文本、区域设置以及文字。如果没有相匹配的字"
-"体,则返回空数组。\n"
-"下列别名可用于请求默认字体:无衬线“sans-serif”、有衬线“serif”、等"
-"宽“monospace”、手写体“cursive”、花体“fantasy”。\n"
-"[b]注意:[/b]根据操作系统的不同,无法保证任何返回的字体都适合渲染指定的文本。"
-"应该按照返回的顺序加载并检查字体,选用第一个合适的字体。\n"
-"[b]注意:[/b]如果没有请求的风格,或者属于不同的字体家族,则可能返回不同风格的"
-"字体。\n"
-"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS、Windows 上实现。"
-
-msgid ""
"Returns list of font family names available.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
"Windows."
@@ -73019,28 +72152,6 @@ msgstr ""
"[b]注意:[/b]该方法在 web 平台上不被支持。它将返回一个空字符串。"
msgid ""
-"Returns the video adapter driver name and version for the user's currently "
-"active graphics card.\n"
-"The first element holds the driver name, such as [code]nvidia[/code], "
-"[code]amdgpu[/code], etc.\n"
-"The second element holds the driver version. For e.g. the [code]nvidia[/"
-"code] driver on a Linux/BSD platform, the version is in the format "
-"[code]510.85.02[/code]. For Windows, the driver's format is "
-"[code]31.0.15.1659[/code].\n"
-"[b]Note:[/b] This method is only supported on the platforms Linux/BSD and "
-"Windows when not running in headless mode. It returns an empty array on "
-"other platforms."
-msgstr ""
-"返回用户当前激活的显卡的视频适配器驱动程序名称和版本。\n"
-"第一个元素保存驱动程序的名称,如 [code]nvidia[/code]、[code]amdgpu[/code] "
-"等。\n"
-"第二个元素保存驱动程序的版本。例如 Linux/BSD 平台上的 [code]nvidia[/code] 驱"
-"动程序,其版本格式为 [code]510.85.02[/code]。对于 Windows,其驱动程序的格式"
-"是 [code]31.0.15.1659[/code]。\n"
-"[b]注意:[/b]该方法仅在 Linux/BSD 和 Windows 平台上不以无头模式运行时才受支"
-"持。在其他平台上返回一个空数组。"
-
-msgid ""
"Returns [code]true[/code] if the environment variable with the name [param "
"variable] exists.\n"
"[b]Note:[/b] Double-check the casing of [param variable]. Environment "
@@ -75065,76 +74176,6 @@ msgstr ""
"[b]注意:[/b]在向广播地址(例如:[code]255.255.255.255[/code])发送数据包之"
"前,必须启用 [method set_broadcast_enabled]。"
-msgid ""
-"Waits for a packet to arrive on the bound address. See [method bind].\n"
-"[b]Note:[/b] [method wait] can't be interrupted once it has been called. "
-"This can be worked around by allowing the other party to send a specific "
-"\"death pill\" packet like this:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"socket = PacketPeerUDP.new()\n"
-"# Server\n"
-"socket.set_dest_address(\"127.0.0.1\", 789)\n"
-"socket.put_packet(\"Time to stop\".to_ascii())\n"
-"\n"
-"# Client\n"
-"while socket.wait() == OK:\n"
-" var data = socket.get_packet().get_string_from_ascii()\n"
-" if data == \"Time to stop\":\n"
-" return\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var socket = new PacketPeerUDP();\n"
-"// Server\n"
-"socket.SetDestAddress(\"127.0.0.1\", 789);\n"
-"socket.PutPacket(\"Time to stop\".ToAscii());\n"
-"\n"
-"// Client\n"
-"while (socket.Wait() == OK)\n"
-"{\n"
-" string data = socket.GetPacket().GetStringFromASCII();\n"
-" if (data == \"Time to stop\")\n"
-" {\n"
-" return;\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"等待数据包到达绑定的地址。见 [method bind]。\n"
-"[b]注意:[/b][method wait] 一旦被调用就无法中断。解决方法是让对方发送一个特定"
-"的“毒药”数据包,如下所示:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"socket = PacketPeerUDP.new()\n"
-"# 服务端\n"
-"socket.set_dest_address(\"127.0.0.1\", 789)\n"
-"socket.put_packet(\"Time to stop\".to_ascii())\n"
-"\n"
-"# 客户端\n"
-"while socket.wait() == OK:\n"
-" var data = socket.get_packet().get_string_from_ascii()\n"
-" if data == \"Time to stop\":\n"
-" return\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"var socket = new PacketPeerUDP();\n"
-"// 服务端\n"
-"socket.SetDestAddress(\"127.0.0.1\", 789);\n"
-"socket.PutPacket(\"Time to stop\".ToAscii());\n"
-"\n"
-"// 客户端\n"
-"while (socket.Wait() == OK)\n"
-"{\n"
-" string data = socket.GetPacket().GetStringFromASCII();\n"
-" if (data == \"Time to stop\")\n"
-" {\n"
-" return;\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
msgid "Provides an opaque background for [Control] children."
msgstr "为 [Control] 子控件提供不透明的背景。"
@@ -75564,9 +74605,6 @@ msgid ""
"Each particle's tangential acceleration will vary along this [CurveTexture]."
msgstr "每个粒子的切向加速度将沿着这个 [CurveTexture] 变化。"
-msgid "Enables and disables Turbulence for the particle system."
-msgstr "启用和禁用粒子系统的湍流。"
-
msgid ""
"Maximum turbulence influence on each particle.\n"
"The actual amount of turbulence influence on each particle is calculated as "
@@ -75597,30 +74635,6 @@ msgid ""
msgstr "每个粒子的湍流量,将在其生命周期内沿这条 [CurveTexture] 受到影响。"
msgid ""
-"Maximum displacement of each particles spawn position by the turbulence.\n"
-"The actual amount of displacement will be a factor of the underlying "
-"turbulence multiplied by a random value between [member "
-"turbulence_initial_displacement_min] and [member "
-"turbulence_initial_displacement_max]."
-msgstr ""
-"湍流对每个粒子出生位置的最大位移。\n"
-"实际位移量将是基础湍流乘以一个介于 [member "
-"turbulence_initial_displacement_min] 和 [member "
-"turbulence_initial_displacement_max] 之间的随机值的系数。"
-
-msgid ""
-"Minimum displacement of each particles spawn position by the turbulence.\n"
-"The actual amount of displacement will be a factor of the underlying "
-"turbulence multiplied by a random value between [member "
-"turbulence_initial_displacement_min] and [member "
-"turbulence_initial_displacement_max]."
-msgstr ""
-"湍流对每个粒子出生位置的最小位移。\n"
-"实际位移量将是基础湍流乘以一个介于 [member "
-"turbulence_initial_displacement_min] 和 [member "
-"turbulence_initial_displacement_max] 之间的随机值的系数。"
-
-msgid ""
"This value controls the overall scale/frequency of the turbulence noise "
"pattern.\n"
"A small scale will result in smaller features with more detail while a high "
@@ -75640,16 +74654,6 @@ msgstr ""
"[code]Vector3(0.0, 0.0, 0.0)[/code] 的值,会将湍流图案冻结在适当的位置。"
msgid ""
-"Use to influence the noise speed in a random pattern. This helps to break up "
-"visible movement patterns."
-msgstr "用于以随机图案影响噪声速度。这有助于打破可见的移动图案。"
-
-msgid ""
-"The turbulence noise strength. Increasing this will result in a stronger, "
-"more contrasting, noise pattern."
-msgstr "湍流噪声强度。增加此值将导致更强、更具对比的噪声图案。"
-
-msgid ""
"Use with [method set_param_min], [method set_param_max], and [method "
"set_param_texture] to set initial velocity properties."
msgstr ""
@@ -80794,39 +79798,9 @@ msgstr "如果大于 0,则这个值是此 Joint3D 产生的冲量的最大值
msgid "Placeholder class for a cubemap texture."
msgstr "立方体贴图纹理的占位类。"
-msgid ""
-"This class is used when loading a project that uses a [Cubemap] subclass in "
-"2 conditions:\n"
-"- When running the project exported in dedicated server mode, only the "
-"texture's dimensions are kept (as they may be relied upon for gameplay "
-"purposes or positioning of other elements). This allows reducing the "
-"exported PCK's size significantly.\n"
-"- When this subclass is missing due to using a different engine version or "
-"build (e.g. modules disabled)."
-msgstr ""
-"加载使用 [Cubemap] 子类的项目时,使用这个类的情况有两种:\n"
-"- 运行使用专用服务器模式导出的项目,仅保留纹理的尺寸(因为游戏逻辑可能依赖纹"
-"理的尺寸,可能用来定位其他元素)。这样能够显著减小导出的 PCK 的大小。\n"
-"- 由于引擎版本或构建不同而缺失这个子类(例如禁用了某些模块)。"
-
msgid "Placeholder class for a cubemap texture array."
msgstr "立方体贴图纹理数组的占位类。"
-msgid ""
-"This class is used when loading a project that uses a [CubemapArray] "
-"subclass in 2 conditions:\n"
-"- When running the project exported in dedicated server mode, only the "
-"texture's dimensions are kept (as they may be relied upon for gameplay "
-"purposes or positioning of other elements). This allows reducing the "
-"exported PCK's size significantly.\n"
-"- When this subclass is missing due to using a different engine version or "
-"build (e.g. modules disabled)."
-msgstr ""
-"加载使用 [CubemapArray] 子类的项目时,使用这个类的情况有两种:\n"
-"- 运行使用专用服务器模式导出的项目,仅保留纹理的尺寸(因为游戏逻辑可能依赖纹"
-"理的尺寸,可能用来定位其他元素)。这样能够显著减小导出的 PCK 的大小。\n"
-"- 由于引擎版本或构建不同而缺失这个子类(例如禁用了某些模块)。"
-
msgid "Placeholder class for a material."
msgstr "材质的占位类。"
@@ -80869,21 +79843,6 @@ msgstr "局部空间中,包含这个网格的最小 [AABB]。"
msgid "Placeholder class for a 2-dimensional texture."
msgstr "二维纹理的占位类。"
-msgid ""
-"This class is used when loading a project that uses a [Texture2D] subclass "
-"in 2 conditions:\n"
-"- When running the project exported in dedicated server mode, only the "
-"texture's dimensions are kept (as they may be relied upon for gameplay "
-"purposes or positioning of other elements). This allows reducing the "
-"exported PCK's size significantly.\n"
-"- When this subclass is missing due to using a different engine version or "
-"build (e.g. modules disabled)."
-msgstr ""
-"加载使用 [Texture2D] 子类的项目时,使用这个类的情况有两种:\n"
-"- 运行使用专用服务器模式导出的项目,仅保留纹理的尺寸(因为游戏逻辑可能依赖纹"
-"理的尺寸,可能用来定位其他元素)。这样能够显著减小导出的 PCK 的大小。\n"
-"- 由于引擎版本或构建不同而缺失这个子类(例如禁用了某些模块)。"
-
msgid "The texture's size (in pixels)."
msgstr "纹理的尺寸(单位为像素)。"
@@ -80893,36 +79852,6 @@ msgstr "二维纹理数组的占位类。"
msgid "Placeholder class for a 3-dimensional texture."
msgstr "三维纹理的占位类。"
-msgid ""
-"This class is used when loading a project that uses a [Texture3D] subclass "
-"in 2 conditions:\n"
-"- When running the project exported in dedicated server mode, only the "
-"texture's dimensions are kept (as they may be relied upon for gameplay "
-"purposes or positioning of other elements). This allows reducing the "
-"exported PCK's size significantly.\n"
-"- When this subclass is missing due to using a different engine version or "
-"build (e.g. modules disabled)."
-msgstr ""
-"加载使用 [Texture3D] 子类的项目时,使用这个类的情况有两种:\n"
-"- 运行使用专用服务器模式导出的项目,仅保留纹理的尺寸(因为游戏逻辑可能依赖纹"
-"理的尺寸,可能用来定位其他元素)。这样能够显著减小导出的 PCK 的大小。\n"
-"- 由于引擎版本或构建不同而缺失这个子类(例如禁用了某些模块)。"
-
-msgid ""
-"This class is used when loading a project that uses a [TextureLayered] "
-"subclass in 2 conditions:\n"
-"- When running the project exported in dedicated server mode, only the "
-"texture's dimensions are kept (as they may be relied upon for gameplay "
-"purposes or positioning of other elements). This allows reducing the "
-"exported PCK's size significantly.\n"
-"- When this subclass is missing due to using a different engine version or "
-"build (e.g. modules disabled)."
-msgstr ""
-"加载使用 [TextureLayered] 子类的项目时,使用这个类的情况有两种:\n"
-"- 运行使用专用服务器模式导出的项目,仅保留纹理的尺寸(因为游戏逻辑可能依赖纹"
-"理的尺寸,可能用来定位其他元素)。这样能够显著减小导出的 PCK 的大小。\n"
-"- 由于引擎版本或构建不同而缺失这个子类(例如禁用了某些模块)。"
-
msgid "The number of layers in the texture array."
msgstr "纹理数组中的层数。"
@@ -84412,10 +83341,6 @@ msgstr ""
"项目被认为是工作空间中的 C# 项目之一,根目录应该包含 [code]project.godot[/"
"code] 和[code].csproj[/code]。"
-msgid ""
-"If [code]true[/code] text resources are converted to binary format on export."
-msgstr "如果为 [code]true[/code],则导出时会将文本资源转换为二进制格式。"
-
msgid "If [code]true[/code] importing of resources is run on multiple threads."
msgstr "如果为 [code]true[/code],则会多线程执行资源的导入。"
@@ -84672,6 +83597,13 @@ msgstr ""
"非fug。"
msgid ""
+"If [code]true[/code], snaps [Control] node vertices to the nearest pixel to "
+"ensure they remain crisp even when the camera moves or zooms."
+msgstr ""
+"如果为 [code]true[/code],则将 [Control] 节点的顶点吸附到最近的像素,确保即便"
+"相机发生移动或缩放也能够保持锐利。"
+
+msgid ""
"If [code]true[/code], swaps [b]Cancel[/b] and [b]OK[/b] buttons in dialogs "
"on Windows and UWP to follow interface conventions. [method DisplayServer."
"get_swap_cancel_ok] can be used to query whether buttons are swapped at run-"
@@ -85117,7 +84049,7 @@ msgid ""
msgstr "针对 macOS 的快捷键覆盖项,对应在各个光标下方再添加一个光标的快捷键。"
msgid ""
-"Default [InputEventAction] to move the text cursor the the end of the text.\n"
+"Default [InputEventAction] to move the text cursor to the end of the text.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
@@ -87113,51 +86045,6 @@ msgstr ""
"common/max_physics_steps_per_frame] 也调大。"
msgid ""
-"If [code]true[/code], [CanvasItem] nodes will internally snap to full "
-"pixels. Their position can still be sub-pixel, but the decimals will not "
-"have effect."
-msgstr ""
-"如果为 [code]true[/code],则 [CanvasItem] 节点在内部会吸附到整像素位置。位置"
-"仍然可以是次像素的,但小数点后的值不会产生效果。"
-
-msgid ""
-"If [code]true[/code], vertices of [CanvasItem] nodes will snap to full "
-"pixels. Only affects the final vertex positions, not the transforms."
-msgstr ""
-"如果为 [code]true[/code],则 [CanvasItem] 节点的顶点会吸附到整像素位置。仅影"
-"响最终的顶点位置,不影响变换。"
-
-msgid ""
-"Sets the number of MSAA samples to use for 2D/Canvas rendering (as a power "
-"of two). MSAA is used to reduce aliasing around the edges of polygons. A "
-"higher MSAA value results in smoother edges but can be significantly slower "
-"on some hardware. This has no effect on shader-induced aliasing or texture "
-"aliasing.\n"
-"[b]Note:[/b] MSAA is only supported in the Forward+ and Mobile rendering "
-"methods, not Compatibility."
-msgstr ""
-"设置用于 2D/Canvas 渲染的 MSAA 采样数(为 2 的幂)。MSAA 可用于减少多边形边缘"
-"周围的锯齿。较高的 MSAA 值会产生更平滑的边缘,但在某些硬件上可能会明显变慢。"
-"这对着色器引起的锯齿或纹理锯齿无效。\n"
-"[b]注意:[/b]MSAA 仅支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。"
-
-msgid ""
-"Sets the number of MSAA samples to use for 3D rendering (as a power of two). "
-"MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA "
-"value results in smoother edges but can be significantly slower on some "
-"hardware. See also bilinear scaling 3d [member rendering/scaling_3d/mode] "
-"for supersampling, which provides higher quality but is much more expensive. "
-"This has no effect on shader-induced aliasing or texture aliasing.\n"
-"[b]Note:[/b] MSAA is only supported in the Forward+ and Mobile rendering "
-"methods, not Compatibility."
-msgstr ""
-"设置用于 3D 渲染的 MSAA 采样数(为 2 的幂)。MSAA 用于减少多边形边缘周围的锯"
-"齿。较高的 MSAA 值会产生更平滑的边缘,但在某些硬件上可能会明显变慢。另请参见"
-"用于超级采样的双线性缩放 3d [member rendering/scaling_3d/mode],它提供更高的"
-"质量但更昂贵。这对着色器引起的锯齿或纹理锯齿无效。\n"
-"[b]注意:[/b]MSAA 仅支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。"
-
-msgid ""
"Sets the screen-space antialiasing mode for the default screen [Viewport]. "
"Screen-space antialiasing works by selectively blurring edges in a post-"
"process shader. It differs from MSAA which takes multiple coverage samples "
@@ -87224,19 +86111,33 @@ msgstr ""
"[b]注意:[/b]TAA 只支持 Forward+ 渲染方式,不支持 Mobile 或 Compatibility。"
msgid ""
+"[b]Note:[/b] This property is only read when the project starts. To control "
+"the screen-space roughness limiter at runtime, call [method RenderingServer."
+"screen_space_roughness_limiter_set_active] instead."
+msgstr ""
+"[b]注意:[/b]这个属性仅在项目启动时读取。要在运行时控制屏幕空间粗糙度限制器,"
+"请调用 [method RenderingServer.screen_space_roughness_limiter_set_active]。"
+
+msgid ""
"If [code]true[/code], enables a spatial filter to limit roughness in areas "
"with high-frequency detail. This can help reduce specular aliasing to an "
"extent, though not as much as enabling [member rendering/anti_aliasing/"
"quality/use_taa]. This filter has a small performance cost, so consider "
"disabling it if it doesn't benefit your scene noticeably.\n"
-"[b]Note:[/b] TAA is only supported in the Forward+ and Mobile rendering "
-"methods, not Compatibility."
+"[b]Note:[/b] The screen-space roughness limiter is only supported in the "
+"Forward+ and Mobile rendering methods, not Compatibility.\n"
+"[b]Note:[/b] This property is only read when the project starts. To control "
+"the screen-space roughness limiter at runtime, call [method RenderingServer."
+"screen_space_roughness_limiter_set_active] instead."
msgstr ""
"如果为 [code]true[/code],则启用空间过滤器以限制具有高频细节的区域的粗糙度。"
"这可以在一定程度上帮助减少镜面反射锯齿,尽管不如启用 [member rendering/"
"anti_aliasing/quality/use_taa]。 该过滤器的性能成本很小,因此如果它对您的场景"
"没有明显好处,请考虑禁用它。\n"
-"[b]注意:[/b]TAA 只支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。"
+"[b]注意:[/b]屏幕空间粗糙度限制器只支持 Forward+ 和 Mobile 渲染方式,不支持 "
+"Compatibility。\n"
+"[b]注意:[/b]这个属性仅在项目启动时读取。要在运行时控制屏幕空间粗糙度限制器,"
+"请调用 [method RenderingServer.screen_space_roughness_limiter_set_active]。"
msgid ""
"Sets the quality of the depth of field effect. Higher quality takes more "
@@ -87451,28 +86352,6 @@ msgstr ""
"environment/ssil/adaptive_target] 设置。"
msgid ""
-"Scales the depth over which the subsurface scattering effect is applied. A "
-"high value may allow light to scatter into a part of the mesh or another "
-"mesh that is close in screen space but far in depth."
-msgstr ""
-"缩放应用次表面散射效果的深度。较高的值可能允许光散射到该网格的一部分,或是散"
-"射到屏幕空间中较近但深度较远的另一个网格中。"
-
-msgid ""
-"Sets the quality of the subsurface scattering effect. Higher values are "
-"slower but look nicer."
-msgstr "设置次表面散射效果的质量。值越高,速度越慢,但看起来也越好。"
-
-msgid ""
-"Scales the distance over which samples are taken for subsurface scattering "
-"effect. Changing this does not impact performance, but higher values will "
-"result in significant artifacts as the samples will become obviously spread "
-"out. A lower value results in a smaller spread of scattered light."
-msgstr ""
-"缩放对次表面散射效果进行采样的距离。更改该值不会影响性能;但较高的值将导致明"
-"显的伪影,因为样本将变得明显分散。较低的值会导致散射光的散布更小。"
-
-msgid ""
"Enables filtering of the volumetric fog effect prior to integration. This "
"substantially blurs the fog which reduces fine details but also smooths out "
"harsh edges and aliasing artifacts. Disable when more detail is required."
@@ -87659,22 +86538,6 @@ msgstr ""
"光照,但代价是当对象从明亮区域移动到阴影区域时可能会出现闪烁。"
msgid ""
-"Use 16 bits for shadow depth map. Enabling this results in shadows having "
-"less precision and may result in shadow acne, but can lead to performance "
-"improvements on some devices."
-msgstr ""
-"对阴影深度贴图使用 16 比特。启用此功能会导致阴影精度较低,并可能导致阴影粉"
-"刺,但在某些设备上可以带来性能的改善。"
-
-msgid ""
-"The directional shadow's size in pixels. Higher values will result in "
-"sharper shadows, at the cost of performance. The value will be rounded up to "
-"the nearest power of 2."
-msgstr ""
-"定向阴影的大小(以像素为单位)。较高的值,将导致更清晰的阴影,但会以性能为代"
-"价。该值将四舍五入到最接近的 2 次幂。"
-
-msgid ""
"Lower-end override for [member rendering/lights_and_shadows/"
"directional_shadow/size] on mobile devices, due to performance concerns or "
"driver support."
@@ -87879,29 +86742,6 @@ msgstr ""
"请在根 [Viewport] 上设置 [member Viewport.mesh_lod_threshold]。"
msgid ""
-"The [url=https://en.wikipedia.org/wiki/Bounding_volume_hierarchy]BVH[/url] "
-"quality to use when rendering the occlusion culling buffer. Higher values "
-"will result in more accurate occlusion culling, at the cost of higher CPU "
-"usage."
-msgstr ""
-"渲染遮挡剔除缓冲区时使用的 [url=https://en.wikipedia.org/wiki/"
-"Bounding_volume_hierarchy]BVH[/url] 质量。值越高,得到的遮挡剔除越精确,但代"
-"价是 CPU 使用率也越高。"
-
-msgid ""
-"Higher values will result in more accurate occlusion culling, at the cost of "
-"higher CPU usage. The occlusion culling buffer's pixel count is roughly "
-"equal to [code]occlusion_rays_per_thread * number_of_logical_cpu_cores[/"
-"code], so it will depend on the system's CPU. Therefore, CPUs with fewer "
-"cores will use a lower resolution to attempt keeping performance costs even "
-"across devices."
-msgstr ""
-"更高的值将导致更准确的遮挡剔除,但代价是更高的 CPU 使用率。遮挡剔除缓冲区的像"
-"素数大致等于 [code]occlusion_rays_per_thread * number_of_logical_cpu_cores[/"
-"code],因此它取决于系统的 CPU。因此,内核较少的 CPU 将使用较低的分辨率,来尝"
-"试保持跨设备的性能成本。"
-
-msgid ""
"If [code]true[/code], [OccluderInstance3D] nodes will be usable for "
"occlusion culling in 3D in the root viewport. In custom viewports, [member "
"Viewport.use_occlusion_culling] must be set to [code]true[/code] instead.\n"
@@ -88288,7 +87128,7 @@ msgstr ""
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the S3 Texture Compression algorithm (DXT1-5) for lower "
-"quality textures and the the BPTC algorithm (BC6H and BC7) for high quality "
+"quality textures and the BPTC algorithm (BC6H and BC7) for high quality "
"textures. This algorithm is only supported on PC desktop platforms and "
"consoles.\n"
"[b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were "
@@ -88534,26 +87374,6 @@ msgstr ""
msgid "The quad's size in 3D units."
msgstr "该四边形的大小,使用 3D 单位。"
-msgid "Quaternion."
-msgstr "四元数."
-
-msgid ""
-"A unit quaternion used for representing 3D rotations. Quaternions need to be "
-"normalized to be used for rotation.\n"
-"It is similar to Basis, which implements matrix representation of rotations, "
-"and can be parametrized using both an axis-angle pair or Euler angles. Basis "
-"stores rotation, scale, and shearing, while Quaternion only stores "
-"rotation.\n"
-"Due to its compactness and the way it is stored in memory, certain "
-"operations (obtaining axis-angle and performing SLERP, in particular) are "
-"more efficient and robust against floating-point errors."
-msgstr ""
-"代表 3D 旋转的单位四元数。四元数归一化后才能用于旋转。\n"
-"四元数与 Basis 类似,实现的是旋转的矩阵表示,可以使用轴角对或欧拉角作为参数。"
-"Basis 存储的是旋转、缩放以及切变,而 Quaternion 只存储旋转。\n"
-"由于四元数的紧凑性以及在内存中的存储方式,部分运算(尤其是获取轴角和执行 "
-"SLERP)在防止浮点数误差方面更加有效和稳健。"
-
msgid ""
"Constructs a default-initialized quaternion with all components set to "
"[code]0[/code]."
@@ -89288,21 +88108,6 @@ msgstr ""
"撞法线将为 [code]Vector3(0, 0, 0)[/code]。不会影响无体积的形状,如凹多边形和"
"高度图。"
-msgid "Framebuffer pass attachment description."
-msgstr "帧缓冲区阶段附件描述。"
-
-msgid ""
-"This class contains the list of attachment descriptions for a framebuffer "
-"pass. Each points with an index to a previously supplied list of texture "
-"attachments.\n"
-"Multipass framebuffers can optimize some configurations in mobile, on "
-"desktop they provide little to no advantage."
-msgstr ""
-"该类包含帧缓冲区通道的附件描述列表。每个点都有一个指向先前提供的纹理附件列表"
-"的索引。\n"
-"多通道帧缓冲区,可以优化移动设备中的某些配置;在桌面设备上,它们几乎没有优"
-"势。"
-
msgid ""
"Color attachments in order starting from 0. If this attachment is not used "
"by the shader, pass ATTACHMENT_UNUSED to skip."
@@ -89331,6 +88136,51 @@ msgid ""
"attachments can be provided."
msgstr "如果颜色附件是多重采样的,则可以提供非多重采样的解析附件。"
+msgid "The filtering method to use for mipmaps."
+msgstr "Mipmap 使用的过滤方法。"
+
+msgid "Shader source code (used by [RenderingDevice])."
+msgstr "着色器源代码(由 [RenderingDevice] 使用)。"
+
+msgid "The language the shader is written in."
+msgstr "着色器的编写语言。"
+
+msgid "Source code for the shader's compute stage."
+msgstr "着色器计算阶段的源代码。"
+
+msgid "Source code for the shader's fragment stage."
+msgstr "着色器片段阶段的源代码。"
+
+msgid "Source code for the shader's vertex stage."
+msgstr "着色器顶点阶段的源代码。"
+
+msgid "Texture format (used by [RenderingDevice])."
+msgstr "纹理格式(由 [RenderingDevice] 使用)。"
+
+msgid "The channel to sample when sampling the alpha channel."
+msgstr "对 Alpha 通道进行采样时采样的通道。"
+
+msgid "The channel to sample when sampling the blue color channel."
+msgstr "对蓝色通道进行采样时采样的通道。"
+
+msgid "The channel to sample when sampling the green color channel."
+msgstr "对绿色通道进行采样时采样的通道。"
+
+msgid "The channel to sample when sampling the red color channel."
+msgstr "对红色通道进行采样时采样的通道。"
+
+msgid "Shader uniform (used by [RenderingDevice])."
+msgstr "着色器 Uniform(由 [RenderingDevice] 使用)。"
+
+msgid "The uniform's binding."
+msgstr "Uniform 的绑定。"
+
+msgid "The uniform's data type."
+msgstr "Uniform 的数据类型。"
+
+msgid "Vertex attribute (used by [RenderingDevice])."
+msgstr "顶点属性(由 [RenderingDevice] 使用)。"
+
msgid "2D axis-aligned bounding box using floating point coordinates."
msgstr "使用浮点数坐标的 2D 轴对齐边界框。"
@@ -89839,30 +88689,6 @@ msgid "Reflection probes"
msgstr "反射探针"
msgid ""
-"The custom ambient color to use within the [ReflectionProbe]'s [member "
-"size]. Only effective if [member ambient_mode] is [constant AMBIENT_COLOR]."
-msgstr ""
-"在 [ReflectionProbe] 的 [member size] 中使用的自定义环境颜色。仅当 [member "
-"ambient_mode] 为 [constant AMBIENT_COLOR] 时有效。"
-
-msgid ""
-"The custom ambient color energy to use within the [ReflectionProbe]'s "
-"[member size]. Only effective if [member ambient_mode] is [constant "
-"AMBIENT_COLOR]."
-msgstr ""
-"在 [ReflectionProbe] 的 [member size] 中使用的自定义环境颜色能量。仅当 "
-"[member ambient_mode] 为 [constant AMBIENT_COLOR] 时有效。"
-
-msgid ""
-"The ambient color to use within the [ReflectionProbe]'s [member size]. The "
-"ambient color will smoothly blend with other [ReflectionProbe]s and the rest "
-"of the scene (outside the [ReflectionProbe]'s [member size])."
-msgstr ""
-"在 [ReflectionProbe] 的 [member size] 中使用的环境颜色。环境颜色将平滑地与其"
-"他 [ReflectionProbe] 和场景的其余部分(在 [ReflectionProbe] 的 [member size] "
-"之外)混合。"
-
-msgid ""
"If [code]true[/code], enables box projection. This makes reflections look "
"more correct in rectangle-shaped rooms by offsetting the reflection center "
"depending on the camera's location.\n"
@@ -89901,21 +88727,6 @@ msgid "If [code]true[/code], reflections will ignore sky contribution."
msgstr "如果为 [code]true[/code],则反射将忽略天空的贡献。"
msgid ""
-"The maximum distance away from the [ReflectionProbe] an object can be before "
-"it is culled. Decrease this to improve performance, especially when using "
-"the [constant UPDATE_ALWAYS] [member update_mode].\n"
-"[b]Note:[/b] The maximum reflection distance is always at least equal to the "
-"probe's extents. This means that decreasing [member max_distance] will not "
-"always cull objects from reflections, especially if the reflection probe's "
-"[member size] is already large."
-msgstr ""
-"对象在被剔除之前可以距该 [ReflectionProbe] 的最大距离。减少它可以提高性能,尤"
-"其是在使用 [constant UPDATE_ALWAYS] 作为 [member update_mode] 时。\n"
-"[b]注意:[/b]最大反射距离始终至少等于探针的范围。这意味着减少 [member "
-"max_distance] 并不总是会从反射中剔除对象,尤其是在反射探针的 [member size] 已"
-"经很大的情况下。"
-
-msgid ""
"The automatic LOD bias to use for meshes rendered within the "
"[ReflectionProbe] (this is analog to [member Viewport.mesh_lod_threshold]). "
"Higher values will use less detailed versions of meshes that have LOD "
@@ -89990,23 +88801,6 @@ msgstr ""
"的性能消耗也是显著的。因此,建议同一个场景中最多只使用一个 [constant "
"UPDATE_ALWAYS] 的 ReflectionProbe。其他用途请使用 [constant UPDATE_ONCE]。"
-msgid ""
-"Do not apply any ambient lighting inside the [ReflectionProbe]'s [member "
-"size]."
-msgstr "不在 [ReflectionProbe] 的 [member size] 内应用任何环境光照。"
-
-msgid ""
-"Apply automatically-sourced environment lighting inside the "
-"[ReflectionProbe]'s [member size]."
-msgstr "在 [ReflectionProbe] 的 [member size] 内应用自动获取的环境光照。"
-
-msgid ""
-"Apply custom ambient lighting inside the [ReflectionProbe]'s [member size]. "
-"See [member ambient_color] and [member ambient_color_energy]."
-msgstr ""
-"在 [ReflectionProbe] 的 [member size] 内应用自定义的环境光照。见 [member "
-"ambient_color] 和 [member ambient_color_energy]。"
-
msgid "Class for searching text for patterns using regular expressions."
msgstr "使用正则表达式搜索文本的类。"
@@ -90375,32 +89169,16 @@ msgstr "到远程节点的 [NodePath],相对于 RemoteTransform3D 在场景中
msgid "Abstraction for working with modern low-level graphics APIs."
msgstr "用于处理现代低阶图形 API 的抽象。"
+msgid "Using compute shaders"
+msgstr "使用计算着色器"
+
msgid ""
-"[RenderingDevice] is an abstraction for working with modern low-level "
-"graphics APIs such as Vulkan.\n"
-"On startup, Godot creates a global [RenderingDevice] which can be retrieved "
-"using [method RenderingServer.get_rendering_device]. This global "
-"RenderingDevice performs drawing to the screen.\n"
-"Internally, [RenderingDevice] is used in Godot to provide support for "
-"several modern low-level graphics APIs while reducing the amount of code "
-"duplication required.\n"
-"[b]Local RenderingDevices:[/b] Using [method RenderingServer."
-"create_local_rendering_device], you can create \"secondary\" rendering "
-"devices to perform drawing and GPU compute operations on separate threads.\n"
-"[b]Note:[/b] [RenderingDevice] is not available when running in headless "
-"mode or when using the Compatibility rendering method."
-msgstr ""
-"[RenderingDevice](渲染设备)是用于处理 Vulkan 等现代低阶图形 API 的抽象。\n"
-"启动时,Godot 会创建全局的 [RenderingDevice],可以使用 [method "
-"RenderingServer.get_rendering_device] 获取。这个全局的 RenderingDevice 会进行"
-"屏幕绘图。\n"
-"Godot 在内部使用 [RenderingDevice] 来提供对各种现代低阶图形 API 的支持,从而"
-"降低所需的代码重复。\n"
-"[b]局部 RenderingDevice:[/b]你可以通过 [method RenderingServer."
-"create_local_rendering_device] 来创建“次级”渲染设备,在单独的线程中进行绘图"
-"和 GPU 计算操作。\n"
-"[b]注意:[/b]使用无头模式运行或使用 OpenGL 渲染器时,[RenderingDevice] 不可"
-"用。"
+"Puts a memory barrier in place. This is used for synchronization to avoid "
+"data races. See also [method full_barrier], which may be useful for "
+"debugging."
+msgstr ""
+"原地放置一个内存屏障。内存屏障可用于进行同步,避免数据竞争。另见 [method "
+"full_barrier],可能更适合调试。"
msgid ""
"Returns a copy of the data of the specified [param buffer], optionally "
@@ -90410,13 +89188,39 @@ msgstr ""
"返回指定 [param buffer] 中数据的副本,还可以设置 [param offset_bytes] 和 "
"[param size_bytes],仅复制缓冲区的某一部分。"
+msgid "Binds [param index_array] to the specified [param draw_list]."
+msgstr "将 [param index_array] 绑定到指定的 [param draw_list]。"
+
+msgid "Binds [param render_pipeline] to the specified [param draw_list]."
+msgstr "将 [param render_pipeline] 绑定到指定的 [param draw_list]。"
+
msgid ""
-"Sets blend constants for draw list, blend constants are used only if the "
-"graphics pipeline is created with [constant DYNAMIC_STATE_BLEND_CONSTANTS] "
-"flag set."
+"Binds [param uniform_set] to the specified [param draw_list]. A [param "
+"set_index] must also be specified, which is an identifier starting from "
+"[code]0[/code] that must match the one expected by the draw list."
msgstr ""
-"设置绘图列表的混合常量,使用 [constant DYNAMIC_STATE_BLEND_CONSTANTS] 标志创"
-"建的图形管线才会使用混合常量。"
+"将 [param uniform_set] 绑定到指定的 [param draw_list]。还必须指定 [param "
+"set_index],这是从 [code]0[/code] 开始的标识符,必须与绘制列表中所需要的相匹"
+"配。"
+
+msgid "Binds [param vertex_array] to the specified [param draw_list]."
+msgstr "将 [param vertex_array] 绑定到指定的 [param draw_list]。"
+
+msgid ""
+"Tries to free an object in the RenderingDevice. To avoid memory leaks, this "
+"should be called after using an object as memory management does not occur "
+"automatically when using RenderingDevice directly."
+msgstr ""
+"尝试释放 RenderingDevice 中的某个对象。为了防止内存泄漏,对象使用完后就应该调"
+"用这个方法,因为直接使用 RenderingDevice 时并不会自动进行内存管理。"
+
+msgid ""
+"Puts a [i]full[/i] memory barrier in place. This is a memory [method "
+"barrier] with all flags enabled. [method full_barrier] it should only be "
+"used for debugging as it can severely impact performance."
+msgstr ""
+"原地放置一个[i]完整[/i]的内存屏障。这是启用了所有标志的 [method barrier]。"
+"[method full_barrier] 应该仅用于调试,因为对性能的影响极大。"
msgid ""
"Creates a vertex array based on the specified buffers. Optionally, [param "
@@ -90475,6 +89279,1918 @@ msgstr ""
msgid "Represents the size of the [enum DeviceType] enum."
msgstr "代表 [enum DeviceType] 枚举的大小。"
+msgid ""
+"Vulkan device driver resource. This is a \"global\" resource and ignores the "
+"RID passed in"
+msgstr "Vulkan 设备驱动资源。这是一种“全局”资源,会忽略传入的 RID"
+
+msgid "Physical device (graphics card) driver resource."
+msgstr "物理设备(显卡)驱动资源。"
+
+msgid "Vulkan instance driver resource."
+msgstr "Vulkan 实例驱动资源。"
+
+msgid "Vulkan queue driver resource."
+msgstr "Vulkan 队列驱动资源。"
+
+msgid "Vulkan queue family index driver resource."
+msgstr "Vulkan 队列族索引驱动资源。"
+
+msgid "Vulkan image driver resource."
+msgstr "Vulkan 图像驱动资源。"
+
+msgid "Vulkan image view driver resource."
+msgstr "Vulkan 图像查看驱动资源。"
+
+msgid "Vulkan image native texture format driver resource."
+msgstr "Vulkan 图像原生纹理格式驱动资源。"
+
+msgid "Vulkan sampler driver resource."
+msgstr "Vulkan 采样器驱动资源。"
+
+msgid ""
+"Vulkan [url=https://vkguide.dev/docs/chapter-4/descriptors/]descriptor set[/"
+"url] driver resource."
+msgstr ""
+"Vulkan [url=https://vkguide.dev/docs/chapter-4/descriptors/]描述符集[/url]驱"
+"动资源。"
+
+msgid "Vulkan buffer driver resource."
+msgstr "Vulkan 缓冲驱动资源。"
+
+msgid "Vulkan compute pipeline driver resource."
+msgstr "Vulkan 计算管线驱动资源。"
+
+msgid "Vulkan render pipeline driver resource."
+msgstr "Vulkan 渲染管线驱动资源。"
+
+msgid ""
+"4-bit-per-channel red/green channel data format, packed into 8 bits. Values "
+"are in the [code][0.0, 1.0][/code] range.\n"
+"[b]Note:[/b] More information on all data formats can be found on the "
+"[url=https://registry.khronos.org/vulkan/specs/1.1/html/vkspec."
+"html#_identification_of_formats]Identification of formats[/url] section of "
+"the Vulkan specification, as well as the [url=https://registry.khronos.org/"
+"vulkan/specs/1.3-extensions/man/html/VkFormat.html]VkFormat[/url] enum."
+msgstr ""
+"每通道 4 位的红、绿通道数据格式,紧缩在 8 个比特位中。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。\n"
+"[b]注意:[/b]所有数据格式的更多信息可以在 Vulkan 规格说明的 [url=https://"
+"registry.khronos.org/vulkan/specs/1.1/html/vkspec."
+"html#_identification_of_formats]Identification of formats[/url] 章节和 "
+"[url=https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/"
+"VkFormat.html]VkFormat[/url] 枚举中找到。"
+
+msgid ""
+"4-bit-per-channel red/green/blue/alpha channel data format, packed into 16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 4 位的红、绿、蓝、Alpha 通道数据格式,紧缩在 16 个比特位中。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"4-bit-per-channel blue/green/red/alpha channel data format, packed into 16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 4 位的蓝、绿、红、Alpha 通道数据格式,紧缩在 16 个比特位中。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Red/green/blue channel data format with 5 bits of red, 6 bits of green and 5 "
+"bits of blue, packed into 16 bits. Values are in the [code][0.0, 1.0][/code] "
+"range."
+msgstr ""
+"红、绿、蓝通道数据格式,红占 5 位、绿占 6 位、蓝占 5 位,紧缩在 16 个比特位"
+"中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Blue/green/red channel data format with 5 bits of blue, 6 bits of green and "
+"5 bits of red, packed into 16 bits. Values are in the [code][0.0, 1.0][/"
+"code] range."
+msgstr ""
+"蓝、绿、红通道数据格式,蓝占 5 位、绿占 6 位、红占 5 位,紧缩在 16 个比特位"
+"中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Red/green/blue/alpha channel data format with 5 bits of red, 6 bits of "
+"green, 5 bits of blue and 1 bit of alpha, packed into 16 bits. Values are in "
+"the [code][0.0, 1.0][/code] range."
+msgstr ""
+"红、绿、蓝、Alpha 通道数据格式,红占 5 位、绿占 6 位、蓝占 5 位、Alpha 占 1 "
+"位,紧缩在 16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Blue/green/red/alpha channel data format with 5 bits of blue, 6 bits of "
+"green, 5 bits of red and 1 bit of alpha, packed into 16 bits. Values are in "
+"the [code][0.0, 1.0][/code] range."
+msgstr ""
+"蓝、绿、红、Alpha 通道数据格式,蓝占 5 位、绿占 6 位、红占 5 位、Alpha 占 1 "
+"位,紧缩在 16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Alpha/red/green/blue channel data format with 1 bit of alpha, 5 bits of red, "
+"6 bits of green and 5 bits of blue, packed into 16 bits. Values are in the "
+"[code][0.0, 1.0][/code] range."
+msgstr ""
+"Alpha、红、绿、蓝通道数据格式,Alpha 占 1 位、红占 5 位、绿占 6 位、蓝占 5 "
+"位,紧缩在 16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红通道数据格式,使用归一化的值。取值均在 [code]"
+"[0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red channel data format with "
+"normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红通道数据格式,使用归一化的值。取值均在 [code]"
+"[-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red channel data format with "
+"scaled value (value is converted from integer to float). Values are in the "
+"[code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点"
+"数)。取值均在 [code][0.0, 255.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red channel data format with scaled "
+"value (value is converted from integer to float). Values are in the [code]"
+"[-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点"
+"数)。取值均在 [code][-127.0, 127.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer red channel data format. Values are in "
+"the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数红通道数据格式。取值均在 [code][0, 255][/code] 的范围"
+"内。"
+
+msgid ""
+"8-bit-per-channel signed integer red channel data format. Values are in the "
+"[code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数红通道数据格式。取值均在 [code][-127, 127][/code] 的范"
+"围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红通道数据格式,使用归一化的值、非线性 sRGB 编码。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 [code]"
+"[0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red/green channel data format with "
+"normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 [code]"
+"[-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green channel data format with "
+"scaled value (value is converted from integer to float). Values are in the "
+"[code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为浮"
+"点数)。取值均在 [code][0.0, 255.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red/green channel data format with "
+"scaled value (value is converted from integer to float). Values are in the "
+"[code][-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为浮"
+"点数)。取值均在 [code][-127.0, 127.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer red/green channel data format. Values are "
+"in the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数红、绿通道数据格式。取值均在 [code][0, 255][/code] 的"
+"范围内。"
+
+msgid ""
+"8-bit-per-channel signed integer red/green channel data format. Values are "
+"in the [code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数红、绿通道数据格式。取值均在 [code][-127, 127][/code] "
+"的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿通道数据格式,使用归一化的值、非线性 sRGB 编"
+"码。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green/blue channel data format "
+"with normalized value. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red/green/blue channel data format "
+"with normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 "
+"[code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green/blue channel data format "
+"with scaled value (value is converted from integer to float). Values are in "
+"the [code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转换"
+"为浮点数)。取值均在 [code][0.0, 255.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red/green/blue channel data format "
+"with scaled value (value is converted from integer to float). Values are in "
+"the [code][-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转换"
+"为浮点数)。取值均在 [code][-127.0, 127.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer red/green/blue channel data format. "
+"Values are in the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数红、绿、蓝通道数据格式。取值均在 [code][0, 255][/"
+"code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed integer red/green/blue channel data format. Values "
+"are in the [code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数红、绿、蓝通道数据格式。取值均在 [code][-127, 127][/"
+"code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green/blue/blue channel data "
+"format with normalized value and non-linear sRGB encoding. Values are in the "
+"[code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿、蓝通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red channel data format "
+"with normalized value. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point blue/green/red channel data format "
+"with normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 "
+"[code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red channel data format "
+"with scaled value (value is converted from integer to float). Values are in "
+"the [code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用缩放后的值(值从整数转换"
+"为浮点数)。取值均在 [code][0.0, 255.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point blue/green/red channel data format "
+"with scaled value (value is converted from integer to float). Values are in "
+"the [code][-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数蓝、绿、红通道数据格式,使用缩放后的值(值从整数转换"
+"为浮点数)。取值均在 [code][-127.0, 127.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer blue/green/red channel data format. "
+"Values are in the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数蓝、绿、红通道数据格式。取值均在 [code][0, 255][/"
+"code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed integer blue/green/red channel data format. Values "
+"are in the [code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数蓝、绿、红通道数据格式。取值均在 [code][-127, 127][/"
+"code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"format with normalized value. Values are in the [code][0.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值"
+"均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with normalized value. Values are in the [code][-1.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 8 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值"
+"均在 [code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值从"
+"整数转换为浮点数)。取值均在 [code][0.0, 255.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值从"
+"整数转换为浮点数)。取值均在 [code][-127.0, 127.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer red/green/blue/alpha channel data format. "
+"Values are in the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][0, "
+"255][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed integer red/green/blue/alpha channel data format. "
+"Values are in the [code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][-127, "
+"127][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"format with normalized value and non-linear sRGB encoding. Values are in the "
+"[code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线"
+"性 sRGB 编码。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red/alpha channel data "
+"format with normalized value. Values are in the [code][0.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红、Alpha 通道数据格式,使用归一化的值。取值"
+"均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point blue/green/red/alpha channel data "
+"format with normalized value. Values are in the [code][-1.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 8 位的带符号浮点数蓝、绿、红、Alpha 通道数据格式,使用归一化的值。取值"
+"均在 [code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red/alpha channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红、Alpha 通道数据格式,使用缩放后的值(值从"
+"整数转换为浮点数)。取值均在 [code][0.0, 255.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point blue/green/red/alpha channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数蓝、绿、红、Alpha 通道数据格式,使用缩放后的值(值从"
+"整数转换为浮点数)。取值均在 [code][-127.0, 127.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer blue/green/red/alpha channel data format. "
+"Values are in the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数蓝、绿、红、Alpha 通道数据格式。取值均在 [code][0, "
+"255][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed integer blue/green/red/alpha channel data format. "
+"Values are in the [code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数蓝、绿、红、Alpha 通道数据格式。取值均在 [code][-127, "
+"127][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red/alpha channel data "
+"format with normalized value and non-linear sRGB encoding. Values are in the "
+"[code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红、Alpha 通道数据格式,使用归一化的值、非线"
+"性 sRGB 编码。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point alpha/red/green/blue channel data "
+"format with normalized value, packed in 32 bits. Values are in the [code]"
+"[0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩"
+"在 32 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point alpha/red/green/blue channel data "
+"format with normalized value, packed in 32 bits. Values are in the [code]"
+"[-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩"
+"在 32 个比特位中。取值均在 [code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point alpha/red/green/blue channel data "
+"format with scaled value (value is converted from integer to float), packed "
+"in 32 bits. Values are in the [code][0.0, 255.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数 Alpha、红、绿、蓝通道数据格式,使用缩放后的值(值从"
+"整数转换为浮点数),紧缩在 32 个比特位中。取值均在 [code][0.0, 255.0][/code] "
+"的范围内。"
+
+msgid ""
+"8-bit-per-channel signed floating-point alpha/red/green/blue channel data "
+"format with scaled value (value is converted from integer to float), packed "
+"in 32 bits. Values are in the [code][-127.0, 127.0][/code] range."
+msgstr ""
+"每通道 8 位的带符号浮点数 Alpha、红、绿、蓝通道数据格式,使用缩放后的值(值从"
+"整数转换为浮点数),紧缩在 32 个比特位中。取值均在 [code][-127.0, 127.0][/"
+"code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned integer alpha/red/green/blue channel data format, "
+"packed in 32 bits. Values are in the [code][0, 255][/code] range."
+msgstr ""
+"每通道 8 位的无符号整数 Alpha、红、绿、蓝通道数据格式,紧缩在 32 个比特位中。"
+"取值均在 [code][0, 255][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel signed integer alpha/red/green/blue channel data format, "
+"packed in 32 bits. Values are in the [code][-127, 127][/code] range."
+msgstr ""
+"每通道 8 位的带符号整数 Alpha、红、绿、蓝通道数据格式,紧缩在 32 个比特位中。"
+"取值均在 [code][-127, 127][/code] 的范围内。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point alpha/red/green/blue channel data "
+"format with normalized value and non-linear sRGB encoding, packed in 32 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值、非线"
+"性 sRGB 编码,紧缩在 32 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围"
+"内。"
+
+msgid ""
+"Unsigned floating-point alpha/red/green/blue channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of red, 10 bits of green and 10 bits of blue. Values are in the [code]"
+"[0.0, 1.0][/code] range."
+msgstr ""
+"无符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。"
+
+msgid ""
+"Signed floating-point alpha/red/green/blue channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of red, 10 bits of green and 10 bits of blue. Values are in the [code]"
+"[-1.0, 1.0][/code] range."
+msgstr ""
+"带符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。取值均在 [code]"
+"[-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Unsigned floating-point alpha/red/green/blue channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of red, 10 bits of green and 10 bits of blue. Values are in the [code]"
+"[0.0, 1023.0][/code] range for red/green/blue and [code][0.0, 3.0][/code] "
+"for alpha."
+msgstr ""
+"无符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 "
+"[code][0.0, 1023.0][/code] 的范围内,Alpha 的取值在 [code][0.0, 3.0][/code] "
+"的范围内。"
+
+msgid ""
+"Signed floating-point alpha/red/green/blue channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of red, 10 bits of green and 10 bits of blue. Values are in the [code]"
+"[-511.0, 511.0][/code] range for red/green/blue and [code][-1.0, 1.0][/code] "
+"for alpha."
+msgstr ""
+"带符号浮点数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 "
+"[code][-511.0, 511.0][/code] 的范围内,Alpha 的取值在 [code][-1.0, 1.0][/"
+"code] 的范围内。"
+
+msgid ""
+"Unsigned integer alpha/red/green/blue channel data format with normalized "
+"value, packed in 32 bits. Format contains 2 bits of alpha, 10 bits of red, "
+"10 bits of green and 10 bits of blue. Values are in the [code][0, 1023][/"
+"code] range for red/green/blue and [code][0, 3][/code] for alpha."
+msgstr ""
+"无符号整数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩在 32 个比特位"
+"中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 "
+"[code][0, 1023][/code] 的范围内,Alpha 的取值在 [code][0, 3][/code] 的范围"
+"内。"
+
+msgid ""
+"Signed integer alpha/red/green/blue channel data format with normalized "
+"value, packed in 32 bits. Format contains 2 bits of alpha, 10 bits of red, "
+"10 bits of green and 10 bits of blue. Values are in the [code][-511, 511][/"
+"code] range for red/green/blue and [code][-1, 1][/code] for alpha."
+msgstr ""
+"带符号整数 Alpha、红、绿、蓝通道数据格式,使用归一化的值,紧缩在 32 个比特位"
+"中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 "
+"[code][-511, 511][/code] 的范围内,Alpha 的取值在 [code][-1, 1][/code] 的范围"
+"内。"
+
+msgid ""
+"Unsigned floating-point alpha/blue/green/red channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of blue, 10 bits of green and 10 bits of red. Values are in the [code]"
+"[0.0, 1.0][/code] range."
+msgstr ""
+"无符号浮点数 Alpha、蓝、绿、红通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。"
+
+msgid ""
+"Signed floating-point alpha/blue/green/red channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of blue, 10 bits of green and 10 bits of red. Values are in the [code]"
+"[-1.0, 1.0][/code] range."
+msgstr ""
+"带符号浮点数 Alpha、蓝、绿、红通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。取值均在 [code]"
+"[-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"Unsigned floating-point alpha/blue/green/red channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of blue, 10 bits of green and 10 bits of red. Values are in the [code]"
+"[0.0, 1023.0][/code] range for blue/green/red and [code][0.0, 3.0][/code] "
+"for alpha."
+msgstr ""
+"无符号浮点数 Alpha、蓝、绿、红通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 "
+"[code][0.0, 1023.0][/code] 的范围内,Alpha 的取值在 [code][0.0, 3.0][/code] "
+"的范围内。"
+
+msgid ""
+"Signed floating-point alpha/blue/green/red channel data format with "
+"normalized value, packed in 32 bits. Format contains 2 bits of alpha, 10 "
+"bits of blue, 10 bits of green and 10 bits of red. Values are in the [code]"
+"[-511.0, 511.0][/code] range for blue/green/red and [code][-1.0, 1.0][/code] "
+"for alpha."
+msgstr ""
+"带符号浮点数 Alpha、蓝、绿、红通道数据格式,使用归一化的值,紧缩在 32 个比特"
+"位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 "
+"[code][-511.0, 511.0][/code] 的范围内,Alpha 的取值在 [code][-1.0, 1.0][/"
+"code] 的范围内。"
+
+msgid ""
+"Unsigned integer alpha/blue/green/red channel data format with normalized "
+"value, packed in 32 bits. Format contains 2 bits of alpha, 10 bits of blue, "
+"10 bits of green and 10 bits of red. Values are in the [code][0, 1023][/"
+"code] range for blue/green/red and [code][0, 3][/code] for alpha."
+msgstr ""
+"无符号整数 Alpha、蓝、绿、红通道数据格式,使用归一化的值,紧缩在 32 个比特位"
+"中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 "
+"[code][0, 1023][/code] 的范围内,Alpha 的取值在 [code][0, 3][/code] 的范围"
+"内。"
+
+msgid ""
+"Signed integer alpha/blue/green/red channel data format with normalized "
+"value, packed in 32 bits. Format contains 2 bits of alpha, 10 bits of blue, "
+"10 bits of green and 10 bits of red. Values are in the [code][-511, 511][/"
+"code] range for blue/green/red and [code][-1, 1][/code] for alpha."
+msgstr ""
+"带符号整数 Alpha、蓝、绿、红通道数据格式,使用归一化的值,紧缩在 32 个比特位"
+"中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 "
+"[code][-511, 511][/code] 的范围内,Alpha 的取值在 [code][-1, 1][/code] 的范围"
+"内。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数红通道数据格式,使用归一化的值。取值均在 [code]"
+"[0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red channel data format with "
+"normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红通道数据格式,使用归一化的值。取值均在 [code]"
+"[-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red channel data format with "
+"scaled value (value is converted from integer to float). Values are in the "
+"[code][0.0, 65535.0][/code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点"
+"数)。取值均在 [code][0.0, 65535.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red channel data format with scaled "
+"value (value is converted from integer to float). Values are in the [code]"
+"[-32767.0, 32767.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点"
+"数)。取值均在 [code][-32767.0, 32767.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned integer red channel data format. Values are in "
+"the [code][0.0, 65535][/code] range."
+msgstr ""
+"每通道 16 位的无符号整数红通道数据格式。取值均在 [code][0.0, 65535][/code] 的"
+"范围内。"
+
+msgid ""
+"16-bit-per-channel signed integer red channel data format. Values are in the "
+"[code][-32767, 32767][/code] range."
+msgstr ""
+"每通道 16 位的带符号整数红通道数据格式。取值均在 [code][-32767, 32767][/"
+"code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red channel data format with the "
+"value stored as-is."
+msgstr "每通道 16 位的带符号浮点数红通道数据格式,数值原样存储。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red/green channel data format "
+"with normalized value. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 [code]"
+"[0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green channel data format with "
+"normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 [code]"
+"[-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red/green channel data format "
+"with scaled value (value is converted from integer to float). Values are in "
+"the [code][0.0, 65535.0][/code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为"
+"浮点数)。取值均在 [code][0.0, 65535.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green channel data format with "
+"scaled value (value is converted from integer to float). Values are in the "
+"[code][-32767.0, 32767.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为"
+"浮点数)。取值均在 [code][-32767.0, 32767.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned integer red/green channel data format. Values "
+"are in the [code][0.0, 65535][/code] range."
+msgstr ""
+"每通道 16 位的无符号整数红、绿通道数据格式。取值均在 [code][0.0, 65535][/"
+"code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed integer red/green channel data format. Values are "
+"in the [code][-32767, 32767][/code] range."
+msgstr ""
+"每通道 16 位的带符号整数红、绿通道数据格式。取值均在 [code][-32767, 32767][/"
+"code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green channel data format with "
+"the value stored as-is."
+msgstr "每通道 16 位的带符号浮点数红、绿通道数据格式,数值原样存储。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red/green/blue channel data "
+"format with normalized value. Values are in the [code][0.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 16 位的无符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green/blue channel data format "
+"with normalized value. Values are in the [code][-1.0, 1.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 "
+"[code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red/green/blue channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][0.0, 65535.0][/code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转"
+"换为浮点数)。取值均在 [code][0.0, 65535.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green/blue channel data format "
+"with scaled value (value is converted from integer to float). Values are in "
+"the [code][-32767.0, 32767.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转"
+"换为浮点数)。取值均在 [code][-32767.0, 32767.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned integer red/green/blue channel data format. "
+"Values are in the [code][0.0, 65535][/code] range."
+msgstr ""
+"每通道 16 位的无符号整数红、绿、蓝通道数据格式。取值均在 [code][0.0, 65535][/"
+"code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed integer red/green/blue channel data format. Values "
+"are in the [code][-32767, 32767][/code] range."
+msgstr ""
+"每通道 16 位的带符号整数红、绿、蓝通道数据格式。取值均在 [code][-32767, "
+"32767][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green/blue channel data format "
+"with the value stored as-is."
+msgstr "每通道 16 位的带符号浮点数红、绿、蓝通道数据格式,数值原样存储。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"format with normalized value. Values are in the [code][0.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 16 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with normalized value. Values are in the [code][-1.0, 1.0][/code] "
+"range."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取"
+"值均在 [code][-1.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][0.0, 65535.0][/code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值"
+"从整数转换为浮点数)。取值均在 [code][0.0, 65535.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with scaled value (value is converted from integer to float). Values "
+"are in the [code][-32767.0, 32767.0][/code] range."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值"
+"从整数转换为浮点数)。取值均在 [code][-32767.0, 32767.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned integer red/green/blue/alpha channel data "
+"format. Values are in the [code][0.0, 65535][/code] range."
+msgstr ""
+"每通道 16 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][0.0, "
+"65535][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed integer red/green/blue/alpha channel data format. "
+"Values are in the [code][-32767, 32767][/code] range."
+msgstr ""
+"每通道 16 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code]"
+"[-32767, 32767][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with the value stored as-is."
+msgstr ""
+"每通道 16 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,数值原样存储。"
+
+msgid ""
+"32-bit-per-channel unsigned integer red channel data format. Values are in "
+"the [code][0, 2^32 - 1][/code] range."
+msgstr ""
+"每通道 32 位的无符号整数红通道数据格式。取值均在 [code][0, 2^32 - 1][/code] "
+"的范围内。"
+
+msgid ""
+"32-bit-per-channel signed integer red channel data format. Values are in the "
+"[code][2^31 + 1, 2^31 - 1][/code] range."
+msgstr ""
+"每通道 32 位的带符号整数红通道数据格式。取值均在 [code][2^31 + 1, 2^31 - 1][/"
+"code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed floating-point red channel data format with the "
+"value stored as-is."
+msgstr "每通道 32 位的带符号整数红通道数据格式,数值原样存储。"
+
+msgid ""
+"32-bit-per-channel unsigned integer red/green channel data format. Values "
+"are in the [code][0, 2^32 - 1][/code] range."
+msgstr ""
+"每通道 32 位的无符号整数红、绿通道数据格式。取值均在 [code][0, 2^32 - 1][/"
+"code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed integer red/green channel data format. Values are "
+"in the [code][2^31 + 1, 2^31 - 1][/code] range."
+msgstr ""
+"每通道 32 位的带符号整数红、绿通道数据格式。取值均在 [code][2^31 + 1, 2^31 - "
+"1][/code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed floating-point red/green channel data format with "
+"the value stored as-is."
+msgstr "每通道 32 位的带符号整数红、绿通道数据格式,数值原样存储。"
+
+msgid ""
+"32-bit-per-channel unsigned integer red/green/blue channel data format. "
+"Values are in the [code][0, 2^32 - 1][/code] range."
+msgstr ""
+"每通道 32 位的无符号整数红、绿、蓝通道数据格式。取值均在 [code][0, 2^32 - 1]"
+"[/code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed integer red/green/blue channel data format. Values "
+"are in the [code][2^31 + 1, 2^31 - 1][/code] range."
+msgstr ""
+"每通道 32 位的带符号整数红、绿、蓝通道数据格式。取值均在 [code][2^31 + 1, "
+"2^31 - 1][/code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed floating-point red/green/blue channel data format "
+"with the value stored as-is."
+msgstr "每通道 32 位的带符号整数红、绿、蓝通道数据格式,数值原样存储。"
+
+msgid ""
+"32-bit-per-channel unsigned integer red/green/blue/alpha channel data "
+"format. Values are in the [code][0, 2^32 - 1][/code] range."
+msgstr ""
+"每通道 32 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][0, "
+"2^32 - 1][/code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed integer red/green/blue/alpha channel data format. "
+"Values are in the [code][2^31 + 1, 2^31 - 1][/code] range."
+msgstr ""
+"每通道 32 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][2^31 "
+"+ 1, 2^31 - 1][/code] 的范围内。"
+
+msgid ""
+"32-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with the value stored as-is."
+msgstr "每通道 32 位的带符号整数红、绿、蓝、Alpha 通道数据格式,数值原样存储。"
+
+msgid ""
+"64-bit-per-channel unsigned integer red channel data format. Values are in "
+"the [code][0, 2^64 - 1][/code] range."
+msgstr ""
+"每通道 64 位的无符号整数红通道数据格式。取值均在 [code][0, 2^64 - 1][/code] "
+"的范围内。"
+
+msgid ""
+"64-bit-per-channel signed integer red channel data format. Values are in the "
+"[code][2^63 + 1, 2^63 - 1][/code] range."
+msgstr ""
+"每通道 64 位的带符号整数红通道数据格式。取值均在 [code][2^63 + 1, 2^63 - 1][/"
+"code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed floating-point red channel data format with the "
+"value stored as-is."
+msgstr "每通道 64 位的带符号整数红通道数据格式,数值原样存储。"
+
+msgid ""
+"64-bit-per-channel unsigned integer red/green channel data format. Values "
+"are in the [code][0, 2^64 - 1][/code] range."
+msgstr ""
+"每通道 64 位的无符号整数红、绿通道数据格式。取值均在 [code][0, 2^64 - 1][/"
+"code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed integer red/green channel data format. Values are "
+"in the [code][2^63 + 1, 2^63 - 1][/code] range."
+msgstr ""
+"每通道 64 位的带符号整数红、绿通道数据格式。取值均在 [code][2^63 + 1, 2^63 - "
+"1][/code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed floating-point red/green channel data format with "
+"the value stored as-is."
+msgstr "每通道 64 位的带符号整数红、绿通道数据格式,数值原样存储。"
+
+msgid ""
+"64-bit-per-channel unsigned integer red/green/blue channel data format. "
+"Values are in the [code][0, 2^64 - 1][/code] range."
+msgstr ""
+"每通道 64 位的无符号整数红、绿、蓝通道数据格式。取值均在 [code][0, 2^64 - 1]"
+"[/code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed integer red/green/blue channel data format. Values "
+"are in the [code][2^63 + 1, 2^63 - 1][/code] range."
+msgstr ""
+"每通道 64 位的带符号整数红、绿、蓝通道数据格式。取值均在 [code][2^63 + 1, "
+"2^63 - 1][/code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed floating-point red/green/blue channel data format "
+"with the value stored as-is."
+msgstr "每通道 64 位的带符号整数红、绿、蓝通道数据格式,数值原样存储。"
+
+msgid ""
+"64-bit-per-channel unsigned integer red/green/blue/alpha channel data "
+"format. Values are in the [code][0, 2^64 - 1][/code] range."
+msgstr ""
+"每通道 64 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][0, "
+"2^64 - 1][/code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed integer red/green/blue/alpha channel data format. "
+"Values are in the [code][2^63 + 1, 2^63 - 1][/code] range."
+msgstr ""
+"每通道 64 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 [code][2^63 "
+"+ 1, 2^63 - 1][/code] 的范围内。"
+
+msgid ""
+"64-bit-per-channel signed floating-point red/green/blue/alpha channel data "
+"format with the value stored as-is."
+msgstr "每通道 64 位的带符号整数红、绿、蓝、Alpha 通道数据格式,数值原样存储。"
+
+msgid ""
+"Unsigned floating-point blue/green/red data format with the value stored as-"
+"is, packed in 32 bits. The format's precision is 10 bits of blue channel, 11 "
+"bits of green channel and 11 bits of red channel."
+msgstr ""
+"无符号浮点数蓝、绿、红数据格式,数值原样存储,紧缩在 32 个比特位中。该格式的"
+"精度为蓝通道 10 位、绿通道 11 位、红通道 11 位。"
+
+msgid ""
+"Unsigned floating-point exposure/blue/green/red data format with the value "
+"stored as-is, packed in 32 bits. The format's precision is 5 bits of "
+"exposure, 9 bits of blue channel, 9 bits of green channel and 9 bits of red "
+"channel."
+msgstr ""
+"无符号浮点数曝光、蓝、绿、红数据格式,数值原样存储,紧缩在 32 个比特位中。该"
+"格式的精度为曝光 5 位、蓝通道 9 位、绿通道 9 位、红通道 9 位。"
+
+msgid ""
+"16-bit unsigned floating-point depth data format with normalized value. "
+"Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"16 位无符号浮点数深度数据格式,使用归一化的值。取值均在 [code][0.0, 1.0][/"
+"code] 的范围内。"
+
+msgid ""
+"24-bit unsigned floating-point depth data format with normalized value, plus "
+"8 unused bits, packed in 32 bits. Values for depth are in the [code][0.0, "
+"1.0][/code] range."
+msgstr ""
+"24 位无符号浮点数深度数据格式,使用归一化的值,另有 8 位未使用,紧缩在 32 个"
+"比特位中。深度取值在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"32-bit signed floating-point depth data format with the value stored as-is."
+msgstr "32 位无符号浮点数深度数据格式,数值原样存储。"
+
+msgid "8-bit unsigned integer stencil data format."
+msgstr "8 位无符号整数模板数据格式。"
+
+msgid ""
+"16-bit unsigned floating-point depth data format with normalized value, plus "
+"8 bits of stencil in unsigned integer format. Values for depth are in the "
+"[code][0.0, 1.0][/code] range. Values for stencil are in the [code][0, 255][/"
+"code] range."
+msgstr ""
+"16 位无符号浮点数深度数据格式,使用归一化的值,另有 8 位使用无符号整数格式的"
+"模板。深度取值在 [code][0.0, 1.0][/code] 的范围内。模板取值在 [code][0, 255]"
+"[/code] 的范围内。"
+
+msgid ""
+"24-bit unsigned floating-point depth data format with normalized value, plus "
+"8 bits of stencil in unsigned integer format. Values for depth are in the "
+"[code][0.0, 1.0][/code] range. Values for stencil are in the [code][0, 255][/"
+"code] range."
+msgstr ""
+"24 位无符号浮点数深度数据格式,使用归一化的值,另有 8 位使用无符号整数格式的"
+"模板。深度取值在 [code][0.0, 1.0][/code] 的范围内。模板取值在 [code][0, 255]"
+"[/code] 的范围内。"
+
+msgid ""
+"32-bit signed floating-point depth data format with the value stored as-is, "
+"plus 8 bits of stencil in unsigned integer format. Values for stencil are in "
+"the [code][0, 255][/code] range."
+msgstr ""
+"32 位无符号浮点数深度数据格式,数值原样存储,另有 8 位使用无符号整数格式的模"
+"板。模板取值在 [code][0, 255][/code] 的范围内。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue channel data format with normalized "
+"value. Values are in the [code][0.0, 1.0][/code] range. The format's "
+"precision is 5 bits of red channel, 6 bits of green channel and 5 bits of "
+"blue channel. Using BC1 texture compression (also known as S3TC DXT1)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位。使"
+"用 BC1 纹理压缩(也叫 S3TC DXT1)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue channel data format with normalized "
+"value and non-linear sRGB encoding. Values are in the [code][0.0, 1.0][/"
+"code] range. The format's precision is 5 bits of red channel, 6 bits of "
+"green channel and 5 bits of blue channel. Using BC1 texture compression "
+"(also known as S3TC DXT1)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值、非线性 sRGB 编码。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、绿通道 6 "
+"位、蓝通道 5 位。使用 BC1 纹理压缩(也叫 S3TC DXT1)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. The "
+"format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits "
+"of blue channel and 1 bit of alpha channel. Using BC1 texture compression "
+"(also known as S3TC DXT1)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝"
+"通道 5 位、Alpha 通道 1 位。使用 BC1 纹理压缩(也叫 S3TC DXT1)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range. The format's precision is 5 bits of red channel, 6 bits "
+"of green channel, 5 bits of blue channel and 1 bit of alpha channel. Using "
+"BC1 texture compression (also known as S3TC DXT1)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、"
+"绿通道 6 位、蓝通道 5 位、Alpha 通道 1 位。使用 BC1 纹理压缩(也叫 S3TC "
+"DXT1)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. The "
+"format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits "
+"of blue channel and 4 bits of alpha channel. Using BC2 texture compression "
+"(also known as S3TC DXT3)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝"
+"通道 5 位、Alpha 通道 4 位。使用 BC2 纹理压缩(也叫 S3TC DXT3)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range. The format's precision is 5 bits of red channel, 6 bits "
+"of green channel, 5 bits of blue channel and 4 bits of alpha channel. Using "
+"BC2 texture compression (also known as S3TC DXT3)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、"
+"绿通道 6 位、蓝通道 5 位、Alpha 通道 4 位。使用 BC2 纹理压缩(也叫 S3TC "
+"DXT3)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. The "
+"format's precision is 5 bits of red channel, 6 bits of green channel, 5 bits "
+"of blue channel and 8 bits of alpha channel. Using BC3 texture compression "
+"(also known as S3TC DXT5)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝"
+"通道 5 位、Alpha 通道 8 位。使用 BC3 纹理压缩(也叫 S3TC DXT5)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range. The format's precision is 5 bits of red channel, 6 bits "
+"of green channel, 5 bits of blue channel and 8 bits of alpha channel. Using "
+"BC3 texture compression (also known as S3TC DXT5)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。该格式的精度为红通道 5 位、"
+"绿通道 6 位、蓝通道 5 位、Alpha 通道 8 位。使用 BC3 纹理压缩(也叫 S3TC "
+"DXT5)。"
+
+msgid ""
+"VRAM-compressed unsigned red channel data format with normalized value. "
+"Values are in the [code][0.0, 1.0][/code] range. The format's precision is 8 "
+"bits of red channel. Using BC4 texture compression."
+msgstr ""
+"显存压缩的无符号红通道数据格式,使用归一化的值。取值均在 [code][0.0, 1.0][/"
+"code] 的范围内。该格式的精度为红通道 8 位。使用 BC4 纹理压缩。"
+
+msgid ""
+"VRAM-compressed signed red channel data format with normalized value. Values "
+"are in the [code][-1.0, 1.0][/code] range. The format's precision is 8 bits "
+"of red channel. Using BC4 texture compression."
+msgstr ""
+"显存压缩的带符号红通道数据格式,使用归一化的值。取值均在 [code][-1.0, 1.0][/"
+"code] 的范围内。该格式的精度为红通道 8 位。使用 BC4 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned red/green channel data format with normalized "
+"value. Values are in the [code][0.0, 1.0][/code] range. The format's "
+"precision is 8 bits of red channel and 8 bits of green channel. Using BC5 "
+"texture compression (also known as S3TC RGTC)."
+msgstr ""
+"显存压缩的无符号红、绿通道数据格式,使用归一化的值。取值均在 [code][0.0, 1.0]"
+"[/code] 的范围内。该格式的精度为红通道 8 位、绿通道 8 位。使用 BC5 纹理压缩"
+"(也叫 S3TC RGTC)。"
+
+msgid ""
+"VRAM-compressed signed red/green channel data format with normalized value. "
+"Values are in the [code][-1.0, 1.0][/code] range. The format's precision is "
+"8 bits of red channel and 8 bits of green channel. Using BC5 texture "
+"compression (also known as S3TC RGTC)."
+msgstr ""
+"显存压缩的带符号红、绿通道数据格式,使用归一化的值。取值均在 [code][-1.0, "
+"1.0][/code] 的范围内。该格式的精度为红通道 8 位、绿通道 8 位。使用 BC5 纹理压"
+"缩(也叫 S3TC RGTC)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue channel data format with the "
+"floating-point value stored as-is. The format's precision is 8 bits of red "
+"channel and 8 bits of green channel. Using BC6H texture compression (also "
+"known as BPTC HDR)."
+msgstr ""
+"显存压缩的无符号红、绿、蓝通道数据格式,浮点数值原样存储。该格式的精度为红通"
+"道 8 位、绿通道 8 位。使用 BC6H 纹理压缩(也叫 BPTC HDR)。"
+
+msgid ""
+"VRAM-compressed signed red/green/blue channel data format with the floating-"
+"point value stored as-is. The format's precision is between 4 and 7 bits for "
+"the red/green/blue channels and between 0 and 8 bits for the alpha channel. "
+"Using BC7 texture compression (also known as BPTC HDR)."
+msgstr ""
+"显存压缩的带符号红、绿、蓝通道数据格式,浮点数值原样存储。该格式的精度为红、"
+"绿、蓝通道在 4 到 7 位之间,Alpha 通道在 0 到 8 位之间。使用 BC7 纹理压缩(也"
+"叫 BPTC HDR)。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. The "
+"format's precision is between 4 and 7 bits for the red/green/blue channels "
+"and between 0 and 8 bits for the alpha channel. Also known as BPTC LDR."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。该格式的精度为红、绿、蓝通道在 4 到 7 位之"
+"间,Alpha 通道在 0 到 8 位之间。使用 BC7 纹理压缩。也叫 BPTC HDR。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range. The format's precision is between 4 and 7 bits for the "
+"red/green/blue channels and between 0 and 8 bits for the alpha channel. Also "
+"known as BPTC LDR."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。该格式的精度为红、绿、蓝通道"
+"在 4 到 7 位之间,Alpha 通道在 0 到 8 位之间。使用 BC7 纹理压缩。也叫 BPTC "
+"HDR。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue channel data format with normalized "
+"value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture "
+"compression."
+msgstr ""
+"显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。使用 ETC2 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue channel data format with normalized "
+"value and non-linear sRGB encoding. Values are in the [code][0.0, 1.0][/"
+"code] range. Using ETC2 texture compression."
+msgstr ""
+"显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值、非线性 sRGB 编码。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。使用 ETC2 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. Red/green/"
+"blue use 8 bit of precision each, with alpha using 1 bit of precision. Using "
+"ETC2 texture compression."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。红、绿、蓝均使用 8 位精度,Alpha 使用 1 位"
+"精度。使用 ETC2 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range. Red/green/blue use 8 bit of precision each, with alpha "
+"using 1 bit of precision. Using ETC2 texture compression."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。红、绿、蓝均使用 8 位精度,"
+"Alpha 使用 1 位精度。使用 ETC2 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. Red/green/"
+"blue use 8 bits of precision each, with alpha using 8 bits of precision. "
+"Using ETC2 texture compression."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。红、绿、蓝均使用 8 位精度,Alpha 使用 8 位"
+"精度。使用 ETC2 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned red/green/blue/alpha channel data format with "
+"normalized value and non-linear sRGB encoding. Values are in the [code][0.0, "
+"1.0][/code] range. Red/green/blue use 8 bits of precision each, with alpha "
+"using 8 bits of precision. Using ETC2 texture compression."
+msgstr ""
+"显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB "
+"编码。取值均在 [code][0.0, 1.0][/code] 的范围内。红、绿、蓝均使用 8 位精度,"
+"Alpha 使用 8 位精度。使用 ETC2 纹理压缩。"
+
+msgid ""
+"11-bit VRAM-compressed unsigned red channel data format with normalized "
+"value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture "
+"compression."
+msgstr ""
+"11 位显存压缩的无符号红通道数据格式,使用归一化的值。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。使用 ETC2 纹理压缩。"
+
+msgid ""
+"11-bit VRAM-compressed signed red channel data format with normalized value. "
+"Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture "
+"compression."
+msgstr ""
+"11 位显存压缩的带符号红通道数据格式,使用归一化的值。取值均在 [code][0.0, "
+"1.0][/code] 的范围内。使用 ETC2 纹理压缩。"
+
+msgid ""
+"11-bit VRAM-compressed unsigned red/green channel data format with "
+"normalized value. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ETC2 texture compression."
+msgstr ""
+"11 位显存压缩的无符号红、绿通道数据格式,使用归一化的值。取值均在 [code]"
+"[0.0, 1.0][/code] 的范围内。使用 ETC2 纹理压缩。"
+
+msgid ""
+"11-bit VRAM-compressed signed red/green channel data format with normalized "
+"value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture "
+"compression."
+msgstr ""
+"11 位显存压缩的带符号红、绿通道数据格式,使用归一化的值。取值均在 [code]"
+"[0.0, 1.0][/code] 的范围内。使用 ETC2 纹理压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 4×4 blocks (highest quality). Values are in the [code][0.0, 1.0][/"
+"code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 4x4 的区块内(质量最"
+"高)。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 4×4 blocks (highest quality). Values "
+"are in the [code][0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 4x4 "
+"的区块内(质量最高)。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压"
+"缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 5×4 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 5x4 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 5×4 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 5x4 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 5×5 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 5x5 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 5×5 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 5x5 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 6×5 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 6x5 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 6×5 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 6x5 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 6×6 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 6x6 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 6×6 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 6x6 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 8×5 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 8x5 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 8×5 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 8x5 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 8×6 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 8x6 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 8×6 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 8x6 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 8×8 blocks. Values are in the [code][0.0, 1.0][/code] range. Using "
+"ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 8x8 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 8×8 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 8x8 "
+"的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 10×5 blocks. Values are in the [code][0.0, 1.0][/code] range. "
+"Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x5 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 10×5 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 "
+"10x5 的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 10×6 blocks. Values are in the [code][0.0, 1.0][/code] range. "
+"Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x6 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 10×6 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 "
+"10x6 的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 10×8 blocks. Values are in the [code][0.0, 1.0][/code] range. "
+"Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x8 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 10×8 blocks. Values are in the [code]"
+"[0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 "
+"10x8 的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 10×10 blocks. Values are in the [code][0.0, 1.0][/code] range. "
+"Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x10 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 10×10 blocks. Values are in the "
+"[code][0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 "
+"10x10 的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 12×10 blocks. Values are in the [code][0.0, 1.0][/code] range. "
+"Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 12x10 的区块内。取值均"
+"在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 12×10 blocks. Values are in the "
+"[code][0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 "
+"12x10 的区块内。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value, "
+"packed in 12 blocks (lowest quality). Values are in the [code][0.0, 1.0][/"
+"code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 12 个区块内(质量最"
+"低)。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压缩。"
+
+msgid ""
+"VRAM-compressed unsigned floating-point data format with normalized value "
+"and non-linear sRGB encoding, packed in 12 blocks (lowest quality). Values "
+"are in the [code][0.0, 1.0][/code] range. Using ASTC compression."
+msgstr ""
+"显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 12 "
+"个区块内(质量最低)。取值均在 [code][0.0, 1.0][/code] 的范围内。使用 ASTC 压"
+"缩。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point green/blue/red channel data format "
+"with normalized value. Values are in the [code][0.0, 1.0][/code] range. Blue "
+"and red channel data is stored at halved horizontal resolution (i.e. 2 "
+"horizontally adjacent pixels will share the same value for the blue/red "
+"channel)."
+msgstr ""
+"每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向"
+"相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point blue/green/red channel data format "
+"with normalized value. Values are in the [code][0.0, 1.0][/code] range. Blue "
+"and red channel data is stored at halved horizontal resolution (i.e. 2 "
+"horizontally adjacent pixels will share the same value for the blue/red "
+"channel)."
+msgstr ""
+"每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向"
+"相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, stored across 3 separate planes (green + blue + red). "
+"Values are in the [code][0.0, 1.0][/code] range. Blue and red channel data "
+"is stored at halved horizontal and vertical resolution (i.e. 2×2 adjacent "
+"pixels will share the same value for the blue/red channel)."
+msgstr ""
+"每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在三个独"
+"立平面存储(绿 + 蓝 + 红)。取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红"
+"通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, stored across 2 separate planes (green + blue/red). Values "
+"are in the [code][0.0, 1.0][/code] range. Blue and red channel data is "
+"stored at halved horizontal and vertical resolution (i.e. 2×2 adjacent "
+"pixels will share the same value for the blue/red channel)."
+msgstr ""
+"每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在两个独"
+"立平面存储(绿 + 蓝、红)。取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红"
+"通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, stored across 2 separate planes (green + blue + red). "
+"Values are in the [code][0.0, 1.0][/code] range. Blue and red channel data "
+"is stored at halved horizontal resolution (i.e. 2 horizontally adjacent "
+"pixels will share the same value for the blue/red channel)."
+msgstr ""
+"每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在两个独"
+"立平面存储(绿 + 蓝 + 红)。取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红"
+"通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, stored across 2 separate planes (green + blue/red). Values "
+"are in the [code][0.0, 1.0][/code] range. Blue and red channel data is "
+"stored at halved horizontal resolution (i.e. 2 horizontally adjacent pixels "
+"will share the same value for the blue/red channel)."
+msgstr ""
+"每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在两个独"
+"立平面存储(绿 + 蓝、红)。取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红"
+"通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"8-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, stored across 3 separate planes. Values are in the [code]"
+"[0.0, 1.0][/code] range."
+msgstr ""
+"每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在三个独"
+"立平面存储。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point red channel data with normalized "
+"value, plus 6 unused bits, packed in 16 bits. Values are in the [code][0.0, "
+"1.0][/code] range."
+msgstr ""
+"每通道 10 位的无符号浮点数红通道数据,使用归一化的值,另有 6 位未使用,紧缩"
+"在 16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point red/green channel data with "
+"normalized value, plus 6 unused bits after each channel, packed in 2×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 10 位的无符号浮点数红、绿通道数据,使用归一化的值,每个通道均另有 6 位"
+"未使用,紧缩在 2x16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"with normalized value, plus 6 unused bits after each channel, packed in 4×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 10 位的无符号浮点数红、绿、蓝、Alpha 通道数据,使用归一化的值,每个通"
+"道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 [code][0.0, 1.0][/"
+"code] 的范围内。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point green/blue/green/red channel data "
+"with normalized value, plus 6 unused bits after each channel, packed in 4×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range. Blue and red channel "
+"data is stored at halved horizontal resolution (i.e. 2 horizontally adjacent "
+"pixels will share the same value for the blue/red channel). The green "
+"channel is listed twice, but contains different values to allow it to be "
+"represented at full resolution."
+msgstr ""
+"每通道 10 位的无符号浮点数绿、蓝、绿、红通道数据,使用归一化的值,每个通道均"
+"另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的"
+"范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红"
+"通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point blue/green/red/green channel data "
+"with normalized value, plus 6 unused bits after each channel, packed in 4×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range. Blue and red channel "
+"data is stored at halved horizontal resolution (i.e. 2 horizontally adjacent "
+"pixels will share the same value for the blue/red channel). The green "
+"channel is listed twice, but contains different values to allow it to be "
+"represented at full resolution."
+msgstr ""
+"每通道 10 位的无符号浮点数蓝、绿、红、绿通道数据,使用归一化的值,每个通道均"
+"另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的"
+"范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红"
+"通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 2 separate planes (green + blue + red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal and vertical resolution (i.e. 2×2 adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝 + 红)。"
+"取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据纵横半分辨率存储"
+"(即 2x2 相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 2 separate planes (green + blue/red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal and vertical resolution (i.e. 2×2 adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝、红)。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据纵横半分辨率存储(即 "
+"2x2 相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 3 separate planes (green + blue + red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal resolution (i.e. 2 horizontally adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。"
+"取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即"
+"两个横向相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 3 separate planes (green + blue/red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal resolution (i.e. 2 horizontally adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝、红)。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两"
+"个横向相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"10-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 3 separate planes (green + blue + red). Values are in the "
+"[code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。"
+"取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point red channel data with normalized "
+"value, plus 6 unused bits, packed in 16 bits. Values are in the [code][0.0, "
+"1.0][/code] range."
+msgstr ""
+"每通道 12 位的无符号浮点数红通道数据,使用归一化的值,另有 6 位未使用,紧缩"
+"在 16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point red/green channel data with "
+"normalized value, plus 6 unused bits after each channel, packed in 2×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 12 位的无符号浮点数红、绿通道数据,使用归一化的值,每个通道均另有 6 位"
+"未使用,紧缩在 2x16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point red/green/blue/alpha channel data "
+"with normalized value, plus 6 unused bits after each channel, packed in 4×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 12 位的无符号浮点数红、绿、蓝、Alpha 通道数据,使用归一化的值,每个通"
+"道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 [code][0.0, 1.0][/"
+"code] 的范围内。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point green/blue/green/red channel data "
+"with normalized value, plus 6 unused bits after each channel, packed in 4×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range. Blue and red channel "
+"data is stored at halved horizontal resolution (i.e. 2 horizontally adjacent "
+"pixels will share the same value for the blue/red channel). The green "
+"channel is listed twice, but contains different values to allow it to be "
+"represented at full resolution."
+msgstr ""
+"每通道 12 位的无符号浮点数绿、蓝、绿、红通道数据,使用归一化的值,每个通道均"
+"另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的"
+"范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红"
+"通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point blue/green/red/green channel data "
+"with normalized value, plus 6 unused bits after each channel, packed in 4×16 "
+"bits. Values are in the [code][0.0, 1.0][/code] range. Blue and red channel "
+"data is stored at halved horizontal resolution (i.e. 2 horizontally adjacent "
+"pixels will share the same value for the blue/red channel). The green "
+"channel is listed twice, but contains different values to allow it to be "
+"represented at full resolution."
+msgstr ""
+"每通道 12 位的无符号浮点数蓝、绿、红、绿通道数据,使用归一化的值,每个通道均"
+"另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 [code][0.0, 1.0][/code] 的"
+"范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红"
+"通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 2 separate planes (green + blue + red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal and vertical resolution (i.e. 2×2 adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝 + 红)。"
+"取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据纵横半分辨率存储"
+"(即 2x2 相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 2 separate planes (green + blue/red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal and vertical resolution (i.e. 2×2 adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝、红)。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据纵横半分辨率存储(即 "
+"2x2 相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 3 separate planes (green + blue + red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal resolution (i.e. 2 horizontally adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。"
+"取值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即"
+"两个横向相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 3 separate planes (green + blue/red). Values are in the "
+"[code][0.0, 1.0][/code] range. Blue and red channel data is stored at halved "
+"horizontal resolution (i.e. 2 horizontally adjacent pixels will share the "
+"same value for the blue/red channel)."
+msgstr ""
+"每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝、红)。取"
+"值均在 [code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两"
+"个横向相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"12-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Packed in 3×16 bits "
+"and stored across 3 separate planes (green + blue + red). Values are in the "
+"[code][0.0, 1.0][/code] range."
+msgstr ""
+"每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。"
+"取值均在 [code][0.0, 1.0][/code] 的范围内。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point green/blue/red channel data "
+"format with normalized value. Values are in the [code][0.0, 1.0][/code] "
+"range. Blue and red channel data is stored at halved horizontal resolution "
+"(i.e. 2 horizontally adjacent pixels will share the same value for the blue/"
+"red channel)."
+msgstr ""
+"每通道 16 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向"
+"相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point blue/green/red channel data "
+"format with normalized value. Values are in the [code][0.0, 1.0][/code] "
+"range. Blue and red channel data is stored at halved horizontal resolution "
+"(i.e. 2 horizontally adjacent pixels will share the same value for the blue/"
+"red channel)."
+msgstr ""
+"每通道 16 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 "
+"[code][0.0, 1.0][/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向"
+"相邻的像素共享同一个蓝、红通道数值)。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Stored across 2 "
+"separate planes (green + blue + red). Values are in the [code][0.0, 1.0][/"
+"code] range. Blue and red channel data is stored at halved horizontal and "
+"vertical resolution (i.e. 2×2 adjacent pixels will share the same value for "
+"the blue/red channel)."
+msgstr ""
+"每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用。分别在两个独立平面存储(绿 + 蓝 + 红)。取值均在 [code][0.0, 1.0]"
+"[/code] 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个"
+"蓝、红通道数值)。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Stored across 2 "
+"separate planes (green + blue/red). Values are in the [code][0.0, 1.0][/"
+"code] range. Blue and red channel data is stored at halved horizontal and "
+"vertical resolution (i.e. 2×2 adjacent pixels will share the same value for "
+"the blue/red channel)."
+msgstr ""
+"每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用。分别在两个独立平面存储(绿 + 蓝、红)。取值均在 [code][0.0, 1.0]"
+"[/code] 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个"
+"蓝、红通道数值)。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Stored across 3 "
+"separate planes (green + blue + red). Values are in the [code][0.0, 1.0][/"
+"code] range. Blue and red channel data is stored at halved horizontal "
+"resolution (i.e. 2 horizontally adjacent pixels will share the same value "
+"for the blue/red channel)."
+msgstr ""
+"每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用。分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 [code][0.0, 1.0]"
+"[/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同"
+"一个蓝、红通道数值)。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Stored across 3 "
+"separate planes (green + blue/red). Values are in the [code][0.0, 1.0][/"
+"code] range. Blue and red channel data is stored at halved horizontal "
+"resolution (i.e. 2 horizontally adjacent pixels will share the same value "
+"for the blue/red channel)."
+msgstr ""
+"每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用。分别在三个独立平面存储(绿 + 蓝、红)。取值均在 [code][0.0, 1.0]"
+"[/code] 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同"
+"一个蓝、红通道数值)。"
+
+msgid ""
+"16-bit-per-channel unsigned floating-point green/blue/red channel data with "
+"normalized value, plus 6 unused bits after each channel. Stored across 3 "
+"separate planes (green + blue + red). Values are in the [code][0.0, 1.0][/"
+"code] range."
+msgstr ""
+"每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 "
+"6 位未使用。分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 [code][0.0, 1.0]"
+"[/code] 的范围内。"
+
+msgid "Represents the size of the [enum DataFormat] enum."
+msgstr "代表 [enum DataFormat] 枚举的大小。"
+
msgid "1-dimensional texture."
msgstr "一维纹理。"
@@ -90499,9 +91215,71 @@ msgstr "[Cubemap] 纹理数组。"
msgid "Represents the size of the [enum TextureType] enum."
msgstr "代表 [enum TextureType] 枚举的大小。"
+msgid ""
+"Perform 1 texture sample (this is the fastest but lowest-quality for "
+"antialiasing)."
+msgstr "执行 1 次纹理采样(最快,但抗锯齿质量最低)。"
+
+msgid "Perform 2 texture samples."
+msgstr "执行 2 次纹理采样。"
+
+msgid "Perform 4 texture samples."
+msgstr "执行 4 次纹理采样。"
+
+msgid ""
+"Perform 8 texture samples. Not supported on mobile GPUs (including Apple "
+"Silicon)."
+msgstr "执行 8 次纹理采样。移动 GPU 不支持(包括 Apple Silicon)。"
+
+msgid ""
+"Perform 16 texture samples. Not supported on mobile GPUs and many desktop "
+"GPUs."
+msgstr "执行 16 次纹理采样。移动 GPU 及许多桌面 GPU 均不支持。"
+
+msgid "Perform 32 texture samples. Not supported on most GPUs."
+msgstr "执行 32 次纹理采样。大多数 GPU 均不支持。"
+
+msgid ""
+"Perform 64 texture samples (this is the slowest but highest-quality for "
+"antialiasing). Not supported on most GPUs."
+msgstr "执行 64 次纹理采样(最慢,但抗锯齿质量最高)。大多数 GPU 均不支持。"
+
msgid "Represents the size of the [enum TextureSamples] enum."
msgstr "代表 [enum TextureSamples] 枚举的大小。"
+msgid "Return the sampled value as-is."
+msgstr "原样返回采样数值。"
+
+msgid "Always return [code]0.0[/code] when sampling."
+msgstr "采样时使用返回 [code]0.0[/code]。"
+
+msgid "Always return [code]1.0[/code] when sampling."
+msgstr "采样时使用返回 [code]1.0[/code]。"
+
+msgid "Sample the red color channel."
+msgstr "对红色通道进行采样。"
+
+msgid "Sample the green color channel."
+msgstr "对绿色通道进行采样。"
+
+msgid "Sample the blue color channel."
+msgstr "对蓝色通道进行采样。"
+
+msgid "Sample the alpha channel."
+msgstr "对 Alpha 通道进行采样。"
+
+msgid "Represents the size of the [enum TextureSwizzle] enum."
+msgstr "代表 [enum TextureSwizzle] 枚举的大小。"
+
+msgid "2-dimensional texture slice."
+msgstr "二维纹理切片。"
+
+msgid "Cubemap texture slice."
+msgstr "立方体贴图纹理切片。"
+
+msgid "3-dimensional texture slice."
+msgstr "三维纹理切片。"
+
msgid ""
"Nearest-neighbor sampler filtering. Sampling at higher resolutions than the "
"source will result in a pixelated look."
@@ -90512,17 +91290,250 @@ msgid ""
"will result in a blurry look."
msgstr "双线性采样器过滤。按照比源更高分辨率采样时,会产生模糊的效果。"
+msgid "Represents the size of the [enum SamplerRepeatMode] enum."
+msgstr "代表 [enum SamplerRepeatMode] 枚举的大小。"
+
+msgid "Represents the size of the [enum SamplerBorderColor] enum."
+msgstr "代表 [enum SamplerBorderColor] 枚举的大小。"
+
+msgid "Represents the size of the [enum UniformType] enum."
+msgstr "表示 [enum UniformType] 枚举的大小。"
+
msgid ""
"Point rendering primitive (with constant size, regardless of distance from "
"camera)."
msgstr "渲染点的图元(大小为常量,和与相机之间的距离无关)。"
-msgid "Line rendering primitive."
-msgstr "绘制直线的图元。"
+msgid "Represents the size of the [enum RenderPrimitive] enum."
+msgstr "代表 [enum RenderPrimitive] 枚举的大小。"
+
+msgid "Represents the size of the [enum StencilOperation] enum."
+msgstr "代表 [enum StencilOperation] 枚举的大小。"
+
+msgid "\"Never\" comparison (opposite of [constant COMPARE_OP_ALWAYS])."
+msgstr "“永不”比较(与 [constant COMPARE_OP_ALWAYS] 相对)。"
+
+msgid "\"Less than\" comparison."
+msgstr "“小于”比较。"
+
+msgid "\"Equal\" comparison."
+msgstr "“等于”比较。"
+
+msgid "\"Less than or equal\" comparison."
+msgstr "“小于等于”比较。"
+
+msgid "\"Greater than\" comparison."
+msgstr "“大于”比较。"
+
+msgid "\"Not equal\" comparison."
+msgstr "“不等于”比较。"
+
+msgid "\"Greater than or equal\" comparison."
+msgstr "“大于等于”比较。"
+
+msgid "\"Always\" comparison (opposite of [constant COMPARE_OP_NEVER])."
+msgstr "“始终”比较(与 [constant COMPARE_OP_NEVER] 相对)。"
+
+msgid "Represents the size of the [enum CompareOperator] enum."
+msgstr "代表 [enum CompareOperator] 枚举的大小。"
+
+msgid ""
+"Clear logic operation (result is always [code]0[/code]). See also [constant "
+"LOGIC_OP_SET]."
+msgstr ""
+"逻辑清除运算(结果始终为 [code]0[/code])。另见 [constant LOGIC_OP_SET]。"
+
+msgid "AND logic operation."
+msgstr "逻辑与(AND)运算。"
+
+msgid ""
+"AND logic operation with the [i]destination[/i] operand being inverted. See "
+"also [constant LOGIC_OP_AND_INVERTED]."
+msgstr ""
+"逻辑与(AND)运算,翻转[i]目标[/i]操作数。另见 [constant "
+"LOGIC_OP_AND_INVERTED]。"
+
+msgid ""
+"Copy logic operation (keeps the [i]source[/i] value as-is). See also "
+"[constant LOGIC_OP_COPY_INVERTED] and [constant LOGIC_OP_NO_OP]."
+msgstr ""
+"逻辑复制运算(保留[i]来源[/i]的值)。另见 [constant LOGIC_OP_COPY_INVERTED] "
+"和 [constant LOGIC_OP_NO_OP]。"
+
+msgid ""
+"AND logic operation with the [i]source[/i] operand being inverted. See also "
+"[constant LOGIC_OP_AND_REVERSE]."
+msgstr ""
+"逻辑与(AND)运算,翻转[i]来源[/i]操作数。另见 [constant "
+"LOGIC_OP_AND_REVERSE]。"
+
+msgid ""
+"No-op logic operation (keeps the [i]destination[/i] value as-is). See also "
+"[constant LOGIC_OP_COPY]."
+msgstr "逻辑空运算(保留[i]目标[/i]值)。另见 [constant LOGIC_OP_COPY]。"
msgid "Exclusive or (XOR) logic operation."
msgstr "逻辑异或(XOR)运算。"
+msgid "OR logic operation."
+msgstr "逻辑或(OR)运算。"
+
+msgid "Not-OR (NOR) logic operation."
+msgstr "逻辑非或(NOR)运算。"
+
+msgid "Not-XOR (XNOR) logic operation."
+msgstr "逻辑非异或(XNOR)运算。"
+
+msgid "Invert logic operation."
+msgstr "逻辑翻转运算。"
+
+msgid ""
+"OR logic operation with the [i]destination[/i] operand being inverted. See "
+"also [constant LOGIC_OP_OR_REVERSE]."
+msgstr ""
+"逻辑或(OR)运算,翻转[i]目标[/i]操作数。另见 [constant "
+"LOGIC_OP_OR_REVERSE]。"
+
+msgid ""
+"NOT logic operation (inverts the value). See also [constant LOGIC_OP_COPY]."
+msgstr "逻辑非(NOT)运算(将值翻转)。另见 [constant LOGIC_OP_COPY]。"
+
+msgid ""
+"OR logic operation with the [i]source[/i] operand being inverted. See also "
+"[constant LOGIC_OP_OR_REVERSE]."
+msgstr ""
+"逻辑或(OR)运算,翻转[i]来源[/i]操作数。另见 [constant "
+"LOGIC_OP_OR_REVERSE]。"
+
+msgid "Not-AND (NAND) logic operation."
+msgstr "逻辑非与(NAND)运算。"
+
+msgid ""
+"SET logic operation (result is always [code]1[/code]). See also [constant "
+"LOGIC_OP_CLEAR]."
+msgstr ""
+"逻辑设置运算(结果始终为 [code]1[/code])。另见 [constant LOGIC_OP_CLEAR]。"
+
+msgid "Represents the size of the [enum LogicOperation] enum."
+msgstr "代表 [enum LogicOperation] 枚举的大小。"
+
+msgid "Constant [code]0.0[/code] blend factor."
+msgstr "混合系数常量 [code]0.0[/code]。"
+
+msgid "Constant [code]1.0[/code] blend factor."
+msgstr "混合系数常量 [code]1.0[/code]。"
+
+msgid ""
+"Color blend factor is [code]source color[/code]. Alpha blend factor is "
+"[code]source alpha[/code]."
+msgstr ""
+"颜色混合系数为 [code]source color[/code]。Alpha 混合系数为 [code]source "
+"alpha[/code]。"
+
+msgid ""
+"Color blend factor is [code]1.0 - source color[/code]. Alpha blend factor is "
+"[code]1.0 - source alpha[/code]."
+msgstr ""
+"颜色混合系数为 [code]1.0 - source color[/code]。Alpha 混合系数为 [code]1.0 - "
+"source alpha[/code]。"
+
+msgid ""
+"Color blend factor is [code]destination color[/code]. Alpha blend factor is "
+"[code]destination alpha[/code]."
+msgstr ""
+"颜色混合系数为 [code]destination color[/code]。Alpha 混合系数为 "
+"[code]destination alpha[/code]。"
+
+msgid ""
+"Color blend factor is [code]1.0 - destination color[/code]. Alpha blend "
+"factor is [code]1.0 - destination alpha[/code]."
+msgstr ""
+"颜色混合系数为 [code]1.0 - destination color[/code]。Alpha 混合系数为 "
+"[code]1.0 - destination alpha[/code]。"
+
+msgid "Color and alpha blend factor is [code]source alpha[/code]."
+msgstr "颜色混合和 Alpha 混合系数为 [code]source alpha[/code]。"
+
+msgid "Color and alpha blend factor is [code]1.0 - source alpha[/code]."
+msgstr "颜色混合和 Alpha 混合系数为 [code]1.0 - source alpha[/code]。"
+
+msgid "Color and alpha blend factor is [code]destination alpha[/code]."
+msgstr "颜色混合和 Alpha 混合系数为 [code]destination alpha[/code]。"
+
+msgid "Color and alpha blend factor is [code]1.0 - destination alpha[/code]."
+msgstr "颜色混合和 Alpha 混合系数为 [code]1.0 - destination alpha[/code]。"
+
+msgid ""
+"Color blend factor is [code]blend constant color[/code]. Alpha blend factor "
+"is [code]blend constant alpha[/code] (see [method "
+"draw_list_set_blend_constants])."
+msgstr ""
+"颜色混合系数为 [code]blend constant color[/code]。Alpha 混合系数为 "
+"[code]blend constant alpha[/code](见 [method "
+"draw_list_set_blend_constants])。"
+
+msgid ""
+"Color blend factor is [code]1.0 - blend constant color[/code]. Alpha blend "
+"factor is [code]1.0 - blend constant alpha[/code] (see [method "
+"draw_list_set_blend_constants])."
+msgstr ""
+"颜色混合系数为 [code]1.0 - blend constant color[/code]。Alpha 混合系数为 "
+"[code]1.0 - blend constant alpha[/code](见 [method "
+"draw_list_set_blend_constants])。"
+
+msgid ""
+"Color and alpha blend factor is [code]blend constant alpha[/code] (see "
+"[method draw_list_set_blend_constants])."
+msgstr ""
+"颜色混合和 Alpha 混合系数为 [code]blend constant alpha[/code](见 [method "
+"draw_list_set_blend_constants])。"
+
+msgid ""
+"Color and alpha blend factor is [code]1.0 - blend constant alpha[/code] (see "
+"[method draw_list_set_blend_constants])."
+msgstr ""
+"颜色混合和 Alpha 混合系数为 [code]1.0 - blend constant alpha[/code](见 "
+"[method draw_list_set_blend_constants])。"
+
+msgid ""
+"Color blend factor is [code]min(source alpha, 1.0 - destination alpha)[/"
+"code]. Alpha blend factor is [code]1.0[/code]."
+msgstr ""
+"颜色混合系数为 [code]min(source alpha, 1.0 - destination alpha)[/code]。"
+"Alpha 混合系数为 [code]1.0[/code]。"
+
+msgid ""
+"Color blend factor is [code]second source color[/code]. Alpha blend factor "
+"is [code]second source alpha[/code]. Only relevant for dual-source blending."
+msgstr ""
+"颜色混合系数为 [code]second source color[/code]。Alpha 混合系数为 "
+"[code]second source alpha[/code]。仅适用于双源混合。"
+
+msgid ""
+"Color blend factor is [code]1.0 - second source color[/code]. Alpha blend "
+"factor is [code]1.0 - second source alpha[/code]. Only relevant for dual-"
+"source blending."
+msgstr ""
+"颜色混合系数为 [code]1.0 - second source color[/code]。Alpha 混合系数为 "
+"[code]1.0 - second source alpha[/code]。仅适用于双源混合。"
+
+msgid ""
+"Color and alpha blend factor is [code]second source alpha[/code]. Only "
+"relevant for dual-source blending."
+msgstr ""
+"颜色混合和 Alpha 混合系数为 [code]second source alpha[/code]。仅适用于双源混"
+"合。"
+
+msgid ""
+"Color and alpha blend factor is [code]1.0 - second source alpha[/code]. Only "
+"relevant for dual-source blending."
+msgstr ""
+"颜色混合和 Alpha 混合系数为 [code]1.0 - second source alpha[/code]。仅适用于"
+"双源混合。"
+
+msgid "Represents the size of the [enum BlendFactor] enum."
+msgstr "代表 [enum BlendFactor] 枚举的大小。"
+
msgid "Additive blending operation ([code]source + destination[/code])."
msgstr "加法混合运算([code]source + destination[/code])。"
@@ -90542,6 +91553,21 @@ msgstr "最大混合运算(保留两者之间的较大值)。"
msgid "Represents the size of the [enum BlendOperation] enum."
msgstr "代表 [enum BlendOperation] 枚举的大小。"
+msgid "Represents the size of the [enum InitialAction] enum."
+msgstr "代表 [enum InitialAction] 枚举的大小。"
+
+msgid "Represents the size of the [enum FinalAction] enum."
+msgstr "代表 [enum FinalAction] 枚举的大小。"
+
+msgid "Represents the size of the [enum ShaderStage] enum."
+msgstr "代表 [enum ShaderStage] 枚举的大小。"
+
+msgid "Maximum height of a framebuffer (in pixels)."
+msgstr "帧缓冲的最大高度(单位为像素)。"
+
+msgid "Maximum width of a framebuffer (in pixels)."
+msgstr "帧缓冲的最大宽度(单位为像素)。"
+
msgid ""
"Maximum supported 1-dimensional texture size (in pixels on a single axis)."
msgstr "支持的一维纹理的最大尺寸(单轴像素数)。"
@@ -90559,6 +91585,30 @@ msgid ""
"single face)."
msgstr "支持的立方体贴图纹理的最大尺寸(单轴像素数)。"
+msgid "Maximum size of a uniform buffer."
+msgstr "Uniform 缓冲的最大大小。"
+
+msgid "Maximum vertex input attribute offset."
+msgstr "顶点输入属性的最大偏移。"
+
+msgid "Maximum number of vertex input attributes."
+msgstr "顶点输入属性的最大数量。"
+
+msgid "Maximum number of vertex input bindings."
+msgstr "顶点输入绑定的最大数量。"
+
+msgid "Maximum shared memory size for compute shaders."
+msgstr "计算着色器的最大共享内存大小。"
+
+msgid "Maximum number of workgroups for compute shaders on the X axis."
+msgstr "计算着色器在 X 轴上的最大工作组数量。"
+
+msgid "Maximum number of workgroups for compute shaders on the Y axis."
+msgstr "计算着色器在 Y 轴上的最大工作组数量。"
+
+msgid "Maximum number of workgroups for compute shaders on the Z axis."
+msgstr "计算着色器在 Z 轴上的最大工作组数量。"
+
msgid "Memory taken by textures."
msgstr "纹理占用的内存。"
@@ -90582,65 +91632,6 @@ msgstr "返回格式 ID 的函数会在值无效时返回此值。"
msgid "Server for anything visible."
msgstr "任何可见的东西的服务器。"
-msgid ""
-"The rendering server is the API backend for everything visible. The whole "
-"scene system mounts on it to display.\n"
-"The rendering server is completely opaque, the internals are entirely "
-"implementation specific and cannot be accessed.\n"
-"The rendering server can be used to bypass the scene/[Node] system "
-"entirely.\n"
-"Resources are created using the [code]*_create[/code] functions. These "
-"functions return [RID]s which are not references to the objects themselves, "
-"but opaque [i]pointers[/i] towards these objects.\n"
-"All objects are drawn to a viewport. You can use the [Viewport] attached to "
-"the [SceneTree] or you can create one yourself with [method "
-"viewport_create]. When using a custom scenario or canvas, the scenario or "
-"canvas needs to be attached to the viewport using [method "
-"viewport_set_scenario] or [method viewport_attach_canvas].\n"
-"In 3D, all visual objects must be associated with a scenario. The scenario "
-"is a visual representation of the world. If accessing the rendering server "
-"from a running game, the scenario can be accessed from the scene tree from "
-"any [Node3D] node with [method Node3D.get_world_3d]. Otherwise, a scenario "
-"can be created with [method scenario_create].\n"
-"Similarly, in 2D, a canvas is needed to draw all canvas items.\n"
-"In 3D, all visible objects are comprised of a resource and an instance. A "
-"resource can be a mesh, a particle system, a light, or any other 3D object. "
-"In order to be visible resources must be attached to an instance using "
-"[method instance_set_base]. The instance must also be attached to the "
-"scenario using [method instance_set_scenario] in order to be visible.\n"
-"In 2D, all visible objects are some form of canvas item. In order to be "
-"visible, a canvas item needs to be the child of a canvas attached to a "
-"viewport, or it needs to be the child of another canvas item that is "
-"eventually attached to the canvas.\n"
-"[b]Headless mode:[/b] Starting the engine with the [code]--headless[/code] "
-"[url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command line "
-"argument[/url] disables all rendering and window management functions. Most "
-"functions from [RenderingServer] will return dummy values in this case."
-msgstr ""
-"渲染服务是所有可见内容的 API 后端。整个场景系统挂载在它上面来显示。\n"
-"渲染服务是完全不透明的,其内部完全是特定于实现的,无法访问。\n"
-"渲染服务可用于完全绕过场景/[Node] 系统。\n"
-"资源是使用 [code]*_create[/code] 函数创建的。这些函数返回的 [RID] 不是对对象"
-"本身的引用,而是指向这些对象的不透明[i]指针[/i]。\n"
-"所有对象都被绘制到视口。可以使用附加到 [SceneTree] 的 [Viewport],或者可以使"
-"用 [method viewport_create] 自己创建一个。使用自定义场景或画布时,需要使用 "
-"[method viewport_set_scenario] 或 [method viewport_attach_canvas] 将场景或画"
-"布附加到视口。\n"
-"在 3D 中,所有视觉对象都必须与一个场景相关联。场景是世界的一个视觉表示。如果"
-"从一个正在运行的游戏访问渲染服务,则可以使用 [method Node3D.get_world_3d] 从"
-"任何 [Node3D] 节点的场景树访问场景。此外,可以使用 [method scenario_create] "
-"创建一个场景。\n"
-"相类似地,在2D中,需要一个画布来绘制所有的画布项。\n"
-"在 3D 中,所有可见对象都由资源和实例组成。资源可以是网格、粒子系统、灯光或任"
-"何其他 3D 对象。为了使资源可见,必须使用 [method instance_set_base] 将其附加"
-"到一个实例。该实例还必须使用 [method instance_set_scenario] 附加到场景中才能"
-"可见。\n"
-"在 2D 中,所有可见对象都是某种形式的画布项。为了使一个画布项可见,它需要是附"
-"加到视口的画布的子项,或者它需要是最终附加到画布的另一个画布项的子项。\n"
-"[b]无头模式:[/b]使用 [code]--headless[/code] [url=$DOCS_URL/tutorials/"
-"editor/command_line_tutorial.html]命令行参数[/url]启动引擎,将禁用所有渲染和"
-"窗口管理功能。在这种情况下,来自 [RenderingServer] 的大多数函数将返回虚拟值。"
-
msgid "Optimization using Servers"
msgstr "使用服务器进行优化"
@@ -90655,21 +91646,6 @@ msgstr ""
"BakeChannels] 中指定的材质属性的 [Image] 数组。"
msgid ""
-"Creates a camera attributes object and adds it to the RenderingServer. It "
-"can be accessed with the RID that is returned. This RID will be used in all "
-"[code]camera_attributes_[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [CameraAttributes] resource."
-msgstr ""
-"创建空的相机属性并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这"
-"个 RID 会在所有 [code]camera_attributes_*[/code] RenderingServer 函数中使"
-"用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [CameraAttributes] 资源的内部等价物。"
-
-msgid ""
"Sets the parameters to use with the auto-exposure effect. These parameters "
"take on the same meaning as their counterparts in [CameraAttributes] and "
"[CameraAttributesPractical]."
@@ -90734,20 +91710,6 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Creates a camera and adds it to the RenderingServer. It can be accessed with "
-"the RID that is returned. This RID will be used in all [code]camera_*[/code] "
-"RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [Camera3D] node."
-msgstr ""
-"创建相机并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 RID "
-"会在所有 [code]camera_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [Camera3D] 节点的内部等价物。"
-
-msgid ""
"Sets the camera_attributes created with [method camera_attributes_create] to "
"the given camera."
msgstr ""
@@ -90801,20 +91763,6 @@ msgstr ""
"Camera3D.KEEP_HEIGHT]。"
msgid ""
-"Creates a canvas and returns the assigned [RID]. It can be accessed with the "
-"RID that is returned. This RID will be used in all [code]canvas_*[/code] "
-"RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"Canvas has no [Resource] or [Node] equivalent."
-msgstr ""
-"创建画布并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 RID "
-"会在所有 [code]canvas_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"没有与画布等价的 [Resource] 或 [Node]。"
-
-msgid ""
"Draws a circle on the [CanvasItem] pointed to by the [param item] [RID]. See "
"also [method CanvasItem.draw_circle]."
msgstr ""
@@ -90867,10 +91815,13 @@ msgstr "在 [param item] [RID] 指向的 [CanvasItem] 上绘制粒子。"
msgid ""
"Draws a 2D polygon on the [CanvasItem] pointed to by the [param item] [RID]. "
-"See also [method CanvasItem.draw_polygon]."
+"If you need more flexibility (such as being able to use bones), use [method "
+"canvas_item_add_triangle_array] instead. See also [method CanvasItem."
+"draw_polygon]."
msgstr ""
-"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个二维多边形。另见 [method "
-"CanvasItem.draw_polygon]。"
+"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个 2D 多边形。如果你需要更"
+"加灵活的设置(例如能够使用骨骼),请改用 [method "
+"canvas_item_add_triangle_array]。另见 [method CanvasItem.draw_polygon]。"
msgid ""
"Draws a 2D polyline on the [CanvasItem] pointed to by the [param item] "
@@ -90918,33 +91869,32 @@ msgstr ""
msgid "Clears the [CanvasItem] and removes all commands in it."
msgstr "清除[CanvasItem]并删除其中的所有命令。"
+msgid "Sets the [CanvasItem] to copy a rect to the backbuffer."
+msgstr "设置 [CanvasItem] 以将矩形复制到后台缓冲区。"
+
msgid ""
-"Creates a canvas item and returns the assigned [RID]. It can be accessed "
-"with the RID that is returned. This RID will be used in all "
-"[code]canvas_item_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [CanvasItem] node."
+"Sets the default texture filter mode for the canvas item specified by the "
+"[param item] RID. Equivalent to [member CanvasItem.texture_filter]."
msgstr ""
-"创建画布项目并返回分配的 [RID]。可以通过返回的 RID 进行访问。这个 RID 会在所"
-"有 [code]canvas_item_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [CanvasItem] 节点的内部等价物。"
+"设置 RID 为 [param item] 的画布项的默认纹理过滤模式。等价于 [member "
+"CanvasItem.texture_filter]。"
-msgid "Sets the [CanvasItem] to copy a rect to the backbuffer."
-msgstr "设置 [CanvasItem] 以将矩形复制到后台缓冲区。"
+msgid ""
+"Sets the default texture repeat mode for the canvas item specified by the "
+"[param item] RID. Equivalent to [member CanvasItem.texture_repeat]."
+msgstr ""
+"设置 RID 为 [param item] 的画布项的默认纹理重复模式。等价于 [member "
+"CanvasItem.texture_repeat]。"
msgid "Sets the index for the [CanvasItem]."
msgstr "设置 [CanvasItem] 的索引。"
-msgid "Sets a new material to the [CanvasItem]."
-msgstr "为 [CanvasItem] 设置新材质。"
-
msgid ""
-"Sets a color modulation to the [CanvasItem]. This also affects child canvas "
-"items."
-msgstr "为 [CanvasItem] 设置调制颜色。也会影响子级画布项目。"
+"Sets the light [param mask] for the canvas item specified by the [param "
+"item] RID. Equivalent to [member CanvasItem.light_mask]."
+msgstr ""
+"设置 RID 为 [param item] 的画布项的灯光掩码 [param mask]。等价于 [member "
+"CanvasItem.light_mask]。"
msgid ""
"Sets a parent [CanvasItem] to the [CanvasItem]. The item will inherit "
@@ -90954,22 +91904,6 @@ msgstr ""
"为 [CanvasItem] 设置父级 [CanvasItem]。该项目会从父级继承变换、调制、可见性,"
"和场景树中的 [CanvasItem] 节点一样。"
-msgid ""
-"Sets a color self-modulation to the [CanvasItem]. It does not affect the "
-"child canvas items."
-msgstr "为 [CanvasItem] 设置自调制颜色。不会影响子级画布项目。"
-
-msgid "Enables or disables Y-sorting of a [CanvasItem]."
-msgstr "启用或禁用 [CanvasItem] 的 Y 排序。"
-
-msgid ""
-"Sets the transform of the [CanvasItem]. It affects where and how the item "
-"will be drawn. Child canvas items' transforms are multiplied by their "
-"parent's transform."
-msgstr ""
-"设置 [CanvasItem] 的变换。会影响该项目在哪里绘制以及如何绘制。子级画布项目的"
-"变换会与其父级变换相乘。"
-
msgid "Sets if the [CanvasItem] uses its parent's material."
msgstr "设置 [CanvasItem] 是否使用其父级的材质。"
@@ -91018,12 +91952,14 @@ msgid ""
"accessed with the RID that is returned. This RID will be used in all "
"[code]canvas_light_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent node is [Light2D]."
msgstr ""
"创建画布灯光并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
"RID 会在所有 [code]canvas_light_*[/code] RenderingServer 函数中使用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
+"放。\n"
+"[b]注意:[/b]等价节点为 [Light2D]。"
msgid ""
"Attaches a light occluder to the canvas. Removes it from its previous canvas."
@@ -91034,13 +91970,15 @@ msgid ""
"accessed with the RID that is returned. This RID will be used in all "
"[code]canvas_light_occluder_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent node is [LightOccluder2D]."
msgstr ""
"创建光线遮挡器并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这"
"个 RID 会在所有 [code]canvas_light_occluder_*[/code] RenderingServer 函数中使"
"用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
+"放。\n"
+"[b]注意:[/b]等价节点为 [LightOccluder2D]。"
msgid "Enables or disables light occluder."
msgstr "启用或禁用遮光器。"
@@ -91135,13 +92073,15 @@ msgid ""
"can be accessed with the RID that is returned. This RID will be used in all "
"[code]canvas_occluder_polygon_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent resource is [OccluderPolygon2D]."
msgstr ""
-"新建一个光线遮挡多边形并将其添加到 RenderingServer。可以通过返回的 RID 进行访"
-"问。这个 RID 会在所有 [code]canvas_occluder_polygon_*[/code] RenderingServer "
-"函数中使用。\n"
+"创建一个新的光线遮挡多边形并将其添加到 RenderingServer。可以通过返回的 RID 进"
+"行访问。这个 RID 会在所有 [code]canvas_occluder_polygon_*[/code] "
+"RenderingServer 函数中使用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
+"放。\n"
+"[b]注意:[/b]等价节点为 [OccluderPolygon2D]。"
msgid ""
"Sets an occluder polygons cull mode. See [enum "
@@ -91160,24 +92100,12 @@ msgid "Modulates all colors in the given canvas."
msgstr "调制给定画布中的所有颜色。"
msgid ""
-"Creates a canvas texture and adds it to the RenderingServer. It can be "
-"accessed with the RID that is returned. This RID will be used in all "
-"[code]canvas_texture_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [CanvasTexture] resource."
+"Sets the [member ProjectSettings.rendering/2d/shadow_atlas/size] to use for "
+"[Light2D] shadow rendering (in pixels). The value is rounded up to the "
+"nearest power of 2."
msgstr ""
-"创建画布纹理并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]canvas_texture_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [CanvasTexture] 资源的内部等价物。"
-
-msgid "Sets the texture filter used by the [CanvasTexture]."
-msgstr "设置该 [CanvasTexture] 所使用的纹理过滤模式。"
-
-msgid "Sets the texture repeat used by the [CanvasTexture]."
-msgstr "设置该 [CanvasTexture] 所使用的纹理重复模式。"
+"设置 [Light2D] 阴影渲染时使用的 [member ProjectSettings.rendering/2d/"
+"shadow_atlas/size](单位为像素)。该值会向上取整到最接近的 2 的幂。"
msgid ""
"Creates a RenderingDevice that can be used to do draw and compute operations "
@@ -91192,75 +92120,18 @@ msgstr ""
"[code]null[/code] 。"
msgid ""
-"Creates a decal and adds it to the RenderingServer. It can be accessed with "
-"the RID that is returned. This RID will be used in all [code]decal_*[/code] "
-"RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [Decal] node."
-msgstr ""
-"创建贴花并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 RID "
-"会在所有 [code]decal_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [Decal] 节点的内部等价物。"
-
-msgid "Sets the color modulation of the [Decal]."
-msgstr "设置该 [Decal] 的调制颜色。"
-
-msgid "Sets the size of the [Decal]."
-msgstr "设置该 [Decal] 的大小。"
-
-msgid "Sets the texture of the [Decal]."
-msgstr "设置该 [Decal] 的纹理。"
-
-msgid ""
-"Creates a directional light and adds it to the RenderingServer. It can be "
-"accessed with the RID that is returned. This RID can be used in most "
-"[code]light_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"To place in a scene, attach this directional light to an instance using "
-"[method instance_set_base] using the returned RID.\n"
-"This is the internal equivalent of the [DirectionalLight3D] node."
+"Sets the normal [param fade] in the decal specified by the [param decal] "
+"RID. Equivalent to [member Decal.normal_fade]."
msgstr ""
-"新建平行光并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在大多数 [code]light_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"如果要将这个平行光放置到场景中,请使用返回的 RID 调用 [method "
-"instance_set_base],将其附加至某个实例上。\n"
-"这是 [DirectionalLight3D] 节点的内部等价物。"
+"设置 RID 为 [param decal] 的贴花的法线淡出 [param fade]。等价于 [member "
+"Decal.normal_fade]。"
msgid ""
-"Creates an environment and adds it to the RenderingServer. It can be "
-"accessed with the RID that is returned. This RID will be used in all "
-"[code]environment_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [Environment] resource."
+"Sets the [param size] of the decal specified by the [param decal] RID. "
+"Equivalent to [member Decal.size]."
msgstr ""
-"新建一个环境并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]environment_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [Environment] 资源的内部等价物。"
-
-msgid ""
-"Sets the values to be used with the \"Adjustment\" post-process effect. See "
-"[Environment] for more details."
-msgstr "设置用于 \"调整 \"后处理效果的数值。参阅[Environment]以了解更多细节。"
-
-msgid ""
-"Sets the [i]BGMode[/i] of the environment. Equivalent to [member Environment."
-"background_mode]."
-msgstr ""
-"设置环境的 [i]BGMode[/i]。相当于 [member Environment.background_mode]。"
-
-msgid ""
-"Color displayed for clear areas of the scene (if using Custom color or "
-"Color+Sky background modes)."
-msgstr "场景中空白区域的颜色显示(如果使用自定义颜色或颜色+天空背景模式)。"
+"设置 RID 为 [param decal] 的贴花的大小 [param size]。等价于 [member Decal."
+"size]。"
msgid "Sets the intensity of the background color."
msgstr "设置背景颜色的强度。"
@@ -91309,11 +92180,6 @@ msgstr ""
"设置屏幕空间间接照明(SSIL)后期处理效果的质量级别。详情见 [Environment]。"
msgid ""
-"Sets the variables to be used with the \"screen space reflections\" post-"
-"process effect. See [Environment] for more details."
-msgstr "设置用于“屏幕空间反射”后处理效果的变量。详情请参阅 [Environment]。"
-
-msgid ""
"Sets the variables to be used with the \"tonemap\" post-process effect. See "
"[Environment] for more details."
msgstr "设置用于“色调映射”后处理效果的变量。详情请参阅 [Environment]。"
@@ -91334,20 +92200,6 @@ msgstr ""
"缓冲区的宽度和高度。[param depth] 则用于设置缓冲区的深度。"
msgid ""
-"Creates a fog volume and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID will be used in all "
-"[code]fog_volume_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [FogVolume] node."
-msgstr ""
-"创建雾体积并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]fog_volume_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [FogVolume] 节点的内部等价物。"
-
-msgid ""
"Sets the [Material] of the fog volume. Can be either a [FogMaterial] or a "
"custom [ShaderMaterial]."
msgstr ""
@@ -91377,14 +92229,6 @@ msgstr ""
"FOG_VOLUME_SHAPE_CYLINDER] 或 [constant RenderingServer."
"FOG_VOLUME_SHAPE_BOX] 时,雾体积的大小。"
-msgid "Tries to free an object in the RenderingServer."
-msgstr "尝试释放 RenderingServer 中的某个对象。"
-
-msgid ""
-"Returns the default clear color which is used when a specific clear color "
-"has not been selected."
-msgstr "返回未选择特定清除颜色时所使用的默认清除颜色。"
-
msgid ""
"Returns the global RenderingDevice.\n"
"[b]Note:[/b] When using the OpenGL backend or when running in headless mode, "
@@ -91397,25 +92241,6 @@ msgstr ""
msgid "Returns the parameters of a shader."
msgstr "返回着色器的参数。"
-msgid "Returns the ID of the test cube. Creates one if none exists."
-msgstr "返回测试立方体的 ID。如果不存在,则会创建一个。"
-
-msgid "Returns the ID of the test texture. Creates one if none exists."
-msgstr "返回测试纹理的 ID。如果不存在,则会创建一个。"
-
-msgid ""
-"Returns the version of the graphics video adapter [i]currently in use[/i] (e."
-"g. \"1.2.189\" for Vulkan, \"3.3.0 NVIDIA 510.60.02\" for OpenGL). This "
-"version may be different from the actual latest version supported by the "
-"hardware, as Godot may not always request the latest version.\n"
-"[b]Note:[/b] When running a headless or server binary, this function returns "
-"an empty string."
-msgstr ""
-"返回[i]当前使用的[/i]图形视频适配器的版本(例如,Vulkan 为“1.2.189”,OpenGL "
-"为“3.3.0 NVIDIA 510.60.02”)。该版本可能与硬件支持的实际最新版本不同,因为 "
-"Godot 可能并不总是要求最新版本。\n"
-"[b]注意:[/b]当运行无头或服务器可执行文件时,该函数返回一个空字符串。"
-
msgid ""
"Returns the name of the video adapter (e.g. \"GeForce GTX 1080/PCIe/"
"SSE2\").\n"
@@ -91449,25 +92274,18 @@ msgstr ""
"返回视频适配器的供应商(例如 \"NVIDIA Corporation\")。\n"
"[b]注意:[/b]当运行精简或服务器可执行文件时,该函数返回一个空字符串。"
-msgid "Returns the ID of a white texture. Creates one if none exists."
-msgstr "返回白色纹理的 ID。如果不存在,则创建一个。"
+msgid "Removes the global shader uniform specified by [param name]."
+msgstr "移除名称为 [param name] 的全局着色器 Uniform。"
+
+msgid "Sets the global shader uniform [param name] to [param value]."
+msgstr "将名称为 [param name] 的全局着色器 Uniform 设置为 [param value]。"
msgid ""
-"If [param half_resolution] is [code]true[/code], renders [VoxelGI] and SDFGI "
-"([member Environment.sdfgi_enabled]) buffers at halved resolution (e.g. "
-"960×540 when the viewport size is 1920×1080). This improves performance "
-"significantly when VoxelGI or SDFGI is enabled, at the cost of artifacts "
-"that may be visible on polygon edges. The loss in quality becomes less "
-"noticeable as the viewport resolution increases. [LightmapGI] rendering is "
-"not affected by this setting. See also [member ProjectSettings.rendering/"
-"global_illumination/gi/use_half_resolution]."
+"Overrides the global shader uniform [param name] with [param value]. "
+"Equivalent to the [ShaderGlobalsOverride] node."
msgstr ""
-"如果 [param half_resolution] 为 [code]true[/code],则会使用一半的分辨率渲染 "
-"[VoxelGI] 和 SDFGI([member Environment.sdfgi_enabled])缓冲区(例如视口大小"
-"为 1920×1080 时使用 960×540)。启用 VoxelGI 或 SDFGI 时,这样做能够显著提升性"
-"能,但代价是多边形边缘可能产生显示问题。视口分辨率越高,越不容易注意到质量的"
-"损失。[LightmapGI] 的渲染不受这个设置的影响。另见 [member ProjectSettings."
-"rendering/global_illumination/gi/use_half_resolution]。"
+"使用 [param value] 覆盖名称为 [param name] 的全局着色器 Uniform。等价于 "
+"[ShaderGlobalsOverride] 节点。"
msgid ""
"Returns [code]true[/code] if changes have been made to the RenderingServer's "
@@ -91501,37 +92319,6 @@ msgid ""
msgstr "将骨架附加到实例。并从实例中移除之前骨架。"
msgid ""
-"Creates a visual instance and adds it to the RenderingServer. It can be "
-"accessed with the RID that is returned. This RID will be used in all "
-"[code]instance_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"An instance is a way of placing a 3D object in the scenario. Objects like "
-"particles, meshes, and reflection probes need to be associated with an "
-"instance to be visible in the scenario using [method instance_set_base].\n"
-"This is the internal equivalent of the [VisualInstance3D] node."
-msgstr ""
-"创建可视实例并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]instance_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"实例可以将 3D 对象放置到场景中。粒子、网格、反射探针等对象都需要使用 [method "
-"instance_set_base] 与实例关联,才能显示在场景中。\n"
-"这是 [VisualInstance3D] 节点的内部等价物。"
-
-msgid ""
-"Creates a visual instance, adds it to the RenderingServer, and sets both "
-"base and scenario. It can be accessed with the RID that is returned. This "
-"RID will be used in all [code]instance_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
-msgstr ""
-"创建可视实例并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在大多数 [code]instance_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
-
-msgid ""
"Sets the shadow casting setting to one of [enum ShadowCastingSetting]. "
"Equivalent to [member GeometryInstance3D.cast_shadow]."
msgstr ""
@@ -91595,17 +92382,6 @@ msgstr ""
"设置给定几何实例的可见性范围值。相当于 [member GeometryInstance3D."
"visibility_range_begin] 和相关属性。"
-msgid ""
-"Sets the base of the instance. A base can be any of the 3D objects that are "
-"created in the RenderingServer that can be displayed. For example, any of "
-"the light types, mesh, multimesh, immediate geometry, particle system, "
-"reflection probe, lightmap, and the GI probe are all types that can be set "
-"as the base of an instance in order to be displayed in the scenario."
-msgstr ""
-"设置该实例的基础。基础可以是在 RenderingServer 中创建的任何可以显示的 3D 对"
-"象。例如,任何光源类型、网格、多重网格、直接几何体、粒子系统、反射探针、光照"
-"贴图、和 GI 探针都可以被设置为实例的基础,以便在场景中显示。"
-
msgid "Sets the weight for a given blend shape associated with this instance."
msgstr "设置与该实例相关的特定混合形状的权重。"
@@ -91663,54 +92439,6 @@ msgid ""
msgstr "设置是否绘制实例。相当于 [member Node3D.visible]。"
msgid ""
-"Returns an array of object IDs intersecting with the provided AABB. Only "
-"visual 3D nodes are considered, such as [MeshInstance3D] or "
-"[DirectionalLight3D]. Use [method @GlobalScope.instance_from_id] to obtain "
-"the actual nodes. A scenario RID must be provided, which is available in the "
-"[World3D] you want to query. This forces an update for all resources queued "
-"to update.\n"
-"[b]Warning:[/b] This function is primarily intended for editor usage. For in-"
-"game use cases, prefer physics collision."
-msgstr ""
-"返回与提供的 AABB 相交的对象 ID 的数组。仅考虑可视的 3D 节点,例如 "
-"[MeshInstance3D] 或 [DirectionalLight3D]。可使用 [method @GlobalScope."
-"instance_from_id] 来获取实际节点。必须提供一个场景 RID,且它在要查询的 "
-"[World3D] 中可用。这会强制更新所有已被队列以等待更新的资源。\n"
-"[b]警告:[/b]该函数主要供编辑器使用。对于游戏中的用例,最好是物理碰撞。"
-
-msgid ""
-"Returns an array of object IDs intersecting with the provided convex shape. "
-"Only visual 3D nodes are considered, such as [MeshInstance3D] or "
-"[DirectionalLight3D]. Use [method @GlobalScope.instance_from_id] to obtain "
-"the actual nodes. A scenario RID must be provided, which is available in the "
-"[World3D] you want to query. This forces an update for all resources queued "
-"to update.\n"
-"[b]Warning:[/b] This function is primarily intended for editor usage. For in-"
-"game use cases, prefer physics collision."
-msgstr ""
-"返回与提供的凸形相交的对象 ID 的数组。仅考虑可视的 3D 节点,例如 "
-"[MeshInstance3D] 或 [DirectionalLight3D]。可使用 [method @GlobalScope."
-"instance_from_id] 以获取实际节点。必须提供场景 RID,且它在要查询的 [World3D] "
-"中可用。这会强制更新所有已被队列以等待更新的资源。\n"
-"[b]警告:[/b]该函数主要供编辑器使用。对于游戏中的用例,最好是物理碰撞。"
-
-msgid ""
-"Returns an array of object IDs intersecting with the provided 3D ray. Only "
-"visual 3D nodes are considered, such as [MeshInstance3D] or "
-"[DirectionalLight3D]. Use [method @GlobalScope.instance_from_id] to obtain "
-"the actual nodes. A scenario RID must be provided, which is available in the "
-"[World3D] you want to query. This forces an update for all resources queued "
-"to update.\n"
-"[b]Warning:[/b] This function is primarily intended for editor usage. For in-"
-"game use cases, prefer physics collision."
-msgstr ""
-"返回与提供的 3D 射线相交的对象 ID 的数组。仅考虑可视的 3D 节点,例如 "
-"[MeshInstance3D] 或 [DirectionalLight3D]。可使用 [method @GlobalScope."
-"instance_from_id] 以获取实际节点。必须提供场景 RID,且它在你要查询的 "
-"[World3D] 中可用。这会强制更新所有已被队列以等待更新的资源。\n"
-"[b]警告:[/b]该函数主要供编辑器使用。对于游戏中的用例,最好是物理碰撞。"
-
-msgid ""
"If [code]true[/code], this directional light will blend between shadow map "
"splits resulting in a smoother transition between them. Equivalent to "
"[member DirectionalLight3D.directional_shadow_blend_splits]."
@@ -91751,42 +92479,6 @@ msgid ""
msgstr "设置灯光的颜色。相当于 [member Light3D.light_color]。"
msgid ""
-"Sets the cull mask for this Light3D. Lights only affect objects in the "
-"selected layers. Equivalent to [member Light3D.light_cull_mask]."
-msgstr ""
-"设置此 Light3D 的剔除掩码。灯光仅影响选定层中的对象。相当于 [member Light3D."
-"light_cull_mask]。"
-
-msgid ""
-"Sets the distance fade for this Light3D. This acts as a form of level of "
-"detail (LOD) and can be used to improve performance. Equivalent to [member "
-"Light3D.distance_fade_enabled], [member Light3D.distance_fade_begin], "
-"[member Light3D.distance_fade_shadow], and [member Light3D."
-"distance_fade_length]."
-msgstr ""
-"设置该 Light3D 的淡入淡出距离。这充当了一种多细节层次(LOD)的形式,可用于提"
-"高性能。相当于 [member Light3D.distance_fade_enabled]、[member Light3D."
-"distance_fade_begin]、[member Light3D.distance_fade_shadow]、和 [member "
-"Light3D.distance_fade_length]。"
-
-msgid ""
-"If [code]true[/code], light will subtract light instead of adding light. "
-"Equivalent to [member Light3D.light_negative]."
-msgstr ""
-"如果为 [code]true[/code],则灯光会对光进行扣除而不是增加。相当于 [member "
-"Light3D.light_negative]。"
-
-msgid ""
-"Sets the specified light parameter. See [enum LightParam] for options. "
-"Equivalent to [method Light3D.set_param]."
-msgstr ""
-"设置指定的灯光参数。选项见 [enum LightParam]。相当于 [method Light3D."
-"set_param]。"
-
-msgid "Not implemented in Godot 3.x."
-msgstr "在 Godot 3.x 中没有实现。"
-
-msgid ""
"If [code]true[/code], reverses the backface culling of the mesh. This can be "
"useful when you have a flat mesh that has a light behind it. If you need to "
"cast a shadow on both sides of the mesh, set the mesh to use double-sided "
@@ -91806,20 +92498,6 @@ msgstr ""
"shadow_enabled]。"
msgid ""
-"Creates a lightmap GI and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID will be used in all "
-"[code]instance_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [LightmapGI] node."
-msgstr ""
-"创建光照贴图 GI 并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这"
-"个 RID 会在所有 [code]instance_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [LightmapGI] 节点的内部等价物。"
-
-msgid ""
"Used to inform the renderer what exposure normalization value was used while "
"baking the lightmap. This value will be used and modulated at run time to "
"ensure that the lightmap maintains a consistent level of exposure even if "
@@ -91830,25 +92508,6 @@ msgstr ""
"制,以确保即使场景范围的曝光归一化值在运行时发生变化,光照贴图也能保持一致的"
"曝光水平。有关详细信息,请参阅 [method camera_attributes_set_exposure]。"
-msgid ""
-"Returns a mesh of a sphere with the given number of horizontal and vertical "
-"subdivisions."
-msgstr "返回球体网格,具有给定数量的水平和垂直细分。"
-
-msgid ""
-"Creates an empty material and adds it to the RenderingServer. It can be "
-"accessed with the RID that is returned. This RID will be used in all "
-"[code]material_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"This is the internal equivalent of the [Material] resource."
-msgstr ""
-"创建空材质并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]material_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"这是 [Material] 资源的内部等价物。"
-
msgid "Returns the value of a certain material's parameter."
msgstr "返回特定材质的参数值。"
@@ -91867,24 +92526,6 @@ msgstr "设置着色器材质的着色器。"
msgid "Removes all surfaces from a mesh."
msgstr "移除网格中的所有表面。"
-msgid ""
-"Creates a new mesh and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID will be used in all [code]mesh_*[/"
-"code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"To place in a scene, attach this mesh to an instance using [method "
-"instance_set_base] using the returned RID.\n"
-"This is the internal equivalent of the [Mesh] resource."
-msgstr ""
-"新建网格并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 RID "
-"会在所有 [code]mesh_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"如果要将这个网格放置到场景中,请使用返回的 RID 调用 [method "
-"instance_set_base],将其附加至某个实例上。\n"
-"这是 [Mesh] 资源的内部等价物。"
-
msgid "Returns a mesh's blend shape count."
msgstr "返回一个网格的混合形状数量。"
@@ -91916,24 +92557,6 @@ msgid "Sets a mesh's surface's material."
msgstr "设置网格表面的材质。"
msgid ""
-"Creates a new multimesh on the RenderingServer and returns an [RID] handle. "
-"This RID will be used in all [code]multimesh_*[/code] RenderingServer "
-"functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"To place in a scene, attach this multimesh to an instance using [method "
-"instance_set_base] using the returned RID.\n"
-"This is the internal equivalent of the [MultiMesh] resource."
-msgstr ""
-"新建多网格并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]multimesh_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"如果要将这个多网格放置到场景中,请使用返回的 RID 调用 [method "
-"instance_set_base],将其附加至某个实例上。\n"
-"这是 [MultiMesh] 资源的内部等价物。"
-
-msgid ""
"Calculates and returns the axis-aligned bounding box that encloses all "
"instances within the multimesh."
msgstr "计算并返回轴对齐的包围盒,该包围盒将所有的实例都包含在 multimesh 中。"
@@ -92008,32 +92631,48 @@ msgid ""
"accessed with the RID that is returned. This RID can be used in most "
"[code]light_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
+"RenderingServer's [method free_rid] method.\n"
"To place in a scene, attach this omni light to an instance using [method "
-"instance_set_base] using the returned RID."
+"instance_set_base] using the returned RID.\n"
+"[b]Note:[/b] The equivalent node is [OmniLight3D]."
msgstr ""
"创建一个新的全向灯并将其添加到 RenderingServer。可以使用返回的 RID 访问它。"
"该 RID 可用于大多数 [code]light_*[/code] RenderingServer 函数。\n"
"一旦使用 RID 完成操作后,需要使用 RenderingServer 的静态方法 [method "
"free_rid] 来释放该 RID。\n"
"要放置在场景中,请使用 [method instance_set_base] 使用该返回的 RID 将该全向灯"
-"附加到一个实例。"
+"附加到一个实例。\n"
+"[b]注意:[/b]等价节点为 [OmniLight3D]。"
msgid ""
-"Creates a particle system and adds it to the RenderingServer. It can be "
-"accessed with the RID that is returned. This RID will be used in all "
+"Creates a GPU-based particle system and adds it to the RenderingServer. It "
+"can be accessed with the RID that is returned. This RID will be used in all "
"[code]particles_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
+"RenderingServer's [method free_rid] method.\n"
"To place in a scene, attach these particles to an instance using [method "
-"instance_set_base] using the returned RID."
-msgstr ""
-"创建粒子系统并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]particles_*[/code] RenderingServer 函数中使用。\n"
+"instance_set_base] using the returned RID.\n"
+"[b]Note:[/b] The equivalent nodes are [GPUParticles2D] and "
+"[GPUParticles3D].\n"
+"[b]Note:[/b] All [code]particles_*[/code] methods only apply to GPU-based "
+"particles, not CPU-based particles. [CPUParticles2D] and [CPUParticles3D] do "
+"not have equivalent RenderingServer functions available, as these use "
+"[MultiMeshInstance2D] and [MultiMeshInstance3D] under the hood (see "
+"[code]multimesh_*[/code] methods)."
+msgstr ""
+"创建基于 GPU 的粒子系统并将其添加到 RenderingServer。可以通过返回的 RID 进行"
+"访问。这个 RID 会在所有 [code]particles_*[/code] RenderingServer 函数中使"
+"用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
"放。\n"
-"如果要将这些粒子放置到场景中,请使用返回的 RID 调用 [method "
-"instance_set_base],将其附加至某个实例上。"
+"如果要将这个粒子系统放置到场景中,请使用返回的 RID 调用 [method "
+"instance_set_base],将其附加至某个实例上。\n"
+"[b]注意:[/b]等价节点为 [GPUParticles2D] 和 [GPUParticles3D]。\n"
+"[b]注意:[/b]所有 [code]particles_*[/code] 方法都仅适用于基于 GPU 的粒子,不"
+"适用于基于 CPU 的粒子。RenderingServer 中没有 [CPUParticles2D] 和 "
+"[CPUParticles3D] 的等价函数,因为这两个节点底层使用的是 "
+"[MultiMeshInstance2D] 和 [MultiMeshInstance3D](见 [code]multimesh_*[/code] "
+"方法)。"
msgid ""
"Calculates and returns the axis-aligned bounding box that contains all the "
@@ -92188,16 +92827,18 @@ msgid ""
"accessed with the RID that is returned. This RID will be used in all "
"[code]reflection_probe_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
+"RenderingServer's [method free_rid] method.\n"
"To place in a scene, attach this reflection probe to an instance using "
-"[method instance_set_base] using the returned RID."
+"[method instance_set_base] using the returned RID.\n"
+"[b]Note:[/b] The equivalent node is [ReflectionProbe]."
msgstr ""
"创建反射探针并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
"RID 会在所有 [code]reflection_probe_*[/code] RenderingServer 函数中使用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
"放。\n"
"如果要将这个反射探针放置到场景中,请使用返回的 RID 调用 [method "
-"instance_set_base],将其附加至某个实例上。"
+"instance_set_base],将其附加至某个实例上。\n"
+"[b]注意:[/b]等价节点为 [ReflectionProbe]。"
msgid ""
"If [code]true[/code], reflections will ignore sky contribution. Equivalent "
@@ -92268,23 +92909,6 @@ msgid ""
msgstr "安排对给定可调用体的回调,会在一帧绘制完成后回调。"
msgid ""
-"Creates a scenario and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID will be used in all "
-"[code]scenario_*[/code] RenderingServer functions.\n"
-"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"The scenario is the 3D world that all the visual instances exist in."
-msgstr ""
-"创建场景并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 RID "
-"会在大多数 [code]scenario_*[/code] RenderingServer 函数中使用。\n"
-"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。\n"
-"场景是所有可视实例存在的 3D 世界。"
-
-msgid "Sets the environment that will be used with this scenario."
-msgstr "设置将用于此场景的环境。"
-
-msgid ""
"Sets the fallback environment to be used by this scenario. The fallback "
"environment is used if no environment is set. Internally, this is used by "
"the editor to provide a default environment."
@@ -92305,29 +92929,21 @@ msgstr ""
"[code]false[/code],则该图像将使用最近邻插值的方式进行缩放。"
msgid ""
-"If [code]true[/code], the engine will generate wireframes for use with the "
-"wireframe debug mode."
-msgstr "如果为 [code]true[/code],引擎将生成用于线框调试模式的线框。"
-
-msgid ""
-"Sets the default clear color which is used when a specific clear color has "
-"not been selected."
-msgstr "设置未选择特定透明色时使用的默认透明色。"
-
-msgid ""
"Creates an empty shader and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
"[code]shader_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent resource is [Shader]."
msgstr ""
"创建空的着色器并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这"
"个 RID 会在所有 [code]shader_*[/code] RenderingServer 函数中使用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
+"放。\n"
+"[b]注意:[/b]等价资源为 [Shader]。"
-msgid "Returns a shader's code."
-msgstr "返回着色器的代码。"
+msgid "Returns a shader's source code as a string."
+msgstr "以字符串形式返回着色器的源代码。"
msgid ""
"Returns a default texture from a shader searched by name.\n"
@@ -92338,6 +92954,16 @@ msgstr ""
"[b]注意:[/b]如果使用了采样器数组,请使用 [param index] 访问指定的纹理。"
msgid ""
+"Returns the default value for the specified shader uniform. This is usually "
+"the value written in the shader source code."
+msgstr "返回指定着色器 Uniform 的默认值。通常是着色器源代码中编写的值。"
+
+msgid ""
+"Sets the shader's source code (which triggers recompilation after being "
+"changed)."
+msgstr "设置着色器的源代码(更改后会出发重新编译)。"
+
+msgid ""
"Sets a shader's default texture. Overwrites the texture given by name.\n"
"[b]Note:[/b] If the sampler array is used use [param index] to access the "
"specified texture."
@@ -92345,6 +92971,13 @@ msgstr ""
"设置着色器的默认纹理。覆盖给定名称的纹理。\n"
"[b]注意:[/b]使用采样器数组时,使用 [param index] 访问指定的纹理。"
+msgid ""
+"Sets the path hint for the specified shader. This should generally match the "
+"[Shader] resource's [member Resource.resource_path]."
+msgstr ""
+"设置指定着色器路径提示。一般应该与 [Shader] 资源的 [member Resource."
+"resource_path] 相匹配。"
+
msgid "Returns the [Transform3D] set for a specific bone of this skeleton."
msgstr "返回该骨架中指定骨骼的 [Transform3D]。"
@@ -92357,57 +92990,93 @@ msgstr "设置该骨架中指定骨骼的 [Transform3D]。"
msgid "Sets the [Transform2D] for a specific bone of this skeleton."
msgstr "设置该骨架中指定骨骼的 [Transform2D]。"
+msgid "Returns the number of bones allocated for this skeleton."
+msgstr "返回分配给这个骨架的骨骼数量。"
+
msgid ""
-"Creates a skeleton and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID will be used in all "
-"[code]skeleton_*[/code] RenderingServer functions.\n"
+"Creates a 2-dimensional texture and adds it to the RenderingServer. It can "
+"be accessed with the RID that is returned. This RID will be used in all "
+"[code]texture_2d_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
-msgstr ""
-"创建骨架并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 RID "
-"会在所有 [code]skeleton_*[/code] RenderingServer 函数中使用。\n"
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent resource is [Texture2D].\n"
+"[b]Note:[/b] Not to be confused with [method RenderingDevice."
+"texture_create], which creates the graphics API's own texture type as "
+"opposed to the Godot-specific [Texture2D] resource."
+msgstr ""
+"创建二维纹理并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
+"RID 会在所有 [code]texture_2d_*[/code] RenderingServer 函数中使用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
-
-msgid "Returns the number of bones allocated for this skeleton."
-msgstr "返回分配给这个骨架的骨骼数量。"
+"放。\n"
+"[b]注意:[/b]等价资源为 [Texture2D]。\n"
+"[b]注意:[/b]请勿与 [method RenderingDevice.texture_create] 混淆,后者创建的"
+"是图形 API 自己的纹理类型,并非 Godot 专属的 [Texture2D] 资源。"
msgid ""
-"Creates an empty sky and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID will be used in all [code]sky_*[/"
-"code] RenderingServer functions.\n"
+"Creates a 2-dimensional layered texture and adds it to the RenderingServer. "
+"It can be accessed with the RID that is returned. This RID will be used in "
+"all [code]texture_2d_layered_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent resource is [TextureLayered]."
msgstr ""
-"创建空的天空并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在所有 [code]sky_*[/code] RenderingServer 函数中使用。\n"
+"创建二维多层纹理并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这"
+"个 RID 会在所有 [code]texture_2d_layered_*[/code] RenderingServer 函数中使"
+"用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
+"放。\n"
+"[b]注意:[/b]等价资源为 [TextureLayered]。"
msgid ""
-"Sets the material that the sky uses to render the background and reflection "
-"maps."
-msgstr "设置天空用于渲染背景和反射贴图的材质。"
+"Creates a placeholder for a 2-dimensional layered texture and adds it to the "
+"RenderingServer. It can be accessed with the RID that is returned. This RID "
+"will be used in all [code]texture_2d_layered_*[/code] RenderingServer "
+"functions, although it does nothing when used. See also [method "
+"texture_2d_placeholder_create].\n"
+"[b]Note:[/b] The equivalent resource is [PlaceholderTextureLayered]."
+msgstr ""
+"创建二维多层纹理的占位符并将其添加到 RenderingServer。可以通过返回的 RID 进行"
+"访问。这个 RID 会在所有 [code]texture_2d_layered_*[/code] RenderingServer 函"
+"数中使用,但使用时什么都不会发生。另见 [method "
+"texture_2d_placeholder_create]。\n"
+"[b]注意:[/b]等价资源为 [PlaceholderTextureLayered]。"
msgid ""
-"Creates a spot light and adds it to the RenderingServer. It can be accessed "
-"with the RID that is returned. This RID can be used in most [code]light_*[/"
-"code] RenderingServer functions.\n"
+"Creates a placeholder for a 2-dimensional layered texture and adds it to the "
+"RenderingServer. It can be accessed with the RID that is returned. This RID "
+"will be used in all [code]texture_2d_layered_*[/code] RenderingServer "
+"functions, although it does nothing when used. See also [method "
+"texture_2d_layered_placeholder_create]\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method.\n"
-"To place in a scene, attach this spot light to an instance using [method "
-"instance_set_base] using the returned RID."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent resource is [PlaceholderTexture2D]."
msgstr ""
-"创建聚光灯并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
-"RID 会在大多数 [code]light_*[/code] RenderingServer 函数中使用。\n"
+"创建二维多层纹理的占位符并将其添加到 RenderingServer。可以通过返回的 RID 进行"
+"访问。这个 RID 会在所有 [code]texture_2d_layered_*[/code] RenderingServer 函"
+"数中使用,但使用时什么都不会发生。另见 [method "
+"texture_2d_layered_placeholder_create]。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
"放。\n"
-"如果要将这个聚光灯放置到场景中,请使用返回的 RID 调用 [method "
-"instance_set_base],将其附加至某个实例上。"
+"[b]注意:[/b]等价资源为 [PlaceholderTexture2D]。"
+
+msgid "[b]Note:[/b] The equivalent resource is [Texture3D]."
+msgstr "[b]注意:[/b]等价的资源是 [Texture3D]。"
msgid "Returns a texture [RID] that can be used with [RenderingDevice]."
msgstr "返回可用于 [RenderingDevice] 的纹理 [RID]。"
+msgid ""
+"[i]Deprecated.[/i] As ProxyTexture was removed in Godot 4, this method does "
+"nothing when called and always returns a null [RID]."
+msgstr ""
+"[i]已废弃。[/i]Godot 4 中已经移除 ProxyTexture,所以调用这个方法什么都不会发"
+"生,始终返回空 [RID]。"
+
+msgid ""
+"[i]Deprecated.[/i] ProxyTexture was removed in Godot 4, so this method "
+"cannot be used anymore."
+msgstr "[i]已废弃。[/i]Godot 4 中已经移除 ProxyTexture,所以不再使用这个方法。"
+
msgid "Sets a viewport's camera."
msgstr "设置视图的相机。"
@@ -92458,12 +93127,17 @@ msgid ""
"accessed with the RID that is returned. This RID will be used in all "
"[code]viewport_*[/code] RenderingServer functions.\n"
"Once finished with your RID, you will want to free the RID using the "
-"RenderingServer's [method free_rid] static method."
+"RenderingServer's [method free_rid] method.\n"
+"[b]Note:[/b] The equivalent node is [Viewport]."
msgstr ""
"创建空的视口并将其添加到 RenderingServer。可以通过返回的 RID 进行访问。这个 "
"RID 会在所有 [code]viewport_*[/code] RenderingServer 函数中使用。\n"
"RID 使用结束后,应该使用 RenderingServer 的 [method free_rid] 静态方法进行释"
-"放。"
+"放。\n"
+"[b]注意:[/b]等价节点为 [Viewport]。"
+
+msgid "Returns the render target for the viewport."
+msgstr "返回该视口的渲染目标。"
msgid "Returns the viewport's last rendered frame."
msgstr "返回视口的最后渲染帧。"
@@ -92504,9 +93178,6 @@ msgid ""
"options."
msgstr "设置视口的调试绘图模式。可选项见 [enum ViewportDebugDraw]。"
-msgid "If [code]true[/code], the viewport's canvas is not rendered."
-msgstr "如果为 [code]true[/code],则不渲染视口的画布。"
-
msgid ""
"Sets the viewport's environment mode which allows enabling or disabling "
"rendering of 3D environment over 2D canvas. When disabled, 2D will not be "
@@ -92527,33 +93198,6 @@ msgid "Sets the viewport's global transformation matrix."
msgstr "设置视口的全局变换矩阵。"
msgid ""
-"Sets the multisample anti-aliasing mode for 2D/Canvas. See [enum "
-"ViewportMSAA] for options."
-msgstr "设置 2D/画布的多重采样抗锯齿模式。选项见 [enum ViewportMSAA]。"
-
-msgid ""
-"Sets the multisample anti-aliasing mode for 3D. See [enum ViewportMSAA] for "
-"options."
-msgstr "设置 3D 的多重采样抗锯齿模式。选项见 [enum ViewportMSAA]。"
-
-msgid "Sets the viewport's parent to another viewport."
-msgstr "设置视口的父视口到另一个视口。"
-
-msgid "Sets the shadow atlas quadrant's subdivision."
-msgstr "设置阴影图集象限的细分。"
-
-msgid ""
-"Sets the size of the shadow atlas's images (used for omni and spot lights). "
-"The value will be rounded up to the nearest power of 2.\n"
-"[b]Note:[/b] If this is set to [code]0[/code], no shadows will be visible at "
-"all (including directional shadows)."
-msgstr ""
-"设置阴影图集图像的大小(用于全向灯和聚光灯)。该值将向上舍入到最接近的 2 次"
-"幂。\n"
-"[b]注意:[/b]如果被设置为 [code]0[/code],将根本看不到任何阴影(包括定向阴"
-"影)。"
-
-msgid ""
"If [code]true[/code], render the contents of the viewport directly to "
"screen. This allows a low-level optimization where you can skip drawing a "
"viewport to the root viewport. While this optimization can result in a "
@@ -92576,19 +93220,6 @@ msgstr ""
"小。"
msgid ""
-"Sets scaling 3d mode. Bilinear scaling renders at different resolution to "
-"either undersample or supersample the viewport. FidelityFX Super Resolution "
-"1.0, abbreviated to FSR, is an upscaling technology that produces high "
-"quality images at fast framerates by using a spatially aware upscaling "
-"algorithm. FSR is slightly more expensive than bilinear, but it produces "
-"significantly higher image quality. FSR should be used where possible."
-msgstr ""
-"设置缩放 3d 模式。双线性缩放以不同的分辨率渲染,以对视口进行欠采样或超采样。"
-"FidelityFX 超分辨率 1.0,缩写为 FSR,是一种放大技术,通过使用空间感知放大算法"
-"以快速帧速率生成高质量图像。FSR 比双线性稍微贵一点,但它产生的图像质量明显更"
-"高。应尽可能使用 FSR。"
-
-msgid ""
"Scales the 3D render buffer based on the viewport size uses an image filter "
"specified in [enum ViewportScaling3DMode] to scale the output image to the "
"full viewport size. Values lower than [code]1.0[/code] can be used to speed "
@@ -92612,15 +93243,15 @@ msgstr ""
"0.77”、“质量:0.67”、“平衡:0.59”、“性能:0.5”,而不是公开整个比例。"
msgid ""
-"Sets a viewport's scenario.\n"
-"The scenario contains information about environment information, reflection "
-"atlas etc."
-msgstr ""
-"设置视口的场景。\n"
-"该场景包含环境、反射图集等信息。"
+"Sets a viewport's scenario. The scenario contains information about "
+"environment information, reflection atlas, etc."
+msgstr "设置视口的场景。该场景包含环境、反射图集等信息。"
+
+msgid "Sets the viewport's screen-space antialiasing mode."
+msgstr "使用视口的屏幕空间抗锯齿模式。"
-msgid "Sets the viewport's width and height."
-msgstr "设置视口的宽度和高度。"
+msgid "Sets the viewport's width and height in pixels."
+msgstr "设置视口的宽度和高度,单位为像素。"
msgid ""
"Affects the final texture sharpness by reading from a lower or higher mipmap "
@@ -92655,9 +93286,6 @@ msgid ""
"constants for options."
msgstr "设置应更新视口的时间。可选项请参阅 [enum ViewportUpdateMode] 。"
-msgid "If [code]true[/code], use Temporal Anti-Aliasing."
-msgstr "如果为 [code]true[/code],则使用时间抗锯齿。"
-
msgid ""
"If [code]true[/code], the viewport uses augmented or virtual reality "
"technologies. See [XRInterface]."
@@ -92665,19 +93293,6 @@ msgstr ""
"如果为 [code]true[/code],则视口使用增强或虚拟现实技术。参阅 [XRInterface]。"
msgid ""
-"Sets the Variable Rate Shading (VRS) mode for the viewport. Note, if "
-"hardware does not support VRS this property is ignored."
-msgstr ""
-"设置视口的可变速率着色(VRS)模式。请注意,如果硬件不支持 VRS,则忽略该属性。"
-
-msgid ""
-"Texture to use when the VRS mode is set to [constant RenderingServer."
-"VIEWPORT_VRS_TEXTURE]."
-msgstr ""
-"当 VRS 模式设置为 [constant RenderingServer.VIEWPORT_VRS_TEXTURE] 时,要使用"
-"的纹理。"
-
-msgid ""
"Used to inform the renderer what exposure normalization value was used while "
"baking the voxel gi. This value will be used and modulated at run time to "
"ensure that the voxel gi maintains a consistent level of exposure even if "
@@ -92719,12 +93334,35 @@ msgstr "画布项目的最小 Z 层。"
msgid "The maximum Z-layer for canvas items."
msgstr "帆布项目的最大 Z 层。"
-msgid ""
-"Max number of glow levels that can be used with glow post-process effect."
-msgstr "可用于辉光后处理效果的最大辉光级别数。"
+msgid "[i]Deprecated.[/i] This constant is unused."
+msgstr "[i]已废弃。[/i]这个常量未使用。"
+
+msgid "Array of 2-dimensional textures (see [Texture2DArray])."
+msgstr "二维纹理数组(见 [Texture2DArray])。"
+
+msgid "Cubemap texture (see [Cubemap])."
+msgstr "立方体贴图纹理(见 [Cubemap])。"
+
+msgid "Array of cubemap textures (see [CubemapArray])."
+msgstr "立方体贴图纹理数组(见 [CubemapArray])。"
-msgid "Unused enum in Godot 3.x."
-msgstr "在 Godot 3.x 中未使用的枚举。"
+msgid "Left face of a [Cubemap]."
+msgstr "[Cubemap] 的左面。"
+
+msgid "Right face of a [Cubemap]."
+msgstr "[Cubemap] 的右面。"
+
+msgid "Bottom face of a [Cubemap]."
+msgstr "[Cubemap] 的底面。"
+
+msgid "Top face of a [Cubemap]."
+msgstr "[Cubemap] 的顶面。"
+
+msgid "Front face of a [Cubemap]."
+msgstr "[Cubemap] 的正面。"
+
+msgid "Back face of a [Cubemap]."
+msgstr "[Cubemap] 的背面。"
msgid "Shader is a 3D shader."
msgstr "着色器是 3D 着色器。"
@@ -92732,14 +93370,14 @@ msgstr "着色器是 3D 着色器。"
msgid "Shader is a 2D shader."
msgstr "着色器是 2D 着色器。"
-msgid "Shader is a particle shader."
-msgstr "着色器是粒子着色器。"
+msgid "Shader is a particle shader (can be used in both 2D and 3D)."
+msgstr "着色器是粒子着色器(2D 和 3D 均可使用)。"
-msgid "Shader is a sky shader."
-msgstr "着色器是天空着色器。"
+msgid "Shader is a 3D sky shader."
+msgstr "着色器是 3D 天空着色器。"
-msgid "Shader is a fog shader."
-msgstr "着色器是雾着色器。"
+msgid "Shader is a 3D fog shader."
+msgstr "着色器是 3D 雾着色器。"
msgid "Represents the size of the [enum ShaderMode] enum."
msgstr "代表 [enum ShaderMode] 枚举的大小。"
@@ -92750,8 +93388,8 @@ msgstr "所有材质的最小渲染优先级。"
msgid "The maximum renderpriority of all materials."
msgstr "所有材质的最大渲染优先级。"
-msgid "Array is a vertex array."
-msgstr "数组是顶点数组。"
+msgid "Array is a vertex position array."
+msgstr "数组是顶点位置数组。"
msgid "Array is a normal array."
msgstr "数组是法线数组。"
@@ -92759,14 +93397,26 @@ msgstr "数组是法线数组。"
msgid "Array is a tangent array."
msgstr "数组是切线数组。"
-msgid "Array is a color array."
-msgstr "数组是颜色数组。"
+msgid "Array is a vertex color array."
+msgstr "数组是顶点颜色数组。"
msgid "Array is an UV coordinates array."
msgstr "数组是 UV 坐标数组。"
-msgid "Array is an UV coordinates array for the second UV coordinates."
-msgstr "数组是第二个 UV 坐标的 UV 坐标数组。"
+msgid "Array is an UV coordinates array for the second set of UV coordinates."
+msgstr "数组是第二组 UV 坐标的 UV 坐标数组。"
+
+msgid "Array is a custom data array for the first set of custom data."
+msgstr "数组是第一组自定义数据的自定义数据数组。"
+
+msgid "Array is a custom data array for the second set of custom data."
+msgstr "数组是第二组自定义数据的自定义数据数组。"
+
+msgid "Array is a custom data array for the third set of custom data."
+msgstr "数组是第三组自定义数据的自定义数据数组。"
+
+msgid "Array is a custom data array for the fourth set of custom data."
+msgstr "数组是第四组自定义数据的自定义数据数组。"
msgid "Array contains bone information."
msgstr "数组包含骨骼信息。"
@@ -92774,11 +93424,11 @@ msgstr "数组包含骨骼信息。"
msgid "Array is weight information."
msgstr "数组是重量信息。"
-msgid "Array is index array."
+msgid "Array is an index array."
msgstr "数组是索引数组。"
-msgid "Flag used to mark a vertex array."
-msgstr "用于标记顶点数组的标志。"
+msgid "Flag used to mark a vertex position array."
+msgstr "用于标记顶点位置数组的标志。"
msgid "Flag used to mark a normal array."
msgstr "用于标记法线数组的标志。"
@@ -92786,8 +93436,8 @@ msgstr "用于标记法线数组的标志。"
msgid "Flag used to mark a tangent array."
msgstr "用于标记切线数组的标志。"
-msgid "Flag used to mark a color array."
-msgstr "用于标记颜色数组的标记。"
+msgid "Flag used to mark a vertex color array."
+msgstr "用于标记顶点颜色数组的标志。"
msgid "Flag used to mark an UV coordinates array."
msgstr "用于标记 UV 坐标数组的标志。"
@@ -92897,14 +93547,14 @@ msgstr ""
"也更慢。各向异性的级别由 [member ProjectSettings.rendering/textures/"
"default_filters/anisotropic_filtering_level] 定义。"
-msgid "Is a directional (sun) light."
-msgstr "是平行光(日光)。"
+msgid "Directional (sun/moon) light (see [DirectionalLight3D])."
+msgstr "方向(太阳/月亮)灯(见 [DirectionalLight3D])。"
-msgid "Is an omni light."
-msgstr "是全向光。"
+msgid "Omni light (see [OmniLight3D])."
+msgstr "全向灯(见 [OmniLight3D])。"
-msgid "Is a spot light."
-msgstr "是聚光。"
+msgid "Spot light (see [SpotLight3D])."
+msgstr "聚光灯(见 [SpotLight3D])。"
msgid "The light's energy multiplier."
msgstr "该灯光的能量倍数。"
@@ -92944,9 +93594,6 @@ msgstr "聚光灯的角度。"
msgid "The spotlight's attenuation."
msgstr "聚光灯的衰减。"
-msgid "Max distance that shadows will be rendered."
-msgstr "阴影被渲染的最大距离。"
-
msgid "Proportion of shadow atlas occupied by the first split."
msgstr "第一次拆分所占据的阴影图集的比例。"
@@ -93078,6 +93725,9 @@ msgstr ""
"性。该乘数仅适用于 [member Light3D.light_size] 或 [member Light3D."
"light_angular_distance] 为 [code]0.0[/code] 的灯光。"
+msgid "Represents the size of the [enum ShadowQuality] enum."
+msgstr "代表 [enum ShadowQuality] 枚举的大小。"
+
msgid "Reflection probe will update reflections once and then stop."
msgstr "反射探针将更新一次反射,然后停止。"
@@ -93086,6 +93736,9 @@ msgid ""
"moving objects."
msgstr "反射探针将每帧更新。这种模式对于捕捉移动物体是必要的。"
+msgid "Represents the size of the [enum DecalTexture] enum."
+msgstr "代表 [enum DecalTexture] 枚举的大小。"
+
msgid ""
"Nearest-neighbor filter for decals (use for pixel art decals). No mipmaps "
"are used for rendering, which means decals at a distance will look sharp but "
@@ -93147,6 +93800,18 @@ msgstr ""
"级别由 [member ProjectSettings.rendering/textures/default_filters/"
"anisotropic_filtering_level] 定义。"
+msgid "Low [VoxelGI] rendering quality using 4 cones."
+msgstr "[VoxelGI] 较低渲染质量,使用 4 个锥体。"
+
+msgid "High [VoxelGI] rendering quality using 6 cones."
+msgstr "[VoxelGI] 较高渲染质量,使用 6 个锥体。"
+
+msgid "2D particles."
+msgstr "2D 粒子。"
+
+msgid "3D particles."
+msgstr "3D 粒子。"
+
msgid "Draw particles in the order that they appear in the particles array."
msgstr "按照粒子数组中出现的顺序绘制粒子。"
@@ -93156,6 +93821,11 @@ msgstr "根据粒子的寿命对其进行分类。"
msgid "Sort particles based on their distance to the camera."
msgstr "根据粒子与相机的距离对其进行排序。"
+msgid ""
+"Represents the size of the [enum ParticlesCollisionHeightfieldResolution] "
+"enum."
+msgstr "代表 [enum ParticlesCollisionHeightfieldResolution] 枚举的大小。"
+
msgid "[FogVolume] will be shaped like an ellipsoid (stretched sphere)."
msgstr "[FogVolume] 的形状类似于一个椭球体(拉伸的球体)。"
@@ -93188,9 +93858,12 @@ msgid ""
"culled."
msgstr "[FogVolume] 将没有形状,将覆盖整个世界并且不会被剔除。"
+msgid "Represents the size of the [enum FogVolumeShape] enum."
+msgstr "代表 [enum FogVolumeShape] 枚举的大小。"
+
msgid ""
"Use bilinear scaling for the viewport's 3D buffer. The amount of scaling can "
-"be set using [member Viewport.scaling_3d_scale]. Values less then [code]1.0[/"
+"be set using [member Viewport.scaling_3d_scale]. Values less than [code]1.0[/"
"code] will result in undersampling while values greater than [code]1.0[/"
"code] will result in supersampling. A value of [code]1.0[/code] disables "
"scaling."
@@ -93202,7 +93875,7 @@ msgstr ""
msgid ""
"Use AMD FidelityFX Super Resolution 1.0 upscaling for the viewport's 3D "
"buffer. The amount of scaling can be set using [member Viewport."
-"scaling_3d_scale]. Values less then [code]1.0[/code] will be result in the "
+"scaling_3d_scale]. Values less than [code]1.0[/code] will be result in the "
"viewport being upscaled using FSR. Values greater than [code]1.0[/code] are "
"not supported and bilinear downsampling will be used instead. A value of "
"[code]1.0[/code] disables scaling."
@@ -93212,28 +93885,38 @@ msgstr ""
"FSR 放大视口。不支持大于 [code]1.0[/code] 的值,将改用双线性降采样。"
"[code]1.0[/code] 的值将禁用缩放。"
-msgid "Do not update the viewport."
-msgstr "不要更新视口。"
+msgid "Represents the size of the [enum ViewportScaling3DMode] enum."
+msgstr "代表 [enum ViewportScaling3DMode] 枚举的大小。"
-msgid "Update the viewport once then set to disabled."
-msgstr "更新一次视口,然后设置为禁用。"
+msgid "Do not update the viewport's render target."
+msgstr "不要更新视口的渲染目标。"
-msgid "Update the viewport whenever it is visible."
-msgstr "只要视口是可见的,就更新视口。"
+msgid ""
+"Update the viewport's render target once, then switch to [constant "
+"VIEWPORT_UPDATE_DISABLED]."
+msgstr "更新一次视口的渲染目标,然后切换到 [constant UPDATE_DISABLED]。"
-msgid "Always update the viewport."
-msgstr "始终更新视口。"
+msgid ""
+"Update the viewport's render target only when it is visible. This is the "
+"default value."
+msgstr "仅在渲染目标可见时更新视口的渲染目标。这是默认值。"
-msgid "The viewport is always cleared before drawing."
-msgstr "在绘图之前,视口总是被清空。"
+msgid "Update the viewport's render target only when its parent is visible."
+msgstr "仅在其父级可见时更新视口的渲染目标。"
-msgid "The viewport is never cleared before drawing."
-msgstr "在绘图之前,视口永远不会被清空。"
+msgid "Always update the viewport's render target."
+msgstr "始终更新视口的渲染目标。"
+
+msgid "Always clear the viewport's render target before drawing."
+msgstr "绘制前始终清除视口的渲染目标。"
+
+msgid "Never clear the viewport's render target."
+msgstr "永不清除视口的渲染目标。"
msgid ""
-"The viewport is cleared once, then the clear mode is set to [constant "
-"VIEWPORT_CLEAR_NEVER]."
-msgstr "视口被清除一次,然后清除模式设置为 [constant VIEWPORT_CLEAR_NEVER]。"
+"Clear the viewport's render target on the next frame, then switch to "
+"[constant VIEWPORT_CLEAR_NEVER]."
+msgstr "在下一帧清除视口的渲染目标,然后切换到 [constant CLEAR_MODE_NEVER]。"
msgid "Disable rendering of 3D environment over 2D canvas."
msgstr "禁用在 2D 画布上渲染 3D 环境。"
@@ -93241,16 +93924,14 @@ msgstr "禁用在 2D 画布上渲染 3D 环境。"
msgid "Enable rendering of 3D environment over 2D canvas."
msgstr "启用在 2D 画布上渲染 3D 环境。"
-msgid ""
-"Inherit enable/disable value from parent. If topmost parent is also set to "
-"inherit, then this has the same behavior as [constant "
-"VIEWPORT_ENVIRONMENT_ENABLED]."
-msgstr ""
-"从父级继承启用/禁用值。如果最顶层的父级也被设置为继承,那么这与 [constant "
-"VIEWPORT_ENVIRONMENT_ENABLED] 具有相同的行为。"
+msgid "Represents the size of the [enum ViewportEnvironmentMode] enum."
+msgstr "代表 [enum ViewportEnvironmentMode] 枚举的大小。"
-msgid "Max value of [enum ViewportEnvironmentMode] enum."
-msgstr "[enum ViewportEnvironmentMode] 枚举的最大值。"
+msgid "Represents the size of the [enum ViewportSDFOversize] enum."
+msgstr "代表 [enum ViewportSDFOversize] 枚举的大小。"
+
+msgid "Represents the size of the [enum ViewportSDFScale] enum."
+msgstr "代表 [enum ViewportSDFScale] 枚举的大小。"
msgid ""
"Multisample antialiasing for 3D is disabled. This is the default value, and "
@@ -93274,6 +93955,25 @@ msgstr ""
"用于 3D 的多重采样抗锯齿,使用每个像素 8 个样本。这对性能有非常大的影响。可能"
"在低端和较旧的硬件上不受支持。"
+msgid "Represents the size of the [enum ViewportMSAA] enum."
+msgstr "代表 [enum ViewportMSAA] 枚举的大小。"
+
+msgid "Do not perform any antialiasing in the full screen post-process."
+msgstr "不要在全屏后处理中执行抗锯齿。"
+
+msgid ""
+"Use fast approximate antialiasing. FXAA is a popular screen-space "
+"antialiasing method, which is fast but will make the image look blurry, "
+"especially at lower resolutions. It can still work relatively well at large "
+"resolutions such as 1440p and 4K."
+msgstr ""
+"使用快速近似抗锯齿(Fast Approximate Anti-Aliasing)。FXAA 是一种流行的屏幕空"
+"间抗锯齿方法,速度很快,但会让图像变模糊,使用较低分辨率时尤为显著。1440p 和 "
+"4K 等较高分辨率下效果仍然不错。"
+
+msgid "Represents the size of the [enum ViewportScreenSpaceAA] enum."
+msgstr "代表 [enum ViewportScreenSpaceAA] 枚举的大小。"
+
msgid "Number of objects drawn in a single frame."
msgstr "在单帧中绘制的对象的数量。"
@@ -93286,6 +93986,9 @@ msgstr "此帧期间的绘制调用数。"
msgid "Represents the size of the [enum ViewportRenderInfo] enum."
msgstr "代表 [enum ViewportRenderInfo] 枚举的大小。"
+msgid "Represents the size of the [enum ViewportRenderInfoType] enum."
+msgstr "代表 [enum ViewportRenderInfoType] 枚举的大小。"
+
msgid "Debug draw is disabled. Default setting."
msgstr "调试绘制被禁用。默认设置。"
@@ -93369,47 +94072,9 @@ msgstr ""
"为场景中的 [DirectionalLight3D] 的每个 PSSM 分割着色不同的颜色,以便可以看到"
"分割的位置。它们将按顺序被着色为红色、绿色、蓝色、黄色。"
-msgid "VRS is disabled."
-msgstr "VRS 已禁用。"
-
-msgid ""
-"VRS uses a texture. Note, for stereoscopic use a texture atlas with a "
-"texture for each view."
-msgstr ""
-"VRS 使用一个纹理。请注意,对于立体视觉,请为每个视图使用带有纹理的纹理图集。"
-
-msgid "VRS texture is supplied by the primary [XRInterface]."
-msgstr "VRS 纹理由主 [XRInterface] 提供。"
-
msgid "Represents the size of the [enum ViewportVRSMode] enum."
msgstr "代表 [enum ViewportVRSMode] 枚举的大小。"
-msgid ""
-"Uses high quality importance sampling to process the radiance map. In "
-"general, this results in much higher quality than [constant Sky."
-"PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be "
-"used if you plan on changing the sky at runtime. If you are finding that the "
-"reflection is not blurry enough and is showing sparkles or fireflies, try "
-"increasing [member ProjectSettings.rendering/reflections/sky_reflections/"
-"ggx_samples]."
-msgstr ""
-"使用高质量重要性采样处理辐照度贴图。得到的结果通常比 [constant Sky."
-"PROCESS_MODE_REALTIME] 的质量更高,但需要花费更多的时间来生成。如果你计划在运"
-"行时修改天空,则不应使用。如果你发现反射不够模糊,出现了火花或者萤火虫,请尝"
-"试增大 [member ProjectSettings.rendering/reflections/sky_reflections/"
-"ggx_samples]。"
-
-msgid ""
-"Uses the fast filtering algorithm to process the radiance map. In general "
-"this results in lower quality, but substantially faster run times.\n"
-"[b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so "
-"[member Sky.radiance_size] must be set to [constant Sky.RADIANCE_SIZE_256]."
-msgstr ""
-"使用快速过滤算法处理辐照度贴图。一般来说,这会导致质量降低,但运行时间会大大"
-"加快。\n"
-"[b]注意:[/b]快速过滤算法仅限于 256x256 的立方体贴图,因此 [member Sky."
-"radiance_size] 必须被设置为 [constant Sky.RADIANCE_SIZE_256]。"
-
msgid "Use the clear color as background."
msgstr "用透明的颜色作为背景。"
@@ -93536,6 +94201,17 @@ msgstr ""
"最高质量的屏幕空间间接光照。使用可动态调整的自适应目标设置,以平滑地平衡性能"
"和视觉质量。"
+msgid "Represents the size of the [enum EnvironmentSDFGIRayCount] enum."
+msgstr "代表 [enum EnvironmentSDFGIRayCount] 枚举的大小。"
+
+msgid ""
+"Represents the size of the [enum EnvironmentSDFGIFramesToConverge] enum."
+msgstr "代表 [enum EnvironmentSDFGIFramesToConverge] 枚举的大小。"
+
+msgid ""
+"Represents the size of the [enum EnvironmentSDFGIFramesToUpdateLight] enum."
+msgstr "代表 [enum EnvironmentSDFGIFramesToUpdateLight] 枚举的大小。"
+
msgid ""
"Calculate the DOF blur using a box filter. The fastest option, but results "
"in obvious lines in blur pattern."
@@ -93583,6 +94259,9 @@ msgstr "该实例是一个 multimesh。"
msgid "The instance is a particle emitter."
msgstr "该实例是粒子发射器。"
+msgid "The instance is a GPUParticles collision shape."
+msgstr "该实例是 GPUParticles 碰撞形状。"
+
msgid "The instance is a light."
msgstr "该实例是灯。"
@@ -93598,6 +94277,15 @@ msgstr "该实例是 VoxelGI。"
msgid "The instance is a lightmap."
msgstr "该实例是光照贴图。"
+msgid "The instance is an occlusion culling occluder."
+msgstr "该实例是遮挡剔除遮挡器。"
+
+msgid "The instance is a visible on-screen notifier."
+msgstr "该实例是屏幕可见通知器。"
+
+msgid "The instance is a fog volume."
+msgstr "该实例是雾体积。"
+
msgid "Represents the size of the [enum InstanceType] enum."
msgstr "代表 [enum InstanceType] 枚举的大小。"
@@ -93778,6 +94466,133 @@ msgstr "画布遮挡器的剔除是顺时针的。"
msgid "Culling of the canvas occluder is counterclockwise."
msgstr "画布遮挡物的剔除是逆时针的。"
+msgid "Boolean global shader parameter ([code]global uniform bool ...[/code])."
+msgstr "布尔型全局着色器参数([code]global uniform bool ...[/code])。"
+
+msgid ""
+"2-dimensional boolean vector global shader parameter ([code]global uniform "
+"bvec2 ...[/code])."
+msgstr "二维布尔向量全局着色器参数([code]global uniform bvec2 ...[/code])。"
+
+msgid ""
+"3-dimensional boolean vector global shader parameter ([code]global uniform "
+"bvec3 ...[/code])."
+msgstr "三维布尔向量全局着色器参数([code]global uniform bvec3 ...[/code])。"
+
+msgid ""
+"4-dimensional boolean vector global shader parameter ([code]global uniform "
+"bvec4 ...[/code])."
+msgstr "四维布尔向量全局着色器参数([code]global uniform bvec4 ...[/code])。"
+
+msgid "Integer global shader parameter ([code]global uniform int ...[/code])."
+msgstr "整数全局着色器参数([code]global uniform int ...[/code])。"
+
+msgid ""
+"2-dimensional integer vector global shader parameter ([code]global uniform "
+"ivec2 ...[/code])."
+msgstr "二维整数向量全局着色器参数([code]global uniform ivec2 ...[/code])。"
+
+msgid ""
+"3-dimensional integer vector global shader parameter ([code]global uniform "
+"ivec3 ...[/code])."
+msgstr "三维整数向量全局着色器参数([code]global uniform ivec3 ...[/code])。"
+
+msgid ""
+"4-dimensional integer vector global shader parameter ([code]global uniform "
+"ivec4 ...[/code])."
+msgstr "四维整数向量全局着色器参数([code]global uniform ivec4 ...[/code])。"
+
+msgid ""
+"2-dimensional integer rectangle global shader parameter ([code]global "
+"uniform ivec4 ...[/code]). Equivalent to [constant GLOBAL_VAR_TYPE_IVEC4] in "
+"shader code, but exposed as a [Rect2i] in the editor UI."
+msgstr ""
+"二维整数矩形全局着色器参数([code]global uniform ivec4 ...[/code])。等价于着"
+"色器代码中的 [constant GLOBAL_VAR_TYPE_IVEC4],但在编辑器 UI 中以 [Rect2i] 的"
+"形式暴露。"
+
+msgid ""
+"Unsigned integer global shader parameter ([code]global uniform uint ...[/"
+"code])."
+msgstr "无符号整数全局着色器参数([code]global uniform uint ...[/code])。"
+
+msgid ""
+"2-dimensional unsigned integer vector global shader parameter ([code]global "
+"uniform uvec2 ...[/code])."
+msgstr ""
+"二维无符号整数向量全局着色器参数([code]global uniform uvec2 ...[/code])。"
+
+msgid ""
+"3-dimensional unsigned integer vector global shader parameter ([code]global "
+"uniform uvec3 ...[/code])."
+msgstr ""
+"三维无符号整数向量全局着色器参数([code]global uniform uvec3 ...[/code])。"
+
+msgid ""
+"4-dimensional unsigned integer vector global shader parameter ([code]global "
+"uniform uvec4 ...[/code])."
+msgstr ""
+"四维无符号整数向量全局着色器参数([code]global uniform uvec4 ...[/code])。"
+
+msgid ""
+"Single-precision floating-point global shader parameter ([code]global "
+"uniform float ...[/code])."
+msgstr "单精度浮点数全局着色器参数([code]global uniform float ...[/code])。"
+
+msgid ""
+"2-dimensional floating-point vector global shader parameter ([code]global "
+"uniform vec2 ...[/code])."
+msgstr ""
+"二维单精度浮点数向量全局着色器参数([code]global uniform vec2 ...[/code])。"
+
+msgid ""
+"3-dimensional floating-point vector global shader parameter ([code]global "
+"uniform vec3 ...[/code])."
+msgstr ""
+"三维单精度浮点数向量全局着色器参数([code]global uniform vec3 ...[/code])。"
+
+msgid ""
+"4-dimensional floating-point vector global shader parameter ([code]global "
+"uniform vec4 ...[/code])."
+msgstr ""
+"四维单精度浮点数向量全局着色器参数([code]global uniform vec4 ...[/code])。"
+
+msgid ""
+"Color global shader parameter ([code]global uniform vec4 ...[/code]). "
+"Equivalent to [constant GLOBAL_VAR_TYPE_VEC4] in shader code, but exposed as "
+"a [Color] in the editor UI."
+msgstr ""
+"颜色全局着色器参数([code]global uniform vec4 ...[/code])。等价于着色器代码"
+"中的 [constant GLOBAL_VAR_TYPE_VEC4],但在编辑器 UI 中以 [Color] 的形式暴露。"
+
+msgid ""
+"2-dimensional floating-point rectangle global shader parameter ([code]global "
+"uniform vec4 ...[/code]). Equivalent to [constant GLOBAL_VAR_TYPE_VEC4] in "
+"shader code, but exposed as a [Rect2] in the editor UI."
+msgstr ""
+"二维浮点数矩形全局着色器参数([code]global uniform vec4 ...[/code])。等价于"
+"着色器代码中的 [constant GLOBAL_VAR_TYPE_VEC4],但在编辑器 UI 中以 [Rect2] 的"
+"形式暴露。"
+
+msgid "Represents the size of the [enum GlobalShaderParameterType] enum."
+msgstr "代表 [enum GlobalShaderParameterType] 枚举的大小。"
+
+msgid "Texture memory used (in bytes)."
+msgstr "纹理内存的使用量(单位为字节)。"
+
+msgid "Buffer memory used (in bytes)."
+msgstr "缓冲内存的使用量(单位为字节)。"
+
+msgid ""
+"Video memory used (in bytes). This is always greater than the sum of "
+"[constant RENDERING_INFO_TEXTURE_MEM_USED] and [constant "
+"RENDERING_INFO_BUFFER_MEM_USED], since there is miscellaneous data not "
+"accounted for by those two metrics."
+msgstr ""
+"显存的使用量(单位为字节)。始终比 [constant "
+"RENDERING_INFO_TEXTURE_MEM_USED] 与 [constant "
+"RENDERING_INFO_BUFFER_MEM_USED] 的总和要大,因为这两项之外还有一些杂项数据。"
+
msgid "Hardware supports shaders. This enum is currently unused in Godot 3.x."
msgstr "硬件支持着色器。这个枚举目前在 Godot 3.x 中没有使用。"
@@ -94275,37 +95090,6 @@ msgstr ""
"take_over_path] 来覆盖缓存资源。"
msgid ""
-"Loads a resource at the given [param path], caching the result for further "
-"access.\n"
-"The registered [ResourceFormatLoader]s are queried sequentially to find the "
-"first one which can handle the file's extension, and then attempt loading. "
-"If loading fails, the remaining ResourceFormatLoaders are also attempted.\n"
-"An optional [param type_hint] can be used to further specify the [Resource] "
-"type that should be handled by the [ResourceFormatLoader]. Anything that "
-"inherits from [Resource] can be used as a type hint, for example [Image].\n"
-"The [param cache_mode] property defines whether and how the cache should be "
-"used or updated when loading the resource. See [enum CacheMode] for "
-"details.\n"
-"Returns an empty resource if no [ResourceFormatLoader] could handle the "
-"file.\n"
-"GDScript has a simplified [method @GDScript.load] built-in method which can "
-"be used in most situations, leaving the use of [ResourceLoader] for more "
-"advanced scenarios."
-msgstr ""
-"在给定的 [param path] 中加载资源,并将结果缓存以供进一步访问。\n"
-"按顺序查询注册的 [ResourceFormatLoader],以找到可以处理文件扩展名的第一个 "
-"[ResourceFormatLoader],然后尝试加载。如果加载失败,则还会尝试其余的 "
-"[ResourceFormatLoader]。\n"
-"可选的 [param type_hint] 可用于进一步指定 [ResourceFormatLoader] 应处理的 "
-"[Resource] 类型。任何继承自 [Resource] 的东西都可以用作类型提示,例如 "
-"[Image]。\n"
-"[param cache_mode] 属性定义在加载资源时是否以及如何使用或更新缓存。有关详细信"
-"息,请参见 [enum CacheMode]。\n"
-"如果没有 [ResourceFormatLoader] 可以处理该文件,则返回空资源。\n"
-"GDScript 具有一个简化的 [method @GDScript.load] 内置方法,可在大多数情况下使"
-"用,而 [ResourceLoader] 供更高级的情况使用。"
-
-msgid ""
"Returns the resource loaded by [method load_threaded_request].\n"
"If this is called before the loading thread is done (i.e. [method "
"load_threaded_get_status] is not [constant THREAD_LOAD_LOADED]), the calling "
@@ -95013,14 +95797,6 @@ msgstr ""
"[member tab_size] 以确定新的边距长度。"
msgid ""
-"Adds a [code][font][/code] tag with a italics font to the tag stack. This is "
-"the same as adding a [code][i][/code] tag if not currently in a [code][b][/"
-"code] tag."
-msgstr ""
-"在标签栈中添加 [code][font][/code] 标签,字体为斜体。如果当前没有 [code][b][/"
-"code] 标签,这与添加 [code][i][/code] 标签相同。"
-
-msgid ""
"Adds [code][ol][/code] or [code][ul][/code] tag to the tag stack. Multiplies "
"[param level] by current [member tab_size] to determine new margin length."
msgstr ""
@@ -95919,11 +96695,6 @@ msgstr ""
"路径上的其他物体发生碰撞。适用于需要动画的冻结物体。"
msgid ""
-"In this mode, the body's center of mass is calculated automatically based on "
-"its shapes."
-msgstr "在此模式下,该物体的质心将基于其形状自动计算。"
-
-msgid ""
"In this mode, the body's center of mass is set through [member "
"center_of_mass]. Defaults to the body's origin position."
msgstr ""
@@ -97487,7 +98258,7 @@ msgid ""
"The option is from the containing class or a parent class, relative to the "
"location of the code completion query. Perform a bitwise OR with the class "
"depth (e.g. 0 for the local class, 1 for the parent, 2 for the grandparent, "
-"etc) to store the depth of an option in a the class or a parent class."
+"etc) to store the depth of an option in the class or a parent class."
msgstr ""
"该选项来自于所在的类或父类,相对于代码补全查询的位置。请使用类的深度进行按位 "
"OR(或)运算(例如 0 表示当前类,1 表示父类,2 表示父类的父类等),从而在当前"
@@ -97611,12 +98382,6 @@ msgid ""
"sensitive."
msgstr "触摸滚动的死区。较低的死区使滚动更加敏感。"
-msgid "The current horizontal scroll value."
-msgstr "当前水平滚动值。"
-
-msgid "The current vertical scroll value."
-msgstr "当前垂直滚动值。"
-
msgid ""
"Controls whether vertical scrollbar can be used and when it should be "
"visible. See [enum ScrollMode] for options."
@@ -98031,7 +98796,7 @@ msgid ""
"(useful for things like beam weapons).\n"
"Immediate collision overlaps can be done with the [member target_position] "
"set to [code]Vector2(0, 0)[/code] and by calling [method "
-"force_shapecast_update] within the same [b]physics_frame[/b]. This also "
+"force_shapecast_update] within the same [b]physics frame[/b]. This also "
"helps to overcome some limitations of [Area2D] when used as a continuous "
"detection area, often requiring waiting a couple of frames before collision "
"information is available to [Area2D] nodes, and when using the signals "
@@ -98191,7 +98956,7 @@ msgid ""
"(useful for things like beam weapons).\n"
"Immediate collision overlaps can be done with the [member target_position] "
"set to [code]Vector3(0, 0, 0)[/code] and by calling [method "
-"force_shapecast_update] within the same [b]physics_frame[/b]. This also "
+"force_shapecast_update] within the same [b]physics frame[/b]. This also "
"helps to overcome some limitations of [Area3D] when used as a continuous "
"detection area, often requiring waiting a couple of frames before collision "
"information is available to [Area3D] nodes, and when using the signals "
@@ -98998,14 +99763,6 @@ msgid ""
msgstr "安装修改器时调用。修改器在此时执行初始化。"
msgid ""
-"Takes a angle and clamps it so it is within the passed-in [param min] and "
-"[param max] range. [param invert] will inversely clamp the angle, clamping "
-"it to the range outside of the given bounds."
-msgstr ""
-"接受角度并将其钳制在传入的 [param min] 和 [param max] 范围内。[param invert] "
-"会逆向钳制该角度,将其钳制在给定范围之外。"
-
-msgid ""
"Returns whether this modification will call [method _draw_editor_gizmo] in "
"the Godot editor to draw modification-specific gizmos."
msgstr ""
@@ -99200,7 +99957,7 @@ msgid ""
"pass, which places the final bone at the target's position. Then all other "
"bones are moved towards the tip bone, so they stay at the defined bone "
"length away. Then a backwards pass is performed, where the root/first bone "
-"in the FABRIK chain is placed back at the origin. then all other bones are "
+"in the FABRIK chain is placed back at the origin. Then all other bones are "
"moved so they stay at the defined bone length away. This positions the bone "
"chain so that it reaches the target when possible, but all of the bones stay "
"the correct length away from each other.\n"
@@ -99549,7 +100306,7 @@ msgstr ""
"实验性的。物理骨骼在未来可能会被改变,以便自行执行 [Bone2D] 的位置更新。"
msgid ""
-"Empties the list of [PhysicalBone2D] nodes and populates it will all "
+"Empties the list of [PhysicalBone2D] nodes and populates it with all "
"[PhysicalBone2D] nodes that are children of the [Skeleton2D]."
msgstr ""
"清空 [PhysicalBone2D] 节点列表,并使用该 [Skeleton2D] 节点的所有 "
@@ -100110,22 +100867,6 @@ msgstr ""
"sky_reflections/roughness_layers] 决定。当需要最高质量的辐照度贴图,但天空更"
"新缓慢时,请使用该选项。"
-msgid ""
-"Uses the fast filtering algorithm to process the radiance map. In general "
-"this results in lower quality, but substantially faster run times. If you "
-"need better quality, but still need to update the sky every frame, consider "
-"turning on [member ProjectSettings.rendering/reflections/sky_reflections/"
-"fast_filter_high_quality].\n"
-"[b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so "
-"[member radiance_size] must be set to [constant RADIANCE_SIZE_256]."
-msgstr ""
-"使用快速过滤算法处理辐照度贴图。一般来说,这会导致质量较低,但运行时间会大大"
-"加快。如果需要更好的质量,但仍需要每帧更新天空,请考虑开启 [member "
-"ProjectSettings.rendering/reflections/sky_reflections/"
-"fast_filter_high_quality]。\n"
-"[b]注意:[/b]快速过滤算法被限制为 256x256 立方体贴图,因此 [member "
-"radiance_size] 必须被设置为 [constant RADIANCE_SIZE_256]。"
-
msgid "Base class for GUI sliders."
msgstr "GUI 滑动条的基类。"
@@ -101155,40 +101896,6 @@ msgstr ""
"图,请使用 [ORMMaterial3D] 代替。"
msgid ""
-"Physics body for 2D physics which is static or moves only by script. Useful "
-"for floor and walls."
-msgstr "静态或者只能被脚本移动的 2D 物理物体。可用于地面和墙体。"
-
-msgid ""
-"Static body for 2D physics.\n"
-"A static body is a simple body that doesn't move under physics simulation, i."
-"e. it can't be moved by external forces or contacts but its transformation "
-"can still be updated manually by the user. It is ideal for implementing "
-"objects in the environment, such as walls or platforms. In contrast to "
-"[RigidBody2D], it doesn't consume any CPU resources as long as they don't "
-"move.\n"
-"They have extra functionalities to move and affect other bodies:\n"
-"[b]Static transform change:[/b] Static bodies can be moved by animation or "
-"script. In this case, they are just teleported and don't affect other bodies "
-"on their path.\n"
-"[b]Constant velocity:[/b] When [member constant_linear_velocity] or [member "
-"constant_angular_velocity] is set, static bodies don't move themselves but "
-"affect touching bodies as if they were moving. This is useful for simulating "
-"conveyor belts or conveyor wheels."
-msgstr ""
-"静态物体,用于 2D 物理。\n"
-"静态物体是一种不会在物理仿真中移动的简单物体,也就是说,它无法被外力移动,也"
-"无法因为碰触而移动,但用户仍然可以对它的变换进行手动更新。用来实现墙壁、平台"
-"等环境中的对象非常理想。与 [RigidBody2D] 不同,静态物体只要不移动,就不会消耗"
-"任何 CPU 资源。\n"
-"静态物体还能移动和影响其他物体。\n"
-"[b]改变静态变换:[/b]静态物体可以通过动画或脚本来移动。在这种情况下它们是被传"
-"送的,不会影响移动路径上的其他物体。\n"
-"[b]恒定速度:[/b]当 [member constant_linear_velocity] 或 [member "
-"constant_angular_velocity] 被设置时,静态物体虽然自己不会移动,但会影响与之接"
-"触的物体,就好像这些静态物体是在移动一样。可用于模拟传送带或传送轮。"
-
-msgid ""
"The body's constant angular velocity. This does not rotate the body, but "
"affects touching bodies, as if it were rotating."
msgstr ""
@@ -101202,45 +101909,6 @@ msgstr ""
"该物体的恒定线速度。不会移动该物体,但会影响接触的物体,就好像这个静态物体正"
"在移动一样。"
-msgid ""
-"Physics body for 3D physics which is static or moves only by script. Useful "
-"for floor and walls."
-msgstr "静态或者只能被脚本移动的 3D 物理物体。可用于地面和墙体。"
-
-msgid ""
-"Static body for 3D physics.\n"
-"A static body is a simple body that doesn't move under physics simulation, i."
-"e. it can't be moved by external forces or contacts but its transformation "
-"can still be updated manually by the user. It is ideal for implementing "
-"objects in the environment, such as walls or platforms. In contrast to "
-"[RigidBody3D], it doesn't consume any CPU resources as long as they don't "
-"move.\n"
-"They have extra functionalities to move and affect other bodies:\n"
-"[i]Static transform change:[/i] Static bodies can be moved by animation or "
-"script. In this case, they are just teleported and don't affect other bodies "
-"on their path.\n"
-"[i]Constant velocity:[/i] When [member constant_linear_velocity] or [member "
-"constant_angular_velocity] is set, static bodies don't move themselves but "
-"affect touching bodies as if they were moving. This is useful for simulating "
-"conveyor belts or conveyor wheels.\n"
-"[b]Warning:[/b] With a non-uniform scale this node will probably not "
-"function as expected. Please make sure to keep its scale uniform (i.e. the "
-"same on all axes), and change the size(s) of its collision shape(s) instead."
-msgstr ""
-"静态物体,用于 2D 物理。\n"
-"静态物体是一种不会在物理仿真中移动的简单物体,也就是说,它无法被外力移动,也"
-"无法因为碰触而移动,但用户仍然可以对它的变换进行手动更新。用来实现墙壁、平台"
-"等环境中的对象非常理想。与 [RigidBody3D] 不同,静态物体只要不移动,就不会消耗"
-"任何 CPU 资源。\n"
-"静态物体还能移动和影响其他物体。\n"
-"[i]改变静态变换:[/i]静态物体可以通过动画或脚本来移动。在这种情况下它们是被传"
-"送的,不会影响移动路径上的其他物体。\n"
-"[i]恒定速度:[/i]当 [member constant_linear_velocity] 或 [member "
-"constant_angular_velocity] 被设置时,静态物体虽然自己不会移动,但会影响与之接"
-"触的物体,就好像这些静态物体是在移动一样。可用于模拟传送带或传送轮。\n"
-"[b]警告:[/b]如果缩放不统一,该节点可能无法正常工作。请确保缩放的统一(即各轴"
-"都相同),可以改为修改碰撞形状的大小。"
-
msgid "Abstraction and base class for stream-based protocols."
msgstr "基于流的协议的抽象和基类。"
@@ -101377,33 +102045,6 @@ msgstr ""
"通过连接发送数据。如果数据无法一次性发完,则仅会发送部分数据。该函数返回两个"
"值,一个 [enum Error] 错误码以及一个整数,表示实际发送的数据量。"
-msgid ""
-"Puts a zero-terminated ASCII string into the stream prepended by a 32-bit "
-"unsigned integer representing its size.\n"
-"[b]Note:[/b] To put an ASCII string without prepending its size, you can use "
-"[method put_data]:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"put_data(\"Hello world\".to_ascii())\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"PutData(\"Hello World\".ToAscii());\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"向流中放入一个以零结尾的 ASCII 字符串,会前置一个表示其大小的 32 位无符号整"
-"数。\n"
-"[b]注意:[/b]如果要放置 ASCII 字符串,而不前置大小,可以使用 [method "
-"put_data]:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"put_data(\"Hello world\".to_ascii())\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"PutData(\"Hello World\".ToAscii());\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
msgid "Puts an unsigned 16-bit value into the stream."
msgstr "向流中放入一个无符号 16 位值。"
@@ -101417,33 +102058,6 @@ msgid "Puts an unsigned byte into the stream."
msgstr "向流中放入一个无符号字节。"
msgid ""
-"Puts a zero-terminated UTF-8 string into the stream prepended by a 32 bits "
-"unsigned integer representing its size.\n"
-"[b]Note:[/b] To put an UTF-8 string without prepending its size, you can use "
-"[method put_data]:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"put_data(\"Hello world\".to_utf8())\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"PutData(\"Hello World\".ToUtf8());\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"向流中放入一个以零结尾的 UTF-8 字符串,前置一个表示其大小的 32 位无符号整"
-"数。\n"
-"[b]注意:[/b]如果要放置 UTF-8 字符串,而不前置其大小,可以使用 [method "
-"put_data]:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"put_data(\"Hello world\".to_utf8())\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"PutData(\"Hello World\".ToUTF8());\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
-msgid ""
"Puts a Variant into the stream. If [param full_objects] is [code]true[/code] "
"encoding objects is allowed (and can potentially include code).\n"
"Internally, this uses the same encoding mechanism as the [method "
@@ -101634,19 +102248,6 @@ msgid "TLS stream peer."
msgstr "TLS 流对等体。"
msgid ""
-"TLS stream peer. This object can be used to connect to an TLS server or "
-"accept a single TLS client connection.\n"
-"[b]Note:[/b] When exporting to Android, make sure to enable the "
-"[code]INTERNET[/code] permission in the Android export preset before "
-"exporting the project or using one-click deploy. Otherwise, network "
-"communication of any kind will be blocked by Android."
-msgstr ""
-"TLS 流对等体。此对象可用于连接到 TLS 服务器或接受单个 TLS 客户端连接。\n"
-"[b]注意:[/b] 当导出到 Android 时,确保在导出项目或使用一键部署之前,在 "
-"Android 导出预设中启用 [code]INTERNET[/code] 权限。否则,任何形式的网络通信都"
-"会被 Android 阻止。"
-
-msgid ""
"Accepts a peer connection as a server using the given [param "
"server_options]. See [method TLSOptions.server]."
msgstr ""
@@ -103804,11 +104405,6 @@ msgstr ""
"anti_aliasing] 设为 [code]false[/code],这样可以保证画面锐利、避免一些显示问"
"题。"
-msgid ""
-"This changes the size of the faded ring. Higher values can be used to "
-"achieve a \"blurry\" effect."
-msgstr "这将改变褪色环的大小。更高的数值可以用来实现 \"模糊 \"的效果。"
-
msgid "The background color of the stylebox."
msgstr "StyleBox的背景颜色。"
@@ -104558,16 +105154,6 @@ msgstr ""
"[b]注意:[/b]该函数接受一个枚举,而不是权重的确切数量。"
msgid ""
-"Specifies the smooth group to use for the [i]next[/i] vertex. If this is "
-"never called, all vertices will have the default smooth group of [code]0[/"
-"code] and will be smoothed with adjacent vertices of the same group. To "
-"produce a mesh with flat normals, set the smooth group to [code]-1[/code]."
-msgstr ""
-"指定用于[i]下一个[/i]顶点的平滑组。如果从未调用过,则所有顶点都将具有默认的 "
-"[code]0[/code] 平滑组,并将与同一组的相邻顶点一起平滑。要生成具有平坦法线的网"
-"格,请将平滑组设置为 [code]-1[/code]。"
-
-msgid ""
"Specifies a tangent to use for the [i]next[/i] vertex. If every vertex needs "
"to have this information set and you fail to submit it for the first vertex, "
"this information may not be used at all."
@@ -104671,19 +105257,6 @@ msgstr "每个单独的顶点最多能够受到 8 个骨骼权重的影响。"
msgid "Base Syntax highlighter resource for [TextEdit]."
msgstr "用于 [TextEdit] 的基础语法高亮器资源。"
-msgid ""
-"Base syntax highlighter resource all syntax highlighters extend from, "
-"provides syntax highlighting data to [TextEdit].\n"
-"The associated [TextEdit] node will call into the [SyntaxHighlighter] on a "
-"as needed basis.\n"
-"[b]Note:[/b] Each Syntax highlighter instance should not be shared across "
-"multiple [TextEdit] nodes."
-msgstr ""
-"基础语法高亮器资源,所有语法高亮器都从这个类继承,向 [TextEdit] 提供语法高亮"
-"数据。\n"
-"关联的 [TextEdit] 节点会根据需要调用 [SyntaxHighlighter]。\n"
-"[b]注意:[/b]不应在多个 [TextEdit] 节点间共享语法高亮器实例。"
-
msgid "Virtual method which can be overridden to clear any local caches."
msgstr "虚方法,覆盖后可以清空本地缓存。"
@@ -104974,8 +105547,8 @@ msgstr ""
"设置所有选项卡应被限制的最大宽度。如果设置为 [code]0[/code],则无限制。"
msgid ""
-"If [code]true[/code], the tab offset will be changed to keep the the "
-"currently selected tab visible."
+"If [code]true[/code], the tab offset will be changed to keep the currently "
+"selected tab visible."
msgstr ""
"如果为 [code]true[/code],则会更改选项卡偏移量,从而保持当前选中的选项卡可"
"见。"
@@ -107182,7 +107755,7 @@ msgid "Returns [code]true[/code] if locale is right-to-left."
msgstr "如果区域设置为从右至左,则返回 [code]true[/code]。"
msgid ""
-"Returns [code]true[/code] is [param string] is a valid identifier.\n"
+"Returns [code]true[/code] if [param string] is a valid identifier.\n"
"If the text server supports the [constant FEATURE_UNICODE_IDENTIFIERS] "
"feature, a valid identifier must:\n"
"- Conform to normalization form C.\n"
@@ -107978,6 +108551,46 @@ msgstr ""
"文本服务器,使用 HarfBuzz、ICU 和 SIL Graphite 来支持 BiDi、复杂排版和上下文 "
"OpenType 特性。"
+msgid "A dummy text server that can't render text or manage fonts."
+msgstr "虚设的文本服务器,无法渲染文本或管理字体。"
+
+msgid ""
+"A dummy [TextServer] interface that doesn't do anything. Useful for freeing "
+"up memory when rendering text is not needed, as text servers are resource-"
+"intensive. It can also be used for performance comparisons in complex GUIs "
+"to check the impact of text rendering.\n"
+"A dummy text server is always available at the start of a project. Here's "
+"how to access it:\n"
+"[codeblock]\n"
+"var dummy_text_server = TextServerManager.find_interface(\"Dummy\")\n"
+"if dummy_text_server != null:\n"
+" TextServerManager.set_primary_interface(dummy_text_server)\n"
+" # If the other text servers are unneeded, they can be removed:\n"
+" for i in TextServerManager.get_interface_count():\n"
+" var text_server = TextServerManager.get_interface(i)\n"
+" if text_server != dummy_text_server:\n"
+" TextServerManager.remove_interface(text_server)\n"
+"[/codeblock]\n"
+"The command line argument [code]--text-driver Dummy[/code] (case-sensitive) "
+"can be used to force the \"Dummy\" [TextServer] on any project."
+msgstr ""
+"虚设的 [TextServer] 接口,不做任何事情。可以在不需要渲染文本时释放内存,因为"
+"文本服务器极其消耗资源。也可以用来比较复杂 GUI 的性能,检查文本渲染带来的影"
+"响。\n"
+"虚设的文本服务器在项目开始后始终可用。访问方法如下:\n"
+"[codeblock]\n"
+"var dummy_text_server = TextServerManager.find_interface(\"Dummy\")\n"
+"if dummy_text_server != null:\n"
+" TextServerManager.set_primary_interface(dummy_text_server)\n"
+" # 如果不需要其他文本服务器,就可以移除:\n"
+" for i in TextServerManager.get_interface_count():\n"
+" var text_server = TextServerManager.get_interface(i)\n"
+" if text_server != dummy_text_server:\n"
+" TextServerManager.remove_interface(text_server)\n"
+"[/codeblock]\n"
+"可以使用命令行参数 [code]--text-driver Dummy[/code](大小写敏感)来强制项目使"
+"用“Dummy(虚设)”[TextServer]。"
+
msgid "Base class for TextServer custom implementations (plugins)."
msgstr "TextServer 自定义实现(插件)的基类。"
@@ -108386,10 +108999,29 @@ msgid ""
"Each image is of the same size and format."
msgstr "包含多个 [Image] 的纹理类型的基类。每个图像的大小和格式都是一样的。"
+msgid ""
+"Base class for [ImageTextureLayered] and [CompressedTextureLayered]. Cannot "
+"be used directly, but contains all the functions necessary for accessing the "
+"derived resource types. See also [Texture3D].\n"
+"Data is set on a per-layer basis. For [Texture2DArray]s, the layer specifies "
+"the array layer.\n"
+"All images need to have the same width, height and number of mipmap levels.\n"
+"A [TextureLayered] can be loaded with [method ResourceLoader.load].\n"
+"Internally, Godot maps these files to their respective counterparts in the "
+"target rendering driver (Vulkan, OpenGL3)."
+msgstr ""
+"[ImageTextureLayered] 和 [CompressedTextureLayered] 的基类。不能直接使用,但"
+"包含了访问派生资源类型所需的所有函数。另见 [Texture3D]。\n"
+"数据是按层设置的。对于 [Texture2DArray],层指定的是数组层。\n"
+"所有图像都需要具有相同的宽度、高度和 mipmap 级别数。\n"
+"[TextureLayered] 可以用 [method ResourceLoader.load] 加载。\n"
+"在内部,Godot 将这些文件映射到目标渲染驱动程序(Vulkan、OpenGL3)中的对应文"
+"件。"
+
msgid "Called when the [TextureLayered]'s format is queried."
msgstr "查询该 [TextureLayered] 的格式时被调用。"
-msgid "Called when the the [TextureLayered]'s height is queried."
+msgid "Called when the [TextureLayered]'s height is queried."
msgstr "查询该 [TextureLayered] 的高度时被调用。"
msgid "Called when the data for a layer in the [TextureLayered] is queried."
@@ -110291,33 +110923,6 @@ msgid "Tile library for tilemaps."
msgstr "Tilemap 的图块库。"
msgid ""
-"A TileSet is a library of tiles for a [TileMap]. A TileSet handles a list of "
-"[TileSetSource], each of them storing a set of tiles.\n"
-"Tiles can either be from a [TileSetAtlasSource], that render tiles out of a "
-"texture with support for physics, navigation, etc... or from a "
-"[TileSetScenesCollectionSource] which exposes scene-based tiles.\n"
-"Tiles are referenced by using three IDs: their source ID, their atlas "
-"coordinates ID and their alternative tile ID.\n"
-"A TileSet can be configured so that its tiles expose more or less "
-"properties. To do so, the TileSet resources uses property layers, that you "
-"can add or remove depending on your needs.\n"
-"For example, adding a physics layer allows giving collision shapes to your "
-"tiles. Each layer having dedicated properties (physics layer an mask), you "
-"may add several TileSet physics layers for each type of collision you need.\n"
-"See the functions to add new layers for more information."
-msgstr ""
-"TileSet 是 [TileMap] 的图块库。TileSet 处理 [TileSetSource] 列表,每个表中存"
-"储一组图块。\n"
-"图块既可以来自 [TileSetAtlasSource],可以渲染纹理中的图块,支持物理、导航等功"
-"能,也可以来自 [TileSetScenesCollectionSource],提供基于场景的图块。\n"
-"图块通过使用三个 ID 来引用:源 ID、图集坐标 ID、备选图块 ID。\n"
-"TileSet 可以配置图块暴露哪些属性。为了做到这一点,TileSet 资源使用了属性层,"
-"你可以根据需要进行添加和删除。\n"
-"例如,添加物理层可以为瓷砖提供碰撞形状。不同的层都有不同的属性(物理层和遮"
-"罩),要实现不同类型的碰撞,你也可以添加多个 TileSet 物理层。\n"
-"更多信息请参阅添加新层的函数。"
-
-msgid ""
"Adds a custom data layer to the TileSet at the given position [param "
"to_position] in the array. If [param to_position] is -1, adds it at the end "
"of the array.\n"
@@ -110368,8 +110973,8 @@ msgid ""
"Adds a [TileSetSource] to the TileSet. If [param atlas_source_id_override] "
"is not -1, also set its source ID. Otherwise, a unique identifier is "
"automatically generated.\n"
-"The function returns the added source source ID or -1 if the source could "
-"not be added."
+"The function returns the added source ID or -1 if the source could not be "
+"added."
msgstr ""
"在 TileSet 中添加 [TileSetSource]。如果 [param atlas_source_id_override] 不"
"为 -1,则还会设置其源 ID。否则会自动生成唯一标识符。\n"
@@ -110720,7 +111325,7 @@ msgstr "更改源的 ID。"
msgid ""
"Creates a source-level proxy for the given source ID. A proxy will map set "
-"of tile identifiers to another set of identifiers. Both the atlac "
+"of tile identifiers to another set of identifiers. Both the atlas "
"coordinates ID and the alternative tile ID are kept the same when using "
"source-level proxies.\n"
"This can be used to replace a source in all TileMaps using this TileSet, as "
@@ -111213,13 +111818,6 @@ msgstr ""
"景可能有用。"
msgid ""
-"Changes a scene tile's ID from [param id] to [param new_id]. This will fail "
-"if there is already a tile with a ID equal to [param new_id]."
-msgstr ""
-"将场景图块的 ID 从 [param id] 改为 [param new_id]。如果已经存在 ID 为 [param "
-"new_id] 的图块则会失败。"
-
-msgid ""
"Assigns a [PackedScene] resource to the scene tile with [param id]. This "
"will fail if the scene does not extend CanvasItem, as positioning properties "
"are needed to place the scene on the TileMap."
@@ -111632,11 +112230,16 @@ msgstr "倒数计时器。"
msgid ""
"Counts down a specified interval and emits a signal on reaching 0. Can be "
"set to repeat or \"one-shot\" mode.\n"
+"[b]Note:[/b] Timers are affected by [member Engine.time_scale], a higher "
+"scale means quicker timeouts, and vice versa.\n"
"[b]Note:[/b] To create a one-shot timer without instantiating a node, use "
"[method SceneTree.create_timer]."
msgstr ""
-"可以设置为重复或“一次性”模式。\n"
-"[b]注意:[/b]要创建一次性定时器而不需要实例化一个节点,请使用 [method "
+"使用指定的间隔进行倒计时,并在到达 0 时发出信号。可以设置为重复或“一次性”模"
+"式。\n"
+"[b]注意:[/b]计时器会受到 [member Engine.time_scale] 的影响,缩放值越高超时越"
+"快,反之亦然。\n"
+"[b]注意:[/b]如果想要创建一次性定时器,不实例化节点,请使用 [method "
"SceneTree.create_timer]。"
msgid "Returns [code]true[/code] if the timer is stopped."
@@ -111692,22 +112295,6 @@ msgstr ""
"[method start] 设置。"
msgid ""
-"The wait time in seconds.\n"
-"[b]Note:[/b] Timers can only emit once per rendered frame at most (or once "
-"per physics frame if [member process_callback] is [constant "
-"TIMER_PROCESS_PHYSICS]). This means very low wait times (lower than 0.05 "
-"seconds) will behave in significantly different ways depending on the "
-"rendered framerate. For very low wait times, it is recommended to use a "
-"process loop in a script instead of using a Timer node."
-msgstr ""
-"等待时间,单位为秒。\n"
-"[b]注意:[/b]计时器在每个渲染帧最多只能发射一次(或者如果 [member "
-"process_callback] 为 [constant TIMER_PROCESS_PHYSICS],则是每个物理帧)。这意"
-"味着非常短的等待时间(低于 0.05 秒),将根据渲染的帧速率,会有明显不同的表"
-"现。对于非常短的等待时间,建议在脚本中使用一个 process 循环,而不是使用 "
-"Timer 节点。"
-
-msgid ""
"Update the timer during the physics step at each frame (fixed framerate "
"processing)."
msgstr "在每一帧的物理运算步骤中更新定时器,即固定帧率处理。"
@@ -114638,256 +115225,6 @@ msgid "Helper class to implement a UDP server."
msgstr "用于实现 UDP 服务器的辅助类。"
msgid ""
-"A simple server that opens a UDP socket and returns connected "
-"[PacketPeerUDP] upon receiving new packets. See also [method PacketPeerUDP."
-"connect_to_host].\n"
-"After starting the server ([method listen]), you will need to [method poll] "
-"it at regular intervals (e.g. inside [method Node._process]) for it to "
-"process new packets, delivering them to the appropriate [PacketPeerUDP], and "
-"taking new connections.\n"
-"Below a small example of how it can be used:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# server_node.gd\n"
-"class_name ServerNode\n"
-"extends Node\n"
-"\n"
-"var server := UDPServer.new()\n"
-"var peers = []\n"
-"\n"
-"func _ready():\n"
-" server.listen(4242)\n"
-"\n"
-"func _process(delta):\n"
-" server.poll() # Important!\n"
-" if server.is_connection_available():\n"
-" var peer: PacketPeerUDP = server.take_connection()\n"
-" var packet = peer.get_packet()\n"
-" print(\"Accepted peer: %s:%s\" % [peer.get_packet_ip(), peer."
-"get_packet_port()])\n"
-" print(\"Received data: %s\" % [packet.get_string_from_utf8()])\n"
-" # Reply so it knows we received the message.\n"
-" peer.put_packet(packet)\n"
-" # Keep a reference so we can keep contacting the remote peer.\n"
-" peers.append(peer)\n"
-"\n"
-" for i in range(0, peers.size()):\n"
-" pass # Do something with the connected peers.\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ServerNode.cs\n"
-"using Godot;\n"
-"using System.Collections.Generic;\n"
-"\n"
-"public partial class ServerNode : Node\n"
-"{\n"
-" private UdpServer _server = new UdpServer();\n"
-" private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _server.Listen(4242);\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" _server.Poll(); // Important!\n"
-" if (_server.IsConnectionAvailable())\n"
-" {\n"
-" PacketPeerUdp peer = _server.TakeConnection();\n"
-" byte[] packet = peer.GetPacket();\n"
-" GD.Print($\"Accepted Peer: {peer.GetPacketIP()}:{peer."
-"GetPacketPort()}\");\n"
-" GD.Print($\"Received Data: {packet.GetStringFromUtf8()}\");\n"
-" // Reply so it knows we received the message.\n"
-" peer.PutPacket(packet);\n"
-" // Keep a reference so we can keep contacting the remote peer.\n"
-" _peers.Add(peer);\n"
-" }\n"
-" foreach (var peer in _peers)\n"
-" {\n"
-" // Do something with the peers.\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# client_node.gd\n"
-"class_name ClientNode\n"
-"extends Node\n"
-"\n"
-"var udp := PacketPeerUDP.new()\n"
-"var connected = false\n"
-"\n"
-"func _ready():\n"
-" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
-"\n"
-"func _process(delta):\n"
-" if !connected:\n"
-" # Try to contact server\n"
-" udp.put_packet(\"The answer is... 42!\".to_utf8())\n"
-" if udp.get_available_packet_count() > 0:\n"
-" print(\"Connected: %s\" % udp.get_packet().get_string_from_utf8())\n"
-" connected = true\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ClientNode.cs\n"
-"using Godot;\n"
-"\n"
-"public partial class ClientNode : Node\n"
-"{\n"
-" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
-" private bool _connected = false;\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" if (!_connected)\n"
-" {\n"
-" // Try to contact server\n"
-" _udp.PutPacket(\"The Answer Is..42!\".ToUtf8());\n"
-" }\n"
-" if (_udp.GetAvailablePacketCount() > 0)\n"
-" {\n"
-" GD.Print($\"Connected: {_udp.GetPacket()."
-"GetStringFromUtf8()}\");\n"
-" _connected = true;\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-msgstr ""
-"简易服务器,会打开 UDP 套接字,并在收到新数据包时返回已连接的 "
-"[PacketPeerUDP]。另见 [method PacketPeerUDP.connect_to_host]。\n"
-"服务器启动后([method listen]),你需要调用 [method poll] 按照一定的间隔轮询"
-"(例如在 [method Node._process] 中)才能处理新数据包、将它们传递给合适的 "
-"[PacketPeerUDP]、获取新连接。\n"
-"下面是简单的用法示例:\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# server_node.gd\n"
-"class_name ServerNode\n"
-"extends Node\n"
-"\n"
-"var server := UDPServer.new()\n"
-"var peers = []\n"
-"\n"
-"func _ready():\n"
-" server.listen(4242)\n"
-"\n"
-"func _process(delta):\n"
-" server.poll() # 重要!\n"
-" if server.is_connection_available():\n"
-" var peer: PacketPeerUDP = server.take_connection()\n"
-" var packet = peer.get_packet()\n"
-" print(\"接受对等体:%s:%s\" % [peer.get_packet_ip(), peer."
-"get_packet_port()])\n"
-" print(\"接收到数据:%s\" % [packet.get_string_from_utf8()])\n"
-" # 进行回复,这样对方就知道我们收到了消息。\n"
-" peer.put_packet(packet)\n"
-" # 保持引用,这样我们就能继续与远程对等体联系。\n"
-" peers.append(peer)\n"
-"\n"
-" for i in range(0, peers.size()):\n"
-" pass # 针对已连接的对等体进行操作。\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ServerNode.cs\n"
-"using Godot;\n"
-"using System.Collections.Generic;\n"
-"\n"
-"public partial class ServerNode : Node\n"
-"{\n"
-" private UdpServer _server = new UdpServer();\n"
-" private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _server.Listen(4242);\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" _server.Poll(); // 重要!\n"
-" if (_server.IsConnectionAvailable())\n"
-" {\n"
-" PacketPeerUdp peer = _server.TakeConnection();\n"
-" byte[] packet = peer.GetPacket();\n"
-" GD.Print($\"接受对等体:{peer.GetPacketIP()}:{peer."
-"GetPacketPort()}\");\n"
-" GD.Print($\"接收到数据:{packet.GetStringFromUtf8()}\");\n"
-" // 进行回复,这样对方就知道我们收到了消息。\n"
-" peer.PutPacket(packet);\n"
-" // 保持引用,这样我们就能继续与远程对等体联系。\n"
-" _peers.Add(peer);\n"
-" }\n"
-" foreach (var peer in _peers)\n"
-" {\n"
-" // 针对已连接的对等体进行操作。\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]\n"
-"[codeblocks]\n"
-"[gdscript]\n"
-"# client_node.gd\n"
-"class_name ClientNode\n"
-"extends Node\n"
-"\n"
-"var udp := PacketPeerUDP.new()\n"
-"var connected = false\n"
-"\n"
-"func _ready():\n"
-" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
-"\n"
-"func _process(delta):\n"
-" if !connected:\n"
-" # 尝试连接服务器\n"
-" udp.put_packet(\"答案是……42!\".to_utf8())\n"
-" if udp.get_available_packet_count() > 0:\n"
-" print(\"已连接:%s\" % udp.get_packet().get_string_from_utf8())\n"
-" connected = true\n"
-"[/gdscript]\n"
-"[csharp]\n"
-"// ClientNode.cs\n"
-"using Godot;\n"
-"\n"
-"public partial class ClientNode : Node\n"
-"{\n"
-" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
-" private bool _connected = false;\n"
-"\n"
-" public override void _Ready()\n"
-" {\n"
-" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
-" }\n"
-"\n"
-" public override void _Process(double delta)\n"
-" {\n"
-" if (!_connected)\n"
-" {\n"
-" // 尝试联系服务器\n"
-" _udp.PutPacket(\"答案是……42!\".ToUtf8());\n"
-" }\n"
-" if (_udp.GetAvailablePacketCount() > 0)\n"
-" {\n"
-" GD.Print($\"已连接:{_udp.GetPacket().GetStringFromUtf8()}\");\n"
-" _connected = true;\n"
-" }\n"
-" }\n"
-"}\n"
-"[/csharp]\n"
-"[/codeblocks]"
-
-msgid ""
"Returns [code]true[/code] if a packet with a new address/port combination "
"was received on the socket."
msgstr ""
@@ -116215,12 +116552,11 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Returns [code]true[/code] if this vector and [code]v[/code] are "
-"approximately equal, by running [method @GlobalScope.is_equal_approx] on "
-"each component."
+"Returns [code]true[/code] if this vector and [param to] are approximately "
+"equal, by running [method @GlobalScope.is_equal_approx] on each component."
msgstr ""
-"如果这个向量和 [code]v[/code] 大约相等,则返回 [code]true[/code],比较的方法"
-"是对每个分量执行 [method @GlobalScope.is_equal_approx]。"
+"如果这个向量与 [param to] 大致相等,则返回 [code]true[/code],判断方法是对每"
+"个分量执行 [method @GlobalScope.is_equal_approx]。"
msgid ""
"Returns [code]true[/code] if this vector is finite, by calling [method "
@@ -116296,12 +116632,12 @@ msgstr ""
msgid ""
"Returns the result of scaling the vector to unit length. Equivalent to "
"[code]v / v.length()[/code]. See also [method is_normalized].\n"
-"[b]Note:[/b] This function may return incorrect values if the initial vector "
+"[b]Note:[/b] This function may return incorrect values if the input vector "
"length is near zero."
msgstr ""
"返回该向量缩放至单位长度的结果。等价于 [code]v / v.length()[/code]。另见 "
"[method is_normalized]。\n"
-"[b]注意:[/b]如果初始向量的长度接近零,则这个函数可能返回不正确的值。"
+"[b]注意:[/b]如果输入向量的长度接近零,则这个函数可能返回不正确的值。"
msgid ""
"Returns a perpendicular vector rotated 90 degrees counter-clockwise compared "
@@ -116595,6 +116931,16 @@ msgstr "构造默认初始化的 [Vector2i],所有分量都为 [code]0[/code]
msgid "Constructs a [Vector2i] as a copy of the given [Vector2i]."
msgstr "构造给定 [Vector2i] 的副本。"
+msgid ""
+"Constructs a new [Vector2i] from the given [Vector2] by truncating "
+"components' fractional parts (rounding towards zero). For a different "
+"behavior consider passing the result of [method Vector2.ceil], [method "
+"Vector2.floor] or [method Vector2.round] to this constructor instead."
+msgstr ""
+"根据给定的 [Vector2] 构造 [Vector2i],会将各个分量的小数部分截断(向 0 取"
+"整)。要使用不同的行为,请考虑改为传入 [method Vector2.ceil]、[method "
+"Vector2.floor] 或 [method Vector2.round] 的结果。"
+
msgid "Constructs a new [Vector2i] from the given [param x] and [param y]."
msgstr "从给定的 [param x] 和 [param y] 构造新的 [Vector2i]。"
@@ -116635,9 +116981,9 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Gets the remainder of each component of the [Vector2i] with the the given "
-"[int]. This operation uses truncated division, which is often not desired as "
-"it does not work well with negative numbers. Consider using [method "
+"Gets the remainder of each component of the [Vector2i] with the given [int]. "
+"This operation uses truncated division, which is often not desired as it "
+"does not work well with negative numbers. Consider using [method "
"@GlobalScope.posmod] instead if you want to handle negative numbers.\n"
"[codeblock]\n"
"print(Vector2i(10, -20) % 7) # Prints \"(3, -6)\"\n"
@@ -116835,13 +117181,6 @@ msgstr ""
"相同。"
msgid ""
-"Returns [code]true[/code] if this vector and [param to] are approximately "
-"equal, by running [method @GlobalScope.is_equal_approx] on each component."
-msgstr ""
-"如果这个向量与 [param to] 大致相等,则返回 [code]true[/code],判断方法是对每"
-"个分量执行 [method @GlobalScope.is_equal_approx]。"
-
-msgid ""
"Returns the axis of the vector's lowest value. See [code]AXIS_*[/code] "
"constants. If all components are equal, this method returns [constant "
"AXIS_Z]."
@@ -116850,16 +117189,6 @@ msgstr ""
"法返回 [constant AXIS_Z]。"
msgid ""
-"Returns the result of scaling the vector to unit length. Equivalent to "
-"[code]v / v.length()[/code]. See also [method is_normalized].\n"
-"[b]Note:[/b] This function may return incorrect values if the input vector "
-"length is near zero."
-msgstr ""
-"返回该向量缩放至单位长度的结果。等价于 [code]v / v.length()[/code]。另见 "
-"[method is_normalized]。\n"
-"[b]注意:[/b]如果输入向量的长度接近零,则这个函数可能返回不正确的值。"
-
-msgid ""
"Returns the [Vector3] from an octahedral-compressed form created using "
"[method octahedron_encode] (stored as a [Vector2])."
msgstr ""
@@ -117115,6 +117444,16 @@ msgstr "构造默认初始化的 [Vector3i],所有分量都为 [code]0[/code]
msgid "Constructs a [Vector3i] as a copy of the given [Vector3i]."
msgstr "构造给定 [Vector3i] 的副本。"
+msgid ""
+"Constructs a new [Vector3i] from the given [Vector3] by truncating "
+"components' fractional parts (rounding towards zero). For a different "
+"behavior consider passing the result of [method Vector3.ceil], [method "
+"Vector3.floor] or [method Vector3.round] to this constructor instead."
+msgstr ""
+"根据给定的 [Vector3] 构造 [Vector3i],会将各个分量的小数部分截断(向 0 取"
+"整)。要使用不同的行为,请考虑改为传入 [method Vector3.ceil]、[method "
+"Vector3.floor] 或 [method Vector3.round] 的结果。"
+
msgid "Returns a [Vector3i] with the given components."
msgstr "返回具有给定分量的 [Vector3i]。"
@@ -117136,9 +117475,9 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Gets the remainder of each component of the [Vector3i] with the the given "
-"[int]. This operation uses truncated division, which is often not desired as "
-"it does not work well with negative numbers. Consider using [method "
+"Gets the remainder of each component of the [Vector3i] with the given [int]. "
+"This operation uses truncated division, which is often not desired as it "
+"does not work well with negative numbers. Consider using [method "
"@GlobalScope.posmod] instead if you want to handle negative numbers.\n"
"[codeblock]\n"
"print(Vector3i(10, -20, 30) % 7) # Prints \"(3, -6, 2)\"\n"
@@ -117330,19 +117669,6 @@ msgstr ""
"v.w)[/code] 相同。"
msgid ""
-"Returns [code]true[/code] if this vector and [param with] are approximately "
-"equal, by running [method @GlobalScope.is_equal_approx] on each component."
-msgstr ""
-"如果这个向量与 [param with] 大致相等,则返回 [code]true[/code],判断方法是对"
-"每个分量执行 [method @GlobalScope.is_equal_approx]。"
-
-msgid ""
-"Returns the squared length (squared magnitude) of this vector. This method "
-"runs faster than [method length]."
-msgstr ""
-"返回该向量的平方长度(平方大小)。此方法比 [method length] 运行得更快。"
-
-msgid ""
"Returns the axis of the vector's lowest value. See [code]AXIS_*[/code] "
"constants. If all components are equal, this method returns [constant "
"AXIS_W]."
@@ -117351,20 +117677,6 @@ msgstr ""
"法返回 [constant AXIS_W]。"
msgid ""
-"Returns a new vector composed of the [method @GlobalScope.fposmod] of this "
-"vector's components and [param mod]."
-msgstr ""
-"返回新的向量,由这个向量的分量和 [param mod] 进行 [method @GlobalScope."
-"fposmod] 构成。"
-
-msgid ""
-"Returns a new vector composed of the [method @GlobalScope.fposmod] of this "
-"vector's components and [param modv]'s components."
-msgstr ""
-"返回新的向量,由这个向量的分量和 [param modv] 的分量进行 [method "
-"@GlobalScope.fposmod] 构成。"
-
-msgid ""
"The vector's W component. Also accessible by using the index position [code]"
"[3][/code]."
msgstr "该向量的 W 分量。也可以通过使用索引位置 [code][3][/code] 访问。"
@@ -117552,6 +117864,16 @@ msgstr "构造默认初始化的 [Vector4i],所有分量都为 [code]0[/code]
msgid "Constructs a [Vector4i] as a copy of the given [Vector4i]."
msgstr "构造给定 [Vector4i] 的副本。"
+msgid ""
+"Constructs a new [Vector4i] from the given [Vector4] by truncating "
+"components' fractional parts (rounding towards zero). For a different "
+"behavior consider passing the result of [method Vector4.ceil], [method "
+"Vector4.floor] or [method Vector4.round] to this constructor instead."
+msgstr ""
+"根据给定的 [Vector4] 构造 [Vector4i],会将各个分量的小数部分截断(向 0 取"
+"整)。要使用不同的行为,请考虑改为传入 [method Vector4.ceil]、[method "
+"Vector4.floor] 或 [method Vector4.round] 的结果。"
+
msgid "Returns a [Vector4i] with the given components."
msgstr "返回具有给定分量的 [Vector4i]。"
@@ -118462,8 +118784,13 @@ msgid ""
"editing this [Viewport]'s layers."
msgstr "设置或清除碰撞掩码上的比特位。可以简化 [Viewport] 层的编辑。"
-msgid "Stops the input from propagating further down the [SceneTree]."
-msgstr "阻止输入沿着 [SceneTree] 继续向下传播。"
+msgid ""
+"Stops the input from propagating further down the [SceneTree].\n"
+"[b]Note:[/b] This does not affect the methods in [Input], only the way "
+"events are propagated."
+msgstr ""
+"让输入停止继续沿着 [SceneTree] 向下传播。\n"
+"[b]注意:[/b]不会影响 [Input] 中的方法,只会影响事件的传播。"
msgid ""
"Sets the number of subdivisions to use in the specified quadrant. A higher "
@@ -118560,8 +118887,8 @@ msgstr "如果为 [code]true[/code],该视口上的 GUI 控件将完美地放
msgid ""
"If [code]true[/code], this viewport will mark incoming input events as "
-"handled by itself. If [code]false[/code], this is instead done by the the "
-"first parent viewport that is set to handle input locally.\n"
+"handled by itself. If [code]false[/code], this is instead done by the first "
+"parent viewport that is set to handle input locally.\n"
"A [SubViewportContainer] will automatically set this property to "
"[code]false[/code] for the [Viewport] contained inside of it.\n"
"See also [method set_input_as_handled] and [method is_input_handled]."
@@ -118656,16 +118983,6 @@ msgid "The subdivision amount of the fourth quadrant on the shadow atlas."
msgstr "阴影图集上第四象限的细分量。"
msgid ""
-"The shadow atlas' resolution (used for omni and spot lights). The value will "
-"be rounded up to the nearest power of 2.\n"
-"[b]Note:[/b] If this is set to [code]0[/code], no shadows will be visible at "
-"all (including directional shadows)."
-msgstr ""
-"阴影图集的分辨率(用于全向灯和聚光灯)。该值将向上舍入到最接近的 2 次幂。\n"
-"[b]注意:[/b]如果被设置为 [code]0[/code],将根本看不到任何阴影(包括定向阴"
-"影)。"
-
-msgid ""
"Sets scaling 3d mode. Bilinear scaling renders at different resolution to "
"either undersample or supersample the viewport. FidelityFX Super Resolution "
"1.0, abbreviated to FSR, is an upscaling technology that produces high "
@@ -118912,7 +119229,7 @@ msgstr "代表 [enum PositionalShadowAtlasQuadrantSubdiv] 枚举的大小。"
msgid ""
"Use bilinear scaling for the viewport's 3D buffer. The amount of scaling can "
-"be set using [member scaling_3d_scale]. Values less then [code]1.0[/code] "
+"be set using [member scaling_3d_scale]. Values less than [code]1.0[/code] "
"will result in undersampling while values greater than [code]1.0[/code] will "
"result in supersampling. A value of [code]1.0[/code] disables scaling."
msgstr ""
@@ -118923,7 +119240,7 @@ msgstr ""
msgid ""
"Use AMD FidelityFX Super Resolution 1.0 upscaling for the viewport's 3D "
"buffer. The amount of scaling can be set using [member scaling_3d_scale]. "
-"Values less then [code]1.0[/code] will be result in the viewport being "
+"Values less than [code]1.0[/code] will be result in the viewport being "
"upscaled using FSR. Values greater than [code]1.0[/code] are not supported "
"and bilinear downsampling will be used instead. A value of [code]1.0[/code] "
"disables scaling."
@@ -118966,19 +119283,6 @@ msgstr ""
msgid "Represents the size of the [enum MSAA] enum."
msgstr "代表 [enum MSAA] 枚举的大小。"
-msgid "Do not perform any antialiasing in the full screen post-process."
-msgstr "不要在全屏后处理中执行抗锯齿。"
-
-msgid ""
-"Use fast approximate antialiasing. FXAA is a popular screen-space "
-"antialiasing method, which is fast but will make the image look blurry, "
-"especially at lower resolutions. It can still work relatively well at large "
-"resolutions such as 1440p and 4K."
-msgstr ""
-"使用快速近似抗锯齿(Fast Approximate Anti-Aliasing)。FXAA 是一种流行的屏幕空"
-"间抗锯齿方法,速度很快,但会让图像变模糊,使用较低分辨率时尤为显著。1440p 和 "
-"4K 等较高分辨率下效果仍然不错。"
-
msgid "Represents the size of the [enum ScreenSpaceAA] enum."
msgstr "代表 [enum ScreenSpaceAA] 枚举的大小。"
@@ -119048,6 +119352,18 @@ msgstr "[enum DefaultCanvasItemTextureFilter] 枚举的最大值。"
msgid "Max value for [enum DefaultCanvasItemTextureRepeat] enum."
msgstr "[enum DefaultCanvasItemTextureRepeat] 枚举的最大值。"
+msgid "VRS is disabled."
+msgstr "VRS 已禁用。"
+
+msgid ""
+"VRS uses a texture. Note, for stereoscopic use a texture atlas with a "
+"texture for each view."
+msgstr ""
+"VRS 使用一个纹理。请注意,对于立体视觉,请为每个视图使用带有纹理的纹理图集。"
+
+msgid "VRS texture is supplied by the primary [XRInterface]."
+msgstr "VRS 纹理由主 [XRInterface] 提供。"
+
msgid "Represents the size of the [enum VRSMode] enum."
msgstr "代表 [enum VRSMode] 枚举的大小。"
@@ -119061,21 +119377,16 @@ msgid ""
"method on the target viewport.\n"
"[b]Note:[/b] When local to scene, this texture uses [method Resource."
"setup_local_to_scene] to set the proxy texture and flags in the local "
-"viewport."
+"viewport. Local to scene viewport textures will return incorrect data until "
+"the scene root is ready (see [signal Node.ready])."
msgstr ""
-"将 [Viewport] 节点的内容显示为一个动态 [Texture2D]。这可用于在同一场景中混合"
-"控件、2D 和 3D 元素。\n"
+"将 [Viewport] 节点的内容显示为一个动态 [Texture2D]。可用于在同一场景中混合控"
+"件、2D 和 3D 元素。\n"
"要在代码中创建 ViewportTexture,请在目标视口上使用 [method Viewport."
"get_texture] 方法。\n"
"[b]注意:[/b]当局部于场景时,该纹理使用 [method Resource."
-"setup_local_to_scene] 在局部视口中设置代理纹理和标志。"
-
-msgid ""
-"The path to the [Viewport] node to display. This is relative to the scene "
-"root, not to the node which uses the texture."
-msgstr ""
-"显示 [Viewport] 节点的路径。该路径是相对于场景根的,而不是相对于使用该纹理的"
-"节点。"
+"setup_local_to_scene] 在局部视口中设置代理纹理和标志。局部于场景的视口纹理在"
+"场景根节点就绪前返回的是不正确的数据(见 [signal Node.ready])。"
msgid "Automatically disables another node if not visible on screen."
msgstr "某个节点在屏幕上不可见时自动禁用该节点。"
@@ -119293,7 +119604,7 @@ msgstr ""
msgid ""
"The render layer(s) this [VisualInstance3D] is drawn on.\n"
"This object will only be visible for [Camera3D]s whose cull mask includes "
-"the render object this [VisualInstance3D] is set to.\n"
+"any of the render layers this [VisualInstance3D] is set to.\n"
"For [Light3D]s, this can be used to control which [VisualInstance3D]s are "
"affected by a specific light. For [GPUParticles3D], this can be used to "
"control which particles are effected by a specific attractor. For [Decal]s, "
@@ -119301,8 +119612,8 @@ msgid ""
"specific decal."
msgstr ""
"这个 [VisualInstance3D] 要绘制到的渲染层。\n"
-"[Camera3D] 的剔除掩码包含这个 [VisualInstance3D] 所设置的渲染对象时,这个对象"
-"才在该相机中可见。\n"
+"[Camera3D] 的剔除掩码包含这个 [VisualInstance3D] 所设置的任何渲染层时,这个对"
+"象才在该相机中可见。\n"
"对于 [Light3D],可以用于控制指定的灯光能够影响哪些 [VisualInstance3D]。对于 "
"[GPUParticles3D],可以用于控制哪些粒子受到吸引器的影响。对于 [Decal],可以用"
"于控制哪些 [VisualInstance3D] 受到指定贴花的影响。"
@@ -121745,7 +122056,7 @@ msgstr "设置纹理重复模式。选项见 [enum TextureRepeat]。"
msgid ""
"Sets the texture source mode. Used for reading from the screen, depth, or "
-"normal_roughness texture. see [enum TextureSource] for options."
+"normal_roughness texture. See [enum TextureSource] for options."
msgstr ""
"设置纹理源的模式。用于读取 screen(屏幕)、depth(深度)或 normal_roughness"
"(法线粗糙度)纹理。选项见 [enum TextureSource]。"
@@ -124776,8 +125087,17 @@ msgstr ""
"不会在系统窗口管理器的窗口列表中显示为单独的窗口,并且会在单击它们之外的任何"
"位置时发送关闭请求(除非启用了 [member exclusive])。"
-msgid "The window's position in pixels."
-msgstr "该窗口的位置,单位为像素。"
+msgid ""
+"The window's position in pixels.\n"
+"If [member ProjectSettings.display/window/subwindows/embed_subwindows] is "
+"[code]false[/code], the position is in absolute screen coordinates. This "
+"typically applies to editor plugins. If the setting is [code]false[/code], "
+"the window's position is in the coordinates of its parent [Viewport]."
+msgstr ""
+"该窗口的位置,单位为像素。\n"
+"如果 [member ProjectSettings.display/window/subwindows/embed_subwindows] 为 "
+"[code]false[/code],则该位置使用屏幕绝对坐标。通常适用于编辑器插件。如果该设"
+"置项为 [code]false[/code],则该窗口的位置使用其父 [Viewport] 中的坐标。"
msgid "The window's size in pixels."
msgstr "该窗口的大小,单位为像素。"
@@ -125006,9 +125326,9 @@ msgstr ""
"multiple_resolutions.html]多分辨率[/url]。"
msgid ""
-"The window can't be resizing by dragging its resize grip. It's still "
-"possible to resize the window using [member size]. This flag is ignored for "
-"full screen windows. Set with [member unresizable]."
+"The window can't be resized by dragging its resize grip. It's still possible "
+"to resize the window using [member size]. This flag is ignored for full "
+"screen windows. Set with [member unresizable]."
msgstr ""
"该窗口不能通过拖动其调整大小的手柄来调整大小。仍然可以使用 [member size] 来调"
"整窗口的大小。这个标志对于全屏窗口来说是被忽略的。用 [member unresizable] 设"
@@ -125051,12 +125371,12 @@ msgid ""
"changed when the window is visible. An active popup window will exclusively "
"receive all input, without stealing focus from its parent. Popup windows are "
"automatically closed when uses click outside it, or when an application is "
-"switched. Popup window must have [code]transient parent[/code] set (see "
-"[member transient])."
+"switched. Popup window must have transient parent set (see [member "
+"transient])."
msgstr ""
"窗口为菜单或 [OptionButton] 下来菜单的一部分。窗口可见时无法更改这个标志。活"
-"动弹出窗口独占接收所有输入,无需从父级窃取焦点。用户在区域外点击或切换应用程"
-"序时,弹出窗口会自动关闭。弹出窗口必须设置 [code]transient parent[/code](见 "
+"动的弹出窗口会以独占的形式接收所有输入,但不会从其父窗口窃取焦点。用户在区域"
+"外点击或切换应用程序时,弹出窗口会自动关闭。弹出窗口必须设置临时父级(见 "
"[member transient])。"
msgid ""
@@ -125359,7 +125679,7 @@ msgid ""
"be loaded and saved like any other [Resource].\n"
"They can be used as the server certificate in [method StreamPeerTLS."
"accept_stream] (along with the proper [CryptoKey]), and to specify the only "
-"certificate that should be accepted when connecting to an TLS server via "
+"certificate that should be accepted when connecting to a TLS server via "
"[method StreamPeerTLS.connect_to_stream]."
msgstr ""
"X509Certificate 类代表 X509 证书。证书可以像其他的 [Resource] 资源一样加载和"
@@ -125701,12 +126021,13 @@ msgid ""
"Returns the transform for a view/eye.\n"
"[param view] is the view/eye index.\n"
"[param cam_transform] is the transform that maps device coordinates to scene "
-"coordinates, typically the global_transform of the current XROrigin3D."
+"coordinates, typically the [member Node3D.global_transform] of the current "
+"XROrigin3D."
msgstr ""
"返回视图/眼睛的变换。\n"
"[param view] 是视图/眼睛的索引。\n"
"[param cam_transform] 是将设备坐标映射至场景坐标的变换,通常是当前 "
-"XROrigin3D 的 global_transform。"
+"XROrigin3D 的 [member Node3D.global_transform]。"
msgid ""
"Returns the number of views that need to be rendered for this device. 1 for "
@@ -125924,11 +126245,11 @@ msgid "Player is free to move around, full positional tracking."
msgstr "玩家可以自由移动,提供完整的位置跟踪。"
msgid ""
-"Same as roomscale but origin point is fixed to the center of the physical "
-"space, XRServer.center_on_hmd disabled."
+"Same as [constant XR_PLAY_AREA_ROOMSCALE] but origin point is fixed to the "
+"center of the physical space, [method XRServer.center_on_hmd] disabled."
msgstr ""
-"与 roomscale 相同,但是原点固定在物理空间的中心,禁用 XRServer."
-"center_on_hmd。"
+"与 [constant XR_PLAY_AREA_ROOMSCALE] 相同,但是原点固定在物理空间的中心,禁"
+"用 [method XRServer.center_on_hmd]。"
msgid "Opaque blend mode. This is typically used for VR devices."
msgstr "不透明混合模式。通常用于 VR 设备。"
@@ -126055,15 +126376,15 @@ msgstr ""
"code],我们可以暂停渲染。"
msgid ""
-"Called if this [XRInterfaceExtension] is active before rendering starts, "
-"most XR interfaces will sync tracking at this point in time."
+"Called if this [XRInterfaceExtension] is active before rendering starts. "
+"Most XR interfaces will sync tracking at this point in time."
msgstr ""
"如果这个 [XRInterfaceExtension] 在渲染开始前处于激活状态,则会调用这个函数,"
"大多数 XR 接口都会在此时进行追踪同步。"
msgid ""
"Called if this [XRInterfaceExtension] is active before our physics and game "
-"process is called. most XR interfaces will update its [XRPositionalTracker]s "
+"process is called. Most XR interfaces will update its [XRPositionalTracker]s "
"at this point in time."
msgstr ""
"如果这个 [XRInterfaceExtension] 在调用我们的物理和游戏处理前处于激活状态,则"
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp
index 04f10bceac..fffdec512c 100644
--- a/editor/editor_properties.cpp
+++ b/editor/editor_properties.cpp
@@ -3710,6 +3710,7 @@ EditorPropertyNodePath::EditorPropertyNodePath() {
assign->set_flat(true);
assign->set_h_size_flags(SIZE_EXPAND_FILL);
assign->set_clip_text(true);
+ assign->set_auto_translate(false);
assign->connect("pressed", callable_mp(this, &EditorPropertyNodePath::_node_assign));
SET_DRAG_FORWARDING_CD(assign, EditorPropertyNodePath);
hbc->add_child(assign);
diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp
index 12d27fc608..563398e512 100644
--- a/editor/plugins/sprite_frames_editor_plugin.cpp
+++ b/editor/plugins/sprite_frames_editor_plugin.cpp
@@ -1198,7 +1198,13 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) {
List<StringName> anim_names;
frames->get_animation_list(&anim_names);
anim_names.sort_custom<StringName::AlphCompare>();
-
+ if (!anim_names.size()) {
+ missing_anim_label->show();
+ anim_frames_vb->hide();
+ return;
+ }
+ missing_anim_label->hide();
+ anim_frames_vb->show();
bool searching = anim_search_box->get_text().size();
String searched_string = searching ? anim_search_box->get_text().to_lower() : String();
@@ -1705,12 +1711,22 @@ SpriteFramesEditor::SpriteFramesEditor() {
delete_anim->set_shortcut_context(animations);
delete_anim->set_shortcut(ED_SHORTCUT("sprite_frames/delete_animation", TTR("Delete Animation"), Key::KEY_DELETE));
- VBoxContainer *vbc = memnew(VBoxContainer);
- add_child(vbc);
- vbc->set_h_size_flags(SIZE_EXPAND_FILL);
+ missing_anim_label = memnew(Label);
+ missing_anim_label->set_text(TTR("This resource does not have any animations."));
+ missing_anim_label->set_h_size_flags(SIZE_EXPAND_FILL);
+ missing_anim_label->set_v_size_flags(SIZE_EXPAND_FILL);
+ missing_anim_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
+ missing_anim_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
+ missing_anim_label->hide();
+ add_child(missing_anim_label);
+
+ anim_frames_vb = memnew(VBoxContainer);
+ add_child(anim_frames_vb);
+ anim_frames_vb->set_h_size_flags(SIZE_EXPAND_FILL);
+ anim_frames_vb->hide();
sub_vb = memnew(VBoxContainer);
- vbc->add_margin_child(TTR("Animation Frames:"), sub_vb, true);
+ anim_frames_vb->add_margin_child(TTR("Animation Frames:"), sub_vb, true);
HFlowContainer *hfc = memnew(HFlowContainer);
sub_vb->add_child(hfc);
@@ -1850,6 +1866,7 @@ SpriteFramesEditor::SpriteFramesEditor() {
frame_list = memnew(ItemList);
frame_list->set_v_size_flags(SIZE_EXPAND_FILL);
frame_list->set_icon_mode(ItemList::ICON_MODE_TOP);
+ frame_list->set_texture_filter(TEXTURE_FILTER_NEAREST_WITH_MIPMAPS);
frame_list->set_max_columns(0);
frame_list->set_icon_mode(ItemList::ICON_MODE_TOP);
@@ -1974,6 +1991,7 @@ SpriteFramesEditor::SpriteFramesEditor() {
split_sheet_preview = memnew(TextureRect);
split_sheet_preview->set_expand_mode(TextureRect::EXPAND_IGNORE_SIZE);
+ split_sheet_preview->set_texture_filter(TEXTURE_FILTER_NEAREST_WITH_MIPMAPS);
split_sheet_preview->set_mouse_filter(MOUSE_FILTER_PASS);
split_sheet_preview->connect("draw", callable_mp(this, &SpriteFramesEditor::_sheet_preview_draw));
split_sheet_preview->connect("gui_input", callable_mp(this, &SpriteFramesEditor::_sheet_preview_input));
diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h
index 9317e94be0..a53f8f73d9 100644
--- a/editor/plugins/sprite_frames_editor_plugin.h
+++ b/editor/plugins/sprite_frames_editor_plugin.h
@@ -127,6 +127,9 @@ class SpriteFramesEditor : public HSplitContainer {
LineEdit *anim_search_box = nullptr;
Tree *animations = nullptr;
+ Label *missing_anim_label = nullptr;
+ VBoxContainer *anim_frames_vb = nullptr;
+
EditorFileDialog *file = nullptr;
AcceptDialog *dialog = nullptr;
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index 9e231a41c3..032f3875bf 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -3604,6 +3604,11 @@ void SceneTreeDock::_gather_resources(Node *p_node, List<Pair<Ref<Resource>, Nod
continue;
}
+ if (!res->is_built_in() || res->get_path().get_slice("::", 0) != edited_scene->get_scene_file_path()) {
+ // Ignore external and foreign resources.
+ continue;
+ }
+
const Pair<Ref<Resource>, Node *> pair(res, p_node);
r_resources.push_back(pair);
}
diff --git a/editor/translations/editor/ar.po b/editor/translations/editor/ar.po
index 160fea6bfb..2baeb92737 100644
--- a/editor/translations/editor/ar.po
+++ b/editor/translations/editor/ar.po
@@ -78,13 +78,15 @@
# Hamed Mohammed Almuslhi <wbk7777@hotmail.com>, 2023.
# KhalilBenGaied <grozz1@yahoo.com>, 2023.
# بسام العوفي <co-able@hotmail.com>, 2023.
+# Abdulkarim <abwkhaldalhwsawy@gmail.com>, 2023.
+# Rémi Verschelde <remi@godotengine.org>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-15 13:04+0000\n"
-"Last-Translator: بسام العوفي <co-able@hotmail.com>\n"
+"PO-Revision-Date: 2023-05-19 06:49+0000\n"
+"Last-Translator: Rémi Verschelde <remi@godotengine.org>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -93,7 +95,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "غير محدد"
@@ -172,7 +174,7 @@ msgid "Unknown Joypad Axis"
msgstr "محور ذراع تحكم غير معروف"
msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
-msgstr "حركةذراع التحكم على المحور d% (s%) مع قيمة 2f.%"
+msgstr "حركةذراع التحكم على المحور %d (%s) مع قيمة %.2f"
msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
msgstr "مفتاح الحركة الأسفل, زر X على سوني, زر A على Xbox, زر B على Nintendo"
@@ -323,7 +325,7 @@ msgid "Undo"
msgstr "تراجع"
msgid "Redo"
-msgstr "إعادة تراجع"
+msgstr "إلغاء التراجع"
msgid "Completion Query"
msgstr "إستعلام إكمال"
@@ -338,10 +340,10 @@ msgid "New Line Above"
msgstr "سطر جديد في الأعلى"
msgid "Indent"
-msgstr "المسافة البادئة"
+msgstr "التصدُّر"
msgid "Dedent"
-msgstr "إنعدام المسافة البادئة"
+msgstr "بلا تصدًّر"
msgid "Backspace"
msgstr "مفتاح التراجع"
@@ -416,7 +418,7 @@ msgid "Select Word Under Caret"
msgstr "حدد كلمة تحت علامة الإقحام"
msgid "Add Selection for Next Occurrence"
-msgstr "أضف التحديد للتكرار التالي"
+msgstr "أضف اختيار للتكرار التالي"
msgid "Clear Carets and Selection"
msgstr "مسح التحديد و علامات الإقحام"
@@ -537,7 +539,7 @@ msgid "Remove Event"
msgstr "حذف الحدث"
msgid "Filter by name..."
-msgstr "فلتر بواسطة الاسم..."
+msgstr "تصفية بالاسم..."
msgid "Clear All"
msgstr "مسح الكل"
@@ -723,7 +725,7 @@ msgid "Time (s):"
msgstr "الوقت(ثواني):"
msgid "Position:"
-msgstr "الموقع"
+msgstr "الموقع:"
msgid "Rotation:"
msgstr "الدوران:"
@@ -740,6 +742,12 @@ msgstr "النوع:"
msgid "(Invalid, expected type: %s)"
msgstr "(غير صحيح، النوع المُتوقع: %s)"
+msgid "Easing:"
+msgstr "التسهيل:"
+
+msgid "In-Handle:"
+msgstr "حدد المعامل:"
+
msgid "Handle mode: Free\n"
msgstr "وضع المقبض: حر\n"
@@ -758,6 +766,12 @@ msgstr "تدفق:"
msgid "Start (s):"
msgstr "البداية (ثواني):"
+msgid "End (s):"
+msgstr "النهاية (ثواني):"
+
+msgid "Animation Clip:"
+msgstr "مقطع التحريك:"
+
msgid "Toggle Track Enabled"
msgstr "ترجيح المسار المُفعل"
@@ -782,6 +796,9 @@ msgstr "خطي"
msgid "Cubic"
msgstr "مكعبي"
+msgid "Linear Angle"
+msgstr "الزاوية الخطية"
+
msgid "Cubic Angle"
msgstr "زاوية مكعبة"
@@ -812,6 +829,9 @@ msgstr "تغيير وضع التفسير (Interpolation) للرسم المتحر
msgid "Change Animation Loop Mode"
msgstr "تغيير طريقة تكرار عرض التحريك"
+msgid "Change Animation Use Blend"
+msgstr "تغيير التحريك باستعمال الدمج"
+
msgid ""
"Compressed tracks can't be edited or removed. Re-import the animation with "
"compression disabled in order to edit."
@@ -828,8 +848,11 @@ msgstr "أنشئ %d مسارات جديدة و مفاتيح الإدخال؟"
msgid "Create"
msgstr "أنشئ"
+msgid "Animation Insert Key"
+msgstr "أضف مفتاح تحريك"
+
msgid "node '%s'"
-msgstr "الوحدة '%s'"
+msgstr "العقدة '%s'"
msgid "animation"
msgstr "رسم متحرك"
@@ -873,6 +896,18 @@ msgstr "إضافة مسار لمنحنى بيزر"
msgid "Track path is invalid, so can't add a key."
msgstr "مسار المقطع غير صالح, إذن لا يمكن إضافة مفتاح."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "المقطع ليس عقدة ثلاثية الأبعاد، لا يمكن إضافة مفتاح"
+
+msgid "Add Position Key"
+msgstr "إضافة مفتاح الموقع"
+
+msgid "Add Rotation Key"
+msgstr "إضافة مفتاح زاوية الدوران"
+
+msgid "Add Scale Key"
+msgstr "إضافة مفتاح الحجم"
+
msgid "Add Track Key"
msgstr "أضفْ مفتاح المقطع"
@@ -885,9 +920,15 @@ msgstr "أضْف مفتاح لمقطع الدالة (Method Track)"
msgid "Method not found in object:"
msgstr "دالة لم توجد في الكائن:"
+msgid "Animation Move Keys"
+msgstr "مفاتيح التحريك"
+
msgid "Position"
msgstr "موقع"
+msgid "Rotation"
+msgstr "التدوير"
+
msgid "Scale"
msgstr "المقياس"
@@ -909,6 +950,9 @@ msgstr "الحافظة فارغة!"
msgid "Paste Tracks"
msgstr "لصق المقاطع"
+msgid "Animation Scale Keys"
+msgstr "مفاتيح حجم التحريك"
+
msgid "Make Easing Keys"
msgstr "جعل مفاتيح التيسير"
@@ -959,13 +1003,13 @@ msgid "Scale From Cursor"
msgstr "تكبير من المؤشر"
msgid "Duplicate Selection"
-msgstr "تكرير المحدد"
+msgstr "مضاعفة المحدد"
msgid "Duplicate Transposed"
msgstr "نقل مكرر"
msgid "Delete Selection"
-msgstr "إحدف المحدد (المجموعة المختارة)"
+msgstr "احذف المختار"
msgid "Go to Next Step"
msgstr "إذهب إلى الخطوة التالية"
@@ -976,11 +1020,14 @@ msgstr "إذهب إلى الخطوة السابقة"
msgid "Apply Reset"
msgstr "إعادة تعيين"
+msgid "Pick a node to animate:"
+msgstr "اخترْ غُقدة لتحريكها:"
+
msgid "Use Bezier Curves"
msgstr "إستعمل منحنيات بيزر"
msgid "Create RESET Track(s)"
-msgstr "إنشاء مسار(ات) إعادة التعيين (RESET)"
+msgstr "إنشاء أو استئناف المقطع"
msgid "Optimize"
msgstr "تحسين"
@@ -1076,7 +1123,7 @@ msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"لم يتم العثور على الدالة المستهدفة. حدّد دالة سليمة أو أرفق نص برمجي للعقدة "
+"الدالة المستهدفة غير موجودة. حدّد دالة سليمة أو ألحق نصا برمجيا للعقدة "
"المستهدفة."
msgid "Connect to Node:"
@@ -1101,7 +1148,7 @@ msgid "Filter Methods"
msgstr "تصفية الدوال"
msgid "No method found matching given filters."
-msgstr "لم يتم العثور على طريقة تطابق المرشحات المعطاة."
+msgstr "ما وجدنا الدالة المطلوبة في المصافي."
msgid "Remove"
msgstr "امسح"
@@ -1143,6 +1190,9 @@ msgstr "وصل"
msgid "Signal:"
msgstr "إشارة:"
+msgid "No description."
+msgstr "بدون وصف."
+
msgid "Connect '%s' to '%s'"
msgstr "وصل '%s' إلي '%s'"
@@ -1161,18 +1211,27 @@ msgstr "قطع الاتصال"
msgid "Connect a Signal to a Method"
msgstr "قم بوصل الإشارة إلى الدالة"
+msgid "Edit Connection: '%s'"
+msgstr "تعديل الاتصال: '%s'"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "هل أنت متأكد أنك تود إزالة كل الإتصالات من الإشارة \"%s\"؟"
msgid "Signals"
msgstr "الإشارات"
+msgid "Filter Signals"
+msgstr "تصفية الإشارات"
+
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "هل أنت متأكد أنك تود إزالة كل الإتصالات من هذه الإشارة؟"
msgid "Disconnect All"
msgstr "قطع الاتصال على الكل"
+msgid "Copy Name"
+msgstr "اسم النسخة"
+
msgid "Edit..."
msgstr "تعديل..."
@@ -1183,7 +1242,7 @@ msgid "Change"
msgstr "تغير"
msgid "Create New %s"
-msgstr "إنشاء %s جديد"
+msgstr "إنشاء %s"
msgid "No results for \"%s\"."
msgstr "لا نتائج من أجل \"%s\"."
@@ -1246,10 +1305,10 @@ msgid "ms"
msgstr "ms"
msgid "Monitors"
-msgstr "المراقبون Monitors"
+msgstr "المراقبة"
msgid "Monitor"
-msgstr "المراقب Monitor"
+msgstr "المراقب"
msgid "Value"
msgstr "قيمة"
@@ -1270,10 +1329,10 @@ msgid "Measure:"
msgstr "قياس:"
msgid "Frame Time (ms)"
-msgstr "وقت الإطار (مللي ثانية)"
+msgstr "وقت الإطار (جزء ثانية)"
msgid "Average Time (ms)"
-msgstr "متوسط الوقت (مللي ثانية)"
+msgstr "متوسط الوقت (جزء ثانية)"
msgid "Frame %"
msgstr "نسبة الإطار %"
@@ -1327,11 +1386,17 @@ msgid "Error:"
msgstr "خطأ:"
msgid "%s Error"
-msgstr "٪s خطأ"
+msgstr "%s خطأ"
+
+msgid "%s Error:"
+msgstr "%s خطأ:"
msgid "Stack Trace"
msgstr "تتبع المُكدس Stack Trace"
+msgid "Debug session started."
+msgstr "قد بدأتْ جلسة التنقيح."
+
msgid "Debug session closed."
msgstr "تم إغلاق جلسة التصحيح."
@@ -1360,11 +1425,14 @@ msgid "Break"
msgstr "توقف"
msgid "Continue"
-msgstr "يكمل"
+msgstr "إكمال"
msgid "Stack Frames"
msgstr "حزم الإطارات Stack Frames"
+msgid "Filter Stack Variables"
+msgstr "تصفية مخزن المتغيّرات"
+
msgid "Breakpoints"
msgstr "نقاط التكسّر"
@@ -1377,6 +1445,9 @@ msgstr "طوي الكل"
msgid "Profiler"
msgstr "المحلل"
+msgid "Visual Profiler"
+msgstr "المُحلل البصري"
+
msgid "List of Video Memory Usage by Resource:"
msgstr "قائمة باستخدام ذاكرة الفيديو لكل من الموارد:"
@@ -1399,7 +1470,7 @@ msgid "Usage"
msgstr "الاستخدام"
msgid "Misc"
-msgstr "المتنوعات Misc"
+msgstr "المتنوعات"
msgid "Clicked Control:"
msgstr "التحكم بالنقر Clicked Control:"
@@ -1500,7 +1571,7 @@ msgid "Load failed due to missing dependencies:"
msgstr "فشل في تحميل المشهد بسبب وجود تبعيات مفقودة يعتمد المشهد عليها:"
msgid "Open Anyway"
-msgstr "إفتح علي أية حال"
+msgstr "افتح على أية حال"
msgid "Which action should be taken?"
msgstr "ماذا الأجراء الذي يجب أن يُتخذ؟"
@@ -1640,34 +1711,34 @@ msgid "Add Effect"
msgstr "أضف تأثير"
msgid "Rename Audio Bus"
-msgstr "إعادة تسمية مسار الصوت"
+msgstr "إعادة تسمية مقطع الصوت"
msgid "Change Audio Bus Volume"
-msgstr "تغيير حجم صوت مسار الصوت"
+msgstr "تغيير حجم مقطع الصوت"
msgid "Toggle Audio Bus Solo"
-msgstr "تبديل مسار الصوت إلي فردي"
+msgstr "تبديل مقطع الصوت إلى فردي"
msgid "Toggle Audio Bus Mute"
-msgstr "تبديل مسار الصوت إلي صامت"
+msgstr "تبديل مقطع الصوت إلى صامت"
msgid "Toggle Audio Bus Bypass Effects"
-msgstr "تبديل مسار الصوت إلي موثرات التبديل"
+msgstr "تبديل مقطع الصوت إلى موثرات التجاوز"
msgid "Select Audio Bus Send"
-msgstr "حدد مسار الصوت للإرسال"
+msgstr "اخترْ مقطع الصوت للإرسال"
msgid "Add Audio Bus Effect"
-msgstr "أضف موثرات إلي مسار الصوت"
+msgstr "إضافة تأثير إلى المقطع"
msgid "Move Bus Effect"
-msgstr "حرك ثأثير مسار الصوت"
+msgstr "نقل تأثير المقطع"
msgid "Delete Bus Effect"
-msgstr "مسح تأثير مسار الصوت"
+msgstr "حذف تأثير المقطع"
msgid "Drag & drop to rearrange."
-msgstr "إسحب وأسقط لإعادة الترتيب."
+msgstr "اسحبْ وأسقط لإعادة الترتيب."
msgid "Solo"
msgstr "فردي"
@@ -1679,7 +1750,13 @@ msgid "Bypass"
msgstr "تخطي"
msgid "Bus Options"
-msgstr "‎خيارات مسار الصوت (BUS)"
+msgstr "‎خيارات المقطع"
+
+msgid "Duplicate Bus"
+msgstr "مضاعفة المقطع"
+
+msgid "Delete Bus"
+msgstr "حذف المقطع"
msgid "Reset Volume"
msgstr "إرجاع الصوت"
@@ -1688,70 +1765,70 @@ msgid "Delete Effect"
msgstr "إمسح التأثير"
msgid "Add Audio Bus"
-msgstr "أضف مسار الصوت"
+msgstr "إضافة مقطع صوتي"
msgid "Master bus can't be deleted!"
-msgstr "مسار الصوت الأساسي لا يمكن مسحة!"
+msgstr "لا يمكن حذف الصوت الرئيسي!"
msgid "Delete Audio Bus"
-msgstr "إمسح مسار الصوت"
+msgstr "حذف مقطع الصوت"
msgid "Duplicate Audio Bus"
-msgstr "تكرار مسار الصوت"
+msgstr "مضاعفة مقطع الصوت"
msgid "Reset Bus Volume"
-msgstr "إرجاع صوت المسار"
+msgstr "تسوية مقطع الصوت"
msgid "Move Audio Bus"
-msgstr "تحريك مسار الصوت"
+msgstr "تحريك مقطع الصوت"
msgid "Save Audio Bus Layout As..."
-msgstr "حفظ تخطيط مسار الصوت ك…"
+msgstr "حفظ تخطيط مقطع الصوت بنوع…"
msgid "Location for New Layout..."
msgstr "المكان للنسق الجديد..."
msgid "Open Audio Bus Layout"
-msgstr "إفتح نسق مسار الصوت"
+msgstr "فتح تخطيط مقطع الصوت"
msgid "There is no '%s' file."
msgstr "لا يوجد ملف '%s'."
msgid "Invalid file, not an audio bus layout."
-msgstr "ملف خطأ، ليس ملف نسق مسار الصوت."
+msgstr "ملف خاطئ، ليس تخطيطا لمقطع الصوت."
msgid "Error saving file: %s"
msgstr "خطأ في تحميل الملف: %s"
msgid "Add Bus"
-msgstr "أضف مسار"
+msgstr "إضافة مقطع"
msgid "Add a new Audio Bus to this layout."
-msgstr "أضف مسار صوت (Audio Bus) جديد إلى هذا التصميم."
+msgstr "أضف مقطعا جديدا لهذا التخطيط."
msgid "Load"
msgstr "تحميل"
msgid "Load an existing Bus Layout."
-msgstr "تحميل نسق مسار موجود مسبقاً."
+msgstr "حمّلْ تخطيط صوت سابق."
msgid "Save As"
msgstr "حفظ بأسم"
msgid "Save this Bus Layout to a file."
-msgstr "إحفظ نسق هذا مسار إلي ملف."
+msgstr "احفظْ تخطيط هذا المقطع إلى ملف."
msgid "Load Default"
msgstr "تحميل الإفتراضي"
msgid "Load the default Bus Layout."
-msgstr "تحميل نسق المسار الإفتراضي."
+msgstr "حمّلْ تخطيط المقطع الافتراضي."
msgid "Create a new Bus Layout."
-msgstr "أنشئ نسق مسار جديد."
+msgstr "أنشِئْ تخطيط صوت."
msgid "Audio Bus Layout"
-msgstr "إفتح نسق مسار الصوت"
+msgstr "تخطيط مقطع الصوت"
msgid "Invalid name."
msgstr "اسم غير صالح."
@@ -1763,31 +1840,44 @@ msgid "Valid characters:"
msgstr "الأحرف الصالحة:"
msgid "Must not collide with an existing engine class name."
-msgstr "إسم غير صالح، يجب أن لا يتصادم مع أسم فئة خاصة بالمحرك."
+msgstr "اسم غير صالح، يجب أن لا يتعارض مع أسماء \"أصناف\" المحرك."
+
+msgid "Must not collide with an existing global script class name."
+msgstr ""
+"اسم غير صالح، يجب أن لا يتعارض مع اسم \"الصنف\" \"العام\" الموجود سلفاً."
msgid "Must not collide with an existing built-in type name."
-msgstr "اسم غير صالح يجب ألا يتضارب مع اسم موجود ومبني ضمناً بالمحرك."
+msgstr ""
+"اسم غير صالح، يجب أن لا يتعارض مع اسم \"النوع\" \"المدمج\" سلفا بالمحرك."
msgid "Must not collide with an existing global constant name."
-msgstr "اإسم غير صالح، ييجب ألاّ يتضارب مع اسم ثابت عام موجود سلفاً."
+msgstr ""
+"اسم غير صالح، يجب أن لا يتعارض مع اسم \"الصنف\" \"العام\" \"الثابت\" الموجود "
+"سلفاً."
+
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "المفتاح لا يمكن أن يُستعمل اسما للتحميل التلقائي."
msgid "Autoload '%s' already exists!"
-msgstr "التحميل التلقائي '%s' موجود اصلا!"
+msgstr "التحميل التلقائي '%s' موجود أصلا!"
msgid "Rename Autoload"
-msgstr "اعادة تسمية التحميل التلقائي"
+msgstr "إعادة تسمية التحميل التلقائي"
msgid "Move Autoload"
msgstr "نقل التحميل التلقائي"
msgid "Remove Autoload"
-msgstr "ازالة التحميل التلقائي"
+msgstr "إزالة التحميل التلقائي"
msgid "Enable"
msgstr "تفعيل"
msgid "Rearrange Autoloads"
-msgstr "اعادة ترتيب التحميلات التلقائية"
+msgstr "إعادة ترتيب التحميلات التلقائية"
+
+msgid "Can't add Autoload:"
+msgstr "لا يمكن إضافة التحميل التلقائي:"
msgid "%s is an invalid path. File does not exist."
msgstr "%s مسار غير صالح. الملف غير موجود."
@@ -1802,11 +1892,14 @@ msgid "Set path or press \"%s\" to create a script."
msgstr "حدد المسار أو اضغط على \"s%\" لإنشاء برنامج نصي."
msgid "Node Name:"
-msgstr "إسم العقدة:"
+msgstr "اسم العقدة:"
msgid "Global Variable"
msgstr "مُتغيّر عام (Global Variable)"
+msgid "3D Engine"
+msgstr "محرك الثلاثيات"
+
msgid "2D Physics"
msgstr "فيزياء 2D"
@@ -1901,10 +1994,10 @@ msgid "Nodes and Classes:"
msgstr "العُقد (Nodes) والفئات (Classes):"
msgid "File '%s' format is invalid, import aborted."
-msgstr "لاحقة الملف '%s' غير صالحة، أجهض الإستيراد."
+msgstr "لاحقة الملف '%s' غير صالحة، أُحبِطَ الاستيراد."
msgid "Error saving profile to path: '%s'."
-msgstr "خطأ في حفظ الملف إلى المسار: '%s'."
+msgstr "خطأ في حفظ التعريفة إلى المسار: '%s'."
msgid "New"
msgstr "جديد"
@@ -1913,7 +2006,7 @@ msgid "Save"
msgstr "حفظ"
msgid "Profile:"
-msgstr "المرُتسم Profile:"
+msgstr "التعريفة:"
msgid "Reset to Defaults"
msgstr "إعادة للإعدادات الافتراضية"
@@ -1922,22 +2015,22 @@ msgid "Actions:"
msgstr "الإجراءات:"
msgid "Configure Engine Build Profile:"
-msgstr "عدّل مُرتسم بناء المحرك:"
+msgstr "تهيئة تعريفة بناء المحرك:"
msgid "Please Confirm:"
-msgstr "أكد من فضلك:"
+msgstr "أكّد من فضلك:"
msgid "Engine Build Profile"
-msgstr "مُرتسم بناء المحرك"
+msgstr "تعريفة بناء المحرك"
msgid "Load Profile"
-msgstr "حمّل المرُتسم"
+msgstr "حمّل التعريفة"
msgid "Export Profile"
-msgstr "تصدير المُرتسم"
+msgstr "تصدير التعريفة"
msgid "Edit Build Configuration Profile"
-msgstr "عدّل مُرتسم إعدادات التصدير"
+msgstr "عدّل تعريفة إعداد البناء"
msgid "Filter Commands"
msgstr "تصفية الأوامر"
@@ -1963,6 +2056,9 @@ msgstr "[غير محفوظ]"
msgid "Please select a base directory first."
msgstr "من فضلك حدد الوجهة الأساسية أولاً."
+msgid "Could not create folder. File with that name already exists."
+msgstr "لا يمكن إنشاء المجلد، لوجود مجلد بنفس الاسم."
+
msgid "Choose a Directory"
msgstr "حدد الوجهة"
@@ -1970,7 +2066,7 @@ msgid "Create Folder"
msgstr "أنشئ مجلد"
msgid "Name:"
-msgstr "الأسم:"
+msgstr "الاسم:"
msgid "Could not create folder."
msgstr "لا يمكن إنشاء المجلد."
@@ -2009,7 +2105,7 @@ msgid "Provides built-in access to the Asset Library."
msgstr "يؤمن وصول لمكتبة الملحقات من داخل المحرر."
msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr "يسمح بتحرير تراتبية العقد عن طريق رصيف المشهد."
+msgstr "يسمح بتحرير رُتَب العقد في رصيف المشهد."
msgid ""
"Allows to work with signals and groups of the node selected in the Scene "
@@ -2039,10 +2135,10 @@ msgid "Remove currently selected profile, '%s'? Cannot be undone."
msgstr "أترغب بإزالة الملف المحدد '%s'؟ لا يمكنك التراجع عن ذلك."
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr "ينبغي أن يكون الملف الشخصي اسم ملف صالح وألّا يحتوي '.'"
+msgstr "اسم التعريفة يجب أن يكون صالحا ولا يحوي '.'"
msgid "Profile with this name already exists."
-msgstr "ملفٌ بهذا الاسم موجود بالفعل."
+msgstr "التعريفة بهذا الاسم موجودة سابقا."
msgid "(Editor Disabled, Properties Disabled)"
msgstr "(المحرر مُعطّل، الخاصيات مُعطّلة)"
@@ -2057,7 +2153,7 @@ msgid "Class Options:"
msgstr "إعدادات الصف (Class):"
msgid "Enable Contextual Editor"
-msgstr "مكّن المحرر السياقي Contextual"
+msgstr "مكّن المحرر السياقي"
msgid "Class Properties:"
msgstr "خصائص الفئة (Class):"
@@ -2068,22 +2164,22 @@ msgstr "المزايا الرئيسية:"
msgid ""
"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
-msgstr "الملف'%s' موجود سلفاً، قم بإزالته بداية قبل الاستيراد، أجهض الإستيراد."
+msgstr "التعريفة '%s' موجودة سلفاً، أزِلْها أولا قبل الاستيراد، أًحبِط الاستيراد."
msgid "Reset to Default"
msgstr "إعادة التعيين إلى الافتراضي"
msgid "Current Profile:"
-msgstr "الملف (النسخة) الحالية:"
+msgstr "التعريفة الحالية:"
msgid "Create Profile"
-msgstr "أصنع حساب"
+msgstr "إنشاء تعريفة"
msgid "Remove Profile"
-msgstr "أمسح الحساب"
+msgstr "إزالة التعريفة"
msgid "Available Profiles:"
-msgstr "الملفات المتوافرة:"
+msgstr "التعريفات المتوافرة:"
msgid "Make Current"
msgstr "إجعل الحالي"
@@ -2095,31 +2191,31 @@ msgid "Export"
msgstr "تصدير"
msgid "Configure Selected Profile:"
-msgstr "عدل على الحساب الحالي:"
+msgstr "تهيئة التعريفة المحددة:"
msgid "Extra Options:"
msgstr "خيارات إضافية:"
msgid "Create or import a profile to edit available classes and properties."
-msgstr "أنشئ أو استورد ملفاً لتحرير الصفوف والخصائص المتوفرة."
+msgstr "أنشئ أو استورد تعريفة لتعديل الأصناف والخصائص المتوفرة."
msgid "New profile name:"
-msgstr "اسم مَلف (profile) جديد:"
+msgstr "اسم التعريفة الجديد:"
msgid "Godot Feature Profile"
-msgstr "ملفات غودوت المُرشّحة"
+msgstr "تعريفة مزايا جَوْدَتْ"
msgid "Import Profile(s)"
-msgstr "استيراد الملف(الملفات)"
+msgstr "استيراد التعريفات"
msgid "Manage Editor Feature Profiles"
-msgstr "تدبير محرر الملفات المُرشحة"
+msgstr "إدارة تعريفة مزايا المحرر"
msgid "Network"
msgstr "الشبكة"
msgid "Open"
-msgstr "إفتح"
+msgstr "افتح"
msgid "Select Current Folder"
msgstr "تحديد المجلد الحالي"
@@ -2159,16 +2255,16 @@ msgid "All Files (*)"
msgstr "كل الملفات (*)"
msgid "Open a File"
-msgstr "إفتح ملف"
+msgstr "فتح ملف"
msgid "Open File(s)"
-msgstr "إفتح ملف(ات)"
+msgstr "فتح الملفات"
msgid "Open a Directory"
-msgstr "إفتح وجهة"
+msgstr "افتح مجلدا"
msgid "Open a File or Directory"
-msgstr "إفتح ملف أو وجهة"
+msgstr "افتح ملفا أو مجلدا"
msgid "Save a File"
msgstr "حفظ ملف"
@@ -2228,14 +2324,17 @@ msgid "View items as a list."
msgstr "أظهر العناصر كقائمة."
msgid "Directories & Files:"
-msgstr "الوجهات والملفات:"
+msgstr "المجلدات والملفات:"
msgid "Preview:"
-msgstr "إستعراض:"
+msgstr "معاينة:"
msgid "File:"
msgstr "الملف:"
+msgid "Some extensions need the editor to restart to take effect."
+msgstr "تحتاج بعض الامتدادات أو الإضافات إلى استئناف المحرر حتى تعمل جيدا."
+
msgid "Restart"
msgstr "إعادة التشغيل"
@@ -2251,7 +2350,7 @@ msgid ""
msgstr "هناك عدة مستوردات مخصوصة لعدة أنواع حددت الملف %s، أجهض الإستيراد"
msgid "(Re)Importing Assets"
-msgstr "إعادة إستيراد الأصول"
+msgstr "إعادة استيراد المُلحقات"
msgid "Deprecated"
msgstr "مُهمل"
@@ -2328,6 +2427,9 @@ msgstr "يتجاوز %s:"
msgid "default:"
msgstr "الافتراضي:"
+msgid "Constructors"
+msgstr "المنشئون"
+
msgid "Operators"
msgstr "العمليات"
@@ -2402,28 +2504,40 @@ msgid "Display All"
msgstr "إظهار الكل"
msgid "Classes Only"
-msgstr "الصفوف فقط"
+msgstr "الأصناف فقط"
+
+msgid "Constructors Only"
+msgstr "المُستَهِلّات فقط"
msgid "Methods Only"
-msgstr "الطرق فقط"
+msgstr "الدوال فقط"
+
+msgid "Operators Only"
+msgstr "الوظائف فقط"
msgid "Signals Only"
-msgstr "إشارات فقط"
+msgstr "الإشارات فقط"
+
+msgid "Annotations Only"
+msgstr "التوضيحات فقط"
msgid "Constants Only"
-msgstr "ثوابت فقط"
+msgstr "الثوابت فقط"
msgid "Properties Only"
-msgstr "خصائص فقط"
+msgstr "الخصائص فقط"
msgid "Theme Properties Only"
-msgstr "خصائص الموضوع Theme فقط"
+msgstr "خصائص النسق فقط"
msgid "Member Type"
msgstr "نوع العضو"
+msgid "(constructors)"
+msgstr "(المُستَهِلّات)"
+
msgid "Class"
-msgstr "الصف"
+msgstr "الصنف"
msgid "Method"
msgstr "دالة"
@@ -2432,7 +2546,7 @@ msgid "Signal"
msgstr "الإشاراة"
msgid "Annotation"
-msgstr "التأشيرة"
+msgstr "التوضيح"
msgid "Constant"
msgstr "ثابت"
@@ -2441,7 +2555,7 @@ msgid "Property"
msgstr "خاصية"
msgid "Theme Property"
-msgstr "خاصية الموضوع (Theme)"
+msgstr "خاصية النسق"
msgid "This member is marked as deprecated."
msgstr "تم وسم هذا العنصر بأنه مُهمل."
@@ -2508,7 +2622,7 @@ msgid "Metadata name can't be empty."
msgstr "لا يمكن أن يكون اسم البيانات الوصفية فارغاً."
msgid "Names starting with _ are reserved for editor-only metadata."
-msgstr "تم حجز الأسماء التي تبدأ بـ _ للبيانات الوصفية الخاصة بالمحرر فقط."
+msgstr "الأسماء التي تبدأ بـ _ محجوزة للبيانات الوصفية الخاصة بالمحرر فقط."
msgid "Copy Property Path"
msgstr "نسخ مسار الخاصية"
@@ -2523,11 +2637,17 @@ msgid "Show Selected Locales Only"
msgstr "إظهار المَحليّات المُختارة فحسب"
msgid "Edit Filters"
-msgstr "تعديل المُرشحات"
+msgstr "تعديل المصافي"
msgid "Language:"
msgstr "اللغة:"
+msgid "Language"
+msgstr "اللغة"
+
+msgid "Filter Messages"
+msgstr "تصفية الرسائل"
+
msgid "Clear Output"
msgstr "مسح المُخرجات"
@@ -2556,11 +2676,10 @@ msgid ""
"disable it."
msgstr ""
"يدور عندما يعاد رسم نافذة المحرر.\n"
-"التحديث المستمر ممكن، الأمر الذي يعني استهلاك أكبر للطاقة. اضغط لإزالة "
-"التمكين."
+"التحديث المستمر ممكن، والذي يعني استهلاك أكبر للطاقة. اضغط لتعطيله."
msgid "Spins when the editor window redraws."
-msgstr "قم بالتدوير أثناء إعادة رسم نافذة المحرّر."
+msgstr "يدور عند إعادة رسم نافذة المحرّر."
msgid "Imported resources can't be saved."
msgstr "لا يمكن حفظ الموارد المستوردة."
@@ -2590,9 +2709,18 @@ msgstr "صيغة الملف المطلوب غير معروفة:"
msgid "Error while saving."
msgstr "خطأ خلال الحفظ."
+msgid "Error while parsing file '%s'."
+msgstr "خطأ خلال تحليل الملف '%s'."
+
msgid "Scene file '%s' appears to be invalid/corrupt."
msgstr "يبدو أن ملف المشهد '%s' غير صالح/ تالف."
+msgid "Missing file '%s' or one its dependencies."
+msgstr "'%s' مفقود هو أو إحدى اعتمادته."
+
+msgid "Error while loading file '%s'."
+msgstr "خطأ خلال تحميل الملف '%s'."
+
msgid "Saving Scene"
msgstr "حفظ المشهد"
@@ -2642,7 +2770,7 @@ msgstr ""
"الاعدادات الاساسيه."
msgid "Layout name not found!"
-msgstr "إسم النسق غير موجود!"
+msgstr "اسم النسق غير موجود!"
msgid "Restored the Default layout to its base settings."
msgstr "تم إسترجاع النسق الإفتراضي (Default layout) لاعدادتهِ الأساسية."
@@ -2737,21 +2865,21 @@ msgid ""
"The current scene has no root node, but %d modified external resource(s) "
"were saved anyway."
msgstr ""
-"المشهد الحالي لا يملك عقدة رئيسة، ولكن %d عدّل المصدر(مصادر) خارجياً وتم الحفظ "
-"عموما."
+"المشهد الحالي لا يملك عقدة رئيسة، ولكن %d المصدر الخارجي المعدل قد حُفظ على "
+"أية حال."
msgid ""
"A root node is required to save the scene. You can add a root node using the "
"Scene tree dock."
msgstr ""
-"يتطلب حفظ المشهد توافر وحدة رئيسة. يمكنك إضافة وحدة رئيسية من خلال رصيف شجرة "
+"مطلوب عقدة الأصل لحفظ المشهد. يمكنك إضافة عقدة أصل باستعمال رصيف تسلسل "
"المشهد."
msgid "Save Scene As..."
msgstr "حفظ المشهد ك…"
msgid "Current scene not saved. Open anyway?"
-msgstr "لم يتم حفظ المشهد الحالي. إفتحه علي أية حال؟"
+msgstr "المشهد الحالي لم يُحفظ. افتحه على أية حال؟"
msgid "Can't undo while mouse buttons are pressed."
msgstr "لا يمكن التراجع أثناء ضغط أزار الفأرة."
@@ -2838,15 +2966,15 @@ msgid ""
"Scene '%s' was automatically imported, so it can't be modified.\n"
"To make changes to it, a new inherited scene can be created."
msgstr ""
-"المشهد '%s' تم إستيراده تلقائياً، إذن لا يمكن تعديله.\n"
-"لكي تجري أي تغيير إليه، مشهد جديد مورث يمكن إنشاءه."
+"المشهد '%s' تم استيراده تلقائياً، لذا لا يمكن تعديله.\n"
+"لكي تجري أي تغيير عليه، قد ينشأ مشهد مورث جديد."
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
"open the scene, then save it inside the project path."
msgstr ""
-"خطا في تحميل المشهد، يجب ان يكون المشهد في نفس الملف الخاص بالمشروع. يمكنك "
-"استخدام نافذة \"الاستيراد\" لفتح المشهد٫ ثم احفظه في ملف المشروع."
+"خطا في تحميل المشهد، يجب أن يكون المشهد في نفس الملف الخاص بالمشروع. استعملْ "
+"نافذة \"الاستيراد\" لفتح المشهد٫ ثم احفظْه في ملف المشروع."
msgid "Scene '%s' has broken dependencies:"
msgstr "المشهد '%s' لدية تبعيات معطوبة:"
@@ -2891,7 +3019,7 @@ msgid "Save & Close"
msgstr "حفظ و إغلاق"
msgid "Show in FileSystem"
-msgstr "أظهر في مدير الملفات"
+msgstr "أظهر في نظام الملفات"
msgid "Play This Scene"
msgstr "تشغيل المشهد"
@@ -2912,7 +3040,7 @@ msgid "Close All Tabs"
msgstr "اغلاق جميع نوافذ التبويب"
msgid "%d more files or folders"
-msgstr "%d مزيد من الملفات والمجلدات"
+msgstr "%d مزيد من الملفات أوالمجلدات"
msgid "%d more folders"
msgstr "%d مزيد من المجلدات"
@@ -2923,8 +3051,8 @@ msgstr "%d مزيد من الملفات"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-"غير قادر على الكتابة إلى الملف '% s' ، الملف قيد الاستخدام ، مؤمن أو ينقصه "
-"الأذونات."
+"غير قادر على الكتابة إلى الملف '% s' ، الملف يُستعمل الآن أو أنه مقفول أو أنه "
+"ينقصه الأذونات."
msgid "Pan View"
msgstr "إظهار شامل"
@@ -2932,6 +3060,9 @@ msgstr "إظهار شامل"
msgid "Dock Position"
msgstr "مكان الرصيف"
+msgid "Make Floating"
+msgstr "اجعلها عائمة"
+
msgid "Add a new scene."
msgstr "إضافة مشهد جديد."
@@ -2942,17 +3073,26 @@ msgid "Toggle distraction-free mode."
msgstr "تمكين/إيقاف الوضع الخالي من الإلهاء."
msgid "Scene"
-msgstr "مشهد"
+msgstr "المشهد"
msgid "Operations with scene files."
msgstr "عمليات مع ملفات المشهد."
msgid "Go to previously opened scene."
-msgstr "اذهب الي المشهد المفتوح مسبقا."
+msgstr "اذهب إلى المشهد المفتوح سابقا."
msgid "Copy Text"
msgstr "نسخ النص"
+msgid "Next Scene Tab"
+msgstr "تبويب المشهد التالي"
+
+msgid "Previous Scene Tab"
+msgstr "تبويب المشهد السابق"
+
+msgid "Focus FileSystem Filter"
+msgstr "تصفية نظام الملفات المُركّزة"
+
msgid "Command Palette"
msgstr "منتَخِب الأوامر"
@@ -2981,13 +3121,13 @@ msgid "MeshLibrary..."
msgstr "مكتبة مجسّمات..."
msgid "Close Scene"
-msgstr "اغلاق المشهد"
+msgstr "إغلاق المشهد"
msgid "Quit"
msgstr "إنهاء"
msgid "Project"
-msgstr "مشروع"
+msgstr "المشروع"
msgid "Project Settings..."
msgstr "إعدادات المشروع..."
@@ -3005,7 +3145,7 @@ msgid "Install Android Build Template..."
msgstr "تحميل قالب البناء للأندرويد..."
msgid "Open User Data Folder"
-msgstr "إفتح مجلّد بيانات المستخدم"
+msgstr "فتح مجلّد بيانات المستخدم"
msgid "Tools"
msgstr "أدوات"
@@ -3056,7 +3196,7 @@ msgid "Manage Export Templates..."
msgstr "إدارة قوالب التصدير..."
msgid "Help"
-msgstr "مساعدة"
+msgstr "المساعدة"
msgid "Online Documentation"
msgstr "الوثائق الإلكترونية"
@@ -3089,7 +3229,10 @@ msgid "Run Project"
msgstr "شغِّلْ المشروع"
msgid "Pause the running project's execution for debugging."
-msgstr "‌أوقِفْ قليلا \"تنفيذَ\" المشروع الحالي؛ للصيانة"
+msgstr "‌أوقِفْ قليلا \"تنفيذَ\" المشروع الحالي؛ للتنقيح."
+
+msgid "Pause Running Project"
+msgstr "أوقِفْ المشروع قليلا"
msgid "Stop the currently running project."
msgstr "أوقِفْ المشروع الذي يعمل الآن"
@@ -3169,6 +3312,9 @@ msgstr "إدارة القوالب"
msgid "Install from file"
msgstr "تثبيت من ملف"
+msgid "Select Android sources file"
+msgstr "اخترْ مصدر ملفات الأندرويد"
+
msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
@@ -3201,7 +3347,7 @@ msgid ""
"The following files are newer on disk.\n"
"What action should be taken?"
msgstr ""
-"الملفات التالية أحدث على القرص.\n"
+"الملفات التالية هي الأحدث على القرص.\n"
"ما الإجراء الذي ينبغي اتخاذه؟"
msgid "Reload"
@@ -3232,10 +3378,10 @@ msgid "Open Asset Library"
msgstr "فتح مكتبة المُلحقات"
msgid "Open the next Editor"
-msgstr "فتح في المُحرر التالي"
+msgstr "افتح المُحرر التالي"
msgid "Open the previous Editor"
-msgstr "إفتح المُحرر السابق"
+msgstr "افتح المُحرر السابق"
msgid "Ok"
msgstr "حسناً"
@@ -3264,6 +3410,9 @@ msgstr "تعديل الإضافة"
msgid "Installed Plugins:"
msgstr "الإضافات المُثبتة:"
+msgid "Create New Plugin"
+msgstr "إنشاء إضافة"
+
msgid "Version"
msgstr "الإصدار"
@@ -3283,7 +3432,7 @@ msgid "No name provided."
msgstr "لا أسم مُقدم."
msgid "Name contains invalid characters."
-msgstr "الأسم يحتوي علي أحرف غير صالحة."
+msgstr "الاسم يحوي أحرف غير صالحة."
msgid "Bit %d, value %d"
msgstr "Bit %d، القيمة %d"
@@ -3358,7 +3507,7 @@ msgid "Quick Load"
msgstr "تحميل سريع"
msgid "Make Unique"
-msgstr "إجعلة مميزاً"
+msgstr "اجعلْه فريدًا"
msgid "Convert to %s"
msgstr "حوّلْ إلى %s"
@@ -3391,7 +3540,13 @@ msgid "Common"
msgstr "شائع"
msgid "Editor Settings"
-msgstr "إعدادات المُعدل"
+msgstr "إعدادات المُحرر"
+
+msgid "General"
+msgstr "عام"
+
+msgid "Filter Settings"
+msgstr "تصفية الإعدادات"
msgid "The editor must be restarted for changes to take effect."
msgstr "لكي يظهر تأثير التغييرات ينبغي إعادة تشغيل المُحرر."
@@ -3412,11 +3567,23 @@ msgid "Listening for input..."
msgstr "يتم رصد المُدخلات..."
msgid "Filter by event..."
-msgstr "صنّف حسب الحدث..."
+msgstr "تصفية بالحدث..."
msgid "Project export for platform:"
msgstr "تصدير المشروع لمنصة:"
+msgid "Completed with warnings."
+msgstr "اكتمل مع التحذيرات."
+
+msgid "Completed successfully."
+msgstr "اكتمل بنجاح."
+
+msgid "Failed."
+msgstr "فشل."
+
+msgid "Storing File: %s"
+msgstr "تخزين الملف: %s"
+
msgid "Storing File:"
msgstr "تخزين الملف:"
@@ -3429,12 +3596,42 @@ msgstr "تعذر فتح الملف للقراءة من المسار \"%s\"."
msgid "Packing"
msgstr "يَحزم\"ينتج الملف المضغوط\""
+msgid "Cannot create file \"%s\"."
+msgstr "لا يمكن إنشاء الملف \"%s\"."
+
+msgid "Failed to export project files."
+msgstr "فشل تصدير ملفات المشروع."
+
+msgid "Can't open file for writing at path \"%s\"."
+msgstr "تعذر فتح الملف للكتابة في المسار: \"%s\"."
+
+msgid "Can't open file for reading-writing at path \"%s\"."
+msgstr "تعذر فتح الملف للقراءة-الكتابة في المسار \"%s\"."
+
+msgid "Can't create encrypted file."
+msgstr "لا يمكن إنشاء ملف مُشفّر."
+
+msgid "Can't open encrypted file to write."
+msgstr "لا يمكن فتح ملف مُشفّر للكتابة."
+
+msgid "Can't open file to read from path \"%s\"."
+msgstr "لا يمكن فتح الملف للقراءة من المسار \"%s\"."
+
msgid "Custom debug template not found."
msgstr "نمودج تصحيح الأخطاء غير موجود."
msgid "Custom release template not found."
msgstr "قالب الإصدار المخصص ليس موجود."
+msgid "The given export path doesn't exist."
+msgstr "مسار التصدير المُدخَل غير موجود."
+
+msgid "Template file not found: \"%s\"."
+msgstr "ملف القالب غير موجود: \"%s\"."
+
+msgid "Failed to copy export template."
+msgstr "فشل نسخ قالب التصدير."
+
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "لا يمكن لمُصدرات 32-bit التي تتضمن PCK أن تكون أكبر من 4 GiB."
@@ -3554,7 +3751,7 @@ msgid "Importing:"
msgstr "يستورد:"
msgid "Remove templates for the version '%s'?"
-msgstr "ازالة القوالب للنسخة '%s'؟"
+msgstr "إزالة القوالب للنسخة '%s'؟"
msgid "Uncompressing Android Build Sources"
msgstr "يتم تفكيك مصادر بناء أندرويد Android"
@@ -3575,19 +3772,19 @@ msgid "Open Folder"
msgstr "افتح المجلد"
msgid "Open the folder containing installed templates for the current version."
-msgstr "افتح المجلد الحاوي على القوالب المنصبة بالنسبة للإصدار الحالي."
+msgstr "افتح مجلد القوالب المنصبة للإصدار الحالي."
msgid "Uninstall"
msgstr "إلغاء التثبيت"
msgid "Uninstall templates for the current version."
-msgstr "إلغاء تثبيت القوالب للنسخة الحالية."
+msgstr "إزالة قوالب النسخة الحالية."
msgid "Download from:"
msgstr "التحميل من:"
msgid "Open in Web Browser"
-msgstr "إفتحهُ في المتصفح"
+msgstr "افتحه في المتصفح"
msgid "Copy Mirror URL"
msgstr "انسخ عنوان URL المرآة"
@@ -3622,18 +3819,21 @@ msgid "Select Template File"
msgstr "حدد ملف القالب"
msgid "Godot Export Templates"
-msgstr "إدارة قوالب التصدير لغودوت"
+msgstr "إدارة قوالب التصدير لجَوْدتْ"
msgid ""
"The templates will continue to download.\n"
"You may experience a short editor freeze when they finish."
msgstr ""
"ستستمر القوالب بالتحميل.\n"
-"ربما تلاحظ تجمداً بسيطاً بالمحرر عندما ينتهي تحميلهم."
+"ربما تلاحظ تعليقا خفيفا في المحرر عند انتهائها."
msgid "Runnable"
msgstr "قابل للتشغيل"
+msgid "Resources to export:"
+msgstr "الموارد المُعدّة للتصدير:"
+
msgid "Delete preset '%s'?"
msgstr "حذف المُعد مُسبقاً '%s'؟"
@@ -3650,7 +3850,7 @@ msgid "Add..."
msgstr "إضافة..."
msgid "Duplicate"
-msgstr "تكرير"
+msgstr "مضاعفة"
msgid ""
"If checked, the preset will be available for use in one-click deploy.\n"
@@ -3680,9 +3880,6 @@ msgstr "تصدير الموارد المُختارة (وتبعياتها)"
msgid "Export Mode:"
msgstr "وضع التصدير:"
-msgid "Resources to export:"
-msgstr "الموارد المُعدّة للتصدير:"
-
msgid "Keep"
msgstr "احتفظ"
@@ -3690,15 +3887,15 @@ msgid ""
"Filters to export non-resource files/folders\n"
"(comma-separated, e.g: *.json, *.txt, docs/*)"
msgstr ""
-"مُرشحات Filters تصدير الملفات / المجلدات من غير الموارد\n"
-"(تلك المفصولة بالفاصلة، على سبيل المثال: *.json, *.txt, docs/*)"
+"المصافي لتصدير الملفات / المجلدات من غير المصدر\n"
+"(مفصولةً بالفواصل، على سبيل المثال: *.json, *.txt, docs/*)"
msgid ""
"Filters to exclude files/folders from project\n"
"(comma-separated, e.g: *.json, *.txt, docs/*)"
msgstr ""
-"مُرشحات Filters تصدير الملفات/المُجلدات من المشروع\n"
-"(المفصولة بفاصلة، مثلاً: *.json, *.txt, docs/*)"
+"المصافي لتصدير الملفات/المُجلدات من المشروع\n"
+"(مفصولةً بفاصلة، مثلاً: *.json, *.txt, docs/*)"
msgid "Features"
msgstr "المزايا"
@@ -3709,9 +3906,32 @@ msgstr "مُخصص (مفصول بفاصلة):"
msgid "Feature List:"
msgstr "قائمة المزايا:"
+msgid ""
+"Filters to include files/folders\n"
+"(comma-separated, e.g: *.tscn, *.tres, scenes/*)"
+msgstr ""
+"المصافي لتضمين الملفات/المُجلدات\n"
+"(مفصولةً بفاصلة، مثلاً: *.json, *.txt, docs/*)"
+
+msgid ""
+"Filters to exclude files/folders\n"
+"(comma-separated, e.g: *.ctex, *.import, music/*)"
+msgstr ""
+"المصافي لاستثناء الملفات/المُجلدات من المشروع\n"
+"(مفصولةً بفاصلة، مثلاً: *.json, *.txt, docs/*)"
+
+msgid "Export Project..."
+msgstr "تصدير المشروع..."
+
msgid "Export All"
msgstr "تصدير الكُل"
+msgid "Choose an export mode:"
+msgstr "اختر طريقة التصدير:"
+
+msgid "Export All..."
+msgstr "تصدير الكُل..."
+
msgid "ZIP File"
msgstr "الملف المضغوط ZIP File"
@@ -3731,11 +3951,11 @@ msgid "Favorites"
msgstr "المفضلات"
msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr "الحالة: إستيراد الملف فشل. من فضلك أصلح الملف و أعد إستيراده يدوياً."
+msgstr "الحالة: استيراد الملف فشل. من فضلك أصلحْ الملف و أعد استيراده يدوياً."
msgid ""
"Importing has been disabled for this file, so it can't be opened for editing."
-msgstr "تم تعطيل الاستيراد لهذا الملف ، لذا لا يمكن فتحه للتحرير."
+msgstr "استيراد هذا الملف قد عُطّل ، لذا لا يمكن فتحه للتحرير."
msgid "Cannot move/rename resources root."
msgstr "لا يمكن مسح/إعادة تسمية جذر الموارد."
@@ -3753,7 +3973,7 @@ msgid "Unable to update dependencies:"
msgstr "غير قادر علي تحديث التبعيات:"
msgid "Provided name contains invalid characters."
-msgstr "الإسم المُقدم يحتوي على أحرف خاطئة."
+msgstr "الاسم المُعطى يحوي حروفا لا تصلح."
msgid ""
"This file extension is not recognized by the editor.\n"
@@ -3762,11 +3982,11 @@ msgid ""
"editor anymore."
msgstr ""
"لم يتعرف المحرر على امتداد الملف.\n"
-"إذا تريد إعادة تسميتهُ على أي حال, فأستخدم مدير ملفات نظام التشغيل الخاص بك.\n"
+"إذا تريد إعادة تسميتهُ على أي حال, فاستخدمْ مدير ملفات نظامك الخاص .\n"
"بعْدَ إعادة تسميتهُ إلى امتداد غير معرف, الملف لن يظهر في المحرر بعد الآن."
msgid "A file or folder with this name already exists."
-msgstr "ملف أو مجلد مع هذا الأسم موجود بالفعل."
+msgstr "يوجد ملف أو مجلد بهذا الاسم سابقا."
msgid ""
"The following files or folders conflict with items in the target location "
@@ -3789,7 +4009,7 @@ msgid "Renaming folder:"
msgstr "إعادة تسمية مجلد:"
msgid "Duplicating file:"
-msgstr "تكرير الملف:"
+msgstr "مضاعفة الملف:"
msgid "Duplicating folder:"
msgstr "تكرار مجلد:"
@@ -3815,6 +4035,9 @@ msgstr "أظهر المُلاك..."
msgid "Move To..."
msgstr "تحريك إلي..."
+msgid "TextFile..."
+msgstr "ملف نصي..."
+
msgid "New Scene..."
msgstr "مشهد جديد..."
@@ -3824,42 +4047,60 @@ msgstr "فتح النص البرمجي..."
msgid "New Resource..."
msgstr "مصدر جديد..."
+msgid "New TextFile..."
+msgstr "ملف نصي جديد..."
+
+msgid "Sort Files"
+msgstr "ترتيب الملفات"
+
msgid "Sort by Name (Ascending)"
-msgstr "صنف وفقا للاسم (تصاعدياً)"
+msgstr "ترتيب بالاسم (تصاعدياً)"
msgid "Sort by Name (Descending)"
-msgstr "صنف وفقاً للاسم (تنازلياً)"
+msgstr "ترتيب بالاسم (تنازلياً)"
msgid "Sort by Type (Ascending)"
-msgstr "صنّف وفقاً للنوع (تصاعدياً)"
+msgstr "ترتيب بالنوع (تصاعدياً)"
msgid "Sort by Type (Descending)"
-msgstr "صنّف وفقاً للنوع (تنازلياً)"
+msgstr "ترتيب بالنوع (تنازلياً)"
msgid "Sort by Last Modified"
-msgstr "رتب من آخر ما تم تعديله"
+msgstr "ترتيب من آخر ما تم تعديله"
msgid "Sort by First Modified"
-msgstr "رتب من أول ما تم تعديله"
+msgstr "ترتيب من أول ما تم تعديله"
msgid "Duplicate..."
-msgstr "تكرير..."
+msgstr "مضاعفة..."
msgid "Rename..."
msgstr "إعادة تسمية..."
+msgid "Open in External Program"
+msgstr "افتح في برنامج خارجي"
+
+msgid "Go to previous selected folder/file."
+msgstr "ارجع إلى المجلد/الملف السابق."
+
+msgid "Go to next selected folder/file."
+msgstr "اذهب إلى المجلد/الملف التالي."
+
msgid "Re-Scan Filesystem"
msgstr "إعادة فحص نظام الملفات"
msgid "Toggle Split Mode"
msgstr "تعيين وضعية الإنقسام"
+msgid "Filter Files"
+msgstr "تصفية الملفات"
+
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
"يفحص الملفات،\n"
-"من فضلك إنتظر..."
+"من فضلك انتظر..."
msgid "Move"
msgstr "تحريك"
@@ -3871,19 +4112,19 @@ msgid "Create Script"
msgstr "إنشاء نص برمجي"
msgid "Find in Files"
-msgstr "إبحث في الملفات"
+msgstr "البحث في الملفات"
msgid "Find:"
msgstr "إيجاد:"
msgid "Replace:"
-msgstr "إستبدال:"
+msgstr "استبدال:"
msgid "Folder:"
msgstr "مجلد:"
msgid "Filters:"
-msgstr "مرشحات:"
+msgstr "المصافي:"
msgid ""
"Include the files with the following extensions. Add or remove them in "
@@ -3899,7 +4140,10 @@ msgid "Replace..."
msgstr "استبدال..."
msgid "Replace in Files"
-msgstr "إستبدل في كل المفات"
+msgstr "استبدل في كل المفات"
+
+msgid "Replace all (no undo)"
+msgstr "استبدال الكل (لا رجوع)"
msgid "Searching..."
msgstr "جاري البحث..."
@@ -3940,17 +4184,70 @@ msgstr "محرر المجموعات"
msgid "Manage Groups"
msgstr "إدارة المجموعات"
+msgid "The Beginning"
+msgstr "البداية"
+
+msgid "Global"
+msgstr "العام"
+
+msgid "Audio Stream Importer: %s"
+msgstr "مستورِد الصوت: %s"
+
msgid "Reimport"
msgstr "إعادة الاستيراد"
+msgid "Enable looping."
+msgstr "تمكين التكرار."
+
msgid "Offset:"
msgstr "المُعادل:"
+msgid "Loop:"
+msgstr "التكرار:"
+
+msgid "New Configuration"
+msgstr "تهيئة جديدة"
+
+msgid "Remove Variation"
+msgstr "إزالة الاختلاف"
+
+msgid "Preloaded glyphs: %d"
+msgstr "الرموز المُجهّزة: %d"
+
+msgid ""
+"Warning: Multiple configurations have identical settings. Duplicates will be "
+"ignored."
+msgstr "تحذير: تهيئات عديدة لديها نفس الإعدادات. النسخ المتكررة ستُهمل."
+
+msgid "Advanced Import Settings for '%s'"
+msgstr "إعدادات الاستيراد المتقدمة لـ '%s'"
+
+msgid "Rendering Options"
+msgstr "إعدادت التكوين"
+
+msgid "Pre-render Configurations"
+msgstr "تهيئات قبل-التكوين"
+
+msgid "Configuration:"
+msgstr "التهيئة:"
+
+msgid "Add configuration"
+msgstr "أضف تهيئة"
+
+msgid "Clear Glyph List"
+msgstr "إخلاء قائمة الرموز"
+
+msgid "Image margin too big."
+msgstr "حافة الصورة كبيرة جدا."
+
+msgid "Pre-Import Scene"
+msgstr "قبل-استيراد المشهد"
+
msgid "Importing Scene..."
-msgstr "حاري إستيراد المشهد..."
+msgstr "استيراد المشهد..."
msgid "Import Scene"
-msgstr "إستيراد مشهد"
+msgstr "استيراد مشهد"
msgid "Running Custom Script..."
msgstr "تشغيل النص البرمجي المُخصص..."
@@ -3975,10 +4272,106 @@ msgstr ""
"الأحمر والأخضر لتقليل استخدام الذاكرة (يتم تجاهل القناة الزرقاء)."
msgid "2D"
-msgstr "ثنائي الأبعاد"
+msgstr "الثنائي"
msgid "3D"
-msgstr "ثلاثي الأبعاد 3D"
+msgstr "الثلاثي"
+
+msgid "<Unnamed Material>"
+msgstr "<مادة بلا اسم>"
+
+msgid "Import ID: %s"
+msgstr "استيراد المعِّرف: %s"
+
+msgid ""
+"Type: %s\n"
+"Import ID: %s"
+msgstr ""
+"النوع: %s\n"
+"استيراد بالمعرِّف: %s"
+
+msgid "Error opening scene"
+msgstr "خطأ في فتح المشهد"
+
+msgid "Advanced Import Settings for AnimationLibrary '%s'"
+msgstr "إعدادات الاستيراد المتقدمة لـ مكتبة-التحريك '%s'"
+
+msgid "Advanced Import Settings for Scene '%s'"
+msgstr "إعدادات الاستيراد المتقدمة للمشهد '%s'"
+
+msgid "Select folder to extract material resources"
+msgstr "اخترْ مجلدا لاستخراج المواد"
+
+msgid "Select folder where mesh resources will save on import"
+msgstr "اخترْ مجلدا تُحفظ فيه المجسمات عند استيرادها"
+
+msgid "Select folder where animations will save on import"
+msgstr "اخترْ مجلدا تُحفظ فيه التحريكات عند استيرادها"
+
+msgid "Warning: File exists"
+msgstr "تحذير: الملف موجود"
+
+msgid "Existing file with the same name will be replaced."
+msgstr "الملف الموجود بنفس الاسم سيُستبدل."
+
+msgid "Will create new file"
+msgstr "سيُنشئ ملفا جديدا"
+
+msgid "Already External"
+msgstr "خارجي أصلا"
+
+msgid "Extract Materials to Resource Files"
+msgstr "استخراج المواد إلى ملفات المصادر"
+
+msgid "Extract"
+msgstr "استخراج"
+
+msgid "Existing file with the same name will be replaced on import."
+msgstr "الملف الموجود بنفس الاسم سيُستبدل عند الاستيراد."
+
+msgid "Will save to new file"
+msgstr "سيُحفظ إلى ملف جديد"
+
+msgid "Set paths to save meshes as resource files on Reimport"
+msgstr ""
+"عيّنْ المسارات لحفظ المجسّمات على أنها \"ملفات المصدر\" عند إعادة الاستيراد"
+
+msgid "Set Paths"
+msgstr "تعيين المسارات"
+
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr ""
+"عيّنْ المسارات لحفظ التحريكات على أنها \"ملفات المصدر\" عند إعادة الاستيراد"
+
+msgid "Extract Materials"
+msgstr "استخراج الملفات"
+
+msgid "Set Animation Save Paths"
+msgstr "تعيين مسارات حفظ التحريك"
+
+msgid "Set Mesh Save Paths"
+msgstr "تعيين مسارات حفظ المجسّم"
+
+msgid "Meshes"
+msgstr "المجسّمات"
+
+msgid "Materials"
+msgstr "المواد"
+
+msgid "Save Extension:"
+msgstr "حفظ الامتداد أو الإضافة:"
+
+msgid "Text: *.tres"
+msgstr "النص: *.tres"
+
+msgid "Binary: *.res"
+msgstr "المثنوي: *.res"
+
+msgid "Text Resource"
+msgstr "مصدر النص"
+
+msgid "Binary Resource"
+msgstr "مصدر المثنوي"
msgid "Select Importer"
msgstr "حدد المستورد"
@@ -4010,16 +4403,19 @@ msgstr ""
"سيؤدي إلى اهمال التغييرات التي تم اجراؤها في رصيف الاستيراد."
msgid "Import As:"
-msgstr "إستيراد ك:"
+msgstr "استيراد بنوع:"
msgid "Preset"
msgstr "المعد مسبقا"
+msgid "Advanced..."
+msgstr "إعدادات متقدمة..."
+
msgid "Save Scenes, Re-Import, and Restart"
msgstr "احفظ المشاهد، إعادة-الإستيراد، وإعادة التشغيل"
msgid "Changing the type of an imported file requires editor restart."
-msgstr "يتطلب تعديل نوع الملفات المستوردة إعادة تشغيل المحرر."
+msgstr "يتطلب تعديل نوع الملفات المستوردة استئناف المحرر."
msgid ""
"WARNING: Assets exist that use this resource, they may stop loading properly."
@@ -4028,14 +4424,38 @@ msgstr "تحذير: هناك مُلحقات تستخدم هذا المورد،
msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
-msgstr "إختر ملف مورد في نظام الملفات أو في المُتفحص لضبط إعدادت الاستيراد."
+msgstr "اختر ملفا من نظام الملفات أو من الفاحص لضبط إعدادت الاستيراد."
+
+msgid "Manual Selection"
+msgstr "اختيار يدوي"
+
+msgid "Filter Inputs"
+msgstr "تصفية المدخلات"
+
+msgid "Additional Options"
+msgstr "خيارات إضافية"
msgid "Device:"
msgstr "الجهاز:"
+msgid "Command / Control (auto)"
+msgstr "الأمر\\ الضبط (تلقائي)"
+
+msgid "This object has no resources."
+msgstr "هذا الكائن لا مصدر له."
+
msgid "Failed to load resource."
msgstr "فشل تحميل المورد."
+msgid "(Current)"
+msgstr "(الحالي)"
+
+msgid "Expand Non-Default"
+msgstr "توسيع غير الافتراضي"
+
+msgid "Property Name Style"
+msgstr "شكل اسم الخاصية"
+
msgid "Raw"
msgstr "خام"
@@ -4049,7 +4469,7 @@ msgid "Paste Properties"
msgstr "ألصقْ الخصائص"
msgid "Make Sub-Resources Unique"
-msgstr "إجعل الموارد الجانبية مميزة"
+msgstr "جعل المصادر الفرعية فريدة"
msgid "Create a new resource in memory and edit it."
msgstr "انشاء مورد جديد فى الذاكرة و تعديله."
@@ -4061,7 +4481,7 @@ msgid "Save the currently edited resource."
msgstr "حفظ المورد الذي يتم تعديله حاليا."
msgid "Save As..."
-msgstr "حفظ باسم..."
+msgstr "حفظ بنوع..."
msgid "Extra resource options."
msgstr "أختيارات اضافية للمورد."
@@ -4085,7 +4505,7 @@ msgid "History of recently edited objects."
msgstr "سجل العناصر المعدلة حالياً."
msgid "Open documentation for this object."
-msgstr "إفتح الوثائق لهذا الكائن."
+msgstr "افتح وثائق هذا الكائن."
msgid "Filter Properties"
msgstr "تصفية الخصائص"
@@ -4093,6 +4513,9 @@ msgstr "تصفية الخصائص"
msgid "Manage object properties."
msgstr "إدارة خصائص الكائن."
+msgid "This cannot be undone. Are you sure?"
+msgstr "لا يمكن التراجع عن هذا، هل أنت متأكد؟"
+
msgid "Remove Translation"
msgstr "إزالة الترجمة"
@@ -4123,8 +4546,24 @@ msgstr "إعادة تعيين الخرائط محلياً:"
msgid "Locale"
msgstr "محلي"
+msgid "Files with translation strings:"
+msgstr "الملفات ذات سلاسل الترجمة:"
+
msgid "Select a single node to edit its signals and groups."
-msgstr "حدد عقدة لكي تُعدل إشاراتها ومجموعاتها."
+msgstr "حدد عقدة منفردة لكي تُعدل إشاراتها ومجموعاتها."
+
+msgid "Plugin name cannot be blank."
+msgstr "اسم الإضافة لا يصلح أن يكون فارغا."
+
+msgid "Script extension must match chosen language extension (.%s)."
+msgstr ""
+"امتداد اللغة -البرمجية- يجب أن يكون مطابقا لامتداد اللغة المختارة (.%s)."
+
+msgid "Subfolder name is not a valid folder name."
+msgstr "اسم المجلد الفرعي ليس صالحا."
+
+msgid "Subfolder cannot be one which already exists."
+msgstr "المجلد الفرعي لا يمكن أن يكون مجلدا مكررا."
msgid "Edit a Plugin"
msgstr "تعديل إضافة"
@@ -4198,9 +4637,11 @@ msgstr "تحريك نقطة العقدة"
msgid "Change BlendSpace1D Labels"
msgstr "تغيير ملصقات BlendSpace1D"
+msgid "This type of node can't be used. Only animation nodes are allowed."
+msgstr "هذا النوع من العُقد لا يمكن استعماله. فقط عُقد التحريك مسموحة."
+
msgid "This type of node can't be used. Only root nodes are allowed."
-msgstr ""
-"لا يمكن استخدام هذا النوع من العُقد. فقط العُقد الرئيسة root nodes مسموحة."
+msgstr "هذا النوع من العُقد لا يمكن استخدامه . فقط عُقد الأصل مسموحة."
msgid "Add Node Point"
msgstr "إضافة نقطة العقدة"
@@ -4218,9 +4659,8 @@ msgid ""
"AnimationTree is inactive.\n"
"Activate to enable playback, check node warnings if activation fails."
msgstr ""
-"شجرة الرسومات المتحركة غير فعالة.\n"
-"فعلها لتتمكن من التشغيل playback، تفقد تنبيهات/تحذيرات التي تصدرها الوحدة "
-"إذا فشل التفعيل."
+"سلسلة-التحريك خاملة.\n"
+"فعلها لتتمكن من التشغيل، وتفقد تنبيهات العُقدة إذا فشل التفعيل."
msgid "Set the blending position within the space"
msgstr "حدد مكان الخلط blending position ضمن الفراغ"
@@ -4231,6 +4671,9 @@ msgstr "حدد وحرك النقاط، أنشئ النقاط باستخدام RM
msgid "Enable snap and show grid."
msgstr "تمكين المحاذاة وإظهار الشبكة."
+msgid "Sync:"
+msgstr "مزامنة:"
+
msgid "Blend:"
msgstr "الدمج:"
@@ -4238,10 +4681,10 @@ msgid "Point"
msgstr "نقطة"
msgid "Open Editor"
-msgstr "فتح المُحرر ثنائي الأبعاد 2D"
+msgstr "فتح المُحرر"
msgid "Open Animation Node"
-msgstr "فتح عُقدة الرسم المتحرك Animation"
+msgstr "فتح عُقدة التحريك"
msgid "Triangle already exists."
msgstr "المثلثات موجودة سلفاً."
@@ -4280,8 +4723,11 @@ msgstr "توليد مثلثات دمج بصورة تلقائية (بدلاً م
msgid "Parameter Changed:"
msgstr "لقد تم تغيير المَعلم:"
+msgid "Inspect Filters"
+msgstr "فاحص المصافي"
+
msgid "Output node can't be added to the blend tree."
-msgstr "لا يمكن إضافة مخرجات الوحدة إلى شجرة الدمج."
+msgstr "عقدة النواتج لا يمكن إضافتها إلى سلسلة الدمج."
msgid "Add Node to BlendTree"
msgstr "أضفْ وحدة إلى شجرة الدمج"
@@ -4309,10 +4755,10 @@ msgid "Delete Node(s)"
msgstr "حذف عُقدة (عُقد)"
msgid "Toggle Filter On/Off"
-msgstr "تعديل المُرشحات تشغيل/إيقاف"
+msgstr "تشغيل أو إيقاف التصفية"
msgid "Change Filter"
-msgstr "تغيير المُرشح Filter"
+msgstr "تغيير التصفية"
msgid "No animation player set, so unable to retrieve track names."
msgstr ""
@@ -4338,8 +4784,11 @@ msgstr "مقاطع صوتية"
msgid "Functions"
msgstr "الوظائف البرمجية"
+msgid "Inspect Filtered Tracks:"
+msgstr "فاحص المقاطع المصفّاة:"
+
msgid "Edit Filtered Tracks:"
-msgstr "تحرير المقاطع المُرشحة Filtered Tracks:"
+msgstr "تعديل المقاطع المُصفّاة:"
msgid "Node Renamed"
msgstr "العُقدة معادة التسمية"
@@ -4348,13 +4797,51 @@ msgid "Add Node..."
msgstr "إضافة عُقدة..."
msgid "Enable Filtering"
-msgstr "تمكين الترشيح Filtering"
+msgstr "تفعيل التصفية"
+
+msgid "Animation name can't be empty."
+msgstr "اسم التحريك لا يمكن أن يكون فارغا."
+
+msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
+msgstr "اسم التحريك يحوي حروفا لا تصلح: '/', ':', ',', '['."
+
+msgid "Enter a library name."
+msgstr "أدخل اسم المكتبة."
+
+msgid "Library name contains invalid characters: '/', ':', ',' or '['."
+msgstr "اسم المكتبة يحوي حروفا لا تصلح: '/', ':', ',' or '['."
msgid "Load Animation"
msgstr "تحميل الرسم المتحرك"
+msgid ""
+"This animation library can't be saved because it was imported from another "
+"file. Make it unique first."
+msgstr ""
+"مكتبة التحريك هذه لا يمكن حفظها؛ لأنها قد جُلبتْ من ملف آخر. اجعلها ذات اسم "
+"فريد أولا."
+
+msgid ""
+"This animation can't be saved because it was imported from another file. "
+"Make it unique first."
+msgstr ""
+"مكتبة التحريك هذه لا يمكن حفظها؛ لأنها قد جُلبتْ من ملف آخر. اجعلها ذات اسم "
+"فريد أولا."
+
+msgid "Invalid AnimationLibrary file."
+msgstr "ملف مكتبة-التحريك لا يصلح."
+
+msgid "Invalid Animation file."
+msgstr "ملف تحريك لا يصلح."
+
+msgid "Save Animation library to File: %s"
+msgstr "حفظ مكتبة التحريك في الملف: %s"
+
+msgid "Save Animation to File: %s"
+msgstr "حفظ التحريك في الملف: %s"
+
msgid "Animation Name:"
-msgstr "إسم الرسم المتحرك:"
+msgstr "اسم التحريك:"
msgid "Pasted Animation"
msgstr "تم لصق الرسوم المتحركة"
@@ -4362,20 +4849,35 @@ msgstr "تم لصق الرسوم المتحركة"
msgid "Open in Inspector"
msgstr "افتح في المُتصفح"
+msgid "Load animation from file and add to library"
+msgstr "حملْ التحريك من ملف وأضفْه إلى المكتبة"
+
+msgid "Add Library"
+msgstr "إضافة مكتبة"
+
+msgid "Load Library"
+msgstr "تحميل مكتبة"
+
+msgid "Storage"
+msgstr "التخزين"
+
msgid "Toggle Autoplay"
msgstr "إلغاء/تفعيل التشغيل التلقائي"
msgid "Create New Animation"
-msgstr "إنشاء رسوم متحركة جديدة"
+msgstr "إنشاء تحريك جديد"
msgid "New Animation Name:"
-msgstr "إسم رسم المتحرك جديد:"
+msgstr "اسم التحريك الجديد:"
msgid "Rename Animation"
msgstr "إعادة تسمية الرسم المتحرك"
msgid "Change Animation Name:"
-msgstr "تغيير إسم الرسم المتحرك:"
+msgstr "تغيير اسم التحريك:"
+
+msgid "Delete Animation '%s'?"
+msgstr "حذف التحريك '%s' ؟"
msgid "Remove Animation"
msgstr "مسح الرسم المتحرك"
@@ -4383,6 +4885,9 @@ msgstr "مسح الرسم المتحرك"
msgid "Invalid animation name!"
msgstr "اسم حركة خاطئ!"
+msgid "Animation '%s' already exists!"
+msgstr "التحريك '%s' موجود سابقا!"
+
msgid "Duplicate Animation"
msgstr "تكرار الرسم المتحرك"
@@ -4398,6 +4903,9 @@ msgstr "تشغيل الرسم المتحرك المختار بشكل عكسي م
msgid "Play selected animation backwards from end. (Shift+A)"
msgstr "تشغيل الرسم المتحرك المختار بشكل عكسي من النهاية. (Shift+A)"
+msgid "Pause/stop animation playback. (S)"
+msgstr "أوقف التشغيل. (S)"
+
msgid "Play selected animation from start. (Shift+D)"
msgstr "تشغيل الرسم المتحرك المحدد من البداية. (Shift+D)"
@@ -4411,7 +4919,7 @@ msgid "Scale animation playback globally for the node."
msgstr "تكبير تشغيل الرسم المتحرك عالمياً من العقدة."
msgid "Animation Tools"
-msgstr "أدوات الرسم المتحرك"
+msgstr "أدوات التحريك"
msgid "Animation"
msgstr "التحريك"
@@ -4459,7 +4967,7 @@ msgid "Force White Modulate"
msgstr "الاجبار على التعديل الابيض"
msgid "Include Gizmos (3D)"
-msgstr "تضمين جيزموس (3D)"
+msgstr "تضمين الأدوات (3D)"
msgid "Pin AnimationPlayer"
msgstr "تثبيت مُشغّل الرسوميات المتحركة"
@@ -4510,13 +5018,16 @@ msgid "Transition Removed"
msgstr "تمت إزالة الانتقال"
msgid "Create new nodes."
-msgstr "إنشاء وحدات جديدة."
+msgstr "إنشاء عُقد جديدة."
msgid "Connect nodes."
msgstr "ربط الوحدات."
msgid "Group Selected Node(s)"
-msgstr "إجمعْ الوحدة(الوحدات) المحددة"
+msgstr "جمع العُقد المختارة"
+
+msgid "Ungroup Selected Node"
+msgstr "تفكيك العُقد المختارة"
msgid "Remove selected node or transition."
msgstr "ازالة الكائن المحدد او الإنتقال المحدد."
@@ -4600,7 +5111,7 @@ msgid "Failed SHA-256 hash check"
msgstr "فشل في تجزئة SHA-256"
msgid "Asset Download Error:"
-msgstr "خطأ في تنزيل الأصول:"
+msgstr "خطأ في تنزيل المُلحق:"
msgid "Downloading (%s / %s)..."
msgstr "جاري تنزيل (%s / %s)..."
@@ -4653,9 +5164,31 @@ msgstr "أختبار"
msgid "Loading..."
msgstr "جاري التحميل..."
+msgctxt "Pagination"
+msgid "First"
+msgstr "الأول"
+
+msgctxt "Pagination"
+msgid "Previous"
+msgstr "السابق"
+
+msgctxt "Pagination"
+msgid "Next"
+msgstr "التالي"
+
+msgctxt "Pagination"
+msgid "Last"
+msgstr "الأخير"
+
msgid "All"
msgstr "الكل"
+msgid "Search Templates, Projects, and Demos"
+msgstr "البحث في القوالب والمشاريع والأمثلة"
+
+msgid "Search Assets (Excluding Templates, Projects, and Demos)"
+msgstr "البحث في الملحقات (عدا القوالب، والمشاريع، والأمثلة)"
+
msgid "Import..."
msgstr "استيراد..."
@@ -4663,7 +5196,7 @@ msgid "Plugins..."
msgstr "إضافات..."
msgid "Sort:"
-msgstr "ترتيب:"
+msgstr "الترتيب:"
msgid "Category:"
msgstr "الفئة:"
@@ -4678,7 +5211,7 @@ msgid "Failed to get repository configuration."
msgstr "فشل الحصول على إعدادات الأرشيف."
msgid "Assets ZIP File"
-msgstr "ملف أصول مضغوط"
+msgstr "ملف ملحقات مضغوط"
msgid "Audio Preview Play/Pause"
msgstr "معاينة الصوت شغّل/أوقف"
@@ -4786,14 +5319,13 @@ msgid ""
"feature."
msgstr ""
"تجاوز كاميرا المشروع.\n"
-"ليس هناك نسخة من المشروع قيد التشغيل حالياً. قم بتشغيل المشروع من المحرر "
-"لاستعمال هذه الميزة."
+"لا نسخة من المشروع تشتغل حالياً. شغّلْ المشروع من المحرر لاستعمال هذه الميزة."
msgid "Lock Selected"
-msgstr "حُدد القفل"
+msgstr "قفل المحدد"
msgid "Unlock Selected"
-msgstr "حُدد إلغاء القفل"
+msgstr "حل قفل المحدد"
msgid "Group Selected"
msgstr "حُدد التجميع"
@@ -4838,16 +5370,16 @@ msgid "Zoom to 1600%"
msgstr "التكبير إلى 1600%"
msgid "Select Mode"
-msgstr "تحديد الوضع"
+msgstr "وضع الاختيار"
msgid "Drag: Rotate selected node around pivot."
-msgstr "أسحبْ: تدوير الوحدة المحددة حول النقطة المحورية."
+msgstr "اسحبْ: أدِرْ العُقدة المختارة حول المحور."
msgid "Alt+Drag: Move selected node."
-msgstr "Alt + إسحب: لتحريك الوحدة المحددة."
+msgstr "Alt + اسحب: لتحريك العُقدة المختارة."
msgid "Alt+Drag: Scale selected node."
-msgstr "Alt+سحب: لتغيير حجم الوحدة المحددة."
+msgstr "Alt+سحب: لتغيير حجم العقدة المختارة."
msgid "V: Set selected node's pivot position."
msgstr "V: تعيين نقطة المحور للوحدة المحددة."
@@ -4872,12 +5404,20 @@ msgstr "وضع التحجيم"
msgid "Shift: Scale proportionally."
msgstr "Shift: التكبير بالتساوي."
+msgid "Show list of selectable nodes at position clicked."
+msgstr "اعرضْ قائمة من العقد المختارة عند الموضع المنقور عليه."
+
msgid "Click to change object's rotation pivot."
-msgstr "إضغط لكي تغيير محور تدوير العنصر."
+msgstr "اضغطْ لتغيير محور دوران الكائن."
msgid "Pan Mode"
msgstr "وضع السحب"
+msgid ""
+"You can also use Pan View shortcut (Space by default) to pan in any mode."
+msgstr ""
+"يمكنك أيضا استعمال وضع السحب بالضغط على زرالمسافة للسحب، وفي أي وضع كنت."
+
msgid "Ruler Mode"
msgstr "وضع المسطرة"
@@ -4915,7 +5455,7 @@ msgid "Configure Snap..."
msgstr "تعديل المحاذاة..."
msgid "Snap to Parent"
-msgstr "المحاذاة بالنسبة للأصل Parent"
+msgstr "المحاذاة إلى الأصل"
msgid "Snap to Node Anchor"
msgstr "حاذي إلي مرتكز العقدة"
@@ -4932,11 +5472,17 @@ msgstr "حاذي إلى العقد الأخرى"
msgid "Snap to Guides"
msgstr "حاذي إلى الموجهات"
+msgid "Lock selected node, preventing selection and movement."
+msgstr "قفل العُقدة المختارة، ومنع الحركة والاختيار."
+
msgid "Lock Selected Node(s)"
-msgstr "إقفال الوحدة(الوحدات) المحددة"
+msgstr "قفل العُقد المختارة"
+
+msgid "Unlock selected node, allowing selection and movement."
+msgstr "فتح العُقدة المختارة، وتجويز الحركة والاختيار."
msgid "Unlock Selected Node(s)"
-msgstr "إلغاء فقل الوحدة(الوحدات) المحددة"
+msgstr "تحرير العُقد المختارة"
msgid "Make selected node's children not selectable."
msgstr "اجعل فروع العُقدة المُختارة غير قابلة للاختيار."
@@ -4945,7 +5491,7 @@ msgid "Make selected node's children selectable."
msgstr "اجعل فروع هذه العُقدة تقبل الاختيار."
msgid "Ungroup Selected Node(s)"
-msgstr "إلغاء جمعْ الوحدة(الوحدات) المحددة"
+msgstr "تفكيك العُقد المختارة"
msgid "Skeleton Options"
msgstr "إعدادات الهكيل العظمي"
@@ -4980,11 +5526,14 @@ msgstr "أظهر الشاشة"
msgid "Show Group And Lock Icons"
msgstr "إظهار أيقونات المجوعة والقفل"
+msgid "Show Transformation Gizmos"
+msgstr "عرض أدوات التحول"
+
msgid "Center Selection"
-msgstr "نصف المُحدد"
+msgstr "تنصيف المختار"
msgid "Frame Selection"
-msgstr "تحديد الإطار"
+msgstr "اختيار الإطار"
msgid "Preview Canvas Scale"
msgstr "إظهار تحجيم اللوحة Canvas"
@@ -5037,7 +5586,7 @@ msgid "Adding %s..."
msgstr "يتم إضافة %s..."
msgid "Cannot instantiate multiple nodes without root."
-msgstr "لا يمكن إضافة وحدات متعددة بدون الوحدةالرئيسية."
+msgstr "لا يمكن تنسيخ عُقد عديدة بدون أصل تقوم عليه."
msgid "Create Node"
msgstr "إنشاء وحدة"
@@ -5048,6 +5597,9 @@ msgstr "تغير النوع الإفتراضي"
msgid "Set Handle"
msgstr "حدد المعامل"
+msgid "Expand"
+msgstr "توسيع"
+
msgid "Top Left"
msgstr "في الأعلى يساراً"
@@ -5096,6 +5648,12 @@ msgstr "بالعرض يميناً"
msgid "Full Rect"
msgstr "على كامل المستطيل"
+msgid "Horizontal alignment"
+msgstr "محاذاة أفقية"
+
+msgid "Vertical alignment"
+msgstr "محاذاة عمودية"
+
msgid "Load Emission Mask"
msgstr "حمل قناع الانبعاث"
@@ -5198,20 +5756,6 @@ msgstr ""
msgid "Small Deploy with Network Filesystem"
msgstr "نشر صغير مع نظام ملفات الشبكة"
-msgid ""
-"When this option is enabled, using one-click deploy for Android will only "
-"export an executable without the project data.\n"
-"The filesystem will be provided from the project by the editor over the "
-"network.\n"
-"On Android, deploying will use the USB cable for faster performance. This "
-"option speeds up testing for projects with large assets."
-msgstr ""
-"حينما يتم تفعيل هذا الإعداد، التصدير أو النشر سوف ينتج ملف تشغيل بالحد "
-"الأدنى (مبسط).\n"
-"نظام الملفات سوف يتم توفيره بواسطة المُعدل من خلال الشبكة.\n"
-"على الأندرويد، النشر سوف يستخدم وصلة اليو إس بي من أجل أداء أسرع. هذا "
-"الإعداد يسرّع إختبار الألعاب ذو الحجم الكبير."
-
msgid "Visible Collision Shapes"
msgstr "أشكال إصطدام ظاهرة"
@@ -5222,6 +5766,16 @@ msgstr ""
"أشكال الإصطدام و عُقد الراي كاست (من أجل 2D و 3D) سوف تكون ظاهرة في اللعبة "
"العاملة إذا كان هذا الإعداد مُفعّل."
+msgid "Visible Paths"
+msgstr "المسارات المرئية"
+
+msgid ""
+"When this option is enabled, curve resources used by path nodes will be "
+"visible in the running project."
+msgstr ""
+"عند تفعيل هذا الخيار، فإن مجسمات التنقل والأشكال المضلعة سوف تكون ظاهرة في "
+"المشروع المشغل."
+
msgid "Visible Navigation"
msgstr "الإنتقال المرئي"
@@ -5260,17 +5814,27 @@ msgstr ""
"حينما يتم إستخدامه عن بُعد على جهاز، سيكون أكثر كفاءتاً عند تفعيل إعداد نظام "
"ملفات الشبكة."
+msgid "Keep Debug Server Open"
+msgstr "إبقاء خادوم التنقيح مفتوحًا"
+
+msgid ""
+"When this option is enabled, the editor debug server will stay open and "
+"listen for new sessions started outside of the editor itself."
+msgstr ""
+"عند تفعيل هذا الخيار، فإن \"محرر خادوم التنقيح\" سيبقى مفتوحا وسيستمع "
+"للجلسات الجديدة من خارج المحرر نفسه."
+
msgid "Convert to CPUParticles2D"
msgstr "حولْ إلى جسيمات-ثنائية-البُعد-لوحدة-المعالجة-المركزية (CPUParticles2D)"
msgid "Generate Visibility Rect"
-msgstr "توليد Rect الرؤية"
+msgstr "توليد مستطيل مرئي"
msgid "Clear Emission Mask"
msgstr "امسح قناع الانبعاث"
msgid "Generation Time (sec):"
-msgstr "وقت التوليد (تانية):"
+msgstr "وقت التوليد (ثانية):"
msgid "The geometry's faces don't contain any area."
msgstr "الوجوه الهندسية لا تتضمن أي منطقة."
@@ -5321,6 +5885,12 @@ msgstr ""
msgid "Failed creating lightmap images, make sure path is writable."
msgstr "لا يمكن انشاء خرائط الضوء, تاكد من ان المسار صحيح و قابل للكتابه."
+msgid "No editor scene root found."
+msgstr "لا يوجد جذر أو أصل لمشهد المحرر."
+
+msgid "Lightmap data is not local to the scene."
+msgstr "خريطة الإضاءة غير مرتبطة بهذا المشهد."
+
msgid "Bake Lightmaps"
msgstr "طبخ (إعداد) خرائط الضوء"
@@ -5480,10 +6050,10 @@ msgid "Update from Scene"
msgstr "تحديث من المشهد"
msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr "لا مصدر ميش تم تحديده (و لا ميش متعدد تم تحديده في العقدة)."
+msgstr "لا يوجد مجسّم محدد (ولا المجسمات-المتعددة مفعلة في العُقدة)."
msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr "لا مصدر ميش تم تحديده (و ميش المتعدد لا يحتوي علي ميش)."
+msgstr "لا يوجد مجسّم محدد (والمجسمات-المتعددة لا تحوي مجسّما)."
msgid "Mesh source is invalid (invalid path)."
msgstr "مصدر الميش خاطئ (المسار خاطئ)."
@@ -5513,7 +6083,7 @@ msgid "Populate Surface"
msgstr "تزويد السطح"
msgid "Populate MultiMesh"
-msgstr "تزويد الميش المتعدد"
+msgstr "تعبئة المجسمات-العديدة"
msgid "Target Surface:"
msgstr "السطح المستهدف:"
@@ -5552,7 +6122,7 @@ msgid "Create Navigation Polygon"
msgstr "إنشاء مُضلع التنقل"
msgid "Unnamed Gizmo"
-msgstr "اداة غير مسمى"
+msgstr "أداة بدون اسم"
msgid "Change Light Radius"
msgstr "تغيير نصف قطر الإنارة"
@@ -5651,6 +6221,15 @@ msgstr "تم تعطيل تعيين المفاتيح (لم يتم إدخال أي
msgid "Animation Key Inserted."
msgstr "أُدخل مفتاح الرسوم المتحركة."
+msgid "CPU Time: %s ms"
+msgstr "وقت المعالِج: %s جزء ثانية"
+
+msgid "GPU Time: %s ms"
+msgstr "وقت بطاقة الشاشة: %s جزء ثانية"
+
+msgid "FPS: %d"
+msgstr "ط ث : %d"
+
msgid "Top View."
msgstr "الواجهة العلوية."
@@ -5714,15 +6293,21 @@ msgstr "عرض من غير ظلال"
msgid "Shadow Atlas"
msgstr "أطلس الظل"
+msgid "Directional Shadow Map"
+msgstr "خريطة الظل المتوجه"
+
msgid "View Environment"
msgstr "عرض البيئة"
msgid "View Gizmos"
-msgstr "إظهار الأدوات Gizmos"
+msgstr "عرض الأدوات"
msgid "View Information"
msgstr "إظهار المعلومات"
+msgid "View Frame Time"
+msgstr "عرض وقت الإطار"
+
msgid "Half Resolution"
msgstr "نصف دقة الشاشة"
@@ -5795,7 +6380,7 @@ msgid "Snap Nodes to Floor"
msgstr "محاذاة الوحدات إلى الأرضية"
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr "لم يتم إيجاد أرضية صُلبة لمحاذاة ما تم اختياره إليها."
+msgstr "لا يوجد أرضية صلبة لمحاذاة المختار إليها."
msgid "Use Local Space"
msgstr "استخدام الحيّز المحلي"
@@ -5888,7 +6473,7 @@ msgid "4 Viewports"
msgstr "4 ساحات للرؤية"
msgid "Gizmos"
-msgstr "الأدوات Gizmos"
+msgstr "الأدوات"
msgid "View Origin"
msgstr "إظهار الأصل (المصدر)"
@@ -5944,6 +6529,12 @@ msgstr "سابق"
msgid "Post"
msgstr "لاحق"
+msgid "Sun Direction"
+msgstr "اتجاه الشمس"
+
+msgid "Sun Color"
+msgstr "لون الشمس"
+
msgid "Tonemap"
msgstr "خريطة تناغم الألوان"
@@ -6273,8 +6864,8 @@ msgstr "أخفق تحميل النص البرمجي، تفقد الأخطاء ف
msgid ""
"To run this script, it must inherit EditorScript and be set to tool mode."
msgstr ""
-"ليتم تشغيل النص البرمجي، ينبغي أن يرث النص البرمجي للمحرر EditorScript وأن "
-"يُضع في وضعية الأداة."
+"لتشغيل النص البرمجي، يجب أن يرث النص البرمجي للمحرر (EditorScript) وأن يُجعل "
+"في وضعية الأداة."
msgid "Import Theme"
msgstr "استيراد الموضوع Theme"
@@ -6288,6 +6879,9 @@ msgstr "خطأ في الحفظ"
msgid "Save Theme As..."
msgstr "حفظ الموضوع Theme ك..."
+msgid "Unsaved file."
+msgstr "الملف غير محفوظ."
+
msgid "%s Class Reference"
msgstr "%s مرجعية الصف Class"
@@ -6297,6 +6891,9 @@ msgstr "إيجاد التالي"
msgid "Find Previous"
msgstr "إيجاد السابق"
+msgid "Filter Scripts"
+msgstr "تصفية النصوص البرمجية"
+
msgid "Toggle alphabetical sorting of the method list."
msgstr "تفعيل الترتيب الألفبائي لقائمة الدوال."
@@ -6319,7 +6916,7 @@ msgid "Reopen Closed Script"
msgstr "إعادة فتح النص البرمجي المُغلق"
msgid "Save All"
-msgstr "إحفظ الكل"
+msgstr "حفظ الكل"
msgid "Copy Script Path"
msgstr "نسخ مسار النص البرمجي"
@@ -6423,6 +7020,12 @@ msgstr "رمز البحث"
msgid "Pick Color"
msgstr "اختر لوناً"
+msgid "Folding"
+msgstr "الطي"
+
+msgid "Indentation"
+msgstr "التصدُّر عن بداية السطر"
+
msgid "Uppercase"
msgstr "الأحرف الكبيرة (Uppercase)"
@@ -6447,6 +7050,9 @@ msgstr "التوجه إلى"
msgid "Delete Line"
msgstr "حذف الخط"
+msgid "Unindent"
+msgstr "بدون تصدُّر"
+
msgid "Toggle Comment"
msgstr "تفعيل Toggle التعليقات"
@@ -6466,19 +7072,19 @@ msgid "Trim Trailing Whitespace"
msgstr "تشذيب الفراغات البيضاء الزائدة"
msgid "Convert Indent to Spaces"
-msgstr "تحويل المسافة البادئة إلى مسافات"
+msgstr "تحويل التصدُّر إلى مسافات"
msgid "Convert Indent to Tabs"
-msgstr "تحويل المسافة البادئة إلى تبويبات"
+msgstr "تحويل التصدُّر إلى قفزات"
msgid "Auto Indent"
-msgstr "مسافة بادئة تلقائية"
+msgstr "تصدُّر تلقائي"
msgid "Find in Files..."
msgstr "جِد في الملفات..."
msgid "Replace in Files..."
-msgstr "إستبدل في الملفات..."
+msgstr "استبدل في الملفات..."
msgid "Contextual Help"
msgstr "مساعدة سياقية"
@@ -6513,6 +7119,9 @@ msgstr "الذهاب إلى نقطة التكسّر التالية"
msgid "Go to Previous Breakpoint"
msgstr "الذهاب إلى نقطة التكسّر السابقة"
+msgid "Shader Editor"
+msgstr "محرر التلوين"
+
msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr "لا يملك هذا الهكيل أيّة عظام، أنشئ بعض عُقد العظام ثنائية البُعد كأبناء."
@@ -6624,34 +7233,64 @@ msgid "Move Frame"
msgstr "تحريك الإطار"
msgid "Delete Animation?"
-msgstr "مسح الرسم المتحرك؟"
+msgstr "حذف التحريك؟"
msgid "Change Animation FPS"
msgstr "تغيير مُعدل الإطارات في الثانية FPS للرسوم المتحركة"
+msgid "Set Frame Duration"
+msgstr "تعيين مدة الإطار"
+
msgid "(empty)"
msgstr "(فارغ)"
msgid "Animations:"
msgstr "الرسومات المتحركة:"
+msgid "Animation Speed"
+msgstr "سرعة التحريك"
+
+msgid "Filter Animations"
+msgstr "تصفية التحريكات"
+
+msgid "Delete Animation"
+msgstr "احذف التحريك"
+
msgid "Animation Frames:"
msgstr "إطارات الرسومات المتحركة:"
+msgid "Frame Duration:"
+msgstr "مدة الإطار:"
+
msgid "Zoom Reset"
msgstr "إعادة تعيين التكبير"
+msgid "Add frame from file"
+msgstr "إضافة إطار من ملف"
+
+msgid "Add frames from sprite sheet"
+msgstr "إضافة الإطارات من المُلخّص"
+
+msgid "Copy Frame"
+msgstr "نسخ إطار"
+
+msgid "Move Frame Left"
+msgstr "تحريك الإطار يسارا"
+
+msgid "Move Frame Right"
+msgstr "تحريك الإطار يمينا"
+
msgid "Select Frames"
msgstr "تحديد الإطارات"
msgid "Horizontal:"
-msgstr "عَرضياً:"
+msgstr "أفقي:"
msgid "Vertical:"
-msgstr "شاقولياً:"
+msgstr "عمودي:"
msgid "Separation:"
-msgstr "التباعُدات:"
+msgstr "التباعُد:"
msgid "Select/Clear All Frames"
msgstr "اختيار / مسح جميع الإطارات"
@@ -6662,6 +7301,9 @@ msgstr "إنشاء الإطارات من ورقة الرسومية Sprite Sheet"
msgid "SpriteFrames"
msgstr "إطارات الرسوميات SpriteFrames"
+msgid "Warnings should be fixed to prevent errors."
+msgstr "يجب إصلاح التحذيرات لمنع الأخطاء."
+
msgid "Set Region Rect"
msgstr "تحديد مستطيل المنطقة"
@@ -6683,6 +7325,9 @@ msgstr "الاقتطاع التلقائي"
msgid "Step:"
msgstr "الخطوة:"
+msgid "Region Editor"
+msgstr "محرر المناطق"
+
msgid "Styleboxes"
msgstr "مربعات الشكل"
@@ -6716,6 +7361,9 @@ msgstr "تحديث المحرر"
msgid "Finalizing"
msgstr "في المراحل النهائية"
+msgid "Filter Items"
+msgstr "تصفية العناصر"
+
msgid "With Data"
msgstr "مع البيانات"
@@ -6909,7 +7557,7 @@ msgid "Add Theme Item"
msgstr "إضافة عنصر مظهر واجهة المستخدم"
msgid "Old Name:"
-msgstr "الأسم القديم:"
+msgstr "الاسم القديم:"
msgid "Import Items"
msgstr "إستَردْ العناصر"
@@ -6918,7 +7566,7 @@ msgid "Default Theme"
msgstr "المظهر الكلي الاساسي"
msgid "Editor Theme"
-msgstr "مظهر المحرر/برنامج-جودوه"
+msgstr "محرر النمط"
msgid "Select Another Theme Resource:"
msgstr "إختر مورد مظهر كلي أخر:"
@@ -6972,6 +7620,9 @@ msgstr "حدد نوع المتغير"
msgid "Set Base Type"
msgstr "تعديل النوع الأساسي"
+msgid "Add a type from a list of available types or create a new one."
+msgstr "أضِفْ نوعا من قائمة الأنواع المتاحة أو أنشئْ نوعا جديدا."
+
msgid "Show Default"
msgstr "أظهر الإفتراضي"
@@ -7079,6 +7730,12 @@ msgstr ""
msgid "Reload the scene to reflect its most actual state."
msgstr "أعد تحميل المشهد لإظهار الشكل الأقرب لحالته."
+msgid "Flip Polygons Horizontally"
+msgstr "قلب المضلعات أفقياً"
+
+msgid "Flip Polygons Vertically"
+msgstr "قلب المضلعات عموديًا"
+
msgid "Rotate Right"
msgstr "تدوير لليمين"
@@ -7091,12 +7748,72 @@ msgstr "القلب أفقياً"
msgid "Flip Vertically"
msgstr "القلب عموديًا"
+msgid "Picker"
+msgstr "ملقاط"
+
+msgid "No terrains"
+msgstr "لا تضاريس"
+
+msgid "Painting Terrain"
+msgstr "رسم التضاريس"
+
+msgid "Add TileSet pattern"
+msgstr "إضافة عينة طقم-البلاط"
+
+msgid "Remove TileSet patterns"
+msgstr "إزالة عينات طقم-البلاط"
+
+msgid "Change selection"
+msgstr "تغيير الاختيار"
+
+msgid "Selection"
+msgstr "الاختيار"
+
+msgid "Shift+Ctrl: Draw rectangle."
+msgstr "Shift+Ctrl: ترسم مستطيل"
+
+msgid "Rect"
+msgstr "مستطيل"
+
+msgid "Bucket"
+msgstr "سطل"
+
+msgid "Eraser"
+msgstr "مسّاحة"
+
msgid "Tiles"
msgstr "البلاط"
+msgid "Patterns"
+msgstr "العينات"
+
+msgid "Drag and drop or paste a TileMap selection here to store a pattern."
+msgstr "اسحب وألقِ أو ألصق خريطة-البلاط التي تريد لتخزينها عينة."
+
+msgid "Paint terrain"
+msgstr "تلوين التضاريس"
+
+msgid "Terrains"
+msgstr "التضاريس"
+
+msgid "TileMap Layers"
+msgstr "طبقات خريطة-البلاط"
+
+msgid "Toggle grid visibility."
+msgstr "رؤية الشبكة."
+
msgid "Yes"
msgstr "نعم"
+msgid "Add new patterns in the TileMap editing mode."
+msgstr "أضف عينات جديدة من خريطة-البلاط."
+
+msgid "TileSet"
+msgstr "طقم-البلاط"
+
+msgid "TileMap"
+msgstr "خريطة-البلاط"
+
msgid "Error"
msgstr "خطأ"
@@ -7107,6 +7824,9 @@ msgstr "الإعدادت عن بُعد فارغة. يمكن أنْ لا تعمل
msgid "Commit"
msgstr "ارتكاب"
+msgid "Open in editor"
+msgstr "افتح في المُحرر"
+
msgid "Commit:"
msgstr "تسجيل/تجهيز:"
@@ -7119,6 +7839,9 @@ msgstr "عنوان جانبي:"
msgid "Do you want to remove the %s branch?"
msgstr "هل تريد إزالة فرع s%؟"
+msgid "Username"
+msgstr "اسم المستخدم"
+
msgid "Password"
msgstr "كلمة المرور"
@@ -7748,6 +8471,13 @@ msgstr "من فضلك اختر ملف \"project.godot\" أو \".zip\"."
msgid "This directory already contains a Godot project."
msgstr "الدليل المُختار يتضمن بالفعل مشروعاً لغودوت."
+msgid ""
+"You cannot save a project in the selected path. Please make a new folder or "
+"choose a new path."
+msgstr ""
+"لا يمكنك حفظ المشروع في المسار المحدد. إما أن تنشئ مجلدا جديدا أو أن تختار "
+"مسارا غير هذا."
+
msgid "New Game Project"
msgstr "مشروع لعبة جديد"
@@ -7766,6 +8496,20 @@ msgstr "إنها لفكرة جيدة أن تقوم بتسمية مشروعك."
msgid "Invalid project path (changed anything?)."
msgstr "مسار مشروع غير صالح (أعدلت شيء؟)."
+msgid "Warning: This folder is not empty"
+msgstr "تحذير: هذا المجلد ليس فارغا"
+
+msgid ""
+"You are about to create a Godot project in a non-empty folder.\n"
+"The entire contents of this folder will be imported as project resources!\n"
+"\n"
+"Are you sure you wish to continue?"
+msgstr ""
+"أنت توشك أن تُنشئ مشروع جَوْدَتْ في مجلد ليس فارغا.\n"
+"كل محويّات هذا المجلد ستُستورد على أنها مصادر المشروع!\n"
+"\n"
+"هل أنت متأكد من المواصلة؟"
+
msgid "Couldn't create project.godot in project path."
msgstr "لا قدرة على إنشاء project.godot في مسار المشروع."
@@ -7785,7 +8529,7 @@ msgid "Import Existing Project"
msgstr "استيراد مشروع موجود"
msgid "Import & Edit"
-msgstr "إستيراد و تعديل"
+msgstr "استيراد و تعديل"
msgid "Create New Project"
msgstr "إنشاء مشروع جديد"
@@ -7811,6 +8555,9 @@ msgstr "مسار تنصيب المشروع:"
msgid "Renderer:"
msgstr "مُحرك الإخراج البصري:"
+msgid "The renderer can be changed later, but scenes may need to be adjusted."
+msgstr "نظام التكوين يمكن تغييره لاحقا، ولكن المَشاهد قد تحتاج إلى تعديل."
+
msgid "Missing Project"
msgstr "مشروع مفقود"
@@ -7820,10 +8567,65 @@ msgstr "خطأ: المشروع مفقود في نظام الملفات."
msgid "Local"
msgstr "محلي"
+msgid "Local Projects"
+msgstr "المشاريع الخاصة"
+
+msgid "Asset Library Projects"
+msgstr "مشاريع مكتبة المُلحقات"
+
msgid "Can't open project at '%s'."
msgstr "لا يمكن فتح المشروع في '%s'."
msgid ""
+"Can't open project \"%s\" at the following path:\n"
+"\n"
+"%s\n"
+"\n"
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+"لا يمكن فتح المشروع \"%s\" في المسار التالي:\n"
+"\n"
+"%s\n"
+"\n"
+"إعدادات المشروع كانت قد أُنشِئتْ بإصدار محرك أحدث، وتلك الإعدادات لا تتوافق مع "
+"هذا الإصدار."
+
+msgid ""
+"Warning: This project uses C#, but this build of Godot does not have\n"
+"the Mono module. If you proceed you will not be able to use any C# scripts.\n"
+"\n"
+msgstr ""
+"تحذير: هذا المشروع يستعمل لغة #C ، لكن بنية جَوْدَتْ هذه لا تحوي \n"
+"وحدة \"مونو\". إذا أصريت على الإكمال لن تكون قادرا على استعمال لغة #C.\n"
+"\n"
+
+msgid ""
+"Warning: This project was built in Godot %s.\n"
+"Opening will upgrade or downgrade the project to Godot %s.\n"
+"\n"
+msgstr ""
+"تحذير: هذا المشروع كان قد بُنِيَ بإصدار جوْدَتْ %s.\n"
+"فتح المشروع سوف يُرقيه أو ينزله إلى إصدار جوْدَت %s.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses the following features not supported by this "
+"build of Godot:\n"
+"\n"
+"%s\n"
+"\n"
+msgstr ""
+"تحذير: هذا المشروع يستعمل هذه المزايا المذكورة، وهي ليست مدعومة في هذه "
+"البنية أو الإصدار من جوْدَت:\n"
+"\n"
+"%s\n"
+"\n"
+
+msgid "Open anyway? Project will be modified."
+msgstr "الفتح على أي حال؟ المشروع سوف يتغير."
+
+msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
@@ -7836,7 +8638,7 @@ msgid ""
"Please edit the project to trigger the initial import."
msgstr ""
"لا يمكن تشغيل المشروع: يجب استيراد المُلحقات.\n"
-"من فضلك حرر المشروع لتحريض الشروع بالاستيراد."
+"يُرجى تعديل المشروع لبدء الاستيراد."
msgid "Are you sure to run %d projects at once?"
msgstr "هل أنت متأكد من فتح %d مشاريع مرّة واحدة؟"
@@ -7858,27 +8660,62 @@ msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
-"تم تغيير اللُغة.\n"
-"ستتحدث الواجهة بعد إعادة تشغيل المُحرر أو مُدير المشاريع."
+"اللغة قد تغيرتْ.\n"
+"ستتحدث الواجهة بعد استئناف المُحرر أو مُدير المشروع."
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
-"هل أنت متأكد من فحص %s من المجلدات بحثاً عن مشاريع غودوت متوافرة؟\n"
-"قد يستغرق وقتاً."
+"هل أنت متأكد من فحص %s من المجلدات بحثاً عن مشاريع جَوْدَتْ الحالية؟\n"
+"هذا قد يأخذ زمنا."
+
+msgctxt "Application"
+msgid "Project Manager"
+msgstr "مدير المشروع"
+
+msgid "Filter Projects"
+msgstr "تصفية المشاريع"
+
+msgid ""
+"This field filters projects by name and last path component.\n"
+"To filter projects by name and full path, the query must contain at least "
+"one `/` character."
+msgstr ""
+"هذا البحث ينتقي لك المشاريع بأسمائها أو باسم آخر شعبة من تشعباتها في مسارها "
+"في جهازك.\n"
+"لتنقية المشاريع باسمها أو بمسارها، لابد أن يشتمل البحث على علامة جدار مائل `/"
+"` واحدة على الأقل."
+
+msgid "Loading, please wait..."
+msgstr "يُحمّل، انتظرْ..."
+
+msgid "Last Edited"
+msgstr "المعدل آخِرا"
msgid "New Project"
msgstr "مشروع جديد"
+msgid "Import Project"
+msgstr "استيراد مشروع"
+
msgid "Scan"
msgstr "فحص"
+msgid "Scan Projects"
+msgstr "البحث في المشاريع"
+
+msgid "Edit Project"
+msgstr "تعديل المشروع"
+
+msgid "Remove Project"
+msgstr "حذف المشروع"
+
msgid "Remove Missing"
msgstr "إزالة المفقود"
msgid "About"
-msgstr "حول هذا المستند"
+msgstr "التعريف بنا"
msgid "Restart Now"
msgstr "إعادة التشغيل الآن"
@@ -7892,6 +8729,9 @@ msgstr "مسح الكل"
msgid "Also delete project contents (no undo!)"
msgstr "كذلك ستحذف محتويات المشروع (لا تراجع!)"
+msgid "Convert Full Project"
+msgstr "تحويل كامل المشروع"
+
msgid "Can't run project"
msgstr "غير قادر على تشغيل المشروع"
@@ -7902,21 +8742,45 @@ msgstr ""
"لا تملك حالياً أية مشاريع.\n"
"هل ترغب في استكشاف مشاريع الأمثلة الرسمية في مكتبة المُلحقات؟"
+msgid "Add Project Setting"
+msgstr "إضافة إعدادات مشروع"
+
msgid "Delete Item"
msgstr "حذف العُنصر"
+msgid "(All)"
+msgstr "(الكل)"
+
msgid "Add Input Action"
msgstr "إضافة إجراء إدخال"
msgid "Change Action deadzone"
msgstr "تغيير المنطقة الميتة للفعالية Action deadzone"
+msgid "Change Input Action Event(s)"
+msgstr "تغيير حالة إجراء الإدخال"
+
msgid "Erase Input Action"
msgstr "مسح إجراء الإدخال"
+msgid "Rename Input Action"
+msgstr "إعادة تسمية إجراء الإدخال"
+
+msgid "Update Input Action Order"
+msgstr "تحديث ترتيب إجراء الإدخال"
+
msgid "Project Settings (project.godot)"
msgstr "إعدادات المشروع (project.godot)"
+msgid "Advanced Settings"
+msgstr "إعدادات مُتقدمة"
+
+msgid "Select a Setting or Type its Name"
+msgstr "اختر إعدادا أو اكتبْ اسمه"
+
+msgid "Changed settings will be applied to the editor after restarting."
+msgstr "الإعدادات المُغيّرة ستعمل في المحرر بعد استئناف المُحرر."
+
msgid "Input Map"
msgstr "خريطة الإدخال"
@@ -7929,6 +8793,9 @@ msgstr "التحميل التلقائي"
msgid "Plugins"
msgstr "إضافات"
+msgid "Import Defaults"
+msgstr "استيراد الافتراضيات"
+
msgid "Select Property"
msgstr "انتقاء الخاصية"
@@ -7953,6 +8820,21 @@ msgstr "إعدادات مُتقدمة"
msgid "Substitute"
msgstr "استبدال"
+msgid "Node name."
+msgstr "اسم العقدة."
+
+msgid "Node's parent name, if available."
+msgstr "اسم العُقدة الأصل، إن وُجٍد."
+
+msgid "Node type."
+msgstr "نوع العُقدة."
+
+msgid "Current scene name."
+msgstr "اسم المشهد الحالي."
+
+msgid "Root node name."
+msgstr "اسم العُقدة الأصلية."
+
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
@@ -7966,11 +8848,17 @@ msgstr "العداد وفق-المستوى"
msgid "If set, the counter restarts for each group of child nodes."
msgstr "إذا تم تحديده فإن العداد سيعيد البدء لكل مجموعة من العُقد الأبناء."
+msgid "Initial value for the counter."
+msgstr "القيمة المبدئية للعداد."
+
msgid "Step"
msgstr "الخطوة"
+msgid "Amount by which counter is incremented for each node."
+msgstr "مقدار الزيادة للعداد لكل عُقدة."
+
msgid "Padding"
-msgstr "الحواف Padding"
+msgstr "التبطين"
msgid ""
"Minimum number of digits for the counter.\n"
@@ -8010,20 +8898,32 @@ msgid "At character %s"
msgstr "عند الحرف %s"
msgid "Reparent Node"
-msgstr "إعادة اختيار أبوة العُقدة"
+msgstr "تأصيل العُقدة"
+
+msgid "Select new parent:"
+msgstr "اخترْ أصلا(عقدة) جديدا:"
msgid "Keep Global Transform"
msgstr "الاحتفاظ بالتحوّل الشمولي Global"
msgid "Reparent"
-msgstr "إعادة اختيار الأبوة"
+msgstr "تأصيل"
+
+msgid "Scene name is valid."
+msgstr "اسم المشهد صالح."
msgid "Scene name is empty."
msgstr "اسم المشهد فارغ."
+msgid "File name invalid."
+msgstr "اسم الملف لا يصلح."
+
msgid "File already exists."
msgstr "الملف موجود سلفا."
+msgid "Invalid root node name."
+msgstr "اسم العقدة الأصل غير صالح."
+
msgid "Root Type:"
msgstr "نوع الجذر:"
@@ -8036,6 +8936,12 @@ msgstr "مشهد ثلاثي الأبعاد"
msgid "User Interface"
msgstr "واجهة المستخدم"
+msgid "Scene Name:"
+msgstr "اسم المشهد:"
+
+msgid "Root Name:"
+msgstr "اسم الجذر:"
+
msgid "Leave empty to use scene name"
msgstr "اتركْه فارغا إذا تريد استعمال اسم المشهد"
@@ -8092,7 +8998,7 @@ msgid "Instantiated scenes can't become root"
msgstr "لا يمكن أن تصبح المشاهد المنمذجة مشاهد رئيسة (جذر)"
msgid "Make node as Root"
-msgstr "جعل العقدة المشهد الرئيس"
+msgstr "اجعل العقدة جذرا"
msgid "Delete %d nodes and any children?"
msgstr "حذف العُقدة %d مع جميع أبنائها؟"
@@ -8104,7 +9010,7 @@ msgid "Delete the root node \"%s\"?"
msgstr "حذف العُقدة الرئيسة (الجذر) \"%s\"؟"
msgid "Delete node \"%s\" and its children?"
-msgstr "حذف العُقدة \"%s\" مع جميع أبنائها؟"
+msgstr "حذف العُقدة \"%s\" مع جميع فروعها؟"
msgid "Delete node \"%s\"?"
msgstr "حذف العقدة \"%s\"؟"
@@ -8139,15 +9045,30 @@ msgstr ""
msgid "Make Local"
msgstr "اجعله محلياً"
+msgid "Enable Scene Unique Name(s)"
+msgstr "تفعيل اسم المشهد الفريد"
+
+msgid "Unique names already used by another node in the scene:"
+msgstr "هذا الاسم الفريد مستعمل سلفا لعقدة أخرى في المشهد:"
+
+msgid "Disable Scene Unique Name(s)"
+msgstr "تعطيل اسم المشهد الفريد"
+
msgid "New Scene Root"
msgstr "مشهد رئيس (جذر) جديد"
msgid "Create Root Node:"
msgstr "إنشاء العُقدة الرئيسة (الجذر):"
+msgid "Switch to Favorite Nodes"
+msgstr "التبديل إلى العُقد المفضلة"
+
msgid "Other Node"
msgstr "عقدة أخرى"
+msgid "Paste From Clipboard"
+msgstr "اللصق من الحافظة"
+
msgid "Can't operate on nodes from a foreign scene!"
msgstr "لا يمكن تنفيذ الإجراء على عُقدة من مشهد أجنبي!"
@@ -8157,6 +9078,9 @@ msgstr "لا يمكن تنفيذ الإجراء على عُقد يرثها ال
msgid "Attach Script"
msgstr "إلحاق نص برمجي"
+msgid "Cut Node(s)"
+msgstr "قص العُقد"
+
msgid "Remove Node(s)"
msgstr "إزالة عُقدة (عُقد)"
@@ -8177,6 +9101,9 @@ msgstr "خطأ في حفظ المشهد."
msgid "Error duplicating scene to save it."
msgstr "خطأ في مضاعفة المشهد لحفظه."
+msgid "Instantiate Script"
+msgstr "تنسيخ النص البرمجي"
+
msgid "Sub-Resources"
msgstr "مورد فرعي"
@@ -8199,7 +9126,7 @@ msgid "Auto Expand to Selected"
msgstr "التوسيع التلقائي للمختارة"
msgid "Filters"
-msgstr "مرشحات"
+msgstr "المصافي"
msgid "Filter by Type"
msgstr "التصفية بالنوع"
@@ -8211,6 +9138,13 @@ msgid "Selects all Nodes of the given type."
msgstr "يختار كل عُقد النوع المُحدد."
msgid ""
+"Selects all Nodes belonging to the given group.\n"
+"If empty, selects any Node belonging to any group."
+msgstr ""
+"يختار كل العُقد التي تنتسب للمجموعة المحددة.\n"
+"إذا كان فارغا، فإنه يختار أي عقدة من أي مجموعة."
+
+msgid ""
"Cannot attach a script: there are no languages registered.\n"
"This is probably because this editor was built with all language modules "
"disabled."
@@ -8221,6 +9155,9 @@ msgstr ""
msgid "Can't paste root node into the same scene."
msgstr "لا يمكن لصق عقدة الجذر في نفس المشهد."
+msgid "Paste Node(s)"
+msgstr "لصق العُقد"
+
msgid "Add Child Node"
msgstr "إضافة عُقدة فرعية"
@@ -8262,9 +9199,9 @@ msgid ""
"every time it updates.\n"
"Switch back to the Local scene tree dock to improve performance."
msgstr ""
-"إذا تم تحديده ، فسيؤدي شجرة المشهد البعيده (Remote) إلى توقف المشروع في كل "
-"مرة يتم تحديث المشروع.\n"
-"قمْ بالتبديل مرة أخرى إلى رصيف شجرة المشهد المحلي لتحسين الأداء."
+"إذا حُدد، فإن رصيف سلسلة المشهد البعيد سيؤدي إلى تلعثم (تقطيع) المشروع عند كل "
+"تحديث.\n"
+"بدلْ أو عُد إلى رصيف سلسلة المشهد القريب لتحسين الأداء."
msgid "Clear Inheritance? (No Undo!)"
msgstr "مسح الموروث؟ (لا تراجع!)"
@@ -8317,6 +9254,9 @@ msgstr ""
"تم تعليق مُشغل الرسومات المُتحركة.\n"
"اضغط لإزالة تعليقه."
+msgid "\"%s\" is not a known filter."
+msgstr "\"%s\" ليست تصفية معروفة."
+
msgid "Invalid node name, the following characters are not allowed:"
msgstr "اسم عُقدة غير صالح، إن الأحرف التالية غير مسموحة:"
@@ -8381,7 +9321,7 @@ msgid "Invalid path."
msgstr "مسار غير صالح."
msgid "Invalid class name."
-msgstr "إسم صف غير صالح."
+msgstr "اسم صنف غير صالح."
msgid "Invalid inherited parent name or path."
msgstr "إن اسم أو مسار الأب (الأصل parent) الموروث غير صالح."
@@ -8411,15 +9351,15 @@ msgid ""
"Note: Built-in scripts have some limitations and can't be edited using an "
"external editor."
msgstr ""
-"ملاحظة: النصوص البرمجية المبنية ضمناً تملك مقيدة ولها إمكانيات محددة ولا يمكن "
-"تعديلها باستخدام مُحرر خارجي."
+"ملاحظة: النصوص البرمجية المبنية ضمناً محدودة ببعض الحدود ولا يمكن تعديلها "
+"باستخدام مُحرر خارجي."
msgid ""
"Warning: Having the script name be the same as a built-in type is usually "
"not desired."
msgstr ""
-"تحذير: من غير المستحسن امتلاك النص البرمجي اسماً مماثلاً للأنواع المشابهة "
-"المدمجة بالمحرر."
+"تحذير: لا يحسن إعطاء النص البرمجي اسماً مماثلاً للأنواع المشابهة المدمجة "
+"بالمحرر."
msgid "Class Name:"
msgstr "اسم الفئة:"
@@ -8436,6 +9376,12 @@ msgstr "مسار غير صالح."
msgid "Wrong extension chosen."
msgstr "لاحقة مُختارة غير مناسبة."
+msgid "Note: Built-in shaders can't be edited using an external editor."
+msgstr "ملاحظة: التلوينات والظلال المدمجة لا يمكن تعديلها بمحرر خارجي."
+
+msgid "Mode:"
+msgstr "الوضع:"
+
msgid "Change Cylinder Radius"
msgstr "تغيير نصف قطر الاسطوانة"
@@ -8475,6 +9421,16 @@ msgstr "نموذج الشكل القاموسي غير صالح ( النص الب
msgid "Invalid instance dictionary (invalid subclasses)"
msgstr "نموذج القاموس غير صالح (أصناف فرعية غير صالحة)"
+msgid ""
+"Disables Blender '.blend' files import for this project. Can be re-enabled "
+"in Project Settings."
+msgstr ""
+"تعطيل استيراد ملفات بلندر(الخلاط) '.blend' لهذا المشروع. يمكن تفعيلها مرة "
+"أخرى من إعدادات المشروع."
+
+msgid "Disabling '.blend' file import requires restarting the editor."
+msgstr "تعطيل توريد ملف '.blind' يتطلب استئناف المحرر."
+
msgid "Next Plane"
msgstr "التبويب التالي"
@@ -8556,6 +9512,9 @@ msgstr "إعدادات خريطة الشبكة"
msgid "Pick Distance:"
msgstr "اختر المسافة:"
+msgid "Filter Meshes"
+msgstr "تصفية المجسّمات"
+
msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
msgstr ""
"امنح مكتبة السطوح MeshLibrary وصولاً لخريطة الشبكة لتستخدم السطوح المجسمة "
@@ -8570,6 +9529,9 @@ msgstr "لا يمكن أن يكون اسم الصف كلمة محجوزة"
msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "ليس هنالك بايتات كافية من أجل فك البايتات، أو الصيغة غير صحيحة."
+msgid "Failed to load .NET runtime"
+msgstr "فشل تشغيل .NET"
+
msgid "%s/s"
msgstr "%s/s"
@@ -8582,11 +9544,14 @@ msgstr "نداء الإجراء البعيد RPC صادر"
msgid "Config"
msgstr "إعداد"
+msgid "Count"
+msgstr "العدد"
+
msgid "Size"
msgstr "الحجم"
msgid "Network Profiler"
-msgstr "ملف تعريف الشبكة Network Profiler"
+msgstr "المُحلل الشبكي"
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
@@ -8686,7 +9651,7 @@ msgstr ""
msgid "Debug keystore not configured in the Editor Settings nor in the preset."
msgstr ""
-"مُنقح أخطاء مفتاح المتجر keystore غير مُهيئ في إعدادت المُحرر أو في الإعدادات "
+"مُنقح \"الخازن\" (keystore) غير مُهيأ في إعدادت المُحرر أو في الإعدادات "
"الموضوعة سلفاً."
msgid ""
@@ -8699,12 +9664,21 @@ msgstr ""
msgid "Release keystore incorrectly configured in the export preset."
msgstr "تحرر مخزن المفاتيح غير مُهيئ بشكل صحيح في إعدادت المسبقة للتصدير."
+msgid "A valid Android SDK path is required in Editor Settings."
+msgstr "مطلوب مسار حزمة أندرويد (SDK) صحيح في إعدادات المُحرر."
+
+msgid "Invalid Android SDK path in Editor Settings."
+msgstr "مسار حزمة أندرويد (SDK) غير صحيح في إعدادات المُحرر."
+
msgid "Missing 'platform-tools' directory!"
msgstr "المجلد 'أدوات-المنصة (platform-tools)' مفقود!"
msgid "Unable to find Android SDK platform-tools' adb command."
msgstr "تعذر العثور على أمر adb الخاص بأدوات النظام الأساسي لـ Android SDK."
+msgid "Please check in the Android SDK directory specified in Editor Settings."
+msgstr "تأكد من مسار حزمة أندرويد (SDK) المحدد في إعدادات المُحرر."
+
msgid "Missing 'build-tools' directory!"
msgstr "مجلد 'أدوات البناء' (build-tools) مفقود!"
@@ -8720,6 +9694,12 @@ msgid "Invalid package name:"
msgstr "اسم رُزمة غير صالح:"
msgid ""
+"The \"%s\" renderer is designed for Desktop devices, and is not suitable for "
+"Android devices."
+msgstr ""
+"نظام التكوين \"%s\" مصمم لأجهزة سطح المكتب، وليس مناسبا لأجهزة أندرويد."
+
+msgid ""
"'apksigner' could not be found. Please check that the command is available "
"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
@@ -8792,6 +9772,9 @@ msgid ""
"outputs."
msgstr "تعذر نسخ وإعادة تسمية الملف المصدر، تفقد ملف مشروع gradle للمخرجات."
+msgid "Package not found: \"%s\"."
+msgstr "لم نجد الحزمة: \"%s\"."
+
msgid "Could not find template APK to export: \"%s\"."
msgstr "لم يتم إيجاد قالب APK للتصدير: \"%s\"."
@@ -8804,6 +9787,9 @@ msgstr ""
"التصدير متضمناً جميع المكتبات الضرورية، أو أزال اختيار المعماريات الناقصة من "
"خيارات التصدير المعدّة مسبقاً."
+msgid "Could not export project files."
+msgstr "لا يُمكن تصدير ملفات المشروع."
+
msgid "Aligning APK..."
msgstr "محاذاة ملف APK..."
@@ -8824,15 +9810,57 @@ msgstr "المُحدد مفقود."
msgid "The character '%s' is not allowed in Identifier."
msgstr "إن الحرف '%s' غير مسموح في المُحدد Identifier."
+msgid "Could not open icon file \"%s\"."
+msgstr "لا يُمكن فتح أيقونة الملف \"%s\"."
+
+msgid "The notarization process generally takes less than an hour."
+msgstr "عملية التوثيق تأخذ أقل من ساعة غالبا."
+
+msgid ""
+"Both Apple ID name and App Store Connect issuer ID name are specified, only "
+"one should be set at the same time."
+msgstr ""
+"معرٍّف أبل(Apple ID) و معرف الأبستُر(AppStore ID) كلاهما قد حُددا، يجب تحديد "
+"واحد منهما فقط."
+
msgid "Could not start xcrun executable."
msgstr "تعذر بدء تشغيل xcrun."
+msgid ""
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
+msgstr ""
+"عملية التوثيق تأخذ أقل من ساعة غالبا، إذا اكتملت العملية، ستأتيك رسالة بريد."
+
+msgid "Cannot sign file %s."
+msgstr "خطأ في تسجيل الملف %s."
+
msgid "Could not start hdiutil executable."
msgstr "تعذر بدء الملف التنفيذي hdiutil."
+msgid "Could not find template app to export: \"%s\"."
+msgstr "لا يُوجد \"تطبيق القالب\" لتصديره: \"%s\"."
+
+msgid "Invalid export format."
+msgstr "صيغة التصدير لا تصلح"
+
+msgid ""
+"Notarization: Both Apple ID name and App Store Connect issuer ID name are "
+"specified, only one should be set at the same time."
+msgstr ""
+"التوثيق: معرٍّف أبل(Apple ID) و معرف الأبستُر(AppStore ID) كلاهما قد حُددا، يجب "
+"تحديد واحد منهما فقط."
+
msgid "Notarization: Apple ID password not specified."
msgstr "التوثيق: لم يتم تحديد كلمة مرور Apple ID."
+msgid ""
+"Warning: Notarization is disabled. The exported project will be blocked by "
+"Gatekeeper if it's downloaded from an unknown source."
+msgstr ""
+"تحذير: التوثيق معطل. وهذا يعني أن الحارس سيحجب المشروع المُصدَّر إذا كان قد حُمّل "
+"من مصدر مجهول."
+
msgid "Invalid package short name."
msgstr "اسم الرُزمة القصير غير صالح."
@@ -8872,6 +9900,27 @@ msgstr "أبعاد صورة الشعار المربع 310x150 غير صالحة
msgid "Invalid splash screen image dimensions (should be 620x300)."
msgstr "أبعاد شاشة البداية غير صالحة (ينبغي أن تكون 620×300)."
+msgid "Could not open template for export: \"%s\"."
+msgstr "لا يمكن فتح القالب للتصدير: \"%s\"."
+
+msgid "Invalid export template: \"%s\"."
+msgstr "قالب التصدير لا يصح : \"%s\"."
+
+msgid "Could not write file: \"%s\"."
+msgstr "لا يمكن كتابة الملف: \"%s\"."
+
+msgid "Could not read file: \"%s\"."
+msgstr "لا يمكن قراءة الملف: \"%s\"."
+
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "ملف HTML لا يمكن قراءته : \"%s\"."
+
+msgid "Could not create HTTP server directory: %s."
+msgstr "خادوم الـHTTP لا يمكن إنشاء مجلده: %s."
+
+msgid "Error starting HTTP server: %d."
+msgstr "خادوم الـHTTP خطأ في تشغيله :%d ."
+
msgid "Stop HTTP Server"
msgstr "إيقاف مُخدم HTTP"
@@ -8881,6 +9930,18 @@ msgstr "تشغيل في المتصفح"
msgid "Run exported HTML in the system's default browser."
msgstr "شغل ملف HTML المُصدر في المتصفح الإفتراضي للنظام."
+msgid "Resources Modification"
+msgstr "تعديل المصادر"
+
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "فشل تسمية الملف المؤقت \"%s\"."
+
+msgid "Invalid identity type."
+msgstr "نوع الهوية أو المعرِّف غير صالح."
+
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "فشل حذف الملف المؤقت \"%s\"."
+
msgid "Invalid icon path:"
msgstr "مسار الأيقونة غير صالح:"
@@ -8895,11 +9956,10 @@ msgid ""
"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
"define its shape."
msgstr ""
-"لا تملك هذه العُقدة شكلاً، بالتالي إنها غير قادرة على التصادم أو التفاعل مع "
-"الكائنات الأخرى.\n"
-"ضع في الحسبان إضافة عُقدة بنت كالشكل التصادمي ثنائي الأبعاد CollisionShape2D "
-"أو الشكل التصادمي المُضلع ثنائي الأبعاد CollisionPolygon2D لتحديد الشكل "
-"الخاصة بها."
+"ليس لهذه العُقدة شكل، لذا هي غير قادرة على التصادم أو التفاعل مع الكائنات "
+"الأخرى.\n"
+"حاولْ أن تضيف لها عُقدة فرعية حتى تتشكل بشكلها، مثل عقدة: شكل-تصادم-ثنائي "
+"(CollisionShape2D) أو عقدة: مضلع-تصادم-ثنائي (CollisionPolygon2D)."
msgid "An empty CollisionPolygon2D has no effect on collision."
msgstr ""
@@ -9015,6 +10075,16 @@ msgstr ""
"هذا العظم يفتقر إلى وضع الراحة المناسب. انتقل إلى عقدة هيكلية ثنائية "
"البُعد(Skeleton2D) وقم بتعيين واحدة."
+msgid ""
+"This node has no shape, so it can't collide or interact with other objects.\n"
+"Consider adding a CollisionShape3D or CollisionPolygon3D as a child to "
+"define its shape."
+msgstr ""
+"ليس لهذه العُقدة شكل، لذا هي غير قادرة على التصادم أو التفاعل مع الكائنات "
+"الأخرى.\n"
+"حاولْ أن تضيف لها عُقدة فرعية حتى تتشكل بشكلها، مثل عقدة: شكل-تصادم-ثلاثي "
+"(CollisionShape3D) أو عقدة: مضلع-تصادم-ثلاثي (CollisionPolygon3D)."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "لا شيء مرئي لأنه لم يتم تعيين أي مجسم."
@@ -9069,6 +10139,12 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "العُقدة الرئيسة لمُشغل الرسومات المتحركة ليست عُقدة صالحة."
+msgid "Select a picker shape."
+msgstr "اختر شكل الملقاط."
+
+msgid "Select a picker mode."
+msgstr "اختر حالة الملقاط."
+
msgid "Switch between hexadecimal and code values."
msgstr "بدّل بين القيم البرمجية والسداسية العشرية."
@@ -9130,7 +10206,7 @@ msgid "Invalid source for shader."
msgstr "مصدر غير صالح لتظليل."
msgid "Filter"
-msgstr "المُرشح"
+msgstr "التصفية"
msgid "Repeat"
msgstr "كرر"
@@ -9147,6 +10223,12 @@ msgstr "التعين للإنتظام."
msgid "Constants cannot be modified."
msgstr "لا يمكن تعديل الثوابت."
+msgid "Empty statement. Remove ';' to fix this warning."
+msgstr "بيان فارغ. احذف علامة الفاصلة المنقوطة ';' لتجاوز هذا التحذير."
+
+msgid "Duplicated filter mode: '%s'."
+msgstr "وضع التصفية المضاعف: \"%s\"."
+
msgid "The local variable '%s' is declared but never used."
msgstr "تم فرض المُتغير المحلي '%s' ولكن لم يستعمل."
diff --git a/editor/translations/editor/bg.po b/editor/translations/editor/bg.po
index 997a698683..defeefaec8 100644
--- a/editor/translations/editor/bg.po
+++ b/editor/translations/editor/bg.po
@@ -2169,6 +2169,9 @@ msgstr "Избор на шаблонен файл"
msgid "Godot Export Templates"
msgstr "Шаблони за изнасяне на Godot"
+msgid "Resources to export:"
+msgstr "Ресурси за изнасяне:"
+
msgid "Exporting All"
msgstr "Изнасяне на всичко"
@@ -2193,9 +2196,6 @@ msgstr "Изнасяне на избраните ресурси (включит
msgid "Export Mode:"
msgstr "Режим на изнасяне:"
-msgid "Resources to export:"
-msgstr "Ресурси за изнасяне:"
-
msgid "Keep"
msgstr "Запазване"
diff --git a/editor/translations/editor/ca.po b/editor/translations/editor/ca.po
index 6175dd6260..38225c682d 100644
--- a/editor/translations/editor/ca.po
+++ b/editor/translations/editor/ca.po
@@ -3128,6 +3128,9 @@ msgstr ""
msgid "Runnable"
msgstr "Executable"
+msgid "Resources to export:"
+msgstr "Recursos per exportar:"
+
msgid "Delete preset '%s'?"
msgstr "Esborrar la configuració '%s' ?"
@@ -3161,9 +3164,6 @@ msgstr "Exporta els Recursos seleccionats (dependències incloses)"
msgid "Export Mode:"
msgstr "Mode d'Exportació:"
-msgid "Resources to export:"
-msgstr "Recursos per exportar:"
-
msgid ""
"Filters to export non-resource files/folders\n"
"(comma-separated, e.g: *.json, *.txt, docs/*)"
diff --git a/editor/translations/editor/cs.po b/editor/translations/editor/cs.po
index 47fdeacdc3..8a11d23d32 100644
--- a/editor/translations/editor/cs.po
+++ b/editor/translations/editor/cs.po
@@ -24,9 +24,9 @@
# VladimirBlazek <vblazek042@gmail.com>, 2020.
# kubajz22 <til.jakubesko@seznam.cz>, 2020.
# Václav Blažej <vaclavblazej@seznam.cz>, 2020, 2021.
-# ProfJack <profjackcz@gmail.com>, 2021.
+# ProfJack <profjackcz@gmail.com>, 2021, 2023.
# swifterik <blaha.j502@gmail.com>, 2021.
-# Daniel <dan@ger.cz>, 2021.
+# Daniel <dan@ger.cz>, 2021, 2023.
# Jakub Janšta <jansta.ja@gmail.com>, 2021, 2023.
# Petr Voparil <voparil.petr96@gmail.com>, 2022.
# JoeMoos <josephmoose13@gmail.com>, 2022.
@@ -43,8 +43,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-17 06:03+0000\n"
-"Last-Translator: Erik Mičulek <erikmiculek@gmail.com>\n"
+"PO-Revision-Date: 2023-05-11 05:49+0000\n"
+"Last-Translator: ProfJack <profjackcz@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/"
"cs/>\n"
"Language: cs\n"
@@ -52,7 +52,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Nenastaveno"
@@ -129,6 +129,9 @@ msgstr "Joystick 4 Osa Y"
msgid "Unknown Joypad Axis"
msgstr "Neznámá Osa Gamepadu"
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "Pohyb Joypadu na ose %d (%s) s hodnotou %.2f"
+
msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
msgstr "Spodní Akce, Sony Kříž, Xbox A, Nintendo B"
@@ -192,6 +195,28 @@ msgstr "Xbox Pádlo 4"
msgid "PS4/5 Touchpad"
msgstr "PS4/5 Dotykový panel"
+msgid "touched"
+msgstr "stisknutý"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "Obrazovka %s v (%s) s %s dotykovými body"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr "Obrazovka tažená %s dotykovými body na pozici (%s) rychlostí (%s)"
+
+msgid "Magnify Gesture at (%s) with factor %s"
+msgstr "Gesto přiblížení na (%s) s faktorem %s"
+
+msgid "Pan Gesture at (%s) with delta (%s)"
+msgstr "Gesto přesouvání na (%s) se změnou (%s)"
+
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "Vstup MIDI na Kanále=%s Zpráva=%s"
+
+msgid "Input Event with Shortcut=%s"
+msgstr "Vstupní událost se zkratkou=%s"
+
msgid "Accept"
msgstr "Potvrdit"
@@ -285,15 +310,30 @@ msgstr "Caret Slovo vlevo"
msgid "Caret Right"
msgstr "Caret vpravo"
+msgid "Caret Page Down"
+msgstr "Kurzor o stránku níž"
+
+msgid "Caret Add Above"
+msgstr "Přidat kurzor výš"
+
msgid "Select All"
msgstr "Vybrat vše"
+msgid "Select Word Under Caret"
+msgstr "Označit slovo pod kurzorem"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "Přidat další výskyt do označení"
+
msgid "Duplicate Nodes"
msgstr "Duplikovat uzly"
msgid "Delete Nodes"
msgstr "Smazat uzly"
+msgid "Go Up One Level"
+msgstr "Přejít o úroveň výš"
+
msgid "Refresh"
msgstr "Obnovit"
@@ -342,6 +382,15 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "Příklad: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d položka"
+msgstr[1] "%d položky"
+msgstr[2] "%d položek"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -352,6 +401,9 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Akce s názvem \"%s\" již existuje."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Není možný návrat - akce je shodná s původní"
+
msgid "Add Event"
msgstr "Přidat událost"
@@ -370,6 +422,9 @@ msgstr "Odstranit událost"
msgid "Add"
msgstr "Přidat"
+msgid "Show Built-in Actions"
+msgstr "Zobrazit vestavěné akce"
+
msgid "Action"
msgstr "Akce"
@@ -391,6 +446,21 @@ msgstr "Duplikovat vybrané klíč(e)"
msgid "Delete Selected Key(s)"
msgstr "Smazat vybrané klíč(e)"
+msgid "Make Handles Linear"
+msgstr "Udělat úchyty lineárními"
+
+msgid "Make Handles Balanced"
+msgstr "Udělat úchyty vyvážené"
+
+msgid "Make Handles Mirrored"
+msgstr "Udělat úchyty zrcadlené"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "Udělat úchyty vyvážené (automatická tečna)"
+
+msgid "Make Handles Mirrored (Auto Tangent)"
+msgstr "Udělat úchyty zrcadlené (automatická tečna)"
+
msgid "Add Bezier Point"
msgstr "Přidat bod Bézierovy křivky"
@@ -403,9 +473,18 @@ msgstr "Změnit délku animace"
msgid "Change Animation Loop"
msgstr "Změnit smyčku animace"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr "Nelze změnit režim smyčky na instanci animace z importované scény."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr "Nelze změnit režim smyčky na animaci vložené do jiné scény."
+
msgid "Property Track"
msgstr "Stopa vlastnosti"
+msgid "Blend Shape Track"
+msgstr "Stopa prolínání tvarů"
+
msgid "Call Method Track"
msgstr "Stopa volání metody"
@@ -466,6 +545,21 @@ msgstr "Zvětšení:"
msgid "Type:"
msgstr "Typ:"
+msgid "Handle mode: Free\n"
+msgstr "Režim úchytu: Volný\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Režim úchytu: Lineární\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Režim úchytu: Vyvážený\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Režim úchytu: Zrcadlený\n"
+
+msgid "Don't Use Blend"
+msgstr "Nepoužívat prolínání"
+
msgid "Continuous"
msgstr "Spojité"
@@ -508,6 +602,13 @@ msgstr "Změnit režim interpolace animace"
msgid "Change Animation Loop Mode"
msgstr "Změnit mód smyčky animace"
+msgid ""
+"Compressed tracks can't be edited or removed. Re-import the animation with "
+"compression disabled in order to edit."
+msgstr ""
+"Komprimované stopy nelze upravit ani odstranit. Pro úpravu přeimportuj "
+"animaci bez povolené komprese."
+
msgid "Remove Anim Track"
msgstr "Odstranit stopu animace"
@@ -582,6 +683,9 @@ msgstr "Měřítko"
msgid "Methods"
msgstr "Metody"
+msgid "Bezier"
+msgstr "Bézier"
+
msgid "Audio"
msgstr "Zvuk"
@@ -591,6 +695,9 @@ msgstr "Schránka je prázdná!"
msgid "Paste Tracks"
msgstr "Vložit stopy"
+msgid "Make Easing Keys"
+msgstr "Vytvoř klíče pro dynamiku"
+
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
@@ -604,6 +711,9 @@ msgid "Select an AnimationPlayer node to create and edit animations."
msgstr ""
"Pro přidání a úpravu animací vyberte ze stromu scény uzel AnimationPlayer."
+msgid "Toggle between the bezier curve editor and track editor."
+msgstr "Přepnout mezi editorem bézierovy křivky a editorem stopy."
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Zobrazit pouze stopy vybraných uzlů."
@@ -682,6 +792,9 @@ msgstr "Pročistit"
msgid "Scale Ratio:"
msgstr "Poměr zvětšení:"
+msgid "Select Transition and Easing"
+msgstr "Vybrat přechod a dynamiku"
+
msgid "Select Tracks to Copy"
msgstr "Vybrat stopy ke kopírování"
@@ -782,6 +895,9 @@ msgstr "Scéna neobsahuje žádný skript."
msgid "Select Method"
msgstr "Vybrat metodu"
+msgid "No method found matching given filters."
+msgstr "Daným filtrům neodpovídá žádná metoda."
+
msgid "Remove"
msgstr "Odebrat"
@@ -3002,6 +3118,9 @@ msgstr ""
msgid "Runnable"
msgstr "Spustitelný"
+msgid "Resources to export:"
+msgstr "Zdroje k exportu:"
+
msgid "Delete preset '%s'?"
msgstr "Odstranit předvolbu '%s'?"
@@ -3048,9 +3167,6 @@ msgstr "Exportovat vybrané zdroje (a závislosti)"
msgid "Export Mode:"
msgstr "Expertní režim:"
-msgid "Resources to export:"
-msgstr "Zdroje k exportu:"
-
msgid "Keep"
msgstr "Zachovat"
@@ -4551,7 +4667,7 @@ msgstr ""
"Nemusíte ji povolovat abyste mohli použít lokální ladění GDScriptu."
msgid "Small Deploy with Network Filesystem"
-msgstr "Tenké nasazení pomocí síťového souborového sistému"
+msgstr "Tenké nasazení pomocí síťového souborového systému"
msgid ""
"When this option is enabled, using one-click deploy for Android will only "
diff --git a/editor/translations/editor/de.po b/editor/translations/editor/de.po
index 9cc2e9e97e..c6af83ae67 100644
--- a/editor/translations/editor/de.po
+++ b/editor/translations/editor/de.po
@@ -104,8 +104,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-13 17:34+0000\n"
-"Last-Translator: Janosch Lion <janorico@posteo.de>\n"
+"PO-Revision-Date: 2023-05-14 11:51+0000\n"
+"Last-Translator: So Wieso <sowieso@dukun.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -113,7 +113,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Nicht gesetzt"
@@ -4566,6 +4566,12 @@ msgstr ""
"Alle Exportvorlagen müssen einen Export-Pfad festlegen damit „Alle "
"exportieren“ funktioniert."
+msgid "Resources to exclude:"
+msgstr "Auszuschließende Ressourcen:"
+
+msgid "Resources to export:"
+msgstr "Zu exportierende Ressourcen:"
+
msgid "Delete preset '%s'?"
msgstr "Vorlage ‚%s‘ löschen?"
@@ -4622,9 +4628,6 @@ msgstr "Als dedizierten Server exportieren"
msgid "Export Mode:"
msgstr "Export-Modus:"
-msgid "Resources to export:"
-msgstr "Zu exportierende Ressourcen:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
@@ -12159,9 +12162,9 @@ msgid ""
"\n"
"Are you sure you wish to continue?"
msgstr ""
-"Es wurde ausgewählt ein neues Godot-Projekt in einem nicht-leeren Ordner zu "
-"erstellen.\n"
-"Demnach werden alle Inhalte des Ordners als Projekt-Ressourcen importiert!\n"
+"Die aktuelle Konfiguration legt ein neues Godot-Projekt in einem nicht-"
+"leeren Ordner an.\n"
+"Dabei werden alle Inhalte des Ordners als Projekt-Ressourcen importiert!\n"
"\n"
"Soll entsprechend fortgefahren werden?"
@@ -15730,6 +15733,12 @@ msgstr ""
"ButtonGroup sollte nur mit Knöpfen verwendet werden deren toggle_mode als "
"wahr festgelegt wurde."
+msgid "Copy this constructor in a script."
+msgstr "Diesen Konstruktor in ein Skript kopieren."
+
+msgid "Enter a hex code (\"#ff0000\") or named color (\"red\")."
+msgstr "Einen Hex-Code (\"#ff0000\") oder einen Farbnamen (\"red\") eingeben."
+
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
@@ -15758,6 +15767,9 @@ msgstr "Auswahlmodus wählen."
msgid "Switch between hexadecimal and code values."
msgstr "Wechselt zwischen Hexadezimal- und Zahlenwerten."
+msgid "Hex code or named color"
+msgstr "Hex-Code oder Farbname"
+
msgid "Add current color as a preset."
msgstr "Aktuelle Farbe als Vorlage hinzufügen."
diff --git a/editor/translations/editor/el.po b/editor/translations/editor/el.po
index e3b1a49d20..bb99c6c495 100644
--- a/editor/translations/editor/el.po
+++ b/editor/translations/editor/el.po
@@ -2700,6 +2700,9 @@ msgstr "Προτύπων Εξαγωγής Godot"
msgid "Runnable"
msgstr "Εκτελέσιμο"
+msgid "Resources to export:"
+msgstr "Πόροι για εξαγωγή:"
+
msgid "Delete preset '%s'?"
msgstr "Διαγραφή διαμόρφωσης '%s';"
@@ -2747,9 +2750,6 @@ msgstr "Εξαγωγή επιλεγμένων πόρων (και εξαρτήσ
msgid "Export Mode:"
msgstr "Λειτουργία εξαγωγής:"
-msgid "Resources to export:"
-msgstr "Πόροι για εξαγωγή:"
-
msgid "Keep"
msgstr "Διατήρηση"
diff --git a/editor/translations/editor/es.po b/editor/translations/editor/es.po
index 4fdc449de8..6fb5427ef4 100644
--- a/editor/translations/editor/es.po
+++ b/editor/translations/editor/es.po
@@ -103,13 +103,14 @@
# Federico Sebastián Florentin <federicoflorentin6@gmail.com>, 2023.
# Joinner Medina <devjoi2018@gmail.com>, 2023.
# Pedro Torcatt <pedrotorcattsoto@gmail.com>, 2023.
+# Pedro Zebenzui Ortega Diaz <pipo.tf@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-17 17:39+0000\n"
-"Last-Translator: Luis Ortiz <luisortiz66@hotmail.com>\n"
+"PO-Revision-Date: 2023-05-17 00:52+0000\n"
+"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
"Language: es\n"
@@ -117,7 +118,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Desactivar"
@@ -3973,7 +3974,7 @@ msgid "No Named Layers"
msgstr "Capas Sin Nombre"
msgid "Edit Layer Names"
-msgstr "Editar Nombres de Capas"
+msgstr "Editar Nombres de Capa"
msgid "<empty>"
msgstr "<vacío>"
@@ -4560,6 +4561,12 @@ msgstr ""
"Todos los presets deben tener una ruta de exportación definida para que "
"Exportar Todo funcione."
+msgid "Resources to exclude:"
+msgstr "Recursos a excluir:"
+
+msgid "Resources to export:"
+msgstr "Recursos a exportar:"
+
msgid "Delete preset '%s'?"
msgstr "¿Eliminar preajuste '%s'?"
@@ -4617,9 +4624,6 @@ msgstr "Exportar como servidor dedicado"
msgid "Export Mode:"
msgstr "Modo de Exportación:"
-msgid "Resources to export:"
-msgstr "Recursos a exportar:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
@@ -5947,7 +5951,7 @@ msgstr "Cambiar Filtro"
msgid "No animation player set, so unable to retrieve track names."
msgstr ""
-"No se asigno ningún reproductor de animación, así que no se pudieron obtener "
+"No se asignó ningún reproductor de animación, así que no se pudieron obtener "
"los nombres de las pistas."
msgid "Player path set is invalid, so unable to retrieve track names."
@@ -6071,7 +6075,7 @@ msgid "Invalid AnimationLibrary file."
msgstr "Archivo AnimationLibrary inválido."
msgid "This library is already added to the player."
-msgstr "Esta librería ya se ha agregado al reproductor."
+msgstr "Esta librería ya está agregada al reproductor."
msgid "Invalid Animation file."
msgstr "Archivo Animation inválido."
@@ -6238,7 +6242,7 @@ msgid "Edit Transitions..."
msgstr "Editar Transiciones..."
msgid "Display list of animations in player."
-msgstr "Mostrar la lista de animaciones en el reproductor."
+msgstr "Mostrar lista de animaciones en el reproductor."
msgid "Autoplay on Load"
msgstr "Reproducción Automática al Cargar"
@@ -7507,6 +7511,15 @@ msgstr "Tamaño de RAM de video: %s MB (%s)"
msgid "Bake SDF"
msgstr "Bakear SDF"
+msgid ""
+"No faces detected during GPUParticlesCollisionSDF3D bake.\n"
+"Check whether there are visible meshes matching the bake mask within its "
+"extents."
+msgstr ""
+"No se han detectado caras durante el bakeado de GPUParticlesCollisionSDF3D.\n"
+"Comprueba si hay mallas visibles que coincidan con la máscara de bakeo "
+"dentro de sus extensiones."
+
msgid "Select path for SDF Texture"
msgstr "Seleccione la ruta para la textura SDF"
@@ -8070,9 +8083,15 @@ msgstr "Alinear la Transformación con la Vista"
msgid "Align Rotation with View"
msgstr "Alinear la Rotación con la Vista"
+msgid "Set Surface %d Override Material"
+msgstr "Establecer Reemplazo de Material de Superficie %d"
+
msgid "Set Material Override"
msgstr "Establecer Anulación de Material"
+msgid "Cannot drag and drop into multiple selected nodes."
+msgstr "No se puede arrastrar y soltar en varios nodos seleccionados."
+
msgid "None"
msgstr "Ninguno"
@@ -8133,6 +8152,9 @@ msgstr "Albedo de VoxelGI"
msgid "VoxelGI Emission"
msgstr "Emisión de VoxelGI"
+msgid "SDFGI Cascades"
+msgstr "Cascadas SDFGI"
+
msgid "SDFGI Probes"
msgstr "Sondas SDFGI"
@@ -8142,11 +8164,26 @@ msgstr "Iluminación de Escena"
msgid "SSAO"
msgstr "SSAO"
+msgid "SSIL"
+msgstr "SSIL"
+
+msgid "VoxelGI/SDFGI Buffer"
+msgstr "Búfer de VoxelGI/SDFGI"
+
msgid "Disable Mesh LOD"
msgstr "Desactivar LOD de Mesh"
+msgid "OmniLight3D Cluster"
+msgstr "Grupo de OmniLight3D"
+
+msgid "SpotLight3D Cluster"
+msgstr "Grupo de SpotLight3D"
+
+msgid "Decal Cluster"
+msgstr "Grupo de Calcomanías"
+
msgid "ReflectionProbe Cluster"
-msgstr "Clúster ReflectionProbe"
+msgstr "Grupo de ReflectionProbe"
msgid "Occlusion Culling Buffer"
msgstr "Búfer de Occlusion Culling"
@@ -8208,6 +8245,21 @@ msgstr "Modificador de Velocidad de Vista Libre"
msgid "Freelook Slow Modifier"
msgstr "Modificador de Velocidad de Vista Libre"
+msgid "Lock Transformation to X axis"
+msgstr "Bloquear Transformación al eje X"
+
+msgid "Lock Transformation to Y axis"
+msgstr "Bloquear Transformación al eje Y"
+
+msgid "Lock Transformation to Z axis"
+msgstr "Bloquear Transformación al eje Z"
+
+msgid "Lock Transformation to YZ plane"
+msgstr "Bloquear Transformación al plano YZ"
+
+msgid "Lock Transformation to XZ plane"
+msgstr "Bloquear Transformación al plano XZ"
+
msgid "Lock Transformation to XY plane"
msgstr "Bloquear Transformación al plano XY"
@@ -8287,12 +8339,24 @@ msgstr ""
msgid "Preview disabled."
msgstr "Vista previa desactivada."
+msgid ""
+"Scene contains\n"
+"WorldEnvironment.\n"
+"Preview disabled."
+msgstr ""
+"Contenidos de la Escena.\n"
+"Entorno Mundial.\n"
+"Vista Previa Desactivada."
+
msgid "Use Local Space"
msgstr "Usar Espacio Local"
msgid "Use Snap"
msgstr "Usar Snap"
+msgid "Edit Sun and Environment settings."
+msgstr "Editar Sol y Configuraciones del Entorno."
+
msgid "Bottom View"
msgstr "Vista Inferior"
@@ -8495,6 +8559,16 @@ msgstr ""
"No se puede determinar una ruta de guardado para el ocluder.\n"
"Guarda tu escena y vuelve a intentarlo."
+msgid ""
+"No meshes to bake.\n"
+"Make sure there is at least one MeshInstance3D node in the scene whose "
+"visual layers are part of the OccluderInstance3D's Bake Mask property."
+msgstr ""
+"No hay mallas para bakear.\n"
+"Asegúrate de que haya al menos un nodo MeshInstance3D en la escena cuyas "
+"capas visuales formen parte de la propiedad Máscara de Bakeo de "
+"OccluderInstance3D."
+
msgid "Could not save the new occluder at the specified path:"
msgstr "No se ha podido guardar el nuevo oclusor en la ruta especificada:"
@@ -9434,6 +9508,11 @@ msgstr[1] "{num} constantes"
msgid "No constants found."
msgstr "No se encontraron constants."
+msgid "1 font"
+msgid_plural "{num} fonts"
+msgstr[0] "1 Fuente"
+msgstr[1] "{num} Fuentes"
+
msgid "No fonts found."
msgstr "No se han encontrado fonts."
@@ -9445,6 +9524,11 @@ msgstr[1] "{num} tamaño de fuentes"
msgid "No font sizes found."
msgstr "No se han encontrado tamaños de fuente."
+msgid "1 icon"
+msgid_plural "{num} icons"
+msgstr[0] "1 icono"
+msgstr[1] "{num} iconos"
+
msgid "No icons found."
msgstr "No se han encontrado icons."
@@ -9798,9 +9882,15 @@ msgstr "Establecer Elemento de Color en el Theme"
msgid "Set Constant Item in Theme"
msgstr "Establecer Elemento Constante en el Theme"
+msgid "Set Font Size Item in Theme"
+msgstr "Establecer Tamaño de la Fuente en el Objeto del Tema"
+
msgid "Set Font Item in Theme"
msgstr "Establecer Elemento de Fuente en el Theme"
+msgid "Set Icon Item in Theme"
+msgstr "Establecer Icono en el Tema"
+
msgid "Set Stylebox Item in Theme"
msgstr "Establecer Elemento Stylebox en el Theme"
@@ -9952,6 +10042,12 @@ msgstr "Archivo inválido, no es un recurso PackedScene."
msgid "Reload the scene to reflect its most actual state."
msgstr "Recargar la escena para reflejar su estado actual."
+msgid "Merge TileSetAtlasSource"
+msgstr "Combinar TileSetAtlasSource"
+
+msgid "%s (ID: %d)"
+msgstr "%s (ID: %d)"
+
msgid "Atlas Merging"
msgstr "Combinar Atlas"
@@ -9994,6 +10090,9 @@ msgstr "Editar Polígonos"
msgid "Add polygon tool"
msgstr "Añadir herramienta de polígonos"
+msgid "Edit points tool"
+msgstr "Herramienta de edición de puntos"
+
msgid "Delete points tool"
msgstr "Herramienta de eliminación de puntos"
@@ -10110,15 +10209,43 @@ msgstr "Fuente seleccionada inválida."
msgid "Patterns"
msgstr "Patrones"
+msgid "Drag and drop or paste a TileMap selection here to store a pattern."
+msgstr ""
+"Arrastra y suelta o pega una selección de TileMap aquí para almacenar un "
+"patrón."
+
msgid "Paint terrain"
msgstr "Pintar terreno"
+msgid "Matches Corners and Sides"
+msgstr "Coincide con Esquinas y Lados"
+
msgid "Matches Corners Only"
msgstr "Coincide Solo con las Esquinas"
msgid "Matches Sides Only"
msgstr "Coincide Solo con los Lados"
+msgid "Terrain Set %d (%s)"
+msgstr "Conjunto de Terrenos %d (%s)"
+
+msgid ""
+"Connect mode: paints a terrain, then connects it with the surrounding tiles "
+"with the same terrain."
+msgstr ""
+"Modo conectar: pinta un terreno y luego lo conecta con los tiles "
+"circundantes con el mismo terreno."
+
+msgid ""
+"Path mode: paints a terrain, thens connects it to the previous tile painted "
+"within the same stroke."
+msgstr ""
+"Modo ruta: pinta un terreno, luego lo conecta con el tile anterior pintado "
+"dentro del mismo trazo."
+
+msgid "Terrains"
+msgstr "Terrenos"
+
msgid "Replace Tiles with Proxies"
msgstr "Reemplazar Tiles con Proxies"
@@ -10134,6 +10261,9 @@ msgstr "Seleccionar Anterior Capa del Mapa de Tiles"
msgid "TileMap Layers"
msgstr "Capas del TileMap"
+msgid "Highlight Selected TileMap Layer"
+msgstr "Resaltar la Capa Seleccionada del TileMap"
+
msgid "Toggle grid visibility."
msgstr "Cambiar visibilidad de la cuadrícula."
@@ -10146,9 +10276,36 @@ msgstr "El nodo TileMap editado no tiene un recurso TileSet."
msgid "Remove Tile Proxies"
msgstr "Eliminar Proxies de Tiles"
+msgid "Create Alternative-level Tile Proxy"
+msgstr "Crear Proxy de Nivel Alternativo para el TileMap"
+
+msgid "Create Coords-level Tile Proxy"
+msgstr "Crear Proxy de Nivel de Coordenadas para el TileMap"
+
+msgid "Create source-level Tile Proxy"
+msgstr "Crear Proxy de nivel de Origen para el TileMap"
+
+msgid "Delete All Invalid Tile Proxies"
+msgstr "Eliminar Todos los Proxies de Tiles Inválidos"
+
msgid "Delete All Tile Proxies"
msgstr "Eliminar Todos los Proxies de Tiles"
+msgid "Tile Proxies Management"
+msgstr "Gestión de Proxies de Tiles"
+
+msgid "Source-level proxies"
+msgstr "Proxies a nivel de origen"
+
+msgid "Coords-level proxies"
+msgstr "Proxies a nivel de coordenadas"
+
+msgid "Alternative-level proxies"
+msgstr "Proxies a nivel alternativo"
+
+msgid "Add a new tile proxy:"
+msgstr "Añadir nuevo proxy de tiles:"
+
msgid "From Source"
msgstr "Desde la Fuente"
@@ -10159,13 +10316,13 @@ msgid "From Alternative"
msgstr "Desde Alternativo"
msgid "To Source"
-msgstr "A la Fuente"
+msgstr "Al Origen"
msgid "To Coords"
msgstr "A las Coordenadas"
msgid "To Alternative"
-msgstr "A Alternativa"
+msgstr "A Alternativo"
msgid "Global actions:"
msgstr "Acciones Globales:"
@@ -13174,17 +13331,43 @@ msgid "Not possible to add a new property to synchronize without a root."
msgstr ""
"No es posible añadir una nueva propiedad para sincronizar sin una raíz."
+msgid "Add from path"
+msgstr "Añadir desde ruta"
+
+msgid "Please select a MultiplayerSynchronizer first."
+msgstr "Por favor, selecciona primero un MultiplayerSynchronizer."
+
+msgid "Set spawn property"
+msgstr "Establecer propiedad de spawn"
+
+msgid "Set sync property"
+msgstr "Establecer propiedad de sincronización"
+
msgid "Delete Property?"
msgstr "¿Eliminar Propiedad?"
msgid "Remove Property"
msgstr "Eliminar Propiedad"
+msgid ""
+"A valid NodePath must be set in the \"Spawn Path\" property in order for "
+"MultiplayerSpawner to be able to spawn Nodes."
+msgstr ""
+"Se debe establecer una ruta de nodo válida en la propiedad \"Spawn Path\" "
+"para que MultiplayerSpawner pueda generar nodos."
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"Se debe crear o establecer un recurso NavigationMesh para que este nodo "
"funcione."
+msgid ""
+"Cannot generate navigation mesh because it does not belong to the edited "
+"scene. Make it unique first."
+msgstr ""
+"No se puede generar una malla de navegación porque no pertenece a la escena "
+"editada. Hazla única primero."
+
msgid "Bake NavMesh"
msgstr "Bakear NavMesh"
@@ -13230,15 +13413,93 @@ msgstr "Analizando geometría..."
msgid "Done!"
msgstr "¡Hecho!"
+msgid "Rename Action"
+msgstr "Renombrar Acción"
+
+msgid "Rename Actions Localized name"
+msgstr "Renombrar nombre Localizado de las Acciones"
+
+msgid "Change Action Type"
+msgstr "Cambiar Tipo de Acción"
+
+msgid "Remove action"
+msgstr "Eliminar acción"
+
+msgid "Add action set"
+msgstr "Añadir conjunto de acciones"
+
+msgid "Remove action set"
+msgstr "Eliminar conjunto de acciones"
+
+msgid "Add interaction profile"
+msgstr "Añadir perfil de interacción"
+
+msgid "Error saving file %s: %s"
+msgstr "Error al guardar el archivo %s: %s"
+
msgid "Error loading %s: %s."
msgstr "Error al cargar %s: %s."
+msgid "OpenXR Action map:"
+msgstr "Mapa de acción de OpenXR:"
+
+msgid "Remove interaction profile"
+msgstr "Eliminar perfil de interacción"
+
+msgid "Action Map"
+msgstr "Mapa de Acción"
+
+msgid "Add Action Set"
+msgstr "Añadir Conjunto de Acciones"
+
msgid "Add an action set."
msgstr "Añadir un conjunto de acciones."
+msgid "Add profile"
+msgstr "Añadir perfil"
+
+msgid "Add an interaction profile."
+msgstr "Añadir un perfil de interacción."
+
+msgid "Action Sets"
+msgstr "Conjunto de Acciones"
+
+msgid "Rename Action Set"
+msgstr "Renombrar Conjunto de Acciones"
+
+msgid "Change Action Sets priority"
+msgstr "Cambiar prioridad de los Conjuntos de Acciones"
+
+msgid "Add action"
+msgstr "Añadir acción"
+
+msgid "Delete action"
+msgstr "Eliminar acción"
+
+msgid "OpenXR Action Map"
+msgstr "Mapa de Acción OpenXR"
+
+msgid "Remove action from interaction profile"
+msgstr "Eliminar acción del perfil de interacción"
+
+msgid "Add binding"
+msgstr "Añadir enlace"
+
+msgid "Remove binding"
+msgstr "Eliminar enlace"
+
msgid "Pose"
msgstr "Pose"
+msgid "Haptic"
+msgstr "Háptico"
+
+msgid "Unknown"
+msgstr "Desconocido"
+
+msgid "Select an action"
+msgstr "Selecciona una acción"
+
msgid "Package name is missing."
msgstr "Falta el nombre del paquete."
@@ -14105,6 +14366,16 @@ msgstr ""
"No hay nada visible porque no se han asignado mallas para los pases de "
"dibujo."
+msgid ""
+"The Bake Mask has no bits enabled, which means baking will not produce any "
+"collision for this GPUParticlesCollisionSDF3D.\n"
+"To resolve this, enable at least one bit in the Bake Mask property."
+msgstr ""
+"La Máscara de Bakeo no tiene bits habilitados, lo que significa que el "
+"bakeado no producirá ninguna colisión para este GPUParticlesCollisionSDF3D.\n"
+"Para resolver esto, habilita al menos un bit en la propiedad Máscara de "
+"Bakeo."
+
msgid "Finding meshes, lights and probes"
msgstr "Encontrar mallas, luces y sondas"
@@ -14114,6 +14385,17 @@ msgstr "Crear sondas"
msgid "Generating Probe Volumes"
msgstr "Generando Volúmenes de Sonda"
+msgid ""
+"The Bake Mask has no bits enabled, which means baking will not produce any "
+"occluder meshes for this OccluderInstance3D.\n"
+"To resolve this, enable at least one bit in the Bake Mask property."
+msgstr ""
+"La Máscara de Bakeo no tiene bits habilitados, lo que significa que el "
+"bakeado no producirá ninguna malla de oclusión para este "
+"OccluderInstance3D.\n"
+"Para resolver esto, habilita al menos un bit en la propiedad Máscara de "
+"Bakeo."
+
msgid "This body will be ignored until you set a mesh."
msgstr "Este cuerpo será ignorado hasta que se establezca una malla."
diff --git a/editor/translations/editor/es_AR.po b/editor/translations/editor/es_AR.po
index d1054d5d4d..0b96b09666 100644
--- a/editor/translations/editor/es_AR.po
+++ b/editor/translations/editor/es_AR.po
@@ -2768,6 +2768,9 @@ msgstr ""
msgid "Runnable"
msgstr "Ejecutable"
+msgid "Resources to export:"
+msgstr "Recursos a exportar:"
+
msgid "Delete preset '%s'?"
msgstr "Eliminar preset '%s'?"
@@ -2815,9 +2818,6 @@ msgstr "Exportar recursos seleccionados (y dependencias)"
msgid "Export Mode:"
msgstr "Modo de Exportación:"
-msgid "Resources to export:"
-msgstr "Recursos a exportar:"
-
msgid "Keep"
msgstr "Conservar"
diff --git a/editor/translations/editor/fa.po b/editor/translations/editor/fa.po
new file mode 100644
index 0000000000..03bd4730e6
--- /dev/null
+++ b/editor/translations/editor/fa.po
@@ -0,0 +1,4062 @@
+# Persian translation of the Godot Engine editor interface.
+# Copyright (c) 2014-present Godot Engine contributors.
+# Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
+# This file is distributed under the same license as the Godot source code.
+# alabd14313 <alabd14313@yahoo.com>, 2016.
+# Dante Marshal <Marshal.Devilhunter@gmail.com>, 2018.
+# hamed nasib <cghamed752@chmail.ir>, 2016.
+# Hasan Hejdari Nasab <hsn6@openmailbox.org>, 2017.
+# rezapouya <r.pouya@chmail.ir>, 2016.
+# sayyed hamed nasib <cghamed752@chmail.ir>, 2017.
+# Behrooz Kashani <bkashani@gmail.com>, 2018.
+# Mahdi <sadisticwarlock@gmail.com>, 2018.
+# hpn33 <hamed.hpn332@gmail.com>, 2019, 2020.
+# Focus <saeeddashticlash@gmail.com>, 2019, 2020.
+# mohamad por <mohamad24xx@gmail.com>, 2020.
+# Tetra Homer <tetrahomer@gmail.com>, 2020.
+# Farshad Faemiyi <ffaemiyi@gmail.com>, 2020.
+# Pikhosh <pikhosh@gmail.com>, 2020.
+# MSKF <walkingdeadstudio@outlook.com>, 2020.
+# Ahmad Maftoun <CarCedo.Pro@gmail.com>, 2020.
+# ItzMiad44909858f5774b6d <maidggg@gmail.com>, 2020.
+# YASAN <yasandev@gmail.com>, 2021.
+# duniyal ras <duniyalr@gmail.com>, 2021.
+# عبدالرئوف عابدی <abdolraoofabedi@gmail.com>, 2021.
+# Alireza Khodabande <alirezakhodabande74@gmail.com>, 2021.
+# Seyed Fazel Alavi <fazel8195@gmail.com>, 2022.
+# Giga hertz <gigahertzyt@gmail.com>, 2022.
+# Aryan Azadeh <aryan@azadeh.email>, 2022.
+# Mitsuha Miamizu <mitsuha.miamizu4444@gmail.com>, 2022.
+# LordProfo <nimaentity30@gmail.com>, 2022.
+# LordProfo (Nima) <nimaentity30@gmail.com>, 2022, 2023.
+# John Smith <pkafsharix@gmail.com>, 2022.
+# Ali Jafari <ali.jafari.sn@gmail.com>, 2022.
+# Ali Almasi <A710almasi@gmail.com>, 2022.
+# 2g.2d.2t <2g.2d.2t@gmail.com>, 2022.
+# "LordProfo (Nima)" <nimaentity30@gmail.com>, 2023.
+# behrooz bozorg chami <behroozbc@outlook.com>, 2023.
+# mary karaby <karabymary@gmail.com>, 2023.
+# M <bafandehmajid@gmail.com>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor interface\n"
+"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2023-05-14 11:52+0000\n"
+"Last-Translator: M <bafandehmajid@gmail.com>\n"
+"Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/"
+"godot/fa/>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.18-dev\n"
+
+msgid "Unset"
+msgstr "تنظیم نشده"
+
+msgid "Physical"
+msgstr "فیزیکی"
+
+msgid "Left Mouse Button"
+msgstr "دکمهٔ چپ ماوس"
+
+msgid "Right Mouse Button"
+msgstr "دکمهٔ راست ماوس"
+
+msgid "Middle Mouse Button"
+msgstr "دکمهٔ میانی ماوس"
+
+msgid "Mouse Wheel Up"
+msgstr "غلطاندن به بالا ماوس"
+
+msgid "Mouse Wheel Down"
+msgstr "غلطاندن به پایین ماوس"
+
+msgid "Button"
+msgstr "دکمه"
+
+msgid "Double Click"
+msgstr "دابل کلیک"
+
+msgid "Pressure:"
+msgstr "فشار:"
+
+msgid "touched"
+msgstr "لمس شده"
+
+msgid "released"
+msgstr "رها شده"
+
+msgid "Accept"
+msgstr "پذیرش"
+
+msgid "Select"
+msgstr "انتخاب"
+
+msgid "Cancel"
+msgstr "لغو"
+
+msgid "Left"
+msgstr "چپ"
+
+msgid "Right"
+msgstr "راست"
+
+msgid "Up"
+msgstr "بالا"
+
+msgid "Down"
+msgstr "پایین"
+
+msgid "Page Up"
+msgstr "Page Up"
+
+msgid "Page Down"
+msgstr "Page Down"
+
+msgid "Home"
+msgstr "خانه"
+
+msgid "End"
+msgstr "پایان"
+
+msgid "Cut"
+msgstr "برش"
+
+msgid "Copy"
+msgstr "کپی"
+
+msgid "Paste"
+msgstr "چسباندن"
+
+msgid "Undo"
+msgstr "عقب‌گرد"
+
+msgid "Redo"
+msgstr "جلوگرد"
+
+msgid "New Line"
+msgstr "خط جدید"
+
+msgid "New Blank Line"
+msgstr "خط خالی جدید"
+
+msgid "Indent"
+msgstr "تورفتگی"
+
+msgid "Backspace"
+msgstr "بک اسپیس"
+
+msgid "Delete"
+msgstr "پاک"
+
+msgid "Delete Word"
+msgstr "حذف کلمه"
+
+msgid "Scroll Up"
+msgstr "اسکرول به بالا"
+
+msgid "Scroll Down"
+msgstr "اسکرول به پایین"
+
+msgid "Select All"
+msgstr "انتخاب همه"
+
+msgid "Duplicate Nodes"
+msgstr "گره‌های تکراری"
+
+msgid "Delete Nodes"
+msgstr "حذف گره‌ها"
+
+msgid "Refresh"
+msgstr "تازه‌سازی"
+
+msgid "Invalid input %d (not passed) in expression"
+msgstr "ورودی نامعتبر %d (تایید نشده) در عبارت"
+
+msgid "self can't be used because instance is null (not passed)"
+msgstr "از self نمی‌توان استفاده کرد زیرا نمونه null است (مقدار نگرفته است)"
+
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "عملوند های نامعتبر به عملگر %s, %s , %s."
+
+msgid "Invalid index of type %s for base type %s"
+msgstr "نوع ایندکس %s برای نوع اصلی %s نامعتبر است"
+
+msgid "Invalid named index '%s' for base type %s"
+msgstr "ایندکس اسمی '%s' برای نوع اصلی %s نامعتبر است"
+
+msgid "Invalid arguments to construct '%s'"
+msgstr "آرگومان های نامعتبر برای ساخت '%s'"
+
+msgid "On call to '%s':"
+msgstr "به هنگام فراخوان تابع '%s':"
+
+msgid "B"
+msgstr "بایت"
+
+msgid "KiB"
+msgstr "کیلوبایت"
+
+msgid "MiB"
+msgstr "مگابایت"
+
+msgid "GiB"
+msgstr "گیگابایت"
+
+msgid "TiB"
+msgstr "ترابایت"
+
+msgid "PiB"
+msgstr "پتابایت"
+
+msgid "EiB"
+msgstr "اگزابایت"
+
+msgid "Example: %s"
+msgstr "مثال: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d مورد"
+msgstr[1] "%d مورد"
+
+msgid "An action with the name '%s' already exists."
+msgstr "عملیاتی با نام '%s' از قبل وجود دارد."
+
+msgid "Add Event"
+msgstr "افزودن رویداد"
+
+msgid "Filter by name..."
+msgstr "فیلتر‌ با نام..."
+
+msgid "Add"
+msgstr "افزودن"
+
+msgid "Action"
+msgstr "عمل"
+
+msgid "Time:"
+msgstr "زمان:"
+
+msgid "Value:"
+msgstr "مقدار:"
+
+msgid "Insert Key Here"
+msgstr "کلید را اینجا وارد کنید"
+
+msgid "Duplicate Selected Key(s)"
+msgstr "تکرار کلید(های) منتخب"
+
+msgid "Delete Selected Key(s)"
+msgstr "حذف کلید(های) منتخب"
+
+msgid "Add Bezier Point"
+msgstr "افزودن نقطه بِزیِر"
+
+msgid "Move Bezier Points"
+msgstr "انتقال نقاط بِزیِر"
+
+msgid "Focus"
+msgstr "تمرکز"
+
+msgid "Change Animation Length"
+msgstr "تغییر طول انیمیشن"
+
+msgid "Change Animation Loop"
+msgstr "تغییر حلقه(loop) انیمیشن"
+
+msgid "Property Track"
+msgstr "ویژگی مسیر"
+
+msgid "Call Method Track"
+msgstr "فراخوان تابع مسیر"
+
+msgid "Bezier Curve Track"
+msgstr "مسیر منحنی Bezier"
+
+msgid "Audio Playback Track"
+msgstr "مسیر Audio Playback"
+
+msgid "Animation Playback Track"
+msgstr "مسیر پخش انیمیشن"
+
+msgid "Animation length (frames)"
+msgstr "طول انیمیشن (فریم)"
+
+msgid "Animation length (seconds)"
+msgstr "طول انیمیشن (ثانیه)"
+
+msgid "Add Track"
+msgstr "افزودن ترک"
+
+msgid "Animation Looping"
+msgstr "تکرار انیمیشن"
+
+msgid "Functions:"
+msgstr "وظایف:"
+
+msgid "Audio Clips:"
+msgstr "کلیپ‌های صوتی:"
+
+msgid "Change Track Path"
+msgstr "تغییرمسیر ترک"
+
+msgid "Toggle this track on/off."
+msgstr "دِگرحالتِ روشن/خاموش این قطعه."
+
+msgid "Update Mode (How this property is set)"
+msgstr "حالت به‌روزرسانی (نحوه تنظیم این ویژگی)"
+
+msgid "Interpolation Mode"
+msgstr "حالت درون‌یابی"
+
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr "حالت بسته بندی حلقه (انتهای درون قطبی با شروع در حلقه)"
+
+msgid "Remove this track."
+msgstr "این ترک را حذف کن."
+
+msgid "Time (s):"
+msgstr "زمان:"
+
+msgid "Position:"
+msgstr "موقعیت:"
+
+msgid "Rotation:"
+msgstr "چرخش:"
+
+msgid "Scale:"
+msgstr "مقیاس:"
+
+msgid "Type:"
+msgstr "نوع:"
+
+msgid "(Invalid, expected type: %s)"
+msgstr "(نامعتبر, نوع مورد انتظار: %s)"
+
+msgid "Easing:"
+msgstr "تسهیل:"
+
+msgid "Stream:"
+msgstr "استریم"
+
+msgid "Start (s):"
+msgstr "شروع:"
+
+msgid "End (s):"
+msgstr "پایان(ها):"
+
+msgid "Animation Clip:"
+msgstr "کلیپ انیمیشن:"
+
+msgid "Toggle Track Enabled"
+msgstr "ضامن ترک فعال است"
+
+msgid "Continuous"
+msgstr "مستمر"
+
+msgid "Discrete"
+msgstr "گسسته"
+
+msgid "Capture"
+msgstr "گرفتن"
+
+msgid "Nearest"
+msgstr "نزدیکترین"
+
+msgid "Linear"
+msgstr "خطی"
+
+msgid "Cubic"
+msgstr "مکعب"
+
+msgid "Clamp Loop Interp"
+msgstr "رابط گره حلقه(Loop)"
+
+msgid "Wrap Loop Interp"
+msgstr "رابط پوشش حلقه"
+
+msgid "Insert Key"
+msgstr "درج کلید"
+
+msgid "Duplicate Key(s)"
+msgstr "تکرار کلید(ها)"
+
+msgid "Add RESET Value(s)"
+msgstr "اضافه کردن مقدار(های) ریست"
+
+msgid "Delete Key(s)"
+msgstr "حذف کلید(ها)"
+
+msgid "Change Animation Update Mode"
+msgstr "تغییر حالت بروزرسانی انیمیشن"
+
+msgid "Change Animation Interpolation Mode"
+msgstr "تغییر حالت درون یابی (Interpolation) انیمیشن"
+
+msgid "Change Animation Loop Mode"
+msgstr "تغییر حالت تکرار (Loop) انیمیشن"
+
+msgid "Remove Anim Track"
+msgstr "حذف ترک انیمشین"
+
+msgid "Create"
+msgstr "ایجاد کردن"
+
+msgid "node '%s'"
+msgstr "گره '%s'"
+
+msgid "animation"
+msgstr "انیمیشن"
+
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr "انیمیشن پلیر نمی تواند خود را انیمیت کند. فقط پلیر دیگر."
+
+msgid "property '%s'"
+msgstr "ویژگی '%s'"
+
+msgid "Change Animation Step"
+msgstr "تغییر گام(Step)انیمیشن"
+
+msgid "Rearrange Tracks"
+msgstr "تنظیم مجدد مسیر"
+
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
+"آهنگ‌های صوتی فقط می‌توانند به گره‌های نوع (nodes) اشاره کنند:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr "آهنگ‌های انیمیشن فقط می‌توانند به گره‌های انیمیشن پلیر اشاره کنند."
+
+msgid "Not possible to add a new track without a root"
+msgstr "بدون ریشه اضافه کردن مسیر امکان پذیر نیست"
+
+msgid "Invalid track for Bezier (no suitable sub-properties)"
+msgstr "مسیر نامعتبر برای Bezier ( زیر-خواص نامناسب)"
+
+msgid "Add Bezier Track"
+msgstr "افزودن مسیر Bezier"
+
+msgid "Track path is invalid, so can't add a key."
+msgstr "مسیر قطعه نامعتبر، پس نمی‌توان یک کلید به آن افزود."
+
+msgid "Add Track Key"
+msgstr "افزودن کلید ترک"
+
+msgid "Track path is invalid, so can't add a method key."
+msgstr "مسیر نامعتبر است ، بنابراین نمی توانید یک کلید روش اضافه کنید."
+
+msgid "Add Method Track Key"
+msgstr "افزودن تابع کلید میسر"
+
+msgid "Method not found in object:"
+msgstr "تابع در آبجکت یافت نشد:"
+
+msgid "Position"
+msgstr "موقعیت"
+
+msgid "Rotation"
+msgstr "چرخش"
+
+msgid "Scale"
+msgstr "مقیاس"
+
+msgid "Methods"
+msgstr "روش‌ها"
+
+msgid "Bezier"
+msgstr "بزیه"
+
+msgid "Audio"
+msgstr "صدا"
+
+msgid "Clipboard is empty!"
+msgstr "حافظه پنهان خالی است!"
+
+msgid "Paste Tracks"
+msgstr "جاگذاری مسیر ها"
+
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr "این گزینه برای اصلاح بِزیِر کار نمی کند, چون تنها یک مسیر واحد است."
+
+msgid "Warning: Editing imported animation"
+msgstr "هشدار: در حال ویرایش انیمیشن وارد شده"
+
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "یک گره AnimationPlayer را برای ایجاد و ویرایش انیمیشن ها برگزینید."
+
+msgid "Only show tracks from nodes selected in tree."
+msgstr "فقط مسیرهای از گره های انتخاب شده در درخت نشان داده شود."
+
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
+"مسیرها را بر اساس گره گروه‌بندی کنید یا آن‌ها را به عنوان لیست ساده نمایش دهید."
+
+msgid "Snap:"
+msgstr "چفت:"
+
+msgid "Animation step value."
+msgstr "مقدار مرحله انیمیشن."
+
+msgid "Seconds"
+msgstr "ثانیه ها"
+
+msgid "FPS"
+msgstr "لحظه بر ثانیه"
+
+msgid "Edit"
+msgstr "ویرایش"
+
+msgid "Animation properties."
+msgstr "خصوصیات انیمیشن."
+
+msgid "Copy Tracks"
+msgstr "کپی میسر ها"
+
+msgid "Scale Selection"
+msgstr "انتخاب شده را تغییر مقیاس بده"
+
+msgid "Scale From Cursor"
+msgstr "از مکان‌نما تغییر مقیاس بده"
+
+msgid "Duplicate Selection"
+msgstr "تکثیر برگزیده"
+
+msgid "Duplicate Transposed"
+msgstr "تکثیر جابجایی"
+
+msgid "Delete Selection"
+msgstr "حذف برگزیده"
+
+msgid "Go to Next Step"
+msgstr "برو به گام بعد"
+
+msgid "Go to Previous Step"
+msgstr "برو به گام پیشین"
+
+msgid "Apply Reset"
+msgstr "بازنشانی را اعمال کنید"
+
+msgid "Use Bezier Curves"
+msgstr "بکارگیری منحنی بِزیِر"
+
+msgid "Create RESET Track(s)"
+msgstr "ایجاد آهنگ (های) بازنشانی"
+
+msgid "Optimize"
+msgstr "بهینه‌سازی کن"
+
+msgid "Remove invalid keys"
+msgstr "کلیدهای نامعتبر را حذف کن"
+
+msgid "Remove unresolved and empty tracks"
+msgstr "ترک‌های حل نشده و خالی را حذف کن"
+
+msgid "Clean-up all animations"
+msgstr "تمام انیمیشن‌ها را پاکسازی کن"
+
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr "انیمیشن(ها) را پاکسازی کن (نه UNDO !)"
+
+msgid "Clean-Up"
+msgstr "پاکسازی"
+
+msgid "Scale Ratio:"
+msgstr "نسبت تغییر مقیاس:"
+
+msgid "Select Tracks to Copy"
+msgstr "انتخاب میسرها جهت تکثیر"
+
+msgid "Select All/None"
+msgstr "انتخاب همه/هیچ"
+
+msgid "Add Audio Track Clip"
+msgstr "افزودن کلیپ آهنگ صوتی"
+
+msgid "Change Audio Track Clip Start Offset"
+msgstr "تغییر افکت شروع کلیپ آهنگ صوتی"
+
+msgid "Change Audio Track Clip End Offset"
+msgstr "تغییر افست انتهای کلیپ آهنگ صوتی"
+
+msgid "Go to Line"
+msgstr "برو به خط"
+
+msgid "Line Number:"
+msgstr "شماره خط:"
+
+msgid "%d replaced."
+msgstr "%d جایگزین شده."
+
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d نظیر"
+msgstr[1] "%d نظیر"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d نظیر"
+msgstr[1] "%d نظیر"
+
+msgid "Match Case"
+msgstr "بین حروف کوچک و بزرگ لاتین تمایز قائل شو"
+
+msgid "Whole Words"
+msgstr "عین کلمات (بدون هیچ کم و کاستی)"
+
+msgid "Replace"
+msgstr "جایگزینی"
+
+msgid "Replace All"
+msgstr "جایگزینی همه"
+
+msgid "Selection Only"
+msgstr "تنها در قسمت انتخاب شده"
+
+msgid "Toggle Scripts Panel"
+msgstr "تغییر پانل اسکریپت ها"
+
+msgid "Zoom In"
+msgstr "بزرگنمایی"
+
+msgid "Zoom Out"
+msgstr "کوچکنمایی"
+
+msgid "Reset Zoom"
+msgstr "باز‌نشانی مقیاس"
+
+msgid "Errors"
+msgstr "خطا‌ها"
+
+msgid "Warnings"
+msgstr "هشدارها"
+
+msgid "Line and column numbers."
+msgstr "شماره های خط و ستون."
+
+msgid "Method in target node must be specified."
+msgstr "تابع در گره مقصد باید مشخص شده باشد."
+
+msgid "Method name must be a valid identifier."
+msgstr "اسم تابع باید یک شناسه‌ی معتبر باشد."
+
+msgid ""
+"Target method not found. Specify a valid method or attach a script to the "
+"target node."
+msgstr ""
+"متد هدف پیدا نشد. یک تابع معتبر تعیین کنید یا یک اسکریپت به گره هدف وصل کنید."
+
+msgid "Connect to Node:"
+msgstr "اتصال به گره:"
+
+msgid "Connect to Script:"
+msgstr "اتصال به اسکریپت:"
+
+msgid "From Signal:"
+msgstr "از سیگنال:"
+
+msgid "Scene does not contain any script."
+msgstr "صحنه شامل هیچ فیلم نامه ای نیست."
+
+msgid "Select Method"
+msgstr "حالت انتخاب"
+
+msgid "Remove"
+msgstr "برداشتن"
+
+msgid "Add Extra Call Argument:"
+msgstr "آرگومان اضافی فراخوانی را اضافه کن:"
+
+msgid "Extra Call Arguments:"
+msgstr "آرگومان‌های اضافی فراخوانی:"
+
+msgid "Receiver Method:"
+msgstr "روش گیرنده:"
+
+msgid "Advanced"
+msgstr "پیشرفته"
+
+msgid "Deferred"
+msgstr "به تعویق افتاده"
+
+msgid ""
+"Defers the signal, storing it in a queue and only firing it at idle time."
+msgstr ""
+"سیگنال را تعویض می کند ، آن را در یک صف ذخیره می کند و فقط در زمان بیکاری "
+"شلیک می کند."
+
+msgid "Disconnects the signal after its first emission."
+msgstr "سیگنال را پس از اولین انتشار آن قطع می کند."
+
+msgid "Cannot connect signal"
+msgstr "نمی توان سیگنال را متصل کرد"
+
+msgid "Close"
+msgstr "بستن"
+
+msgid "Connect"
+msgstr "اتصال"
+
+msgid "Signal:"
+msgstr "سیگنال:"
+
+msgid "No description."
+msgstr "بدون توضیحات."
+
+msgid "Connect '%s' to '%s'"
+msgstr "'%s' را به '%s' متصل کن"
+
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s' را از '%s' جدا کن"
+
+msgid "Disconnect all from signal: '%s'"
+msgstr "جدا کردن همه از سیگنال: '%s'"
+
+msgid "Connect..."
+msgstr "در حال اتصال..."
+
+msgid "Disconnect"
+msgstr "عدم اتصال"
+
+msgid "Connect a Signal to a Method"
+msgstr "وصل یک سیگنال به یک تابع"
+
+msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
+msgstr ""
+"آیا مطمئن هستید که می خواهید همه اتصالات را از سیگنال \"٪ s\" حذف کنید؟"
+
+msgid "Signals"
+msgstr "سیگنال ها"
+
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr "آیا مطمئن هستید که می خواهید همه اتصالات را از این سیگنال حذف کنید؟"
+
+msgid "Disconnect All"
+msgstr "جدا کردن همه"
+
+msgid "Edit..."
+msgstr "ویرایش..."
+
+msgid "Change"
+msgstr "تغییر بده"
+
+msgid "Create New %s"
+msgstr "ساختن %s جدید"
+
+msgid "No results for \"%s\"."
+msgstr "هیچ نتیجه ای برای \"%s\" وجود ندارد."
+
+msgid "No description available for %s."
+msgstr "توضیحی برای٪ s در دسترس نیست."
+
+msgid "Favorites:"
+msgstr "برگزیده‌ها:"
+
+msgid "Recent:"
+msgstr "اخیر:"
+
+msgid "Search:"
+msgstr "جستجو:"
+
+msgid "Matches:"
+msgstr "تطبیق‌ها:"
+
+msgid "Description:"
+msgstr "توضیح:"
+
+msgid "Debugger"
+msgstr "دیباگِر"
+
+msgid "Debug"
+msgstr "اشکال یابی"
+
+msgid "Save Branch as Scene"
+msgstr "ذخیرهٔ شاخه به عنوان صحنه"
+
+msgid "Copy Node Path"
+msgstr "کپی کردن مسیر node"
+
+msgid "Instance:"
+msgstr "نمونه:"
+
+msgid "ms"
+msgstr "میلی ثانیه"
+
+msgid "Monitors"
+msgstr "مانیتور‌ها"
+
+msgid "Monitor"
+msgstr "مانیتور"
+
+msgid "Value"
+msgstr "مقدار"
+
+msgid "Stop"
+msgstr "توقف"
+
+msgid "Start"
+msgstr "شروع"
+
+msgid "Clear"
+msgstr "پاک کردن"
+
+msgid "Measure:"
+msgstr "اندازه گیری:"
+
+msgid "Average Time (ms)"
+msgstr "زمان متوسط (میلی‌ثانیه)"
+
+msgid "Frame %"
+msgstr "فریم %"
+
+msgid "Self"
+msgstr "خود"
+
+msgid "Frame #:"
+msgstr "فریم #:"
+
+msgid "Name"
+msgstr "نام"
+
+msgid "Time"
+msgstr "زمان"
+
+msgid "Bytes:"
+msgstr "بایت‌ها:"
+
+msgid "Warning:"
+msgstr "هشدار:"
+
+msgid "Copy Error"
+msgstr "خطای کپی"
+
+msgid "Break"
+msgstr "Break"
+
+msgid "Continue"
+msgstr "ادامه"
+
+msgid "Expand All"
+msgstr "بسط دادن همه"
+
+msgid "Collapse All"
+msgstr "بستن همه"
+
+msgid "Profiler"
+msgstr "پروفایلر"
+
+msgid "Total:"
+msgstr "کل:"
+
+msgid "Type"
+msgstr "تایپ"
+
+msgid "Format"
+msgstr "قالب"
+
+msgid "Usage"
+msgstr "کاربرد:"
+
+msgid "Misc"
+msgstr "متفرقه"
+
+msgid "Search Replacement For:"
+msgstr "جستجوی جایگزین برای:"
+
+msgid "Dependencies For:"
+msgstr "بستگی‌ها برای:"
+
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will only take effect when reloaded."
+msgstr ""
+"ویرایش صحنه '%s' شروع شده است.\n"
+"تغییرات تنها وقتی جلوه گرند که از نو بارگیری شوند."
+
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will only take effect when reloaded."
+msgstr ""
+"منابع '%s' بکار رفته‌اند.\n"
+"تغییرات تنها وقتی جلوه گرند که از نو بارگیری شوند."
+
+msgid "Dependencies"
+msgstr "بستگی‌ها"
+
+msgid "Resource"
+msgstr "منبع"
+
+msgid "Path"
+msgstr "آدرس"
+
+msgid "Dependencies:"
+msgstr "بستگی‌ها:"
+
+msgid "Fix Broken"
+msgstr "(بستگی) معیوب را تعمیر کن"
+
+msgid "Dependency Editor"
+msgstr "ویرایشگر بستگی"
+
+msgid "Search Replacement Resource:"
+msgstr "منبع جایگزینی را جستجو کن:"
+
+msgid "Open Scene"
+msgstr "باز کردن صحنه"
+
+msgid "Open Scenes"
+msgstr "باز کردن صحنه‌ها"
+
+msgid ""
+"Remove the selected files from the project? (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"فایلهای انتخابی از پروژه حذف شوند؟ (قابل برگشت نیست.)\n"
+"بسته به پیکربندی سیستم فایل شما ، فایل ها یا به سطل زباله سیستم منتقل می "
+"شوند و یا برای همیشه حذف می شوند."
+
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"فایل های در حال حذف توسط منابع دیگر مورد نیاز است تا بتوانند کار کنند.\n"
+"به هر حال آنها را حذف کنم؟ (قابل واگرد نیست.)\n"
+"بسته به پیکربندی سیستم فایل شما ، فایل ها یا به سطل زباله سیستم منتقل می "
+"شوند و یا برای همیشه حذف می شوند."
+
+msgid "Cannot remove:"
+msgstr "امکان حذف وجود ندارد :"
+
+msgid "Error loading:"
+msgstr "خطا در بارگذاری:"
+
+msgid "Load failed due to missing dependencies:"
+msgstr "به دلیل مفقود شدن وابستگی‌ها بارگیری انجام نشد:"
+
+msgid "Open Anyway"
+msgstr "در هر صورت باز کن"
+
+msgid "Which action should be taken?"
+msgstr "کدام عمل باید اجرا شود؟"
+
+msgid "Fix Dependencies"
+msgstr "بستگی‌ها را تعمیر کن"
+
+msgid "Errors loading!"
+msgstr "خطا در بارگذاری!"
+
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr "به طور دائمی تعداد '%d' آیتم را حذف کند؟ (بدون undo !)"
+
+msgid "Show Dependencies"
+msgstr "نمایش وابستگی‌ها"
+
+msgid "Orphan Resource Explorer"
+msgstr "پوینده‌ی منبع جدا افتاده"
+
+msgid "Owns"
+msgstr "اموال"
+
+msgid "Resources Without Explicit Ownership:"
+msgstr "منابع بدون مالکیت صریح:"
+
+msgid "Thanks from the Godot community!"
+msgstr "با تشکر از سوی جامعه‌ی Godot!"
+
+msgid "Click to copy."
+msgstr "برای کپی کردن کلیک کنید."
+
+msgid "Godot Engine contributors"
+msgstr "شرکت‌کنندگان در ساخت موتور Godot"
+
+msgid "Project Founders"
+msgstr "بنیان‌گذاران پروژه"
+
+msgid "Lead Developer"
+msgstr "توسعه‌دهنده‌ی اصلی"
+
+msgid "Developers"
+msgstr "توسعه دهندگان"
+
+msgid "Authors"
+msgstr "مؤلفان"
+
+msgid "Platinum Sponsors"
+msgstr "حامیان سطح platinum"
+
+msgid "Gold Sponsors"
+msgstr "حامیان طلایی (درجه ۲)"
+
+msgid "Silver Sponsors"
+msgstr "حامیان نقره ای"
+
+msgid "Bronze Sponsors"
+msgstr "اهداکنندگان برنزیحامیان مالی"
+
+msgid "Mini Sponsors"
+msgstr "حامیان سطح Mini"
+
+msgid "Gold Donors"
+msgstr "اهداکنندگان طلایی"
+
+msgid "Silver Donors"
+msgstr "اهداکنندگان نقره‌ای"
+
+msgid "Bronze Donors"
+msgstr "اهداکنندگان برنزی"
+
+msgid "Donors"
+msgstr "اهدا کنندگان"
+
+msgid "License"
+msgstr "مجوز"
+
+msgid "Third-party Licenses"
+msgstr "مجوز های شخص-ثالث"
+
+msgid ""
+"Godot Engine relies on a number of third-party free and open source "
+"libraries, all compatible with the terms of its MIT license. The following "
+"is an exhaustive list of all such third-party components with their "
+"respective copyright statements and license terms."
+msgstr ""
+"Godot Engine به تعدادی از کتابخانه های منبع باز و شخص-ثالث رایگان متکی است "
+"که همگی با شرایط مجوز MIT سازگار هستند. در زیر لیستی جامع از کلیه مؤلفه های "
+"شخص ثالث با بیانیه های حق کپی برداری مربوطه و شرایط مجوز آنها قرار دارد."
+
+msgid "All Components"
+msgstr "همه اجزا"
+
+msgid "Components"
+msgstr "اجزا"
+
+msgid "Licenses"
+msgstr "گواهینامه"
+
+msgid "Error opening asset file for \"%s\" (not in ZIP format)."
+msgstr "خطا در بازکردن فایل برای \"%s\" (فرمت ZIP نمیباشد)."
+
+msgid "%s (already exists)"
+msgstr "\"%s\" (در حال حاضر موجود است)"
+
+msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
+msgstr "محتوای دارایی \"%s\" - %d فایل(ها) با پروژه شما تضاد دارد:"
+
+msgid "Contents of asset \"%s\" - No files conflict with your project:"
+msgstr "محتویات دارایی \"%s\" - هیچ فایلی با پروژه شما مغایرت ندارد:"
+
+msgid "Uncompressing Assets"
+msgstr "فشرده نشدن اَسِت ها"
+
+msgid "The following files failed extraction from asset \"%s\":"
+msgstr "فایل‌های زیر از دارایی \"%s\" استخراج نشدند:"
+
+msgid "(and %s more files)"
+msgstr "(و %s دیگر فایل ها)"
+
+msgid "Asset \"%s\" installed successfully!"
+msgstr "دارایی \"%s\" با موفقیت نصب شد!"
+
+msgid "Success!"
+msgstr "موفقیت!"
+
+msgid "Install"
+msgstr "نصب کردن"
+
+msgid "Asset Installer"
+msgstr "نصب کننده دارایی"
+
+msgid "Speakers"
+msgstr "بلندگوها"
+
+msgid "Add Effect"
+msgstr "افزودن جلوه"
+
+msgid "Rename Audio Bus"
+msgstr "تغییر نام صوت گذرا"
+
+msgid "Change Audio Bus Volume"
+msgstr "تغییر مقدار صدای خطی"
+
+msgid "Toggle Audio Bus Solo"
+msgstr "دِگرحالتِ صدای تکی خطی"
+
+msgid "Toggle Audio Bus Mute"
+msgstr "دِگرحالتِ صدای سکوت خطی"
+
+msgid "Toggle Audio Bus Bypass Effects"
+msgstr "دِگرحالتِ صدای جلوه های میان بر خطی"
+
+msgid "Select Audio Bus Send"
+msgstr "انتخاب صدای ارسال گذرا"
+
+msgid "Add Audio Bus Effect"
+msgstr "افزودن صدای جلوه خطی"
+
+msgid "Move Bus Effect"
+msgstr "انتقال جلوه خطی"
+
+msgid "Delete Bus Effect"
+msgstr "حذف جلوه خطی"
+
+msgid "Drag & drop to rearrange."
+msgstr "برای چینش مجدد، بکشید و رها کنید."
+
+msgid "Solo"
+msgstr "انفرادی"
+
+msgid "Mute"
+msgstr "بدون صدا"
+
+msgid "Bypass"
+msgstr "‌گذرگاه فرعی"
+
+msgid "Bus Options"
+msgstr "گزینه های اتوبوس"
+
+msgid "Reset Volume"
+msgstr "بازنشانی حجم"
+
+msgid "Delete Effect"
+msgstr "حذف جلوه"
+
+msgid "Add Audio Bus"
+msgstr "افزودن کانل صوتی"
+
+msgid "Master bus can't be deleted!"
+msgstr "گذرگاه اصلی قابل حذف نیست!"
+
+msgid "Delete Audio Bus"
+msgstr "حذف صدای خطی"
+
+msgid "Duplicate Audio Bus"
+msgstr "تکثیر صدای خطی"
+
+msgid "Reset Bus Volume"
+msgstr "باز‌نشانی مقدار خطی"
+
+msgid "Move Audio Bus"
+msgstr "انتقال صدای خطی"
+
+msgid "Save Audio Bus Layout As..."
+msgstr "ذخیره طرح اتوبوس صوتی به عنوان ..."
+
+msgid "Location for New Layout..."
+msgstr "مکان برای طرح جدید ..."
+
+msgid "Open Audio Bus Layout"
+msgstr "چیدمان اتوبوس صوتی را باز کنید"
+
+msgid "There is no '%s' file."
+msgstr "پرونده '٪ s' وجود ندارد."
+
+msgid "Invalid file, not an audio bus layout."
+msgstr "پرونده نامعتبر است ، نه طرح اتوبوس صوتی."
+
+msgid "Error saving file: %s"
+msgstr "خطای ذخیره کردن پرونده: %s"
+
+msgid "Add Bus"
+msgstr "اتوبوس اضافه کنید"
+
+msgid "Add a new Audio Bus to this layout."
+msgstr "یک Audio Bus جدید به این طرح اضافه کنید."
+
+msgid "Load"
+msgstr "بارگیری"
+
+msgid "Load an existing Bus Layout."
+msgstr "چیدمان اتوبوس موجود را بارگیری کنید."
+
+msgid "Save As"
+msgstr "ذخیره در"
+
+msgid "Save this Bus Layout to a file."
+msgstr "این طرح Bus را در یک پرونده ذخیره کنید."
+
+msgid "Load Default"
+msgstr "بارگیری پیش فرض"
+
+msgid "Load the default Bus Layout."
+msgstr "طرح پیش فرض اتوبوس را بارگیری کنید."
+
+msgid "Create a new Bus Layout."
+msgstr "طرح جدید اتوبوس ایجاد کنید."
+
+msgid "Invalid name."
+msgstr "نام نامعتبر."
+
+msgid "Cannot begin with a digit."
+msgstr "نمی توان با یک رقم شروع کرد."
+
+msgid "Valid characters:"
+msgstr "کاراکترهای معتبر:"
+
+msgid "Must not collide with an existing engine class name."
+msgstr "نباید با یک نام کلاس موتور موجود برخورد کند."
+
+msgid "Must not collide with an existing built-in type name."
+msgstr "نباید با یک نام نوع درون-ساز موجود برخورد کند."
+
+msgid "Must not collide with an existing global constant name."
+msgstr "نباید با نام یک ثابت سراسری موجود برخوردی کند."
+
+msgid "Autoload '%s' already exists!"
+msgstr "بارگذاری خودکار '%s' هم اکنون موجود است!"
+
+msgid "Rename Autoload"
+msgstr "بارگذاری خودکار را تغییر نام بده"
+
+msgid "Move Autoload"
+msgstr "بارگیری خودکار را انجام دهید"
+
+msgid "Remove Autoload"
+msgstr "بارگیری خودکار را حذف کنید"
+
+msgid "Enable"
+msgstr "روشن"
+
+msgid "Rearrange Autoloads"
+msgstr "تنظیم مجدد بارهای خودکار"
+
+msgid "%s is an invalid path. File does not exist."
+msgstr "%s یک مسیر نامعتبر است. فایل موجود نمیباشد."
+
+msgid "%s is an invalid path. Not in resource path (res://)."
+msgstr "%s یک مسیر نامعتبر است. در مسیر منبع نیست (//:res)."
+
+msgid "Path:"
+msgstr "مسیر:"
+
+msgid "Node Name:"
+msgstr "نام گره:"
+
+msgid "Global Variable"
+msgstr "متغیر عمومی"
+
+msgid "Navigation"
+msgstr "جهت‌یابی"
+
+msgid "Vulkan"
+msgstr "Vulkan"
+
+msgid "Navigation, both 2D and 3D."
+msgstr "جهت‌یابی، هم دوبعدی هم سه‌بعدی."
+
+msgid "File saving failed."
+msgstr "ذخیره فایل ناموفق بود."
+
+msgid "Nodes and Classes:"
+msgstr "نودها (Nodes) و کلاس‌ها:"
+
+msgid "File '%s' format is invalid, import aborted."
+msgstr "فرمت فایل '%s' نامعتبر است، وارد کردن متوقف شد."
+
+msgid "Error saving profile to path: '%s'."
+msgstr "خطای ذخیره نمایه در مسیر: '%s'."
+
+msgid "New"
+msgstr "جدید"
+
+msgid "Save"
+msgstr "ذخیره"
+
+msgid "Export Profile"
+msgstr "صادر کردن نمایه"
+
+msgid "Paste Params"
+msgstr "چسباندن پارام ها"
+
+msgid "Updating Scene"
+msgstr "صحنه به روز می شود"
+
+msgid "Storing local changes..."
+msgstr "ذخیره تغییرات محلی ..."
+
+msgid "Updating scene..."
+msgstr "صحنه به روز می شود ..."
+
+msgid "[empty]"
+msgstr "[پوچ]"
+
+msgid "[unsaved]"
+msgstr "[ذخیره نشده]"
+
+msgid "Please select a base directory first."
+msgstr "لطفاً ابتدا دایرکتوری پایه را انتخاب کنید."
+
+msgid "Choose a Directory"
+msgstr "یک فهرست انتخاب کنید"
+
+msgid "Create Folder"
+msgstr "ایجاد پوشه"
+
+msgid "Name:"
+msgstr "نام:"
+
+msgid "Could not create folder."
+msgstr "ناتوان در ساختن پوشه."
+
+msgid "Choose"
+msgstr "انتخاب کنید"
+
+msgid "3D Editor"
+msgstr "ویرایشگر ۳بعدی"
+
+msgid "Script Editor"
+msgstr "ویرایشگر اسکریپت"
+
+msgid "Asset Library"
+msgstr "کتابخانه دارایی"
+
+msgid "Scene Tree Editing"
+msgstr "ویرایش درخت صحنه"
+
+msgid "Node Dock"
+msgstr "لنگرگاه گره:"
+
+msgid "FileSystem Dock"
+msgstr "قایل‌سیستم داک"
+
+msgid "Import Dock"
+msgstr "وارد کردن لنگرگاه"
+
+msgid "Allows to view and edit 3D scenes."
+msgstr "اجازه دیدن و ویرایش صحنه های ۳ بعدی را می‌دهد."
+
+msgid "Allows to edit scripts using the integrated script editor."
+msgstr "اجازهٔ ویرایش اسکریپت‌ها با استفاده از ویرایشگر اسکریپت داخلی را می‌دهد."
+
+msgid "Provides built-in access to the Asset Library."
+msgstr "دسترسی داخلی به کتابخانهٔ دارایی را فراهم می‌کند."
+
+msgid ""
+"Allows to work with signals and groups of the node selected in the Scene "
+"dock."
+msgstr ""
+"به کار کردن با سیگنال ها و گروه ها ی گره انتخاب شده از داک صحنه اجازه میدهد."
+
+msgid "Allows to browse the local file system via a dedicated dock."
+msgstr "به مرور سیستم فایل محلی از طریق یک داک اختصاصی اجازه می دهد."
+
+msgid ""
+"Allows to configure import settings for individual assets. Requires the "
+"FileSystem dock to function."
+msgstr ""
+"به پیکربندی تنظیمات Import برای دارایی های فردی اجازه می دهد. برای عملکرد به "
+"داک FileSystem نیاز دارد."
+
+msgid "(current)"
+msgstr "(کنونی)"
+
+msgid "(none)"
+msgstr "(هیچ)"
+
+msgid "Remove currently selected profile, '%s'? Cannot be undone."
+msgstr "نمایه انتخابی فعلی، '%s' حذف شود؟ قابل واگرد نیست."
+
+msgid "Profile must be a valid filename and must not contain '.'"
+msgstr "پروفایل باید یک نام فایل معتبر باشد و نباید حاوی «.» باشد"
+
+msgid "Profile with this name already exists."
+msgstr "نمایه با این نام در حال حاضر وجود دارد."
+
+msgid "(Editor Disabled, Properties Disabled)"
+msgstr "(ویرایشگر غیرفعال است، ویژگی‌ها غیرفعال است)"
+
+msgid "(Properties Disabled)"
+msgstr "(خصوصیات غیرفعال شده)"
+
+msgid "(Editor Disabled)"
+msgstr "(ویرایشگر غیرفعال شده)"
+
+msgid "Class Options:"
+msgstr "گزینه‌های کلاس:"
+
+msgid "Enable Contextual Editor"
+msgstr "فعال کردن ویرایشگر متنی"
+
+msgid "Class Properties:"
+msgstr "دارایی‌های کلاس:"
+
+msgid "Main Features:"
+msgstr "ویژگی‌های اصلی:"
+
+msgid ""
+"Profile '%s' already exists. Remove it first before importing, import "
+"aborted."
+msgstr ""
+"پروفایل '%s' از قبل وجود دارد. قبل از وارد کردن، ابتدا آن را حذف کنید، وارد "
+"کردن متوقف شد."
+
+msgid "Reset to Default"
+msgstr "بازنشانی به پیشفرض"
+
+msgid "Current Profile:"
+msgstr "نمایه موجود:"
+
+msgid "Create Profile"
+msgstr "ایجاد پروفایل"
+
+msgid "Remove Profile"
+msgstr "حذف پروفایل"
+
+msgid "Available Profiles:"
+msgstr "نمایه‌های موجود:"
+
+msgid "Make Current"
+msgstr "ساختن جریان"
+
+msgid "Import"
+msgstr "وارد کردن"
+
+msgid "Export"
+msgstr "خروجی"
+
+msgid "Configure Selected Profile:"
+msgstr "پیکربندی پروفایل انتخاب شده:"
+
+msgid "Extra Options:"
+msgstr "گزینه‌های اضافی:"
+
+msgid "Create or import a profile to edit available classes and properties."
+msgstr "یک پروفایل برای ویرایش کلاس‌ها و ویژگی‌های موجود ایجاد یا وارد کنید."
+
+msgid "New profile name:"
+msgstr "نام نمایه جدید:"
+
+msgid "Godot Feature Profile"
+msgstr "ویژگی نمایه Godot"
+
+msgid "Import Profile(s)"
+msgstr "وارد کردن نمایه(ها)"
+
+msgid "Manage Editor Feature Profiles"
+msgstr "مدیریت ویژگی نمایه‌های ویرایشگر"
+
+msgid "Network"
+msgstr "شبکه"
+
+msgid "Open"
+msgstr "باز کن"
+
+msgid "Select Current Folder"
+msgstr "برگزیدن پوشه موجود"
+
+msgid "Select This Folder"
+msgstr "برگزیدن این پوشه"
+
+msgid "Copy Path"
+msgstr "کپی کردن مسیر"
+
+msgid "Open in File Manager"
+msgstr "گشودن در مدیر پرونده"
+
+msgid "Show in File Manager"
+msgstr "نمایش فایل داخلی مرجع"
+
+msgid "New Folder..."
+msgstr "ساختن پوشه..."
+
+msgid "All Recognized"
+msgstr "همه ی موارد شناخته شده اند"
+
+msgid "All Files (*)"
+msgstr "همهٔ پرونده‌ها (*)"
+
+msgid "Open a File"
+msgstr "یک پرونده را باز کن"
+
+msgid "Open File(s)"
+msgstr "پرونده(ها) را باز کن"
+
+msgid "Open a Directory"
+msgstr "یک دیکشنری را باز کن"
+
+msgid "Open a File or Directory"
+msgstr "یک پرونده یا پوشه را باز کن"
+
+msgid "Save a File"
+msgstr "یک پرونده را ذخیره کن"
+
+msgid "Go Back"
+msgstr "به عقب بازگردید"
+
+msgid "Go Forward"
+msgstr "جلو بروید"
+
+msgid "Go Up"
+msgstr "بالا بروید"
+
+msgid "Toggle Hidden Files"
+msgstr "تغییر فایل‌های پنهان"
+
+msgid "Toggle Favorite"
+msgstr "تغییر موارد دلخواه"
+
+msgid "Toggle Mode"
+msgstr "تغییر حالت"
+
+msgid "Focus Path"
+msgstr "مسیر تمرکز"
+
+msgid "Move Favorite Up"
+msgstr "انتقال موارد دلخواه به بالا"
+
+msgid "Move Favorite Down"
+msgstr "انتقال موارد دلخواه به پایین"
+
+msgid "Go to previous folder."
+msgstr "برو به پوشه پیشین."
+
+msgid "Go to next folder."
+msgstr "برو به پوشه بعد."
+
+msgid "Go to parent folder."
+msgstr "برو به پوشه والد."
+
+msgid "Refresh files."
+msgstr "نوسازی پرونده‌ها."
+
+msgid "(Un)favorite current folder."
+msgstr "پوشه موجود (غیر)محبوب."
+
+msgid "Toggle the visibility of hidden files."
+msgstr "تغییر پدیدار بودن فایل‌های مخفی شده."
+
+msgid "View items as a grid of thumbnails."
+msgstr "دیدن موارد به صورت جدولی از پیش‌نمایش‌ها."
+
+msgid "View items as a list."
+msgstr "مشاهده موارد به عنوان فهرست‌."
+
+msgid "Directories & Files:"
+msgstr "پوشه‌ها و پرونده‌ها:"
+
+msgid "Preview:"
+msgstr "پیش‌نمایش:"
+
+msgid "File:"
+msgstr "پرونده:"
+
+msgid "Restart"
+msgstr "راه‌اندازی مجدد"
+
+msgid "Save & Restart"
+msgstr "ذخیره و راه‌اندازی مجدد"
+
+msgid "ScanSources"
+msgstr "منابع‌اسکن"
+
+msgid ""
+"There are multiple importers for different types pointing to file %s, import "
+"aborted"
+msgstr ""
+"چندین واردکننده برای انواع مختلف وجود دارد که به فایل %s اشاره می‌کنند، وارد "
+"کردن لغو شد"
+
+msgid "(Re)Importing Assets"
+msgstr "(در حال) وارد کردن دوباره عست ها"
+
+msgid "Import resources of type: %s"
+msgstr "وارد کردن منابع از نوع: %s"
+
+msgid "No return value."
+msgstr "بدون مقدار بازگشتی."
+
+msgid "Experimental"
+msgstr "آزمایشی"
+
+msgid "Top"
+msgstr "بالا"
+
+msgid "Class:"
+msgstr "کلاس:"
+
+msgid "Inherits:"
+msgstr "ارث می‌برد از:"
+
+msgid "Inherited by:"
+msgstr "به ارث رسیده به وسیله:"
+
+msgid "Description"
+msgstr "تعریف"
+
+msgid "Online Tutorials"
+msgstr "آموزش‌های آنلاین"
+
+msgid "Properties"
+msgstr "خصوصیات"
+
+msgid "overrides %s:"
+msgstr "%s را لغو می کند:"
+
+msgid "default:"
+msgstr "پیش فرض:"
+
+msgid "Operators"
+msgstr "عملگر ها"
+
+msgid "Theme Properties"
+msgstr "خصوصیات زمینه"
+
+msgid "Colors"
+msgstr "رنگ‌ها"
+
+msgid "Constants"
+msgstr "ثابت‌ها"
+
+msgid "Fonts"
+msgstr "فونت‌ها"
+
+msgid "Icons"
+msgstr "آیکون‌ها"
+
+msgid "Styles"
+msgstr "استایل‌ها"
+
+msgid "Enumerations"
+msgstr "شمارش‌ها"
+
+msgid "Property Descriptions"
+msgstr "توضیحات خصیصه"
+
+msgid "(value)"
+msgstr "(مقدار)"
+
+msgid "Method Descriptions"
+msgstr "توضیحات تابع"
+
+msgid "%d match."
+msgstr "%d منطبق."
+
+msgid "%d matches."
+msgstr "%d هم‌خوانی."
+
+msgid "Search Help"
+msgstr "جستجوی راهنما"
+
+msgid "Case Sensitive"
+msgstr "حساس به حروف کوچک و بزرگ"
+
+msgid "Show Hierarchy"
+msgstr "نمایش سلسله‌مراتب"
+
+msgid "Display All"
+msgstr "نشان دادن همه"
+
+msgid "Classes Only"
+msgstr "تنها کلاس‌ها"
+
+msgid "Methods Only"
+msgstr "تنها روش‌ها"
+
+msgid "Signals Only"
+msgstr "تنها سیگنال‌ها"
+
+msgid "Constants Only"
+msgstr "تنها ثوابت"
+
+msgid "Properties Only"
+msgstr "تنها خصوصیات"
+
+msgid "Theme Properties Only"
+msgstr "تنها خصوصیات زمینه"
+
+msgid "Member Type"
+msgstr "نوع عضو"
+
+msgid "Class"
+msgstr "کلاس"
+
+msgid "Method"
+msgstr "روش"
+
+msgid "Signal"
+msgstr "سیگنال"
+
+msgid "Constant"
+msgstr "ثابت"
+
+msgid "Property"
+msgstr "خصیصه"
+
+msgid "Theme Property"
+msgstr "ویژگی زمینه"
+
+msgid "Property:"
+msgstr "ویژگی:"
+
+msgid ""
+"Pinning a value forces it to be saved even if it's equal to the default."
+msgstr ""
+"پین کردن یک مقدار آن را مجبور می کند حتی اگر برابر با مقدار پیش فرض باشد "
+"ذخیره شود."
+
+msgid "Open Documentation"
+msgstr "باز کردن مستندات"
+
+msgid "Move Up"
+msgstr "حرکت به بالا"
+
+msgid "Move Down"
+msgstr "حرکت به پایین"
+
+msgid "Resize Array..."
+msgstr "تغییر اندازه آرایه..."
+
+msgid "Resize Array"
+msgstr "آرایه را تغییر اندازه بده"
+
+msgid "Add Metadata"
+msgstr "افزودن فراداده(متادیتا)"
+
+msgid "Set %s"
+msgstr "تنظیم %s"
+
+msgid "Set Multiple:"
+msgstr "تعیین چندگانه:"
+
+msgid "Pinned %s"
+msgstr "%s سنجاق شد"
+
+msgid "Unpinned %s"
+msgstr "سنجاق %s برداشته شد"
+
+msgid "Metadata name is valid."
+msgstr "نام فراداده(متادیتا) معتبر است."
+
+msgid "Copy Property Path"
+msgstr "کپی کردن مسیر دارایی"
+
+msgid "Changed Locale Filter Mode"
+msgstr "حالت صافی بومی‌سازی تغییر کرد"
+
+msgid "Edit Filters"
+msgstr "ویرایش صافی ها"
+
+msgid "Language:"
+msgstr "زبان:"
+
+msgid "Clear Output"
+msgstr "پاک کردن خروجی"
+
+msgid "Copy Selection"
+msgstr "کپی انتخاب"
+
+msgid "New Window"
+msgstr "چارچوب جدید"
+
+msgid "Unnamed Project"
+msgstr "پروژه بی نام"
+
+msgid "Spins when the editor window redraws."
+msgstr "هنگامی که پنجره ویرایشگر دوباره ترسیم می شود می چرخد."
+
+msgid "Imported resources can't be saved."
+msgstr "منابع وارد شده را نمی‌توان ذخیره کرد."
+
+msgid "OK"
+msgstr "قبول"
+
+msgid "Error saving resource!"
+msgstr "خطای ذخیره سازی منبع!"
+
+msgid ""
+"This resource can't be saved because it does not belong to the edited scene. "
+"Make it unique first."
+msgstr ""
+"این منبع نمی‌تواند ذخیره شود زیرا به صحنهٔ ویرایش شده تعلق ندارد. ابتدا آن را "
+"منحصر به فرد کنید."
+
+msgid "Save Resource As..."
+msgstr "ذخیره منبع از ..."
+
+msgid "Can't open file for writing:"
+msgstr "نمی‌توان فایل را برای نوشتن باز کرد:"
+
+msgid "Requested file format unknown:"
+msgstr "فرمت فایل درخواست شده ناشناخته است:"
+
+msgid "Error while saving."
+msgstr "خطا در هنگام ذخیره‌سازی."
+
+msgid "Saving Scene"
+msgstr "ذخیره سازی صحنه"
+
+msgid "Analyzing"
+msgstr "در حال پردازش"
+
+msgid "Creating Thumbnail"
+msgstr "ایجاد بند انگشتی"
+
+msgid "This operation can't be done without a tree root."
+msgstr "این عمل را نمی‌توان بدون tree root انجام داد."
+
+msgid ""
+"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
+"be satisfied."
+msgstr ""
+"صحنه ذخیره نشد. وابستگی‌های احتمالی (نمونه‌ها یا وراثت) را نمی‌توان راضی کرد."
+
+msgid "Could not save one or more scenes!"
+msgstr "نمی‌توان یک یا چند صحنه را ذخیره کرد!"
+
+msgid "Save All Scenes"
+msgstr "ذخیره صحنه"
+
+msgid "Can't overwrite scene that is still open!"
+msgstr "نمی‌توان صحنه‌ای که هنوز باز است را بازنویسی کرد!"
+
+msgid "Can't load MeshLibrary for merging!"
+msgstr "نمی‌توان MeshLibrary را برای ادغام بارگیری کرد!"
+
+msgid "Error saving MeshLibrary!"
+msgstr "خطا در ذخیره MeshLibrary!"
+
+msgid ""
+"An error occurred while trying to save the editor layout.\n"
+"Make sure the editor's user data path is writable."
+msgstr ""
+"هنگام تلاش برای ذخیرهٔ چیدمان ویرایشگر خطایی روی داد.\n"
+" مطمئن شوید که مسیر داده کاربر در ویرایشگر قابل نوشتن است."
+
+msgid "Layout name not found!"
+msgstr "نام چیدمان پیدا نشد!"
+
+msgid "Restored the Default layout to its base settings."
+msgstr "طرح‌بندی پیش‌فرض را به تنظیمات پایه آن بازگرداند."
+
+msgid ""
+"This resource belongs to a scene that was imported, so it's not editable.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+"این منبع متعلق به صحنه‌ای است که ایمپورت شده است، بنابراین قابل ویرایش نیست.\n"
+" لطفاً اسناد مربوط به وارد کردن صحنه‌ها را بخوانید تا این گردش کار را بهتر درک "
+"کنید."
+
+msgid ""
+"This resource was imported, so it's not editable. Change its settings in the "
+"import panel and then re-import."
+msgstr ""
+"این منبع وارد شده است، بنابراین قابل ویرایش نیست. تنظیمات آن را در پنل وارد "
+"کردن تغییر دهید و سپس دوباره وارد کنید."
+
+msgid "There is no defined scene to run."
+msgstr "هیچ صحنه تعریف شده‌ای برای اجرا وجود ندارد."
+
+msgid "Reload the played scene."
+msgstr "صحنه پخش‌شده را دوباره بارگذاری کن."
+
+msgid "Play the project."
+msgstr "اجرای پروژه."
+
+msgid "Play the edited scene."
+msgstr "صحنه ویرایش‌شده را اجرا کن."
+
+msgid "Play a custom scene."
+msgstr "یک صحنه سفارشی پخش کن."
+
+msgid "Open Base Scene"
+msgstr "گشودن صحنه اصلی"
+
+msgid "Quick Open..."
+msgstr "گشودن فوری..."
+
+msgid "Quick Open Scene..."
+msgstr "گشودن فوری صحنه..."
+
+msgid "Quick Open Script..."
+msgstr "گشودن سریع اسکریپت..."
+
+msgid "Save & Quit"
+msgstr "ذخیره و خروج"
+
+msgid "Save Scene As..."
+msgstr "ذخیره صحنه در ..."
+
+msgid "Current scene not saved. Open anyway?"
+msgstr "صحنه فعلی ذخیره نشده است. به هر حال باز شود؟"
+
+msgid "Can't reload a scene that was never saved."
+msgstr "صحنه‌ای که ذخیره نشده است قابل بارگذاری مجدد نیست."
+
+msgid "Reload Saved Scene"
+msgstr "بازیابی صحنه ذخیره شده"
+
+msgid "Quick Run Scene..."
+msgstr "اجرا فوری صحنه…"
+
+msgid "Pick a Main Scene"
+msgstr "یک صحنه اصلی انتخاب کنید"
+
+msgid "This operation can't be done without a scene."
+msgstr "این عملیات بدون یک صحنه انجام نمی شود."
+
+msgid "Export Mesh Library"
+msgstr "صادر کردن کتابخانه شبکه مش"
+
+msgid "Unable to load addon script from path: '%s'."
+msgstr "امکان بارگیری اسکریپت افزونه از مسیر وجود ندارد: '%s'."
+
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+"خطای بارگذاری صحنه، صحنه باید در مسیر پروژه قرار گرفته باشد. از 'import' "
+"برای باز کردن صحنه استفاده کنید، سپس آن را در مسیر پروژه ذخیره کنید."
+
+msgid ""
+"Selected scene '%s' does not exist, select a valid one?\n"
+"You can change it later in \"Project Settings\" under the 'application' "
+"category."
+msgstr ""
+"صحنه انتخابی %s وجود ندارد، یک صحنه معتبر انتخاب کنید.\n"
+"بعدا می‌توانید در \"Project Settings\" در زیر بخش 'application' آن را تغییر "
+"دهید."
+
+msgid "Save Layout"
+msgstr "ذخیره لایه"
+
+msgid "Delete Layout"
+msgstr "حذف طرح‌بندی"
+
+msgid "Default"
+msgstr "پیش‌فرض"
+
+msgid "Save & Close"
+msgstr "ذخیره و بستن"
+
+msgid "Show in FileSystem"
+msgstr "نمایش در فایل‌سیستم"
+
+msgid "Play This Scene"
+msgstr "اجرای این صحنه"
+
+msgid "Close Tab"
+msgstr "بستن زبانه"
+
+msgid "Undo Close Tab"
+msgstr "برگرداندن زبانه"
+
+msgid "Close Other Tabs"
+msgstr "بستن زبانه های دیگر"
+
+msgid "Close Tabs to the Right"
+msgstr "بستن زبانه ها به طرف راست"
+
+msgid "Close All Tabs"
+msgstr "بستن تمام زبانه ها"
+
+msgid "%d more folders"
+msgstr "%d پوشه‌های بیش تر"
+
+msgid "Add a new scene."
+msgstr "افزودن صحنه جدید."
+
+msgid "Distraction Free Mode"
+msgstr "حالت بدون حواس‌پرتی"
+
+msgid "Scene"
+msgstr "صحنه"
+
+msgid "Operations with scene files."
+msgstr "عملیات با فایل‌های صحنه."
+
+msgid "Go to previously opened scene."
+msgstr "به صحنه‌ای که از قبل باز شده برو."
+
+msgid "Copy Text"
+msgstr "کپی متن"
+
+msgid "New Scene"
+msgstr "صحنه جدید"
+
+msgid "Open Scene..."
+msgstr "باز کردن صحنه..."
+
+msgid "Reopen Closed Scene"
+msgstr "باز کردن مجدد صحنه بسته شده"
+
+msgid "Open Recent"
+msgstr "باز کردن فایل اخیر"
+
+msgid "Save Scene"
+msgstr "ذخیره صحنه"
+
+msgid "Export As..."
+msgstr "صدور به عنوان..."
+
+msgid "Close Scene"
+msgstr "بستن صحنه"
+
+msgid "Quit"
+msgstr "خروج"
+
+msgid "Project"
+msgstr "پروژه"
+
+msgid "Project Settings..."
+msgstr "تنظیمات طرح…"
+
+msgid "Version Control"
+msgstr "مهار نسخه"
+
+msgid "Export..."
+msgstr "صدور…"
+
+msgid "Tools"
+msgstr "ابزارها"
+
+msgid "Orphan Resource Explorer..."
+msgstr "پوینده‌ی منبع جاافتاده"
+
+msgid "Quit to Project List"
+msgstr "خروج به لیست پروژه‌ها"
+
+msgid "Editor"
+msgstr "ویرایشگر"
+
+msgid "Editor Settings..."
+msgstr "تنظیمات ویرایشگر…"
+
+msgid "Editor Layout"
+msgstr "طرح‌بندی ویرایشگر"
+
+msgid "Take Screenshot"
+msgstr "گرفتن اسکرین‌شات"
+
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "عکس‌های صفحه در پوشه دیتا/تنظیمات ویرایشگر ذخیره شده‌اند."
+
+msgid "Toggle Fullscreen"
+msgstr "تبدیل به تمام صفحه"
+
+msgid "Manage Editor Features..."
+msgstr "مدیریت ویژگی‌های ویرایشگر..."
+
+msgid "Help"
+msgstr "راهنما"
+
+msgid "Community"
+msgstr "اَنجُمَن"
+
+msgid "Choose a renderer."
+msgstr "یک رندرر(renderer) انتخاب کن."
+
+msgid "Compatibility"
+msgstr "سازگاری"
+
+msgid "Update Continuously"
+msgstr "بروزرسانی مستمر"
+
+msgid "FileSystem"
+msgstr "سامانه پرونده"
+
+msgid "Inspector"
+msgstr "Inspector"
+
+msgid "Node"
+msgstr "گره"
+
+msgid "Output"
+msgstr "خروجی"
+
+msgid "Don't Save"
+msgstr "ذخیره نکن"
+
+msgid "Manage Templates"
+msgstr "مدیریت قالب‌ها"
+
+msgid "Import Templates From ZIP File"
+msgstr "واردکردن قالب ها از درون یک فایل ZIP"
+
+msgid "Export Library"
+msgstr "صدور کتابخانه"
+
+msgid "Merge With Existing"
+msgstr "ترکیب کردن با نمونه ی موجود"
+
+msgid "Open & Run a Script"
+msgstr "گشودن و اجرای یک اسکریپت"
+
+msgid "Reload"
+msgstr "بارگذاری دوباره"
+
+msgid "Resave"
+msgstr "ذخیره مجدد"
+
+msgid "New Inherited"
+msgstr "وارث جدید"
+
+msgid "Load Errors"
+msgstr "خطاهای بارگذاری"
+
+msgid "Open 2D Editor"
+msgstr "باز کردن ویرایشگر دو بعدی"
+
+msgid "Open 3D Editor"
+msgstr "باز کردن ویرایشگر سه بعدی"
+
+msgid "Open Script Editor"
+msgstr "باز کردن ویرایشگر اسکریپت"
+
+msgid "Open Asset Library"
+msgstr "گشودن کتابخانه عست"
+
+msgid "Open the next Editor"
+msgstr "گشودن ویرایشگر متن"
+
+msgid "Ok"
+msgstr "باشه"
+
+msgid "Warning!"
+msgstr "هشدار!"
+
+msgid "Thumbnail..."
+msgstr "تصویر کوچک..."
+
+msgid "Edit Plugin"
+msgstr "ویرایش افزونه"
+
+msgid "Installed Plugins:"
+msgstr "افزونه های نصب شده:"
+
+msgid "Status"
+msgstr "وضعیت"
+
+msgid "Edit Text:"
+msgstr "ویرایش متن:"
+
+msgid "On"
+msgstr "روشن"
+
+msgid "Rename"
+msgstr "تغییر نام"
+
+msgid "Assign..."
+msgstr "واگذار کردن..."
+
+msgid "Size:"
+msgstr "اندازه:"
+
+msgid "Remove Item"
+msgstr "حذف مورد"
+
+msgid "Quick Load"
+msgstr "بارگذاری سریع"
+
+msgid "New Script"
+msgstr "اسکریپت جدید"
+
+msgid "There is an edited scene already."
+msgstr "در حال حاضر یک صحنه ویرایش شده وجود دارد."
+
+msgid "Editor Settings"
+msgstr "ویرایشگر ترجیحات"
+
+msgid "General"
+msgstr "عمومی"
+
+msgid "The editor must be restarted for changes to take effect."
+msgstr "باید ویرایشگر از نو شروع شود تا تغییرات جلوه کنند."
+
+msgid "Shortcuts"
+msgstr "میانبر‌ها"
+
+msgid "No notifications."
+msgstr "بدون اعلان."
+
+msgid "Show notifications."
+msgstr "نمایش اعلان‌ها."
+
+msgid "Silence the notifications."
+msgstr "اعلان‌ها را بی‌صدا کن."
+
+msgid "All Devices"
+msgstr "تمام دستگاه‌ها"
+
+msgid "Device"
+msgstr "دستگاه"
+
+msgid "Completed with warnings."
+msgstr "با هشدار تکمیل شد."
+
+msgid "Completed successfully."
+msgstr "با موفقیت انجام شد."
+
+msgid "Failed."
+msgstr "ناموفق."
+
+msgid "Storing File:"
+msgstr "ذخیره فایل:"
+
+msgid "No export template found at the expected path:"
+msgstr "هیچ الگوی صادراتی در مسیر مورد انتظار یافت نشد:"
+
+msgid "Packing"
+msgstr "بسته بندی"
+
+msgid "Save PCK"
+msgstr "ذخیره PCk"
+
+msgid "Cannot create file \"%s\"."
+msgstr "نمیتوان فایل \"%s\" راساخت."
+
+msgid "Failed to export project files."
+msgstr "نمیتوان از فایلهای پروژه خروجی گرفت ."
+
+msgid "Can't open file to read from path \"%s\"."
+msgstr "نمیتوان فایل را از مسیر \"%s\" برای خواندن بازکرد."
+
+msgid "Save ZIP"
+msgstr "ذخیره ZIP"
+
+msgid "Custom debug template not found."
+msgstr "قالب اشکال زدایی سفارشی یافت نشد."
+
+msgid "Custom release template not found."
+msgstr "قالب انتشار سفارشی یافت نشد."
+
+msgid "The given export path doesn't exist."
+msgstr "مسیر خروجی وجود ندارد."
+
+msgid "Template file not found: \"%s\"."
+msgstr "فایل قالب پیدا نشد: \"%s\""
+
+msgid "Failed to copy export template."
+msgstr "خطا در کپی قالب خروجی."
+
+msgid "PCK Embedding"
+msgstr "تعبیه پی‌سی‌کی"
+
+msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
+msgstr ""
+"در خروجی های ۳۲ بیتی پی‌سی‌کی تعبیه شده نمی‌تواند از ۴ گیگابایت بزرگ‌تر باشد."
+
+msgid "Error requesting URL:"
+msgstr "خطا در درخواست URL:"
+
+msgid "Request failed."
+msgstr "درخواست ناموفق بود."
+
+msgid "Request failed:"
+msgstr "درخواست ناموفق بود:"
+
+msgid "Cannot remove temporary file:"
+msgstr "امکان حذف فایل موقت وجود ندارد:"
+
+msgid "Disconnected"
+msgstr "اتصال قطع شده"
+
+msgid "Connecting..."
+msgstr "در حال اتصال..."
+
+msgid "Connected"
+msgstr "وصل شده"
+
+msgid "Requesting..."
+msgstr "در حال درخواست..."
+
+msgid "Downloading"
+msgstr "در حال بارگیری"
+
+msgid "Connection Error"
+msgstr "خطای اتصال"
+
+msgid "Importing:"
+msgstr "وارد کردن:"
+
+msgid "Current Version:"
+msgstr "نسخه اخیر:"
+
+msgid "Uninstall"
+msgstr "حذف نصب"
+
+msgid "Install templates from a local file."
+msgstr "قالب‌ها را از یک فایل محلی نصب کن."
+
+msgid "Runnable"
+msgstr "قابل اجرا"
+
+msgid "Resources to export:"
+msgstr "منابع برای صدور:"
+
+msgid "Release"
+msgstr "انتشار"
+
+msgid "Presets"
+msgstr "پیش فرض ها"
+
+msgid "Add..."
+msgstr "افزودن..."
+
+msgid "Duplicate"
+msgstr "تکثیر کردن"
+
+msgid "Export Path"
+msgstr "مسیر خروجی"
+
+msgid "Options"
+msgstr "گزینه ها"
+
+msgid "Resources"
+msgstr "منابع"
+
+msgid "Export all resources in the project"
+msgstr "صدور همه منابع در پروژه"
+
+msgid "Export selected scenes (and dependencies)"
+msgstr "صدور صحنه های انتخاب شده (و وابستگی ها)"
+
+msgid "Export selected resources (and dependencies)"
+msgstr "صدور منابع انتخاب شده (و وابستگی ها)"
+
+msgid "Export Mode:"
+msgstr "حالت صدور:"
+
+msgid "Features"
+msgstr "ویژگی‌ها"
+
+msgid "Feature List:"
+msgstr "فهرست ویژگی‌ها:"
+
+msgid "More Info..."
+msgstr "اطلاعات بیشتر..."
+
+msgid "Export PCK/ZIP..."
+msgstr "صدور PCK/ZIP..."
+
+msgid "Export Project..."
+msgstr "صدور پروژه..."
+
+msgid "Export All"
+msgstr "صدور همه"
+
+msgid "Export All..."
+msgstr "صدور همه..."
+
+msgid "Manage Export Templates"
+msgstr "مدیریت صدور قالب ها"
+
+msgid "Export With Debug"
+msgstr "صدور با اشکال زدا"
+
+msgid "Browse"
+msgstr "مرور کردن"
+
+msgid "Favorites"
+msgstr "برگزیده‌ها"
+
+msgid "Provided name contains invalid characters."
+msgstr "نام ارائه شده شامل کاراکترهای نامعتبر است."
+
+msgid "Renaming file:"
+msgstr "تغییر نام فایل:"
+
+msgid "Renaming folder:"
+msgstr "تغییر نام پوشه:"
+
+msgid "Duplicating file:"
+msgstr "فایل تکراری:"
+
+msgid "Add to Favorites"
+msgstr "اضافه به علاقمندی‌ها"
+
+msgid "Remove from Favorites"
+msgstr "حذف از علاقمندی‌ها"
+
+msgid "Move To..."
+msgstr "انتقال به..."
+
+msgid "Scene..."
+msgstr "صحنه..."
+
+msgid "Script..."
+msgstr "اسکریپت..."
+
+msgid "New Scene..."
+msgstr "صحنه جدید..."
+
+msgid "New Script..."
+msgstr "اسکریپت جدید..."
+
+msgid "New Resource..."
+msgstr "منبع جدید..."
+
+msgid "Duplicate..."
+msgstr "تکرار..."
+
+msgid "Rename..."
+msgstr "تغییر نام..."
+
+msgid "Re-Scan Filesystem"
+msgstr "پویش دوباره سامانه پرونده"
+
+msgid "Move"
+msgstr "حرکت"
+
+msgid "Overwrite"
+msgstr "بازنویسی"
+
+msgid "Find in Files"
+msgstr "یافتن در فایل‌ها"
+
+msgid "Find:"
+msgstr "یافتن:"
+
+msgid "Folder:"
+msgstr "پوشه:"
+
+msgid "Filters:"
+msgstr "فیلترها:"
+
+msgid "Find..."
+msgstr "جستجو..."
+
+msgid "Replace..."
+msgstr "جایگزین کردن..."
+
+msgid "Searching..."
+msgstr "در حال جستجو..."
+
+msgid "%d match in %d file"
+msgstr "%d نظیر در %d فایل"
+
+msgid "%d matches in %d file"
+msgstr "%d نظیر در %d فایل"
+
+msgid "%d matches in %d files"
+msgstr "%d نظیر در %d فایل"
+
+msgid "Add to Group"
+msgstr "اضافه به گروه"
+
+msgid "Remove from Group"
+msgstr "حذف از گروه"
+
+msgid "Group name already exists."
+msgstr "نام گروه از قبل وجود داشته است."
+
+msgid "Rename Group"
+msgstr "تغییر نام گروه"
+
+msgid "Delete Group"
+msgstr "حذف گروه"
+
+msgid "Groups"
+msgstr "گروه‌ها"
+
+msgid "Nodes in Group"
+msgstr "گره ها در گروه"
+
+msgid "Empty groups will be automatically removed."
+msgstr "گروه های خالی به طور خودکار حذف خواهند شد."
+
+msgid "Group Editor"
+msgstr "ویرایشگر گروه"
+
+msgid "Manage Groups"
+msgstr "مدیریت گروه‌ها"
+
+msgid "Reimport"
+msgstr "وارد کردن دوباره"
+
+msgid "Enable looping."
+msgstr "فعالسازی لوپ(حلقه)"
+
+msgid "Offset:"
+msgstr "انحراف:"
+
+msgid "Importing Scene..."
+msgstr "وارد کردن صحنه..."
+
+msgid "Import Scene"
+msgstr "وارد کردن صحنه"
+
+msgid "Saving..."
+msgstr "در حال ذخیره..."
+
+msgid "2D"
+msgstr "دو بعدی"
+
+msgid "3D"
+msgstr "سه بعدی"
+
+msgid "Import ID: %s"
+msgstr "وارد کردن شناسه: %s"
+
+msgid "Error opening scene"
+msgstr "خطا در باز کردن صحنه"
+
+msgid "Actions..."
+msgstr "فعالیت‌ها"
+
+msgid "Meshes"
+msgstr "مش‌ها"
+
+msgid "Import As:"
+msgstr "وارد کردن به عنوان:"
+
+msgid "Advanced..."
+msgstr "پیشرفته..."
+
+msgid "Mouse Buttons"
+msgstr "دکمه‌های موس"
+
+msgid "Device:"
+msgstr "دستگاه:"
+
+msgid "Failed to load resource."
+msgstr "بارگیری منبع انجام نشد."
+
+msgid "Raw"
+msgstr "خام"
+
+msgid "Create a new resource in memory and edit it."
+msgstr "یک منبع جدید در حافظه بساز و آن را ویرایش کن."
+
+msgid "Save As..."
+msgstr "ذخیره در..."
+
+msgid "Copy Resource"
+msgstr "کپی منبع"
+
+msgid "History of recently edited objects."
+msgstr "تاریخچه اشیایی که اخیرا ویرایش شده‌اند."
+
+msgid "Remove Translation"
+msgstr "حذف ترجمه"
+
+msgid "Translations"
+msgstr "ترجمه‌ها"
+
+msgid "Translations:"
+msgstr "ترجمه‌ها:"
+
+msgid "Remaps"
+msgstr "بازطرح‌شده‌ها"
+
+msgid "Resources:"
+msgstr "منابع:"
+
+msgid "Remaps by Locale:"
+msgstr "بازطرح‌شده‌ها توسط بومی‌سازی:"
+
+msgid "Locale"
+msgstr "بومی"
+
+msgid "Create a Plugin"
+msgstr "ساخت یک افزونه"
+
+msgid "Update"
+msgstr "بروز رسانی"
+
+msgid "Plugin Name:"
+msgstr "نام افزونه:"
+
+msgid "Subfolder:"
+msgstr "زیرپوشه:"
+
+msgid "Author:"
+msgstr "خالق:"
+
+msgid "Version:"
+msgstr "نسخه:"
+
+msgid "Script Name:"
+msgstr "نام اسکریپت:"
+
+msgid "Activate now?"
+msgstr "الان فعالسازی شود؟"
+
+msgid "Create points."
+msgstr "ساخت نقاط."
+
+msgid "Erase points."
+msgstr "حذف نقاط."
+
+msgid "Add Animation"
+msgstr "اضافه کردن انیمیشن"
+
+msgid "Add %s"
+msgstr "اضافه کردن %s"
+
+msgid "Load..."
+msgstr "بارگذاری..."
+
+msgid "Blend:"
+msgstr "درآمیختن:"
+
+msgid "Point"
+msgstr "نقطه"
+
+msgid "Open Editor"
+msgstr "باز کردن ویرایشگر"
+
+msgid "Open Animation Node"
+msgstr "باز کردن گره انیمیشن"
+
+msgid "Triangle already exists."
+msgstr "مثلث از قبل وجود دارد."
+
+msgid "Node Moved"
+msgstr "گره حرکت کرد"
+
+msgid "Nodes Connected"
+msgstr "گره‌ها متصل شدند"
+
+msgid "Nodes Disconnected"
+msgstr "گره‌ها جدا شدند"
+
+msgid "Delete Node"
+msgstr "حذف گره"
+
+msgid "Delete Node(s)"
+msgstr "حذف گره(ها)"
+
+msgid "Change Filter"
+msgstr "تغییر فیلتر"
+
+msgid "Functions"
+msgstr "توابع"
+
+msgid "Node Renamed"
+msgstr "نام گره تغییر کرد"
+
+msgid "Add Node..."
+msgstr "افزودن گره..."
+
+msgid "Enable Filtering"
+msgstr "فعال کردن فیلترها"
+
+msgid "Animation name can't be empty."
+msgstr "نام انیمیشن نمی‌تواند خالی باشد."
+
+msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
+msgstr "نام انیمیشن دارای کاراکترهای نامعتبر است: '/'، ':'، ',' یا '['."
+
+msgid "Animation with the same name already exists."
+msgstr "انیمیشنی با این نام وجود دارد."
+
+msgid "Library name contains invalid characters: '/', ':', ',' or '['."
+msgstr "نام کتابخانه دارای کاراکترهای نامعتبر است: '/'، ':'، ',' یا '['."
+
+msgid "Library name is valid."
+msgstr "نام کتابخانه معتبر است."
+
+msgid "Load Animation"
+msgstr "بارگذاری انیمیشن"
+
+msgid "Animation Name:"
+msgstr "نام انیمیشن:"
+
+msgid "Copy animation to clipboard"
+msgstr "کپی کردن انیمیشن در کلیپ‌بورد"
+
+msgid "Create New Animation"
+msgstr "ساخت انیمیشن جدید"
+
+msgid "New Animation Name:"
+msgstr "نام انیمیشن جدید:"
+
+msgid "Rename Animation"
+msgstr "تغییر نام انیمیشن"
+
+msgid "Change Animation Name:"
+msgstr "تغییر نام انیمیشن:"
+
+msgid "Remove Animation"
+msgstr "حذف انیمیشن"
+
+msgid "Invalid animation name!"
+msgstr "نام انیمیشن نامعتبر است!"
+
+msgid "Duplicate Animation"
+msgstr "انیمیشن تکراری"
+
+msgid "Play selected animation from start. (Shift+D)"
+msgstr "انیمیشن فعلی را از ابتدا پخش کن. (Shift+D)"
+
+msgid "Animation Tools"
+msgstr "ابزار انیمیشن"
+
+msgid "Animation"
+msgstr "انیمیشن"
+
+msgid "Manage Animations..."
+msgstr "مدیریت انیمیشن‌ها..."
+
+msgid "Edit Transitions..."
+msgstr "ویرایش انتقال‌ها..."
+
+msgid "Display list of animations in player."
+msgstr "نمایش لیست انیمیشن‌ها در پخش‌کننده."
+
+msgid "Autoplay on Load"
+msgstr "پخش خودکار پس از بارگذاری"
+
+msgid "Directions"
+msgstr "جهت‌ها"
+
+msgid "Past"
+msgstr "گذشته"
+
+msgid "Future"
+msgstr "آینده"
+
+msgid "Depth"
+msgstr "عمق"
+
+msgid "Error!"
+msgstr "خطا!"
+
+msgid "Move Node"
+msgstr "حرکت دادن گره"
+
+msgid "Add Transition"
+msgstr "افزودن انتقال"
+
+msgid "Immediate"
+msgstr "فوری"
+
+msgid "Sync"
+msgstr "همگام‌سازی"
+
+msgid "Travel"
+msgstr "سفر"
+
+msgid "Node Removed"
+msgstr "گره حذف شد"
+
+msgid "Transition Removed"
+msgstr "انتقال حذف شد"
+
+msgid "Create new nodes."
+msgstr "ساخت گره‌های جدید."
+
+msgid "Connect nodes."
+msgstr "اتصال گره‌ها."
+
+msgid "Remove selected node or transition."
+msgstr "گره یا انتقال انتخاب شده را حذف کن."
+
+msgid "Delete Selected"
+msgstr "حذف انتخاب شده"
+
+msgid "Root"
+msgstr "ریشه"
+
+msgid "Contents:"
+msgstr "محتواها:"
+
+msgid "View Files"
+msgstr "نمایش پرونده ها"
+
+msgid "Download"
+msgstr "دانلود"
+
+msgid "Can't connect."
+msgstr "ناتوان در اتصال."
+
+msgid "Can't connect to host:"
+msgstr "نمی‌توان به میزبان متصل شد:"
+
+msgid "No response."
+msgstr "بدون پاسخ."
+
+msgid "Failed:"
+msgstr "ناموفق:"
+
+msgid "Expected:"
+msgstr "انتظار می‌رود:"
+
+msgid "Got:"
+msgstr "گرفته شد:"
+
+msgid "Downloading (%s / %s)..."
+msgstr "در حال دانلود ‭(%s / %s)‫‫‫‫"
+
+msgid "Downloading..."
+msgstr "در حال دانلود..."
+
+msgid "Error making request"
+msgstr "خطای درخواست"
+
+msgid "Idle"
+msgstr "بیکار"
+
+msgid "Install..."
+msgstr "نصب..."
+
+msgid "Retry"
+msgstr "تلاش دوباره"
+
+msgid "Download Error"
+msgstr "خطاهای بارگیری"
+
+msgid "Recently Updated"
+msgstr "اخیرا بروزرسانی شده"
+
+msgid "Name (A-Z)"
+msgstr "نام (A-Z)"
+
+msgid "Name (Z-A)"
+msgstr "نام (Z-A)"
+
+msgid "Official"
+msgstr "دفتری"
+
+msgid "Testing"
+msgstr "آزمودن"
+
+msgid "Loading..."
+msgstr "بارگذاری..."
+
+msgctxt "Pagination"
+msgid "First"
+msgstr "اولین"
+
+msgctxt "Pagination"
+msgid "Last"
+msgstr "آخرین"
+
+msgid "All"
+msgstr "همه"
+
+msgid "Import..."
+msgstr "وارد کردن..."
+
+msgid "Plugins..."
+msgstr "افزونه‌ها..."
+
+msgid "Sort:"
+msgstr "مرتب‌سازی:"
+
+msgid "Category:"
+msgstr "طبقه‌بندی:"
+
+msgid "Site:"
+msgstr "تارنما:"
+
+msgid "Support"
+msgstr "پشتیبانی"
+
+msgid "Assets ZIP File"
+msgstr "فایل های ZIP‌ منابع بازی"
+
+msgid "Preview"
+msgstr "پیش نمایش"
+
+msgid "steps"
+msgstr "گام‌ها"
+
+msgid "units"
+msgstr "واحدها"
+
+msgid "Select Mode"
+msgstr "انتخاب حالت"
+
+msgid "Ruler Mode"
+msgstr "حالت خط‌کش"
+
+msgid "View"
+msgstr "دیدن"
+
+msgid "Show"
+msgstr "نشان دادن"
+
+msgid "Hide"
+msgstr "مخفی کردن"
+
+msgid "Grid"
+msgstr "شبکه شطرنجی"
+
+msgid "Show Rulers"
+msgstr "نمایش خط‌کش‌ها"
+
+msgid "Adding %s..."
+msgstr "در حال اضافه کردن %s..."
+
+msgid "Create Node"
+msgstr "ساختن گره"
+
+msgid "Expand"
+msgstr "گسترش دادن"
+
+msgid "Center"
+msgstr "مرکز"
+
+msgid "Flat 1"
+msgstr "تخت ۱"
+
+msgid "Smoothstep"
+msgstr "گام نرم"
+
+msgid "Modify Curve Point"
+msgstr "ویرایش نقطهٔ منحنی"
+
+msgid "Modify Curve Tangent"
+msgstr "ویرایش مماس منحنی"
+
+msgid "Load Curve Preset"
+msgstr "بارگیری منحنی ذخیره‌شده"
+
+msgid "Add Point"
+msgstr "افزودن نقطه"
+
+msgid "Remove Point"
+msgstr "برداشتن نقطه"
+
+msgid "Remove Curve Point"
+msgstr "حذف نقطهٔ منحنی"
+
+msgid "Volume"
+msgstr "حجم"
+
+msgid "Low"
+msgstr "پایین"
+
+msgid "Create Outline"
+msgstr "ساخت طرح کلی"
+
+msgid "Mesh"
+msgstr "مِش"
+
+msgid "Outline Size:"
+msgstr "اندازه طرح کلی:"
+
+msgid "Add Item"
+msgstr "افزودن مورد"
+
+msgid "Remove Selected Item"
+msgstr "حذف مورد انتخاب‌شده"
+
+msgid "Update from Scene"
+msgstr "به‌روزرسانی از صحنه"
+
+msgid "X-Axis"
+msgstr "محور X"
+
+msgid "Y-Axis"
+msgstr "محور Y"
+
+msgid "Z-Axis"
+msgstr "محور Z"
+
+msgid "Amount:"
+msgstr "مقدار:"
+
+msgid "Change Camera Size"
+msgstr "تغییر اندازه دوربین"
+
+msgid "Change Sphere Shape Radius"
+msgstr "تغییر شعاع شکل کره"
+
+msgid "Change Capsule Shape Radius"
+msgstr "تغییر شعاع شکل کپسول"
+
+msgid "Change Capsule Shape Height"
+msgstr "تغییر ارتفاع شکل کپسول"
+
+msgid "Orthogonal"
+msgstr "قائم"
+
+msgid " [auto]"
+msgstr " [خودکار]"
+
+msgid "None"
+msgstr "هیچکدام"
+
+msgid "Preview disabled."
+msgstr "پیش‌نمایش غیرفعال شد."
+
+msgid "Toggle Freelook"
+msgstr "دید آزاد"
+
+msgid "Transform"
+msgstr "تبدیل"
+
+msgid "Settings..."
+msgstr "تنظیمات..."
+
+msgid "Translate:"
+msgstr "ترجمه:"
+
+msgid "Rotate (deg.):"
+msgstr "چرخش (درجه):"
+
+msgid "Scale (ratio):"
+msgstr "مقیاس کردن (نسبت):"
+
+msgid "Pre"
+msgstr "پیش"
+
+msgid "Post"
+msgstr "پس"
+
+msgid "Ground Color"
+msgstr "رنگ زمین"
+
+msgid "Glow"
+msgstr "درخشش"
+
+msgid "Click: Add Point"
+msgstr "کلیک: اضافه کردن نقطه"
+
+msgid "Right Click: Delete Point"
+msgstr "کلیک راست: حذف نقطه"
+
+msgid "Delete Point"
+msgstr "حذف نقطه"
+
+msgid "Move Joint"
+msgstr "حرکت مفصل"
+
+msgid "Polygons"
+msgstr "چندضلعی‌ها"
+
+msgid "Bones"
+msgstr "استخوان‌ها"
+
+msgid "Move Points"
+msgstr "انتقال نقطه‌ها"
+
+msgid "Ctrl: Rotate"
+msgstr "Ctrl: چرخش"
+
+msgid "Shift+Ctrl: Scale"
+msgstr "Shift+Ctrl: مقیاس"
+
+msgid "Rotate Polygon"
+msgstr "چرخش چندضلعی"
+
+msgid "Radius:"
+msgstr "شعاع:"
+
+msgid "Show Grid"
+msgstr "نمایش شبکه شطرنجی"
+
+msgid "Add Resource"
+msgstr "افزودن منبع"
+
+msgid "Rename Resource"
+msgstr "تغییر نام منبع"
+
+msgid "Delete Resource"
+msgstr "حذف منبع"
+
+msgid "Paste Resource"
+msgstr "چسباندن منبع"
+
+msgid "Open in Editor"
+msgstr "گشودن در ویرایشگر"
+
+msgid "Load Resource"
+msgstr "بارگذاری منبع"
+
+msgid "Can't open '%s'. The file could have been moved or deleted."
+msgstr "نمی‌توان %s را باز کرد. این فایل می‌تواند انتقال یافته یا حذف شده باشد."
+
+msgid "Error saving file!"
+msgstr "خطای ذخیره فایل!"
+
+msgid "Error while saving theme."
+msgstr "خطای در هنگام ذخیره کردن تم."
+
+msgid "Error Saving"
+msgstr "خطا در ذخیره‌سازی"
+
+msgid "Error importing theme."
+msgstr "خطا در وارد کردن تم."
+
+msgid "Error Importing"
+msgstr "خطا در وارد کردن"
+
+msgid "New Text File..."
+msgstr "فایل متنی جدید..."
+
+msgid "Open File"
+msgstr "باز کردن فایل"
+
+msgid "Save File As..."
+msgstr "ذخیره فایل به عنوان..."
+
+msgid "Import Theme"
+msgstr "وارد کردن تم"
+
+msgid "Error saving"
+msgstr "خطا در ذخیره‌سازی"
+
+msgid "Sort"
+msgstr "مرتب‌سازی"
+
+msgid "File"
+msgstr "فایل"
+
+msgid "Open..."
+msgstr "بار کردن..."
+
+msgid "Save All"
+msgstr "ذخیره‌سازی همه"
+
+msgid "Theme"
+msgstr "تم"
+
+msgid "Import Theme..."
+msgstr "وارد کردن تم..."
+
+msgid "Reload Theme"
+msgstr "بارگذاری مجدد تم"
+
+msgid "Save Theme"
+msgstr "ذخیره کردن تم"
+
+msgid "Close All"
+msgstr "بستن همه"
+
+msgid "Run"
+msgstr "اجرا"
+
+msgid "Search"
+msgstr "جستجو"
+
+msgid "Open Godot online documentation."
+msgstr "باز کردن مستندات آنلاین Godot."
+
+msgid "Discard"
+msgstr "رد کردن"
+
+msgid "Search Results"
+msgstr "نتایج جستجو"
+
+msgid "Clear Recent Scripts"
+msgstr "حذف اسکریپت‌های اخیر"
+
+msgid "Standard"
+msgstr "استاندارد"
+
+msgid "JSON"
+msgstr "JSON"
+
+msgid "Source"
+msgstr "منبع"
+
+msgid "Target"
+msgstr "هدف"
+
+msgid "Line"
+msgstr "خط"
+
+msgid "Go to Function"
+msgstr "برو به تابع"
+
+msgid "Pick Color"
+msgstr "انتخاب رنگ"
+
+msgid "Uppercase"
+msgstr "حروف بزرگ"
+
+msgid "Lowercase"
+msgstr "حروف کوچک"
+
+msgid "Capitalize"
+msgstr "بزرگ کردن حروف"
+
+msgid "Bookmarks"
+msgstr "نشانک‌ها"
+
+msgid "Go To"
+msgstr "برو به"
+
+msgid "Delete Line"
+msgstr "حذف خط"
+
+msgid "Find in Files..."
+msgstr "یافتن در فایل‌ها..."
+
+msgid "Go to Next Bookmark"
+msgstr "رفتن به نشانک بعدی"
+
+msgid "Go to Previous Bookmark"
+msgstr "رفتن به نشانک قبلی"
+
+msgid "Remove All Bookmarks"
+msgstr "حذف تمام نشانک‌ها"
+
+msgid "Go to Function..."
+msgstr "برو به تابع..."
+
+msgid "Go to Line..."
+msgstr "برو به خط..."
+
+msgid "Toggle Breakpoint"
+msgstr "یک Breakpoint درج کن"
+
+msgid "Save File As"
+msgstr "ذخیره فایل به عنوان"
+
+msgid "Create Polygon2D"
+msgstr "ساخت چندضلعی دوبعدی"
+
+msgid "Convert to Polygon2D"
+msgstr "تبدیل به چندضلعی دوبعدی"
+
+msgid "Settings:"
+msgstr "تنظیمات:"
+
+msgid "No Frames Selected"
+msgstr "هیچ فریمی انتخاب نشده است"
+
+msgid "Add Frame"
+msgstr "افزودن فریم"
+
+msgid "Paste Frame"
+msgstr "چسباندن فریم"
+
+msgid "Move Frame"
+msgstr "حرکت دادن فریم"
+
+msgid "Delete Animation?"
+msgstr "انیمیشن حذف شود؟"
+
+msgid "(empty)"
+msgstr "(خالی)"
+
+msgid "Animations:"
+msgstr "انیمیشن‌ها:"
+
+msgid "Zoom Reset"
+msgstr "‪‮تنظیم مجدد بزرگنمایی"
+
+msgid "Select Frames"
+msgstr "انتخاب فریم‌ها"
+
+msgid "Horizontal:"
+msgstr "افقی:"
+
+msgid "Vertical:"
+msgstr "عمودی:"
+
+msgid "Select/Clear All Frames"
+msgstr "انتخاب/حذف همه فریم‌ها"
+
+msgid "SpriteFrames"
+msgstr "فریم های اسپرایت"
+
+msgid "Set Margin"
+msgstr "تنظیم حاشیه"
+
+msgid "Step:"
+msgstr "گام:"
+
+msgid "No colors found."
+msgstr "هیچ رنگی پیدا نشد."
+
+msgid "No fonts found."
+msgstr "هیچ فونتی پیدا نشد."
+
+msgid "No font sizes found."
+msgstr "هیچ اندازه فونتی پیدا نشد."
+
+msgid "No icons found."
+msgstr "هیچ آیکونی پیدا نشد."
+
+msgid "Remove All Items"
+msgstr "حذف تمام موارد"
+
+msgid "Import Items"
+msgstr "وارد کردن موارد"
+
+msgid "Manage Items..."
+msgstr "مدیریت موارد..."
+
+msgid "Item"
+msgstr "مورد"
+
+msgid "Submenu"
+msgstr "زیر‌منو"
+
+msgid "Has"
+msgstr "دارد"
+
+msgid "Many"
+msgstr "بسیاری"
+
+msgid "Subtree"
+msgstr "زیر‌درخت"
+
+msgid "Has,Many,Options"
+msgstr "دارد،بسیار،گزینه‌ها"
+
+msgid "Rotate Right"
+msgstr "چرخش به راست"
+
+msgid "Rotate Left"
+msgstr "چرخش به چپ"
+
+msgid "Flip Horizontally"
+msgstr "به صورت افقی قرینه شود"
+
+msgid "Flip Vertically"
+msgstr "به صورت عمودی قرینه شود"
+
+msgid "Shift+Ctrl: Draw rectangle."
+msgstr "Shift+Ctrl: رسم مستطیل."
+
+msgid "Eraser"
+msgstr "پاک‌کن"
+
+msgid "Patterns"
+msgstr "الگوها"
+
+msgid "Setup"
+msgstr "آماده‌سازی"
+
+msgid "Select tiles."
+msgstr "انتخاب کاشی‌ها."
+
+msgid "No tiles selected."
+msgstr "هیچ کاشی انتخاب نشد."
+
+msgid "Yes"
+msgstr "بله"
+
+msgid "Error"
+msgstr "خطا"
+
+msgid "Date:"
+msgstr "تاریخ:"
+
+msgid "Subtitle:"
+msgstr "زیرنویس:"
+
+msgid "Password"
+msgstr "گذرواژه"
+
+msgid "SSH Passphrase"
+msgstr "عبارت عبور SSH"
+
+msgid "Detect new changes"
+msgstr "شناسایی تغییرات جدید"
+
+msgid "Fetch"
+msgstr "فراخوانی"
+
+msgid "Pull"
+msgstr "Pull"
+
+msgid "Push"
+msgstr "Push"
+
+msgid "Modified"
+msgstr "تغییر کرده"
+
+msgid "Renamed"
+msgstr "نام تغییر یافت"
+
+msgid "Deleted"
+msgstr "حذف شد"
+
+msgid "Unmerged"
+msgstr "ترکیب نشده"
+
+msgid "Unified"
+msgstr "متحد شده"
+
+msgid "Add Input"
+msgstr "اضافه کردن ورودی"
+
+msgid "Boolean"
+msgstr "بولی"
+
+msgid "Vertex"
+msgstr "رأس"
+
+msgid "Light"
+msgstr "نور"
+
+msgid "Sky"
+msgstr "آسمان"
+
+msgid "Fog"
+msgstr "مه"
+
+msgid "Add Node"
+msgstr "افزودن گره"
+
+msgid "Color constant."
+msgstr "مقدار ثابت رنگ"
+
+msgid "Equal (==)"
+msgstr "مساوی (==)"
+
+msgid "Greater Than (>)"
+msgstr "بزرگتر از (<)"
+
+msgid "Greater Than or Equal (>=)"
+msgstr "بزرگتر یا برابر (=<)"
+
+msgid "Less Than (<)"
+msgstr "کمتر از (>)"
+
+msgid "Less Than or Equal (<=)"
+msgstr "کمتر یا مساوی (=>)"
+
+msgid "Not Equal (!=)"
+msgstr "نا مساوی (=!)"
+
+msgid "Input parameter."
+msgstr "پارامتر ورودی."
+
+msgid "Natural logarithm."
+msgstr "لگاریتم طبیعی."
+
+msgid "Base-2 logarithm."
+msgstr "لگاریتم پایه ۲."
+
+msgid "Transform function."
+msgstr "تابع انتقال"
+
+msgid "Transform constant."
+msgstr "ثابت تبدیل"
+
+msgid "New Game Project"
+msgstr "پروژه بازی جدید"
+
+msgid "Imported Project"
+msgstr "پروژه واردشده"
+
+msgid "Invalid project name."
+msgstr "نام پروژه نامعتبر است."
+
+msgid "Couldn't create folder."
+msgstr "پوشه ایجاد نشد."
+
+msgid "Error opening package file, not in ZIP format."
+msgstr "خطای گشودن بسته بندی پرونده، به شکل ZIP نیست."
+
+msgid "The following files failed extraction from package:"
+msgstr "استخراج پرونده های زیر از بسته بندی انجام نشد:"
+
+msgid "Package installed successfully!"
+msgstr "بسته با موفقیت نصب شد!"
+
+msgid "Rename Project"
+msgstr "تغییر نام پروژه"
+
+msgid "Import Existing Project"
+msgstr "وارد کردن پروژه موجود"
+
+msgid "Import & Edit"
+msgstr "وارد کردن و ویرایش"
+
+msgid "Create New Project"
+msgstr "ساختن پروژه جدید"
+
+msgid "Create & Edit"
+msgstr "ساخت و ویرایش"
+
+msgid "Install Project:"
+msgstr "نصب پروژه:"
+
+msgid "Install & Edit"
+msgstr "نصب و ویرایش"
+
+msgid "Project Name:"
+msgstr "نام پروژه:"
+
+msgid "Project Path:"
+msgstr "مسیر پروژه:"
+
+msgid "Git"
+msgstr "گیت"
+
+msgid "Missing Project"
+msgstr "پروژهٔ از دست رفته"
+
+msgid "Error: Project is missing on the filesystem."
+msgstr "خطا: پروژه در فایل‌های سیستمی وجود ندارد."
+
+msgid "Local"
+msgstr "محلی"
+
+msgid "Local Projects"
+msgstr "پروژه‌های محلی"
+
+msgid "Asset Library Projects"
+msgstr "پروژه‌های کتابخانهٔ دارایی"
+
+msgid "Can't open project at '%s'."
+msgstr "ناتوان در گشودن پروژه در '%s'."
+
+msgid ""
+"The selected project \"%s\" was generated by Godot 3.x, and needs to be "
+"converted for Godot 4.x.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"You have three options:\n"
+"- Convert only the configuration file (\"project.godot\"). Use this to open "
+"the project without attempting to convert its scenes, resources and "
+"scripts.\n"
+"- Convert the entire project including its scenes, resources and scripts "
+"(recommended if you are upgrading).\n"
+"- Do nothing and go back.\n"
+"\n"
+"Warning: If you select a conversion option, you won't be able to open the "
+"project with previous versions of the engine anymore."
+msgstr ""
+"پروژهٔ انتخاب شده \"%s\" توسط گودو 3.x ایجاد شده است و باید برای گودو 4.x "
+"تبدیل شود.\n"
+"\n"
+" مسیر پروژه: %s\n"
+"\n"
+" شما سه گزینه دارید:\n"
+" - فقط فایل پیکربندی (\"project.godot\") را تبدیل کنید. از این برای باز کردن "
+"پروژه بدون تلاش برای تبدیل صحنه‌ها، منابع و اسکریپت‌های آن استفاده کنید.\n"
+" - کل پروژه از جمله صحنه ها، منابع و اسکریپت های آن را تبدیل کنید (توصیه "
+"می‌شود اگر در حال ارتقا هستید).\n"
+" - کاری نکن و برگرد.\n"
+"\n"
+" هشدار: اگر گزینه تبدیل را انتخاب کنید، دیگر نمی توانید پروژه را با نسخه های "
+"قبلی موتور باز کنید."
+
+msgid "Convert project.godot Only"
+msgstr "فقط تبدیل project.godot"
+
+msgid ""
+"The selected project \"%s\" was generated by an older engine version, and "
+"needs to be converted for this version.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"Do you want to convert it?\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"پروژهٔ انتخابی \"%s\" توسط یک نسخه موتور قدیمی ایجاد شده است و باید برای این "
+"نسخه تبدیل شود.\n"
+"\n"
+" مسیر پروژه: %s\n"
+"\n"
+" آیا می خواهید آن را تبدیل کنید؟\n"
+"\n"
+" هشدار: دیگر نمی‌توانید پروژه را با نسخه‌های قبلی موتور باز کنید."
+
+msgid "Convert project.godot"
+msgstr "تبدیل project.godot"
+
+msgid ""
+"Can't open project \"%s\" at the following path:\n"
+"\n"
+"%s\n"
+"\n"
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+"پروژهٔ \"%s\" در مسیر زیر باز نمی‌شود:\n"
+"\n"
+" %s\n"
+"\n"
+" تنظیمات پروژه توسط یک نسخه موتور جدیدتر ایجاد شده است که تنظیمات آن با این "
+"نسخه سازگار نیست."
+
+msgid ""
+"Warning: This project uses C#, but this build of Godot does not have\n"
+"the Mono module. If you proceed you will not be able to use any C# scripts.\n"
+"\n"
+msgstr ""
+"اخطار: این پروژه از سی شارپ استفاده می کند، اما این نسخهٔ گودو ماژول Mono را "
+"ندارد. اگر ادامه دهید، نمی‌توانید از هیچ اسکریپت سی شارپی استفاده کنید.\n"
+"\n"
+
+msgid ""
+"Warning: This project was built in Godot %s.\n"
+"Opening will upgrade or downgrade the project to Godot %s.\n"
+"\n"
+msgstr ""
+"…هشدار: این پروژه در گودو %s ساخته شده است.\n"
+" باز کردن پروژه را به گودو %s ارتقا یا کاهش می‌دهد.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses the following features not supported by this "
+"build of Godot:\n"
+"\n"
+"%s\n"
+"\n"
+msgstr ""
+"هشدار: این پروژه از ویژگی‌های زیر استفاده می‌کند که توسط این نسخهٔ گودو "
+"پشتیبانی نمی‌شود:\n"
+"\n"
+" %s\n"
+"\n"
+
+msgid "Open anyway? Project will be modified."
+msgstr "به هر حال باز شود؟ پروژه اصلاح خواهد شد."
+
+msgid ""
+"Can't run project: no main scene defined.\n"
+"Please edit the project and set the main scene in the Project Settings under "
+"the \"Application\" category."
+msgstr ""
+"نمی‌توان پروژه را اجرا کرد: صحنهٔ اصلی تعریف نشده است.\n"
+" لطفاً پروژه را ویرایش کنید و صحنهٔ اصلی را در قسمت تنظیمات پروژه در دستهٔ "
+"«برنامه» تنظیم کنید."
+
+msgid ""
+"Can't run project: Assets need to be imported.\n"
+"Please edit the project to trigger the initial import."
+msgstr ""
+"پروژه اجرا نمی‌شود: دارایی ها باید وارد شوند.\n"
+" لطفاً پروژه را ویرایش کنید تا وارد کردن اولیه آغاز شود."
+
+msgid "Are you sure to run %d projects at once?"
+msgstr "آیا مطمئن هستید که %d پروژه را همزمان اجرا می‌کنید؟"
+
+msgid "Remove %d projects from the list?"
+msgstr "%d پروژه از فهرست حذف شود؟"
+
+msgid "Remove this project from the list?"
+msgstr "این پروژه از فهرست خارج شود؟"
+
+msgid ""
+"Remove all missing projects from the list?\n"
+"The project folders' contents won't be modified."
+msgstr ""
+"همهٔ پروژه‌های از دست رفته از فهرست حذف شوند؟\n"
+" محتویات پوشه‌های پروژه تغییر نخواهد کرد."
+
+msgid ""
+"Language changed.\n"
+"The interface will update after restarting the editor or project manager."
+msgstr ""
+"زبان تغییر کرد.\n"
+" رابط پس از راه اندازی مجدد ویرایشگر یا مدیر پروژه به‌روز می‌شود."
+
+msgid ""
+"Are you sure to scan %s folders for existing Godot projects?\n"
+"This could take a while."
+msgstr ""
+"آیا مطمئن هستید که پوشه‌های %s را برای پروژه‌های گودوی موجود اسکن می‌کنید؟\n"
+" این عمل ممکن است مدتی طول بکشد."
+
+msgid "Loading, please wait..."
+msgstr "در حال بارگیری، لطفا صبر کنید..."
+
+msgid "New Project"
+msgstr "پروژه جدید"
+
+msgid "Scan"
+msgstr "پویش"
+
+msgid "About"
+msgstr "درباره"
+
+msgid "Restart Now"
+msgstr "راه اندازی دوباره"
+
+msgid "Select a Folder to Scan"
+msgstr "انتخاب یک پوشه برای پویش"
+
+msgid "Remove All"
+msgstr "حذف همه"
+
+msgid "Can't run project"
+msgstr "ناتوان در اجرای پروژه"
+
+msgid ""
+"You currently don't have any projects.\n"
+"Would you like to explore official example projects in the Asset Library?"
+msgstr ""
+"شما فعلا هیچ طرحی ندارید.\n"
+"آیا می خواهید طرح های نمونه رسمی را در کتابخانه دارایی کاوش کنید؟"
+
+msgid "Delete Item"
+msgstr "حذف مورد"
+
+msgid "(All)"
+msgstr "(همه)"
+
+msgid "Add Input Action"
+msgstr "افزودن عمل ورودی"
+
+msgid "Project Settings (project.godot)"
+msgstr "تنظیمات پروژه (پروژه.گودات)"
+
+msgid "Localization"
+msgstr "بومی‌سازی"
+
+msgid "Autoload"
+msgstr "بارگیری خودکار"
+
+msgid "Plugins"
+msgstr "افزونه‌ها"
+
+msgid "Prefix:"
+msgstr "پیشوند:"
+
+msgid "Suffix:"
+msgstr "پسوند:"
+
+msgid "Advanced Options"
+msgstr "تنظیمات پیشرفته"
+
+msgid "Substitute"
+msgstr "جایگزین"
+
+msgid "Node name."
+msgstr "نام گره."
+
+msgid "Node type."
+msgstr "نوع گره."
+
+msgid "Current scene name."
+msgstr "نام صحنه فعلی."
+
+msgid "Root node name."
+msgstr "نام گره ریشه."
+
+msgid "Step"
+msgstr "گام"
+
+msgid "Post-Process"
+msgstr "پس-پردازش"
+
+msgid "Style"
+msgstr "شیوه"
+
+msgid "To Lowercase"
+msgstr "با حروف کوچک"
+
+msgid "To Uppercase"
+msgstr "با حروف بزرگ"
+
+msgid "Reset"
+msgstr "بازنشانی"
+
+msgid "Reparent Node"
+msgstr "گره تغییر والد"
+
+msgid "Scene name is valid."
+msgstr "نام صحنه معتبر است."
+
+msgid "Scene name is empty."
+msgstr "نام صحنه خالی است."
+
+msgid "File name invalid."
+msgstr "نام فایل نامعتبر است."
+
+msgid "File already exists."
+msgstr "فایل از قبل وجود دارد."
+
+msgid "Invalid root node name."
+msgstr "نام گره ریشه نامعتبر است."
+
+msgid "2D Scene"
+msgstr "صحنه دوبعدی"
+
+msgid "3D Scene"
+msgstr "صحنه سه‌بعدی"
+
+msgid "User Interface"
+msgstr "رابط کاربر"
+
+msgid "Delete %d nodes?"
+msgstr "حذف %d گره؟"
+
+msgid "Create Root Node:"
+msgstr "ساخت گره ریشه:"
+
+msgid "Attach Script"
+msgstr "پیوست کردن اسکریپت"
+
+msgid "Remove Node(s)"
+msgstr "حذف گره(ها)"
+
+msgid "This operation requires a single selected node."
+msgstr "این عملیات به یک گره انتخاب شده نیاز دارد."
+
+msgid "Clear Inheritance"
+msgstr "پاک کردن ارث‌بری"
+
+msgid "Editable Children"
+msgstr "فرزند قابل ویرایش"
+
+msgid "Load As Placeholder"
+msgstr "بارگیری به عنوان جانگهدار"
+
+msgid "Filters"
+msgstr "فیلترها"
+
+msgid "Add Child Node"
+msgstr "افزودن node زیرمجموعه"
+
+msgid "Change Type"
+msgstr "تغییر نوع"
+
+msgid "Delete (No Confirm)"
+msgstr "حذف (بدون تأیید)"
+
+msgid "Add/Create a New Node."
+msgstr "افزودن/ساختن یک گره جدید."
+
+msgid "Remote"
+msgstr "از راه دور"
+
+msgid "Clear Inheritance? (No Undo!)"
+msgstr "وراثت حذف شود؟ (بدون بازگشت!)"
+
+msgid "Unlock Node"
+msgstr "بازکردن قفل گره"
+
+msgid "Open Script:"
+msgstr "باز کردن اسکریپت:"
+
+msgid "Rename Node"
+msgstr "تغییر نام گره"
+
+msgid "Select a Node"
+msgstr "انتخاب یک گره"
+
+msgid "Path is empty."
+msgstr "مسیر خالی است."
+
+msgid "Filename is empty."
+msgstr "نام فایل خالی است."
+
+msgid "Filename is invalid."
+msgstr "نام فایل نامعتبر است."
+
+msgid "Path is not local."
+msgstr "مسیر محلی نیست."
+
+msgid "File does not exist."
+msgstr "پرونده موجود نیست."
+
+msgid "Error loading script from %s"
+msgstr "خطای بارگذاری اسکریپت از %s"
+
+msgid "Open Script / Choose Location"
+msgstr "باز کردن اسکریپت / انتخاب موقعیت"
+
+msgid "Open Script"
+msgstr "باز کردن اسکریپت"
+
+msgid "File exists, it will be reused."
+msgstr "فایل وجود دارد، دوباره استفاده خواهد شد."
+
+msgid "Invalid path."
+msgstr "مسیر نامعتبر."
+
+msgid "Invalid class name."
+msgstr "نام کلاس نامعبتر است."
+
+msgid "N/A"
+msgstr "N/A"
+
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "نوع نامعتبر ورودی برای ()convert، ثوابت *_TYPE‌ را بکار گیرید."
+
+msgid "Not based on a script"
+msgstr "بر اساس یک اسکریپت نیست"
+
+msgid "Not based on a resource file"
+msgstr "بر اساس یک فایل منبع نیست"
+
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "فرمت دیکشنری نمونه نامعتبر (pass@ مفقود)"
+
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+"فرمت نمونه ی دیکشنری نامعتبر است . ( نمی توان اسکریپت را از مسیر path@ "
+"بارگذاری کرد.)"
+
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr "فرمت دیکشنری نمونه نامعتبر (اسکریپت نامعتبر در path@)"
+
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr "نمونه ی دیکشنری نامعتبر است . (زیرکلاس‌های نامعتبر)"
+
+msgid "Plane:"
+msgstr "سطح"
+
+msgid "Pick Distance:"
+msgstr "انتخاب فاصله:"
+
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"تعداد بایت‌های مورد نظر برای رمزگشایی بایت‌ها کافی نیست،‌ و یا فرمت نامعتبر "
+"است ."
+
+msgid "%s/s"
+msgstr "%s/ثانیه"
+
+msgid "Incoming RPC"
+msgstr "ورودی RPC"
+
+msgid "Outgoing RPC"
+msgstr "خروجی RPC"
+
+msgid "Config"
+msgstr "پیکربندی"
+
+msgid "Size"
+msgstr "اندازه"
+
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr "یک منبع NavigationMesh باید برای یک گره تنظیم یا ایجاد شود تا کار کند."
+
+msgid "Done!"
+msgstr "انجام شد!"
+
+msgid "Unknown"
+msgstr "ناشناخته"
+
+msgid "Exporting APK..."
+msgstr "صدور APK..."
+
+msgid "Uninstalling..."
+msgstr "در حال حذف نصب..."
+
+msgid "Installing to device, please wait..."
+msgstr "در حال نصب در دستگاه، لطفا صبر کنید..."
+
+msgid "Could not install to device: %s"
+msgstr "در دستگاه نصب نشد: %s"
+
+msgid "Invalid package name:"
+msgstr "نام پکیج نامعتبر:"
+
+msgid "Verifying %s..."
+msgstr "در حال تایید %s..."
+
+msgid "Adding files..."
+msgstr "افزودن فایل‌ها..."
+
+msgid "Export Icons"
+msgstr "آیکون‌های خروجی"
+
+msgid "Exporting project..."
+msgstr "صدور پروژه..."
+
+msgid "Starting project..."
+msgstr "شروع پروژه..."
+
+msgid "Making PKG"
+msgstr "ساخت PKG"
+
+msgid "Making DMG"
+msgstr "ساخت DMG"
+
+msgid "Making ZIP"
+msgstr "ساخت ZIP"
+
+msgid "Error starting HTTP server: %d."
+msgstr "خطا در راه‌اندازی سرور ‭"
+
+msgid "Invalid icon path:"
+msgstr "مسیر آیکون نامعتبر است:"
+
+msgid "Invalid file version:"
+msgstr "نسخه فایل نامعتبر است:"
+
+msgid "Invalid product version:"
+msgstr "نسخه پروژه نامعتبر است:"
+
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr "یک CollisionPolygon2D خالی جلوه بر برخورد ندارد."
+
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr ""
+"یک شکل باید برای CollisionShape2D فراهم شده باشد تا عمل کند. لطفا یک شکل "
+"منبع برای آن ایجاد کنید!"
+
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr "یک چندضلعی انسدادی باید تنظیم (یا ترسیم) شود تا جلوه کننده باشد."
+
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+"گره ParallaxLayer تنها در زمانی که به عنوان فرزند یک گره ParallaxBackground "
+"تنظیم شود کار می‌کند."
+
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+"PathFollow2D تنها در زمانی که به عنوان یک فرزند یک گره Path2D تنظیم شود کار "
+"می‌کند."
+
+msgid "Path property must point to a valid Node2D node to work."
+msgstr "دارایی Path باید به یک گره Node2D معتبر اشاره کند تا کار کند."
+
+msgid "Animation not found: '%s'"
+msgstr "انیمیشن پیدا نشد: '%s'"
+
+msgid "Invalid animation: '%s'."
+msgstr "انیمیشن نامعتبر: '%s'."
+
+msgid "Alert!"
+msgstr "هشدار!"
+
+msgid "Please Confirm..."
+msgstr "لطفاً تأیید کنید…"
+
+msgid "Enable grid minimap."
+msgstr "فعال سازی شبکه نقشه کوچک."
+
+msgid "Arrange nodes."
+msgstr "مرتب کردن گره‌ها"
+
+msgid "Left-to-Right"
+msgstr "چپ به راست"
+
+msgid "Right-to-Left"
+msgstr "راست به چپ"
+
+msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
+msgstr "اگر \"Exp ویرایش\" فعال است, \"حداقل داده\" باید بزرگتر از 0 باشد."
+
+msgid "(Other)"
+msgstr "(دیگر)"
+
+msgid "Invalid source for preview."
+msgstr "منبع نامعتبر برای پیش نمایش."
+
+msgid "Invalid source for shader."
+msgstr "منبع نامعتبر برای شیدر."
+
+msgid "Filter"
+msgstr "صافی"
+
+msgid "Repeat"
+msgstr "تکرار"
+
+msgid "Invalid comparison function for that type."
+msgstr "عمل مقایسه نامعتبر بزای این نوع."
+
+msgid "Constants cannot be modified."
+msgstr "ثوابت قابل تغییر نیستند."
+
+msgid "Expected a function name."
+msgstr "نام تابع مورد انتظار است."
diff --git a/editor/translations/editor/fi.po b/editor/translations/editor/fi.po
index 8d349793bf..c35f6b96f1 100644
--- a/editor/translations/editor/fi.po
+++ b/editor/translations/editor/fi.po
@@ -2700,6 +2700,9 @@ msgstr ""
msgid "Runnable"
msgstr "Suoritettava"
+msgid "Resources to export:"
+msgstr "Vietävät resurssit:"
+
msgid "Delete preset '%s'?"
msgstr "Poista esiasetus '%s'?"
@@ -2746,9 +2749,6 @@ msgstr "Vie valitut resurssit (ja riippuvuudet)"
msgid "Export Mode:"
msgstr "Vientitila:"
-msgid "Resources to export:"
-msgstr "Vietävät resurssit:"
-
msgid "Keep"
msgstr "Pidä"
diff --git a/editor/translations/editor/fr.po b/editor/translations/editor/fr.po
index bae3234ce7..e87e4cfcb1 100644
--- a/editor/translations/editor/fr.po
+++ b/editor/translations/editor/fr.po
@@ -125,13 +125,15 @@
# Hugo cartier <hugo.toticartier@gmail.com>, 2023.
# Rémy Lapointe <remy-lapointe@hotmail.ca>, 2023.
# "Dimitri A." <dimitripilot3@gmail.com>, 2023.
+# Donovan Cartier <donovan.cartier0@gmail.com>, 2023.
+# Rémi Verschelde <remi@godotengine.org>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-10 22:42+0000\n"
-"Last-Translator: \"Dimitri A.\" <dimitripilot3@gmail.com>\n"
+"PO-Revision-Date: 2023-05-19 06:49+0000\n"
+"Last-Translator: Rémi Verschelde <remi@godotengine.org>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -139,7 +141,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Non défini"
@@ -1371,7 +1373,8 @@ msgid "Edit Connection: '%s'"
msgstr "Modifier la connexion : '%s'"
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr "Voulez-vous vraiment supprimer toutes les connexions de ce signal ?"
+msgstr ""
+"Voulez-vous vraiment supprimer toutes les connexions du signal \"%s\" ?"
msgid "Signals"
msgstr "Signaux"
@@ -3012,7 +3015,7 @@ msgid "Copy Property Path"
msgstr "Copier le chemin de la propriété"
msgid "Select existing layout:"
-msgstr "Sélectionner la disposition existante"
+msgstr "Sélectionner la disposition existante :"
msgid "Or enter new layout name"
msgstr "Ou entrer un nouveau nom de disposition"
@@ -4600,6 +4603,12 @@ msgstr ""
"Tous les préréglages doivent avoir un chemin d'exportation défini pour "
"pouvoir tous les exportés."
+msgid "Resources to exclude:"
+msgstr "Ressources à exclure :"
+
+msgid "Resources to export:"
+msgstr "Ressources à exporter :"
+
msgid "Delete preset '%s'?"
msgstr "Supprimer le préréglage « %s » ?"
@@ -4607,7 +4616,7 @@ msgid "%s Export"
msgstr "Export %s"
msgid "Release"
-msgstr "Publication (release)"
+msgstr "Publication"
msgid "Exporting All"
msgstr "Tout exporter"
@@ -4657,9 +4666,6 @@ msgstr "Exporter en tant que serveur dédié"
msgid "Export Mode:"
msgstr "Mode d'exportation :"
-msgid "Resources to export:"
-msgstr "Ressources à exporter :"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
@@ -9166,11 +9172,6 @@ msgstr "Seules les ressources du système de fichiers peuvent être abaissées."
msgid "Can't drop nodes without an open scene."
msgstr "Impossible de déposer les nœuds sans scène ouverte."
-msgid "Can't drop nodes because script '%s' is not used in this scene."
-msgstr ""
-"Impossible de supprimer les nœuds car le script '% s' n'est pas utilisé dans "
-"cette scène."
-
msgid "Lookup Symbol"
msgstr "Rechercher un symbole"
@@ -9340,15 +9341,72 @@ msgstr "Définir transformation de l'os"
msgid "Set Bone Rest"
msgstr "Définir pose au repos de l'os"
+msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones."
+msgstr ""
+"Impossible de créer un squelette physique pour un nœud Skeleton3D sans os."
+
msgid "Create physical bones"
msgstr "Créer des os physiques"
+msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones."
+msgstr ""
+"Impossible d'exporter un SkeletonProfile pour un nœud Skeleton3D sans os."
+
msgid "Export Skeleton Profile As..."
msgstr "Exporter le profil de squelette en tant que..."
+msgid "Set Bone Parentage"
+msgstr "Paramétrer la parenté de l'os"
+
+msgid "Skeleton3D"
+msgstr "Squelette 3D"
+
+msgid "Reset All Bone Poses"
+msgstr "Réinitialiser toutes les poses de l'os"
+
+msgid "Reset Selected Poses"
+msgstr "Réinitialiser les poses sélectionnées"
+
+msgid "Apply All Poses to Rests"
+msgstr "Appliquer toutes les poses au repos"
+
+msgid "Apply Selected Poses to Rests"
+msgstr "Appliquer les poses sélectionnées au repos"
+
+msgid "Create Physical Skeleton"
+msgstr "Créer un squelette physique"
+
+msgid "Export Skeleton Profile"
+msgstr "Exporter le profil du squelette"
+
+msgid ""
+"Edit Mode\n"
+"Show buttons on joints."
+msgstr ""
+"Mode Édition\n"
+"Montre les boutons sur les jointures."
+
+msgid "Insert key of bone poses already exist track."
+msgstr "Insérer la clé d'une pose d'os qui existe déjà dans la piste."
+
+msgid "Insert key of all bone poses."
+msgstr "Insérer la clé de toutes les poses d'os."
+
+msgid "Insert Key (All Bones)"
+msgstr "Insérer une clé (Tous les os)"
+
+msgid "Bone Transform"
+msgstr "Transformation d'Os"
+
msgid "Play IK"
msgstr "Jouer IK"
+msgid "Create MeshInstance2D"
+msgstr "Créer un MeshInstance2D"
+
+msgid "MeshInstance2D Preview"
+msgstr "Prévisualisation du MeshInstance2D"
+
msgid "Create Polygon2D"
msgstr "Créer un Polygon2D"
@@ -9370,6 +9428,9 @@ msgstr "Prévisualisation du LightOccluder2D"
msgid "Can't convert a Sprite2D from a foreign scene."
msgstr "Impossible de convertir un Sprite2D à partir d'une scène étrangère."
+msgid "Sprite2D is empty!"
+msgstr "Le Sprite2D est vide !"
+
msgid "Can't convert a sprite using animation frames to mesh."
msgstr ""
"Impossible de convertir un sprite en utilisant des images d'animation à "
@@ -9399,6 +9460,9 @@ msgstr "Géométrie invalide, impossible de créer l'occulteur de lumière."
msgid "Create LightOccluder2D Sibling"
msgstr "Créer un LightOccluder2D frère"
+msgid "Sprite2D"
+msgstr "Sprite2D"
+
msgid "Simplification:"
msgstr "Simplification :"
@@ -9447,21 +9511,57 @@ msgstr "Supprimer l'animation ?"
msgid "Change Animation FPS"
msgstr "Modifier le nombre d'images par seconde de l'animation"
+msgid "Set Frame Duration"
+msgstr "Définir la durée de la Trame"
+
msgid "(empty)"
msgstr "(vide)"
msgid "Animations:"
msgstr "Animations :"
+msgid "Animation Speed"
+msgstr "Vitesse de l'animation"
+
+msgid "Filter Animations"
+msgstr "Filtrer les animations"
+
msgid "Delete Animation"
msgstr "Supprimer l'animation"
msgid "Animation Frames:"
msgstr "Trames d'animation :"
+msgid "Frame Duration:"
+msgstr "Durée de la Trame :"
+
msgid "Zoom Reset"
msgstr "Réinitialiser le zoom"
+msgid "Add frame from file"
+msgstr "Ajouter une image à partir d'un fichier"
+
+msgid "Add frames from sprite sheet"
+msgstr "Ajouter des images depuis une feuille de sprite"
+
+msgid "Delete Frame"
+msgstr "Supprimer l'image"
+
+msgid "Copy Frame"
+msgstr "Copier l'image"
+
+msgid "Insert Empty (Before Selected)"
+msgstr "Insérer du vide (Avant la sélection)"
+
+msgid "Insert Empty (After Selected)"
+msgstr "Insérer du vide (Après la sélection)"
+
+msgid "Move Frame Left"
+msgstr "Déplacer l'image à gauche"
+
+msgid "Move Frame Right"
+msgstr "Déplacer l'image à droite"
+
msgid "Select Frames"
msgstr "Sélectionner des Trames"
@@ -9483,6 +9583,25 @@ msgstr "Créer des trames depuis une feuille de Sprite"
msgid "SpriteFrames"
msgstr "SpriteFrames"
+msgid "Warnings should be fixed to prevent errors."
+msgstr "Les avertissements doivent être corrigés pour éviter les erreurs."
+
+msgid ""
+"This shader has been modified on disk.\n"
+"What action should be taken?"
+msgstr ""
+"Ce shader a été modifié sur le disque.\n"
+"Quelles sont les mesures à prendre ?"
+
+msgid "%s Mipmaps"
+msgstr "%s Mipmaps"
+
+msgid "Memory: %s"
+msgstr "Mémoire : %s"
+
+msgid "No Mipmaps"
+msgstr "Pas de Mipmaps"
+
msgid "Set Region Rect"
msgstr "Définir région rectangulaire"
@@ -9523,6 +9642,11 @@ msgstr[1] "{num} constantes"
msgid "No constants found."
msgstr "Pas de constantes trouvées."
+msgid "1 font"
+msgid_plural "{num} fonts"
+msgstr[0] "1 police"
+msgstr[1] "{num} polices"
+
msgid "No fonts found."
msgstr "Pas de polices trouvées."
@@ -9531,6 +9655,14 @@ msgid_plural "{num} font sizes"
msgstr[0] "1 taille de police"
msgstr[1] "{num} tailles de police"
+msgid "No font sizes found."
+msgstr "Pas de tailles de police trouvées."
+
+msgid "1 icon"
+msgid_plural "{num} icons"
+msgstr[0] "1 icône"
+msgstr[1] "{num} icônes"
+
msgid "No icons found."
msgstr "Pas d'icônes trouvées."
@@ -9979,6 +10111,42 @@ msgstr "Fichier invalide, pas une ressource PackedScene."
msgid "Reload the scene to reflect its most actual state."
msgstr "Recharge la scène pour refléter son état le plus actuel."
+msgid "No atlas source with a valid texture selected."
+msgstr "Aucune source d'atlas avec une texture valide n'a été sélectionnée."
+
+msgid "Base Tiles"
+msgstr "Tuiles de base"
+
+msgid "Alternative Tiles"
+msgstr "Tuiles alternatives"
+
+msgid "Reset Polygons"
+msgstr "Réinitialiser les polygones"
+
+msgid "Clear Polygons"
+msgstr "Néttoyer les polygones"
+
+msgid "Rotate Polygons Right"
+msgstr "Tourner les polygones vers la droite"
+
+msgid "Rotate Polygons Left"
+msgstr "Tourner les polygones vers la gauche"
+
+msgid "Flip Polygons Horizontally"
+msgstr "Retourner les polygones horizontalement"
+
+msgid "Flip Polygons Vertically"
+msgstr "Retourner les polygones verticalement"
+
+msgid "Edit Polygons"
+msgstr "Modifier les polygones"
+
+msgid "Add polygon tool"
+msgstr "Ajouter l'outil des polygones"
+
+msgid "Edit points tool"
+msgstr "Outil de modification des points"
+
msgid "Rotate Right"
msgstr "Rotation vers la droite"
@@ -9991,15 +10159,34 @@ msgstr "Retourner horizontalement"
msgid "Flip Vertically"
msgstr "Retourner verticalement"
+msgid "No terrains"
+msgstr "Aucun terrains"
+
+msgid "No terrain"
+msgstr "Aucun terrain"
+
+msgid "Unknown Type Source (ID: %d)"
+msgstr "Source de type inconnu (ID : %d)"
+
msgid "Shift+Ctrl: Draw rectangle."
msgstr "Maj + Ctrl : Dessiner un rectangle."
+msgid "Bucket"
+msgstr "Seau de remplissage"
+
msgid "Eraser"
msgstr "Effaceur"
msgid "Tiles"
msgstr "Tuiles"
+msgid ""
+"This TileMap's TileSet has no source configured. Edit the TileSet resource "
+"to add one."
+msgstr ""
+"La TileSet de cette TileMap n'a pas de source configurée. Modifier la "
+"ressource TileSet pour en ajouter une."
+
msgid "Drag and drop or paste a TileMap selection here to store a pattern."
msgstr ""
"Glisser et déposer ou copier une sélection TileMap ici pour stocker un "
@@ -10787,6 +10974,13 @@ msgstr "Veuillez choisir un fichier \"project.godot\" ou \".zip\"."
msgid "This directory already contains a Godot project."
msgstr "Ce répertoire contient déjà un projet Godot."
+msgid ""
+"The selected path is not empty. Choosing an empty folder is highly "
+"recommended."
+msgstr ""
+"Le chemin sélectionné n'est pas vide. Il est fortement recommandé de choisir "
+"un répertoire vide."
+
msgid "New Game Project"
msgstr "Nouveau projet de jeu"
@@ -10817,6 +11011,9 @@ msgstr ""
msgid "Couldn't save project at '%s' (error %d)."
msgstr "Impossible d'enregistrer le projet à \"%s\" (erreur %d)."
+msgid "Warning: This folder is not empty"
+msgstr "Avertissement : Ce répertoire n'est pas vide"
+
msgid ""
"You are about to create a Godot project in a non-empty folder.\n"
"The entire contents of this folder will be imported as project resources!\n"
@@ -11150,6 +11347,10 @@ msgstr "Paramètres du projet (project.godot)"
msgid "Select a Setting or Type its Name"
msgstr "Sélectionnez un paramètre ou tapez son nom"
+msgid "Changed settings will be applied to the editor after restarting."
+msgstr ""
+"Les paramètres modifiés seront appliqués après le redémarrage de l'éditeur."
+
msgid "Input Map"
msgstr "Contrôles"
@@ -11734,6 +11935,9 @@ msgid "Invalid instance dictionary (invalid subclasses)"
msgstr ""
"Instance invalide pour le format de dictionnaire (sous-classes invalides)"
+msgid "Export Scene to glTF 2.0 File"
+msgstr "Exporter la scène vers un fichier glTF 2.0"
+
msgid "Path to Blender installation is valid."
msgstr "Le chemin d'accès vers l'installation de Blender est valide."
@@ -11957,6 +12161,12 @@ msgstr "Ajouter un ensemble d'actions."
msgid "Pose"
msgstr "Pose"
+msgid "Haptic"
+msgstr "Haptique"
+
+msgid "Unknown"
+msgstr "Inconnu"
+
msgid "Package name is missing."
msgstr "Nom du paquet manquant."
@@ -12968,6 +13178,13 @@ msgid "The AnimationPlayer root node is not a valid node."
msgstr "La racine AnimationPlayer n'est pas un nœud valide."
msgid ""
+"ButtonGroup is intended to be used only with buttons that have toggle_mode "
+"set to true."
+msgstr ""
+"Le ButtonGroup est destiné à être utilisé seulement avec des boutons ayant "
+"la valeur de toggle_mode définie sur true."
+
+msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
@@ -13019,6 +13236,9 @@ msgstr "Alerte !"
msgid "Please Confirm..."
msgstr "Veuillez confirmer…"
+msgid "You don't have permission to access contents of this folder."
+msgstr "Vous n'avez pas l'autorisation d'accéder au contenu de ce dossier."
+
msgid "Enable grid minimap."
msgstr "Activer l'alignement."
@@ -13050,6 +13270,22 @@ msgstr ""
"'%s' n'est plus considéré comme ayant un nom unique."
msgid ""
+"This node is marked as deprecated and will be removed in future versions.\n"
+"Please check the Godot documentation for information about migration."
+msgstr ""
+"Ce nœud est marqué comme déprécié et sera supprimé dans les versions "
+"futures.\n"
+"Veuillez consulter la documentation de Godot pour des informations sur la "
+"migration."
+
+msgid ""
+"This node is marked as experimental and may be subject to removal or major "
+"changes in future versions."
+msgstr ""
+"Ce nœud est marqué comme expérimental et pourrait faire l'objet d'une "
+"suppression ou de changements majeurs dans les versions futures."
+
+msgid ""
"Default Environment as specified in Project Settings (Rendering -> "
"Environment -> Default Environment) could not be loaded."
msgstr ""
diff --git a/editor/translations/editor/he.po b/editor/translations/editor/he.po
index 7a54712887..70727f05f1 100644
--- a/editor/translations/editor/he.po
+++ b/editor/translations/editor/he.po
@@ -29,13 +29,14 @@
# Yoni m <yoni.meirov08@gmail.com>, 2023.
# Ronelo <Santatv9@gmail.com>, 2023.
# BM Lapidus <boruchmendel.lapidus@gmail.com>, 2023.
+# Eyt Lev <ecraft452@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-03-14 01:22+0000\n"
-"Last-Translator: BM Lapidus <boruchmendel.lapidus@gmail.com>\n"
+"PO-Revision-Date: 2023-05-17 11:38+0000\n"
+"Last-Translator: Eyt Lev <ecraft452@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/"
"godot/he/>\n"
"Language: he\n"
@@ -44,7 +45,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.16.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "ביטול הגדרה"
@@ -626,7 +627,7 @@ msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "האם אתה בטוח שאתה רוצה להסיר את כל החיבורים מהאות \"%s\"?"
msgid "Signals"
-msgstr "אותות"
+msgstr "מסרים"
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "האם אתה בטוח שאתה רוצה להסיר את כל החיבורים מהאות הזה?"
@@ -1488,6 +1489,9 @@ msgstr "יש מספר מייבאים לסוגים שונים המצביעים ל
msgid "(Re)Importing Assets"
msgstr "ייבוא משאבים (מחדש)"
+msgid "Experimental"
+msgstr "ניסיוני"
+
msgid "Top"
msgstr "עליון"
@@ -1512,6 +1516,9 @@ msgstr "מאפיינים"
msgid "default:"
msgstr "ברירת מחדל:"
+msgid "Constructors"
+msgstr "מגדירים"
+
msgid "Theme Properties"
msgstr "מאפייני ערכת עיצוב"
@@ -2405,6 +2412,9 @@ msgstr "מחיקת בררת מחדל עבור ‚%s’"
msgid "Import As:"
msgstr "ייבוא בתור:"
+msgid "Preset"
+msgstr "תבנית"
+
msgid "Failed to load resource."
msgstr "טעינת המשאב נכשלה."
@@ -2958,7 +2968,7 @@ msgid "Toggle Freelook"
msgstr "החלפת מצב מבט חופשי"
msgid "Transform"
-msgstr "התמרה"
+msgstr "שינוי צורה"
msgid "Snap Settings"
msgstr "הגדרות הצמדה"
@@ -3225,6 +3235,9 @@ msgstr "הוסף פריט:"
msgid "Add StyleBox Item"
msgstr "הוסף פריט StyleBox"
+msgid "Tiles"
+msgstr "אריחים"
+
msgid "Yes"
msgstr "כן"
@@ -3285,6 +3298,9 @@ msgstr "לא ניתן להריץ מיזם"
msgid "Delete Item"
msgstr "מחיקת פריט"
+msgid "Autoload"
+msgstr "טעינה אוטומטית"
+
msgid "2D Scene"
msgstr "סצנה דו ממדית"
@@ -3773,6 +3789,9 @@ msgstr "ניתוח גיאומטרי..."
msgid "Done!"
msgstr "בוצע!"
+msgid "Pose"
+msgstr "פוזה"
+
msgid "Package name is missing."
msgstr "שם החבילה חסר."
diff --git a/editor/translations/editor/id.po b/editor/translations/editor/id.po
index 7e444c1aa2..a979a4c024 100644
--- a/editor/translations/editor/id.po
+++ b/editor/translations/editor/id.po
@@ -45,13 +45,16 @@
# Taufiq Rahman <pxpiksy@gmail.com>, 2023.
# Muhammad Azri Fatihah Susanto <muhammad.azri.f.s@gmail.com>, 2023.
# ammar sajili <sjlammar@gmail.com>, 2023.
+# EngageIndo <admin@engageindo.com>, 2023.
+# EngageIndo <engageindo@gmail.com>, 2023.
+# Septian Kurniawan <septgsk@outlook.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-15 13:04+0000\n"
-"Last-Translator: ammar sajili <sjlammar@gmail.com>\n"
+"PO-Revision-Date: 2023-05-14 11:52+0000\n"
+"Last-Translator: EngageIndo <engageindo@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot/id/>\n"
"Language: id\n"
@@ -59,7 +62,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Batal disetel"
@@ -82,12 +85,45 @@ msgstr "Mouse Gulir ke atas."
msgid "Mouse Wheel Down"
msgstr "Gulir mouse ke bawah"
+msgid "Mouse Wheel Left"
+msgstr "Gulir Mouse Kiri"
+
+msgid "Mouse Wheel Right"
+msgstr "Gulir Mouse Kanan"
+
+msgid "Mouse Thumb Button 1"
+msgstr "Tombol Jempol Mouse 1"
+
+msgid "Mouse Thumb Button 2"
+msgstr "Tombol Jempol Mouse 2"
+
msgid "Button"
msgstr "Tombol"
+msgid "Double Click"
+msgstr "Klik ganda"
+
+msgid "Mouse motion at position (%s) with velocity (%s)"
+msgstr "Pergerakan mouse pada posisi (%s) dengan kecepatan (%s)"
+
msgid "Left Stick X-Axis, Joystick 0 X-Axis"
msgstr "Stick Kiri Sumbu X, Joystick 0 Sumbu X"
+msgid "Left Stick Y-Axis, Joystick 0 Y-Axis"
+msgstr "Stik Kiri Sumbu Y, Joystick 0 Sumbu Y"
+
+msgid "Right Stick X-Axis, Joystick 1 X-Axis"
+msgstr "Stik Kanan Sumbu X, Joystick 1 Sumbu X"
+
+msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
+msgstr "Stik Kanan Sumbu Y, Joystick 1 Sumbu Y"
+
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "Joystick 2 Sumbu X, Pemicu Kiri, Sony L2, Xbox LT"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "Joystick 2 Sumbu Y, Pemicu Kanan, Sony R2, Xbox RT"
+
msgid "Joystick 3 X-Axis"
msgstr "Joystick 3 Sumbu X"
@@ -127,15 +163,95 @@ msgstr "Panduan, Sony PS, Xbox Home"
msgid "Start, Nintendo +"
msgstr "Mulai, Nintendo +"
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "Stik Kiri, Sony L3, Xbox L/LS"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "Stik Kanan, Sony R3, Xbox R/RS"
+
+msgid "Left Shoulder, Sony L1, Xbox LB"
+msgstr "Bahu Kiri, Sony L1, Xbox LB"
+
msgid "Right Shoulder, Sony R1, Xbox RB"
msgstr "Bahu Kanan, Sony R1, Xbox RB"
+msgid "D-pad Up"
+msgstr "D-pad Atas"
+
+msgid "D-pad Down"
+msgstr "D-pad Bawah"
+
+msgid "D-pad Left"
+msgstr "D-pad Kiri"
+
+msgid "D-pad Right"
+msgstr "D-pad Kanan"
+
+msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
+msgstr "Xbox Share, PS5 Microphone, Nintendo Capture"
+
+msgid "Xbox Paddle 1"
+msgstr "Xbox Paddle 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Xbox Paddle 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Xbox Paddle 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Xbox Paddle 4"
+
+msgid "PS4/5 Touchpad"
+msgstr "PS4/5 Touchpad"
+
+msgid "Joypad Button %d"
+msgstr "Tombol Joystick %d"
+
+msgid "Pressure:"
+msgstr "Tekanan:"
+
+msgid "touched"
+msgstr "disentuh"
+
+msgid "released"
+msgstr "dirilis"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "Layar %s pada (%s) dengan titik sentuh %s"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr ""
+"Layar diseret dengan %s titik sentuh pada posisi (%s) dengan kecepatan (%s)"
+
+msgid "Magnify Gesture at (%s) with factor %s"
+msgstr "Memperbesar Gerakan pada (%s) dengan faktor %s"
+
+msgid "Pan Gesture at (%s) with delta (%s)"
+msgstr "Gestur Pan pada (%s) dengan delta (%s)"
+
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "Input MIDI pada Channel=%s Pesan =%s"
+
+msgid "Input Event with Shortcut=%s"
+msgstr "Memasukkan Event dengan Pintasan=%s"
+
+msgid "Accept"
+msgstr "Terima"
+
msgid "Select"
msgstr "Pilih"
msgid "Cancel"
msgstr "Batal"
+msgid "Focus Next"
+msgstr "Fokus Berikutnya"
+
+msgid "Focus Prev"
+msgstr "Fokus Sebelumnya"
+
msgid "Left"
msgstr "Kiri"
@@ -148,6 +264,15 @@ msgstr "Naikkan"
msgid "Down"
msgstr "Turunkan"
+msgid "Page Up"
+msgstr "Halaman Atas"
+
+msgid "Page Down"
+msgstr "Halaman ke Bawah"
+
+msgid "Home"
+msgstr "Beranda"
+
msgid "End"
msgstr "Akhir"
@@ -166,24 +291,129 @@ msgstr "Batal"
msgid "Redo"
msgstr "Ulangi"
+msgid "Completion Query"
+msgstr "Kueri Penyelesaian"
+
+msgid "New Line"
+msgstr "Baris Baru"
+
+msgid "New Blank Line"
+msgstr "Baris kosong baru"
+
+msgid "New Line Above"
+msgstr "Baris Baru di Atas"
+
msgid "Indent"
msgstr "Indentasi"
+msgid "Dedent"
+msgstr "Dedentasi"
+
+msgid "Backspace"
+msgstr "Kembali"
+
+msgid "Backspace Word"
+msgstr "Hapus Word"
+
+msgid "Backspace all to Left"
+msgstr "Hapus semua ke Kiri"
+
msgid "Delete"
msgstr "Hapus"
+msgid "Delete Word"
+msgstr "Hapus Kata"
+
+msgid "Delete all to Right"
+msgstr "Hapus semua ke Kanan"
+
+msgid "Caret Left"
+msgstr "Caret Kiri"
+
+msgid "Caret Word Left"
+msgstr "Kata Caret Kiri"
+
+msgid "Caret Right"
+msgstr "Caret Kanan"
+
+msgid "Caret Word Right"
+msgstr "Kata Caret Kanan"
+
+msgid "Caret Up"
+msgstr "Caret Atas"
+
+msgid "Caret Down"
+msgstr "Caret Bawah"
+
+msgid "Caret Line Start"
+msgstr "Caret Mulai Baris"
+
+msgid "Caret Line End"
+msgstr "Caret Ujung Baris"
+
+msgid "Caret Page Up"
+msgstr "Caret Halaman Atas"
+
+msgid "Caret Page Down"
+msgstr "Caret Halaman Bawah"
+
+msgid "Caret Document Start"
+msgstr "Caret Mulai Dokumen"
+
+msgid "Caret Document End"
+msgstr "Caret Akhir Dokumen"
+
+msgid "Caret Add Below"
+msgstr "Caret Tambahkan Di Bawah"
+
+msgid "Caret Add Above"
+msgstr "Caret Tambahkan di Atas"
+
+msgid "Scroll Up"
+msgstr "Gulir ke Atas"
+
+msgid "Scroll Down"
+msgstr "Gulir ke Bawah"
+
msgid "Select All"
msgstr "Pilih Semua"
+msgid "Select Word Under Caret"
+msgstr "Pilih Kata di Bawah Caret"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "Tambahkan Pilihan untuk Kejadian Berikutnya"
+
+msgid "Clear Carets and Selection"
+msgstr "Hapus Caret dan Seleksi"
+
+msgid "Toggle Insert Mode"
+msgstr "Alihkan Mode Sisipkan"
+
+msgid "Submit Text"
+msgstr "Kirim Teks"
+
msgid "Duplicate Nodes"
msgstr "Duplikat Node"
msgid "Delete Nodes"
msgstr "Hapus Node"
+msgid "Go Up One Level"
+msgstr "Naik Satu Tingkat"
+
msgid "Refresh"
msgstr "Segarkan"
+msgid "Show Hidden"
+msgstr "Tampilkan Tersembunyi"
+
+msgid "Swap Input Direction"
+msgstr "Tukar Arah Masukan"
+
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Masukkan tidak sah %d (tidak lulus) dalam ekspresi"
+
msgid "self can't be used because instance is null (not passed)"
msgstr ""
"self tidak dapat digunakan karena nilai instansi adalah null (tidak lolos)"
@@ -203,6 +433,12 @@ msgstr "Argumen tidak valid untuk membangun '%s'"
msgid "On call to '%s':"
msgstr "Pada pemanggilan '%s':"
+msgid "Built-in script"
+msgstr "Skrip bawaan"
+
+msgid "Built-in"
+msgstr "Bawaan"
+
msgid "B"
msgstr "B"
@@ -224,6 +460,13 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "Contoh: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d item"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -234,17 +477,47 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Sudah ada aksi dengan nama '%s'."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Tidak Dapat Dikembalikan - Tindakan sama seperti awal"
+
+msgid "Revert Action"
+msgstr "Kembalikan Tindakan"
+
msgid "Add Event"
msgstr "Tambah Event"
+msgid "Remove Action"
+msgstr "Hapus Tindakan"
+
+msgid "Cannot Remove Action"
+msgstr "Tidak Dapat Menghapus Tindakan"
+
+msgid "Edit Event"
+msgstr "Edit Event"
+
+msgid "Remove Event"
+msgstr "Menghapus Event"
+
+msgid "Filter by name..."
+msgstr "Filter berdasarkan nama..."
+
+msgid "Clear All"
+msgstr "Hapus Semua"
+
+msgid "Add New Action"
+msgstr "Tambahkan Tindakan Baru"
+
msgid "Add"
msgstr "Tambah"
+msgid "Show Built-in Actions"
+msgstr "Tampilkan Tindakan Bawaan"
+
msgid "Action"
msgstr "Aksi"
msgid "Deadzone"
-msgstr "Zona mati"
+msgstr "Deadzone"
msgid "Time:"
msgstr "Waktu:"
@@ -252,6 +525,9 @@ msgstr "Waktu:"
msgid "Value:"
msgstr "Nilai:"
+msgid "Update Selected Key Handles"
+msgstr "Perbarui Pegangan Kunci yang Dipilih"
+
msgid "Insert Key Here"
msgstr "Sisipkan Key Disini"
@@ -261,21 +537,99 @@ msgstr "Duplikat Key Terpilih"
msgid "Delete Selected Key(s)"
msgstr "Hapus Kunci Terpilih"
+msgid "Make Handles Free"
+msgstr "Membuat Bebas Pegangan"
+
+msgid "Make Handles Linear"
+msgstr "Membuat Pegangan Linear"
+
+msgid "Make Handles Balanced"
+msgstr "Membuat Pegangan Seimbang"
+
+msgid "Make Handles Mirrored"
+msgstr "Membuat Pegangan Dicerminkan"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "Membuat Pegangan Seimbang (Auto Tangent)"
+
+msgid "Make Handles Mirrored (Auto Tangent)"
+msgstr "Membuat Pegangan Dicerminkan (Auto Tangent)"
+
msgid "Add Bezier Point"
msgstr "Tambahkan Titik Bezier"
msgid "Move Bezier Points"
msgstr "Pindah Titik-titik Bezier"
+msgid "Animation Duplicate Keys"
+msgstr "Kunci Duplikat Animasi"
+
+msgid "Animation Delete Keys"
+msgstr "Kunci Hapus Animasi"
+
+msgid "Focus"
+msgstr "Fokus"
+
+msgid "Select All Keys"
+msgstr "Pilih Semua Kunci"
+
+msgid "Deselect All Keys"
+msgstr "Batalkan Pilihan Semua Kunci"
+
+msgid "Animation Change Transition"
+msgstr "Ubah Transisi Animasi"
+
+msgid "Animation Change %s"
+msgstr "Ubah Animasi %s"
+
+msgid "Animation Change Keyframe Value"
+msgstr "Ubah Nilai Keyframe Animasi"
+
+msgid "Animation Change Call"
+msgstr "Ubah Panggilan Animasi"
+
+msgid "Animation Multi Change Transition"
+msgstr "Ubah Beberapa Transisi Animasi"
+
+msgid "Animation Multi Change %s"
+msgstr "Ubah Beberapa Animasi %s"
+
+msgid "Animation Multi Change Keyframe Value"
+msgstr "Ubah Beberapa Nilai Keyframe Animasi"
+
+msgid "Animation Multi Change Call"
+msgstr "Ubah Beberapa Panggilan Animasi"
+
msgid "Change Animation Length"
msgstr "Ubah Panjang Animasi"
msgid "Change Animation Loop"
msgstr "Ubah Perulangan Animasi"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr ""
+"Tidak dapat mengubah mode loop pada animasi yang dibuat dari adegan yang "
+"diimpor."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr ""
+"Tidak dapat mengubah mode loop pada animasi yang disematkan di adegan lain."
+
msgid "Property Track"
msgstr "Track Properti"
+msgid "3D Position Track"
+msgstr "Trek Posisi 3D"
+
+msgid "3D Rotation Track"
+msgstr "Trek Rotasi 3D"
+
+msgid "3D Scale Track"
+msgstr "Trek Transformasi 3D"
+
+msgid "Blend Shape Track"
+msgstr "Trek Paduan Bentuk"
+
msgid "Call Method Track"
msgstr "Track Pemanggil Metode"
@@ -306,12 +660,18 @@ msgstr "Fungsi-fungsi:"
msgid "Audio Clips:"
msgstr "Klip-klip Suara:"
+msgid "Animation Clips:"
+msgstr "Klip Animasi:"
+
msgid "Change Track Path"
msgstr "Ubah Jalan Trek"
msgid "Toggle this track on/off."
msgstr "Alihkan track ini ke nyala/mati."
+msgid "Use Blend"
+msgstr "Gunakan Blend"
+
msgid "Update Mode (How this property is set)"
msgstr "Mode Pembaruan (Bagaimana properti ini akan di terapkan)"
@@ -324,15 +684,66 @@ msgstr "Mode Putaran Berulang (Interpolasi akhir dan awal perulangan)"
msgid "Remove this track."
msgstr "Hapus track ini."
+msgid "Time (s):"
+msgstr "Waktu (s):"
+
+msgid "Position:"
+msgstr "Posisi:"
+
+msgid "Rotation:"
+msgstr "Rotasi:"
+
msgid "Scale:"
msgstr "Skala:"
+msgid "Blend Shape:"
+msgstr "Bentuk Campuran:"
+
msgid "Type:"
msgstr "Jenis:"
+msgid "(Invalid, expected type: %s)"
+msgstr "(Tidak valid, tipe yang diharapkan: %s)"
+
+msgid "Easing:"
+msgstr "Pelonggaran:"
+
+msgid "In-Handle:"
+msgstr "Dalam Genggaman:"
+
+msgid "Out-Handle:"
+msgstr "Diluar Genggaman:"
+
+msgid "Handle mode: Free\n"
+msgstr "Mode pegangan: Gratis\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Mode pegangan: Linear\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Mode pegangan: Seimbang\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Mode pegangan: Dicerminkan\n"
+
+msgid "Stream:"
+msgstr "Aliran:"
+
+msgid "Start (s):"
+msgstr "Mulai (s):"
+
+msgid "End (s):"
+msgstr "Akhir (s):"
+
+msgid "Animation Clip:"
+msgstr "Klip Animasi:"
+
msgid "Toggle Track Enabled"
msgstr "Aktifkan Trek Beralih"
+msgid "Don't Use Blend"
+msgstr "Jangan Gunakan Campuran"
+
msgid "Continuous"
msgstr "Lanjut"
@@ -351,6 +762,12 @@ msgstr "Linier"
msgid "Cubic"
msgstr "Kubik"
+msgid "Linear Angle"
+msgstr "Sudut Linier"
+
+msgid "Cubic Angle"
+msgstr "Sudut Kubik"
+
msgid "Clamp Loop Interp"
msgstr "Interpolasi perulangan clamp"
@@ -378,12 +795,31 @@ msgstr "Ubah Mode Interpolasi Animasi"
msgid "Change Animation Loop Mode"
msgstr "Ubah Mode Perulangan Animasi"
+msgid "Change Animation Use Blend"
+msgstr "Ubah Animasi Gunakan Campuran"
+
+msgid ""
+"Compressed tracks can't be edited or removed. Re-import the animation with "
+"compression disabled in order to edit."
+msgstr ""
+"Track yang dikompresi tidak dapat diedit atau dihapus. Impor ulang animasi "
+"dengan kompresi yang dinonaktifkan untuk mengedit."
+
msgid "Remove Anim Track"
msgstr "Hapus Trek Anim"
+msgid "Create new track for %s and insert key?"
+msgstr "Buat track baru untuk %s dan sisipkan kunci?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "Membuat %d track baru dan menyisipkan kunci?"
+
msgid "Create"
msgstr "Buat"
+msgid "Animation Insert Key"
+msgstr "Kunci Sisipan Animasi"
+
msgid "node '%s'"
msgstr "node '%s'"
@@ -403,6 +839,12 @@ msgstr "Ubah Langkah Animasi"
msgid "Rearrange Tracks"
msgstr "Susun ulang Trek-trek"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr "Trek Campuran Shape hanya berlaku untuk node MeshInstance3D."
+
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr "Trek Posisi/Rotasi/Skala 3D hanya berlaku untuk node berbasis 3D."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -429,6 +871,18 @@ msgstr "Tambah Track Bezier"
msgid "Track path is invalid, so can't add a key."
msgstr "Tidak bisa menambahkan key karena path pada track tidak sah."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "Trek bukan tipe Node3D, tidak dapat memasukkan kunci"
+
+msgid "Add Position Key"
+msgstr "Tambahkan Kunci Posisi"
+
+msgid "Add Rotation Key"
+msgstr "Tambahkan Kunci Rotasi"
+
+msgid "Add Scale Key"
+msgstr "Tambahkan Kunci Skala"
+
msgid "Add Track Key"
msgstr "Tambah Kunci Track"
@@ -439,6 +893,12 @@ msgstr ""
msgid "Add Method Track Key"
msgstr "Tambah Kunci Track Metode"
+msgid "Method not found in object:"
+msgstr "Metode tidak ditemukan dalam objek:"
+
+msgid "Animation Move Keys"
+msgstr "Kunci Pindah Animasi"
+
msgid "Position"
msgstr "Posisi"
@@ -448,6 +908,9 @@ msgstr "Rotasi"
msgid "Scale"
msgstr "Skala"
+msgid "BlendShape"
+msgstr "BlendShape"
+
msgid "Methods"
msgstr "Method"
@@ -463,10 +926,41 @@ msgstr "Papan klip kosong!"
msgid "Paste Tracks"
msgstr "Tempel Trek-trek"
+msgid "Animation Scale Keys"
+msgstr "Kunci Skala Animasi"
+
+msgid "Make Easing Keys"
+msgstr "Buat Kunci Pelonggaran"
+
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr "Opsi ini tidak bisa untuk mengedit Bezier, karena hanya satu track."
+msgid "Animation Add RESET Keys"
+msgstr "Animasi Tambahkan Kunci RESET"
+
+msgid "Bake Animation as Linear keys."
+msgstr "Bake Animasi sebagai Kunci Linier."
+
+msgid ""
+"This animation belongs to an imported scene, so changes to imported tracks "
+"will not be saved.\n"
+"\n"
+"To modify this animation, navigate to the scene's Advanced Import settings "
+"and select the animation.\n"
+"Some options, including looping, are available here. To add custom tracks, "
+"enable \"Save To File\" and\n"
+"\"Keep Custom Tracks\"."
+msgstr ""
+"Animasi ini termasuk dalam adegan yang diimpor, jadi perubahan pada trek "
+"yang diimpor tidak akan disimpan.\n"
+"\n"
+"Untuk memodifikasi animasi ini, buka pengaturan Impor Lanjutan adegan dan "
+"pilih animasi.\n"
+"Beberapa opsi, termasuk perulangan, tersedia di sini. Untuk menambahkan trek "
+"khusus, aktifkan \"Simpan Ke File\" dan\n"
+"\"Simpan Trek Khusus\"."
+
msgid "Warning: Editing imported animation"
msgstr "Peringatan: Menyunting animasi yang diimpor"
@@ -474,6 +968,12 @@ msgid "Select an AnimationPlayer node to create and edit animations."
msgstr ""
"Lokasi untuk node AnimationPlayer yang mengandung animasi belum diatur."
+msgid "Imported Scene"
+msgstr "Adegan yang Diimpor"
+
+msgid "Toggle between the bezier curve editor and track editor."
+msgstr "Beralih antara editor kurva bezier dan editor trek."
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Hanya tampilkan track dari node terpilih dalam tree."
@@ -507,6 +1007,9 @@ msgstr "Seleksi Skala"
msgid "Scale From Cursor"
msgstr "Skala dari Kursor"
+msgid "Make Easing Selection"
+msgstr "Buat Pilihan Pelonggaran"
+
msgid "Duplicate Selection"
msgstr "Duplikat Pilihan"
@@ -525,12 +1028,36 @@ msgstr "Pergi ke Langkah Sebelumnya"
msgid "Apply Reset"
msgstr "Terapkan Reset"
+msgid "Bake Animation"
+msgstr "Bake Animasi"
+
+msgid "Optimize Animation (no undo)"
+msgstr "Optimalkan Animasi (tanpa undo)"
+
+msgid "Clean-Up Animation (no undo)"
+msgstr "Bersihkan Animasi (tanpa undo)"
+
+msgid "Pick a node to animate:"
+msgstr "Pilih node yang ingin dianimasikan:"
+
msgid "Use Bezier Curves"
msgstr "Gunakan Lengkungan Bezier"
msgid "Create RESET Track(s)"
msgstr "Buat RESET Track"
+msgid "Animation Optimizer"
+msgstr "Pengoptimal Animasi"
+
+msgid "Max Velocity Error:"
+msgstr "Kesalahan Kecepatan Maksimum:"
+
+msgid "Max Angular Error:"
+msgstr "Kesalahan Sudut Maksimum:"
+
+msgid "Max Precision Error:"
+msgstr "Kesalahan Presisi Maksimum:"
+
msgid "Optimize"
msgstr "Optimalkan"
@@ -552,12 +1079,21 @@ msgstr "Bersihkan"
msgid "Scale Ratio:"
msgstr "Rasio Skala:"
+msgid "Select Transition and Easing"
+msgstr "Pilih Transisi dan Pelonggaran"
+
+msgid "Animation Baker"
+msgstr "Animasi Baker"
+
msgid "Select Tracks to Copy"
msgstr "Pilih Trek untuk Disalin"
msgid "Select All/None"
msgstr "Pilih Semua/Tidak Pilih Semua"
+msgid "Animation Change Keyframe Time"
+msgstr "Animasi Ubah Waktu Keyframe"
+
msgid "Add Audio Track Clip"
msgstr "Tambah Clip Trek Audio"
@@ -576,6 +1112,14 @@ msgstr "Nomor Baris:"
msgid "%d replaced."
msgstr "%d telah diganti."
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d cocok"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d dari %d cocok"
+
msgid "Match Case"
msgstr "Kasus Kecocokan"
@@ -625,6 +1169,9 @@ msgstr ""
"Target method tidak ditemukan. Tentukan method yang valid atau lampirkan "
"skrip ke target node."
+msgid "Attached Script"
+msgstr "Skrip Terlampir"
+
msgid "Connect to Node:"
msgstr "Hubungkan ke Node:"
@@ -634,12 +1181,30 @@ msgstr "Hubungkan ke Skrip:"
msgid "From Signal:"
msgstr "Dari Sinyal:"
+msgid "Filter Nodes"
+msgstr "Filter Node"
+
+msgid "Go to Source"
+msgstr "Pergi ke Sumber"
+
msgid "Scene does not contain any script."
msgstr "Skena tidak berisi skrip apapun."
msgid "Select Method"
msgstr "Pilih Method/Fungsi"
+msgid "Filter Methods"
+msgstr "Filter method"
+
+msgid "No method found matching given filters."
+msgstr "Tidak ditemukan metode yang cocok dengan filter yang diberikan."
+
+msgid "Script Methods Only"
+msgstr "Metode Skrip Saja"
+
+msgid "Compatible Methods Only"
+msgstr "Metode yang Kompatibel Saja"
+
msgid "Remove"
msgstr "Hapus"
@@ -649,6 +1214,13 @@ msgstr "Tambah Argumen Panggilan Ekstra:"
msgid "Extra Call Arguments:"
msgstr "Argumen-argumen Panggilan Ekstra:"
+msgid "Allows to drop arguments sent by signal emitter."
+msgstr ""
+"Memungkinkan untuk membatalkan argumen yang dikirim oleh pemancar sinyal."
+
+msgid "Unbind Signal Arguments:"
+msgstr "Lepaskan Argumen Sinyal:"
+
msgid "Receiver Method:"
msgstr "Fungsi Penerima:"
@@ -663,6 +1235,9 @@ msgid ""
msgstr ""
"Menahan sinyal, menyimpannya dalam antrean dan hanya memicunya saat idle."
+msgid "One Shot"
+msgstr "Satu Tembakan"
+
msgid "Disconnects the signal after its first emission."
msgstr "Memutuskan sinyal setelah pemicuan pertama."
@@ -678,6 +1253,9 @@ msgstr "Menghubungkan"
msgid "Signal:"
msgstr "Sinyal:"
+msgid "No description."
+msgstr "Tidak ada deskripsi."
+
msgid "Connect '%s' to '%s'"
msgstr "Sambungkan '%s' ke '%s'"
@@ -696,24 +1274,36 @@ msgstr "Putuskan"
msgid "Connect a Signal to a Method"
msgstr "Hubungkan Sinyal ke Method"
+msgid "Edit Connection: '%s'"
+msgstr "Edit Koneksi: '%s'"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "Anda yakin ingin menghapus semua hubungan dari sinyal '%s'?"
msgid "Signals"
msgstr "Sinyal"
+msgid "Filter Signals"
+msgstr "Filter Sinyal"
+
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "Anda yakin ingin menghapus semua hubungan dari sinyal ini?"
msgid "Disconnect All"
msgstr "Putuskan Semuanya"
+msgid "Copy Name"
+msgstr "Salin Nama"
+
msgid "Edit..."
msgstr "Edit..."
msgid "Go to Method"
msgstr "Menuju Ke Metode"
+msgid "Change Type of \"%s\""
+msgstr "Ubah Jenis \"%s\""
+
msgid "Change"
msgstr "Ubah"
@@ -723,6 +1313,12 @@ msgstr "Buat %s baru"
msgid "No results for \"%s\"."
msgstr "Tidak ada hasil untuk \"%s\"."
+msgid "This class is marked as deprecated."
+msgstr "Kelas ini ditandai sebagai usang."
+
+msgid "This class is marked as experimental."
+msgstr "Kelas ini ditandai sebagai eksperimental."
+
msgid "No description available for %s."
msgstr "Tidak ada deskripsi tersedia untuk %s."
@@ -732,6 +1328,9 @@ msgstr "Favorit:"
msgid "Recent:"
msgstr "Saat ini:"
+msgid "(Un)favorite selected item."
+msgstr "(Batalkan) item pilihan favorit."
+
msgid "Search:"
msgstr "Cari:"
@@ -741,6 +1340,9 @@ msgstr "Kecocokan:"
msgid "Description:"
msgstr "Deskripsi:"
+msgid "Remote %s:"
+msgstr "Jarak jauh %s:"
+
msgid "Debugger"
msgstr "Pengawakutu"
@@ -756,9 +1358,21 @@ msgstr "Salin Lokasi Node"
msgid "Instance:"
msgstr "Instansi:"
+msgid ""
+"This node has been instantiated from a PackedScene file:\n"
+"%s\n"
+"Click to open the original file in the Editor."
+msgstr ""
+"Node ini telah diinstansiasi dari file PackedScene:\n"
+"%s\n"
+"Klik untuk membuka file asli di Editor."
+
msgid "Toggle Visibility"
msgstr "Jungkitkan Visibilitas"
+msgid "ms"
+msgstr "ms"
+
msgid "Monitors"
msgstr "Pemantau"
@@ -828,6 +1442,21 @@ msgstr "Waktu"
msgid "Calls"
msgstr "Panggil"
+msgid "Fit to Frame"
+msgstr "Pas dengan Bingkai"
+
+msgid "Linked"
+msgstr "Terhubung"
+
+msgid "CPU"
+msgstr "CPU"
+
+msgid "GPU"
+msgstr "GPU"
+
+msgid "Execution resumed."
+msgstr "Eksekusi dilanjutkan."
+
msgid "Bytes:"
msgstr "Bytes:"
@@ -840,9 +1469,39 @@ msgstr "Error:"
msgid "%s Error"
msgstr "%s Error"
+msgid "%s Error:"
+msgstr "%s Kesalahan:"
+
+msgid "%s Source"
+msgstr "%s Sumber"
+
+msgid "%s Source:"
+msgstr "%s Sumber:"
+
msgid "Stack Trace"
msgstr "Jejak Tumpukan"
+msgid "Stack Trace:"
+msgstr "Jejak Tumpukan:"
+
+msgid "Debug session started."
+msgstr "Sesi debug dimulai."
+
+msgid "Debug session closed."
+msgstr "Sesi debug ditutup."
+
+msgid "Line %d"
+msgstr "Baris %d"
+
+msgid "Delete Breakpoint"
+msgstr "Hapus Breakpoint"
+
+msgid "Delete All Breakpoints in:"
+msgstr "Hapus Semua Breakpoints dalam:"
+
+msgid "Delete All Breakpoints"
+msgstr "Hapus Semua Breakpoint"
+
msgid "Copy Error"
msgstr "Salin Error"
@@ -873,6 +1532,9 @@ msgstr "Lanjutkan"
msgid "Stack Frames"
msgstr "Stack Frame"
+msgid "Filter Stack Variables"
+msgstr "Filter Kumpulan Variabel"
+
msgid "Breakpoints"
msgstr "Breakpoint"
@@ -883,7 +1545,10 @@ msgid "Collapse All"
msgstr "Lipat Semua"
msgid "Profiler"
-msgstr "Profiler(debugger/pemantauan)"
+msgstr "Profiler"
+
+msgid "Visual Profiler"
+msgstr "Profiler Visual"
msgid "List of Video Memory Usage by Resource:"
msgstr "Daftar Penggunaan Memori Video oleh Resource:"
@@ -971,6 +1636,15 @@ msgstr "Buka Skena"
msgid "Open Scenes"
msgstr "Buka Skena"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Pemilik dari: %s (Total: %d)"
+
+msgid "Localization remap"
+msgstr "Pemetaan ulang lokalisasi"
+
+msgid "Localization remap for path '%s' and locale '%s'."
+msgstr "Pemetaan ulang lokalisasi untuk jalur '%s' dan lokal '%s'."
+
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
"Depending on your filesystem configuration, the files will either be moved "
@@ -1044,6 +1718,10 @@ msgstr "Penemu Proyek"
msgid "Lead Developer"
msgstr "Pengembang Utama"
+msgctxt "Job Title"
+msgid "Project Manager"
+msgstr "Manajer Proyek"
+
msgid "Developers"
msgstr "Pengembang"
@@ -1184,6 +1862,12 @@ msgstr "Jalan Lingkar"
msgid "Bus Options"
msgstr "Pilihan Bus"
+msgid "Duplicate Bus"
+msgstr "Bus Duplikat"
+
+msgid "Delete Bus"
+msgstr "Hapus Bus"
+
msgid "Reset Volume"
msgstr "Setel Ulang Volume"
@@ -1220,6 +1904,9 @@ msgstr "Buka Layout Suara Bus"
msgid "There is no '%s' file."
msgstr "Tidak ada berkas '%s'."
+msgid "Layout:"
+msgstr "Tata letak:"
+
msgid "Invalid file, not an audio bus layout."
msgstr "Berkas salah, tidak layout suara bus."
@@ -1253,27 +1940,42 @@ msgstr "Muat default Layout Bus."
msgid "Create a new Bus Layout."
msgstr "Buat Layout Bus Baru."
+msgid "Audio Bus Layout"
+msgstr "Tata Letak Bus Audio"
+
msgid "Invalid name."
msgstr "Nama tidak sah."
+msgid "Cannot begin with a digit."
+msgstr "Tidak dapat dimulai dengan angka."
+
msgid "Valid characters:"
msgstr "Karakter sah:"
msgid "Must not collide with an existing engine class name."
msgstr "Tidak boleh sama dengan nama kelas engine yang sudah ada."
+msgid "Must not collide with an existing global script class name."
+msgstr "Tidak boleh bertabrakan dengan nama kelas skrip global yang sudah ada."
+
msgid "Must not collide with an existing built-in type name."
msgstr "Tidak boleh sama dengan nama tipe bawaan yang ada."
msgid "Must not collide with an existing global constant name."
msgstr "Tidak boleh sama dengan nama konstanta global yang ada."
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "Keyword tidak dapat dijadikan sebagai nama autoload."
+
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' telah ada!"
msgid "Rename Autoload"
msgstr "Namai kembali Autoload"
+msgid "Toggle Autoload Globals"
+msgstr "Alihkan AutoLoad Global"
+
msgid "Move Autoload"
msgstr "Pindahkan Autoload"
@@ -1286,6 +1988,9 @@ msgstr "Aktifkan"
msgid "Rearrange Autoloads"
msgstr "Mengatur kembali Autoload-autoload"
+msgid "Can't add Autoload:"
+msgstr "Tidak dapat menambahkan Autoload:"
+
msgid "%s is an invalid path. File does not exist."
msgstr "%s adalah jalur yang tidak valid. Berkas tidak ada."
@@ -1293,21 +1998,142 @@ msgid "%s is an invalid path. Not in resource path (res://)."
msgstr ""
"%s adalah jalur yang tidak valid. Tidak dalam jalur sumber daya (res://)."
+msgid "Add Autoload"
+msgstr "Tambahkan Autoload"
+
msgid "Path:"
msgstr "Jalur:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "Tetapkan jalur atau tekan \"%s\" untuk membuat skrip."
+
msgid "Node Name:"
msgstr "Nama Node:"
msgid "Global Variable"
msgstr "Variabel Global"
+msgid "3D Engine"
+msgstr "Mesin 3D"
+
+msgid "2D Physics"
+msgstr "Fisik 2D"
+
+msgid "3D Physics"
+msgstr "Fisik 3D"
+
msgid "Navigation"
msgstr "Navigasi"
+msgid "XR"
+msgstr "XR"
+
+msgid "RenderingDevice"
+msgstr "PerangkatRendering"
+
msgid "OpenGL"
msgstr "OpenGL"
+msgid "Vulkan"
+msgstr "Vulkan"
+
+msgid "Text Server: Fallback"
+msgstr "Server Teks: Mundur"
+
+msgid "Text Server: Advanced"
+msgstr "Server Teks: Tingkat Lanjut"
+
+msgid "TTF, OTF, Type 1, WOFF1 Fonts"
+msgstr "Font TTF, OTF, Type 1, WOFF1"
+
+msgid "WOFF2 Fonts"
+msgstr "WOFF2 Font"
+
+msgid "SIL Graphite Fonts"
+msgstr "Font Graphite SIL"
+
+msgid "Multi-channel Signed Distance Field Font Rendering"
+msgstr "Rendering Font Bidang Jarak Bertanda Multi-saluran"
+
+msgid "3D Nodes as well as RenderingServer access to 3D features."
+msgstr "Node 3D serta akses RenderingServer ke fitur 3D."
+
+msgid "2D Physics nodes and PhysicsServer2D."
+msgstr "Node Fisika 2D dan PhysicsServer2D."
+
+msgid "3D Physics nodes and PhysicsServer3D."
+msgstr "Node Fisika 3D dan PhysicsServer3D."
+
+msgid "Navigation, both 2D and 3D."
+msgstr "Navigasi, baik 2D maupun 3D."
+
+msgid "XR (AR and VR)."
+msgstr "XR (AR dan VR)."
+
+msgid ""
+"RenderingDevice based rendering (if disabled, the OpenGL back-end is "
+"required)."
+msgstr ""
+"RenderingDevice berbasis perangkat (jika dinonaktifkan, diperlukan back-end "
+"OpenGL)."
+
+msgid ""
+"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
+msgstr ""
+"Back-end OpenGL (jika dinonaktifkan, diperlukan back-end RenderingDevice)."
+
+msgid "Vulkan back-end of RenderingDevice."
+msgstr "Vulkan back-end dari RenderingDevice."
+
+msgid ""
+"Fallback implementation of Text Server\n"
+"Supports basic text layouts."
+msgstr ""
+"Implementasi fallback dari Server Teks\n"
+"Mendukung tata letak teks dasar."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Implementasi Server Teks yang didukung oleh pustaka ICU dan HarfBuzz.\n"
+"Mendukung tata letak teks yang kompleks, BiDi, dan fitur font OpenType "
+"kontekstual."
+
+msgid ""
+"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
+"library (if disabled, WOFF2 support is also disabled)."
+msgstr ""
+"Dukungan format font TrueType, OpenType, Type 1, dan WOFF1 menggunakan "
+"pustaka FreeType (jika dinonaktifkan, dukungan WOFF2 juga dinonaktifkan)."
+
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr "Dukungan format font WOFF2 menggunakan pustaka FreeType dan Brotli."
+
+msgid ""
+"SIL Graphite smart font technology support (supported by Advanced Text "
+"Server only)."
+msgstr ""
+"Dukungan teknologi font pintar SIL Graphite (hanya didukung oleh Advanced "
+"Text Server)."
+
+msgid ""
+"Multi-channel signed distance field font rendering support using msdfgen "
+"library (pre-rendered MSDF fonts can be used even if this option disabled)."
+msgstr ""
+"Dukungan rendering font bidang jarak bertanda multi-saluran menggunakan "
+"pustaka msdfgen (font MSDF yang telah dirender sebelumnya dapat digunakan "
+"meskipun opsi ini dinonaktifkan)."
+
+msgid "General Features:"
+msgstr "Fitur Umum:"
+
+msgid "Text Rendering and Font Options:"
+msgstr "Opsi Perenderan Teks dan Jenis Huruf:"
+
+msgid "File saving failed."
+msgstr "Penyimpanan file gagal."
+
msgid "Nodes and Classes:"
msgstr "Node dan Kelas:"
@@ -1323,12 +2149,42 @@ msgstr "Baru"
msgid "Save"
msgstr "Simpan"
+msgid "Profile:"
+msgstr "Profil:"
+
msgid "Reset to Defaults"
msgstr "Kembalikan ke Nilai Baku"
+msgid "Detect from Project"
+msgstr "Deteksi dari Proyek"
+
+msgid "Actions:"
+msgstr "Aksi:"
+
+msgid "Configure Engine Build Profile:"
+msgstr "Konfigurasi Mesin Build Profil:"
+
+msgid "Please Confirm:"
+msgstr "Mohon konfirmasi:"
+
+msgid "Engine Build Profile"
+msgstr "Mesin Build Profil"
+
+msgid "Load Profile"
+msgstr "Muat Profil"
+
msgid "Export Profile"
msgstr "Ekspor Profil"
+msgid "Forced classes on detect:"
+msgstr "Paksa kelas ssat terdeteksi:"
+
+msgid "Edit Build Configuration Profile"
+msgstr "Edit Konfigurasi Build Profil"
+
+msgid "Filter Commands"
+msgstr "Perintah Filter"
+
msgid "Paste Params"
msgstr "Tempel Parameter"
@@ -1350,6 +2206,9 @@ msgstr "[belum disimpan]"
msgid "Please select a base directory first."
msgstr "Slahkan pilih direktori kerja terlebih dahulu."
+msgid "Could not create folder. File with that name already exists."
+msgstr "Tidak dapat membuat folder. File dengan nama tersebut sudah ada."
+
msgid "Choose a Directory"
msgstr "Pilih sebuah Direktori"
@@ -1386,6 +2245,9 @@ msgstr "Berkas Sistem"
msgid "Import Dock"
msgstr "Dok Impor"
+msgid "History Dock"
+msgstr "Dok Sejarah"
+
msgid "Allows to view and edit 3D scenes."
msgstr "Memungkinkan untuk melihat dan mengedit scene 3D."
@@ -1416,6 +2278,9 @@ msgstr ""
"Memungkinkan untuk mengkonfigurasi pengaturan impor untuk aset individu. "
"Membutuhkan dock FileSystem untuk berfungsi."
+msgid "Provides an overview of the editor's and each scene's undo history."
+msgstr "Memberikan ikhtisar riwayat pembatalan editor dan setiap adegan."
+
msgid "(current)"
msgstr "(saat ini)"
@@ -1514,6 +2379,19 @@ msgstr "Buka"
msgid "Select Current Folder"
msgstr "Pilih Folder Saat Ini"
+msgid "Cannot save file with an empty filename."
+msgstr "Tidak dapat menyimpan file dengan nama file kosong."
+
+msgid "Cannot save file with a name starting with a dot."
+msgstr "Tidak dapat menyimpan file dengan nama yang dimulai dengan titik."
+
+msgid ""
+"File \"%s\" already exists.\n"
+"Do you want to overwrite it?"
+msgstr ""
+"File \"%s\" sudah ada.\n"
+"Apakah Anda ingin menimpanya?"
+
msgid "Select This Folder"
msgstr "Pilih Folder Ini"
@@ -1550,6 +2428,9 @@ msgstr "Buka sebuah File atau Direktori"
msgid "Save a File"
msgstr "Simpan sebuah File"
+msgid "Favorited folder does not exist anymore and will be removed."
+msgstr "Folder favorit tidak ada lagi dan akan dihapus."
+
msgid "Go Back"
msgstr "Kembali"
@@ -1610,6 +2491,22 @@ msgstr "Pratinjau:"
msgid "File:"
msgstr "File:"
+msgid ""
+"Remove the selected files? For safety only files and empty directories can "
+"be deleted from here. (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"Menghapus file yang dipilih? Untuk keamanan, hanya file dan direktori kosong "
+"yang dapat dihapus dari sini. (Tidak dapat dibatalkan.)\n"
+"Tergantung pada konfigurasi sistem file Anda, file akan dipindahkan ke "
+"tempat sampah sistem atau dihapus secara permanen."
+
+msgid "Some extensions need the editor to restart to take effect."
+msgstr ""
+"Beberapa ekstensi memerlukan editor untuk memulai ulang agar dapat "
+"diterapkan."
+
msgid "Restart"
msgstr "Mulai Ulang"
@@ -1629,9 +2526,55 @@ msgstr ""
msgid "(Re)Importing Assets"
msgstr "Mengimpor ulang Aset"
+msgid "Import resources of type: %s"
+msgstr "Mengimpor sumber daya dengan tipe: %s"
+
+msgid "No return value."
+msgstr "Tidak ada nilai pengembalian."
+
+msgid "Deprecated"
+msgstr "Usang"
+
msgid "Experimental"
msgstr "Eksperimental"
+msgid "This method supports a variable number of arguments."
+msgstr "Metode ini mendukung jumlah argumen yang bervariasi."
+
+msgid ""
+"This method is called by the engine.\n"
+"It can be overridden to customize built-in behavior."
+msgstr ""
+"Metode ini dipanggil oleh mesin.\n"
+"Metode ini dapat diganti untuk menyesuaikan perilaku bawaan."
+
+msgid ""
+"This method has no side effects.\n"
+"It does not modify the object in any way."
+msgstr ""
+"Metode ini tidak memiliki efek samping.\n"
+"Metode ini tidak memodifikasi objek dengan cara apa pun."
+
+msgid ""
+"This method does not need an instance to be called.\n"
+"It can be called directly using the class name."
+msgstr ""
+"Metode ini tidak membutuhkan instance untuk dipanggil.\n"
+"Metode ini dapat dipanggil secara langsung menggunakan nama kelas."
+
+msgid "Error codes returned:"
+msgstr "Kode kesalahan dikembalikan:"
+
+msgid "There is currently no description for this %s."
+msgstr "Saat ini tidak ada deskripsi untuk %s ini."
+
+msgid ""
+"There is currently no description for this %s. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Saat ini belum ada deskripsi untuk %s ini. Tolong bantu kami dengan "
+"[color=$color][url=$url]kontribusi[/url][/color]!"
+
msgid "Top"
msgstr "Atas"
@@ -1644,18 +2587,47 @@ msgstr "Mewarisi:"
msgid "Inherited by:"
msgstr "Diturunkan oleh:"
+msgid ""
+"This class is marked as deprecated. It will be removed in future versions."
+msgstr ""
+"Kelas ini ditandai sebagai kelas yang tidak digunakan lagi. Kelas ini akan "
+"dihapus di versi mendatang."
+
+msgid ""
+"This class is marked as experimental. It is subject to likely change or "
+"possible removal in future versions. Use at your own discretion."
+msgstr ""
+"Kelas ini ditandai sebagai eksperimental. Hal ini dapat berubah atau mungkin "
+"dihapus di versi mendatang. Gunakan sesuai kebijaksanaan Anda sendiri."
+
msgid "Description"
msgstr "Deskripsi"
+msgid "There is currently no description for this class."
+msgstr "Saat ini tidak ada deskripsi untuk kelas ini."
+
+msgid ""
+"There is currently no description for this class. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Saat ini belum ada deskripsi untuk kelas ini. Tolong bantu kami dengan "
+"[color=$color][url=$url]kontribusi[/url][/color]!"
+
msgid "Online Tutorials"
msgstr "Tutorial Daring"
msgid "Properties"
msgstr "Properti"
+msgid "overrides %s:"
+msgstr "Menimpa %s:"
+
msgid "default:"
msgstr "baku:"
+msgid "property:"
+msgstr "properti:"
+
msgid "Constructors"
msgstr "Konstruktor"
@@ -1665,18 +2637,49 @@ msgstr "Operator"
msgid "Theme Properties"
msgstr "Properti Tema"
+msgid "Colors"
+msgstr "Warna"
+
msgid "Constants"
-msgstr "konstan"
+msgstr "Konstanta"
+
+msgid "Fonts"
+msgstr "Font"
+
+msgid "Font Sizes"
+msgstr "Ukuran Font"
+
+msgid "Icons"
+msgstr "Ikon"
+
+msgid "Styles"
+msgstr "Gaya"
msgid "Enumerations"
msgstr "Enumerasi"
+msgid "Annotations"
+msgstr "Anotasi"
+
+msgid "There is currently no description for this annotation."
+msgstr "Saat ini tidak ada deskripsi untuk anotasi ini."
+
+msgid ""
+"There is currently no description for this annotation. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Saat ini belum ada deskripsi untuk anotasi ini. Tolong bantu kami dengan "
+"[color=$color][url=$url]kontribusi[/url][/color]!"
+
msgid "Property Descriptions"
msgstr "Deskripsi Properti"
msgid "(value)"
msgstr "(nilai)"
+msgid "There is currently no description for this property."
+msgstr "Saat ini belum ada deskripsi untuk properti ini."
+
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
@@ -1714,12 +2717,21 @@ msgstr "Tampilkan Semua"
msgid "Classes Only"
msgstr "Hanya Kelas"
+msgid "Constructors Only"
+msgstr "Hanya Konstruktor"
+
msgid "Methods Only"
msgstr "Hanya Fungsi"
+msgid "Operators Only"
+msgstr "Hanya Operator"
+
msgid "Signals Only"
msgstr "Hanya Sinyal"
+msgid "Annotations Only"
+msgstr "Hanya Anotasi"
+
msgid "Constants Only"
msgstr "Hanya Konstanta"
@@ -1732,6 +2744,9 @@ msgstr "Hanya Properti Tema"
msgid "Member Type"
msgstr "Tipe Anggota"
+msgid "(constructors)"
+msgstr "(konstruktor)"
+
msgid "Class"
msgstr "Kelas"
@@ -1741,6 +2756,9 @@ msgstr "Fungsi"
msgid "Signal"
msgstr "Sinyal"
+msgid "Annotation"
+msgstr "Anotasi"
+
msgid "Constant"
msgstr "Konstan"
@@ -1750,9 +2768,21 @@ msgstr "Properti"
msgid "Theme Property"
msgstr "Properti Tema"
+msgid "This member is marked as deprecated."
+msgstr "Anggota ini ditandai sebagai tidak digunakan lagi."
+
+msgid "This member is marked as experimental."
+msgstr "Anggota ini ditandai sebagai eksperimental."
+
msgid "Property:"
msgstr "Properti:"
+msgid "Pin Value"
+msgstr "Nilai Pin"
+
+msgid "Pin Value [Disabled because '%s' is editor-only]"
+msgstr "Nilai Pin [Dinonaktifkan karena '%s' hanya untuk editor]"
+
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
@@ -1762,33 +2792,127 @@ msgstr ""
msgid "Open Documentation"
msgstr "Buka Dokumentasi"
+msgid "Add element to property array with prefix %s."
+msgstr "Tambahkan elemen ke array properti dengan awalan %s."
+
+msgid "Remove element %d from property array with prefix %s."
+msgstr "Hapus elemen %d dari array properti dengan awalan %s."
+
+msgid "Move element %d to position %d in property array with prefix %s."
+msgstr ""
+"Pindahkan elemen %d ke posisi %d dalam array properti dengan awalan %s."
+
+msgid "Clear property array with prefix %s."
+msgstr "Hapus array properti dengan awalan %s."
+
+msgid "Resize property array with prefix %s."
+msgstr "Ubah ukuran array properti dengan awalan %s."
+
+msgid "Element %d: %s%d*"
+msgstr "Elemen %d: %s%d*"
+
msgid "Move Up"
msgstr "Naikkan"
msgid "Move Down"
msgstr "Turunkan"
+msgid "Insert New Before"
+msgstr "Sisipkan Baru Sebelum"
+
+msgid "Insert New After"
+msgstr "Sisipkan Baru Setelah"
+
+msgid "Clear Array"
+msgstr "Hapus Array"
+
+msgid "Resize Array..."
+msgstr "Ubah Ukuran Array ..."
+
+msgid "Add Element"
+msgstr "Tambahkan Elemen"
+
msgid "Resize Array"
msgstr "Ubah ukuran Array"
+msgid "New Size:"
+msgstr "Ukuran Baru:"
+
+msgid "Element %s"
+msgstr "Elemen %s"
+
+msgid "Add Metadata"
+msgstr "Tambahkan Metadata"
+
msgid "Set %s"
msgstr "Setel %s"
msgid "Set Multiple:"
msgstr "Terapkan Bersamaan:"
+msgid "Remove metadata %s"
+msgstr "Hapus metadata %s"
+
msgid "Pinned %s"
msgstr "%s disematkan"
msgid "Unpinned %s"
msgstr "Lepas sematan %s"
+msgid "Add metadata %s"
+msgstr "Tambahkan metadata %s"
+
+msgid "Metadata name can't be empty."
+msgstr "Nama metadata tidak boleh kosong."
+
+msgid "Metadata name must be a valid identifier."
+msgstr "Nama metadata harus berupa pengenal yang valid."
+
+msgid "Metadata with name \"%s\" already exists."
+msgstr "Metadata dengan nama \"%s\" sudah ada."
+
+msgid "Names starting with _ are reserved for editor-only metadata."
+msgstr "Nama yang dimulai dengan _ dicadangkan untuk metadata khusus editor."
+
+msgid "Metadata name is valid."
+msgstr "Nama metadata valid."
+
+msgid "Add Metadata Property for \"%s\""
+msgstr "Menambahkan Properti Metadata untuk \"%s\""
+
+msgid "Copy Value"
+msgstr "Salin Nilai"
+
+msgid "Paste Value"
+msgstr "Tempel Nilai"
+
msgid "Copy Property Path"
msgstr "Salin Lokasi Properti"
+msgid "Select existing layout:"
+msgstr "Pilih tata letak yang ada:"
+
+msgid "Or enter new layout name"
+msgstr "Atau masukkan nama tata letak baru"
+
+msgid "Changed Locale Language Filter"
+msgstr "Filter Bahasa Lokal yang Diubah"
+
+msgid "Changed Locale Script Filter"
+msgstr "Filter Skrip Lokal yang Diubah"
+
+msgid "Changed Locale Country Filter"
+msgstr "Filter Negara Lokal yang Diubah"
+
msgid "Changed Locale Filter Mode"
msgstr "Mode Filter Locale Diubah"
+msgid "[Default]"
+msgstr "[Default]"
+
+msgid "Select a Locale"
+msgstr "Pilih Lokal"
+
msgid "Show All Locales"
msgstr "Tampilkan Semua Pelokalan"
@@ -1801,15 +2925,58 @@ msgstr "Sunting Filter"
msgid "Language:"
msgstr "Bahasa:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Skrip:"
+
+msgid "Country:"
+msgstr "Negara:"
+
+msgid "Language"
+msgstr "Bahasa"
+
+msgctxt "Locale"
+msgid "Script"
+msgstr "Skrip"
+
+msgid "Country"
+msgstr "Negara"
+
msgid "Variant"
msgstr "Varian"
+msgid "Filter Messages"
+msgstr "Filter Pesan"
+
msgid "Clear Output"
msgstr "Bersihkan Luaran"
msgid "Copy Selection"
msgstr "Salin Seleksi"
+msgid ""
+"Collapse duplicate messages into one log entry. Shows number of occurrences."
+msgstr ""
+"Menyusun pesan duplikat menjadi satu entri log. Menunjukkan jumlah kejadian."
+
+msgid "Focus Search/Filter Bar"
+msgstr "Pencarian Fokus/Bilah Filter"
+
+msgid "Toggle visibility of standard output messages."
+msgstr "Alihkan visibilitas pesan keluaran standar."
+
+msgid "Toggle visibility of errors."
+msgstr "Alihkan visibilitas kesalahan."
+
+msgid "Toggle visibility of warnings."
+msgstr "Alihkan visibilitas peringatan."
+
+msgid "Toggle visibility of editor messages."
+msgstr "Alihkan visibilitas pesan editor."
+
+msgid "Native Shader Source Inspector"
+msgstr "Inspektur Sumber Shader Asli"
+
msgid "New Window"
msgstr "Jendela Baru"
@@ -1844,6 +3011,13 @@ msgstr ""
"Resource ini tidak dapat disimpan karena bukan milik skena yang disunting. "
"Buatlah unik terlebih dahulu."
+msgid ""
+"This resource can't be saved because it was imported from another file. Make "
+"it unique first."
+msgstr ""
+"Sumber daya ini tidak dapat disimpan karena diimpor dari file lain. Buatlah "
+"unik terlebih dahulu."
+
msgid "Save Resource As..."
msgstr "Simpan Resource Sebagai..."
@@ -1856,6 +3030,21 @@ msgstr "Format file yang diminta tidak diketahui:"
msgid "Error while saving."
msgstr "Error saat menyimpan."
+msgid "Can't open file '%s'. The file could have been moved or deleted."
+msgstr "Gagal membuka '%s'. Berkas telah dipindah atau dihapus."
+
+msgid "Error while parsing file '%s'."
+msgstr "Kesalahan saat mem-parsing file '%s'."
+
+msgid "Scene file '%s' appears to be invalid/corrupt."
+msgstr "File adegan '%s' tampaknya tidak valid/rusak."
+
+msgid "Missing file '%s' or one its dependencies."
+msgstr "File '%s' hilang atau salah satu dependensinya."
+
+msgid "Error while loading file '%s'."
+msgstr "Kesalahan saat memuat file '%s'."
+
msgid "Saving Scene"
msgstr "Menyimpan Skena"
@@ -1869,6 +3058,14 @@ msgid "This operation can't be done without a tree root."
msgstr "Operasi ini tidak dapat diselesaikan tanpa root pohon."
msgid ""
+"This scene can't be saved because there is a cyclic instance inclusion.\n"
+"Please resolve it and then attempt to save again."
+msgstr ""
+"Scene ini tidak bisa disimpan karena ada inklusi penginstansian yang "
+"siklik.\n"
+"Mohon betulkan dan coba simpan lagi."
+
+msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
@@ -1912,6 +3109,9 @@ msgstr "Nama layout tidak ditemukan!"
msgid "Restored the Default layout to its base settings."
msgstr "Mengembalikan semula layout default ke pengaturan-pengaturan awal."
+msgid "This object is marked as read-only, so it's not editable."
+msgstr "Objek ini ditandai sebagai hanya-baca, sehingga tidak dapat diedit."
+
msgid ""
"This resource belongs to a scene that was imported, so it's not editable.\n"
"Please read the documentation relevant to importing scenes to better "
@@ -1922,27 +3122,77 @@ msgstr ""
"memahami alur kerjanya."
msgid ""
+"This resource belongs to a scene that was instantiated or inherited.\n"
+"Changes to it must be made inside the original scene."
+msgstr ""
+"Sumber daya ini termasuk dalam scene yang telah di-instansiasi atau "
+"diwarisi.\n"
+"Perubahan harus dilakukan di dalam scene asli."
+
+msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
"Resource ini telah diimpor, jadi tidak dapat disunting. Ubah pengaturannya "
"pada panel impor kemudian impor kembali."
+msgid ""
+"This scene was imported, so changes to it won't be kept.\n"
+"Instantiating or inheriting it will allow you to make changes to it.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+"Adegan ini diimpor, jadi perubahan pada adegan ini tidak akan disimpan.\n"
+"Menginstansiasi atau mewarisinya akan memungkinkan Anda untuk membuat "
+"perubahan padanya.\n"
+"Silakan baca dokumentasi yang relevan dengan mengimpor scene untuk lebih "
+"memahami alur kerja ini."
+
msgid "Changes may be lost!"
msgstr "Perubahan mungkin hilang!"
+msgid "This object is read-only."
+msgstr "Objek ini hanya dapat dibaca."
+
+msgid ""
+"Movie Maker mode is enabled, but no movie file path has been specified.\n"
+"A default movie file path can be specified in the project settings under the "
+"Editor > Movie Writer category.\n"
+"Alternatively, for running single scenes, a `movie_file` string metadata can "
+"be added to the root node,\n"
+"specifying the path to a movie file that will be used when recording that "
+"scene."
+msgstr ""
+"Mode Movie Maker diaktifkan, tetapi tidak ada path file movie yang "
+"ditentukan.\n"
+"Path file movie default dapat ditentukan dalam pengaturan proyek di bawah "
+"kategori Editor > Movie Writer.\n"
+"Atau, untuk menjalankan adegan tunggal, metadata string `movie_file` dapat "
+"ditambahkan ke node root,\n"
+"menentukan path ke file movie yang akan digunakan saat merekam adegan "
+"tersebut."
+
msgid "There is no defined scene to run."
msgstr "Tidak ada skena yang didefinisikan untuk dijalankan."
msgid "Save scene before running..."
msgstr "Simpan skena sebelum menjalankan..."
+msgid "Could not start subprocess(es)!"
+msgstr "Tidak dapat memulai subproses!"
+
+msgid "Reload the played scene."
+msgstr "Muat ulang adegan yang dimainkan."
+
msgid "Play the project."
msgstr "Mainkan proyek."
msgid "Play the edited scene."
msgstr "Mainkan scene redaksi."
+msgid "Play a custom scene."
+msgstr "Memainkan adegan khusus."
+
msgid "Open Base Scene"
msgstr "Buka Skena Dasar"
@@ -1955,9 +3205,21 @@ msgstr "Buka Cepat Skenario..."
msgid "Quick Open Script..."
msgstr "Buka Cepat Skrip..."
+msgid "Save & Reload"
+msgstr "Simpan & Mulai Ulang"
+
+msgid "Save modified resources before reloading?"
+msgstr "Simpan sumber daya yang dimodifikasi sebelum memuat ulang?"
+
msgid "Save & Quit"
msgstr "Simpan & Keluar"
+msgid "Save modified resources before closing?"
+msgstr "Simpan sumber daya yang dimodifikasi sebelum ditutup?"
+
+msgid "Save changes to '%s' before reloading?"
+msgstr "Simpan perubahan ke '%s' sebelum memuat ulang?"
+
msgid "Save changes to '%s' before closing?"
msgstr "Simpan perubahan '%s' sebelum menutupnya?"
@@ -1990,12 +3252,30 @@ msgstr "Tidak bisa membatalkan ketika tombol mouse ditekan."
msgid "Nothing to undo."
msgstr "Tidak ada yang bisa dibatalkan."
+msgid "Global Undo: %s"
+msgstr "Undo Global: %s"
+
+msgid "Remote Undo: %s"
+msgstr "Undo Remote: %s"
+
+msgid "Scene Undo: %s"
+msgstr "Undo Adegan: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "Tidak bisa mengulangi ketika tombol mouse ditekan."
msgid "Nothing to redo."
msgstr "Tidak ada yang perlu diulang."
+msgid "Global Redo: %s"
+msgstr "Redo Global: %s"
+
+msgid "Remote Redo: %s"
+msgstr "Undo Remote: %s"
+
+msgid "Scene Redo: %s"
+msgstr "Adegan Redo: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "Tidak bisa memuat ulang skena yang belum pernah disimpan."
@@ -2012,6 +3292,9 @@ msgstr ""
msgid "Quick Run Scene..."
msgstr "Jalankan Cepat Skena..."
+msgid "Save changes to the following scene(s) before reloading?"
+msgstr "Menyimpan perubahan pada adegan berikut sebelum memuat ulang?"
+
msgid "Save changes to the following scene(s) before quitting?"
msgstr "Simpan perubahan skena saat ini sebelum keluar?"
@@ -2166,6 +3449,9 @@ msgstr "Geser Tampilan"
msgid "Dock Position"
msgstr "Posisi Pengait"
+msgid "Make Floating"
+msgstr "Membuat Floating"
+
msgid "Add a new scene."
msgstr "Tambah skena baru."
@@ -2176,7 +3462,7 @@ msgid "Toggle distraction-free mode."
msgstr "Toggle mode tanpa gangguan."
msgid "Scene"
-msgstr "Scene"
+msgstr "Adegan"
msgid "Operations with scene files."
msgstr "Operasi dengan berkas skena."
@@ -2187,6 +3473,18 @@ msgstr "Pergi ke skena yang sebelumnya dibuka."
msgid "Copy Text"
msgstr "Salin Teks"
+msgid "Next Scene Tab"
+msgstr "Tab Adegan Berikutnya"
+
+msgid "Previous Scene Tab"
+msgstr "Tab Adegan Sebelumnya"
+
+msgid "Focus FileSystem Filter"
+msgstr "Filter SistemFile Fokus"
+
+msgid "Command Palette"
+msgstr "Palet Perintah"
+
msgid "New Scene"
msgstr "Skena Baru"
@@ -2205,6 +3503,9 @@ msgstr "Buka baru-baru ini"
msgid "Save Scene"
msgstr "Simpan Skena"
+msgid "Export As..."
+msgstr "Ekspor Sebagai..."
+
msgid "MeshLibrary..."
msgstr "PerpustakaanMesh..."
@@ -2226,12 +3527,24 @@ msgstr "Pengaturan Proyek"
msgid "Version Control"
msgstr "Kontrol Versi"
+msgid "Create Version Control Metadata"
+msgstr "Membuat Metadata Kontrol Versi"
+
+msgid "Version Control Settings"
+msgstr "Pengaturan Kontrol Versi"
+
msgid "Export..."
msgstr "Ekspor…"
msgid "Install Android Build Template..."
msgstr "Pasang Templat Build Android..."
+msgid "Open User Data Folder"
+msgstr "Buka Folder Data Pengguna"
+
+msgid "Customize Engine Build Configuration..."
+msgstr "Sesuaikan Konfigurasi Engine Build..."
+
msgid "Tools"
msgstr "Alat-alat"
@@ -2250,6 +3563,9 @@ msgstr "Editor"
msgid "Editor Settings..."
msgstr "Pengaturan Editor..."
+msgid "Command Palette..."
+msgstr "Palet Perintah..."
+
msgid "Editor Layout"
msgstr "Tata Letak Editor"
@@ -2277,6 +3593,9 @@ msgstr "Kelola Fitur Editor..."
msgid "Manage Export Templates..."
msgstr "Kelola Templat Ekspor…"
+msgid "Configure FBX Importer..."
+msgstr "Mengkonfigurasi Pengimpor FBX..."
+
msgid "Help"
msgstr "Bantuan"
@@ -2304,12 +3623,66 @@ msgstr "Tentang Godot"
msgid "Support Godot Development"
msgstr "Dukung pengembangan Godot"
+msgid "Run the project's default scene."
+msgstr "Jalankan adegan default proyek."
+
+msgid "Run Project"
+msgstr "Jalankan Proyek"
+
+msgid "Pause the running project's execution for debugging."
+msgstr "Jeda eksekusi proyek yang sedang berjalan untuk melakukan debug."
+
+msgid "Pause Running Project"
+msgstr "Menjeda Proyek yang Sedang Berjalan"
+
+msgid "Stop the currently running project."
+msgstr "Menghentikan proyek yang sedang berjalan."
+
+msgid "Stop Running Project"
+msgstr "Berhenti Menjalankan Proyek"
+
+msgid "Run the currently edited scene."
+msgstr "Jalankan adegan yang sedang diedit."
+
+msgid "Run Current Scene"
+msgstr "Jalankan Adegan Saat Ini"
+
+msgid "Run a specific scene."
+msgstr "Jalankan adegan tertentu."
+
+msgid "Run Specific Scene"
+msgstr "Menjalankan Adegan Tertentu"
+
+msgid ""
+"Enable Movie Maker mode.\n"
+"The project will run at stable FPS and the visual and audio output will be "
+"recorded to a video file."
+msgstr ""
+"Aktifkan mode Movie Maker.\n"
+"Proyek akan berjalan pada FPS yang stabil dan output visual dan audio akan "
+"direkam ke file video."
+
+msgid "Choose a renderer."
+msgstr "Pilih perender."
+
+msgid "Forward+"
+msgstr "Maju+"
+
+msgid "Mobile"
+msgstr "Mobile"
+
msgid "Compatibility"
msgstr "Kompatibilitas"
+msgid "Changing the renderer requires restarting the editor."
+msgstr "Mengubah perender memerlukan restart ulang editor."
+
msgid "Update Continuously"
msgstr "Perbarui Terus-menerus"
+msgid "Update When Changed"
+msgstr "Perbarui Saat Berubah"
+
msgid "Hide Update Spinner"
msgstr "Sembunyikan Spinner Pembaruan"
@@ -2322,6 +3695,9 @@ msgstr "Inspektur"
msgid "Node"
msgstr "Node"
+msgid "History"
+msgstr "Riwayat"
+
msgid "Expand Bottom Panel"
msgstr "Perluas Panel Bawah"
@@ -2340,6 +3716,27 @@ msgstr "Kelola Templat"
msgid "Install from file"
msgstr "Install dari file"
+msgid "Select Android sources file"
+msgstr "Pilih file sumber Android"
+
+msgid ""
+"This will set up your project for gradle Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make gradle builds instead of using pre-built APKs, "
+"the \"Use Gradle Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+"Ini akan menyiapkan proyek Anda untuk build gradle Android dengan menginstal "
+"template sumber ke \"res://android/build\".\n"
+"Anda kemudian dapat menerapkan modifikasi dan membuat APK kustom Anda "
+"sendiri pada saat ekspor (menambahkan modul, mengubah AndroidManifest.xml, "
+"dll.).\n"
+"Perhatikan bahwa untuk membuat gradle build alih-alih menggunakan APK yang "
+"sudah dibuat sebelumnya, opsi \"Gunakan Gradle Build\" harus diaktifkan di "
+"preset ekspor Android."
+
msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
@@ -2408,6 +3805,9 @@ msgstr "Buka Editor Selanjutnya"
msgid "Open the previous Editor"
msgstr "Buka Editor Sebelumnya"
+msgid "Ok"
+msgstr "Oke"
+
msgid "Warning!"
msgstr "Peringatan!"
@@ -2432,6 +3832,9 @@ msgstr "Sunting Plug-in"
msgid "Installed Plugins:"
msgstr "Plugins Terpasang:"
+msgid "Create New Plugin"
+msgstr "Buat Plugin Baru"
+
msgid "Version"
msgstr "Versi"
@@ -2447,6 +3850,9 @@ msgstr "Sunting Teks:"
msgid "On"
msgstr "Nyala"
+msgid "Renaming layer %d:"
+msgstr "Mengganti nama layer %d:"
+
msgid "No name provided."
msgstr "Nama masih kosong."
@@ -2459,12 +3865,47 @@ msgstr "Bit %d, nilai %d"
msgid "Rename"
msgstr "Ubah Nama"
+msgid "Rename layer"
+msgstr "Mengganti nama layer"
+
+msgid "Layer %d"
+msgstr "Layer %d"
+
+msgid "No Named Layers"
+msgstr "Tidak Ada Layer Bernama"
+
+msgid "Edit Layer Names"
+msgstr "Edit Nama Layer"
+
+msgid "<empty>"
+msgstr "<kosong>"
+
+msgid "Temporary Euler may be changed implicitly!"
+msgstr "Euler sementara dapat diubah secara implisit!"
+
+msgid ""
+"Temporary Euler will not be stored in the object with the original value. "
+"Instead, it will be stored as Quaternion with irreversible conversion.\n"
+"This is due to the fact that the result of Euler->Quaternion can be "
+"determined uniquely, but the result of Quaternion->Euler can be multi-"
+"existent."
+msgstr ""
+"Euler sementara tidak akan disimpan dalam objek dengan nilai aslinya. "
+"Sebaliknya, ini akan disimpan sebagai Quaternion dengan konversi yang tidak "
+"dapat diubah.\n"
+"Hal ini disebabkan oleh fakta bahwa hasil dari Euler->Quaternion dapat "
+"ditentukan secara unik, tetapi hasil dari Quaternion->Euler dapat berupa "
+"banyak nilai."
+
msgid "Assign..."
msgstr "Terapkan.."
msgid "Invalid RID"
msgstr "RID tidak valid"
+msgid "Recursion detected, unable to assign resource to property."
+msgstr "Rekursi terdeteksi, tidak dapat menetapkan sumber daya ke properti."
+
msgid ""
"Can't create a ViewportTexture on resources saved as a file.\n"
"Resource needs to belong to a scene."
@@ -2490,12 +3931,24 @@ msgstr "Pilih Viewport"
msgid "Selected node is not a Viewport!"
msgstr "Node yang terpilih bukanlah Viewport!"
+msgid "(Nil) %s"
+msgstr "(Nihil) %s"
+
+msgid "%s (size %s)"
+msgstr "%s (ukuran %s)"
+
msgid "Size:"
msgstr "Ukuran:"
msgid "Remove Item"
msgstr "Hapus item"
+msgid "Dictionary (Nil)"
+msgstr "Kamus (Nihil)"
+
+msgid "Dictionary (size %d)"
+msgstr "Kamus (ukuran %d)"
+
msgid "New Key:"
msgstr "Key Baru:"
@@ -2505,6 +3958,15 @@ msgstr "Nilai Baru:"
msgid "Add Key/Value Pair"
msgstr "Tambahkan pasangan Key/Value"
+msgid "Localizable String (Nil)"
+msgstr "String yang Dapat Dilokalkan (Nihil)"
+
+msgid "Localizable String (size %d)"
+msgstr "String yang Dapat Dilokalkan (ukuran %d)"
+
+msgid "Add Translation"
+msgstr "Tambah Terjemahan"
+
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
@@ -2515,9 +3977,15 @@ msgstr ""
msgid "Quick Load"
msgstr "Muat Cepat"
+msgid "Inspect"
+msgstr "Inspektur"
+
msgid "Make Unique"
msgstr "Jadikan Unik"
+msgid "Make Unique (Recursive)"
+msgstr "Jadikan Unik (Rekursif)"
+
msgid "Convert to %s"
msgstr "Konversi ke %s"
@@ -2530,6 +3998,15 @@ msgstr "Skrip Baru"
msgid "Extend Script"
msgstr "Extend Skrip"
+msgid "New Shader"
+msgstr "Shader Baru"
+
+msgid "No Remote Debug export presets configured."
+msgstr "Tidak ada preset ekspor Debug remote yang dikonfigurasi."
+
+msgid "Remote Debug"
+msgstr "Debug Remote"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -2538,18 +4015,39 @@ msgstr ""
"Tidak ada preset ekspor yang bisa digunakan untuk platform ini.\n"
"Mohon tambahkan preset yang bisa digunakan di menu ekspor."
+msgid "Project Run"
+msgstr "Jalankan Proyek"
+
msgid "Write your logic in the _run() method."
msgstr "Tulis logika di dalam fungsi _run()."
msgid "There is an edited scene already."
msgstr "Sudah ada skena yang disunting."
+msgid ""
+"Couldn't run editor script, did you forget to override the '_run' method?"
+msgstr ""
+"Tidak dapat menjalankan skrip editor, apakah Anda lupa mengganti metode "
+"'_run'?"
+
+msgid "Edit Built-in Action"
+msgstr "Edit Tindakan Bawaan"
+
+msgid "Edit Shortcut"
+msgstr "Edit Pintasan"
+
+msgid "Common"
+msgstr "Umum"
+
msgid "Editor Settings"
msgstr "Pengaturan Editor"
msgid "General"
msgstr "Umum"
+msgid "Filter Settings"
+msgstr "Pengaturan Filter"
+
msgid "The editor must be restarted for changes to take effect."
msgstr "Editor harus dimulai ulang untuk menerapkan perubahan."
@@ -2559,27 +4057,165 @@ msgstr "Tombol Pintasan"
msgid "Binding"
msgstr "Mengikat"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"Tahan %s untuk membulatkan ke bilangan bulat.\n"
+"Tahan Shift untuk perubahan yang lebih presisi."
+
+msgid "No notifications."
+msgstr "Tidak ada notifikasi."
+
+msgid "Show notifications."
+msgstr "Tampilkan notifikasi."
+
+msgid "Silence the notifications."
+msgstr "Matikan notifikasi."
+
+msgid "Left Stick Left, Joystick 0 Left"
+msgstr "StikKiri Kiri, Joystick 0 Kiri"
+
+msgid "Left Stick Right, Joystick 0 Right"
+msgstr "StikKiri Kanan, Joystick 0 Kanan"
+
+msgid "Left Stick Up, Joystick 0 Up"
+msgstr "StikKiri Atas, Joystick 0 Atas"
+
+msgid "Left Stick Down, Joystick 0 Down"
+msgstr "StikKiri Bawah, Joystick 0 Bawah"
+
+msgid "Right Stick Left, Joystick 1 Left"
+msgstr "StikKanan Kiri, Joystick 1 Kiri"
+
+msgid "Right Stick Right, Joystick 1 Right"
+msgstr "StikKanan Kanan, Joystick 1 Kanan"
+
+msgid "Right Stick Up, Joystick 1 Up"
+msgstr "Stik Atas, Joystick 1 Atas"
+
+msgid "Right Stick Down, Joystick 1 Down"
+msgstr "TongkatKanan Bawah, Joystick 1 Bawah"
+
+msgid "Joystick 2 Left"
+msgstr "Joystick 2 Kiri"
+
+msgid "Left Trigger, Sony L2, Xbox LT, Joystick 2 Right"
+msgstr "Pemicu Kiri, Sony L2, Xbox LT, Joystick 2 Kanan"
+
+msgid "Joystick 2 Up"
+msgstr "Joystick 2 Atas"
+
+msgid "Right Trigger, Sony R2, Xbox RT, Joystick 2 Down"
+msgstr "Pemicu Kanan, Sony R2, Xbox RT, Joystick 2 Bawah"
+
+msgid "Joystick 3 Left"
+msgstr "Joystick 3 Kiri"
+
+msgid "Joystick 3 Right"
+msgstr "Joystick 3 Kanan"
+
+msgid "Joystick 3 Up"
+msgstr "Joystick 3 Atas"
+
+msgid "Joystick 3 Down"
+msgstr "Joystick 3 Bawah"
+
+msgid "Joystick 4 Left"
+msgstr "Joystick 4 Kiri"
+
+msgid "Joystick 4 Right"
+msgstr "Joystick 4 Kanan"
+
+msgid "Joystick 4 Up"
+msgstr "Joystick 4 Atas"
+
+msgid "Joystick 4 Down"
+msgstr "Joystick 4 Bawah"
+
+msgid "Joypad Axis %d %s (%s)"
+msgstr "Sumbu Joypad %d %s (%s)"
+
msgid "All Devices"
msgstr "Semua Perangkat"
msgid "Device"
msgstr "Perangkat"
+msgid "Listening for input..."
+msgstr "Mendengarkan masukan..."
+
+msgid "Filter by event..."
+msgstr "Filter berdasarkan event..."
+
+msgid ""
+"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
+"ETC2 ASTC' in Project Settings."
+msgstr ""
+"Platform target memerlukan kompresi tekstur 'ETC2/ASTC'. Aktifkan 'Impor "
+"ETC2 ASTC' di Setelan Proyek."
+
+msgid ""
+"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
+"S3TC BPTC' in Project Settings."
+msgstr ""
+"Platform target memerlukan kompresi tekstur 'S3TC/BPTC'. Aktifkan 'Impor "
+"S3TC BPTC' di Pengaturan Proyek."
+
msgid "Project export for platform:"
msgstr "Proyek ekspor untuk platform:"
+msgid "Completed with warnings."
+msgstr "Dilengkapi dengan peringatan."
+
msgid "Completed successfully."
msgstr "Sukses."
+msgid "Failed."
+msgstr "Gagal."
+
+msgid "Storing File: %s"
+msgstr "Menyimpan File: %s"
+
msgid "Storing File:"
msgstr "Menyimpan File:"
msgid "No export template found at the expected path:"
msgstr "Templat ekspor tidak ditemukan di tempat yg diharapkan:"
+msgid "ZIP Creation"
+msgstr "Pembuatan ZIP"
+
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Tidak dapat membuka file untuk dibaca dari path \"%s\"."
+
msgid "Packing"
msgstr "Mengemas"
+msgid "Save PCK"
+msgstr "Simpan PCK"
+
+msgid "Cannot create file \"%s\"."
+msgstr "Tidak dapat membuat file \"%s\"."
+
+msgid "Failed to export project files."
+msgstr "Tidak dapat ekspor berkas proyek"
+
+msgid "Can't open file for writing at path \"%s\"."
+msgstr "Tidak dapat membuka file untuk menulis di path \"%s\"."
+
+msgid "Can't open file for reading-writing at path \"%s\"."
+msgstr "Tidak dapat membuka file untuk membaca-menulis di path \"%s\"."
+
+msgid "Can't create encrypted file."
+msgstr "Tidak dapat membuat file terenkripsi."
+
+msgid "Can't open encrypted file to write."
+msgstr "Tidak dapat membuka file terenkripsi untuk menulis."
+
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Tidak dapat membuka file untuk dibaca dari path \"%s\"."
+
msgid "Save ZIP"
msgstr "Simpan ZIP"
@@ -2589,6 +4225,21 @@ msgstr "Templat awakutu kustom tidak ditemukan."
msgid "Custom release template not found."
msgstr "Templat rilis kustom tidak ditemukan."
+msgid "Prepare Template"
+msgstr "Siapkan Template"
+
+msgid "The given export path doesn't exist."
+msgstr "Lokasi ekspor yang diberikan tidak ada."
+
+msgid "Template file not found: \"%s\"."
+msgstr "File template tidak ditemukan: \"%s\"."
+
+msgid "Failed to copy export template."
+msgstr "Gagal menyalin template ekspor."
+
+msgid "PCK Embedding"
+msgstr "Penyematan PCK"
+
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Pada ekspor 32-bit PCK yang ditanamkan tidak boleh lebih dari 4GiB."
@@ -2689,6 +4340,9 @@ msgstr "Mengunduh"
msgid "Connection Error"
msgstr "Gangguan Koneksi"
+msgid "TLS Handshake Error"
+msgstr "Kesalahan Jabat Tangan TLS"
+
msgid "Can't open the export templates file."
msgstr "Tidak dapat membuka file template ekspor."
@@ -2788,9 +4442,26 @@ msgstr ""
msgid "Runnable"
msgstr "Dapat dijalankan"
+msgid "Export the project for all the presets defined."
+msgstr "Mengekspor proyek untuk semua preset yang ditentukan."
+
+msgid "All presets must have an export path defined for Export All to work."
+msgstr ""
+"Semua preset harus memiliki path ekspor yang ditentukan agar Ekspor Semua "
+"dapat berfungsi."
+
+msgid "Resources to exclude:"
+msgstr "Sumber daya yang harus dikecualikan:"
+
+msgid "Resources to export:"
+msgstr "Resource yang akan diekspor:"
+
msgid "Delete preset '%s'?"
msgstr "Hapus preset '%s'?"
+msgid "%s Export"
+msgstr "Ekspor %s"
+
msgid "Release"
msgstr "Rilis"
@@ -2832,11 +4503,24 @@ msgstr "Ekspor skena terpilih (dan dependensinya)"
msgid "Export selected resources (and dependencies)"
msgstr "Ekspor resource terpilih (dan dependensinya)"
+msgid "Export all resources in the project except resources checked below"
+msgstr ""
+"Ekspor semua sumber daya dalam proyek kecuali sumber daya yang dicentang di "
+"bawah ini"
+
+msgid "Export as dedicated server"
+msgstr "Ekspor sebagai dedicated server"
+
msgid "Export Mode:"
msgstr "Mode Ekspor:"
-msgid "Resources to export:"
-msgstr "Resource yang akan diekspor:"
+msgid ""
+"\"Strip Visuals\" will replace the following resources with placeholders:"
+msgstr ""
+"\"Strip Visual\" akan menggantikan sumber daya berikut dengan placeholder:"
+
+msgid "Strip Visuals"
+msgstr "Strip Visual"
msgid "Keep"
msgstr "Pertahankan"
@@ -2864,6 +4548,36 @@ msgstr "Ubah suaian (dipisahkan koma):"
msgid "Feature List:"
msgstr "Daftar Fitur:"
+msgid "Encryption"
+msgstr "Enkripsi"
+
+msgid "Encrypt Exported PCK"
+msgstr "Enkripsi PCK yang Diekspor"
+
+msgid "Encrypt Index (File Names and Info)"
+msgstr "Enkripsi Indeks (Nama File dan Info)"
+
+msgid ""
+"Filters to include files/folders\n"
+"(comma-separated, e.g: *.tscn, *.tres, scenes/*)"
+msgstr ""
+"Filter untuk menyertakan file/folder\n"
+"(dipisahkan dengan koma, misalnya: *.tscn, *.tres, scenes/*)"
+
+msgid ""
+"Filters to exclude files/folders\n"
+"(comma-separated, e.g: *.ctex, *.import, music/*)"
+msgstr ""
+"Filter untuk mengecualikan file/folder\n"
+"(dipisahkan dengan koma, misalnya: *.ctex, *.import, music/*)"
+
+msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
+msgstr ""
+"Kunci Enkripsi tidak valid (harus terdiri dari 64 karakter heksadesimal)"
+
+msgid "Encryption Key (256-bits as hexadecimal):"
+msgstr "Kunci Enkripsi (256-bit sebagai heksadesimal):"
+
msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
@@ -2871,24 +4585,90 @@ msgstr ""
"Catatan: Kunci enkripsi perlu disimpan dalam biner,\n"
"Anda perlu membuat templat ekspor dari sumber."
+msgid "More Info..."
+msgstr "Info lebih lanjut..."
+
+msgid "Export PCK/ZIP..."
+msgstr "Ekspor PCK/ZIP..."
+
+msgid "Export Project..."
+msgstr "Ekspor Proyek..."
+
msgid "Export All"
msgstr "Ekspor Semua"
+msgid "Choose an export mode:"
+msgstr "Pilih mode ekspor:"
+
+msgid "Export All..."
+msgstr "Ekspor Semua..."
+
msgid "ZIP File"
msgstr "Berkas ZIP"
+msgid "Godot Project Pack"
+msgstr "Paket Proyek Godot"
+
msgid "Export templates for this platform are missing:"
msgstr "Tidak ada templat ekspor untuk platform ini:"
+msgid "Project Export"
+msgstr "Ekspor Proyek"
+
msgid "Manage Export Templates"
msgstr "Mengatur Templat Ekspor"
msgid "Export With Debug"
msgstr "Ekspor dengan Awakutu"
+msgid "Disable FBX & Restart"
+msgstr "Nonaktifkan FBX & Mulai Ulang"
+
+msgid ""
+"Canceling this dialog will disable the FBX importer.\n"
+"You can re-enable it in the Project Settings under Filesystem > Import > FBX "
+"> Enabled.\n"
+"\n"
+"The editor will restart as importers are registered when the editor starts."
+msgstr ""
+"Membatalkan dialog ini akan menonaktifkan importir FBX.\n"
+"Anda dapat mengaktifkannya kembali di Pengaturan Proyek di bawah Sistem "
+"Berkas > Impor > FBX > Diaktifkan.\n"
+"\n"
+"Editor akan memulai ulang saat importir terdaftar saat editor dimulai."
+
+msgid "Path to FBX2glTF executable is empty."
+msgstr "Path ke eksekusi FBX2glTF kosong."
+
+msgid "Path to FBX2glTF executable is invalid."
+msgstr "Path ke eksekusi FBX2glTF tidak valid."
+
+msgid "Error executing this file (wrong version or architecture)."
+msgstr ""
+"Kesalahan dalam mengeksekusi file ini (versi atau arsitektur yang salah)."
+
+msgid "FBX2glTF executable is valid."
+msgstr "Eksekusi FBX2glTF valid."
+
+msgid "Configure FBX Importer"
+msgstr "Konfigurasikan Importir FBX"
+
+msgid ""
+"FBX2glTF is required for importing FBX files.\n"
+"Please download it and provide a valid path to the binary:"
+msgstr ""
+"FBX2glTF diperlukan untuk mengimpor file FBX.\n"
+"Silakan unduh dan berikan path yang valid ke biner:"
+
+msgid "Click this link to download FBX2glTF"
+msgstr "Klik tautan ini untuk mengunduh FBX2glTF"
+
msgid "Browse"
msgstr "Telusur"
+msgid "Confirm Path"
+msgstr "Konfirmasi Path"
+
msgid "Favorites"
msgstr "Favorit"
@@ -2915,6 +4695,12 @@ msgstr "Error saat memindahkan:"
msgid "Error duplicating:"
msgstr "Error saat menggandakan berkas:"
+msgid "Failed to save resource at %s: %s"
+msgstr "Gagal menyimpan sumber daya pada %s: %s"
+
+msgid "Failed to load resource at %s: %s"
+msgstr "Gagal memuat sumber daya pada %s: %s"
+
msgid "Unable to update dependencies:"
msgstr "Tidak bisa memperbarui dependensi:"
@@ -2968,6 +4754,9 @@ msgstr "Skena Warisan Baru"
msgid "Set As Main Scene"
msgstr "Jadikan sebagai Skena Utama"
+msgid "Instantiate"
+msgstr "Instansiasi"
+
msgid "Add to Favorites"
msgstr "Tambahkan ke Favorit"
@@ -2983,6 +4772,21 @@ msgstr "Tampilkan Pemilik Berkas..."
msgid "Move To..."
msgstr "Pindahkan ke..."
+msgid "Folder..."
+msgstr "Folder..."
+
+msgid "Scene..."
+msgstr "Adegan..."
+
+msgid "Script..."
+msgstr "Skrip..."
+
+msgid "Resource..."
+msgstr "Sumber daya..."
+
+msgid "TextFile..."
+msgstr "File Teks..."
+
msgid "New Scene..."
msgstr "Skena Baru…"
@@ -2992,6 +4796,12 @@ msgstr "Skrip Baru..."
msgid "New Resource..."
msgstr "Resource Baru..."
+msgid "New TextFile..."
+msgstr "File Teks Baru..."
+
+msgid "Sort Files"
+msgstr "Urutkan File"
+
msgid "Sort by Name (Ascending)"
msgstr "Urutkan berdasarkan Nama (Ascending)"
@@ -3010,18 +4820,33 @@ msgstr "Urut dari Terakhir Diubah"
msgid "Sort by First Modified"
msgstr "Urut dari Pertama Diubah"
+msgid "Copy UID"
+msgstr "Salin UID"
+
msgid "Duplicate..."
msgstr "Gandakan..."
msgid "Rename..."
msgstr "Ubah Nama..."
+msgid "Open in External Program"
+msgstr "Buka di Program Eksternal"
+
+msgid "Go to previous selected folder/file."
+msgstr "Buka folder/file yang dipilih sebelumnya."
+
+msgid "Go to next selected folder/file."
+msgstr "Buka folder/file yang dipilih berikutnya."
+
msgid "Re-Scan Filesystem"
msgstr "Pindai Ulang Berkas Sistem"
msgid "Toggle Split Mode"
msgstr "Jungkitkan Mode Split"
+msgid "Filter Files"
+msgstr "Filter File"
+
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -3066,9 +4891,24 @@ msgstr "Cari..."
msgid "Replace..."
msgstr "Gantikan..."
+msgid "Replace in Files"
+msgstr "Ganti dalam File"
+
+msgid "Replace all (no undo)"
+msgstr "Ganti semua (tanpa undo)"
+
msgid "Searching..."
msgstr "Mencari..."
+msgid "%d match in %d file"
+msgstr "%d cocok dengan file %d"
+
+msgid "%d matches in %d file"
+msgstr "%d cocok dengan file %d"
+
+msgid "%d matches in %d files"
+msgstr "%d cocok dengan file %d"
+
msgid "Add to Group"
msgstr "Tambahkan ke Grup"
@@ -3105,12 +4945,194 @@ msgstr "Editor Grup"
msgid "Manage Groups"
msgstr "Kelola Grup"
+msgid "The Beginning"
+msgstr "Permulaan"
+
+msgid "Global"
+msgstr "Global"
+
+msgid "Audio Stream Importer: %s"
+msgstr "Importir Aliran Audio: %s"
+
msgid "Reimport"
msgstr "Impor ulang"
+msgid "Enable looping."
+msgstr "Mengaktifkan perulangan."
+
msgid "Offset:"
msgstr "Pengimbangan:"
+msgid ""
+"Loop offset (from beginning). Note that if BPM is set, this setting will be "
+"ignored."
+msgstr ""
+"Loop offset (dari awal). Perhatikan bahwa jika BPM ditetapkan, pengaturan "
+"ini akan diabaikan."
+
+msgid "Loop:"
+msgstr "Loop:"
+
+msgid "BPM:"
+msgstr "BPM:"
+
+msgid ""
+"Configure the Beats Per Measure (tempo) used for the interactive streams.\n"
+"This is required in order to configure beat information."
+msgstr ""
+"Konfigurasikan Beats Per Measure (tempo) yang digunakan untuk stream "
+"interaktif.\n"
+"Hal ini diperlukan untuk mengonfigurasi informasi ketukan."
+
+msgid "Beat Count:"
+msgstr "Jumlah Ketukan:"
+
+msgid ""
+"Configure the amount of Beats used for music-aware looping. If zero, it will "
+"be autodetected from the length.\n"
+"It is recommended to set this value (either manually or by clicking on a "
+"beat number in the preview) to ensure looping works properly."
+msgstr ""
+"Konfigurasikan jumlah Ketukan yang digunakan untuk pengulangan musik. Jika "
+"nol, maka akan terdeteksi secara otomatis dari panjangnya.\n"
+"Direkomendasikan untuk menetapkan nilai ini (baik secara manual atau dengan "
+"mengeklik nomor ketukan di pratinjau) untuk memastikan pengulangan berfungsi "
+"dengan baik."
+
+msgid "Bar Beats:"
+msgstr "Ketukan Bar:"
+
+msgid ""
+"Configure the Beats Per Bar. This used for music-aware transitions between "
+"AudioStreams."
+msgstr ""
+"Mengonfigurasi Ketukan Per Bar. Ini digunakan untuk transisi musik di antara "
+"AudioStream."
+
+msgid "Music Playback:"
+msgstr "Pemutaran Musik:"
+
+msgid "New Configuration"
+msgstr "Konfigurasi Baru"
+
+msgid "Remove Variation"
+msgstr "Hapus Variasi"
+
+msgid "Preloaded glyphs: %d"
+msgstr "Glyph yang dimuat sebelumnya: %d"
+
+msgid ""
+"Warning: There are no configurations specified, no glyphs will be pre-"
+"rendered."
+msgstr ""
+"Peringatan: Tidak ada konfigurasi yang ditentukan, tidak ada glyph yang akan "
+"dirender sebelumnya."
+
+msgid ""
+"Warning: Multiple configurations have identical settings. Duplicates will be "
+"ignored."
+msgstr ""
+"Peringatan: Beberapa konfigurasi memiliki pengaturan yang identik. Duplikat "
+"akan diabaikan."
+
+msgid ""
+"Note: LCD Subpixel antialiasing is selected, each of the glyphs will be pre-"
+"rendered for all supported subpixel layouts (5x)."
+msgstr ""
+"Catatan: Antialiasing Subpiksel LCD dipilih, masing-masing glyph akan "
+"dirender sebelumnya untuk semua tata letak subpiksel yang didukung (5x)."
+
+msgid ""
+"Note: Subpixel positioning is selected, each of the glyphs might be pre-"
+"rendered for multiple subpixel offsets (up to 4x)."
+msgstr ""
+"Catatan: Penentuan posisi subpiksel dipilih, masing-masing mesin glyph dapat "
+"dirender sebelumnya untuk beberapa offset subpiksel (hingga 4x)."
+
+msgid "Advanced Import Settings for '%s'"
+msgstr "Setelan Impor Lanjutan untuk '%s'"
+
+msgid "Rendering Options"
+msgstr "Opsi Rendering"
+
+msgid "Select font rendering options, fallback font, and metadata override:"
+msgstr "Pilih opsi rendering font, font fallback, dan penggantian metadata:"
+
+msgid "Pre-render Configurations"
+msgstr "Konfigurasi Pra-render"
+
+msgid ""
+"Add font size, and variation coordinates, and select glyphs to pre-render:"
+msgstr ""
+"Tambahkan ukuran font, dan koordinat variasi, dan pilih glyphs untuk pra-"
+"render:"
+
+msgid "Configuration:"
+msgstr "Konfigurasi:"
+
+msgid "Add configuration"
+msgstr "Tambahkan konfigurasi"
+
+msgid "Clear Glyph List"
+msgstr "Hapus Daftar Glyph"
+
+msgid "Glyphs from the Translations"
+msgstr "Glyph dari Terjemahan"
+
+msgid "Select translations to add all required glyphs to pre-render list:"
+msgstr ""
+"Pilih terjemahan untuk menambahkan semua glyph yang diperlukan ke daftar pra-"
+"render:"
+
+msgid "Shape all Strings in the Translations and Add Glyphs"
+msgstr "Bentuk semua String dalam Terjemahan dan Tambahkan Glyph"
+
+msgid "Glyphs from the Text"
+msgstr "Glyph dari Teks"
+
+msgid ""
+"Enter a text and select OpenType features to shape and add all required "
+"glyphs to pre-render list:"
+msgstr ""
+"Masukkan teks dan pilih fitur OpenType untuk membentuk dan menambahkan semua "
+"glyph yang diperlukan ke daftar pra-render:"
+
+msgid "Shape Text and Add Glyphs"
+msgstr "Bentuk Teks dan Tambahkan Glyph"
+
+msgid "Glyphs from the Character Map"
+msgstr "Glyph dari Peta Karakter"
+
+msgid ""
+"Add or remove glyphs from the character map to pre-render list:\n"
+"Note: Some stylistic alternatives and glyph variants do not have one-to-one "
+"correspondence to character, and not shown in this map, use \"Glyphs from "
+"the text\" tab to add these."
+msgstr ""
+"Menambahkan atau menghapus glyph dari peta karakter ke daftar pra-render:\n"
+"Catatan: Beberapa alternatif gaya dan varian glyph tidak memiliki "
+"korespondensi satu-ke-satu dengan karakter, dan tidak ditampilkan di peta "
+"ini, gunakan tab \"glyph dari teks\" untuk menambahkannya."
+
+msgid "Dynamically rendered TrueType/OpenType font"
+msgstr "Font TrueType/OpenType yang ditampilkan secara dinamis"
+
+msgid "Prerendered multichannel(+true) signed distance field"
+msgstr ""
+"Bidang jarak bertanda multisaluran(+benar) yang telah ditentukan sebelumnya"
+
+msgid "Can't load font texture:"
+msgstr "Tidak dapat memuat tekstur font:"
+
+msgid "Image margin too big."
+msgstr "Margin gambar terlalu besar."
+
+msgid "Character margin too bit."
+msgstr "Margin karakter terlalu sedikit."
+
+msgid "Pre-Import Scene"
+msgstr "Adegan Pra-Impor"
+
msgid "Importing Scene..."
msgstr "Mengimpor Skena..."
@@ -3129,18 +5151,197 @@ msgstr "Skrip post-import rusak/tidak valid (cek konsol):"
msgid "Error running post-import script:"
msgstr "Kesalahan saat menjalankan skrip post-import:"
+msgid "Did you return a Node-derived object in the `_post_import()` method?"
+msgstr ""
+"Apakah Anda mengembalikan objek turunan Node dalam metode `_post_import()`?"
+
msgid "Saving..."
msgstr "Menyimpan..."
+msgid ""
+"Error importing GLSL shader file: '%s'. Open the file in the filesystem dock "
+"in order to see the reason."
+msgstr ""
+"Kesalahan mengimpor file shader GLSL: '%s'. Buka file di dok sistem berkas "
+"untuk mengetahui penyebabnya."
+
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+"%s: Tekstur terdeteksi seperti yang digunakan sebagai peta normal dalam 3D. "
+"Mengaktifkan kompresi tekstur merah-hijau untuk mengurangi penggunaan memori "
+"(channel biru dibuang)."
+
+msgid ""
+"%s: Texture detected as used as a roughness map in 3D. Enabling roughness "
+"limiter based on the detected associated normal map at %s."
+msgstr ""
+"%s: Tekstur terdeteksi seperti yang digunakan sebagai peta kekasaran dalam "
+"3D. Mengaktifkan pembatas kekasaran berdasarkan peta normal terkait yang "
+"terdeteksi pada %s."
+
+msgid ""
+"%s: Texture detected as used in 3D. Enabling mipmap generation and setting "
+"the texture compression mode to %s."
+msgstr ""
+"%s: Tekstur terdeteksi seperti yang digunakan dalam 3D. Mengaktifkan "
+"pembuatan mipmap dan menetapkan mode kompresi tekstur ke %s."
+
+msgid "2D/3D (Auto-Detect)"
+msgstr "2D/3D (Deteksi Otomatis)"
+
msgid "2D"
msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid "<Unnamed Material>"
+msgstr "<Material tanpa nama>"
+
+msgid "Import ID: %s"
+msgstr "Impor ID: %s"
+
+msgid ""
+"Type: %s\n"
+"Import ID: %s"
+msgstr ""
+"Tipe: %s\n"
+"Impor ID: %s"
+
+msgid "Error opening scene"
+msgstr "Kesalahan membuka adegan"
+
+msgid "Advanced Import Settings for AnimationLibrary '%s'"
+msgstr "Pengaturan Impor Lanjutan untuk AnimationLibrary '%s'"
+
+msgid "Advanced Import Settings for Scene '%s'"
+msgstr "Pengaturan Impor Lanjutan untuk Adegan '%s'"
+
+msgid "Select folder to extract material resources"
+msgstr "Pilih folder untuk mengekstrak sumber daya material"
+
+msgid "Select folder where mesh resources will save on import"
+msgstr "Pilih folder tempat sumber daya mesh akan disimpan saat impor"
+
+msgid "Select folder where animations will save on import"
+msgstr "Pilih folder tempat animasi akan disimpan saat impor"
+
+msgid "Warning: File exists"
+msgstr "Peringatan: File ada"
+
+msgid "Existing file with the same name will be replaced."
+msgstr "File yang sudah ada dengan nama yang sama akan diganti."
+
+msgid "Will create new file"
+msgstr "Akan membuat file baru"
+
+msgid "Already External"
+msgstr "Sudah Eksternal"
+
+msgid ""
+"This material already references an external file, no action will be taken.\n"
+"Disable the external property for it to be extracted again."
+msgstr ""
+"Materi ini sudah mereferensikan file eksternal, tidak ada tindakan yang akan "
+"diambil.\n"
+"Nonaktifkan properti eksternal agar dapat diekstrak kembali."
+
+msgid "No import ID"
+msgstr "Tidak ada ID impor"
+
+msgid ""
+"Material has no name nor any other way to identify on re-import.\n"
+"Please name it or ensure it is exported with an unique ID."
+msgstr ""
+"Material tidak memiliki nama atau cara lain untuk mengidentifikasi saat "
+"diimpor kembali.\n"
+"Harap beri nama atau pastikan material tersebut diekspor dengan ID yang unik."
+
+msgid "Extract Materials to Resource Files"
+msgstr "Mengekstrak Material ke File Sumber Daya"
+
+msgid "Extract"
+msgstr "Ekstrak"
+
+msgid "Already Saving"
+msgstr "Sudah Disimpan"
+
+msgid ""
+"This mesh already saves to an external resource, no action will be taken."
+msgstr ""
+"Mesh ini sudah menyimpan di sumber daya eksternal, tidak ada tindakan yang "
+"akan diambil."
+
+msgid "Existing file with the same name will be replaced on import."
+msgstr ""
+"File yang sudah ada dengan nama yang sama akan diganti pada saat impor."
+
+msgid "Will save to new file"
+msgstr "Akan menyimpan ke file baru"
+
+msgid ""
+"Mesh has no name nor any other way to identify on re-import.\n"
+"Please name it or ensure it is exported with an unique ID."
+msgstr ""
+"Mesh tidak memiliki nama atau cara lain untuk mengidentifikasi saat diimpor "
+"ulang.\n"
+"Harap beri nama atau pastikan diekspor dengan ID yang unik."
+
+msgid "Set paths to save meshes as resource files on Reimport"
+msgstr "Mengatur path untuk menyimpan mesh sebagai file sumber daya di Reimpor"
+
+msgid "Set Paths"
+msgstr "Mengatur Path"
+
+msgid ""
+"This animation already saves to an external resource, no action will be "
+"taken."
+msgstr ""
+"Animasi ini sudah disimpan ke sumber daya eksternal, tidak ada tindakan yang "
+"akan diambil."
+
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr ""
+"Mengatur path untuk menyimpan animasi sebagai file sumber daya di Reimpor"
+
+msgid "Can't make material external to file, write error:"
+msgstr "Tidak dapat membuat material eksternal ke file, kesalahan penulisan:"
+
+msgid "Actions..."
+msgstr "Tindakan..."
+
+msgid "Extract Materials"
+msgstr "Material Ekstrak"
+
+msgid "Set Animation Save Paths"
+msgstr "Mengatur Path Penyimpanan Animasi"
+
+msgid "Set Mesh Save Paths"
+msgstr "Atur Path Penyimpanan Mesh"
+
+msgid "Meshes"
+msgstr "Mesh"
+
msgid "Materials"
msgstr "Material"
+msgid "Save Extension:"
+msgstr "Simpan Ekstensi:"
+
+msgid "Text: *.tres"
+msgstr "Teks: *.tres"
+
+msgid "Binary: *.res"
+msgstr "Biner: *.res"
+
+msgid "Text Resource"
+msgstr "Sumber Daya Teks"
+
+msgid "Binary Resource"
+msgstr "Sumber Daya Biner"
+
msgid "Select Importer"
msgstr "Pilih Importir"
@@ -3176,6 +5377,9 @@ msgstr "Impor sebagai:"
msgid "Preset"
msgstr "Prasetel"
+msgid "Advanced..."
+msgstr "Tingkat lanjut..."
+
msgid "Save Scenes, Re-Import, and Restart"
msgstr "Simpan Skena, Impor Ulang, dan Mulai Ulang"
@@ -3195,15 +5399,86 @@ msgstr ""
"Pilih file sumber daya di sistem berkas atau di inspektur untuk menyesuaikan "
"pengaturan impor."
+msgid "No Event Configured"
+msgstr "Tidak Ada Event yang Dikonfigurasi"
+
+msgid "Keyboard Keys"
+msgstr "Tombol Keyboard"
+
+msgid "Mouse Buttons"
+msgstr "Tombol Mouse"
+
+msgid "Joypad Buttons"
+msgstr "Tombol Joypad"
+
+msgid "Joypad Axes"
+msgstr "Sumbu Joypad"
+
+msgid "Event Configuration"
+msgstr "Konfigurasi Event"
+
+msgid "Manual Selection"
+msgstr "Seleksi Manual"
+
+msgid "Filter Inputs"
+msgstr "Input Filter"
+
+msgid "Additional Options"
+msgstr "Opsi Tambahan"
+
msgid "Device:"
msgstr "Perangkat:"
+msgid "Command / Control (auto)"
+msgstr "Perintah / Kontrol (otomatis)"
+
+msgid ""
+"Automatically remaps between 'Meta' ('Command') and 'Control' depending on "
+"current platform."
+msgstr ""
+"Secara otomatis memetakan ulang antara 'Meta' ('Command') dan 'Control' "
+"tergantung pada platform saat ini."
+
+msgid "Keycode (Latin Equivalent)"
+msgstr "Kode Kunci (Setara Latin)"
+
+msgid "Physical Keycode (Position on US QWERTY Keyboard)"
+msgstr "Kode Kunci Fisik (Posisi pada Keyboard QWERTY AS)"
+
+msgid "Key Label (Unicode, Case-Insensitive)"
+msgstr "Label Kunci (Unicode, Tidak Peka Huruf Besar/Kecil)"
+
+msgid ""
+"The following resources will be duplicated and embedded within this resource/"
+"object."
+msgstr ""
+"Sumber daya berikut ini akan diduplikasi dan disematkan di dalam sumber daya/"
+"objek ini."
+
+msgid "This object has no resources."
+msgstr "Objek ini tidak memiliki sumber daya."
+
msgid "Failed to load resource."
msgstr "Gagal memuat resource."
+msgid "(Current)"
+msgstr "(Saat ini)"
+
+msgid "Expand Non-Default"
+msgstr "Perluas Non-Default"
+
+msgid "Property Name Style"
+msgstr "Gaya Nama Properti"
+
msgid "Raw"
msgstr "Raw (%)"
+msgid "Capitalized"
+msgstr "Dikapitalisasi"
+
+msgid "Localized"
+msgstr "Dilokalisasi"
+
msgid "Localization not available for current language."
msgstr "Lokalisasi tidak tersedia untuk bahasa saat ini."
@@ -3240,18 +5515,39 @@ msgstr "Salin Resource"
msgid "Make Resource Built-In"
msgstr "Buat Resource Menjadi Bawaan"
+msgid "Go to previous edited object in history."
+msgstr "Pergi ke objek yang diedit sebelumnya dalam riwayat."
+
+msgid "Go to next edited object in history."
+msgstr "Pergi ke objek yang diedit berikutnya dalam riwayat."
+
msgid "History of recently edited objects."
msgstr "Histori dari objek terdireksi baru-baru saja."
msgid "Open documentation for this object."
msgstr "Buka Dokumentasi objek ini."
+msgid "Filter Properties"
+msgstr "Filter Properti"
+
msgid "Manage object properties."
msgstr "Atur properti objek."
+msgid "This cannot be undone. Are you sure?"
+msgstr "Hal ini tidak dapat dibatalkan. Apa kau yakin?"
+
+msgid "Add %d Translations"
+msgstr "Tambahkan %d Terjemahan"
+
msgid "Remove Translation"
msgstr "Hapus Terjemahan"
+msgid "Translation Resource Remap: Add %d Path(s)"
+msgstr "Remap Sumber Daya Terjemahan: Tambahkan %d Path"
+
+msgid "Translation Resource Remap: Add %d Remap(s)"
+msgstr "Remap Sumber Daya Penerjemahan: Tambahkan %d Remap"
+
msgid "Change Resource Remap Language"
msgstr "Ubah Bahasa Resource Remap"
@@ -3261,6 +5557,18 @@ msgstr "Hapus Resource Remap"
msgid "Remove Resource Remap Option"
msgstr "Hapus Opsi Resource Remap"
+msgid "Add %d file(s) for POT generation"
+msgstr "Tambahkan file %d untuk pembuatan POT"
+
+msgid "Remove file from POT generation"
+msgstr "Hapus file dari pembuatan POT"
+
+msgid "Removed"
+msgstr "Dihapus"
+
+msgid "%s cannot be found."
+msgstr "%s tidak dapat ditemukan."
+
msgid "Translations"
msgstr "Terjemahan"
@@ -3279,9 +5587,36 @@ msgstr "Pemetaan ulang berdasar Pelokalan:"
msgid "Locale"
msgstr "Lokal"
+msgid "POT Generation"
+msgstr "Pembuatan POT"
+
+msgid "Files with translation strings:"
+msgstr "File dengan string terjemahan:"
+
+msgid "Generate POT"
+msgstr "Hasilkan POT"
+
+msgid "Set %s on %d nodes"
+msgstr "Tetapkan%s pada%d node"
+
+msgid "%s (%d Selected)"
+msgstr "%s (%d Dipilih)"
+
msgid "Select a single node to edit its signals and groups."
msgstr "Pilih sebuah node untuk menyunting sinyal dan grup."
+msgid "Plugin name cannot be blank."
+msgstr "Nama plugin tidak boleh kosong."
+
+msgid "Script extension must match chosen language extension (.%s)."
+msgstr "Ekstensi skrip harus sesuai dengan ekstensi bahasa yang dipilih (.%s)."
+
+msgid "Subfolder name is not a valid folder name."
+msgstr "Nama subfolder bukan nama folder yang valid."
+
+msgid "Subfolder cannot be one which already exists."
+msgstr "Subfolder tidak boleh merupakan subfolder yang sudah ada."
+
msgid "Edit a Plugin"
msgstr "Sunting Plugin"
@@ -3351,9 +5686,16 @@ msgstr "Muat..."
msgid "Move Node Point"
msgstr "Pindahkan Titik Node"
+msgid "Change BlendSpace1D Config"
+msgstr "Ubah Konfigurasi BlendSpace1D"
+
msgid "Change BlendSpace1D Labels"
msgstr "Ubah Label BlendSpace1D"
+msgid "This type of node can't be used. Only animation nodes are allowed."
+msgstr ""
+"Jenis node ini tidak dapat digunakan. Hanya node animasi yang diperbolehkan."
+
msgid "This type of node can't be used. Only root nodes are allowed."
msgstr "Node tipe ini tidak dapat digunakan. Hanya node utama yang diijinkan."
@@ -3386,6 +5728,9 @@ msgstr "Pilih dan gerakkan titik-titik, buat titik dengan RMB."
msgid "Enable snap and show grid."
msgstr "Izinkan snap dan tampilkan garis-garis kotak."
+msgid "Sync:"
+msgstr "Sinkronisasi:"
+
msgid "Blend:"
msgstr "Campur:"
@@ -3404,6 +5749,9 @@ msgstr "Segitiga sudah ada."
msgid "Add Triangle"
msgstr "Tambah Segitiga"
+msgid "Change BlendSpace2D Config"
+msgstr "Ubah Konfigurasi BlendSpace2D"
+
msgid "Change BlendSpace2D Labels"
msgstr "Ubah Label BlendSpace2D"
@@ -3434,6 +5782,9 @@ msgstr "Buat segi tiga pembauran secara otomatis (sebagai ganti cara manual)"
msgid "Parameter Changed:"
msgstr "Parameter Berubah:"
+msgid "Inspect Filters"
+msgstr "Periksa Filter"
+
msgid "Output node can't be added to the blend tree."
msgstr "Node keluaran tidak bisa ditambahkan ke pohon campur."
@@ -3492,6 +5843,9 @@ msgstr "Klip Audio"
msgid "Functions"
msgstr "Fungsi"
+msgid "Inspect Filtered Tracks:"
+msgstr "Periksa Trek yang Difilter:"
+
msgid "Edit Filtered Tracks:"
msgstr "Sunting Trek yang Difilter:"
@@ -3504,18 +5858,180 @@ msgstr "Tambah Node..."
msgid "Enable Filtering"
msgstr "Aktifkan Penyaringan"
+msgid "Library Name:"
+msgstr "Nama Library:"
+
+msgid "Animation name can't be empty."
+msgstr "Nama animasi tidak boleh kosong."
+
+msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
+msgstr ""
+"Nama animasi mengandung karakter yang tidak valid: '/', ':', ',', atau '['."
+
+msgid "Animation with the same name already exists."
+msgstr "Animasi dengan nama yang sama sudah ada."
+
+msgid "Enter a library name."
+msgstr "Masukkan nama library."
+
+msgid "Library name contains invalid characters: '/', ':', ',' or '['."
+msgstr ""
+"Nama library mengandung karakter yang tidak valid: '/', ':', ',', atau '['."
+
+msgid "Library with the same name already exists."
+msgstr "Library dengan nama yang sama sudah ada."
+
+msgid "Animation name is valid."
+msgstr "Nama animasi valid."
+
+msgid "Global library will be created."
+msgstr "Perpustakaan global akan dibuat."
+
+msgid "Library name is valid."
+msgstr "Nama library valid."
+
+msgid "Add Animation to Library: %s"
+msgstr "Tambahkan Animasi ke Library: %s"
+
+msgid "Add Animation Library: %s"
+msgstr "Tambahkan Library Animasi: %s"
+
msgid "Load Animation"
msgstr "Muat Animasi"
+msgid ""
+"This animation library can't be saved because it does not belong to the "
+"edited scene. Make it unique first."
+msgstr ""
+"Library animasi ini tidak dapat disimpan karena tidak termasuk dalam adegan "
+"yang diedit. Buatlah unik terlebih dahulu."
+
+msgid ""
+"This animation library can't be saved because it was imported from another "
+"file. Make it unique first."
+msgstr ""
+"Library animasi ini tidak dapat disimpan karena diimpor dari file lain. "
+"Buatlah unik terlebih dahulu."
+
+msgid "Save Library"
+msgstr "Simpan Library"
+
+msgid "Make Animation Library Unique: %s"
+msgstr "Buat Library Animasi Unik: %s"
+
+msgid ""
+"This animation can't be saved because it does not belong to the edited "
+"scene. Make it unique first."
+msgstr ""
+"Animasi ini tidak dapat disimpan karena tidak termasuk dalam adegan yang "
+"diedit. Buatlah unik terlebih dahulu."
+
+msgid ""
+"This animation can't be saved because it was imported from another file. "
+"Make it unique first."
+msgstr ""
+"Animasi ini tidak dapat disimpan karena diimpor dari file lain. Buat itu "
+"unik terlebih dahulu."
+
+msgid "Save Animation"
+msgstr "Simpan Animasi"
+
+msgid "Make Animation Unique: %s"
+msgstr "Buat Animasi Unik: %s"
+
+msgid "Invalid AnimationLibrary file."
+msgstr "File AnimationLibrary tidak valid."
+
+msgid "This library is already added to the player."
+msgstr "Library ini sudah ditambahkan ke player."
+
+msgid "Invalid Animation file."
+msgstr "File Animasi tidak valid."
+
+msgid "This animation is already added to the library."
+msgstr "Animasi ini sudah ditambahkan ke perpustakaan."
+
+msgid "Load Animation into Library: %s"
+msgstr "Muat Animasi ke Perpustakaan: %s"
+
+msgid "Save Animation library to File: %s"
+msgstr "Simpan Library Animasi ke File: %s"
+
+msgid "Save Animation to File: %s"
+msgstr "Simpan Animasi ke File: %s"
+
+msgid "Rename Animation Library: %s"
+msgstr "Ganti nama Library Animasi: %s"
+
+msgid "[Global]"
+msgstr "[Global]"
+
+msgid "Rename Animation: %s"
+msgstr "Ubah Nama Animasi: %s"
+
msgid "Animation Name:"
msgstr "Nama Animasi:"
+msgid "No animation resource in clipboard!"
+msgstr "Tidak ada aset animasi di papan klip!"
+
msgid "Pasted Animation"
msgstr "Animasi yang Direkatkan"
msgid "Open in Inspector"
msgstr "Buka dalam Inspektur"
+msgid "Remove Animation Library: %s"
+msgstr "Hapus Library Animasi: %s"
+
+msgid "Remove Animation from Library: %s"
+msgstr "Hapus Animasi dari Library: %s"
+
+msgid "[built-in]"
+msgstr "[bawaan]"
+
+msgid "[foreign]"
+msgstr "[asing]"
+
+msgid "[imported]"
+msgstr "[diimpor]"
+
+msgid "Add Animation to Library"
+msgstr "Tambahkan Animasi ke Library"
+
+msgid "Load animation from file and add to library"
+msgstr "Muat animasi dari file dan tambahkan ke library"
+
+msgid "Paste Animation to Library from clipboard"
+msgstr "Tempelkan Animasi ke Library dari papan klip"
+
+msgid "Save animation library to resource on disk"
+msgstr "Simpan library animasi ke sumber daya di disk"
+
+msgid "Remove animation library"
+msgstr "Hapus library animasi"
+
+msgid "Copy animation to clipboard"
+msgstr "Salin animasi ke clipboard"
+
+msgid "Save animation to resource on disk"
+msgstr "Simpan animasi ke sumber daya pada disk"
+
+msgid "Remove animation from Library"
+msgstr "Hapus animasi dari Library"
+
+msgid "Edit Animation Libraries"
+msgstr "Edit Library Animasi"
+
+msgid "Add Library"
+msgstr "Tambahkan Library"
+
+msgid "Load Library"
+msgstr "Muat Library"
+
+msgid "Storage"
+msgstr "Penyimpanan"
+
msgid "Toggle Autoplay"
msgstr "Jungkitkan Putar Otomatis"
@@ -3531,12 +6047,18 @@ msgstr "Ubah Nama Animasi"
msgid "Change Animation Name:"
msgstr "Ubah Nama Animasi:"
+msgid "Delete Animation '%s'?"
+msgstr "Hapus Animasi '%s'?"
+
msgid "Remove Animation"
msgstr "Hapus Animasi"
msgid "Invalid animation name!"
msgstr "Nama animasi tidak valid!"
+msgid "Animation '%s' already exists!"
+msgstr "Animasi '%s' sudah ada!"
+
msgid "Duplicate Animation"
msgstr "Gandakan Animasi"
@@ -3546,12 +6068,21 @@ msgstr "Baur Pergantian Selanjutnya"
msgid "Change Blend Time"
msgstr "Ubah Waktu Blend"
+msgid "[Global] (create)"
+msgstr "[Global] (buat)"
+
+msgid "Duplicated Animation Name:"
+msgstr "Nama Animasi Duplikat:"
+
msgid "Play selected animation backwards from current pos. (A)"
msgstr "Mainkan mundur animasi terpilih dari lokasi sekarang. (A)"
msgid "Play selected animation backwards from end. (Shift+A)"
msgstr "Mainkan mundur animasi terpilih dari akhir. (Shift+A)"
+msgid "Pause/stop animation playback. (S)"
+msgstr "Menjeda/menghentikan pemutaran animasi. (S)"
+
msgid "Play selected animation from start. (Shift+D)"
msgstr "Mainkan animasi terpilih dari awal. (Shift+D)"
@@ -3570,6 +6101,9 @@ msgstr "Perkakas Animasi"
msgid "Animation"
msgstr "Animasi"
+msgid "Manage Animations..."
+msgstr "Mengelola Animasi..."
+
msgid "Edit Transitions..."
msgstr "Sunting Transisi..."
@@ -3615,6 +6149,9 @@ msgstr "Paksa Modulasi Putih"
msgid "Include Gizmos (3D)"
msgstr "Masukkan Gizmo (3D)"
+msgid "Onion Skinning temporarily disabled due to rendering bug."
+msgstr "Onion Skinning dinonaktifkan sementara karena bug rendering."
+
msgid "Pin AnimationPlayer"
msgstr "Sematkan AnimationPlayer"
@@ -3636,6 +6173,12 @@ msgstr "Pindahkan Node"
msgid "Transition exists!"
msgstr "Transisi sudah ada!"
+msgid "To"
+msgstr "Ke"
+
+msgid "Add Node and Transition"
+msgstr "Tambahkan Node dan Transisi"
+
msgid "Add Transition"
msgstr "Tambah Transisi"
@@ -3663,21 +6206,50 @@ msgstr "Node Dihapus"
msgid "Transition Removed"
msgstr "Transisi Dihapus"
+msgid ""
+"Select and move nodes.\n"
+"RMB: Add node at position clicked.\n"
+"Shift+LMB+Drag: Connects the selected node with another node or creates a "
+"new node if you select an area without nodes."
+msgstr ""
+"Memilih dan memindahkan node.\n"
+"RMB: Menambahkan simpul pada posisi yang diklik.\n"
+"Shift+LMB+Seret: Menghubungkan node yang dipilih dengan node lain atau "
+"membuat node baru jika Anda memilih area tanpa node."
+
msgid "Create new nodes."
msgstr "Buat node baru."
msgid "Connect nodes."
msgstr "Hubungkan node."
+msgid "Group Selected Node(s)"
+msgstr "Kelompokkan Node yang Dipilih"
+
+msgid "Ungroup Selected Node"
+msgstr "Pisahkan Grup Node yang Dipilih"
+
msgid "Remove selected node or transition."
msgstr "Hapus node atau transisi terpilih."
+msgid "Transition:"
+msgstr "Transisi:"
+
+msgid "New Transitions Should Auto Advance"
+msgstr "Transisi Baru Harus Auto Advance"
+
msgid "Play Mode:"
msgstr "Mode Putar:"
msgid "Delete Selected"
msgstr "Hapus yang Dipilih"
+msgid "Delete All"
+msgstr "Hapus Semua"
+
+msgid "Root"
+msgstr "Root"
+
msgid "AnimationTree"
msgstr "AnimationTree(Daftar animasi)"
@@ -3750,6 +6322,9 @@ msgstr "Gagal mengecek hash SHA-256"
msgid "Asset Download Error:"
msgstr "Kesalahan Saat Mengunduh Aset:"
+msgid "Ready to install!"
+msgstr "Siap dipasang!"
+
msgid "Downloading (%s / %s)..."
msgstr "Mengunduh (%s / %s)..."
@@ -3801,9 +6376,43 @@ msgstr "Menguji"
msgid "Loading..."
msgstr "Sedang memuat…"
+msgctxt "Pagination"
+msgid "First"
+msgstr "Pertama"
+
+msgctxt "Pagination"
+msgid "Previous"
+msgstr "Sebelum"
+
+msgctxt "Pagination"
+msgid "Next"
+msgstr "Berikutnya"
+
+msgctxt "Pagination"
+msgid "Last"
+msgstr "Terakhir"
+
msgid "All"
msgstr "Semua"
+msgid "No results for \"%s\" for support level(s): %s."
+msgstr "Tidak ada hasil untuk \"%s\" untuk support level: %s."
+
+msgid ""
+"No results compatible with %s %s for support level(s): %s.\n"
+"Check the enabled support levels using the 'Support' button in the top-right "
+"corner."
+msgstr ""
+"Tidak ada hasil yang sesuai dengan %s %s untuk level support: %s.\n"
+"Periksa level support yang diaktifkan dengan menggunakan tombol 'Support' di "
+"pojok kanan atas."
+
+msgid "Search Templates, Projects, and Demos"
+msgstr "Cari Templat, Proyek, dan Demo"
+
+msgid "Search Assets (Excluding Templates, Projects, and Demos)"
+msgstr "Cari Aset (Tidak Termasuk Templat, Proyek, dan Demo)"
+
msgid "Import..."
msgstr "Impor…"
@@ -3822,12 +6431,21 @@ msgstr "Situs:"
msgid "Support"
msgstr "Dukungan"
+msgid "Failed to get repository configuration."
+msgstr "Gagal mendapatkan konfigurasi repositori."
+
msgid "Assets ZIP File"
msgstr "Berkas Aset ZIP"
msgid "Audio Preview Play/Pause"
msgstr "Putar/Jeda Pratinjau Audio"
+msgid "Bone Picker:"
+msgstr "Bone Picker:"
+
+msgid "Clear mappings in current group."
+msgstr "Hapus pemetaan di grup saat ini."
+
msgid "Preview"
msgstr "Pratinjau"
@@ -3855,6 +6473,9 @@ msgstr "Jangkah Perputaran:"
msgid "Scale Step:"
msgstr "Langkah Skala:"
+msgid "Move Node(s) to Position"
+msgstr "Pindahkan Node ke Posisi"
+
msgid "Move Vertical Guide"
msgstr "Pindahkan Panduan Vertikal"
@@ -3915,6 +6536,30 @@ msgstr "Terkelompok"
msgid "Add Node Here"
msgstr "Tambahkan Node Di sini"
+msgid "Instantiate Scene Here"
+msgstr "Buat Adegan di Sini"
+
+msgid "Paste Node(s) Here"
+msgstr "Tempel Node di Sini"
+
+msgid "Move Node(s) Here"
+msgstr "Pindahkan Node ke Sini"
+
+msgid "px"
+msgstr "px"
+
+msgid "units"
+msgstr "unit"
+
+msgid "Moving:"
+msgstr "Memindahkan:"
+
+msgid "Rotating:"
+msgstr "Memutar:"
+
+msgid "Scaling:"
+msgstr "Penskalaan:"
+
msgid ""
"Project Camera Override\n"
"Overrides the running project's camera with the editor viewport camera."
@@ -3949,6 +6594,9 @@ msgstr "Tempel Pose"
msgid "Clear Guides"
msgstr "Bersihkan Panduan"
+msgid "Create Custom Bone2D(s) from Node(s)"
+msgstr "Membuat Bone2D khusus dari Node"
+
msgid "Zoom to 3.125%"
msgstr "Perbesar 3.125%"
@@ -3988,6 +6636,9 @@ msgstr "Seret: Putar node terpilih sekitar pivot."
msgid "Alt+Drag: Move selected node."
msgstr "Alt+Seret: Pindahkan node terpilih."
+msgid "Alt+Drag: Scale selected node."
+msgstr "Alt+Seret: Menskala simpul yang dipilih."
+
msgid "V: Set selected node's pivot position."
msgstr "V: Atur posisi pivot node terpilih."
@@ -4011,12 +6662,21 @@ msgstr "Mode Skala"
msgid "Shift: Scale proportionally."
msgstr "Shift: Skala proporsional."
+msgid "Show list of selectable nodes at position clicked."
+msgstr "Tampilkan daftar node yang dapat dipilih pada posisi yang diklik."
+
msgid "Click to change object's rotation pivot."
msgstr "Klik untuk mengubah pivot perputaran objek."
msgid "Pan Mode"
msgstr "Mode Geser Pandangan"
+msgid ""
+"You can also use Pan View shortcut (Space by default) to pan in any mode."
+msgstr ""
+"Anda juga dapat menggunakan pintasan Pan View (Spasi secara default) untuk "
+"menggeser dalam mode apa pun."
+
msgid "Ruler Mode"
msgstr "Mode Penggaris"
@@ -4071,18 +6731,51 @@ msgstr "Kancing ke Node Lain"
msgid "Snap to Guides"
msgstr "Kancing ke Panduan"
+msgid "Lock selected node, preventing selection and movement."
+msgstr "Mengunci simpul yang dipilih, mencegah pemilihan dan pergerakan."
+
+msgid "Lock Selected Node(s)"
+msgstr "Mengunci Node yang Dipilih"
+
+msgid "Unlock selected node, allowing selection and movement."
+msgstr "Buka kunci node yang dipilih, memungkinkan pemilihan dan pergerakan."
+
+msgid "Unlock Selected Node(s)"
+msgstr "Buka Kunci Node Terpilih"
+
+msgid "Make selected node's children not selectable."
+msgstr "Membuat turunan node yang dipilih tidak dapat dipilih."
+
+msgid "Make selected node's children selectable."
+msgstr "Membuat turunan node yang dipilih dapat dipilih."
+
+msgid "Ungroup Selected Node(s)"
+msgstr "Pisahkan Node yang Dipilih dari Grup"
+
msgid "Skeleton Options"
msgstr "Opsi Pertulangan"
msgid "Show Bones"
msgstr "Tampilkan Tulang-tulang"
+msgid "Make Bone2D Node(s) from Node(s)"
+msgstr "Buat Node Bone2D dari Node"
+
msgid "View"
msgstr "Pandangan"
+msgid "Show"
+msgstr "Tampilkan"
+
+msgid "Show When Snapping"
+msgstr "Tampilkan Saat Menjepret"
+
msgid "Hide"
msgstr "Sembunyikan"
+msgid "Toggle Grid"
+msgstr "Alihkan Kisi"
+
msgid "Grid"
msgstr "Kisi"
@@ -4104,6 +6797,9 @@ msgstr "Tampilkan Viewport"
msgid "Show Group And Lock Icons"
msgstr "Tampilkan Ikon Kunci Dan Grup"
+msgid "Show Transformation Gizmos"
+msgstr "Tampilkan Gizmos Transformasi"
+
msgid "Center Selection"
msgstr "Seleksi Tengah"
@@ -4161,21 +6857,91 @@ msgstr "Bagi langkah kisi demi 2"
msgid "Adding %s..."
msgstr "Menambahkan %s..."
+msgid "Drag and drop to add as child of current scene's root node."
+msgstr ""
+"Seret dan turun untuk menambahkan sebagai turunan dari node akar adegan saat "
+"ini."
+
+msgid "Hold Ctrl when dropping to add as child of selected node."
+msgstr ""
+"Tahan Ctrl saat menjatuhkan untuk menambahkan sebagai turunan dari node yang "
+"dipilih."
+
+msgid "Hold Shift when dropping to add as sibling of selected node."
+msgstr ""
+"Tahan Shift saat menjatuhkan untuk menambahkan sebagai saudara dari node "
+"yang dipilih."
+
+msgid "Hold Alt when dropping to add as a different node type."
+msgstr "Tahan Alt saat menjatuhkan untuk menambahkan jenis node yang berbeda."
+
msgid "Cannot instantiate multiple nodes without root."
msgstr "Tidak dapat menginstansiasi beberapa node tanpa root."
msgid "Create Node"
msgstr "Buat Node"
+msgid "Error instantiating scene from %s"
+msgstr "Kesalahan menginstansiasi adegan dari %s"
+
msgid "Change Default Type"
msgstr "Ubah Tipe Baku"
+msgid "Set Target Position"
+msgstr "Tetapkan Posisi Target"
+
msgid "Set Handle"
msgstr "Atur Pegangan"
+msgid "This node doesn't have a control parent."
+msgstr "Node ini tidak memiliki induk kontrol."
+
+msgid ""
+"Use the appropriate layout properties depending on where you are going to "
+"put it."
+msgstr ""
+"Gunakan properti tata letak yang sesuai, tergantung di mana Anda akan "
+"meletakkannya."
+
+msgid "This node is a child of a container."
+msgstr "Node ini adalah turunan dari sebuah kontainer."
+
+msgid "Use container properties for positioning."
+msgstr "Gunakan properti kontainer untuk pemosisian."
+
+msgid "This node is a child of a regular control."
+msgstr "Node ini adalah turunan dari kontrol biasa."
+
+msgid "Use anchors and the rectangle for positioning."
+msgstr "Gunakan jangkar dan persegi panjang untuk posisi."
+
+msgid "Collapse positioning hint."
+msgstr "Ciutkan petunjuk pemosisian."
+
+msgid "Expand positioning hint."
+msgstr "Perluas petunjuk pemosisian."
+
+msgid "Container Default"
+msgstr "Kontainer Default"
+
msgid "Fill"
msgstr "Isi"
+msgid "Shrink Begin"
+msgstr "Menyusut Mulai"
+
+msgid "Shrink Center"
+msgstr "Menyusut Terpusat"
+
+msgid "Shrink End"
+msgstr "Ujung Penyusutan"
+
+msgid "Custom"
+msgstr "Kustom"
+
+msgid "Expand"
+msgstr "Memperluas"
+
msgid "Top Left"
msgstr "Kiri Atas"
@@ -4224,9 +6990,65 @@ msgstr "Kanan Lebar"
msgid "Full Rect"
msgstr "Kotak Penuh"
+msgid ""
+"Enable to also set the Expand flag.\n"
+"Disable to only set Shrink/Fill flags."
+msgstr ""
+"Aktifkan untuk juga mengatur bendera Perluas.\n"
+"Nonaktifkan untuk hanya mengatur bendera Kecilkan/Isi."
+
+msgid "Some parents of the selected nodes do not support the Expand flag."
+msgstr "Beberapa induk dari node yang dipilih tidak mendukung bendera Perluas."
+
+msgid "Align with Expand"
+msgstr "Sejajarkan dengan Perluas"
+
+msgid "Change Anchors, Offsets, Grow Direction"
+msgstr "Ubah Jangkar, Offset, Arah Tumbuh"
+
+msgid "Change Anchors, Offsets (Keep Ratio)"
+msgstr "Ubah Jangkar, Offset (Pertahankan Rasio)"
+
+msgid "Change Vertical Size Flags"
+msgstr "Ubah Bendera Ukuran Vertikal"
+
+msgid "Change Horizontal Size Flags"
+msgstr "Mengubah Bendera Ukuran Horizontal"
+
+msgid "Presets for the anchor and offset values of a Control node."
+msgstr "Prasetel untuk nilai jangkar dan offset node Kontrol."
+
+msgid "Anchor preset"
+msgstr "Prasetel jangkar"
+
+msgid "Set to Current Ratio"
+msgstr "Atur ke Rasio Saat Ini"
+
+msgid "Adjust anchors and offsets to match the current rect size."
+msgstr "Sesuaikan jangkar dan offset agar sesuai dengan ukuran kotak saat ini."
+
+msgid ""
+"When active, moving Control nodes changes their anchors instead of their "
+"offsets."
+msgstr ""
+"Ketika aktif, memindahkan Control node akan mengubah jangkarnya, bukan "
+"offsetnya."
+
+msgid "Sizing settings for children of a Container node."
+msgstr "Pengaturan ukuran untuk turunan node Kontainer."
+
+msgid "Horizontal alignment"
+msgstr "Penjajaran horizontal"
+
+msgid "Vertical alignment"
+msgstr "Penjajaran vertikal"
+
msgid "Load Emission Mask"
msgstr "Muat Masker Emisi"
+msgid "CPUParticles2D"
+msgstr "CPUParticles2D"
+
msgid "Generated Point Count:"
msgstr "Jumlah Titik yang Dihasilkan:"
@@ -4248,6 +7070,9 @@ msgstr "Tangkap dari Piksel"
msgid "Emission Colors"
msgstr "Warna Emisi"
+msgid "CPUParticles3D"
+msgstr "CPUParticles3D"
+
msgid "Create Emission Points From Node"
msgstr "Buat Titik Emisi dari Node"
@@ -4351,6 +7176,16 @@ msgstr ""
"Collision shapes dan raycast nodes (untuk 2D dan 3D) akan terlihat pada saat "
"proyek berjalan jika opsi ini aktif."
+msgid "Visible Paths"
+msgstr "Path yang Terlihat"
+
+msgid ""
+"When this option is enabled, curve resources used by path nodes will be "
+"visible in the running project."
+msgstr ""
+"Ketika opsi ini diaktifkan, sumber daya kurva yang digunakan oleh node path "
+"akan terlihat pada proyek yang sedang berjalan."
+
msgid "Visible Navigation"
msgstr "Navigasi Terlihat"
@@ -4388,15 +7223,70 @@ msgstr ""
"Ketika penggunaan remote pada sebuah perangakat, akan lebih efisien dengan "
"opsi jaringan berkas-berkas."
+msgid "Keep Debug Server Open"
+msgstr "Biarkan Server Debug Tetap Terbuka"
+
+msgid ""
+"When this option is enabled, the editor debug server will stay open and "
+"listen for new sessions started outside of the editor itself."
+msgstr ""
+"Ketika opsi ini diaktifkan, server debug editor akan tetap terbuka dan "
+"mendengarkan sesi baru yang dimulai di luar editor itu sendiri."
+
+msgid "Run Multiple Instances"
+msgstr "Jalankan Beberapa Instance"
+
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Jalankan %d Instance"
+
+msgid "Overrides (%d)"
+msgstr "Menimpa (%d)"
+
+msgctxt "Locale"
+msgid "Add Script"
+msgstr "Tambahkan Skrip"
+
+msgid "Add Locale"
+msgstr "Tambahkan Lokal"
+
+msgid "Variation Coordinates (%d)"
+msgstr "Koordinat Variasi (%d)"
+
+msgid "No supported features"
+msgstr "Tidak ada fitur yang didukung"
+
+msgid "Features (%d of %d set)"
+msgstr "Fitur (%d dari %d set)"
+
+msgid "Add Feature"
+msgstr "Tambahkan Fitur"
+
+msgid " - Variation"
+msgstr " - Variasi"
+
+msgid "Unable to preview font"
+msgstr "Tidak dapat melihat pratinjau font"
+
msgid "Convert to CPUParticles2D"
msgstr "Konversikan menjadi CPUParticles2D"
+msgid "Generating Visibility Rect (Waiting for Particle Simulation)"
+msgstr "Menghasilkan Visibility Kotak (Menunggu Simulasi Partikel)"
+
msgid "Generate Visibility Rect"
msgstr "Buatkan Kotak Penampakan"
+msgid "Can only set point into a ParticleProcessMaterial process material"
+msgstr ""
+"Hanya dapat mengatur titik ke dalam material proses ParticleProcessMaterial"
+
msgid "Clear Emission Mask"
msgstr "Hapus Masker Emisi"
+msgid "GPUParticles2D"
+msgstr "GPUPartikel2D"
+
msgid "Generation Time (sec):"
msgstr "Waktu Pembuatan (detik):"
@@ -4406,6 +7296,9 @@ msgstr "Bidang geometri tidak mengandung area apapun."
msgid "The geometry doesn't contain any faces."
msgstr "Geometri tidak mengandung bidang apapun."
+msgid "\"%s\" doesn't inherit from Node3D."
+msgstr "\"%s\" tidak diwariskan dari Node3D."
+
msgid "\"%s\" doesn't contain geometry."
msgstr "\"%s\" tidak mengandung geometri."
@@ -4427,12 +7320,78 @@ msgstr "Titik+Normal Permukaan (Diarahkan)"
msgid "Volume"
msgstr "Volume"
+msgid "Emission Source:"
+msgstr "Sumber Emisi:"
+
+msgid "A processor material of type 'ParticleProcessMaterial' is required."
+msgstr "Pemroses material atau jenis 'ParticleProcessMaterial' dibutuhkan."
+
+msgid "Convert to CPUParticles3D"
+msgstr "Konversikan menjadi CPUParticles3D"
+
+msgid "Generating Visibility AABB (Waiting for Particle Simulation)"
+msgstr "Menghasilkan Visibilitas AABB (Menunggu Simulasi Partikel)"
+
msgid "Generate Visibility AABB"
msgstr "Buat Penampakan AABB"
+msgid "GPUParticles3D"
+msgstr "GPUParticles3D"
+
+msgid "Generate AABB"
+msgstr "Buat AABB"
+
+msgid "Low"
+msgstr "Rendah"
+
+msgid "Moderate"
+msgstr "Sedang"
+
+msgid "High"
+msgstr "Tinggi"
+
+msgid "Subdivisions: %s"
+msgstr "Subdivisi: %s"
+
+msgid "Cell size: %s"
+msgstr "Ukuran sel: %s"
+
+msgid "Video RAM size: %s MB (%s)"
+msgstr "Ukuran RAM video: %s MB (%s)"
+
+msgid "Bake SDF"
+msgstr "Bake SDF"
+
+msgid ""
+"No faces detected during GPUParticlesCollisionSDF3D bake.\n"
+"Check whether there are visible meshes matching the bake mask within its "
+"extents."
+msgstr ""
+"Tidak ada wajah yang terdeteksi selama bake GPUParticlesCollisionSDF3D.\n"
+"Periksa apakah ada mesh yang terlihat cocok dengan mask bake dalam "
+"jangkauannya."
+
+msgid "Select path for SDF Texture"
+msgstr "Pilih path untuk Tekstur SDF"
+
msgid "Gradient Edited"
msgstr "Gradasi Disunting"
+msgid "Reverse/mirror gradient."
+msgstr "Gradien terbalik/mirror."
+
+msgid "Swap GradientTexture2D Fill Points"
+msgstr "Tukar Titik Isi GradientTexture2D"
+
+msgid "Swap Gradient Fill Points"
+msgstr "Tukar Titik Isi Gradien"
+
+msgid "Toggle Grid Snap"
+msgstr "Alihkan Snap Kisi"
+
+msgid "Configure"
+msgstr "Konfigurasi"
+
msgid "Create Occluder Polygon"
msgstr "Buat Poligon Occluder"
@@ -4443,12 +7402,28 @@ msgstr ""
"Tidak dapat menentukan lokasi penyimpanan untuk gambar lightmap.\n"
"Simpan skena Anda dan coba lagi."
+msgid ""
+"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake "
+"Light' flag is on."
+msgstr ""
+"Tidak ada mesh untuk bake. Pastikan mereka memiliki saluran UV2 dan bendera "
+"'Cahaya Bake' menyala."
+
msgid "Failed creating lightmap images, make sure path is writable."
msgstr "Gagal membuat gambar lightmap, pastikan path dapat ditulis."
+msgid "No editor scene root found."
+msgstr "Tidak ditemukan root adegan editor."
+
+msgid "Lightmap data is not local to the scene."
+msgstr "Data Lightmap tidak bersifat lokal pada lokasi adegan."
+
msgid "Bake Lightmaps"
msgstr "Panggang Lightmaps"
+msgid "LightMap Bake"
+msgstr "Bake LightMap"
+
msgid "Select lightmap bake file:"
msgstr "Pilih berkas lightmap bake:"
@@ -4491,18 +7466,57 @@ msgstr "Buat Beberapa Bentuk Cembung"
msgid "Create Navigation Mesh"
msgstr "Buat Mesh Navigasi"
+msgid "Create Debug Tangents"
+msgstr "Membuat Garis Singgung Debug"
+
msgid "Contained Mesh is not of type ArrayMesh."
msgstr "Mesh yang terkandung bukan bertipe ArrayMesh."
+msgid ""
+"Mesh cannot unwrap UVs because it does not belong to the edited scene. Make "
+"it unique first."
+msgstr ""
+"Mesh tidak dapat membuka UV karena bukan bagian dari adegan yang diedit. "
+"Buatlah unik terlebih dahulu."
+
+msgid ""
+"Mesh cannot unwrap UVs because it belongs to another resource which was "
+"imported from another file type. Make it unique first."
+msgstr ""
+"Mesh tidak dapat membuka UV karena itu milik sumber daya lain yang diimpor "
+"dari jenis file lain. Buatlah unik terlebih dahulu."
+
+msgid ""
+"Mesh cannot unwrap UVs because it was imported from another file type. Make "
+"it unique first."
+msgstr ""
+"Mesh tidak dapat membuka UV karena diimpor dari jenis file lain. Buatlah "
+"unik terlebih dahulu."
+
msgid "UV Unwrap failed, mesh may not be manifold?"
msgstr "UV Unwrap gagal, mesh mungkin tidak bermacam-macam?"
+msgid "Unwrap UV2"
+msgstr "Buka UV2"
+
msgid "No mesh to debug."
msgstr "Tidak ada mesh untuk diawakutu."
msgid "Mesh has no UV in layer %d."
msgstr "Mesh tidak memiliki UV di layer %d."
+msgid "MeshInstance3D lacks a Mesh."
+msgstr "MeshInstance3D tidak memiliki Mesh!"
+
+msgid "Mesh has no surface to create outlines from."
+msgstr "Mesh tidak memiliki permukaan untuk membuat garis luar."
+
+msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES."
+msgstr "Jenis Mesh primitif bukan PRIMITIVE_TRIANGLES."
+
+msgid "Could not create outline."
+msgstr "Tidak dapat membuat garis besar."
+
msgid "Create Outline"
msgstr "Buat Garis Tepi"
@@ -4512,6 +7526,16 @@ msgstr "Jala"
msgid "Create Trimesh Static Body"
msgstr "Buat Tubuh Statis Trimesh"
+msgid ""
+"Creates a StaticBody3D and assigns a polygon-based collision shape to it "
+"automatically.\n"
+"This is the most accurate (but slowest) option for collision detection."
+msgstr ""
+"Membuat StaticBody3D dan menetapkan bentuk tumbukan berbasis poligon secara "
+"otomatis.\n"
+"Ini adalah opsi yang paling akurat (tetapi paling lambat) untuk pendeteksian "
+"tumbukan."
+
msgid "Create Trimesh Collision Sibling"
msgstr "Buat Trimesh Collision Sibling"
@@ -4561,6 +7585,17 @@ msgstr ""
msgid "Create Outline Mesh..."
msgstr "Buat Garis Mesh..."
+msgid ""
+"Creates a static outline mesh. The outline mesh will have its normals "
+"flipped automatically.\n"
+"This can be used instead of the StandardMaterial Grow property when using "
+"that property isn't possible."
+msgstr ""
+"Membuat mesh outline statis. Outline mesh akan memiliki normal yang dibalik "
+"secara otomatis.\n"
+"Ini dapat digunakan sebagai pengganti properti StandardMaterial Grow ketika "
+"menggunakan properti tersebut tidak memungkinkan."
+
msgid "View UV1"
msgstr "Tampilkan UV1"
@@ -4589,6 +7624,9 @@ msgstr ""
"Perbarui dari skena yang ada?:\n"
"%s"
+msgid "MeshLibrary"
+msgstr "MeshLibrary"
+
msgid "Add Item"
msgstr "Tambah Item"
@@ -4604,6 +7642,12 @@ msgstr "Impor dari Skenario (Aplikasikan Transforms)"
msgid "Update from Scene"
msgstr "Perbarui dari Skena"
+msgid "Apply without Transforms"
+msgstr "Terapkan tanpa Transformasi"
+
+msgid "Apply with Transforms"
+msgstr "Terapkan dengan Transformasi"
+
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
"Tidak ada sumber mesh yang ditentukan (dan tidak ada MultiMesh yang diatur "
@@ -4616,6 +7660,9 @@ msgstr ""
msgid "Mesh source is invalid (invalid path)."
msgstr "Sumber mesh tidak valid (salah lokasi)."
+msgid "Mesh source is invalid (not a MeshInstance3D)."
+msgstr "Sumber mesh tidak valid (bukan MeshInstance3D)."
+
msgid "Mesh source is invalid (contains no Mesh resource)."
msgstr "Sumber mesh tidak valid (tidak mengandung resource Mesh)."
@@ -4676,9 +7723,18 @@ msgstr "Jumlah:"
msgid "Populate"
msgstr "Isi"
+msgid "Set start_position"
+msgstr "Atur start_position"
+
+msgid "Set end_position"
+msgstr "Atur end_position"
+
msgid "Create Navigation Polygon"
msgstr "Buat Poligon Navigasi"
+msgid "Unnamed Gizmo"
+msgstr "Gizmo Tanpa Nama"
+
msgid "Change Light Radius"
msgstr "Ganti Radius Lampu"
@@ -4694,12 +7750,24 @@ msgstr "Ubah Ukuran Kamera"
msgid "Change Sphere Shape Radius"
msgstr "Ganti Radius Bentuk Bola"
+msgid "Change Box Shape Size"
+msgstr "Ubah Ukuran Bentuk Kotak"
+
msgid "Change Notifier AABB"
msgstr "Ubah AABB Notifier"
msgid "Change Particles AABB"
msgstr "Ubah Partikel AABB"
+msgid "Change Radius"
+msgstr "Ubah Radius"
+
+msgid "Change Probe Size"
+msgstr "Ubah Ukuran Probe"
+
+msgid "Change Decal Size"
+msgstr "Perubahan Ukuran Decal"
+
msgid "Change Capsule Shape Radius"
msgstr "Ubah Radius Shape Kapsul"
@@ -4712,6 +7780,24 @@ msgstr "Ubah Radius Bentuk Silinder"
msgid "Change Cylinder Shape Height"
msgstr "Ubah Tinggi Bentuk Silinder"
+msgid "Change Separation Ray Shape Length"
+msgstr "Ubah Panjang Bentuk Sinar Pemisahan"
+
+msgid "Start Location"
+msgstr "Lokasi Mulai"
+
+msgid "End Location"
+msgstr "Lokasi Akhir"
+
+msgid "Change Start Position"
+msgstr "Ubah Posisi Awal"
+
+msgid "Change End Position"
+msgstr "Ubah Posisi Akhir"
+
+msgid "Change Fog Volume Size"
+msgstr "Ubah Ukuran Volume Kabut"
+
msgid "Transform Aborted."
msgstr "Transformasi Dibatalkan."
@@ -4772,12 +7858,51 @@ msgstr "Transformasi Sumbu Z."
msgid "View Plane Transform."
msgstr "Tampilkan Transformasi Planar."
+msgid "YZ-Plane Transform."
+msgstr "Transformasi Pesawat YZ."
+
+msgid "XZ-Plane Transform."
+msgstr "Transformasi Pesawat XZ."
+
+msgid "XY-Plane Transform."
+msgstr "Transformasi Pesawat XY."
+
msgid "Keying is disabled (no key inserted)."
msgstr "Penguncian dinonaktifkan (tidak ada kunci yang dimasukkan)."
msgid "Animation Key Inserted."
msgstr "Kunci Animasi Dimasukkan."
+msgid "X: %s\n"
+msgstr "X: %s\n"
+
+msgid "Y: %s\n"
+msgstr "Y: %s\n"
+
+msgid "Z: %s\n"
+msgstr "Z: %s\n"
+
+msgid "Size: %s (%.1fMP)\n"
+msgstr "Ukuran: %s (%.1fMP)\n"
+
+msgid "Objects: %d\n"
+msgstr "Objek: %d\n"
+
+msgid "Primitive Indices: %d\n"
+msgstr "Indeks Primitif: %d\n"
+
+msgid "Draw Calls: %d"
+msgstr "Menarik Panggilan: %d"
+
+msgid "CPU Time: %s ms"
+msgstr "Waktu CPU: %s ms"
+
+msgid "GPU Time: %s ms"
+msgstr "Waktu GPU: %s mdtk"
+
+msgid "FPS: %d"
+msgstr "FPS: %d"
+
msgid "Top View."
msgstr "Tampilan Atas."
@@ -4802,6 +7927,15 @@ msgstr "Sejajarkan Transformasi dengan Tampilan"
msgid "Align Rotation with View"
msgstr "Sejajarkan Rotasi dengan Tampilan"
+msgid "Set Surface %d Override Material"
+msgstr "Atur Permukaan %d Timpa Material"
+
+msgid "Set Material Override"
+msgstr "Atur Penggantian Material"
+
+msgid "Cannot drag and drop into multiple selected nodes."
+msgstr "Tidak dapat menyeret dan melepas ke beberapa node yang dipilih."
+
msgid "None"
msgstr "Tidak ada"
@@ -4811,6 +7945,9 @@ msgstr "Putar"
msgid "Translate"
msgstr "Translasi"
+msgid "Translating:"
+msgstr "Menerjemahkan:"
+
msgid "Rotating %s degrees."
msgstr "Memutar %s derajat."
@@ -4829,9 +7966,78 @@ msgstr "Tampilkan Jaring-jaring"
msgid "Display Overdraw"
msgstr "Tampilkan Overdraw"
+msgid "Display Lighting"
+msgstr "Tampilan Pencahayaan"
+
msgid "Display Unshaded"
msgstr "Tampilan Tak Berbayang"
+msgid "Directional Shadow Splits"
+msgstr "Pembagian Bayangan Terarah"
+
+msgid "Normal Buffer"
+msgstr "Buffer Normal"
+
+msgid "Shadow Atlas"
+msgstr "Atlas Bayangan"
+
+msgid "Directional Shadow Map"
+msgstr "Peta Bayangan Arah"
+
+msgid "Decal Atlas"
+msgstr "Stiker Atlas"
+
+msgid "VoxelGI Lighting"
+msgstr "Pencahayaan VoxelGI"
+
+msgid "VoxelGI Albedo"
+msgstr "VoxelGI Albedo"
+
+msgid "VoxelGI Emission"
+msgstr "Emisi VoxelGI"
+
+msgid "SDFGI Cascades"
+msgstr "Kaskade SDFGI"
+
+msgid "SDFGI Probes"
+msgstr "Probe SDFGI"
+
+msgid "Scene Luminance"
+msgstr "Pencahayaan Adegan"
+
+msgid "SSAO"
+msgstr "SSAO"
+
+msgid "SSIL"
+msgstr "SSIL"
+
+msgid "VoxelGI/SDFGI Buffer"
+msgstr "Buffer VoxelGI / SDFGI"
+
+msgid "Disable Mesh LOD"
+msgstr "Nonaktifkan Mesh LOD"
+
+msgid "OmniLight3D Cluster"
+msgstr "Klaster OmniLight3D"
+
+msgid "SpotLight3D Cluster"
+msgstr "Kluster SpotLight3D"
+
+msgid "Decal Cluster"
+msgstr "Kluster Decal"
+
+msgid "ReflectionProbe Cluster"
+msgstr "Kluster ReflectionProbe"
+
+msgid "Occlusion Culling Buffer"
+msgstr "Buffer Pemusnahan Oklusi"
+
+msgid "Motion Vectors"
+msgstr "Vektor Gerak"
+
+msgid "Display Advanced..."
+msgstr "Tampilan Lanjutan..."
+
msgid "View Environment"
msgstr "Tampilkan Lingkungan"
@@ -4841,6 +8047,9 @@ msgstr "Tampilkan Gizmo"
msgid "View Information"
msgstr "Tampilkan Informasi"
+msgid "View Frame Time"
+msgstr "Lihat Waktu Frame"
+
msgid "Half Resolution"
msgstr "Setengah Resolusi"
@@ -4853,6 +8062,9 @@ msgstr "Aktifkan Efek Doppler"
msgid "Cinematic Preview"
msgstr "Pratinjau Sinematik"
+msgid "Not available when using the OpenGL renderer."
+msgstr "Tidak tersedia saat menggunakan perender OpenGL."
+
msgid "Freelook Left"
msgstr "Tampilan Bebas Kiri"
@@ -4877,6 +8089,36 @@ msgstr "Pengubah Kecepatan Tampilan Bebas"
msgid "Freelook Slow Modifier"
msgstr "Pengubah Lambat Tampilan Bebas"
+msgid "Lock Transformation to X axis"
+msgstr "Kunci Transformasi ke sumbu X"
+
+msgid "Lock Transformation to Y axis"
+msgstr "Kunci Transformasi ke sumbu Y"
+
+msgid "Lock Transformation to Z axis"
+msgstr "Kunci Transformasi ke sumbu Z"
+
+msgid "Lock Transformation to YZ plane"
+msgstr "Kunci Transformasi ke bidang YZ"
+
+msgid "Lock Transformation to XZ plane"
+msgstr "Kunci Transformasi ke bidang XZ"
+
+msgid "Lock Transformation to XY plane"
+msgstr "Kunci Transformasi ke bidang XY"
+
+msgid "Cancel Transformation"
+msgstr "Batalkan Transformasi"
+
+msgid "Begin Translate Transformation"
+msgstr "Mulai Terjemahkan Transformasi"
+
+msgid "Begin Rotate Transformation"
+msgstr "Mulai Rotasi Transformasi"
+
+msgid "Begin Scale Transformation"
+msgstr "Mulai Skalakan Transformasi"
+
msgid "Toggle Camera Preview"
msgstr "Alihkan Pratinjau Kamera"
@@ -4889,6 +8131,16 @@ msgstr ""
"Untuk memperbesar lebih lanjut, ubah bidang kliping kamera (View -> "
"Setting...)"
+msgid "Overriding material..."
+msgstr "Penggantian material..."
+
+msgid ""
+"Drag and drop to override the material of any geometry node.\n"
+"Hold Ctrl when dropping to override a specific surface."
+msgstr ""
+"Seret dan lepas untuk menimpa material node geometri apa pun.\n"
+"Tahan Ctrl saat menjatuhkan untuk menimpa permukaan tertentu."
+
msgid "XForm Dialog"
msgstr "Dialog XForm"
@@ -4906,16 +8158,55 @@ msgstr ""
"Mata setengah terbuka: Gizmo juga tampak melalui permukaan tidak tembus "
"pandang (\"sinar-x\")."
+msgid "Snap Nodes to Floor"
+msgstr "Kancingkan Node ke Lantai"
+
msgid "Couldn't find a solid floor to snap the selection to."
msgstr ""
"Tidak dapat menemukan floor yang solid untuk mengancingkan seleksi ke sana."
+msgid "Add Preview Sun to Scene"
+msgstr "Menambahkan Pratinjau Matahari ke Adegan"
+
+msgid "Add Preview Environment to Scene"
+msgstr "Menambahkan Lingkungan Pratinjau ke Adegan"
+
+msgid ""
+"Scene contains\n"
+"DirectionalLight3D.\n"
+"Preview disabled."
+msgstr ""
+"Adegan berisi\n"
+"DirectionalLight3D.\n"
+"Pratinjau dinonaktifkan."
+
+msgid "Preview disabled."
+msgstr "Pratinjau dinonaktifkan."
+
+msgid ""
+"Scene contains\n"
+"WorldEnvironment.\n"
+"Preview disabled."
+msgstr ""
+"Adegan berisi\n"
+"WorldEnvironment.\n"
+"Pratinjau dinonaktifkan."
+
msgid "Use Local Space"
msgstr "Gunakan Ruang Lokal"
msgid "Use Snap"
msgstr "Gunakan Snap"
+msgid ""
+"Toggle preview sunlight.\n"
+"If a DirectionalLight3D node is added to the scene, preview sunlight is "
+"disabled."
+msgstr ""
+"Mengalihkan pratinjau sinar matahari.\n"
+"Jika node DirectionalLight3D ditambahkan ke adegan, pratinjau cahaya "
+"matahari dinonaktifkan."
+
msgid "Bottom View"
msgstr "Tampilan Bawah"
@@ -5419,7 +8710,7 @@ msgid "Previous Script"
msgstr "Skrip Sebelumnya"
msgid "File"
-msgstr "Berkas"
+msgstr "File"
msgid "Open..."
msgstr "Buka..."
@@ -5535,6 +8826,9 @@ msgstr "Simbol Pencarian"
msgid "Pick Color"
msgstr "Pilih Warna"
+msgid "Indentation"
+msgstr "Indentasi"
+
msgid "Uppercase"
msgstr "Huruf Besar"
@@ -5938,6 +9232,9 @@ msgstr ""
"Sematkan StyleBox ini sebagai gaya utama. Mengedit propertinya akan "
"memperbarui properti yang sama di semua StyleBox lain dari jenis ini."
+msgid "Base Type"
+msgstr "Tipe Dasar"
+
msgid "Select the variation base type from a list of available types."
msgstr "Pilih tipe dasar variasi dari daftar tipe yang tersedia."
@@ -6036,6 +9333,15 @@ msgstr "Balik secara Horizontal"
msgid "Flip Vertically"
msgstr "Balik secara Vertikal"
+msgid "Tiles"
+msgstr "Ubin"
+
+msgid "Rendering"
+msgstr "Rendering"
+
+msgid "Modulate"
+msgstr "Memodulasi"
+
msgid "Yes"
msgstr "Ya"
@@ -6057,6 +9363,9 @@ msgstr "Subjudul:"
msgid "Apply"
msgstr "Terapkan"
+msgid "Username"
+msgstr "Nama Pengguna"
+
msgid "Password"
msgstr "Kata Sandi"
@@ -6684,6 +9993,9 @@ msgstr "Sunting Properti Visual:"
msgid "Visual Shader Mode Changed"
msgstr "Mode Shader Visual Berubah"
+msgid "Bake VoxelGI"
+msgstr "Bake VoxelGI"
+
msgid "The path specified doesn't exist."
msgstr "Lokasi yang ditentukan tidak ada."
@@ -6919,6 +10231,9 @@ msgstr "Pemetaan Input"
msgid "Localization"
msgstr "Lokalisasi"
+msgid "Autoload"
+msgstr "Load Otomatis"
+
msgid "Plugins"
msgstr "Pengaya"
@@ -7183,6 +10498,9 @@ msgstr "Anakan yang Dapat Disunting"
msgid "Load As Placeholder"
msgstr "Muat sebagai Placeholder"
+msgid "Auto Expand to Selected"
+msgstr "Perluas Otomatis ke yang Dipilih"
+
msgid "Filters"
msgstr "Filter"
@@ -7586,6 +10904,9 @@ msgstr "Mengurai Geometri..."
msgid "Done!"
msgstr "Selesai!"
+msgid "Pose"
+msgstr "Pose"
+
msgid "Package name is missing."
msgstr "Nama paket tidak ada."
@@ -8165,6 +11486,9 @@ msgstr "Sumber tidak sah untuk shader."
msgid "Default Color"
msgstr "Warna Bawaan"
+msgid "Filter"
+msgstr "Filter"
+
msgid "Repeat"
msgstr "Ulang"
diff --git a/editor/translations/editor/it.po b/editor/translations/editor/it.po
index 63bf3f9198..173be6130b 100644
--- a/editor/translations/editor/it.po
+++ b/editor/translations/editor/it.po
@@ -82,13 +82,16 @@
# gianmarco malandra <giamminho12@gmail.com>, 2023.
# Francesco Franchina <cescus92@gmail.com>, 2023.
# "Matteo A." <psyduck.boh@gmail.com>, 2023.
+# Davide Mora <mora.davide07@gmail.com>, 2023.
+# Francesco Falcone <francesco01.falcone@gmail.com>, 2023.
+# GumaD3v <matteo.gugliuzza08@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-11 13:46+0000\n"
-"Last-Translator: Riteo Siuga <riteo@posteo.net>\n"
+"PO-Revision-Date: 2023-05-17 00:52+0000\n"
+"Last-Translator: GumaD3v <matteo.gugliuzza08@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -96,7 +99,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Non impostato"
@@ -265,6 +268,12 @@ msgstr "Gesto d'ingrandimento in (%s) con un fattore di %s"
msgid "Pan Gesture at (%s) with delta (%s)"
msgstr "Gesto panoramico in (%s) con un delta di (%s)"
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "Input MIDI sul Canale=%s Message=%s"
+
+msgid "Input Event with Shortcut=%s"
+msgstr "Evento Input con Scorciatoia=%s"
+
msgid "Accept"
msgstr "Accetta"
@@ -418,6 +427,9 @@ msgstr "Reimposta i cursori e la selezione"
msgid "Toggle Insert Mode"
msgstr "Commuta la modalità d'inserimento"
+msgid "Submit Text"
+msgstr "Invia il Testo"
+
msgid "Duplicate Nodes"
msgstr "Duplica Nodi"
@@ -601,6 +613,9 @@ msgstr "Seleziona tutte le chiavi"
msgid "Deselect All Keys"
msgstr "Deseleziona tutte le chiavi"
+msgid "Animation Change Transition"
+msgstr "Transizione al cambio dell'Animazione"
+
msgid "Animation Change Keyframe Value"
msgstr "Cambia il valore del fotogramma chiave di un'animazione"
@@ -686,6 +701,9 @@ msgstr "Cambia Percorso Traccia"
msgid "Toggle this track on/off."
msgstr "Abilita/Disabilita questa traccia."
+msgid "Use Blend"
+msgstr "Usa Blend"
+
msgid "Update Mode (How this property is set)"
msgstr "Modalità di aggiornamento (come viene impostata questa proprietà)"
@@ -2326,6 +2344,12 @@ msgstr "Apri"
msgid "Select Current Folder"
msgstr "Seleziona la cartella attuale"
+msgid "Cannot save file with an empty filename."
+msgstr "Impossibile salvare un file con il nome vuoto"
+
+msgid "Cannot save file with a name starting with a dot."
+msgstr "Impossibile salvare un file il cui nome inizia con un punto"
+
msgid "Select This Folder"
msgstr "Seleziona questa cartella"
@@ -3975,7 +3999,7 @@ msgid "Left Stick Left, Joystick 0 Left"
msgstr "Levetta sinistra verso sinistra, joystick 0 verso sinistra"
msgid "Left Stick Right, Joystick 0 Right"
-msgstr "Levetta sinistra verso detra, joystick 0 verso destra"
+msgstr "Levetta sinistra verso destra, joystick 0 verso destra"
msgid "Left Stick Up, Joystick 0 Up"
msgstr "Levetta sinistra verso su, joystick 0 verso su"
@@ -4349,6 +4373,9 @@ msgstr ""
"Tutti i preset devono avere un percorso di esportazione definito affinché "
"\"Esporta tutto\" funzioni."
+msgid "Resources to export:"
+msgstr "Risorse da esportare:"
+
msgid "Delete preset '%s'?"
msgstr "Eliminare preset \"%s\"?"
@@ -4406,9 +4433,6 @@ msgstr "Esporta come server dedicato"
msgid "Export Mode:"
msgstr "Modalità d'Esportazione:"
-msgid "Resources to export:"
-msgstr "Risorse da esportare:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
@@ -14309,5 +14333,17 @@ msgstr "Previsto un identificatore o una \"[\"."
msgid "Empty structs are not allowed."
msgstr "Gli struct vuoti sono vietati."
+msgid "The const '%s' is declared but never used."
+msgstr "La costante '%s' è dichiarata ma mai utilizzata."
+
msgid "The function '%s' is declared but never used."
msgstr "La funzione '%s' è dichiarata ma mai utilizzata."
+
+msgid "The struct '%s' is declared but never used."
+msgstr "Lo struct '%s' viene dichiarata ma mai utilizzata."
+
+msgid "The uniform '%s' is declared but never used."
+msgstr "Lo uniform '%s' è dichiarato ma mai usato."
+
+msgid "The local variable '%s' is declared but never used."
+msgstr "La variabile locale '%s' è dichiarata ma mai usata."
diff --git a/editor/translations/editor/ja.po b/editor/translations/editor/ja.po
index ea4e8dd450..3df88ec840 100644
--- a/editor/translations/editor/ja.po
+++ b/editor/translations/editor/ja.po
@@ -59,7 +59,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-19 17:09+0000\n"
+"PO-Revision-Date: 2023-04-30 10:49+0000\n"
"Last-Translator: Usamiki <amarantus0499@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
@@ -4452,6 +4452,9 @@ msgstr ""
"全てのプリセットはエクスポートが全て機能するために、エクスポートパスを定義す"
"る必要があります。"
+msgid "Resources to export:"
+msgstr "エクスポートするリソース:"
+
msgid "Delete preset '%s'?"
msgstr "プリセット '%s' を削除しますか?"
@@ -4511,9 +4514,6 @@ msgstr "専用サーバーとしてエクスポート"
msgid "Export Mode:"
msgstr "エクスポートモード:"
-msgid "Resources to export:"
-msgstr "エクスポートするリソース:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
@@ -9383,7 +9383,7 @@ msgid "Nothing was selected for the import."
msgstr "インポートするものが選択されていません。"
msgid "Importing Theme Items"
-msgstr "テーマのアイテムをインポート中"
+msgstr "テーマアイテムをインポート中"
msgid "Importing items {n}/{n}"
msgstr "アイテムをインポート中 {n}/{n}"
@@ -9395,7 +9395,7 @@ msgid "Finalizing"
msgstr "終了処理中"
msgid "Import Theme Items"
-msgstr "テーマのアイテムをインポート"
+msgstr "テーマアイテムをインポート"
msgid "Filter Items"
msgstr "アイテムをフィルタ"
@@ -9442,6 +9442,9 @@ msgstr "表示中のすべてのフォントサイズアイテムを選択する
msgid "Select all visible font size items and their data."
msgstr "表示中のすべてのフォントサイズアイテムとそのデータを選択する。"
+msgid "Deselect all visible font size items."
+msgstr "表示中のすべてのフォントサイズアイテムを選択解除する。"
+
msgid "Select all visible icon items."
msgstr "表示中のすべてのアイコンアイテムを選択する。"
@@ -9500,6 +9503,9 @@ msgstr ""
"択は失われます。\n"
"それでも閉じますか?"
+msgid "Remove Type"
+msgstr "タイプを削除"
+
msgid ""
"Select a theme type from the list to edit its items.\n"
"You can add a custom type or import a type with its items from another theme."
@@ -9520,6 +9526,9 @@ msgstr "すべての定数アイテムを除去"
msgid "Remove All Font Items"
msgstr "すべてのフォントアイテムを除去"
+msgid "Remove All Font Size Items"
+msgstr "すべてのフォントサイズアイテムを除去"
+
msgid "Remove All Icon Items"
msgstr "すべてのアイコンアイテムを除去"
@@ -9533,9 +9542,30 @@ msgstr ""
"このテーマタイプは空です。\n"
"手動もしくは他のテーマからインポートして、アイテムを追加してください。"
+msgid "Remove Theme Item"
+msgstr "テーマアイテムを除去"
+
+msgid "Add Theme Type"
+msgstr "テーマタイプを追加"
+
+msgid "Create Theme Item"
+msgstr "テーマアイテムを作成"
+
+msgid "Remove Theme Type"
+msgstr "テーマタイプを削除"
+
msgid "Remove Data Type Items From Theme"
msgstr "テーマからデータ型アイテムを除去"
+msgid "Remove Class Items From Theme"
+msgstr "テーマからクラスアイテムを除去"
+
+msgid "Remove Custom Items From Theme"
+msgstr "テーマからカスタムアイテムを除去"
+
+msgid "Remove All Items From Theme"
+msgstr "テーマからすべてのアイテムを除去"
+
msgid "Add Color Item"
msgstr "カラーアイテムの追加"
@@ -9545,6 +9575,9 @@ msgstr "定数アイテムの追加"
msgid "Add Font Item"
msgstr "フォントアイテムの追加"
+msgid "Add Font Size Item"
+msgstr "フォントサイズアイテムを追加"
+
msgid "Add Icon Item"
msgstr "アイコンアイテムの追加"
@@ -9560,12 +9593,18 @@ msgstr "定数アイテム名の変更"
msgid "Rename Font Item"
msgstr "フォントアイテム名の変更"
+msgid "Rename Font Size Item"
+msgstr "フォントサイズアイテム名の変更"
+
msgid "Rename Icon Item"
msgstr "アイコンアイテム名の変更"
msgid "Rename Stylebox Item"
msgstr "StyleBox アイテム名の変更"
+msgid "Rename Theme Item"
+msgstr "テーマアイテム名の変更"
+
msgid "Invalid file, not a Theme resource."
msgstr "無効なファイルです。テーマリソースではありません。"
@@ -9666,6 +9705,39 @@ msgstr "タイプを追加"
msgid "Override All Default Theme Items"
msgstr "すべてのデフォルトのテーマアイテムを上書き"
+msgid "Override Theme Item"
+msgstr "テーマアイテムを上書き"
+
+msgid "Set Color Item in Theme"
+msgstr "テーマにカラーアイテムを設定"
+
+msgid "Set Constant Item in Theme"
+msgstr "テーマに定数アイテムを設定"
+
+msgid "Set Font Size Item in Theme"
+msgstr "テーマにフォントサイズアイテムを設定"
+
+msgid "Set Font Item in Theme"
+msgstr "テーマにフォントアイテムを設定"
+
+msgid "Set Icon Item in Theme"
+msgstr "テーマにアイコンアイテムを設定"
+
+msgid "Set Stylebox Item in Theme"
+msgstr "テーマに StyleBox アイテムを設定"
+
+msgid "Pin Stylebox"
+msgstr "スタイルボックスを固定"
+
+msgid "Unpin Stylebox"
+msgstr "スタイルボックスの固定を解除"
+
+msgid "Set Theme Type Variation"
+msgstr "テーマタイプのバリエーションを設定"
+
+msgid "Set Variation Base Type"
+msgstr "バリエーションのベースタイプを設定"
+
msgid "Set Base Type"
msgstr "基底型を設定"
@@ -9691,6 +9763,13 @@ msgstr "基底型"
msgid "Select the variation base type from a list of available types."
msgstr "使用可能なタイプのリストからバリエーションのベースタイプを選択。"
+msgid ""
+"A type associated with a built-in class cannot be marked as a variation of "
+"another type."
+msgstr ""
+"組み込みクラスに関連付けられた型は、別の型のバリエーションとしてマークするこ"
+"とはできません。"
+
msgid "Theme:"
msgstr "テーマ:"
@@ -9792,18 +9871,48 @@ msgstr "無効なファイルです。PackedScene のリソースではありま
msgid "Reload the scene to reflect its most actual state."
msgstr "最も実際の状態を反映させるためにシーンをリロードします。"
+msgid "Merge TileSetAtlasSource"
+msgstr "TileSetAtlasSource のマージ"
+
+msgid "%s (ID: %d)"
+msgstr "%s (ID: %d)"
+
msgid "Atlas Merging"
msgstr "アトラスのマージ"
+msgid "Merge (Keep original Atlases)"
+msgstr "マージ (元のアトラスを保持)"
+
msgid "Merge"
msgstr "マージ"
msgid "Please select two atlases or more."
msgstr "2 つ以上のアトラスを選択してください。"
+msgid ""
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: 0"
+msgstr ""
+"ソース: %d\n"
+"アトラス座標: %s\n"
+"代替: 0"
+
+msgid ""
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"ソース: %d\n"
+"アトラス座標: %s\n"
+"代替: %d"
+
msgid "Center View"
msgstr "中心ビュー"
+msgid "No atlas source with a valid texture selected."
+msgstr "有効なテクスチャが選択されたアトラス ソースがありません。"
+
msgid "Base Tiles"
msgstr "ベース タイル"
@@ -9858,6 +9967,21 @@ msgstr "ペイント設定:"
msgid "Picker"
msgstr "ピッカー"
+msgid "No terrains"
+msgstr "地形なし"
+
+msgid "No terrain"
+msgstr "地形なし"
+
+msgid "No Texture Atlas Source (ID: %d)"
+msgstr "テクスチャ アトラス ソースなし (ID: %d)"
+
+msgid "Scene Collection Source (ID: %d)"
+msgstr "シーン コレクション ソース (ID: %d)"
+
+msgid "Unknown Type Source (ID: %d)"
+msgstr "不明な型のソース (ID: %d)"
+
msgid "Add TileSet pattern"
msgstr "TileSet パターンを追加"
@@ -9888,6 +10012,9 @@ msgstr "選択範囲"
msgid "Paint"
msgstr "ペイント"
+msgid "Shift: Draw line."
+msgstr "Shift: 線を引く"
+
msgid "Shift+Ctrl: Draw rectangle."
msgstr "Shift+Ctrl: 四角形を描画"
@@ -9895,18 +10022,44 @@ msgctxt "Tool"
msgid "Line"
msgstr "ライン"
+msgid "Rect"
+msgstr "四角形"
+
+msgid "Bucket"
+msgstr "バケツ"
+
+msgid "Alternatively hold Ctrl with other tools to pick tile."
+msgstr "または、Ctrl キーを押しながら他のツールを使用してタイルを選びます。"
+
+msgid "Eraser"
+msgstr "消しゴム"
+
+msgid "Alternatively use RMB to erase tiles."
+msgstr "または、RMB を使用してタイルを消去します。"
+
msgid "Contiguous"
msgstr "隣接"
msgid "Place Random Tile"
msgstr "ランダムタイルを配置"
+msgid ""
+"Modifies the chance of painting nothing instead of a randomly selected tile."
+msgstr "ランダムに選ばれたタイルの代わりに何も描かない確率を変更します。"
+
msgid "Scattering:"
msgstr "拡散:"
msgid "Tiles"
msgstr "タイル"
+msgid ""
+"This TileMap's TileSet has no source configured. Edit the TileSet resource "
+"to add one."
+msgstr ""
+"このTileMapのTileSetにはソースが構成されていません。 TileSetリソースを編集し"
+"てソースを追加してください。"
+
msgid "Sort sources"
msgstr "ソースの並べ替え"
@@ -9919,15 +10072,63 @@ msgstr "ID (降順) で並び替え"
msgid "Invalid source selected."
msgstr "選択したソースが無効です。"
+msgid "Patterns"
+msgstr "パターン"
+
+msgid "Drag and drop or paste a TileMap selection here to store a pattern."
+msgstr ""
+"TileMap の選択範囲をここにドラッグ アンド ドロップするか貼り付けて、パターン"
+"を保存します。"
+
+msgid "Paint terrain"
+msgstr "地形を塗る"
+
+msgid "Matches Corners and Sides"
+msgstr "角と側面にマッチさせる"
+
+msgid "Matches Corners Only"
+msgstr "角にのみマッチさせる"
+
+msgid "Matches Sides Only"
+msgstr "側面にのみマッチさせる"
+
+msgid "Terrain Set %d (%s)"
+msgstr "地形セット %d (%s)"
+
+msgid ""
+"Connect mode: paints a terrain, then connects it with the surrounding tiles "
+"with the same terrain."
+msgstr ""
+"コネクトモード:地形をペイントし、同じ地形がある周囲のタイルと接続します。"
+
+msgid ""
+"Path mode: paints a terrain, thens connects it to the previous tile painted "
+"within the same stroke."
+msgstr ""
+"パス モード: 地形をペイントし、同じストローク内でペイントされた前のタイルに接"
+"続します。"
+
+msgid "Terrains"
+msgstr "地形"
+
+msgid "Replace Tiles with Proxies"
+msgstr "タイルをプロキシに置き換える"
+
msgid "No Layers"
msgstr "レイヤーなし"
msgid "Select Next Tile Map Layer"
msgstr "次のタイル マップ レイヤーを選択"
+msgid "Select Previous Tile Map Layer"
+msgstr "前のタイル マップ レイヤーを選択"
+
msgid "TileMap Layers"
msgstr "TileMap レイヤー"
+msgid "Highlight Selected TileMap Layer"
+msgstr "選択したタイルマップ レイヤーをハイライト表示"
+
msgid "Toggle grid visibility."
msgstr "グリッドの表示を切り替え"
@@ -9938,20 +10139,62 @@ msgid "The edited TileMap node has no TileSet resource."
msgstr "編集された TileMap ノードには TileSet リソースがありません。"
msgid "Remove Tile Proxies"
-msgstr "タイル プロキシを削除"
+msgstr "タイルプロキシを削除"
+
+msgid "Create Alternative-level Tile Proxy"
+msgstr "代替レベルのタイルプロキシを作成"
+
+msgid "Create Coords-level Tile Proxy"
+msgstr "座標レベルのタイルプロキシを作成"
+
+msgid "Create source-level Tile Proxy"
+msgstr "ソースレベルのタイルプロキシを作成"
+
+msgid "Delete All Invalid Tile Proxies"
+msgstr "すべての無効なタイルプロキシを削除"
msgid "Delete All Tile Proxies"
msgstr "すべてのタイルプロキシを削除"
+msgid "Tile Proxies Management"
+msgstr "タイルプロキシ管理"
+
+msgid "Source-level proxies"
+msgstr "ソースレベルのプロキシ"
+
+msgid "Coords-level proxies"
+msgstr "座標レベルのプロキシ"
+
+msgid "Alternative-level proxies"
+msgstr "代替レベルのプロキシ"
+
+msgid "Add a new tile proxy:"
+msgstr "新しいタイルプロキシを追加:"
+
msgid "From Source"
msgstr "ソースから"
+msgid "From Coords"
+msgstr "座標から"
+
+msgid "From Alternative"
+msgstr "代替から"
+
msgid "To Source"
msgstr "ソースへ"
+msgid "To Coords"
+msgstr "座標へ"
+
+msgid "To Alternative"
+msgstr "代替へ"
+
msgid "Global actions:"
msgstr "グローバルアクション:"
+msgid "Clear Invalid"
+msgstr "無効を除去"
+
msgid "Atlas"
msgstr "アトラス"
@@ -9961,9 +10204,23 @@ msgstr "ベース タイル"
msgid "Alternative Tile"
msgstr "代替タイル"
+msgid ""
+"Selected tile:\n"
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"選択したタイル:\n"
+"ソース: %d\n"
+"アトラス座標: %s\n"
+"代替: %d"
+
msgid "Rendering"
msgstr "レンダリング"
+msgid "Texture Origin"
+msgstr "テクスチャの原点"
+
msgid "Z Index"
msgstr "Zインデックス"
@@ -9991,30 +10248,131 @@ msgstr "カスタムデータ %d"
msgid "Select a property editor"
msgstr "プロパティエディタを選択"
+msgid "Create tiles"
+msgstr "タイルを作成"
+
+msgid "Create a tile"
+msgstr "タイルを作成"
+
+msgid "Remove tiles"
+msgstr "タイルを除去"
+
+msgid "Move a tile"
+msgstr "タイルを移動"
+
+msgid "Select tiles"
+msgstr "タイルを選択"
+
+msgid "Resize a tile"
+msgstr "タイルのサイズ変更"
+
+msgid "Remove tile"
+msgstr "タイルを除去"
+
+msgid "Create tile alternatives"
+msgstr "代替タイルを作成"
+
+msgid "Create tiles in non-transparent texture regions"
+msgstr "不透明なテクスチャ領域にタイルを作成"
+
+msgid "Remove tiles in fully transparent texture regions"
+msgstr "完全に透明なテクスチャ領域のタイルを削除"
+
+msgid "Setup"
+msgstr "セットアップ"
+
msgid "Select tiles."
msgstr "タイルを選択します。"
+msgid "Paint properties."
+msgstr "ペイント設定。"
+
msgid "No tiles selected."
msgstr "タイルが選択されていません。"
msgid "Paint Properties:"
msgstr "ペイント設定:"
+msgid "Create Tiles in Non-Transparent Texture Regions"
+msgstr "不透明なテクスチャ領域にタイルを作成"
+
+msgid "Remove Tiles in Fully Transparent Texture Regions"
+msgstr "完全に透明なテクスチャ領域のタイルを削除"
+
+msgid "Create an Alternative Tile"
+msgstr "代替タイルを作成"
+
+msgid "Create a Tile"
+msgstr "タイルを作成"
+
+msgid "Auto Create Tiles in Non-Transparent Texture Regions?"
+msgstr "不透明なテクスチャ領域にタイルを自動作成しますか?"
+
+msgid ""
+"The atlas's texture was modified.\n"
+"Would you like to automatically create tiles in the atlas?"
+msgstr ""
+"アトラスのテクスチャが変更されました。\n"
+"アトラスにタイルを自動的に作成しますか?"
+
msgid "Yes"
msgstr "はい"
+msgid "No"
+msgstr "いいえ"
+
msgid "Add a new atlas source"
msgstr "新しいアトラスソースを追加"
+msgid "Remove source"
+msgstr "ソースを削除"
+
+msgid "Add atlas source"
+msgstr "アトラスソースを追加"
+
+msgid "Sort Sources"
+msgstr "ソースの並べ替え"
+
+msgid "Scenes Collection"
+msgstr "シーンコレクション"
+
+msgid "Open Atlas Merging Tool"
+msgstr "アトラスのマージツールを開く"
+
+msgid "Manage Tile Proxies"
+msgstr "タイルプロキシの管理"
+
+msgid "No TileSet source selected. Select or create a TileSet source."
+msgstr "TileSetソース未選択。TileSetソースを選択または作成してください。"
+
+msgid "Add new patterns in the TileMap editing mode."
+msgstr "TileMap 編集モードで新しいパターンを追加します。"
+
msgid "Add a Scene Tile"
msgstr "シーンタイルの追加"
+msgid "Remove a Scene Tile"
+msgstr "シーン タイルを削除"
+
+msgid "Scenes collection properties:"
+msgstr "シーン コレクションのプロパティ:"
+
msgid "Tile properties:"
msgstr "タイル設定:"
msgid "TileSet"
msgstr "タイルセット"
+msgid "TileMap"
+msgstr "TileMap"
+
+msgid ""
+"No VCS plugins are available in the project. Install a VCS plugin to use VCS "
+"integration features."
+msgstr ""
+"プロジェクトで使用できる VCS プラグインがありません。VCS 統合機能を使用するに"
+"は、VCS プラグインをインストールします。"
+
msgid "Error"
msgstr "エラー"
@@ -10027,6 +10385,12 @@ msgstr ""
msgid "Commit"
msgstr "コミット"
+msgid "Open in editor"
+msgstr "エディタで開く"
+
+msgid "Discard changes"
+msgstr "変更を破棄"
+
msgid "Staged Changes"
msgstr "ステージ済の変更"
@@ -10051,9 +10415,21 @@ msgstr "リモート %s を削除しますか?"
msgid "Create VCS metadata files for:"
msgstr "VCSメタデータ ファイルを作成:"
+msgid "Existing VCS metadata files will be overwritten."
+msgstr "既存の VCS メタデータ ファイルは上書きされます。"
+
+msgid "Local Settings"
+msgstr "ローカル設定"
+
msgid "Apply"
msgstr "適用"
+msgid "VCS Provider"
+msgstr "VCS プロバイダー"
+
+msgid "Connect to VCS"
+msgstr "VCS に接続する"
+
msgid "Remote Login"
msgstr "リモートログイン"
@@ -10084,6 +10460,12 @@ msgstr "新しい変更点を検出"
msgid "Discard all changes"
msgstr "すべての変更を破棄"
+msgid "This operation is IRREVERSIBLE. Your changes will be deleted FOREVER."
+msgstr "この操作は元に戻せません。あなたの変更は永久に削除されます。"
+
+msgid "Permanentally delete my changes"
+msgstr "変更を完全に削除する"
+
msgid "Stage all changes"
msgstr "変更をステージに上げる"
@@ -10156,6 +10538,9 @@ msgstr "タイプ変更"
msgid "Unmerged"
msgstr "未マージ"
+msgid "View file diffs before committing them to the latest version"
+msgstr "最新のバージョンにコミットする前にファイルの差分を見る"
+
msgid "View:"
msgstr "ビュー:"
@@ -10195,24 +10580,82 @@ msgstr "入力を追加"
msgid "Add Output"
msgstr "出力を追加"
+msgid "Float"
+msgstr "Float"
+
+msgid "Int"
+msgstr "Int"
+
+msgid "UInt"
+msgstr "UInt"
+
+msgid "Vector2"
+msgstr "Vector2"
+
+msgid "Vector3"
+msgstr "Vector3"
+
+msgid "Vector4"
+msgstr "Vector4"
+
msgid "Boolean"
msgstr "Boolean"
msgid "Sampler"
msgstr "Sampler"
+msgid "[default]"
+msgstr "[デフォルト]"
+
+msgid ""
+"The 2D preview cannot correctly show the result retrieved from instance "
+"parameter."
+msgstr ""
+"2D プレビューでは、インスタンスパラメータから取得した結果を正しく表示できませ"
+"ん。"
+
msgid "Add Input Port"
msgstr "入力ポートを追加"
msgid "Add Output Port"
msgstr "出力ポートを追加"
+msgid "Change Input Port Type"
+msgstr "入力ポートのタイプを変更"
+
+msgid "Change Output Port Type"
+msgstr "出力ポートのタイプを変更"
+
+msgid "Change Input Port Name"
+msgstr "入力ポート名の変更"
+
+msgid "Change Output Port Name"
+msgstr "出力ポート名の変更"
+
+msgid "Expand Output Port"
+msgstr "出力ポートを拡張"
+
+msgid "Shrink Output Port"
+msgstr "出力ポートを縮小"
+
msgid "Remove Input Port"
msgstr "入力ポートの除去"
msgid "Remove Output Port"
msgstr "出力ポートの除去"
+msgid "Set VisualShader Expression"
+msgstr "VisualShaderの式を設定"
+
+msgid "Resize VisualShader Node"
+msgstr "VisualShaderノードのサイズを変更"
+
+msgid "Hide Port Preview"
+msgstr "ポート プレビューを非表示"
+
+msgid "Show Port Preview"
+msgstr "ポート プレビューを表示"
+
msgid "Set Input Default Port"
msgstr "入力デフォルトポートの設定"
@@ -10222,14 +10665,50 @@ msgstr "ビジュアルシェーダーにノードを追加"
msgid "Node(s) Moved"
msgstr "ノードの移動"
+msgid "Delete VisualShader Node"
+msgstr "VisualShaderノードを削除"
+
+msgid "Delete VisualShader Node(s)"
+msgstr "VisualShaderノードを削除"
+
+msgid "Float Constants"
+msgstr "浮動小数点定数"
+
+msgid "Convert Constant(s) to Parameter(s)"
+msgstr "定数をパラメーターに変換"
+
+msgid "Convert Parameter(s) to Constant(s)"
+msgstr "パラメーターを定数に変換"
+
+msgid "Set Comment Title"
+msgstr "コメントのタイトルを設定"
+
+msgid "Set Comment Description"
+msgstr "コメントの説明を設定"
+
+msgid "Duplicate VisualShader Node(s)"
+msgstr "VisualShaderノードを複製"
+
+msgid "Paste VisualShader Node(s)"
+msgstr "VisualShaderノードを貼り付け"
+
+msgid "Cut VisualShader Node(s)"
+msgstr "VisualShaderノードを切り取り"
+
msgid "Visual Shader Input Type Changed"
msgstr "ビジュアルシェーダーの入力タイプが変更されました"
+msgid "ParameterRef Name Changed"
+msgstr "ParameterRefの名前が変更されました"
+
+msgid "Varying Name Changed"
+msgstr "Varyingの名前が変更されました"
+
msgid "Set Constant: %s"
msgstr "定数を設定: %s"
msgid "Invalid name for varying."
-msgstr "varyingの名前が無効です。"
+msgstr "Varyingの名前が無効です。"
msgid "Varying with that name is already exist."
msgstr "その名前の Varying は既に存在します。"
diff --git a/editor/translations/editor/ko.po b/editor/translations/editor/ko.po
index 22bad66dfa..9fbc5ae02f 100644
--- a/editor/translations/editor/ko.po
+++ b/editor/translations/editor/ko.po
@@ -48,13 +48,15 @@
# 설동훈 <tjfehdgns@gmail.com>, 2023.
# Rocream <kbg4660@gmail.com>, 2023.
# Seania Twix <admin@ez.is>, 2023.
+# coolkid <newtype20050831@gmail.com>, 2023.
+# asdfer-1234 <sh__lv@naver.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-06 16:01+0000\n"
-"Last-Translator: Seania Twix <admin@ez.is>\n"
+"PO-Revision-Date: 2023-05-17 00:52+0000\n"
+"Last-Translator: asdfer-1234 <sh__lv@naver.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -62,7 +64,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "설정 해제"
@@ -318,6 +320,9 @@ msgstr "삭제"
msgid "Delete Word"
msgstr "단어 삭제"
+msgid "Caret Right"
+msgstr "^ 오른쪽"
+
msgid "Caret Add Above"
msgstr "위에 캐럿 추가"
@@ -3547,6 +3552,9 @@ msgstr ""
"모든 사전 설정에는 모두 내보내기가 작동하도록 정의된 내보내기 경로가 있어야 "
"합니다."
+msgid "Resources to export:"
+msgstr "내보내는 리소스:"
+
msgid "Delete preset '%s'?"
msgstr "'%s' 프리셋을 삭제하시겠습니까?"
@@ -3596,9 +3604,6 @@ msgstr "전용 서버로 내보내기"
msgid "Export Mode:"
msgstr "내보내기 모드:"
-msgid "Resources to export:"
-msgstr "내보내는 리소스:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr "\"스트립 비주얼\"은 다음 리소스를 자리 표시자로 대체합니다:"
@@ -9063,6 +9068,9 @@ msgstr "지오메트리 분석 중..."
msgid "Done!"
msgstr "완료!"
+msgid "Pose"
+msgstr "자세"
+
msgid "Package name is missing."
msgstr "패키지 이름이 누락되어 있습니다."
diff --git a/editor/translations/editor/nl.po b/editor/translations/editor/nl.po
index 83deb4acbc..4e399e7329 100644
--- a/editor/translations/editor/nl.po
+++ b/editor/translations/editor/nl.po
@@ -63,13 +63,14 @@
# Jasper <jasper@dj-dj.be>, 2023.
# Kevin Nijmeijer <Kevinchrisnij@gmail.com>, 2023.
# Mike Rombout <mike.rombout1@gmail.com>, 2023.
+# Robbe Vanslambrouck <robbevsb.dev@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-03-03 23:47+0000\n"
-"Last-Translator: Mike Rombout <mike.rombout1@gmail.com>\n"
+"PO-Revision-Date: 2023-04-22 20:51+0000\n"
+"Last-Translator: Robbe Vanslambrouck <robbevsb.dev@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/"
"nl/>\n"
"Language: nl\n"
@@ -77,7 +78,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.16.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Niet ingesteld"
@@ -110,7 +111,7 @@ msgid "Mouse Thumb Button 1"
msgstr "Muis Duim Knop 1"
msgid "Mouse Thumb Button 2"
-msgstr "Muis Duim Knop 2"
+msgstr "Muisduimknop 2"
msgid "Button"
msgstr "Button (Knop)"
@@ -205,6 +206,18 @@ msgstr "D-pad Rechts"
msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
msgstr "Xbox Delen, PS5 Microfoon, Nintendo Opname"
+msgid "Xbox Paddle 1"
+msgstr "Xbox Paddle 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Xbox Paddle 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Xbox Paddle 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Xbox Paddle 4"
+
msgid "Joypad Button %d"
msgstr "Controllerknop %d"
@@ -2988,6 +3001,9 @@ msgstr ""
msgid "Runnable"
msgstr "Uitvoerbaar"
+msgid "Resources to export:"
+msgstr "Bronnen om te exporteren:"
+
msgid "Delete preset '%s'?"
msgstr "Verwijder voorinstelling '%s'?"
@@ -3034,9 +3050,6 @@ msgstr "Exporteer geselecteerde bronnen (en afhankelijkheden)"
msgid "Export Mode:"
msgstr "Exporteermodus:"
-msgid "Resources to export:"
-msgstr "Bronnen om te exporteren:"
-
msgid "Keep"
msgstr "Houd"
diff --git a/editor/translations/editor/pl.po b/editor/translations/editor/pl.po
index 28664efa59..4596cac81b 100644
--- a/editor/translations/editor/pl.po
+++ b/editor/translations/editor/pl.po
@@ -82,7 +82,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-19 00:15+0000\n"
+"PO-Revision-Date: 2023-05-15 13:55+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
@@ -3483,7 +3483,7 @@ msgid "Dock Position"
msgstr "Pozycja doku"
msgid "Make Floating"
-msgstr "Zrób ruchomy"
+msgstr "Zrób pływający"
msgid "Add a new scene."
msgstr "Dodaj nową scenę."
@@ -4482,6 +4482,12 @@ msgstr ""
"Wszystkie ustawienia wstępne muszą mieć zdefiniowaną ścieżkę eksportu, aby "
"fukcja Eksportuj wszystko działała."
+msgid "Resources to exclude:"
+msgstr "Zasoby do wykluczenia:"
+
+msgid "Resources to export:"
+msgstr "Zasoby do eksportu:"
+
msgid "Delete preset '%s'?"
msgstr "Usunąć profil \"%s\"?"
@@ -4538,9 +4544,6 @@ msgstr "Eksportuj jako serwer dedykowany"
msgid "Export Mode:"
msgstr "Tryb eksportu:"
-msgid "Resources to export:"
-msgstr "Zasoby do eksportu:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr "\"Usuń wizualne\" podmieni następujące zasoby na zastępcze:"
@@ -10146,6 +10149,9 @@ msgstr "Kafelek z nieprawidłową sceną"
msgid "Delete tiles"
msgstr "Usuń kafelki"
+msgid "Drawing Rect:"
+msgstr "Rysowanie prostokąta:"
+
msgid "Change selection"
msgstr "Zmień zaznaczenie"
@@ -10395,10 +10401,10 @@ msgid "Physics"
msgstr "Fizyka"
msgid "Physics Layer %d"
-msgstr "Warstwa fizyki %"
+msgstr "Warstwa fizyki %d"
msgid "Navigation Layer %d"
-msgstr "Warstwa nawigacji %"
+msgstr "Warstwa nawigacji %d"
msgid "Custom Data"
msgstr "Własne dane"
@@ -15534,6 +15540,12 @@ msgstr ""
"ButtonGroup jest przeznaczone do użycia tylko z przyciskami, które mają "
"toggle_mode ustawione na true."
+msgid "Copy this constructor in a script."
+msgstr "Skopiuj ten konstruktor w skrypcie."
+
+msgid "Enter a hex code (\"#ff0000\") or named color (\"red\")."
+msgstr "Wprowadź kod szesnastkowy (\"#ff0000\") lub nazwany kolor (\"red\")."
+
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
@@ -15562,6 +15574,9 @@ msgstr "Wybierz tryb próbnika."
msgid "Switch between hexadecimal and code values."
msgstr "Przełącz między szesnastkowymi i kodowymi wartościami."
+msgid "Hex code or named color"
+msgstr "Kod szesnastkowy lub nazwany kolor"
+
msgid "Add current color as a preset."
msgstr "Dodaj bieżący kolor do zapisanych."
diff --git a/editor/translations/editor/pt.po b/editor/translations/editor/pt.po
index 2f85898416..d662ea4358 100644
--- a/editor/translations/editor/pt.po
+++ b/editor/translations/editor/pt.po
@@ -4448,6 +4448,9 @@ msgstr ""
"Todas as predefinições devem ter um caminho de exportação definido para que "
"Exportar Tudo funcione."
+msgid "Resources to export:"
+msgstr "Recursos a exportar:"
+
msgid "Delete preset '%s'?"
msgstr "Apagar predefinição '%s'?"
@@ -4505,9 +4508,6 @@ msgstr "Exportar como servidor dedicado"
msgid "Export Mode:"
msgstr "Modo exportação:"
-msgid "Resources to export:"
-msgstr "Recursos a exportar:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
diff --git a/editor/translations/editor/pt_BR.po b/editor/translations/editor/pt_BR.po
index 3c9c7e98d1..fcda31d5a4 100644
--- a/editor/translations/editor/pt_BR.po
+++ b/editor/translations/editor/pt_BR.po
@@ -4597,6 +4597,9 @@ msgstr ""
"Todas as predefinições devem ter um caminho de exportação definido para que "
"Exportar Tudo funcione."
+msgid "Resources to export:"
+msgstr "Recursos para exportar:"
+
msgid "Delete preset '%s'?"
msgstr "Apagar predefinição '%s'?"
@@ -4654,9 +4657,6 @@ msgstr "Exportar como servidor dedicado"
msgid "Export Mode:"
msgstr "Modo de Exportação:"
-msgid "Resources to export:"
-msgstr "Recursos para exportar:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr ""
diff --git a/editor/translations/editor/ro.po b/editor/translations/editor/ro.po
index b490bb8da1..ba52f9c08a 100644
--- a/editor/translations/editor/ro.po
+++ b/editor/translations/editor/ro.po
@@ -30,7 +30,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-19 00:15+0000\n"
+"PO-Revision-Date: 2023-04-23 20:05+0000\n"
"Last-Translator: RaresX22 <raresadv22@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ro/>\n"
@@ -166,8 +166,7 @@ msgid "Refresh"
msgstr "Reîmprospătare"
msgid "self can't be used because instance is null (not passed)"
-msgstr ""
-"self nu poate fi folosit deoarece instanța este nulă (nu a fost trecută)"
+msgstr "self nu poate fi folosit deoarece instanța este nulă (nefurnizat)"
msgid "Invalid operands to operator %s, %s and %s."
msgstr "Operanzi invalizi la operatorii %s, %s și %s."
@@ -3103,6 +3102,9 @@ msgstr "Culori de Emisie"
msgid "Create Emission Points From Node"
msgstr "Creare Puncte de Emisie din Nod"
+msgid "Flat 1"
+msgstr "Neted 1"
+
msgid "Smoothstep"
msgstr "PasOmogen"
@@ -3346,6 +3348,9 @@ msgstr "Populare"
msgid "Create Navigation Polygon"
msgstr "Creare Poligon de Navigare"
+msgid "Orthogonal"
+msgstr "Ortogonal"
+
msgid "Use Snap"
msgstr "Utilizează Snap"
diff --git a/editor/translations/editor/ru.po b/editor/translations/editor/ru.po
index 8a02909299..81dc8fa890 100644
--- a/editor/translations/editor/ru.po
+++ b/editor/translations/editor/ru.po
@@ -139,13 +139,16 @@
# Melairz1237 <mr.artem.snegov@mail.ru>, 2023.
# Noky Socket <lollysimbart@gmail.com>, 2023.
# Aleksey Smirnov <debugger94@gmail.com>, 2023.
+# Animaliss <Zernon001@mail.ru>, 2023.
+# Pyotr <pitmysterio@mail.ru>, 2023.
+# Кордис Ди <psevdoejik@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-20 03:46+0000\n"
-"Last-Translator: Aleksey Smirnov <debugger94@gmail.com>\n"
+"PO-Revision-Date: 2023-05-19 06:50+0000\n"
+"Last-Translator: Lost Net <pc.mirkn@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -172,16 +175,16 @@ msgid "Middle Mouse Button"
msgstr "Средняя кнопка мыши"
msgid "Mouse Wheel Up"
-msgstr "Колесико мыши вверх"
+msgstr "Колёсико мыши вверх"
msgid "Mouse Wheel Down"
-msgstr "Колесико мыши вниз"
+msgstr "Колёсико мыши вниз"
msgid "Mouse Wheel Left"
-msgstr "Колесико мыши влево"
+msgstr "Колёсико мыши влево"
msgid "Mouse Wheel Right"
-msgstr "Колесико мыши вправо"
+msgstr "Колёсико мыши вправо"
msgid "Mouse Thumb Button 1"
msgstr "Кнопка большого пальца мыши 1"
@@ -408,7 +411,7 @@ msgid "Backspace Word"
msgstr "Стереть слово"
msgid "Backspace all to Left"
-msgstr "Стереть все слева"
+msgstr "Стереть всё слева"
msgid "Delete"
msgstr "Удалить"
@@ -417,7 +420,7 @@ msgid "Delete Word"
msgstr "Удалить слово"
msgid "Delete all to Right"
-msgstr "Удалить все справа"
+msgstr "Удалить всё справа"
msgid "Caret Left"
msgstr "Каретка влево"
@@ -468,13 +471,13 @@ msgid "Scroll Down"
msgstr "Прокрутка вниз"
msgid "Select All"
-msgstr "Выделить все"
+msgstr "Выделить всё"
msgid "Select Word Under Caret"
msgstr "Выделить слово под курсором"
msgid "Add Selection for Next Occurrence"
-msgstr "Добавить выделение для следующего действия"
+msgstr "Добавить выделение для следующего возникновения"
msgid "Clear Carets and Selection"
msgstr "Очистить каретки и выделение"
@@ -517,13 +520,13 @@ msgid "Invalid index of type %s for base type %s"
msgstr "Недопустимый индекс типа %s для базового типа %s"
msgid "Invalid named index '%s' for base type %s"
-msgstr "Недопустимый именованный индекс «%s» для базового типа %s"
+msgstr "Недопустимый именованный индекс '%s' для базового типа %s"
msgid "Invalid arguments to construct '%s'"
-msgstr "Недопустимые аргументы для построения «%s»"
+msgstr "Недопустимые аргументы для построения '%s'"
msgid "On call to '%s':"
-msgstr "При вызове «%s»:"
+msgstr "При вызове '%s':"
msgid "Built-in script"
msgstr "Встроенный скрипт"
@@ -566,10 +569,10 @@ msgid ""
"'\"'"
msgstr ""
"Неверное имя действия. Оно не может быть пустым и не может содержать символы "
-"«/», «:», «=», «\\» или «\"»"
+"'/', ':', '=', '\\' или '\"'"
msgid "An action with the name '%s' already exists."
-msgstr "Действие с именем «%s» уже существует."
+msgstr "Действие с именем '%s' уже существует."
msgid "Cannot Revert - Action is same as initial"
msgstr "Невозможно обратить - Действие схоже с первоначальным"
@@ -596,7 +599,7 @@ msgid "Filter by name..."
msgstr "Фильтр по имени..."
msgid "Clear All"
-msgstr "Очистить все"
+msgstr "Очистить всё"
msgid "Add New Action"
msgstr "Добавить новое действие"
@@ -692,7 +695,7 @@ msgid "Animation Multi Change Keyframe Value"
msgstr "Анимация множественное изменение значения ключевого кадра"
msgid "Animation Multi Change Call"
-msgstr "Анимации множественное изменение вызова"
+msgstr "Анимация множественное изменение вызова"
msgid "Change Animation Length"
msgstr "Изменить длину анимации"
@@ -711,31 +714,31 @@ msgstr ""
"сцену."
msgid "Property Track"
-msgstr "Дорожка свойства"
+msgstr "Дорожка свойство"
msgid "3D Position Track"
msgstr "Дорожка позиция 3D"
msgid "3D Rotation Track"
-msgstr "Дорожка вращения 3D"
+msgstr "Дорожка вращение 3D"
msgid "3D Scale Track"
-msgstr "Дорожка масштабирования 3D"
+msgstr "Дорожка масштаб 3D"
msgid "Blend Shape Track"
msgstr "Дорожка форма смешивания"
msgid "Call Method Track"
-msgstr "Дорожка вызова метода"
+msgstr "Дорожка вызов метода"
msgid "Bezier Curve Track"
-msgstr "Дорожка кривой Безье"
+msgstr "Дорожка кривая Безье"
msgid "Audio Playback Track"
-msgstr "Дорожка воспроизведения аудио"
+msgstr "Дорожка воспроизведение аудио"
msgid "Animation Playback Track"
-msgstr "Дорожка воспроизведения анимации"
+msgstr "Дорожка воспроизведение анимации"
msgid "Animation length (frames)"
msgstr "Длина анимации (в кадрах)"
@@ -916,7 +919,7 @@ msgid "Animation Insert Key"
msgstr "Анимация вставить ключ"
msgid "node '%s'"
-msgstr "узел «%s»"
+msgstr "узел '%s'"
msgid "animation"
msgstr "анимация"
@@ -925,7 +928,7 @@ msgid "AnimationPlayer can't animate itself, only other players."
msgstr "AnimationPlayer не может анимировать сам себя, только другие плееры."
msgid "property '%s'"
-msgstr "свойство «%s»"
+msgstr "свойство '%s'"
msgid "Change Animation Step"
msgstr "Изменить шаг анимации"
@@ -976,7 +979,7 @@ msgid "Add Rotation Key"
msgstr "Добавить ключ вращения"
msgid "Add Scale Key"
-msgstr "Добавить ключ масштабирования"
+msgstr "Добавить ключ масштаба"
msgid "Add Track Key"
msgstr "Добавить ключ дорожки"
@@ -1184,7 +1187,7 @@ msgid "Select Tracks to Copy"
msgstr "Выбрать дорожки для копирования"
msgid "Select All/None"
-msgstr "Выбрать все/ничего"
+msgstr "Выбрать всё/ничего"
msgid "Animation Change Keyframe Time"
msgstr "Анимация изменить время ключевого кадра"
@@ -1229,7 +1232,7 @@ msgid "Replace"
msgstr "Заменить"
msgid "Replace All"
-msgstr "Заменить все"
+msgstr "Заменить всё"
msgid "Selection Only"
msgstr "Только выделенное"
@@ -1341,7 +1344,7 @@ msgid "Disconnects the signal after its first emission."
msgstr "Отсоединяет сигнал после его первой отправки."
msgid "Cannot connect signal"
-msgstr "Не удается присоединить сигнал"
+msgstr "Не удаётся присоединить сигнал"
msgid "Close"
msgstr "Закрыть"
@@ -1356,13 +1359,13 @@ msgid "No description."
msgstr "Нет описания."
msgid "Connect '%s' to '%s'"
-msgstr "Присоединить «%s» к «%s»"
+msgstr "Присоединить '%s' к '%s'"
msgid "Disconnect '%s' from '%s'"
-msgstr "Отсоединить «%s» от «%s»"
+msgstr "Отсоединить '%s' от '%s'"
msgid "Disconnect all from signal: '%s'"
-msgstr "Отсоединить все от сигнала: «%s»"
+msgstr "Отсоединить все от сигнала: '%s'"
msgid "Connect..."
msgstr "Присоединить..."
@@ -1374,10 +1377,10 @@ msgid "Connect a Signal to a Method"
msgstr "Присоединить сигнал к методу"
msgid "Edit Connection: '%s'"
-msgstr "Редактировать соединение: «%s»"
+msgstr "Редактировать соединение: '%s'"
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr "Вы уверены, что хотите удалить все соединения от сигнала «%s»?"
+msgstr "Вы уверены, что хотите удалить все соединения от сигнала '%s'?"
msgid "Signals"
msgstr "Сигналы"
@@ -1401,7 +1404,7 @@ msgid "Go to Method"
msgstr "Перейти к методу"
msgid "Change Type of \"%s\""
-msgstr "Изменить тип «%s»"
+msgstr "Изменить тип \"%s\""
msgid "Change"
msgstr "Изменить"
@@ -1410,7 +1413,7 @@ msgid "Create New %s"
msgstr "Создать новый %s"
msgid "No results for \"%s\"."
-msgstr "Нет результатов для «%s»."
+msgstr "Нет результатов для \"%s\"."
msgid "This class is marked as deprecated."
msgstr "Этот класс помечен как устаревший."
@@ -1419,7 +1422,7 @@ msgid "This class is marked as experimental."
msgstr "Этот класс помечен как экспериментальный."
msgid "No description available for %s."
-msgstr "Нет описания для «%s»."
+msgstr "Нет описания для %s."
msgid "Favorites:"
msgstr "Избранное:"
@@ -1440,7 +1443,7 @@ msgid "Description:"
msgstr "Описание:"
msgid "Remote %s:"
-msgstr "Удаленный %s:"
+msgstr "Удалённый %s:"
msgid "Debugger"
msgstr "Отладчик"
@@ -1462,7 +1465,7 @@ msgid ""
"%s\n"
"Click to open the original file in the Editor."
msgstr ""
-"Этот узел был создан из файла PackedScene:\n"
+"Этот узел был инстанцирован из файла PackedScene:\n"
"%s\n"
"Нажмите, чтобы открыть исходный файл в редакторе."
@@ -1476,7 +1479,7 @@ msgid "Monitors"
msgstr "Мониторинг"
msgid "Monitor"
-msgstr "Параметр"
+msgstr "Монитор"
msgid "Value"
msgstr "Значение"
@@ -1513,7 +1516,7 @@ msgid "Inclusive"
msgstr "Включительно"
msgid "Self"
-msgstr "Субъект"
+msgstr "Собственное"
msgid ""
"Inclusive: Includes time from other functions called by this function.\n"
@@ -1526,8 +1529,8 @@ msgstr ""
"Включительно: Включает время других функций, вызываемых этой функцией.\n"
"Используйте для выявления узких мест.\n"
"\n"
-"Субъект: учитывает только время, затраченное в самой функции, а не в других "
-"функциях, вызываемых этой функцией.\n"
+"Собственное: учитывает только время, затраченное в самой функции, а не в "
+"других функциях, вызываемых этой функцией.\n"
"Используйте для поиска отдельных функций для оптимизации."
msgid "Frame #:"
@@ -1543,7 +1546,7 @@ msgid "Calls"
msgstr "Вызовы"
msgid "Fit to Frame"
-msgstr "Укладывать в кадр"
+msgstr "Уместить в кадр"
msgid "Linked"
msgstr "Связаны"
@@ -1645,10 +1648,10 @@ msgid "Collapse All"
msgstr "Свернуть все"
msgid "Profiler"
-msgstr "Профайлер"
+msgstr "Профилировщик"
msgid "Visual Profiler"
-msgstr "Визуальный профайлер"
+msgstr "Визуальный профилировщик"
msgid "List of Video Memory Usage by Resource:"
msgstr "Список использования видеопамяти ресурсами:"
@@ -1657,7 +1660,7 @@ msgid "Total:"
msgstr "Всего:"
msgid "Export list to a CSV file"
-msgstr "Экспортировать профиль в CSV файл"
+msgstr "Экспорт профиля в CSV файл"
msgid "Resource Path"
msgstr "Путь к ресурсу"
@@ -1699,14 +1702,14 @@ msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Сцена «%s» в настоящее время редактируется.\n"
+"Сцена '%s' в настоящее время редактируется.\n"
"Изменения вступят в силу только после перезапуска."
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Ресурс «%s» используется.\n"
+"Ресурс '%s' используется.\n"
"Изменения вступят в силу только после перезапуска."
msgid "Dependencies"
@@ -1722,7 +1725,7 @@ msgid "Dependencies:"
msgstr "Зависимости:"
msgid "Fix Broken"
-msgstr "Исправить ошибку"
+msgstr "Исправить сломанные"
msgid "Dependency Editor"
msgstr "Редактор зависимостей"
@@ -1743,7 +1746,7 @@ msgid "Localization remap"
msgstr "Переназначение локализации"
msgid "Localization remap for path '%s' and locale '%s'."
-msgstr "Переназначение локализации для пути «%s» и локали «%s»."
+msgstr "Переназначение локализации для пути '%s' и локали '%s'."
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
@@ -1794,7 +1797,7 @@ msgid "Show Dependencies"
msgstr "Показать зависимости"
msgid "Orphan Resource Explorer"
-msgstr "Обзор подключённых ресурсов"
+msgstr "Обзор подключенных ресурсов"
msgid "Owns"
msgstr "Кол-во"
@@ -1809,7 +1812,7 @@ msgid "Click to copy."
msgstr "Нажмите, чтобы скопировать."
msgid "Godot Engine contributors"
-msgstr "Авторы Godot Engine"
+msgstr "Контрибьюторы Godot Engine"
msgid "Project Founders"
msgstr "Основатели проекта"
@@ -1881,28 +1884,28 @@ msgid "Licenses"
msgstr "Лицензии"
msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr "Ошибка при открытии файла ресурса «%s» (не в формате ZIP)."
+msgstr "Ошибка при открытии файла ассета \"%s\" (не в формате ZIP)."
msgid "%s (already exists)"
msgstr "%s (уже существует)"
msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
-msgstr "Содержимое ресурса «%s» - %d файл(ов) конфликтуют с вашим проектом:"
+msgstr "Содержимое ассета \"%s\" - %d файл(ов) конфликтуют с вашим проектом:"
msgid "Contents of asset \"%s\" - No files conflict with your project:"
-msgstr "Содержимое ресурса «%s» - Нет файлов, конфликтующих с вашим проектом:"
+msgstr "Содержимое ассета \"%s\" - Нет файлов, конфликтующих с вашим проектом:"
msgid "Uncompressing Assets"
msgstr "Распаковка ассетов"
msgid "The following files failed extraction from asset \"%s\":"
-msgstr "Следующие файлы не удалось извлечь из пакета «%s»:"
+msgstr "Следующие файлы не удалось извлечь из ассета \"%s\":"
msgid "(and %s more files)"
-msgstr "(ещё %d файла(ов))"
+msgstr "(ещё %s файла(ов))"
msgid "Asset \"%s\" installed successfully!"
-msgstr "Ресурс «%s» успешно установлен!"
+msgstr "Ассет \"%s\" успешно установлен!"
msgid "Success!"
msgstr "Успех!"
@@ -1911,7 +1914,7 @@ msgid "Install"
msgstr "Установить"
msgid "Asset Installer"
-msgstr "Установщик ресурсов"
+msgstr "Установщик ассетов"
msgid "Speakers"
msgstr "Колонки"
@@ -1947,7 +1950,7 @@ msgid "Delete Bus Effect"
msgstr "Удалить эффект шины"
msgid "Drag & drop to rearrange."
-msgstr "Перетащите чтобы изменить порядок."
+msgstr "Перетащите, чтобы изменить порядок."
msgid "Solo"
msgstr "Соло"
@@ -1992,55 +1995,55 @@ msgid "Move Audio Bus"
msgstr "Переместить аудио шину"
msgid "Save Audio Bus Layout As..."
-msgstr "Сохранить раскладку звуковой шины как..."
+msgstr "Сохранить макет аудио шины как..."
msgid "Location for New Layout..."
-msgstr "Местоположение новой раскладки..."
+msgstr "Местоположение нового макета..."
msgid "Open Audio Bus Layout"
-msgstr "Открыть раскладку звуковой шины"
+msgstr "Открыть макет аудио шины"
msgid "There is no '%s' file."
-msgstr "Файла «%s» не существует."
+msgstr "Файла '%s' не существует."
msgid "Layout:"
msgstr "Макет:"
msgid "Invalid file, not an audio bus layout."
-msgstr "Недопустимый файл, не раскладка аудио шины."
+msgstr "Недопустимый файл, не макет аудио шины."
msgid "Error saving file: %s"
msgstr "Ошибка при сохранении файла: %s"
msgid "Add Bus"
-msgstr "Добавить"
+msgstr "Добавить шину"
msgid "Add a new Audio Bus to this layout."
-msgstr "Добавить новую звуковую шину для этой раскладки."
+msgstr "Добавить новую аудио шину в этот макет."
msgid "Load"
msgstr "Загрузить"
msgid "Load an existing Bus Layout."
-msgstr "Загрузить существующую раскладку шины."
+msgstr "Загрузить существующий макет шины."
msgid "Save As"
msgstr "Сохранить как"
msgid "Save this Bus Layout to a file."
-msgstr "Сохранить текущую раскладку звуковой шины в файл."
+msgstr "Сохранить этот макет шины в файл."
msgid "Load Default"
msgstr "Загрузить по умолчанию"
msgid "Load the default Bus Layout."
-msgstr "Загрузить раскладку шины по умолчанию."
+msgstr "Загрузить макет шины по умолчанию."
msgid "Create a new Bus Layout."
-msgstr "Создать новую раскладку шины."
+msgstr "Создать новый макет шины."
msgid "Audio Bus Layout"
-msgstr "Раскладка звуковой шины"
+msgstr "Макет звуковой шины"
msgid "Invalid name."
msgstr "Недопустимое имя."
@@ -2067,7 +2070,7 @@ msgid "Keyword cannot be used as an Autoload name."
msgstr "Ключевое слово нельзя использовать в качестве имени автозагрузки."
msgid "Autoload '%s' already exists!"
-msgstr "Автозагрузка «%s» уже существует!"
+msgstr "Автозагрузка '%s' уже существует!"
msgid "Rename Autoload"
msgstr "Переименовать автозагрузку"
@@ -2091,7 +2094,7 @@ msgid "Can't add Autoload:"
msgstr "Не удаётся добавить автозагрузку:"
msgid "%s is an invalid path. File does not exist."
-msgstr "Неверный путь «%s». Файл не существует."
+msgstr "Неверный путь %s. Файл не существует."
msgid "%s is an invalid path. Not in resource path (res://)."
msgstr "%s — недопустимый путь. Нужен ресурсный путь (res://)."
@@ -2103,7 +2106,7 @@ msgid "Path:"
msgstr "Путь:"
msgid "Set path or press \"%s\" to create a script."
-msgstr "Задайте путь или нажмите «%s», чтобы создать скрипт."
+msgstr "Задайте путь или нажмите \"%s\", чтобы создать скрипт."
msgid "Node Name:"
msgstr "Имя узла:"
@@ -2150,6 +2153,9 @@ msgstr "Шрифты WOFF2"
msgid "SIL Graphite Fonts"
msgstr "Шрифты SIL Graphite"
+msgid "Multi-channel Signed Distance Field Font Rendering"
+msgstr "Многоканальный рендеринг шрифта поля расстояния со знаком"
+
msgid "3D Nodes as well as RenderingServer access to 3D features."
msgstr "3D-узлы, а также доступ RenderingServer к 3D-функциям."
@@ -2168,14 +2174,15 @@ msgstr "XR (AR и VR)."
msgid ""
"RenderingDevice based rendering (if disabled, the OpenGL back-end is "
"required)."
-msgstr "Рендеринг на основе RenderingDevice (если отключен, требуется OpenGL)."
+msgstr ""
+"Рендеринг на основе RenderingDevice (если отключен, требуется OpenGL бэкенд)."
msgid ""
"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
-msgstr "Бэкенд OpenGL (если отключен, требуется бэкенд RenderingDevice)."
+msgstr "OpenGL бэкенд (если отключен, требуется RenderingDevice бэкенд)."
msgid "Vulkan back-end of RenderingDevice."
-msgstr "Бэкенд Vulkan RenderingDevice."
+msgstr "Vulkan бэкенд RenderingDevice."
msgid ""
"Fallback implementation of Text Server\n"
@@ -2189,8 +2196,8 @@ msgid ""
"Supports complex text layouts, BiDi, and contextual OpenType font features."
msgstr ""
"Реализация текстового сервера на базе библиотек ICU и HarfBuzz.\n"
-"Поддерживает сложные макеты текста, BiDi, и контекстные особенности шрифтов "
-"OpenType."
+"Поддерживает сложную разметку текста, BiDi, и контекстные особенности "
+"шрифтов OpenType."
msgid ""
"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
@@ -2208,7 +2215,7 @@ msgid ""
"Server only)."
msgstr ""
"Поддержка технологии смарт-шрифтов SIL Graphite (поддерживается только "
-"Расширенный текстовый сервер)."
+"расширенный текстовый сервер)."
msgid ""
"Multi-channel signed distance field font rendering support using msdfgen "
@@ -2231,10 +2238,10 @@ msgid "Nodes and Classes:"
msgstr "Узлы и классы:"
msgid "File '%s' format is invalid, import aborted."
-msgstr "Неверный формат файла «%s», импорт прерван."
+msgstr "Неверный формат файла '%s', импорт прерван."
msgid "Error saving profile to path: '%s'."
-msgstr "Ошибка сохранения профиля в «%s»."
+msgstr "Ошибка сохранения профиля в '%s'."
msgid "New"
msgstr "Новый"
@@ -2267,7 +2274,7 @@ msgid "Load Profile"
msgstr "Загрузить профиль"
msgid "Export Profile"
-msgstr "Экспортировать профиль"
+msgstr "Экспорт профиля"
msgid "Forced classes on detect:"
msgstr "Принудительные классы для обнаружения:"
@@ -2324,22 +2331,22 @@ msgid "Script Editor"
msgstr "Редактор скриптов"
msgid "Asset Library"
-msgstr "Библиотека ресурсов"
+msgstr "Библиотека ассетов"
msgid "Scene Tree Editing"
msgstr "Редактирование дерева сцены"
msgid "Node Dock"
-msgstr "Панель «Узел»"
+msgstr "Панель \"Узел\""
msgid "FileSystem Dock"
-msgstr "Панель «Файловая система»"
+msgstr "Панель \"Файловая система\""
msgid "Import Dock"
-msgstr "Панель «Импорт»"
+msgstr "Панель \"Импорт\""
msgid "History Dock"
-msgstr "Панель истории"
+msgstr "Панель \"История\""
msgid "Allows to view and edit 3D scenes."
msgstr "Позволяет просматривать и редактировать 3D-сцены."
@@ -2349,16 +2356,17 @@ msgstr ""
"Позволяет редактировать скрипты с помощью встроенного редактора скриптов."
msgid "Provides built-in access to the Asset Library."
-msgstr "Предоставляет встроенный доступ к Библиотеке ресурсов."
+msgstr "Предоставляет встроенный доступ к Библиотеке ассетов."
msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr "Позволяет редактировать иерархию узлов в панели «Сцена»."
+msgstr "Позволяет редактировать иерархию узлов в панели \"Сцена\"."
msgid ""
"Allows to work with signals and groups of the node selected in the Scene "
"dock."
msgstr ""
-"Позволяет работать с сигналами и группами узла, выбранного в панели «Сцена»."
+"Позволяет работать с сигналами и группами узла, выбранного в панели "
+"\"Сцена\"."
msgid "Allows to browse the local file system via a dedicated dock."
msgstr ""
@@ -2368,8 +2376,8 @@ msgid ""
"Allows to configure import settings for individual assets. Requires the "
"FileSystem dock to function."
msgstr ""
-"Позволяет настраивать параметры импорта для отдельных ресурсов. Для работы "
-"требуется панель «Файловая система»."
+"Позволяет настраивать параметры импорта для отдельных ассетов. Для работы "
+"требуется панель \"Файловая система\"."
msgid "Provides an overview of the editor's and each scene's undo history."
msgstr "Предоставляет обзор истории отмены действий редактора и каждой сцены."
@@ -2381,17 +2389,17 @@ msgid "(none)"
msgstr "(нет)"
msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr "Удалить текущий выбранный профиль, «%s»? Не может быть отменено."
+msgstr "Удалить текущий выбранный профиль, '%s'? Не может быть отменено."
msgid "Profile must be a valid filename and must not contain '.'"
msgstr ""
-"Название профиля должно быть корректным именем файла и не содержать «.»"
+"Название профиля должно быть корректным именем файла и не содержать '.'"
msgid "Profile with this name already exists."
msgstr "Профиль с таким именем уже существует."
msgid "(Editor Disabled, Properties Disabled)"
-msgstr "(Редактор отключен, Свойства отключены)"
+msgstr "(Редактор отключен, свойства отключены)"
msgid "(Properties Disabled)"
msgstr "(Свойства отключены)"
@@ -2415,8 +2423,7 @@ msgid ""
"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
-"Профиль «%s» уже существует. Удалите его перед импортированием, импорт "
-"прерван."
+"Профиль '%s' уже существует. Удалите его перед импортом, импорт прерван."
msgid "Reset to Default"
msgstr "Сбросить настройки"
@@ -2460,7 +2467,7 @@ msgid "Godot Feature Profile"
msgstr "Профиль возможностей Godot"
msgid "Import Profile(s)"
-msgstr "Импортировать проект"
+msgstr "Импортировать профиль(и)"
msgid "Manage Editor Feature Profiles"
msgstr "Управление профилями редактора"
@@ -2478,7 +2485,7 @@ msgid "Cannot save file with an empty filename."
msgstr "Невозможно сохранить безымянный файл."
msgid "Cannot save file with a name starting with a dot."
-msgstr "Невозможно сохранить файл с названием, начинающееся с точкой."
+msgstr "Невозможно сохранить файл с именем, начинающимся с точки."
msgid ""
"File \"%s\" already exists.\n"
@@ -2497,7 +2504,7 @@ msgid "Open in File Manager"
msgstr "Открыть в проводнике"
msgid "Show in File Manager"
-msgstr "Просмотреть в проводнике"
+msgstr "Показать в проводнике"
msgid "New Folder..."
msgstr "Новая папка..."
@@ -2615,11 +2622,11 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
-"Множество импортируемых объектов разного типа указывают на файл %s, импорт "
-"прерван"
+"Существует несколько импортеров для разных типов, указывающих на файл %s, "
+"импорт прерван"
msgid "(Re)Importing Assets"
-msgstr "(Ре)Импортировать"
+msgstr "(Ре)Импортировать ассеты"
msgid "Import resources of type: %s"
msgstr "Импорт ресурсов типа: %s"
@@ -2667,7 +2674,7 @@ msgid ""
"There is currently no description for this %s. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"В настоящее время описание этого %s отсутствует. Пожалуйста помогите нам, "
+"В настоящее время описание этого %s отсутствует. Пожалуйста, помогите нам, "
"[color=$color][url=$url]внесите свой вклад[/url][/color]!"
msgid "Top"
@@ -2704,11 +2711,11 @@ msgid ""
"There is currently no description for this class. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"В настоящее время описание этого класса отсутствует. Пожалуйста помогите "
+"В настоящее время описание этого класса отсутствует. Пожалуйста, помогите "
"нам, [color=$color][url=$url]внесите свой вклад[/url][/color]!"
msgid "Online Tutorials"
-msgstr "Онлайн-руководства"
+msgstr "Онлайн руководства"
msgid "Properties"
msgstr "Свойства"
@@ -2762,7 +2769,7 @@ msgid ""
"There is currently no description for this annotation. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"В настоящее время описание этой аннотации отсутствует. Пожалуйста помогите "
+"В настоящее время описание этой аннотации отсутствует. Пожалуйста, помогите "
"нам, [color=$color][url=$url]внесите свой вклад[/url][/color]!"
msgid "Property Descriptions"
@@ -2778,7 +2785,7 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"В настоящее время описание этого свойства отсутствует. Пожалуйста помогите "
+"В настоящее время описание этого свойства отсутствует. Пожалуйста, помогите "
"нам, [color=$color][url=$url]внесите свой вклад[/url][/color]!"
msgid "Constructor Descriptions"
@@ -2806,7 +2813,7 @@ msgid "Show Hierarchy"
msgstr "Показывать иерархию"
msgid "Display All"
-msgstr "Отображать всё"
+msgstr "Отображать все"
msgid "Classes Only"
msgstr "Только классы"
@@ -2857,7 +2864,7 @@ msgid "Constant"
msgstr "Константа"
msgid "Property"
-msgstr "Параметр"
+msgstr "Свойство"
msgid "Theme Property"
msgstr "Свойство темы"
@@ -2869,14 +2876,14 @@ msgid "This member is marked as experimental."
msgstr "Этот член класса помечен как экспериментальный."
msgid "Property:"
-msgstr "Параметр:"
+msgstr "Свойство:"
msgid "Pin Value"
msgstr "Закрепить значение"
msgid "Pin Value [Disabled because '%s' is editor-only]"
msgstr ""
-"Закрепить значение [Отключено, так как «%s» доступно только для редактора]"
+"Закрепить значение [Отключено, так как '%s' доступно только для редактора]"
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
@@ -2963,7 +2970,7 @@ msgid "Metadata name must be a valid identifier."
msgstr "Имя метаданных должно быть допустимым идентификатором."
msgid "Metadata with name \"%s\" already exists."
-msgstr "Метаданные с именем «%s» уже существуют."
+msgstr "Метаданные с именем \"%s\" уже существуют."
msgid "Names starting with _ are reserved for editor-only metadata."
msgstr ""
@@ -2973,7 +2980,7 @@ msgid "Metadata name is valid."
msgstr "Имя метаданных является допустимым."
msgid "Add Metadata Property for \"%s\""
-msgstr "Добавить свойство метаданных для «%s»"
+msgstr "Добавить свойство метаданных для \"%s\""
msgid "Copy Value"
msgstr "Копировать значение"
@@ -2991,16 +2998,16 @@ msgid "Or enter new layout name"
msgstr "Или введите новое имя макета"
msgid "Changed Locale Language Filter"
-msgstr "Изменён фильтр локали по языкам"
+msgstr "Изменен фильтр локали по языкам"
msgid "Changed Locale Script Filter"
-msgstr "Изменён фильтр локали по письменностям"
+msgstr "Изменен фильтр локали по письменностям"
msgid "Changed Locale Country Filter"
-msgstr "Изменён фильтр локали по странам"
+msgstr "Изменен фильтр локали по странам"
msgid "Changed Locale Filter Mode"
-msgstr "Изменён режим фильтра локали"
+msgstr "Изменен режим фильтра локали"
msgid "[Default]"
msgstr "[По умолчанию]"
@@ -3085,7 +3092,7 @@ msgid ""
"disable it."
msgstr ""
"Вращается при перерисовке окна редактора.\n"
-"Включена опция «Обновлять непрерывно», которая может увеличить "
+"Включена опция \"Обновлять непрерывно\", которая может увеличить "
"энергопотребление. Щёлкните, чтобы отключить её."
msgid "Spins when the editor window redraws."
@@ -3104,8 +3111,8 @@ msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
msgstr ""
-"Данный ресурс нельзя сохранить, потому что он не является частью изменённой "
-"сцены. Сначала нужно сделать его уникальным."
+"Данный ресурс нельзя сохранить, потому что он не является частью "
+"редактируемой сцены. Сначала нужно сделать его уникальным."
msgid ""
"This resource can't be saved because it was imported from another file. Make "
@@ -3127,19 +3134,19 @@ msgid "Error while saving."
msgstr "Ошибка при сохранении."
msgid "Can't open file '%s'. The file could have been moved or deleted."
-msgstr "Не удалось открыть файл «%s». Файл мог быть перемещён или удалён."
+msgstr "Не удалось открыть файл '%s'. Файл мог быть перемещён или удалён."
msgid "Error while parsing file '%s'."
-msgstr "Ошибка при разборе файла «%s»."
+msgstr "Ошибка при разборе файла '%s'."
msgid "Scene file '%s' appears to be invalid/corrupt."
-msgstr "Файл сцены «%s» является недействительным/повреждённым."
+msgstr "Файл сцены '%s' является недействительным/повреждённым."
msgid "Missing file '%s' or one its dependencies."
-msgstr "Отсутствует файл «%s» или одна из его зависимостей."
+msgstr "Отсутствует файл '%s' или одна из его зависимостей."
msgid "Error while loading file '%s'."
-msgstr "Ошибка при загрузке файла «%s»."
+msgstr "Ошибка при загрузке файла '%s'."
msgid "Saving Scene"
msgstr "Сохранение сцены"
@@ -3158,8 +3165,8 @@ msgid ""
"Please resolve it and then attempt to save again."
msgstr ""
"Эта сцена не может быть сохранена, потому что обнаружено циклическое "
-"инстанцирование.\n"
-"Пожалуйста, решите эту проблему, а затем повторите попытку сохранения."
+"включение экземпляра.\n"
+"Пожалуйста, решите эту проблему и повторите попытку сохранения."
msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
@@ -3175,13 +3182,13 @@ msgid "Save All Scenes"
msgstr "Сохранить все сцены"
msgid "Can't overwrite scene that is still open!"
-msgstr "Невозможно перезаписать сцену, которая все еще открыта!"
+msgstr "Невозможно перезаписать сцену, которая всё ещё открыта!"
msgid "Can't load MeshLibrary for merging!"
-msgstr "Невозможно загрузить библиотеку полисеток для слияния!"
+msgstr "Невозможно загрузить MeshLibrary для слияния!"
msgid "Error saving MeshLibrary!"
-msgstr "Ошибка сохранения библиотеки полисеток!"
+msgstr "Ошибка сохранения MeshLibrary!"
msgid ""
"An error occurred while trying to save the editor layout.\n"
@@ -3197,13 +3204,13 @@ msgid ""
msgstr ""
"Макет редактора по умолчанию перезаписан.\n"
"Чтобы восстановить базовые настройки макета по умолчанию, воспользуйтесь "
-"опцией «Удалить макет» и удалите макет по умолчанию."
+"опцией \"Удалить макет\" и удалите макет по умолчанию."
msgid "Layout name not found!"
msgstr "Название макета не найдено!"
msgid "Restored the Default layout to its base settings."
-msgstr "Макет по умолчанию восстановлен к его базовым настройкам."
+msgstr "Макет \"По умолчанию\" восстановлен до базовых настроек."
msgid "This object is marked as read-only, so it's not editable."
msgstr ""
@@ -3215,7 +3222,7 @@ msgid ""
"understand this workflow."
msgstr ""
"Этот ресурс принадлежит сцене, которая была импортирована, поэтому он не "
-"редактируется.\n"
+"редактируем.\n"
"Пожалуйста, прочитайте документацию, имеющую отношение к импорту сцены, "
"чтобы лучше понять этот процесс."
@@ -3231,8 +3238,8 @@ msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
-"Этот ресурс был импортирован, поэтому он не редактируется. Измените "
-"настройки в панеле импорта, а затем повторно импортируйте."
+"Этот ресурс был импортирован, поэтому он не редактируем. Измените его "
+"настройки в панели импорта, а затем реимпортируйте."
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
@@ -3262,14 +3269,14 @@ msgid ""
msgstr ""
"Режим Movie Maker включён, но путь к видеофайлу не указан.\n"
"Путь к видеофайлу по умолчанию можно указать в настройках проекта в "
-"категории Editor > Movie Writer.\n"
+"категории Редактор > Movie Writer.\n"
"В качестве альтернативы, для запуска отдельных сцен в корневой узел можно "
"добавить метаданные `movie_file` типа String,\n"
"указывающие пути к видеофайлу, который будет использоваться при записи этой "
"сцены."
msgid "There is no defined scene to run."
-msgstr "Нет открытой сцены для запуска."
+msgstr "Не определена сцена для запуска."
msgid "Save scene before running..."
msgstr "Сохранение сцены перед запуском..."
@@ -3317,11 +3324,11 @@ msgid "Save changes to '%s' before reloading?"
msgstr "Сохранить изменения в '%s' перед перезагрузкой?"
msgid "Save changes to '%s' before closing?"
-msgstr "Сохранить изменения в «%s» перед закрытием?"
+msgstr "Сохранить изменения в '%s' перед закрытием?"
msgid "%s no longer exists! Please specify a new save location."
msgstr ""
-"%s больше не существует! Пожалуйста укажите новое место для сохранения."
+"%s больше не существует! Пожалуйста, укажите новое место для сохранения."
msgid ""
"The current scene has no root node, but %d modified external resource(s) "
@@ -3335,7 +3342,7 @@ msgid ""
"Scene tree dock."
msgstr ""
"Для сохранения сцены требуется корневой узел. Вы можете добавить его, "
-"используя панель «Сцена»."
+"используя панель \"Сцена\"."
msgid "Save Scene As..."
msgstr "Сохранить сцену как..."
@@ -3404,7 +3411,7 @@ msgid ""
"considered a bug. Please report."
msgstr ""
"Этот параметр устаревший. Ситуации, в которых необходимо принудительное "
-"обновление считаются ошибкой. Просьба сообщить."
+"обновление, считаются ошибкой. Просьба сообщить."
msgid "Pick a Main Scene"
msgstr "Выберите главную сцену"
@@ -3413,56 +3420,53 @@ msgid "This operation can't be done without a scene."
msgstr "Эта операция не может быть выполнена без сцены."
msgid "Export Mesh Library"
-msgstr "Экспортировать библиотеку полисеток"
+msgstr "Экспорт библиотеки мешей"
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr ""
-"Не удаётся включить плагин: «%s». Ошибка синтаксического разбора файла "
-"конфигурации."
+msgstr "Невозможно включить плагин: '%s' разбор конфигурации не удался."
msgid "Unable to find script field for addon plugin at: '%s'."
-msgstr "Не удаётся найти поле script для плагина: «%s»."
+msgstr "Не удалось найти поле скрипт для плагина: '%s'."
msgid "Unable to load addon script from path: '%s'."
-msgstr "Не удалось загрузить скрипт из источника: «%s»."
+msgstr "Не удалось загрузить скрипт из источника: '%s'."
msgid ""
"Unable to load addon script from path: '%s'. This might be due to a code "
"error in that script.\n"
"Disabling the addon at '%s' to prevent further errors."
msgstr ""
-"Невозможно загрузить скрипт аддона по пути: «%s». Это может быть связано с "
+"Невозможно загрузить скрипт аддона по пути: '%s'. Это может быть связано с "
"ошибкой в коде скрипта.\n"
-"Аддон «%s» отключён для предотвращения дальнейших ошибок."
+"Отключение аддона '%s' для предотвращения дальнейших ошибок."
msgid ""
"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
msgstr ""
-"Не удалось загрузить скрипт из источника: «%s». Базовый тип не EditorPlugin."
+"Не удалось загрузить скрипт из источника: '%s' Базовый тип не EditorPlugin."
msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
-"Не удалось загрузить скрипт из источника: «%s». Скрипт не в режиме "
+"Не удалось загрузить скрипт аддона из источника: '%s'. Скрипт не в режиме "
"инструмента."
msgid ""
"Scene '%s' was automatically imported, so it can't be modified.\n"
"To make changes to it, a new inherited scene can be created."
msgstr ""
-"Сцена «%s» автоматически импортирована, поэтому не может быть "
-"модифицирована.\n"
-"Чтобы её изменить нужно создать новую унаследованную сцену."
+"Сцена '%s' была автоматически импортирована, поэтому ее нельзя изменить.\n"
+"Чтобы внести в нее изменения, можно создать новую унаследованную сцену."
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
"open the scene, then save it inside the project path."
msgstr ""
-"Ошибка при загрузке сцены, она должна быть внутри каталога проекта. "
-"Используйте «Импорт», чтобы открыть сцену, а затем сохраните её в каталоге "
+"Ошибка загрузки сцены, она должна находиться внутри каталога проекта. "
+"Используйте 'Импорт', чтобы открыть сцену, а затем сохраните её в каталоге "
"проекта."
msgid "Scene '%s' has broken dependencies:"
-msgstr "Сцена «%s» имеет испорченные зависимости:"
+msgstr "Сцена '%s' имеет сломанные зависимости:"
msgid "Clear Recent Scenes"
msgstr "Очистить недавние сцены"
@@ -3472,25 +3476,25 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Не назначена главная сцена, хотите выбрать?\n"
-"Вы можете изменить её позже в Настройках проекта (категория «application»)."
+"Ни одна главная сцена не была определена, выбрать ее?\n"
+"Вы можете изменить её позже в \"Настройки проекта\" категория 'Приложение'."
msgid ""
"Selected scene '%s' does not exist, select a valid one?\n"
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Выбранная сцена «%s» не существует, хотите выбрать другую?\n"
-"Вы можете изменить её позже в Настройках проекта (категория «application»)."
+"Выбранная сцена '%s' не существует, хотите выбрать другую?\n"
+"Вы можете изменить её позже в \"Настройки проекта\" категория 'Приложение'."
msgid ""
"Selected scene '%s' is not a scene file, select a valid one?\n"
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Выбранный файл «%s» не является файлом сцены, хотите выбрать другой?\n"
-"Вы можете изменить главную сцену позже в Настройках проекта (категория "
-"«application»)."
+"Выбранный файл '%s' не является файлом сцены, хотите выбрать другой?\n"
+"Вы можете изменить главную сцену позже в \"Настройки проекта\" категория "
+"'Приложение'."
msgid "Save Layout"
msgstr "Сохранить макет"
@@ -3537,7 +3541,7 @@ msgstr "Ещё %d файла(ов)"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-"Невозможно записать в файл «%s», файл используется, заблокирован или "
+"Невозможно записать в файл '%s', файл используется, заблокирован или "
"отсутствуют разрешения."
msgid "Pan View"
@@ -3601,10 +3605,10 @@ msgid "Save Scene"
msgstr "Сохранить сцену"
msgid "Export As..."
-msgstr "Экспортировать как..."
+msgstr "Экспорт как..."
msgid "MeshLibrary..."
-msgstr "Библиотека полисеток..."
+msgstr "Библиотека мешов..."
msgid "Close Scene"
msgstr "Закрыть сцену"
@@ -3631,7 +3635,7 @@ msgid "Version Control Settings"
msgstr "Настройки контроля версий"
msgid "Export..."
-msgstr "Экспортировать..."
+msgstr "Экспорт..."
msgid "Install Android Build Template..."
msgstr "Установить шаблон сборки Android..."
@@ -3842,7 +3846,7 @@ msgid ""
"operation again."
msgstr ""
"Шаблон сборки Android уже установлен в этом проекте и не будет перезаписан.\n"
-"Удалите директорию «res://android/build» вручную прежде чем выполнять эту "
+"Удалите директорию \"res://android/build\" вручную прежде чем выполнять эту "
"операцию снова."
msgid "Import Templates From ZIP File"
@@ -3852,7 +3856,7 @@ msgid "Template Package"
msgstr "Шаблонный пакет"
msgid "Export Library"
-msgstr "Экспортировать библиотеку"
+msgstr "Экспорт библиотеки"
msgid "Merge With Existing"
msgstr "Объединить с существующей"
@@ -3895,7 +3899,7 @@ msgid "Open Script Editor"
msgstr "Открыть редактор скриптов"
msgid "Open Asset Library"
-msgstr "Открыть библиотеку шаблонов"
+msgstr "Открыть библиотеку ассетов"
msgid "Open the next Editor"
msgstr "Открыть следующий редактор"
@@ -3916,7 +3920,7 @@ msgid "Open a list of sub-resources."
msgstr "Открыть список вложенных ресурсов."
msgid "Creating Mesh Previews"
-msgstr "Создание предпросмотра"
+msgstr "Создание предпросмотра меша"
msgid "Thumbnail..."
msgstr "Миниатюра..."
@@ -4017,7 +4021,7 @@ msgid ""
msgstr ""
"Невозможно создать ViewportTexture для этого ресурса, потому что он не "
"установлен как локальный для сцены.\n"
-"Пожалуйста, включите свойство «Локально для сцены» для него (и для всех "
+"Пожалуйста, включите свойство 'локально для сцены' для него (и для всех "
"родительских ресурсов)."
msgid "Pick a Viewport"
@@ -4123,7 +4127,7 @@ msgstr "Уже существует отредактированная сцен
msgid ""
"Couldn't run editor script, did you forget to override the '_run' method?"
msgstr ""
-"Не удалось запустить скрипт редактора, вы забыли переопределить метод «_run»?"
+"Не удалось запустить скрипт редактора, вы забыли переопределить метод '_run'?"
msgid "Edit Built-in Action"
msgstr "Изменить встроенное действие"
@@ -4247,15 +4251,15 @@ msgid ""
"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
"ETC2 ASTC' in Project Settings."
msgstr ""
-"Целевая платформа требует сжатие текстур «ETC2/ASTC». Включите "
-"«Импортировать ETC2 ASTC» в Настройках проекта."
+"Целевая платформа требует сжатие текстур 'ETC2/ASTC'. Включите "
+"'Импортировать ETC2 ASTC' в Настройках проекта."
msgid ""
"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
"S3TC BPTC' in Project Settings."
msgstr ""
-"Целевая платформа требует сжатие текстур «S3TC/BPTC». Включите "
-"«Импортировать S3TC BPTC» в Настройках проекта."
+"Целевая платформа требует сжатие текстур 'S3TC/BPTC'. Включите "
+"'Импортировать S3TC BPTC' в Настройках проекта."
msgid "Project export for platform:"
msgstr "Экспорт проекта для платформы:"
@@ -4297,10 +4301,10 @@ msgid "Failed to export project files."
msgstr "Не удалось экспортировать файлы проекта."
msgid "Can't open file for writing at path \"%s\"."
-msgstr "По адресу \"%s\" не удается открыть файл для записи."
+msgstr "По адресу \"%s\" не удаётся открыть файл для записи."
msgid "Can't open file for reading-writing at path \"%s\"."
-msgstr "По пути \"%s\" не удается открыть файл для чтения-записи."
+msgstr "По пути \"%s\" не удаётся открыть файл для чтения-записи."
msgid "Can't create encrypted file."
msgstr "Не удалось создать зашифрованный файл."
@@ -4309,7 +4313,7 @@ msgid "Can't open encrypted file to write."
msgstr "Не удалось открыть зашифрованный файл для записи."
msgid "Can't open file to read from path \"%s\"."
-msgstr "Не удается открыть файл для чтения из пути \"%s\"."
+msgstr "Не удаётся открыть файл для чтения из пути \"%s\"."
msgid "Save ZIP"
msgstr "Сохранить ZIP"
@@ -4389,7 +4393,7 @@ msgid ""
"The problematic templates archives can be found at '%s'."
msgstr ""
"Ошибка установки шаблонов.\n"
-"Архивы с проблемными шаблонами можно найти в «%s»."
+"Архивы с проблемными шаблонами можно найти в '%s'."
msgid "Error getting the list of mirrors."
msgstr "Ошибка при получении списка зеркал."
@@ -4458,7 +4462,7 @@ msgid "Importing:"
msgstr "Импортируется:"
msgid "Remove templates for the version '%s'?"
-msgstr "Удалить шаблоны для версии «%s»?"
+msgstr "Удалить шаблоны для версии '%s'?"
msgid "Uncompressing Android Build Sources"
msgstr "Распаковка исходников сборки Android"
@@ -4507,7 +4511,7 @@ msgstr ""
"зеркал."
msgid "Official export templates aren't available for development builds."
-msgstr "Официальные шаблоны экспорта недоступны для рабочих сборок."
+msgstr "Официальные шаблоны экспорта недоступны для dev сборок."
msgid "Install from File"
msgstr "Установить из файла"
@@ -4542,15 +4546,18 @@ msgid "Runnable"
msgstr "Активный"
msgid "Export the project for all the presets defined."
-msgstr "Экспортируйте проект для всех заданных предустановок."
+msgstr "Экспорт проекта для всех заданных предустановок."
msgid "All presets must have an export path defined for Export All to work."
msgstr ""
"Для работы функции \"Экспортировать все\" у всех предустановок должен быть "
"определен путь экспорта."
+msgid "Resources to export:"
+msgstr "Ресурсы для экспорта:"
+
msgid "Delete preset '%s'?"
-msgstr "Удалить пресет «%s»?"
+msgstr "Удалить пресет '%s'?"
msgid "%s Export"
msgstr "Экспорт для %s"
@@ -4588,26 +4595,23 @@ msgid "Resources"
msgstr "Ресурсы"
msgid "Export all resources in the project"
-msgstr "Экспортировать все ресурсы проекта"
+msgstr "Экспорт всех ресурсов проекта"
msgid "Export selected scenes (and dependencies)"
-msgstr "Экспортировать выбранные сцены (включая зависимости)"
+msgstr "Экспорт выбранных сцен (включая зависимости)"
msgid "Export selected resources (and dependencies)"
-msgstr "Экспортировать выбранные ресурсы (включая зависимости)"
+msgstr "Экспорт выбранных ресурсов (включая зависимости)"
msgid "Export all resources in the project except resources checked below"
-msgstr "Экспортировать все ресурсы в проекте, кроме отмеченных ниже"
+msgstr "Экспорт всех ресурсов в проекте, кроме отмеченных ниже"
msgid "Export as dedicated server"
-msgstr "Экпортировать как выделенный сервер"
+msgstr "Экспорт как выделенный сервер"
msgid "Export Mode:"
msgstr "Режим экспортирования:"
-msgid "Resources to export:"
-msgstr "Ресурсы для экспорта:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr "\"Убрать визуал\" заменит следующие ресурсы на заполнители:"
@@ -4622,7 +4626,7 @@ msgid ""
"Filters to export non-resource files/folders\n"
"(comma-separated, e.g: *.json, *.txt, docs/*)"
msgstr ""
-"Фильтры для экспорта нересурсных файлов/папок\n"
+"Фильтры для экспорта не ресурсных файлов/папок\n"
"(через запятую, например: *.json, *.txt, docs/*)"
msgid ""
@@ -4645,7 +4649,7 @@ msgid "Encryption"
msgstr "Шифрование"
msgid "Encrypt Exported PCK"
-msgstr "Шифровать экпортированный PCK"
+msgstr "Шифровать экспортированный PCK"
msgid "Encrypt Index (File Names and Info)"
msgstr "Шифровать индекс (имена файлов и информацию)"
@@ -4682,10 +4686,10 @@ msgid "More Info..."
msgstr "Подробнее..."
msgid "Export PCK/ZIP..."
-msgstr "Экспортировать PCK/ZIP..."
+msgstr "Экспорт PCK/ZIP..."
msgid "Export Project..."
-msgstr "Экспортировать проект..."
+msgstr "Экспорт проекта..."
msgid "Export All"
msgstr "Экспортировать всё"
@@ -5215,7 +5219,7 @@ msgid "Prerendered multichannel(+true) signed distance field"
msgstr "Предрендерное многоканальное (+true) подписанное поле расстояния"
msgid "Can't load font texture:"
-msgstr "Не удается загрузить текстуру шрифта:"
+msgstr "Не удаётся загрузить текстуру шрифта:"
msgid "Image margin too big."
msgstr "Поля изображения слишком большие."
@@ -5315,7 +5319,7 @@ msgid "Select folder to extract material resources"
msgstr "Выбрать папку для извлечения материалов"
msgid "Select folder where mesh resources will save on import"
-msgstr "Выберите папку, в которую будут сохраняться ресурсы меша при импорте"
+msgstr "Выберите папку, в которую будут сохраняться ресурсы мешей при импорте"
msgid "Select folder where animations will save on import"
msgstr "Выберите папку, в которую будут сохраняться анимации при импорте"
@@ -5377,15 +5381,15 @@ msgid ""
"Mesh has no name nor any other way to identify on re-import.\n"
"Please name it or ensure it is exported with an unique ID."
msgstr ""
-"У меша нет ни имени, ни другого способа идентификации при повторном "
+"Меш не имеет ни имени, ни другого способа идентификации при повторном "
"импорте.\n"
"Пожалуйста, назовите его или убедитесь, что он экспортируется с уникальным "
"ID."
msgid "Set paths to save meshes as resource files on Reimport"
msgstr ""
-"Установка путей для сохранения меша в качестве файлов ресурсов при повторном "
-"импорте"
+"Установка путей для сохранения мешей в качестве файлов ресурсов при "
+"повторном импорте"
msgid "Set Paths"
msgstr "Задать пути"
@@ -5418,7 +5422,7 @@ msgid "Set Mesh Save Paths"
msgstr "Задать пути сохранения меша"
msgid "Meshes"
-msgstr "Сетка"
+msgstr "Меши"
msgid "Materials"
msgstr "Материалы"
@@ -5451,10 +5455,10 @@ msgid "%d Files"
msgstr "%d файлов"
msgid "Set as Default for '%s'"
-msgstr "Установить по умолчанию для «%s»"
+msgstr "Установить по умолчанию для '%s'"
msgid "Clear Default for '%s'"
-msgstr "Очистить по умолчанию для «%s»"
+msgstr "Очистить по умолчанию для '%s'"
msgid ""
"You have pending changes that haven't been applied yet. Click Reimport to "
@@ -5463,10 +5467,10 @@ msgid ""
"first will discard changes made in the Import dock."
msgstr ""
"У вас есть изменения, которые ещё не были применены. Нажмите "
-"«Переимпортировать», чтобы применить изменения, внесённые в параметры "
+"Переимпортировать, чтобы применить изменения, внесённые в параметры "
"импорта.\n"
-"Если выбрать другой ресурс в панели «Файловая система», не нажав сначала "
-"«Переимпортировать», то сделанные в панели «Импорт» изменения будут потеряны."
+"Если выбрать другой ресурс в панели \"Файловая система\", не нажав сначала "
+"Переимпортировать, то сделанные в панели \"Импорт\" изменения будут потеряны."
msgid "Import As:"
msgstr "Импортировать как:"
@@ -5486,8 +5490,8 @@ msgstr "Изменение типа импортированного файла
msgid ""
"WARNING: Assets exist that use this resource, they may stop loading properly."
msgstr ""
-"Предупреждение: существуют объекты, которые используют этот ресурс, они "
-"могут перестать загружаться должным образом."
+"Предупреждение: Существуют ассеты, использующие этот ресурс, они могут "
+"перестать загружаться должным образом."
msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
@@ -5533,7 +5537,7 @@ msgid ""
"Automatically remaps between 'Meta' ('Command') and 'Control' depending on "
"current platform."
msgstr ""
-"Автоматическое переключение между «Meta» («Command») и «Control» в "
+"Автоматическое переключение между 'Meta' ('Command') и 'Control' в "
"зависимости от текущей платформы."
msgid "Keycode (Latin Equivalent)"
@@ -5929,7 +5933,7 @@ msgid ""
"names."
msgstr ""
"Анимация игрока не имеет действующего пути корневого узла, поэтому не "
-"удается получить отслеживаемые имена."
+"удаётся получить отслеживаемые имена."
msgid "Anim Clips"
msgstr "Анимационные клипы"
@@ -5962,7 +5966,7 @@ msgid "Animation name can't be empty."
msgstr "Имя анимации не может быть пустым."
msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
-msgstr "Имя анимации содержит недопустимые символы: «/», «:», «,» или «[»."
+msgstr "Имя анимации содержит недопустимые символы: '/', ':', ',' или '['."
msgid "Animation with the same name already exists."
msgstr "Анимация с таким именем уже существует."
@@ -5971,7 +5975,7 @@ msgid "Enter a library name."
msgstr "Введите имя библиотеки."
msgid "Library name contains invalid characters: '/', ':', ',' or '['."
-msgstr "Имя библиотеки содержит недопустимые символы: «/», «:», «,» или «[»."
+msgstr "Имя библиотеки содержит недопустимые символы: '/', ':', ',' или '['."
msgid "Library with the same name already exists."
msgstr "Библиотека с таким именем уже существует."
@@ -6143,7 +6147,7 @@ msgid "Change Animation Name:"
msgstr "Изменить имя анимации:"
msgid "Delete Animation '%s'?"
-msgstr "Удалить анимацию «%s»?"
+msgstr "Удалить анимацию '%s'?"
msgid "Remove Animation"
msgstr "Удалить анимацию"
@@ -6152,7 +6156,7 @@ msgid "Invalid animation name!"
msgstr "Недопустимое название анимации!"
msgid "Animation '%s' already exists!"
-msgstr "Анимация «%s» уже существует!"
+msgstr "Анимация '%s' уже существует!"
msgid "Duplicate Animation"
msgstr "Дублировать анимацию"
@@ -6418,7 +6422,7 @@ msgid "Failed SHA-256 hash check"
msgstr "Не удалось проверить хеш SHA-256"
msgid "Asset Download Error:"
-msgstr "Ошибка загрузки шаблона:"
+msgstr "Ошибка загрузки ассета:"
msgid "Ready to install!"
msgstr "Готово к установке!"
@@ -6494,7 +6498,7 @@ msgid "All"
msgstr "Все"
msgid "No results for \"%s\" for support level(s): %s."
-msgstr "Нет результатов для «%s» для уровней поддержки: %s."
+msgstr "Нет результатов для \"%s\" для уровней поддержки: %s."
msgid ""
"No results compatible with %s %s for support level(s): %s.\n"
@@ -6509,7 +6513,7 @@ msgid "Search Templates, Projects, and Demos"
msgstr "Искать шаблоны, проекты и демо"
msgid "Search Assets (Excluding Templates, Projects, and Demos)"
-msgstr "Искать ресурсы (исключая шаблоны, проекты и демо)"
+msgstr "Искать ассеты (исключая шаблоны, проекты и демо)"
msgid "Import..."
msgstr "Импорт..."
@@ -6533,7 +6537,7 @@ msgid "Failed to get repository configuration."
msgstr "Не удалось получить конфигурацию репозитория."
msgid "Assets ZIP File"
-msgstr "ZIP файл набора"
+msgstr "ZIP файл ассетов"
msgid "Audio Preview Play/Pause"
msgstr "Аудио пред прослушивание Старт/Пауза"
@@ -6596,34 +6600,34 @@ msgid "Create Horizontal and Vertical Guides"
msgstr "Создать горизонтальные и вертикальные направляющие"
msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
-msgstr "Задать Pivot Offset узла CanvasItem «%s» в (%d, %d)"
+msgstr "Задать Pivot Offset узла CanvasItem \"%s\" в (%d, %d)"
msgid "Rotate %d CanvasItems"
msgstr "Вращать %d узлов CanvasItem"
msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr "Повернуть узел CanvasItem «%s» на %d градусов"
+msgstr "Повернуть узел CanvasItem \"%s\" на %d градусов"
msgid "Move CanvasItem \"%s\" Anchor"
-msgstr "Передвинуть якорь узла CanvasItem «%s»"
+msgstr "Передвинуть якорь узла CanvasItem \"%s\""
msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr "Масштабировать узел Node2D «%s» в (%s, %s)"
+msgstr "Масштабировать узел Node2D \"%s\" в (%s, %s)"
msgid "Resize Control \"%s\" to (%d, %d)"
-msgstr "Изменить размер узла Control «%s» на (%d, %d)"
+msgstr "Изменить размер узла Control \"%s\" на (%d, %d)"
msgid "Scale %d CanvasItems"
msgstr "Масштабировать %d узлов CanvasItem"
msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr "Масштабировать узел CanvasItem «%s» в (%s, %s)"
+msgstr "Масштабировать узел CanvasItem \"%s\" в (%s, %s)"
msgid "Move %d CanvasItems"
msgstr "Передвинуть %d узлов CanvasItem"
msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr "Передвинуть CanvasItem «%s» в (%d, %d)"
+msgstr "Передвинуть CanvasItem \"%s\" в (%d, %d)"
msgid "Locked"
msgstr "Заблокирован"
@@ -6769,6 +6773,12 @@ msgstr "При клике изменяет точку вращения объе
msgid "Pan Mode"
msgstr "Режим осмотра"
+msgid ""
+"You can also use Pan View shortcut (Space by default) to pan in any mode."
+msgstr ""
+"Вы также можете использовать сочетание клавиш Pan View (пробел по умолчанию) "
+"для панорамирования в любом режиме."
+
msgid "Ruler Mode"
msgstr "Режим измерения"
@@ -6966,7 +6976,7 @@ msgid "Hold Alt when dropping to add as a different node type."
msgstr "Удерживайте Alt при удалении, чтобы добавить узел другого типа."
msgid "Cannot instantiate multiple nodes without root."
-msgstr "Не удается создать несколько узлов без корня."
+msgstr "Не удаётся создать несколько узлов без корня."
msgid "Create Node"
msgstr "Создать узел"
@@ -7249,7 +7259,7 @@ msgstr ""
"только исполняемый файл без данных проекта.\n"
"Файловая система проекта будет предоставляться редактором через сеть.\n"
"На Android развёртывание будет быстрее при подключении через USB. Эта опция "
-"ускоряет тестирование проектов с большими ресурсами."
+"ускоряет тестирование проектов с большими ассетами."
msgid "Visible Collision Shapes"
msgstr "Видимые области соприкосновения"
@@ -7278,7 +7288,7 @@ msgid ""
"When this option is enabled, navigation meshes and polygons will be visible "
"in the running project."
msgstr ""
-"Когда эта опция включена, навигационные полисетки и полигоны будут видны в "
+"Когда эта опция включена, навигационные меши и полигоны будут видны в "
"запущенном проекте."
msgid "Synchronize Scene Changes"
@@ -7312,6 +7322,13 @@ msgstr ""
msgid "Keep Debug Server Open"
msgstr "Держать сервер отладки открытым"
+msgid ""
+"When this option is enabled, the editor debug server will stay open and "
+"listen for new sessions started outside of the editor itself."
+msgstr ""
+"Когда эта опция включена, сервер отладки редактора будет оставаться открытым "
+"и прослушивать новые сеансы, запущенные вне самого редактора."
+
msgid "Run Multiple Instances"
msgstr "Запустить несколько экземпляров"
@@ -7347,7 +7364,7 @@ msgid " - Variation"
msgstr " - Вариация"
msgid "Unable to preview font"
-msgstr "Не удается отобразить шрифт"
+msgstr "Не удаётся отобразить шрифт"
msgid "Convert to CPUParticles2D"
msgstr "Преобразовать в CPUParticles2D"
@@ -7381,10 +7398,10 @@ msgid "\"%s\" doesn't inherit from Node3D."
msgstr "\"%s\" не наследуется от Node3D."
msgid "\"%s\" doesn't contain geometry."
-msgstr "«%s» не содержит геометрии."
+msgstr "\"%s\" не содержит геометрии."
msgid "\"%s\" doesn't contain face geometry."
-msgstr "«%s» не содержит геометрии с гранями."
+msgstr "\"%s\" не содержит геометрии с гранями."
msgid "Create Emitter"
msgstr "Создать излучатель"
@@ -7405,7 +7422,7 @@ msgid "Emission Source:"
msgstr "Источник излучения:"
msgid "A processor material of type 'ParticleProcessMaterial' is required."
-msgstr "Требуется материал типа «ParticleProcessMaterial»."
+msgstr "Требуется материал типа 'ParticleProcessMaterial'."
msgid "Convert to CPUParticles3D"
msgstr "Преобразовать в CPUParticles3D"
@@ -7450,7 +7467,7 @@ msgid ""
msgstr ""
"При запекании GPUParticlesCollisionSDF3D лицевые части не обнаружены.\n"
"Проверьте, есть ли видимые меши, соответствующие маске запекания в пределах "
-"ее границ."
+"её границ."
msgid "Select path for SDF Texture"
msgstr "Выбрать путь к SDF текстуре"
@@ -7487,12 +7504,12 @@ msgid ""
"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake "
"Light' flag is on."
msgstr ""
-"Нет сетки для генерации. Убедитесь, что они содержат канал UV2 и что маркер "
-"\"Запекать освещение\" активен."
+"Нет мешей для генерации. Убедитесь, что они содержат канал UV2 и что маркер "
+"'Запекать освещение' активен."
msgid "Failed creating lightmap images, make sure path is writable."
msgstr ""
-"Сбой создания карты освещенности, убедитесь, что путь доступен для записи."
+"Сбой создания карты освещённости, убедитесь, что путь доступен для записи."
msgid "No editor scene root found."
msgstr "Корневая сцена редактора не найдена."
@@ -7510,7 +7527,7 @@ msgid "Select lightmap bake file:"
msgstr "Выберите файл запекания карты освещения:"
msgid "Mesh is empty!"
-msgstr "Полисетка пуста!"
+msgstr "Меш пуст!"
msgid "Couldn't create a Trimesh collision shape."
msgstr "Невозможно создать треугольную сетку для формы столкновений."
@@ -7547,39 +7564,47 @@ msgid "Create Multiple Convex Shapes"
msgstr "Создать нескольких выпуклых фигур"
msgid "Create Navigation Mesh"
-msgstr "Создать полисетку навигации"
+msgstr "Создать меш навигации"
msgid "Create Debug Tangents"
msgstr "Отладка генерации касательной"
msgid "Contained Mesh is not of type ArrayMesh."
-msgstr "Полисетка не ArrayMesh типа."
+msgstr "Содержимое меша не типа ArrayMesh."
msgid ""
"Mesh cannot unwrap UVs because it does not belong to the edited scene. Make "
"it unique first."
msgstr ""
-"UVs сетки не могут быть развернуты, потому что они не принадлежат "
-"редактируемой сцене. Сначала ее нужно сделать уникальной."
+"UVs меша не могут быть развернуты, потому что он не принадлежит "
+"редактируемой сцене. Сначала сделайте его уникальным."
+
+msgid ""
+"Mesh cannot unwrap UVs because it belongs to another resource which was "
+"imported from another file type. Make it unique first."
+msgstr ""
+"Меш не может развернуть UV, потому что он принадлежит другому ресурсу, "
+"который был импортирован из файла другого типа. Сначала сделайте его "
+"уникальным."
msgid ""
"Mesh cannot unwrap UVs because it was imported from another file type. Make "
"it unique first."
msgstr ""
-"UVs сетки не могут быть развернуты, поскольку она была импортирована из "
-"файла другого типа. Сначала ее необходимо сделать уникальной."
+"UVs меша не могут быть развернуты, поскольку он был импортирован из файла "
+"другого типа. Сначала сделайте его уникальным."
msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr "UV развертка не удалась, возможно у полисетки не односвязная форма?"
+msgstr "UV развертка не удалась, возможно у меша не односвязная форма?"
msgid "Unwrap UV2"
msgstr "Развернуть UV2"
msgid "No mesh to debug."
-msgstr "Нет полисетки для отладки."
+msgstr "Нет меша для отладки."
msgid "Mesh has no UV in layer %d."
-msgstr "Полисетка не имеет UV в слое %d."
+msgstr "Меш не имеет UV в слое %d."
msgid "MeshInstance3D lacks a Mesh."
msgstr "В MeshInstance3D отсутствует Mesh."
@@ -7656,7 +7681,7 @@ msgstr ""
"столкновением и столкновением на основе полигонов."
msgid "Create Outline Mesh..."
-msgstr "Создать полисетку обводки..."
+msgstr "Создать меш обводку..."
msgid ""
"Creates a static outline mesh. The outline mesh will have its normals "
@@ -7664,10 +7689,10 @@ msgid ""
"This can be used instead of the StandardMaterial Grow property when using "
"that property isn't possible."
msgstr ""
-"Создать статический контурый меш. Нормали меша будут повёрнуты "
+"Создает статическую меш обводку. Нормали меша обводки будут перевернуты "
"автоматически.\n"
-"Можно использовать вместо свойства Grow в SpatialMaterial, если нет "
-"возможности использовать Grow."
+"Это можно использовать вместо свойства Рост в StandardMaterial, когда "
+"использование этого свойства невозможно."
msgid "View UV1"
msgstr "Просмотр UV1"
@@ -7679,7 +7704,7 @@ msgid "Unwrap UV2 for Lightmap/AO"
msgstr "Развернуть UV2 для Lightmap/AO"
msgid "Create Outline Mesh"
-msgstr "Создать полисетку обводки"
+msgstr "Создать меш обводку"
msgid "Outline Size:"
msgstr "Размер обводки:"
@@ -7698,7 +7723,7 @@ msgstr ""
"%s"
msgid "MeshLibrary"
-msgstr "Библиотека сеток"
+msgstr "Библиотека мешов"
msgid "Add Item"
msgstr "Добавить элемент"
@@ -7722,19 +7747,19 @@ msgid "Apply with Transforms"
msgstr "Применить с преобразованиями"
msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr "Не указан источник полисетки (и MultiMesh не указана в узле)."
+msgstr "Не указан источник меша (и MultiMesh не указан в узле)."
msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr "Не указана исходная полисетка (и в MultiMesh нет полисетки)."
+msgstr "Не указан исходный меш (и MultiMesh не содержит Mesh)."
msgid "Mesh source is invalid (invalid path)."
-msgstr "Источник полисетки является недействительным (неверный путь)."
+msgstr "Источник меша недействителен (неверный путь)."
msgid "Mesh source is invalid (not a MeshInstance3D)."
-msgstr "Источник полисетки является недействительным (не MeshInstance3D)."
+msgstr "Источник меша недействителен (не MeshInstance3D)."
msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr "Источник полисетки является недействительным (нет ресурса полисетки)."
+msgstr "Источник меша недействителен (нет содержит Mesh ресурса)."
msgid "No surface source specified."
msgstr "Поверхность источника не определена."
@@ -7749,7 +7774,7 @@ msgid "Surface source is invalid (no faces)."
msgstr "Поверхность источника недопустима (нет граней)."
msgid "Select a Source Mesh:"
-msgstr "Выберите источник полисетки:"
+msgstr "Выберите источник меша:"
msgid "Select a Target Surface:"
msgstr "Выберите целевую поверхность:"
@@ -7758,13 +7783,13 @@ msgid "Populate Surface"
msgstr "Заполнить поверхность"
msgid "Populate MultiMesh"
-msgstr "Заполнить мульти полисетку"
+msgstr "Заполнить MultiMesh"
msgid "Target Surface:"
msgstr "Целевая поверхность:"
msgid "Source Mesh:"
-msgstr "Исходная полисетка:"
+msgstr "Исходный меш:"
msgid "X-Axis"
msgstr "Ось X"
@@ -7776,7 +7801,7 @@ msgid "Z-Axis"
msgstr "Ось Z"
msgid "Mesh Up Axis:"
-msgstr "Ось вверх полисетки:"
+msgstr "Ось вверх меша:"
msgid "Random Rotation:"
msgstr "Случайный поворот:"
@@ -8085,7 +8110,7 @@ msgid "VoxelGI/SDFGI Buffer"
msgstr "Буфер VoxelGI/SDFGI"
msgid "Disable Mesh LOD"
-msgstr "Отключить LOD полисетки"
+msgstr "Отключить LOD меша"
msgid "OmniLight3D Cluster"
msgstr "Кластер OmniLight3D"
@@ -8216,7 +8241,7 @@ msgstr ""
"Открытый глаз: Гизмо видно.\n"
"Закрытый глаз: Гизмо скрыто.\n"
"Полуоткрытый глаз: Гизмо также видно сквозь непрозрачные поверхности "
-"(«рентген»)."
+"(\"рентген\")."
msgid "Snap Nodes to Floor"
msgstr "Привязать узлы к полу"
@@ -8227,15 +8252,48 @@ msgstr "Не удалось найти сплошной пол, к которо
msgid "Add Preview Sun to Scene"
msgstr "Добавить предварительный просмотр солнца в сцену"
+msgid "Add Preview Environment to Scene"
+msgstr "Добавить предпросмотр окружения в сцену"
+
+msgid ""
+"Scene contains\n"
+"DirectionalLight3D.\n"
+"Preview disabled."
+msgstr ""
+"Сцена содержит\n"
+"DirectionalLight3D.\n"
+"Предпросмотр отключен."
+
msgid "Preview disabled."
msgstr "Превью отключено."
+msgid ""
+"Scene contains\n"
+"WorldEnvironment.\n"
+"Preview disabled."
+msgstr ""
+"Сцена содержит\n"
+"WorldEnvironment.\n"
+"Предпросмотр отключен."
+
msgid "Use Local Space"
msgstr "Использовать локальное пространство"
msgid "Use Snap"
msgstr "Использовать привязки"
+msgid ""
+"Toggle preview sunlight.\n"
+"If a DirectionalLight3D node is added to the scene, preview sunlight is "
+"disabled."
+msgstr ""
+"Включить предварительный просмотр солнечного света.\n"
+"Если к сцене добавляется узел DirectionalLight3D, предварительный просмотр "
+"солнечного света отключается."
+
+msgid "Edit Sun and Environment settings."
+msgstr "Изменить настройки солнца и окружения."
+
msgid "Bottom View"
msgstr "Вид снизу"
@@ -8377,9 +8435,30 @@ msgstr "До"
msgid "Post"
msgstr "После"
+msgid "Preview Sun"
+msgstr "Предпросмотр солнца"
+
+msgid "Sun Direction"
+msgstr "Направление солнечного света"
+
+msgid "Angular Altitude"
+msgstr "Угол места"
+
+msgid "Azimuth"
+msgstr "Азимут"
+
msgid "Sun Color"
msgstr "Цвет солнца"
+msgid "Sun Energy"
+msgstr "Энергия солнца"
+
+msgid "Shadow Max Distance"
+msgstr "Максимальная дальность тени"
+
+msgid "Add Sun to Scene"
+msgstr "Добавить солнце в сцену"
+
msgid ""
"Adds a DirectionalLight3D node matching the preview sun settings to the "
"current scene.\n"
@@ -8391,12 +8470,30 @@ msgstr ""
"Удерживайте Shift при нажатии, чтобы также добавить предпросмотр окружения к "
"текущей сцене."
+msgid "Preview Environment"
+msgstr "Предпросмотр окружения"
+
+msgid "Sky Color"
+msgstr "Цвет неба"
+
+msgid "AO"
+msgstr "AO"
+
msgid "Glow"
msgstr "Свечение"
msgid "Tonemap"
msgstr "Карта тональности"
+msgid "GI"
+msgstr "GI"
+
+msgid "Post Process"
+msgstr "Пост-обработка"
+
+msgid "Add Environment to Scene"
+msgstr "Добавить окружение в сцену"
+
msgid ""
"Adds a WorldEnvironment node matching the preview environment settings to "
"the current scene.\n"
@@ -8404,7 +8501,7 @@ msgid ""
msgstr ""
"Добавляет узел WorldEnvironment, соответствующий настройкам предпросмотра "
"окружения, в текущую сцену.\n"
-"Удерживайте Shift при нажатии, чтобы также добавить предпросмотра солнца к "
+"Удерживайте Shift при нажатии, чтобы также добавить предпросмотр солнца к "
"текущей сцене."
msgid "Remove Point from Curve"
@@ -8686,7 +8783,7 @@ msgid "Clear Recent Files"
msgstr "Очистить недавние файлы"
msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr "Не удалось открыть «%s». Файл мог быть перемещён или удалён."
+msgstr "Не удалось открыть '%s'. Файл мог быть перемещён или удалён."
msgid "Close and save changes?"
msgstr "Закрыть и сохранить изменения?"
@@ -8721,6 +8818,9 @@ msgstr "Не удалось загрузить файл:"
msgid "Save File As..."
msgstr "Сохранить как..."
+msgid "Reload only takes effect on tool scripts."
+msgstr "Перезагрузка действует только для скриптов инструментов."
+
msgid "Can't obtain the script for running."
msgstr "Не удаётся получить скрипт для запуска."
@@ -8875,8 +8975,8 @@ msgstr "Ошибка в (%d, %d):"
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
msgstr ""
-"Отсутствует подключённый метод «%s» для сигнала «%s» от узла «%s» к узлу "
-"«%s»."
+"Отсутствует подключённый метод '%s' для сигнала '%s' от узла '%s' к узлу "
+"'%s'."
msgid "[Ignore]"
msgstr "[Игнорировать]"
@@ -8892,8 +8992,8 @@ msgstr "Можно перетащить только ресурс из файл
msgid "Can't drop nodes because script '%s' is not used in this scene."
msgstr ""
-"Невозможно перетащить узлы, потому что в этой сцене не используется скрипт "
-"«%s»."
+"Невозможно перетащить узлы, потому что скрипт '%s' не используется в этой "
+"сцене."
msgid "Lookup Symbol"
msgstr "Поиск"
@@ -8992,7 +9092,10 @@ msgid "Go to Previous Breakpoint"
msgstr "Перейти к предыдущей точке останова"
msgid "Load Shader File"
-msgstr "Загрузить файл шейдера"
+msgstr "Открыть файл шейдера"
+
+msgid "Load Shader Include File"
+msgstr "Открыть Include файл шейдера"
msgid "Save File"
msgstr "Сохранить файл"
@@ -9009,6 +9112,19 @@ msgstr "Закрыть файл"
msgid "Shader Editor"
msgstr "Редактор шейдеров"
+msgid "No valid shader stages found."
+msgstr "Допустимых этапов шейдера не найдено."
+
+msgid "Shader stage compiled without errors."
+msgstr "Этап шейдера скомпилирован без ошибок."
+
+msgid ""
+"File structure for '%s' contains unrecoverable errors:\n"
+"\n"
+msgstr ""
+"Структура файла для '%s' содержит неустранимые ошибки:\n"
+"\n"
+
msgid "ShaderFile"
msgstr "Файл шейдера"
@@ -9044,7 +9160,7 @@ msgstr ""
"Не удалось экспортировать SkeletonProfile для узла Skeleton3D без костей."
msgid "Export Skeleton Profile As..."
-msgstr "Экспортировать профиль скелета как..."
+msgstr "Экспорт профиля скелета как..."
msgid "Set Bone Parentage"
msgstr "Привязать кость к родителю"
@@ -9058,9 +9174,28 @@ msgstr "Сбросить все позы костей"
msgid "Reset Selected Poses"
msgstr "Сбросить выделенные позы"
+msgid "Apply All Poses to Rests"
+msgstr "Применить все позы к покою"
+
+msgid "Apply Selected Poses to Rests"
+msgstr "Применить выбранные позы к покою"
+
msgid "Create Physical Skeleton"
msgstr "Создать физический скелет"
+msgid "Export Skeleton Profile"
+msgstr "Экспорт профиля скелета"
+
+msgid ""
+"Edit Mode\n"
+"Show buttons on joints."
+msgstr ""
+"Режим редактирования\n"
+"Показать кнопки на стыках."
+
+msgid "Insert key of bone poses already exist track."
+msgstr "Вставьте ключ позиции кости в уже существующей дорожке."
+
msgid "Bone Transform"
msgstr "Трансформация костей"
@@ -9099,10 +9234,10 @@ msgstr "Sprite2D пуст!"
msgid "Can't convert a sprite using animation frames to mesh."
msgstr ""
-"Не удается преобразовать спрайт использующий анимационные кадры в сетку."
+"Не удаётся преобразовать спрайт использующий анимационные кадры в сетку."
msgid "Invalid geometry, can't replace by mesh."
-msgstr "Недопустимая геометрия, не может быть заменена полисеткой."
+msgstr "Недопустимая геометрия, не может быть заменена мешем."
msgid "Convert to MeshInstance2D"
msgstr "Преобразование в MeshInstance2D"
@@ -9238,7 +9373,7 @@ msgid "Create Frames from Sprite Sheet"
msgstr "Создать кадры из спрайт-листа"
msgid "SpriteFrames"
-msgstr "Спрайт кадры"
+msgstr "Кадровая анимация"
msgid "Warnings should be fixed to prevent errors."
msgstr "Предупреждения должны быть устранены для предотвращения ошибок."
@@ -9250,6 +9385,9 @@ msgstr ""
"Этот шейдер был изменён на диске.\n"
"Какое действие должно быть предпринято?"
+msgid "%s Mipmaps"
+msgstr "%s Mipmaps"
+
msgid "Memory: %s"
msgstr "Память: %s"
@@ -9295,6 +9433,12 @@ msgstr[2] "{num} констант"
msgid "No constants found."
msgstr "Константы не найдены."
+msgid "1 font"
+msgid_plural "{num} fonts"
+msgstr[0] "1 шрифт"
+msgstr[1] "{num} шрифта"
+msgstr[2] "{num} шрифтов"
+
msgid "No fonts found."
msgstr "Шрифты не найдены."
@@ -9442,8 +9586,8 @@ msgid ""
"closing this window.\n"
"Close anyway?"
msgstr ""
-"На вкладке «Импорт элементов» выбраны некоторые элементы. При закрытии этого "
-"окна выбор будет потерян.\n"
+"На вкладке \"Импорт элементов\" выбраны некоторые элементы. При закрытии "
+"этого окна выбор будет потерян.\n"
"Всё равно закрыть?"
msgid "Remove Type"
@@ -9625,6 +9769,12 @@ msgstr "Добавить тип"
msgid "Override All Default Theme Items"
msgstr "Переопределить все элементы темы по умолчанию"
+msgid "Set Font Size Item in Theme"
+msgstr "Задать размер шрифта в теме"
+
+msgid "Set Icon Item in Theme"
+msgstr "Задтать элемент значка в теме"
+
msgid "Set Variation Base Type"
msgstr "Задать базовый тип вариации"
@@ -9751,7 +9901,7 @@ msgstr "Есть,Много,Вариантов"
msgid "Invalid path, the PackedScene resource was probably moved or removed."
msgstr ""
-"Недопустимый путь, ресурс PackedScene, вероятно, был перемещен или удален."
+"Недопустимый путь, ресурс PackedScene, вероятно, был перемещён или удалён."
msgid "Invalid PackedScene resource, must have a Control node at its root."
msgstr ""
@@ -9763,6 +9913,48 @@ msgstr "Неверный файл, не ресурс PackedScene."
msgid "Reload the scene to reflect its most actual state."
msgstr "Перезагрузите сцену, чтобы отразить её наиболее актуальное состояние."
+msgid "Merge TileSetAtlasSource"
+msgstr "Объединить TileSetAtlasSource"
+
+msgid "%s (ID: %d)"
+msgstr "%s (ID: %d)"
+
+msgid "Merge (Keep original Atlases)"
+msgstr "Объединить (сохранить исходные атласы)"
+
+msgid "Next Line After Column"
+msgstr "Следующая строка после столбца"
+
+msgid ""
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: 0"
+msgstr ""
+"Источник: %d\n"
+"Координаты атласа: %s\n"
+"Альтернатива: 0"
+
+msgid ""
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"Источник: %d\n"
+"Координаты атласа: %s\n"
+"Альтернатива: %d"
+
+msgid "No atlas source with a valid texture selected."
+msgstr "Не выбран источник атласа с допустимой текстурой."
+
+msgid "Base Tiles"
+msgstr "Базовые тайлы"
+
+msgid "Alternative Tiles"
+msgstr "Альтернативные тайлы"
+
+msgid "Edit points tool"
+msgstr "Инструмент редактирования точек"
+
msgid "Rotate Right"
msgstr "Повернуть вправо"
@@ -9778,17 +9970,94 @@ msgstr "Перевернуть по вертикали"
msgid "Painting:"
msgstr "Рисование:"
+msgid "No terrains"
+msgstr "Нет местностей"
+
+msgid "No terrain"
+msgstr "Нет местности"
+
+msgid "Add TileSet pattern"
+msgstr "Добавить шаблон TileSet"
+
+msgid "Remove TileSet patterns"
+msgstr "Удалить шаблон TileSet"
+
+msgid "Delete tiles"
+msgstr "Удалить тайл"
+
+msgid "Drawing Rect:"
+msgstr "Рисование прямоугольником:"
+
+msgid "Change selection"
+msgstr "Изменить выбранное"
+
+msgid "Move tiles"
+msgstr "Передвинуть тайлы"
+
+msgid "Paste tiles"
+msgstr "Вставить тайлы"
+
+msgid "Paint"
+msgstr "Рисовать"
+
+msgid "Shift: Draw line."
+msgstr "Shift: Рисовать линию."
+
msgid "Shift+Ctrl: Draw rectangle."
msgstr "Shift+Ctrl: Рисовать прямоугольник."
+msgid "Bucket"
+msgstr "Заполнить"
+
+msgid "Alternatively hold Ctrl with other tools to pick tile."
+msgstr "Можно удерживать Ctrl и для других инструментов для выбора тайла."
+
+msgid "Eraser"
+msgstr "Стереть"
+
+msgid "Alternatively use RMB to erase tiles."
+msgstr "Можно использовать ПКМ, для затирания тайла."
+
msgid "Place Random Tile"
msgstr "Разместить случайный тайл"
+msgid ""
+"Modifies the chance of painting nothing instead of a randomly selected tile."
+msgstr "Изменяет шанс покрасить пустоту вместо случайно выбранного тайла."
+
msgid "Tiles"
msgstr "Тайлы"
+msgid "Sort sources"
+msgstr "Сортировать ресурсы"
+
+msgid "Patterns"
+msgstr "Шаблоны"
+
+msgid "Drag and drop or paste a TileMap selection here to store a pattern."
+msgstr ""
+"Перетащите или вставьте сюда выделенный TileMap, чтобы сохранить шаблон."
+
+msgid "Matches Corners and Sides"
+msgstr "Соответствует углам и сторонам"
+
+msgid "Terrain Set %d (%s)"
+msgstr "Набор ландшафта %d (%s)"
+
+msgid "Select Previous Tile Map Layer"
+msgstr "Выбрать предыдущий слой TileMap"
+
+msgid "TileMap Layers"
+msgstr "Слои TileMap"
+
+msgid "Highlight Selected TileMap Layer"
+msgstr "Выделить выбранный TileMap"
+
msgid "Toggle grid visibility."
-msgstr "Переключить видимость сетки."
+msgstr "Отображение сетки"
+
+msgid "The edited TileMap node has no TileSet resource."
+msgstr "Редактируемый узел TileMap не имеет ресурса TileSet."
msgid "Delete All Tile Proxies"
msgstr "Удалить все прокси тайлов"
@@ -9799,15 +10068,55 @@ msgstr "Глобальные действия:"
msgid "Atlas"
msgstr "Атлас"
+msgid ""
+"Selected tile:\n"
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"Выбранный тайл:\n"
+"Ресурс: %d\n"
+"Координаты атласа: %s\n"
+"Альтернативный: %d"
+
msgid "Physics"
msgstr "Физика"
+msgid "Physics Layer %d"
+msgstr "Физичиский слой %d"
+
+msgid "Navigation Layer %d"
+msgstr "Слой навигации %d"
+
+msgid "Custom Data %d"
+msgstr "Особые данные %d"
+
+msgid "Select a property editor"
+msgstr "Выберите редактор свойств"
+
+msgid "Create tiles in non-transparent texture regions"
+msgstr "Создавать тайлы в непрозрачных областях текстуры"
+
+msgid "Remove tiles in fully transparent texture regions"
+msgstr "Удалить тайлы в полностью прозрачных областях текстуры"
+
msgid "Setup"
msgstr "Настройка"
+msgid ""
+"Atlas setup. Add/Remove tiles tool (use the shift key to create big tiles, "
+"control for rectangle editing)."
+msgstr ""
+"Настройка атласа. Инструмент добавления/удаления плиток (используйте клавишу "
+"shift для создания больших плиток, control для редактирования "
+"прямоугольников)."
+
msgid "Select tiles."
msgstr "Выделить тайлы."
+msgid "Paint properties."
+msgstr "Свойства рисования."
+
msgid "No tiles selected."
msgstr "Тайлы не выбраны."
@@ -9820,6 +10129,16 @@ msgstr "Создавать тайлы в непрозрачных областя
msgid "Remove Tiles in Fully Transparent Texture Regions"
msgstr "Удалить тайлы в полностью прозрачных областях текстуры"
+msgid "Auto Create Tiles in Non-Transparent Texture Regions?"
+msgstr "Автоматически создавать тайлы в непрозрачных областях текстуры?"
+
+msgid ""
+"The atlas's texture was modified.\n"
+"Would you like to automatically create tiles in the atlas?"
+msgstr ""
+"Текстура атласа была изменена.\n"
+"Хотите автоматически создать тайлы в атласе?"
+
msgid "Yes"
msgstr "Да"
@@ -9829,6 +10148,15 @@ msgstr "Нет"
msgid "Add a new atlas source"
msgstr "Добавить новый исходник атласа"
+msgid "Open Atlas Merging Tool"
+msgstr "Открыть инструмент слияния атласов"
+
+msgid "No TileSet source selected. Select or create a TileSet source."
+msgstr "Ресурс TileSet не выбран. Выберите или создайте ресурс TileSet."
+
+msgid "Add new patterns in the TileMap editing mode."
+msgstr "Добавляйте новые шаблоны в режиме редактирования тайловой карты."
+
msgid "Add a Scene Tile"
msgstr "Добавить тайл-сцену"
@@ -9841,6 +10169,13 @@ msgstr "Свойства тайла:"
msgid "TileSet"
msgstr "Набор тайлов"
+msgid ""
+"No VCS plugins are available in the project. Install a VCS plugin to use VCS "
+"integration features."
+msgstr ""
+"В проекте нет VCS-плагинов. Установите плагин VCS, чтобы использовать "
+"функции интеграции VCS."
+
msgid "Error"
msgstr "Ошибка"
@@ -9876,6 +10211,9 @@ msgstr "Вы хотите удалить отслеживаемую ветку %
msgid "Create VCS metadata files for:"
msgstr "Создать файлы метаданных VCS для:"
+msgid "Existing VCS metadata files will be overwritten."
+msgstr "Существующие файлы метаданных VSC будут перезаписаны."
+
msgid "Apply"
msgstr "Применить"
@@ -9912,6 +10250,9 @@ msgstr "Проверить изменения"
msgid "Discard all changes"
msgstr "Отменить все изменения"
+msgid "Permanentally delete my changes"
+msgstr "Навсегда удалить мои изменения"
+
msgid "Stage all changes"
msgstr "Индексировать все изменения"
@@ -10024,6 +10365,12 @@ msgstr "Добавить вход"
msgid "Add Output"
msgstr "Добавить выход"
+msgid "Float"
+msgstr "Float"
+
+msgid "UInt"
+msgstr "UInt"
+
msgid "Boolean"
msgstr "Логическое"
@@ -10033,6 +10380,13 @@ msgstr "Сэмплер"
msgid "[default]"
msgstr "[по умолчанию]"
+msgid ""
+"The 2D preview cannot correctly show the result retrieved from instance "
+"parameter."
+msgstr ""
+"Предварительный просмотр 2D не может правильно отображать результат, "
+"полученный из параметра экземпляра."
+
msgid "Add Input Port"
msgstr "Добавить входной порт"
@@ -10054,9 +10408,21 @@ msgstr "Задать входной порт по умолчанию"
msgid "Add Node to Visual Shader"
msgstr "Добавить узел в визуальный шейдер"
+msgid "Add Varying to Visual Shader: %s"
+msgstr "Добавить Вариацию в визуальный шейдер: %s"
+
msgid "Node(s) Moved"
msgstr "Узел(узлы) перемещён(ны)"
+msgid "Convert Constant Node(s) To Parameter(s)"
+msgstr "Преобразование константного(ных) узла(ов) в параметр(ы)"
+
+msgid "Convert Parameter Node(s) To Constant(s)"
+msgstr "Преобразование параметра(ов) узла(ов) в константу(ы)"
+
+msgid "Convert Parameter(s) to Constant(s)"
+msgstr "Преобразовать параметр(ы) в константу(ы)"
+
msgid "Visual Shader Input Type Changed"
msgstr "Изменен тип ввода визуального шейдера"
@@ -10066,6 +10432,12 @@ msgstr "Изменено имя ParameterRef"
msgid "Varying Name Changed"
msgstr "Изменено имя Varying"
+msgid "Set Constant: %s"
+msgstr "Задать константу: %s"
+
+msgid "Varying with that name is already exist."
+msgstr "Вариация с таким именем уже существует."
+
msgid "Vertex"
msgstr "Вершины"
@@ -10189,27 +10561,48 @@ msgstr ""
msgid "Boolean constant."
msgstr "Логическая константа."
+msgid "Translated to '%s' in Godot Shading Language."
+msgstr "Переведено на '%s' на языке Шейдеров Godot."
+
msgid "'%s' input parameter for all shader modes."
-msgstr "Входной параметр «%s» для всех режимов шейдера."
+msgstr "Входной параметр '%s' для всех режимов шейдера."
msgid "Input parameter."
msgstr "Входной параметр."
msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr "Входной параметр «%s» для режимов вершинного и фрагментного шейдеров."
+msgstr "Входной параметр '%s' для режимов вершинного и фрагментного шейдеров."
msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
-"Входной параметр «%s» для режимов фрагментного шейдера и шейдера освещения."
+"Входной параметр '%s' для режимов фрагментного шейдера и шейдера освещения."
msgid "'%s' input parameter for fragment shader mode."
-msgstr "Входной параметр «%s» для режима фрагментного шейдера."
+msgstr "Входной параметр '%s' для режима фрагментного шейдера."
+
+msgid "'%s' input parameter for sky shader mode."
+msgstr "Входной параметр '%s' для всех режимов шейдера."
+
+msgid "'%s' input parameter for fog shader mode."
+msgstr "Входной параметр '%s' для режима шейдера освещения."
msgid "'%s' input parameter for light shader mode."
-msgstr "Входной параметр «%s» для режима шейдера освещения."
+msgstr "Входной параметр '%s' для режима шейдера освещения."
msgid "'%s' input parameter for vertex shader mode."
-msgstr "Входной параметр «%s» для режима вершинного шейдера."
+msgstr "Входной параметр '%s' для режима вершинного шейдера."
+
+msgid "'%s' input parameter for start shader mode."
+msgstr "Входной параметр '%s' для режима вершинного шейдера."
+
+msgid "'%s' input parameter for process shader mode."
+msgstr "Входной параметр '%s' для режима вершинного шейдера."
+
+msgid "'%s' input parameter for start and process shader modes."
+msgstr "Входной параметр '%s' для режимов вершинного и фрагментного шейдеров."
+
+msgid "'%s' input parameter for process and collide shader modes."
+msgstr "Входной параметр '%s' для всех режимов шейдера."
msgid ""
"A node for help to multiply a position input vector by rotation using "
@@ -10242,6 +10635,14 @@ msgstr "Возвращает арктангенс параметров."
msgid "Returns the inverse hyperbolic tangent of the parameter."
msgstr "Возвращает обратный гиперболический тангенс параметра."
+msgid "Returns the result of bitwise NOT (~a) operation on the integer."
+msgstr "Возвращает результат побитовой операции НЕ (~a) над целым числом."
+
+msgid ""
+"Returns the result of bitwise NOT (~a) operation on the unsigned integer."
+msgstr ""
+"Возвращает результат побитовой операции НЕ (~a) над беззнаковым целым числом."
+
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
msgstr "Находит ближайшее целое, которое больше или равно параметра."
@@ -10262,14 +10663,14 @@ msgid ""
"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
"differencing."
msgstr ""
-"(Только в режиме Фрагмент/Свет) (Скаляр) Производная по «x» с использованием "
+"(Только в режиме Фрагмент/Свет) (Скаляр) Производная по 'x' с использованием "
"локального дифференцирования."
msgid ""
"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
"differencing."
msgstr ""
-"(Только в режиме Фрагмент/Свет) (Скаляр) Производная по «y» с использованием "
+"(Только в режиме Фрагмент/Свет) (Скаляр) Производная по 'y' с использованием "
"локального дифференцирования."
msgid "Base-e Exponential."
@@ -10302,6 +10703,9 @@ msgstr "Возвращает наименьшее из двух значений
msgid "Linear interpolation between two scalars."
msgstr "Линейная интерполяция между двумя скалярами."
+msgid "Performs a fused multiply-add operation (a * b + c) on scalars."
+msgstr "Выполняет операцию умножения-сложения (a * b + c) над скалярами."
+
msgid "Returns the opposite value of the parameter."
msgstr "Возвращает значение, противоположное параметру."
@@ -10348,8 +10752,8 @@ msgid ""
msgstr ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
-"Возвращает 0.0, если «x» меньше, чем «edge0», и 1.0, если x больше, чем "
-"«edge1». В остальных случаях возвращаемое значение интерполируется "
+"Возвращает 0.0, если 'x' меньше, чем 'edge0', и 1.0, если x больше, чем "
+"'edge1'. В остальных случаях возвращаемое значение интерполируется "
"полиномами Эрмита в промежутке от 0.0 до 1.0."
msgid ""
@@ -10359,14 +10763,14 @@ msgid ""
msgstr ""
"Функция Шаг( скаляр(граница), скаляр(х) ).\n"
"\n"
-"Возвращает 0.0, если «x» меньше чем «граница», иначе — 1.0."
+"Возвращает 0.0, если 'x' меньше чем 'граница', иначе — 1.0."
msgid ""
"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
"'y'."
msgstr ""
"(Только в режиме Фрагмент/Свет) (Скаляр) Сумма абсолютных значений "
-"производных по «x» и «y»."
+"производных по 'x' и 'y'."
msgid "Returns the tangent of the parameter."
msgstr "Возвращает тангенс параметра."
@@ -10377,12 +10781,104 @@ msgstr "Возвращает гиперболический тангенс па
msgid "Finds the truncated value of the parameter."
msgstr "Находит усечённое до целого значение параметра."
+msgid "Sums two floating-point scalars."
+msgstr "Суммирует два скаляра с плавающей запятой."
+
+msgid "Sums two unsigned integer scalars."
+msgstr "Суммирует два беззнаковых целочисленных скаляра."
+
+msgid "Returns the result of bitwise AND (a & b) operation for two integers."
+msgstr ""
+"Возвращает результат операции побитового И (a & b) для двух целых чисел."
+
+msgid ""
+"Returns the result of bitwise AND (a & b) operation for two unsigned "
+"integers."
+msgstr ""
+"Возвращает результат операции побитового И (a & b) двух безнаковых целых "
+"чисел."
+
+msgid ""
+"Returns the result of bitwise left shift (a << b) operation on the integer."
+msgstr ""
+"Возвращает результат операции побитового сдвига влево (a << b) над целым "
+"числом."
+
+msgid ""
+"Returns the result of bitwise left shift (a << b) operation on the unsigned "
+"integer."
+msgstr ""
+"Возвращает результат операции побитового сдвига влево (a << b) над "
+"беззнаковым целым числом."
+
+msgid "Returns the result of bitwise OR (a | b) operation for two integers."
+msgstr ""
+"Возвращает результат операции побитового ИЛИ (a | b) для двух целых чисел."
+
+msgid ""
+"Returns the result of bitwise OR (a | b) operation for two unsigned integers."
+msgstr ""
+"Возвращает результат операции побитового ИЛИ (a | b) для двух беззнаковых "
+"целых чисел."
+
+msgid ""
+"Returns the result of bitwise right shift (a >> b) operation on the integer."
+msgstr ""
+"Возвращает результат операции побитового сдвига вправо (a >> b) на целом "
+"числе."
+
+msgid ""
+"Returns the result of bitwise right shift (a >> b) operation on the unsigned "
+"integer."
+msgstr ""
+"Возвращает результат операции побитового сдвига вправо (a >> b) над "
+"беззнаковым целым числом."
+
+msgid "Returns the result of bitwise XOR (a ^ b) operation on the integer."
+msgstr "Возвращает результат побитовой операции XOR (a ^ b) для целого числа."
+
+msgid ""
+"Returns the result of bitwise XOR (a ^ b) operation on the unsigned integer."
+msgstr ""
+"Возвращает результат побитовой операции XOR (a ^ b) над беззнаковым целым "
+"числом."
+
+msgid "Divides two unsigned integer scalars."
+msgstr "Делит два беззнаковых целочисленных скаляра."
+
+msgid "Scalar floating-point parameter."
+msgstr "Скалярный параметр с плавающей запятой."
+
+msgid "Scalar unsigned integer parameter."
+msgstr "Скалярный беззнаковый целочисленный параметр."
+
msgid "Converts screen UV to a SDF."
msgstr "Конвертировать UV экрана в SDF."
+msgid "Casts a ray against the screen SDF and returns the distance travelled."
+msgstr "Направляет луч на экран SDF и возвращает пройденное расстояние."
+
+msgid "Converts a SDF to screen UV."
+msgstr "Преобразует SDF в экран UV."
+
+msgid "Function to be applied on texture coordinates."
+msgstr "Функция, применяемая к координатам текстуры."
+
+msgid "Polar coordinates conversion applied on texture coordinates."
+msgstr "Преобразование полярных координат применяется к координатам текстуры."
+
msgid "Perform the cubic texture lookup."
msgstr "Выполняет поиск кубической текстуры."
+msgid ""
+"Returns the depth value obtained from the depth prepass in a linear space."
+msgstr ""
+"Возвращает значение глубины, полученное из предварительного прохода глубины "
+"в линейном пространстве."
+
+msgid "Apply panning function on texture coordinates."
+msgstr "Применить функцию панорамирования к координатам текстуры."
+
msgid "Transform function."
msgstr "Функция преобразования."
@@ -10400,12 +10896,12 @@ msgid ""
msgstr ""
"Вычисляет внешнее произведение пары векторов.\n"
"\n"
-"Внешнее произведение рассматривает первый параметр «c» как вектор-столбец "
-"(матрица, состоящая из одного столбца), а второй параметр «r» — как вектор-"
+"Внешнее произведение рассматривает первый параметр 'c' как вектор-столбец "
+"(матрица, состоящая из одного столбца), а второй параметр 'r' — как вектор-"
"строку (матрица, состоящая из одной строки) и осуществляет линейно-"
-"алгебраическое умножение «c * r», в результате чего образуется матрица, "
-"количество строк которой равно количеству компонентов в «c», а количество "
-"столбцов — количеству компонентов в «r»."
+"алгебраическое умножение 'c * r', в результате чего образуется матрица, "
+"количество строк которой равно количеству компонентов в 'c', а количество "
+"столбцов — количеству компонентов в 'r'."
msgid "Composes transform from four vectors."
msgstr "Составляет преобразование из четырёх векторов."
@@ -10447,14 +10943,14 @@ msgid ""
"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
"differencing."
msgstr ""
-"(Только в режиме Фрагмент/Свет) (Вектор) Производная по «x» с использованием "
+"(Только в режиме Фрагмент/Свет) (Вектор) Производная по 'x' с использованием "
"локального дифференцирования."
msgid ""
"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
"differencing."
msgstr ""
-"(Только в режиме Фрагмент/Свет) (Вектор) Производная по «y» с использованием "
+"(Только в режиме Фрагмент/Свет) (Вектор) Производная по 'y' с использованием "
"локального дифференцирования."
msgid "Returns the distance between two points."
@@ -10518,8 +11014,8 @@ msgid ""
msgstr ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
-"Возвращает 0.0, если «x» меньше, чем «edge0», и 1.0, если «x» больше, чем "
-"«edge1». В остальных случаях возвращаемое значение интерполируется "
+"Возвращает 0.0, если 'x' меньше, чем 'edge0', и 1.0, если 'x' больше, чем "
+"'edge1'. В остальных случаях возвращаемое значение интерполируется "
"полиномами Эрмита в промежутке от 0.0 до 1.0."
msgid ""
@@ -10531,8 +11027,8 @@ msgid ""
msgstr ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
-"Возвращает 0.0, если «x» меньше, чем «edge0», и 1.0, если «x» больше, чем "
-"«edge1». В остальных случаях возвращаемое значение интерполируется "
+"Возвращает 0.0, если 'x' меньше, чем 'edge0', и 1.0, если 'x' больше, чем "
+"'edge1'. В остальных случаях возвращаемое значение интерполируется "
"полиномами Эрмита в промежутке от 0.0 до 1.0."
msgid ""
@@ -10542,7 +11038,7 @@ msgid ""
msgstr ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
-"Возвращает 0.0, если «x» меньше, чем «edge», и 1.0 в противном случае."
+"Возвращает 0.0, если 'x' меньше, чем 'edge', и 1.0 в противном случае."
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
@@ -10551,14 +11047,14 @@ msgid ""
msgstr ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
-"Возвращает 0.0, если «x» меньше, чем «edge», и 1.0 в противном случае."
+"Возвращает 0.0, если 'x' меньше, чем 'edge', и 1.0 в противном случае."
msgid ""
"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
"'y'."
msgstr ""
"(Только в режиме Фрагмент/Свет) (Вектор) Сумма абсолютных значений "
-"производных по «x» и «y»."
+"производных по 'x' и 'y'."
msgid ""
"Custom Godot Shader Language expression, with custom amount of input and "
@@ -10583,13 +11079,14 @@ msgstr "Ошибка при открытии файла пакета (Не яв
msgid ""
"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
-msgstr "Недействительный .zip-файл проекта; не содержит файл «project.godot»."
+msgstr ""
+"Недействительный .zip-файл проекта; не содержит файл \"project.godot\"."
msgid "Please choose an empty folder."
msgstr "Пожалуйста, выберите пустую папку."
msgid "Please choose a \"project.godot\" or \".zip\" file."
-msgstr "Пожалуйста, выберите файл «project.godot» или «.zip»."
+msgstr "Пожалуйста, выберите файл \"project.godot\" или \".zip\"."
msgid "This directory already contains a Godot project."
msgstr "Этот каталог уже содержит проект Godot."
@@ -10666,11 +11163,11 @@ msgstr "Неверный путь к проекту (Что-то изменил
msgid ""
"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
-"Не удалось загрузить проект в «%s» (ошибка %d). Он может отсутствовать или "
+"Не удалось загрузить проект в '%s' (ошибка %d). Он может отсутствовать или "
"быть повреждён."
msgid "Couldn't save project at '%s' (error %d)."
-msgstr "Не удалось сохранить проект в «%s» (ошибка %d)."
+msgstr "Не удалось сохранить проект в '%s' (ошибка %d)."
msgid "Warning: This folder is not empty"
msgstr "Предупреждение: Эта папка не пуста"
@@ -10755,10 +11252,10 @@ msgid "Local Projects"
msgstr "Локальные проекты"
msgid "Asset Library Projects"
-msgstr "Проекты Библиотеки ресурсов"
+msgstr "Проекты Библиотеки ассетов"
msgid "Can't open project at '%s'."
-msgstr "Не удаётся открыть проект в «%s»."
+msgstr "Не удаётся открыть проект в '%s'."
msgid ""
"You requested to open %d projects in parallel. Do you confirm?\n"
@@ -10780,8 +11277,8 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"В файле конфигурации («project.godot») выбранного проекта «%s» не указана "
-"поддерживаемая версия Godot.\n"
+"В файле конфигурации (\"project.godot\") выбранного проекта \"%s\" не "
+"указана поддерживаемая версия Godot.\n"
"\n"
"Путь проекта: %s\n"
"\n"
@@ -10808,13 +11305,13 @@ msgid ""
"Warning: If you select a conversion option, you won't be able to open the "
"project with previous versions of the engine anymore."
msgstr ""
-"Выбранный проект «%s» был создан в Godot 3.x, и должен быть конвертирован "
+"Выбранный проект \"%s\" был создан в Godot 3.x, и должен быть конвертирован "
"для Godot 4.x.\n"
"\n"
"Путь проекта: %s\n"
"\n"
"У вас есть три варианта:\n"
-"- Конвертировать только файл конфигурации («project.godot»). Выберите этот "
+"- Конвертировать только файл конфигурации (\"project.godot\"). Выберите этот "
"вариант, чтобы открыть проект, не конвертируя его сцены, ресурсы и скрипты.\n"
"- Конвертировать весь проект, включая его сцены, ресурсы и сценарии "
"(рекомендуется, если вы обновляетесь).\n"
@@ -10837,7 +11334,7 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"Выбранный проект «%s» был создан в старой версии движка и должен быть "
+"Выбранный проект \"%s\" был создан в старой версии движка и должен быть "
"конвертирован для текущей версии.\n"
"\n"
"Путь проекта: %s\n"
@@ -10858,7 +11355,7 @@ msgid ""
"The project settings were created by a newer engine version, whose settings "
"are not compatible with this version."
msgstr ""
-"Не удалось открыть проект «%s», расположенный по следующему пути:\n"
+"Не удалось открыть проект \"%s\", расположенный по следующему пути:\n"
"\n"
"%s\n"
"\n"
@@ -10918,13 +11415,13 @@ msgid ""
msgstr ""
"Невозможно запустить проект: не назначена главная сцена.\n"
"Пожалуйста, отредактируйте проект и установите главную сцену в Настройках "
-"проекта в категории «Application»."
+"проекта в категории \"Application\"."
msgid ""
"Can't run project: Assets need to be imported.\n"
"Please edit the project to trigger the initial import."
msgstr ""
-"Невозможно запустить проект: ресурсы должны быть импортированы.\n"
+"Невозможно запустить проект: ассеты должны быть импортированы.\n"
"Пожалуйста, откройте проект для редактирования, это спровоцирует начальный "
"импорт."
@@ -11031,7 +11528,7 @@ msgstr ""
"скрипты из Godot 3.x для работы в Godot 4.0.\n"
"\n"
"Обратите внимание, что это конвертирование упрощает обновление проекта, но "
-"не гарантирует его работу «из коробки», ручные корректировки всё ещё "
+"не гарантирует его работу \"из коробки\", ручные корректировки всё ещё "
"необходимы.\n"
"\n"
"ВАЖНО: Обязательно сделайте резервную копию вашего проекта перед "
@@ -11046,7 +11543,7 @@ msgid ""
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
"В настоящее время у вас нет никаких проектов.\n"
-"Хотите изучить официальные примеры в Библиотеке ресурсов?"
+"Хотите изучить официальные примеры в Библиотеке ассетов?"
msgid "Add Project Setting"
msgstr "Добавить настройку проекта"
@@ -11234,9 +11731,19 @@ msgstr "Имя сцены:"
msgid "Root Name:"
msgstr "Имя корня:"
+msgid "Leave empty to use scene name"
+msgstr "Оставьте пустым, чтобы использовать название сцены"
+
msgid "Error loading scene from %s"
msgstr "Ошибка при загрузке сцены из %s"
+msgid ""
+"Cannot instantiate the scene '%s' because the current scene exists within "
+"one of its nodes."
+msgstr ""
+"Невозможно создать экземпляр сцены '%s', потому что текущая сцена находится "
+"в одном из её узлов."
+
msgid "Replace with Branch Scene"
msgstr "Заменить на сцену-ветку"
@@ -11276,13 +11783,13 @@ msgid "Delete %d nodes?"
msgstr "Удалить %d узлов?"
msgid "Delete the root node \"%s\"?"
-msgstr "Удалить корневой узел «%s»?"
+msgstr "Удалить корневой узел \"%s\"?"
msgid "Delete node \"%s\" and its children?"
-msgstr "Удалить узел «%s» и его детей?"
+msgstr "Удалить узел \"%s\" и дочерние?"
msgid "Delete node \"%s\"?"
-msgstr "Удалить узел «%s»?"
+msgstr "Удалить узел \"%s\"?"
msgid ""
"Saving the branch as a scene requires having a scene open in the editor."
@@ -11298,6 +11805,19 @@ msgstr ""
"выбрали %d узлов."
msgid ""
+"Can't save the root node branch as an instantiated scene.\n"
+"To create an editable copy of the current scene, duplicate it using the "
+"FileSystem dock context menu\n"
+"or create an inherited scene using Scene > New Inherited Scene... instead."
+msgstr ""
+"Невозможно сохранить ветку корневого узла в качестве инстанцированной "
+"сцены.\n"
+"Чтобы создать редактируемую копию текущей сцены, продублируйте её с помощью "
+"контекстного меню панели \"Файловая система\"\n"
+"или создайте унаследованную сцену, используя вместо этого Сцена > Новая "
+"унаследованная сцена..."
+
+msgid ""
"Can't save a branch which is a child of an already instantiated scene.\n"
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
@@ -11305,8 +11825,8 @@ msgstr ""
"Невозможно сохранить ветку, которая является дочерним элементом уже "
"инстанцированной сцены.\n"
"Чтобы сохранить эту ветку в отдельной сцене, откройте исходную сцену, "
-"щёлкните правой кнопкой мыши по этой ветке и выберите «Сохранить ветку как "
-"сцену»."
+"щёлкните правой кнопкой мыши по этой ветке и выберите \"Сохранить ветку как "
+"сцену\"."
msgid ""
"Can't save a branch which is part of an inherited scene.\n"
@@ -11315,8 +11835,8 @@ msgid ""
msgstr ""
"Невозможно сохранить ветку, которая является частью унаследованной сцены.\n"
"Чтобы сохранить эту ветку в отдельной сцене, откройте исходную сцену, "
-"щёлкните правой кнопкой мыши по этой ветке и выберите «Сохранить ветку как "
-"сцену»."
+"щёлкните правой кнопкой мыши по этой ветке и выберите \"Сохранить ветку как "
+"сцену\"."
msgid "Save New Scene As..."
msgstr "Сохранить новую сцену как..."
@@ -11325,15 +11845,15 @@ msgid ""
"Disabling \"editable_instance\" will cause all properties of the node to be "
"reverted to their default."
msgstr ""
-"Отключение параметра «editable_instance» приведет к тому, что все свойства "
+"Отключение параметра \"editable_instance\" приведет к тому, что все свойства "
"узла будут возвращены к значениям по умолчанию."
msgid ""
"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
"cause all properties of the node to be reverted to their default."
msgstr ""
-"Включение опции «Загрузить как заполнитель» отключит опцию «Редактируемые "
-"потомки» и приведет к тому, что все свойства узла будут возвращены к "
+"Включение опции \"Загрузить как заполнитель\" отключит опцию \"Редактируемые "
+"потомки\" и приведет к тому, что все свойства узла будут возвращены к "
"значениям по умолчанию."
msgid "Make Local"
@@ -11446,7 +11966,7 @@ msgid "Detach the script from the selected node."
msgstr "Убрать скрипт у выбранного узла."
msgid "Remote"
-msgstr "Удаленный"
+msgstr "Удалённый"
msgid ""
"If selected, the Remote scene tree dock will cause the project to stutter "
@@ -11485,7 +12005,7 @@ msgid ""
"Click to disable this."
msgstr ""
"Доступ к этому узлу можно получить из любого места сцены, предваряя его "
-"префиксом «%s» в пути к узлу.\n"
+"префиксом '%s' в пути к узлу.\n"
"Нажмите, чтобы отключить это."
msgid "Node has one connection."
@@ -11514,6 +12034,13 @@ msgstr ""
"Нажмите чтобы разблокировать."
msgid ""
+"Children are not selectable.\n"
+"Click to make them selectable."
+msgstr ""
+"Дочерние объекты не выделяются.\n"
+"Нажмите, чтобы сделать их доступными для выбора."
+
+msgid ""
"AnimationPlayer is pinned.\n"
"Click to unpin."
msgstr ""
@@ -11639,11 +12166,19 @@ msgstr "Недопустимый базовый путь."
msgid "Wrong extension chosen."
msgstr "Выбрано неверное расширение."
+msgid "Note: Built-in shaders can't be edited using an external editor."
+msgstr ""
+"Примечание: Встроенные шейдеры нельзя редактировать с помощью внешнего "
+"редактора."
+
msgid "Mode:"
msgstr "Режим:"
+msgid "Please specify a valid shader uniform identifier name."
+msgstr "Укажите допустимое имя универсального идентификатора шейдера."
+
msgid "Global shader parameter '%s' already exists'"
-msgstr "Глобальный параметр шейдера «%s» уже существует"
+msgstr "Глобальный параметр шейдера '%s' уже существует"
msgid "Change Cylinder Radius"
msgstr "Изменить радиус цилиндра"
@@ -11687,6 +12222,12 @@ msgstr "Недопустимый формат экземпляра словар
msgid "Invalid instance dictionary (invalid subclasses)"
msgstr "Недопустимый экземпляр словаря (неверные подклассы)"
+msgid "Value of type '%s' can't provide a length."
+msgstr "Значение типа '%s' не может иметь длину."
+
+msgid "Export Scene to glTF 2.0 File"
+msgstr "Экспорт сцены в файл glTF 2.0"
+
msgid "Path to Blender installation is valid."
msgstr "Путь к установке Blender является допустимым."
@@ -11781,6 +12322,9 @@ msgstr ""
msgid "Begin Bake"
msgstr "Начать запекание"
+msgid "Integrating light probes %d%%"
+msgstr "Встраивание световых зондов %d%%"
+
msgid "Class name can't be a reserved keyword"
msgstr "Имя класса не может быть зарезервированным ключевым словом"
@@ -11826,6 +12370,13 @@ msgstr "Разместить"
msgid "Delete Property?"
msgstr "Удалить свойство?"
+msgid ""
+"A valid NodePath must be set in the \"Spawn Path\" property in order for "
+"MultiplayerSpawner to be able to spawn Nodes."
+msgstr ""
+"Чтобы MultiplayerSpawner мог порождать узлы, в свойстве \"Spawn Path\" "
+"должен быть установлен действительный NodePath."
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"Ресурс NavigationMesh должен быть установлен или создан для этого узла."
@@ -11834,7 +12385,7 @@ msgid "Bake NavMesh"
msgstr "Запечь NavMesh"
msgid "Clear the navigation mesh."
-msgstr "Очистить полисетку навигации."
+msgstr "Очистить меш навигации."
msgid "Setting up Configuration..."
msgstr "Настройка конфигурации..."
@@ -11861,13 +12412,13 @@ msgid "Creating contours..."
msgstr "Создание контуров..."
msgid "Creating polymesh..."
-msgstr "Создание полисетки..."
+msgstr "Создание полимеша..."
msgid "Converting to native navigation mesh..."
-msgstr "Преобразование в собственную навигационную полисетку..."
+msgstr "Преобразование в собственный навигационный меш..."
msgid "Navigation Mesh Generator Setup:"
-msgstr "Настройка генератора навигационной полисетки:"
+msgstr "Настройка генератора меша навигации:"
msgid "Parsing Geometry..."
msgstr "Анализ геометрии..."
@@ -11875,12 +12426,21 @@ msgstr "Анализ геометрии..."
msgid "Done!"
msgstr "Сделано!"
+msgid "Add action set"
+msgstr "Добавить набор действий"
+
+msgid "Error saving file %s: %s"
+msgstr "Ошибка при сохранении файла%s: %s"
+
msgid "Error loading %s: %s."
msgstr "Ошибка загрузки %s: %s."
msgid "Add an action set."
msgstr "Добавить набор действий."
+msgid "Action Sets"
+msgstr "Набор действий"
+
msgid "Pose"
msgstr "Поза"
@@ -11891,16 +12451,16 @@ msgid "Package segments must be of non-zero length."
msgstr "Части пакета не могут быть пустыми."
msgid "The character '%s' is not allowed in Android application package names."
-msgstr "Символ «%s» не разрешён в имени пакета Android-приложения."
+msgstr "Символ '%s' не разрешён в имени пакета Android-приложения."
msgid "A digit cannot be the first character in a package segment."
msgstr "Число не может быть первым символом в части пакета."
msgid "The character '%s' cannot be the first character in a package segment."
-msgstr "Символ «%s» не может стоять первым в сегменте пакета."
+msgstr "Символ '%s' не может стоять первым в сегменте пакета."
msgid "The package must have at least one '.' separator."
-msgstr "Пакет должен иметь хотя бы один разделитель «.»."
+msgstr "Пакет должен иметь хотя бы один разделитель '.'."
msgid "Select device from the list"
msgstr "Выберите устройство из списка"
@@ -11952,8 +12512,7 @@ msgstr ""
"Password, ЛИБО ни одна из них."
msgid "Release keystore incorrectly configured in the export preset."
-msgstr ""
-"Хранилище ключей не настроено ни в настройках редактора, ни в предустановках."
+msgstr "Неправильно настроено хранилище ключей в предустановке экспорта."
msgid "A valid Android SDK path is required in Editor Settings."
msgstr ""
@@ -11963,7 +12522,7 @@ msgid "Invalid Android SDK path in Editor Settings."
msgstr "Недействительный путь Android SDK в Настройках редактора."
msgid "Missing 'platform-tools' directory!"
-msgstr "Директория «platform-tools» отсутствует!"
+msgstr "Директория 'platform-tools' отсутствует!"
msgid "Unable to find Android SDK platform-tools' adb command."
msgstr "Не удалось найти команду adb в Android SDK platform-tools."
@@ -11973,7 +12532,7 @@ msgstr ""
"Пожалуйста, проверьте каталог Android SDK, указанный в Настройках редактора."
msgid "Missing 'build-tools' directory!"
-msgstr "Директория «build-tools» отсутствует!"
+msgstr "Директория 'build-tools' отсутствует!"
msgid "Unable to find Android SDK build-tools' apksigner command."
msgstr "Не удалось найти команду apksigner в Android SDK build-tools."
@@ -11984,9 +12543,35 @@ msgstr "Недействительный публичный ключ для ра
msgid "Invalid package name:"
msgstr "Недопустимое имя пакета:"
+msgid "\"Use Gradle Build\" must be enabled to use the plugins."
+msgstr "\"Use Gradle Build\" должен быть включен для использования плагинов."
+
+msgid "OpenXR requires \"Use Gradle Build\" to be enabled"
+msgstr "OpenXR требует включения \"Использовать Gradle сборку\""
+
+msgid "\"Hand Tracking\" is only valid when \"XR Mode\" is \"OpenXR\"."
+msgstr ""
+"\"Отслеживание рук\" действует только в том случае, если \"Режим XR\" - "
+"\"OpenXR\"."
+
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
+msgstr ""
+"\"Passthrough\" действует только в том случае, если \"XR Mode\" - \"OpenXR\"."
+
+msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled."
+msgstr ""
+"\"Export AAB\" действителен только при включённой опции \"Использовать "
+"Gradle сборку\"."
+
+msgid ""
+"\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled."
+msgstr ""
+"\"Min SDK\" можно переопределить, только если включена опция \"Использовать "
+"Gradle Build\"."
+
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
-"«Min SDK» должен быть значением целого типа, но получено «%s», что "
+"\"Min SDK\" должен быть значением целого типа, но получено \"%s\", что "
"недопустимо."
msgid ""
@@ -11996,6 +12581,12 @@ msgstr ""
"\"Min SDK\" не может быть меньше %d версии, требуемой библиотекой Godot."
msgid ""
+"\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled."
+msgstr ""
+"\"Target SDK\" можно переопределить, только если включена опция "
+"\"Использовать Gradle сборку\"."
+
+msgid ""
"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
"\"Target SDK\" должно быть валидным целым числом, полученное \"%s\" - не "
@@ -12005,9 +12596,15 @@ msgid ""
"\"Target SDK\" %d is higher than the default version %d. This may work, but "
"wasn't tested and may be unstable."
msgstr ""
-"«Target SDK» %d выше чем версия по умолчанию %d. Это может работать, но не "
+"\"Target SDK\" %d выше чем версия по умолчанию %d. Это может работать, но не "
"тестировалось и может быть нестабильным."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr "Версия \"Target SDK\" должна быть больше или равна версии \"Min SDK\"."
+
+msgid "\"Min SDK\" should be greater or equal to %d for the \"%s\" renderer."
+msgstr "\"Min SDK\" должно быть больше или равно %d для рендеринга \"%s\"."
+
msgid "Code Signing"
msgstr "Подпись кода"
@@ -12015,7 +12612,7 @@ msgid ""
"'apksigner' could not be found. Please check that the command is available "
"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"Не удалось найти «apksigner». Пожалуйста, убедитесь в наличии команды в "
+"Не удалось найти 'apksigner'. Пожалуйста, убедитесь в наличии команды в "
"каталоге build-tools Android SDK. Результирующий %s не подписан."
msgid "Signing debug %s..."
@@ -12025,13 +12622,13 @@ msgid "Signing release %s..."
msgstr "Подписание релиза %s..."
msgid "Could not find keystore, unable to export."
-msgstr "Не удалось найти хранилище ключей, невозможно экспортировать."
+msgstr "Не удалось найти хранилище ключей, экспорт невозможен."
msgid "Could not start apksigner executable."
msgstr "Не удаётся запустить исполняемый файл apksigner."
msgid "'apksigner' returned with error #%d"
-msgstr "«apksigner» завершился с ошибкой #%d"
+msgstr "'apksigner' завершился с ошибкой #%d"
msgid ""
"output: \n"
@@ -12044,7 +12641,7 @@ msgid "Verifying %s..."
msgstr "Проверка %s..."
msgid "'apksigner' verification of %s failed."
-msgstr "Проверка «apksigner» «%s» не удалась."
+msgstr "'apksigner' проверка %s не удалась."
msgid "Exporting for Android"
msgstr "Экспорт для Android"
@@ -12062,11 +12659,18 @@ msgid "Unsupported export format!"
msgstr "Неподдерживаемый формат экспорта!"
msgid ""
+"Trying to build from a gradle built template, but no version info for it "
+"exists. Please reinstall from the 'Project' menu."
+msgstr ""
+"Попытка сборки из шаблона gradle сборка, но информации о версии для него не "
+"существует. Пожалуйста, переустановите из меню 'Проект'."
+
+msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Несоответствие версии сборки Android: Установлен шаблон: %s, версия Godot: "
-"%s. Пожалуйста, переустановите шаблон сборки Android из меню «Проект»."
+"%s. Пожалуйста, переустановите шаблон сборки Android из меню 'Проект'."
msgid ""
"Unable to overwrite res://android/build/res/*.xml files with project name."
@@ -12097,7 +12701,7 @@ msgid ""
"Unable to copy and rename export file, check gradle project directory for "
"outputs."
msgstr ""
-"Невозможно скопировать и переименовать файл экспорта, проверьте диекторию "
+"Невозможно скопировать и переименовать файл экспорта, проверьте каталог "
"проекта gradle на наличие выходных данных."
msgid "Package not found: \"%s\"."
@@ -12131,11 +12735,17 @@ msgid "Could not unzip temporary unaligned APK."
msgstr "Не удалось распаковать временный невыровненный APK."
msgid "Export Icons"
-msgstr "Экспортировать иконки"
+msgstr "Экспорт иконок"
msgid "Prepare Templates"
msgstr "Подготовить шаблоны"
+msgid "Export template not found."
+msgstr "Шаблон экспорта не найден."
+
+msgid ".ipa export failed, see editor log for details."
+msgstr "Экспорт .ipa не удался, подробности см. в журнале редактора."
+
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID не указан - невозможно настроить проект."
@@ -12146,7 +12756,7 @@ msgid "Identifier is missing."
msgstr "Отсутствует определитель."
msgid "The character '%s' is not allowed in Identifier."
-msgstr "Символ «%s» в идентификаторе не допускается."
+msgstr "Символ '%s' в идентификаторе не допускается."
msgid "Debug Script Export"
msgstr "Экспорт скрипта отладки"
@@ -12164,9 +12774,15 @@ msgstr ""
msgid "Executable \"pck\" section not found."
msgstr "Исполняемый раздел \"pck\" не найден."
+msgid "Run exported project on remote Linux/BSD system"
+msgstr "Запустить экспортированный проект в удаленной Linux/BSD системе"
+
msgid "Could not create temp directory:"
msgstr "Не удалось создать временный каталог:"
+msgid "Exporting project..."
+msgstr "Экспорт проекта..."
+
msgid "Can't get filesystem access."
msgstr "Не удаётся получить доступ к файловой системе."
@@ -12183,7 +12799,7 @@ msgid "Invalid Info.plist, can't load."
msgstr "Недопустимый Info.plist, не удаётся загрузить."
msgid "Failed to create \"%s\" subfolder."
-msgstr "Не удалось создать подпапку «%s»."
+msgstr "Не удалось создать подпапку \"%s\"."
msgid "Failed to extract thin binary."
msgstr "Не удалось распаковать двоичный файл."
@@ -12227,6 +12843,25 @@ msgstr "Создание иконки"
msgid "Could not open icon file \"%s\"."
msgstr "Не получилось открыть файлы иконок \"%s\"."
+msgid "Notarization"
+msgstr "Заверение"
+
+msgid ""
+"rcodesign path is not set. Configure rcodesign path in the Editor Settings "
+"(Export > macOS > rcodesign)."
+msgstr ""
+"Путь rcodesign не задан. Настройте путь rcodesign в настройках редактора "
+"(Экспорт > macOS > rcodesign)."
+
+msgid "Notarization failed, see editor log for details."
+msgstr "Заверение не удалось, подробности смотрите в журнале редактора."
+
+msgid "Notarization request UUID: \"%s\""
+msgstr "UUID запроса заверения: \"%s\""
+
+msgid "The notarization process generally takes less than an hour."
+msgstr "Процесс заверения обычно занимает менее часа."
+
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
@@ -12238,12 +12873,19 @@ msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
-"Выполните следующую команду, чтобы прикрепить заявку на подтверждение к "
+"Выполните следующую команду, чтобы прикрепить заявку на заверение к "
"экспортированному приложению (необязательно):"
msgid "Could not start xcrun executable."
msgstr "Не удаётся запустить исполняемый файл xcrun."
+msgid ""
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
+msgstr ""
+"Процесс заверения обычно занимает менее часа. Когда процесс завершится, вы "
+"получите электронное письмо."
+
msgid "Built-in CodeSign failed with error \"%s\"."
msgstr "Встроенный CodeSign завершился с ошибкой \"%s\"."
@@ -12251,6 +12893,13 @@ msgid "Built-in CodeSign require regex module."
msgstr "Для встроенного CodeSign требуется модуль регулярных выражений."
msgid ""
+"Xrcodesign path is not set. Configure rcodesign path in the Editor Settings "
+"(Export > macOS > rcodesign)."
+msgstr ""
+"Путь Xrcodesign не задан. Настройте путь rcodesign в настройках редактора "
+"(Экспорт > macOS > rcodesign)."
+
+msgid ""
"Could not start codesign executable, make sure Xcode command line tools are "
"installed."
msgstr ""
@@ -12260,6 +12909,11 @@ msgstr ""
msgid "Cannot sign file %s."
msgstr "Не удалось подписать файл %s."
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Относительные символические ссылки не поддерживаются, экспортируемый \"%s\" "
+"может быть повреждён!"
+
msgid "Could not start hdiutil executable."
msgstr "Не удаётся запустить исполняемый файл hdiutil."
@@ -12285,6 +12939,16 @@ msgstr ""
"Относительные символические ссылки не поддерживаются в этой ОС, "
"экспортируемый проект может быть повреждён!"
+msgid "Could not created symlink \"%s\" -> \"%s\"."
+msgstr "Не удалось создать символическую ссылку \"%s\" -> \"%s\"."
+
+msgid ""
+"Requested template binary \"%s\" not found. It might be missing from your "
+"template archive."
+msgstr ""
+"Запрашиваемый двоичный файл шаблона \"%s\" не найден. Возможно, он "
+"отсутствует в вашем архиве шаблонов."
+
msgid "Making PKG"
msgstr "Создание PKG"
@@ -12292,8 +12956,8 @@ msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
-"Для подписанных ad-hoc приложений требуется право «Отключить проверку "
-"библиотеки» для загрузки динамических библиотек."
+"Для подписанных ad-hoc приложений требуется право 'Отключить проверку "
+"библиотеки' для загрузки динамических библиотек."
msgid "Code signing bundle"
msgstr "Подпись кода пакета"
@@ -12311,47 +12975,86 @@ msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
-"Подтверждение требует, чтобы приложение было сначала архивировано, вместо "
+"Заверение требует, чтобы приложение было сначала заархивировано, вместо "
"этого выберите формат экспорта DMG или ZIP."
msgid "Sending archive for notarization"
-msgstr "Отправка архива для подтверждения"
+msgstr "Отправка архива для заверения"
msgid "Invalid bundle identifier:"
msgstr "Неверный идентификатор пакета:"
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr "Подтверждение: Подтверждение подписью ad-hoc не поддерживается."
+msgstr "Заверение: заверение ad-hoc подписью не поддерживается."
msgid "Notarization: Code signing is required for notarization."
-msgstr "Подтверждение: для подтверждения требуется подпись кода."
+msgstr "Заверение: для заверения требуется подпись кода."
+
+msgid "Notarization: Xcode command line tools are not installed."
+msgstr "Заверение: инструменты командной строки Xcode не установлены."
+
+msgid ""
+"Notarization: Neither Apple ID name nor App Store Connect issuer ID name not "
+"specified."
+msgstr ""
+"Заверение: не указано ни Apple ID имя, ни ID имя издателя App Store Connect."
+
+msgid ""
+"Notarization: Both Apple ID name and App Store Connect issuer ID name are "
+"specified, only one should be set at the same time."
+msgstr ""
+"Заверение: указываются как Apple ID имя, так и ID имя издателя App Store "
+"Connect, только одно должно быть установлено одновременно."
msgid "Notarization: Apple ID password not specified."
-msgstr "Предупреждение: пароль Apple ID не указан."
+msgstr "Заверение: не указан Apple ID пароль."
+
+msgid "Notarization: App Store Connect API key ID not specified."
+msgstr "Заверение: ID ключа API App Store Connect не указан."
+
+msgid "Notarization: Apple Team ID not specified."
+msgstr "Заверение: Apple Team ID не указан."
+
+msgid "Notarization: App Store Connect issuer ID name not specified."
+msgstr "Заверение: имя издателя App Store Connect не указано."
+
+msgid ""
+"Notarization: rcodesign path is not set. Configure rcodesign path in the "
+"Editor Settings (Export > macOS > rcodesign)."
+msgstr ""
+"Заверение: путь rcodesign не задан. Настройте путь rcodesign в настройках "
+"редактора (Экспорт > macOS > rcodesign)."
msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
-"Предупреждение: Подтверждение отключено. Экспортированный проект будет "
+"Предупреждение: Заверение отключено. Экспортированный проект будет "
"заблокирован Gatekeeper, если он загружен из неизвестного источника."
msgid ""
"Code signing is disabled. The exported project will not run on Macs with "
"enabled Gatekeeper and Apple Silicon powered Macs."
msgstr ""
-"Подписание кода отключено. Экспортированный проект не будет работать на "
-"компьютерах Mac с включённым Gatekeeper и компьютерах Mac с процессором "
+"Подпись кода отключена. Экспортированный проект не будет работать на "
+"компьютерах Mac с включенным Gatekeeper и компьютерах Mac с процессором "
"Apple Silicon."
msgid ""
"Code signing: Using ad-hoc signature. The exported project will be blocked "
"by Gatekeeper"
msgstr ""
-"Подписание кода: Использование ad-hoc подписи. Экспортированный проект будет "
+"Подпись кода: Использование ad-hoc подписи. Экспортированный проект будет "
"заблокирован Gatekeeper"
msgid ""
+"Code signing: rcodesign path is not set. Configure rcodesign path in the "
+"Editor Settings (Export > macOS > rcodesign)."
+msgstr ""
+"Подпись кода: путь rcodesign не задан. Настройте путь rcodesign в настройках "
+"редактора (Экспорт > macOS > rcodesign)."
+
+msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
@@ -12391,6 +13094,9 @@ msgstr ""
"Конфиденциальность: Доступ к библиотеке фотографий включён, но описание "
"использования не указано."
+msgid "Run exported project on remote macOS system"
+msgstr "Запустить экспортированный проект в удаленной macOS системе"
+
msgid "Invalid package short name."
msgstr "Недопустимое короткое имя пакета."
@@ -12461,17 +13167,41 @@ msgid "Run in Browser"
msgstr "Запустить в браузере"
msgid "Run exported HTML in the system's default browser."
-msgstr "Запустить HTML в системном браузере по умолчанию."
+msgstr "Запустить экспортированный HTML в системном браузере по умолчанию."
msgid "Resources Modification"
msgstr "Изменение ресурсов"
+msgid "Icon size \"%d\" is missing."
+msgstr "Размер иконки \"%d\" отсутствует."
+
msgid "Failed to rename temporary file \"%s\"."
msgstr "Невозможно удалить временный файл \"%s\"."
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Не удалось найти исполняемый файл rcedit по адресу \"%s\"."
+
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Не удалось найти исполняемый файл wine по адресу \"%s\"."
+
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"Не удалось запустить исполняемый файл rcedit. Настройте путь rcedit в "
+"настройках редактора (Экспорт > Windows > rcedit) или отключите \"Приложение "
+"> Изменить ресурсы\" в пресете экспорта."
+
msgid "rcedit failed to modify executable: %s."
msgstr "rcedit не смог изменить исполняемый файл: %s."
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Не удалось найти исполняемый файл signtool по адресу \"%s\"."
+
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Не удалось найти исполняемый файл osslsigncode по адресу \"%s\"."
+
msgid "No identity found."
msgstr "Identity не найдена."
@@ -12481,12 +13211,37 @@ msgstr "Неверный идентификатор."
msgid "Invalid timestamp server."
msgstr "Неверный сервер метки времени."
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"Не удалось запустить исполняемый файл signtool. Настройте путь к signtool в "
+"настройках редактора (Export > Windows > signtool) или отключите "
+"\"Codesign\" в пресете экспорта."
+
+msgid ""
+"Could not start osslsigncode executable. Configure signtool path in the "
+"Editor Settings (Export > Windows > osslsigncode), or disable \"Codesign\" "
+"in the export preset."
+msgstr ""
+"Не удалось запустить исполняемый файл osslsigncode. Настройте путь к "
+"signtool в настройках редактора (Export > Windows > osslsigncode) или "
+"отключите \"Codesign\" в пресете экспорта."
+
msgid "Signtool failed to sign executable: %s."
msgstr "Signtool не смог подписать исполняемый файл: %s."
msgid "Failed to remove temporary file \"%s\"."
msgstr "Невозможно удалить временный файл \"%s\"."
+msgid ""
+"The rcedit tool must be configured in the Editor Settings (Export > Windows "
+"> rcedit) to change the icon or app information data."
+msgstr ""
+"Инструмент rcedit должен быть задан в настройках редактора (Экспорт > "
+"Windows > rcedit), чтобы изменить значок или информацию о приложении."
+
msgid "Invalid icon path:"
msgstr "Недопустимый путь к иконке:"
@@ -12499,6 +13254,16 @@ msgstr "Недопустимая версия продукта:"
msgid "Windows executables cannot be >= 4 GiB."
msgstr "Исполняемые файлы Windows не могут иметь размер >= 4 ГБ."
+msgid "Run exported project on remote Windows system"
+msgstr "Запустить экспортированный проект в удаленной Windows системе"
+
+msgid ""
+"A SpriteFrames resource must be created or set in the \"Frames\" property in "
+"order for AnimatedSprite2D to display frames."
+msgstr ""
+"Ресурс SpriteFrames должен быть создан или установлен в свойстве \"Frames\" "
+"для того, чтобы AnimatedSprite2D отображал кадры."
+
msgid ""
"This node has no shape, so it can't collide or interact with other objects.\n"
"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
@@ -12514,11 +13279,11 @@ msgstr "Пустой CollisionPolygon2D не влияет на столкнов
msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
msgstr ""
-"Недопустимый полигон. В режиме «Solids» необходимо по крайней мере 3 точки."
+"Недопустимый полигон. В режиме 'Solids' необходимо по крайней мере 3 точки."
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
-"Недопустимый полигон. В режиме «Segments» необходимо по крайней мере 2 точки."
+"Недопустимый полигон. В режиме 'Segments' необходимо по крайней мере 2 точки."
msgid ""
"The One Way Collision property will be ignored when the parent is an Area2D."
@@ -12546,7 +13311,7 @@ msgid ""
"\"Particles Animation\" enabled."
msgstr ""
"Анимация CPUParticles2D требует использования CanvasItemMaterial с "
-"включённой опцией «Particles Animation»."
+"включённой опцией \"Particles Animation\"."
msgid ""
"A material to process the particles is not assigned, so no behavior is "
@@ -12559,7 +13324,7 @@ msgid ""
"\"Particles Animation\" enabled."
msgstr ""
"Для анимации Particles2D требуется использование CanvasItemMaterial с "
-"включенной опцией «Particles Animation»."
+"включенной опцией \"Particles Animation\"."
msgid "Node A and Node B must be PhysicsBody2Ds"
msgstr "Узел А и Узел B должны быть экземплярами класса PhysicsBody2D"
@@ -12582,7 +13347,8 @@ msgstr ""
msgid ""
"A texture with the shape of the light must be supplied to the \"Texture\" "
"property."
-msgstr "Текстуры с формой света должны быть предоставлены параметру «Texture»."
+msgstr ""
+"Текстуры с формой света должны быть предоставлены свойству \"Texture\"."
msgid ""
"An occluder polygon must be set (or drawn) for this occluder to take effect."
@@ -12646,6 +13412,13 @@ msgstr ""
"Skeleton2D и установите её."
msgid ""
+"Isometric TileSet will likely not look as intended without Y-sort enabled "
+"for the TileMap and all of its layers."
+msgstr ""
+"Изометрический TileSet, скорее всего, не будет выглядеть так, как задумано, "
+"если Y-сортировка не включена для TileMap и для всех его слоёв."
+
+msgid ""
"CollisionPolygon3D only serves to provide a collision shape to a "
"CollisionObject3D derived node.\n"
"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
@@ -12671,8 +13444,23 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "Ничто не видно, потому что не назначена сетка."
msgid ""
+"CPUParticles3D animation requires the usage of a StandardMaterial3D whose "
+"Billboard Mode is set to \"Particle Billboard\"."
+msgstr ""
+"Анимация CPUParticles3D требует использования StandardMaterial3D, режим "
+"Billboard Mode которого установлен в \"Particle Billboard\"."
+
+msgid ""
"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr "Ничего не видно, потому что полисетки не были назначены на отрисовку."
+msgstr ""
+"Ничего не видно, потому что меши не были назначены на проходы отрисовки."
+
+msgid ""
+"Particles animation requires the usage of a BaseMaterial3D whose Billboard "
+"Mode is set to \"Particle Billboard\"."
+msgstr ""
+"Анимация частиц требует использования BaseMaterial3D, чей Billboard Mode "
+"установлен в \"Particle Billboard\"."
msgid "Creating probes"
msgstr "Создание проб"
@@ -12687,6 +13475,26 @@ msgstr ""
"NavigationLink3D начальная позиция должна отличаться от конечной, чтобы быть "
"полезной."
+msgid ""
+"PathFollow3D's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
+"parent Path3D's Curve resource."
+msgstr ""
+"ROTATION_ORIENTED узла PathFollow3D требует включения параметра «Up Vector» "
+"в родительском ресурсе Path Curve."
+
+msgid ""
+"The \"Remote Path\" property must point to a valid Node3D or Node3D-derived "
+"node to work."
+msgstr ""
+"Для работы свойство \"Remote Path\" должно указывать на действительный узел "
+"Node3D или производный узел Node3D."
+
+msgid ""
+"This node cannot interact with other objects unless a Shape3D is assigned."
+msgstr ""
+"Этот узел не может взаимодействовать с другими объектами, если ему не "
+"назначен Shape3D"
+
msgid "This body will be ignored until you set a mesh."
msgstr "Это тело будет игнорироваться, пока вы не установите сетку."
@@ -12695,28 +13503,37 @@ msgid ""
"order for AnimatedSprite3D to display frames."
msgstr ""
"Чтобы AnimatedSprite3D отображал кадры, ресурс SpriteFrames должен быть "
-"создан или задан в свойстве «Frames»."
+"создан или задан в свойстве \"Frames\"."
msgid "Plotting Meshes"
-msgstr "Построение полисетки"
+msgstr "Построение мешей"
msgid "Finishing Plot"
msgstr "Завершение построения"
+msgid ""
+"To have any visible effect, WorldEnvironment requires its \"Environment\" "
+"property to contain an Environment, its \"Camera Attributes\" property to "
+"contain a CameraAttributes resource, or both."
+msgstr ""
+"Чтобы иметь какой-либо видимый эффект, WorldEnvironment требует, чтобы его "
+"свойство \"Environment\" содержало Environment, его свойство \"Camera "
+"Attributes\" содержало ресурс CameraAttributes, или и то, и другое."
+
msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr "На узле BlendTree «%s» анимация не найдена: «%s»"
+msgstr "На узле BlendTree '%s' анимация не найдена: '%s'"
msgid "Animation not found: '%s'"
msgstr "Анимация не найдена: %s"
msgid "In node '%s', invalid animation: '%s'."
-msgstr "В узле «%s» недопустимая анимация: «%s»."
+msgstr "В узле '%s' недопустимая анимация: '%s'."
msgid "Invalid animation: '%s'."
-msgstr "Неверная анимация: «%s»."
+msgstr "Неверная анимация: '%s'."
msgid "Nothing connected to input '%s' of node '%s'."
-msgstr "Ничего не подключено к входу «%s» узла «%s»."
+msgstr "Ничего не подключено к входу '%s' узла '%s'."
msgid "No root AnimationNode for the graph is set."
msgstr "Не задан корневой AnimationNode для графа."
@@ -12766,15 +13583,15 @@ msgstr ""
"Контейнер сам по себе не имеет смысла, пока скрипт не настроит режим "
"размещения его дочерних элементов.\n"
"Если вы не планируете добавлять скрипт, то используйте вместо этого узел "
-"«Control»."
+"\"Control\"."
msgid ""
"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
msgstr ""
"Подсказка не будет отображаться, если для фильтра мыши элемента управления "
-"установлено значение «Ignore». Чтобы это исправить, установите MouseFilter в "
-"положение «Stop» или «Pass»."
+"установлено значение \"Ignore\". Чтобы это исправить, установите MouseFilter "
+"в положение \"Stop\" или \"Pass\"."
msgid "Alert!"
msgstr "Внимание!"
@@ -12788,8 +13605,11 @@ msgstr "Все файлы"
msgid "Enable grid minimap."
msgstr "Включить миникарту сетки."
+msgid "Same as Layout Direction"
+msgstr "То же, что и направление макета"
+
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr "Если «Exp Edit» включён, «Min Value» должно быть больше 0."
+msgstr "Если \"Exp Edit\" включён, \"Min Value\" должно быть больше 0."
msgid ""
"ScrollContainer is intended to work with a single child control.\n"
@@ -12845,7 +13665,7 @@ msgid ""
"'SamplerPort'."
msgstr ""
"Порт сэмплера подключен, но не используется. Рассмотрите возможность "
-"изменения источника на «SamplerPort»."
+"изменения источника на 'SamplerPort'."
msgid "Invalid source for preview."
msgstr "Неверный источник для предпросмотра."
@@ -12865,17 +13685,26 @@ msgstr "Повторить"
msgid "Invalid comparison function for that type."
msgstr "Неверная функция сравнения для этого типа."
+msgid "Varyings cannot be passed for the '%s' parameter."
+msgstr "Для параметра '%s' не могут быть переданы вариации."
+
msgid "Invalid arguments for the built-in function: \"%s(%s)\"."
-msgstr "Недопустимые аргументы для встроенной функции: «%s(%s)»."
+msgstr "Недопустимые аргументы для встроенной функции: \"%s(%s)\"."
msgid "Invalid assignment of '%s' to '%s'."
-msgstr "Недопустимое присвоение «%s» в «%s»."
+msgstr "Недопустимое присвоение '%s' в '%s'."
msgid "Expected constant expression."
msgstr "Ожидалось константное выражение."
msgid "Varying may not be assigned in the '%s' function."
-msgstr "Varying не может быть задано в функции «%s»."
+msgstr "Varying не может быть задано в функции '%s'."
+
+msgid ""
+"Varying with '%s' data type may only be assigned in the 'fragment' function."
+msgstr ""
+"Переменная с типом данных '%s' может быть назначена только в функции "
+"'fragment'."
msgid "Assignment to function."
msgstr "Назначение функции."
@@ -12887,28 +13716,49 @@ msgid "Constants cannot be modified."
msgstr "Константы не могут быть изменены."
msgid "Cannot convert from '%s' to '%s'."
-msgstr "Невозможно преобразовать «%s» в «%s»."
+msgstr "Невозможно преобразовать '%s' в '%s'."
msgid "Expected ')' in expression."
-msgstr "Ожидается «)» в выражении."
+msgstr "Ожидается ')' в выражении."
msgid "Void value not allowed in expression."
msgstr "Void значение не разрешено в выражении."
msgid "No matching constructor found for: '%s'."
-msgstr "Не найден подходящий конструктор для: «%s»."
+msgstr "Не найден подходящий конструктор для: '%s'."
msgid "No matching function found for: '%s'."
-msgstr "Не найдена подходящая функция для: «%s»."
+msgstr "Не найдена подходящая функция для: '%s'."
+
+msgid ""
+"Varying '%s' must be assigned in the 'vertex' or 'fragment' function first."
+msgstr ""
+"Varying '%s' должно быть сначала назначено в функции 'vertex' или 'fragment'."
+
+msgid "Varying '%s' cannot be passed for the '%s' parameter in that context."
+msgstr ""
+"Varying '%s' не может быть передано для параметра '%s' в данном контексте."
+
+msgid ""
+"Varying with '%s' data type may only be used in the 'fragment' function."
+msgstr ""
+"Varying с типом данных '%s' может быть использовано только в 'fragment' "
+"функции."
+
+msgid "Varying '%s' must be assigned in the 'fragment' function first."
+msgstr "Varying '%s' должны быть сначала назначены в 'fragment' функции."
+
+msgid "Unexpected end of expression."
+msgstr "Неожиданный конец выражения."
msgid "Invalid arguments to unary operator '%s': %s."
-msgstr "Недопустимые аргументы для унарного оператора «%s»: %s."
+msgstr "Недопустимые аргументы для унарного оператора '%s': %s."
msgid "Invalid argument to ternary operator: '%s'."
-msgstr "Недопустимый аргумент для тернарного оператора: «%s»."
+msgstr "Недопустимый аргумент для тернарного оператора: '%s'."
msgid "Invalid arguments to operator '%s': '%s'."
-msgstr "Недопустимые аргументы для оператора «%s»: «%s»."
+msgstr "Недопустимые аргументы для оператора '%s': '%s'."
msgid "Invalid variable type (samplers are not allowed)."
msgstr "Недопустимый тип переменной (сэмплеры не разрешены)."
@@ -12916,6 +13766,9 @@ msgstr "Недопустимый тип переменной (сэмплеры
msgid "Duplicated case label: %d."
msgstr "Дублируется метка варианта: %d."
+msgid "Use of '%s' is not allowed here."
+msgstr "Использование '%s' здесь недопустимо."
+
msgid "Invalid shader type. Valid types are: %s"
msgstr "Неверный тип шейдера. Допустимые типы: %s"
@@ -12923,7 +13776,13 @@ msgid "Expected an identifier for render mode."
msgstr "Ожидается идентификатор режима рендеринга."
msgid "Duplicated render mode: '%s'."
-msgstr "Дублируется режим рендеринга: «%s»."
+msgstr "Дублируется режим рендеринга: '%s'."
+
+msgid "Invalid render mode: '%s'."
+msgstr "Неверный режим рендеринга: '%s'."
+
+msgid "Unexpected token: '%s'."
+msgstr "Неожиданный токен: '%s'."
msgid "Nested structs are not allowed."
msgstr "Вложенные структуры не допускаются."
@@ -12937,17 +13796,26 @@ msgstr "Ожидался идентификатор или '['."
msgid "Empty structs are not allowed."
msgstr "Пустые структуры не допускаются."
+msgid "Varyings cannot be used in '%s' shaders."
+msgstr "Varyings не могут использоваться в шейдерах '%s'."
+
msgid "The '%s' data type is not supported for uniforms."
msgstr "Тип данных '%s' не поддерживается униформами."
+msgid "The '%s' data type is not allowed here."
+msgstr "Тип данных '%s' здесь недопустим."
+
msgid "Duplicated hint: '%s'."
-msgstr "Дублируется подсказка: «%s»."
+msgstr "Дублируется подсказка: '%s'."
msgid "Duplicated filter mode: '%s'."
-msgstr "Дублируется режим фильтра: «%s»."
+msgstr "Дублируется режим фильтра: '%s'."
msgid "Duplicated repeat mode: '%s'."
-msgstr "Дублируется режим повтора «%s»."
+msgstr "Дублируется режим повтора '%s'."
+
+msgid "Can't convert constant to '%s'."
+msgstr "Невозможно преобразовать константу в '%s'."
msgid "Invalid constant type (samplers are not allowed)."
msgstr "Недопустимый тип константы (сэмплеры не разрешены)."
@@ -12955,14 +13823,23 @@ msgstr "Недопустимый тип константы (сэмплеры н
msgid "Invalid function type (samplers are not allowed)."
msgstr "Недопустимый тип функции (сэмплеры не разрешены)."
+msgid "Void type not allowed as argument."
+msgstr "Тип Void не допускается в качестве аргумента."
+
+msgid "Function '%s' expects no arguments."
+msgstr "Функция '%s' не принимает аргументов."
+
msgid "Expected a '%s'."
-msgstr "Ожидался «%s»."
+msgstr "Ожидался '%s'."
msgid "Expected a '%s' or '%s'."
-msgstr "Ожидался «%s» или «%s»."
+msgstr "Ожидался '%s' или '%s'."
+
+msgid "Expected a '%s' after '%s'."
+msgstr "Ожидается '%s' после '%s'."
msgid "Redefinition of '%s'."
-msgstr "Переопределение «%s»."
+msgstr "Переопределение '%s'."
msgid "Invalid argument name."
msgstr "Недопустимое имя аргумента."
diff --git a/editor/translations/editor/sk.po b/editor/translations/editor/sk.po
index 1845266abd..42c9affbb1 100644
--- a/editor/translations/editor/sk.po
+++ b/editor/translations/editor/sk.po
@@ -3053,6 +3053,9 @@ msgstr ""
"Všetky predvoľby musia mať definovanú exportnú cestu, aby fungovala funkcia "
"\"Exportovať všetko\"."
+msgid "Resources to export:"
+msgstr "Zdroje k exportu:"
+
msgid "Delete preset '%s'?"
msgstr "Vymazať predvoľbu '%s'?"
@@ -3108,9 +3111,6 @@ msgstr "Exportovať ako dedikovaný server"
msgid "Export Mode:"
msgstr "Mód exportu:"
-msgid "Resources to export:"
-msgstr "Zdroje k exportu:"
-
msgid "Keep"
msgstr "Zachovať"
diff --git a/editor/translations/editor/sv.po b/editor/translations/editor/sv.po
index fc5ab4f62d..dc25bd67a8 100644
--- a/editor/translations/editor/sv.po
+++ b/editor/translations/editor/sv.po
@@ -14,7 +14,7 @@
# Mattias Münster <mattiasmun@gmail.com>, 2019.
# Anonymous <noreply@weblate.org>, 2020.
# Joakim Lundberg <joakim@joakimlundberg.com>, 2020.
-# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020, 2021, 2022.
+# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020, 2021, 2022, 2023.
# Jonas Robertsson <jonas.robertsson@posteo.net>, 2020, 2021.
# André Andersson <andre.eric.andersson@gmail.com>, 2020.
# Andreas Westrell <andreas.westrell@gmail.com>, 2020.
@@ -34,8 +34,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-03-15 01:17+0000\n"
-"Last-Translator: Daniel Ljung <weblate@bazonic.mozmail.com>\n"
+"PO-Revision-Date: 2023-05-17 00:52+0000\n"
+"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/"
"godot/sv/>\n"
"Language: sv\n"
@@ -43,7 +43,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.16.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "Nollställ"
@@ -183,6 +183,9 @@ msgstr "Xbox Paddelknapp 4"
msgid "PS4/5 Touchpad"
msgstr "PS4/5 Pekplatta"
+msgid "Pressure:"
+msgstr "Tryck:"
+
msgid "touched"
msgstr "berörd"
@@ -209,12 +212,21 @@ msgstr "MIDI Inmatning på Kanel=%s Meddelande=%s"
msgid "Input Event with Shortcut=%s"
msgstr "Inmatningshändelse med Genväg=%s"
+msgid "Accept"
+msgstr "Acceptera"
+
msgid "Select"
msgstr "Välj"
msgid "Cancel"
msgstr "Avbryt"
+msgid "Left"
+msgstr "Vänster"
+
+msgid "Right"
+msgstr "Höger"
+
msgid "Up"
msgstr "Upp"
@@ -248,6 +260,9 @@ msgstr "Ångra"
msgid "Redo"
msgstr "Återställ"
+msgid "Completion Query"
+msgstr "Frågeställning att slutföra"
+
msgid "New Line"
msgstr "Ny Rad"
@@ -335,6 +350,9 @@ msgstr "Lägg till Val för Nästa Förekomst"
msgid "Toggle Insert Mode"
msgstr "Växla Läge Infoga"
+msgid "Submit Text"
+msgstr "Skicka in text"
+
msgid "Duplicate Nodes"
msgstr "Dubblerade Noder"
@@ -374,6 +392,12 @@ msgstr "Ogiltiga argument för att bygga '%s'"
msgid "On call to '%s':"
msgstr "I anrop till '%s':"
+msgid "Built-in script"
+msgstr "Inbyggt skript"
+
+msgid "Built-in"
+msgstr "Inbyggt"
+
msgid "B"
msgstr "B"
diff --git a/editor/translations/editor/th.po b/editor/translations/editor/th.po
index c846ed8ff9..1a9a05cd8b 100644
--- a/editor/translations/editor/th.po
+++ b/editor/translations/editor/th.po
@@ -15,13 +15,15 @@
# Kanda Ninthfish <akkhaporn@gmail.com>, 2022.
# Absurdnoobman <jakkalin91@gmail.com>, 2022.
# Nuttapong Nut <nuttapong.510123@gmail.com>, 2023.
+# LadsForTea <jajasamag@gmail.com>, 2023.
+# Satakun Utama <galaxytomostore@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-03-06 00:25+0000\n"
-"Last-Translator: SysError_ <ictsanook@hotmail.com>\n"
+"PO-Revision-Date: 2023-05-14 11:52+0000\n"
+"Last-Translator: Satakun Utama <galaxytomostore@gmail.com>\n"
"Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/"
"th/>\n"
"Language: th\n"
@@ -29,7 +31,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.16.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "ยกเลิกการตั้งค่า"
@@ -476,7 +478,7 @@ msgid "Show Built-in Actions"
msgstr "แสดง Action ที่ติดตัวมา"
msgid "Action"
-msgstr "Action"
+msgstr "การกระทำ"
msgid "Deadzone"
msgstr "Deadzone"
@@ -804,6 +806,15 @@ msgstr "ที่อยู่แทร็กผิดพลาด ไม่ส
msgid "Add Method Track Key"
msgstr "เพิ่มคีย์แทร็กเมธอด"
+msgid "Method not found in object:"
+msgstr "ไม่พบเมธอดในวัตถุ:"
+
+msgid "Rotation"
+msgstr "ช่วงองศา"
+
+msgid "Scale"
+msgstr "ขนาด"
+
msgid "Methods"
msgstr "วิธีการ"
@@ -1084,6 +1095,9 @@ msgstr "พบ:"
msgid "Description:"
msgstr "รายละเอียด:"
+msgid "Remote %s:"
+msgstr "ควบคุม %s:"
+
msgid "Debugger"
msgstr "ตัวดีบัก"
@@ -1567,6 +1581,9 @@ msgstr "ชื่อโนด:"
msgid "Navigation"
msgstr "ตัวนำทาง"
+msgid "Vulkan"
+msgstr "Vulkan"
+
msgid "File '%s' format is invalid, import aborted."
msgstr "นามสกุลของไฟล์ '%s' ผิดพลาด ยกเลิกการนำเข้า"
@@ -1874,12 +1891,21 @@ msgstr "คุณสมบัติ"
msgid "default:"
msgstr "ค่าเริ่มต้น:"
+msgid "Constructors"
+msgstr "ตัวสร้าง"
+
+msgid "Operators"
+msgstr "ตัวดำเนินการ"
+
msgid "Theme Properties"
msgstr "คุณสมบัติธีม"
msgid "Constants"
msgstr "ค่าคงที่"
+msgid "Fonts"
+msgstr "ฟอนต์"
+
msgid "Enumerations"
msgstr "ค่าคงที่แบบมีความหมาย"
@@ -1894,9 +1920,15 @@ msgid ""
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr "คุณสมบัตินี้ยังไม่มีคำอธิบาย โปรดช่วย[color=$color][url=$url]แก้ไข[/url][/color]!"
+msgid "Constructor Descriptions"
+msgstr "รายละเอียดของตัวสร้าง"
+
msgid "Method Descriptions"
msgstr "รายละเอียดเมท็อด"
+msgid "Operator Descriptions"
+msgstr "รายละเอียดของตัวนำเนินการ"
+
msgid "%d match."
msgstr "จับคู่ %d"
@@ -1969,6 +2001,9 @@ msgstr "เลื่อนลง"
msgid "Resize Array"
msgstr "ปรับขนาดอาร์เรย์"
+msgid "New Size:"
+msgstr "ขนาดใหม่:"
+
msgid "Set %s"
msgstr "ตั้ง %s"
@@ -2139,6 +2174,9 @@ msgstr "บันทึกฉากเป็น..."
msgid "Current scene not saved. Open anyway?"
msgstr "ฉากปัจจุบันยังไม่ได้บันทึก จะเปิดไฟล์หรือไม่?"
+msgid "Remote Undo: %s"
+msgstr "เลิกทำระยะไกล: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "ฉากยังไม่ได้บันทึก ไม่สามารถโหลดใหม่ได้"
@@ -2417,7 +2455,7 @@ msgid "Node"
msgstr "โนด"
msgid "Expand Bottom Panel"
-msgstr "ขยายแผงล่าง"
+msgstr "ขยายแผงด้านล่าง"
msgid "Output"
msgstr "ข้อความ"
@@ -2562,6 +2600,9 @@ msgstr "เลือกวิวพอร์ต"
msgid "Selected node is not a Viewport!"
msgstr "โหนดที่เลือกไม่ใช่วิวพอร์ต!"
+msgid "Size:"
+msgstr "ขนาด:"
+
msgid "Remove Item"
msgstr "ลบไอเทม"
@@ -2591,6 +2632,9 @@ msgstr "สคริปต์ใหม่"
msgid "Extend Script"
msgstr "สคริปต์เสริม"
+msgid "Remote Debug"
+msgstr "ดีบักระยะไกล"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -2605,6 +2649,9 @@ msgstr "เขียนโปรแกรมในเมท็อด _run()"
msgid "There is an edited scene already."
msgstr "มีฉากที่แก้ไขอยู่แล้ว"
+msgid "Common"
+msgstr "ทั่วไป"
+
msgid "Editor Settings"
msgstr "การตั้งค่าตัวแก้ไข"
@@ -2620,6 +2667,13 @@ msgstr "ทางลัด"
msgid "Binding"
msgstr "ปุ่มลัด"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"กด %s ค้างเพื่อปัดเศษเป็นจำนวนเต็ม\n"
+"กด Shift ค้างเพื่อเพิ่มความแม่นยำของการเปลี่ยนแปลง"
+
msgid "All Devices"
msgstr "อุปกรณ์ทั้งหมด"
@@ -2632,6 +2686,9 @@ msgstr "เก็บไฟล์:"
msgid "No export template found at the expected path:"
msgstr "ไม่พบเทมเพลตส่งออกที่ที่อยู่ที่คาดไว้:"
+msgid "Could not open file to read from path \"%s\"."
+msgstr "ไม่สามารถเปิดไฟล์ที่จะอ่านจากตำแหน่ง \"%s\" ได้"
+
msgid "Packing"
msgstr "กำลังรวบรวม"
@@ -2725,6 +2782,9 @@ msgstr "เทมเพลตการส่งออก Godot"
msgid "Runnable"
msgstr "สามารถรันได้"
+msgid "Resources to export:"
+msgstr "รีซอร์สที่จะส่งออก:"
+
msgid "Delete preset '%s'?"
msgstr "ลบพรีเซ็ต '%s'?"
@@ -2771,9 +2831,6 @@ msgstr "ส่งออกรีซอร์สที่เลือก (รว
msgid "Export Mode:"
msgstr "วิธีการส่งออก:"
-msgid "Resources to export:"
-msgstr "รีซอร์สที่จะส่งออก:"
-
msgid "Keep"
msgstr "เก็บ"
@@ -3020,6 +3077,12 @@ msgstr "ผิดพลาดขณะรันสคริปต์หลัง
msgid "Saving..."
msgstr "กำลังบันทึก..."
+msgid "2D"
+msgstr "2 มิติ"
+
+msgid "3D"
+msgstr "3 มิติ"
+
msgid "Select Importer"
msgstr "เลือกตัวนำเข้า"
@@ -3114,6 +3177,9 @@ msgstr "แทนที่ตามภูมิภาค:"
msgid "Locale"
msgstr "ภูมิภาค"
+msgid "Set %s on %d nodes"
+msgstr "ตั้ง %s บน %d โหนด"
+
msgid "Select a single node to edit its signals and groups."
msgstr "เลือกโหนดเพื่อแก้ไขสัญญาณและกลุ่ม"
@@ -3498,6 +3564,9 @@ msgstr "เชื่อมต่อโหนด"
msgid "Remove selected node or transition."
msgstr "ลบโหนดหรือทรานสิชันที่เลือก"
+msgid "Transition:"
+msgstr "การเปลี่ยนผ่าน (ทรานสิชั่น):"
+
msgid "Play Mode:"
msgstr "โหมดการเล่น:"
@@ -3729,6 +3798,9 @@ msgstr "เลื่อน %d CanvasItem"
msgid "Move CanvasItem \"%s\" to (%d, %d)"
msgstr "เลื่อน CanvasItem \"%s\" ไปยัง (%d, %d)"
+msgid "Scaling:"
+msgstr "ขนาด:"
+
msgid "Lock Selected"
msgstr "ล็อกที่เลือก"
@@ -3974,7 +4046,7 @@ msgid "Generated Point Count:"
msgstr "จำนวนจุดที่สร้างขึ้น:"
msgid "Emission Mask"
-msgstr "Mask การปะทุ"
+msgstr "มาส์กการปะทุ"
msgid "Solid Pixels"
msgstr "พิกเซลรวม"
@@ -4124,6 +4196,9 @@ msgstr ""
"เมื่อเปิดใช้งานตัวเลือกนี้ สคริปต์ที่บันทึกจะถูกโหลดในโปรเจ็กต์ที่กำลังทำงานอยู่\n"
"เมื่อใช้รีโมตกับอุปกรณ์ จะมีประสิทธิภาพมากขึ้นเมื่อเปิดใช้งานตัวเลือกระบบไฟล์เครือข่าย"
+msgid " - Variation"
+msgstr " - ชนิด"
+
msgid "Convert to CPUParticles2D"
msgstr "แปลงเป็น CPUParticles2D"
@@ -4163,6 +4238,9 @@ msgstr "จุดพื้นผิว+เส้นบอกทิศ"
msgid "Volume"
msgstr "ระดับเสียง"
+msgid "Emission Source:"
+msgstr "แหล่งปะทุ:"
+
msgid "Generate Visibility AABB"
msgstr "สร้างการมองเห็น AABB"
@@ -4437,6 +4515,9 @@ msgstr "ยกเลิกการสร้างคีย์ (ไม่ได
msgid "Animation Key Inserted."
msgstr "แทรกคีย์แอนิเมชัน"
+msgid "Objects: %d\n"
+msgstr "วัตถุ: %d\n"
+
msgid "Top View."
msgstr "มุมบน"
@@ -4464,6 +4545,9 @@ msgstr "จัดการหมุนให้เข้ากับวิว"
msgid "None"
msgstr "ไม่มี"
+msgid "Translating:"
+msgstr "การเลื่อนตำแหน่ง:"
+
msgid "Rotating %s degrees."
msgstr "หมุน %s องศา"
@@ -4485,6 +4569,9 @@ msgstr "แสดงการวาดทับซ้อน"
msgid "Display Unshaded"
msgstr "แสดงแบบไร้เงา"
+msgid "Normal Buffer"
+msgstr "บัฟเฟอร์ปกติ:"
+
msgid "View Environment"
msgstr "แสดงสภาพแวดล้อม"
@@ -5291,6 +5378,15 @@ msgstr "เรขาคณิตผิดพลาด ไม่สามาร
msgid "Create LightOccluder2D Sibling"
msgstr "สร้างญาติ LightOccluder2D"
+msgid "Simplification:"
+msgstr "การทำให้เข้าใจง่าย:"
+
+msgid "Shrink (Pixels):"
+msgstr "การลดขนาด (พิกเซล):"
+
+msgid "Grow (Pixels):"
+msgstr "ขยาย (พิกเซล):"
+
msgid "Update Preview"
msgstr "อัพเดทการดูตัวอย่าง"
@@ -5336,6 +5432,9 @@ msgstr "(ว่างเปล่า)"
msgid "Animations:"
msgstr "แอนิเมชัน:"
+msgid "Delete Animation"
+msgstr "ลบแอนิเมชัน"
+
msgid "Animation Frames:"
msgstr "เฟรมแอนิเมชัน:"
@@ -5384,6 +5483,9 @@ msgstr "แบ่งอัตโนมัติ"
msgid "Step:"
msgstr "ขนาด:"
+msgid "Updating the editor"
+msgstr "อัพเดทตัวแก้ไข"
+
msgid "Remove Class Items"
msgstr "ลบไอเทมคลาส"
@@ -5462,6 +5564,15 @@ msgstr "พลิกแนวนอน"
msgid "Flip Vertically"
msgstr "พลิกแนวตั้ง"
+msgid "Scattering:"
+msgstr "การกระจาย:"
+
+msgid "Rendering"
+msgstr "การเรนเดอร์"
+
+msgid "Physics"
+msgstr "ฟิสิกส์"
+
msgid "Yes"
msgstr "ใช่"
@@ -5474,12 +5585,24 @@ msgstr "ผิดพลาด"
msgid "Commit"
msgstr "Commit"
+msgid "Discard changes"
+msgstr "ยกเลิกการแก้ไข"
+
msgid "Detect new changes"
msgstr "พบการแก้ไขใหม่"
+msgid "Discard all changes"
+msgstr "ยกเลิกการแก้ไขทั้งหมด"
+
msgid "Commit Changes"
msgstr "การเปลี่ยนแปลง commit"
+msgid "Remote Name"
+msgstr "ชื่อรีโมท"
+
+msgid "Remote URL"
+msgstr "URL รีโมท"
+
msgid "Modified"
msgstr "แก้ไขแล้ว"
@@ -6006,6 +6129,9 @@ msgstr ""
msgid "Visual Shader Mode Changed"
msgstr "เปลี่ยนโหมดเวอร์ชวลเชดเดอร์แล้ว"
+msgid "Bake VoxelGI"
+msgstr "คำณวณ VoxelGI"
+
msgid "The path specified doesn't exist."
msgstr "ไม่พบที่อยู่ที่ระบุเอาไว้"
@@ -6101,6 +6227,27 @@ msgid "Can't open project at '%s'."
msgstr "ไม่สามารถเปิดโปรเจกต์ที่ '%s'"
msgid ""
+"The selected project \"%s\" does not specify its supported Godot version in "
+"its configuration file (\"project.godot\").\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"If you proceed with opening it, it will be converted to Godot's current "
+"configuration file format.\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"โปรเจกต์ที่เลือก \"%s\" ไม่ได้ระบุเวอร์ชั่น Godot ที่ซัพพอร์ตเอาไว้ในไฟล์การตั้งค่า (\"project."
+"godot\")\n"
+"\n"
+"ตำแหน่งโปรเจกต์: %s\n"
+"\n"
+"หากคุณเลือกที่จะเปิดโปรเจกต์นี้ต่อไป มันจะถูกแปลงเป็นไฟล์การแก้ใขฟอร์แมทของเวอร์ชั่นปัจจุบัน\n"
+"\n"
+"คำเตือน: คุณจะไม่สามารถเปิดโปรเจกต์ด้วยเวอร์ชั่นเก่ากว่าเวอร์ชั่นปัจจุบันของโปรแกรมได้อีกต่อไป"
+
+msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
@@ -6118,6 +6265,12 @@ msgstr ""
msgid "Are you sure to run %d projects at once?"
msgstr "ยืนยันการรันโปรเจกต์ %d โปรเจกต์ทีเดียว?"
+msgid "Remove %d projects from the list?"
+msgstr "ลบ %d โปรเจกต์จากรายการหรือไม่"
+
+msgid "Remove this project from the list?"
+msgstr "ลบโปรเจกต์นี้จากรายการหรือไม่"
+
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
@@ -6298,6 +6451,9 @@ msgstr "ฉาก 3D"
msgid "User Interface"
msgstr "อินเตอร์เฟส"
+msgid "Root Name:"
+msgstr "ชื่อราก:"
+
msgid "Error loading scene from %s"
msgstr "ผิดพลาดขณะโหลดฉากจาก %s"
@@ -6746,9 +6902,18 @@ msgstr "RPC กำลังมา"
msgid "Outgoing RPC"
msgstr "RPC ขาออก"
+msgid "Config"
+msgstr "ตั้งค่า"
+
+msgid "Size"
+msgstr "ขนาด"
+
msgid "Network Profiler"
msgstr "โปรไฟล์เน็ตเวิร์ก"
+msgid "Delete Property?"
+msgstr "ลบคุณสมบัติ?"
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr "ต้องมี NavigationMesh เพื่อให้โหนดนี้ทำงานได้"
@@ -6865,6 +7030,16 @@ msgstr "การขยาย APK เข้ากันไม่ได้กั
msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "ชื่อไฟล์ผิดพลาด! แอนดรอยด์ APK จำเป็นต้องมีนามสกุล *.apk"
+msgid ""
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
+"Please reinstall Android build template from 'Project' menu."
+msgstr ""
+"เวอร์ชันบิวด์ Android ไม่ตรงกัน: เทมเพลตที่ติดตั้งอยู่: %s, เวอร์ชั่น Godot: %s "
+"โปรดติดตั้งเทมเพลตการสร้างสำหรับแอนดรอยด์ใหม่จากเมนู \"โปรเจกต์\""
+
+msgid "Could not export project files to gradle project."
+msgstr "ไม่สามารถส่งออกไฟล์โปรเจคไปยังโปรเจค gradle ได้"
+
msgid "Building Android Project (gradle)"
msgstr "กำลังสร้างโปรเจคแอนดรอยด์ (gradle)"
@@ -7043,6 +7218,9 @@ msgid ""
"Nothing is visible because meshes have not been assigned to draw passes."
msgstr "ไม่มีการแสดงผลเนื่องจากไม่ได้กำหนด mesh ใน draw pass"
+msgid "Generating Probe Volumes"
+msgstr "สร้างพื้นที่โพรบ"
+
msgid "This body will be ignored until you set a mesh."
msgstr "วัตถุนี้จะถูกละเว้นจนกว่าจะตั้ง mesh"
@@ -7159,3 +7337,18 @@ msgstr "การกำหนดให้กับยูนิฟอร์ม"
msgid "Constants cannot be modified."
msgstr "ค่าคงที่ไม่สามารถแก้ไขได้"
+
+msgid "Invalid argument name."
+msgstr "ชื่อตัวแปรอาร์กูเมนท์ไม่ถูกต้อง"
+
+msgid "Shader include file does not exist: "
+msgstr "ไม่พบไฟล์เชดเดอร์ที่นำเข้า: "
+
+msgid "Invalid macro argument list."
+msgstr "รายการอาร์กูเมนท์มาโครไม่ถูกต้อง"
+
+msgid "Invalid macro argument."
+msgstr "อาร์กูเมนท์มาโครไม่ถูกต้อง"
+
+msgid "Invalid macro argument count."
+msgstr "จำนวนอาร์กูเมนท์มาโครไม่ถูกต้อง"
diff --git a/editor/translations/editor/tr.po b/editor/translations/editor/tr.po
index 3f26725829..32789089e5 100644
--- a/editor/translations/editor/tr.po
+++ b/editor/translations/editor/tr.po
@@ -3215,6 +3215,9 @@ msgstr "Koşturulabilir"
msgid "Export the project for all the presets defined."
msgstr "Tanımlanan tüm ön ayarlar için projeyi dışa aktarın."
+msgid "Resources to export:"
+msgstr "Dışa aktarılacak kaynaklar:"
+
msgid "Delete preset '%s'?"
msgstr "'%s' önayarı silinsin mi?"
@@ -3262,9 +3265,6 @@ msgstr "Seçilen kaynakları dışa aktar (bağımlılıklar dahil)"
msgid "Export Mode:"
msgstr "Dışa Aktarma Biçimi:"
-msgid "Resources to export:"
-msgstr "Dışa aktarılacak kaynaklar:"
-
msgid "Keep"
msgstr "Tut"
diff --git a/editor/translations/editor/uk.po b/editor/translations/editor/uk.po
index 8c06e66014..fe0febc336 100644
--- a/editor/translations/editor/uk.po
+++ b/editor/translations/editor/uk.po
@@ -4324,6 +4324,9 @@ msgstr ""
"Щоб можна було скористатися пунктом «Експортувати усе», має бути визначено "
"шлях для експортування для усіх наборів."
+msgid "Resources to export:"
+msgstr "Експортовані ресурси:"
+
msgid "Delete preset '%s'?"
msgstr "Вилучити набір «%s»?"
@@ -4379,9 +4382,6 @@ msgstr "Експортувати як виділений сервер"
msgid "Export Mode:"
msgstr "Режим експортування:"
-msgid "Resources to export:"
-msgstr "Експортовані ресурси:"
-
msgid "Keep"
msgstr "Не змінювати"
diff --git a/editor/translations/editor/vi.po b/editor/translations/editor/vi.po
index caabb4f114..3d97a21884 100644
--- a/editor/translations/editor/vi.po
+++ b/editor/translations/editor/vi.po
@@ -24,13 +24,16 @@
# MInhTriet <luckyblockblack@gmail.com>, 2022.
# Nhật Huy <nhat.huy.7996@gmail.com>, 2022.
# Trần Trọng Hiếu <anhdaden50@gmail.com>, 2023.
+# Trần Văn Luyện <lightlyn203@gmail.com>, 2023.
+# Bế Trọng Nghĩa <benghia1st@gmail.com>, 2023.
+# Ky Bui Van <ky.buivan.dev@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-03-03 02:52+0000\n"
-"Last-Translator: Trần Trọng Hiếu <anhdaden50@gmail.com>\n"
+"PO-Revision-Date: 2023-05-19 06:49+0000\n"
+"Last-Translator: Ky Bui Van <ky.buivan.dev@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot/vi/>\n"
"Language: vi\n"
@@ -38,10 +41,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.16.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
+
+msgid "Unset"
+msgstr "Hủy bỏ"
msgid "Physical"
-msgstr "Vật Lí"
+msgstr "Vật lý"
msgid "Left Mouse Button"
msgstr "Nút Chuột Trái"
@@ -52,6 +58,15 @@ msgstr "Nút Chuột Phải"
msgid "Middle Mouse Button"
msgstr "Nút Chuột Giữa"
+msgid "Mouse Wheel Up"
+msgstr "Lăn Lên"
+
+msgid "Mouse Thumb Button 1"
+msgstr "Nút lật trang ngón cái 1"
+
+msgid "Mouse Thumb Button 2"
+msgstr "Nút lật trang ngón cái 2"
+
msgid "Button"
msgstr "Button (nút, phím)"
@@ -61,18 +76,39 @@ msgstr "Nháy Đúp"
msgid "Mouse motion at position (%s) with velocity (%s)"
msgstr "Chuyển động chuột tại vị trị (%s) với vận tốc (%s)"
+msgid "Accept"
+msgstr "Xác nhận"
+
msgid "Select"
msgstr "Chọn"
msgid "Cancel"
msgstr "Huỷ bỏ"
+msgid "Focus Next"
+msgstr "Tập trung vào tiếp theo"
+
+msgid "Focus Prev"
+msgstr "Tập trung vào trước đó"
+
+msgid "Left"
+msgstr "Trái"
+
+msgid "Right"
+msgstr "Phải"
+
msgid "Up"
msgstr "Lên"
msgid "Down"
msgstr "Xuống"
+msgid "Page Up"
+msgstr "Lên trang"
+
+msgid "Page Down"
+msgstr "Xuống trang"
+
msgid "End"
msgstr "Cuối"
@@ -91,6 +127,18 @@ msgstr "Hoàn tác"
msgid "Redo"
msgstr "Làm lại"
+msgid "Completion Query"
+msgstr "Truy vấn hoàn thành"
+
+msgid "New Line"
+msgstr "Dòng mới"
+
+msgid "New Blank Line"
+msgstr "Dòng trống mới"
+
+msgid "New Line Above"
+msgstr "Dòng mới ở trên"
+
msgid "Indent"
msgstr "Thụt lề"
@@ -359,6 +407,9 @@ msgstr "Vị trí"
msgid "Scale"
msgstr "Tỷ lệ"
+msgid "BlendShape"
+msgstr "Làm mịn các dạng hình"
+
msgid "Methods"
msgstr "Phương thức"
@@ -1104,6 +1155,9 @@ msgstr "Biến toàn cục"
msgid "Navigation"
msgstr "Điều hướng"
+msgid "Vulkan"
+msgstr "Vulkan"
+
msgid "Nodes and Classes:"
msgstr "Các nút và lớp:"
@@ -1392,6 +1446,9 @@ msgstr ""
msgid "(Re)Importing Assets"
msgstr "Nhập lại tài nguyên"
+msgid "Experimental"
+msgstr "Tính thử nghiệm"
+
msgid "Top"
msgstr "Trên đầu"
@@ -1422,6 +1479,12 @@ msgstr "ghi đè %s:"
msgid "default:"
msgstr "mặc định:"
+msgid "Constructors"
+msgstr "Hàm tạo"
+
+msgid "Operators"
+msgstr "Các toán tử"
+
msgid "Theme Properties"
msgstr "Thuộc tính Chủ đề"
@@ -1429,7 +1492,7 @@ msgid "Colors"
msgstr "Màu"
msgid "Constants"
-msgstr "Hằng"
+msgstr "Các hằng số"
msgid "Fonts"
msgstr "Phông chữ"
@@ -1444,10 +1507,10 @@ msgid "Styles"
msgstr "Kiểu dáng"
msgid "Enumerations"
-msgstr "Liệt kê"
+msgstr "Tập hợp hằng số"
msgid "Property Descriptions"
-msgstr "Mô tả huộc tính"
+msgstr "Các mô tả thuộc tính"
msgid "(value)"
msgstr "(giá trị)"
@@ -1459,8 +1522,14 @@ msgstr ""
"Hiện thuộc tính này chưa được mô tả. Các bạn [color=$color][url=$url]đóng "
"góp[/url][/color] giúp chúng mình nha!"
+msgid "Constructor Descriptions"
+msgstr "Các mô tả hàm tạo"
+
msgid "Method Descriptions"
-msgstr "Mô tả phương thức"
+msgstr "Các mô tả phương thức"
+
+msgid "Operator Descriptions"
+msgstr "Các mô tả toán tử"
msgid "%d match."
msgstr "%d khớp."
@@ -1930,7 +1999,7 @@ msgid "Save Scene"
msgstr "Lưu Cảnh"
msgid "MeshLibrary..."
-msgstr "MeshLibrary..."
+msgstr "Thư viện hình lưới..."
msgid "Close Scene"
msgstr "Đóng Cảnh"
@@ -2030,7 +2099,7 @@ msgid "Update Continuously"
msgstr "Cập nhật Liên tục"
msgid "Hide Update Spinner"
-msgstr "Ẩn cái xoay xoay cập nhật"
+msgstr "Ẩn cập nhật spinner"
msgid "FileSystem"
msgstr "Hệ thống tệp tin"
@@ -2408,6 +2477,9 @@ msgstr ""
msgid "Runnable"
msgstr "Chạy được"
+msgid "Resources to export:"
+msgstr "Tài nguyên để xuất:"
+
msgid "Release"
msgstr "Phát hành"
@@ -2441,9 +2513,6 @@ msgstr "Xuất tài nguyên đã chọn (cùng các phần phụ thuộc)"
msgid "Export Mode:"
msgstr "Chế độ xuất:"
-msgid "Resources to export:"
-msgstr "Tài nguyên để xuất:"
-
msgid "Keep"
msgstr "Giữ"
@@ -2699,6 +2768,9 @@ msgstr "Lỗi khi chạy tập lệnh sau nhập:"
msgid "Saving..."
msgstr "Đang lưu ..."
+msgid "2D"
+msgstr "2D"
+
msgid "3D"
msgstr "3D"
@@ -3573,6 +3645,9 @@ msgstr "Pixel ở Viền cạnh Có hướng"
msgid "Create Emission Points From Node"
msgstr "Tạo điểm phát xạ từ nút"
+msgid "Flat 1"
+msgstr "Flat 1"
+
msgid "Ease Out"
msgstr "Trườn ra"
@@ -3666,6 +3741,9 @@ msgstr ""
msgid "Synchronize Script Changes"
msgstr "Đồng bộ hóa thay đổi trong tập lệnh"
+msgid " - Variation"
+msgstr " - Biến"
+
msgid "Convert to CPUParticles2D"
msgstr "Chuyển thành CPUParticles2D"
@@ -3829,9 +3907,18 @@ msgstr "Biến đổi theo trục Z."
msgid "View Plane Transform."
msgstr "Xem Transform của Plane."
+msgid "Keying is disabled (no key inserted)."
+msgstr "Phím đã bị tắt (không có phím nào được chèn)."
+
msgid "Animation Key Inserted."
msgstr "Đã chèn khóa hoạt ảnh."
+msgid "Size: %s (%.1fMP)\n"
+msgstr "Kích thước: %s (%.1fMP)\n"
+
+msgid "Objects: %d\n"
+msgstr "Các đối tượng: %d\n"
+
msgid "None"
msgstr "Không có"
@@ -4388,7 +4475,7 @@ msgid "Create Rest Pose from Bones"
msgstr "Tạo tư thế nghỉ từ Xương"
msgid "Skeleton2D"
-msgstr "Skeleton2D"
+msgstr "Khung xương 2D"
msgid "Create physical bones"
msgstr "Tạo xương vật lý"
@@ -4502,7 +4589,7 @@ msgid "Create Frames from Sprite Sheet"
msgstr "Tạo Khung hình từ Sprite Sheet"
msgid "SpriteFrames"
-msgstr "SpriteFrames"
+msgstr "Khung hình sprite"
msgid "Set Margin"
msgstr "Đặt Lề"
@@ -4580,7 +4667,7 @@ msgid "Yes"
msgstr "Có"
msgid "TileSet"
-msgstr "TileSet"
+msgstr "Tập gạch"
msgid "Error"
msgstr "Lỗi"
@@ -4697,10 +4784,10 @@ msgid "Create Shader Node"
msgstr "Tạo nút Shader"
msgid "Color function."
-msgstr "hàm màu"
+msgstr "Hàm Màu."
msgid "Grayscale function."
-msgstr "hàm đen trắng"
+msgstr "Hàm đen trắng."
msgid "Converts HSV vector to RGB equivalent."
msgstr "Chuyển véc tơ màu HSV sang RGB tương ứng."
@@ -4946,6 +5033,9 @@ msgstr ""
msgid "Returns the vector that points in the direction of refraction."
msgstr "Trả về véc tơ chỉ theo hướng khúc xạ."
+msgid "Bake VoxelGI"
+msgstr "Tính toán và lưu trữ kết quả ánh sáng và bóng đổ trên khối Voxel"
+
msgid "The path specified doesn't exist."
msgstr "Đường dẫn đã cho không tồn tại."
@@ -5127,6 +5217,9 @@ msgstr "Ánh xạ đầu vào"
msgid "Localization"
msgstr "Bản địa hoá"
+msgid "Autoload"
+msgstr "Tự động tải"
+
msgid "Plugins"
msgstr "Tiện ích"
@@ -5651,6 +5744,13 @@ msgstr "Tên tệp không hợp lệ! Android App Bundle cần đuôi *.aab ở
msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Tên tệp không hợp lệ! Android APK cần đuôi *.apk ở cuối."
+msgid ""
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
+"Please reinstall Android build template from 'Project' menu."
+msgstr ""
+"Phiên bản dựng Android không khớp: Bản mẫu được cài đặt: %s, Phiên bản "
+"Godot: %s. Vui lòng cài đặt lại bản mẫu Android từ bảng chọn 'Dự Án'."
+
msgid "Building Android Project (gradle)"
msgstr "Đang dựng dự án Android (gradle)"
diff --git a/editor/translations/editor/zh_CN.po b/editor/translations/editor/zh_CN.po
index 3fb9c6d355..0d7cdf63eb 100644
--- a/editor/translations/editor/zh_CN.po
+++ b/editor/translations/editor/zh_CN.po
@@ -90,12 +90,13 @@
# 赵不一 <279631638@qq.com>, 2023.
# WangYi13 <wyi13@outlook.com>, 2023.
# matrixant <yuan545@hotmail.com>, 2023.
+# GarliCat <phoenixkaze@live.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2023-04-08 06:27+0000\n"
+"PO-Revision-Date: 2023-05-12 16:04+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
@@ -104,7 +105,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Unset"
msgstr "未设置"
@@ -4379,6 +4380,12 @@ msgstr "为定义的每一个预设导出该项目。"
msgid "All presets must have an export path defined for Export All to work."
msgstr "所有预设必须都定义导出路径,才能进行“全部导出”。"
+msgid "Resources to exclude:"
+msgstr "排除的资源:"
+
+msgid "Resources to export:"
+msgstr "导出的资源:"
+
msgid "Delete preset '%s'?"
msgstr "是否删除预设 “%s”?"
@@ -4434,9 +4441,6 @@ msgstr "导出为专用服务器"
msgid "Export Mode:"
msgstr "导出模式:"
-msgid "Resources to export:"
-msgstr "导出的资源:"
-
msgid ""
"\"Strip Visuals\" will replace the following resources with placeholders:"
msgstr "“剥离视觉内容”将用占位符取代以下资源:"
@@ -9866,6 +9870,9 @@ msgstr "包含无效场景的图块"
msgid "Delete tiles"
msgstr "删除图块"
+msgid "Drawing Rect:"
+msgstr "绘制矩形:"
+
msgid "Change selection"
msgstr "修改选中项"
@@ -14870,6 +14877,12 @@ msgid ""
"set to true."
msgstr "ButtonGroup 的目的是只用于那些将 toggle_mode 设置为 true 的按钮。"
+msgid "Copy this constructor in a script."
+msgstr "复制这个脚本中的构造函数。"
+
+msgid "Enter a hex code (\"#ff0000\") or named color (\"red\")."
+msgstr "输入十六进制码(\"#ff0000\")或颜色名称(\"red\")。"
+
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
@@ -14898,6 +14911,9 @@ msgstr "选择选取器模式。"
msgid "Switch between hexadecimal and code values."
msgstr "在十六进制值和代码值之间切换。"
+msgid "Hex code or named color"
+msgstr "十六进制码或颜色名称"
+
msgid "Add current color as a preset."
msgstr "将当前颜色添加为预设。"
diff --git a/editor/translations/editor/zh_TW.po b/editor/translations/editor/zh_TW.po
index 2da2e9de65..f77b86bf7e 100644
--- a/editor/translations/editor/zh_TW.po
+++ b/editor/translations/editor/zh_TW.po
@@ -3184,6 +3184,9 @@ msgstr "使用每個已定義的預設設定來匯出該專案。"
msgid "All presets must have an export path defined for Export All to work."
msgstr "所有預設設定都必須定義好匯出路徑,才可使用 [匯出全部] 功能。"
+msgid "Resources to export:"
+msgstr "匯出的資源:"
+
msgid "Delete preset '%s'?"
msgstr "確定要刪除預設設定「%s」?"
@@ -3230,9 +3233,6 @@ msgstr "匯出所選資源(與其所有相依性)"
msgid "Export Mode:"
msgstr "匯出模式:"
-msgid "Resources to export:"
-msgstr "匯出的資源:"
-
msgid "Keep"
msgstr "保持"
diff --git a/editor/translations/properties/de.po b/editor/translations/properties/de.po
index 599bf6d00c..3264578500 100644
--- a/editor/translations/properties/de.po
+++ b/editor/translations/properties/de.po
@@ -75,7 +75,7 @@
# Zae Chao <zaevi@live.com>, 2021.
# Tim <tim14speckenwirth@gmail.com>, 2021.
# Antonio Noack <corperateraider@gmail.com>, 2022.
-# ‎ <artism90@googlemail.com>, 2022.
+# ‎ <artism90@googlemail.com>, 2022, 2023.
# Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>, 2022.
# Andreas <self@andreasbresser.de>, 2022.
# ARez <dark.gaming@fantasymail.de>, 2022.
@@ -90,13 +90,14 @@
# Least Significant Bite <leastsignificantbite@proton.me>, 2023.
# Benno <bennocrafterdev@googlemail.com>, 2023.
# Janosch Lion <janorico@posteo.de>, 2023.
+# "Dimitri A." <dimitripilot3@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-13 17:34+0000\n"
-"Last-Translator: Janosch Lion <janorico@posteo.de>\n"
+"PO-Revision-Date: 2023-05-11 05:49+0000\n"
+"Last-Translator: ‎ <artism90@googlemail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/de/>\n"
"Language: de\n"
@@ -104,7 +105,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "Anwendung"
@@ -149,7 +150,7 @@ msgid "Main Loop Type"
msgstr "Typ der Hauptschleife"
msgid "Auto Accept Quit"
-msgstr "Automatisches Beendenakzeptieren"
+msgstr "Automatisches Beenden akzeptieren"
msgid "Display"
msgstr "Anzeige"
@@ -686,7 +687,7 @@ msgid "Keying"
msgstr "Schlüsselwerte erzeugen"
msgid "Interface"
-msgstr "Schnittstelle"
+msgstr "Oberfläche"
msgid "Show Update Spinner"
msgstr "Aktualisierungsrad anzeigen"
@@ -934,6 +935,9 @@ msgstr "Leerzeichen anzeigen"
msgid "Line Spacing"
msgstr "Zeilenzwischenraum"
+msgid "Behavior"
+msgstr "Verhalten"
+
msgid "Navigation"
msgstr "Navigation"
@@ -1453,6 +1457,9 @@ msgstr "Überabtastung"
msgid "Metadata Overrides"
msgstr "Metadaten-Überschreibungen"
+msgid "Language Support"
+msgstr "Sprachunterstützung"
+
msgid "Fallbacks"
msgstr "Fallbacks"
@@ -2048,10 +2055,10 @@ msgid "Exclude Addons"
msgstr "Addons ausschließen"
msgid "Language Server"
-msgstr "Language-Server"
+msgstr "Language Server"
msgid "Enable Smart Resolve"
-msgstr "Schlaues Auflösen aktivieren"
+msgstr "Intelligentes Auflösen aktivieren"
msgid "Use Thread"
msgstr "Thread verwenden"
@@ -4399,6 +4406,12 @@ msgstr "Bleibe außerhalb gedrückt"
msgid "Button Group"
msgstr "Knopf-Gruppe"
+msgid "Text Behavior"
+msgstr "Textverhalten"
+
+msgid "Text Overrun Behavior"
+msgstr "Textüberlaufverhalten"
+
msgid "Clip Text"
msgstr "Ausschnitttext"
diff --git a/editor/translations/properties/es.po b/editor/translations/properties/es.po
index 5f60a8e0d4..18b1ae74da 100644
--- a/editor/translations/properties/es.po
+++ b/editor/translations/properties/es.po
@@ -93,13 +93,14 @@
# Victor Stancioiu <victorstancioiu@gmail.com>, 2022, 2023.
# Daniel Miranda <danmiranda@gmail.com>, 2023.
# Sebas Echazú <sebastianechazu@outlook.com>, 2023.
+# Pedro Zebenzui Ortega Diaz <pipo.tf@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-08 06:27+0000\n"
-"Last-Translator: Sebas Echazú <sebastianechazu@outlook.com>\n"
+"PO-Revision-Date: 2023-05-17 00:52+0000\n"
+"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/es/>\n"
"Language: es\n"
@@ -107,7 +108,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "Aplicación"
@@ -5311,6 +5312,9 @@ msgstr "Influencia de la Luz"
msgid "AO Channel Affect"
msgstr "Influencia del Canal AO"
+msgid "SSIL"
+msgstr "SSIL"
+
msgid "Glow"
msgstr "Brillo"
@@ -5737,6 +5741,9 @@ msgstr "Cámara Activa"
msgid "Default Font"
msgstr "Fuente Predeterminada"
+msgid "Terrains"
+msgstr "Terrenos"
+
msgid "Custom Data"
msgstr "Datos Personalizados"
diff --git a/editor/translations/properties/fr.po b/editor/translations/properties/fr.po
index a646aeb211..b70b573588 100644
--- a/editor/translations/properties/fr.po
+++ b/editor/translations/properties/fr.po
@@ -117,7 +117,7 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-12 11:49+0000\n"
+"PO-Revision-Date: 2023-05-03 11:49+0000\n"
"Last-Translator: \"Dimitri A.\" <dimitripilot3@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/fr/>\n"
@@ -126,7 +126,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "Application"
@@ -155,20 +155,26 @@ msgstr "Désactiver stdout"
msgid "Disable stderr"
msgstr "Désactiver stderr"
+msgid "Use Hidden Project Data Directory"
+msgstr "Utiliser un répertoire caché pour les données du projet"
+
msgid "Use Custom User Dir"
msgstr "Utiliser un répertoire utilisateur personnalisé"
msgid "Custom User Dir Name"
msgstr "Nom du répertoire utilisateur personnalisé"
+msgid "Project Settings Override"
+msgstr "Redéfinition des paramètres du projet"
+
msgid "Main Loop Type"
-msgstr "Type de boucle principale"
+msgstr "Type de la boucle principale"
msgid "Auto Accept Quit"
msgstr "Accepter automatiquement la fermeture"
msgid "Quit on Go Back"
-msgstr "Quitter avec la touche Retour"
+msgstr "Fermer avec la touche Retour"
msgid "Display"
msgstr "Affichage"
@@ -209,6 +215,9 @@ msgstr "Toujours au-dessus"
msgid "Transparent"
msgstr "Transparent"
+msgid "Extend to Title"
+msgstr "Étendu à la barre de titre"
+
msgid "No Focus"
msgstr "Sans focus"
@@ -237,10 +246,10 @@ msgid "General"
msgstr "Général"
msgid "2D Panning Strength"
-msgstr "Intensité du panoramique audio 2D"
+msgstr "Intensité du panoramique audio en 2D"
msgid "3D Panning Strength"
-msgstr "Intensité du panoramique audio 3D"
+msgstr "Intensité du panoramique audio en 3D"
msgid "Editor"
msgstr "Éditeur"
@@ -249,7 +258,7 @@ msgid "Script"
msgstr "Script"
msgid "Search in File Extensions"
-msgstr "Rechercher dans les extensions de fichier"
+msgstr "Recherche dans les fichiers : extensions"
msgid "Subwindows"
msgstr "Sous-fenêtres"
@@ -341,6 +350,9 @@ msgstr "GUI"
msgid "Timers"
msgstr "Chronomètres"
+msgid "Incremental Search Max Interval Msec"
+msgstr "Délai max. de la recherche incrémentale (ms)"
+
msgid "Common"
msgstr "Commun"
@@ -792,7 +804,7 @@ msgid "Update Continuously"
msgstr "Mise à jour continue"
msgid "Localize Settings"
-msgstr "Traduction des paramètres"
+msgstr "Traduire les paramètres"
msgid "Scene Tabs"
msgstr "Onglets de scène"
@@ -1620,10 +1632,10 @@ msgid "Zoom"
msgstr "Zoomer"
msgid "Custom Template"
-msgstr "Modèle Personnalisé"
+msgstr "Modèle personnalisé"
msgid "Release"
-msgstr "Publication (release)"
+msgstr "Publication"
msgid "Binary Format"
msgstr "Format Binaire"
@@ -2280,19 +2292,22 @@ msgid "SSH Private Key Path"
msgstr "Chemin de la clé privée SSH"
msgid "Main Run Args"
-msgstr "Paramètres d'exécution du programme principal"
+msgstr "Arguments de démarrage du programme principal"
+
+msgid "Templates Search Path"
+msgstr "Chemin de recherche des modèles"
msgid "Naming"
msgstr "Nommage"
msgid "Default Signal Callback Name"
-msgstr "Nom de rappel de signal par défaut"
+msgstr "Nom par défaut d'un rappel de signal"
msgid "Default Signal Callback to Self Name"
-msgstr "Nom de rappel de signal à soi-même par défaut"
+msgstr "Nom par défaut d'un rappel de signal à soi-même (self)"
msgid "Scene Name Casing"
-msgstr "Notation du nom de la scène"
+msgstr "Notation (casse) d'un nom de scène"
msgid "Reimport Missing Imported Files"
msgstr "Réimporter les fichiers importés manquants"
@@ -3207,91 +3222,106 @@ msgid "Icons"
msgstr "Icônes"
msgid "iPhone 120 X 120"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone (120 x 120)"
msgid "iPhone 180 X 180"
-msgstr "iPhone 180 X 180"
+msgstr "iPhone (180 x 180)"
msgid "iPad 76 X 76"
-msgstr "iPad 76 X 76"
+msgstr "iPad (76 x 76)"
msgid "iPad 152 X 152"
-msgstr "iPad 152 X 152"
+msgstr "iPad (152 x 152)"
msgid "iPad 167 X 167"
-msgstr "iPad 167 X 167"
+msgstr "iPad (167 x 167)"
msgid "App Store 1024 X 1024"
-msgstr "App Store 1024 X 1024"
+msgstr "App Store (1024 x 1024)"
msgid "Spotlight 40 X 40"
-msgstr "Projecteur 40 X 40"
+msgstr "Spotlight (40 x 40)"
msgid "Spotlight 80 X 80"
-msgstr "Projecteur 80 X 80"
+msgstr "Spotlight (80 x 80)"
+
+msgid "Settings 58 X 58"
+msgstr "Réglages (58 x 58)"
+
+msgid "Settings 87 X 87"
+msgstr "Réglages (87 x 87)"
+
+msgid "Notification 40 X 40"
+msgstr "Notification (40 x 40)"
+
+msgid "Notification 60 X 60"
+msgstr "Notification (60 x 60)"
msgid "Landscape Launch Screens"
msgstr "Écrans de lancement en mode paysage"
msgid "iPhone 2436 X 1125"
-msgstr "iPhone 2436 X 1125"
+msgstr "iPhone (2436 x 1125)"
msgid "iPhone 2208 X 1242"
-msgstr "iPhone 2208 X 1242"
+msgstr "iPhone (2208 x 1242)"
msgid "iPad 1024 X 768"
-msgstr "iPad 1024 X 768"
+msgstr "iPad (1024 x 768)"
msgid "iPad 2048 X 1536"
-msgstr "iPad 2048 X 1536"
+msgstr "iPad (2048 x 1536)"
msgid "Portrait Launch Screens"
msgstr "Écrans de lancement en mode portrait"
msgid "iPhone 640 X 960"
-msgstr "iPhone 640 X 960"
+msgstr "iPhone (640 x 960)"
msgid "iPhone 640 X 1136"
-msgstr "iPhone 640 X 1136"
+msgstr "iPhone (640 x 1136)"
msgid "iPhone 750 X 1334"
-msgstr "iPhone 750 X 1334"
+msgstr "iPhone (750 x 1334)"
msgid "iPhone 1125 X 2436"
-msgstr "iPhone 1125 X 2436"
+msgstr "iPhone (1125 x 2436)"
msgid "iPad 768 X 1024"
-msgstr "iPad 768 X 1024"
+msgstr "iPad (768 x 1024)"
msgid "iPad 1536 X 2048"
-msgstr "iPad 1536 X 2048"
+msgstr "iPad (1536 x 2048)"
msgid "iPhone 1242 X 2208"
-msgstr "iPhone 1242 X 2208"
+msgstr "iPhone (1242 x 2208)"
msgid "App Store Team ID"
-msgstr "ID de groupe de l'App Store"
+msgstr "ID d'organisation (Team ID) dans l'App Store"
msgid "Provisioning Profile UUID Debug"
-msgstr "UUID de provisionnement de profils en débogage"
+msgstr "Débogage : UUID du profil de provisionnement"
msgid "Code Sign Identity Debug"
-msgstr "Identité de signature de code en débogage"
+msgstr "Débogage : Identité de signature du code"
msgid "Export Method Debug"
-msgstr "Méthode d'exportation en débogage"
+msgstr "Débogage : Méthode d'exportation"
msgid "Provisioning Profile UUID Release"
-msgstr "UUID de provisionnement de profils en publication"
+msgstr "Publication : UUID du profil de provisionnement"
msgid "Code Sign Identity Release"
-msgstr "Identité de signature de code en publication"
+msgstr "Publication : Identité de signature du code"
msgid "Export Method Release"
-msgstr "Méthode d'exportation en publication"
+msgstr "Publication : Méthode d'exportation"
msgid "Targeted Device Family"
-msgstr "Famille de système ciblée"
+msgstr "Famille(s) d'appareils cibles"
+
+msgid "Bundle Identifier"
+msgstr "Identifiant du bundle"
msgid "Signature"
msgstr "Signature"
@@ -3299,44 +3329,59 @@ msgstr "Signature"
msgid "Short Version"
msgstr "Version courte"
+msgid "Icon Interpolation"
+msgstr "Interpolation des icônes"
+
+msgid "Launch Screens Interpolation"
+msgstr "Interpolation des écrans de lancement"
+
msgid "Capabilities"
-msgstr "Capacités"
+msgstr "Fonctionnalités"
msgid "Access Wi-Fi"
msgstr "Accès Wi-Fi"
msgid "Push Notifications"
-msgstr "Notifications Push"
+msgstr "Notifications push (poussées)"
msgid "User Data"
-msgstr "Données Utilisateur"
+msgstr "Données utilisateur"
msgid "Accessible From Files App"
-msgstr "Accessible depuis l'application Files"
+msgstr "Accessibles via l'application Fichiers"
msgid "Accessible From iTunes Sharing"
-msgstr "Accessible depuis le partage iTunes"
+msgstr "Accessibles via le partage iTunes"
msgid "Privacy"
msgstr "Confidentialité"
msgid "Camera Usage Description"
-msgstr "Description d'utilisation de la caméra"
+msgstr "Description de l'accès de la caméra"
+
+msgid "Camera Usage Description Localized"
+msgstr "Description (localisée) de l'accès à la caméra"
msgid "Microphone Usage Description"
-msgstr "Description d'utilisation du microphone"
+msgstr "Description de l'accès au microphone"
+
+msgid "Microphone Usage Description Localized"
+msgstr "Description (localisée) de l'accès au microphone"
msgid "Photolibrary Usage Description"
-msgstr "Description d'utilisation de la bibliothèque d'image"
+msgstr "Description de l'accès à la photothèque"
+
+msgid "Photolibrary Usage Description Localized"
+msgstr "Description (localisée) de l'accès à la photothèque"
msgid "Storyboard"
-msgstr "Story-board"
+msgstr "Storyboard"
msgid "Use Launch Screen Storyboard"
-msgstr "Utiliser le storyboard de l'écran de lancement"
+msgstr "Utiliser un storyboard pour l'écran de lancement"
msgid "Image Scale Mode"
-msgstr "Mode de mise à l'échelle d'image"
+msgstr "Mode de mise à l'échelle des images"
msgid "Custom Image @2x"
msgstr "Image personnalisée @2x"
@@ -5393,6 +5438,12 @@ msgstr "Mode de Transfert"
msgid "Transfer Channel"
msgstr "Canal de transfert"
+msgid "Node Name Num Separator"
+msgstr "Séparateur entre nom de nœud et numéro"
+
+msgid "Node Name Casing"
+msgstr "Notation (casse) d'un nom de nœud"
+
msgid "Editor Description"
msgstr "Description de l'Editeur"
@@ -5532,7 +5583,7 @@ msgid "Format"
msgstr "Format"
msgid "Mix Rate"
-msgstr "Taux de mélange"
+msgstr "Taux d'échantillonnage du mixage"
msgid "Stereo"
msgstr "Stéréo"
@@ -6611,17 +6662,35 @@ msgstr "Temps de retrait (ms)"
msgid "Surround"
msgstr "Surround"
+msgid "Enable Input"
+msgstr "Activer l'entrée audio"
+
msgid "Output Latency"
msgstr "Latence de sortie"
msgid "Channel Disable Threshold dB"
-msgstr "Désactiver le seuil de dB du canal"
+msgstr "Seuil (dB) de désactivation d'un canal"
+
+msgid "Channel Disable Time"
+msgstr "Délai avant désactivation d'un canal"
+
+msgid "Video"
+msgstr "Vidéo"
msgid "Video Delay Compensation (ms)"
msgstr "Compensation de retard vidéo (ms)"
msgid "Bus Count"
-msgstr "Nombre de ports"
+msgstr "Nombre de bus"
+
+msgid "Output Device"
+msgstr "Périphérique de sortie"
+
+msgid "Input Device"
+msgstr "Périphérique d'entrée"
+
+msgid "Playback Speed Scale"
+msgstr "Vitesse de lecture (multiplicateur)"
msgid "Feed"
msgstr "Flux"
diff --git a/editor/translations/properties/id.po b/editor/translations/properties/id.po
new file mode 100644
index 0000000000..7a0ae3706c
--- /dev/null
+++ b/editor/translations/properties/id.po
@@ -0,0 +1,8017 @@
+# Indonesian translation of the Godot Engine properties.
+# Copyright (c) 2014-present Godot Engine contributors.
+# Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
+# This file is distributed under the same license as the Godot source code.
+# Abdul Aziz Muslim Alqudsy <abdul.aziz.muslim.alqudsy@gmail.com>, 2016.
+# Andevid Dynmyn <doyan4forum@gmail.com>, 2016.
+# Andinawan Asa <asaandinawan@gmail.com>, 2016.
+# Damar Inderajati <damarind@gmail.com>, 2017.
+# Damar S. M <the.last.walla@gmail.com>, 2017.
+# Fajar Ru <kzofajar@gmail.com>, 2018.
+# Khairul Hidayat <khairulcyber4rt@gmail.com>, 2016.
+# Reza Hidayat Bayu Prabowo <rh.bayu.prabowo@gmail.com>, 2018, 2019.
+# Romi Kusuma Bakti <romikusumab@gmail.com>, 2017, 2018, 2021.
+# Sofyan Sugianto <sofyanartem@gmail.com>, 2017-2018, 2019, 2020, 2021.
+# Tito <ijavadroid@gmail.com>, 2018.
+# Tom My <tom.asadinawan@gmail.com>, 2017.
+# yursan9 <rizal.sagi@gmail.com>, 2016.
+# Evan Hyacinth <muhammad.ivan669@gmail.com>, 2018, 2019.
+# Guntur Sarwohadi <gsarwohadi@gmail.com>, 2019.
+# Alphin Albukhari <alphinalbukhari5@gmail.com>, 2019.
+# I Dewa Agung Adhinata <agungnata2003@gmail.com>, 2019.
+# herri siagian <herry.it.2007@gmail.com>, 2019.
+# MonsterGila <fikrirazor@outlook.co.id>, 2019, 2020.
+# Modeus Darksono <garuga17@gmail.com>, 2019.
+# Akhmad Zulfikar <azuldegratz@gmail.com>, 2020.
+# Ade Fikri Malihuddin <ade.fm97@gmail.com>, 2020.
+# zephyroths <ridho.hikaru@gmail.com>, 2020, 2021, 2022.
+# Richard Urban <redasuio1@gmail.com>, 2020.
+# yusuf afandi <afandi.yusuf.04@gmail.com>, 2020, 2022.
+# Habib Rohman <revolusi147id@gmail.com>, 2020.
+# Hanz <hanzhaxors@gmail.com>, 2021.
+# Reza Almanda <rezaalmanda27@gmail.com>, 2021, 2022.
+# Naufal Adriansyah <naufaladrn90@gmail.com>, 2021.
+# undisputedgoose <diablodvorak@gmail.com>, 2021.
+# Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>, 2021, 2022.
+# Hilman Hazazi <hafizd.muhammad.kren.403@gmail.com>, 2021.
+# Brian <brian@brianthe.dev>, 2021.
+# Helmi Hibatullah <helmihibatullah393@gmail.com>, 2022.
+# ProgrammerIndonesia 44 <elo.jhy@gmail.com>, 2022.
+# Rizky Ramadhan <rizkyterm@gmail.com>, 2022.
+# Primananda Kurnia <primakurnia71@gmail.com>, 2022.
+# FellowMustard <rachmawanng33@gmail.com>, 2022.
+# Muhammad Zainal Abidin <eviepk12@gmail.com>, 2022.
+# adfriz <aditiyaafrizal2@gmail.com>, 2023.
+# EngageIndo <admin@engageindo.com>, 2023.
+# EngageIndo <engageindo@gmail.com>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine properties\n"
+"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2023-05-15 13:56+0000\n"
+"Last-Translator: EngageIndo <engageindo@gmail.com>\n"
+"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
+"godot-properties/id/>\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.18-dev\n"
+
+msgid "Application"
+msgstr "Aplikasi"
+
+msgid "Config"
+msgstr "Konfigurasi"
+
+msgid "Name"
+msgstr "Nama"
+
+msgid "Name Localized"
+msgstr "Lokalisasi Nama"
+
+msgid "Description"
+msgstr "Deskripsi"
+
+msgid "Run"
+msgstr "Jalankan"
+
+msgid "Main Scene"
+msgstr "Skena Utama"
+
+msgid "Disable stdout"
+msgstr "Nonaktifkan stdout"
+
+msgid "Disable stderr"
+msgstr "Nonaktifkan stderr"
+
+msgid "Use Hidden Project Data Directory"
+msgstr "Gunakan Direktori Data Proyek Tersembunyi"
+
+msgid "Use Custom User Dir"
+msgstr "Gunakan Direktori Pengguna Kustom"
+
+msgid "Custom User Dir Name"
+msgstr "Nama Dir Pengguna Kustom"
+
+msgid "Project Settings Override"
+msgstr "Penggantian Pengaturan Proyek"
+
+msgid "Main Loop Type"
+msgstr "Tipe Perulangan Utama"
+
+msgid "Auto Accept Quit"
+msgstr "Terima Otomatis Keluar"
+
+msgid "Quit on Go Back"
+msgstr "Berhenti di Kembali"
+
+msgid "Display"
+msgstr "Tampilan"
+
+msgid "Window"
+msgstr "Jendela"
+
+msgid "Size"
+msgstr "Ukuran"
+
+msgid "Viewport Width"
+msgstr "Lebar Viewport"
+
+msgid "Viewport Height"
+msgstr "Tinggi viewport"
+
+msgid "Mode"
+msgstr "Mode"
+
+msgid "Initial Position Type"
+msgstr "Jenis Posisi Awal"
+
+msgid "Initial Position"
+msgstr "Posisi Awal"
+
+msgid "Initial Screen"
+msgstr "Layar Awal"
+
+msgid "Resizable"
+msgstr "Dapat diubah ukurannya"
+
+msgid "Borderless"
+msgstr "Tanpa batas"
+
+msgid "Always on Top"
+msgstr "Selalu di Atas"
+
+msgid "Transparent"
+msgstr "Transparan"
+
+msgid "Extend to Title"
+msgstr "Perluas ke Judul"
+
+msgid "No Focus"
+msgstr "Tidak Fokus"
+
+msgid "Window Width Override"
+msgstr "Penimpaan Lebar Jendela"
+
+msgid "Window Height Override"
+msgstr "Penimpaan Tinngi Jendela"
+
+msgid "Energy Saving"
+msgstr "Hemat Daya"
+
+msgid "Keep Screen On"
+msgstr "Biarkan Layar Menyala"
+
+msgid "Audio"
+msgstr "Suara"
+
+msgid "Buses"
+msgstr "Bus"
+
+msgid "Default Bus Layout"
+msgstr "Tata Letak Bus Default"
+
+msgid "General"
+msgstr "Umum"
+
+msgid "2D Panning Strength"
+msgstr "Kekuatan Panning 2D"
+
+msgid "3D Panning Strength"
+msgstr "Kekuatan Panning 3D"
+
+msgid "Editor"
+msgstr "Editor"
+
+msgid "Script"
+msgstr "Skrip"
+
+msgid "Search in File Extensions"
+msgstr "Cari dalam Ekstensi File"
+
+msgid "Subwindows"
+msgstr "Subjendela"
+
+msgid "Embed Subwindows"
+msgstr "Menyematkan Subjendela"
+
+msgid "Physics"
+msgstr "Fisika"
+
+msgid "2D"
+msgstr "2D"
+
+msgid "Run on Separate Thread"
+msgstr "Jalankan di Thread Terpisah"
+
+msgid "3D"
+msgstr "3D"
+
+msgid "Stretch"
+msgstr "Memuai"
+
+msgid "Aspect"
+msgstr "Aspek"
+
+msgid "Scale"
+msgstr "Skala"
+
+msgid "Debug"
+msgstr "Debug"
+
+msgid "Settings"
+msgstr "Pengaturan"
+
+msgid "Profiler"
+msgstr "Profiler"
+
+msgid "Max Functions"
+msgstr "Fungsi Maksimum"
+
+msgid "Compression"
+msgstr "Kompresi"
+
+msgid "Formats"
+msgstr "Format"
+
+msgid "Zstd"
+msgstr "Zstd"
+
+msgid "Long Distance Matching"
+msgstr "Pencocokan Jarak Jauh"
+
+msgid "Compression Level"
+msgstr "Level Kompresi"
+
+msgid "Window Log Size"
+msgstr "Ukuran Jendela Log"
+
+msgid "Zlib"
+msgstr "Zlib"
+
+msgid "Gzip"
+msgstr "Gzip"
+
+msgid "Crash Handler"
+msgstr "Penangan Kecelakaan"
+
+msgid "Message"
+msgstr "Pesan"
+
+msgid "Rendering"
+msgstr "Rendering"
+
+msgid "Occlusion Culling"
+msgstr "Pemusnahan Oklusi"
+
+msgid "BVH Build Quality"
+msgstr "Kualitas Build BVH"
+
+msgid "Memory"
+msgstr "Memori"
+
+msgid "Limits"
+msgstr "Batasan"
+
+msgid "Multithreaded Server"
+msgstr "Server Multithreaded"
+
+msgid "RID Pool Prealloc"
+msgstr "Pra-alokasi Pool RID"
+
+msgid "Internationalization"
+msgstr "Internasionalisasi"
+
+msgid "Force Right to Left Layout Direction"
+msgstr "Paksa Arah Tata Letak Kanan ke Kiri"
+
+msgid "Root Node Layout Direction"
+msgstr "Arah Tata Letak Node Root"
+
+msgid "GUI"
+msgstr "GUI"
+
+msgid "Timers"
+msgstr "Timer"
+
+msgid "Incremental Search Max Interval Msec"
+msgstr "Interval Maksimal Pencarian Tambahan Msec"
+
+msgid "Common"
+msgstr "Umum"
+
+msgid "Snap Controls to Pixels"
+msgstr "Kontrol Snap ke Piksel"
+
+msgid "Fonts"
+msgstr "Font"
+
+msgid "Dynamic Fonts"
+msgstr "Fonta Dinamis"
+
+msgid "Use Oversampling"
+msgstr "Gunakan Oversampling"
+
+msgid "Rendering Device"
+msgstr "Perangkat Rendering"
+
+msgid "Staging Buffer"
+msgstr "Staging Buffer"
+
+msgid "Block Size (KB)"
+msgstr "Ukuran Blok (KB)"
+
+msgid "Max Size (MB)"
+msgstr "Ukuran Maksimum (MB)"
+
+msgid "Texture Upload Region Size Px"
+msgstr "Ukuran Wilayah Unggah Tekstur Ukuran Px"
+
+msgid "Vulkan"
+msgstr "Vulkan"
+
+msgid "Max Descriptors per Pool"
+msgstr "Deskriptor Maksimum per Pool"
+
+msgid "Textures"
+msgstr "Tekstur²"
+
+msgid "Canvas Textures"
+msgstr "Tekstur Kanvas"
+
+msgid "Default Texture Filter"
+msgstr "Filter Tekstur Default"
+
+msgid "Default Texture Repeat"
+msgstr "Pengulangan Tekstur Default"
+
+msgid "Low Processor Usage Mode"
+msgstr "Mode Penggunaan Processor Rendah"
+
+msgid "Low Processor Usage Mode Sleep (µsec)"
+msgstr "Mode Penggunaan Prosesor Rendah Tidur (μsec)"
+
+msgid "Print Error Messages"
+msgstr "Cetak Pesan Kesalahan"
+
+msgid "Physics Ticks per Second"
+msgstr "Centang Fisik per Detik"
+
+msgid "Max Physics Steps per Frame"
+msgstr "Maksimal Pesan Per Frame"
+
+msgid "Max FPS"
+msgstr "FPS Maks"
+
+msgid "Time Scale"
+msgstr "Skala Waktu"
+
+msgid "Physics Jitter Fix"
+msgstr "Perbaikan Fisika Jitter"
+
+msgid "Mouse Mode"
+msgstr "Mode Mouse"
+
+msgid "Use Accumulated Input"
+msgstr "Gunakan Akumulasi Masukan"
+
+msgid "Device"
+msgstr "Perangkat"
+
+msgid "Window ID"
+msgstr "ID Jendela"
+
+msgid "Command or Control Autoremap"
+msgstr "Command atau Control Autoremap"
+
+msgid "Alt Pressed"
+msgstr "Alt Ditekan"
+
+msgid "Shift Pressed"
+msgstr "Shift Ditekan"
+
+msgid "Ctrl Pressed"
+msgstr "Ctrl Ditekan"
+
+msgid "Meta Pressed"
+msgstr "Meta Ditekan"
+
+msgid "Pressed"
+msgstr "Ditekan"
+
+msgid "Keycode"
+msgstr "Kata kunci"
+
+msgid "Physical Keycode"
+msgstr "Kode Kunci Fisik"
+
+msgid "Key Label"
+msgstr "Label Kunci"
+
+msgid "Unicode"
+msgstr "Unicode"
+
+msgid "Echo"
+msgstr "Gema"
+
+msgid "Button Mask"
+msgstr "Mask Tombol"
+
+msgid "Position"
+msgstr "Posisi"
+
+msgid "Global Position"
+msgstr "Posisi Global"
+
+msgid "Factor"
+msgstr "Faktor"
+
+msgid "Button Index"
+msgstr "Tombol Indeks"
+
+msgid "Double Click"
+msgstr "Klik ganda"
+
+msgid "Tilt"
+msgstr "Miring"
+
+msgid "Pressure"
+msgstr "Tekanan"
+
+msgid "Pen Inverted"
+msgstr "Pena Terbalik"
+
+msgid "Relative"
+msgstr "Relatif"
+
+msgid "Velocity"
+msgstr "Kecepatan"
+
+msgid "Axis"
+msgstr "Sumbu"
+
+msgid "Axis Value"
+msgstr "Nilai Sumbu"
+
+msgid "Index"
+msgstr "Indeks"
+
+msgid "Double Tap"
+msgstr "Ketuk Dua Kali"
+
+msgid "Action"
+msgstr "Aksi"
+
+msgid "Strength"
+msgstr "Kekuatan"
+
+msgid "Delta"
+msgstr "Delta"
+
+msgid "Channel"
+msgstr "Channel"
+
+msgid "Pitch"
+msgstr "Pitch"
+
+msgid "Instrument"
+msgstr "Instrumen"
+
+msgid "Controller Number"
+msgstr "Nomor Pengontrol"
+
+msgid "Controller Value"
+msgstr "Nilai Pengontrol"
+
+msgid "Shortcut"
+msgstr "Pintasan"
+
+msgid "Events"
+msgstr "Event"
+
+msgid "Include Navigational"
+msgstr "Sertakan Navigasi"
+
+msgid "Include Hidden"
+msgstr "Sertakan Tersembunyi"
+
+msgid "Big Endian"
+msgstr "Endian Besar"
+
+msgid "Network"
+msgstr "Jaringan"
+
+msgid "Remote FS"
+msgstr "Remot FS"
+
+msgid "Page Size"
+msgstr "Ukuran Halaman"
+
+msgid "Page Read Ahead"
+msgstr "Halaman Baca Terlebih Dahulu"
+
+msgid "Blocking Mode Enabled"
+msgstr "Mode Pemblokiran Diaktifkan"
+
+msgid "Read Chunk Size"
+msgstr "Baca Ukuran Potongan"
+
+msgid "Data"
+msgstr "Data"
+
+msgid "Object ID"
+msgstr "ID Objek"
+
+msgid "Encode Buffer Max Size"
+msgstr "Ukuran Maks Encode Buffer"
+
+msgid "Input Buffer Max Size"
+msgstr "Ukuran Maks Buffer Input"
+
+msgid "Output Buffer Max Size"
+msgstr "Ukuran Maks Buffer Keluaran"
+
+msgid "Resource"
+msgstr "Resource"
+
+msgid "Local to Scene"
+msgstr "Lokal ke Adegan"
+
+msgid "Path"
+msgstr "Jalur"
+
+msgid "Data Array"
+msgstr "Data Array"
+
+msgid "Max Pending Connections"
+msgstr "Koneksi Tertunda Maks"
+
+msgid "Offset"
+msgstr "Offset"
+
+msgid "Cell Size"
+msgstr "Ukuran Sel"
+
+msgid "Jumping Enabled"
+msgstr "Melompat Diaktifkan"
+
+msgid "Default Compute Heuristic"
+msgstr "Heuristik Komputasi Default"
+
+msgid "Default Estimate Heuristic"
+msgstr "Heuristik Estimasi Default"
+
+msgid "Diagonal Mode"
+msgstr "Mode Diagonal"
+
+msgid "Seed"
+msgstr "Benih"
+
+msgid "State"
+msgstr "Keadaan"
+
+msgid "Message Queue"
+msgstr "Antrean Pesan"
+
+msgid "Max Size (KB)"
+msgstr "Ukuran Maksimum (KB)"
+
+msgid "TCP"
+msgstr "TCP"
+
+msgid "Connect Timeout Seconds"
+msgstr "Menghubungkan Detik Batas Waktu"
+
+msgid "Packet Peer Stream"
+msgstr "Aliran Paket Peer"
+
+msgid "Max Buffer (Power of 2)"
+msgstr "Penyangga Maks (Kekuatan 2)"
+
+msgid "TLS"
+msgstr "TLS"
+
+msgid "Certificate Bundle Override"
+msgstr "Penggantian Bundel Sertifikat"
+
+msgid "Threading"
+msgstr "Mengulir"
+
+msgid "Worker Pool"
+msgstr "Kumpulan Pekerja"
+
+msgid "Max Threads"
+msgstr "Thread Maks"
+
+msgid "Use System Threads for Low Priority Tasks"
+msgstr "Gunakan Thread Sistem untuk Tugas dengan Prioritas Rendah"
+
+msgid "Low Priority Thread Ratio"
+msgstr "Rasio Thread Prioritas Rendah"
+
+msgid "Locale"
+msgstr "Lokal"
+
+msgid "Test"
+msgstr "Tes"
+
+msgid "Fallback"
+msgstr "Mundur"
+
+msgid "Pseudolocalization"
+msgstr "Pseudolokalisasi"
+
+msgid "Use Pseudolocalization"
+msgstr "Gunakan Pseudolokalisasi"
+
+msgid "Replace With Accents"
+msgstr "Ganti Dengan Aksen"
+
+msgid "Double Vowels"
+msgstr "Vokal Ganda"
+
+msgid "Fake BiDi"
+msgstr "BiDi Palsu"
+
+msgid "Override"
+msgstr "Menimpa"
+
+msgid "Expansion Ratio"
+msgstr "Rasio Ekspansi"
+
+msgid "Prefix"
+msgstr "Awalan"
+
+msgid "Suffix"
+msgstr "Akhiran"
+
+msgid "Skip Placeholders"
+msgstr "Lewati Placeholder"
+
+msgid "Rotation"
+msgstr "Rotasi"
+
+msgid "Value"
+msgstr "Nilai"
+
+msgid "Arg Count"
+msgstr "Hitungan Arg"
+
+msgid "Args"
+msgstr "Argumen²"
+
+msgid "Type"
+msgstr "Tipe"
+
+msgid "In Handle"
+msgstr "Dalam Genggaman"
+
+msgid "Out Handle"
+msgstr "Diluar Genggaman"
+
+msgid "Handle Mode"
+msgstr "Mode Pegangan"
+
+msgid "Stream"
+msgstr "Arus"
+
+msgid "Start Offset"
+msgstr "Mulai Offset"
+
+msgid "End Offset"
+msgstr "Offset Akhir"
+
+msgid "Animation"
+msgstr "Animasi"
+
+msgid "Easing"
+msgstr "Mengurangi"
+
+msgid "Debug Adapter"
+msgstr "Adaptor Debug"
+
+msgid "Remote Port"
+msgstr "Port Remot"
+
+msgid "Request Timeout"
+msgstr "Permintaan diluar Batas Waktu"
+
+msgid "Sync Breakpoints"
+msgstr "Sinkronisasi Breakpoint"
+
+msgid "Debugger"
+msgstr "Pengawakutu"
+
+msgid "Auto Switch to Remote Scene Tree"
+msgstr "Beralih Otomatis Ke Pohon Adegan Remot"
+
+msgid "Remote Scene Tree Refresh Interval"
+msgstr "Interval Refresg Pohon Adegan Remot"
+
+msgid "Remote Inspect Refresh Interval"
+msgstr "Interval Refresh Pemeriksaan Remot"
+
+msgid "Profiler Frame Max Functions"
+msgstr "Fungsi Maks Frame Profiler"
+
+msgid "Default Feature Profile"
+msgstr "Profil Fitur Default"
+
+msgid "Access"
+msgstr "Akses"
+
+msgid "Display Mode"
+msgstr "Mode Tampilan"
+
+msgid "File Mode"
+msgstr "Mode File"
+
+msgid "Filters"
+msgstr "Filter"
+
+msgid "Show Hidden Files"
+msgstr "Tampilkan File Tersembunyi"
+
+msgid "Disable Overwrite Warning"
+msgstr "Nonaktifkan Peringatan Timpa"
+
+msgid "Text Editor"
+msgstr "Editor Teks"
+
+msgid "Help"
+msgstr "Bantuan"
+
+msgid "Sort Functions Alphabetically"
+msgstr "Urutkan Fungsi Secara Abjad"
+
+msgid "Label"
+msgstr "Label"
+
+msgid "Read Only"
+msgstr "Hanya Baca"
+
+msgid "Checkable"
+msgstr "Dapat di centang"
+
+msgid "Checked"
+msgstr "Dicentang"
+
+msgid "Draw Warning"
+msgstr "Menarik Peringatan"
+
+msgid "Keying"
+msgstr "Mengunci"
+
+msgid "Deletable"
+msgstr "Dapat dihapus"
+
+msgid "Interface"
+msgstr "Antarmuka"
+
+msgid "Save on Focus Loss"
+msgstr "Simpan Ketika Kehilangan Fokus"
+
+msgid "Show Update Spinner"
+msgstr "Tampilkan Pembaruan Spinner"
+
+msgid "Update Continuously"
+msgstr "Perbarui Terus-menerus"
+
+msgid "Localize Settings"
+msgstr "Pengaturan Lokalisasi"
+
+msgid "Scene Tabs"
+msgstr "Tab Adegan"
+
+msgid "Restore Scenes on Load"
+msgstr "Memulihkan Adegan saat Memuat"
+
+msgid "Inspector"
+msgstr "Inspektur"
+
+msgid "Default Property Name Style"
+msgstr "Gaya Nama Properti Default"
+
+msgid "Default Float Step"
+msgstr "Langkah Float Default"
+
+msgid "Disable Folding"
+msgstr "Nonaktifkan Lipat"
+
+msgid "Auto Unfold Foreign Scenes"
+msgstr "Otomatis Buka lipatan Skena Asing"
+
+msgid "Horizontal Vector2 Editing"
+msgstr "Pengeditan Vektor2 Horizontal"
+
+msgid "Horizontal Vector Types Editing"
+msgstr "Pengeditan Jenis Vektor Horisontal"
+
+msgid "Open Resources in Current Inspector"
+msgstr "Buka Sumber Daya di Inspektur Saat Ini"
+
+msgid "Resources to Open in New Inspector"
+msgstr "Sumber Daya untuk Dibuka di Inspektur Baru"
+
+msgid "Default Color Picker Mode"
+msgstr "Mode Pemilih Warna Default"
+
+msgid "Default Color Picker Shape"
+msgstr "Bentuk Pemilih Warna Default"
+
+msgid "Distraction Free Mode"
+msgstr "Mode Tanpa Gangguan"
+
+msgid "Base Type"
+msgstr "Tipe Dasar"
+
+msgid "Editable"
+msgstr "Dapat diedit"
+
+msgid "Toggle Mode"
+msgstr "Beralih Mode"
+
+msgid "Editor Language"
+msgstr "Bahasa Editor"
+
+msgid "Display Scale"
+msgstr "Skala Tampilan"
+
+msgid "Enable Pseudolocalization"
+msgstr "Aktifkan Pseudolokalisasi"
+
+msgid "Use Embedded Menu"
+msgstr "Gunakan Menu Tersemat"
+
+msgid "Expand to Title"
+msgstr "Perluas ke Judul"
+
+msgid "Custom Display Scale"
+msgstr "Skala Tampilan Kustom"
+
+msgid "Main Font Size"
+msgstr "Ukuran Font Utama"
+
+msgid "Code Font Size"
+msgstr "Kode Ukuran Font"
+
+msgid "Code Font Contextual Ligatures"
+msgstr "Ligatur Kontekstual Kode Font"
+
+msgid "Code Font Custom OpenType Features"
+msgstr "Fitur OpenType Kustom Kode Font"
+
+msgid "Code Font Custom Variations"
+msgstr "Variasi Kustom Kode Font"
+
+msgid "Font Antialiasing"
+msgstr "Antialiasing Font"
+
+msgid "Font Hinting"
+msgstr "Petunjuk Font"
+
+msgid "Font Subpixel Positioning"
+msgstr "Pemosisian Subpiksel Font"
+
+msgid "Main Font"
+msgstr "Font Utama"
+
+msgid "Main Font Bold"
+msgstr "Font Utama Tebal"
+
+msgid "Code Font"
+msgstr "Kode Font"
+
+msgid "Low Processor Mode Sleep (µsec)"
+msgstr "Mode Tidur Prosesor Rendah (µdetik)"
+
+msgid "Unfocused Low Processor Mode Sleep (µsec)"
+msgstr "Mode Tidur Prosesor Rendah yang Tidak Fokus (µdetik)"
+
+msgid "Separate Distraction Mode"
+msgstr "Mode Gangguan Terpisah"
+
+msgid "Automatically Open Screenshots"
+msgstr "Buka Screenshoots secara otomatis"
+
+msgid "Single Window Mode"
+msgstr "Mode Jendela Tunggal"
+
+msgid "Mouse Extra Buttons Navigate History"
+msgstr "Tombol Ekstra Mouse Navigasi Riwayat"
+
+msgid "Save Each Scene on Quit"
+msgstr "Menyimpan Setiap Adegan saat Keluar"
+
+msgid "Accept Dialog Cancel OK Buttons"
+msgstr "Terima Dialog Batalkan Tombol OK"
+
+msgid "Show Internal Errors in Toast Notifications"
+msgstr "Tampilkan Kesalahan Internal di Pemberitahuan Toast"
+
+msgid "Max Array Dictionary Items per Page"
+msgstr "Item Dictionary Array Maks per Halaman"
+
+msgid "Show Low Level OpenType Features"
+msgstr "Tampilkan Fitur OpenType Tingkat Rendah"
+
+msgid "Theme"
+msgstr "Tema"
+
+msgid "Preset"
+msgstr "Prasetel"
+
+msgid "Icon and Font Color"
+msgstr "Ikon dan Warna Font"
+
+msgid "Base Color"
+msgstr "Warna Dasar"
+
+msgid "Accent Color"
+msgstr "Warna Aksen"
+
+msgid "Contrast"
+msgstr "Kontras"
+
+msgid "Draw Extra Borders"
+msgstr "Gambar Batas Ekstra"
+
+msgid "Icon Saturation"
+msgstr "Saturasi Ikon"
+
+msgid "Relationship Line Opacity"
+msgstr "Opasitas Garis Relasi"
+
+msgid "Border Size"
+msgstr "Ukuran Perbatasan"
+
+msgid "Corner Radius"
+msgstr "Radius Sudut"
+
+msgid "Additional Spacing"
+msgstr "Spasi Tambahan"
+
+msgid "Custom Theme"
+msgstr "Tema Kustom"
+
+msgid "Touchscreen"
+msgstr "Layar sentuh"
+
+msgid "Increase Scrollbar Touch Area"
+msgstr "Tingkatkan Area Sentuh Scrollbar"
+
+msgid "Enable Long Press as Right Click"
+msgstr "Aktifkan Tekan Lama sebagai Klik Kanan"
+
+msgid "Enable Pan and Scale Gestures"
+msgstr "Aktifkan Gerakan Pan dan Scale"
+
+msgid "Display Close Button"
+msgstr "Tampilkan Tombol Tutup"
+
+msgid "Show Thumbnail on Hover"
+msgstr "Tampilkan Gambar Mini Saat Disorot kursor"
+
+msgid "Maximum Width"
+msgstr "Lebar Maksimum"
+
+msgid "Show Script Button"
+msgstr "Tampilkan Tombol Skrip"
+
+msgid "FileSystem"
+msgstr "Berkas Sistem"
+
+msgid "External Programs"
+msgstr "Program Eksternal"
+
+msgid "Raster Image Editor"
+msgstr "Editor Gambar Raster"
+
+msgid "Vector Image Editor"
+msgstr "Editor Gambar Vektor"
+
+msgid "Audio Editor"
+msgstr "Editor Audio"
+
+msgid "3D Model Editor"
+msgstr "Editor Model 3D"
+
+msgid "Directories"
+msgstr "Direktori"
+
+msgid "Autoscan Project Path"
+msgstr "Path Proyek Pindai Otomatis"
+
+msgid "Default Project Path"
+msgstr "Path Proyek Default"
+
+msgid "On Save"
+msgstr "Di Simpan"
+
+msgid "Compress Binary Resources"
+msgstr "Kompres Sumber Daya Biner"
+
+msgid "Safe Save on Backup then Rename"
+msgstr "Menyimpan Cadangan dengan Aman lalu Ganti Nama"
+
+msgid "File Dialog"
+msgstr "Dialog File"
+
+msgid "Thumbnail Size"
+msgstr "Ukuran Gambar kecil"
+
+msgid "Docks"
+msgstr "Dock"
+
+msgid "Scene Tree"
+msgstr "Pohon Adegan"
+
+msgid "Start Create Dialog Fully Expanded"
+msgstr "Mulai Buat Dialog Diperluas Sepenuhnya"
+
+msgid "Auto Expand to Selected"
+msgstr "Perluas Otomatis ke yang Dipilih"
+
+msgid "Always Show Folders"
+msgstr "Selalu Tampilkan Folder"
+
+msgid "Textfile Extensions"
+msgstr "Ekstensi File Teks"
+
+msgid "Property Editor"
+msgstr "Editor Properti"
+
+msgid "Auto Refresh Interval"
+msgstr "Interval Penyegaran Otomatis"
+
+msgid "Subresource Hue Tint"
+msgstr "Subsumber Hue Tint"
+
+msgid "Color Theme"
+msgstr "Tema Warna"
+
+msgid "Appearance"
+msgstr "Penampilan"
+
+msgid "Caret"
+msgstr "Tanda sisipan"
+
+msgid "Caret Blink"
+msgstr "Caret Blink"
+
+msgid "Caret Blink Interval"
+msgstr "Interval Kedipan Caret"
+
+msgid "Highlight Current Line"
+msgstr "Tandai Baris Saat Ini"
+
+msgid "Highlight All Occurrences"
+msgstr "Sorot Semua Kejadian"
+
+msgid "Guidelines"
+msgstr "Pedoman"
+
+msgid "Show Line Length Guidelines"
+msgstr "Tampilkan Pedoman Panjang Baris"
+
+msgid "Line Length Guideline Soft Column"
+msgstr "Pedoman Panjang Baris Kolom Soft"
+
+msgid "Line Length Guideline Hard Column"
+msgstr "Pedoman Panjang Baris Kolom Keras"
+
+msgid "Gutters"
+msgstr "Talang"
+
+msgid "Show Line Numbers"
+msgstr "Tampilkan Nomor Baris"
+
+msgid "Line Numbers Zero Padded"
+msgstr "Nomor Baris dimulai Nol"
+
+msgid "Highlight Type Safe Lines"
+msgstr "Sorot Jenis Baris Aman"
+
+msgid "Show Bookmark Gutter"
+msgstr "Tampilkan Talang Bookmark"
+
+msgid "Show Info Gutter"
+msgstr "Tampilkan Info Talang"
+
+msgid "Minimap"
+msgstr "Minimap"
+
+msgid "Show Minimap"
+msgstr "Tampilkan Peta kecil"
+
+msgid "Minimap Width"
+msgstr "Lebar Peta kecil"
+
+msgid "Lines"
+msgstr "Baris"
+
+msgid "Code Folding"
+msgstr "Lipat Kode"
+
+msgid "Word Wrap"
+msgstr "Bungkus Kata"
+
+msgid "Whitespace"
+msgstr "Spasi"
+
+msgid "Draw Tabs"
+msgstr "Tab Gambar"
+
+msgid "Draw Spaces"
+msgstr "Gambarkan Spasi"
+
+msgid "Line Spacing"
+msgstr "Jarak Baris"
+
+msgid "Behavior"
+msgstr "Perilaku"
+
+msgid "Navigation"
+msgstr "Navigasi"
+
+msgid "Move Caret on Right Click"
+msgstr "Pindahkan Caret dengan Klik Kanan"
+
+msgid "Scroll Past End of File"
+msgstr "Gulir Melewati Akhir File"
+
+msgid "Smooth Scrolling"
+msgstr "Pengguliran Halus"
+
+msgid "V Scroll Speed"
+msgstr "Kecepatan Gulir Vertikal"
+
+msgid "Drag and Drop Selection"
+msgstr "Pilihan Seret dan Jatuhkan"
+
+msgid "Stay in Script Editor on Node Selected"
+msgstr "Tetap di Editor Skrip pada Node yang Dipilih"
+
+msgid "Indent"
+msgstr "Indentasi"
+
+msgid "Auto Indent"
+msgstr "Indentasi Otomatis"
+
+msgid "Files"
+msgstr "File"
+
+msgid "Trim Trailing Whitespace on Save"
+msgstr "Pangkas Spasi Jejak pada Simpan"
+
+msgid "Autosave Interval Secs"
+msgstr "Detik Interval Simpan Otomatis"
+
+msgid "Restore Scripts on Load"
+msgstr "Pulihkan Skrip Saat Dimuat"
+
+msgid "Convert Indent on Save"
+msgstr "Konversikan Indentasi Ketika Menyimpan"
+
+msgid "Auto Reload Scripts on External Change"
+msgstr "Muat Ulang Otomatis Skrip pada Perubahan Eksternal"
+
+msgid "Script List"
+msgstr "Daftar Skrip"
+
+msgid "Show Members Overview"
+msgstr "Tampilkan Ikhtisar Anggota"
+
+msgid "Sort Members Outline Alphabetically"
+msgstr "Sortir Kerangka Anggota Secara Abjad"
+
+msgid "Completion"
+msgstr "Penyelesaian"
+
+msgid "Idle Parse Delay"
+msgstr "Penundaan Penguraian Idle"
+
+msgid "Auto Brace Complete"
+msgstr "Penyangga Otomatis Lengkap"
+
+msgid "Code Complete Delay"
+msgstr "Penundaan Penyelesaian Kode"
+
+msgid "Put Callhint Tooltip Below Current Line"
+msgstr "Letakkan Tooltip Callhint di Bawah Baris Saat Ini"
+
+msgid "Complete File Paths"
+msgstr "Path File Lengkap"
+
+msgid "Add Type Hints"
+msgstr "Tambahkan Petunjuk Jenis"
+
+msgid "Use Single Quotes"
+msgstr "Gunakan Kutip Satu"
+
+msgid "Show Help Index"
+msgstr "Tampilkan Indeks Bantuan"
+
+msgid "Help Font Size"
+msgstr "Ukuran Font Bantuan"
+
+msgid "Help Source Font Size"
+msgstr "Sumber Bantuan Ukuran Font"
+
+msgid "Help Title Font Size"
+msgstr "Ukuran Font Judul Bantuan"
+
+msgid "Class Reference Examples"
+msgstr "Contoh Referensi Kelas"
+
+msgid "Editors"
+msgstr "Editor"
+
+msgid "Grid Map"
+msgstr "Peta Kisi Kisi-kisi"
+
+msgid "Pick Distance"
+msgstr "Pilih Jarak"
+
+msgid "Primary Grid Color"
+msgstr "Warna Kisi-kisi Utama"
+
+msgid "Secondary Grid Color"
+msgstr "Warna Kisi-kisi Sekunder"
+
+msgid "Selection Box Color"
+msgstr "Warna Kotak Pilihan"
+
+msgid "3D Gizmos"
+msgstr "Gizmos 3D"
+
+msgid "Gizmo Colors"
+msgstr "Warna Gizmo"
+
+msgid "Instantiated"
+msgstr "Diinstansiasi"
+
+msgid "Joint"
+msgstr "Sendi"
+
+msgid "Shape"
+msgstr "Bentuk"
+
+msgid "Primary Grid Steps"
+msgstr "Langkah Grid Utama"
+
+msgid "Grid Size"
+msgstr "Ukuran Kisi-kisi"
+
+msgid "Grid Division Level Max"
+msgstr "Tingkat Divisi Kisi-kisi Maks"
+
+msgid "Grid Division Level Min"
+msgstr "Tingkat Divisi Kisi-kisi Minimal"
+
+msgid "Grid Division Level Bias"
+msgstr "Bias Tingkat Divisi Grid"
+
+msgid "Grid XZ Plane"
+msgstr "Plane Grid XZ"
+
+msgid "Grid XY Plane"
+msgstr "Plane Grid XY"
+
+msgid "Grid YZ Plane"
+msgstr "Plane Grid YZ"
+
+msgid "Default FOV"
+msgstr "Jarak Pandang Baku"
+
+msgid "Default Z Near"
+msgstr "Default Z Dekat"
+
+msgid "Default Z Far"
+msgstr "Default Z Jauh"
+
+msgid "Invert X Axis"
+msgstr "Balik Sumbu X"
+
+msgid "Invert Y Axis"
+msgstr "Balik Sumbu Y"
+
+msgid "Navigation Scheme"
+msgstr "Skema Navigasi"
+
+msgid "Zoom Style"
+msgstr "Gaya Zoom"
+
+msgid "Emulate Numpad"
+msgstr "Meniru Numpad"
+
+msgid "Emulate 3 Button Mouse"
+msgstr "Meniru 3 Tombol Mouse"
+
+msgid "Orbit Modifier"
+msgstr "Pengubah Orbit"
+
+msgid "Pan Modifier"
+msgstr "Pengubah Pan"
+
+msgid "Zoom Modifier"
+msgstr "Pengubah Zoom"
+
+msgid "Warped Mouse Panning"
+msgstr "Panning Mouse Melengkung"
+
+msgid "Navigation Feel"
+msgstr "Rasa Navigasi"
+
+msgid "Orbit Sensitivity"
+msgstr "Sensitivitas Orbit"
+
+msgid "Orbit Inertia"
+msgstr "Inersia Orbit"
+
+msgid "Translation Inertia"
+msgstr "Inersia Terjemahan"
+
+msgid "Zoom Inertia"
+msgstr "Inersia Zoom"
+
+msgid "Freelook"
+msgstr "Freelook"
+
+msgid "Freelook Navigation Scheme"
+msgstr "Skema Navigasi Freelook"
+
+msgid "Freelook Sensitivity"
+msgstr "Sensitivitas Freelook"
+
+msgid "Freelook Inertia"
+msgstr "Inersia Tampilan Bebas"
+
+msgid "Freelook Base Speed"
+msgstr "Kecepatan Dasar Freelook"
+
+msgid "Freelook Activation Modifier"
+msgstr "Pengubah Aktivasi Freelook"
+
+msgid "Freelook Speed Zoom Link"
+msgstr "Tautan Zoom Kecepatan Freelook"
+
+msgid "Grid Color"
+msgstr "Warna Kisi-kisi"
+
+msgid "Guides Color"
+msgstr "Warna Panduan"
+
+msgid "Smart Snapping Line Color"
+msgstr "Warna Garis Pengancingan Pintar"
+
+msgid "Bone Width"
+msgstr "Lebar Tulang"
+
+msgid "Bone Color 1"
+msgstr "Warna Tulang 1"
+
+msgid "Bone Color 2"
+msgstr "Warna Tulang 2"
+
+msgid "Bone Selected Color"
+msgstr "Warna Tulang Terpilih"
+
+msgid "Bone IK Color"
+msgstr "Warna IK Tulang"
+
+msgid "Bone Outline Color"
+msgstr "Warna Garis tepi Tulang"
+
+msgid "Bone Outline Size"
+msgstr "Ukuran Garis tepi Tulang"
+
+msgid "Viewport Border Color"
+msgstr "Warna Batas Viewport"
+
+msgid "Constrain Editor View"
+msgstr "Batasi Tampilan Editor"
+
+msgid "Panning"
+msgstr "Menggeser"
+
+msgid "2D Editor Panning Scheme"
+msgstr "Skema Panning Editor 2D"
+
+msgid "Sub Editors Panning Scheme"
+msgstr "Skema Panning Sub Editor"
+
+msgid "Animation Editors Panning Scheme"
+msgstr "Skema Panning Editor Animasi"
+
+msgid "Simple Panning"
+msgstr "Panning Sederhana"
+
+msgid "2D Editor Pan Speed"
+msgstr "Kecepatan Pan Editor 2D"
+
+msgid "Tiles Editor"
+msgstr "Editor Ubin"
+
+msgid "Display Grid"
+msgstr "Tampilan Grid"
+
+msgid "Polygon Editor"
+msgstr "Editor Poligon"
+
+msgid "Point Grab Radius"
+msgstr "Radius Titik Ambil"
+
+msgid "Show Previous Outline"
+msgstr "Tampilkan Garis Besar Sebelumnya"
+
+msgid "Autorename Animation Tracks"
+msgstr "Namai otomatis Trek Animasi"
+
+msgid "Confirm Insert Track"
+msgstr "Konfirmasi Sisipkan Trek"
+
+msgid "Default Create Bezier Tracks"
+msgstr "Buat Trek Bezier Default"
+
+msgid "Default Create Reset Tracks"
+msgstr "Buat Trek Reset Default"
+
+msgid "Onion Layers Past Color"
+msgstr "Lapisan Onion Warna Lampau"
+
+msgid "Onion Layers Future Color"
+msgstr "Lapisan Onion Warna Masa Depan"
+
+msgid "Visual Editors"
+msgstr "Editor Visual"
+
+msgid "Minimap Opacity"
+msgstr "Kegelapan Peta kecil"
+
+msgid "Lines Curvature"
+msgstr "Kelengkungan Garis"
+
+msgid "Visual Shader"
+msgstr "Shader Visual"
+
+msgid "Port Preview Size"
+msgstr "Ukuran Pratinjau Port"
+
+msgid "Window Placement"
+msgstr "Penempatan Jendela"
+
+msgid "Rect"
+msgstr "Kotak"
+
+msgid "Rect Custom Position"
+msgstr "Posisi Kotak Kustom"
+
+msgid "Screen"
+msgstr "Layar"
+
+msgid "Auto Save"
+msgstr "Simpan Otomatis"
+
+msgid "Save Before Running"
+msgstr "Simpan Sebelum Menjalankan"
+
+msgid "Output"
+msgstr "Luaran"
+
+msgid "Font Size"
+msgstr "Ukuran Fonta"
+
+msgid "Always Clear Output on Play"
+msgstr "Selalu Bersihkan Luaran Ketika Bermain"
+
+msgid "Always Open Output on Play"
+msgstr "Selalu Buka Luaran Ketika Bermain"
+
+msgid "Always Close Output on Stop"
+msgstr "Selalu Tutup Luaran Ketika Berhenti"
+
+msgid "Remote Host"
+msgstr "Host Jarak Jauh"
+
+msgid "Editor TLS Certificates"
+msgstr "Sertifikat Editor TLS"
+
+msgid "Profiler Frame History Size"
+msgstr "Ukuran Riwayat Frame Profiler"
+
+msgid "HTTP Proxy"
+msgstr "Proksi HTTP"
+
+msgid "Host"
+msgstr "Host"
+
+msgid "Port"
+msgstr "Port"
+
+msgid "Project Manager"
+msgstr "Manajer Proyek"
+
+msgid "Sorting Order"
+msgstr "Urutan Penyortiran"
+
+msgid "Default Renderer"
+msgstr "Perender Default"
+
+msgid "Highlighting"
+msgstr "Menyoroti"
+
+msgid "Symbol Color"
+msgstr "Warna Simbol"
+
+msgid "Keyword Color"
+msgstr "Warna Kata kunci"
+
+msgid "Control Flow Keyword Color"
+msgstr "Warna Kata Kunci Aliran Kontrol"
+
+msgid "Base Type Color"
+msgstr "Warna Tipe Basis"
+
+msgid "Engine Type Color"
+msgstr "Warna Jenis Mesin"
+
+msgid "User Type Color"
+msgstr "Warna Jenis Pengguna"
+
+msgid "Comment Color"
+msgstr "Warna Komentar"
+
+msgid "String Color"
+msgstr "Warna String"
+
+msgid "Background Color"
+msgstr "Warna Latar belakang"
+
+msgid "Completion Background Color"
+msgstr "Warna Latar Belakang Penyelesaian"
+
+msgid "Completion Selected Color"
+msgstr "Penyelesaian Warna yang Dipilih"
+
+msgid "Completion Existing Color"
+msgstr "Penyelesaian Warna yang Ada"
+
+msgid "Completion Scroll Color"
+msgstr "Warna Gulir Penyelesaian"
+
+msgid "Completion Scroll Hovered Color"
+msgstr "Gulir Penyelesaian Warna yang Di-hover"
+
+msgid "Completion Font Color"
+msgstr "Warna Font Penyelesaian"
+
+msgid "Text Color"
+msgstr "Warna Teks"
+
+msgid "Line Number Color"
+msgstr "Warna Nomor Baris"
+
+msgid "Safe Line Number Color"
+msgstr "Warna Nomor Baris Aman"
+
+msgid "Caret Color"
+msgstr "Warna Caret"
+
+msgid "Caret Background Color"
+msgstr "Warna Latar Belakang Caret"
+
+msgid "Text Selected Color"
+msgstr "Warna Teks yang Dipilih"
+
+msgid "Selection Color"
+msgstr "Warna Seleksi"
+
+msgid "Brace Mismatch Color"
+msgstr "Warna Ketidakcocokan Brace"
+
+msgid "Current Line Color"
+msgstr "Warna Baris Saat Ini"
+
+msgid "Line Length Guideline Color"
+msgstr "Warna Pedoman Panjang Baris"
+
+msgid "Word Highlighted Color"
+msgstr "Warna yang Disorot Kata"
+
+msgid "Number Color"
+msgstr "Warna Angka"
+
+msgid "Function Color"
+msgstr "Warna Fungsi"
+
+msgid "Member Variable Color"
+msgstr "Warna Variabel Anggota"
+
+msgid "Mark Color"
+msgstr "Tandai Warna"
+
+msgid "Bookmark Color"
+msgstr "Warna Markah"
+
+msgid "Breakpoint Color"
+msgstr "Warna Breakpoint"
+
+msgid "Executing Line Color"
+msgstr "Mengeksekusi Warna Baris"
+
+msgid "Code Folding Color"
+msgstr "Warna Lipatan Kode"
+
+msgid "Search Result Color"
+msgstr "Warna Hasil Pencarian"
+
+msgid "Search Result Border Color"
+msgstr "Warna Batas Hasil Pencarian"
+
+msgid "Flat"
+msgstr "Rata"
+
+msgid "Hide Slider"
+msgstr "Sembunyikan Slider"
+
+msgid "Zoom"
+msgstr "Zoom"
+
+msgid "Custom Template"
+msgstr "Template Kustom"
+
+msgid "Release"
+msgstr "Rilis"
+
+msgid "Export Console Script"
+msgstr "Ekspor Skrip Konsol"
+
+msgid "Binary Format"
+msgstr "Format Biner"
+
+msgid "Embed PCK"
+msgstr "Tanamkan PCK"
+
+msgid "Texture Format"
+msgstr "Format Tekstur"
+
+msgid "BPTC"
+msgstr "BPTC"
+
+msgid "S3TC"
+msgstr "S3TC"
+
+msgid "ETC"
+msgstr "ETC"
+
+msgid "ETC2"
+msgstr "ETC2"
+
+msgid "Export"
+msgstr "Ekspor"
+
+msgid "SSH"
+msgstr "SSH"
+
+msgid "SCP"
+msgstr "SCP"
+
+msgid "Export Path"
+msgstr "Lokasi Ekspor"
+
+msgid "File Server"
+msgstr "Server File"
+
+msgid "Password"
+msgstr "Kata Sandi"
+
+msgid "Antialiasing"
+msgstr "Antialiasing"
+
+msgid "Generate Mipmaps"
+msgstr "Hasilkan Mipmaps"
+
+msgid "Multichannel Signed Distance Field"
+msgstr "Bidang Jarak Bertanda Multisaluran"
+
+msgid "MSDF Pixel Range"
+msgstr "Rentang Piksel MSDF"
+
+msgid "MSDF Size"
+msgstr "Ukuran MSDF"
+
+msgid "Allow System Fallback"
+msgstr "Izinkan Fallback Sistem"
+
+msgid "Force Autohinter"
+msgstr "Paksa Autohinter"
+
+msgid "Hinting"
+msgstr "Petunjuk"
+
+msgid "Subpixel Positioning"
+msgstr "Pemosisian Subpiksel"
+
+msgid "Oversampling"
+msgstr "Oversampling"
+
+msgid "Metadata Overrides"
+msgstr "Penggantian Metadata"
+
+msgid "Language Support"
+msgstr "Dukungan Bahasa"
+
+msgid "Script Support"
+msgstr "Dukungan Skrip"
+
+msgid "OpenType Features"
+msgstr "Fitur OpenType"
+
+msgid "Fallbacks"
+msgstr "Fallback"
+
+msgid "Compress"
+msgstr "Kompres"
+
+msgid "Language"
+msgstr "Bahasa"
+
+msgid "Outline Size"
+msgstr "Ukuran Garis Tepi"
+
+msgid "Variation"
+msgstr "Variasi"
+
+msgid "OpenType"
+msgstr "OpenType"
+
+msgid "Embolden"
+msgstr "Memberanikan"
+
+msgid "Face Index"
+msgstr "Indeks Wajah"
+
+msgid "Transform"
+msgstr "Transformasi"
+
+msgid "Collada"
+msgstr "Collada"
+
+msgid "Use Ambient"
+msgstr "Gunakan Ambient"
+
+msgid "Retarget"
+msgstr "Targetkan ulang"
+
+msgid "Bone Renamer"
+msgstr "Pengganti Nama Tulang"
+
+msgid "Rename Bones"
+msgstr "Ganti Nama Tulang"
+
+msgid "Unique Node"
+msgstr "Node Unik"
+
+msgid "Make Unique"
+msgstr "Jadikan Unik"
+
+msgid "Skeleton Name"
+msgstr "Nama Kerangka"
+
+msgid "Rest Fixer"
+msgstr "Perbaikan Istirahat"
+
+msgid "Apply Node Transforms"
+msgstr "Terapkan Transformasi Node"
+
+msgid "Normalize Position Tracks"
+msgstr "Menormalkan Trek Posisi"
+
+msgid "Overwrite Axis"
+msgstr "Menimpa Sumbu"
+
+msgid "Fix Silhouette"
+msgstr "Perbaiki Siluet"
+
+msgid "Enable"
+msgstr "Aktifkan"
+
+msgid "Filter"
+msgstr "Filter"
+
+msgid "Threshold"
+msgstr "Ambang"
+
+msgid "Base Height Adjustment"
+msgstr "Penyesuaian Tinggi Dasar"
+
+msgid "Remove Tracks"
+msgstr "Hapus Trek"
+
+msgid "Except Bone Transform"
+msgstr "Kecuali Transformasi Tulang"
+
+msgid "Unimportant Positions"
+msgstr "Posisi yang Tidak Penting"
+
+msgid "Unmapped Bones"
+msgstr "Tulang yang Belum Dipetakan"
+
+msgid "Create From"
+msgstr "Buat Dari"
+
+msgid "Delimiter"
+msgstr "Pembatasan"
+
+msgid "Character Ranges"
+msgstr "Rentang Karakter"
+
+msgid "Columns"
+msgstr "Kolom"
+
+msgid "Rows"
+msgstr "Baris"
+
+msgid "Image Margin"
+msgstr "Margin Gambar"
+
+msgid "Character Margin"
+msgstr "Margin Karakter"
+
+msgid "High Quality"
+msgstr "Kualitas Tinggi"
+
+msgid "Lossy Quality"
+msgstr "Kualitas Setengah"
+
+msgid "HDR Compression"
+msgstr "Kompresi HDR"
+
+msgid "Channel Pack"
+msgstr "Paket Saluran"
+
+msgid "Mipmaps"
+msgstr "Mipmap"
+
+msgid "Generate"
+msgstr "Menghasilkan"
+
+msgid "Limit"
+msgstr "Batas"
+
+msgid "Slices"
+msgstr "Irisan"
+
+msgid "Horizontal"
+msgstr "Horizontal"
+
+msgid "Vertical"
+msgstr "Vertikal"
+
+msgid "Arrangement"
+msgstr "Aransemen"
+
+msgid "Layout"
+msgstr "Tata Letak"
+
+msgid "Amount"
+msgstr "Jumlah"
+
+msgid "Generate Tangents"
+msgstr "Menghasilkan Garis Singgung"
+
+msgid "Scale Mesh"
+msgstr "Skala Mesh"
+
+msgid "Offset Mesh"
+msgstr "Offset Mesh"
+
+msgid "Optimize Mesh"
+msgstr "Optimalkan Mesh"
+
+msgid "Import"
+msgstr "Impor"
+
+msgid "Skip Import"
+msgstr "Lewati Impor"
+
+msgid "NavMesh"
+msgstr "NavMesh"
+
+msgid "Body Type"
+msgstr "Tipe Tubuh"
+
+msgid "Shape Type"
+msgstr "Tipe Bentuk"
+
+msgid "Decomposition"
+msgstr "Dekomposisi"
+
+msgid "Advanced"
+msgstr "Lanjut"
+
+msgid "Precision"
+msgstr "Presisi"
+
+msgid "Max Concavity"
+msgstr "Cekung Maks"
+
+msgid "Symmetry Planes Clipping Bias"
+msgstr "Bias Kliping Bidang Simetri"
+
+msgid "Revolution Axes Clipping Bias"
+msgstr "Bias Kliping Sumbu Revolusi"
+
+msgid "Min Volume per Convex Hull"
+msgstr "Volume Min per Lambung Cembung"
+
+msgid "Resolution"
+msgstr "Resolusi"
+
+msgid "Max Num Vertices per Convex Hull"
+msgstr "Jumlah Simpul Maksimum per Lambung Cembung"
+
+msgid "Plane Downsampling"
+msgstr "Downsampling Plane"
+
+msgid "Convexhull Downsampling"
+msgstr "Downsampling cembung"
+
+msgid "Normalize Mesh"
+msgstr "Normalisasi Mesh"
+
+msgid "Convexhull Approximation"
+msgstr "Perkiraan Lambung Cembung"
+
+msgid "Max Convex Hulls"
+msgstr "Lambung Cembung Maksimal"
+
+msgid "Project Hull Vertices"
+msgstr "Simpul Lambung Proyek"
+
+msgid "Primitive"
+msgstr "Primitif"
+
+msgid "Height"
+msgstr "Tinggi"
+
+msgid "Radius"
+msgstr "Radius"
+
+msgid "Occluder"
+msgstr "Oklusi"
+
+msgid "Simplification Distance"
+msgstr "Penyederhanaan Jarak"
+
+msgid "Save to File"
+msgstr "Simpan ke File"
+
+msgid "Enabled"
+msgstr "Diaktifkan"
+
+msgid "Make Streamable"
+msgstr "Jadikan Streamable"
+
+msgid "Shadow Meshes"
+msgstr "Mesh Bayangan"
+
+msgid "Lightmap UV"
+msgstr "Lightmap UV"
+
+msgid "LODs"
+msgstr "LOD"
+
+msgid "Normal Split Angle"
+msgstr "Sudut Split Normal"
+
+msgid "Normal Merge Angle"
+msgstr "Sudut Penggabungan Normal"
+
+msgid "Use External"
+msgstr "Gunakan Eksternal"
+
+msgid "Loop Mode"
+msgstr "Mode Loop"
+
+msgid "Keep Custom Tracks"
+msgstr "Simpan Trek Kustom"
+
+msgid "Optimizer"
+msgstr "Pengoptimal"
+
+msgid "Max Velocity Error"
+msgstr "Kesalahan Kecepatan Maksimum"
+
+msgid "Max Angular Error"
+msgstr "Kesalahan Sudut Maksimum"
+
+msgid "Max Precision Error"
+msgstr "Kesalahan Presisi Maksimum"
+
+msgid "Import Tracks"
+msgstr "Impor Trek"
+
+msgid "Bone Map"
+msgstr "Peta Tulang"
+
+msgid "Nodes"
+msgstr "Node"
+
+msgid "Root Type"
+msgstr "Jenis Root"
+
+msgid "Root Name"
+msgstr "Nama Akar"
+
+msgid "Apply Root Scale"
+msgstr "Terapkan Skala Root"
+
+msgid "Root Scale"
+msgstr "Skala Akar"
+
+msgid "Meshes"
+msgstr "Mesh"
+
+msgid "Ensure Tangents"
+msgstr "Memastikan Garis Singgung"
+
+msgid "Generate LODs"
+msgstr "Hasilkan LOD"
+
+msgid "Create Shadow Meshes"
+msgstr "Buat Mesh Bayangan"
+
+msgid "Light Baking"
+msgstr "Pemanggangan Ringan"
+
+msgid "Lightmap Texel Size"
+msgstr "Ukuran Lightmap Texel"
+
+msgid "Skins"
+msgstr "Kulit"
+
+msgid "Use Named Skins"
+msgstr "Gunakan Kulit Bernama"
+
+msgid "FPS"
+msgstr "FPS"
+
+msgid "Trimming"
+msgstr "Pemangkasan"
+
+msgid "Remove Immutable Tracks"
+msgstr "Hapus Trek yang Tidak Dapat Diubah"
+
+msgid "Import Script"
+msgstr "Impor Skrip"
+
+msgid "Normal Map"
+msgstr "Peta Normal"
+
+msgid "Roughness"
+msgstr "Kekasaran"
+
+msgid "Src Normal"
+msgstr "Src Normal"
+
+msgid "Process"
+msgstr "Proses"
+
+msgid "Fix Alpha Border"
+msgstr "Perbaiki Batas Alpha"
+
+msgid "Premult Alpha"
+msgstr "Premult Alpha"
+
+msgid "Normal Map Invert Y"
+msgstr "Peta Normal Membalikkan Y"
+
+msgid "HDR as sRGB"
+msgstr "HDR sebagai sRGB"
+
+msgid "HDR Clamp Exposure"
+msgstr "Eksposur Penjepit HDR"
+
+msgid "Size Limit"
+msgstr "Batas Ukuran"
+
+msgid "Detect 3D"
+msgstr "Deteksi 3D"
+
+msgid "Compress To"
+msgstr "Kompres ke"
+
+msgid "SVG"
+msgstr "SVG"
+
+msgid "Scale With Editor Scale"
+msgstr "Skala dengan Skala Editor"
+
+msgid "Convert Colors With Editor Theme"
+msgstr "Ubah Warna Dengan Tema Editor"
+
+msgid "Atlas File"
+msgstr "File Atlas"
+
+msgid "Import Mode"
+msgstr "Mode Impor"
+
+msgid "Crop to Region"
+msgstr "Pangkas ke Wilayah"
+
+msgid "Trim Alpha Border From Region"
+msgstr "Pangkas Perbatasan Alpha Dari Wilayah"
+
+msgid "Force"
+msgstr "Paksa"
+
+msgid "8 Bit"
+msgstr "8 Bit"
+
+msgid "Mono"
+msgstr "Mono"
+
+msgid "Max Rate"
+msgstr "Tingkat Maks"
+
+msgid "Max Rate Hz"
+msgstr "Tingkat Maks Hz"
+
+msgid "Edit"
+msgstr "Edit"
+
+msgid "Trim"
+msgstr "Pangkas"
+
+msgid "Normalize"
+msgstr "Normalisasikan"
+
+msgid "Loop Begin"
+msgstr "Loop Mulai"
+
+msgid "Loop End"
+msgstr "Loop diakhiri"
+
+msgid "Asset Library"
+msgstr "Pustaka Aset"
+
+msgid "Use Threads"
+msgstr "Gunakan Thread"
+
+msgid "Available URLs"
+msgstr "URL yang tersedia"
+
+msgid "Current Group Idx"
+msgstr "Idx Grup Saat Ini"
+
+msgid "Current Bone Idx"
+msgstr "Idx Tulang Saat Ini"
+
+msgid "Bone Mapper"
+msgstr "Pemeta Tulang"
+
+msgid "Handle Colors"
+msgstr "Tangani Warna"
+
+msgid "Unset"
+msgstr "Batal disetel"
+
+msgid "Set"
+msgstr "Terapkan"
+
+msgid "Missing"
+msgstr "Hilang"
+
+msgid "Error"
+msgstr "Error"
+
+msgid "Stream Player 3D"
+msgstr "Pemutar Streaming 3D"
+
+msgid "Camera"
+msgstr "Kamera"
+
+msgid "Visibility Notifier"
+msgstr "Pemberitahu Visibilitas"
+
+msgid "Particles"
+msgstr "Partikel"
+
+msgid "Particle Attractor"
+msgstr "Penarik Partikel"
+
+msgid "Particle Collision"
+msgstr "Tabrakan Partikel"
+
+msgid "Reflection Probe"
+msgstr "Probe Refleksi"
+
+msgid "Decal"
+msgstr "Decal"
+
+msgid "Voxel GI"
+msgstr "Voxel GI"
+
+msgid "Lightmap Lines"
+msgstr "Garis Lightmap"
+
+msgid "Lightprobe Lines"
+msgstr "Garis Lightprobe"
+
+msgid "Joint Body A"
+msgstr "Badan Bersama A"
+
+msgid "Joint Body B"
+msgstr "Badan Bersama B"
+
+msgid "Fog Volume"
+msgstr "Volume Kabut"
+
+msgid "Manipulator Gizmo Size"
+msgstr "Ukuran Manipulator Gizmo"
+
+msgid "Manipulator Gizmo Opacity"
+msgstr "Manipulator Transparansi Gizmo"
+
+msgid "Show Viewport Rotation Gizmo"
+msgstr "Tampilkan Viewport Rotasi Gizmo"
+
+msgid "Show Viewport Navigation Gizmo"
+msgstr "Tampilkan Viewport Navigasi Gizmo"
+
+msgid "Auto Reload and Parse Scripts on Save"
+msgstr "Muat Ulang Otomatis dan Tata Skrip Saat Disimpan"
+
+msgid "Open Dominant Script on Scene Change"
+msgstr "Buka Skrip Dominan pada Perubahan Adegan"
+
+msgid "External"
+msgstr "Eksternal"
+
+msgid "Use External Editor"
+msgstr "Gunakan Editor Eksternal"
+
+msgid "Exec Path"
+msgstr "Path Eksekusi"
+
+msgid "Script Temperature Enabled"
+msgstr "Temperatur Skrip Diaktifkan"
+
+msgid "Script Temperature History Size"
+msgstr "Ukuran Riwayat Temperatur Skrip"
+
+msgid "Group Help Pages"
+msgstr "Halaman Bantuan Grup"
+
+msgid "Sort Scripts By"
+msgstr "Urutkan Skrip Berdasarkan"
+
+msgid "List Script Names As"
+msgstr "Daftar Nama Skrip Sebagai"
+
+msgid "Exec Flags"
+msgstr "Tanda Eksekusi"
+
+msgid "Skeleton"
+msgstr "Kerangka"
+
+msgid "Selected Bone"
+msgstr "Tulang yang Dipilih"
+
+msgid "Gizmo Settings"
+msgstr "Pengaturan Gizmo"
+
+msgid "Bone Axis Length"
+msgstr "Panjang Sumbu Tulang"
+
+msgid "Bone Shape"
+msgstr "Bentuk Tulang"
+
+msgid "Shader Language"
+msgstr "Bahasa Shader"
+
+msgid "Warnings"
+msgstr "Peringatan"
+
+msgid "Treat Warnings as Errors"
+msgstr "Perlakukan Peringatan Sebagai Error"
+
+msgid "ID"
+msgstr "ID"
+
+msgid "Texture"
+msgstr "Tekstur"
+
+msgid "Margins"
+msgstr "Margin"
+
+msgid "Separation"
+msgstr "Pemisahan"
+
+msgid "Texture Region Size"
+msgstr "Ukuran Wilayah Tekstur"
+
+msgid "Use Texture Padding"
+msgstr "Gunakan Padding Tekstur"
+
+msgid "Atlas Coords"
+msgstr "Koordinat Atlas"
+
+msgid "Size in Atlas"
+msgstr "Ukuran dalam Atlas"
+
+msgid "Alternative ID"
+msgstr "ID Alternatif"
+
+msgid "Speed"
+msgstr "Kelajuan"
+
+msgid "Frames Count"
+msgstr "Jumlah Frame"
+
+msgid "Duration"
+msgstr "Durasi"
+
+msgid "Version Control"
+msgstr "Kontrol Versi"
+
+msgid "Username"
+msgstr "Nama Pengguna"
+
+msgid "SSH Public Key Path"
+msgstr "Jalur Kunci Publik SSH"
+
+msgid "SSH Private Key Path"
+msgstr "Jalur Kunci Pribadi SSH"
+
+msgid "Main Run Args"
+msgstr "Jalan Utama Argumen"
+
+msgid "Templates Search Path"
+msgstr "Path Pencarian Templat"
+
+msgid "Naming"
+msgstr "Penamaan"
+
+msgid "Default Signal Callback Name"
+msgstr "Nama Panggilan Balik Sinyal Default"
+
+msgid "Default Signal Callback to Self Name"
+msgstr "Panggilan Balik Sinyal Default ke Nama Sendiri"
+
+msgid "Scene Name Casing"
+msgstr "Casing Nama Adegan"
+
+msgid "Reimport Missing Imported Files"
+msgstr "Impor Ulang File ter-impor yang Hilang"
+
+msgid "Use Multiple Threads"
+msgstr "Menggunakan Beberapa Thread"
+
+msgid "Convert Text Resources to Binary"
+msgstr "Konversi Sumber Daya Teks ke Biner"
+
+msgid "Plugin Name"
+msgstr "Nama Plugin"
+
+msgid "Autoload on Startup"
+msgstr "Muat Otomatis Saat Memulai"
+
+msgid "Show Scene Tree Root Selection"
+msgstr "Tampilkan Pilihan Root Pohon Adegan"
+
+msgid "Derive Script Globals by Name"
+msgstr "Turunkan Script Globals berdasarkan Nama"
+
+msgid "Use Favorites Root Selection"
+msgstr "Gunakan Pemilihan Root Favorit"
+
+msgid "Flush stdout on Print"
+msgstr "Flush stdout pada Print"
+
+msgid "Max Chars per Second"
+msgstr "Maks Karakter Per Detik"
+
+msgid "Max Queued Messages"
+msgstr "Pesan Antrian Maksimal"
+
+msgid "Max Errors per Second"
+msgstr "Maksimal Error Per Detik"
+
+msgid "Max Warnings per Second"
+msgstr "Maksimal Peringatan Per Detik"
+
+msgid "File Logging"
+msgstr "Pencatatan File"
+
+msgid "Enable File Logging"
+msgstr "Aktifkan Pencatatan File"
+
+msgid "Log Path"
+msgstr "Path Log"
+
+msgid "Max Log Files"
+msgstr "File Log Maks"
+
+msgid "Driver"
+msgstr "Driver"
+
+msgid "GL Compatibility"
+msgstr "Kompatibilitas GL"
+
+msgid "Renderer"
+msgstr "Perender"
+
+msgid "Rendering Method"
+msgstr "Metode Rendering"
+
+msgid "Include Text Server Data"
+msgstr "Sertakan Data Server Teks"
+
+msgid "DPI"
+msgstr "DPI"
+
+msgid "Allow hiDPI"
+msgstr "Izinkan hiDPI"
+
+msgid "Per Pixel Transparency"
+msgstr "Transparansi Per Piksel"
+
+msgid "Allowed"
+msgstr "Diizinkan"
+
+msgid "Threads"
+msgstr "Thread"
+
+msgid "Thread Model"
+msgstr "Model Thread"
+
+msgid "Handheld"
+msgstr "Genggam"
+
+msgid "Orientation"
+msgstr "Orientasi"
+
+msgid "V-Sync"
+msgstr "V-Sync"
+
+msgid "V-Sync Mode"
+msgstr "Mode V-Sync"
+
+msgid "stdout"
+msgstr "stdout"
+
+msgid "Print FPS"
+msgstr "Cetak FPS"
+
+msgid "Print GPU Profile"
+msgstr "Cetak Profil GPU"
+
+msgid "Verbose stdout"
+msgstr "Stdout verbose"
+
+msgid "Frame Delay Msec"
+msgstr "Penundaan Frame Milidetik"
+
+msgid "Low Processor Mode"
+msgstr "Mode Processor Rendah"
+
+msgid "iOS"
+msgstr "iOS"
+
+msgid "Allow High Refresh Rate"
+msgstr "Izinkan Kecepatan Refresh Tinggi"
+
+msgid "Hide Home Indicator"
+msgstr "Sembunyikan Indikator Beranda"
+
+msgid "Hide Status Bar"
+msgstr "Sembunyikan Bilah Status"
+
+msgid "Suppress UI Gesture"
+msgstr "Menekan Gerakan UI"
+
+msgid "XR"
+msgstr "XR"
+
+msgid "OpenXR"
+msgstr "OpenXR"
+
+msgid "Default Action Map"
+msgstr "Peta Tindakan Default"
+
+msgid "Form Factor"
+msgstr "Faktor Bentuk"
+
+msgid "View Configuration"
+msgstr "Lihat Konfigurasi"
+
+msgid "Reference Space"
+msgstr "Ruang Referensi"
+
+msgid "Submit Depth Buffer"
+msgstr "Kirim Buffer Kedalaman"
+
+msgid "Startup Alert"
+msgstr "Peringatan Startup"
+
+msgid "In Editor"
+msgstr "Di Editor"
+
+msgid "Boot Splash"
+msgstr "Boot Splash"
+
+msgid "BG Color"
+msgstr "Warna Latar Belakang"
+
+msgid "Input Devices"
+msgstr "Perangkat Masukan"
+
+msgid "Pen Tablet"
+msgstr "Pen Tablet"
+
+msgid "Environment"
+msgstr "Lingkungan"
+
+msgid "Defaults"
+msgstr "Default"
+
+msgid "Default Clear Color"
+msgstr "Warna Jelas Default"
+
+msgid "Show Image"
+msgstr "Tampilkan Gambar"
+
+msgid "Image"
+msgstr "Gambar"
+
+msgid "Fullsize"
+msgstr "Ukuran penuh"
+
+msgid "Use Filter"
+msgstr "Gunakan Filter"
+
+msgid "Icon"
+msgstr "Ikon"
+
+msgid "macOS Native Icon"
+msgstr "Ikon Asli macOS"
+
+msgid "Windows Native Icon"
+msgstr "Ikon Windows"
+
+msgid "Buffering"
+msgstr "Buffering"
+
+msgid "Agile Event Flushing"
+msgstr "Flushing Event yang Tangkas"
+
+msgid "Pointing"
+msgstr "Menunjuk"
+
+msgid "Emulate Touch From Mouse"
+msgstr "Emulasi Sentuhan Dari Mouse"
+
+msgid "Emulate Mouse From Touch"
+msgstr "Emulasi Mouse Dari Sentuhan"
+
+msgid "Text Driver"
+msgstr "Driver Teks"
+
+msgid "Mouse Cursor"
+msgstr "Kursor Mouse"
+
+msgid "Custom Image"
+msgstr "Gambar Kustom"
+
+msgid "Custom Image Hotspot"
+msgstr "Hotspot Gambar Kustom"
+
+msgid "Tooltip Position Offset"
+msgstr "Offset Posisi Tooltip"
+
+msgid "Minimum Display Time"
+msgstr "Waktu Tampilan Minimal"
+
+msgid "Dotnet"
+msgstr "Dotnet"
+
+msgid "Project"
+msgstr "Proyek"
+
+msgid "Assembly Name"
+msgstr "Nama Assembly"
+
+msgid "Solution Directory"
+msgstr "Direktori Solusi"
+
+msgid "Operation"
+msgstr "Operasi"
+
+msgid "Snap"
+msgstr "Pengancingan"
+
+msgid "Calculate Tangents"
+msgstr "Hitung Tangen"
+
+msgid "Collision"
+msgstr "Area Tabrakan"
+
+msgid "Use Collision"
+msgstr "Gunakan Collision"
+
+msgid "Collision Layer"
+msgstr "Lapisan Tabrakan"
+
+msgid "Collision Mask"
+msgstr "Mask Collision"
+
+msgid "Collision Priority"
+msgstr "Prioritas Collision"
+
+msgid "Flip Faces"
+msgstr "Flip Faces"
+
+msgid "Mesh"
+msgstr "Jala"
+
+msgid "Material"
+msgstr "Material"
+
+msgid "Radial Segments"
+msgstr "Segmen Radial"
+
+msgid "Rings"
+msgstr "Cincin"
+
+msgid "Smooth Faces"
+msgstr "Wajah Halus"
+
+msgid "Sides"
+msgstr "Sisi"
+
+msgid "Cone"
+msgstr "Kerucut"
+
+msgid "Inner Radius"
+msgstr "Radius Dalam"
+
+msgid "Outer Radius"
+msgstr "Radius Luar"
+
+msgid "Ring Sides"
+msgstr "Sisi Cincin"
+
+msgid "Polygon"
+msgstr "Poligon"
+
+msgid "Depth"
+msgstr "Kedalaman"
+
+msgid "Spin Degrees"
+msgstr "Derajat Putaran"
+
+msgid "Spin Sides"
+msgstr "Sisi Putar"
+
+msgid "Path Node"
+msgstr "Path Node"
+
+msgid "Path Interval Type"
+msgstr "Jenis Interval Path"
+
+msgid "Path Interval"
+msgstr "Interval Path"
+
+msgid "Path Simplify Angle"
+msgstr "Sudut Penyederhanaan Path"
+
+msgid "Path Rotation"
+msgstr "Rotasi Path"
+
+msgid "Path Local"
+msgstr "Path Lokal"
+
+msgid "Path Continuous U"
+msgstr "Path U Kontinu"
+
+msgid "Path U Distance"
+msgstr "Jarak Path U"
+
+msgid "Path Joined"
+msgstr "Path Bergabung"
+
+msgid "CSG"
+msgstr "CSG"
+
+msgid "GDScript"
+msgstr "GDScript"
+
+msgid "Function Definition Color"
+msgstr "Warna Definisi Fungsi"
+
+msgid "Global Function Color"
+msgstr "Warna Fungsi Global"
+
+msgid "Node Path Color"
+msgstr "Warna Path Node"
+
+msgid "Node Reference Color"
+msgstr "Warna Referensi Node"
+
+msgid "Annotation Color"
+msgstr "Warna Anotasi"
+
+msgid "String Name Color"
+msgstr "Warna Nama String"
+
+msgid "Max Call Stack"
+msgstr "Tumpukan Panggilan Maks"
+
+msgid "Exclude Addons"
+msgstr "Kecualikan Addon"
+
+msgid "Language Server"
+msgstr "Server Bahasa"
+
+msgid "Enable Smart Resolve"
+msgstr "Mengaktifkan Smart Resolve"
+
+msgid "Show Native Symbols in Editor"
+msgstr "Tampilkan Simbol Asli di Editor"
+
+msgid "Use Thread"
+msgstr "Gunakan Thread"
+
+msgid "glTF"
+msgstr "glTF"
+
+msgid "Embedded Image Handling"
+msgstr "Penanganan Gambar Tertanam"
+
+msgid "Color"
+msgstr "Warna"
+
+msgid "Intensity"
+msgstr "Intensitas"
+
+msgid "Light Type"
+msgstr "Jenis Cahaya"
+
+msgid "Range"
+msgstr "Jarak"
+
+msgid "Inner Cone Angle"
+msgstr "Sudut Kerucut Bagian Dalam"
+
+msgid "Outer Cone Angle"
+msgstr "Sudut Kerucut Bagian Luar"
+
+msgid "Diffuse Img"
+msgstr "Difusi Img"
+
+msgid "Diffuse Factor"
+msgstr "Faktor Difusi"
+
+msgid "Gloss Factor"
+msgstr "Faktor Gloss"
+
+msgid "Specular Factor"
+msgstr "Faktor Specular"
+
+msgid "Spec Gloss Img"
+msgstr "Spek Gloss Img"
+
+msgid "Json"
+msgstr "Json"
+
+msgid "Major Version"
+msgstr "Versi Utama"
+
+msgid "Minor Version"
+msgstr "Versi Minor"
+
+msgid "GLB Data"
+msgstr "Data GLB"
+
+msgid "Use Named Skin Binds"
+msgstr "Gunakan Pengikat Skin Bernama"
+
+msgid "Buffers"
+msgstr "Penyangga"
+
+msgid "Buffer Views"
+msgstr "Tampilan Penyangga"
+
+msgid "Accessors"
+msgstr "Pengakses"
+
+msgid "Materials"
+msgstr "Material"
+
+msgid "Scene Name"
+msgstr "Nama Skena"
+
+msgid "Base Path"
+msgstr "Path Dasar"
+
+msgid "Root Nodes"
+msgstr "Node Akar"
+
+msgid "Texture Samplers"
+msgstr "Sampler Tekstur"
+
+msgid "Images"
+msgstr "Gambar"
+
+msgid "Cameras"
+msgstr "Kamera kamera"
+
+msgid "Lights"
+msgstr "Cahaya"
+
+msgid "Unique Names"
+msgstr "Nama Unik"
+
+msgid "Unique Animation Names"
+msgstr "Nama Animasi Unik"
+
+msgid "Skeletons"
+msgstr "Kerangka"
+
+msgid "Create Animations"
+msgstr "Buat Animasi"
+
+msgid "Animations"
+msgstr "Animasi"
+
+msgid "Handle Binary Image"
+msgstr "Menangani Gambar Biner"
+
+msgid "Blender"
+msgstr "Blender"
+
+msgid "RPC Port"
+msgstr "Port RPC"
+
+msgid "RPC Server Uptime"
+msgstr "Waktu Aktif Server RPC"
+
+msgid "Blender 3 Path"
+msgstr "Path Blender 3"
+
+msgid "FBX"
+msgstr "FBX"
+
+msgid "FBX2glTF Path"
+msgstr "Path FBX2glTF"
+
+msgid "Buffer View"
+msgstr "Tampilan Penyangga"
+
+msgid "Byte Offset"
+msgstr "Offset Bita"
+
+msgid "Component Type"
+msgstr "Tipe Komponen"
+
+msgid "Normalized"
+msgstr "Dinormalisasi"
+
+msgid "Count"
+msgstr "Jumlah"
+
+msgid "Min"
+msgstr "Minimal"
+
+msgid "Max"
+msgstr "Maks"
+
+msgid "Sparse Count"
+msgstr "Hitungan Sparse"
+
+msgid "Sparse Indices Buffer View"
+msgstr "Tampilan Buffer Indeks Sparse"
+
+msgid "Sparse Indices Byte Offset"
+msgstr "Offset Byte Indeks Sparse"
+
+msgid "Sparse Indices Component Type"
+msgstr "Jenis Komponen Indeks Sparse"
+
+msgid "Sparse Values Buffer View"
+msgstr "Tampilan Buffer Nilai Sparse"
+
+msgid "Sparse Values Byte Offset"
+msgstr "Nilai Sparse Offset Byte"
+
+msgid "Loop"
+msgstr "Pengulangan"
+
+msgid "Buffer"
+msgstr "Penyangga"
+
+msgid "Byte Length"
+msgstr "Panjang Bita"
+
+msgid "Byte Stride"
+msgstr "Byte Stride"
+
+msgid "Indices"
+msgstr "Indeks"
+
+msgid "Perspective"
+msgstr "Perspektif"
+
+msgid "FOV"
+msgstr "FOV"
+
+msgid "Size Mag"
+msgstr "Ukuran Mag"
+
+msgid "Depth Far"
+msgstr "Kedalaman Jauh"
+
+msgid "Depth Near"
+msgstr "Kedalaman Dekat"
+
+msgid "Blend Weights"
+msgstr "Campuran Bobot"
+
+msgid "Instance Materials"
+msgstr "Bahan Instance"
+
+msgid "Parent"
+msgstr "Induk"
+
+msgid "Xform"
+msgstr "Xform"
+
+msgid "Skin"
+msgstr "Skin"
+
+msgid "Children"
+msgstr "Turunan"
+
+msgid "Light"
+msgstr "Cahaya"
+
+msgid "Joints"
+msgstr "Sendi"
+
+msgid "Roots"
+msgstr "Root"
+
+msgid "Godot Bone Node"
+msgstr "Node Tulang Godot"
+
+msgid "Skin Root"
+msgstr "Root Skin"
+
+msgid "Joints Original"
+msgstr "Sendi Asli"
+
+msgid "Non Joints"
+msgstr "Non Sendi"
+
+msgid "Godot Skin"
+msgstr "Skin Godot"
+
+msgid "Src Image"
+msgstr "Gambar Sumber"
+
+msgid "Sampler"
+msgstr "Sampler"
+
+msgid "Mag Filter"
+msgstr "Filter Mag"
+
+msgid "Min Filter"
+msgstr "Filter Min"
+
+msgid "Wrap S"
+msgstr "Wrap S"
+
+msgid "Wrap T"
+msgstr "Wrap T"
+
+msgid "Palette Min Width"
+msgstr "Lebar Min Palet"
+
+msgid "Preview Size"
+msgstr "Ukuran Pratinjau"
+
+msgid "Editor Side"
+msgstr "Sisi Editor"
+
+msgid "Mesh Library"
+msgstr "Pustaka Bentuk"
+
+msgid "Physics Material"
+msgstr "Material Fisik"
+
+msgid "Cell"
+msgstr "Sel"
+
+msgid "Octant Size"
+msgstr "Ukuran Oktan"
+
+msgid "Center X"
+msgstr "Pusat X"
+
+msgid "Center Y"
+msgstr "Pusat Y"
+
+msgid "Center Z"
+msgstr "Pusat Z"
+
+msgid "Layer"
+msgstr "Lapisan"
+
+msgid "Mask"
+msgstr "Mask"
+
+msgid "Priority"
+msgstr "Prioritas"
+
+msgid "Bake Navigation"
+msgstr "Bake Navigasi"
+
+msgid "Lightmapping"
+msgstr "Pemetaan Cahaya"
+
+msgid "Bake Quality"
+msgstr "Bake Kualitas"
+
+msgid "Low Quality Ray Count"
+msgstr "Jumlah Ray Kualitas Rendah"
+
+msgid "Medium Quality Ray Count"
+msgstr "Jumlah Ray Kualitas Sedang"
+
+msgid "High Quality Ray Count"
+msgstr "Jumlah Ray Kualitas Tinggi"
+
+msgid "Ultra Quality Ray Count"
+msgstr "Jumah Ray Kualitas Ultra"
+
+msgid "Bake Performance"
+msgstr "Bake Performa"
+
+msgid "Max Rays per Pass"
+msgstr "Ray Maks per Pass"
+
+msgid "Region Size"
+msgstr "Ukuran Wilayah"
+
+msgid "Low Quality Probe Ray Count"
+msgstr "Jumlah Ray Probe Berkualitas Rendah"
+
+msgid "Medium Quality Probe Ray Count"
+msgstr "Jumlah Ray Probe Kualitas Sedang"
+
+msgid "High Quality Probe Ray Count"
+msgstr "Jumlah Ray Probe Kualitas Tinggi"
+
+msgid "Ultra Quality Probe Ray Count"
+msgstr "Jumlah Ray Probe Kualitas Ultra"
+
+msgid "Max Rays per Probe Pass"
+msgstr "Ray Maks per Probe Pass"
+
+msgid "Primitive Meshes"
+msgstr "Mesh Primitif"
+
+msgid "Texel Size"
+msgstr "Ukuran Texel"
+
+msgid "BPM"
+msgstr "BPM"
+
+msgid "Beat Count"
+msgstr "Jumlah Ketukan"
+
+msgid "Bar Beats"
+msgstr "Ketukan Bar"
+
+msgid "Loop Offset"
+msgstr "Loop Offset"
+
+msgid "Eye Height"
+msgstr "Tinggi Mata"
+
+msgid "IOD"
+msgstr "IOD"
+
+msgid "Display Width"
+msgstr "Lebar Tampilan"
+
+msgid "Display to Lens"
+msgstr "Tampilan ke Lensa"
+
+msgid "Oversample"
+msgstr "Sampel berlebih"
+
+msgid "K1"
+msgstr "K1"
+
+msgid "K2"
+msgstr "K2"
+
+msgid "Spawnable Scenes"
+msgstr "Adegan yang Dapat Dimunculkan"
+
+msgid "Spawn Path"
+msgstr "Path Spawn"
+
+msgid "Spawn Limit"
+msgstr "Batas Spawn"
+
+msgid "Root Path"
+msgstr "Path Root"
+
+msgid "Replication Interval"
+msgstr "Interval Replikasi"
+
+msgid "Visibility Update Mode"
+msgstr "Mode Pembaruan Visibilitas"
+
+msgid "Public Visibility"
+msgstr "Visibilitas Publik"
+
+msgid "Auth Callback"
+msgstr "Panggilan Balik Otentikasi"
+
+msgid "Auth Timeout"
+msgstr "Batas Waktu Autentikasi"
+
+msgid "Allow Object Decoding"
+msgstr "Izinkan Decoding Objek"
+
+msgid "Refuse New Connections"
+msgstr "Tolak Koneksi Baru"
+
+msgid "Server Relay"
+msgstr "Relai Server"
+
+msgid "Noise Type"
+msgstr "Tipe Kebisingan"
+
+msgid "Frequency"
+msgstr "Frekuensi"
+
+msgid "Fractal"
+msgstr "Fraktal"
+
+msgid "Octaves"
+msgstr "Oktaf"
+
+msgid "Lacunarity"
+msgstr "Lakunaritas"
+
+msgid "Gain"
+msgstr "Keuntungan"
+
+msgid "Weighted Strength"
+msgstr "Kekuatan Tertimbang"
+
+msgid "Ping Pong Strength"
+msgstr "Kekuatan Ping Pong"
+
+msgid "Cellular"
+msgstr "Seluler"
+
+msgid "Distance Function"
+msgstr "Fungsi Jarak"
+
+msgid "Jitter"
+msgstr "Jitter"
+
+msgid "Return Type"
+msgstr "Jenis Pengembalian"
+
+msgid "Domain Warp"
+msgstr "Warp Domain"
+
+msgid "Amplitude"
+msgstr "Amplitudo"
+
+msgid "Fractal Type"
+msgstr "Tipe Fraktal"
+
+msgid "Fractal Octaves"
+msgstr "Oktaf Fraktal"
+
+msgid "Fractal Lacunarity"
+msgstr "Lakunaritas Fraktal"
+
+msgid "Fractal Gain"
+msgstr "Keuntungan Fraktal"
+
+msgid "Width"
+msgstr "Lebar"
+
+msgid "Invert"
+msgstr "Balik"
+
+msgid "In 3D Space"
+msgstr "Di Ruang 3D"
+
+msgid "Seamless"
+msgstr "Mulus"
+
+msgid "Seamless Blend Skirt"
+msgstr "Rok Campuran Mulus"
+
+msgid "As Normal Map"
+msgstr "Sebagai Peta Normal"
+
+msgid "Bump Strength"
+msgstr "Kekuatan Bump"
+
+msgid "Color Ramp"
+msgstr "Ramp Warna"
+
+msgid "Noise"
+msgstr "Kebisingan"
+
+msgid "Localized Name"
+msgstr "Nama yang Dilokalkan"
+
+msgid "Action Type"
+msgstr "Jenis Tindakan"
+
+msgid "Toplevel Paths"
+msgstr "Path Tingkat Atas"
+
+msgid "Paths"
+msgstr "Path"
+
+msgid "Interaction Profile Path"
+msgstr "Path Profil Interaksi"
+
+msgid "Display Refresh Rate"
+msgstr "Kecepatan Refresh Layar"
+
+msgid "Hand"
+msgstr "Tangan"
+
+msgid "Motion Range"
+msgstr "Rentang Gerak"
+
+msgid "Hand Skeleton"
+msgstr "Kerangka Tangan"
+
+msgid "Subject"
+msgstr "Subjek"
+
+msgid "Names"
+msgstr "Nama²"
+
+msgid "Strings"
+msgstr "String"
+
+msgid "Discover Multicast If"
+msgstr "Temukan Multicast Jika"
+
+msgid "Discover Local Port"
+msgstr "Temukan Port Lokal"
+
+msgid "Discover IPv6"
+msgstr "Temukan IPv6"
+
+msgid "Description URL"
+msgstr "Deskripsi URL"
+
+msgid "Service Type"
+msgstr "Jenis Layanan"
+
+msgid "IGD Control URL"
+msgstr "URL Kontrol IGD"
+
+msgid "IGD Service Type"
+msgstr "Jenis Layanan IGD"
+
+msgid "IGD Our Addr"
+msgstr "IGD Alamat Kami"
+
+msgid "IGD Status"
+msgstr "Status IGD"
+
+msgid "Write Mode"
+msgstr "Mode Tulis"
+
+msgid "WebRTC"
+msgstr "WebRTC"
+
+msgid "Max Channel in Buffer (KB)"
+msgstr "Saluran Maksimal dalam Buffer (KB)"
+
+msgid "Supported Protocols"
+msgstr "Protokol yang Didukung"
+
+msgid "Handshake Headers"
+msgstr "Tajuk Jabat Tangan"
+
+msgid "Inbound Buffer Size"
+msgstr "Ukuran Buffer Masuk"
+
+msgid "Outbound Buffer Size"
+msgstr "Ukuran Buffer Keluar"
+
+msgid "Handshake Timeout"
+msgstr "Batas Waktu Jabat Tangan"
+
+msgid "Max Queued Packets"
+msgstr "Paket Antrian Maksimal"
+
+msgid "Session Mode"
+msgstr "Mode Sesi"
+
+msgid "Required Features"
+msgstr "Fitur yang Diperlukan"
+
+msgid "Optional Features"
+msgstr "Fitur Opsional"
+
+msgid "Requested Reference Space Types"
+msgstr "Jenis Ruang Referensi yang Diminta"
+
+msgid "Reference Space Type"
+msgstr "Jenis Ruang Referensi"
+
+msgid "Visibility State"
+msgstr "Status Visibilitas"
+
+msgid "Android"
+msgstr "Android"
+
+msgid "Android SDK Path"
+msgstr "Jalur Android SDK"
+
+msgid "Debug Keystore"
+msgstr "Debug Keystore"
+
+msgid "Debug Keystore User"
+msgstr "Debug Pengguna Keystore"
+
+msgid "Debug Keystore Pass"
+msgstr "Debug Keystore Pass"
+
+msgid "Force System User"
+msgstr "Paksa Pengguna Sistem"
+
+msgid "Shutdown ADB on Exit"
+msgstr "Matikan ADB Saat Keluar"
+
+msgid "One Click Deploy Clear Previous Install"
+msgstr "Satu Klik Deploy Hapus Instalasi Sebelumnya"
+
+msgid "Launcher Icons"
+msgstr "Ikon Peluncur"
+
+msgid "Main 192 X 192"
+msgstr "Utama 192 X 192"
+
+msgid "Adaptive Foreground 432 X 432"
+msgstr "Latar Depan Adaptif 432 X 432"
+
+msgid "Adaptive Background 432 X 432"
+msgstr "Latar Belakang Adaptif 432 X 432"
+
+msgid "Gradle Build"
+msgstr "Gradle Build"
+
+msgid "Use Gradle Build"
+msgstr "Gunakan Gradle Build"
+
+msgid "Export Format"
+msgstr "Format Ekspor"
+
+msgid "Min SDK"
+msgstr "Min SDK"
+
+msgid "Target SDK"
+msgstr "Target SDK"
+
+msgid "Plugins"
+msgstr "Pengaya"
+
+msgid "Architectures"
+msgstr "Arsitektur"
+
+msgid "Keystore"
+msgstr "Keystore"
+
+msgid "Debug User"
+msgstr "Debug Pengguna"
+
+msgid "Debug Password"
+msgstr "Debug Kata Sandi"
+
+msgid "Release User"
+msgstr "Lepaskan Pengguna"
+
+msgid "Release Password"
+msgstr "Lepaskan Kata Sandi"
+
+msgid "Version"
+msgstr "Versi"
+
+msgid "Code"
+msgstr "Kode"
+
+msgid "Package"
+msgstr "Paket"
+
+msgid "Unique Name"
+msgstr "Nama Unik"
+
+msgid "Signed"
+msgstr "Tertanda"
+
+msgid "App Category"
+msgstr "Kategori Aplikasi"
+
+msgid "Retain Data on Uninstall"
+msgstr "Pertahankan Data Saat Copot Pemasangan"
+
+msgid "Exclude From Recents"
+msgstr "Kecualikan dari Terbaru"
+
+msgid "Graphics"
+msgstr "Grafik"
+
+msgid "OpenGL Debug"
+msgstr "Debug OpenGL"
+
+msgid "XR Features"
+msgstr "Fitur XR"
+
+msgid "XR Mode"
+msgstr "Mode XR"
+
+msgid "Hand Tracking"
+msgstr "Pelacakan Tangan"
+
+msgid "Hand Tracking Frequency"
+msgstr "Frekuensi Pelacakan Tangan"
+
+msgid "Passthrough"
+msgstr "Melewati"
+
+msgid "Immersive Mode"
+msgstr "Mode Imersif"
+
+msgid "Support Small"
+msgstr "Dukungan Kecil"
+
+msgid "Support Normal"
+msgstr "Dukungan Normal"
+
+msgid "Support Large"
+msgstr "Dukungan Besar"
+
+msgid "Support Xlarge"
+msgstr "Dukungan Ekstra Besar"
+
+msgid "User Data Backup"
+msgstr "Cadangan Data Pengguna"
+
+msgid "Allow"
+msgstr "Izinkan"
+
+msgid "Command Line"
+msgstr "Baris Perintah"
+
+msgid "Extra Args"
+msgstr "Arg Ekstra"
+
+msgid "APK Expansion"
+msgstr "Ekspansi APK"
+
+msgid "Salt"
+msgstr "Garam"
+
+msgid "Public Key"
+msgstr "Kunci Publik"
+
+msgid "Permissions"
+msgstr "Perizinan"
+
+msgid "Custom Permissions"
+msgstr "Perizinan Kustom"
+
+msgid "Icons"
+msgstr "Ikon"
+
+msgid "iPhone 120 X 120"
+msgstr "iPhone 120 × 120"
+
+msgid "iPhone 180 X 180"
+msgstr "iPhone 180 × 180"
+
+msgid "iPad 76 X 76"
+msgstr "iPad 76 × 76"
+
+msgid "iPad 152 X 152"
+msgstr "iPad 152 × 152"
+
+msgid "iPad 167 X 167"
+msgstr "iPad 167 × 167"
+
+msgid "App Store 1024 X 1024"
+msgstr "App Store 1024 X 1024"
+
+msgid "Spotlight 40 X 40"
+msgstr "Spotlight 40 X 40"
+
+msgid "Spotlight 80 X 80"
+msgstr "Spotlight 80 X 80"
+
+msgid "Settings 58 X 58"
+msgstr "Pengaturan 58 X 58"
+
+msgid "Settings 87 X 87"
+msgstr "Pengaturan 87 X 87"
+
+msgid "Notification 40 X 40"
+msgstr "Pemberitahuan 40 X 40"
+
+msgid "Notification 60 X 60"
+msgstr "Pemberitahuan 60 X 60"
+
+msgid "Landscape Launch Screens"
+msgstr "Layar Peluncuran Lansekap"
+
+msgid "iPhone 2436 X 1125"
+msgstr "iPhone 2436 X 1125"
+
+msgid "iPhone 2208 X 1242"
+msgstr "iPhone 2208 X 1242"
+
+msgid "iPad 1024 X 768"
+msgstr "iPad 1024 X 768"
+
+msgid "iPad 2048 X 1536"
+msgstr "iPad 152 × 152"
+
+msgid "Portrait Launch Screens"
+msgstr "Layar Peluncuran Potret"
+
+msgid "iPhone 640 X 960"
+msgstr "iPhone 640 X 960"
+
+msgid "iPhone 640 X 1136"
+msgstr "iPhone 640 X 1136"
+
+msgid "iPhone 750 X 1334"
+msgstr "iPhone 750 X 1334"
+
+msgid "iPhone 1125 X 2436"
+msgstr "iPhone 1125 X 2436"
+
+msgid "iPad 768 X 1024"
+msgstr "iPad 768 X 1024"
+
+msgid "iPad 1536 X 2048"
+msgstr "iPad 1536 X 2048"
+
+msgid "iPhone 1242 X 2208"
+msgstr "iPhone 1242 X 2208"
+
+msgid "App Store Team ID"
+msgstr "ID Tim App Store"
+
+msgid "Provisioning Profile UUID Debug"
+msgstr "Profil Penyediaan Debug UUID"
+
+msgid "Code Sign Identity Debug"
+msgstr "Debug Identitas Tanda Kode"
+
+msgid "Export Method Debug"
+msgstr "Debug Metode Ekspor"
+
+msgid "Provisioning Profile UUID Release"
+msgstr "Profil Penyediaan Rilis UUID"
+
+msgid "Code Sign Identity Release"
+msgstr "Rilis Identitas Tanda Kode"
+
+msgid "Export Method Release"
+msgstr "Rilis Metode Ekspor"
+
+msgid "Targeted Device Family"
+msgstr "Keluarga Perangkat yang Ditargetkan"
+
+msgid "Bundle Identifier"
+msgstr "Pengidentifikasi Bundel"
+
+msgid "Signature"
+msgstr "Tanda Tangan"
+
+msgid "Short Version"
+msgstr "Versi Pendek"
+
+msgid "Icon Interpolation"
+msgstr "Interpolasi Ikon"
+
+msgid "Launch Screens Interpolation"
+msgstr "Peluncuran Layar Interpolasi"
+
+msgid "Capabilities"
+msgstr "Kapabilitas"
+
+msgid "Access Wi-Fi"
+msgstr "Akses Wi-Fi"
+
+msgid "Push Notifications"
+msgstr "Pemberitahuan Push"
+
+msgid "User Data"
+msgstr "Data Pengguna"
+
+msgid "Accessible From Files App"
+msgstr "Dapat Diakses Melalui Aplikasi Berkas"
+
+msgid "Accessible From iTunes Sharing"
+msgstr "Dapat diakses dari berbagi iTunes"
+
+msgid "Privacy"
+msgstr "Privasi"
+
+msgid "Camera Usage Description"
+msgstr "Deskripsi Penggunaan Kamera"
+
+msgid "Camera Usage Description Localized"
+msgstr "Deskripsi Penggunaan Kamera Dilokalisasi"
+
+msgid "Microphone Usage Description"
+msgstr "Deskripsi Penggunaan Mikrofon"
+
+msgid "Microphone Usage Description Localized"
+msgstr "Deskripsi Penggunaan Mikrofon Dilokalisasi"
+
+msgid "Photolibrary Usage Description"
+msgstr "Deskripsi Penggunaan Galeri"
+
+msgid "Photolibrary Usage Description Localized"
+msgstr "Deskripsi Penggunaan Photolibrary Dilokalisasi"
+
+msgid "Storyboard"
+msgstr "Papan Cerita"
+
+msgid "Use Launch Screen Storyboard"
+msgstr "Gunakan Storyboard Layar Peluncuran"
+
+msgid "Image Scale Mode"
+msgstr "Mode Skala Gambar"
+
+msgid "Custom Image @2x"
+msgstr "Gambar Kustom @2x"
+
+msgid "Custom Image @3x"
+msgstr "Gambar Kustom @3x"
+
+msgid "Use Custom BG Color"
+msgstr "Gunakan Warna BG Kustom"
+
+msgid "Custom BG Color"
+msgstr "Warna BG Kustom"
+
+msgid "Architecture"
+msgstr "Arsitektur"
+
+msgid "SSH Remote Deploy"
+msgstr "Deploy Remot SSH"
+
+msgid "Extra Args SSH"
+msgstr "Args SSH Ekstra"
+
+msgid "Extra Args SCP"
+msgstr "SCP Args Ekstra"
+
+msgid "Run Script"
+msgstr "Jalankan Skrip"
+
+msgid "Cleanup Script"
+msgstr "Bersihkan Skrip"
+
+msgid "macOS"
+msgstr "macOS"
+
+msgid "rcodesign"
+msgstr "rcodesign"
+
+msgid "Copyright"
+msgstr "Hak Cipta"
+
+msgid "Copyright Localized"
+msgstr "Hak Cipta Dilokalkan"
+
+msgid "High Res"
+msgstr "Resolusi Tinggi"
+
+msgid "Codesign"
+msgstr "Codesign"
+
+msgid "Identity"
+msgstr "Identitas"
+
+msgid "Certificate File"
+msgstr "File Sertifikat"
+
+msgid "Certificate Password"
+msgstr "Kata Sandi Sertifikat"
+
+msgid "Entitlements"
+msgstr "Hak"
+
+msgid "Custom File"
+msgstr "File Kustom"
+
+msgid "Allow JIT Code Execution"
+msgstr "Izinkan Eksekusi Kode JIT"
+
+msgid "Allow Unsigned Executable Memory"
+msgstr "Izinkan Memori yang Dapat Dieksekusi Tanpa Ditandai"
+
+msgid "Allow Dyld Environment Variables"
+msgstr "Izinkan Variabel Lingkungan Dyld"
+
+msgid "Disable Library Validation"
+msgstr "Menonaktifkan Validasi Library"
+
+msgid "Audio Input"
+msgstr "Input Audio"
+
+msgid "Location"
+msgstr "Lokalisasi"
+
+msgid "Address Book"
+msgstr "Buku Alamat"
+
+msgid "Calendars"
+msgstr "Kalender"
+
+msgid "Photos Library"
+msgstr "Perpustakaan Foto"
+
+msgid "Apple Events"
+msgstr "Acara Apple"
+
+msgid "Debugging"
+msgstr "Men-debug"
+
+msgid "App Sandbox"
+msgstr "Sandbox Aplikasi"
+
+msgid "Network Server"
+msgstr "Server Jaringan"
+
+msgid "Network Client"
+msgstr "Klien Jaringan"
+
+msgid "Device USB"
+msgstr "Perangkat USB"
+
+msgid "Device Bluetooth"
+msgstr "Perangkat Bluetooth"
+
+msgid "Files Downloads"
+msgstr "Unduhan File"
+
+msgid "Files Pictures"
+msgstr "File Gambar"
+
+msgid "Files Music"
+msgstr "File Musik"
+
+msgid "Files Movies"
+msgstr "File Video"
+
+msgid "Helper Executables"
+msgstr "Eksekusi Pembantu"
+
+msgid "Custom Options"
+msgstr "Pilihan Kustom"
+
+msgid "Notarization"
+msgstr "Notarisasi"
+
+msgid "Apple ID Name"
+msgstr "Nama ID Apple"
+
+msgid "Apple ID Password"
+msgstr "Kata Sandi ID Apple"
+
+msgid "Apple Team ID"
+msgstr "ID Tim Apple"
+
+msgid "API UUID"
+msgstr "UUID API"
+
+msgid "API Key"
+msgstr "Kunci API"
+
+msgid "API Key ID"
+msgstr "ID Kunci API"
+
+msgid "Location Usage Description"
+msgstr "Deskripsi Penggunaan Lokasi"
+
+msgid "Location Usage Description Localized"
+msgstr "Deskripsi Penggunaan Lokasi Dilokalkan"
+
+msgid "Address Book Usage Description"
+msgstr "Deskripsi Penggunaan Buku Alamat"
+
+msgid "Address Book Usage Description Localized"
+msgstr "Deskripsi Penggunaan Buku Alamat Dilokalisasi"
+
+msgid "Calendar Usage Description"
+msgstr "Deskripsi Penggunaan Kalender"
+
+msgid "Calendar Usage Description Localized"
+msgstr "Deskripsi Penggunaan Kalender Dilokalisasi"
+
+msgid "Photos Library Usage Description"
+msgstr "Deskripsi Penggunaan Library Foto"
+
+msgid "Photos Library Usage Description Localized"
+msgstr "Deskripsi Penggunaan Library Foto Dilokalisasi"
+
+msgid "Desktop Folder Usage Description"
+msgstr "Deskripsi Penggunaan Folder Desktop"
+
+msgid "Desktop Folder Usage Description Localized"
+msgstr "Deskripsi Penggunaan Folder Desktop Dilokalisasi"
+
+msgid "Documents Folder Usage Description"
+msgstr "Deskripsi Penggunaan Folder Dokumen"
+
+msgid "Documents Folder Usage Description Localized"
+msgstr "Deskripsi Penggunaan Folder Dokumen Dilokalisasi"
+
+msgid "Downloads Folder Usage Description"
+msgstr "Deskripsi Penggunaan Folder Unduhan"
+
+msgid "Downloads Folder Usage Description Localized"
+msgstr "Unduhan Deskripsi Penggunaan Folder Dilokalisasi"
+
+msgid "Network Volumes Usage Description"
+msgstr "Deskripsi Penggunaan Volume Jaringan"
+
+msgid "Network Volumes Usage Description Localized"
+msgstr "Deskripsi Penggunaan Volume Jaringan Dilokalisasi"
+
+msgid "Removable Volumes Usage Description"
+msgstr "Deskripsi Penggunaan Volume yang Dapat Dilepas"
+
+msgid "Removable Volumes Usage Description Localized"
+msgstr "Volume yang Dapat Dilepas Deskripsi Penggunaan Dilokalisasi"
+
+msgid "UWP"
+msgstr "UWP"
+
+msgid "signtool"
+msgstr "alat tanda"
+
+msgid "Debug Certificate"
+msgstr "Sertifikat Awakutu"
+
+msgid "Debug Algorithm"
+msgstr "Algoritma Awakutu"
+
+msgid "Display Name"
+msgstr "Nama Tampilan"
+
+msgid "Short Name"
+msgstr "Nama Singkat"
+
+msgid "Publisher"
+msgstr "Penerbit"
+
+msgid "Publisher Display Name"
+msgstr "Nama Tampilan Penerbit"
+
+msgid "Product GUID"
+msgstr "GUID Produk"
+
+msgid "Publisher GUID"
+msgstr "GUID Penerbit"
+
+msgid "Signing"
+msgstr "Penandatanganan"
+
+msgid "Certificate"
+msgstr "Sertifikat"
+
+msgid "Algorithm"
+msgstr "Algoritma"
+
+msgid "Major"
+msgstr "Mayor"
+
+msgid "Minor"
+msgstr "Minor"
+
+msgid "Build"
+msgstr "Build"
+
+msgid "Revision"
+msgstr "Revisi"
+
+msgid "Landscape"
+msgstr "Lanskap"
+
+msgid "Portrait"
+msgstr "Potret"
+
+msgid "Landscape Flipped"
+msgstr "Lanskap Terbalik"
+
+msgid "Portrait Flipped"
+msgstr "Potret Terbalik"
+
+msgid "Store Logo"
+msgstr "Logo Store"
+
+msgid "Square 44 X 44 Logo"
+msgstr "Logo Persegi 44 X 44"
+
+msgid "Square 71 X 71 Logo"
+msgstr "Logo Persegi 71 X 71"
+
+msgid "Square 150 X 150 Logo"
+msgstr "Logo Persegi 150 X 150"
+
+msgid "Square 310 X 310 Logo"
+msgstr "Logo Persegi 310 X 310"
+
+msgid "Wide 310 X 150 Logo"
+msgstr "Logo Lebar 310 X 150"
+
+msgid "Splash Screen"
+msgstr "Splash Screen"
+
+msgid "Tiles"
+msgstr "Ubin"
+
+msgid "Show Name on Square 150 X 150"
+msgstr "Tampilkan Nama Pada Persegi 150 X 150"
+
+msgid "Show Name on Wide 310 X 150"
+msgstr "Tampilkan Nama Dalam Lebar 310 X 150"
+
+msgid "Show Name on Square 310 X 310"
+msgstr "Tampilkan Nama Pada Persegi 310 X 310"
+
+msgid "Web"
+msgstr "Situs"
+
+msgid "HTTP Host"
+msgstr "Host HTTP"
+
+msgid "HTTP Port"
+msgstr "Port HTTP"
+
+msgid "Use TLS"
+msgstr "Gunakan TLS"
+
+msgid "TLS Key"
+msgstr "Kunci TLS"
+
+msgid "TLS Certificate"
+msgstr "Sertifikat TLS"
+
+msgid "Variant"
+msgstr "Varian"
+
+msgid "Extensions Support"
+msgstr "Dukungan Ekstensi"
+
+msgid "VRAM Texture Compression"
+msgstr "Kompresi Tekstur VRAM"
+
+msgid "For Desktop"
+msgstr "Untuk Desktop"
+
+msgid "For Mobile"
+msgstr "Untuk Mobile"
+
+msgid "HTML"
+msgstr "HTML"
+
+msgid "Export Icon"
+msgstr "Ikon Ekspor"
+
+msgid "Custom HTML Shell"
+msgstr "Shell HTML Kustom"
+
+msgid "Head Include"
+msgstr "Head Termasuk"
+
+msgid "Canvas Resize Policy"
+msgstr "Kebijakan Pengubahan Ukuran Kanvas"
+
+msgid "Focus Canvas on Start"
+msgstr "Fokus Kanvas pada Start"
+
+msgid "Experimental Virtual Keyboard"
+msgstr "Keyboard Virtual Eksperimental"
+
+msgid "Progressive Web App"
+msgstr "Aplikasi Web Progresif"
+
+msgid "Offline Page"
+msgstr "Halaman Luring"
+
+msgid "Icon 144 X 144"
+msgstr "Ikon 144 X 144"
+
+msgid "Icon 180 X 180"
+msgstr "Ikon 180 X 180"
+
+msgid "Icon 512 X 512"
+msgstr "Ikon 512 X 512"
+
+msgid "Windows"
+msgstr "Windows"
+
+msgid "rcedit"
+msgstr "rcedit"
+
+msgid "osslsigncode"
+msgstr "osslsigncode"
+
+msgid "wine"
+msgstr "wine"
+
+msgid "Identity Type"
+msgstr "Tipe Identitas"
+
+msgid "Timestamp"
+msgstr "Timestamp"
+
+msgid "Timestamp Server URL"
+msgstr "URL Server Timestamp"
+
+msgid "Digest Algorithm"
+msgstr "Algoritma Digest"
+
+msgid "Modify Resources"
+msgstr "Memodifikasi Sumber Daya"
+
+msgid "Console Wrapper Icon"
+msgstr "Ikon Pembungkus Konsol"
+
+msgid "File Version"
+msgstr "Versi Berkas"
+
+msgid "Product Version"
+msgstr "Versi Produk"
+
+msgid "Company Name"
+msgstr "Nama Perusahaan"
+
+msgid "Product Name"
+msgstr "Nama Produk"
+
+msgid "File Description"
+msgstr "Deskripsi Berkas"
+
+msgid "Trademarks"
+msgstr "Merek Dagang"
+
+msgid "Sprite Frames"
+msgstr "Frame Sprite"
+
+msgid "Frame"
+msgstr "Frame"
+
+msgid "Speed Scale"
+msgstr "Skala Kecepatan"
+
+msgid "Centered"
+msgstr "Terpusat"
+
+msgid "Flip H"
+msgstr "Balik Horizontal"
+
+msgid "Flip V"
+msgstr "Balik Vertikal"
+
+msgid "Monitoring"
+msgstr "Pemantauan"
+
+msgid "Monitorable"
+msgstr "Dapat dipantau"
+
+msgid "Gravity"
+msgstr "Gravitasi"
+
+msgid "Space Override"
+msgstr "Ruang Override"
+
+msgid "Point"
+msgstr "Titik"
+
+msgid "Point Unit Distance"
+msgstr "Jarak Satuan Titik"
+
+msgid "Point Center"
+msgstr "Pusat Titik"
+
+msgid "Direction"
+msgstr "Arah"
+
+msgid "Linear Damp"
+msgstr "Lembab Linier"
+
+msgid "Angular Damp"
+msgstr "Lembab Sudut"
+
+msgid "Audio Bus"
+msgstr "Bus Audio"
+
+msgid "Current"
+msgstr "Saat ini"
+
+msgid "Volume dB"
+msgstr "Volume dB"
+
+msgid "Pitch Scale"
+msgstr "Skala Pitch"
+
+msgid "Playing"
+msgstr "Memainkan"
+
+msgid "Autoplay"
+msgstr "Putar otomatis"
+
+msgid "Stream Paused"
+msgstr "Streaming Dijeda"
+
+msgid "Max Distance"
+msgstr "Jarak Maks"
+
+msgid "Attenuation"
+msgstr "Atenuasi"
+
+msgid "Max Polyphony"
+msgstr "Polifoni Maks"
+
+msgid "Panning Strength"
+msgstr "Kekuatan Panning"
+
+msgid "Bus"
+msgstr "Bus"
+
+msgid "Area Mask"
+msgstr "Mask Area"
+
+msgid "Copy Mode"
+msgstr "Mode Salin"
+
+msgid "Anchor Mode"
+msgstr "Mode Jangkar"
+
+msgid "Ignore Rotation"
+msgstr "Abaikan Rotasi"
+
+msgid "Process Callback"
+msgstr "Proses Panggilan Balik"
+
+msgid "Left"
+msgstr "Kiri"
+
+msgid "Top"
+msgstr "Atas"
+
+msgid "Right"
+msgstr "Kanan"
+
+msgid "Bottom"
+msgstr "Bawah"
+
+msgid "Smoothed"
+msgstr "Dihaluskan"
+
+msgid "Position Smoothing"
+msgstr "Penghalusan Posisi"
+
+msgid "Rotation Smoothing"
+msgstr "Penghalusan Rotasi"
+
+msgid "Drag"
+msgstr "Seret"
+
+msgid "Horizontal Enabled"
+msgstr "Horizontal Diaktifkan"
+
+msgid "Vertical Enabled"
+msgstr "Vertikal Diaktifkan"
+
+msgid "Horizontal Offset"
+msgstr "Offset Horisontal"
+
+msgid "Vertical Offset"
+msgstr "Offset Vertikal"
+
+msgid "Left Margin"
+msgstr "Margin Kiri"
+
+msgid "Top Margin"
+msgstr "Margin Atas"
+
+msgid "Right Margin"
+msgstr "Margin Kanan"
+
+msgid "Bottom Margin"
+msgstr "Margin Bawah"
+
+msgid "Draw Screen"
+msgstr "Gambar Layar"
+
+msgid "Draw Limits"
+msgstr "Menggambar Batas"
+
+msgid "Draw Drag Margin"
+msgstr "Margin Seret Gambar"
+
+msgid "Tweaks"
+msgstr "Tweak"
+
+msgid "Fit Margin"
+msgstr "Pas Margin"
+
+msgid "Clear Margin"
+msgstr "Hapus Margin"
+
+msgid "Use Mipmaps"
+msgstr "Gunakan Mipmaps"
+
+msgid "Disable Mode"
+msgstr "Mode Nonaktifkan"
+
+msgid "Input"
+msgstr "Input"
+
+msgid "Pickable"
+msgstr "Dapat dipilih"
+
+msgid "Build Mode"
+msgstr "Mode Build"
+
+msgid "Disabled"
+msgstr "Dinonaktifkan"
+
+msgid "One Way Collision"
+msgstr "Tabrakan Satu Arah"
+
+msgid "One Way Collision Margin"
+msgstr "Margin Tabrakan Satu Arah"
+
+msgid "Debug Color"
+msgstr "Warna Debug"
+
+msgid "Emitting"
+msgstr "Memancarkan"
+
+msgid "Time"
+msgstr "Waktu"
+
+msgid "Lifetime"
+msgstr "Seumur hidup"
+
+msgid "One Shot"
+msgstr "Satu Tembakan"
+
+msgid "Preprocess"
+msgstr "Mempersiapkan"
+
+msgid "Explosiveness"
+msgstr "Daya ledak"
+
+msgid "Randomness"
+msgstr "Keacakan"
+
+msgid "Lifetime Randomness"
+msgstr "Keacakan Seumur Hidup"
+
+msgid "Fixed FPS"
+msgstr "FPS tetap"
+
+msgid "Fract Delta"
+msgstr "Fract Delta"
+
+msgid "Drawing"
+msgstr "Menggambar"
+
+msgid "Local Coords"
+msgstr "Koordinat Lokal"
+
+msgid "Draw Order"
+msgstr "Urutan Gambar"
+
+msgid "Emission Shape"
+msgstr "Bentuk Emisi"
+
+msgid "Sphere Radius"
+msgstr "Radius Bola"
+
+msgid "Rect Extents"
+msgstr "Luas Persegi"
+
+msgid "Points"
+msgstr "Titik"
+
+msgid "Normals"
+msgstr "Normal"
+
+msgid "Colors"
+msgstr "Warna"
+
+msgid "Particle Flags"
+msgstr "Bendera Partikel"
+
+msgid "Align Y"
+msgstr "Sejajarkan Y"
+
+msgid "Spread"
+msgstr "Menyebar"
+
+msgid "Initial Velocity"
+msgstr "Kecepatan Awal"
+
+msgid "Velocity Min"
+msgstr "Kecepatan Min"
+
+msgid "Velocity Max"
+msgstr "Kecepatan Maks"
+
+msgid "Angular Velocity"
+msgstr "Kecepatan Sudut"
+
+msgid "Velocity Curve"
+msgstr "Kurva Kecepatan"
+
+msgid "Orbit Velocity"
+msgstr "Kecepatan Orbit"
+
+msgid "Linear Accel"
+msgstr "Akselerasi Linier"
+
+msgid "Accel Min"
+msgstr "Aksel Min"
+
+msgid "Accel Max"
+msgstr "Aksel Maks"
+
+msgid "Accel Curve"
+msgstr "Kurva Akselerasi"
+
+msgid "Radial Accel"
+msgstr "Aksel Radial"
+
+msgid "Tangential Accel"
+msgstr "Aksel Tangensial"
+
+msgid "Damping"
+msgstr "Redaman"
+
+msgid "Damping Min"
+msgstr "Redaman Min"
+
+msgid "Damping Max"
+msgstr "Redaman Maks"
+
+msgid "Damping Curve"
+msgstr "Kurva Redaman"
+
+msgid "Angle"
+msgstr "Sudut"
+
+msgid "Angle Min"
+msgstr "Sudut Min"
+
+msgid "Angle Max"
+msgstr "Sudut Maks"
+
+msgid "Angle Curve"
+msgstr "Kurva Sudut"
+
+msgid "Scale Amount Min"
+msgstr "Jumlah Skala Min"
+
+msgid "Scale Amount Max"
+msgstr "Jumlah Skala Maks"
+
+msgid "Scale Amount Curve"
+msgstr "Kurva Jumlah Skala"
+
+msgid "Split Scale"
+msgstr "Skala Terpisah"
+
+msgid "Scale Curve X"
+msgstr "Kurva Skala X"
+
+msgid "Scale Curve Y"
+msgstr "Kurva Skala Y"
+
+msgid "Color Initial Ramp"
+msgstr "Ramp Awal Warna"
+
+msgid "Hue Variation"
+msgstr "Variasi Hue"
+
+msgid "Variation Min"
+msgstr "Variasi Min"
+
+msgid "Variation Max"
+msgstr "Variasi Maks"
+
+msgid "Variation Curve"
+msgstr "Kurva Variasi"
+
+msgid "Speed Min"
+msgstr "Kecepatan Min"
+
+msgid "Speed Max"
+msgstr "Kecepatan Maks"
+
+msgid "Speed Curve"
+msgstr "Kurva Kecepatan"
+
+msgid "Offset Min"
+msgstr "Offset Min"
+
+msgid "Offset Max"
+msgstr "Offset Max"
+
+msgid "Offset Curve"
+msgstr "Kurva Offset"
+
+msgid "Sub Emitter"
+msgstr "Sub Emitor"
+
+msgid "Process Material"
+msgstr "Bahan Proses"
+
+msgid "Interpolate"
+msgstr "Interpolasi"
+
+msgid "Base Size"
+msgstr "Ukuran Dasar"
+
+msgid "Visibility Rect"
+msgstr "Visibilitas Persegi"
+
+msgid "Trails"
+msgstr "Jalur"
+
+msgid "Sections"
+msgstr "Bagian"
+
+msgid "Section Subdivisions"
+msgstr "Subdivisi Bagian"
+
+msgid "Node A"
+msgstr "Node A"
+
+msgid "Node B"
+msgstr "Node B"
+
+msgid "Bias"
+msgstr "Bias"
+
+msgid "Disable Collision"
+msgstr "Nonaktifkan Tabrakan"
+
+msgid "Softness"
+msgstr "Kelembutan"
+
+msgid "Length"
+msgstr "Panjang"
+
+msgid "Initial Offset"
+msgstr "Offset Awal"
+
+msgid "Rest Length"
+msgstr "Lama Istirahat"
+
+msgid "Stiffness"
+msgstr "Kekakuan"
+
+msgid "Editor Only"
+msgstr "Hanya Editor"
+
+msgid "Energy"
+msgstr "Energi"
+
+msgid "Blend Mode"
+msgstr "Mode Campuran"
+
+msgid "Z Min"
+msgstr "Z Min"
+
+msgid "Z Max"
+msgstr "Z Max"
+
+msgid "Layer Min"
+msgstr "Lapisan Minimal"
+
+msgid "Layer Max"
+msgstr "Lapisan Maksimal"
+
+msgid "Item Cull Mask"
+msgstr "Item Cull Mask"
+
+msgid "Shadow"
+msgstr "Bayangan"
+
+msgid "Filter Smooth"
+msgstr "Filter Halus"
+
+msgid "Texture Scale"
+msgstr "Skala Tekstur"
+
+msgid "Closed"
+msgstr "Tertutup"
+
+msgid "Cull Mode"
+msgstr "Mode Cull"
+
+msgid "SDF Collision"
+msgstr "Tumbukan SDF"
+
+msgid "Occluder Light Mask"
+msgstr "Mask Cahaya Occluder"
+
+msgid "Width Curve"
+msgstr "Lebar Kurva"
+
+msgid "Default Color"
+msgstr "Warna Bawaan"
+
+msgid "Fill"
+msgstr "Isi"
+
+msgid "Gradient"
+msgstr "Gradasi"
+
+msgid "Texture Mode"
+msgstr "Mode Tekstur"
+
+msgid "Capping"
+msgstr "Pembatasan"
+
+msgid "Joint Mode"
+msgstr "Mode Joint"
+
+msgid "Begin Cap Mode"
+msgstr "Mulai Mode Cap"
+
+msgid "End Cap Mode"
+msgstr "Akhiri Mode Cap"
+
+msgid "Border"
+msgstr "Sisi"
+
+msgid "Sharp Limit"
+msgstr "Batas Tajam"
+
+msgid "Round Precision"
+msgstr "Presisi Bulat"
+
+msgid "Antialiased"
+msgstr "Antialiasi"
+
+msgid "Gizmo Extents"
+msgstr "Perluas Gizmo"
+
+msgid "Multimesh"
+msgstr "Multimesh"
+
+msgid "Pathfinding"
+msgstr "Menemukan Jalur"
+
+msgid "Path Desired Distance"
+msgstr "Jalur Jarak yang Diinginkan"
+
+msgid "Target Desired Distance"
+msgstr "Target Jarak yang Diinginkan"
+
+msgid "Path Max Distance"
+msgstr "Jarak Maksimum Jalur"
+
+msgid "Navigation Layers"
+msgstr "Lapisan Navigasi"
+
+msgid "Pathfinding Algorithm"
+msgstr "Algoritma Pencarian Jalur"
+
+msgid "Path Postprocessing"
+msgstr "Jalur Postprocessing"
+
+msgid "Path Metadata Flags"
+msgstr "Bendera Metadata Jalur"
+
+msgid "Avoidance"
+msgstr "Penghindaran"
+
+msgid "Avoidance Enabled"
+msgstr "Penghindaran Diaktifkan"
+
+msgid "Neighbor Distance"
+msgstr "Jarak Tetangga"
+
+msgid "Max Neighbors"
+msgstr "Tetangga Maks"
+
+msgid "Time Horizon"
+msgstr "Cakrawala Waktu"
+
+msgid "Max Speed"
+msgstr "Kecepatan Maks"
+
+msgid "Use Custom"
+msgstr "Gunakan Kustom"
+
+msgid "Path Custom Color"
+msgstr "Warna Kustom Jalur"
+
+msgid "Path Custom Point Size"
+msgstr "Ukuran Titik Kustom Jalur"
+
+msgid "Path Custom Line Width"
+msgstr "Lebar Garis Kustom Jalur"
+
+msgid "Bidirectional"
+msgstr "Dua arah"
+
+msgid "Start Position"
+msgstr "Posisi Awal"
+
+msgid "End Position"
+msgstr "Posisi Akhir"
+
+msgid "Enter Cost"
+msgstr "Biaya Masuk"
+
+msgid "Travel Cost"
+msgstr "Biaya Perjalanan"
+
+msgid "Estimate Radius"
+msgstr "Estimasi Radius"
+
+msgid "Navigation Polygon"
+msgstr "Poligon Navigasi"
+
+msgid "Skew"
+msgstr "Condong"
+
+msgid "Scroll"
+msgstr "Gulir"
+
+msgid "Base Offset"
+msgstr "Offset Basis"
+
+msgid "Base Scale"
+msgstr "Skala Dasar"
+
+msgid "Limit Begin"
+msgstr "Batas Awal"
+
+msgid "Limit End"
+msgstr "Batas Akhir"
+
+msgid "Ignore Camera Zoom"
+msgstr "Abaikan Zoom Kamera"
+
+msgid "Motion"
+msgstr "Gerakan"
+
+msgid "Mirroring"
+msgstr "Pencerminan"
+
+msgid "Curve"
+msgstr "Kurva"
+
+msgid "Progress"
+msgstr "Kemajuan"
+
+msgid "Progress Ratio"
+msgstr "Rasio Perkembangan"
+
+msgid "H Offset"
+msgstr "Offset H"
+
+msgid "V Offset"
+msgstr "Offset V"
+
+msgid "Rotates"
+msgstr "Berputar"
+
+msgid "Cubic Interp"
+msgstr "Interp Kubik"
+
+msgid "Lookahead"
+msgstr "Lihat ke depan"
+
+msgid "Bone 2D Nodepath"
+msgstr "Jalur Node Tulang 2D"
+
+msgid "Bone 2D Index"
+msgstr "Indeks Tulang 2D"
+
+msgid "Auto Configure Joint"
+msgstr "Konfigurasi Otomatis Sambungan"
+
+msgid "Simulate Physics"
+msgstr "Simulasi Fisika"
+
+msgid "Follow Bone When Simulating"
+msgstr "Ikuti Tulang Saat Simulasi"
+
+msgid "Physics Material Override"
+msgstr "Penggantian Material Fisika"
+
+msgid "Constant Linear Velocity"
+msgstr "Kecepatan Linear Konstan"
+
+msgid "Constant Angular Velocity"
+msgstr "Kecepatan Sudut Konstan"
+
+msgid "Sync to Physics"
+msgstr "Sinkron Dengan Fisika"
+
+msgid "Mass"
+msgstr "Massa"
+
+msgid "Inertia"
+msgstr "Inersia"
+
+msgid "Center of Mass Mode"
+msgstr "Pusat Mode Massa"
+
+msgid "Center of Mass"
+msgstr "Pusat Massa"
+
+msgid "Gravity Scale"
+msgstr "Skala Gravitasi"
+
+msgid "Custom Integrator"
+msgstr "Integrator Kustom"
+
+msgid "Continuous CD"
+msgstr "CD Berkelanjutan"
+
+msgid "Max Contacts Reported"
+msgstr "Kontak Maks Dilaporkan"
+
+msgid "Contact Monitor"
+msgstr "Monitor Kontak"
+
+msgid "Sleeping"
+msgstr "Tidur"
+
+msgid "Can Sleep"
+msgstr "Bisa Tidur"
+
+msgid "Lock Rotation"
+msgstr "Kunci Rotasi"
+
+msgid "Freeze"
+msgstr "Membeku"
+
+msgid "Freeze Mode"
+msgstr "Modus Beku"
+
+msgid "Linear"
+msgstr "Linier"
+
+msgid "Damp Mode"
+msgstr "Mode Lembab"
+
+msgid "Damp"
+msgstr "Lembab"
+
+msgid "Angular"
+msgstr "Sudut"
+
+msgid "Constant Forces"
+msgstr "Kekuatan Konstan"
+
+msgid "Torque"
+msgstr "Torsi"
+
+msgid "Motion Mode"
+msgstr "Mode Gerak"
+
+msgid "Up Direction"
+msgstr "Arah Atas"
+
+msgid "Slide on Ceiling"
+msgstr "Geser di Langit-langit"
+
+msgid "Wall Min Slide Angle"
+msgstr "Sudut Geser Min Dinding"
+
+msgid "Floor"
+msgstr "Lantai"
+
+msgid "Stop on Slope"
+msgstr "Berhenti di Lereng"
+
+msgid "Constant Speed"
+msgstr "Kecepatan Konstan"
+
+msgid "Block on Wall"
+msgstr "Blok di Dinding"
+
+msgid "Max Angle"
+msgstr "Sudut Maks"
+
+msgid "Snap Length"
+msgstr "Panjang Snap"
+
+msgid "Moving Platform"
+msgstr "Platform Bergerak"
+
+msgid "On Leave"
+msgstr "Ditinggal"
+
+msgid "Floor Layers"
+msgstr "Lapisan Lantai"
+
+msgid "Wall Layers"
+msgstr "Lapisan Dinding"
+
+msgid "Safe Margin"
+msgstr "Batas Aman"
+
+msgid "UV"
+msgstr "UV"
+
+msgid "Vertex Colors"
+msgstr "Warna Verteks"
+
+msgid "Polygons"
+msgstr "Poligon"
+
+msgid "Internal Vertex Count"
+msgstr "Hitungan Verteks Internal"
+
+msgid "Exclude Parent"
+msgstr "Kecualikan Induk"
+
+msgid "Target Position"
+msgstr "Posisi Target"
+
+msgid "Hit From Inside"
+msgstr "Pukul Dari Dalam"
+
+msgid "Collide With"
+msgstr "Menabrak Dengan"
+
+msgid "Areas"
+msgstr "Area"
+
+msgid "Bodies"
+msgstr "Tubuh"
+
+msgid "Remote Path"
+msgstr "Path Remot"
+
+msgid "Use Global Coordinates"
+msgstr "Gunakan Koordinat Global"
+
+msgid "Update"
+msgstr "Perbarui"
+
+msgid "Margin"
+msgstr "Batas"
+
+msgid "Max Results"
+msgstr "Hasil Maks"
+
+msgid "Auto Calculate Length and Angle"
+msgstr "Menghitung Panjang dan Sudut Secara Otomatis"
+
+msgid "Bone Angle"
+msgstr "Sudut Tulang"
+
+msgid "Editor Settings"
+msgstr "Pengaturan Editor"
+
+msgid "Show Bone Gizmo"
+msgstr "Tampilkan Gizmo Tulang"
+
+msgid "Rest"
+msgstr "Istirahat"
+
+msgid "Modification Stack"
+msgstr "Tumpukan Modifikasi"
+
+msgid "Hframes"
+msgstr "Hframe"
+
+msgid "Vframes"
+msgstr "Vframe"
+
+msgid "Frame Coords"
+msgstr "Koordinat Frame"
+
+msgid "Region"
+msgstr "Wilayah"
+
+msgid "Filter Clip Enabled"
+msgstr "Klip Filter Diaktifkan"
+
+msgid "Tile Set"
+msgstr "Set Tile"
+
+msgid "Cell Quadrant Size"
+msgstr "Ukuran Kuadran Sel"
+
+msgid "Collision Animatable"
+msgstr "Tabrakan yang Dapat Dianimasikan"
+
+msgid "Collision Visibility Mode"
+msgstr "Mode Visibilitas Tabrakan"
+
+msgid "Navigation Visibility Mode"
+msgstr "Mode Visibilitas Navigasi"
+
+msgid "Layers"
+msgstr "Lapisan"
+
+msgid "Texture Normal"
+msgstr "Tekstur Normal"
+
+msgid "Texture Pressed"
+msgstr "Tekstur Ditekan"
+
+msgid "Bitmask"
+msgstr "Masker Bit"
+
+msgid "Shape Centered"
+msgstr "Bentuk Terpusat"
+
+msgid "Shape Visible"
+msgstr "Bentuk Terlihat"
+
+msgid "Passby Press"
+msgstr "Dilewati Press"
+
+msgid "Visibility Mode"
+msgstr "Mode Visibilitas"
+
+msgid "Enabling"
+msgstr "Mengaktifkan"
+
+msgid "Node Path"
+msgstr "Lokasi Node"
+
+msgid "Wind"
+msgstr "Angin"
+
+msgid "Force Magnitude"
+msgstr "Besaran Gaya"
+
+msgid "Attenuation Factor"
+msgstr "Faktor Atenuasi"
+
+msgid "Source Path"
+msgstr "Path Sumber"
+
+msgid "Reverb Bus"
+msgstr "Bus Reverb"
+
+msgid "Uniformity"
+msgstr "Keseragaman"
+
+msgid "Attenuation Model"
+msgstr "Model Atenuasi"
+
+msgid "Unit Size"
+msgstr "Ukuran Unit"
+
+msgid "Max dB"
+msgstr "dB Maks"
+
+msgid "Emission Angle"
+msgstr "Sudut Emisi"
+
+msgid "Degrees"
+msgstr "Derajat"
+
+msgid "Filter Attenuation dB"
+msgstr "Filter Atenuasi dB"
+
+msgid "Attenuation Filter"
+msgstr "Filter Atenuasi"
+
+msgid "Cutoff Hz"
+msgstr "Batas Hz"
+
+msgid "dB"
+msgstr "dB"
+
+msgid "Doppler"
+msgstr "Doppler"
+
+msgid "Tracking"
+msgstr "Pelacakan"
+
+msgid "Bone Name"
+msgstr "Nama Tulang"
+
+msgid "Bone Idx"
+msgstr "Idx Tulang"
+
+msgid "Override Pose"
+msgstr "Menimpa Pose"
+
+msgid "Keep Aspect"
+msgstr "Jaga Aspek"
+
+msgid "Cull Mask"
+msgstr "Cull Mask"
+
+msgid "Attributes"
+msgstr "Atribut"
+
+msgid "Doppler Tracking"
+msgstr "Pelacakan Doppler"
+
+msgid "Projection"
+msgstr "Proyeksi"
+
+msgid "Frustum Offset"
+msgstr "Offset Frustum"
+
+msgid "Near"
+msgstr "Dekat"
+
+msgid "Far"
+msgstr "Jauh"
+
+msgid "Ray Pickable"
+msgstr "Ray yang Dapat Diambil"
+
+msgid "Capture on Drag"
+msgstr "Tangkap saat Seret"
+
+msgid "Box Extents"
+msgstr "Perlebar Kotak"
+
+msgid "Ring Axis"
+msgstr "Sumbu Cincin"
+
+msgid "Ring Height"
+msgstr "Tinggi Cincin"
+
+msgid "Ring Radius"
+msgstr "Radius Cincin"
+
+msgid "Ring Inner Radius"
+msgstr "Radius Bagian Dalam Cincin"
+
+msgid "Rotate Y"
+msgstr "Putar Y"
+
+msgid "Disable Z"
+msgstr "Nonaktifkan Z"
+
+msgid "Flatness"
+msgstr "Kerataan"
+
+msgid "Scale Curve Z"
+msgstr "Kurva Skala Z"
+
+msgid "Albedo"
+msgstr "Albedo"
+
+msgid "Normal"
+msgstr "Normal"
+
+msgid "Orm"
+msgstr "Orm"
+
+msgid "Emission"
+msgstr "Emisi"
+
+msgid "Parameters"
+msgstr "Parameter"
+
+msgid "Emission Energy"
+msgstr "Energi Emisi"
+
+msgid "Modulate"
+msgstr "Memodulasi"
+
+msgid "Albedo Mix"
+msgstr "Campuran Albedo"
+
+msgid "Normal Fade"
+msgstr "Pudar Normal"
+
+msgid "Vertical Fade"
+msgstr "Pudar Vertikal"
+
+msgid "Upper Fade"
+msgstr "Pudar Atas"
+
+msgid "Lower Fade"
+msgstr "Pudar Bawah"
+
+msgid "Distance Fade"
+msgstr "Jarak Pudar"
+
+msgid "Begin"
+msgstr "Mulai"
+
+msgid "Visibility AABB"
+msgstr "Visibilitas AABB"
+
+msgid "Transform Align"
+msgstr "Ubah Sejajarkan"
+
+msgid "Draw Passes"
+msgstr "Menggambar Pas"
+
+msgid "Passes"
+msgstr "Pass"
+
+msgid "Thickness"
+msgstr "Ketebalan"
+
+msgid "Bake Mask"
+msgstr "Mask Bake"
+
+msgid "Update Mode"
+msgstr "Mode Pembaruan"
+
+msgid "Follow Camera Enabled"
+msgstr "Ikuti Kamera Diaktifkan"
+
+msgid "Directionality"
+msgstr "Arah"
+
+msgid "Skeleton Path"
+msgstr "Path Kerangka"
+
+msgid "Solver Priority"
+msgstr "Prioritas Penyelesaian"
+
+msgid "Exclude Nodes From Collision"
+msgstr "Mengecualikan Node Dari Tabrakan"
+
+msgid "Params"
+msgstr "Param"
+
+msgid "Impulse Clamp"
+msgstr "Penjepit Impuls"
+
+msgid "Angular Limit"
+msgstr "Batas Sudut"
+
+msgid "Upper"
+msgstr "Atas"
+
+msgid "Lower"
+msgstr "Bawah"
+
+msgid "Relaxation"
+msgstr "Relaksasi"
+
+msgid "Motor"
+msgstr "Motor"
+
+msgid "Target Velocity"
+msgstr "Kecepatan Target"
+
+msgid "Max Impulse"
+msgstr "Impuls Maks"
+
+msgid "Linear Limit"
+msgstr "Batas Linear"
+
+msgid "Upper Distance"
+msgstr "Jarak Atas"
+
+msgid "Lower Distance"
+msgstr "Jarak Bawah"
+
+msgid "Restitution"
+msgstr "Restitusi"
+
+msgid "Linear Motion"
+msgstr "Gerakan Linier"
+
+msgid "Linear Ortho"
+msgstr "Ortogonal Linier"
+
+msgid "Upper Angle"
+msgstr "Sudut Atas"
+
+msgid "Lower Angle"
+msgstr "Sudut Bawah"
+
+msgid "Angular Motion"
+msgstr "Gerakan Sudut"
+
+msgid "Angular Ortho"
+msgstr "Orto sudut"
+
+msgid "Swing Span"
+msgstr "Rentang Ayunan"
+
+msgid "Twist Span"
+msgstr "Rentang Putar"
+
+msgid "X"
+msgstr "X"
+
+msgid "Y"
+msgstr "Y"
+
+msgid "Z"
+msgstr "Z"
+
+msgid "Linear Motor"
+msgstr "Motor Linear"
+
+msgid "Force Limit"
+msgstr "Batas Kekuatan"
+
+msgid "Linear Spring"
+msgstr "Pegas Linear"
+
+msgid "Equilibrium Point"
+msgstr "Titik Kesetimbangan"
+
+msgid "ERP"
+msgstr "ERP"
+
+msgid "Angular Motor"
+msgstr "Motor Sudut"
+
+msgid "Angular Spring"
+msgstr "Pegas Sudut"
+
+msgid "Pixel Size"
+msgstr "Ukuran Piksel"
+
+msgid "Flags"
+msgstr "Bendera"
+
+msgid "Billboard"
+msgstr "Baliho"
+
+msgid "Shaded"
+msgstr "Berbayang"
+
+msgid "Double Sided"
+msgstr "Dua Sisi"
+
+msgid "No Depth Test"
+msgstr "Tidak ada Uji Kedalaman"
+
+msgid "Fixed Size"
+msgstr "Ukuran Tetap"
+
+msgid "Alpha Cut"
+msgstr "Pemotongan Alfa"
+
+msgid "Alpha Scissor Threshold"
+msgstr "Ambang Batas Gunting Alpha"
+
+msgid "Alpha Hash Scale"
+msgstr "Skala Hash Alpha"
+
+msgid "Alpha Antialiasing Mode"
+msgstr "Mode Antialiasasi Alpha"
+
+msgid "Alpha Antialiasing Edge"
+msgstr "Tepi Antialiasi Alpha"
+
+msgid "Texture Filter"
+msgstr "Filter Tekstur"
+
+msgid "Render Priority"
+msgstr "Prioritas Render"
+
+msgid "Outline Render Priority"
+msgstr "Prioritas Render Garis Besar"
+
+msgid "Text"
+msgstr "Teks"
+
+msgid "Outline Modulate"
+msgstr "Modulasi Garis Besar"
+
+msgid "Font"
+msgstr "Font"
+
+msgid "Horizontal Alignment"
+msgstr "Penjajaran Horisontal"
+
+msgid "Vertical Alignment"
+msgstr "Penjajaran Vertikal"
+
+msgid "Uppercase"
+msgstr "Huruf Besar"
+
+msgid "Autowrap Mode"
+msgstr "Mode Bungkus Otomatis"
+
+msgid "BiDi"
+msgstr "BiDi"
+
+msgid "Text Direction"
+msgstr "Arah Teks"
+
+msgid "Structured Text BiDi Override"
+msgstr "Penggantian BiDi Teks Terstruktur"
+
+msgid "Structured Text BiDi Override Options"
+msgstr "Opsi Penggantian BiDi Teks Terstruktur"
+
+msgid "Intensity Lumens"
+msgstr "Intensitas Lumens"
+
+msgid "Intensity Lux"
+msgstr "Intensitas Lux"
+
+msgid "Temperature"
+msgstr "Temperatur"
+
+msgid "Indirect Energy"
+msgstr "Energi Tidak Langsung"
+
+msgid "Volumetric Fog Energy"
+msgstr "Energi Kabut Volumetrik"
+
+msgid "Projector"
+msgstr "Proyektor"
+
+msgid "Angular Distance"
+msgstr "Jarak Sudut"
+
+msgid "Negative"
+msgstr "Negatif"
+
+msgid "Specular"
+msgstr "Spekular"
+
+msgid "Bake Mode"
+msgstr "Mode Bake"
+
+msgid "Normal Bias"
+msgstr "Bias Normal"
+
+msgid "Reverse Cull Face"
+msgstr "Wajah Cull Terbalik"
+
+msgid "Transmittance Bias"
+msgstr "Bias Transmisi"
+
+msgid "Opacity"
+msgstr "Kegelapan"
+
+msgid "Blur"
+msgstr "Blur"
+
+msgid "Directional Shadow"
+msgstr "Bayangan Arah"
+
+msgid "Split 1"
+msgstr "Split 1"
+
+msgid "Split 2"
+msgstr "Split 2"
+
+msgid "Split 3"
+msgstr "Split 3"
+
+msgid "Blend Splits"
+msgstr "Perpaduan Split"
+
+msgid "Fade Start"
+msgstr "Mulai Pudar"
+
+msgid "Pancake Size"
+msgstr "Ukuran Pancake"
+
+msgid "Sky Mode"
+msgstr "Mode Langit"
+
+msgid "Omni"
+msgstr "Omni"
+
+msgid "Shadow Mode"
+msgstr "Mode Bayangan"
+
+msgid "Spot"
+msgstr "Sorotan"
+
+msgid "Angle Attenuation"
+msgstr "Atenuasi Sudut"
+
+msgid "Light Texture"
+msgstr "Tekstur Ringan"
+
+msgid "Quality"
+msgstr "Kualitas"
+
+msgid "Bounces"
+msgstr "Pantulan"
+
+msgid "Directional"
+msgstr "Terarah"
+
+msgid "Interior"
+msgstr "Interior"
+
+msgid "Use Denoiser"
+msgstr "Gunakan Denoiser"
+
+msgid "Max Texture Size"
+msgstr "Ukuran Tekstur Maks"
+
+msgid "Custom Sky"
+msgstr "Langit Kustom"
+
+msgid "Custom Color"
+msgstr "Warna Kustom"
+
+msgid "Custom Energy"
+msgstr "Energi Kustom"
+
+msgid "Camera Attributes"
+msgstr "Atribut Kamera"
+
+msgid "Gen Probes"
+msgstr "Probe Gen"
+
+msgid "Subdiv"
+msgstr "Subdiv"
+
+msgid "Light Data"
+msgstr "Data Cahaya"
+
+msgid "Surface Material Override"
+msgstr "Penggantian Material Permukaan"
+
+msgid "Agent Height Offset"
+msgstr "Offset Tinggi Agen"
+
+msgid "Ignore Y"
+msgstr "Abaikan Y"
+
+msgid "Navigation Mesh"
+msgstr "Mesh Navigasi"
+
+msgid "Quaternion"
+msgstr "Quaternion"
+
+msgid "Basis"
+msgstr "Dasar"
+
+msgid "Rotation Edit Mode"
+msgstr "Mode Edit Rotasi"
+
+msgid "Rotation Order"
+msgstr "Urutan Rotasi"
+
+msgid "Top Level"
+msgstr "Tingkat Atas"
+
+msgid "Visibility"
+msgstr "Visibilitas"
+
+msgid "Visible"
+msgstr "Terlihat"
+
+msgid "Visibility Parent"
+msgstr "Induk Visibilitas"
+
+msgid "Bake"
+msgstr "Bake"
+
+msgid "Rotation Mode"
+msgstr "Mode Rotasi"
+
+msgid "Tilt Enabled"
+msgstr "Kemiringan Diaktifkan"
+
+msgid "Axis Lock"
+msgstr "Kunci Sumbu"
+
+msgid "Linear X"
+msgstr "Linear X"
+
+msgid "Linear Y"
+msgstr "Linear Y"
+
+msgid "Linear Z"
+msgstr "Linear Z"
+
+msgid "Angular X"
+msgstr "Sudut X"
+
+msgid "Angular Y"
+msgstr "Sudut Y"
+
+msgid "Angular Z"
+msgstr "Sudut Z"
+
+msgid "Joint Constraints"
+msgstr "Kendala Bersama"
+
+msgid "Angular Limit Enabled"
+msgstr "Batas Sudut Diaktifkan"
+
+msgid "Angular Limit Upper"
+msgstr "Batas Sudut Atas"
+
+msgid "Angular Limit Lower"
+msgstr "Batas Sudut Bawah"
+
+msgid "Angular Limit Bias"
+msgstr "Bias Batas Sudut"
+
+msgid "Angular Limit Softness"
+msgstr "Kelembutan Batas Sudut"
+
+msgid "Angular Limit Relaxation"
+msgstr "Relaksasi Batas Sudut"
+
+msgid "Linear Limit Upper"
+msgstr "Batas Linear Atas"
+
+msgid "Linear Limit Lower"
+msgstr "Batas Linier Bawah"
+
+msgid "Linear Limit Softness"
+msgstr "Kelembutan Batas Linear"
+
+msgid "Linear Limit Restitution"
+msgstr "Restitusi Batas Linear"
+
+msgid "Linear Limit Damping"
+msgstr "Redaman Batas Linear"
+
+msgid "Angular Limit Restitution"
+msgstr "Restitusi Batas Sudut"
+
+msgid "Angular Limit Damping"
+msgstr "Redaman Batas Sudut"
+
+msgid "Linear Limit Enabled"
+msgstr "Batas Linear Diaktifkan"
+
+msgid "Linear Spring Enabled"
+msgstr "Pegas Linier Diaktifkan"
+
+msgid "Linear Spring Stiffness"
+msgstr "Kekakuan Pegas Linear"
+
+msgid "Linear Spring Damping"
+msgstr "Redaman Pegas Linear"
+
+msgid "Linear Equilibrium Point"
+msgstr "Titik Kesetimbangan Linear"
+
+msgid "Linear Restitution"
+msgstr "Restitusi Linear"
+
+msgid "Linear Damping"
+msgstr "Redaman Linear"
+
+msgid "Angular Restitution"
+msgstr "Restitusi Sudut"
+
+msgid "Angular Damping"
+msgstr "Redaman Sudut"
+
+msgid "Angular Spring Enabled"
+msgstr "Pegas Sudut Diaktifkan"
+
+msgid "Angular Spring Stiffness"
+msgstr "Kekakuan Pegas Sudut"
+
+msgid "Angular Spring Damping"
+msgstr "Redaman Pegas Sudut"
+
+msgid "Angular Equilibrium Point"
+msgstr "Titik Kesetimbangan Sudut"
+
+msgid "Body Offset"
+msgstr "Offset Tubuh"
+
+msgid "Friction"
+msgstr "Gesekan"
+
+msgid "Bounce"
+msgstr "Pantulan"
+
+msgid "Linear Damp Mode"
+msgstr "Mode Redam Linear"
+
+msgid "Angular Damp Mode"
+msgstr "Mode Redam Sudut"
+
+msgid "Linear Velocity"
+msgstr "Kecepatan Linear"
+
+msgid "Debug Shape"
+msgstr "Bentuk Debug"
+
+msgid "Origin Offset"
+msgstr "Offset Asal"
+
+msgid "Box Projection"
+msgstr "Proyeksi Kotak"
+
+msgid "Enable Shadows"
+msgstr "Aktifkan Bayangan"
+
+msgid "Mesh LOD Threshold"
+msgstr "Ambang Batas LOD Mesh"
+
+msgid "Ambient"
+msgstr "Sekitar"
+
+msgid "Color Energy"
+msgstr "Energi Warna"
+
+msgid "Bones"
+msgstr "Tulang"
+
+msgid "Motion Scale"
+msgstr "Skala Gerak"
+
+msgid "Show Rest Only"
+msgstr "Tampilkan Istirahat Saja"
+
+msgid "Animate Physical Bones"
+msgstr "Menganimasikan Tulang Fisik"
+
+msgid "Root Bone"
+msgstr "Tulang Akar"
+
+msgid "Tip Bone"
+msgstr "Tulang Ujung"
+
+msgid "Interpolation"
+msgstr "Interpolasi"
+
+msgid "Target"
+msgstr "Sasaran"
+
+msgid "Override Tip Basis"
+msgstr "Ganti Dasar Tip"
+
+msgid "Use Magnet"
+msgstr "Gunakan Magnet"
+
+msgid "Magnet"
+msgstr "Magnet"
+
+msgid "Target Node"
+msgstr "Target Node"
+
+msgid "Min Distance"
+msgstr "Jarak Min"
+
+msgid "Max Iterations"
+msgstr "Iterasi Maks"
+
+msgid "Pinned Points"
+msgstr "Poin yang Disematkan"
+
+msgid "Attachments"
+msgstr "Lampiran"
+
+msgid "Point Index"
+msgstr "Indeks Titik"
+
+msgid "Spatial Attachment Path"
+msgstr "Path Lampiran Spasial"
+
+msgid "Parent Collision Ignore"
+msgstr "Abaikan Tabrakan Induk"
+
+msgid "Simulation Precision"
+msgstr "Presisi Simulasi"
+
+msgid "Total Mass"
+msgstr "Massa total"
+
+msgid "Linear Stiffness"
+msgstr "Kekakuan linier"
+
+msgid "Pressure Coefficient"
+msgstr "Koefisien Tekanan"
+
+msgid "Damping Coefficient"
+msgstr "Koefisien Redam"
+
+msgid "Drag Coefficient"
+msgstr "Koefisien Hambat"
+
+msgid "Spring Length"
+msgstr "Panjang Pegas"
+
+msgid "Per-Wheel Motion"
+msgstr "Gerak Per-Roda"
+
+msgid "Engine Force"
+msgstr "Kekuatan Mesin"
+
+msgid "Brake"
+msgstr "Rem"
+
+msgid "Steering"
+msgstr "Kemudi"
+
+msgid "VehicleBody3D Motion"
+msgstr "Gerakan VehicleBody3D"
+
+msgid "Use as Traction"
+msgstr "Gunakan Sebagai Traksi"
+
+msgid "Use as Steering"
+msgstr "Gunakan Sebagai Kemudi"
+
+msgid "Wheel"
+msgstr "Roda"
+
+msgid "Roll Influence"
+msgstr "Pengaruh Gulung"
+
+msgid "Friction Slip"
+msgstr "Slip Gesekan"
+
+msgid "Suspension"
+msgstr "Suspensi"
+
+msgid "Travel"
+msgstr "Menjelajah"
+
+msgid "Max Force"
+msgstr "Kekuatan Maks"
+
+msgid "Track Physics Step"
+msgstr "Lacak Langkah Fisik"
+
+msgid "AABB"
+msgstr "AABB"
+
+msgid "Sorting"
+msgstr "Penyortiran"
+
+msgid "Use AABB Center"
+msgstr "Gunakan Pusat AABB"
+
+msgid "Geometry"
+msgstr "Geometri"
+
+msgid "Material Override"
+msgstr "Penimpaan Material"
+
+msgid "Material Overlay"
+msgstr "Hamparan Overlay"
+
+msgid "Transparency"
+msgstr "Transparansi"
+
+msgid "Cast Shadow"
+msgstr "Keluarkan Bayangan"
+
+msgid "Extra Cull Margin"
+msgstr "Margin Cull Ekstra"
+
+msgid "Custom AABB"
+msgstr "AABB Kustom"
+
+msgid "LOD Bias"
+msgstr "Bias LOD"
+
+msgid "Ignore Occlusion Culling"
+msgstr "Abaikan Pemusnahan Oklusi"
+
+msgid "Global Illumination"
+msgstr "Penerangan Global"
+
+msgid "Lightmap Scale"
+msgstr "Skala Peta Cahaya"
+
+msgid "Visibility Range"
+msgstr "Rentang Visibilitas"
+
+msgid "Begin Margin"
+msgstr "Mulai Margin"
+
+msgid "End"
+msgstr "Akhir"
+
+msgid "End Margin"
+msgstr "Margin Akhir"
+
+msgid "Fade Mode"
+msgstr "Mode Pudar"
+
+msgid "Dynamic Range"
+msgstr "Jarak Dinamis"
+
+msgid "Propagation"
+msgstr "Propagasi"
+
+msgid "Use Two Bounces"
+msgstr "Gunakan Dua Pantulan"
+
+msgid "Tracker"
+msgstr "Pelacak"
+
+msgid "Pose"
+msgstr "Pose"
+
+msgid "World Scale"
+msgstr "Skala Dunia"
+
+msgid "Play Mode"
+msgstr "Mode Putar"
+
+msgid "Sync"
+msgstr "Sinkron"
+
+msgid "Mix Mode"
+msgstr "Mode Campuran"
+
+msgid "Fadein Time"
+msgstr "Waktu Fadein"
+
+msgid "Fadeout Time"
+msgstr "Waktu Fadeout"
+
+msgid "Auto Restart"
+msgstr "Mulai Ulang Otomatis"
+
+msgid "Autorestart"
+msgstr "Mulai Ulang Otomatis"
+
+msgid "Delay"
+msgstr "Penundaan"
+
+msgid "Random Delay"
+msgstr "Penundaan Acak"
+
+msgid "Xfade Time"
+msgstr "Waktu Xfade"
+
+msgid "Xfade Curve"
+msgstr "Kurva Xfade"
+
+msgid "Allow Transition to Self"
+msgstr "Izinkan Transisi ke Diri Sendiri"
+
+msgid "Input Count"
+msgstr "Jumlah Masukan"
+
+msgid "Request"
+msgstr "Permintaan"
+
+msgid "Active"
+msgstr "Aktif"
+
+msgid "Add Amount"
+msgstr "Tambahkan Jumlah"
+
+msgid "Blend Amount"
+msgstr "Jumlah Campuran"
+
+msgid "Seek Request"
+msgstr "Mencari Permintaan"
+
+msgid "Current Index"
+msgstr "Indeks Saat Ini"
+
+msgid "Current State"
+msgstr "Kondisi saat ini"
+
+msgid "Transition Request"
+msgstr "Permintaan Transisi"
+
+msgid "Reset"
+msgstr "Reset"
+
+msgid "Switch"
+msgstr "Beralih"
+
+msgid "Switch Mode"
+msgstr "Beralih Mode"
+
+msgid "Advance"
+msgstr "Lanjutan"
+
+msgid "Condition"
+msgstr "Kondisi"
+
+msgid "Expression"
+msgstr "Ekspresi"
+
+msgid "Libraries"
+msgstr "Library"
+
+msgid "Root Node"
+msgstr "Node Akar"
+
+msgid "Current Animation"
+msgstr "Animasi Saat Ini"
+
+msgid "Reset on Save"
+msgstr "Atur ulang pada Simpan"
+
+msgid "Playback Options"
+msgstr "Opsi Pemutaran"
+
+msgid "Process Mode"
+msgstr "Mode Proses"
+
+msgid "Default Blend Time"
+msgstr "Waktu Campuran Default"
+
+msgid "Method Call Mode"
+msgstr "Mode Panggilan Metode"
+
+msgid "Audio Max Polyphony"
+msgstr "Polifoni Maks Audio"
+
+msgid "Movie Quit on Finish"
+msgstr "Film Berhenti saat Selesai"
+
+msgid "Tree Root"
+msgstr "Akar Pohon"
+
+msgid "Anim Player"
+msgstr "Pemain Anim"
+
+msgid "Advance Expression Base Node"
+msgstr "Node Basis Ekspresi Lanjutan"
+
+msgid "Root Motion"
+msgstr "Gerakan Root"
+
+msgid "Track"
+msgstr "Trek"
+
+msgid "Animation Path"
+msgstr "Path Animasi"
+
+msgid "Zero Y"
+msgstr "Nol Y"
+
+msgid "Mix Target"
+msgstr "Target Campuran"
+
+msgid "Ratio"
+msgstr "Rasio"
+
+msgid "Stretch Mode"
+msgstr "Mode Peregangan"
+
+msgid "Alignment"
+msgstr "Penjajaran"
+
+msgid "Button Pressed"
+msgstr "Tombol Ditekan"
+
+msgid "Action Mode"
+msgstr "Mode Aksi"
+
+msgid "Keep Pressed Outside"
+msgstr "Terus Ditekan Di Luar"
+
+msgid "Button Group"
+msgstr "Tombol Grup"
+
+msgid "Shortcut Feedback"
+msgstr "Umpan Balik Pintasan"
+
+msgid "Shortcut in Tooltip"
+msgstr "Pintasan di Tooltip"
+
+msgid "Button Shortcut Feedback Highlight Time"
+msgstr "Tombol Pintasan Umpan Balik Sorot Waktu"
+
+msgid "Text Behavior"
+msgstr "Perilaku Teks"
+
+msgid "Text Overrun Behavior"
+msgstr "Perilaku Overrun Teks"
+
+msgid "Clip Text"
+msgstr "Teks Klip"
+
+msgid "Icon Behavior"
+msgstr "Perilaku Ikon"
+
+msgid "Icon Alignment"
+msgstr "Penjajaran Ikon"
+
+msgid "Expand Icon"
+msgstr "Perluas Ikon"
+
+msgid "Use Top Left"
+msgstr "Gunakan Kiri Atas"
+
+msgid "Symbol Lookup on Click"
+msgstr "Pencarian Simbol pada Klik"
+
+msgid "Line Folding"
+msgstr "Pelipatan Garis"
+
+msgid "Line Length Guidelines"
+msgstr "Pedoman Panjang Garis"
+
+msgid "Draw Breakpoints Gutter"
+msgstr "Gambar Selokan Breakpoints"
+
+msgid "Draw Bookmarks"
+msgstr "Gambar Bookmark"
+
+msgid "Draw Executing Lines"
+msgstr "Gambar Garis Eksekusi"
+
+msgid "Draw Line Numbers"
+msgstr "Menggambar Nomor Garis"
+
+msgid "Zero Pad Line Numbers"
+msgstr "Nomor Baris Pad Nol"
+
+msgid "Draw Fold Gutter"
+msgstr "Gambar Selokan Lipat"
+
+msgid "Delimiters"
+msgstr "Pembatasan"
+
+msgid "Comments"
+msgstr "Komentar"
+
+msgid "Code Completion"
+msgstr "Penyelesaian Kode"
+
+msgid "Prefixes"
+msgstr "Awalan"
+
+msgid "Indentation"
+msgstr "Indentasi"
+
+msgid "Use Spaces"
+msgstr "Gunakan Spasi"
+
+msgid "Automatic"
+msgstr "Otomatis"
+
+msgid "Automatic Prefixes"
+msgstr "Awalan Otomatis"
+
+msgid "Auto Brace Completion"
+msgstr "Penyelesaian Penyangga Otomatis"
+
+msgid "Highlight Matching"
+msgstr "Pencocokan Sorotan"
+
+msgid "Pairs"
+msgstr "Pasangan"
+
+msgid "Edit Alpha"
+msgstr "Edit Alpha"
+
+msgid "Color Mode"
+msgstr "Mode Warna"
+
+msgid "Deferred Mode"
+msgstr "Mode yang Ditangguhkan"
+
+msgid "Picker Shape"
+msgstr "Bentuk Pemetik"
+
+msgid "Can Add Swatches"
+msgstr "Dapat Menambahkan Swatch"
+
+msgid "Customization"
+msgstr "Kustomisasi"
+
+msgid "Sampler Visible"
+msgstr "Sampler Terlihat"
+
+msgid "Color Modes Visible"
+msgstr "Mode Warna Terlihat"
+
+msgid "Sliders Visible"
+msgstr "Slider Terlihat"
+
+msgid "Hex Visible"
+msgstr "Hex Terlihat"
+
+msgid "Presets Visible"
+msgstr "Preset Terlihat"
+
+msgid "Theme Overrides"
+msgstr "Penggantian Tema"
+
+msgid "Constants"
+msgstr "Konstanta"
+
+msgid "Font Sizes"
+msgstr "Ukuran Font"
+
+msgid "Styles"
+msgstr "Gaya"
+
+msgid "Clip Contents"
+msgstr "Konten Klip"
+
+msgid "Custom Minimum Size"
+msgstr "Ukuran Minimum Kustom"
+
+msgid "Layout Direction"
+msgstr "Arah Tata Letak"
+
+msgid "Layout Mode"
+msgstr "Mode Tata Letak"
+
+msgid "Anchors Preset"
+msgstr "Prasetel jangkar"
+
+msgid "Anchor Points"
+msgstr "Titik Jangkar"
+
+msgid "Anchor Offsets"
+msgstr "Offset Jangkar"
+
+msgid "Grow Direction"
+msgstr "Arah Tumbuh"
+
+msgid "Pivot Offset"
+msgstr "Offset Pivot"
+
+msgid "Container Sizing"
+msgstr "Ukuran Kontainer"
+
+msgid "Stretch Ratio"
+msgstr "Rasio Peregangan"
+
+msgid "Localization"
+msgstr "Lokalisasi"
+
+msgid "Auto Translate"
+msgstr "Terjemahan Otomatis"
+
+msgid "Localize Numeral System"
+msgstr "Melokalkan Sistem Bilangan"
+
+msgid "Tooltip"
+msgstr "Tooltip"
+
+msgid "Focus"
+msgstr "Fokus"
+
+msgid "Neighbor Left"
+msgstr "Tetangga Kiri"
+
+msgid "Neighbor Top"
+msgstr "Tetangga Atas"
+
+msgid "Neighbor Right"
+msgstr "Tetangga Kanan"
+
+msgid "Neighbor Bottom"
+msgstr "Tetangga Bawah"
+
+msgid "Next"
+msgstr "Berikutnya"
+
+msgid "Previous"
+msgstr "Sebelum"
+
+msgid "Mouse"
+msgstr "Mouse"
+
+msgid "Force Pass Scroll Events"
+msgstr "Paksa Gulir Lewati Event"
+
+msgid "Default Cursor Shape"
+msgstr "Bentuk Kursor Default"
+
+msgid "Shortcut Context"
+msgstr "Konteks Pintasan"
+
+msgid "Type Variation"
+msgstr "Variasi Jenis"
+
+msgid "OK Button Text"
+msgstr "Teks Tombol OK"
+
+msgid "Dialog"
+msgstr "Dialog"
+
+msgid "Hide on OK"
+msgstr "Sembunyikan di OK"
+
+msgid "Close on Escape"
+msgstr "Tutup pada Escape"
+
+msgid "Autowrap"
+msgstr "Bungkus otomatis"
+
+msgid "Cancel Button Text"
+msgstr "Teks Tombol Batal"
+
+msgid "Mode Overrides Title"
+msgstr "Mode Menimpa Judul"
+
+msgid "Root Subfolder"
+msgstr "Subfolder Akar"
+
+msgid "Right Disconnects"
+msgstr "Pemutusan Kanan"
+
+msgid "Scroll Offset"
+msgstr "Gulir Offset"
+
+msgid "Snap Distance"
+msgstr "Jarak Snap"
+
+msgid "Use Snap"
+msgstr "Gunakan Snap"
+
+msgid "Panning Scheme"
+msgstr "Skema Panning"
+
+msgid "Connection Lines"
+msgstr "Jalur Koneksi"
+
+msgid "Curvature"
+msgstr "Kelengkungan"
+
+msgid "Zoom Min"
+msgstr "Zoom Min"
+
+msgid "Zoom Max"
+msgstr "Zoom Maks"
+
+msgid "Zoom Step"
+msgstr "Langkah Zoom"
+
+msgid "Show Zoom Label"
+msgstr "Tampilkan Label Zoom"
+
+msgid "UI"
+msgstr "UI"
+
+msgid "Arrange Nodes Button Hidden"
+msgstr "Atur Tombol Node Tersembunyi"
+
+msgid "Title"
+msgstr "Judul"
+
+msgid "Position Offset"
+msgstr "Offset Posisi"
+
+msgid "Show Close"
+msgstr "Tampilkan Tutup"
+
+msgid "Draggable"
+msgstr "Dapat diseret"
+
+msgid "Selectable"
+msgstr "Dapat dipilih"
+
+msgid "Selected"
+msgstr "Dipilih"
+
+msgid "Comment"
+msgstr "Komentar"
+
+msgid "Overlay"
+msgstr "Overlay"
+
+msgid "Select Mode"
+msgstr "Mode Seleksi"
+
+msgid "Allow Reselect"
+msgstr "Izinkan Pilih Ulang"
+
+msgid "Allow RMB Select"
+msgstr "Izinkan Pilih RMB"
+
+msgid "Max Text Lines"
+msgstr "Baris Teks Maks"
+
+msgid "Auto Height"
+msgstr "Tinggi Otomatis"
+
+msgid "Items"
+msgstr "Item"
+
+msgid "Max Columns"
+msgstr "Kolom Maks"
+
+msgid "Same Column Width"
+msgstr "Lebar Kolom yang Sama"
+
+msgid "Fixed Column Width"
+msgstr "Lebar Kolom Tetap"
+
+msgid "Icon Mode"
+msgstr "Mode Ikon"
+
+msgid "Icon Scale"
+msgstr "Skala Ikon"
+
+msgid "Fixed Icon Size"
+msgstr "Ukuran Ikon Tetap"
+
+msgid "Label Settings"
+msgstr "Pengaturan Label"
+
+msgid "Displayed Text"
+msgstr "Teks yang Ditampilkan"
+
+msgid "Lines Skipped"
+msgstr "Baris yang Dilewati"
+
+msgid "Max Lines Visible"
+msgstr "Garis Maks Terlihat"
+
+msgid "Visible Characters"
+msgstr "Karakter yang Terlihat"
+
+msgid "Visible Characters Behavior"
+msgstr "Perilaku Karakter yang Terlihat"
+
+msgid "Visible Ratio"
+msgstr "Rasio Terlihat"
+
+msgid "Placeholder Text"
+msgstr "Teks Placeholder"
+
+msgid "Max Length"
+msgstr "Panjang Maks"
+
+msgid "Secret"
+msgstr "Rahasia"
+
+msgid "Secret Character"
+msgstr "Karakter Rahasia"
+
+msgid "Expand to Text Length"
+msgstr "Perluas ke Panjang Teks"
+
+msgid "Context Menu Enabled"
+msgstr "Menu Konteks Diaktifkan"
+
+msgid "Virtual Keyboard Enabled"
+msgstr "Keyboard Virtual Diaktifkan"
+
+msgid "Virtual Keyboard Type"
+msgstr "Jenis Keyboard Virtual"
+
+msgid "Clear Button Enabled"
+msgstr "Tombol Hapus Diaktifkan"
+
+msgid "Shortcut Keys Enabled"
+msgstr "Tombol Pintasan Diaktifkan"
+
+msgid "Middle Mouse Paste Enabled"
+msgstr "Tempel Mouse Tengah Diaktifkan"
+
+msgid "Selecting Enabled"
+msgstr "Memilih Diaktifkan"
+
+msgid "Deselect on Focus Loss Enabled"
+msgstr "Batalkan Pilihan pada Kehilangan Fokus Diaktifkan"
+
+msgid "Right Icon"
+msgstr "Ikon Kanan"
+
+msgid "Draw Control Chars"
+msgstr "Gambar Karakter Kontrol"
+
+msgid "Select All on Focus"
+msgstr "Pilih Semua pada Fokus"
+
+msgid "Blink"
+msgstr "Berkedip"
+
+msgid "Blink Interval"
+msgstr "Interval Kedipan"
+
+msgid "Column"
+msgstr "Kolom"
+
+msgid "Force Displayed"
+msgstr "Paksa Ditampilkan"
+
+msgid "Mid Grapheme"
+msgstr "Skema Pertengahan"
+
+msgid "Underline"
+msgstr "Garis Bawah"
+
+msgid "URI"
+msgstr "URI"
+
+msgid "Start Index"
+msgstr "Mulai Indeks"
+
+msgid "Switch on Hover"
+msgstr "Beralih pada Hover"
+
+msgid "Prefer Global Menu"
+msgstr "Prefer Menu Global"
+
+msgid "Draw Center"
+msgstr "Pusat Gambar"
+
+msgid "Region Rect"
+msgstr "Wilayah Persegi"
+
+msgid "Patch Margin"
+msgstr "Margin Patch"
+
+msgid "Axis Stretch"
+msgstr "Peregangan Sumbu"
+
+msgid "Fit to Longest Item"
+msgstr "Cocok untuk Item Terpanjang"
+
+msgid "Hide on Item Selection"
+msgstr "Sembunyikan pada Pilihan Item"
+
+msgid "Hide on Checkable Item Selection"
+msgstr "Sembunyikan pada Pemilihan Item yang Dapat Diperiksa"
+
+msgid "Hide on State Item Selection"
+msgstr "Sembunyikan pada Pemilihan Item Status"
+
+msgid "Submenu Popup Delay"
+msgstr "Penundaan Popup Submenu"
+
+msgid "Allow Search"
+msgstr "Izinkan Penelusuran"
+
+msgid "Fill Mode"
+msgstr "Mode Isi"
+
+msgid "Show Percentage"
+msgstr "Tampilkan Persentase"
+
+msgid "Min Value"
+msgstr "Nilai Min"
+
+msgid "Max Value"
+msgstr "Nilai Maks"
+
+msgid "Step"
+msgstr "Langkah"
+
+msgid "Page"
+msgstr "Halaman"
+
+msgid "Exp Edit"
+msgstr "Edit Exp"
+
+msgid "Rounded"
+msgstr "Bulat"
+
+msgid "Allow Greater"
+msgstr "Izinkan Lebih Besar"
+
+msgid "Allow Lesser"
+msgstr "Izinkan Lebih Kecil"
+
+msgid "Border Color"
+msgstr "Warna Perbatasan"
+
+msgid "Border Width"
+msgstr "Lebar Perbatasan"
+
+msgid "Elapsed Time"
+msgstr "Waktu yang Berlalu"
+
+msgid "Outline"
+msgstr "Garis besar"
+
+msgid "Env"
+msgstr "Env"
+
+msgid "Glyph Index"
+msgstr "Indeks Glyph"
+
+msgid "Glyph Count"
+msgstr "Jumlah Glyph"
+
+msgid "Glyph Flags"
+msgstr "Bendera Glyph"
+
+msgid "Relative Index"
+msgstr "Indeks Relatif"
+
+msgid "BBCode Enabled"
+msgstr "BBCode Diaktifkan"
+
+msgid "Fit Content"
+msgstr "Konten yang Sesuai"
+
+msgid "Scroll Active"
+msgstr "Gulir Aktif"
+
+msgid "Scroll Following"
+msgstr "Gulir Mengikuti"
+
+msgid "Tab Size"
+msgstr "Ukuran Tab"
+
+msgid "Markup"
+msgstr "Markup"
+
+msgid "Custom Effects"
+msgstr "Efek Kustom"
+
+msgid "Meta Underlined"
+msgstr "Meta Digarisbawahi"
+
+msgid "Hint Underlined"
+msgstr "Petunjuk Digarisbawahi"
+
+msgid "Threaded"
+msgstr "Threaded"
+
+msgid "Progress Bar Delay"
+msgstr "Penundaan Bar Kemajuan"
+
+msgid "Text Selection"
+msgstr "Pemilihan Teks"
+
+msgid "Selection Enabled"
+msgstr "Pilihan Diaktifkan"
+
+msgid "Custom Step"
+msgstr "Langkah Kustom"
+
+msgid "Follow Focus"
+msgstr "Ikuti Fokus"
+
+msgid "Horizontal Scroll Mode"
+msgstr "Mode Gulir Horizontal"
+
+msgid "Vertical Scroll Mode"
+msgstr "Mode Gulir Vertikal"
+
+msgid "Scroll Deadzone"
+msgstr "Gulir Deadzone"
+
+msgid "Default Scroll Deadzone"
+msgstr "Gulir Default Deadzone"
+
+msgid "Scrollable"
+msgstr "Dapat digulir"
+
+msgid "Tick Count"
+msgstr "Jumlah Tick"
+
+msgid "Ticks on Borders"
+msgstr "Tick pada Perbatasan"
+
+msgid "Update on Text Changed"
+msgstr "Pembaruan pada Teks yang Diubah"
+
+msgid "Custom Arrow Step"
+msgstr "Langkah Panah Kustom"
+
+msgid "Split Offset"
+msgstr "Split Offset"
+
+msgid "Collapsed"
+msgstr "Runtuh"
+
+msgid "Dragger Visibility"
+msgstr "Visibilitas Penyeret"
+
+msgid "Stretch Shrink"
+msgstr "Peregangan Menyusut"
+
+msgid "Current Tab"
+msgstr "Tab Saat Ini"
+
+msgid "Tab Alignment"
+msgstr "Penjajaran Tab"
+
+msgid "Clip Tabs"
+msgstr "Klip Tab"
+
+msgid "Tab Close Display Policy"
+msgstr "Kebijakan Tampilan Tutup Tab"
+
+msgid "Max Tab Width"
+msgstr "Lebar Tab Maks"
+
+msgid "Scrolling Enabled"
+msgstr "Pengguliran Diaktifkan"
+
+msgid "Drag to Rearrange Enabled"
+msgstr "Seret untuk Mengatur Ulang Diaktifkan"
+
+msgid "Tabs Rearrange Group"
+msgstr "Grup Susun Ulang Tab"
+
+msgid "Scroll to Selected"
+msgstr "Gulir ke Dipilih"
+
+msgid "Select With RMB"
+msgstr "Pilih Dengan RMB"
+
+msgid "Tabs"
+msgstr "Tab"
+
+msgid "Tabs Visible"
+msgstr "Tab Terlihat"
+
+msgid "All Tabs in Front"
+msgstr "Semua Tab di Depan"
+
+msgid "Use Hidden Tabs for Min Size"
+msgstr "Gunakan Tab Tersembunyi untuk Ukuran Min"
+
+msgid "Drag and Drop Selection Enabled"
+msgstr "Pilihan Seret dan Jatuhkan Diaktifkan"
+
+msgid "Wrap Mode"
+msgstr "Mode Bungkus"
+
+msgid "Syntax Highlighter"
+msgstr "Penyorot Sintaks"
+
+msgid "Smooth"
+msgstr "Mulus"
+
+msgid "Past End of File"
+msgstr "Melewati Akhir File"
+
+msgid "Fit Content Height"
+msgstr "Ketinggian Konten yang Sesuai"
+
+msgid "Draw"
+msgstr "Menggambar"
+
+msgid "Move on Right Click"
+msgstr "Pindah ke Klik Kanan"
+
+msgid "Multiple"
+msgstr "Beberapa"
+
+msgid "Text Edit Idle Detect (sec)"
+msgstr "Edit Teks Deteksi Idle (detik)"
+
+msgid "Text Edit Undo Stack Max Size"
+msgstr "Edit Teks Batalkan Ukuran Maks Tumpukan"
+
+msgid "Hover"
+msgstr "Melayang"
+
+msgid "Focused"
+msgstr "Terfokus"
+
+msgid "Click Mask"
+msgstr "Klik Mask"
+
+msgid "Ignore Texture Size"
+msgstr "Abaikan Ukuran Tekstur"
+
+msgid "Nine Patch Stretch"
+msgstr "Sembilan Patch Peregangan"
+
+msgid "Stretch Margin"
+msgstr "Peregangan Margin"
+
+msgid "Under"
+msgstr "Di bawah"
+
+msgid "Over"
+msgstr "Atas"
+
+msgid "Progress Offset"
+msgstr "Kemajuan Offset"
+
+msgid "Tint"
+msgstr "Warna"
+
+msgid "Radial Fill"
+msgstr "Isi Radial"
+
+msgid "Initial Angle"
+msgstr "Sudut Awal"
+
+msgid "Fill Degrees"
+msgstr "Isi Derajat"
+
+msgid "Center Offset"
+msgstr "Pusat Offset"
+
+msgid "Expand Mode"
+msgstr "Mode Perluas"
+
+msgid "Custom Minimum Height"
+msgstr "Tinggi Minimum Kustom"
+
+msgid "Column Titles Visible"
+msgstr "Judul Kolom Terlihat"
+
+msgid "Hide Folding"
+msgstr "Sembunyikan Lipat"
+
+msgid "Enable Recursive Folding"
+msgstr "Aktifkan Pelipatan Rekursif"
+
+msgid "Hide Root"
+msgstr "Sembunyikan Akar"
+
+msgid "Drop Mode Flags"
+msgstr "Bendera Mode Jatuhkan"
+
+msgid "Scroll Horizontal Enabled"
+msgstr "Gulir Horizontal Diaktifkan"
+
+msgid "Scroll Vertical Enabled"
+msgstr "Gulir Vertikal Diaktifkan"
+
+msgid "Audio Track"
+msgstr "Trek Audio"
+
+msgid "Paused"
+msgstr "Dijeda"
+
+msgid "Expand"
+msgstr "Memperluas"
+
+msgid "Buffering Msec"
+msgstr "Buffering Mdetik"
+
+msgid "Self Modulate"
+msgstr "Modulasi Sendiri"
+
+msgid "Show Behind Parent"
+msgstr "Tunjukkan di Belakang Induk"
+
+msgid "Clip Children"
+msgstr "Klip Anak"
+
+msgid "Light Mask"
+msgstr "Mask Cahaya"
+
+msgid "Visibility Layer"
+msgstr "Lapisan Visibilitas"
+
+msgid "Ordering"
+msgstr "Pemesanan"
+
+msgid "Z Index"
+msgstr "Indeks Z"
+
+msgid "Z as Relative"
+msgstr "Z Sebagai Relatif"
+
+msgid "Y Sort Enabled"
+msgstr "Urutan Y Diaktifkan"
+
+msgid "Repeat"
+msgstr "Ulang"
+
+msgid "Use Parent Material"
+msgstr "Gunakan Bahan Induk"
+
+msgid "Diffuse"
+msgstr "Membaur"
+
+msgid "NormalMap"
+msgstr "NormalMap"
+
+msgid "Shininess"
+msgstr "Kemilau"
+
+msgid "Follow Viewport"
+msgstr "Ikuti Viewport"
+
+msgid "Download File"
+msgstr "Unduh File"
+
+msgid "Download Chunk Size"
+msgstr "Unduh Ukuran Potongan"
+
+msgid "Accept Gzip"
+msgstr "Terima Gzip"
+
+msgid "Body Size Limit"
+msgstr "Batas Ukuran Tubuh"
+
+msgid "Max Redirects"
+msgstr "Pengalihan Maks"
+
+msgid "Timeout"
+msgstr "Timeout"
+
+msgid "Transfer Mode"
+msgstr "Mode Transfer"
+
+msgid "Transfer Channel"
+msgstr "Saluran Transfer"
+
+msgid "Node Name Num Separator"
+msgstr "Nama Node Pemisah Angka"
+
+msgid "Node Name Casing"
+msgstr "Casing Nama Node"
+
+msgid "Editor Description"
+msgstr "Deskripsi Editor"
+
+msgid "Time Left"
+msgstr "Waktu tersisa"
+
+msgid "Debug Collisions Hint"
+msgstr "Petunjuk Tabrakan Debug"
+
+msgid "Debug Paths Hint"
+msgstr "Debug Petunjuk Path"
+
+msgid "Debug Navigation Hint"
+msgstr "Debug Petunjuk Navigasi"
+
+msgid "Multiplayer Poll"
+msgstr "Polling Multipemain"
+
+msgid "Shapes"
+msgstr "Bentuk"
+
+msgid "Shape Color"
+msgstr "Warna Bentuk"
+
+msgid "Contact Color"
+msgstr "Warna Kontak"
+
+msgid "Geometry Color"
+msgstr "Warna Geometri"
+
+msgid "Geometry Width"
+msgstr "Lebar Geometri"
+
+msgid "Max Contacts Displayed"
+msgstr "Kontak Maks Ditampilkan"
+
+msgid "Draw 2D Outlines"
+msgstr "Gambar Garis Besar 2D"
+
+msgid "Anti Aliasing"
+msgstr "Anti Alias"
+
+msgid "MSAA 2D"
+msgstr "MSAA 2D"
+
+msgid "MSAA 3D"
+msgstr "MSAA 3D"
+
+msgid "Viewport"
+msgstr "Viewport"
+
+msgid "Transparent Background"
+msgstr "Latar Belakang Transparan"
+
+msgid "Screen Space AA"
+msgstr "Ruang Layar AA"
+
+msgid "Use TAA"
+msgstr "Gunakan TAA"
+
+msgid "Use Debanding"
+msgstr "Gunakan Debanding"
+
+msgid "Use Occlusion Culling"
+msgstr "Gunakan Pemusnahan Oklusi"
+
+msgid "Mesh LOD"
+msgstr "LOD Mesh"
+
+msgid "LOD Change"
+msgstr "Perubahan LOD"
+
+msgid "Threshold Pixels"
+msgstr "Ambang Piksel"
+
+msgid "Snap 2D Transforms to Pixel"
+msgstr "Jepret Perubahan 2D ke Piksel"
+
+msgid "Snap 2D Vertices to Pixel"
+msgstr "Jepret Simpul 2D ke Piksel"
+
+msgid "VRS"
+msgstr "VRS"
+
+msgid "Lights and Shadows"
+msgstr "Cahaya dan Bayangan"
+
+msgid "Positional Shadow"
+msgstr "Bayangan Posisi"
+
+msgid "Atlas Size"
+msgstr "Ukuran Atlas"
+
+msgid "Atlas 16 Bits"
+msgstr "Atlas 16 Bit"
+
+msgid "Atlas Quadrant 0 Subdiv"
+msgstr "Subdivisi Kuadran 0 Atlas"
+
+msgid "Atlas Quadrant 1 Subdiv"
+msgstr "Subdivisi Kuadran 1 Atlas"
+
+msgid "Atlas Quadrant 2 Subdiv"
+msgstr "Subdivisi Kuadran 2 Atlas"
+
+msgid "Atlas Quadrant 3 Subdiv"
+msgstr "Subdivisi Kuadran 3 Atlas"
+
+msgid "SDF"
+msgstr "SDF"
+
+msgid "Oversize"
+msgstr "Kebesaran"
+
+msgid "Default Environment"
+msgstr "Lingkungan Default"
+
+msgid "Enable Object Picking"
+msgstr "Aktifkan Pengambilan Objek"
+
+msgid "Wait Time"
+msgstr "Waktu Tunggu"
+
+msgid "Autostart"
+msgstr "Mulai Otomatis"
+
+msgid "Viewport Path"
+msgstr "Path Viewport"
+
+msgid "Disable 3D"
+msgstr "Nonaktifkan 3D"
+
+msgid "Use XR"
+msgstr "Gunakan XR"
+
+msgid "Own World 3D"
+msgstr "Dunia Sendiri 3D"
+
+msgid "World 3D"
+msgstr "Dunia 3D"
+
+msgid "Transparent BG"
+msgstr "BG transparan"
+
+msgid "Handle Input Locally"
+msgstr "Tangani Input Secara Lokal"
+
+msgid "Debug Draw"
+msgstr "Debug Gambar"
+
+msgid "Scaling 3D"
+msgstr "Penskalaan 3D"
+
+msgid "Scaling 3D Mode"
+msgstr "Penskalaan Mode 3D"
+
+msgid "Scaling 3D Scale"
+msgstr "Penskalaan Skala 3D"
+
+msgid "Texture Mipmap Bias"
+msgstr "Bias Mipmap Tekstur"
+
+msgid "FSR Sharpness"
+msgstr "Ketajaman FSR"
+
+msgid "Variable Rate Shading"
+msgstr "Shading Tingkat Variabel"
+
+msgid "Canvas Items"
+msgstr "Item Kanvas"
+
+msgid "Audio Listener"
+msgstr "Listener Audio"
+
+msgid "Enable 2D"
+msgstr "Aktifkan 2D"
+
+msgid "Enable 3D"
+msgstr "Aktifkan 3D"
+
+msgid "Object Picking"
+msgstr "Pengambilan Objek"
+
+msgid "Object Picking Sort"
+msgstr "Sortir Pengambilan Objek"
+
+msgid "Disable Input"
+msgstr "Nonaktifkan Input"
+
+msgid "Positional Shadow Atlas"
+msgstr "Atlas Bayangan Posisi"
+
+msgid "16 Bits"
+msgstr "16 Bit"
+
+msgid "Quad 0"
+msgstr "Kuadran 0"
+
+msgid "Quad 1"
+msgstr "Kuadran 1"
+
+msgid "Quad 2"
+msgstr "Kuadran 2"
+
+msgid "Quad 3"
+msgstr "Kuadran 3"
+
+msgid "Canvas Cull Mask"
+msgstr "Kanvas Cull Mask"
+
+msgid "Tooltip Delay (sec)"
+msgstr "Penundaan Tooltip (dtk)"
+
+msgid "Size 2D Override"
+msgstr "Penggantian Ukuran 2D"
+
+msgid "Size 2D Override Stretch"
+msgstr "Ukuran Peregangan Timpa 2D"
+
+msgid "Render Target"
+msgstr "Target Render"
+
+msgid "Clear Mode"
+msgstr "Mode Hapus"
+
+msgid "Current Screen"
+msgstr "Layar Saat Ini"
+
+msgid "Mouse Passthrough Polygon"
+msgstr "Mouse Melewati Poligon"
+
+msgid "Wrap Controls"
+msgstr "Kontrol Bungkus"
+
+msgid "Transient"
+msgstr "Sementara"
+
+msgid "Exclusive"
+msgstr "Eksklusif"
+
+msgid "Unresizable"
+msgstr "Tidak dapat diubah ukurannya"
+
+msgid "Unfocusable"
+msgstr "Tidak bisa fokus"
+
+msgid "Popup Window"
+msgstr "Jendela Popup"
+
+msgid "Mouse Passthrough"
+msgstr "Mouse Melewati"
+
+msgid "Min Size"
+msgstr "Ukuran Min"
+
+msgid "Max Size"
+msgstr "Ukuran Maksimal"
+
+msgid "Content Scale"
+msgstr "Skala Konten"
+
+msgid "Swap Cancel OK"
+msgstr "Tukar Batal OK"
+
+msgid "Layer Names"
+msgstr "Nama Lapisan"
+
+msgid "2D Render"
+msgstr "Render 2D"
+
+msgid "3D Render"
+msgstr "Render 3D"
+
+msgid "2D Physics"
+msgstr "Fisik 2D"
+
+msgid "2D Navigation"
+msgstr "Navigasi 2D"
+
+msgid "3D Physics"
+msgstr "Fisik 3D"
+
+msgid "3D Navigation"
+msgstr "Navigasi 3D"
+
+msgid "Polyphony"
+msgstr "Polifoni"
+
+msgid "Format"
+msgstr "Format"
+
+msgid "Mix Rate"
+msgstr "Tingkat Campuran"
+
+msgid "Stereo"
+msgstr "Stereo"
+
+msgid "Profile"
+msgstr "Profil"
+
+msgid "Bonemap"
+msgstr "Peta tulang"
+
+msgid "Exposure"
+msgstr "Paparan"
+
+msgid "Sensitivity"
+msgstr "Sensitivitas"
+
+msgid "Multiplier"
+msgstr "Pengganda"
+
+msgid "Auto Exposure"
+msgstr "Eksposur Otomatis"
+
+msgid "DOF Blur"
+msgstr "Keburaman DOF"
+
+msgid "Far Enabled"
+msgstr "Jauh Diaktifkan"
+
+msgid "Far Distance"
+msgstr "Jarak Jauh"
+
+msgid "Far Transition"
+msgstr "Transisi Jauh"
+
+msgid "Near Enabled"
+msgstr "Hampir Diaktifkan"
+
+msgid "Near Distance"
+msgstr "Jarak Dekat"
+
+msgid "Near Transition"
+msgstr "Menjelang Transisi"
+
+msgid "Min Sensitivity"
+msgstr "Sensitivitas Min"
+
+msgid "Max Sensitivity"
+msgstr "Sensitivitas Maks"
+
+msgid "Frustum"
+msgstr "Frustum"
+
+msgid "Focus Distance"
+msgstr "Jarak Fokus"
+
+msgid "Focal Length"
+msgstr "Panjang Focal"
+
+msgid "Aperture"
+msgstr "Apertur"
+
+msgid "Shutter Speed"
+msgstr "Kecepatan Shutter"
+
+msgid "Min Exposure Value"
+msgstr "Nilai Eksposur Min"
+
+msgid "Max Exposure Value"
+msgstr "Nilai Eksposur Maks"
+
+msgid "Light Mode"
+msgstr "Mode Cahaya"
+
+msgid "Particles Animation"
+msgstr "Animasi Partikel"
+
+msgid "Particles Anim H Frames"
+msgstr "Partikel Animasi Frame H"
+
+msgid "Particles Anim V Frames"
+msgstr "Partikel Animasi Frame V"
+
+msgid "Particles Anim Loop"
+msgstr "Partikel Anim Loop"
+
+msgid "Segments"
+msgstr "Segmen"
+
+msgid "Backface Collision"
+msgstr "Tabrakan Backface"
+
+msgid "Bake Resolution"
+msgstr "Bake Resolusi"
+
+msgid "Bake Interval"
+msgstr "Bake Interval"
+
+msgid "Up Vector"
+msgstr "Vektor Atas"
+
+msgid "Panel"
+msgstr "Panel"
+
+msgid "Font Color"
+msgstr "Warna Font"
+
+msgid "Font Pressed Color"
+msgstr "Warna Font yang Ditekan"
+
+msgid "Font Hover Color"
+msgstr "Warna Hover Font"
+
+msgid "Font Focus Color"
+msgstr "Warna Fokus Font"
+
+msgid "Font Hover Pressed Color"
+msgstr "Warna Hover Font yang Ditekan"
+
+msgid "Font Disabled Color"
+msgstr "Warna Font Nonaktif"
+
+msgid "Font Outline Color"
+msgstr "Warna Outline Font"
+
+msgid "Icon Normal Color"
+msgstr "Ikon Warna Normal"
+
+msgid "Icon Pressed Color"
+msgstr "Ikon Warna yang Ditekan"
+
+msgid "Icon Hover Color"
+msgstr "Ikon Hover Warna"
+
+msgid "Icon Hover Pressed Color"
+msgstr "Warna Hover Icon yang Ditekan"
+
+msgid "Icon Focus Color"
+msgstr "Warna Fokus Ikon"
+
+msgid "Icon Disabled Color"
+msgstr "Ikon Warna yang Dinonaktifkan"
+
+msgid "H Separation"
+msgstr "Pemisahan H"
+
+msgid "Underline Spacing"
+msgstr "Menggarisbawahi Spasi"
+
+msgid "Normal Mirrored"
+msgstr "Cermin Normal"
+
+msgid "Hover Mirrored"
+msgstr "Cermin Hover"
+
+msgid "Pressed Mirrored"
+msgstr "Ditekan Cermin"
+
+msgid "Disabled Mirrored"
+msgstr "Dinonaktifkan Cermin"
+
+msgid "Arrow"
+msgstr "Panah"
+
+msgid "Arrow Margin"
+msgstr "Margin Panah"
+
+msgid "Modulate Arrow"
+msgstr "Modulasi Panah"
+
+msgid "Hover Pressed"
+msgstr "Hover Ditekan"
+
+msgid "Checked Disabled"
+msgstr "Dicentang Dinonaktifkan"
+
+msgid "Unchecked"
+msgstr "Tidak Dicentang"
+
+msgid "Unchecked Disabled"
+msgstr "Tidak Dicentang Dinonaktifkan"
+
+msgid "Radio Checked"
+msgstr "Radio Dicentang"
+
+msgid "Radio Checked Disabled"
+msgstr "Radio Dicentang Dinonaktifkan"
+
+msgid "Radio Unchecked"
+msgstr "Radio Tidak Dicentang"
+
+msgid "Radio Unchecked Disabled"
+msgstr "Radio Tidak Dicentang Dinonaktifkan"
+
+msgid "Check V Offset"
+msgstr "Periksa Offset V"
+
+msgid "Checked Mirrored"
+msgstr "Centang Dicerminkan"
+
+msgid "Checked Disabled Mirrored"
+msgstr "Centang Dinonaktifkan Dicerminkan"
+
+msgid "Unchecked Mirrored"
+msgstr "Tidak dicentang dicerminkan"
+
+msgid "Unchecked Disabled Mirrored"
+msgstr "Tidak dicentang Dinonaktifkan Cermin"
+
+msgid "Font Shadow Color"
+msgstr "Warna Bayangan Font"
+
+msgid "Shadow Offset X"
+msgstr "Bayangan Offset X"
+
+msgid "Shadow Offset Y"
+msgstr "Bayangan Offset Y"
+
+msgid "Shadow Outline Size"
+msgstr "Ukuran Garis Besar Bayangan"
+
+msgid "Font Selected Color"
+msgstr "Warna Font yang Dipilih"
+
+msgid "Font Uneditable Color"
+msgstr "Warna Font yang Tidak Dapat Diedit"
+
+msgid "Font Placeholder Color"
+msgstr "Warna Placeholder Font"
+
+msgid "Clear Button Color"
+msgstr "Hapus Warna Tombol"
+
+msgid "Clear Button Color Pressed"
+msgstr "Hapus Warna Tombol yang Ditekan"
+
+msgid "Minimum Character Width"
+msgstr "Lebar Karakter Minimum"
+
+msgid "Caret Width"
+msgstr "Lebar Caret"
+
+msgid "Clear"
+msgstr "Bersihkan"
+
+msgid "Background"
+msgstr "Latar Belakang"
+
+msgid "Tab"
+msgstr "Tab"
+
+msgid "Space"
+msgstr "Spasi"
+
+msgid "Font Readonly Color"
+msgstr "Warna Hanya Baca Font"
+
+msgid "Breakpoint"
+msgstr "Breakpoint"
+
+msgid "Bookmark"
+msgstr "Bookmark"
+
+msgid "Executing Line"
+msgstr "Jalur Eksekusi"
+
+msgid "Can Fold"
+msgstr "Bisa Dilipat"
+
+msgid "Folded"
+msgstr "Dilipat"
+
+msgid "Folded EOL Icon"
+msgstr "Ikon EOL Terlipat"
+
+msgid "Completion Lines"
+msgstr "Garis Penyelesaian"
+
+msgid "Completion Max Width"
+msgstr "Lebar Maks Penyelesaian"
+
+msgid "Completion Scroll Width"
+msgstr "Lebar Gulir Penyelesaian"
+
+msgid "Scroll Focus"
+msgstr "Fokus Gulir"
+
+msgid "Grabber"
+msgstr "Perampas"
+
+msgid "Grabber Highlight"
+msgstr "Sorotan Perampas"
+
+msgid "Grabber Pressed"
+msgstr "Perampas Ditekan"
+
+msgid "Increment"
+msgstr "Kenaikan"
+
+msgid "Increment Highlight"
+msgstr "Sorotan Kenaikan"
+
+msgid "Increment Pressed"
+msgstr "Kenaikan Ditekan"
+
+msgid "Decrement"
+msgstr "Penurunan"
+
+msgid "Decrement Highlight"
+msgstr "Sorotan Penurunan"
+
+msgid "Decrement Pressed"
+msgstr "Penurunan Ditekan"
+
+msgid "Slider"
+msgstr "Penggeser"
+
+msgid "Grabber Area"
+msgstr "Area Perampas"
+
+msgid "Grabber Area Highlight"
+msgstr "Sorotan Area Perampas"
+
+msgid "Grabber Disabled"
+msgstr "Perampas Dinonaktifkan"
+
+msgid "Tick"
+msgstr "Centang"
+
+msgid "Grabber Offset"
+msgstr "Offset Perampas"
+
+msgid "Updown"
+msgstr "Naik turun"
+
+msgid "Embedded Border"
+msgstr "Perbatasan Tertanam"
+
+msgid "Title Font"
+msgstr "Font Judul"
+
+msgid "Title Font Size"
+msgstr "Ukuran Font Judul"
+
+msgid "Title Color"
+msgstr "Warna Judul"
+
+msgid "Title Outline Modulate"
+msgstr "Garis Besar Judul Memodulasi"
+
+msgid "Title Outline Size"
+msgstr "Ukuran Garis Besar Judul"
+
+msgid "Title Height"
+msgstr "Tinggi Judul"
+
+msgid "Resize Margin"
+msgstr "Ubah Ukuran Margin"
+
+msgid "Close"
+msgstr "Tutup"
+
+msgid "Close Pressed"
+msgstr "Tutup Ditekan"
+
+msgid "Close H Offset"
+msgstr "Tutup H Offset"
+
+msgid "Close V Offset"
+msgstr "Tutup V Offset"
+
+msgid "Buttons Separation"
+msgstr "Pemisahan Tombol"
+
+msgid "Parent Folder"
+msgstr "Folder Induk"
+
+msgid "Back Folder"
+msgstr "Folder Belakang"
+
+msgid "Forward Folder"
+msgstr "Teruskan Folder"
+
+msgid "Reload"
+msgstr "Muat Ulang"
+
+msgid "Toggle Hidden"
+msgstr "Alihkan Tersembunyi"
+
+msgid "Folder"
+msgstr "Folder"
+
+msgid "File"
+msgstr "File"
+
+msgid "Folder Icon Color"
+msgstr "Warna Ikon Folder"
+
+msgid "File Icon Color"
+msgstr "Warna Ikon File"
+
+msgid "File Disabled Color"
+msgstr "Warna File Dinonaktifkan"
+
+msgid "Panel Disabled"
+msgstr "Panel Dinonaktifkan"
+
+msgid "Separator"
+msgstr "Pemisah"
+
+msgid "Labeled Separator Left"
+msgstr "Pemisah Berlabel Kiri"
+
+msgid "Labeled Separator Right"
+msgstr "Pemisah Berlabel Kanan"
+
+msgid "Submenu"
+msgstr "Submenu"
+
+msgid "Submenu Mirrored"
+msgstr "Submenu Dicerminkan"
+
+msgid "Font Separator"
+msgstr "Pemisah Font"
+
+msgid "Font Separator Size"
+msgstr "Ukuran Pemisah Font"
+
+msgid "Font Accelerator Color"
+msgstr "Warna Akselerator Font"
+
+msgid "Font Separator Color"
+msgstr "Warna Pemisah Font"
+
+msgid "Font Separator Outline Color"
+msgstr "Warna Garis Besar Pemisah Font"
+
+msgid "V Separation"
+msgstr "Pemisahan V"
+
+msgid "Separator Outline Size"
+msgstr "Ukuran Garis Besar Pemisah"
+
+msgid "Item Start Padding"
+msgstr "Padding Awal Item"
+
+msgid "Item End Padding"
+msgstr "Padding Akhir Item"
+
+msgid "Selected Frame"
+msgstr "Frame yang Dipilih"
+
+msgid "Comment Focus"
+msgstr "Fokus Komentar"
+
+msgid "Slot"
+msgstr "Slot"
+
+msgid "Resizer"
+msgstr "Pengubah Ukuran"
+
+msgid "Close Color"
+msgstr "Tutup Warna"
+
+msgid "Resizer Color"
+msgstr "Warna Pengubah Ukuran"
+
+msgid "Title Offset"
+msgstr "Offset Judul"
+
+msgid "Title H Offset"
+msgstr "Judul H Offset"
+
+msgid "Close Offset"
+msgstr "Tutup Offset"
+
+msgid "Port Offset"
+msgstr "Port Offset"
+
+msgid "Selected Focus"
+msgstr "Fokus yang Dipilih"
+
+msgid "Cursor"
+msgstr "Kursor"
+
+msgid "Cursor Unfocused"
+msgstr "Kursor Tidak Fokus"
+
+msgid "Title Button Normal"
+msgstr "Tombol Judul Normal"
+
+msgid "Title Button Pressed"
+msgstr "Tombol Judul Ditekan"
+
+msgid "Title Button Hover"
+msgstr "Tombol Judul Hover"
+
+msgid "Custom Button"
+msgstr "Tombol Kustom"
+
+msgid "Custom Button Pressed"
+msgstr "Tombol Kustom Ditekan"
+
+msgid "Custom Button Hover"
+msgstr "Tombol Kustom Hover"
+
+msgid "Indeterminate"
+msgstr "Tak tentu"
+
+msgid "Select Arrow"
+msgstr "Pilih Panah"
+
+msgid "Arrow Collapsed"
+msgstr "Panah Runtuh"
+
+msgid "Arrow Collapsed Mirrored"
+msgstr "Panah Runtuh Dicerminkan"
+
+msgid "Title Button Font"
+msgstr "Font Tombol Judul"
+
+msgid "Title Button Color"
+msgstr "Warna Tombol Judul"
+
+msgid "Guide Color"
+msgstr "Warna Panduan"
+
+msgid "Drop Position Color"
+msgstr "Warna Posisi Jatuhkan"
+
+msgid "Relationship Line Color"
+msgstr "Warna Garis Hubungan"
+
+msgid "Parent HL Line Color"
+msgstr "Warna Garis HL Induk"
+
+msgid "Children HL Line Color"
+msgstr "Warna Garis HL Turunan"
+
+msgid "Custom Button Font Highlight"
+msgstr "Sorotan Font Tombol Kustom"
+
+msgid "Item Margin"
+msgstr "Margin Item"
+
+msgid "Button Margin"
+msgstr "Margin Tombol"
+
+msgid "Draw Relationship Lines"
+msgstr "Menggambar Garis Hubungan"
+
+msgid "Relationship Line Width"
+msgstr "Lebar Garis Hubungan"
+
+msgid "Parent HL Line Width"
+msgstr "Lebar Garis HL Induk"
+
+msgid "Children HL Line Width"
+msgstr "Lebar Garis HL Turunan"
+
+msgid "Parent HL Line Margin"
+msgstr "Margin Garis HL Induk"
+
+msgid "Draw Guides"
+msgstr "Gambar Panduan"
+
+msgid "Scroll Border"
+msgstr "Perbatasan Gulir"
+
+msgid "Scroll Speed"
+msgstr "Kecepatan Gulir"
+
+msgid "Icon Margin"
+msgstr "Ikon Margin"
+
+msgid "Line Separation"
+msgstr "Pemisahan Garis"
+
+msgid "Tab Selected"
+msgstr "Tab Dipilih"
+
+msgid "Tab Unselected"
+msgstr "Tab Tidak Dipilih"
+
+msgid "Tab Disabled"
+msgstr "Tab Dinonaktifkan"
+
+msgid "Tabbar Background"
+msgstr "Latar Belakang Bar Tab"
+
+msgid "Drop Mark"
+msgstr "Jatuhkan Tanda"
+
+msgid "Menu"
+msgstr "Menu"
+
+msgid "Menu Highlight"
+msgstr "Sorotan Menu"
+
+msgid "Font Unselected Color"
+msgstr "Warna Font yang Tidak Dipilih"
+
+msgid "Drop Mark Color"
+msgstr "Warna Tanda Jatuh"
+
+msgid "Side Margin"
+msgstr "Margin Samping"
+
+msgid "Icon Separation"
+msgstr "Pemisahan Ikon"
+
+msgid "Button Highlight"
+msgstr "Sorotan Tombol"
+
+msgid "Large"
+msgstr "Besar"
+
+msgid "SV Width"
+msgstr "Lebar SV"
+
+msgid "SV Height"
+msgstr "Tinggi SV"
+
+msgid "H Width"
+msgstr "Lebar H"
+
+msgid "Label Width"
+msgstr "Lebar Label"
+
+msgid "Folded Arrow"
+msgstr "Panah Terlipat"
+
+msgid "Expanded Arrow"
+msgstr "Panah yang Diperluas"
+
+msgid "Screen Picker"
+msgstr "Pemilih Layar"
+
+msgid "Shape Circle"
+msgstr "Bentuk Lingkaran"
+
+msgid "Shape Rect"
+msgstr "Bentuk Persegi Panjang"
+
+msgid "Shape Rect Wheel"
+msgstr "Bentuk Roda Persegi Panjang"
+
+msgid "Add Preset"
+msgstr "Tambahkan Prasetel"
+
+msgid "Sample BG"
+msgstr "Contoh BG"
+
+msgid "Overbright Indicator"
+msgstr "Indikator Terlalu Terang"
+
+msgid "Bar Arrow"
+msgstr "Panah Batang"
+
+msgid "Picker Cursor"
+msgstr "Kursor Pemilih"
+
+msgid "Color Hue"
+msgstr "Warna Hue"
+
+msgid "Color Okhsl Hue"
+msgstr "Warna Okhsl Hue"
+
+msgid "BG"
+msgstr "BG"
+
+msgid "Preset FG"
+msgstr "Prasetel FG"
+
+msgid "Preset BG"
+msgstr "Presetel BG"
+
+msgid "Normal Font"
+msgstr "Font Normal"
+
+msgid "Bold Font"
+msgstr "Font Tebal"
+
+msgid "Italics Font"
+msgstr "Font Miring"
+
+msgid "Bold Italics Font"
+msgstr "Font Miring Tebal"
+
+msgid "Mono Font"
+msgstr "Font Mono"
+
+msgid "Normal Font Size"
+msgstr "Ukuran Font Normal"
+
+msgid "Bold Font Size"
+msgstr "Ukuran Font Tebal"
+
+msgid "Italics Font Size"
+msgstr "Ukuran Font Miring"
+
+msgid "Node"
+msgstr "Node"
+
+msgid "Source"
+msgstr "Sumber"
+
+msgid "SSAO"
+msgstr "SSAO"
+
+msgid "SSIL"
+msgstr "SSIL"
+
+msgid "2"
+msgstr "2"
+
+msgid "Mix"
+msgstr "Bercampur"
+
+msgid "Features"
+msgstr "Fitur-fitur"
+
+msgid "Interpolation Mode"
+msgstr "Mode Interpolasi"
+
+msgid "Shader"
+msgstr "Shader"
+
+msgid "Shading"
+msgstr "Shading"
+
+msgid "Shadows"
+msgstr "Bayangan"
+
+msgid "MSDF"
+msgstr "MSDF"
+
+msgid "Item"
+msgstr "Item"
+
+msgid "Preview"
+msgstr "Pratinjau"
+
+msgid "Parsed Geometry Type"
+msgstr "Jenis Geometri yang Diuraikan"
+
+msgid "Sample Distance"
+msgstr "Jarak sampel"
+
+msgid "Point Texture"
+msgstr "Tekstur Titik"
+
+msgid "Normal Texture"
+msgstr "Texture Normal"
+
+msgid "Top Radius"
+msgstr "Radius Atas"
+
+msgid "Bottom Radius"
+msgstr "Radius Bawah"
+
+msgid "B"
+msgstr "B"
+
+msgid "Radiance Size"
+msgstr "Ukuran Pancaran"
+
+msgid "Horizon Color"
+msgstr "Warna Horizon"
+
+msgid "Rayleigh"
+msgstr "Rayleigh"
+
+msgid "Blend"
+msgstr "Berbaur"
+
+msgid "Top Left"
+msgstr "Kiri Atas"
+
+msgid "Top Right"
+msgstr "Kanan Atas"
+
+msgid "Bottom Right"
+msgstr "Kanan Bawah"
+
+msgid "Bottom Left"
+msgstr "Kiri Bawah"
+
+msgid "Image Size"
+msgstr "Ukuran Gambar"
+
+msgid "Use HDR"
+msgstr "Gunakan HDR"
+
+msgid "To"
+msgstr "Ke"
+
+msgid "Frames"
+msgstr "Bingkai-bingkai"
+
+msgid "Scene"
+msgstr "Adegan"
+
+msgid "Transpose"
+msgstr "Mengubah urutan"
+
+msgid "Constant"
+msgstr "Konstan"
+
+msgid "Function"
+msgstr "Fungsi"
+
+msgid "Plane"
+msgstr "Plane"
+
+msgid "Custom"
+msgstr "Kustom"
+
+msgid "Random Pitch"
+msgstr "Pitch Acak"
+
+msgid "Pan"
+msgstr "Pan"
+
+msgid "Sidechain"
+msgstr "Sidechain"
+
+msgid "Tap 1"
+msgstr "Tap 1"
+
+msgid "Tap 2"
+msgstr "Tap 2"
+
+msgid "Soft Clip dB"
+msgstr "Soft Clip dB"
+
+msgid "Soft Clip Ratio"
+msgstr "Rasio Soft Clip"
+
+msgid "FFT Size"
+msgstr "Ukuran FFT"
+
+msgid "Default Gravity"
+msgstr "Gravitasi Baku"
+
+msgid "Vertex"
+msgstr "Titik"
+
+msgid "Fragment"
+msgstr "Fragmen"
+
+msgid "Cull"
+msgstr "Cull"
+
+msgid "Render Loop Enabled"
+msgstr "Render Loop Diaktifkan"
+
+msgid "VRAM Compression"
+msgstr "Kompresi VRAM"
+
+msgid "Force PNG"
+msgstr "Paksa PNG"
+
+msgid "Shadow Atlas"
+msgstr "Atlas Bayangan"
+
+msgid "Reflections"
+msgstr "Refleksi"
+
+msgid "Texture Array Reflections"
+msgstr "Refleksi Tekstur Array"
+
+msgid "Overrides"
+msgstr "Menimpa"
+
+msgid "Property"
+msgstr "Properti"
diff --git a/editor/translations/properties/ja.po b/editor/translations/properties/ja.po
index 4c65644a71..8f0d57f096 100644
--- a/editor/translations/properties/ja.po
+++ b/editor/translations/properties/ja.po
@@ -53,7 +53,7 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-17 17:40+0000\n"
+"PO-Revision-Date: 2023-04-26 20:01+0000\n"
"Last-Translator: Usamiki <amarantus0499@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/ja/>\n"
@@ -62,7 +62,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.17\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "アプリケーション"
@@ -1174,6 +1174,9 @@ msgstr "ミニマップの不透明度"
msgid "Window Placement"
msgstr "ウィンドウの配置"
+msgid "Rect"
+msgstr "四角形"
+
msgid "Rect Custom Position"
msgstr "矩形のカスタム位置"
@@ -3052,12 +3055,18 @@ msgstr "HDRを使用"
msgid "Frames"
msgstr "フレーム"
+msgid "Terrains"
+msgstr "地形"
+
msgid "Custom Data"
msgstr "カスタムデータ"
msgid "Transpose"
msgstr "行列(縦横)入れ替え"
+msgid "Texture Origin"
+msgstr "テクスチャの原点"
+
msgid "Probability"
msgstr "確率"
diff --git a/editor/translations/properties/ko.po b/editor/translations/properties/ko.po
index efb7959d20..4f849d574f 100644
--- a/editor/translations/properties/ko.po
+++ b/editor/translations/properties/ko.po
@@ -42,13 +42,14 @@
# Godoto <aicompose@gmail.com>, 2022.
# gaenyang <gaenyang@outlook.com>, 2022.
# 오지훈 <jule1130@naver.com>, 2023.
+# coolkid <newtype20050831@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-01 13:00+0000\n"
-"Last-Translator: Rocream <kbg4660@gmail.com>\n"
+"PO-Revision-Date: 2023-05-11 05:49+0000\n"
+"Last-Translator: coolkid <newtype20050831@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/ko/>\n"
"Language: ko\n"
@@ -56,7 +57,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "어플리케이션"
@@ -127,6 +128,9 @@ msgstr "초기 위치 타입"
msgid "Initial Position"
msgstr "초기 위치"
+msgid "Initial Screen"
+msgstr "초기 화면"
+
msgid "Resizable"
msgstr "크기 조절 가능한"
@@ -208,12 +212,24 @@ msgstr "설정"
msgid "Profiler"
msgstr "프로파일러"
+msgid "Max Functions"
+msgstr "최대 함수"
+
msgid "Compression"
msgstr "압축"
msgid "Formats"
msgstr "형식"
+msgid "Long Distance Matching"
+msgstr "원거리 매칭"
+
+msgid "Compression Level"
+msgstr "압축률"
+
+msgid "Zlib"
+msgstr "Zlib"
+
msgid "Crash Handler"
msgstr "충돌 처리기"
@@ -232,6 +248,9 @@ msgstr "메모리"
msgid "Limits"
msgstr "제한"
+msgid "Multithreaded Server"
+msgstr "다중 스레드 서버"
+
msgid "Internationalization"
msgstr "국제화"
@@ -2299,6 +2318,9 @@ msgstr "푸시 알림"
msgid "Location"
msgstr "위치"
+msgid "Product GUID"
+msgstr "제품 GUID"
+
msgid "Algorithm"
msgstr "알고리즘"
@@ -2458,27 +2480,66 @@ msgstr "품질"
msgid "Use Denoiser"
msgstr "노이즈 감소 사용"
+msgid "Enable Shadows"
+msgstr "그림자 켜기"
+
msgid "Bones"
msgstr "본"
msgid "Target"
msgstr "Target(대상)"
+msgid "Use Magnet"
+msgstr "자석 사용"
+
+msgid "Magnet"
+msgstr "자석"
+
+msgid "Spring Length"
+msgstr "스프링 길이"
+
msgid "Travel"
msgstr "진행"
+msgid "Max Force"
+msgstr "최대 힘"
+
msgid "Material Override"
msgstr "머티리얼 오버라이드"
+msgid "Custom AABB"
+msgstr "커스텀 AABB"
+
msgid "End"
msgstr "끝"
+msgid "Tracker"
+msgstr "트래커"
+
+msgid "Pose"
+msgstr "자세"
+
msgid "World Scale"
msgstr "세계 크기"
msgid "Sync"
msgstr "동기화"
+msgid "Auto Restart"
+msgstr "자동 재시작"
+
+msgid "Autorestart"
+msgstr "자동 재시작"
+
+msgid "Delay"
+msgstr "지연"
+
+msgid "Random Delay"
+msgstr "무작위 지연"
+
+msgid "Request"
+msgstr "요청"
+
msgid "Reset"
msgstr "되돌리기"
diff --git a/editor/translations/properties/pl.po b/editor/translations/properties/pl.po
index 1fdb714c23..ec3a17862a 100644
--- a/editor/translations/properties/pl.po
+++ b/editor/translations/properties/pl.po
@@ -76,7 +76,7 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-20 03:46+0000\n"
+"PO-Revision-Date: 2023-04-30 10:49+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/pl/>\n"
@@ -196,17 +196,35 @@ msgstr "Zachowaj włączony ekran"
msgid "Audio"
msgstr "Audio"
+msgid "Buses"
+msgstr "Magistrale"
+
msgid "Default Bus Layout"
msgstr "Domyślny układ magistrali"
+msgid "General"
+msgstr "Ogólne"
+
+msgid "2D Panning Strength"
+msgstr "Siła przesuwania 2D"
+
msgid "3D Panning Strength"
-msgstr "Siła panoramy 3D"
+msgstr "Siła przesuwania 3D"
msgid "Editor"
msgstr "Edytor"
+msgid "Script"
+msgstr "Skrypt"
+
msgid "Search in File Extensions"
-msgstr "Szukaj wśród rozszerzeń plików"
+msgstr "Rozszerzenia szukania w plikach"
+
+msgid "Subwindows"
+msgstr "Okna podrzędne"
+
+msgid "Embed Subwindows"
+msgstr "Osadź okna podrzędne"
msgid "Physics"
msgstr "Fizyka"
@@ -238,9 +256,33 @@ msgstr "Ustawienia"
msgid "Profiler"
msgstr "Profiler"
+msgid "Max Functions"
+msgstr "Maksymalna liczba funkcji"
+
msgid "Compression"
msgstr "Kompresja"
+msgid "Formats"
+msgstr "Formaty"
+
+msgid "Zstd"
+msgstr "Zstd"
+
+msgid "Compression Level"
+msgstr "Poziom kompresji"
+
+msgid "Window Log Size"
+msgstr "Rozmiar dziennika okna"
+
+msgid "Zlib"
+msgstr "Zlib"
+
+msgid "Gzip"
+msgstr "Gzip"
+
+msgid "Crash Handler"
+msgstr "Obsługa awarii"
+
msgid "Message"
msgstr "Wiadomość"
@@ -289,6 +331,18 @@ msgstr "Vulkan"
msgid "Max Descriptors per Pool"
msgstr "Maks. liczba deskryptorów na pulę"
+msgid "Textures"
+msgstr "Tekstury"
+
+msgid "Canvas Textures"
+msgstr "Tekstury płótna"
+
+msgid "Default Texture Filter"
+msgstr "Domyślny filtr tekstur"
+
+msgid "Default Texture Repeat"
+msgstr "Domyślne zapętlenie tekstur"
+
msgid "Low Processor Usage Mode"
msgstr "Tryb niskiego wykorzystania procesora"
@@ -757,6 +811,9 @@ msgstr "Wytyczne dotyczące długości linii miękkiej kolumny"
msgid "Line Length Guideline Hard Column"
msgstr "Wytyczne dotyczące długości linii twardej kolumny"
+msgid "Gutters"
+msgstr "Rynny"
+
msgid "Show Line Numbers"
msgstr "Pokaż numery linii"
@@ -1288,6 +1345,9 @@ msgstr "Język"
msgid "Outline Size"
msgstr "Rozmiar konturu"
+msgid "Variation"
+msgstr "Odmiana"
+
msgid "Transform"
msgstr "Przekształcanie"
@@ -1375,12 +1435,21 @@ msgstr "Wysokość"
msgid "Radius"
msgstr "Promień"
+msgid "Save to File"
+msgstr "Zapisz do pliku"
+
msgid "Enabled"
msgstr "Włączony"
+msgid "LODs"
+msgstr "LODy"
+
msgid "Normal Merge Angle"
msgstr "Kąt scalania normalnych"
+msgid "Use External"
+msgstr "Użyj zewnętrznych"
+
msgid "Loop Mode"
msgstr "Tryb zapętlenia"
@@ -1390,9 +1459,18 @@ msgstr "Zachowaj własne ścieżki"
msgid "Optimizer"
msgstr "Optymalizator"
+msgid "Max Velocity Error"
+msgstr "Maks. błąd prędkości"
+
msgid "Max Angular Error"
msgstr "Maks. błąd kątowy"
+msgid "Max Precision Error"
+msgstr "Maks. błąd precyzji"
+
+msgid "Import Tracks"
+msgstr "Importuj ścieżki"
+
msgid "Bone Map"
msgstr "Mapa kości"
@@ -1561,9 +1639,15 @@ msgstr "Ostrzeżenia"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Tekstura"
+
msgid "Separation"
msgstr "Separacja"
+msgid "Texture Region Size"
+msgstr "Rozmiar obszaru tekstury"
+
msgid "Speed"
msgstr "Prędkość"
@@ -1936,6 +2020,9 @@ msgstr "Kafelki"
msgid "Variant"
msgstr "Wariant"
+msgid "VRAM Texture Compression"
+msgstr "Kompresja VRAM tekstur"
+
msgid "File Version"
msgstr "Wersja pliku"
@@ -1963,6 +2050,9 @@ msgstr "Prawo"
msgid "Input"
msgstr "Wejście"
+msgid "Disabled"
+msgstr "Wyłączony"
+
msgid "Time"
msgstr "Czas"
@@ -1996,12 +2086,18 @@ msgstr "Przyspiesz maks"
msgid "Visibility Rect"
msgstr "Prostokąt widoczności"
+msgid "Texture Scale"
+msgstr "Skala tekstury"
+
msgid "Default Color"
msgstr "Kolor domyślny"
msgid "Fill"
msgstr "Wypełnienie"
+msgid "Texture Mode"
+msgstr "Tryb tekstury"
+
msgid "Navigation Layers"
msgstr "Warstwy nawigacji"
@@ -2026,6 +2122,12 @@ msgstr "Ustawienia edytora"
msgid "Region"
msgstr "Obszar"
+msgid "Texture Normal"
+msgstr "Normalna tekstury"
+
+msgid "Texture Pressed"
+msgstr "Tekstura wciśniętego"
+
msgid "Bitmask"
msgstr "Maska bitowa"
@@ -2041,6 +2143,9 @@ msgstr "Moduluj"
msgid "Flags"
msgstr "Flagi"
+msgid "Texture Filter"
+msgstr "Filtr tekstury"
+
msgid "Text"
msgstr "Tekst"
@@ -2050,9 +2155,15 @@ msgstr "Wielkie litery"
msgid "Blur"
msgstr "Rozmazanie"
+msgid "Light Texture"
+msgstr "Tekstura światła"
+
msgid "Quality"
msgstr "Jakość"
+msgid "Max Texture Size"
+msgstr "Maksymalny rozmiar tekstury"
+
msgid "Bones"
msgstr "Kości"
@@ -2146,6 +2257,9 @@ msgstr "Przeciągnij, aby zmienić kolejność włączone"
msgid "Syntax Highlighter"
msgstr "Podświetlacz składni"
+msgid "Ignore Texture Size"
+msgstr "Ignoruj rozmiar tekstury"
+
msgid "Fill Degrees"
msgstr "Stopnie wypełnienia"
@@ -2257,6 +2371,9 @@ msgstr "Mgła"
msgid "Color Correction"
msgstr "Korekcja koloru"
+msgid "Density Texture"
+msgstr "Tekstura gęstości"
+
msgid "Features"
msgstr "Funkcje"
@@ -2266,9 +2383,18 @@ msgstr "Sposób interpolacji"
msgid "Shader"
msgstr "Shader"
+msgid "Texture MSDF"
+msgstr "MSDF tekstury"
+
+msgid "Texture Channel"
+msgstr "Kanał tekstury"
+
msgid "Operator"
msgstr "Operator"
+msgid "Flip Texture"
+msgstr "Odbij teksturę"
+
msgid "Subsurface Scattering"
msgstr "Rozpraszanie podpowierzchniowe"
@@ -2293,15 +2419,24 @@ msgstr "Format transformacji"
msgid "Parsed Geometry Type"
msgstr "Parsowany typ geometrii"
+msgid "Point Texture"
+msgstr "Tekstura punktowa"
+
msgid "Normal Texture"
msgstr "Tekstura normalnych"
+msgid "Color Texture"
+msgstr "Tekstura koloru"
+
msgid "B"
msgstr "B"
msgid "Ground Color"
msgstr "Kolor podłoża"
+msgid "Texture Margins"
+msgstr "Marginesy tekstury"
+
msgid "Blend"
msgstr "Mieszanie"
@@ -2320,6 +2455,9 @@ msgstr "Lewy dolny róg"
msgid "Atlas"
msgstr "Atlas"
+msgid "Base Texture"
+msgstr "Bazowa tekstura"
+
msgid "Image Size"
msgstr "Rozmiar obrazu"
@@ -2347,9 +2485,21 @@ msgstr "Prawdopodobieństwo"
msgid "Constant"
msgstr "Stała"
+msgid "Texture Type"
+msgstr "Typ tekstury"
+
+msgid "Texture Array"
+msgstr "Tablica tekstur"
+
msgid "Function"
msgstr "Funkcja"
+msgid "Texture Repeat"
+msgstr "Zapętlenie tekstury"
+
+msgid "Texture Source"
+msgstr "Źródło tekstury"
+
msgid "Use All Surfaces"
msgstr "Użyj wszystkich powierzchni"
diff --git a/editor/translations/properties/pt.po b/editor/translations/properties/pt.po
index 222ab9beb3..19834c82da 100644
--- a/editor/translations/properties/pt.po
+++ b/editor/translations/properties/pt.po
@@ -32,13 +32,14 @@
# Thuany <thutymsoares@gmail.com>, 2022.
# Isaque Mendes <isaquemendes405@gmail.com>, 2022.
# Alex Bruno Boiniak <aboiniak@gmail.com>, 2022.
+# Deolindo <deolindojvn@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-02 22:43+0000\n"
-"Last-Translator: ssantos <ssantos@web.de>\n"
+"PO-Revision-Date: 2023-04-20 17:02+0000\n"
+"Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/pt/>\n"
"Language: pt\n"
@@ -46,7 +47,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "Aplicação"
@@ -93,6 +94,9 @@ msgstr "Tipo de Loop Principal"
msgid "Auto Accept Quit"
msgstr "Auto Aceitar Sair"
+msgid "Quit on Go Back"
+msgstr "Sair ao Voltar"
+
msgid "Display"
msgstr "Exibição"
@@ -126,6 +130,9 @@ msgstr "Redimensionável"
msgid "Borderless"
msgstr "Sem bordas"
+msgid "Always on Top"
+msgstr "Sempre no topo"
+
msgid "Transparent"
msgstr "Transparente"
diff --git a/editor/translations/properties/ru.po b/editor/translations/properties/ru.po
index 1483a0a3c8..f2ad24ae0b 100644
--- a/editor/translations/properties/ru.po
+++ b/editor/translations/properties/ru.po
@@ -132,13 +132,18 @@
# Noky Socket <lollysimbart@gmail.com>, 2023.
# Melairz1237 <mr.artem.snegov@mail.ru>, 2023.
# Aleksey Smirnov <debugger94@gmail.com>, 2023.
+# Animaliss <Zernon001@mail.ru>, 2023.
+# Pyotr <pitmysterio@mail.ru>, 2023.
+# Aleksey Shilovskiy <alekseyshilovskiy@yandex.ru>, 2023.
+# Eugene One <elevencupoftea@gmail.com>, 2023.
+# Lost Net <pc.mirkn@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-04-20 03:46+0000\n"
-"Last-Translator: Aleksey Smirnov <debugger94@gmail.com>\n"
+"PO-Revision-Date: 2023-05-19 06:49+0000\n"
+"Last-Translator: Lost Net <pc.mirkn@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/ru/>\n"
"Language: ru\n"
@@ -230,6 +235,9 @@ msgstr "Всегда сверху"
msgid "Transparent"
msgstr "Прозрачный"
+msgid "Extend to Title"
+msgstr "Расширить до названия"
+
msgid "No Focus"
msgstr "Не фокусировать"
@@ -290,6 +298,12 @@ msgstr "Отладка"
msgid "Settings"
msgstr "Настройки"
+msgid "Profiler"
+msgstr "Профилировщик"
+
+msgid "Max Functions"
+msgstr "Лимит функций"
+
msgid "Compression"
msgstr "Сжатие"
@@ -344,6 +358,9 @@ msgstr "Задержка в режиме низкой нагрузки проц
msgid "Print Error Messages"
msgstr "Печатать сообщения об ошибках"
+msgid "Physics Ticks per Second"
+msgstr "Частота обновления физических кадров"
+
msgid "Time Scale"
msgstr "Масштаб времени"
@@ -1419,7 +1436,7 @@ msgid "Root Scale"
msgstr "Расширение ветки"
msgid "Meshes"
-msgstr "Сетка"
+msgstr "Меши"
msgid "Ensure Tangents"
msgstr "Проверить соприкосновение"
@@ -1503,7 +1520,7 @@ msgid "Loop End"
msgstr "Конец цикла"
msgid "Asset Library"
-msgstr "Библиотека ресурсов"
+msgstr "Библиотека ассетов"
msgid "Use Threads"
msgstr "Использовать потоки"
@@ -1514,6 +1531,9 @@ msgstr "Доступные URL"
msgid "Unset"
msgstr "Не задано"
+msgid "Set"
+msgstr "Задать, установить, настроить, набор, комплект"
+
msgid "Error"
msgstr "Ошибка"
@@ -2381,6 +2401,9 @@ msgstr "Файлы фильмов"
msgid "Custom Options"
msgstr "Пользовательские параметры"
+msgid "Notarization"
+msgstr "Заверение"
+
msgid "Apple ID Password"
msgstr "Пароль Apple ID"
@@ -2822,6 +2845,9 @@ msgstr "Г смещение"
msgid "V Offset"
msgstr "В смещение"
+msgid "Physics Material Override"
+msgstr "Переопределение физического материала"
+
msgid "Constant Linear Velocity"
msgstr "Постоянная линейная скорость"
@@ -4244,6 +4270,9 @@ msgstr "Атлас теней"
msgid "Reflections"
msgstr "Отражения"
+msgid "GI"
+msgstr "GI"
+
msgid "Overrides"
msgstr "Переопределить"
@@ -4278,4 +4307,4 @@ msgid "Primary Interface"
msgstr "Основной интерфейс"
msgid "Property"
-msgstr "Параметр"
+msgstr "Свойство"
diff --git a/editor/translations/properties/zh_CN.po b/editor/translations/properties/zh_CN.po
index 0140e402f9..fdbb0d523e 100644
--- a/editor/translations/properties/zh_CN.po
+++ b/editor/translations/properties/zh_CN.po
@@ -92,7 +92,7 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2023-04-13 04:06+0000\n"
+"PO-Revision-Date: 2023-04-24 06:57+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-properties/zh_Hans/>\n"
@@ -101,7 +101,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.17-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
msgid "Application"
msgstr "应用"
@@ -950,7 +950,7 @@ msgid "Save Each Scene on Quit"
msgstr "退出时保存各场景"
msgid "Accept Dialog Cancel OK Buttons"
-msgstr "接受对话框取消/确定按钮"
+msgstr "AcceptDialog 取消/确定按钮"
msgid "Show Internal Errors in Toast Notifications"
msgstr "在 Toast 通知中显示内部错误"
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index 3bce258072..fdbd505975 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -4192,7 +4192,7 @@ String GDScriptParser::DataType::to_string() const {
return class_type->fqcn;
case SCRIPT: {
if (is_meta_type) {
- return script_type->get_class_name().operator String();
+ return script_type != nullptr ? script_type->get_class_name().operator String() : "";
}
String name = script_type != nullptr ? script_type->get_name() : "";
if (!name.is_empty()) {
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index 0d6436594e..a12cac5a99 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -93,6 +93,12 @@ String CSharpLanguage::get_extension() const {
}
void CSharpLanguage::init() {
+#ifdef TOOLS_ENABLED
+ if (OS::get_singleton()->get_cmdline_args().find("--generate-mono-glue")) {
+ print_verbose(".NET: Skipping runtime initialization because glue generation is enabled.");
+ return;
+ }
+#endif
#ifdef DEBUG_METHODS_ENABLED
if (OS::get_singleton()->get_cmdline_args().find("--class-db-json")) {
class_db_api_to_json("user://class_db_api.json", ClassDB::API_CORE);
diff --git a/modules/mono/editor/GodotTools/GodotTools/Build/BuildManager.cs b/modules/mono/editor/GodotTools/GodotTools/Build/BuildManager.cs
index b7e5b058c6..13eb3bf1ad 100644
--- a/modules/mono/editor/GodotTools/GodotTools/Build/BuildManager.cs
+++ b/modules/mono/editor/GodotTools/GodotTools/Build/BuildManager.cs
@@ -270,7 +270,7 @@ namespace GodotTools.Build
buildInfo.CustomProperties.Add($"GodotTargetPlatform={platform}");
if (Internal.GodotIsRealTDouble())
- buildInfo.CustomProperties.Add("GodotRealTIsDouble=true");
+ buildInfo.CustomProperties.Add("GodotFloat64=true");
return buildInfo;
}
@@ -288,7 +288,7 @@ namespace GodotTools.Build
buildInfo.CustomProperties.Add($"GodotTargetPlatform={platform}");
if (Internal.GodotIsRealTDouble())
- buildInfo.CustomProperties.Add("GodotRealTIsDouble=true");
+ buildInfo.CustomProperties.Add("GodotFloat64=true");
return buildInfo;
}
diff --git a/platform/android/doc_classes/EditorExportPlatformAndroid.xml b/platform/android/doc_classes/EditorExportPlatformAndroid.xml
index 11129ca149..0652ba5c0e 100644
--- a/platform/android/doc_classes/EditorExportPlatformAndroid.xml
+++ b/platform/android/doc_classes/EditorExportPlatformAndroid.xml
@@ -423,7 +423,7 @@
Allows an application to record audio. See [url=https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO]RECORD_AUDIO[/url].
</member>
<member name="permissions/reorder_tasks" type="bool" setter="" getter="">
- Allows an application to change the Z-order of tasks. See [url= https://developer.android.com/reference/android/Manifest.permission#REORDER_TASKS]REORDER_TASKS[/url].
+ Allows an application to change the Z-order of tasks. See [url=https://developer.android.com/reference/android/Manifest.permission#REORDER_TASKS]REORDER_TASKS[/url].
</member>
<member name="permissions/restart_packages" type="bool" setter="" getter="">
Deprecated in API level 15.
diff --git a/platform/android/java/lib/src/org/godotengine/godot/Godot.java b/platform/android/java/lib/src/org/godotengine/godot/Godot.java
index 99527ccf3a..4c47ca9760 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/Godot.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/Godot.java
@@ -274,7 +274,9 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC
// ...add to FrameLayout
containerLayout.addView(editText);
- if (!GodotLib.setup(command_line)) {
+ tts = new GodotTTS(activity);
+
+ if (!GodotLib.setup(command_line, tts)) {
Log.e(TAG, "Unable to setup the Godot engine! Aborting...");
alert(R.string.error_engine_setup_message, R.string.text_error_title, this::forceQuit);
return false;
@@ -574,7 +576,6 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC
final Activity activity = getActivity();
io = new GodotIO(activity);
netUtils = new GodotNetUtils(activity);
- tts = new GodotTTS(activity);
Context context = getContext();
directoryAccessHandler = new DirectoryAccessHandler(context);
FileAccessHandler fileAccessHandler = new FileAccessHandler(context);
@@ -591,8 +592,7 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC
netUtils,
directoryAccessHandler,
fileAccessHandler,
- use_apk_expansion,
- tts);
+ use_apk_expansion);
result_callback = null;
}
diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java b/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java
index d9aab950df..c725b1a7c9 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java
@@ -61,8 +61,7 @@ public class GodotLib {
GodotNetUtils netUtils,
DirectoryAccessHandler directoryAccessHandler,
FileAccessHandler fileAccessHandler,
- boolean use_apk_expansion,
- GodotTTS tts);
+ boolean use_apk_expansion);
/**
* Invoked on the main thread to clean up Godot native layer.
@@ -74,7 +73,7 @@ public class GodotLib {
* Invoked on the GL thread to complete setup for the Godot native layer logic.
* @param p_cmdline Command line arguments used to configure Godot native layer components.
*/
- public static native boolean setup(String[] p_cmdline);
+ public static native boolean setup(String[] p_cmdline, GodotTTS tts);
/**
* Invoked on the GL thread when the underlying Android surface has changed size.
diff --git a/platform/android/java/lib/src/org/godotengine/godot/tts/GodotTTS.java b/platform/android/java/lib/src/org/godotengine/godot/tts/GodotTTS.java
index ebab8398de..edace53e7f 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/tts/GodotTTS.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/tts/GodotTTS.java
@@ -62,8 +62,9 @@ public class GodotTTS extends UtteranceProgressListener {
final private static int EVENT_CANCEL = 2;
final private static int EVENT_BOUNDARY = 3;
- final private TextToSpeech synth;
- final private LinkedList<GodotUtterance> queue;
+ final private Activity activity;
+ private TextToSpeech synth;
+ private LinkedList<GodotUtterance> queue;
final private Object lock = new Object();
private GodotUtterance lastUtterance;
@@ -71,10 +72,7 @@ public class GodotTTS extends UtteranceProgressListener {
private boolean paused;
public GodotTTS(Activity p_activity) {
- synth = new TextToSpeech(p_activity, null);
- queue = new LinkedList<GodotUtterance>();
-
- synth.setOnUtteranceProgressListener(this);
+ activity = p_activity;
}
private void updateTTS() {
@@ -187,6 +185,16 @@ public class GodotTTS extends UtteranceProgressListener {
}
/**
+ * Initialize synth and query.
+ */
+ public void init() {
+ synth = new TextToSpeech(activity, null);
+ queue = new LinkedList<GodotUtterance>();
+
+ synth.setOnUtteranceProgressListener(this);
+ }
+
+ /**
* Adds an utterance to the queue.
*/
public void speak(String text, String voice, int volume, float pitch, float rate, int utterance_id, boolean interrupt) {
diff --git a/platform/android/java_godot_lib_jni.cpp b/platform/android/java_godot_lib_jni.cpp
index 18091649e3..63435853e9 100644
--- a/platform/android/java_godot_lib_jni.cpp
+++ b/platform/android/java_godot_lib_jni.cpp
@@ -116,7 +116,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_setVirtualKeyboardHei
}
}
-JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv *env, jclass clazz, jobject p_activity, jobject p_godot_instance, jobject p_asset_manager, jobject p_godot_io, jobject p_net_utils, jobject p_directory_access_handler, jobject p_file_access_handler, jboolean p_use_apk_expansion, jobject p_godot_tts) {
+JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv *env, jclass clazz, jobject p_activity, jobject p_godot_instance, jobject p_asset_manager, jobject p_godot_io, jobject p_net_utils, jobject p_directory_access_handler, jobject p_file_access_handler, jboolean p_use_apk_expansion) {
JavaVM *jvm;
env->GetJavaVM(&jvm);
@@ -133,7 +133,6 @@ JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv
DirAccessJAndroid::setup(p_directory_access_handler);
FileAccessFilesystemJAndroid::setup(p_file_access_handler);
NetSocketAndroid::setup(p_net_utils);
- TTS_Android::setup(p_godot_tts);
os_android = new OS_Android(godot_java, godot_io_java, p_use_apk_expansion);
@@ -144,7 +143,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_ondestroy(JNIEnv *env
_terminate(env, false);
}
-JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jclass clazz, jobjectArray p_cmdline) {
+JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jclass clazz, jobjectArray p_cmdline, jobject p_godot_tts) {
setup_android_thread();
const char **cmdline = nullptr;
@@ -185,6 +184,8 @@ JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env
return false;
}
+ TTS_Android::setup(p_godot_tts);
+
java_class_wrapper = memnew(JavaClassWrapper(godot_java->get_activity()));
GDREGISTER_CLASS(JNISingleton);
return true;
diff --git a/platform/android/java_godot_lib_jni.h b/platform/android/java_godot_lib_jni.h
index 59ab2448d7..9158e89c13 100644
--- a/platform/android/java_godot_lib_jni.h
+++ b/platform/android/java_godot_lib_jni.h
@@ -37,9 +37,9 @@
// These functions can be called from within JAVA and are the means by which our JAVA implementation calls back into our C++ code.
// See java/src/org/godotengine/godot/GodotLib.java for the JAVA side of this (yes that's why we have the long names)
extern "C" {
-JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv *env, jclass clazz, jobject p_activity, jobject p_godot_instance, jobject p_asset_manager, jobject p_godot_io, jobject p_net_utils, jobject p_directory_access_handler, jobject p_file_access_handler, jboolean p_use_apk_expansion, jobject p_godot_tts);
+JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv *env, jclass clazz, jobject p_activity, jobject p_godot_instance, jobject p_asset_manager, jobject p_godot_io, jobject p_net_utils, jobject p_directory_access_handler, jobject p_file_access_handler, jboolean p_use_apk_expansion);
JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_ondestroy(JNIEnv *env, jclass clazz);
-JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jclass clazz, jobjectArray p_cmdline);
+JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jclass clazz, jobjectArray p_cmdline, jobject p_godot_tts);
JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_resize(JNIEnv *env, jclass clazz, jobject p_surface, jint p_width, jint p_height);
JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_newcontext(JNIEnv *env, jclass clazz, jobject p_surface);
JNIEXPORT jboolean JNICALL Java_org_godotengine_godot_GodotLib_step(JNIEnv *env, jclass clazz);
diff --git a/platform/android/tts_android.cpp b/platform/android/tts_android.cpp
index c08c1d4941..aef59c2584 100644
--- a/platform/android/tts_android.cpp
+++ b/platform/android/tts_android.cpp
@@ -35,9 +35,11 @@
#include "string_android.h"
#include "thread_jandroid.h"
+bool TTS_Android::initialized = false;
jobject TTS_Android::tts = nullptr;
jclass TTS_Android::cls = nullptr;
+jmethodID TTS_Android::_init = nullptr;
jmethodID TTS_Android::_is_speaking = nullptr;
jmethodID TTS_Android::_is_paused = nullptr;
jmethodID TTS_Android::_get_voices = nullptr;
@@ -49,23 +51,34 @@ jmethodID TTS_Android::_stop_speaking = nullptr;
HashMap<int, Char16String> TTS_Android::ids;
void TTS_Android::setup(jobject p_tts) {
- JNIEnv *env = get_jni_env();
+ bool tts_enabled = GLOBAL_GET("audio/general/text_to_speech");
+ if (tts_enabled) {
+ JNIEnv *env = get_jni_env();
+ ERR_FAIL_COND(env == nullptr);
+
+ tts = env->NewGlobalRef(p_tts);
- tts = env->NewGlobalRef(p_tts);
+ jclass c = env->GetObjectClass(tts);
+ cls = (jclass)env->NewGlobalRef(c);
- jclass c = env->GetObjectClass(tts);
- cls = (jclass)env->NewGlobalRef(c);
+ _init = env->GetMethodID(cls, "init", "()V");
+ _is_speaking = env->GetMethodID(cls, "isSpeaking", "()Z");
+ _is_paused = env->GetMethodID(cls, "isPaused", "()Z");
+ _get_voices = env->GetMethodID(cls, "getVoices", "()[Ljava/lang/String;");
+ _speak = env->GetMethodID(cls, "speak", "(Ljava/lang/String;Ljava/lang/String;IFFIZ)V");
+ _pause_speaking = env->GetMethodID(cls, "pauseSpeaking", "()V");
+ _resume_speaking = env->GetMethodID(cls, "resumeSpeaking", "()V");
+ _stop_speaking = env->GetMethodID(cls, "stopSpeaking", "()V");
- _is_speaking = env->GetMethodID(cls, "isSpeaking", "()Z");
- _is_paused = env->GetMethodID(cls, "isPaused", "()Z");
- _get_voices = env->GetMethodID(cls, "getVoices", "()[Ljava/lang/String;");
- _speak = env->GetMethodID(cls, "speak", "(Ljava/lang/String;Ljava/lang/String;IFFIZ)V");
- _pause_speaking = env->GetMethodID(cls, "pauseSpeaking", "()V");
- _resume_speaking = env->GetMethodID(cls, "resumeSpeaking", "()V");
- _stop_speaking = env->GetMethodID(cls, "stopSpeaking", "()V");
+ if (_init) {
+ env->CallVoidMethod(tts, _init);
+ initialized = true;
+ }
+ }
}
void TTS_Android::_java_utterance_callback(int p_event, int p_id, int p_pos) {
+ ERR_FAIL_COND_MSG(!initialized, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (ids.has(p_id)) {
int pos = 0;
if ((DisplayServer::TTSUtteranceEvent)p_event == DisplayServer::TTS_UTTERANCE_BOUNDARY) {
@@ -86,6 +99,7 @@ void TTS_Android::_java_utterance_callback(int p_event, int p_id, int p_pos) {
}
bool TTS_Android::is_speaking() {
+ ERR_FAIL_COND_V_MSG(!initialized, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (_is_speaking) {
JNIEnv *env = get_jni_env();
@@ -97,6 +111,7 @@ bool TTS_Android::is_speaking() {
}
bool TTS_Android::is_paused() {
+ ERR_FAIL_COND_V_MSG(!initialized, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (_is_paused) {
JNIEnv *env = get_jni_env();
@@ -108,6 +123,7 @@ bool TTS_Android::is_paused() {
}
Array TTS_Android::get_voices() {
+ ERR_FAIL_COND_V_MSG(!initialized, Array(), "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
Array list;
if (_get_voices) {
JNIEnv *env = get_jni_env();
@@ -135,6 +151,7 @@ Array TTS_Android::get_voices() {
}
void TTS_Android::speak(const String &p_text, const String &p_voice, int p_volume, float p_pitch, float p_rate, int p_utterance_id, bool p_interrupt) {
+ ERR_FAIL_COND_MSG(!initialized, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (p_interrupt) {
stop();
}
@@ -157,6 +174,7 @@ void TTS_Android::speak(const String &p_text, const String &p_voice, int p_volum
}
void TTS_Android::pause() {
+ ERR_FAIL_COND_MSG(!initialized, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (_pause_speaking) {
JNIEnv *env = get_jni_env();
@@ -166,6 +184,7 @@ void TTS_Android::pause() {
}
void TTS_Android::resume() {
+ ERR_FAIL_COND_MSG(!initialized, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (_resume_speaking) {
JNIEnv *env = get_jni_env();
@@ -175,6 +194,7 @@ void TTS_Android::resume() {
}
void TTS_Android::stop() {
+ ERR_FAIL_COND_MSG(!initialized, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
for (const KeyValue<int, Char16String> &E : ids) {
DisplayServer::get_singleton()->tts_post_utterance_event(DisplayServer::TTS_UTTERANCE_CANCELED, E.key);
}
diff --git a/platform/android/tts_android.h b/platform/android/tts_android.h
index 8e00ac5000..39efef6ed1 100644
--- a/platform/android/tts_android.h
+++ b/platform/android/tts_android.h
@@ -31,6 +31,7 @@
#ifndef TTS_ANDROID_H
#define TTS_ANDROID_H
+#include "core/config/project_settings.h"
#include "core/string/ustring.h"
#include "core/templates/hash_map.h"
#include "core/variant/array.h"
@@ -39,9 +40,11 @@
#include <jni.h>
class TTS_Android {
+ static bool initialized;
static jobject tts;
static jclass cls;
+ static jmethodID _init;
static jmethodID _is_speaking;
static jmethodID _is_paused;
static jmethodID _get_voices;
diff --git a/platform/ios/display_server_ios.mm b/platform/ios/display_server_ios.mm
index 469bc9be17..a52d2b185d 100644
--- a/platform/ios/display_server_ios.mm
+++ b/platform/ios/display_server_ios.mm
@@ -56,7 +56,10 @@ DisplayServerIOS::DisplayServerIOS(const String &p_rendering_driver, WindowMode
rendering_driver = p_rendering_driver;
// Init TTS
- tts = [[TTS_IOS alloc] init];
+ bool tts_enabled = GLOBAL_GET("audio/general/text_to_speech");
+ if (tts_enabled) {
+ tts = [[TTS_IOS alloc] init];
+ }
#if defined(VULKAN_ENABLED)
context_vulkan = nullptr;
@@ -316,37 +319,37 @@ String DisplayServerIOS::get_name() const {
}
bool DisplayServerIOS::tts_is_speaking() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return [tts isSpeaking];
}
bool DisplayServerIOS::tts_is_paused() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return [tts isPaused];
}
TypedArray<Dictionary> DisplayServerIOS::tts_get_voices() const {
- ERR_FAIL_COND_V(!tts, TypedArray<Dictionary>());
+ ERR_FAIL_COND_V_MSG(!tts, TypedArray<Dictionary>(), "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return [tts getVoices];
}
void DisplayServerIOS::tts_speak(const String &p_text, const String &p_voice, int p_volume, float p_pitch, float p_rate, int p_utterance_id, bool p_interrupt) {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts speak:p_text voice:p_voice volume:p_volume pitch:p_pitch rate:p_rate utterance_id:p_utterance_id interrupt:p_interrupt];
}
void DisplayServerIOS::tts_pause() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts pauseSpeaking];
}
void DisplayServerIOS::tts_resume() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts resumeSpeaking];
}
void DisplayServerIOS::tts_stop() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts stopSpeaking];
}
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
index 9506189573..8ec7be97c6 100644
--- a/platform/linuxbsd/x11/display_server_x11.cpp
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
@@ -303,37 +303,37 @@ void DisplayServerX11::_flush_mouse_motion() {
#ifdef SPEECHD_ENABLED
bool DisplayServerX11::tts_is_speaking() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return tts->is_speaking();
}
bool DisplayServerX11::tts_is_paused() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return tts->is_paused();
}
TypedArray<Dictionary> DisplayServerX11::tts_get_voices() const {
- ERR_FAIL_COND_V(!tts, TypedArray<Dictionary>());
+ ERR_FAIL_COND_V_MSG(!tts, TypedArray<Dictionary>(), "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return tts->get_voices();
}
void DisplayServerX11::tts_speak(const String &p_text, const String &p_voice, int p_volume, float p_pitch, float p_rate, int p_utterance_id, bool p_interrupt) {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->speak(p_text, p_voice, p_volume, p_pitch, p_rate, p_utterance_id, p_interrupt);
}
void DisplayServerX11::tts_pause() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->pause();
}
void DisplayServerX11::tts_resume() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->resume();
}
void DisplayServerX11::tts_stop() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->stop();
}
@@ -5652,7 +5652,10 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
#ifdef SPEECHD_ENABLED
// Init TTS
- tts = memnew(TTS_Linux);
+ bool tts_enabled = GLOBAL_GET("audio/general/text_to_speech");
+ if (tts_enabled) {
+ tts = memnew(TTS_Linux);
+ }
#endif
//!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -6026,7 +6029,9 @@ DisplayServerX11::~DisplayServerX11() {
}
#ifdef SPEECHD_ENABLED
- memdelete(tts);
+ if (tts) {
+ memdelete(tts);
+ }
#endif
#ifdef DBUS_ENABLED
diff --git a/platform/macos/display_server_macos.mm b/platform/macos/display_server_macos.mm
index 4657461dca..c24115d705 100644
--- a/platform/macos/display_server_macos.mm
+++ b/platform/macos/display_server_macos.mm
@@ -1741,37 +1741,37 @@ void DisplayServerMacOS::global_menu_clear(const String &p_menu_root) {
}
bool DisplayServerMacOS::tts_is_speaking() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return [tts isSpeaking];
}
bool DisplayServerMacOS::tts_is_paused() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return [tts isPaused];
}
TypedArray<Dictionary> DisplayServerMacOS::tts_get_voices() const {
- ERR_FAIL_COND_V(!tts, Array());
+ ERR_FAIL_COND_V_MSG(!tts, Array(), "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return [tts getVoices];
}
void DisplayServerMacOS::tts_speak(const String &p_text, const String &p_voice, int p_volume, float p_pitch, float p_rate, int p_utterance_id, bool p_interrupt) {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts speak:p_text voice:p_voice volume:p_volume pitch:p_pitch rate:p_rate utterance_id:p_utterance_id interrupt:p_interrupt];
}
void DisplayServerMacOS::tts_pause() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts pauseSpeaking];
}
void DisplayServerMacOS::tts_resume() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts resumeSpeaking];
}
void DisplayServerMacOS::tts_stop() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
[tts stopSpeaking];
}
@@ -3845,7 +3845,10 @@ DisplayServerMacOS::DisplayServerMacOS(const String &p_rendering_driver, WindowM
CGDisplayRegisterReconfigurationCallback(_displays_arrangement_changed, nullptr);
// Init TTS
- tts = [[TTS_MacOS alloc] init];
+ bool tts_enabled = GLOBAL_GET("audio/general/text_to_speech");
+ if (tts_enabled) {
+ tts = [[TTS_MacOS alloc] init];
+ }
NSMenuItem *menu_item;
NSString *title;
diff --git a/platform/web/display_server_web.cpp b/platform/web/display_server_web.cpp
index 28f1914c37..5ef581e287 100644
--- a/platform/web/display_server_web.cpp
+++ b/platform/web/display_server_web.cpp
@@ -30,6 +30,7 @@
#include "display_server_web.h"
+#include "core/config/project_settings.h"
#ifdef GLES3_ENABLED
#include "drivers/gles3/rasterizer_gles3.h"
#endif
@@ -298,10 +299,12 @@ const char *DisplayServerWeb::godot2dom_cursor(DisplayServer::CursorShape p_shap
}
bool DisplayServerWeb::tts_is_speaking() const {
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return godot_js_tts_is_speaking();
}
bool DisplayServerWeb::tts_is_paused() const {
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return godot_js_tts_is_paused();
}
@@ -320,11 +323,13 @@ void DisplayServerWeb::update_voices_callback(int p_size, const char **p_voice)
}
TypedArray<Dictionary> DisplayServerWeb::tts_get_voices() const {
+ ERR_FAIL_COND_V_MSG(!tts, TypedArray<Dictionary>(), "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
godot_js_tts_get_voices(update_voices_callback);
return voices;
}
void DisplayServerWeb::tts_speak(const String &p_text, const String &p_voice, int p_volume, float p_pitch, float p_rate, int p_utterance_id, bool p_interrupt) {
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
if (p_interrupt) {
tts_stop();
}
@@ -341,14 +346,17 @@ void DisplayServerWeb::tts_speak(const String &p_text, const String &p_voice, in
}
void DisplayServerWeb::tts_pause() {
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
godot_js_tts_pause();
}
void DisplayServerWeb::tts_resume() {
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
godot_js_tts_resume();
}
void DisplayServerWeb::tts_stop() {
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
for (const KeyValue<int, CharString> &E : utterance_ids) {
tts_post_utterance_event(DisplayServer::TTS_UTTERANCE_CANCELED, E.key);
}
@@ -771,6 +779,8 @@ DisplayServer *DisplayServerWeb::create_func(const String &p_rendering_driver, W
DisplayServerWeb::DisplayServerWeb(const String &p_rendering_driver, WindowMode p_window_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Point2i *p_position, const Size2i &p_resolution, int p_screen, Error &r_error) {
r_error = OK; // Always succeeds for now.
+ tts = GLOBAL_GET("audio/general/text_to_speech");
+
// Ensure the canvas ID.
godot_js_config_canvas_id_get(canvas_id, 256);
@@ -866,7 +876,7 @@ bool DisplayServerWeb::has_feature(Feature p_feature) const {
case FEATURE_VIRTUAL_KEYBOARD:
return godot_js_display_vk_available() != 0;
case FEATURE_TEXT_TO_SPEECH:
- return godot_js_display_tts_available() != 0;
+ return tts && (godot_js_display_tts_available() != 0);
default:
return false;
}
diff --git a/platform/web/display_server_web.h b/platform/web/display_server_web.h
index a72977e3c3..66ef243489 100644
--- a/platform/web/display_server_web.h
+++ b/platform/web/display_server_web.h
@@ -81,6 +81,7 @@ private:
MouseButton last_click_button_index = MouseButton::NONE;
bool swap_cancel_ok = false;
+ bool tts = false;
// utilities
static void dom2godot_mod(Ref<InputEventWithModifiers> ev, int p_mod, Key p_keycode);
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index 6735f2b663..f971846959 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -179,37 +179,37 @@ void DisplayServerWindows::_register_raw_input_devices(WindowID p_target_window)
}
bool DisplayServerWindows::tts_is_speaking() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return tts->is_speaking();
}
bool DisplayServerWindows::tts_is_paused() const {
- ERR_FAIL_COND_V(!tts, false);
+ ERR_FAIL_COND_V_MSG(!tts, false, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return tts->is_paused();
}
TypedArray<Dictionary> DisplayServerWindows::tts_get_voices() const {
- ERR_FAIL_COND_V(!tts, TypedArray<Dictionary>());
+ ERR_FAIL_COND_V_MSG(!tts, TypedArray<Dictionary>(), "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
return tts->get_voices();
}
void DisplayServerWindows::tts_speak(const String &p_text, const String &p_voice, int p_volume, float p_pitch, float p_rate, int p_utterance_id, bool p_interrupt) {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->speak(p_text, p_voice, p_volume, p_pitch, p_rate, p_utterance_id, p_interrupt);
}
void DisplayServerWindows::tts_pause() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->pause();
}
void DisplayServerWindows::tts_resume() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->resume();
}
void DisplayServerWindows::tts_stop() {
- ERR_FAIL_COND(!tts);
+ ERR_FAIL_COND_MSG(!tts, "Enable the \"audio/general/text_to_speech\" project setting to use text-to-speech.");
tts->stop();
}
@@ -4152,7 +4152,10 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
rendering_driver = p_rendering_driver;
// Init TTS
- tts = memnew(TTS_Windows);
+ bool tts_enabled = GLOBAL_GET("audio/general/text_to_speech");
+ if (tts_enabled) {
+ tts = memnew(TTS_Windows);
+ }
// Enforce default keep screen on value.
screen_set_keep_on(GLOBAL_GET("display/window/energy_saving/keep_screen_on"));
diff --git a/scene/2d/touch_screen_button.cpp b/scene/2d/touch_screen_button.cpp
index 4c8c4f1e16..7da2fc3cb3 100644
--- a/scene/2d/touch_screen_button.cpp
+++ b/scene/2d/touch_screen_button.cpp
@@ -42,7 +42,7 @@ void TouchScreenButton::set_texture_normal(const Ref<Texture2D> &p_texture) {
}
texture_normal = p_texture;
if (texture_normal.is_valid()) {
- texture_normal->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw));
+ texture_normal->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw), CONNECT_REFERENCE_COUNTED);
}
queue_redraw();
}
@@ -60,7 +60,7 @@ void TouchScreenButton::set_texture_pressed(const Ref<Texture2D> &p_texture_pres
}
texture_pressed = p_texture_pressed;
if (texture_pressed.is_valid()) {
- texture_pressed->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw));
+ texture_pressed->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw), CONNECT_REFERENCE_COUNTED);
}
queue_redraw();
}
diff --git a/scene/3d/skeleton_3d.cpp b/scene/3d/skeleton_3d.cpp
index 61e61ead5e..3b048dc4f2 100644
--- a/scene/3d/skeleton_3d.cpp
+++ b/scene/3d/skeleton_3d.cpp
@@ -932,18 +932,18 @@ void Skeleton3D::force_update_bone_children_transforms(int p_bone_idx) {
if (b.parent >= 0) {
b.pose_global = bonesptr[b.parent].pose_global * pose;
- b.pose_global_no_override = b.pose_global;
+ b.pose_global_no_override = bonesptr[b.parent].pose_global_no_override * pose;
} else {
b.pose_global = pose;
- b.pose_global_no_override = b.pose_global;
+ b.pose_global_no_override = pose;
}
} else {
if (b.parent >= 0) {
b.pose_global = bonesptr[b.parent].pose_global * b.rest;
- b.pose_global_no_override = b.pose_global;
+ b.pose_global_no_override = bonesptr[b.parent].pose_global_no_override * b.rest;
} else {
b.pose_global = b.rest;
- b.pose_global_no_override = b.pose_global;
+ b.pose_global_no_override = b.rest;
}
}
if (rest_dirty) {
diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp
index c6cb3873e0..5d4d58f283 100644
--- a/scene/animation/animation_tree.cpp
+++ b/scene/animation/animation_tree.cpp
@@ -116,7 +116,7 @@ void AnimationNode::blend_animation(const StringName &p_animation, double p_time
AnimationState anim_state;
anim_state.blend = p_blend;
- anim_state.track_blends = &blends;
+ anim_state.track_blends = blends;
anim_state.delta = p_delta;
anim_state.time = p_time;
anim_state.animation = animation;
@@ -1124,7 +1124,7 @@ void AnimationTree::_process_graph(double p_delta) {
ERR_CONTINUE(!state.track_map.has(path));
int blend_idx = state.track_map[path];
ERR_CONTINUE(blend_idx < 0 || blend_idx >= state.track_count);
- real_t blend = (*as.track_blends)[blend_idx] * weight;
+ real_t blend = (as.track_blends)[blend_idx] * weight;
Animation::TrackType ttype = a->track_get_type(i);
if (ttype != Animation::TYPE_POSITION_3D && ttype != Animation::TYPE_ROTATION_3D && ttype != Animation::TYPE_SCALE_3D && track->type != ttype) {
diff --git a/scene/animation/animation_tree.h b/scene/animation/animation_tree.h
index 8ee8d30014..0346fc42a7 100644
--- a/scene/animation/animation_tree.h
+++ b/scene/animation/animation_tree.h
@@ -68,7 +68,7 @@ public:
Ref<Animation> animation;
double time = 0.0;
double delta = 0.0;
- const Vector<real_t> *track_blends = nullptr;
+ Vector<real_t> track_blends;
real_t blend = 0.0;
bool seeked = false;
bool is_external_seeking = false;
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp
index 5e861ba45d..2a03786471 100644
--- a/scene/gui/color_picker.cpp
+++ b/scene/gui/color_picker.cpp
@@ -109,6 +109,13 @@ void ColorPicker::_notification(int p_what) {
picker_window->hide();
}
} break;
+
+ case NOTIFICATION_INTERNAL_PROCESS: {
+ if (!is_picking_color) {
+ return;
+ }
+ set_pick_color(DisplayServer::get_singleton()->screen_get_pixel(DisplayServer::get_singleton()->mouse_get_position()));
+ }
}
}
@@ -608,13 +615,14 @@ void ColorPicker::_update_presets() {
#ifdef TOOLS_ENABLED
if (editor_settings) {
- // Only load preset buttons when the only child is the add-preset button.
- if (preset_container->get_child_count() == 1) {
- for (int i = 0; i < preset_cache.size(); i++) {
- _add_preset_button(preset_size, preset_cache[i]);
- }
- _notification(NOTIFICATION_VISIBILITY_CHANGED);
+ // Rebuild swatch color buttons, keeping the add-preset button in the first position.
+ for (int i = 1; i < preset_container->get_child_count(); i++) {
+ preset_container->get_child(i)->queue_free();
}
+ for (int i = 0; i < preset_cache.size(); i++) {
+ _add_preset_button(preset_size, preset_cache[i]);
+ }
+ _notification(NOTIFICATION_VISIBILITY_CHANGED);
}
#endif
}
@@ -1421,30 +1429,6 @@ void ColorPicker::_recent_preset_pressed(const bool p_pressed, ColorPresetButton
emit_signal(SNAME("color_changed"), p_preset->get_preset_color());
}
-void ColorPicker::_picker_texture_input(const Ref<InputEvent> &p_event) {
- if (!is_inside_tree()) {
- return;
- }
-
- Ref<InputEventMouseButton> bev = p_event;
- if (bev.is_valid() && bev->get_button_index() == MouseButton::LEFT && !bev->is_pressed()) {
- set_pick_color(picker_color);
- emit_signal(SNAME("color_changed"), color);
- picker_window->hide();
- }
-
- Ref<InputEventMouseMotion> mev = p_event;
- if (mev.is_valid()) {
- Ref<Image> img = picker_texture_rect->get_texture()->get_image();
- if (img.is_valid() && !img->is_empty()) {
- Vector2 ofs = mev->get_position();
- picker_color = img->get_pixel(ofs.x, ofs.y);
- picker_preview_style_box->set_bg_color(picker_color);
- picker_preview_label->set_self_modulate(picker_color.get_luminance() < 0.5 ? Color(1.0f, 1.0f, 1.0f) : Color(0.0f, 0.0f, 0.0f));
- }
- }
-}
-
void ColorPicker::_text_changed(const String &) {
text_changed = true;
}
@@ -1455,6 +1439,34 @@ void ColorPicker::_add_preset_pressed() {
}
void ColorPicker::_pick_button_pressed() {
+ is_picking_color = true;
+ set_process_internal(true);
+
+ if (!picker_window) {
+ picker_window = memnew(Popup);
+ picker_window->set_size(Vector2i(1, 1));
+ picker_window->connect("visibility_changed", callable_mp(this, &ColorPicker::_pick_finished));
+ add_child(picker_window);
+ }
+ picker_window->popup();
+}
+
+void ColorPicker::_pick_finished() {
+ if (picker_window->is_visible()) {
+ return;
+ }
+
+ if (Input::get_singleton()->is_key_pressed(Key::ESCAPE)) {
+ set_pick_color(old_color);
+ } else {
+ emit_signal(SNAME("color_changed"), color);
+ }
+ is_picking_color = false;
+ set_process_internal(false);
+ picker_window->hide();
+}
+
+void ColorPicker::_pick_button_pressed_legacy() {
if (!is_inside_tree()) {
return;
}
@@ -1469,7 +1481,7 @@ void ColorPicker::_pick_button_pressed() {
picker_texture_rect->set_anchors_preset(Control::PRESET_FULL_RECT);
picker_window->add_child(picker_texture_rect);
picker_texture_rect->set_default_cursor_shape(CURSOR_POINTING_HAND);
- picker_texture_rect->connect(SNAME("gui_input"), callable_mp(this, &ColorPicker::_picker_texture_input));
+ picker_texture_rect->connect("gui_input", callable_mp(this, &ColorPicker::_picker_texture_input));
picker_preview = memnew(Panel);
picker_preview->set_anchors_preset(Control::PRESET_CENTER_TOP);
@@ -1529,6 +1541,30 @@ void ColorPicker::_pick_button_pressed() {
picker_window->popup();
}
+void ColorPicker::_picker_texture_input(const Ref<InputEvent> &p_event) {
+ if (!is_inside_tree()) {
+ return;
+ }
+
+ Ref<InputEventMouseButton> bev = p_event;
+ if (bev.is_valid() && bev->get_button_index() == MouseButton::LEFT && !bev->is_pressed()) {
+ set_pick_color(picker_color);
+ emit_signal(SNAME("color_changed"), color);
+ picker_window->hide();
+ }
+
+ Ref<InputEventMouseMotion> mev = p_event;
+ if (mev.is_valid()) {
+ Ref<Image> img = picker_texture_rect->get_texture()->get_image();
+ if (img.is_valid() && !img->is_empty()) {
+ Vector2 ofs = mev->get_position();
+ picker_color = img->get_pixel(ofs.x, ofs.y);
+ picker_preview_style_box->set_bg_color(picker_color);
+ picker_preview_label->set_self_modulate(picker_color.get_luminance() < 0.5 ? Color(1.0f, 1.0f, 1.0f) : Color(0.0f, 0.0f, 0.0f));
+ }
+ }
+}
+
void ColorPicker::_html_focus_exit() {
if (c_text->is_menu_visible()) {
return;
@@ -1692,8 +1728,14 @@ ColorPicker::ColorPicker() {
btn_pick = memnew(Button);
sample_hbc->add_child(btn_pick);
- btn_pick->set_tooltip_text(RTR("Pick a color from the application window."));
- btn_pick->connect(SNAME("pressed"), callable_mp(this, &ColorPicker::_pick_button_pressed));
+ if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SCREEN_CAPTURE)) {
+ btn_pick->set_tooltip_text(RTR("Pick a color from the screen."));
+ btn_pick->connect(SNAME("pressed"), callable_mp(this, &ColorPicker::_pick_button_pressed));
+ } else {
+ // On unsupported platforms, use a legacy method for color picking.
+ btn_pick->set_tooltip_text(RTR("Pick a color from the application window."));
+ btn_pick->connect(SNAME("pressed"), callable_mp(this, &ColorPicker::_pick_button_pressed_legacy));
+ }
sample = memnew(TextureRect);
sample_hbc->add_child(sample);
diff --git a/scene/gui/color_picker.h b/scene/gui/color_picker.h
index 018ae10955..711a371688 100644
--- a/scene/gui/color_picker.h
+++ b/scene/gui/color_picker.h
@@ -122,11 +122,13 @@ private:
Vector<ColorMode *> modes;
Popup *picker_window = nullptr;
+ // Legacy color picking.
TextureRect *picker_texture_rect = nullptr;
Panel *picker_preview = nullptr;
Label *picker_preview_label = nullptr;
Ref<StyleBoxFlat> picker_preview_style_box;
Color picker_color;
+
Control *uv_edit = nullptr;
Control *w_edit = nullptr;
AspectRatioContainer *wheel_edit = nullptr;
@@ -183,6 +185,7 @@ private:
Color color;
Color old_color;
+ bool is_picking_color = false;
bool display_old_color = false;
bool deferred_mode_enabled = false;
@@ -259,11 +262,14 @@ private:
void _line_edit_input(const Ref<InputEvent> &p_event);
void _preset_input(const Ref<InputEvent> &p_event, const Color &p_color);
void _recent_preset_pressed(const bool pressed, ColorPresetButton *p_preset);
- void _picker_texture_input(const Ref<InputEvent> &p_event);
void _text_changed(const String &p_new_text);
void _add_preset_pressed();
- void _pick_button_pressed();
void _html_focus_exit();
+ void _pick_button_pressed();
+ void _pick_finished();
+ // Legacy color picking.
+ void _pick_button_pressed_legacy();
+ void _picker_texture_input(const Ref<InputEvent> &p_event);
inline int _get_preset_size();
void _add_preset_button(int p_size, const Color &p_color);
diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp
index 185db1b972..e12180f2f9 100644
--- a/scene/gui/rich_text_label.cpp
+++ b/scene/gui/rich_text_label.cpp
@@ -277,7 +277,10 @@ float RichTextLabel::_resize_line(ItemFrame *p_frame, int p_line, const Ref<Font
l.offset.x = _find_margin(l.from, p_base_font, p_base_font_size);
l.text_buf->set_width(p_width - l.offset.x);
- if (tab_size > 0) { // Align inline tabs.
+ PackedFloat32Array tab_stops = _find_tab_stops(l.from);
+ if (!tab_stops.is_empty()) {
+ l.text_buf->tab_align(tab_stops);
+ } else if (tab_size > 0) { // Align inline tabs.
Vector<float> tabs;
tabs.push_back(tab_size * p_base_font->get_char_size(' ', p_base_font_size).width);
l.text_buf->tab_align(tabs);
@@ -481,7 +484,10 @@ float RichTextLabel::_shape_line(ItemFrame *p_frame, int p_line, const Ref<Font>
l.text_buf->set_alignment(_find_alignment(l.from));
l.text_buf->set_direction(_find_direction(l.from));
- if (tab_size > 0) { // Align inline tabs.
+ PackedFloat32Array tab_stops = _find_tab_stops(l.from);
+ if (!tab_stops.is_empty()) {
+ l.text_buf->tab_align(tab_stops);
+ } else if (tab_size > 0) { // Align inline tabs.
Vector<float> tabs;
tabs.push_back(tab_size * p_base_font->get_char_size(' ', p_base_font_size).width);
l.text_buf->tab_align(tabs);
@@ -2468,6 +2474,21 @@ BitField<TextServer::JustificationFlag> RichTextLabel::_find_jst_flags(Item *p_i
return default_jst_flags;
}
+PackedFloat32Array RichTextLabel::_find_tab_stops(Item *p_item) {
+ Item *item = p_item;
+
+ while (item) {
+ if (item->type == ITEM_PARAGRAPH) {
+ ItemParagraph *p = static_cast<ItemParagraph *>(item);
+ return p->tab_stops;
+ }
+
+ item = item->parent;
+ }
+
+ return PackedFloat32Array();
+}
+
HorizontalAlignment RichTextLabel::_find_alignment(Item *p_item) {
Item *item = p_item;
@@ -3312,7 +3333,7 @@ void RichTextLabel::push_strikethrough() {
_add_item(item, true);
}
-void RichTextLabel::push_paragraph(HorizontalAlignment p_alignment, Control::TextDirection p_direction, const String &p_language, TextServer::StructuredTextParser p_st_parser, BitField<TextServer::JustificationFlag> p_jst_flags) {
+void RichTextLabel::push_paragraph(HorizontalAlignment p_alignment, Control::TextDirection p_direction, const String &p_language, TextServer::StructuredTextParser p_st_parser, BitField<TextServer::JustificationFlag> p_jst_flags, const PackedFloat32Array &p_tab_stops) {
_stop_thread();
MutexLock data_lock(data_mutex);
@@ -3324,6 +3345,7 @@ void RichTextLabel::push_paragraph(HorizontalAlignment p_alignment, Control::Tex
item->language = p_language;
item->st_parser = p_st_parser;
item->jst_flags = p_jst_flags;
+ item->tab_stops = p_tab_stops;
_add_item(item, true, true);
}
@@ -4094,6 +4116,7 @@ void RichTextLabel::append_text(const String &p_bbcode) {
HorizontalAlignment alignment = HORIZONTAL_ALIGNMENT_LEFT;
Control::TextDirection dir = Control::TEXT_DIRECTION_INHERITED;
String lang;
+ PackedFloat32Array tab_stops;
TextServer::StructuredTextParser st_parser_type = TextServer::STRUCTURED_TEXT_DEFAULT;
BitField<TextServer::JustificationFlag> jst_flags = default_jst_flags;
for (int i = 0; i < subtag.size(); i++) {
@@ -4118,6 +4141,11 @@ void RichTextLabel::append_text(const String &p_bbcode) {
jst_flags.set_flag(TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE);
}
}
+ } else if (subtag_a[0] == "tab_stops") {
+ Vector<String> splitters;
+ splitters.push_back(",");
+ splitters.push_back(";");
+ tab_stops = subtag_a[1].split_floats_mk(splitters);
} else if (subtag_a[0] == "align") {
if (subtag_a[1] == "l" || subtag_a[1] == "left") {
alignment = HORIZONTAL_ALIGNMENT_LEFT;
@@ -4157,7 +4185,7 @@ void RichTextLabel::append_text(const String &p_bbcode) {
}
}
}
- push_paragraph(alignment, dir, lang, st_parser_type, jst_flags);
+ push_paragraph(alignment, dir, lang, st_parser_type, jst_flags, tab_stops);
pos = brk_end + 1;
tag_stack.push_front("p");
} else if (tag == "url") {
@@ -5406,7 +5434,7 @@ void RichTextLabel::_bind_methods() {
ClassDB::bind_method(D_METHOD("push_color", "color"), &RichTextLabel::push_color);
ClassDB::bind_method(D_METHOD("push_outline_size", "outline_size"), &RichTextLabel::push_outline_size);
ClassDB::bind_method(D_METHOD("push_outline_color", "color"), &RichTextLabel::push_outline_color);
- ClassDB::bind_method(D_METHOD("push_paragraph", "alignment", "base_direction", "language", "st_parser", "justification_flags"), &RichTextLabel::push_paragraph, DEFVAL(TextServer::DIRECTION_AUTO), DEFVAL(""), DEFVAL(TextServer::STRUCTURED_TEXT_DEFAULT), DEFVAL(TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_SKIP_LAST_LINE | TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE));
+ ClassDB::bind_method(D_METHOD("push_paragraph", "alignment", "base_direction", "language", "st_parser", "justification_flags", "tab_stops"), &RichTextLabel::push_paragraph, DEFVAL(TextServer::DIRECTION_AUTO), DEFVAL(""), DEFVAL(TextServer::STRUCTURED_TEXT_DEFAULT), DEFVAL(TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_SKIP_LAST_LINE | TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE), DEFVAL(PackedFloat32Array()));
ClassDB::bind_method(D_METHOD("push_indent", "level"), &RichTextLabel::push_indent);
ClassDB::bind_method(D_METHOD("push_list", "level", "type", "capitalize", "bullet"), &RichTextLabel::push_list, DEFVAL(String::utf8("•")));
ClassDB::bind_method(D_METHOD("push_meta", "data"), &RichTextLabel::push_meta);
diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h
index 3e3413d47a..f6cc9b2ac4 100644
--- a/scene/gui/rich_text_label.h
+++ b/scene/gui/rich_text_label.h
@@ -241,6 +241,7 @@ private:
Control::TextDirection direction = Control::TEXT_DIRECTION_AUTO;
TextServer::StructuredTextParser st_parser = TextServer::STRUCTURED_TEXT_DEFAULT;
BitField<TextServer::JustificationFlag> jst_flags = TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_SKIP_LAST_LINE | TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE;
+ PackedFloat32Array tab_stops;
ItemParagraph() { type = ITEM_PARAGRAPH; }
};
@@ -493,6 +494,7 @@ private:
ItemDropcap *_find_dc_item(Item *p_item);
int _find_list(Item *p_item, Vector<int> &r_index, Vector<ItemList *> &r_list);
int _find_margin(Item *p_item, const Ref<Font> &p_base_font, int p_base_font_size);
+ PackedFloat32Array _find_tab_stops(Item *p_item);
HorizontalAlignment _find_alignment(Item *p_item);
BitField<TextServer::JustificationFlag> _find_jst_flags(Item *p_item);
TextServer::Direction _find_direction(Item *p_item);
@@ -596,7 +598,7 @@ public:
void push_outline_color(const Color &p_color);
void push_underline();
void push_strikethrough();
- void push_paragraph(HorizontalAlignment p_alignment, Control::TextDirection p_direction = Control::TEXT_DIRECTION_INHERITED, const String &p_language = "", TextServer::StructuredTextParser p_st_parser = TextServer::STRUCTURED_TEXT_DEFAULT, BitField<TextServer::JustificationFlag> p_jst_flags = TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_SKIP_LAST_LINE | TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE);
+ void push_paragraph(HorizontalAlignment p_alignment, Control::TextDirection p_direction = Control::TEXT_DIRECTION_INHERITED, const String &p_language = "", TextServer::StructuredTextParser p_st_parser = TextServer::STRUCTURED_TEXT_DEFAULT, BitField<TextServer::JustificationFlag> p_jst_flags = TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_SKIP_LAST_LINE | TextServer::JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE, const PackedFloat32Array &p_tab_stops = PackedFloat32Array());
void push_indent(int p_level);
void push_list(int p_level, ListType p_list, bool p_capitalize, const String &p_bullet = String::utf8("•"));
void push_meta(const Variant &p_meta);
diff --git a/scene/gui/slider.cpp b/scene/gui/slider.cpp
index b9efa449cb..6e3f1775bc 100644
--- a/scene/gui/slider.cpp
+++ b/scene/gui/slider.cpp
@@ -294,6 +294,7 @@ void Slider::set_editable(bool p_editable) {
if (editable == p_editable) {
return;
}
+ grab.active = false;
editable = p_editable;
queue_redraw();
diff --git a/scene/resources/curve.cpp b/scene/resources/curve.cpp
index 97ab91e26d..a0bd22c79b 100644
--- a/scene/resources/curve.cpp
+++ b/scene/resources/curve.cpp
@@ -452,7 +452,7 @@ void Curve::bake() {
_baked_cache.resize(_bake_resolution);
for (int i = 1; i < _bake_resolution - 1; ++i) {
- real_t x = i / static_cast<real_t>(_bake_resolution);
+ real_t x = i / static_cast<real_t>(_bake_resolution - 1);
real_t y = sample(x);
_baked_cache.write[i] = y;
}
@@ -489,7 +489,7 @@ real_t Curve::sample_baked(real_t p_offset) const {
}
// Get interpolation index
- real_t fi = p_offset * _baked_cache.size();
+ real_t fi = p_offset * (_baked_cache.size() - 1);
int i = Math::floor(fi);
if (i < 0) {
i = 0;
diff --git a/servers/physics_3d/godot_shape_3d.cpp b/servers/physics_3d/godot_shape_3d.cpp
index 50154a85ec..a2276d8dec 100644
--- a/servers/physics_3d/godot_shape_3d.cpp
+++ b/servers/physics_3d/godot_shape_3d.cpp
@@ -52,11 +52,18 @@ subject to the following restrictions:
3. This notice may not be removed or altered from any source distribution.
*/
-const double support_threshold = 0.9998;
-const double support_threshold_lower = Math::sqrt(1.0 - support_threshold * support_threshold);
-
-const double cylinder_support_threshold = 0.999;
-const double cylinder_support_threshold_lower = Math::sqrt(1.0 - cylinder_support_threshold * cylinder_support_threshold);
+const double edge_support_threshold = 0.99999998;
+const double edge_support_threshold_lower = Math::sqrt(1.0 - edge_support_threshold * edge_support_threshold);
+// For a unit normal vector n, the horizontality condition
+// sqrt(n.x * n.x + n.z * n.z) > edge_support_threshold
+// is equivalent to the condition
+// abs(n.y) < edge_support_threshold_lower,
+// which is cheaper to test.
+const double face_support_threshold = 0.9998;
+
+const double cylinder_edge_support_threshold = 0.999998;
+const double cylinder_edge_support_threshold_lower = Math::sqrt(1.0 - cylinder_edge_support_threshold * cylinder_edge_support_threshold);
+const double cylinder_face_support_threshold = 0.999;
void GodotShape3D::configure(const AABB &p_aabb) {
aabb = p_aabb;
@@ -184,7 +191,7 @@ Vector3 GodotSeparationRayShape3D::get_support(const Vector3 &p_normal) const {
}
void GodotSeparationRayShape3D::get_supports(const Vector3 &p_normal, int p_max, Vector3 *r_supports, int &r_amount, FeatureType &r_type) const {
- if (Math::abs(p_normal.z) < support_threshold_lower) {
+ if (Math::abs(p_normal.z) < edge_support_threshold_lower) {
r_amount = 2;
r_type = FEATURE_EDGE;
r_supports[0] = Vector3(0, 0, 0);
@@ -335,7 +342,7 @@ void GodotBoxShape3D::get_supports(const Vector3 &p_normal, int p_max, Vector3 *
Vector3 axis;
axis[i] = 1.0;
real_t dot = p_normal.dot(axis);
- if (Math::abs(dot) > support_threshold) {
+ if (Math::abs(dot) > face_support_threshold) {
//Vector3 axis_b;
bool neg = dot < 0;
@@ -376,7 +383,7 @@ void GodotBoxShape3D::get_supports(const Vector3 &p_normal, int p_max, Vector3 *
Vector3 axis;
axis[i] = 1.0;
- if (Math::abs(p_normal.dot(axis)) < support_threshold_lower) {
+ if (Math::abs(p_normal.dot(axis)) < edge_support_threshold_lower) {
r_amount = 2;
r_type = FEATURE_EDGE;
@@ -523,7 +530,7 @@ void GodotCapsuleShape3D::get_supports(const Vector3 &p_normal, int p_max, Vecto
real_t d = n.y;
real_t h = height * 0.5 - radius; // half-height of the cylinder part
- if (h > 0 && Math::abs(d) < support_threshold_lower) {
+ if (h > 0 && Math::abs(d) < edge_support_threshold_lower) {
// make it flat
n.y = 0.0;
n.normalize();
@@ -701,7 +708,7 @@ Vector3 GodotCylinderShape3D::get_support(const Vector3 &p_normal) const {
void GodotCylinderShape3D::get_supports(const Vector3 &p_normal, int p_max, Vector3 *r_supports, int &r_amount, FeatureType &r_type) const {
real_t d = p_normal.y;
- if (Math::abs(d) > cylinder_support_threshold) {
+ if (Math::abs(d) > cylinder_face_support_threshold) {
real_t h = (d > 0) ? height : -height;
Vector3 n = p_normal;
@@ -716,7 +723,7 @@ void GodotCylinderShape3D::get_supports(const Vector3 &p_normal, int p_max, Vect
r_supports[1].x += radius;
r_supports[2] = n;
r_supports[2].z += radius;
- } else if (Math::abs(d) < cylinder_support_threshold_lower) {
+ } else if (Math::abs(d) < cylinder_edge_support_threshold_lower) {
// make it flat
Vector3 n = p_normal;
n.y = 0.0;
@@ -925,7 +932,7 @@ void GodotConvexPolygonShape3D::get_supports(const Vector3 &p_normal, int p_max,
}
for (int i = 0; i < fc; i++) {
- if (faces[i].plane.normal.dot(p_normal) > support_threshold) {
+ if (faces[i].plane.normal.dot(p_normal) > face_support_threshold) {
int ic = faces[i].indices.size();
const int *ind = faces[i].indices.ptr();
@@ -954,7 +961,7 @@ void GodotConvexPolygonShape3D::get_supports(const Vector3 &p_normal, int p_max,
for (int i = 0; i < ec; i++) {
real_t dot = (vertices[edges[i].vertex_a] - vertices[edges[i].vertex_b]).normalized().dot(p_normal);
dot = ABS(dot);
- if (dot < support_threshold_lower && (edges[i].vertex_a == vtx || edges[i].vertex_b == vtx)) {
+ if (dot < edge_support_threshold_lower && (edges[i].vertex_a == vtx || edges[i].vertex_b == vtx)) {
r_amount = 2;
r_type = FEATURE_EDGE;
r_supports[0] = vertices[edges[i].vertex_a];
@@ -1197,7 +1204,7 @@ void GodotFaceShape3D::get_supports(const Vector3 &p_normal, int p_max, Vector3
Vector3 n = p_normal;
/** TEST FACE AS SUPPORT **/
- if (Math::abs(normal.dot(n)) > support_threshold) {
+ if (Math::abs(normal.dot(n)) > face_support_threshold) {
r_amount = 3;
r_type = FEATURE_FACE;
for (int i = 0; i < 3; i++) {
@@ -1231,7 +1238,7 @@ void GodotFaceShape3D::get_supports(const Vector3 &p_normal, int p_max, Vector3
// check if edge is valid as a support
real_t dot = (vertex[i] - vertex[nx]).normalized().dot(n);
dot = ABS(dot);
- if (dot < support_threshold_lower) {
+ if (dot < edge_support_threshold_lower) {
r_amount = 2;
r_type = FEATURE_EDGE;
r_supports[0] = vertex[i];
diff --git a/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp b/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp
index c161d3ffb0..0cc08975a5 100644
--- a/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp
+++ b/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp
@@ -692,7 +692,7 @@ void fragment() {
shader_type spatial;
-render_mode debug_shadow_splits.
+render_mode debug_shadow_splits;
void fragment() {
ALBEDO = vec3(1.0, 1.0, 1.0);
diff --git a/tests/core/threads/test_worker_thread_pool.h b/tests/core/threads/test_worker_thread_pool.h
index 3d5372658e..e9a762b57b 100644
--- a/tests/core/threads/test_worker_thread_pool.h
+++ b/tests/core/threads/test_worker_thread_pool.h
@@ -37,120 +37,73 @@
namespace TestWorkerThreadPool {
-int u32scmp(const char32_t *l, const char32_t *r) {
- for (; *l == *r && *l && *r; l++, r++) {
- // Continue.
- }
- return *l - *r;
-}
+static LocalVector<SafeNumeric<int>> counter;
static void static_test(void *p_arg) {
- SafeNumeric<uint32_t> *counter = (SafeNumeric<uint32_t> *)p_arg;
- counter->increment();
+ counter[(uint64_t)p_arg].increment();
+ counter[0].add(2);
}
-
-static SafeNumeric<uint32_t> callable_counter;
-
static void static_callable_test() {
- callable_counter.increment();
-}
-
-TEST_CASE("[WorkerThreadPool] Process 256 threads using native task") {
- const int count = 256;
- SafeNumeric<uint32_t> counter;
- WorkerThreadPool::TaskID tasks[count];
- for (int i = 0; i < count; i++) {
- tasks[i] = WorkerThreadPool::get_singleton()->add_native_task(static_test, &counter, true);
- }
- for (int i = 0; i < count; i++) {
- WorkerThreadPool::get_singleton()->wait_for_task_completion(tasks[i]);
- }
-
- CHECK(counter.get() == count);
-}
-
-TEST_CASE("[WorkerThreadPool] Process 256 threads using native low priority") {
- const int count = 256;
- SafeNumeric<uint32_t> counter = SafeNumeric<uint32_t>(0);
- WorkerThreadPool::TaskID tasks[count];
- for (int i = 0; i < count; i++) {
- tasks[i] = WorkerThreadPool::get_singleton()->add_native_task(static_test, &counter, false);
- }
- for (int i = 0; i < count; i++) {
- WorkerThreadPool::get_singleton()->wait_for_task_completion(tasks[i]);
- }
-
- CHECK(counter.get() == count);
-}
-
-TEST_CASE("[WorkerThreadPool] Process 256 threads using callable") {
- const int count = 256;
- WorkerThreadPool::TaskID tasks[count];
- callable_counter.set(0);
- for (int i = 0; i < count; i++) {
- tasks[i] = WorkerThreadPool::get_singleton()->add_task(callable_mp_static(static_callable_test), true);
- }
- for (int i = 0; i < count; i++) {
- WorkerThreadPool::get_singleton()->wait_for_task_completion(tasks[i]);
- }
-
- CHECK(callable_counter.get() == count);
+ counter[0].sub(2);
}
-
-TEST_CASE("[WorkerThreadPool] Process 256 threads using callable low priority") {
- const int count = 256;
- WorkerThreadPool::TaskID tasks[count];
- callable_counter.set(0);
- for (int i = 0; i < count; i++) {
- tasks[i] = WorkerThreadPool::get_singleton()->add_task(callable_mp_static(static_callable_test), false);
+TEST_CASE("[WorkerThreadPool] Process threads using individual tasks") {
+ for (int iterations = 0; iterations < 500; iterations++) {
+ const int count = Math::pow(2.0f, Math::random(0.0f, 5.0f));
+ const bool low_priority = Math::rand() % 2;
+
+ LocalVector<WorkerThreadPool::TaskID> tasks1;
+ LocalVector<WorkerThreadPool::TaskID> tasks2;
+ tasks1.resize(count);
+ tasks2.resize(count);
+
+ counter.clear();
+ counter.resize(count);
+ for (int i = 0; i < count; i++) {
+ tasks1[i] = WorkerThreadPool::get_singleton()->add_native_task(static_test, (void *)(uintptr_t)i, low_priority);
+ tasks2[i] = WorkerThreadPool::get_singleton()->add_task(callable_mp_static(static_callable_test), !low_priority);
+ }
+ for (int i = 0; i < count; i++) {
+ WorkerThreadPool::get_singleton()->wait_for_task_completion(tasks1[i]);
+ WorkerThreadPool::get_singleton()->wait_for_task_completion(tasks2[i]);
+ }
+
+ bool all_run_once = true;
+ for (int i = 0; i < count; i++) {
+ //Reduce number of check messages
+ all_run_once &= counter[i].get() == 1;
+ }
+ CHECK(all_run_once);
}
- for (int i = 0; i < count; i++) {
- WorkerThreadPool::get_singleton()->wait_for_task_completion(tasks[i]);
- }
-
- CHECK(callable_counter.get() == count);
}
static void static_group_test(void *p_arg, uint32_t p_index) {
- SafeNumeric<uint32_t> *counter = (SafeNumeric<uint32_t> *)p_arg;
- counter->exchange_if_greater(p_index);
-}
-
-TEST_CASE("[WorkerThreadPool] Process 256 elements on native task group") {
- const int count = 256;
- SafeNumeric<uint32_t> counter;
- WorkerThreadPool::GroupID group = WorkerThreadPool::get_singleton()->add_native_group_task(static_group_test, &counter, count, -1, true);
- WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group);
- CHECK(counter.get() == count - 1);
+ counter[p_index].increment();
+ counter[0].add((uintptr_t)p_arg);
}
-
-TEST_CASE("[WorkerThreadPool] Process 256 elements on native task group low priority") {
- const int count = 256;
- SafeNumeric<uint32_t> counter;
- WorkerThreadPool::GroupID group = WorkerThreadPool::get_singleton()->add_native_group_task(static_group_test, &counter, count, -1, false);
- WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group);
- CHECK(counter.get() == count - 1);
-}
-
-static SafeNumeric<uint32_t> callable_group_counter;
-
static void static_callable_group_test(uint32_t p_index) {
- callable_group_counter.exchange_if_greater(p_index);
+ counter[p_index].increment();
+ counter[0].sub(2);
}
-
-TEST_CASE("[WorkerThreadPool] Process 256 elements on native task group") {
- const int count = 256;
- WorkerThreadPool::GroupID group = WorkerThreadPool::get_singleton()->add_group_task(callable_mp_static(static_callable_group_test), count, -1, true);
- WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group);
- CHECK(callable_group_counter.get() == count - 1);
-}
-
-TEST_CASE("[WorkerThreadPool] Process 256 elements on native task group low priority") {
- const int count = 256;
- callable_group_counter.set(0);
- WorkerThreadPool::GroupID group = WorkerThreadPool::get_singleton()->add_group_task(callable_mp_static(static_callable_group_test), count, -1, false);
- WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group);
- CHECK(callable_group_counter.get() == count - 1);
+TEST_CASE("[WorkerThreadPool] Process elements using group tasks") {
+ for (int iterations = 0; iterations < 500; iterations++) {
+ const int count = Math::pow(2.0f, Math::random(0.0f, 5.0f));
+ const int tasks = Math::pow(2.0f, Math::random(0.0f, 5.0f));
+ const bool low_priority = Math::rand() % 2;
+
+ counter.clear();
+ counter.resize(count);
+ WorkerThreadPool::GroupID group1 = WorkerThreadPool::get_singleton()->add_native_group_task(static_group_test, (void *)2, count, tasks, !low_priority);
+ WorkerThreadPool::GroupID group2 = WorkerThreadPool::get_singleton()->add_group_task(callable_mp_static(static_callable_group_test), count, tasks, low_priority);
+ WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group1);
+ WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group2);
+
+ bool all_run_once = true;
+ for (int i = 0; i < count; i++) {
+ //Reduce number of check messages
+ all_run_once &= counter[i].get() == 2;
+ }
+ CHECK(all_run_once);
+ }
}
} // namespace TestWorkerThreadPool
diff --git a/tests/scene/test_curve.h b/tests/scene/test_curve.h
index bfa37e8f69..d67550f9f7 100644
--- a/tests/scene/test_curve.h
+++ b/tests/scene/test_curve.h
@@ -62,6 +62,7 @@ TEST_CASE("[Curve] Custom curve with free tangents") {
curve->add_point(Vector2(0.25, 1));
curve->add_point(Vector2(0.5, 0));
curve->add_point(Vector2(0.75, 1));
+ curve->set_bake_resolution(11);
CHECK_MESSAGE(
Math::is_zero_approx(curve->get_point_left_tangent(0)),
@@ -82,41 +83,41 @@ TEST_CASE("[Curve] Custom curve with free tangents") {
CHECK_MESSAGE(
Math::is_zero_approx(curve->sample(-0.1)),
- "Custom free curve should return the expected value at offset 0.1.");
+ "Custom free curve should return the expected value at offset -0.1.");
CHECK_MESSAGE(
curve->sample(0.1) == doctest::Approx((real_t)0.352),
"Custom free curve should return the expected value at offset 0.1.");
CHECK_MESSAGE(
curve->sample(0.4) == doctest::Approx((real_t)0.352),
- "Custom free curve should return the expected value at offset 0.1.");
+ "Custom free curve should return the expected value at offset 0.4.");
CHECK_MESSAGE(
curve->sample(0.7) == doctest::Approx((real_t)0.896),
- "Custom free curve should return the expected value at offset 0.1.");
+ "Custom free curve should return the expected value at offset 0.7.");
CHECK_MESSAGE(
curve->sample(1) == doctest::Approx(1),
- "Custom free curve should return the expected value at offset 0.1.");
+ "Custom free curve should return the expected value at offset 1.");
CHECK_MESSAGE(
curve->sample(2) == doctest::Approx(1),
- "Custom free curve should return the expected value at offset 0.1.");
+ "Custom free curve should return the expected value at offset 2.");
CHECK_MESSAGE(
Math::is_zero_approx(curve->sample_baked(-0.1)),
- "Custom free curve should return the expected baked value at offset 0.1.");
+ "Custom free curve should return the expected baked value at offset -0.1.");
CHECK_MESSAGE(
curve->sample_baked(0.1) == doctest::Approx((real_t)0.352),
"Custom free curve should return the expected baked value at offset 0.1.");
CHECK_MESSAGE(
curve->sample_baked(0.4) == doctest::Approx((real_t)0.352),
- "Custom free curve should return the expected baked value at offset 0.1.");
+ "Custom free curve should return the expected baked value at offset 0.4.");
CHECK_MESSAGE(
curve->sample_baked(0.7) == doctest::Approx((real_t)0.896),
- "Custom free curve should return the expected baked value at offset 0.1.");
+ "Custom free curve should return the expected baked value at offset 0.7.");
CHECK_MESSAGE(
curve->sample_baked(1) == doctest::Approx(1),
- "Custom free curve should return the expected baked value at offset 0.1.");
+ "Custom free curve should return the expected baked value at offset 1.");
CHECK_MESSAGE(
curve->sample_baked(2) == doctest::Approx(1),
- "Custom free curve should return the expected baked value at offset 0.1.");
+ "Custom free curve should return the expected baked value at offset 2.");
curve->remove_point(1);
CHECK_MESSAGE(
@@ -218,6 +219,16 @@ TEST_CASE("[Curve] Custom curve with linear tangents") {
"Custom free curve should return the expected baked value at offset 0.7 after removing point at invalid index 10.");
}
+TEST_CASE("[Curve] Straight line offset test") {
+ Ref<Curve> curve = memnew(Curve);
+ curve->add_point(Vector2(0, 0));
+ curve->add_point(Vector2(1, 1));
+
+ CHECK_MESSAGE(
+ curve->sample_baked(1.0 - (0.5 / curve->get_bake_resolution())) != curve->sample_baked(1),
+ "Straight line curve should return different baked values at offset 1 vs offset (1 - 0.5 / bake resolution) .");
+}
+
TEST_CASE("[Curve2D] Linear sampling should return exact value") {
Ref<Curve2D> curve = memnew(Curve2D);
real_t len = 2048.0;
diff --git a/tests/test_main.cpp b/tests/test_main.cpp
index 6b6257e25d..05d7df038c 100644
--- a/tests/test_main.cpp
+++ b/tests/test_main.cpp
@@ -202,7 +202,7 @@ struct GodotTestCaseListener : public doctest::IReporter {
ThemeDB *theme_db = nullptr;
void test_case_start(const doctest::TestCaseData &p_in) override {
- SignalWatcher::get_singleton()->_clear_signals();
+ reinitialize();
String name = String(p_in.m_name);
String suite_name = String(p_in.m_test_suite);
@@ -343,11 +343,11 @@ struct GodotTestCaseListener : public doctest::IReporter {
}
void test_case_reenter(const doctest::TestCaseData &) override {
- SignalWatcher::get_singleton()->_clear_signals();
+ reinitialize();
}
void subcase_start(const doctest::SubcaseSignature &) override {
- SignalWatcher::get_singleton()->_clear_signals();
+ reinitialize();
}
void report_query(const doctest::QueryData &) override {}
@@ -357,6 +357,12 @@ struct GodotTestCaseListener : public doctest::IReporter {
void log_assert(const doctest::AssertData &in) override {}
void log_message(const doctest::MessageData &) override {}
void test_case_skipped(const doctest::TestCaseData &) override {}
+
+private:
+ void reinitialize() {
+ Math::seed(0x60d07);
+ SignalWatcher::get_singleton()->_clear_signals();
+ }
};
REGISTER_LISTENER("GodotTestCaseListener", 1, GodotTestCaseListener);
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 9862729ea3..b315d89f4e 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -364,6 +364,8 @@ Files extracted from upstream source:
- `src/` and `sharpyuv/` except from: `.am`, `.rc` and `.in` files
- `AUTHORS`, `COPYING`, `PATENTS`
+Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class in the MSVC debugger.
+
## mbedtls
diff --git a/thirdparty/libwebp/godot-node-debug-fix.patch b/thirdparty/libwebp/godot-node-debug-fix.patch
new file mode 100644
index 0000000000..848664dccf
--- /dev/null
+++ b/thirdparty/libwebp/godot-node-debug-fix.patch
@@ -0,0 +1,16 @@
+diff --git a/thirdparty/libwebp/src/enc/quant_enc.c b/thirdparty/libwebp/src/enc/quant_enc.c
+index 6d8202d277..8f9a3c8668 100644
+--- a/src/enc/quant_enc.c
++++ b/src/enc/quant_enc.c
+@@ -556,6 +556,11 @@ static void AddScore(VP8ModeScore* WEBP_RESTRICT const dst,
+ //------------------------------------------------------------------------------
+ // Performs trellis-optimized quantization.
+
++// -- GODOT start --
++// Prevents Visual Studio debugger from using this Node struct in place of the Godot Node class.
++#define Node Node_libwebp_quant
++// -- GODOT end --
++
+ // Trellis node
+ typedef struct {
+ int8_t prev; // best previous node
diff --git a/thirdparty/libwebp/src/enc/quant_enc.c b/thirdparty/libwebp/src/enc/quant_enc.c
index 6d8202d277..8f9a3c8668 100644
--- a/thirdparty/libwebp/src/enc/quant_enc.c
+++ b/thirdparty/libwebp/src/enc/quant_enc.c
@@ -556,6 +556,11 @@ static void AddScore(VP8ModeScore* WEBP_RESTRICT const dst,
//------------------------------------------------------------------------------
// Performs trellis-optimized quantization.
+// -- GODOT start --
+// Prevents Visual Studio debugger from using this Node struct in place of the Godot Node class.
+#define Node Node_libwebp_quant
+// -- GODOT end --
+
// Trellis node
typedef struct {
int8_t prev; // best previous node