diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-07 11:52:38 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-07 11:52:38 +0200 |
commit | e001bc75e8b9395186579e49620764fd05a2f97a (patch) | |
tree | 74c432b64dc76c60666bbe05f5d6ad968575a409 /doc/translations/zh_TW.po | |
parent | 107fd30ae7bbf0a1bacc6f461231b3c31e94a7de (diff) | |
download | redot-engine-e001bc75e8b9395186579e49620764fd05a2f97a.tar.gz |
i18n: Sync translations with Weblate
Diffstat (limited to 'doc/translations/zh_TW.po')
-rw-r--r-- | doc/translations/zh_TW.po | 5934 |
1 files changed, 184 insertions, 5750 deletions
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po index f1699712bf..638f8c86fd 100644 --- a/doc/translations/zh_TW.po +++ b/doc/translations/zh_TW.po @@ -247,48 +247,6 @@ msgstr "" "請使用 [method Color.is_equal_approx] 進行比較,避免浮點數精度誤差。" msgid "" -"Asserts that the [param condition] is [code]true[/code]. If the [param " -"condition] is [code]false[/code], an error is generated. When running from " -"the editor, the running project will also be paused until you resume it. This " -"can be used as a stronger form of [method @GlobalScope.push_error] for " -"reporting errors to project developers or add-on users.\n" -"An optional [param message] can be shown in addition to the generic " -"\"Assertion failed\" message. You can use this to provide additional details " -"about why the assertion failed.\n" -"[b]Warning:[/b] For performance reasons, the code inside [method assert] is " -"only executed in debug builds or when running the project from the editor. " -"Don't include code that has side effects in an [method assert] call. " -"Otherwise, the project will behave differently when exported in release " -"mode.\n" -"[codeblock]\n" -"# Imagine we always want speed to be between 0 and 20.\n" -"var speed = -10\n" -"assert(speed < 20) # True, the program will continue.\n" -"assert(speed >= 0) # False, the program will stop.\n" -"assert(speed >= 0 and speed < 20) # You can also combine the two conditional " -"statements in one check.\n" -"assert(speed < 20, \"the speed limit is 20\") # Show a message.\n" -"[/codeblock]" -msgstr "" -"判斷提示條件 [param condition] 為 [code]true[/code]。如果條件 [param " -"condition] 為 [code]false[/code] ,則會生成錯誤。如果是從編輯器運作的,正在運" -"作的專案還會被暫停,直到手動恢復。該函式可以作為 [method @GlobalScope." -"push_error] 的加強版,用於向專案開發者和外掛程式使用者報告有錯。\n" -"如果給出了可選的 [param message] 參數,該資訊會和通用的“Assertion failed”消息" -"一起顯示。你可以使用它來提供關於判斷提示失敗原因的其他詳細資訊。\n" -"[b]警告:[/b]出於對性能的考慮,[method assert] 中的程式碼只會在除錯版本或者從" -"編輯器運作專案時執行。請勿在 [method assert] 呼叫中加入具有副作用的程式碼。否" -"則,專案在以發行模式匯出後將有不一致的行為。\n" -"[codeblock]\n" -"# 比如說我們希望 speed 始終在 0 和 20 之間。\n" -"speed = -10\n" -"assert(speed < 20) # True,程式會繼續執行\n" -"assert(speed >= 0) # False,程式會停止\n" -"assert(speed >= 0 and speed < 20) # 你還可以在單次檢查中合併兩個條件陳述式\n" -"assert(speed < 20, \"限速為 20\") # 顯示消息。\n" -"[/codeblock]" - -msgid "" "Returns a single character (as a [String]) of the given Unicode code point " "(which is compatible with ASCII code).\n" "[codeblock]\n" @@ -312,294 +270,6 @@ msgstr "" "Object 實例。在反序列化時可能很有用。" msgid "" -"Returns an array of dictionaries representing the current call stack. See " -"also [method print_stack].\n" -"[codeblock]\n" -"func _ready():\n" -" foo()\n" -"\n" -"func foo():\n" -" bar()\n" -"\n" -"func bar():\n" -" print(get_stack())\n" -"[/codeblock]\n" -"Starting from [code]_ready()[/code], [code]bar()[/code] would print:\n" -"[codeblock]\n" -"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, " -"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n" -"[/codeblock]\n" -"[b]Note:[/b] This function only works if the running instance is connected to " -"a debugging server (i.e. an editor instance). [method get_stack] will not " -"work in projects exported in release mode, or in projects exported in debug " -"mode if not connected to a debugging server.\n" -"[b]Note:[/b] Calling this function from a [Thread] is not supported. Doing so " -"will return an empty array." -msgstr "" -"返回一個表示目前呼叫堆疊的字典陣列。另請參閱 [method print_stack]。\n" -"[codeblock]\n" -"func _ready():\n" -" foo()\n" -"\n" -"func foo():\n" -" bar()\n" -"\n" -"func bar():\n" -" print(get_stack())\n" -"[/codeblock]\n" -"從 [code]_ready()[/code] 開始,[code]bar()[/code] 將列印:\n" -"[codeblock]\n" -"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, " -"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n" -"[/codeblock]\n" -"[b]注意:[/b]只有在運作的實例連接到除錯伺服器(即編輯器實例)後,該函式才有" -"效。[method get_stack] 不適用於以發行模式匯出的專案;或者在未連接到除錯伺服器" -"的情況下,以除錯模式匯出的專案。\n" -"[b]注意:[/b]不支援從 [Thread] 呼叫此函式。這樣做將返回一個空陣列。" - -msgid "" -"Returns the passed [param instance] converted to a Dictionary. Can be useful " -"for serializing.\n" -"[b]Note:[/b] Cannot be used to serialize objects with built-in scripts " -"attached or objects allocated within built-in scripts.\n" -"[codeblock]\n" -"var foo = \"bar\"\n" -"func _ready():\n" -" var d = inst_to_dict(self)\n" -" print(d.keys())\n" -" print(d.values())\n" -"[/codeblock]\n" -"Prints out:\n" -"[codeblock]\n" -"[@subpath, @path, foo]\n" -"[, res://test.gd, bar]\n" -"[/codeblock]" -msgstr "" -"返回傳入的 [param instance] 轉換為的字典。可用於序列化。\n" -"[b]注意:[/b]不能用於序列化附加了內建腳本的物件,或在內建腳本中分配的對象。\n" -"[codeblock]\n" -"var foo = \"bar\"\n" -"func _ready():\n" -" var d = inst_to_dict(self)\n" -" print(d.keys())\n" -" print(d.values())\n" -"[/codeblock]\n" -"輸出:\n" -"[codeblock]\n" -"[@subpath, @path, foo]\n" -"[, res://test.gd, bar]\n" -"[/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 a runtime error.\n" -"See also [method @GlobalScope.typeof], [method type_exists], [method Array." -"is_same_typed] (and other [Array] methods)." -msgstr "" -"如果 [param value] 為 [param type] 型別的實例,則返回 [code]true[/code]。" -"[param type] 的值必須為下列值之一:\n" -"- [enum Variant.Type] 列舉常數,例如 [constant TYPE_INT]。\n" -"- [ClassDB] 中存在的衍生自 [Object] 的類,例如 [Node]。\n" -"- [Script](可以用任何類,包括內部類)。\n" -"[param type] 可以不是常數,這一點與 [code]is[/code] 的右運算元不同。[code]is[/" -"code] 運算子支援的功能更多(例如型別化陣列),性能也更高。如果你不需要動態型別" -"檢查,請使用該運算子,不要使用此方法。\n" -"範例:\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]注意:[/b]如果 [param value] 和/或 [param type] 為已釋放的對象(見 [method " -"@GlobalScope.is_instance_valid]),或者 [param type] 不是以上選項之一,則此方" -"法會報執行階段錯誤。\n" -"另見 [method @GlobalScope.typeof]、[method type_exists]、[method Array." -"is_same_typed](以及其他 [Array] 方法)。" - -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 " -"requires [param path] to be a constant [String]. If you want to load a " -"resource from a dynamic/variable path, use [method load].\n" -"[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource " -"in the Assets Panel and choosing \"Copy Path\", or by dragging the file from " -"the FileSystem dock into the current script.\n" -"[codeblock]\n" -"# Create instance of a scene.\n" -"var diamond = preload(\"res://diamond.tscn\").instantiate()\n" -"[/codeblock]" -msgstr "" -"返回一個位於檔案系統絕對路徑[param path] 的 [Resource]。在運作時,該資源將在解" -"析腳本時載入。實際可以將這個函式視作對該資源的引用。請注意,此函式要求 [param " -"path] 為 [String]常數。如果要從動態、可變路徑載入資源,請使用 [method " -"load]。\n" -"[b]注意:[/b]資源路徑可以通過按右鍵素材面板中的資源並選擇“複製路徑”,或通過將" -"檔案從檔案系統停靠面板拖到腳本中來獲得。\n" -"[codeblock]\n" -"# 建立場景的實例。\n" -"var diamond = preload(\"res://diamond.tscn\").instantiate()\n" -"[/codeblock]" - -msgid "" -"Like [method @GlobalScope.print], but includes the current stack frame when " -"running with the debugger turned on.\n" -"The output in the console may look like the following:\n" -"[codeblock]\n" -"Test print\n" -"At: res://test.gd:15:_process()\n" -"[/codeblock]\n" -"[b]Note:[/b] Calling this function from a [Thread] is not supported. Doing so " -"will instead print the thread ID." -msgstr "" -"與 [method @GlobalScope.print] 類似,但在打開除錯器運作時還會包含目前堆疊影" -"格。\n" -"控制台中的輸出應該是類似這樣的:\n" -"[codeblock]\n" -"Test print\n" -"At: res://test.gd:15:_process()\n" -"[/codeblock]\n" -"[b]注意:[/b]不支援從 [Thread] 中呼叫此方法。呼叫時會輸出執行緒 ID。" - -msgid "" -"Prints a stack trace at the current code location. See also [method " -"get_stack].\n" -"The output in the console may look like the following:\n" -"[codeblock]\n" -"Frame 0 - res://test.gd:16 in function '_process'\n" -"[/codeblock]\n" -"[b]Note:[/b] This function only works if the running instance is connected to " -"a debugging server (i.e. an editor instance). [method print_stack] will not " -"work in projects exported in release mode, or in projects exported in debug " -"mode if not connected to a debugging server.\n" -"[b]Note:[/b] Calling this function from a [Thread] is not supported. Doing so " -"will instead print the thread ID." -msgstr "" -"輸出目前程式碼位置的堆疊追蹤。另請參閱 [method get_stack]。\n" -"控制台中的輸出是類似這樣的:\n" -"[codeblock]\n" -"Frame 0 - res://test.gd:16 in function '_process'\n" -"[/codeblock]\n" -"[b]注意:[/b]只有在運作的實例連接到除錯伺服器(即編輯器實例)後,該函式才有" -"效。[method print_stack] 不適用於以發行模式匯出的專案;或者在未連接到除錯服務" -"器的情況下,以除錯模式匯出的專案。\n" -"[b]注意:[/b]不支援從 [Thread] 呼叫此函式。這樣做將改為列印執行緒 ID。" - -msgid "" -"Returns an array with the given range. [method range] can be called in three " -"ways:\n" -"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and stops " -"[i]before[/i] [code]n[/code]. The argument [code]n[/code] is [b]exclusive[/" -"b].\n" -"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by " -"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/" -"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], " -"respectively.\n" -"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], " -"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] " -"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are " -"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/" -"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is " -"[code]0[/code], an error message is printed.\n" -"[method range] converts all arguments to [int] before processing.\n" -"[b]Note:[/b] Returns an empty array if no value meets the value constraint (e." -"g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n" -"Examples:\n" -"[codeblock]\n" -"print(range(4)) # Prints [0, 1, 2, 3]\n" -"print(range(2, 5)) # Prints [2, 3, 4]\n" -"print(range(0, 6, 2)) # Prints [0, 2, 4]\n" -"print(range(4, 1, -1)) # Prints [4, 3, 2]\n" -"[/codeblock]\n" -"To iterate over an [Array] backwards, use:\n" -"[codeblock]\n" -"var array = [3, 6, 9]\n" -"for i in range(array.size() - 1, -1, -1):\n" -" print(array[i])\n" -"[/codeblock]\n" -"Output:\n" -"[codeblock]\n" -"9\n" -"6\n" -"3\n" -"[/codeblock]\n" -"To iterate over [float], convert them in the loop.\n" -"[codeblock]\n" -"for i in range (3, 0, -1):\n" -" print(i / 10.0)\n" -"[/codeblock]\n" -"Output:\n" -"[codeblock]\n" -"0.3\n" -"0.2\n" -"0.1\n" -"[/codeblock]" -msgstr "" -"返回具有給定範圍的陣列。[method range] 可以通過三種方式呼叫:\n" -"[code]range(n: int)[/code]:從 0 開始,每次加 1,在到達 [code]n[/code] [i]之前" -"[/i]停止。[b]不包含[/b]參數 [code]n[/code]。\n" -"[code]range(b: int, n: int)[/code]:從 [code]b[/code] 開始,每次加 1,在到達 " -"[code]n[/code] [i]之前[/i]停止。[b]包含[/b]參數 [code]b[/code],[b]不包含[/b]" -"參數 [code]n[/code]。\n" -"[code]range(b: int, n: int, s: int)[/code]:從 [code]b[/code] 開始,以 " -"[code]s[/code] 為步長遞增/遞減,在到達 [code]n[/code] [i]之前[/i]停止。[b]包含" -"[/b]參數 [code]b[/code],[b]不包含[/b]參數 [code]n[/code]。參數 [code]s[/" -"code] [b]可以[/b]為負數,但不能為 [code]0[/code]。如果 [code]s[/code] 為 " -"[code]0[/code],則會輸出一條錯誤消息。\n" -"[method range] 會先將所有參數轉換為 [int] 再進行處理。\n" -"[b]注意:[/b]如果沒有滿足條件的值,則返回空陣列(例如 [code]range(2, 5, -1)[/" -"code] 和 [code]range(5, 5, 1)[/code])。\n" -"範例:\n" -"[codeblock]\n" -"print(range(4)) # 輸出 [0, 1, 2, 3]\n" -"print(range(2, 5)) # 輸出 [2, 3, 4]\n" -"print(range(0, 6, 2)) # 輸出 [0, 2, 4]\n" -"print(range(4, 1, -1)) # 輸出 [4, 3, 2]\n" -"[/codeblock]\n" -"要反向走訪 [Array],請使用:\n" -"[codeblock]\n" -"var array = [3, 6, 9]\n" -"for i in range(array.size() - 1, -1, -1):\n" -" print(array[i])\n" -"[/codeblock]\n" -"輸出:\n" -"[codeblock]\n" -"9\n" -"6\n" -"3\n" -"[/codeblock]\n" -"要走訪 [float],請在迴圈中進行轉換。\n" -"[codeblock]\n" -"for i in range (3, 0, -1):\n" -" print(i / 10.0)\n" -"[/codeblock]\n" -"輸出:\n" -"[codeblock]\n" -"0.3\n" -"0.2\n" -"0.1\n" -"[/codeblock]" - -msgid "" "Returns [code]true[/code] if the given [Object]-derived class exists in " "[ClassDB]. Note that [Variant] data types are not registered in [ClassDB].\n" "[codeblock]\n" @@ -695,324 +365,6 @@ msgstr "" "[annotation @export_subgroup]。" msgid "" -"Export a [Color] property without allowing its transparency ([member Color." -"a]) to be edited.\n" -"See also [constant PROPERTY_HINT_COLOR_NO_ALPHA].\n" -"[codeblock]\n" -"@export_color_no_alpha var dye_color: Color\n" -"[/codeblock]" -msgstr "" -"匯出一個 [Color] 屬性,不允許編輯其透明度 ([member Color.a])。\n" -"另請參閱 [constant PROPERTY_HINT_COLOR_NO_ALPHA] 。\n" -"[codeblock]\n" -"@export_color_no_alpha var dye_color: Color\n" -"[/codeblock]" - -msgid "" -"Export a [String] property as a path to a directory. The path will be limited " -"to the project folder and its subfolders. See [annotation @export_global_dir] " -"to allow picking from the entire filesystem.\n" -"See also [constant PROPERTY_HINT_DIR].\n" -"[codeblock]\n" -"@export_dir var sprite_folder_path: String\n" -"[/codeblock]" -msgstr "" -"將 [String] 屬性作為目錄路徑匯出。該路徑僅限於專案檔案夾及其子資料夾。要允許在" -"整個檔案系統中進行選擇,見 [annotation @export_global_dir]。\n" -"另見 [constant PROPERTY_HINT_DIR]。\n" -"[codeblock]\n" -"@export_dir var sprite_folder_path: String\n" -"[/codeblock]" - -msgid "" -"Export an [int] or [String] property as an enumerated list of options. If the " -"property is an [int], then the index of the value is stored, in the same " -"order the values are provided. You can add explicit values using a colon. If " -"the property is a [String], then the value is stored.\n" -"See also [constant PROPERTY_HINT_ENUM].\n" -"[codeblock]\n" -"@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n" -"@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var " -"character_speed: int\n" -"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n" -"[/codeblock]\n" -"If you want to set an initial value, you must specify it explicitly:\n" -"[codeblock]\n" -"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = " -"\"Rebecca\"\n" -"[/codeblock]\n" -"If you want to use named GDScript enums, then use [annotation @export] " -"instead:\n" -"[codeblock]\n" -"enum CharacterName {REBECCA, MARY, LEAH}\n" -"@export var character_name: CharacterName\n" -"[/codeblock]" -msgstr "" -"將 [int] 或 [String] 匯出為列舉選項列表。如果屬性為 [int],則保存的是值的索" -"引,與值的順序一致。你可以通過冒號新增明確的值。如果屬性為 [String],則保存的" -"是值。\n" -"另見 [constant PROPERTY_HINT_ENUM]。\n" -"[codeblock]\n" -"@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n" -"@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var " -"character_speed: int\n" -"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n" -"[/codeblock]\n" -"如果想要設定初始值,你必須進行明確的指定:\n" -"[codeblock]\n" -"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = " -"\"Rebecca\"\n" -"[/codeblock]\n" -"如果想要使用 GDScript 列舉,請改用 [annotation @export]:\n" -"[codeblock]\n" -"enum CharacterName {REBECCA, MARY, LEAH}\n" -"@export var character_name: CharacterName\n" -"[/codeblock]" - -msgid "" -"Export a floating-point property with an easing editor widget. Additional " -"hints can be provided to adjust the behavior of the widget. " -"[code]\"attenuation\"[/code] flips the curve, which makes it more intuitive " -"for editing attenuation properties. [code]\"positive_only\"[/code] limits " -"values to only be greater than or equal to zero.\n" -"See also [constant PROPERTY_HINT_EXP_EASING].\n" -"[codeblock]\n" -"@export_exp_easing var transition_speed\n" -"@export_exp_easing(\"attenuation\") var fading_attenuation\n" -"@export_exp_easing(\"positive_only\") var effect_power\n" -"[/codeblock]" -msgstr "" -"使用緩動編輯器小元件匯出浮點屬性。可以提供額外的提示來調整小元件的行為。" -"[code]\"attenuation\"[/code] 翻轉曲線,使編輯衰減屬性更加直觀。" -"[code]\"positive_only\"[/code] 將值限制為僅大於或等於零。\n" -"另請參見 [constant PROPERTY_HINT_EXP_EASING]。\n" -"[codeblock]\n" -"@export_exp_easing var transition_speed\n" -"@export_exp_easing(\"attenuation\") var fading_attenuation\n" -"@export_exp_easing(\"positive_only\") var effect_power\n" -"[/codeblock]" - -msgid "" -"Export a [String] property as a path to a file. The path will be limited to " -"the project folder and its subfolders. See [annotation @export_global_file] " -"to allow picking from the entire filesystem.\n" -"If [param filter] is provided, only matching files will be available for " -"picking.\n" -"See also [constant PROPERTY_HINT_FILE].\n" -"[codeblock]\n" -"@export_file var sound_effect_path: String\n" -"@export_file(\"*.txt\") var notes_path: String\n" -"[/codeblock]" -msgstr "" -"將 [String] 屬性匯出為檔路徑。該路徑僅限於專案檔案夾及其子資料夾。若要允許從整" -"個檔案系統中進行選擇,請參閱 [annotation @export_global_file]。\n" -"如果提供了 [param filter],則只有配對的檔可供選擇。\n" -"另請參見 [constant PROPERTY_HINT_FILE]。\n" -"[codeblock]\n" -"@export_file var sound_effect_file: String\n" -"@export_file(\"*.txt\") var notes_file: String\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field. This allows to store several " -"\"checked\" or [code]true[/code] values with one property, and comfortably " -"select them from the Inspector dock.\n" -"See also [constant PROPERTY_HINT_FLAGS].\n" -"[codeblock]\n" -"@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = " -"0\n" -"[/codeblock]\n" -"You can add explicit values using a colon:\n" -"[codeblock]\n" -"@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n" -"[/codeblock]\n" -"You can also combine several flags:\n" -"[codeblock]\n" -"@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", \"Foes:16\")\n" -"var spell_targets = 0\n" -"[/codeblock]\n" -"[b]Note:[/b] A flag value must be at least [code]1[/code] and at most [code]2 " -"** 32 - 1[/code].\n" -"[b]Note:[/b] Unlike [annotation @export_enum], the previous explicit value is " -"not taken into account. In the following example, A is 16, B is 2, C is 4.\n" -"[codeblock]\n" -"@export_flags(\"A:16\", \"B\", \"C\") var x\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為位元旗標欄位。能夠在單個屬性中保存若干“勾選”或者說 " -"[code]true[/code] 值,可以很方便地在屬性面板面板中進行選擇。\n" -"另見 [constant PROPERTY_HINT_FLAGS]。\n" -"[codeblock]\n" -"@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = " -"0\n" -"[/codeblock]\n" -"你可以通過冒號來新增明確的值:\n" -"[codeblock]\n" -"@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n" -"[/codeblock]\n" -"你還可以對旗標進行組合:\n" -"[codeblock]\n" -"@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", \"Foes:16\")\n" -"var spell_targets = 0\n" -"[/codeblock]\n" -"[b]注意:[/b]旗標值最多為 [code]1[/code],最多為 [code]2 ** 32 - 1[/code]。\n" -"[b]注意:[/b]與 [annotation @export_enum] 不同,不會考慮前一個明確的值。下面的" -"例子中,A 為 16、B 為 2、C 為 4。\n" -"[codeblock]\n" -"@export_flags(\"A:16\", \"B\", \"C\") var x\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for 2D navigation layers. The " -"widget in the Inspector dock will use the layer names defined in [member " -"ProjectSettings.layer_names/2d_navigation/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_2D_NAVIGATION].\n" -"[codeblock]\n" -"@export_flags_2d_navigation var navigation_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為 2D 導覽層的位元旗標欄位。屬性面板停靠面板中的小元件,將使用" -"在 [member ProjectSettings.layer_names/2d_navigation/layer_1] 中定義的層名" -"稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_2D_NAVIGATION]。\n" -"[codeblock]\n" -"@export_flags_2d_navigation var navigation_layers: int\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for 2D physics layers. The " -"widget in the Inspector dock will use the layer names defined in [member " -"ProjectSettings.layer_names/2d_physics/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_2D_PHYSICS].\n" -"[codeblock]\n" -"@export_flags_2d_physics var physics_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為 2D 實體層的位元旗標欄位。屬性面板停靠面板中的小工具,將使用" -"在 [member ProjectSettings.layer_names/2d_physics/layer_1] 中定義的層名稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_2D_PHYSICS]。\n" -"[codeblock]\n" -"@export_flags_2d_physics var physics_layers: int\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for 2D render layers. The " -"widget in the Inspector dock will use the layer names defined in [member " -"ProjectSettings.layer_names/2d_render/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_2D_RENDER].\n" -"[codeblock]\n" -"@export_flags_2d_render var render_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為 2D 算繪層的位元旗標欄位。屬性面板停靠面板中的小工具將使用在 " -"[member ProjectSettings.layer_names/2d_render/layer_1] 中定義的層名稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_2D_RENDER]。\n" -"[codeblock]\n" -"@export_flags_2d_render var render_layers: int\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for 3D navigation layers. The " -"widget in the Inspector dock will use the layer names defined in [member " -"ProjectSettings.layer_names/3d_navigation/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_3D_NAVIGATION].\n" -"[codeblock]\n" -"@export_flags_3d_navigation var navigation_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為 3D 導覽層的位元旗標欄位。屬性面板停靠面板中的小工具將使用在 " -"[member ProjectSettings.layer_names/3d_navigation/layer_1] 中定義的層名稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_3D_NAVIGATION]。\n" -"[codeblock]\n" -"@export_flags_3d_navigation var navigation_layers: int\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for 3D physics layers. The " -"widget in the Inspector dock will use the layer names defined in [member " -"ProjectSettings.layer_names/3d_physics/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_3D_PHYSICS].\n" -"[codeblock]\n" -"@export_flags_3d_physics var physics_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為 3D 實體層的位元旗標欄位。屬性面板停靠面板中的小工具將使用在 " -"[member ProjectSettings.layer_names/3d_physics/layer_1] 中定義的層名稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_3D_PHYSICS]。\n" -"[codeblock]\n" -"@export_flags_3d_physics var physics_layers: int\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for 3D render layers. The " -"widget in the Inspector dock will use the layer names defined in [member " -"ProjectSettings.layer_names/3d_render/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_3D_RENDER].\n" -"[codeblock]\n" -"@export_flags_3d_render var render_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為 3D 算繪層的位元旗標欄位。屬性面板停靠面板中的小工具將使用在 " -"[member ProjectSettings.layer_names/3d_render/layer_1] 中定義的層名稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_3D_RENDER]。\n" -"[codeblock]\n" -"@export_flags_3d_render var render_layers: int\n" -"[/codeblock]" - -msgid "" -"Export an integer property as a bit flag field for navigation avoidance " -"layers. The widget in the Inspector dock will use the layer names defined in " -"[member ProjectSettings.layer_names/avoidance/layer_1].\n" -"See also [constant PROPERTY_HINT_LAYERS_AVOIDANCE].\n" -"[codeblock]\n" -"@export_flags_avoidance var avoidance_layers: int\n" -"[/codeblock]" -msgstr "" -"將整數屬性匯出為導覽避障層的位元旗標欄位。屬性面板停靠面板中的小工具,將使用" -"在 [member ProjectSettings.layer_names/avoidance/layer_1] 中定義的層名稱。\n" -"另請參見 [constant PROPERTY_HINT_LAYERS_AVOIDANCE]。\n" -"[codeblock]\n" -"@export_flags_avoidance var avoidance_layers: int\n" -"[/codeblock]" - -msgid "" -"Export a [String] property as an absolute path to a directory. The path can " -"be picked from the entire filesystem. See [annotation @export_dir] to limit " -"it to the project folder and its subfolders.\n" -"See also [constant PROPERTY_HINT_GLOBAL_DIR].\n" -"[codeblock]\n" -"@export_global_dir var sprite_folder_path: String\n" -"[/codeblock]" -msgstr "" -"將 [String] 屬性匯出為目錄路徑。該路徑可以從整個檔案系統中選擇。請參閱 " -"[annotation @export_dir] 以將其限制為專案檔案夾及其子資料夾。\n" -"另請參見 [constant PROPERTY_HINT_GLOBAL_DIR]。\n" -"[codeblock]\n" -"@export_global_dir var sprite_folder_path: String\n" -"[/codeblock]" - -msgid "" -"Export a [String] property as an absolute path to a file. The path can be " -"picked from the entire filesystem. See [annotation @export_file] to limit it " -"to the project folder and its subfolders.\n" -"If [param filter] is provided, only matching files will be available for " -"picking.\n" -"See also [constant PROPERTY_HINT_GLOBAL_FILE].\n" -"[codeblock]\n" -"@export_global_file var sound_effect_path: String\n" -"@export_global_file(\"*.txt\") var notes_path: String\n" -"[/codeblock]" -msgstr "" -"將 [String] 屬性作為檔路徑匯出。該路徑可以在整個檔案系統中進行選擇。要將其限制" -"為專案檔案夾及其子資料夾,見 [annotation @export_file]。\n" -"如果提供了 [param filter],則只有配對的檔可供選擇。\n" -"另見 [constant PROPERTY_HINT_GLOBAL_FILE]。\n" -"[codeblock]\n" -"@export_global_file var sound_effect_path: String\n" -"@export_global_file(\"*.txt\") var notes_path: String\n" -"[/codeblock]" - -msgid "" "Define a new group for the following exported properties. This helps to " "organize properties in the Inspector dock. Groups can be added with an " "optional [param prefix], which would make group to only consider properties " @@ -1061,54 +413,6 @@ msgstr "" "[/codeblock]" msgid "" -"Export a [String] property with a large [TextEdit] widget instead of a " -"[LineEdit]. This adds support for multiline content and makes it easier to " -"edit large amount of text stored in the property.\n" -"See also [constant PROPERTY_HINT_MULTILINE_TEXT].\n" -"[codeblock]\n" -"@export_multiline var character_biography\n" -"[/codeblock]" -msgstr "" -"用一個大的 [TextEdit] 元件而不是 [LineEdit] 匯出一個 [String] 屬性。這增加了對" -"多行內容的支援,使其更容易編輯儲存在屬性中的大量文字。\n" -"參見 [constant PROPERTY_HINT_MULTILINE_TEXT]。\n" -"[codeblock]\n" -"@export_multiline var character_biography\n" -"[/codeblock]" - -msgid "" -"Export a [NodePath] property with a filter for allowed node types.\n" -"See also [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES].\n" -"[codeblock]\n" -"@export_node_path(\"Button\", \"TouchScreenButton\") var some_button\n" -"[/codeblock]\n" -"[b]Note:[/b] The type must be a native class or a globally registered script " -"(using the [code]class_name[/code] keyword) that inherits [Node]." -msgstr "" -"匯出具有篩檢程式,並允許節點型別為 [NodePath] 的屬性。\n" -"參見 [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES]。\n" -"[codeblock]\n" -"@export_node_path(\"Button\", \"TouchScreenButton\") var some_button\n" -"[/codeblock]\n" -"[b]注意:[/b] 型別必須是本地類或全域註冊的腳本(使用[code][class_name][/code]關" -"鍵字)且繼承自 [Node] 。" - -msgid "" -"Export a [String] property with a placeholder text displayed in the editor " -"widget when no value is present.\n" -"See also [constant PROPERTY_HINT_PLACEHOLDER_TEXT].\n" -"[codeblock]\n" -"@export_placeholder(\"Name in lowercase\") var character_id: String\n" -"[/codeblock]" -msgstr "" -"匯出一個帶有一個預留位置文字的 [String] 屬性,當沒有值時,編輯器小元件中會顯示" -"該預留位置文字。\n" -"另請參見 [constant PROPERTY_HINT_PLACEHOLDER_TEXT]。\n" -"[codeblock]\n" -"@export_placeholder(\"Name in lowercase\") var character_id: String\n" -"[/codeblock]" - -msgid "" "Define a new subgroup for the following exported properties. This helps to " "organize properties in the Inspector dock. Subgroups work exactly like " "groups, except they need a parent group to exist. See [annotation " @@ -1235,14 +539,6 @@ msgstr "" "[/codeblock]" msgid "" -"Make a script with static variables to not persist after all references are " -"lost. If the script is loaded again the static variables will revert to their " -"default values." -msgstr "" -"使具有靜態變數的腳本在所有引用丟失之後不會持久化。當該腳本再次載入時,這些靜態" -"變數將恢復為預設值。" - -msgid "" "Mark the following statement to ignore the specified [param warning]. See " "[url=$DOCS_URL/tutorials/scripting/gdscript/warning_system.html]GDScript " "warning system[/url].\n" @@ -1655,41 +951,6 @@ msgstr "" "[/codeblock]" msgid "" -"Returns an \"eased\" value of [param x] based on an easing function defined " -"with [param curve]. This easing function is based on an exponent. The [param " -"curve] can be any floating-point number, with specific values leading to the " -"following behaviors:\n" -"[codeblock]\n" -"- Lower than -1.0 (exclusive): Ease in-out\n" -"- 1.0: Linear\n" -"- Between -1.0 and 0.0 (exclusive): Ease out-in\n" -"- 0.0: Constant\n" -"- Between 0.0 to 1.0 (exclusive): Ease out\n" -"- 1.0: Linear\n" -"- Greater than 1.0 (exclusive): Ease in\n" -"[/codeblock]\n" -"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" -"ease_cheatsheet.png]ease() curve values cheatsheet[/url]\n" -"See also [method smoothstep]. If you need to perform more advanced " -"transitions, use [method Tween.interpolate_value]." -msgstr "" -"基於用 [param curve] 定義的緩動函式返回 [param x] 的“緩動後”的值。該緩動函式是" -"基於指數的。[param curve] 可以是任意浮點數,具體數值會導致以下行為:\n" -"[codeblock]\n" -"- 低於 -1.0(開區間):緩入緩出\n" -"- -1.0:線性\n" -"- 在 -1.0 和 0.0 之間(開區間):緩出緩入\n" -"- 0.0:恒定\n" -"- 在 0.0 到 1.0 之間(開區間):緩出\n" -"- 1.0:線性\n" -"- 大於 1.0(開區間):緩入\n" -"[/codeblock]\n" -"[url=https://raw.githubusercontent.com/godotengine/godot-docs/4.1/img/" -"ease_cheatsheet.png]ease() 曲線值速查表[/url]\n" -"另見 [method smoothstep]。如果你需要執行更高級的過渡,請使用 [method Tween." -"interpolate_value]。" - -msgid "" "Returns a human-readable name for the given [enum Error] code.\n" "[codeblock]\n" "print(OK) # Prints 0\n" @@ -1757,48 +1018,6 @@ msgstr "" "對於整數取餘運算,請使用 [code]%[/code] 運算子。" msgid "" -"Returns the floating-point modulus of [param x] divided by [param y], " -"wrapping equally in positive and negative.\n" -"[codeblock]\n" -"print(\" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\")\n" -"for i in 7:\n" -" var x = i * 0.5 - 1.5\n" -" print(\"%4.1f %4.1f | %4.1f\" % [x, fmod(x, 1.5), fposmod(x, " -"1.5)])\n" -"[/codeblock]\n" -"Produces:\n" -"[codeblock]\n" -" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\n" -"-1.5 -0.0 | 0.0\n" -"-1.0 -1.0 | 0.5\n" -"-0.5 -0.5 | 1.0\n" -" 0.0 0.0 | 0.0\n" -" 0.5 0.5 | 0.5\n" -" 1.0 1.0 | 1.0\n" -" 1.5 0.0 | 0.0\n" -"[/codeblock]" -msgstr "" -"返回 [param x] 除以 [param y] 的浮點模數,正負軸均等包裹。\n" -"[codeblock]\n" -"print(\" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\")\n" -"for i in 7:\n" -" var x = i * 0.5 - 1.5\n" -" print(\"%4.1f %4.1f | %4.1f\" % [x, fmod(x, 1.5), fposmod(x, " -"1.5)])\n" -"[/codeblock]\n" -"輸出:\n" -"[codeblock]\n" -" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\n" -"-1.5 -0.0 | 0.0\n" -"-1.0 -1.0 | 0.5\n" -"-0.5 -0.5 | 1.0\n" -" 0.0 0.0 | 0.0\n" -" 0.5 0.5 | 0.5\n" -" 1.0 1.0 | 1.0\n" -" 1.5 0.0 | 0.0\n" -"[/codeblock]" - -msgid "" "Returns the integer hash of the passed [param variable].\n" "[codeblocks]\n" "[gdscript]\n" @@ -1958,63 +1177,6 @@ msgid "" msgstr "如果 [param x] 是 NaN(“非數字”或無效)值,則返回 [code]true[/code] 。" msgid "" -"Returns [code]true[/code], for value types, if [param a] and [param b] share " -"the same value. Returns [code]true[/code], for reference types, if the " -"references of [param a] and [param b] are the same.\n" -"[codeblock]\n" -"# Vector2 is a value type\n" -"var vec2_a = Vector2(0, 0)\n" -"var vec2_b = Vector2(0, 0)\n" -"var vec2_c = Vector2(1, 1)\n" -"is_same(vec2_a, vec2_a) # true\n" -"is_same(vec2_a, vec2_b) # true\n" -"is_same(vec2_a, vec2_c) # false\n" -"\n" -"# Array is a reference type\n" -"var arr_a = []\n" -"var arr_b = []\n" -"is_same(arr_a, arr_a) # true\n" -"is_same(arr_a, arr_b) # false\n" -"[/codeblock]\n" -"These are [Variant] value types: [code]null[/code], [bool], [int], [float], " -"[String], [StringName], [Vector2], [Vector2i], [Vector3], [Vector3i], " -"[Vector4], [Vector4i], [Rect2], [Rect2i], [Transform2D], [Transform3D], " -"[Plane], [Quaternion], [AABB], [Basis], [Projection], [Color], [NodePath], " -"[RID], [Callable] and [Signal].\n" -"These are [Variant] reference types: [Object], [Dictionary], [Array], " -"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " -"[PackedFloat32Array], [PackedFloat64Array], [PackedStringArray], " -"[PackedVector2Array], [PackedVector3Array] and [PackedColorArray]." -msgstr "" -"當 [param a] 和 [param b] 為數值型別時,如果他們相同,那麼返回 [code]true[/" -"code]。當 [param a] 和 [param b] 為參考型別時,如果它們的引用物件相同,那麼返" -"回 [code]true[/code]。\n" -"[codeblock]\n" -"# Vector2 是數值型別\n" -"var vec2_a = Vector2(0, 0)\n" -"var vec2_b = Vector2(0, 0)\n" -"var vec2_c = Vector2(1, 1)\n" -"is_same(vec2_a, vec2_a) # true\n" -"is_same(vec2_a, vec2_b) # true\n" -"is_same(vec2_a, vec2_c) # false\n" -"\n" -"# Array 是參考型別\n" -"var arr_a = []\n" -"var arr_b = []\n" -"is_same(arr_a, arr_a) # true\n" -"is_same(arr_a, arr_b) # false\n" -"[/codeblock]\n" -"[Variant] 數值型別有:[code]null[/code],[bool],[int],[float],[String]," -"[StringName],[Vector2],[Vector2i],[Vector3],[Vector3i],[Vector4]," -"[Vector4i],[Rect2],[Rect2i],[Transform2D],[Transform3D],[Plane]," -"[Quaternion],[AABB],[Basis],[Projection],[Color],[NodePath],[RID]," -"[Callable] 和 [Signal]。\n" -"[Variant] 參考型別有:[Object],[Dictionary],[Array],[PackedByteArray]," -"[PackedInt32Array],[PackedInt64Array],[PackedFloat32Array]," -"[PackedFloat64Array],[PackedStringArray],[PackedVector2Array]," -"[PackedVector3Array] 和 [PackedColorArray]。" - -msgid "" "Returns [code]true[/code] if [param x] is zero or almost zero. The comparison " "is done using a tolerance calculation with a small internal epsilon.\n" "This function is faster than using [method is_equal_approx] with one value as " @@ -2179,18 +1341,6 @@ msgstr "" "nan[/code]。" msgid "" -"Returns the maximum of the given numeric values. This function can take any " -"number of arguments.\n" -"[codeblock]\n" -"max(1, 7, 3, -6, 5) # Returns 7\n" -"[/codeblock]" -msgstr "" -"返回給定值的最大值。這個函式可以接受任意數量的參數。\n" -"[codeblock]\n" -"max(1, 7, 3, -6, 5) # 返回 7\n" -"[/codeblock]" - -msgid "" "Returns the maximum of two [float] values.\n" "[codeblock]\n" "maxf(3.6, 24) # Returns 24.0\n" @@ -2217,18 +1367,6 @@ msgstr "" "[/codeblock]" msgid "" -"Returns the minimum of the given numeric values. This function can take any " -"number of arguments.\n" -"[codeblock]\n" -"min(1, 7, 3, -6, 5) # Returns -6\n" -"[/codeblock]" -msgstr "" -"返回給定數值中的最小值。這個函式可以接受任意數量的參數。\n" -"[codeblock]\n" -"min(1, 7, 3, -6, 5) # 返回 -6\n" -"[/codeblock]" - -msgid "" "Returns the minimum of two [float] values.\n" "[codeblock]\n" "minf(3.6, 24) # Returns 3.6\n" @@ -2340,44 +1478,6 @@ msgstr "" "[/codeblock]" msgid "" -"Returns the integer modulus of [param x] divided by [param y] that wraps " -"equally in positive and negative.\n" -"[codeblock]\n" -"print(\"#(i) (i % 3) (posmod(i, 3))\")\n" -"for i in range(-3, 4):\n" -" print(\"%2d %2d | %2d\" % [i, i % 3, posmod(i, 3)])\n" -"[/codeblock]\n" -"Produces:\n" -"[codeblock]\n" -"(i) (i % 3) (posmod(i, 3))\n" -"-3 0 | 0\n" -"-2 -2 | 1\n" -"-1 -1 | 2\n" -" 0 0 | 0\n" -" 1 1 | 1\n" -" 2 2 | 2\n" -" 3 0 | 0\n" -"[/codeblock]" -msgstr "" -"返回 [param x] 除以 [param y] 的整數模數,對正負數進行一致的迴圈。\n" -"[codeblock]\n" -"print(\"#(i) (i % 3) (posmod(i, 3))\")\n" -"for i in range(-3, 4):\n" -" print(\"%2d %2d | %2d\" % [i, i % 3, posmod(i, 3)])\n" -"[/codeblock]\n" -"結果:\n" -"[codeblock]\n" -"(i) (i % 3) (posmod(i, 3))\n" -"-3 0 | 0\n" -"-2 -2 | 1\n" -"-1 -1 | 2\n" -" 0 0 | 0\n" -" 1 1 | 1\n" -" 2 2 | 2\n" -" 3 0 | 0\n" -"[/codeblock]" - -msgid "" "Returns the result of [param base] raised to the power of [param exp].\n" "In GDScript, this is the equivalent of the [code]**[/code] operator.\n" "[codeblock]\n" @@ -2457,42 +1557,6 @@ msgstr "" "[/codeblocks]" msgid "" -"Prints one or more arguments to strings in the best way possible to the OS " -"terminal. Unlike [method print], no newline is automatically added at the " -"end.\n" -"[codeblocks]\n" -"[gdscript]\n" -"printraw(\"A\")\n" -"printraw(\"B\")\n" -"printraw(\"C\")\n" -"# Prints ABC to terminal\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.PrintRaw(\"A\");\n" -"GD.PrintRaw(\"B\");\n" -"GD.PrintRaw(\"C\");\n" -"// Prints ABC to terminal\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"以盡可能最佳的方式將一個或多個參數作為字串輸出到 OS 終端。與 [method print] 不" -"同的是,最後不會自動新增分行符號。\n" -"[codeblocks]\n" -"[gdscript]\n" -"printraw(\"A\")\n" -"printraw(\"B\")\n" -"printraw(\"C\")\n" -"# 輸出 ABC 到終端\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.PrintRaw(\"A\");\n" -"GD.PrintRaw(\"B\");\n" -"GD.PrintRaw(\"C\");\n" -"// 輸出 ABC 到終端\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Prints one or more arguments to the console with a space between each " "argument.\n" "[codeblocks]\n" @@ -2728,18 +1792,6 @@ msgstr "" "對於需要多個範圍的複雜用例,請考慮改用 [Curve] 或 [Gradient]。" msgid "" -"Allocates a unique ID which can be used by the implementation to construct a " -"RID. This is used mainly from native extensions to implement servers." -msgstr "" -"分配一個唯一的 ID,可被實作用來建構一個 RID。這主要被本地擴充使用以實作服務" -"器。" - -msgid "" -"Creates a RID from a [param base]. This is used mainly from native extensions " -"to build servers." -msgstr "從 [param base] 建立一個 RID。這主要被本地擴充使用以建構伺服器。" - -msgid "" "Rotates [param from] toward [param to] by the [param delta] amount. Will not " "go past [param to].\n" "Similar to [method move_toward], but interpolates correctly when the angles " @@ -3081,51 +2133,6 @@ msgstr "" "[/codeblock]" msgid "" -"Converts a [Variant] [param variable] to a formatted [String] that can then " -"be parsed using [method str_to_var].\n" -"[codeblocks]\n" -"[gdscript]\n" -"var a = { \"a\": 1, \"b\": 2 }\n" -"print(var_to_str(a))\n" -"[/gdscript]\n" -"[csharp]\n" -"var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n" -"GD.Print(GD.VarToStr(a));\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Prints:\n" -"[codeblock]\n" -"{\n" -" \"a\": 1,\n" -" \"b\": 2\n" -"}\n" -"[/codeblock]\n" -"[b]Note:[/b] Converting [Signal] or [Callable] is not supported and will " -"result in an empty value for these types, regardless of their data." -msgstr "" -"將 [Variant] [param variable] 轉換為格式化的 [String],後續可以使用 [method " -"str_to_var] 對其進行解析。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var a = { \"a\": 1, \"b\": 2 }\n" -"print(var_to_str(a))\n" -"[/gdscript]\n" -"[csharp]\n" -"var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n" -"GD.Print(GD.VarToStr(a));\n" -"[/csharp]\n" -"[/codeblocks]\n" -"輸出:\n" -"[codeblock]\n" -"{\n" -" \"a\": 1,\n" -" \"b\": 2\n" -"}\n" -"[/codeblock]\n" -"[b]注意:[/b]不支援轉換 [Signal] 和 [Callable],這些型別無論有什麼資料,轉換後" -"都是空值。" - -msgid "" "Wraps the [Variant] [param value] between [param min] and [param max]. Can be " "used for creating loop-alike behavior or infinite surfaces.\n" "Variant types [int] and [float] are supported. If any of the arguments is " @@ -5595,9 +4602,6 @@ msgstr "" msgid "3D Physics Tests Demo" msgstr "3D 物理測試演示" -msgid "Third Person Shooter Demo" -msgstr "第三人稱射擊演示" - msgid "3D Voxel Demo" msgstr "3D 體素演示" @@ -6504,17 +5508,6 @@ msgstr "" "返回包含 [param animation] 的 [AnimationLibrary] 的鍵;如果找不到,則返回一個" "空的 [StringName]。" -msgid "" -"Returns the first [AnimationLibrary] with key [param name] or [code]null[/" -"code] if not found.\n" -"To get the [AnimationPlayer]'s global animation library, use " -"[code]get_animation_library(\"\")[/code]." -msgstr "" -"返回第一個鍵為 [param name] 的 [AnimationLibrary],如果沒有找到則返回 " -"[code]null[/code]。\n" -"要獲得 [AnimationPlayer] 的全域動畫庫,請使用 " -"[code]get_animation_library(\"\")[/code]。" - msgid "Returns the list of stored library keys." msgstr "返回儲存庫的鍵名列表。" @@ -6833,20 +5826,6 @@ msgstr "" "然而,當一個動畫迴圈時,可能會得到一個意料之外的變化,所以這個只在一些簡單情況" "下才有用。" -msgid "" -"Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with " -"key [param name]." -msgstr "" -"如果該 [AnimationPlayer] 使用鍵 [param name] 儲存 [Animation],則返回 " -"[code]true[/code]。" - -msgid "" -"Returns [code]true[/code] if the [AnimationPlayer] stores an " -"[AnimationLibrary] with key [param name]." -msgstr "" -"如果該 [AnimationPlayer] 使用鍵 [param name] 儲存 [AnimationLibrary],則返回 " -"[code]true[/code]。" - msgid "Removes the [AnimationLibrary] associated with the key [param name]." msgstr "移除與鍵 [param name] 關聯的 [AnimationLibrary]。" @@ -6971,13 +5950,6 @@ msgstr "" "除。" msgid "" -"Editor only. Notifies when the property have been updated to update dummy " -"[AnimationPlayer] in animation player editor." -msgstr "" -"僅限編輯器。更新屬性以更新動畫播放器編輯器中的虛擬[AnimationPlayer] 時發出通" -"知。" - -msgid "" "Process animation during physics frames (see [constant Node." "NOTIFICATION_INTERNAL_PHYSICS_PROCESS]). This is especially useful when " "animating physics bodies." @@ -7010,18 +5982,6 @@ msgstr "在動畫中達到時立即進行方法呼叫。" msgid "Base class for [AnimationTree] nodes. Not related to scene nodes." msgstr "[AnimationTree] 節點的基底類別。與場景節點無關。" -msgid "" -"Base resource for [AnimationTree] nodes. In general, it's not used directly, " -"but you can create custom ones with custom blending formulas.\n" -"Inherit this when creating animation nodes mainly for use in " -"[AnimationNodeBlendTree], otherwise [AnimationRootNode] should be used " -"instead." -msgstr "" -"[AnimationTree] 節點的基礎資源。通常不會直接使用,但你可以使用自訂混合公式建立" -"自訂節點。\n" -"建立動畫節點時繼承這個類主要是用在 [AnimationNodeBlendTree] 中,否則應改用 " -"[AnimationRootNode]。" - msgid "Using AnimationTree" msgstr "使用 AnimationTree" @@ -7075,25 +6035,6 @@ msgstr "" "唯讀。參數是動畫節點的自訂本機存放區,資源可以在多個樹中重用。" msgid "" -"When inheriting from [AnimationRootNode], implement this virtual method to " -"run some code when this animation node is processed. The [param time] " -"parameter is a relative delta, unless [param seek] is [code]true[/code], in " -"which case it is absolute.\n" -"Here, call the [method blend_input], [method blend_node] or [method " -"blend_animation] functions. You can also use [method get_parameter] and " -"[method set_parameter] to modify local memory.\n" -"This function should return the time left for the current animation to finish " -"(if unsure, pass the value from the main blend being called)." -msgstr "" -"繼承 [AnimationRootNode] 時,實作這個虛方法可以在這個動畫節點進行處理時執行代" -"碼。參數 [param time] 是相對差異量,除非 [param seek] 為 [code]true[/code],此" -"時為絕對差異量。\n" -"請在此處呼叫 [method blend_input]、[method blend_node] 或 [method " -"blend_animation] 函式。你也可以使用 [method get_parameter] 和 [method " -"set_parameter] 來修改本機存放區。\n" -"這個函式應當返回目前動畫還需多少時間完成(不確定的話,請傳遞呼叫主混合的值)。" - -msgid "" "Adds an input to the animation node. This is only useful for animation nodes " "created for use in an [AnimationNodeBlendTree]. If the addition fails, " "returns [code]false[/code]." @@ -7760,22 +6701,6 @@ msgid "" "transition will be linear." msgstr "確定如何緩動動畫之間的淡入淡出。如果為空,過渡將是線性的。" -msgid "" -"The fade-in duration. For example, setting this to [code]1.0[/code] for a 5 " -"second length animation will produce a cross-fade that starts at 0 second and " -"ends at 1 second during the animation." -msgstr "" -"淡入持續時間。例如,將此屬性設定為 [code]1.0[/code],對於 5 秒長的動畫,將在動" -"畫期間產生從 0 秒開始到 1 秒結束的交叉淡入淡出。" - -msgid "" -"The fade-out duration. For example, setting this to [code]1.0[/code] for a 5 " -"second length animation will produce a cross-fade that starts at 4 second and " -"ends at 5 second during the animation." -msgstr "" -"淡出持續時間。例如,將此屬性設定為 [code]1.0[/code],對於 5 秒長的動畫,將產生" -"從 4 秒開始到 5 秒結束的交叉淡入淡出。" - msgid "The blend type." msgstr "混合型別。" @@ -8138,9 +7063,6 @@ msgid "" "Ease curve for better control over cross-fade between this state and the next." msgstr "緩動曲線可以更好地控制此狀態和下一個狀態之間的交叉淡入淡出。" -msgid "The time to cross-fade between this state and the next." -msgstr "這個狀態和下一個狀態之間的交叉漸變時間。" - msgid "Emitted when [member advance_condition] is changed." msgstr "變更 [member advance_condition] 時發出。" @@ -8206,11 +7128,6 @@ msgid "AnimationTree" msgstr "動畫樹" msgid "" -"Base class for [AnimationNode]s with more than two input ports that must be " -"synchronized." -msgstr "帶有兩個以上輸入埠的 [AnimationNode] 基底類別,必須對這兩個埠進行同步。" - -msgid "" "An animation node used to combine, mix, or blend two or more animations " "together while keeping them synchronized within an [AnimationTree]." msgstr "" @@ -8392,10 +7309,6 @@ msgstr "" msgid "The number of enabled input ports for this animation node." msgstr "這個動畫節點啟用的輸入埠的數量。" -msgid "" -"Cross-fading time (in seconds) between each animation connected to the inputs." -msgstr "連接到輸入的每個動畫之間的交叉漸變時間(秒)。" - msgid "A node used for animation playback." msgstr "用於播放動畫的節點。" @@ -9004,9 +7917,6 @@ msgid "" "exiting it." msgstr "3D 空間中的一個區域,能夠偵測到其他 [CollisionObject3D] 的進入或退出。" -msgid "GUI in 3D Demo" -msgstr "3D GUI 演示" - msgid "" "Returns a list of intersecting [Area3D]s. The overlapping area's [member " "CollisionObject3D.collision_layer] must be part of this area's [member " @@ -9171,23 +8081,6 @@ msgstr "" "[code]0.1[/code]。" msgid "" -"The exponential rate at which wind force decreases with distance from its " -"origin." -msgstr "風力隨著距其原點的距離而衰減的指數速率。" - -msgid "The magnitude of area-specific wind force." -msgstr "特定區域風力的大小。" - -msgid "" -"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 "" -"[Node3D] 用於指定特定區域風力的方向和原點。方向與 [Node3D] 局部變換的 z 軸相" -"反,其原點為 [Node3D] 局部變換的原點。" - -msgid "" "Emitted when a [Shape3D] of the received [param area] enters a shape of this " "area. Requires [member monitoring] to be set to [code]true[/code].\n" "[param local_shape_index] and [param area_shape_index] contain indices of the " @@ -9306,97 +8199,9 @@ msgstr "" msgid "A built-in data structure that holds a sequence of elements." msgstr "一種內建資料結構,包含一系列元素。" -msgid "" -"An array data structure that can contain a sequence of elements of any type. " -"Elements are accessed by a numerical index starting at 0. Negative indices " -"are used to count from the back (-1 is the last element, -2 is the second to " -"last, etc.).\n" -"[b]Example:[/b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"var array = [\"One\", 2, 3, \"Four\"]\n" -"print(array[0]) # One.\n" -"print(array[2]) # 3.\n" -"print(array[-1]) # Four.\n" -"array[2] = \"Three\"\n" -"print(array[-2]) # Three.\n" -"[/gdscript]\n" -"[csharp]\n" -"var array = new Godot.Collections.Array{\"One\", 2, 3, \"Four\"};\n" -"GD.Print(array[0]); // One.\n" -"GD.Print(array[2]); // 3.\n" -"GD.Print(array[array.Count - 1]); // Four.\n" -"array[2] = \"Three\";\n" -"GD.Print(array[array.Count - 2]); // Three.\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Arrays can be concatenated using the [code]+[/code] operator:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var array1 = [\"One\", 2]\n" -"var array2 = [3, \"Four\"]\n" -"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n" -"[/gdscript]\n" -"[csharp]\n" -"// Array concatenation is not possible with C# arrays, but is with Godot." -"Collections.Array.\n" -"var array1 = new Godot.Collections.Array{\"One\", 2};\n" -"var array2 = new Godot.Collections.Array{3, \"Four\"};\n" -"GD.Print(array1 + array2); // Prints [One, 2, 3, Four]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] Arrays are always passed by reference. To get a copy of an array " -"that can be modified independently of the original array, use [method " -"duplicate].\n" -"[b]Note:[/b] Erasing elements while iterating over arrays is [b]not[/b] " -"supported and will result in unpredictable behavior." -msgstr "" -"通用陣列,可以包含任意型別的多個元素,可以通過從 0 開始的數位索引進行存取。負" -"數索引可以用來從後面數起,就像在 Python 中一樣(-1 是最後一個元素、-2 是倒數第" -"二,以此類推)。\n" -"[b]範例:[/b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"var array = [\"One\", 2, 3, \"Four\"]\n" -"print(array[0]) # One。\n" -"print(array[2]) # 3。\n" -"print(array[-1]) # Four。\n" -"array[2] = \"Three\"\n" -"print(array[-2]) # Three。\n" -"[/gdscript]\n" -"[csharp]\n" -"var array = new Godot.Collections.Array{\"One\", 2, 3, \"Four\"};\n" -"GD.Print(array[0]); // One。\n" -"GD.Print(array[2]); // 3。\n" -"GD.Print(array[array.Count - 1]); // Four。\n" -"array[2] = \"Three\";\n" -"GD.Print(array[array.Count - 2]); // Three。\n" -"[/csharp]\n" -"[/codeblocks]\n" -"可以使用 [code]+[/code] 運算子連接陣列:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var array1 = [\"One\", 2]\n" -"var array2 = [3, \"Four\"]\n" -"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n" -"[/gdscript]\n" -"[csharp]\n" -"// C# 陣列無法進行陣列串聯,但 Godot.Collections.Array 可以。\n" -"var array1 = new Godot.Collections.Array{\"One\", 2};\n" -"var array2 = new Godot.Collections.Array{3, \"Four\"};\n" -"GD.Print(array1 + array2); // Prints [One, 2, 3, Four]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b]陣列總是通過引用來傳遞。要獲得一個可以獨立於原始陣列而被修改的數" -"組的副本,請使用 [method duplicate]。\n" -"[b]注意:[/b][b]不[/b]支援在走訪陣列時擦除元素,這將導致不可預知的行為。" - msgid "Constructs an empty [Array]." msgstr "建構空的 [Array]。" -msgid "Creates a typed array from the [param base] array." -msgstr "從 [param base] 陣列建立具有型別的陣列。" - msgid "" "Returns the same array as [param from]. If you need a copy of the array, use " "[method duplicate]." @@ -9585,40 +8390,6 @@ msgstr "" "的,當從編輯器運作時,按索引存取將暫停專案的執行。" msgid "" -"Finds the index of an existing value (or the insertion index that maintains " -"sorting order, if the value is not yet present in the array) using binary " -"search. Optionally, a [param before] specifier can be passed. If [code]false[/" -"code], the returned index comes after all existing entries of the value in " -"the array.\n" -"[b]Note:[/b] Calling [method bsearch] on an unsorted array results in " -"unexpected behavior." -msgstr "" -"使用二進法搜尋已有值的索引(如果該值尚未存在於陣列中,則為保持排序順序的插入索" -"引)。傳遞 [param before] 說明符是可選的。如果該參數為 [code]false[/code],則" -"返回的索引位於陣列中該值的所有已有的條目之後。\n" -"[b]注意:[/b]在未排序的陣列上呼叫 [method bsearch] 會產生預料之外的行為。" - -msgid "" -"Finds the index of an existing value (or the insertion index that maintains " -"sorting order, if the value is not yet present in the array) using binary " -"search and a custom comparison method. Optionally, a [param before] specifier " -"can be passed. If [code]false[/code], the returned index comes after all " -"existing entries of the value in the array. The custom method receives two " -"arguments (an element from the array and the value searched for) and must " -"return [code]true[/code] if the first argument is less than the second, and " -"return [code]false[/code] otherwise.\n" -"[b]Note:[/b] Calling [method bsearch_custom] on an unsorted array results in " -"unexpected behavior." -msgstr "" -"使用二分法和自訂比較方法搜尋已有值的索引(如果該值尚未存在於陣列中,則為保持排" -"序順序的插入索引)。傳遞 [param before] 說明符是可選的。如果該參數為 " -"[code]false[/code],則返回的索引位於陣列中該值的所有已有條目之後。自訂方法接收" -"兩個參數(陣列中的一個元素和搜索到的值),如果第一個參數小於第二個參數,則必須" -"返回 [code]true[/code],否則返回 [code]false[/code] .\n" -"[b]注意:[/b]在未排序的陣列上呼叫 [method bsearch_custom] 會產生預料之外的行" -"為。" - -msgid "" "Clears the array. This is equivalent to using [method resize] with a size of " "[code]0[/code]." msgstr "清空陣列。相當於呼叫 [method resize] 時指定大小為 [code]0[/code]。" @@ -9746,19 +8517,6 @@ msgstr "" "從編輯器運作時按索引存取將暫停專案執行。" msgid "" -"Returns the [enum Variant.Type] constant for a typed array. If the [Array] is " -"not typed, returns [constant TYPE_NIL]." -msgstr "" -"返回型別化陣列的 [enum Variant.Type] 常數。如果該 [Array] 不是型別化的,則返" -"回 [constant TYPE_NIL]。" - -msgid "Returns a class name of a typed [Array] of type [constant TYPE_OBJECT]." -msgstr "返回型別為 [constant TYPE_OBJECT] 的 型別化 [Array] 的類別名稱。" - -msgid "Returns the script associated with a typed array tied to a class name." -msgstr "返回與此型別化陣列綁定的類別名稱關聯的腳本。" - -msgid "" "Returns [code]true[/code] if the array contains the given value.\n" "[codeblocks]\n" "[gdscript]\n" @@ -10470,71 +9228,6 @@ msgstr "" "為混合形狀新增名稱,該形狀將用 [method add_surface_from_arrays] 新增。必須在新" "增面之前呼叫。" -msgid "" -"Creates a new surface. [method Mesh.get_surface_count] will become the " -"[code]surf_idx[/code] for this new surface.\n" -"Surfaces are created to be rendered using a [param primitive], which may be " -"any of the values defined in [enum Mesh.PrimitiveType].\n" -"The [param arrays] argument is an array of arrays. Each of the [constant Mesh." -"ARRAY_MAX] elements contains an array with some of the mesh data for this " -"surface as described by the corresponding member of [enum Mesh.ArrayType] or " -"[code]null[/code] if it is not used by the surface. For example, " -"[code]arrays[0][/code] is the array of vertices. That first vertex sub-array " -"is always required; the others are optional. Adding an index array puts this " -"surface into \"index mode\" where the vertex and other arrays become the " -"sources of data and the index array defines the vertex order. All sub-arrays " -"must have the same length as the vertex array (or be an exact multiple of the " -"vertex array's length, when multiple elements of a sub-array correspond to a " -"single vertex) or be empty, except for [constant Mesh.ARRAY_INDEX] if it is " -"used.\n" -"The [param blend_shapes] argument is an array of vertex data for each blend " -"shape. Each element is an array of the same structure as [param arrays], but " -"[constant Mesh.ARRAY_VERTEX], [constant Mesh.ARRAY_NORMAL], and [constant " -"Mesh.ARRAY_TANGENT] are set if and only if they are set in [param arrays] and " -"all other entries are [code]null[/code].\n" -"The [param lods] argument is a dictionary with [float] keys and " -"[PackedInt32Array] values. Each entry in the dictionary represents a LOD " -"level of the surface, where the value is the [constant Mesh.ARRAY_INDEX] " -"array to use for the LOD level and the key is roughly proportional to the " -"distance at which the LOD stats being used. I.e., increasing the key of a LOD " -"also increases the distance that the objects has to be from the camera before " -"the LOD is used.\n" -"The [param flags] argument is the bitwise or of, as required: One value of " -"[enum Mesh.ArrayCustomFormat] left shifted by " -"[code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code] for each custom channel in use, " -"[constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE], [constant Mesh." -"ARRAY_FLAG_USE_8_BONE_WEIGHTS], or [constant Mesh." -"ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY].\n" -"[b]Note:[/b] When using indices, it is recommended to only use points, lines, " -"or triangles." -msgstr "" -"建立一個新的表面。[method Mesh.get_surface_count] 將成為這個新表面的 " -"[code]surf_idx[/code]。\n" -"建立表面以使用 [param primitive] 進行算繪,它可以是 [enum Mesh.PrimitiveType] " -"中定義的任何值。\n" -"[param arrays] 參數是陣列的陣列。每個 [constant Mesh.ARRAY_MAX] 元素都包含一個" -"陣列,其中包含此表面的一些網格資料,如 [enum Mesh.ArrayType] 的相應成員所描述" -"的一樣;如果它未被使用,則為 [code]null[/code]。例如,[code]arrays[0][/code] " -"是頂點陣列。始終需要第一個頂點子陣列;其他的是可選的。新增索引陣列會將此表面置" -"於“索引模式”,其中頂點和其他陣列成為資料來源,索引陣列定義頂點順序。所有子陣列" -"的長度必須與頂點陣列的長度相同(或者是頂點陣列長度的精確倍數,當子數組的多個元" -"素對應於單個頂點時);或者為空,如果使用了 [constant Mesh.ARRAY_INDEX ] 則除" -"外。\n" -"[param blend_shapes] 參數是每個混合形狀的頂點資料陣列。 每個元素都是與 [param " -"arrays] 具有相同結構的陣列,但是 [constant Mesh.ARRAY_VERTEX]、[constant Mesh." -"ARRAY_NORMAL] 和 [constant Mesh.ARRAY_TANGENT] 這些條目,當且僅當在 [param " -"arrays] 被設定且所有其他條目都是 [code]null[/code] 時,會被設置。\n" -"[param lods] 參數是一個帶有 [float] 鍵和 [PackedInt32Array] 值的字典。字典中的" -"每個條目代表了表面的一個 LOD 級別,其中值是用於 LOD 級別的 [constant Mesh." -"ARRAY_INDEX] 陣列,鍵大致與使用 LOD 統計資訊的距離成正比。即,增加 LOD 的關鍵" -"點也會增加在使用 LOD 之前物件必須與相機的距離。\n" -"[param flags] 參數是根據需要按位元或的:[enum Mesh.ArrayCustomFormat] 的一個值" -"左移 [code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code],用於每個正在使用的自訂通道," -"[constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE]、[constant Mesh." -"ARRAY_FLAG_USE_8_BONE_WEIGHTS]、或 [constant Mesh." -"ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY]。\n" -"[b]注意:[/b]使用索引時,建議只使用點、線或三角形。" - msgid "Removes all blend shapes from this [ArrayMesh]." msgstr "移除此 [ArrayMesh] 的所有混合形狀。" @@ -10911,77 +9604,6 @@ msgstr "" "點最近的位置。" msgid "" -"Returns an array with the IDs of the points that form the path found by " -"AStar2D between the given points. The array is ordered from the starting " -"point to the ending point of the path.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var astar = AStar2D.new()\n" -"astar.add_point(1, Vector2(0, 0))\n" -"astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n" -"astar.add_point(3, Vector2(1, 1))\n" -"astar.add_point(4, Vector2(2, 0))\n" -"\n" -"astar.connect_points(1, 2, false)\n" -"astar.connect_points(2, 3, false)\n" -"astar.connect_points(4, 3, false)\n" -"astar.connect_points(1, 4, false)\n" -"\n" -"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" -"[/gdscript]\n" -"[csharp]\n" -"var astar = new AStar2D();\n" -"astar.AddPoint(1, new Vector2(0, 0));\n" -"astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1\n" -"astar.AddPoint(3, new Vector2(1, 1));\n" -"astar.AddPoint(4, new Vector2(2, 0));\n" -"\n" -"astar.ConnectPoints(1, 2, false);\n" -"astar.ConnectPoints(2, 3, false);\n" -"astar.ConnectPoints(4, 3, false);\n" -"astar.ConnectPoints(1, 4, false);\n" -"int[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"If you change the 2nd point's weight to 3, then the result will be [code][1, " -"4, 3][/code] instead, because now even though the distance is longer, it's " -"\"easier\" to get through point 4 than through point 2." -msgstr "" -"返回一個陣列,其中包含構成由 AStar2D 在給定點之間找到的路徑的點的 ID。陣列從路" -"徑的起點到終點進行排序。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var astar = AStar2D.new()\n" -"astar.add_point(1, Vector2(0, 0))\n" -"astar.add_point(2, Vector2(0, 1), 1) # 預設權重為 1\n" -"astar.add_point(3, Vector2(1, 1))\n" -"astar.add_point(4, Vector2(2, 0))\n" -"\n" -"astar.connect_points(1, 2, false)\n" -"astar.connect_points(2, 3, false)\n" -"astar.connect_points(4, 3, false)\n" -"astar.connect_points(1, 4, false)\n" -"\n" -"var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3]\n" -"[/gdscript]\n" -"[csharp]\n" -"var astar = new AStar2D();\n" -"astar.AddPoint(1, new Vector2(0, 0));\n" -"astar.AddPoint(2, new Vector2(0, 1), 1); // 預設權重為 1\n" -"astar.AddPoint(3, new Vector2(1, 1));\n" -"astar.AddPoint(4, new Vector2(2, 0));\n" -"\n" -"astar.ConnectPoints(1, 2, false);\n" -"astar.ConnectPoints(2, 3, false);\n" -"astar.ConnectPoints(4, 3, false);\n" -"astar.ConnectPoints(1, 4, false);\n" -"int[] res = astar.GetIdPath(1, 3); // 返回 [1, 2, 3]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"如果將第2個點的權重更改為 3,則結果將改為 [code][1, 4, 3][/code],因為現在即使" -"距離更長,通過第 4 點也比通過第 2 點“更容易”。" - -msgid "" "Returns the capacity of the structure backing the points, useful in " "conjunction with [method reserve_space]." msgstr "" @@ -11051,18 +9673,6 @@ msgstr "返回點池中目前的點數。" msgid "Returns an array of all point IDs." msgstr "返回所有點 ID 的陣列。" -msgid "" -"Returns an array with the points that are in the path found by AStar2D " -"between the given points. The array is ordered from the starting point to the " -"ending point of the path.\n" -"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it " -"will return an empty [PackedVector2Array] and will print an error message." -msgstr "" -"返回一個陣列,其中包含 AStar2D 在給定點之間找到的路徑中的點。陣列從路徑的起點" -"到終點進行排序。\n" -"[b]注意:[/b]該方法不是執行緒安全的。如果從 [Thread] 呼叫,它將返回一個空的 " -"[PackedVector2Array] 並列印一條錯誤消息。" - msgid "Returns the position of the point associated with the given [param id]." msgstr "返回與給定 [param id] 相關聯的點的位置。" @@ -11247,75 +9857,6 @@ msgstr "" "定點最近的位置。" msgid "" -"Returns an array with the IDs of the points that form the path found by " -"AStar3D between the given points. The array is ordered from the starting " -"point to the ending point of the path.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var astar = AStar3D.new()\n" -"astar.add_point(1, Vector3(0, 0, 0))\n" -"astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n" -"astar.add_point(3, Vector3(1, 1, 0))\n" -"astar.add_point(4, Vector3(2, 0, 0))\n" -"\n" -"astar.connect_points(1, 2, false)\n" -"astar.connect_points(2, 3, false)\n" -"astar.connect_points(4, 3, false)\n" -"astar.connect_points(1, 4, false)\n" -"\n" -"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" -"[/gdscript]\n" -"[csharp]\n" -"var astar = new AStar3D();\n" -"astar.AddPoint(1, new Vector3(0, 0, 0));\n" -"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1\n" -"astar.AddPoint(3, new Vector3(1, 1, 0));\n" -"astar.AddPoint(4, new Vector3(2, 0, 0));\n" -"astar.ConnectPoints(1, 2, false);\n" -"astar.ConnectPoints(2, 3, false);\n" -"astar.ConnectPoints(4, 3, false);\n" -"astar.ConnectPoints(1, 4, false);\n" -"int[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"If you change the 2nd point's weight to 3, then the result will be [code][1, " -"4, 3][/code] instead, because now even though the distance is longer, it's " -"\"easier\" to get through point 4 than through point 2." -msgstr "" -"返回一個陣列,其中包含構成 AStar3D 在給定點之間找到的路徑中的點的 ID。陣列從路" -"徑的起點到終點排序。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var astar = AStar3D.new()\n" -"astar.add_point(1, Vector3(0, 0, 0))\n" -"astar.add_point(2, Vector3(0, 1, 0), 1) # 預設權重為 1\n" -"astar.add_point(3, Vector3(1, 1, 0))\n" -"astar.add_point(4, Vector3(2, 0, 0))\n" -"\n" -"astar.connect_points(1, 2, false)\n" -"astar.connect_points(2, 3, false)\n" -"astar.connect_points(4, 3, false)\n" -"astar.connect_points(1, 4, false)\n" -"\n" -"var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3]\n" -"[/gdscript]\n" -"[csharp]\n" -"var astar = new AStar3D();\n" -"astar.AddPoint(1, new Vector3(0, 0, 0));\n" -"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // 預設權重為 1\n" -"astar.AddPoint(3, new Vector3(1, 1, 0));\n" -"astar.AddPoint(4, new Vector3(2, 0, 0));\n" -"astar.ConnectPoints(1, 2, false);\n" -"astar.ConnectPoints(2, 3, false);\n" -"astar.ConnectPoints(4, 3, false);\n" -"astar.ConnectPoints(1, 4, false);\n" -"int[] res = astar.GetIdPath(1, 3); // 返回 [1, 2, 3]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"如果將第2個點的權重更改為 3,則結果將改為 [code][1, 4, 3][/code],因為現在即使" -"距離更長,但通過第 4 點也比通過第 2 點“更容易”。" - -msgid "" "Returns an array with the IDs of the points that form the connection with the " "given point.\n" "[codeblocks]\n" @@ -11372,18 +9913,6 @@ msgstr "" "[/codeblocks]" msgid "" -"Returns an array with the points that are in the path found by AStar3D " -"between the given points. The array is ordered from the starting point to the " -"ending point of the path.\n" -"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it " -"will return an empty [PackedVector3Array] and will print an error message." -msgstr "" -"返回一個陣列,其中包含 AStar3D 在給定點之間找到的路徑中的點。陣列從路徑的起點" -"到終點進行排序。\n" -"[b]注意:[/b]這種方法不是執行緒安全的。如果從 [Thread] 呼叫,它將返回一個空的 " -"[PackedVector3Array],並列印一條錯誤消息。" - -msgid "" "Reserves space internally for [param num_nodes] points. Useful if you're " "adding a known large number of points at once, such as points on a grid. New " "capacity must be greater or equals to old capacity." @@ -11483,14 +10012,6 @@ msgstr "" "[b]注意:[/b]呼叫該函式後不需要呼叫 [method update]。" msgid "" -"Returns an array with the IDs of the points that form the path found by " -"AStar2D between the given points. The array is ordered from the starting " -"point to the ending point of the path." -msgstr "" -"返回一個陣列,其中包含形成 AStar2D 在給定點之間找到的路徑的點的 ID。該陣列從路" -"徑的起點到終點排序。" - -msgid "" "Indicates that the grid parameters were changed and [method update] needs to " "be called." msgstr "表示網格參數發生改變,需要呼叫 [method update]。" @@ -11757,9 +10278,6 @@ msgstr "" msgid "Audio buses" msgstr "音訊匯流排" -msgid "Audio Mic Record Demo" -msgstr "音訊麥克風錄音演示" - msgid "Adds an amplifying audio effect to an audio bus." msgstr "向音訊匯流排新增一個放大的音訊效果。" @@ -12495,12 +11013,6 @@ msgstr "" "這種音訊效果不影響聲音輸出,但可以用於即時音訊視覺化。\n" "使用程式生成聲音請參閱 [AudioStreamGenerator]。" -msgid "Audio Spectrum Demo" -msgstr "音頻頻譜演示" - -msgid "Godot 3.2 will get new audio features" -msgstr "Godot 3.2 將獲得新的音訊功能" - msgid "" "The length of the buffer to keep (in seconds). Higher values keep data around " "for longer, but require more memory." @@ -12893,6 +11405,9 @@ msgid "" "generated audio in real-time." msgstr "此類旨在與 [AudioStreamGenerator] 一起使用以即時播放生成的音訊。" +msgid "Godot 3.2 will get new audio features" +msgstr "Godot 3.2 將獲得新的音訊功能" + msgid "" "Returns [code]true[/code] if a buffer of the size [param amount] can be " "pushed to the audio sample data buffer without overflowing it, [code]false[/" @@ -12949,6 +11464,9 @@ msgstr "" "[code]true[/code] 音訊輸入才能正常工作。另請參閱該設定的說明,瞭解與許可權和操" "作系統隱私設定相關的注意事項。" +msgid "Audio Mic Record Demo" +msgstr "音訊麥克風錄音演示" + msgid "MP3 audio stream driver." msgstr "MP3 音訊流驅動程式。" @@ -13129,95 +11647,6 @@ msgid "" "playback." msgstr "無法為播放分配一個流時由 [method play_stream] 返回。" -msgid "Plays back audio non-positionally." -msgstr "播放音訊,不考慮所處位置。" - -msgid "" -"Plays an audio stream non-positionally.\n" -"To play audio positionally, use [AudioStreamPlayer2D] or " -"[AudioStreamPlayer3D] instead of [AudioStreamPlayer]." -msgstr "" -"以非位置方式支援播放音訊流。\n" -"要在位置上播放音訊,請使用 [AudioStreamPlayer2D] 或 [AudioStreamPlayer3D] 而不" -"是 [AudioStreamPlayer]。" - -msgid "Returns the position in the [AudioStream] in seconds." -msgstr "返回 [AudioStream] 中的位置,單位為秒。" - -msgid "" -"Returns the [AudioStreamPlayback] object associated with this " -"[AudioStreamPlayer]." -msgstr "返回與此 [AudioStreamPlayer] 關聯的 [AudioStreamPlayback] 對象。" - -msgid "" -"Returns whether the [AudioStreamPlayer] can return the [AudioStreamPlayback] " -"object or not." -msgstr "返回該 [AudioStreamPlayer] 是否能夠返回 [AudioStreamPlayback] 物件。" - -msgid "Plays the audio from the given [param from_position], in seconds." -msgstr "從給定的位置 [param from_position] 播放音訊,以秒為單位。" - -msgid "Sets the position from which audio will be played, in seconds." -msgstr "設定音訊的播放位置,以秒為單位。" - -msgid "Stops the audio." -msgstr "停止音訊。" - -msgid "If [code]true[/code], audio plays when added to scene tree." -msgstr "如果為 [code]true[/code],在新增到場景樹時將播放音訊。" - -msgid "" -"Bus on which this audio is playing.\n" -"[b]Note:[/b] When setting this property, keep in mind that no validation is " -"performed to see if the given name matches an existing bus. This is because " -"audio bus layouts might be loaded after this property is set. If this given " -"name can't be resolved at runtime, it will fall back to [code]\"Master\"[/" -"code]." -msgstr "" -"這個音訊在哪個匯流排上播放。\n" -"[b]注意:[/b]設定這個屬性時,請記住它並不會對給定的名稱是否與現有匯流排配對進" -"行校驗。這是因為音訊匯流排佈局可以在設定這個屬性後再載入。如果這個給定的名稱在" -"運行時無法解析,就會退回到 [code]\"Master\"[/code]。" - -msgid "" -"The maximum number of sounds this node can play at the same time. Playing " -"additional sounds after this value is reached will cut off the oldest sounds." -msgstr "" -"該節點可以同時播放的最大聲音數。達到此值後,播放額外的聲音將切斷最舊的聲音。" - -msgid "" -"If the audio configuration has more than two speakers, this sets the target " -"channels. See [enum MixTarget] constants." -msgstr "" -"如果音訊配置有兩個以上的揚聲器,則設定目標通道。見 [enum MixTarget] 常數。" - -msgid "" -"The pitch and the tempo of the audio, as a multiplier of the audio sample's " -"sample rate." -msgstr "音訊的音高和節奏,作為音訊樣本的取樣速率的倍數。" - -msgid "If [code]true[/code], audio is playing." -msgstr "如果為 [code]true[/code],則播放音訊。" - -msgid "The [AudioStream] object to be played." -msgstr "要播放的 [AudioStream] 對象。" - -msgid "" -"If [code]true[/code], the playback is paused. You can resume it by setting " -"[member stream_paused] to [code]false[/code]." -msgstr "" -"如果為 [code]true[/code],則播放會暫停。你可以通過將 [member stream_paused] 設" -"定為 [code]false[/code]來恢復它。" - -msgid "Volume of sound, in dB." -msgstr "音量,單位為 dB。" - -msgid "Emitted when the audio stops playing." -msgstr "當音訊停止播放時發出。" - -msgid "The audio will be played only on the first channel." -msgstr "音訊將只在第一個聲道中播放。" - msgid "The audio will be played on all surround channels." msgstr "音訊將在所有環繞聲聲道中播放。" @@ -13257,12 +11686,23 @@ msgid "" msgstr "返回與該 [AudioStreamPlayer2D] 相關聯的 [AudioStreamPlayback] 對象。" msgid "" +"Returns whether the [AudioStreamPlayer] can return the [AudioStreamPlayback] " +"object or not." +msgstr "返回該 [AudioStreamPlayer] 是否能夠返回 [AudioStreamPlayback] 物件。" + +msgid "" "Queues the audio to play on the next physics frame, from the given position " "[param from_position], in seconds." msgstr "" "將要播放的音訊入隊,將在下一物理影格從給定的位置 [param from_position] 開始播" "放,單位為秒。" +msgid "Sets the position from which audio will be played, in seconds." +msgstr "設定音訊的播放位置,以秒為單位。" + +msgid "Stops the audio." +msgstr "停止音訊。" + msgid "" "Determines which [Area2D] layers affect the sound for reverb and audio bus " "effects. Areas can be used to redirect [AudioStream]s so that they play in a " @@ -13277,10 +11717,32 @@ msgstr "" msgid "The volume is attenuated over distance with this as an exponent." msgstr "以該屬性為指數,將音量隨著距離的增加而衰減。" +msgid "If [code]true[/code], audio plays when added to scene tree." +msgstr "如果為 [code]true[/code],在新增到場景樹時將播放音訊。" + +msgid "" +"Bus on which this audio is playing.\n" +"[b]Note:[/b] When setting this property, keep in mind that no validation is " +"performed to see if the given name matches an existing bus. This is because " +"audio bus layouts might be loaded after this property is set. If this given " +"name can't be resolved at runtime, it will fall back to [code]\"Master\"[/" +"code]." +msgstr "" +"這個音訊在哪個匯流排上播放。\n" +"[b]注意:[/b]設定這個屬性時,請記住它並不會對給定的名稱是否與現有匯流排配對進" +"行校驗。這是因為音訊匯流排佈局可以在設定這個屬性後再載入。如果這個給定的名稱在" +"運行時無法解析,就會退回到 [code]\"Master\"[/code]。" + msgid "Maximum distance from which audio is still hearable." msgstr "音訊仍可聽到的最大距離。" msgid "" +"The maximum number of sounds this node can play at the same time. Playing " +"additional sounds after this value is reached will cut off the oldest sounds." +msgstr "" +"該節點可以同時播放的最大聲音數。達到此值後,播放額外的聲音將切斷最舊的聲音。" + +msgid "" "Scales the panning strength for this node by multiplying the base [member " "ProjectSettings.audio/general/2d_panning_strength] with this factor. Higher " "values will pan audio from left to right more dramatically than lower values." @@ -13290,15 +11752,33 @@ msgstr "" "音訊。" msgid "" +"The pitch and the tempo of the audio, as a multiplier of the audio sample's " +"sample rate." +msgstr "音訊的音高和節奏,作為音訊樣本的取樣速率的倍數。" + +msgid "" "If [code]true[/code], audio is playing or is queued to be played (see [method " "play])." msgstr "" "如果為 [code]true[/code],則音訊正在播放,或者已加入播放佇列(見 [method " "play])。" +msgid "The [AudioStream] object to be played." +msgstr "要播放的 [AudioStream] 對象。" + +msgid "" +"If [code]true[/code], the playback is paused. You can resume it by setting " +"[member stream_paused] to [code]false[/code]." +msgstr "" +"如果為 [code]true[/code],則播放會暫停。你可以通過將 [member stream_paused] 設" +"定為 [code]false[/code]來恢復它。" + msgid "Base volume before attenuation." msgstr "衰減前的基礎音量。" +msgid "Emitted when the audio stops playing." +msgstr "當音訊停止播放時發出。" + msgid "Plays positional sound in 3D space." msgstr "在 3D 空間中播放與位置相關的聲音。" @@ -13602,17 +12082,6 @@ msgstr "" "瞭解程式化音訊生成。" msgid "" -"Saves the AudioStreamWAV as a WAV file to [param path]. Samples with IMA " -"ADPCM format can't be saved.\n" -"[b]Note:[/b] A [code].wav[/code] extension is automatically appended to " -"[param path] if it is missing." -msgstr "" -"將 AudioStreamWAV 作為 WAV 檔保存到 [param path]。無法保存 IMA ADPCM 格式的樣" -"本。\n" -"[b]注意:[/b]如果缺少 [code].wav[/code] 副檔名,則會自動將其追加到 [param " -"path]。" - -msgid "" "Contains the audio data in bytes.\n" "[b]Note:[/b] This property expects signed PCM8 data. To convert unsigned PCM8 " "to signed PCM8, subtract 128 from each byte." @@ -15467,9 +13936,6 @@ msgstr "使用 3D 變換" msgid "Matrix Transform Demo" msgstr "矩陣變換演示" -msgid "2.5D Demo" -msgstr "2.5D 演示" - msgid "Constructs a [Basis] as a copy of the given [Basis]." msgstr "建構給定 [Basis] 的副本。" @@ -15681,16 +14147,6 @@ msgstr "" "點用作 [Skeleton3D]。" msgid "" -"A function that is called automatically when the [Skeleton3D] the " -"BoneAttachment3D node is using has a bone that has changed its pose. This " -"function is where the BoneAttachment3D node updates its position so it is " -"correctly bound when it is [i]not[/i] set to override the bone pose." -msgstr "" -"當該 BoneAttachment3D 節點正在使用的 [Skeleton3D] 中有骨骼已改變其姿勢時,自動" -"呼叫的函式。該函式是 BoneAttachment3D 節點更新其位置的地方,以便在[i]未[/i]設" -"定為覆蓋骨骼姿勢時正確綁定。" - -msgid "" "Sets the [NodePath] to the external skeleton that the BoneAttachment3D node " "should use. See [method set_use_external_skeleton] to enable the external " "[Skeleton3D] node." @@ -15715,16 +14171,6 @@ msgid "The name of the attached bone." msgstr "所附著骨骼的名稱。" msgid "" -"Whether the BoneAttachment3D node will override the bone pose of the bone it " -"is attached to. When set to [code]true[/code], the BoneAttachment3D node can " -"change the pose of the bone. When set to [code]false[/code], the " -"BoneAttachment3D will always be set to the bone's transform." -msgstr "" -"BoneAttachment3D 節點是否將覆蓋它所附著到的骨骼的骨骼姿勢。當設定為 " -"[code]true[/code] 時,BoneAttachment3D 節點可以改變骨骼的姿勢。當設定為 " -"[code]false[/code] 時,BoneAttachment3D 將始終被設定為骨骼的變換。" - -msgid "" "Describes a mapping of bone names for retargeting [Skeleton3D] into common " "names defined by a [SkeletonProfile]." msgstr "" @@ -16147,9 +14593,6 @@ msgstr "" "[b]注意:[/b]按鈕不處理觸摸輸入,因此不支援多點觸控,因為類比滑鼠在給定時間只" "能按下一個按鈕。請用 [TouchScreenButton] 製作觸發遊戲移動或動作的按鈕。" -msgid "OS Test Demo" -msgstr "作業系統測試演示" - msgid "" "Text alignment policy for the button's text, use one of the [enum " "HorizontalAlignment] constants." @@ -16628,9 +15071,6 @@ msgstr "" msgid "2D Isometric Demo" msgstr "2D 等軸演示" -msgid "2D HDR Demo" -msgstr "2D HDR 演示" - msgid "Aligns the camera to the tracked node." msgstr "將相機與追蹤的節點對齊。" @@ -17688,19 +16128,6 @@ msgstr "相機安裝在了裝置後部。" msgid "Server keeping track of different cameras accessible in Godot." msgstr "追蹤 Godot 中可存取的不同攝像頭的伺服器。" -msgid "" -"The [CameraServer] keeps track of different cameras accessible in Godot. " -"These are external cameras such as webcams or the cameras on your phone.\n" -"It is notably used to provide AR modules with a video feed from the camera.\n" -"[b]Note:[/b] This class is currently only implemented on macOS and iOS. On " -"other platforms, no [CameraFeed]s will be available." -msgstr "" -"[CameraServer] 記錄了 Godot 中可存取的不同相機。此處的相機指外部相機,例如網路" -"攝像頭或手機上的攝像頭。\n" -"主要用於為 AR 模組提供來自相機的影片源。\n" -"[b]注意:[/b]這個類目前只在 macOS 和 iOS 上實作。在其他平臺上沒有可用的 " -"[CameraFeed]。" - msgid "Adds the camera [param feed] to the camera server." msgstr "將相機源 [param feed] 新增到相機伺服器中。" @@ -17867,42 +16294,6 @@ msgstr "" msgid "Abstract base class for everything in 2D space." msgstr "2D 空間中所有物件的抽象基底類別。" -msgid "" -"Abstract base class for everything in 2D space. Canvas items are laid out in " -"a tree; children inherit and extend their parent's transform. [CanvasItem] is " -"extended by [Control] for GUI-related nodes, and by [Node2D] for 2D game " -"objects.\n" -"Any [CanvasItem] can draw. For this, [method queue_redraw] is called by the " -"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to " -"request a redraw. Because of this, canvas items don't need to be redrawn on " -"every frame, improving the performance significantly. Several functions for " -"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] functions). " -"However, they can only be used inside [method _draw], its corresponding " -"[method Object._notification] or methods connected to the [signal draw] " -"signal.\n" -"Canvas items are drawn in tree order on their canvas layer. By default, " -"children are on top of their parents, so a root [CanvasItem] will be drawn " -"behind everything. This behavior can be changed on a per-item basis.\n" -"A [CanvasItem] can be hidden, which will also hide its children. By adjusting " -"various other properties of a [CanvasItem], you can also modulate its color " -"(via [member modulate] or [member self_modulate]), change its Z-index, blend " -"mode, and more." -msgstr "" -"2D 空間中所有物件的抽象基底類別。畫布專案(Canvas Item)以樹狀排列;子節點繼承" -"並擴充其父節點的變換。[CanvasItem] 由 [Control] 擴充為 GUI 相關的節點,由 " -"[Node2D] 擴充為 2D 遊戲物件。\n" -"任何 [CanvasItem] 都可以進行繪圖。繪圖時,引擎會呼叫 [method queue_redraw],然" -"後節點就會在空閒時接收到請求重繪的 [constant NOTIFICATION_DRAW]。因此畫布項目" -"不需要每一影格都重繪,顯著提升了性能。這個類還提供了幾個用於在 [CanvasItem] 上" -"繪圖的函式(見 [code]draw_*[/code] 函式)。不過這些函式都只能在 [method " -"_draw] 及其對應的 [method Object._notification] 或連接到 [signal draw] 的方法" -"內使用。\n" -"畫布專案是按樹狀順序繪製的。預設情況下,子專案位於父專案的上方,因此根 " -"[CanvasItem] 將被畫在所有專案的後面。這種行為可以針對單個畫布專案進行更改。\n" -"[CanvasItem] 可以隱藏,隱藏時也會隱藏其子專案。通過調整畫布專案的各種其它屬" -"性,你還可以調變它的顏色(通過 [member modulate] 或 [member self_modulate])、" -"更改 Z 索引、混合模式等。" - msgid "Viewport and canvas transforms" msgstr "Viewport 和畫布變換" @@ -17934,13 +16325,6 @@ msgid "Draws a string first character outline using a custom font." msgstr "使用自訂字形繪製字串中第一個字元的輪廓。" msgid "" -"Draws a colored, filled circle. See also [method draw_arc], [method " -"draw_polyline] and [method draw_polygon]." -msgstr "" -"繪製彩色的實心圓。另見 [method draw_arc]、[method draw_polyline] 和 [method " -"draw_polygon]。" - -msgid "" "Draws a colored polygon of any number of points, convex or concave. Unlike " "[method draw_polygon], a single color must be specified for the whole polygon." msgstr "" @@ -18514,23 +16898,6 @@ msgstr "" "將是 2 + 3 = 5。" msgid "" -"Z index. Controls the order in which the nodes render. A node with a higher Z " -"index will display in front of others. Must be between [constant " -"RenderingServer.CANVAS_ITEM_Z_MIN] and [constant RenderingServer." -"CANVAS_ITEM_Z_MAX] (inclusive).\n" -"[b]Note:[/b] Changing the Z index of a [Control] only affects the drawing " -"order, not the order in which input events are handled. This can be useful to " -"implement certain UI animations, e.g. a menu where hovered items are scaled " -"and should overlap others." -msgstr "" -"Z 索引。控制節點的算繪順序。具有較高 Z 索引的節點將顯示在其他節點的前面。必須" -"在 [constant RenderingServer.CANVAS_ITEM_Z_MIN] 和 [constant RenderingServer." -"CANVAS_ITEM_Z_MAX]之間(包含)。\n" -"[b]注意:[/b]改變 [Control] 的 Z 索引只影響繪圖順序,不影響處理輸入事件的順" -"序。可用於實作某些 UI 動畫,例如對處於懸停狀態的功能表專案進行縮放,此時會與其" -"他內容重疊。" - -msgid "" "Emitted when the [CanvasItem] must redraw, [i]after[/i] the related [constant " "NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] is called.\n" "[b]Note:[/b] Deferred connections do not allow drawing through the " @@ -19016,14 +17383,6 @@ msgstr "" "[code]true[/code] 時這個函式什麼都不做。" msgid "" -"Returns the surface normal of the floor at the last collision point. Only " -"valid after calling [method move_and_slide] and when [method is_on_floor] " -"returns [code]true[/code]." -msgstr "" -"返回最近一次碰撞點的地面法線。只有在呼叫了 [method move_and_slide] 並且 " -"[method is_on_floor] 返回值為 [code]true[/code] 時才有效。" - -msgid "" "Returns the last motion applied to the [CharacterBody2D] during the last call " "to [method move_and_slide]. The movement can be split into multiple motions " "when sliding occurs, and this method return the last one, which is useful to " @@ -19110,14 +17469,6 @@ msgstr "" "返回最近一次呼叫 [method move_and_slide] 時,該物體發生碰撞並改變方向的次數。" msgid "" -"Returns the surface normal of the wall at the last collision point. Only " -"valid after calling [method move_and_slide] and when [method is_on_wall] " -"returns [code]true[/code]." -msgstr "" -"返回最近一次碰撞點的牆面法線。只有在呼叫了 [method move_and_slide] 並且 " -"[method is_on_wall] 返回值為 [code]true[/code] 時才有效。" - -msgid "" "Returns [code]true[/code] if the body collided with the ceiling on the last " "call of [method move_and_slide]. Otherwise, returns [code]false[/code]. The " "[member up_direction] and [member floor_max_angle] are used to determine " @@ -19908,13 +18259,6 @@ msgstr "" "正確顯示原始程式碼。" msgid "" -"Override this method to define how the selected entry should be inserted. If " -"[param replace] is true, any existing text should be replaced." -msgstr "" -"覆蓋此方法以定義所選條目應如何插入。如果 [param replace] 為真,任何現有的文字" -"都應該被替換。" - -msgid "" "Override this method to define what items in [param candidates] should be " "displayed.\n" "Both [param candidates] and the return is a [Array] of [Dictionary], see " @@ -19925,13 +18269,6 @@ msgstr "" "[Dictionary] 的鍵值,詳見 [method get_code_completion_option]。" msgid "" -"Override this method to define what happens when the user requests code " -"completion. If [param force] is true, any checks should be bypassed." -msgstr "" -"覆蓋此方法以定義當使用者請求程式碼完成時發生的情況。如果 [param force] 為真," -"會繞過任何檢查。" - -msgid "" "Adds a brace pair.\n" "Both the start and end keys must be symbols. Only the start key has to be " "unique." @@ -20163,16 +18500,6 @@ msgstr "移除帶有 [param start_key] 的注釋分隔符號。" msgid "Removes the string delimiter with [param start_key]." msgstr "移除帶有 [param start_key] 的字串分隔符號。" -msgid "" -"Emits [signal code_completion_requested], if [param force] is true will " -"bypass all checks. Otherwise will check that the caret is in a word or in " -"front of a prefix. Will ignore the request if all current options are of type " -"file path, node path or signal." -msgstr "" -"發出 [signal code_completion_requested],如果 [param force] 為真將繞過所有檢" -"查。否則,將檢查游標是否在一個詞中或在一個前綴的前面。如果目前所有選項都是文件" -"路徑、節點路徑或訊號型別,將忽略該請求。" - msgid "Sets the current selected completion option." msgstr "設定目前選定的補全選項。" @@ -20903,21 +19230,6 @@ msgstr "" "縮放保持一致,可以用對碰撞形狀的調整來代替非均勻縮放。" msgid "" -"Receives unhandled [InputEvent]s. [param position] is the location in world " -"space of the mouse pointer on the surface of the shape with index [param " -"shape_idx] and [param normal] is the normal vector of the surface at that " -"point. Connect to the [signal input_event] signal to easily pick up these " -"events.\n" -"[b]Note:[/b] [method _input_event] requires [member input_ray_pickable] to be " -"[code]true[/code] and at least one [member collision_layer] bit to be set." -msgstr "" -"接收未處理的 [InputEvent]。[param position] 是滑鼠指標在索引為 [param " -"shape_idx] 的形狀表面上的世界空間位置,[param normal] 是該點表面的法向量。連接" -"到 [signal input_event] 訊號即可輕鬆獲取這些事件。\n" -"[b]注意:[/b][method _input_event] 要求 [member input_ray_pickable] 為 " -"[code]true[/code],並且至少要設定一個 [member collision_layer] 位。" - -msgid "" "Called when the mouse pointer enters any of this object's shapes. Requires " "[member input_ray_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " @@ -20991,16 +19303,6 @@ msgstr "" "輸入事件。" msgid "" -"Emitted when the object receives an unhandled [InputEvent]. [param position] " -"is the location in world space of the mouse pointer on the surface of the " -"shape with index [param shape_idx] and [param normal] is the normal vector of " -"the surface at that point." -msgstr "" -"當物件收到未處理的 [InputEvent] 時發出。[param position] 是滑鼠指標在索引為 " -"[param shape_idx] 的形狀表面上的世界空間位置,[param normal] 是表面在該點的法" -"向量。" - -msgid "" "Emitted when the mouse pointer enters any of this object's shapes. Requires " "[member input_ray_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set.\n" @@ -21060,21 +19362,6 @@ msgstr "" msgid "A node that provides a polygon shape to a [CollisionObject2D] parent." msgstr "向 [CollisionObject2D] 父級提供多邊形形狀的節點。" -msgid "" -"A node that provides a thickened polygon shape (a prism) to a " -"[CollisionObject2D] parent and allows to edit it. The polygon can be concave " -"or convex. This can give a detection shape to an [Area2D] or turn " -"[PhysicsBody2D] into a solid object.\n" -"[b]Warning:[/b] A non-uniformly scaled [CollisionShape2D] will likely not " -"behave as expected. Make sure to keep its scale the same on all axes and " -"adjust its shape resource instead." -msgstr "" -"向 [CollisionObject2D] 父級提供加厚多邊形形狀(角柱體)的節點,能夠為這個形狀" -"提供編輯的方法。該多邊形可以是凹多邊形,也可以是凸多邊形。能夠為 [Area2D] 提供" -"偵測形狀,也能夠將 [PhysicsBody2D] 變為實體。\n" -"[b]警告:[/b]非均勻縮放的 [CollisionObject2D] 應該無法按預期工作。請確保它在所" -"有軸上的縮放是一致的,可以用對形狀資源的調整來代替非均勻縮放。" - msgid "Collision build mode. Use one of the [enum BuildMode] constants." msgstr "碰撞建構模式。使用 [enum BuildMode] 常數之一。" @@ -21237,9 +19524,6 @@ msgstr "以 RGBA 格式表示的顏色。" msgid "2D GD Paint Demo" msgstr "2D GD 畫圖演示" -msgid "Tween Demo" -msgstr "Tween 演示" - msgid "GUI Drag And Drop Demo" msgstr "GUI 拖放演示" @@ -21460,12 +19744,6 @@ msgstr "" "[/codeblocks]" msgid "" -"Decodes a [Color] from a RGBE9995 format integer. See [constant Image." -"FORMAT_RGBE9995]." -msgstr "" -"從 RGBE9995 格式的整數解碼 [Color]。見 [constant Image.FORMAT_RGBE9995]。" - -msgid "" "Creates a [Color] from the given string, which can be either an HTML color " "code or a named color (case-insensitive). Returns [param default] if the " "color cannot be inferred from the string." @@ -22994,204 +21272,6 @@ msgstr "代表 [enum Param] 列舉的大小。" msgid "Helper class to handle INI-style files." msgstr "用於處理 INI 樣式檔的輔助類。" -msgid "" -"This helper class can be used to store [Variant] values on the filesystem " -"using INI-style formatting. The stored values are identified by a section and " -"a key:\n" -"[codeblock]\n" -"[section]\n" -"some_key=42\n" -"string_example=\"Hello World3D!\"\n" -"a_vector=Vector3(1, 0, 2)\n" -"[/codeblock]\n" -"The stored data can be saved to or parsed from a file, though ConfigFile " -"objects can also be used directly without accessing the filesystem.\n" -"The following example shows how to create a simple [ConfigFile] and save it " -"on disc:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# Create new ConfigFile object.\n" -"var config = ConfigFile.new()\n" -"\n" -"# Store some values.\n" -"config.set_value(\"Player1\", \"player_name\", \"Steve\")\n" -"config.set_value(\"Player1\", \"best_score\", 10)\n" -"config.set_value(\"Player2\", \"player_name\", \"V3geta\")\n" -"config.set_value(\"Player2\", \"best_score\", 9001)\n" -"\n" -"# Save it to a file (overwrite if already exists).\n" -"config.save(\"user://scores.cfg\")\n" -"[/gdscript]\n" -"[csharp]\n" -"// Create new ConfigFile object.\n" -"var config = new ConfigFile();\n" -"\n" -"// Store some values.\n" -"config.SetValue(\"Player1\", \"player_name\", \"Steve\");\n" -"config.SetValue(\"Player1\", \"best_score\", 10);\n" -"config.SetValue(\"Player2\", \"player_name\", \"V3geta\");\n" -"config.SetValue(\"Player2\", \"best_score\", 9001);\n" -"\n" -"// Save it to a file (overwrite if already exists).\n" -"config.Save(\"user://scores.cfg\");\n" -"[/csharp]\n" -"[/codeblocks]\n" -"This example shows how the above file could be loaded:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var score_data = {}\n" -"var config = ConfigFile.new()\n" -"\n" -"# Load data from a file.\n" -"var err = config.load(\"user://scores.cfg\")\n" -"\n" -"# If the file didn't load, ignore it.\n" -"if err != OK:\n" -" return\n" -"\n" -"# Iterate over all sections.\n" -"for player in config.get_sections():\n" -" # Fetch the data for each section.\n" -" var player_name = config.get_value(player, \"player_name\")\n" -" var player_score = config.get_value(player, \"best_score\")\n" -" score_data[player_name] = player_score\n" -"[/gdscript]\n" -"[csharp]\n" -"var score_data = new Godot.Collections.Dictionary();\n" -"var config = new ConfigFile();\n" -"\n" -"// Load data from a file.\n" -"Error err = config.Load(\"user://scores.cfg\");\n" -"\n" -"// If the file didn't load, ignore it.\n" -"if (err != Error.Ok)\n" -"{\n" -" return;\n" -"}\n" -"\n" -"// Iterate over all sections.\n" -"foreach (String player in config.GetSections())\n" -"{\n" -" // Fetch the data for each section.\n" -" var player_name = (String)config.GetValue(player, \"player_name\");\n" -" var player_score = (int)config.GetValue(player, \"best_score\");\n" -" score_data[player_name] = player_score;\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Any operation that mutates the ConfigFile such as [method set_value], [method " -"clear], or [method erase_section], only changes what is loaded in memory. If " -"you want to write the change to a file, you have to save the changes with " -"[method save], [method save_encrypted], or [method save_encrypted_pass].\n" -"Keep in mind that section and property names can't contain spaces. Anything " -"after a space will be ignored on save and on load.\n" -"ConfigFiles can also contain manually written comment lines starting with a " -"semicolon ([code];[/code]). Those lines will be ignored when parsing the " -"file. Note that comments will be lost when saving the ConfigFile. This can " -"still be useful for dedicated server configuration files, which are typically " -"never overwritten without explicit user action.\n" -"[b]Note:[/b] The file extension given to a ConfigFile does not have any " -"impact on its formatting or behavior. By convention, the [code].cfg[/code] " -"extension is used here, but any other extension such as [code].ini[/code] is " -"also valid. Since neither [code].cfg[/code] nor [code].ini[/code] are " -"standardized, Godot's ConfigFile formatting may differ from files written by " -"other programs." -msgstr "" -"該輔助類可用於使用 INI 樣式格式在檔案系統上儲存 [Variant] 值。儲存的值由一個小" -"節和一個鍵標識:\n" -"[codeblock]\n" -"[section]\n" -"some_key=42\n" -"string_example=\"Hello World3D!\"\n" -"a_vector=Vector3(1, 0, 2)\n" -"[/codeblock]\n" -"儲存的資料可以被保存到檔中或從檔中解析出來,儘管 ConfigFile 物件也可以直接使用" -"而無需存取檔案系統。\n" -"以下範例顯示了如何建立一個簡單的 [ConfigFile] 並將其保存在磁片上:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# 建立新的 ConfigFile 物件。\n" -"var config = ConfigFile.new()\n" -"\n" -"# 儲存一些值。\n" -"config.set_value(\"Player1\", \"player_name\", \"Steve\")\n" -"config.set_value(\"Player1\", \"best_score\", 10)\n" -"config.set_value(\"Player2\", \"player_name\", \"V3geta\")\n" -"config.set_value(\"Player2\", \"best_score\", 9001)\n" -"\n" -"# 將其保存到檔中(如果已存在則覆蓋)。\n" -"config.save(\"user://scores.cfg\")\n" -"[/gdscript]\n" -"[csharp]\n" -"// 建立新的 ConfigFile 物件。\n" -"var config = new ConfigFile();\n" -"\n" -"// 儲存一些值。\n" -"config.SetValue(\"Player1\", \"player_name\", \"Steve\");\n" -"config.SetValue(\"Player1\", \"best_score\", 10);\n" -"config.SetValue(\"Player2\", \"player_name\", \"V3geta\");\n" -"config.SetValue(\"Player2\", \"best_score\", 9001);\n" -"\n" -"// 將其保存到檔中(如果已存在則覆蓋)。\n" -"config.Save(\"user://scores.cfg\");\n" -"[/csharp]\n" -"[/codeblocks]\n" -"該範例展示了如何載入上面的檔案:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var score_data = {}\n" -"var config = ConfigFile.new()\n" -"\n" -"# 從檔載入資料。\n" -"var err = config.load(\"user://scores.cfg\")\n" -"\n" -"# 如果檔沒有載入,忽略它。\n" -"if err != OK:\n" -" return\n" -"\n" -"# 反覆運算所有小節。\n" -"for player in config.get_sections():\n" -" # 獲取每個小節的資料。\n" -" var player_name = config.get_value(player, \"player_name\")\n" -" var player_score = config.get_value(player, \"best_score\")\n" -" score_data[player_name] = player_score\n" -"[/gdscript]\n" -"[csharp]\n" -"var score_data = new Godot.Collections.Dictionary();\n" -"var config = new ConfigFile();\n" -"\n" -"// 從檔載入資料。\n" -"Error err = config.Load(\"user://scores.cfg\");\n" -"\n" -"// 如果檔沒有載入,忽略它。\n" -"if (err != Error.Ok)\n" -"{\n" -" return;\n" -"}\n" -"\n" -"// 反覆運算所有小節。\n" -"foreach (String player in config.GetSections())\n" -"{\n" -" // 獲取每個小節的資料。\n" -" var player_name = (String)config.GetValue(player, \"player_name\");\n" -" var player_score = (int)config.GetValue(player, \"best_score\");\n" -" score_data[player_name] = player_score;\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"任何改變 ConfigFile 的操作,例如 [method set_value]、[method clear]、或 " -"[method erase_section],只會改變載入到記憶體中的內容。如果要將更改寫入檔,則必" -"須使用 [method save]、[method save_encrypted]、或 [method " -"save_encrypted_pass] 保存更改。\n" -"請記住,小節和屬性名稱不能包含空格。保存和載入時將忽略空格後的任何內容。\n" -"ConfigFiles 還可以包含以分號([code];[/code])開頭的手動編寫的注釋行。解析文件" -"時將忽略這些行。請注意,保存 ConfigFile 時注釋將丟失。注釋對於專用伺服器配置檔" -"仍然很有用,如果沒有明確的使用者操作,這些檔通常永遠不會被覆蓋。\n" -"[b]注意:[/b]為 ConfigFile 指定的檔副檔名對其格式或行為沒有任何影響。按照慣" -"例,此處使用 [code].cfg[/code] 副檔名,但 [code].ini[/code] 等任何其他副檔名也" -"有效。由於 [code].cfg[/code] 和 [code].ini[/code] 都不是標準化的格式,Godot " -"的 ConfigFile 格式可能與其他程式編寫的檔不同。" - msgid "Removes the entire contents of the config." msgstr "移除配置的全部內容。" @@ -24891,16 +22971,6 @@ msgstr "" "會接收輸入。" msgid "" -"The minimum size of the node's bounding rectangle. If you set it to a value " -"greater than (0, 0), the node's bounding rectangle will always have at least " -"this size, even if its content is smaller. If it's set to (0, 0), the node " -"sizes automatically to fit its content, be it a texture or child nodes." -msgstr "" -"節點的邊界矩形的最小尺寸。如果你將它設定為大於 (0,0) 的值,節點的邊界矩形將始" -"終至少有這個大小,即使它的內容更小。如果設定為 (0,0),節點的大小會自動適應其" -"內容,無論是紋理還是子節點。" - -msgid "" "The focus access mode for the control (None, Click or All). Only one Control " "can be focused at the same time, and it will receive keyboard, gamepad, and " "mouse signals." @@ -25337,26 +23407,6 @@ msgstr "當節點獲得焦點時發送。" msgid "Sent when the node loses focus." msgstr "當節點失去焦點時發送。" -msgid "" -"Sent when the node needs to refresh its theme items. This happens in one of " -"the following cases:\n" -"- The [member theme] property is changed on this node or any of its " -"ancestors.\n" -"- The [member theme_type_variation] property is changed on this node.\n" -"- One of the node's theme property overrides is changed.\n" -"- The node enters the scene tree.\n" -"[b]Note:[/b] As an optimization, this notification won't be sent from changes " -"that occur while this node is outside of the scene tree. Instead, all of the " -"theme item updates can be applied at once when the node enters the scene tree." -msgstr "" -"當節點需要更新其主題專案時發送。這發生在以下情況之一:\n" -"- 在該節點或其任何祖先節點上的 [member theme] 屬性被更改。\n" -"- 該節點上的 [member theme_type_variation] 屬性被更改。\n" -"- 該節點的一個主題屬性覆蓋被更改。\n" -"- 該節點進入場景樹。\n" -"[b]注意:[/b]作為一種優化,當該節點在場景樹之外時,發生的更改不會發送該通知。" -"相反,所有的主題項更新可以在該節點進入場景樹時一次性套用。" - msgid "Sent when control layout direction is changed." msgstr "當控制項的佈局方向改變時發送。" @@ -26877,58 +24927,6 @@ msgstr "" "[CryptoKey]。" msgid "" -"Generates a self-signed [X509Certificate] from the given [CryptoKey] and " -"[param issuer_name]. The certificate validity will be defined by [param " -"not_before] and [param not_after] (first valid date and last valid date). The " -"[param issuer_name] must contain at least \"CN=\" (common name, i.e. the " -"domain name), \"O=\" (organization, i.e. your company name), \"C=\" (country, " -"i.e. 2 lettered ISO-3166 code of the country the organization is based in).\n" -"A small example to generate an RSA key and a X509 self-signed certificate.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var crypto = Crypto.new()\n" -"# Generate 4096 bits RSA key.\n" -"var key = crypto.generate_rsa(4096)\n" -"# Generate self-signed certificate using the given key.\n" -"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com,O=A " -"Game Company,C=IT\")\n" -"[/gdscript]\n" -"[csharp]\n" -"var crypto = new Crypto();\n" -"// Generate 4096 bits RSA key.\n" -"CryptoKey key = crypto.GenerateRsa(4096);\n" -"// Generate self-signed certificate using the given key.\n" -"X509Certificate cert = crypto.GenerateSelfSignedCertificate(key, " -"\"CN=mydomain.com,O=My Game Company,C=IT\");\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"根據給定的 [CryptoKey] 和 [param issuer_name] 生成自簽章的 [X509Certificate]。" -"憑證有效性將由 [param not_before] 和 [param not_after](第一個有效日期和最後一" -"個有效日期)定義。[param issuer_name] 必須至少包含“CN=”(通用名稱,即功能變數" -"名稱)、“O=”(組織,即你的公司名稱)、“C=”(國家,即 2 個字母的該組織所在的國" -"家/地區的 ISO-3166 程式碼)。\n" -"生成 RSA 金鑰和 X509 自簽章憑證的小範例。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var crypto = Crypto.new()\n" -"# 生成 4096 比特 RSA 金鑰。\n" -"var key = crypto.generate_rsa(4096)\n" -"# 使用給定的金鑰生成自簽章憑證。\n" -"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com,O=A " -"Game Company,C=IT\")\n" -"[/gdscript]\n" -"[csharp]\n" -"var crypto = new Crypto();\n" -"// 生成 4096 比特 RSA 金鑰。\n" -"CryptoKey key = crypto.GenerateRsa(4096);\n" -"// 使用給定的金鑰生成自簽章憑證。\n" -"X509Certificate cert = crypto.GenerateSelfSignedCertificate(key, " -"\"CN=mydomain.com,O=My Game Company,C=IT\");\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Generates an [url=https://en.wikipedia.org/wiki/HMAC]HMAC[/url] digest of " "[param msg] using [param key]. The [param hash_type] parameter is the hashing " "algorithm that is used for the inner and outer hashes.\n" @@ -29774,26 +27772,6 @@ msgstr "" "另見 [method cursor_get_shape] 和 [method cursor_set_custom_image]。" msgid "" -"Shows a text input dialog which uses the operating system's native look-and-" -"feel. [param callback] will be called with a [String] argument equal to the " -"text field's contents when the dialog is closed for any reason.\n" -"[b]Note:[/b] This method is implemented only on macOS." -msgstr "" -"顯示文字輸入對話方塊,這個對話方塊的外觀和行為與作業系統原生對話方塊一致。無論" -"該對話框因為什麼原因而關閉,都會使用文字欄位的內容作為 [String] 參數來呼叫 " -"[param callback]。\n" -"[b]注意:[/b]該方法僅在 macOS 上實作。" - -msgid "" -"Shows a text dialog which uses the operating system's native look-and-feel. " -"[param callback] will be called when the dialog is closed for any reason.\n" -"[b]Note:[/b] This method is implemented only on macOS." -msgstr "" -"顯示文字對話方塊,這個對話方塊的外觀和行為與作業系統原生對話方塊一致。無論該對" -"話方塊因為什麼原因而關閉,都會使用呼叫 [param callback]。\n" -"[b]注意:[/b]該方法僅在 macOS 上實作。" - -msgid "" "Allows the [param process_id] PID to steal focus from this window. In other " "words, this disables the operating system's focus stealing protection for the " "specified PID.\n" @@ -29872,33 +27850,6 @@ msgstr "" "響。" msgid "" -"Returns the ID of the window at the specified screen [param position] (in " -"pixels). On multi-monitor setups, the screen position is relative to the " -"virtual desktop area. On multi-monitor setups with different screen " -"resolutions or orientations, the origin may be located outside any display " -"like this:\n" -"[codeblock]\n" -"* (0, 0) +-------+\n" -" | |\n" -"+-------------+ | |\n" -"| | | |\n" -"| | | |\n" -"+-------------+ +-------+\n" -"[/codeblock]" -msgstr "" -"返回位於指定螢幕位置 [param position] 的視窗 ID(單位為圖元)。使用多個監視器" -"時,螢幕位置是相對於虛擬桌面區域的位置。如果多監視器中使用了不同的螢幕解析度或" -"朝向,原點有可能位於所有顯示器之外,類似於:\n" -"[codeblock]\n" -"* (0, 0) +-------+\n" -" | |\n" -"+-------------+ | |\n" -"| | | |\n" -"| | | |\n" -"+-------------+ +-------+\n" -"[/codeblock]" - -msgid "" "Returns the list of Godot window IDs belonging to this process.\n" "[b]Note:[/b] Native dialogs are not included in this list." msgstr "" @@ -29944,26 +27895,6 @@ msgstr "" "[b]注意:[/b]該方法僅在 macOS 上實作。" msgid "" -"Returns the index of the item with the specified [param tag]. Index is " -"automatically assigned to each item by the engine. Index can not be set " -"manually.\n" -"[b]Note:[/b] This method is implemented only on macOS." -msgstr "" -"返回標籤為指定的 [param tag] 的功能表專案的索引。引擎會自動為每個功能表專案賦" -"予索引。索引無法手動設定。\n" -"[b]注意:[/b]該方法僅在 macOS 上實作。" - -msgid "" -"Returns the index of the item with the specified [param text]. Index is " -"automatically assigned to each item by the engine. Index can not be set " -"manually.\n" -"[b]Note:[/b] This method is implemented only on macOS." -msgstr "" -"返回文字為指定的 [param text] 的功能表專案的索引。引擎會自動為每個功能表專案賦" -"予索引。索引無法手動設定。\n" -"[b]注意:[/b]該方法僅在 macOS 上實作。" - -msgid "" "Returns the callback of the item accelerator at index [param idx].\n" "[b]Note:[/b] This method is implemented only on macOS." msgstr "" @@ -30396,31 +28327,6 @@ msgstr "" "orientation] 未設定為 [constant SCREEN_SENSOR],則該方法無效。" msgid "" -"Sets the window icon (usually displayed in the top-left corner) with an " -"[Image]. To use icons in the operating system's native format, use [method " -"set_native_icon] instead." -msgstr "" -"使用 [Image] 設定視窗圖示(通常顯示在左上角)。要使用作業系統的原生格式設定圖" -"標,請改用 [method set_native_icon]。" - -msgid "" -"Sets the window icon (usually displayed in the top-left corner) in the " -"operating system's [i]native[/i] format. The file at [param filename] must be " -"in [code].ico[/code] format on Windows or [code].icns[/code] on macOS. By " -"using specially crafted [code].ico[/code] or [code].icns[/code] icons, " -"[method set_native_icon] allows specifying different icons depending on the " -"size the icon is displayed at. This size is determined by the operating " -"system and user preferences (including the display scale factor). To use " -"icons in other formats, use [method set_icon] instead." -msgstr "" -"使用作業系統的[i]原生[/i]格式設定視窗圖示(通常顯示在左上角)。位於 [param " -"filename] 的檔在 Windows 上必須為 [code].ico[/code] 格式,在 macOS 上必須為 " -"[code].icns[/code] 格式。使用特製的 [code].ico[/code] 或 [code].icns[/code] 圖" -"示,就能夠讓 [method set_native_icon] 指定以不同尺寸顯示圖示時顯示不同的圖示。" -"大小由作業系統和使用者首選項決定(包括顯示器縮放係數)。要使用其他格式的圖示," -"請改用 [method set_icon]。" - -msgid "" "Returns current active tablet driver name.\n" "[b]Note:[/b] This method is implemented only on Windows." msgstr "" @@ -30663,39 +28569,6 @@ msgstr "" "window_id] 的 [method window_set_ime_active] 為 [code]true[/code] 時有效。" msgid "" -"Sets the maximum size of the window specified by [param window_id] in pixels. " -"Normally, the user will not be able to drag the window to make it smaller " -"than the specified size. See also [method window_get_max_size].\n" -"[b]Note:[/b] It's recommended to change this value using [member Window." -"max_size] instead.\n" -"[b]Note:[/b] Using third-party tools, it is possible for users to disable " -"window geometry restrictions and therefore bypass this limit." -msgstr "" -"設定由 [param window_id] 指定的視窗的最大大小(單位為圖元)。通常,使用者將無" -"法拖動視窗使其小於指定大小。另見 [method window_get_max_size]。\n" -"[b]注意:[/b]建議改用 [member Window.max_size] 更改此值。\n" -"[b]注意:[/b]使用協力廠商工具,使用者可以禁用視窗幾何限制,從而繞過此限制。" - -msgid "" -"Sets the minimum size for the given window to [param min_size] (in pixels). " -"Normally, the user will not be able to drag the window to make it larger than " -"the specified size. See also [method window_get_min_size].\n" -"[b]Note:[/b] It's recommended to change this value using [member Window." -"min_size] instead.\n" -"[b]Note:[/b] By default, the main window has a minimum size of " -"[code]Vector2i(64, 64)[/code]. This prevents issues that can arise when the " -"window is resized to a near-zero size.\n" -"[b]Note:[/b] Using third-party tools, it is possible for users to disable " -"window geometry restrictions and therefore bypass this limit." -msgstr "" -"將給定視窗的最小大小設定為 [param min_size](單位為圖元)。通常,使用者將無法" -"拖動視窗使其大於指定大小。另見 [method window_get_min_size]。\n" -"[b]注意:[/b]建議改用 [member Window.min_size] 來更改此值。\n" -"[b]注意:[/b]預設情況下,主視窗的最小大小為 [code]Vector2i(64, 64)[/code]。這" -"可以防止將視窗調整為接近零的大小時可能出現的問題。\n" -"[b]注意:[/b]使用協力廠商工具,使用者可以禁用視窗幾何限制,從而繞過此限制。" - -msgid "" "Sets window mode for the given window to [param mode]. See [enum WindowMode] " "for possible values and how each mode behaves.\n" "[b]Note:[/b] Setting the window to full screen forcibly sets the borderless " @@ -31274,315 +29147,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_buffer())\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\".ToUtf8Buffer());\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_buffer())\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!\".ToUtf8Buffer());\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_buffer())\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 使用者端\".ToUtf8Buffer());\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_buffer())\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!\".ToUtf8Buffer());\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 "" @@ -31937,22 +29501,6 @@ msgstr "" "adding-licensing#impl-Obfuscator]Obfuscator[/url] 的隨機位元組陣列。" msgid "" -"If [code]true[/code], project resources are stored in the separate APK " -"expansion file, instead APK.\n" -"[b]Note:[/b] APK expansion should be enabled to use PCK encryption." -msgstr "" -"如果為 [code]true[/code],則專案資源被儲存在單獨的 APK 擴充檔中,而不是 " -"APK。\n" -"[b]注意:[/b]APK 擴充應被啟用才能使用 PCK 加密。" - -msgid "" -"Base64 encoded RSA public key for your publisher account, available from the " -"profile page on the \"Play Console\"." -msgstr "" -"你的發行者帳戶的 Base64 編碼的 RSA 公開金鑰,可從“Play 管理中心”的個人資料頁面" -"獲取。" - -msgid "" "If [code]true[/code], [code]arm64[/code] binaries are included into exported " "project." msgstr "" @@ -31976,20 +29524,6 @@ msgid "" msgstr "" "如果為 [code]true[/code],[code]x86_64[/code] 二進位檔案將包含在匯出的專案中。" -msgid "" -"A list of additional command line arguments, exported project will receive " -"when started." -msgstr "附加命令列參數的列表,匯出的專案將在啟動時收到該列表。" - -msgid "Export format for Gradle build." -msgstr "Gradle 建構的匯出格式。" - -msgid "Minimal Android SDK version for Gradle build." -msgstr "Gradle 建構的最低 Android SDK 版本。" - -msgid "Target Android SDK version for Gradle build." -msgstr "Gradle 建構的目標 Android SDK 版本。" - msgid "If [code]true[/code], Gradle build is used instead of pre-built APK." msgstr "如果為 [code]true[/code],則使用 Gradle 建構而不是預建構的 APK。" @@ -32059,12 +29593,6 @@ msgstr "" "發行金鑰庫檔的使用者名。\n" "可以使用環境變數 [code]GODOT_ANDROID_KEYSTORE_RELEASE_USER[/code] 覆蓋。" -msgid "Background layer of the application adaptive icon file." -msgstr "套用程式自我調整圖示檔的背景圖層。" - -msgid "Foreground layer of the application adaptive icon file." -msgstr "套用程式自我調整圖示檔的前景圖層。" - msgid "" "Application icon file. If left empty, it will fallback to [member " "ProjectSettings.application/config/icon]." @@ -32072,27 +29600,10 @@ msgstr "" "套用程式圖示檔。如果留空,它將退回到 [member ProjectSettings.application/" "config/icon]。" -msgid "Application category for the Play Store." -msgstr "Play 商店的套用程式類別。" - -msgid "" -"If [code]true[/code], task initiated by main activity will be excluded from " -"the list of recently used applications." -msgstr "" -"如果為 [code]true[/code],則主 Activity 啟動的工作將從最近使用的套用程式列表中" -"排除。" - msgid "Name of the application." msgstr "套用程式的名稱。" msgid "" -"If [code]true[/code], when the user uninstalls an app, a prompt to keep the " -"app's data will be shown." -msgstr "" -"如果為 [code]true[/code],當使用者解除安裝套用程式時,將顯示保留套用程式資料的" -"提示。" - -msgid "" "If [code]true[/code], the user will be able to set this app as the system " "launcher in Android preferences." msgstr "如果為 [code]true[/code],則編輯器會在運作遊戲專案時清空“輸出”面板。" @@ -34075,6 +31586,9 @@ msgstr "建構套用程式可執行檔所使用的 Xcode 版本。" msgid "Base class for the desktop platform exporter (Windows and Linux/BSD)." msgstr "桌面平臺匯出器的基底類別(Windows 與 Linux/BSD)。" +msgid "Exporting for Windows" +msgstr "為 Windows 匯出" + msgid "Exporter for the Web." msgstr "Web 匯出器。" @@ -34087,9 +31601,6 @@ msgstr "網頁文件索引" msgid "Exporter for Windows." msgstr "Windows 匯出器。" -msgid "Exporting for Windows" -msgstr "為 Windows 匯出" - msgid "" "Company that produced the application. Required. See [url=https://learn." "microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block]StringFileInfo[/" @@ -36537,65 +34048,6 @@ msgid "File paths in Godot projects" msgstr "Godot 專案中的檔路徑" msgid "" -"Returns the absolute path to the user's cache folder. This folder should be " -"used for temporary data that can be removed safely whenever the editor is " -"closed (such as generated resource thumbnails).\n" -"[b]Default paths per platform:[/b]\n" -"[codeblock]\n" -"- Windows: %LOCALAPPDATA%\\Godot\\\n" -"- macOS: ~/Library/Caches/Godot/\n" -"- Linux: ~/.cache/godot/\n" -"[/codeblock]" -msgstr "" -"返回使用者快取檔案夾的絕對路徑。該資料夾應該用於臨時資料,關閉編輯器時應該能夠" -"安全地移除這些資料(例如生成的資源預覽圖)。\n" -"[b]各平臺的預設路徑:[/b]\n" -"[codeblock]\n" -"- Windows: %LOCALAPPDATA%\\Godot\\\n" -"- macOS: ~/Library/Caches/Godot/\n" -"- Linux: ~/.cache/godot/\n" -"[/codeblock]" - -msgid "" -"Returns the absolute path to the user's configuration folder. This folder " -"should be used for [i]persistent[/i] user configuration files.\n" -"[b]Default paths per platform:[/b]\n" -"[codeblock]\n" -"- Windows: %APPDATA%\\Godot\\ (same as `get_data_dir()`)\n" -"- macOS: ~/Library/Application Support/Godot/ (same as `get_data_dir()`)\n" -"- Linux: ~/.config/godot/\n" -"[/codeblock]" -msgstr "" -"返回使用者設定檔夾的絕對路徑。該資料夾應該用於[i]持久化[/i]的使用者設定檔。\n" -"[b]各平臺的預設路徑:[/b]\n" -"[codeblock]\n" -"- Windows: %APPDATA%\\Godot\\ (同 `get_data_dir()`)\n" -"- macOS: ~/Library/Application Support/Godot/ (同 `get_data_dir()`)\n" -"- Linux: ~/.config/godot/\n" -"[/codeblock]" - -msgid "" -"Returns the absolute path to the user's data folder. This folder should be " -"used for [i]persistent[/i] user data files such as installed export " -"templates.\n" -"[b]Default paths per platform:[/b]\n" -"[codeblock]\n" -"- Windows: %APPDATA%\\Godot\\ (same as " -"`get_config_dir()`)\n" -"- macOS: ~/Library/Application Support/Godot/ (same as `get_config_dir()`)\n" -"- Linux: ~/.local/share/godot/\n" -"[/codeblock]" -msgstr "" -"返回使用者資料檔案夾的絕對路徑。該資料夾應該用於[i]持久化[/i]的使用者資料檔" -"案,例如已安裝的匯出範本。\n" -"[b]各平臺的預設路徑:[/b]\n" -"[codeblock]\n" -"- Windows:%APPDATA%\\Godot\\ (同 `get_config_dir()` )\n" -"- macOS:~/Library/Application Support/Godot/ (同 `get_config_dir()` )\n" -"- Linux:~/.local/share/godot/\n" -"[/codeblock]" - -msgid "" "Returns the project-specific editor settings path. Projects all have a unique " "subdirectory inside the settings path where project-specific editor settings " "are saved." @@ -37277,19 +34729,6 @@ msgstr "" "控制項,並使用 [method Node.queue_free] 將其釋放。" msgid "" -"Adds the control to a specific dock slot (see [enum DockSlot] for options).\n" -"If the dock is repositioned and as long as the plugin is active, the editor " -"will save the dock position on further sessions.\n" -"When your plugin is deactivated, make sure to remove your custom control with " -"[method remove_control_from_docks] and free it with [method Node.queue_free]." -msgstr "" -"將控制項新增到特定的停靠面板(有關選項,請參閱 [enum DockSlot])。\n" -"如果重新放置了停靠面板,並且只要該外掛程式處於活動狀態,編輯器就會在以後的會話" -"中保存停靠面板的位置。\n" -"停用外掛程式後,請確保使用 [method remove_control_from_docks] 移除自訂控制項," -"並使用 [method Node.queue_free] 將其釋放。" - -msgid "" "Adds a custom type, which will appear in the list of nodes or resources. An " "icon can be optionally passed.\n" "When a given node or resource is selected, the base type will be instantiated " @@ -42985,14 +40424,6 @@ msgid "" msgstr "色調對應的預設曝光。值越高,圖像越亮。另見 [member tonemap_white]。" msgid "" -"The tonemapping mode to use. Tonemapping is the process that \"converts\" HDR " -"values to be suitable for rendering on a LDR display. (Godot doesn't support " -"rendering on HDR displays yet.)" -msgstr "" -"要使用的色調對應模式。色調對應是對 HDR 值進行“轉換”的過程,轉換後的值適合在 " -"LDR 顯示器上算繪。(Godot 尚不支援在 HDR 顯示器上進行算繪。)" - -msgid "" "The white reference value for tonemapping (also called \"whitepoint\"). " "Higher values can make highlights look less blown out, and will also slightly " "darken the whole scene as a result. Only effective if the [member " @@ -43714,103 +41145,6 @@ msgid "Provides methods for file reading and writing operations." msgstr "提供用於檔讀寫操作的方法。" msgid "" -"This class can be used to permanently store data in the user device's file " -"system and to read from it. This is useful for store game save data or player " -"configuration files.\n" -"Here's a sample on how to write and read from a file:\n" -"[codeblocks]\n" -"[gdscript]\n" -"func save(content):\n" -" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.WRITE)\n" -" file.store_string(content)\n" -"\n" -"func load():\n" -" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.READ)\n" -" var content = file.get_as_text()\n" -" return content\n" -"[/gdscript]\n" -"[csharp]\n" -"public void Save(string content)\n" -"{\n" -" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess." -"ModeFlags.Write);\n" -" file.StoreString(content);\n" -"}\n" -"\n" -"public string Load()\n" -"{\n" -" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess." -"ModeFlags.Read);\n" -" string content = file.GetAsText();\n" -" return content;\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"In the example above, the file will be saved in the user data folder as " -"specified in the [url=$DOCS_URL/tutorials/io/data_paths.html]Data paths[/url] " -"documentation.\n" -"[FileAccess] will close when it's freed, which happens when it goes out of " -"scope or when it gets assigned with [code]null[/code]. [method close] can be " -"used to close it before then explicitly. In C# the reference must be disposed " -"manually, which can be done with the [code]using[/code] statement or by " -"calling the [code]Dispose[/code] method directly.\n" -"[b]Note:[/b] To access project resources once exported, it is recommended to " -"use [ResourceLoader] instead of [FileAccess], as some files are converted to " -"engine-specific formats and their original source files might not be present " -"in the exported PCK package.\n" -"[b]Note:[/b] Files are automatically closed only if the process exits " -"\"normally\" (such as by clicking the window manager's close button or " -"pressing [b]Alt + F4[/b]). If you stop the project execution by pressing " -"[b]F8[/b] while the project is running, the file won't be closed as the game " -"process will be killed. You can work around this by calling [method flush] at " -"regular intervals." -msgstr "" -"這個類可以用於在使用者裝置的檔案系統中永久儲存資料,也可以從中讀取資料。適用於" -"儲存遊戲存檔資料或玩家設定檔。\n" -"下面是一個關於如何寫入和讀取檔的範例:\n" -"[codeblocks]\n" -"[gdscript]\n" -"func save(content):\n" -" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.WRITE)\n" -" file.store_string(content)\n" -"\n" -"func load():\n" -" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.READ)\n" -" var content = file.get_as_text()\n" -" return content\n" -"[/gdscript]\n" -"[csharp]\n" -"public void Save(string content)\n" -"{\n" -" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess." -"ModeFlags.Write);\n" -" file.StoreString(content);\n" -"}\n" -"\n" -"public string Load()\n" -"{\n" -" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess." -"ModeFlags.Read);\n" -" string content = file.GetAsText();\n" -" return content;\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"在上面的例子中,檔將被保存在[url=$DOCS_URL/tutorials/io/data_paths.html]數據路" -"徑[/url]檔中指定的使用者資料檔案夾中。\n" -"[FileAccess] 會在釋放時關閉,超出作用於、賦值為 [code]null[/code] 等情況都會導" -"致釋放。可以使用 [method close] 在此之前明確的關閉。在 C# 中,引用必須手動釋" -"放,可以通過 [code]using[/code] 敘述或直接呼叫 [code]Dispose[/code] 方法來完" -"成。\n" -"[b]注意:[/b]要在匯出後存取專案資源,建議使用 [ResourceLoader] 而不是 " -"[FileAccess],因為有些檔已被轉換為特定於引擎的格式,並且它們的原始原始檔案可能" -"並不存在於匯出的 PCK 包中。\n" -"[b]注意:[/b]只有當程序“正常”退出時(例如通過按一下視窗管理器的關閉按鈕或按 " -"[b]Alt + F4[/b]),檔才會自動關閉。如果在專案運作時按 [b]F8[/b] 停止專案執行," -"則不會關閉檔,因為遊戲程序將被殺死。可以通過定期呼叫 [method flush] 來解決這個" -"問題。" - -msgid "" "Closes the currently opened file and prevents subsequent read/write " "operations. Use [method flush] to persist the data to disk without closing " "the file.\n" @@ -43934,42 +41268,6 @@ msgstr "" msgid "Returns next [param length] bytes of the file as a [PackedByteArray]." msgstr "將檔中接下來的 [param length] 個位元組作為 [PackedByteArray] 返回。" -msgid "" -"Returns the next value of the file in CSV (Comma-Separated Values) format. " -"You can pass a different delimiter [param delim] to use other than the " -"default [code]\",\"[/code] (comma). This delimiter must be one-character " -"long, and cannot be a double quotation mark.\n" -"Text is interpreted as being UTF-8 encoded. Text values must be enclosed in " -"double quotes if they include the delimiter character. Double quotes within a " -"text value can be escaped by doubling their occurrence.\n" -"For example, the following CSV lines are valid and will be properly parsed as " -"two strings each:\n" -"[codeblock]\n" -"Alice,\"Hello, Bob!\"\n" -"Bob,Alice! What a surprise!\n" -"Alice,\"I thought you'd reply with \"\"Hello, world\"\".\"\n" -"[/codeblock]\n" -"Note how the second line can omit the enclosing quotes as it does not include " -"the delimiter. However it [i]could[/i] very well use quotes, it was only " -"written without for demonstration purposes. The third line must use " -"[code]\"\"[/code] for each quotation mark that needs to be interpreted as " -"such instead of the end of a text value." -msgstr "" -"以 CSV(逗號分隔值)格式返回呼函式的下一個值。可以傳遞不同的分隔符號 [param " -"delim],以使用預設 [code]\",\"[/code](逗號)以外的其他分隔符號。這個分隔符號" -"必須為一個字元長,且不能是雙引號。\n" -"文字被解析為 UTF-8 編碼。如果文字值包含分隔符號,則它們必須用雙引號引起來。文" -"字值中的雙引號可以通過將它們的出現次數加倍來轉義。\n" -"例如,以下 CSV 行是有效的,每行將被正確解析為兩個字串:\n" -"[codeblock]\n" -"Alice,\"Hello, Bob!\"\n" -"Bob,Alice! What a surprise!\n" -"Alice,\"I thought you'd reply with \"\"Hello, world\"\".\"\n" -"[/codeblock]\n" -"請注意第二行如何省略封閉的引號,因為它不包含分隔符號。然而它[i]可以[/i]很好地" -"使用引號,它只是為了演示目的而沒有編寫。第三行必須為每個需要被解析為引號而不是" -"文字值的末尾而使用 [code]\"\"[/code]。" - msgid "Returns the next 64 bits from the file as a floating-point number." msgstr "將檔中接下來的 64 位作為浮點數返回。" @@ -43994,13 +41292,6 @@ msgid "Returns the size of the file in bytes." msgstr "返回該檔的大小,單位為位元組。" msgid "" -"Returns the next line of the file as a [String].\n" -"Text is interpreted as being UTF-8 encoded." -msgstr "" -"將檔中的下一行作為 [String] 字串返回。\n" -"將按照 UTF-8 編碼解析文字。" - -msgid "" "Returns an MD5 String representing the file at the given path or an empty " "[String] on failure." msgstr "返回一個給定路徑檔的 MD5 字串,如果失敗則返回一個空的 [String]。" @@ -44040,11 +41331,6 @@ msgid "Returns the next bits from the file as a floating-point number." msgstr "將檔中接下來的若干位以浮點數形式返回。" msgid "" -"Returns a SHA-256 [String] representing the file at the given path or an " -"empty [String] on failure." -msgstr "返回一個給定路徑的檔的 SHA-256 字串,如果失敗則返回一個空的 [String]。" - -msgid "" "Returns file UNIX permissions.\n" "[b]Note:[/b] This method is implemented on iOS, Linux/BSD, and macOS." msgstr "" @@ -44363,23 +41649,10 @@ msgid "" msgstr "打開檔進行讀取操作。游標位於檔案的開頭。" msgid "" -"Opens the file for write operations. The file is created if it does not " -"exist, and truncated if it does." -msgstr "打開檔進行寫操作。如果檔不存在,則建立該檔,如果存在則截斷。" - -msgid "" "Opens the file for read and write operations. Does not truncate the file. The " "cursor is positioned at the beginning of the file." msgstr "打開檔用於讀寫操作。不截斷檔案。游標位於檔案的開頭。" -msgid "" -"Opens the file for read and write operations. The file is created if it does " -"not exist, and truncated if it does. The cursor is positioned at the " -"beginning of the file." -msgstr "" -"打開檔進行讀寫操作。如果檔不存在,則建立該檔,如果存在則截斷。游標位於檔案的開" -"頭。" - msgid "Uses the [url=https://fastlz.org/]FastLZ[/url] compression method." msgstr "使用 [url=https://fastlz.org/]FastLZ[/url] 壓縮方法。" @@ -45511,15 +42784,6 @@ msgstr "" msgid "Removes all font cache entries." msgstr "移除所有字形快取條目。" -msgid "" -"Removes all rendered glyphs information from the cache entry.\n" -"[b]Note:[/b] This function will not remove textures associated with the " -"glyphs, use [method remove_texture] to remove them manually." -msgstr "" -"從字形快取條目中,移除所有算繪的字形資訊。\n" -"[b]注意:[/b]該函式不會移除與字形相關的紋理,請使用 [method remove_texture] 手" -"動移除它們。" - msgid "Removes all kerning overrides." msgstr "移除所有字距調整覆蓋。" @@ -45773,11 +43037,6 @@ msgid "Sets array containing glyph packing data." msgstr "設定包含字形打包資料的陣列。" msgid "" -"Sets 2D transform, applied to the font outlines, can be used for slanting, " -"flipping and rotating glyphs." -msgstr "設定套用於字形輪廓的 2D 變換,可用於傾斜、翻轉和旋轉字形。" - -msgid "" "Sets variation coordinates for the specified font cache entry. See [method " "Font.get_supported_variation_list] for more info." msgstr "" @@ -47055,31 +44314,6 @@ msgstr "" "質。" msgid "" -"The transparency applied to the whole geometry (as a multiplier of the " -"materials' existing transparency). [code]0.0[/code] is fully opaque, while " -"[code]1.0[/code] is fully transparent. Values greater than [code]0.0[/code] " -"(exclusive) will force the geometry's materials to go through the transparent " -"pipeline, which is slower to render and can exhibit rendering issues due to " -"incorrect transparency sorting. However, unlike using a transparent material, " -"setting [member transparency] to a value greater than [code]0.0[/code] " -"(exclusive) will [i]not[/i] disable shadow rendering.\n" -"In spatial shaders, [code]1.0 - transparency[/code] is set as the default " -"value of the [code]ALPHA[/code] built-in.\n" -"[b]Note:[/b] [member transparency] is clamped between [code]0.0[/code] and " -"[code]1.0[/code], so this property cannot be used to make transparent " -"materials more opaque than they originally are." -msgstr "" -"套用於整個幾何體的透明度(作為材質現有透明度的乘數)。[code]0.0[/code] 是完全" -"不透明的,而 [code]1.0[/code] 是完全透明的。大於 [code]0.0[/code](不含)的值" -"將強制幾何體的材質通過透明管道,這會導致算繪速度變慢,並且可能會因不正確的透明" -"度排序而出現算繪問題。但是,與使用透明材質不同的是,將 [member transparency] " -"設定為大於 [code]0.0[/code](不含)的值並[i]不會[/i]禁用陰影算繪。\n" -"在空間著色器中,[code]1.0 - transparency[/code] 被設定為內建 [code]ALPHA[/" -"code] 的預設值。\n" -"[b]注意:[/b][member transparency] 被鉗制在 [code]0.0[/code] 和 [code]1.0[/" -"code] 之間,所以這個屬性不能被用來使透明材質變得比原來更加不透明。" - -msgid "" "Starting distance from which the GeometryInstance3D will be visible, taking " "[member visibility_range_begin_margin] into account as well. The default " "value of 0 is used to disable the range check." @@ -47172,19 +44406,6 @@ msgstr "" "換句話說,實際的網格將不可見,只有網格投影可見。" msgid "" -"Disabled global illumination mode. Use for dynamic objects that do not " -"contribute to global illumination (such as characters). When using [VoxelGI] " -"and SDFGI, the geometry will [i]receive[/i] indirect lighting and reflections " -"but the geometry will not be considered in GI baking. When using " -"[LightmapGI], the object will receive indirect lighting using lightmap probes " -"instead of using the baked lightmap texture." -msgstr "" -"禁用全域照明模式。用於對全域照明沒有貢獻的動態物件(例如角色)。使用 " -"[VoxelGI] 和 SDFGI 時,幾何體將[i]接收[/i]間接照明和反射,但在 GI 烘焙中不會考" -"慮幾何體。使用 [LightmapGI] 時,物件將使用光照貼圖探查接收間接光照,而不是使用" -"烘焙的光照貼圖紋理。" - -msgid "" "Baked global illumination mode. Use for static objects that contribute to " "global illumination (such as level geometry). This GI mode is effective when " "using [VoxelGI], SDFGI and [LightmapGI]." @@ -47192,16 +44413,6 @@ msgstr "" "烘焙全域照明模式。用於有助於全域照明的靜態物件(例如關卡幾何體)。該 GI 模式在" "使用 [VoxelGI]、SDFGI 和 [LightmapGI] 時有效。" -msgid "" -"Dynamic global illumination mode. Use for dynamic objects that contribute to " -"global illumination. This GI mode is only effective when using [VoxelGI], but " -"it has a higher performance impact than [constant GI_MODE_STATIC]. When using " -"other GI methods, this will act the same as [constant GI_MODE_DISABLED]." -msgstr "" -"動態全域照明模式。用於有助於全域照明的動態物件。這種 GI 模式只有在使用 " -"[VoxelGI] 時才有效,但它對性能的影響,比 [constant GI_MODE_STATIC] 更高。當使" -"用其他 GI 方法時,它的作用與 [constant GI_MODE_DISABLED] 相同。" - msgid "The standard texel density for lightmapping with [LightmapGI]." msgstr "使用 [LightmapGI] 進行光照貼圖的標準紋素密度。" @@ -47244,29 +44455,6 @@ msgstr "" "息,請參閱 [member visibility_range_begin] 和 [member Node3D." "visibility_parent]。" -msgid "" -"Will fade-out itself when reaching the limits of its own visibility range. " -"This is slower than [constant VISIBILITY_RANGE_FADE_DISABLED], but it can " -"provide smoother transitions. The fading range is determined by [member " -"visibility_range_begin_margin] and [member visibility_range_end_margin]." -msgstr "" -"當達到自身可見範圍的極限時,會自行淡出。這比 [constant " -"VISIBILITY_RANGE_FADE_DISABLED] 慢,但它可以提供更平滑的過渡。淡出範圍由 " -"[member visibility_range_begin_margin] 和 [member " -"visibility_range_end_margin] 決定。" - -msgid "" -"Will fade-in its visibility dependencies (see [member Node3D." -"visibility_parent]) when reaching the limits of its own visibility range. " -"This is slower than [constant VISIBILITY_RANGE_FADE_DISABLED], but it can " -"provide smoother transitions. The fading range is determined by [member " -"visibility_range_begin_margin] and [member visibility_range_end_margin]." -msgstr "" -"當達到其自身可見性範圍的限制時,將淡入其可見性依賴項(參見 [member Node3D." -"visibility_parent])。這比 [constant VISIBILITY_RANGE_FADE_DISABLED] 慢,但它" -"可以提供更平滑的過渡。淡出範圍由 [member visibility_range_begin_margin] 和 " -"[member visibility_range_end_margin] 決定。" - msgid "Represents a GLTF camera." msgstr "代表 GLTF 相機。" @@ -47949,11 +45137,6 @@ msgid "OMI_physics_body GLTF extension" msgstr "OMI_physics_body GLTF 擴充" msgid "" -"Create a new GLTFPhysicsBody instance from the given Godot " -"[CollisionObject3D] node." -msgstr "從給定的 Godot [CollisionObject3D] 節點新建 GLTFPhysicsBody 實例。" - -msgid "" "Converts this GLTFPhysicsBody instance into a Godot [CollisionObject3D] node." msgstr "將這個 GLTFPhysicsBody 實例轉換為 Godot [CollisionObject3D] 節點。" @@ -48002,11 +45185,6 @@ msgid "" msgstr "通過解析給定的 [Dictionary] 新建 GLTFPhysicsShape 實例。" msgid "" -"Create a new GLTFPhysicsShape instance from the given Godot " -"[CollisionShape3D] node." -msgstr "根據給定的 Godot [CollisionShape3D] 節點新建 GLTFPhysicsShape 實例。" - -msgid "" "Converts this GLTFPhysicsShape instance into a Godot [CollisionShape3D] node." msgstr "將這個 GLTFPhysicsShape 實例轉換為 Godot [CollisionShape3D] 節點。" @@ -48536,9 +45714,6 @@ msgstr "" "設定該節點的屬性以配對給定的 [GPUParticles2D] 節點,該給定節點已分配了一個 " "[ParticleProcessMaterial]。" -msgid "Restarts all the existing particles." -msgstr "重新啟動所有現有的粒子。" - msgid "" "Enables particle interpolation, which makes the particle movement smoother " "when their [member fixed_fps] is lower than the screen refresh rate." @@ -48612,17 +45787,6 @@ msgstr "" "如果當節點進入/退出螢幕時粒子突然出現/消失,則增長矩形。[Rect2] 可以通過程式碼" "或使用 [b]Particles → Generate Visibility Rect[/b] 編輯器工具生成。" -msgid "" -"Emitted when all active particles have finished processing. When [member " -"one_shot] is disabled, particles will process continuously, so this is never " -"emitted.\n" -"[b]Note:[/b] Due to the particles being computed on the GPU there might be a " -"delay before the signal gets emitted." -msgstr "" -"當所有活動粒子完成處理時發出。當 [member one_shot] 停用時,粒子將連續處理,因" -"此永遠不會發出。\n" -"[b]注意:[/b] 由於粒子是在 GPU 上計算的,因此在發出訊號之前可能會有延遲。" - msgid "Particle starts at the specified position." msgstr "粒子在指定位置開始。" @@ -48659,9 +45823,6 @@ msgstr "" msgid "Returns the [Mesh] that is drawn at index [param pass]." msgstr "返回在索引 [param pass] 處繪製的 [Mesh] 。" -msgid "Restarts the particle emission, clearing existing particles." -msgstr "重新發射粒子,清除現有的粒子。" - msgid "Sets the [Mesh] that is drawn at index [param pass]." msgstr "設定在索引 [param pass] 處繪製的 [Mesh] 。" @@ -49326,18 +46487,6 @@ msgid "Sets the offset for the gradient color at index [param point]." msgstr "設定漸變色在索引 [param point] 處的偏移。" msgid "" -"Gradient's colors returned as a [PackedColorArray].\n" -"[b]Note:[/b] This property returns a copy, modifying the return value does " -"not update the gradient. To update the gradient use [method set_color] method " -"(for updating colors individually) or assign to this property directly (for " -"bulk-updating all colors at once)." -msgstr "" -"[PackedColorArray] 形式的漸變色顏色。\n" -"[b]注意:[/b]這個屬性返回的是副本,修改返回值並不會對漸變色進行更新。要更新漸" -"變色,請使用 [method set_color] 方法(單獨更新顏色)或直接為這個屬性賦值(一次" -"性更新所有顏色)。" - -msgid "" "The color space used to interpolate between points of the gradient. It does " "not affect the returned colors, which will always be in sRGB space. See [enum " "ColorSpace] for available modes.\n" @@ -49356,18 +46505,6 @@ msgstr "" "用於在漸變點之間進行插值的演算法。可用的模式見 [enum InterpolationMode]。" msgid "" -"Gradient's offsets returned as a [PackedFloat32Array].\n" -"[b]Note:[/b] This property returns a copy, modifying the return value does " -"not update the gradient. To update the gradient use [method set_offset] " -"method (for updating offsets individually) or assign to this property " -"directly (for bulk-updating all offsets at once)." -msgstr "" -"[PackedFloat32Array] 形式的漸變色偏移。\n" -"[b]注意:[/b]這個屬性返回的是副本,修改返回值並不會對漸變色進行更新。要更新漸" -"變色,請使用 [method set_offset] 方法(單獨更新偏移)或直接為這個屬性賦值(一" -"次性更新所有偏移)。" - -msgid "" "Constant interpolation, color changes abruptly at each point and stays " "uniform between. This might cause visible aliasing when used for a gradient " "texture in some cases." @@ -49907,14 +47044,6 @@ msgstr "" "to_node] [GraphNode] 的 [param to_port] 之間的連接時發出。" msgid "" -"Emitted when a popup is requested. Happens on right-clicking in the " -"GraphEdit. [param position] is the position of the mouse pointer when the " -"signal is sent." -msgstr "" -"當請求快顯視窗時發出。在 GraphEdit 中右鍵點擊時發生。[param position]為該訊號" -"被發出時滑鼠指標的位置。" - -msgid "" "Emitted when the scroll offset is changed by the user. It will not be emitted " "when changed in code." msgstr "" @@ -49990,15 +47119,6 @@ msgstr "" "GraphNode 的偏移量,相對於 [GraphEdit] 的滾動偏移量。\n" "[b]注意:[/b]不能直接使用位置偏移,因為 [GraphEdit] 是一個 [Container]。" -msgid "" -"If [code]true[/code], the user can resize the GraphElement.\n" -"[b]Note:[/b] Dragging the handle will only emit the [signal resize_request] " -"signal, the GraphElement needs to be resized manually." -msgstr "" -"如果為 [code]true[/code],使用者可以調整 GraphNode 的大小。\n" -"[b]注意:[/b]拖動手柄只會發出 [signal resize_request] 訊號,GraphNode 需要手動" -"調整大小。" - msgid "If [code]true[/code], the user can select the GraphElement." msgstr "如果為 [code]true[/code],則使用者能夠選中該 GraphNode。" @@ -50038,6 +47158,9 @@ msgid "" "The icon used for the resizer, visible when [member resizable] is enabled." msgstr "用於調整大小的圖示,在 [member resizable] 被啟用時可見。" +msgid "The color modulation applied to the resizer icon." +msgstr "套用於調整尺寸大小圖示的顏色調變。" + msgid "A container with connection ports, representing a node in a [GraphEdit]." msgstr "帶有連接埠的容器,代表 [GraphEdit] 中的一個節點。" @@ -50253,9 +47376,6 @@ msgstr "顯示在 GraphNode 標題列中的文字。" msgid "Emitted when any GraphNode's slot is updated." msgstr "當任何圖形節點的插槽更新時發出。" -msgid "The color modulation applied to the resizer icon." -msgstr "套用於調整尺寸大小圖示的顏色調變。" - msgid "Horizontal offset for the ports." msgstr "埠的水平偏移量。" @@ -50565,124 +47685,9 @@ msgid "" "Provides functionality for computing cryptographic hashes chunk by chunk." msgstr "提供分段計算加密雜湊的功能。" -msgid "" -"The HashingContext class provides an interface for computing cryptographic " -"hashes over multiple iterations. Useful for computing hashes of big files (so " -"you don't have to load them all in memory), network streams, and data streams " -"in general (so you don't have to hold buffers).\n" -"The [enum HashType] enum shows the supported hashing algorithms.\n" -"[codeblocks]\n" -"[gdscript]\n" -"const CHUNK_SIZE = 1024\n" -"\n" -"func hash_file(path):\n" -" # Check that file exists.\n" -" if not FileAccess.file_exists(path):\n" -" return\n" -" # Start a SHA-256 context.\n" -" var ctx = HashingContext.new()\n" -" ctx.start(HashingContext.HASH_SHA256)\n" -" # Open the file to hash.\n" -" var file = FileAccess.open(path, FileAccess.READ)\n" -" # Update the context after reading each chunk.\n" -" while not file.eof_reached():\n" -" ctx.update(file.get_buffer(CHUNK_SIZE))\n" -" # Get the computed hash.\n" -" var res = ctx.finish()\n" -" # Print the result as hex string and array.\n" -" printt(res.hex_encode(), Array(res))\n" -"[/gdscript]\n" -"[csharp]\n" -"public const int ChunkSize = 1024;\n" -"\n" -"public void HashFile(string path)\n" -"{\n" -" // Check that file exists.\n" -" if (!FileAccess.FileExists(path))\n" -" {\n" -" return;\n" -" }\n" -" // Start a SHA-256 context.\n" -" var ctx = new HashingContext();\n" -" ctx.Start(HashingContext.HashType.Sha256);\n" -" // Open the file to hash.\n" -" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n" -" // Update the context after reading each chunk.\n" -" while (!file.EofReached())\n" -" {\n" -" ctx.Update(file.GetBuffer(ChunkSize));\n" -" }\n" -" // Get the computed hash.\n" -" byte[] res = ctx.Finish();\n" -" // Print the result as hex string and array.\n" -" GD.PrintT(res.HexEncode(), (Variant)res);\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"HashingContext 類提供了一個介面,用於在多次反覆運算中計算加密雜湊值。常用於計" -"算大檔(不必全部載入到記憶體中)、網路流和一般資料流程(不必持有緩衝區)的雜湊" -"值。\n" -"[enum HashType] 列舉顯示了支援的雜湊演算法。\n" -"[codeblocks]\n" -"[gdscript]\n" -"const CHUNK_SIZE = 1024\n" -"\n" -"func hash_file(path):\n" -" # 檢查檔是否存在。\n" -" if not FileAccess.file_exists(path):\n" -" return\n" -" # 啟動一個 SHA-256 本文。\n" -" var ctx = HashingContext.new()\n" -" ctx.start(HashingContext.HASH_SHA256)\n" -" # 打開檔進行雜湊處理。\n" -" var file = FileAccess.open(path, FileAccess.READ)\n" -" # 讀取每個塊後更新本文。\n" -" while not file.eof_reached():\n" -" ctx.update(file.get_buffer(CHUNK_SIZE))\n" -" # 獲取計算的雜湊值。\n" -" var res = ctx.finish()\n" -" # 將結果列印為十六進位字串和陣列。\n" -" printt(res.hex_encode(), Array(res))\n" -"[/gdscript]\n" -"[csharp]\n" -"public const int ChunkSize = 1024;\n" -"\n" -"public void HashFile(string path)\n" -"{\n" -" // 檢查檔是否存在。\n" -" if (!FileAccess.FileExists(path))\n" -" {\n" -" return;\n" -" }\n" -" // 啟動一個 SHA-256 本文。\n" -" var ctx = new HashingContext();\n" -" ctx.Start(HashingContext.HashType.Sha256);\n" -" // 打開檔進行雜湊處理。\n" -" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n" -" // 讀取每個塊後更新本文。\n" -" while (!file.EofReached())\n" -" {\n" -" ctx.Update(file.GetBuffer(ChunkSize));\n" -" }\n" -" // 獲取計算的雜湊值。\n" -" byte[] res = ctx.Finish();\n" -" // 將結果列印為十六進位字串和陣列。\n" -" GD.PrintT(res.HexEncode(), (Variant)res);\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" - msgid "Closes the current context, and return the computed hash." msgstr "關閉目前本文,並返回計算出的雜湊值。" -msgid "" -"Starts a new hash computation of the given [param type] (e.g. [constant " -"HASH_SHA256] to start computation of a SHA-256)." -msgstr "" -"開始對給定型別 [param type] 的雜湊計算(例如 [constant HASH_SHA256] 會開始計" -"算 SHA-256)。" - msgid "Updates the computation with the given [param chunk] of data." msgstr "使用給定的資料塊 [param chunk] 更新計算。" @@ -50710,21 +47715,6 @@ msgid "A 3D height map shape used for physics collision." msgstr "3D 高度圖形狀,用於物理碰撞。" msgid "" -"A 3D heightmap shape, intended for use in physics. Usually used to provide a " -"shape for a [CollisionShape3D]. This is useful for terrain, but it is limited " -"as overhangs (such as caves) cannot be stored. Holes in a [HeightMapShape3D] " -"are created by assigning very low values to points in the desired area.\n" -"[b]Performance:[/b] [HeightMapShape3D] is faster to check collisions against " -"than [ConcavePolygonShape3D], but it is significantly slower than primitive " -"shapes like [BoxShape3D]." -msgstr "" -"3D 高度圖形狀,旨在用於物理。常用於為 [CollisionShape3D] 提供形狀。可用於地" -"形,但是有無法儲存懸垂部分(如洞窟)的限制。[HeightMapShape3D] 中建立洞的方法" -"是為所需區域分配極低的值。\n" -"[b]性能:[/b]對 [HeightMapShape3D] 的碰撞偵測比 [ConcavePolygonShape3D] 快,但" -"與 [BoxShape3D] 等圖元形狀相比顯著要慢。" - -msgid "" "Number of vertices in the depth of the height map. Changing this will resize " "the [member map_data]." msgstr "高度圖深度中的頂點數。更改該項將調整 [member map_data] 的大小。" @@ -51205,72 +48195,6 @@ msgid "Reads one chunk from the response." msgstr "從回應中讀取一塊資料。" msgid "" -"Sends a request to the connected host.\n" -"The URL parameter is usually just the part after the host, so for " -"[code]https://somehost.com/index.php[/code], it is [code]/index.php[/code]. " -"When sending requests to an HTTP proxy server, it should be an absolute URL. " -"For [constant HTTPClient.METHOD_OPTIONS] requests, [code]*[/code] is also " -"allowed. For [constant HTTPClient.METHOD_CONNECT] requests, it should be the " -"authority component ([code]host:port[/code]).\n" -"Headers are HTTP request headers. For available HTTP methods, see [enum " -"Method].\n" -"To create a POST request with query strings to push to the server, do:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var fields = {\"username\" : \"user\", \"password\" : \"pass\"}\n" -"var query_string = http_client.query_string_from_dict(fields)\n" -"var headers = [\"Content-Type: application/x-www-form-urlencoded\", \"Content-" -"Length: \" + str(query_string.length())]\n" -"var result = http_client.request(http_client.METHOD_POST, \"/index.php\", " -"headers, query_string)\n" -"[/gdscript]\n" -"[csharp]\n" -"var fields = new Godot.Collections.Dictionary { { \"username\", \"user\" }, " -"{ \"password\", \"pass\" } };\n" -"string queryString = new HTTPClient().QueryStringFromDict(fields);\n" -"string[] headers = { \"Content-Type: application/x-www-form-urlencoded\", $" -"\"Content-Length: {queryString.Length}\" };\n" -"var result = new HTTPClient().Request(HTTPClient.Method.Post, \"index.php\", " -"headers, queryString);\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] The [param body] parameter is ignored if [param method] is " -"[constant HTTPClient.METHOD_GET]. This is because GET methods can't contain " -"request data. As a workaround, you can pass request data as a query string in " -"the URL. See [method String.uri_encode] for an example." -msgstr "" -"向連接的伺服器發送請求。\n" -"URL 參數通常只是主機名稱後面的部分,所以對於 [code]https://somehost.com/index." -"php[/code] 來說就是 [code]/index.php[/code]。當向 HTTP 代理伺服器發送請求時," -"它應該是一個絕對 URL。對於 [constant HTTPClient.METHOD_OPTIONS] 請求," -"[code]*[/code] 也是允許的。對於 [constant HTTPClient.METHOD_CONNECT] 請求,它" -"應該是許可權組件 ([code]host:port[/code])。\n" -"Headers 參數是 HTTP 請求的報頭。有關可用的 HTTP 方法,請參閱 [enum Method]。\n" -"要建立帶有查詢字串的 POST 請求以推送到伺服器,請執行以下操作:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var fields = {\"username\" : \"user\", \"password\" : \"pass\"}\n" -"var query_string = http_client.query_string_from_dict(fields)\n" -"var headers = [\"Content-Type: application/x-www-form-urlencoded\", \"Content-" -"Length: \" + str(query_string.length())]\n" -"var result = http_client.request(http_client.METHOD_POST, \"/index.php\", " -"headers, query_string)\n" -"[/gdscript]\n" -"[csharp]\n" -"var fields = new Godot.Collections.Dictionary { { \"username\", \"user\" }, " -"{ \"password\", \"pass\" } };\n" -"string queryString = new HTTPClient().QueryStringFromDict(fields);\n" -"string[] headers = { \"Content-Type: application/x-www-form-urlencoded\", $" -"\"Content-Length: {queryString.Length}\" };\n" -"var result = new HTTPClient().Request(HTTPClient.Method.Post, \"index.php\", " -"headers, queryString);\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b]如果 [param method] 是 [constant HTTPClient.METHOD_GET],則忽略 " -"[param body] 參數。這是因為 GET 方法不能包含請求資料。解決方法是,可以將請求資" -"料作為 URL 中的查詢字串傳遞。有關範例,請參見 [method String.uri_encode]。" - -msgid "" "Sends a raw request to the connected host.\n" "The URL parameter is usually just the part after the host, so for " "[code]https://somehost.com/index.php[/code], it is [code]/index.php[/code]. " @@ -51924,334 +48848,6 @@ msgstr "" msgid "A node with the ability to send HTTP(S) requests." msgstr "具有發送 HTTP(S) 請求能力的節點。" -msgid "" -"A node with the ability to send HTTP requests. Uses [HTTPClient] internally.\n" -"Can be used to make HTTP requests, i.e. download or upload files or web " -"content via HTTP.\n" -"[b]Warning:[/b] See the notes and warnings on [HTTPClient] for limitations, " -"especially regarding TLS security.\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.\n" -"[b]Example of contacting a REST API and printing one of its returned fields:[/" -"b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"func _ready():\n" -" # Create an HTTP request node and connect its completion signal.\n" -" var http_request = HTTPRequest.new()\n" -" add_child(http_request)\n" -" http_request.request_completed.connect(self._http_request_completed)\n" -"\n" -" # Perform a GET request. The URL below returns JSON as of writing.\n" -" var error = http_request.request(\"https://httpbin.org/get\")\n" -" if error != OK:\n" -" push_error(\"An error occurred in the HTTP request.\")\n" -"\n" -" # Perform a POST request. The URL below returns JSON as of writing.\n" -" # Note: Don't make simultaneous requests using a single HTTPRequest " -"node.\n" -" # The snippet below is provided for reference only.\n" -" var body = JSON.new().stringify({\"name\": \"Godette\"})\n" -" error = http_request.request(\"https://httpbin.org/post\", [], HTTPClient." -"METHOD_POST, body)\n" -" if error != OK:\n" -" push_error(\"An error occurred in the HTTP request.\")\n" -"\n" -"# Called when the HTTP request is completed.\n" -"func _http_request_completed(result, response_code, headers, body):\n" -" var json = JSON.new()\n" -" json.parse(body.get_string_from_utf8())\n" -" var response = json.get_data()\n" -"\n" -" # Will print the user agent string used by the HTTPRequest node (as " -"recognized by httpbin.org).\n" -" print(response.headers[\"User-Agent\"])\n" -"[/gdscript]\n" -"[csharp]\n" -"public override void _Ready()\n" -"{\n" -" // Create an HTTP request node and connect its completion signal.\n" -" var httpRequest = new HTTPRequest();\n" -" AddChild(httpRequest);\n" -" httpRequest.RequestCompleted += HttpRequestCompleted;\n" -"\n" -" // Perform a GET request. The URL below returns JSON as of writing.\n" -" Error error = httpRequest.Request(\"https://httpbin.org/get\");\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"An error occurred in the HTTP request.\");\n" -" }\n" -"\n" -" // Perform a POST request. The URL below returns JSON as of writing.\n" -" // Note: Don't make simultaneous requests using a single HTTPRequest " -"node.\n" -" // The snippet below is provided for reference only.\n" -" string body = new Json().Stringify(new Godot.Collections.Dictionary\n" -" {\n" -" { \"name\", \"Godette\" }\n" -" });\n" -" error = httpRequest.Request(\"https://httpbin.org/post\", null, " -"HTTPClient.Method.Post, body);\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"An error occurred in the HTTP request.\");\n" -" }\n" -"}\n" -"\n" -"// Called when the HTTP request is completed.\n" -"private void HttpRequestCompleted(long result, long responseCode, string[] " -"headers, byte[] body)\n" -"{\n" -" var json = new Json();\n" -" json.Parse(body.GetStringFromUtf8());\n" -" var response = json.GetData().AsGodotDictionary();\n" -"\n" -" // Will print the user agent string used by the HTTPRequest node (as " -"recognized by httpbin.org).\n" -" GD.Print((response[\"headers\"].AsGodotDictionary())[\"User-Agent\"]);\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Example of loading and displaying an image using HTTPRequest:[/b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"func _ready():\n" -" # Create an HTTP request node and connect its completion signal.\n" -" var http_request = HTTPRequest.new()\n" -" add_child(http_request)\n" -" http_request.request_completed.connect(self._http_request_completed)\n" -"\n" -" # Perform the HTTP request. The URL below returns a PNG image as of " -"writing.\n" -" var error = http_request.request(\"https://via.placeholder.com/512\")\n" -" if error != OK:\n" -" push_error(\"An error occurred in the HTTP request.\")\n" -"\n" -"# Called when the HTTP request is completed.\n" -"func _http_request_completed(result, response_code, headers, body):\n" -" if result != HTTPRequest.RESULT_SUCCESS:\n" -" push_error(\"Image couldn't be downloaded. Try a different image.\")\n" -"\n" -" var image = Image.new()\n" -" var error = image.load_png_from_buffer(body)\n" -" if error != OK:\n" -" push_error(\"Couldn't load the image.\")\n" -"\n" -" var texture = ImageTexture.create_from_image(image)\n" -"\n" -" # Display the image in a TextureRect node.\n" -" var texture_rect = TextureRect.new()\n" -" add_child(texture_rect)\n" -" texture_rect.texture = texture\n" -"[/gdscript]\n" -"[csharp]\n" -"public override void _Ready()\n" -"{\n" -" // Create an HTTP request node and connect its completion signal.\n" -" var httpRequest = new HTTPRequest();\n" -" AddChild(httpRequest);\n" -" httpRequest.RequestCompleted += HttpRequestCompleted;\n" -"\n" -" // Perform the HTTP request. The URL below returns a PNG image as of " -"writing.\n" -" Error error = httpRequest.Request(\"https://via.placeholder.com/512\");\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"An error occurred in the HTTP request.\");\n" -" }\n" -"}\n" -"\n" -"// Called when the HTTP request is completed.\n" -"private void HttpRequestCompleted(long result, long responseCode, string[] " -"headers, byte[] body)\n" -"{\n" -" if (result != (long)HTTPRequest.Result.Success)\n" -" {\n" -" GD.PushError(\"Image couldn't be downloaded. Try a different image." -"\");\n" -" }\n" -" var image = new Image();\n" -" Error error = image.LoadPngFromBuffer(body);\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"Couldn't load the image.\");\n" -" }\n" -"\n" -" var texture = ImageTexture.CreateFromImage(image);\n" -"\n" -" // Display the image in a TextureRect node.\n" -" var textureRect = new TextureRect();\n" -" AddChild(textureRect);\n" -" textureRect.Texture = texture;\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Gzipped response bodies[/b]: HTTPRequest will automatically handle " -"decompression of response bodies. A [code]Accept-Encoding[/code] header will " -"be automatically added to each of your requests, unless one is already " -"specified. Any response with a [code]Content-Encoding: gzip[/code] header " -"will automatically be decompressed and delivered to you as uncompressed bytes." -msgstr "" -"一種具有發送 HTTP 請求能力的節點。內部使用 [HTTPClient]。\n" -"可用於發出 HTTP 請求,即通過 HTTP 下載或上傳檔或網路內容。\n" -"[b]警告:[/b]請參閱 [HTTPClient] 中的注釋和警告以瞭解限制,尤其是有關 TLS 安全" -"性的限制。\n" -"[b]注意:[/b]匯出到 Android 時,在匯出專案或使用一鍵部署前,請確保在 Android " -"匯出預設中啟用 [code]INTERNET[/code] 許可權。否則,任何型別的網路通信都將被 " -"Android 阻止。\n" -"[b]聯繫 REST API 並列印其返回欄位之一的範例:[/b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"func _ready():\n" -" # 建立一個 HTTP 請求節點並連接其完成訊號。\n" -" var http_request = HTTPRequest.new()\n" -" add_child(http_request)\n" -" http_request.request_completed.connect(self._http_request_completed)\n" -"\n" -" # 執行一個 GET 請求。以下 URL 會將寫入作為 JSON 返回。\n" -" var error = http_request.request(\"https://httpbin.org/get\")\n" -" if error != OK:\n" -" push_error(\"在HTTP請求中發生了一個錯誤。\")\n" -"\n" -" # 執行一個 POST 請求。 以下 URL 會將寫入作為 JSON 返回。\n" -" # 注意:不要使用單個 HTTPRequest 節點同時發出請求。\n" -" # 下面的程式碼片段僅供參考。\n" -" var body = JSON.new().stringify({\"name\": \"Godette\"})\n" -" error = http_request.request(\"https://httpbin.org/post\", [], HTTPClient." -"METHOD_POST, body)\n" -" if error != OK:\n" -" push_error(\"在HTTP請求中發生了一個錯誤。\")\n" -"\n" -"# 當 HTTP 請求完成時呼叫。\n" -"func _http_request_completed(result, response_code, headers, body):\n" -" var json = JSON.new()\n" -" json.parse(body.get_string_from_utf8())\n" -" var response = json.get_data()\n" -"\n" -" # 將列印 HTTPRequest 節點使用的使用者代理字串(由 httpbin.org 識別)。\n" -" print(response.headers[\"User-Agent\"])\n" -"[/gdscript]\n" -"[csharp]\n" -"public override void _Ready()\n" -"{\n" -" // 建立一個 HTTP 請求節點並連接其完成訊號。\n" -" var httpRequest = new HTTPRequest();\n" -" AddChild(httpRequest);\n" -" httpRequest.RequestCompleted += HttpRequestCompleted;\n" -"\n" -" // 執行一個 GET 請求。以下 URL 會將寫入作為 JSON 返回。\n" -" Error error = httpRequest.Request(\"https://httpbin.org/get\");\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"在HTTP請求中發生了一個錯誤。\");\n" -" }\n" -"\n" -" // 執行一個 POST 請求。 以下 URL 會將寫入作為 JSON 返回。\n" -" // 注意:不要使用單個 HTTPRequest 節點同時發出請求。\n" -" // 下面的程式碼片段僅供參考。\n" -" string body = new Json().Stringify(new Godot.Collections.Dictionary\n" -" {\n" -" { \"name\", \"Godette\" }\n" -" });\n" -" error = httpRequest.Request(\"https://httpbin.org/post\", null, " -"HTTPClient.Method.Post, body);\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"在HTTP請求中發生了一個錯誤。\");\n" -" }\n" -"}\n" -"\n" -"// 當 HTTP 請求完成時呼叫。\n" -"private void HttpRequestCompleted(long result, long responseCode, string[] " -"headers, byte[] body)\n" -"{\n" -" var json = new Json();\n" -" json.Parse(body.GetStringFromUtf8());\n" -" var response = json.GetData().AsGodotDictionary();\n" -"\n" -" // 將列印 HTTPRequest 節點使用的使用者代理字串(由 httpbin.org 識別)。\n" -" GD.Print((response[\"headers\"].AsGodotDictionary())[\"User-Agent\"]);\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]使用 HTTPRequest 載入和顯示圖像的範例:[/b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"func _ready():\n" -" # 建立一個 HTTP 請求節點並連接其完成訊號。\n" -" var http_request = HTTPRequest.new()\n" -" add_child(http_request)\n" -" http_request.request_completed.connect(self._http_request_completed)\n" -"\n" -" # 執行一個 HTTP 請求。下面的 URL 將寫入作為一個 PNG 圖像返回。\n" -" var error = http_request.request(\"https://via.placeholder.com/512\")\n" -" if error != OK:\n" -" push_error(\"在HTTP請求中發生了一個錯誤。\")\n" -"\n" -"# 當 HTTP 請求完成時呼叫。\n" -"func _http_request_completed(result, response_code, headers, body):\n" -" if result != HTTPRequest.RESULT_SUCCESS:\n" -" push_error(\"無法下載圖像。嘗試一個不同的圖像。\")\n" -"\n" -" var image = Image.new()\n" -" var error = image.load_png_from_buffer(body)\n" -" if error != OK:\n" -" push_error(\"無法載入圖像。\")\n" -"\n" -" var texture = ImageTexture.create_from_image(image)\n" -"\n" -" # 在 TextureRect 節點中顯示圖像。\n" -" var texture_rect = TextureRect.new()\n" -" add_child(texture_rect)\n" -" texture_rect.texture = texture\n" -"[/gdscript]\n" -"[csharp]\n" -"public override void _Ready()\n" -"{\n" -" // 建立一個 HTTP 請求節點並連接其完成訊號。\n" -" var httpRequest = new HTTPRequest();\n" -" AddChild(httpRequest);\n" -" httpRequest.RequestCompleted += HttpRequestCompleted;\n" -"\n" -" // 執行一個 HTTP 請求。下面的 URL 將寫入作為一個 PNG 圖像返回。\n" -" Error error = httpRequest.Request(\"https://via.placeholder.com/512\");\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"在HTTP請求中發生了一個錯誤。\");\n" -" }\n" -"}\n" -"\n" -"// 當 HTTP 請求完成時呼叫。\n" -"private void HttpRequestCompleted(long result, long responseCode, string[] " -"headers, byte[] body)\n" -"{\n" -" if (result != (long)HTTPRequest.Result.Success)\n" -" {\n" -" GD.PushError(\"無法下載圖像。嘗試一個不同的圖像。\");\n" -" }\n" -" var image = new Image();\n" -" Error error = image.LoadPngFromBuffer(body);\n" -" if (error != Error.Ok)\n" -" {\n" -" GD.PushError(\"無法載入圖像。\");\n" -" }\n" -"\n" -" var texture = ImageTexture.CreateFromImage(image);\n" -"\n" -" // 在 TextureRect 節點中顯示圖像。\n" -" var textureRect = new TextureRect();\n" -" AddChild(textureRect);\n" -" textureRect.Texture = texture;\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Gzipped 回應體[/b]:HTTPRequest 將自動處理回應體的解壓縮。除非已經指定了一" -"個,否則 [code]Accept-Encoding[/code] 報頭將自動新增到你的每個請求中。任何帶" -"有 [code]Content-Encoding: gzip[/code] 報頭的回應都將自動解壓,並作為未壓縮的" -"位元組傳送給你。" - msgid "Making HTTP requests" msgstr "發出 HTTP 請求" @@ -52715,17 +49311,6 @@ msgstr "" "於啟用狀態,但可以使用 [code]module_svg_enabled=no[/code] SCons 選項在建置時停" "用它。" -msgid "" -"Loads an image from the string contents of a SVG file ([b].svg[/b]).\n" -"[b]Note:[/b] This method is only available in engine builds with the SVG " -"module enabled. By default, the SVG module is enabled, but it can be disabled " -"at build-time using the [code]module_svg_enabled=no[/code] SCons option." -msgstr "" -"從 SVG 檔案 ([b].svg[/b]) 的字串內容載入映像。\n" -"[b]注意:[/b]此方法僅在啟用了 SVG 模組的引擎版本中可用。預設情況下,SVG 模組處" -"於啟用狀態,但可以使用 [code]module_svg_enabled=no[/code] SCons 選項在建置時停" -"用它。" - msgid "Loads an image from the binary contents of a WebP file." msgstr "從 WebP 檔的二進位內容載入圖像。" @@ -53858,18 +50443,6 @@ msgid "" msgstr "返回給定索引(參見 [enum JoyAxis])處的遊戲手柄軸的目前值。" msgid "" -"Returns a SDL2-compatible device GUID on platforms that use gamepad " -"remapping, e.g. [code]030000004c050000c405000000010000[/code]. Returns " -"[code]\"Default Gamepad\"[/code] otherwise. Godot uses the [url=https://" -"github.com/gabomdq/SDL_GameControllerDB]SDL2 game controller database[/url] " -"to determine gamepad names and mappings based on this GUID." -msgstr "" -"如果平臺使用遊戲手柄重對應,則返回裝置的 GUID,與 SDL2 相容,例如 " -"[code]030000004c050000c405000000010000[/code]。否則返回 [code]\"Default " -"Gamepad\"[/code]。Godot 會根據這個 GUI 使用 [url=https://github.com/gabomdq/" -"SDL_GameControllerDB]SDL2 遊戲控制器資料庫[/url]來確定遊戲手柄的名稱和對應。" - -msgid "" "Returns a dictionary with extra platform-specific information about the " "device, e.g. the raw gamepad name from the OS or the Steam Input index.\n" "On Windows the dictionary contains the following fields:\n" @@ -54146,26 +50719,6 @@ msgid "" msgstr "停止使用 [method start_joy_vibration] 啟動的遊戲手柄的振動。" msgid "" -"Vibrate the handheld device for the specified duration in milliseconds.\n" -"[b]Note:[/b] This method is implemented on Android, iOS, and Web. It has no " -"effect on other platforms.\n" -"[b]Note:[/b] For Android, [method vibrate_handheld] requires enabling the " -"[code]VIBRATE[/code] permission in the export preset. Otherwise, [method " -"vibrate_handheld] will have no effect.\n" -"[b]Note:[/b] For iOS, specifying the duration is only supported in iOS 13 and " -"later.\n" -"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not " -"support [method vibrate_handheld]." -msgstr "" -"使手持裝置振動指定的持續時間,單位為毫秒。\n" -"[b]注意:[/b]該方法在 Android、iOS 和 Web 上實作。它對其他平臺沒有影響。\n" -"[b]注意:[/b]對於 Android,[method vibrate_handheld] 需要在匯出預設中啟用 " -"[code]VIBRATE[/code] 許可權。否則,[method vibrate_handheld] 將無效。\n" -"[b]注意:[/b]對於 iOS,僅 iOS 13 及更高版本支援指定持續時間。\n" -"[b]注意:[/b]某些網路流覽器,如 Safari 和 Android 版的 Firefox 不支援 [method " -"vibrate_handheld]。" - -msgid "" "Sets the mouse position to the specified vector, provided in pixels and " "relative to an origin at the upper left corner of the currently focused " "Window Manager game window.\n" @@ -54452,16 +51005,6 @@ msgstr "" "[InputEventScreenTouch]、[InputEventScreenDrag]、[InputEventMagnifyGesture]、" "和 [InputEventPanGesture] 型別的事件相關。" -msgid "" -"The event's device ID.\n" -"[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated mouse " -"input from a touchscreen. This can be used to distinguish emulated mouse " -"input from physical mouse input." -msgstr "" -"該事件的裝置 ID。\n" -"[b]注意:[/b]對於來自觸控式螢幕的類比滑鼠輸入,該裝置 ID 將總是 [code]-1[/" -"code]。可用於區分類比滑鼠輸入和物理滑鼠輸入。" - msgid "An input event type for actions." msgstr "動作的輸入事件型別。" @@ -54666,59 +51209,6 @@ msgstr "" "鍵。" msgid "" -"Represents the localized label printed on the key in the current keyboard " -"layout, which corresponds to one of the [enum Key] constants or any valid " -"Unicode character.\n" -"For keyboard layouts with a single label on the key, it is equivalent to " -"[member keycode].\n" -"To get a human-readable representation of the [InputEventKey], use [code]OS." -"get_keycode_string(event.key_label)[/code] where [code]event[/code] is the " -"[InputEventKey].\n" -"[codeblock]\n" -" +-----+ +-----+\n" -" | Q | | Q | - \"Q\" - keycode\n" -" | Й | | ض | - \"Й\" and \"ض\" - key_label\n" -" +-----+ +-----+\n" -"[/codeblock]" -msgstr "" -"表示目前鍵盤配置中印在鍵上的當地語系化標籤,對應於 [enum Key] 常數之一或任何有" -"效的 Unicode 字元。\n" -"對於鍵上只有一個標籤的鍵盤配置,它等同於 [member keycode]。\n" -"要獲得 [InputEventKey] 的人類可讀表示,請使用 [code]OS." -"get_keycode_string(event.key_label)[/code],其中 [code]event[/code] 是 " -"[InputEventKey]。\n" -"[codeblock]\n" -" +-----+ +-----+\n" -" | Q | | Q | - \"Q\" - keycode\n" -" | Й | | ض | - \"Й\" and \"ض\" - key_label\n" -" +-----+ +-----+\n" -"[/codeblock]" - -msgid "" -"Latin label printed on the key in the current keyboard layout, which " -"corresponds to one of the [enum Key] constants.\n" -"To get a human-readable representation of the [InputEventKey], use [code]OS." -"get_keycode_string(event.keycode)[/code] where [code]event[/code] is the " -"[InputEventKey].\n" -"[codeblock]\n" -" +-----+ +-----+\n" -" | Q | | Q | - \"Q\" - keycode\n" -" | Й | | ض | - \"Й\" and \"ض\" - key_label\n" -" +-----+ +-----+\n" -"[/codeblock]" -msgstr "" -"目前鍵盤配置中鍵上列印的拉丁標籤,對應於 [enum Key] 常數之一。\n" -"要獲得 [InputEventKey] 的人類可讀表示,請使用 [code]OS." -"get_keycode_string(event.keycode)[/code],其中 [code]event[/code] 是 " -"[InputEventKey]。\n" -"[codeblock]\n" -" +-----+ +-----+\n" -" | Q | | Q | - \"Q\" - 鍵碼\n" -" | Й | | ض | - \"Й\" 和 \"ض\" - key_label\n" -" +-----+ +-----+\n" -"[/codeblock]" - -msgid "" "If [code]true[/code], the key's state is pressed. If [code]false[/code], the " "key's state is released." msgstr "" @@ -54885,9 +51375,6 @@ msgstr "多次拖動事件中的拖動事件索引。" msgid "Returns [code]true[/code] when using the eraser end of a stylus pen." msgstr "正在使用手寫筆的橡皮端時,會返回 [code]true[/code]。" -msgid "The drag position." -msgstr "拖拽的位置。" - msgid "Represents a screen touch event." msgstr "代表螢幕觸摸事件。" @@ -54908,9 +51395,6 @@ msgid "" "The touch index in the case of a multi-touch event. One index = one finger." msgstr "在多點觸摸事件中的觸摸指數。一個索引 = 一個手指。" -msgid "The touch position, in screen (global) coordinates." -msgstr "觸摸位置,使用螢幕(全域)座標。" - msgid "" "If [code]true[/code], the touch's state is pressed. If [code]false[/code], " "the touch's state is released." @@ -61054,13 +57538,6 @@ msgstr "" "ID。" msgid "" -"Returns the sender's peer ID for the RPC currently being executed.\n" -"[b]Note:[/b] If not inside an RPC this method will return 0." -msgstr "" -"返回目前正在執行的 RPC 的發送方的對等體 ID。\n" -"[b]注意:[/b]如果不在 RPC 內,這個方法將返回 0。" - -msgid "" "Returns the unique peer ID of this MultiplayerAPI's [member multiplayer_peer]." msgstr "返回這個 MultiplayerAPI 的 [member multiplayer_peer] 唯一對等體 ID。" @@ -61286,9 +57763,6 @@ msgstr "" "Android 匯出預設中啟用了 [code]INTERNET[/code] 許可權。否則,任何型別的網路通" "信都會被安卓阻止。" -msgid "WebRTC Signaling Demo" -msgstr "WebRTC 訊號演示" - msgid "" "Immediately close the multiplayer peer returning to the state [constant " "CONNECTION_DISCONNECTED]. Connected peers will be dropped without emitting " @@ -62517,9 +58991,6 @@ msgstr "" msgid "Using NavigationMeshes" msgstr "使用 NavigationMesh" -msgid "3D Navmesh Demo" -msgstr "3D 導覽網格演示" - msgid "" "Adds a polygon using the indices of the vertices you get when calling [method " "get_vertices]." @@ -62886,35 +59357,6 @@ msgstr "" "設定解析得到的源幾何體資料頂點。頂點需要與正確的索引相配對。\n" "[b]警告:[/b]資料不正確會導致相關協力廠商庫在烘焙過程中當機。" -msgid "" -"2D Obstacle used in navigation to constrain avoidance controlled agents " -"outside or inside an area." -msgstr "" -"用於導覽的 2D 障礙物,能夠將啟用了避障處理的代理約束在某個區域之外或之內。" - -msgid "" -"2D Obstacle used in navigation to constrain avoidance controlled agents " -"outside or inside an area. The obstacle needs a navigation map and outline " -"vertices defined to work correctly.\n" -"If the obstacle's vertices are winded in clockwise order, avoidance agents " -"will be pushed in by the obstacle, otherwise, avoidance agents will be pushed " -"out. Outlines must not cross or overlap.\n" -"Obstacles are [b]not[/b] a replacement for a (re)baked navigation mesh. " -"Obstacles [b]don't[/b] change the resulting path from the pathfinding, " -"obstacles only affect the navigation avoidance agent movement by altering the " -"suggested velocity of the avoidance agent.\n" -"Obstacles using vertices can warp to a new position but should not moved " -"every frame as each move requires a rebuild of the avoidance map." -msgstr "" -"導覽中使用的 2D 障礙物,能夠將由避障控制的代理約束在某個區域之外或之內。障礙物" -"定義導覽地圖和輪廓頂點後才能正常工作。\n" -"如果障礙物的頂點使用順時針順序纏繞,則避障代理會被推入障礙物,否則避障代理就會" -"被推出障礙物。輪廓必須不存在交叉和重疊。\n" -"障礙物[b]不是[/b](重新)烘焙導覽網格的替代品。障礙物[b]不會[/b]改變尋路的結" -"果,障礙物只會修改避障代理的推薦速度,從而影響導覽避障代理的移動。\n" -"使用頂點的障礙物可以傳送至新位置,但不應該每一影格都移動,因為每次移動都需要重" -"新建構避障地圖。" - msgid "Using NavigationObstacles" msgstr "使用 NavigationObstacle" @@ -62977,35 +59419,6 @@ msgstr "" "理向內推,否則就會向外推。輪廓不能交叉或重疊。如果這些頂點直接跳到了新的位置," "那麼其他代理可能無法預測這種行為,導致被困在障礙物內。" -msgid "" -"3D Obstacle used in navigation to constrain avoidance controlled agents " -"outside or inside an area." -msgstr "" -"用於導覽的 3D 障礙物,能夠將啟用了避障處理的代理約束在某個區域之外或之內。" - -msgid "" -"3D Obstacle used in navigation to constrain avoidance controlled agents " -"outside or inside an area. The obstacle needs a navigation map and outline " -"vertices defined to work correctly.\n" -"If the obstacle's vertices are winded in clockwise order, avoidance agents " -"will be pushed in by the obstacle, otherwise, avoidance agents will be pushed " -"out. Outlines must not cross or overlap.\n" -"Obstacles are [b]not[/b] a replacement for a (re)baked navigation mesh. " -"Obstacles [b]don't[/b] change the resulting path from the pathfinding, " -"obstacles only affect the navigation avoidance agent movement by altering the " -"suggested velocity of the avoidance agent.\n" -"Obstacles using vertices can warp to a new position but should not moved " -"every frame as each move requires a rebuild of the avoidance map." -msgstr "" -"導覽中使用的 3D 障礙物,能夠將由避障控制的代理約束在某個區域之外或之內。障礙物" -"定義導覽地圖和輪廓頂點後才能正常工作。\n" -"如果障礙物的頂點使用順時針順序纏繞,則避障代理會被推入障礙物,否則避障代理就會" -"被推出障礙物。輪廓必須不存在交叉和重疊。\n" -"障礙物[b]不是[/b](重新)烘焙導覽網格的替代品。障礙物[b]不會[/b]改變尋路的結" -"果,障礙物只會修改避障代理的推薦速度,從而影響導覽避障代理的移動。\n" -"使用頂點的障礙物可以傳送至新位置,但不應該每一影格都移動,因為每次移動都需要重" -"新建構避障地圖。" - msgid "Returns the [RID] of this obstacle on the [NavigationServer3D]." msgstr "返回這個障礙物在 [NavigationServer3D] 上的 [RID]。" @@ -63264,9 +59677,6 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" -msgid "2D Navigation Demo" -msgstr "2D 導覽演示" - msgid "" "Appends a [PackedVector2Array] that contains the vertices of an outline to " "the internal array that contains all the outlines." @@ -63474,9 +59884,6 @@ msgstr "" "覽地圖,因此僅需要此函式來覆寫預設地圖。 “,““,“,“錯誤的”,””,”,”\n" "doc/classes/NavigationRegion2D.xml\"" -msgid "A bitfield determining all avoidance layers for the avoidance constrain." -msgstr "位域,確定避障約束的所有避障層。" - msgid "Determines if the [NavigationRegion2D] is enabled or disabled." msgstr "決定該 [NavigationRegion2D] 是啟用還是禁用。" @@ -64592,36 +60999,6 @@ msgstr "" "是“孤兒”)。" msgid "" -"Called when an [InputEventKey] or [InputEventShortcut] hasn't been consumed " -"by [method _input] or any GUI [Control] item. It is called before [method " -"_unhandled_key_input] and [method _unhandled_input]. The input event " -"propagates up through the node tree until a node consumes it.\n" -"It is only called if shortcut processing is enabled, which is done " -"automatically if this method is overridden, and can be toggled with [method " -"set_process_shortcut_input].\n" -"To consume the input event and stop it propagating further to other nodes, " -"[method Viewport.set_input_as_handled] can be called.\n" -"This method can be used to handle shortcuts. For generic GUI events, use " -"[method _input] instead. Gameplay events should usually be handled with " -"either [method _unhandled_input] or [method _unhandled_key_input].\n" -"[b]Note:[/b] This method is only called if the node is present in the scene " -"tree (i.e. if it's not orphan)." -msgstr "" -"當一個 [InputEventKey] 或 [InputEventShortcut],尚未被 [method _input] 或任何 " -"GUI [Control] 項使用時呼叫。這是在 [method _unhandled_key_input] 和 [method " -"_unhandled_input] 之前呼叫的。輸入事件通過節點樹向上傳播,直到一個節點消耗" -"它。\n" -"它僅在啟用快捷鍵處理時呼叫,如果此方法被覆蓋,則會自動呼叫,並且可以使用 " -"[method set_process_shortcut_input] 進行開關。\n" -"要消耗輸入事件,並阻止它進一步傳播到其他節點,可以呼叫 [method Viewport." -"set_input_as_handled]。\n" -"此方法可用於處理快捷鍵。如果是常規的 GUI 事件,請改用 [method _input]。遊戲事" -"件通常應該使用 [method _unhandled_input] 或 [method _unhandled_key_input] 處" -"理。\n" -"[b]注意:[/b]僅當該節點存在於場景樹中(即它不是一個孤兒節點)時,此方法才會被" -"呼叫。" - -msgid "" "Called when an [InputEvent] hasn't been consumed by [method _input] or any " "GUI [Control] item. It is called after [method _shortcut_input] and after " "[method _unhandled_key_input]. The input event propagates up through the node " @@ -65010,11 +61387,6 @@ msgid "Adds the [param offset] vector to the node's global position." msgstr "將偏移向量 [param offset] 新增到該節點的全域位置。" msgid "" -"Rotates the node so it points towards the [param point], which is expected to " -"use global coordinates." -msgstr "旋轉該節點,使其指向 [param point],該點應使用全域座標。" - -msgid "" "Applies a local translation on the node's X axis based on the [method Node." "_process]'s [param delta]. If [param scaled] is [code]false[/code], " "normalizes the movement." @@ -65452,9 +61824,6 @@ msgstr "旋轉量以 [Basis] 的形式編輯。此模式下無法單獨編輯 [m msgid "A pre-parsed scene tree path." msgstr "預先解析的場景樹路徑。" -msgid "2D Role Playing Game Demo" -msgstr "2D 角色扮演遊戲演示" - msgid "Constructs an empty [NodePath]." msgstr "建構空的 [NodePath]。" @@ -65910,62 +62279,6 @@ msgstr "" "[/codeblock]" msgid "" -"Adds a user-defined [param signal]. Optional arguments for the signal can be " -"added as an [Array] of dictionaries, each defining a [code]name[/code] " -"[String] and a [code]type[/code] [int] (see [enum Variant.Type]). See also " -"[method has_user_signal].\n" -"[codeblocks]\n" -"[gdscript]\n" -"add_user_signal(\"hurt\", [\n" -" { \"name\": \"damage\", \"type\": TYPE_INT },\n" -" { \"name\": \"source\", \"type\": TYPE_OBJECT }\n" -"])\n" -"[/gdscript]\n" -"[csharp]\n" -"AddUserSignal(\"Hurt\", new Godot.Collections.Array()\n" -"{\n" -" new Godot.Collections.Dictionary()\n" -" {\n" -" { \"name\", \"damage\" },\n" -" { \"type\", (int)Variant.Type.Int }\n" -" },\n" -" new Godot.Collections.Dictionary()\n" -" {\n" -" { \"name\", \"source\" },\n" -" { \"type\", (int)Variant.Type.Object }\n" -" }\n" -"});\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"新增使用者定義的訊號 [param signal]。訊號的參數是可選的,以字典的 [Array] 形式" -"新增,字典中定義名稱 [code]name[/code] [String],型別 [code]type[/code] [int]" -"(見 [enum Variant.Type])。另見 [method has_user_signal]。\n" -"[codeblocks]\n" -"[gdscript]\n" -"add_user_signal(\"hurt\", [\n" -" { \"name\": \"damage\", \"type\": TYPE_INT },\n" -" { \"name\": \"source\", \"type\": TYPE_OBJECT }\n" -"])\n" -"[/gdscript]\n" -"[csharp]\n" -"AddUserSignal(\"Hurt\", new Godot.Collections.Array()\n" -"{\n" -" new Godot.Collections.Dictionary()\n" -" {\n" -" { \"name\", \"damage\" },\n" -" { \"type\", (int)Variant.Type.Int }\n" -" },\n" -" new Godot.Collections.Dictionary()\n" -" {\n" -" { \"name\", \"source\" },\n" -" { \"type\", (int)Variant.Type.Object }\n" -" }\n" -"});\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Calls the [param method] on the object and returns the result. This method " "supports a variable number of arguments, so parameters can be passed as a " "comma separated list.\n" @@ -66114,44 +62427,6 @@ msgstr "" "查引用時將返回 [code]false[/code]。" msgid "" -"Returns the [Variant] value of the given [param property]. If the [param " -"property] does not exist, this method returns [code]null[/code].\n" -"[codeblocks]\n" -"[gdscript]\n" -"var node = Node2D.new()\n" -"node.rotation = 1.5\n" -"var a = node.get(\"rotation\") # a is 1.5\n" -"[/gdscript]\n" -"[csharp]\n" -"var node = new Node2D();\n" -"node.Rotation = 1.5f;\n" -"var a = node.Get(\"rotation\"); // a is 1.5\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] In C#, [param property] must be in snake_case when referring to " -"built-in Godot properties. Prefer using the names exposed in the " -"[code]PropertyName[/code] class to avoid allocating a new [StringName] on " -"each call." -msgstr "" -"返回給定 [param property] 的 [Variant] 值。如果 [param property] 不存在,則該" -"方法返回 [code]null[/code]。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var node = Node2D.new()\n" -"node.rotation = 1.5\n" -"var a = node.get(\"rotation\") # a 為 1.5\n" -"[/gdscript]\n" -"[csharp]\n" -"var node = new Node2D();\n" -"node.Rotation = 1.5f;\n" -"var a = node.Get(\"rotation\"); // a 為 1.5\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b]在 C# 中,在引用 Godot 內建屬性時,[param property] 必須是 " -"snake_case。最好使用 [code]PropertyName[/code] 類中公開的名稱,以避免在每次調" -"用時分配一個新的 [StringName]。" - -msgid "" "Returns the object's built-in class name, as a [String]. See also [method " "is_class].\n" "[b]Note:[/b] This method ignores [code]class_name[/code] declarations. If " @@ -66371,13 +62646,6 @@ msgstr "" "新分配一個 [StringName]。" msgid "" -"Returns [code]true[/code] if the given user-defined [param signal] name " -"exists. Only signals added with [method add_user_signal] are included." -msgstr "" -"如果存在給定的使用者定義訊號名稱 [param signal],則返回 [code]true[/code]。僅" -"包含通過 [method add_user_signal] 新增的訊號。" - -msgid "" "Returns [code]true[/code] if the object is blocking its signals from being " "emitted. See [method set_block_signals]." msgstr "" @@ -66553,44 +62821,6 @@ msgstr "" "找到,但是不應該進行編輯。" msgid "" -"Assigns [param value] to the given [param property]. If the property does not " -"exist or the given [param value]'s type doesn't match, nothing happens.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var node = Node2D.new()\n" -"node.set(\"global_scale\", Vector2(8, 2.5))\n" -"print(node.global_scale) # Prints (8, 2.5)\n" -"[/gdscript]\n" -"[csharp]\n" -"var node = new Node2D();\n" -"node.Set(\"global_scale\", new Vector2(8, 2.5));\n" -"GD.Print(node.GlobalScale); // Prints Vector2(8, 2.5)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] In C#, [param property] must be in snake_case when referring to " -"built-in Godot properties. Prefer using the names exposed in the " -"[code]PropertyName[/code] class to avoid allocating a new [StringName] on " -"each call." -msgstr "" -"將給定屬性 [param property] 的值分配為 [param value]。如果該屬性不存在,或者給" -"定 [param value] 的型別不配對,則不會發生任何事情。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var node = Node2D.new()\n" -"node.set(\"global_scale\", Vector2(8, 2.5))\n" -"print(node.global_scale) # 輸出 (8, 2.5)\n" -"[/gdscript]\n" -"[csharp]\n" -"var node = new Node2D();\n" -"node.Set(\"global_scale\", new Vector2(8, 2.5));\n" -"GD.Print(node.GlobalScale); // 輸出 Vector2(8, 2.5)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b]在 C# 中引用內建 Godot 屬性時 [param property] 必須為 snake_case " -"蛇形大小寫。請優先使用 [code]PropertyName[/code] 類中暴露的名稱,避免每次呼叫" -"都重新分配一個 [StringName]。" - -msgid "" "If set to [code]true[/code], the object becomes unable to emit signals. As " "such, [method emit_signal] and signal connections will not work, until it is " "set to [code]false[/code]." @@ -66599,65 +62829,6 @@ msgstr "" "emit_signal] 和訊號連接將不起作用,直到該屬性被設定為 [code]false[/code]。" msgid "" -"Assigns [param value] to the given [param property], at the end of the " -"current frame. This is equivalent to calling [method set] through [method " -"call_deferred].\n" -"[codeblocks]\n" -"[gdscript]\n" -"var node = Node2D.new()\n" -"add_child(node)\n" -"\n" -"node.rotation = 45.0\n" -"node.set_deferred(\"rotation\", 90.0)\n" -"print(node.rotation) # Prints 45.0\n" -"\n" -"await get_tree().process_frame\n" -"print(node.rotation) # Prints 90.0\n" -"[/gdscript]\n" -"[csharp]\n" -"var node = new Node2D();\n" -"node.Rotation = 45f;\n" -"node.SetDeferred(\"rotation\", 90f);\n" -"GD.Print(node.Rotation); // Prints 45.0\n" -"\n" -"await ToSignal(GetTree(), SceneTree.SignalName.ProcessFrame);\n" -"GD.Print(node.Rotation); // Prints 90.0\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] In C#, [param property] must be in snake_case when referring to " -"built-in Godot properties. Prefer using the names exposed in the " -"[code]PropertyName[/code] class to avoid allocating a new [StringName] on " -"each call." -msgstr "" -"在目前影格的末尾,將給定屬性 [param property] 的值分配為 [param value]。等價於" -"通過 [method call_deferred] 呼叫 [method set]。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var node = Node2D.new()\n" -"add_child(node)\n" -"\n" -"node.rotation = 45.0\n" -"node.set_deferred(\"rotation\", 90.0)\n" -"print(node.rotation) # 輸出 45.0\n" -"\n" -"await get_tree().process_frame\n" -"print(node.rotation) # 輸出 90.0\n" -"[/gdscript]\n" -"[csharp]\n" -"var node = new Node2D();\n" -"node.Rotation = 45f;\n" -"node.SetDeferred(\"rotation\", 90f);\n" -"GD.Print(node.Rotation); // 輸出 45.0\n" -"\n" -"await ToSignal(GetTree(), SceneTree.SignalName.ProcessFrame);\n" -"GD.Print(node.Rotation); // 輸出 90.0\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b]在 C# 中引用內建 Godot 屬性時 [param property] 必須為 snake_case " -"蛇形大小寫。請優先使用 [code]PropertyName[/code] 類中暴露的名稱,避免每次呼叫" -"都重新分配一個 [StringName]。" - -msgid "" "Assigns a new [param value] to the property identified by the [param " "property_path]. The path should be a [NodePath] relative to this object, and " "can use the colon character ([code]:[/code]) to access nested properties.\n" @@ -66753,24 +62924,6 @@ msgstr "" "返回表示物件的 [String]。預設為 [code]\"<ClassName#RID>\"[/code]。覆蓋 " "[method _to_string] 以自訂物件的字串表示形式。" -msgid "" -"Translates a [param message], using the translation catalogs configured in " -"the Project Settings. Further [param context] can be specified to help with " -"the translation.\n" -"If [method can_translate_messages] is [code]false[/code], or no translation " -"is available, this method returns the [param message] without changes. See " -"[method set_message_translation].\n" -"For detailed examples, see [url=$DOCS_URL/tutorials/i18n/" -"internationalizing_games.html]Internationalizing games[/url]." -msgstr "" -"使用專案設定中配置的翻譯目錄,翻譯一個 [param message]。可以進一步指定 [param " -"context] 來幫助翻譯。\n" -"如果 [method can_translate_messages] 為 [code]false[/code],或者沒有翻譯可用," -"則該方法將返回 [param message] 而不做任何更改。請參閱 [method " -"set_message_translation]。\n" -"有關詳細範例,請參閱[url=$DOCS_URL/tutorials/i18n/internationalizing_games." -"html]《國際化遊戲》[/url]。" - msgid "Emitted when [method notify_property_list_changed] is called." msgstr "呼叫 [method notify_property_list_changed] 時發出。" @@ -66980,14 +63133,6 @@ msgstr "" msgid "The culling mode to use." msgstr "要使用的剔除模式。" -msgid "" -"A [Vector2] array with the index for polygon's vertices positions.\n" -"[b]Note:[/b] The returned value is a copy of the underlying array, rather " -"than a reference." -msgstr "" -"帶有多邊形頂點位置索引的 [Vector2] 陣列。\n" -"[b]注意:[/b]返回值是基礎陣列的副本,而不是引用。" - msgid "Culling is disabled. See [member cull_mode]." msgstr "禁用剔除。見 [member cull_mode]。" @@ -67297,9 +63442,6 @@ msgstr "" "[b]注意:[/b] [code]openxr/util.h[/code] 包含用於取得OpenXR 函式的實用宏,例如" "[code]GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)[/code]。" -msgid "Returns the timing for the next frame." -msgstr "返回參數的正弦值。" - msgid "" "Returns the play space, which is an [url=https://registry.khronos.org/OpenXR/" "specs/1.0/man/html/XrSpace.html]XrSpace[/url] cast to an integer." @@ -68222,18 +64364,6 @@ msgstr "" msgid "A packed array of bytes." msgstr "位元組緊縮陣列。" -msgid "" -"An array specifically designed to hold bytes. Packs data tightly, so it saves " -"memory for large array sizes.\n" -"[PackedByteArray] also provides methods to encode/decode various types to/" -"from bytes. The way values are encoded is an implementation detail and " -"shouldn't be relied upon when interacting with external apps." -msgstr "" -"專門設計用於存放位元組的陣列。資料是緊密存放的,因此能夠在陣列較大時節省內" -"存。\n" -"[PackedByteArray] 還提供了在許多型別和位元組之間進行編碼/解碼的方法。這些值的" -"編碼方式屬於實作細節,與外部套用程式互動時不應依賴這種編碼。" - msgid "Constructs an empty [PackedByteArray]." msgstr "建構空的 [PackedByteArray]。" @@ -68249,6 +64379,20 @@ msgid "Appends a [PackedByteArray] at the end of this array." msgstr "在該陣列的末尾追加一個 [PackedByteArray]。" msgid "" +"Finds the index of an existing value (or the insertion index that maintains " +"sorting order, if the value is not yet present in the array) using binary " +"search. Optionally, a [param before] specifier can be passed. If [code]false[/" +"code], the returned index comes after all existing entries of the value in " +"the array.\n" +"[b]Note:[/b] Calling [method bsearch] on an unsorted array results in " +"unexpected behavior." +msgstr "" +"使用二進法搜尋已有值的索引(如果該值尚未存在於陣列中,則為保持排序順序的插入索" +"引)。傳遞 [param before] 說明符是可選的。如果該參數為 [code]false[/code],則" +"返回的索引位於陣列中該值的所有已有的條目之後。\n" +"[b]注意:[/b]在未排序的陣列上呼叫 [method bsearch] 會產生預料之外的行為。" + +msgid "" "Returns a new [PackedByteArray] with the data compressed. Set the compression " "mode using one of [enum FileAccess.CompressionMode]'s constants." msgstr "" @@ -68630,13 +64774,6 @@ msgstr "" msgid "A packed array of [Color]s." msgstr "[Color] 緊縮陣列。" -msgid "" -"An array specifically designed to hold [Color]. Packs data tightly, so it " -"saves memory for large array sizes." -msgstr "" -"專門設計用於存放 [Color] 的陣列。資料是緊密存放的,因此能夠在陣列較大時節省內" -"存。" - msgid "Constructs an empty [PackedColorArray]." msgstr "建構空的 [PackedColorArray]。" @@ -68842,15 +64979,6 @@ msgstr "" msgid "A packed array of 32-bit floating-point values." msgstr "32 位元浮點數緊縮陣列。" -msgid "" -"An array specifically designed to hold 32-bit floating-point values (float). " -"Packs data tightly, so it saves memory for large array sizes.\n" -"If you need to pack 64-bit floats tightly, see [PackedFloat64Array]." -msgstr "" -"專門設計用於存放 32 位浮點值(float)的陣列。資料是緊密存放的,因此能夠在陣列" -"較大時節省記憶體。\n" -"如果你需要緊密存放 64 位浮點數,請參閱 [PackedFloat64Array]。" - msgid "Constructs an empty [PackedFloat32Array]." msgstr "建構空的 [PackedFloat32Array]。" @@ -68998,17 +65126,6 @@ msgstr "" msgid "A packed array of 64-bit floating-point values." msgstr "64 位元浮點數緊縮陣列。" -msgid "" -"An array specifically designed to hold 64-bit floating-point values (double). " -"Packs data tightly, so it saves memory for large array sizes.\n" -"If you only need to pack 32-bit floats tightly, see [PackedFloat32Array] for " -"a more memory-friendly alternative." -msgstr "" -"專門設計用於存放 64 位浮點值(double)的陣列。資料是緊密存放的,因此能夠在數組" -"較大時節省記憶體。\n" -"如果你只需要緊密存放 32 位浮點數,請參閱 [PackedFloat32Array],是對記憶體更友" -"好的選擇。" - msgid "Constructs an empty [PackedFloat64Array]." msgstr "建構空的 [PackedFloat64Array]。" @@ -69078,22 +65195,6 @@ msgstr "" msgid "A packed array of 32-bit integers." msgstr "32 位元整數緊縮陣列。" -msgid "" -"An array specifically designed to hold 32-bit integer values. Packs data " -"tightly, so it saves memory for large array sizes.\n" -"[b]Note:[/b] This type stores signed 32-bit integers, which means it can take " -"values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code]" -"[-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. In " -"comparison, [int] uses signed 64-bit integers which can hold much larger " -"values. If you need to pack 64-bit integers tightly, see [PackedInt64Array]." -msgstr "" -"專門設計用於存放 32 位元整數值的陣列。資料是緊密存放的,因此能夠在陣列較大時節" -"省記憶體。\n" -"[b]注意:[/b]該型別儲存的是 32 位元有符號整數,也就是說它可以取區間 [code]" -"[-2^31, 2^31 - 1][/code] 內的值,即 [code][-2147483648, 2147483647][/code]。超" -"過這些界限將環繞往復。相比之下,[int] 使用帶符號的 64 位元整數,可以容納更大的" -"值。如果你需要緊密存放 64 位元整數,請參閱 [PackedInt64Array]。" - msgid "Constructs an empty [PackedInt32Array]." msgstr "建構空的 [PackedInt32Array]。" @@ -69174,22 +65275,6 @@ msgstr "" msgid "A packed array of 64-bit integers." msgstr "64 位元整數緊縮陣列。" -msgid "" -"An array specifically designed to hold 64-bit integer values. Packs data " -"tightly, so it saves memory for large array sizes.\n" -"[b]Note:[/b] This type stores signed 64-bit integers, which means it can take " -"values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code]" -"[-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds " -"will wrap around. If you only need to pack 32-bit integers tightly, see " -"[PackedInt32Array] for a more memory-friendly alternative." -msgstr "" -"專門設計用於存放 64 位元整數值的陣列。資料是緊密存放的,因此能夠在陣列較大時節" -"省記憶體。\n" -"[b]注意:[/b]該型別儲存的是 64 位元有符號整數,也就是說它可以取區間 [code]" -"[-2^63, 2^63 - 1][/code] 內的值,即 [code][-9223372036854775808, " -"9223372036854775807][/code]。超過這些界限將環繞往復。如果你只需要緊密存放 32 " -"位元整數,請參閱 [PackedInt32Array],是對記憶體更友好的選擇。" - msgid "Constructs an empty [PackedInt64Array]." msgstr "建構空的 [PackedInt64Array]。" @@ -69263,11 +65348,6 @@ msgstr "" "產生實體該場景的節點架構。觸發子場景的產生實體。在根節點上觸發 [constant Node." "NOTIFICATION_SCENE_INSTANTIATED] 通知。" -msgid "" -"Pack will ignore any sub-nodes not owned by given node. See [member Node." -"owner]." -msgstr "包將忽略不屬於給定節點的任何子節點。請參閱 [member Node.owner]。" - msgid "If passed to [method instantiate], blocks edits to the scene state." msgstr "如果傳遞給 [method instantiate],則會阻止對場景狀態的編輯。" @@ -69300,25 +65380,6 @@ msgstr "" msgid "A packed array of [String]s." msgstr "[String] 緊縮陣列。" -msgid "" -"An array specifically designed to hold [String]s. Packs data tightly, so it " -"saves memory for large array sizes.\n" -"If you want to join the strings in the array, use [method String.join].\n" -"[codeblock]\n" -"var string_array = PackedStringArray([\"hello\", \"world\"])\n" -"var string = \" \".join(string_array)\n" -"print(string) # \"hello world\"\n" -"[/codeblock]" -msgstr "" -"專門設計用於存放 [String] 的陣列。資料是緊密存放的,因此能夠在陣列較大時節省記" -"憶體。\n" -"如果要連接陣列中的字串,請使用 [method String.join]。\n" -"[codeblock]\n" -"var string_array = PackedStringArray([\"hello\", \"world\"])\n" -"var string = \" \".join(string_array)\n" -"print(string) # \"hello world\"\n" -"[/codeblock]" - msgid "Constructs an empty [PackedStringArray]." msgstr "建構空的 [PackedStringArray]。" @@ -69388,16 +65449,6 @@ msgstr "" msgid "A packed array of [Vector2]s." msgstr "[Vector2] 緊縮陣列。" -msgid "" -"An array specifically designed to hold [Vector2]. Packs data tightly, so it " -"saves memory for large array sizes." -msgstr "" -"專門設計用於存放 [Vector2] 的陣列。資料是緊密存放的,因此能夠在陣列較大時節省" -"記憶體。" - -msgid "2D Navigation Astar Demo" -msgstr "2D 導覽 Astar 演示" - msgid "Constructs an empty [PackedVector2Array]." msgstr "建構空的 [PackedVector2Array]。" @@ -69552,13 +65603,6 @@ msgstr "" msgid "A packed array of [Vector3]s." msgstr "[Vector3] 緊縮陣列。" -msgid "" -"An array specifically designed to hold [Vector3]. Packs data tightly, so it " -"saves memory for large array sizes." -msgstr "" -"專門設計用於存放 [Vector3] 的陣列。資料是緊密存放的,因此能夠在陣列較大時節省" -"記憶體。" - msgid "Constructs an empty [PackedVector3Array]." msgstr "建構空的 [PackedVector3Array]。" @@ -69893,76 +65937,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_buffer())\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\".ToAsciiBuffer());\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_buffer())\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\".ToAsciiBuffer());\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 "A GUI control that displays a [StyleBox]." msgstr "顯示 [StyleBox] 的 GUI 控制項。" @@ -69971,12 +65945,6 @@ msgid "" "[PanelContainer]." msgstr "[Panel] 是一種顯示 [StyleBox] 的 GUI 控制項。另見 [PanelContainer]。" -msgid "2D Finite State Machine Demo" -msgstr "2D 有限狀態機演示" - -msgid "3D Inverse Kinematics Demo" -msgstr "3D 逆運動學演示" - msgid "The [StyleBox] of this control." msgstr "該控制項的 [StyleBox]。" @@ -70773,45 +66741,6 @@ msgid "Creates packages that can be loaded into a running project." msgstr "建立可以載入到正在運作的專案中的包。" msgid "" -"The [PCKPacker] is used to create packages that can be loaded into a running " -"project using [method ProjectSettings.load_resource_pack].\n" -"[codeblocks]\n" -"[gdscript]\n" -"var packer = PCKPacker.new()\n" -"packer.pck_start(\"test.pck\")\n" -"packer.add_file(\"res://text.txt\", \"text.txt\")\n" -"packer.flush()\n" -"[/gdscript]\n" -"[csharp]\n" -"var packer = new PCKPacker();\n" -"packer.PckStart(\"test.pck\");\n" -"packer.AddFile(\"res://text.txt\", \"text.txt\");\n" -"packer.Flush();\n" -"[/csharp]\n" -"[/codeblocks]\n" -"The above [PCKPacker] creates package [code]test.pck[/code], then adds a file " -"named [code]text.txt[/code] at the root of the package." -msgstr "" -"[PCKPacker] 可以建立打包檔,專案運作時可以使用 [method ProjectSettings." -"load_resource_pack] 來載入打包檔。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var packer = PCKPacker.new()\n" -"packer.pck_start(\"test.pck\")\n" -"packer.add_file(\"res://text.txt\", \"text.txt\")\n" -"packer.flush()\n" -"[/gdscript]\n" -"[csharp]\n" -"var packer = new PCKPacker();\n" -"packer.PckStart(\"test.pck\");\n" -"packer.AddFile(\"res://text.txt\", \"text.txt\");\n" -"packer.Flush();\n" -"[/csharp]\n" -"[/codeblocks]\n" -"上面的例子中,[PCKPacker] 建立了打包檔案 [code]test.pck[/code],但後將名為 " -"[code]text.txt[/code] 的檔新增到了包的根目錄。" - -msgid "" "Adds the [param source_path] file to the current PCK package at the [param " "pck_path] internal path (should start with [code]res://[/code])." msgstr "" @@ -71330,17 +67259,6 @@ msgstr "" "體。" msgid "" -"Called during physics processing, allowing you to read and safely modify the " -"simulation state for the object. By default, it works in addition to the " -"usual physics behavior, but the [member custom_integrator] property allows " -"you to disable the default behavior and do fully custom force integration for " -"a body." -msgstr "" -"在物理處理過程中被呼叫,允許你讀取並安全地修改物件的類比狀態。預設情況下,它會" -"和通常的物理行為一起生效,但是你可以通過 [member custom_integrator] 屬性禁用預" -"設行為,為物體施加完全自訂的合力。" - -msgid "" "Damps the body's rotation. By default, the body will use the [b]Default " "Angular Damp[/b] in [b]Project > Project Settings > Physics > 3d[/b] or any " "value override set by an [Area3D] the body is in. Depending on [member " @@ -71376,16 +67294,6 @@ msgstr "" "與模擬。" msgid "" -"If [code]true[/code], internal force integration will be disabled (like " -"gravity or air friction) for this body. Other than collision response, the " -"body will only move as determined by the [method _integrate_forces] function, " -"if defined." -msgstr "" -"如果為 [code]true[/code],則該物體的內力積分將被禁用(如重力或空氣摩擦)。除了" -"碰撞回應之外,物體將僅根據 [method _integrate_forces] 函式確定的方式移動(如果" -"已定義)。" - -msgid "" "The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] " "(max friction)." msgstr "" @@ -71455,6 +67363,32 @@ msgid "" msgstr "在這種模式下,物體的阻尼值將替換掉區域中設定的任何值或預設值。" msgid "" +"Adds a collision exception to the physical bone.\n" +"Works just like the [RigidBody3D] node." +msgstr "" +"向物理骨骼新增一個碰撞例外。\n" +"就像 [RigidBody3D] 節點一樣工作。" + +msgid "" +"Removes a collision exception to the physical bone.\n" +"Works just like the [RigidBody3D] node." +msgstr "" +"移除物理骨骼的一個碰撞例外。\n" +"就像 [RigidBody3D] 節點一樣工作。" + +msgid "" +"Tells the [PhysicalBone3D] nodes in the Skeleton to start simulating and " +"reacting to the physics world.\n" +"Optionally, a list of bone names can be passed-in, allowing only the passed-" +"in bones to be simulated." +msgstr "" +"讓 Skeleton 中的 [PhysicalBone3D] 節點開始模擬類比,對物理世界做出反應。\n" +"可以傳入骨骼名稱列表,只對傳入的骨骼進行模擬模擬。" + +msgid "Tells the [PhysicalBone3D] nodes in the Skeleton to stop simulating." +msgstr "讓 Skeleton 中的 [PhysicalBone3D] 節點停止模擬模擬。" + +msgid "" "A material that defines a sky for a [Sky] resource by a set of physical " "properties." msgstr "透過一組物理屬性定義 [Sky] 資源的天空的材質。" @@ -71931,9 +67865,6 @@ msgid "" "translation and rotation." msgstr "返回給定相對位置的物體速度,包括平移和旋轉。" -msgid "Calls the built-in force integration code." -msgstr "呼叫內建的力集成程式碼。" - msgid "" "Sets the body's total constant positional forces applied during each physics " "update.\n" @@ -72753,16 +68684,6 @@ msgstr "" "回來。" msgid "" -"Creates a 2D area object in the physics server, and returns the [RID] that " -"identifies it. Use [method area_add_shape] to add shapes to it, use [method " -"area_set_transform] to set its transform, and use [method area_set_space] to " -"add the area to a space." -msgstr "" -"在物理服務中建立一個 2D 區域物件,並返回標識它的 [RID]。使用 [method " -"area_add_shape] 為其新增形狀,使用 [method area_set_transform] 設定其變換,並" -"使用 [method area_set_space] 將區域新增到一個空間。" - -msgid "" "Returns the [code]ObjectID[/code] of the canvas attached to the area. Use " "[method @GlobalScope.instance_from_id] to retrieve a [CanvasLayer] from a " "nonzero [code]ObjectID[/code]." @@ -73071,16 +68992,6 @@ msgstr "" "增回來。" msgid "" -"Creates a 2D body object in the physics server, and returns the [RID] that " -"identifies it. Use [method body_add_shape] to add shapes to it, use [method " -"body_set_state] to set its transform, and use [method body_set_space] to add " -"the body to a space." -msgstr "" -"在物理服務中建立一個 2D 物體物件,並返回標識它的 [RID]。可使用 [method " -"body_add_shape] 為其新增形狀,使用 [method body_set_state] 設定其變換,以及使" -"用 [method body_set_space] 將實體新增到一個空間。" - -msgid "" "Returns the [code]ObjectID[/code] of the canvas attached to the body. Use " "[method @GlobalScope.instance_from_id] to retrieve a [CanvasLayer] from a " "nonzero [code]ObjectID[/code]." @@ -73169,13 +69080,6 @@ msgid "" msgstr "返回該實體給定狀態的值。有關可用狀態的列表,請參閱 [enum BodyState]。" msgid "" -"Returns [code]true[/code] if the body uses a callback function to calculate " -"its own physics (see [method body_set_force_integration_callback])." -msgstr "" -"如果實體使用回呼函式來計算自己的物理運算(請參閱 [method " -"body_set_force_integration_callback]),則返回 [code]true[/code]。" - -msgid "" "Removes [param excepted_body] from the body's list of collision exceptions, " "so that collisions with it are no longer ignored." msgstr "" @@ -73254,23 +69158,6 @@ msgstr "" "並在發生碰撞時糾正它的運動。" msgid "" -"Sets the function used to calculate physics for the body, if that body allows " -"it (see [method body_set_omit_force_integration]).\n" -"The force integration function takes the following two parameters:\n" -"1. a [PhysicsDirectBodyState2D] [code]state[/code]: used to retrieve and " -"modify the body's state,\n" -"2. a [Variant] [param userdata]: optional user data.\n" -"[b]Note:[/b] This callback is currently not called in Godot Physics." -msgstr "" -"如果該實體允許的話,設定用於計算實體物理的函式(參見 [method " -"body_set_omit_force_integration])。\n" -"該力的積分函式採用以下兩個參數:\n" -"1. 一個 [PhysicsDirectBodyState2D] [code]state[/code]:用於檢索和修改實體的狀" -"態,\n" -"2. 一個 [Variant] [param userdata]:可選的使用者資料。\n" -"[b]注意:[/b]該回呼函式目前在 Godot 物理中不會被呼叫。" - -msgid "" "Sets the maximum number of contacts that the body can report. If [param " "amount] is greater than zero, then the body will keep track of at most this " "many contacts with other bodies." @@ -73283,13 +69170,6 @@ msgid "" msgstr "設定該實體的模式。有關可用模式的列表,請參閱 [enum BodyMode]。" msgid "" -"Sets whether the body uses a callback function to calculate its own physics " -"(see [method body_set_force_integration_callback])." -msgstr "" -"設定一個物體是否使用回呼函式來計算它自己的物理(參見 [method " -"body_set_force_integration_callback])。" - -msgid "" "Sets the value of the given body parameter. See [enum BodyParameter] for the " "list of available parameters." msgstr "設定給定實體參數的值。有關可用參數列表,請參閱 [enum BodyParameter]。" @@ -74249,9 +70129,6 @@ msgid "" "be reassigned later." msgstr "從一個區域移除所有形狀。它不會刪除形狀,因此它們可以稍後重新分配。" -msgid "Creates an [Area3D]." -msgstr "建立 [Area3D]。" - msgid "Returns the physics layer or layers an area belongs to." msgstr "返回該區域所屬的實體層。" @@ -74464,13 +70341,6 @@ msgid "" msgstr "如果為 [code]true[/code],則啟用連續碰撞偵測模式。" msgid "" -"Returns whether a body uses a callback function to calculate its own physics " -"(see [method body_set_force_integration_callback])." -msgstr "" -"返回一個物體是否使用回呼函式來計算它自己的物理值(見 [method " -"body_set_force_integration_callback])。" - -msgid "" "Removes a body from the list of bodies exempt from collisions.\n" "Continuous collision detection tries to predict where a moving body will " "collide, instead of moving it and correcting its movement if it collided." @@ -74545,13 +70415,6 @@ msgid "Sets the body mode, from one of the [enum BodyMode] constants." msgstr "從 [enum BodyMode] 常數之一設定主體模式。" msgid "" -"Sets whether a body uses a callback function to calculate its own physics " -"(see [method body_set_force_integration_callback])." -msgstr "" -"設定一個物體是否使用回呼函式來計算它自己的物理(見 [method " -"body_set_force_integration_callback])。" - -msgid "" "Sets a body parameter. A list of available parameters is on the [enum " "BodyParameter] constants." msgstr "設定物體參數。可用參數列表位於 [enum BodyParameter] 常數上。" @@ -74602,24 +70465,6 @@ msgstr "" "PhysicsServer3D 建立的對象,則會向控制台發送錯誤。" msgid "" -"Gets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants)." -msgstr "獲取 generic_6_DOF_joit 旗標(見 [enum G6DOFJointAxisFlag] 常數)。" - -msgid "" -"Gets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] " -"constants)." -msgstr "獲取 generic_6_DOF_joint 參數(見 [enum G6DOFJointAxisParam] 常數)。" - -msgid "" -"Sets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants)." -msgstr "設定 generic_6_DOF_joint 旗標(見 [enum G6DOFJointAxisFlag] 常數)。" - -msgid "" -"Sets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] " -"constants)." -msgstr "設定 generic_6_DOF_joint 參數(見 [enum G6DOFJointAxisParam] 常數)。" - -msgid "" "Returns information about the current state of the 3D physics engine. See " "[enum ProcessInfo] for a list of available states." msgstr "" @@ -74999,9 +70844,6 @@ msgstr "常數,用於設定/獲取區域的角度阻尼係數。" msgid "Constant to set/get the priority (order of processing) of an area." msgstr "常數,用於設定/獲取區域的優先順序(處理順序)。" -msgid "Constant to set/get the magnitude of area-specific wind force." -msgstr "常數,用於設定/獲取特定區域風力大小。" - msgid "" "Constant to set/get the 3D vector that specifies the origin from which an " "area-specific wind blows." @@ -76191,15 +72033,6 @@ msgid "The offset applied to each vertex." msgstr "套用於每個頂點的位置偏移量。" msgid "" -"The polygon's list of vertices. The final point will be connected to the " -"first.\n" -"[b]Note:[/b] This returns a copy of the [PackedVector2Array] rather than a " -"reference." -msgstr "" -"多邊形的頂點列表。最後一點將連接到第一個點。\n" -"[b]注意:[/b]返回的是 [PackedVector2Array] 的副本,不是引用。" - -msgid "" "The list of polygons, in case more than one is being represented. Every " "individual polygon is stored as a [PackedInt32Array] where each [int] is an " "index to a point in [member polygon]. If empty, this property will be " @@ -76269,9 +72102,6 @@ msgstr "" msgid "Emitted when the popup is hidden." msgstr "當該快顯視窗被隱藏時發出。" -msgid "Default [StyleBox] for the [Popup]." -msgstr "該 [Button] 的預設 [StyleBox]。" - msgid "A modal window used to display a list of options." msgstr "用於顯示選項列表的模態視窗。" @@ -77552,11 +73382,11 @@ msgid "" "[b]Overriding:[/b] Any project setting can be overridden by creating a file " "named [code]override.cfg[/code] in the project's root directory. This can " "also be used in exported projects by placing this file in the same directory " -"as the project binary. Overriding will still take the base project " -"settings' [url=$DOCS_URL/tutorials/export/feature_tags.html]feature tags[/" -"url] in account. Therefore, make sure to [i]also[/i] override the setting " -"with the desired feature tags if you want them to override base project " -"settings on all platforms and configurations." +"as the project binary. Overriding will still take the base project settings' " +"[url=$DOCS_URL/tutorials/export/feature_tags.html]feature tags[/url] in " +"account. Therefore, make sure to [i]also[/i] override the setting with the " +"desired feature tags if you want them to override base project settings on " +"all platforms and configurations." msgstr "" "儲存可以從任何地方存取的變數。請使用 [method get_setting]、[method " "set_setting]、[method has_setting] 存取。儲存在 [code]project.godot[/code] 中" @@ -77925,18 +73755,6 @@ msgstr "" "長寬比)。如果為 [code]false[/code],引擎將保持其預設圖元大小。" msgid "" -"Path to an image used as the boot splash. If left empty, the default Godot " -"Engine splash will be displayed instead.\n" -"[b]Note:[/b] Only effective if [member application/boot_splash/show_image] is " -"[code]true[/code].\n" -"[b]Note:[/b] The only supported format is PNG. Using another image format " -"will result in an error." -msgstr "" -"圖像的路徑,會作為啟動畫面使用。留空時將使用預設的 Godot 引擎啟動畫面。\n" -"[b]注意:[/b]僅在 [member application/boot_splash/show_image] 為 [code]true[/" -"code] 時有效。" - -msgid "" "Minimum boot splash display time (in milliseconds). It is not recommended to " "set too high values for this setting." msgstr "啟動畫面的最小顯示時間(單位為毫秒)。不建議設定為過高的值。" @@ -78179,16 +73997,6 @@ msgstr "" "僅在重新開機套用程式時才會套用此設定的更改。" msgid "" -"If [code]true[/code], enables low-processor usage mode. This setting only " -"works on desktop platforms. The screen is not redrawn if nothing changes " -"visually. This is meant for writing applications and editors, but is pretty " -"useless (and can hurt performance) in most games." -msgstr "" -"如果為 [code]true[/code],則啟用低處理器使用模式。此設定僅適用於桌面平臺。如果" -"視覺上沒有任何變化,螢幕不會被重繪。這是為了編寫套用程式和編輯器,但在大多數遊" -"戲中這是非常無用的(並可能損害性能)。" - -msgid "" "Amount of sleeping between frames when the low-processor usage mode is " "enabled (in microseconds). Higher values will result in lower CPU usage." msgstr "" @@ -78445,13 +74253,6 @@ msgstr "" msgid "" "When set to [code]warn[/code] or [code]error[/code], produces a warning or an " -"error respectively when deprecated keywords are used." -msgstr "" -"設為 [code]warn[/code] 或 [code]error[/code] 時,會在使用已啟用的關鍵字時對應" -"產生警告或錯誤。" - -msgid "" -"When set to [code]warn[/code] or [code]error[/code], produces a warning or an " "error respectively when an empty file is parsed." msgstr "" "設為 [code]warn[/code] 或 [code]error[/code] 時,會在解析空檔時對應產生警告或" @@ -78696,13 +74497,6 @@ msgstr "" msgid "" "When set to [code]warn[/code] or [code]error[/code], produces a warning or an " -"error respectively when performing an unsafe cast." -msgstr "" -"設定為 [code]warn[/code] 或 [code]error[/code] 時,當執行不安全的轉換時,會分" -"別產生一個警告或一個錯誤。" - -msgid "" -"When set to [code]warn[/code] or [code]error[/code], produces a warning or an " "error respectively when calling a method whose presence is not guaranteed at " "compile-time in the class." msgstr "" @@ -78749,13 +74543,6 @@ msgstr "" msgid "" "When set to [code]warn[/code] or [code]error[/code], produces a warning or an " -"error respectively when a signal is declared but never emitted." -msgstr "" -"設定為 [code]warn[/code] 或 [code]error[/code] 時,當一個訊號被宣告但從未發出" -"時,會分別產生一個警告或一個錯誤。" - -msgid "" -"When set to [code]warn[/code] or [code]error[/code], produces a warning or an " "error respectively when a local variable is unused." msgstr "" "設定為 [code]warn[/code] 或 [code]error[/code] 時,當一個區域變數未被使用時," @@ -79098,13 +74885,6 @@ msgstr "" "程式不會接管。適用於桌面和移動平臺。" msgid "" -"Editor-only override for [member display/window/energy_saving/" -"keep_screen_on]. Does not affect exported projects in debug or release mode." -msgstr "" -"[member display/window/energy_saving/keep_screen_on] 的編輯器覆蓋項。不影響調" -"試模式和發行模式下匯出的專案。" - -msgid "" "The default screen orientation to use on mobile devices. See [enum " "DisplayServer.ScreenOrientation] for possible values.\n" "[b]Note:[/b] When set to a portrait orientation, this project setting does " @@ -79497,46 +75277,11 @@ msgstr "" "[/code]、[code]{signal_name}[/code]。" msgid "" -"When creating node names automatically, set the type of casing in this " -"project. This is mostly an editor setting." -msgstr "" -"當自動建立節點名稱時,在這個專案中設定大小寫的型別。這主要是編輯器設定。" - -msgid "" "What to use to separate node name from number. This is mostly an editor " "setting." msgstr "用什麼來分隔節點名稱和編號。這主要是一個編輯器的設定。" msgid "" -"When generating file names from scene root node, set the type of casing in " -"this project. This is mostly an editor setting." -msgstr "" -"根據場景根節點生成檔案名時,設定這個專案中的大小寫型別。主要是編輯器設定。" - -msgid "" -"The command-line arguments to append to Godot's own command line when running " -"the project. This doesn't affect the editor itself.\n" -"It is possible to make another executable run Godot by using the " -"[code]%command%[/code] placeholder. The placeholder will be replaced with " -"Godot's own command line. Program-specific arguments should be placed " -"[i]before[/i] the placeholder, whereas Godot-specific arguments should be " -"placed [i]after[/i] the placeholder.\n" -"For example, this can be used to force the project to run on the dedicated " -"GPU in a NVIDIA Optimus system on Linux:\n" -"[codeblock]\n" -"prime-run %command%\n" -"[/codeblock]" -msgstr "" -"運作專案時附加到 Godot 自己的命令列的命令列參數。這不會影響編輯器本身。\n" -"可以使用 [code]%command%[/code] 預留位置使另一個可執行檔運作 Godot。預留位置將" -"替換為 Godot 自己的命令列。程式特定的參數應該放在[i]預留位置之前[/i],而 " -"Godot 特定參數應該放在[i]預留位置之後[/i]。\n" -"例如,這可用於強制專案在 Linux 上的 NVIDIA Optimus 系統中的專用 GPU 上運行:\n" -"[codeblock]\n" -"prime-run %command%\n" -"[/codeblock]" - -msgid "" "Text-based file extensions to include in the script editor's \"Find in " "Files\" feature. You can add e.g. [code]tscn[/code] if you wish to also parse " "your scene files, especially if you use built-in scripts which are serialized " @@ -83584,9 +79329,6 @@ msgstr "" "[PlaneMesh] 是等價的,區別是 [member PlaneMesh.orientation] 預設為 [constant " "PlaneMesh.FACE_Z]。" -msgid "2D in 3D Demo" -msgstr "3D 中的 2D 演示" - msgid "Flat plane shape for use with occlusion culling in [OccluderInstance3D]." msgstr "用於 [OccluderInstance3D] 遮擋剔除的扁平平面形狀。" @@ -83900,22 +79642,6 @@ msgstr "" "(即 [method is_colliding] 返回 [code]false[/code])。" msgid "" -"Returns the shape ID of the first object that the ray intersects, or [code]0[/" -"code] if no object is intersecting the ray (i.e. [method is_colliding] " -"returns [code]false[/code])." -msgstr "" -"返回射線相交的第一個物件的形狀 ID,如果沒有物件與射線相交,則返回 [code]0[/" -"code](即 [method is_colliding] 返回 [code]false[/code])。" - -msgid "" -"Returns the normal of the intersecting object's shape at the collision point, " -"or [code]Vector2(0, 0)[/code] if the ray starts inside the shape and [member " -"hit_from_inside] is [code]true[/code]." -msgstr "" -"返回相交物件的形狀在碰撞點處的法線,如果射線從該形狀內部發出並且 [member " -"hit_from_inside] 為 [code]true[/code],則為 [code]Vector2(0, 0)[/code]。" - -msgid "" "Returns whether any object is intersecting with the ray's vector (considering " "the vector length)." msgstr "返回是否有任何物件與射線的向量相交(考慮向量長度)。" @@ -83984,14 +79710,6 @@ msgstr "" "hit_from_inside] 為 [code]true[/code],則為 [code]Vector2(0, 0)[/code]。" msgid "" -"Returns the normal of the intersecting object's shape at the collision point, " -"or [code]Vector3(0, 0, 0)[/code] if the ray starts inside the shape and " -"[member hit_from_inside] is [code]true[/code]." -msgstr "" -"返回相交對象形狀在碰撞點處的法線;或者如果射線從形狀內部開始並且 [member " -"hit_from_inside] 為 [code]true[/code],則返回 [code]Vector3(0, 0, 0)[/code]。" - -msgid "" "Removes a collision exception so the ray does report collisions with the " "specified [CollisionObject3D] node." msgstr "" @@ -84969,40 +80687,6 @@ msgid "" msgstr "如果該 [Rect2i] 完全包含另一個,則返回 [code]true[/code]。" msgid "" -"Returns a copy of this rectangle expanded to align the edges with the given " -"[param to] point, if necessary.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var rect = Rect2(0, 0, 5, 2)\n" -"\n" -"rect = rect.expand(Vector2(10, 0)) # rect is Rect2(0, 0, 10, 2)\n" -"rect = rect.expand(Vector2(-5, 5)) # rect is Rect2(-5, 0, 10, 5)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rect = new Rect2(0, 0, 5, 2);\n" -"\n" -"rect = rect.Expand(new Vector2(10, 0)); // rect is Rect2(0, 0, 10, 2)\n" -"rect = rect.Expand(new Vector2(-5, 5)); // rect is Rect2(-5, 0, 10, 5)\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"返回該 [Rect2i] 的副本,該副本擴充至包含給定點。\n" -"[codeblocks]\n" -"[gdscript]\n" -"# 位置 (-3, 2),大小 (1, 1)\n" -"var rect = Rect2i(Vector2i(-3, 2), Vector2i(1, 1))\n" -"# 位置 (-3, -1),大小 (3, 4),所以我們同時適配 rect 和 Vector2i(0, -1)\n" -"var rect2 = rect.expand(Vector2i(0, -1))\n" -"[/gdscript]\n" -"[csharp]\n" -"// 位置 (-3, 2),大小 (1, 1)\n" -"var rect = new Rect2I(new Vector2I(-3, 2), new Vector2I(1, 1));\n" -"// 位置 (-3, -1),大小 (3, 4),所以我們同時適配 rect 和 Vector2i(0, -1)\n" -"var rect2 = rect.Expand(new Vector2I(0, -1));\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Returns the rectangle's area. This is equivalent to [code]size.x * size.y[/" "code]. See also [method has_area]." msgstr "返回該 [Rect2] 的面積。另請參閱 [method has_area]。" @@ -85270,40 +80954,6 @@ msgid "" msgstr "如果該 [Rect2i] 完全包含另一個,則返回 [code]true[/code]。" msgid "" -"Returns a copy of this rectangle expanded to align the edges with the given " -"[param to] point, if necessary.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var rect = Rect2i(0, 0, 5, 2)\n" -"\n" -"rect = rect.expand(Vector2i(10, 0)) # rect is Rect2i(0, 0, 10, 2)\n" -"rect = rect.expand(Vector2i(-5, 5)) # rect is Rect2i(-5, 0, 10, 5)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rect = new Rect2I(0, 0, 5, 2);\n" -"\n" -"rect = rect.Expand(new Vector2I(10, 0)); // rect is Rect2I(0, 0, 10, 2)\n" -"rect = rect.Expand(new Vector2I(-5, 5)); // rect is Rect2I(-5, 0, 10, 5)\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"返回該 [Rect2i] 的副本,該副本擴充至包含給定點。\n" -"[codeblocks]\n" -"[gdscript]\n" -"# 位置 (-3, 2),大小 (1, 1)\n" -"var rect = Rect2i(Vector2i(-3, 2), Vector2i(1, 1))\n" -"# 位置 (-3, -1),大小 (3, 4),所以我們同時適配 rect 和 Vector2i(0, -1)\n" -"var rect2 = rect.expand(Vector2i(0, -1))\n" -"[/gdscript]\n" -"[csharp]\n" -"// 位置 (-3, 2),大小 (1, 1)\n" -"var rect = new Rect2I(new Vector2I(-3, 2), new Vector2I(1, 1));\n" -"// 位置 (-3, -1),大小 (3, 4),所以我們同時適配 rect 和 Vector2i(0, -1)\n" -"var rect2 = rect.Expand(new Vector2I(0, -1));\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Returns the center point of the rectangle. This is the same as [code]position " "+ (size / 2)[/code].\n" "[b]Note:[/b] If the [member size] is odd, the result will be rounded towards " @@ -89958,39 +85608,6 @@ msgstr "" "use_jitter] 可用於抖動模糊過程中採集的樣本,以隱藏偽影,代價是看起來更模糊。" msgid "" -"Sets the exposure values that will be used by the renderers. The " -"normalization amount is used to bake a given Exposure Value (EV) into " -"rendering calculations to reduce the dynamic range of the scene.\n" -"The normalization factor can be calculated from exposure value (EV100) as " -"follows:\n" -"[codeblock]\n" -"func get_exposure_normalization(float ev100):\n" -" \t\t\t return 1.0 / (pow(2.0, ev100) * 1.2)\n" -"[/codeblock]\n" -"The exposure value can be calculated from aperture (in f-stops), shutter " -"speed (in seconds), and sensitivity (in ISO) as follows:\n" -"[codeblock]\n" -"func get_exposure(float aperture, float shutter_speed, float sensitivity):\n" -" return log2((aperture * aperture) / shutterSpeed * (100.0 / " -"sensitivity))\n" -"[/codeblock]" -msgstr "" -"設定算繪器所使用的曝光值。正規化量用於將給定的曝光值(Exposure Value,EV)烘焙" -"進算繪計算,從而降低場景的動態範圍。\n" -"可以用如下方法根據曝光值(EV100)來計算正規化係數:\n" -"[codeblock]\n" -"func get_exposure_normalization(float ev100):\n" -" \t\t\t return 1.0 / (pow(2.0, ev100) * 1.2)\n" -"[/codeblock]\n" -"可以使用如下方法根據光圈(單位為 F 值)、快門速度(單位為秒)、感光度(單位為 " -"ISO)來計算曝光值:\n" -"[codeblock]\n" -"func get_exposure(float aperture, float shutter_speed, float sensitivity):\n" -" return log2((aperture * aperture) / shutterSpeed * (100.0 / " -"sensitivity))\n" -"[/codeblock]" - -msgid "" "Creates a 3D 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" @@ -91477,11 +87094,6 @@ msgstr "" "set_surface_override_material]。" msgid "" -"Sets the world space transform of the instance. Equivalent to [member Node3D." -"transform]." -msgstr "設定該實例的世界空間變換。相當於 [member Node3D.transform]。" - -msgid "" "Sets the visibility parent for the given instance. Equivalent to [member " "Node3D.visibility_parent]." msgstr "設定給定實例的可見性父級。相當於 [member Node3D.visibility_parent]。" @@ -91846,57 +87458,6 @@ msgstr "" "MultiMesh.set_instance_transform_2d]。" msgid "" -"Set the entire data to use for drawing the [param multimesh] at once to " -"[param buffer] (such as instance transforms and colors). [param buffer]'s " -"size must match the number of instances multiplied by the per-instance data " -"size (which depends on the enabled MultiMesh fields). Otherwise, an error " -"message is printed and nothing is rendered. See also [method " -"multimesh_get_buffer].\n" -"The per-instance data size and expected data order is:\n" -"[codeblock]\n" -"2D:\n" -" - Position: 8 floats (8 floats for Transform2D)\n" -" - Position + Vertex color: 12 floats (8 floats for Transform2D, 4 floats " -"for Color)\n" -" - Position + Custom data: 12 floats (8 floats for Transform2D, 4 floats of " -"custom data)\n" -" - Position + Vertex color + Custom data: 16 floats (8 floats for " -"Transform2D, 4 floats for Color, 4 floats of custom data)\n" -"3D:\n" -" - Position: 12 floats (12 floats for Transform3D)\n" -" - Position + Vertex color: 16 floats (12 floats for Transform3D, 4 floats " -"for Color)\n" -" - Position + Custom data: 16 floats (12 floats for Transform3D, 4 floats of " -"custom data)\n" -" - Position + Vertex color + Custom data: 20 floats (12 floats for " -"Transform3D, 4 floats for Color, 4 floats of custom data)\n" -"[/codeblock]" -msgstr "" -"將用於繪製 [param multimesh] 的全部資料立即寫入 [param buffer](例如實例的變換" -"和顏色)。[param buffer] 的大小必須與實例數和單實例資料大小的乘積配對(後者取" -"決於啟用的 MultiMesh 欄位)。否則,會輸出錯誤資訊,不算繪任何東西。另見 " -"[method multimesh_get_buffer]。\n" -"單實例資料大小與預期的資料順序如下:\n" -"[codeblock]\n" -"2D:\n" -" - 位置:8 個 float(Transform2D 占 8 個 float)\n" -" - 位置 + 頂點顏色:12 個 float(Transform2D 占 8 個 float、顏色占 4 個 " -"float)\n" -" - 位置 + 自訂資料:12 個 float(Transform2D 占 8 個 float、自訂資料占 4 個 " -"float)\n" -" - 位置 + 頂點顏色 + 自訂資料:16 個 float(Transform2D 占 8 個 float、顏色" -"占 4 個 float、自訂資料占 4 個 float)\n" -"3D:\n" -" - 位置:12 個 float(Transform3D 占 12 個 float)\n" -" - 位置 + 頂點顏色:16 個 float(Transform3D 占 12 個 float、顏色占 4 個 " -"float)\n" -" - 位置 + 自訂資料:16 個 float(Transform3D 占 12 個 float、自訂資料占 4 個 " -"float)\n" -" - 位置 + 頂點顏色 + 自訂資料:20 個 float(Transform3D 占 12 個 float、顏色" -"占 4 個 float、自訂資料占 4 個 float)\n" -"[/codeblock]" - -msgid "" "Sets the mesh to be drawn by the multimesh. Equivalent to [member MultiMesh." "mesh]." msgstr "設定 Multimesh 所要繪製的網格。相當於 [member MultiMesh.mesh]。" @@ -92838,11 +88399,11 @@ msgstr "" msgid "" "Returns the CPU time taken to render the last frame in milliseconds. This " -"[i]only[/i] includes time spent in rendering-related operations; " -"scripts' [code]_process[/code] functions and other engine subsystems are not " -"included in this readout. To get a complete readout of CPU time spent to " -"render the scene, sum the render times of all viewports that are drawn every " -"frame plus [method get_frame_setup_time_cpu]. Unlike [method Engine." +"[i]only[/i] includes time spent in rendering-related operations; scripts' " +"[code]_process[/code] functions and other engine subsystems are not included " +"in this readout. To get a complete readout of CPU time spent to render the " +"scene, sum the render times of all viewports that are drawn every frame plus " +"[method get_frame_setup_time_cpu]. Unlike [method Engine." "get_frames_per_second], this method will accurately reflect CPU utilization " "even if framerate is capped via V-Sync or [member Engine.max_fps]. See also " "[method viewport_get_measured_render_time_gpu].\n" @@ -93241,35 +88802,6 @@ msgstr "" "ProjectSettings.rendering/anti_aliasing/quality/use_debanding]。" msgid "" -"If [code]true[/code], 2D rendering will use a high dynamic range (HDR) format " -"framebuffer matching the bit depth of the 3D framebuffer. When using the " -"Forward+ renderer this will be a [code]RGBA16[/code] framebuffer, while when " -"using the Mobile renderer it will be a [code]RGB10_A2[/code] framebuffer. " -"Additionally, 2D rendering will take place in linear color space and will be " -"converted to sRGB space immediately before blitting to the screen (if the " -"Viewport is attached to the screen). Practically speaking, this means that " -"the end result of the Viewport will not be clamped into the [code]0-1[/code] " -"range and can be used in 3D rendering without color space adjustments. This " -"allows 2D rendering to take advantage of effects requiring high dynamic range " -"(e.g. 2D glow) as well as substantially improves the appearance of effects " -"requiring highly detailed gradients. This setting has the same effect as " -"[member Viewport.use_hdr_2d].\n" -"[b]Note:[/b] This setting will have no effect when using the GL Compatibility " -"renderer as the GL Compatibility renderer always renders in low dynamic range " -"for performance reasons." -msgstr "" -"如果[code]true[/code],2D 算繪將使用與3D 影格緩衝區的位元深度配對的高動態範圍" -"(HDR) 格式影格緩衝區。使用Forward+ 算繪器時,這將是[code]RGBA16[/code] 影格緩" -"衝區,而使用移動算繪器時,它將是[code]RGB10_A2[/code] 影格緩衝區。此外,2D 算" -"繪將在線性顏色空間中進行,並將轉換為sRGB 空間緊接在blitting 到螢幕之前(如果" -"Viewport 附加到螢幕)。實際上,這表示Viewport 的最終結果不會被限制在" -"[code]0-1[/code] 範圍內,並且可以使用在 3D 算繪中無需調整色彩空間。這允許 2D " -"算繪利用需要高動態範圍的效果(例如 2D 發光),並顯著改善需要高度詳細漸變的效果" -"的外觀。此設定與 [member Viewport.use_hdr_2d]。\n" -"[b]注意:[/b] 使用GL 相容性算繪器時,此設定無效,因為出於效能原因,GL 相容性算" -"繪器始終在低動態範圍內算繪。" - -msgid "" "If [code]true[/code], enables occlusion culling on the specified viewport. " "Equivalent to [member ProjectSettings.rendering/occlusion_culling/" "use_occlusion_culling]." @@ -94527,9 +90059,6 @@ msgstr "" "可變速率著色使用紋理。請注意,對於立體視覺,請使用為每個視圖提供紋理的紋理圖" "集。" -msgid "Variable rate shading texture is supplied by the primary [XRInterface]." -msgstr "可變速率著色紋理由主 [XRInterface] 提供。" - msgid "Represents the size of the [enum ViewportVRSMode] enum." msgstr "代表 [enum ViewportVRSMode] 列舉的大小。" @@ -95795,8 +91324,8 @@ msgid "" "\"disabled\" (bit is [code]false[/code]).\n" "[b]Alpha:[/b] Pixels whose alpha value is greater than the [member threshold] " "will be considered as \"enabled\" (bit is [code]true[/code]). If the pixel is " -"lower than or equal to the threshold, it will be considered as " -"\"disabled\" (bit is [code]false[/code])." +"lower than or equal to the threshold, it will be considered as \"disabled\" " +"(bit is [code]false[/code])." msgstr "" "用於產生點陣圖的資料來源。\n" "[b]黑白:[/b] HSV 值大於[member threshold]的像素將被視為「已啟用」(位元為" @@ -95845,32 +91374,6 @@ msgstr "" msgid "Imports comma-separated values" msgstr "匯入 CSV" -msgid "" -"Comma-separated values are a plain text table storage format. The format's " -"simplicity makes it easy to edit in any text editor or spreadsheet software. " -"This makes it a common choice for game localization.\n" -"[b]Example CSV file:[/b]\n" -"[codeblock]\n" -"keys,en,es,ja\n" -"GREET,\"Hello, friend!\",\"Hola, amigo!\",こんにちは\n" -"ASK,How are you?,Cómo está?,元気ですか\n" -"BYE,Goodbye,Adiós,さようなら\n" -"QUOTE,\"\"\"Hello\"\" said the man.\",\"\"\"Hola\"\" dijo el hombre.\",「こん" -"にちは」男は言いました\n" -"[/codeblock]" -msgstr "" -"逗號分隔值是一種純文字表格儲存格式。此格式的簡單性使其可以輕鬆地在任何文字編輯" -"器或電子表格軟體中進行編輯。這使其成為遊戲本地化的常見選擇。\n" -"[b]範例 CSV 檔案:[/b]\n" -"[codeblock]\n" -"keys,en,es,ja\n" -"GREET,\"Hello, friend!\",\"Hola, amigo!\",こんにちは\n" -"ASK,How are you?,Cómo está?,元気ですか\n" -"BYE,Goodbye,Adiós,さようなら\n" -"QUOTE,\"\"\"Hello\"\" said the man.\",\"\"\"Hola\"\" dijo el hombre.\",「こん" -"にちは」男は言いました\n" -"[/codeblock]" - msgid "Importing translations" msgstr "匯入翻譯" @@ -96299,27 +91802,6 @@ msgstr "" "控制立方體貼圖紋理的內部佈局方式。使用高解析度立方體貼圖時,[b]2×3[/b] 和 " "[b]3×2[/b]與[b]1×6[/b] 和[b]6×1[/b] 相比,較不容易超出硬體紋理大小限制。" -msgid "Imports a MP3 audio file for playback." -msgstr "匯入 MP3 音訊檔案播放。" - -msgid "" -"MP3 is a lossy audio format, with worse audio quality compared to " -"[ResourceImporterOggVorbis] at a given bitrate.\n" -"In most cases, it's recommended to use Ogg Vorbis over MP3. However, if " -"you're using a MP3 sound source with no higher quality source available, then " -"it's recommended to use the MP3 file directly to avoid double lossy " -"compression.\n" -"MP3 requires more CPU to decode than [ResourceImporterWAV]. If you need to " -"play a lot of simultaneous sounds, it's recommended to use WAV for those " -"sounds instead, especially if targeting low-end devices." -msgstr "" -"MP3 是一種有損音訊格式,在給定位元速率下,與 [ResourceImporterOggVorbis] 相" -"比,音訊品質較差。\n" -"在大多數情況下,建議使用 Ogg Vorbis 而不是 MP3。但是,如果您使用的 MP3 音源沒" -"有更高品質的音源,則建議直接使用 MP3 檔案以避免雙重有損壓縮。\n" -"MP3 比 [ResourceImporterWAV] 需要更多的 CPU 來解碼。如果您需要同時播放大量聲" -"音,建議對這些聲音使用 WAV,特別是針對低端裝置。" - msgid "Importing audio samples" msgstr "匯入音訊樣本" @@ -96448,24 +91930,6 @@ msgid "Imports an Ogg Vorbis audio file for playback." msgstr "匯入 Ogg Vorbis 音訊檔案播放。" msgid "" -"Ogg Vorbis is a lossy audio format, with better audio quality compared to " -"[ResourceImporterMP3] at a given bitrate.\n" -"In most cases, it's recommended to use Ogg Vorbis over MP3. However, if " -"you're using a MP3 sound source with no higher quality source available, then " -"it's recommended to use the MP3 file directly to avoid double lossy " -"compression.\n" -"Ogg Vorbis requires more CPU to decode than [ResourceImporterWAV]. If you " -"need to play a lot of simultaneous sounds, it's recommended to use WAV for " -"those sounds instead, especially if targeting low-end devices." -msgstr "" -"Ogg Vorbis 是一種有損音訊格式,在給定位元率下與 [ResourceImporterMP3] 相比具有" -"更好的音訊品質。\n" -"在大多數情況下,建議使用 Ogg Vorbis 而不是 MP3。但是,如果您使用的 MP3 音源沒" -"有更高品質的音源,則建議直接使用 MP3 檔案以避免雙重有損壓縮。\n" -"Ogg Vorbis 比 [ResourceImporterWAV] 需要更多的 CPU 來解碼。如果您需要同時播放" -"大量聲音,建議對這些聲音使用 WAV,特別是針對低端裝置。" - -msgid "" "This method loads audio data from a PackedByteArray buffer into an " "AudioStreamOggVorbis object." msgstr "" @@ -96961,18 +92425,6 @@ msgstr "" "上也是如此。" msgid "" -"The compression mode to use on import.\n" -"[b]Disabled:[/b] Imports audio data without any compression. This results in " -"the highest possible quality.\n" -"[b]RAM (Ima-ADPCM):[/b] Performs fast lossy compression on import. Low CPU " -"cost, but quality is noticeably decreased compared to Ogg Vorbis or even MP3." -msgstr "" -"匯入時所使用的壓縮模式。\n" -"[b]停用:[/b] 匯入不進行任何壓縮的音訊資料。這會帶來盡可能高的品質。\n" -"[b]RAM (Ima-ADPCM):[/b] 在匯入時執行快速有損壓縮。 CPU 成本低,但與 Ogg " -"Vorbis 甚至 MP3 相比,品質明顯下降。" - -msgid "" "The begin loop point to use when [member edit/loop_mode] is [b]Forward[/b], " "[b]Ping-Pong[/b] or [b]Backward[/b]. This is set in seconds after the " "beginning of the audio file." @@ -97150,47 +92602,6 @@ msgstr "" "Resource.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.\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] 中載入資源,並將結果快取以供進一步存取。\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] 供更高級的情況使用。\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 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 " @@ -97523,9 +92934,6 @@ msgid "" "and basic formatting." msgstr "用於顯示文字的控制項,文字中能夠包含不同的字形樣式、圖片以及基礎格式。" -msgid "GUI Rich Text/BBcode Demo" -msgstr "GUI 富文字/BBcode 演示" - msgid "" "Adds an image's opening and closing tags to the tag stack, optionally " "providing a [param width] and [param height] to resize the image, a [param " @@ -97816,16 +93224,6 @@ msgid "" "features." msgstr "語言程式碼,用於文字塑形演算法,如果留空則使用目前區域設定。" -msgid "" -"Removes a paragraph of content from the label. Returns [code]true[/code] if " -"the paragraph exists.\n" -"The [param paragraph] argument is the index of the paragraph to remove, it " -"can take values in the interval [code][0, get_paragraph_count() - 1][/code]." -msgstr "" -"從標籤中移除一段內容。如果該段落存在,則返回 [code]true[/code]。\n" -"[param paragraph] 參數是要移除的段落的索引,它可以在 [code][0, " -"get_paragraph_count() - 1][/code] 區間內取值。" - msgid "Scrolls the window's top line to match [param line]." msgstr "滾動視窗,讓第一行與 [param line] 配對。" @@ -98180,19 +93578,6 @@ msgid "Instancing Demo" msgstr "產生實體演示" msgid "" -"Allows you to read and safely modify the simulation state for the object. Use " -"this instead of [method Node._physics_process] if you need to directly change " -"the body's [code]position[/code] or other physics properties. By default, it " -"works in addition to the usual physics behavior, but [member " -"custom_integrator] allows you to disable the default behavior and write " -"custom force integration for a body." -msgstr "" -"允許你讀取並安全地修改物件的類比狀態。如果你需要直接改變物體的 " -"[code]position[/code] 或其他物理屬性,請使用它代替 [method Node." -"_physics_process]。預設情況下,它是在通常的物理行為之外工作的,但是 [member " -"custom_integrator] 允許你禁用預設行為並為一個物體編寫自訂的合力。" - -msgid "" "Applies a rotational force without affecting position. A force is time " "dependent and meant to be applied every physics update.\n" "[b]Note:[/b] [member inertia] is required for this to work. To have [member " @@ -98337,14 +93722,6 @@ msgstr "" "少。可以使用光線投射和形狀投射方法。有關詳細資訊,請參閱 [enum CCDMode]。" msgid "" -"If [code]true[/code], internal force integration is disabled for this body. " -"Aside from collision response, the body will only move as determined by the " -"[method _integrate_forces] function." -msgstr "" -"如果為 [code]true[/code],則禁用該物體的內力積分。除了碰撞回應,物體只會按照 " -"[method _integrate_forces] 函式確定的方式移動。" - -msgid "" "If [code]true[/code], the body is frozen. Gravity and forces are not applied " "anymore.\n" "See [member freeze_mode] to set the body's behavior when frozen.\n" @@ -100521,13 +95898,6 @@ msgstr "" "數,即形狀可以在不觸發碰撞的情況下移動多遠。" msgid "" -"The fraction from the [ShapeCast2D]'s origin to its [member target_position] " -"(between 0 and 1) of how far the shape must move to trigger a collision." -msgstr "" -"從 [ShapeCast2D] 的原點到其 [member target_position](介於 0 和 1 之間)的分" -"數,即形狀必須移動多遠才能觸發碰撞。" - -msgid "" "Returns the collided [Object] of one of the multiple collisions at [param " "index], or [code]null[/code] if no object is intersecting the shape (i.e. " "[method is_colliding] returns [code]false[/code])." @@ -100660,13 +96030,6 @@ msgstr "" "數,即形狀可以在不觸發碰撞的情況下移動多遠。" msgid "" -"The fraction from the [ShapeCast3D]'s origin to its [member target_position] " -"(between 0 and 1) of how far the shape must move to trigger a collision." -msgstr "" -"從 [ShapeCast3D] 的原點到其 [member target_position](介於 0 和 1 之間)的分" -"數,即形狀必須移動多遠才能觸發碰撞。" - -msgid "" "Removes a collision exception so the shape does report collisions with the " "specified [CollisionObject3D] node." msgstr "移除碰撞例外,讓該形狀彙報與指定 [CollisionObject3D] 節點的碰撞。" @@ -101000,14 +96363,6 @@ msgstr "返回骨架中骨骼的數量。" msgid "" "Returns the overall transform of the specified bone, with respect to the " -"skeleton. Being relative to the skeleton frame, this is not the actual " -"\"global\" transform of the bone." -msgstr "" -"返回指定骨骼的整體變換,相對於骨架。由於是相對於骨架的,這不是該骨骼的實際“全" -"局”變換。" - -msgid "" -"Returns the overall transform of the specified bone, with respect to the " "skeleton, but without any global pose overrides. Being relative to the " "skeleton frame, this is not the actual \"global\" transform of the bone." msgstr "" @@ -101032,9 +96387,6 @@ msgstr "" "返回 [param bone_idx] 處的骨骼的父級骨骼索引。如果為 -1,則該骨骼沒有父級。\n" "[b]注意:[/b]返回的父骨骼索引總是小於 [param bone_idx]。" -msgid "Returns the pose transform of the specified bone." -msgstr "返回指定骨骼的姿勢變換。" - msgid "Returns the rest transform for a bone [param bone_idx]." msgstr "返回骨骼 [param bone_idx] 的放鬆變換。" @@ -101064,32 +96416,6 @@ msgstr "返回位於 [param bone_idx] 的骨骼是否啟用了骨骼姿勢。" msgid "Returns all bones in the skeleton to their rest poses." msgstr "將骨架中的所有骨骼都恢復到放鬆姿勢。" -msgid "" -"Adds a collision exception to the physical bone.\n" -"Works just like the [RigidBody3D] node." -msgstr "" -"向物理骨骼新增一個碰撞例外。\n" -"就像 [RigidBody3D] 節點一樣工作。" - -msgid "" -"Removes a collision exception to the physical bone.\n" -"Works just like the [RigidBody3D] node." -msgstr "" -"移除物理骨骼的一個碰撞例外。\n" -"就像 [RigidBody3D] 節點一樣工作。" - -msgid "" -"Tells the [PhysicalBone3D] nodes in the Skeleton to start simulating and " -"reacting to the physics world.\n" -"Optionally, a list of bone names can be passed-in, allowing only the passed-" -"in bones to be simulated." -msgstr "" -"讓 Skeleton 中的 [PhysicalBone3D] 節點開始模擬類比,對物理世界做出反應。\n" -"可以傳入骨骼名稱列表,只對傳入的骨骼進行模擬模擬。" - -msgid "Tells the [PhysicalBone3D] nodes in the Skeleton to stop simulating." -msgstr "讓 Skeleton 中的 [PhysicalBone3D] 節點停止模擬模擬。" - msgid "Binds the given Skin to the Skeleton." msgstr "將給定的 Skin 綁定到 Skeleton。" @@ -101195,18 +96521,6 @@ msgstr "" "clear_bones_global_pose_override] 來移除所有骨骼上的現有覆蓋。" msgid "" -"Interpolation value for how much the IK results are applied to the current " -"skeleton bone chain. A value of [code]1.0[/code] will overwrite all skeleton " -"bone transforms completely while a value of [code]0.0[/code] will visually " -"disable the SkeletonIK. A value at or below [code]0.01[/code] also calls " -"[method Skeleton3D.clear_bones_global_pose_override]." -msgstr "" -"IK 效果被套用於目前骨架骨骼鏈的程度的插值。[code]1.0[/code] 的值將完全覆蓋所有" -"骨架骨骼變換,而 [code]0.0[/code] 的值將在視覺上禁用 SkeletonIK。等於或低於 " -"[code]0.01[/code] 的值也會呼叫 [method Skeleton3D." -"clear_bones_global_pose_override]。" - -msgid "" "Secondary target position (first is [member target] property or [member " "target_node]) for the IK chain. Use magnet position (pole target) to control " "the bending of the IK chain. Only works if the bone chain has more than 2 " @@ -102531,18 +97845,6 @@ msgstr "" msgid "A deformable 3D physics mesh." msgstr "可形變的 3D 物理網格。" -msgid "" -"A deformable 3D physics mesh. Used to create elastic or deformable objects " -"such as cloth, rubber, or other flexible materials.\n" -"[b]Note:[/b] There are many known bugs in [SoftBody3D]. Therefore, it's not " -"recommended to use them for things that can affect gameplay (such as " -"trampolines)." -msgstr "" -"可形變的 3D 物理網格。用於建立彈性或可形變的物件,例如布料、橡膠或其他柔性材" -"質。\n" -"[b]注意:[/b][SoftBody3D] 中有許多已知的問題。因此,不建議用於可能影響遊戲玩法" -"的東西上(例如蹦床)。" - msgid "SoftBody" msgstr "SoftBody" @@ -103971,30 +99273,6 @@ msgstr "" "序列。" msgid "" -"Performs a case-sensitive comparison to another string. Returns [code]-1[/" -"code] if less than, [code]1[/code] if greater than, or [code]0[/code] if " -"equal. \"Less than\" and \"greater than\" are determined by the [url=https://" -"en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] of " -"each string, which roughly matches the alphabetical order.\n" -"With different string lengths, returns [code]1[/code] if this string is " -"longer than the [param to] string, or [code]-1[/code] if shorter. Note that " -"the length of empty strings is [i]always[/i] [code]0[/code].\n" -"To get a [bool] result from a string comparison, use the [code]==[/code] " -"operator instead. See also [method nocasecmp_to], [method naturalcasecmp_to], " -"and [method naturalnocasecmp_to]." -msgstr "" -"與另一個字串進行比較,區分大小寫。小於時返回 [code]-1[/code]、大於時返回 " -"[code]1[/code]、等於時返回 [code]0[/code]。“小於”和“大於”比較的是字串中的 " -"[url=https://zh.wikipedia.org/wiki/" -"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 碼位[/url],大致與字母表順" -"序一致。\n" -"如果字串長度不同,這個字串比 [param to] 字串長時返回 [code]1[/code],短時返回 " -"[code]-1[/code]。請注意空字串的長度[i]始終[/i]為 [code]0[/code]。\n" -"如果想在比較字串時獲得 [bool] 返回值,請改用 [code]==[/code] 運算子。另見 " -"[method nocasecmp_to]、[method naturalcasecmp_to] 和 [method " -"naturalnocasecmp_to]。" - -msgid "" "Returns a single Unicode character from the decimal [param char]. You may use " "[url=https://unicodelookup.com/]unicodelookup.com[/url] or [url=https://www." "unicode.org/charts/]unicode.org[/url] as points of reference.\n" @@ -104142,67 +99420,6 @@ msgstr "" "尾。" msgid "" -"Formats the string by replacing all occurrences of [param placeholder] with " -"the elements of [param values].\n" -"[param values] can be a [Dictionary] or an [Array]. Any underscores in [param " -"placeholder] will be replaced with the corresponding keys in advance. Array " -"elements use their index as keys.\n" -"[codeblock]\n" -"# Prints \"Waiting for Godot is a play by Samuel Beckett, and Godot Engine is " -"named after it.\"\n" -"var use_array_values = \"Waiting for {0} is a play by {1}, and {0} Engine is " -"named after it.\"\n" -"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n" -"\n" -"# Prints \"User 42 is Godot.\"\n" -"print(\"User {id} is {name}.\".format({\"id\": 42, \"name\": \"Godot\"}))\n" -"[/codeblock]\n" -"Some additional handling is performed when [param values] is an [Array]. If " -"[param placeholder] does not contain an underscore, the elements of the " -"[param values] array will be used to replace one occurrence of the " -"placeholder in order; If an element of [param values] is another 2-element " -"array, it'll be interpreted as a key-value pair.\n" -"[codeblock]\n" -"# Prints \"User 42 is Godot.\"\n" -"print(\"User {} is {}.\".format([42, \"Godot\"], \"{}\"))\n" -"print(\"User {id} is {name}.\".format([[\"id\", 42], [\"name\", " -"\"Godot\"]]))\n" -"[/codeblock]\n" -"See also the [url=$DOCS_URL/tutorials/scripting/gdscript/" -"gdscript_format_string.html]GDScript format string[/url] tutorial.\n" -"[b]Note:[/b] In C#, it's recommended to [url=https://learn.microsoft.com/en-" -"us/dotnet/csharp/language-reference/tokens/interpolated]interpolate strings " -"with \"$\"[/url], instead." -msgstr "" -"通過將所有出現的 [param placeholder] 替換為 [param values] 的元素來格式化字元" -"串。\n" -"[param values] 可以是 [Dictionary] 或 [Array]。[param placeholder] 中的任何下" -"劃線將被預先被替換為對應的鍵。陣列元素使用它們的索引作為鍵。\n" -"[codeblock]\n" -"# 輸出:Waiting for Godot 是 Samuel Beckett 的戲劇,Godot 引擎由此得名。\n" -"var use_array_values = \"Waiting for {0} 是 {1} 的戲劇,{0} 引擎由此得名。\"\n" -"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n" -"\n" -"# 輸出:第 42 號使用者是 Godot。\n" -"print(\"第 {id} 號使用者是 {name}。\".format({\"id\": 42, \"name\": " -"\"Godot\"}))\n" -"[/codeblock]\n" -"當 [param values] 是 [Array] 時還會執行一些額外的處理。 如果 [param " -"placeholder] 不包含底線,則 [param values] 陣列的元素將用於按順序替換出現的預" -"留位置;如果 [param values] 的元素是另一個 2 元素陣列,則它將被解釋為鍵值" -"對。\n" -"[codeblock]\n" -"# 輸出:第 42 號使用者是 Godot。\n" -"print(\"第 {} 號使用者是 {}。\".format([42, \"Godot\"], \"{}\"))\n" -"print(\"第 {id} 號使用者是 {name}。\".format([[\"id\", 42], [\"name\", " -"\"Godot\"]]))\n" -"[/codeblock]\n" -"另請參閱 [url=$DOCS_URL/tutorials/scripting/gdscript/gdscript_format_string." -"html]GDScript 格式化字串[/url]教學。\n" -"[b]注意:[/b]在 C# 中推薦改為[url=https://learn.microsoft.com/en-us/dotnet/" -"csharp/language-reference/tokens/interpolated]使用“$”插入字串[/url]。" - -msgid "" "If the string is a valid file path, returns the base directory name.\n" "[codeblock]\n" "var dir_path = \"/path/to/file.txt\".get_base_dir() # dir_path is \"/path/" @@ -104715,97 +99932,6 @@ msgstr "" "[String]。" msgid "" -"Performs a [b]case-sensitive[/b], [i]natural order[/i] comparison to another " -"string. Returns [code]-1[/code] if less than, [code]1[/code] if greater than, " -"or [code]0[/code] if equal. \"Less than\" or \"greater than\" are determined " -"by the [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode " -"code points[/url] of each string, which roughly matches the alphabetical " -"order.\n" -"When used for sorting, natural order comparison orders sequences of numbers " -"by the combined value of each digit as is often expected, instead of the " -"single digit's value. A sorted sequence of numbered strings will be [code]" -"[\"1\", \"2\", \"3\", ...][/code], not [code][\"1\", \"10\", \"2\", " -"\"3\", ...][/code].\n" -"With different string lengths, returns [code]1[/code] if this string is " -"longer than the [param to] string, or [code]-1[/code] if shorter. Note that " -"the length of empty strings is [i]always[/i] [code]0[/code].\n" -"To get a [bool] result from a string comparison, use the [code]==[/code] " -"operator instead. See also [method naturalnocasecmp_to], [method " -"nocasecmp_to], and [method casecmp_to]." -msgstr "" -"與另一個字串進行[b]不區分大小寫[/b]的[i]自然順序[/i]比較。小於時返回 " -"[code]-1[/code]、大於時返回 [code]1[/code]、等於時返回 [code]0[/code]。“小" -"於”和“大於”比較的是字串中的 [url=https://zh.wikipedia.org/wiki/" -"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 碼位[/url],大致與字母表順" -"序一致。內部實作時,會將小寫字元轉換為大寫後進行比較。\n" -"使用自然順序進行排序時,會和常見預期一樣將連續的數位進行組合,而不是一個個數字" -"進行比較。排序後的數列為 [code][\"1\", \"2\", \"3\", ...][/code] 而不是 [code]" -"[\"1\", \"10\", \"2\", \"3\", ...][/code]。\n" -"如果字串長度不同,這個字串比 [param to] 字串長時返回 [code]1[/code],短時返回 " -"[code]-1[/code]。請注意空字串的長度[i]始終[/i]為 [code]0[/code]。\n" -"如果想在比較字串時獲得 [bool] 返回值,請改用 [code]==[/code] 運算子。另見 " -"[method naturalnocasecmp_to]、[method nocasecmp_to] 和 [method casecmp_to]。" - -msgid "" -"Performs a [b]case-insensitive[/b], [i]natural order[/i] comparison to " -"another string. Returns [code]-1[/code] if less than, [code]1[/code] if " -"greater than, or [code]0[/code] if equal. \"Less than\" or \"greater than\" " -"are determined by the [url=https://en.wikipedia.org/wiki/" -"List_of_Unicode_characters]Unicode code points[/url] of each string, which " -"roughly matches the alphabetical order. Internally, lowercase characters are " -"converted to uppercase for the comparison.\n" -"When used for sorting, natural order comparison orders sequences of numbers " -"by the combined value of each digit as is often expected, instead of the " -"single digit's value. A sorted sequence of numbered strings will be [code]" -"[\"1\", \"2\", \"3\", ...][/code], not [code][\"1\", \"10\", \"2\", " -"\"3\", ...][/code].\n" -"With different string lengths, returns [code]1[/code] if this string is " -"longer than the [param to] string, or [code]-1[/code] if shorter. Note that " -"the length of empty strings is [i]always[/i] [code]0[/code].\n" -"To get a [bool] result from a string comparison, use the [code]==[/code] " -"operator instead. See also [method naturalcasecmp_to], [method nocasecmp_to], " -"and [method casecmp_to]." -msgstr "" -"與另一個字串進行[b]不區分大小寫[/b]的[i]自然順序[/i]比較。小於時返回 " -"[code]-1[/code]、大於時返回 [code]1[/code]、等於時返回 [code]0[/code]。“小" -"於”和“大於”比較的是字串中的 [url=https://zh.wikipedia.org/wiki/" -"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 碼位[/url],大致與字母表順" -"序一致。內部實作時,會將小寫字元轉換為大寫後進行比較。\n" -"使用自然順序進行排序時,會和常見預期一樣將連續的數位進行組合,而不是一個個數字" -"進行比較。排序後的數列為 [code][\"1\", \"2\", \"3\", ...][/code] 而不是 [code]" -"[\"1\", \"10\", \"2\", \"3\", ...][/code]。\n" -"如果字串長度不同,這個字串比 [param to] 字串長時返回 [code]1[/code],短時返回 " -"[code]-1[/code]。請注意空字串的長度[i]始終[/i]為 [code]0[/code]。\n" -"如果想在比較字串時獲得 [bool] 返回值,請改用 [code]==[/code] 運算子。另見 " -"[method naturalcasecmp_to]、[method nocasecmp_to] 和 [method casecmp_to]。" - -msgid "" -"Performs a [b]case-insensitive[/b] comparison to another string. Returns " -"[code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/" -"code] if equal. \"Less than\" or \"greater than\" are determined by the " -"[url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code " -"points[/url] of each string, which roughly matches the alphabetical order. " -"Internally, lowercase characters are converted to uppercase for the " -"comparison.\n" -"With different string lengths, returns [code]1[/code] if this string is " -"longer than the [param to] string, or [code]-1[/code] if shorter. Note that " -"the length of empty strings is [i]always[/i] [code]0[/code].\n" -"To get a [bool] result from a string comparison, use the [code]==[/code] " -"operator instead. See also [method casecmp_to], [method naturalcasecmp_to], " -"and [method naturalnocasecmp_to]." -msgstr "" -"與另一個字串進行[b]不區分大小寫[/b]的比較。小於時返回 [code]-1[/code]、大於時" -"返回 [code]1[/code]、等於時返回 [code]0[/code]。“小於”和“大於”比較的是字元串中" -"的 [url=https://zh.wikipedia.org/wiki/" -"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 碼位[/url],大致與字母表順" -"序一致。內部實作時,會將小寫字元轉換為大寫後進行比較。\n" -"如果字串長度不同,這個字串比 [param to] 字串長時返回 [code]1[/code],短時返回 " -"[code]-1[/code]。請注意空字串的長度[i]始終[/i]為 [code]0[/code]。\n" -"如果想在比較字串時獲得 [bool] 返回值,請改用 [code]==[/code] 運算子。另見 " -"[method casecmp_to]、[method naturalcasecmp_to] 和 [method " -"naturalnocasecmp_to]。" - -msgid "" "Converts a [float] to a string representation of a decimal number, with the " "number of decimal places specified in [param decimals].\n" "If [param decimals] is [code]-1[/code] as by default, the string " @@ -104922,9 +100048,6 @@ msgstr "" "將該字串中出現的所有 [param what] 都替換為給定的 [param forwhat],[b]大小寫不" "敏感[/b]。" -msgid "Returns the copy of this string in reverse order." -msgstr "返回給定頂點的顏色。" - msgid "" "Returns the index of the [b]last[/b] occurrence of [param what] in this " "string, or [code]-1[/code] if there are none. The search's start can be " @@ -105546,6 +100669,67 @@ msgstr "" "[code]StringName(\"example\")[/code] 與 [code]&\"example\"[/code] 等價。" msgid "" +"Formats the string by replacing all occurrences of [param placeholder] with " +"the elements of [param values].\n" +"[param values] can be a [Dictionary] or an [Array]. Any underscores in [param " +"placeholder] will be replaced with the corresponding keys in advance. Array " +"elements use their index as keys.\n" +"[codeblock]\n" +"# Prints \"Waiting for Godot is a play by Samuel Beckett, and Godot Engine is " +"named after it.\"\n" +"var use_array_values = \"Waiting for {0} is a play by {1}, and {0} Engine is " +"named after it.\"\n" +"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n" +"\n" +"# Prints \"User 42 is Godot.\"\n" +"print(\"User {id} is {name}.\".format({\"id\": 42, \"name\": \"Godot\"}))\n" +"[/codeblock]\n" +"Some additional handling is performed when [param values] is an [Array]. If " +"[param placeholder] does not contain an underscore, the elements of the " +"[param values] array will be used to replace one occurrence of the " +"placeholder in order; If an element of [param values] is another 2-element " +"array, it'll be interpreted as a key-value pair.\n" +"[codeblock]\n" +"# Prints \"User 42 is Godot.\"\n" +"print(\"User {} is {}.\".format([42, \"Godot\"], \"{}\"))\n" +"print(\"User {id} is {name}.\".format([[\"id\", 42], [\"name\", " +"\"Godot\"]]))\n" +"[/codeblock]\n" +"See also the [url=$DOCS_URL/tutorials/scripting/gdscript/" +"gdscript_format_string.html]GDScript format string[/url] tutorial.\n" +"[b]Note:[/b] In C#, it's recommended to [url=https://learn.microsoft.com/en-" +"us/dotnet/csharp/language-reference/tokens/interpolated]interpolate strings " +"with \"$\"[/url], instead." +msgstr "" +"通過將所有出現的 [param placeholder] 替換為 [param values] 的元素來格式化字元" +"串。\n" +"[param values] 可以是 [Dictionary] 或 [Array]。[param placeholder] 中的任何下" +"劃線將被預先被替換為對應的鍵。陣列元素使用它們的索引作為鍵。\n" +"[codeblock]\n" +"# 輸出:Waiting for Godot 是 Samuel Beckett 的戲劇,Godot 引擎由此得名。\n" +"var use_array_values = \"Waiting for {0} 是 {1} 的戲劇,{0} 引擎由此得名。\"\n" +"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n" +"\n" +"# 輸出:第 42 號使用者是 Godot。\n" +"print(\"第 {id} 號使用者是 {name}。\".format({\"id\": 42, \"name\": " +"\"Godot\"}))\n" +"[/codeblock]\n" +"當 [param values] 是 [Array] 時還會執行一些額外的處理。 如果 [param " +"placeholder] 不包含底線,則 [param values] 陣列的元素將用於按順序替換出現的預" +"留位置;如果 [param values] 的元素是另一個 2 元素陣列,則它將被解釋為鍵值" +"對。\n" +"[codeblock]\n" +"# 輸出:第 42 號使用者是 Godot。\n" +"print(\"第 {} 號使用者是 {}。\".format([42, \"Godot\"], \"{}\"))\n" +"print(\"第 {id} 號使用者是 {name}。\".format([[\"id\", 42], [\"name\", " +"\"Godot\"]]))\n" +"[/codeblock]\n" +"另請參閱 [url=$DOCS_URL/tutorials/scripting/gdscript/gdscript_format_string." +"html]GDScript 格式化字串[/url]教學。\n" +"[b]注意:[/b]在 C# 中推薦改為[url=https://learn.microsoft.com/en-us/dotnet/" +"csharp/language-reference/tokens/interpolated]使用“$”插入字串[/url]。" + +msgid "" "Splits the string using a [param delimiter] and returns the substring at " "index [param slice]. Returns an empty string if the [param slice] does not " "exist.\n" @@ -105925,42 +101109,6 @@ msgstr "" msgid "A customizable [StyleBox] that doesn't use a texture." msgstr "不使用紋理的自訂 [StyleBox]。" -msgid "" -"By configuring various properties of this style box, you can achieve many " -"common looks without the need of a texture. This includes optionally rounded " -"borders, antialiasing, shadows, and skew.\n" -"Setting corner radius to high values is allowed. As soon as corners overlap, " -"the stylebox will switch to a relative system.\n" -"[b]Example:[/b]\n" -"[codeblock]\n" -"height = 30\n" -"corner_radius_top_left = 50\n" -"corner_radius_bottom_left = 100\n" -"[/codeblock]\n" -"The relative system now would take the 1:2 ratio of the two left corners to " -"calculate the actual corner width. Both corners added will [b]never[/b] be " -"more than the height. Result:\n" -"[codeblock]\n" -"corner_radius_top_left: 10\n" -"corner_radius_bottom_left: 20\n" -"[/codeblock]" -msgstr "" -"通過配置這個樣式盒的各種屬性,你可以不使用紋理實作許多常見外觀,包括可選的圓角" -"邊框、抗鋸齒、陰影、偏斜等。\n" -"允許將圓角半徑設定為較高的值。兩角重疊時,樣式盒將切換到相對系統。\n" -"[b]範例:[/b]\n" -"[codeblock]\n" -"height = 30\n" -"corner_radius_top_left = 50\n" -"corner_radius_bottom_left = 100\n" -"[/codeblock]\n" -"相對系統現在將採用兩個左角的 1:2 比率來計算實際角寬度。新增的兩個角[b]永遠[/b]" -"不會超過高度。結果:\n" -"[codeblock]\n" -"corner_radius_top_left: 10\n" -"corner_radius_bottom_left: 20\n" -"[/codeblock]" - msgid "Returns the specified [enum Side]'s border width." msgstr "返回指定邊 [enum Side] 的邊框寬度。" @@ -106380,18 +101528,12 @@ msgstr "" msgid "Using Viewports" msgstr "使用視口" -msgid "3D in 2D Demo" -msgstr "2D 中的 3D 演示" - msgid "Screen Capture Demo" msgstr "螢幕捕捉演示" msgid "Dynamic Split Screen Demo" msgstr "動態分屏演示" -msgid "3D Viewport Scaling Demo" -msgstr "3D Viewport 縮放演示" - msgid "" "The clear mode when the sub-viewport is used as a render target.\n" "[b]Note:[/b] This property is intended for 2D usage." @@ -106616,14 +101758,6 @@ msgstr "" "[b]修訂說明:[/b][param flags] 的記錄可能值,它在 4.0 中發生了變化。可能是 " "[enum Mesh.ArrayFormat] 的一些組合。" -msgid "" -"Commits the data to the same format used by [method ArrayMesh." -"add_surface_from_arrays]. This way you can further process the mesh data " -"using the [ArrayMesh] API." -msgstr "" -"將資料提交給[method ArrayMesh.add_surface_from_arrays]使用的相同格式。這樣你就" -"可以使用[ArrayMesh]的API介面進一步處理網格資料。" - msgid "Creates a vertex array from an existing [Mesh]." msgstr "從現有的網格 [Mesh] 建立一個頂點陣列。" @@ -107669,27 +102803,6 @@ msgid "A multiline text editor." msgstr "多行文字編輯器。" msgid "" -"A multiline text editor. It also has limited facilities for editing code, " -"such as syntax highlighting support. For more advanced facilities for editing " -"code, see [CodeEdit].\n" -"[b]Note:[/b] Most viewport, caret and edit methods contain a " -"[code]caret_index[/code] argument for [member caret_multiple] support. The " -"argument should be one of the following: [code]-1[/code] for all carets, " -"[code]0[/code] for the main caret, or greater than [code]0[/code] for " -"secondary carets.\n" -"[b]Note:[/b] When holding down [kbd]Alt[/kbd], the vertical scroll wheel will " -"scroll 5 times as fast as it would normally do. This also works in the Godot " -"script editor." -msgstr "" -"多行文字編輯器。它還有少量用於編輯程式碼的功能,例如語法高亮支援。更多針對編輯" -"程式碼的高階功能見 [CodeEdit]。\n" -"[b]注意:[/b]大多數視口、游標和編輯方法都包含 [code]caret_index[/code] 參數以" -"支援 [member caret_multiple]。該參數應為以下之一:[code]-1[/code] 用於所有光" -"標,[code]0[/code] 用於主游標,大於 [code]0[/code] 用於輔助游標。\n" -"[b]注意:[/b]當按住 [kbd]Alt[/kbd] 時,垂直滾輪的滾動速度將是正常速度的 5 倍。" -"這也適用於 Godot 腳本編輯器。" - -msgid "" "Override this method to define what happens when the user presses the " "backspace key." msgstr "覆蓋此方法可以定義使用者按下倒退鍵時應該發生什麼。" @@ -107731,13 +102844,6 @@ msgstr "" "code]。" msgid "" -"Adds an additional caret above or below every caret. If [param below] is true " -"the new caret will be added below and above otherwise." -msgstr "" -"在每個游標上方或下方新增一個額外的游標。如果 [param below] 為 true,則會在下方" -"新增新游標,否則為上方。" - -msgid "" "Register a new gutter to this [TextEdit]. Use [param at] to have a specific " "gutter order. A value of [code]-1[/code] appends the gutter to the right." msgstr "" @@ -107751,13 +102857,6 @@ msgstr "" "選中目前所選內容下一次出現的位置並新增文字游標。如果沒有活動的選中內容,則選中" "目前游標所處的單詞。" -msgid "" -"Reposition the carets affected by the edit. This assumes edits are applied in " -"edit order, see [method get_caret_index_edit_order]." -msgstr "" -"重新定位受編輯影響的文字游標。這個操作假定編輯是按照編輯順序套用的,見 " -"[method get_caret_index_edit_order]。" - msgid "Adjust the viewport so the caret is visible." msgstr "調整視口,讓游標可見。" @@ -108084,18 +103183,12 @@ msgstr "" msgid "Returns the original start column of the selection." msgstr "返回選區的原始起始列。" -msgid "Returns the selection begin line." -msgstr "返回選擇開始行。" - msgid "Returns the original start line of the selection." msgstr "返回選區的原始起始行。" msgid "Returns the current selection mode." msgstr "返回目前的選區模式。" -msgid "Returns the selection end line." -msgstr "返回選擇結束行。" - msgid "Returns the [TextEdit]'s' tab size." msgstr "返回該 [TextEdit] 的定位字元大小。" @@ -108141,11 +103234,6 @@ msgstr "在游標位置插入指定的文字。" msgid "Returns [code]true[/code] if the caret is visible on the screen." msgstr "如果游標在螢幕上可見,則返回 [code]true[/code]。" -msgid "" -"Returns [code]true[/code] if the user is dragging their mouse for scrolling " -"or selecting." -msgstr "如果使用者拖動滑鼠進行滾動或選擇,則返回 [code]true[/code]。" - msgid "Returns whether the gutter is clickable." msgstr "返回該邊欄是否可點擊。" @@ -108177,16 +103265,6 @@ msgid "" msgstr "" "合併從 [param from_line] 到 [param to_line] 的邊欄。只會複製可覆蓋的邊欄。" -msgid "" -"Merges any overlapping carets. Will favor the newest caret, or the caret with " -"a selection.\n" -"[b]Note:[/b] This is not called when a caret changes position but after " -"certain actions, so it is possible to get into a state where carets overlap." -msgstr "" -"合併重疊的文字游標。會保留最新的游標,或者存在選中內容的游標。\n" -"[b]注意:[/b]游標改變位置後不會進行呼叫,而是在某些動作之後呼叫,所以進入游標" -"重疊的狀態是可能的。" - msgid "Paste at the current location. Can be overridden with [method _paste]." msgstr "貼上到目前位置。可以用 [method _paste] 覆蓋。" @@ -108210,14 +103288,6 @@ msgid "Removes all additional carets." msgstr "移除所有額外的游標。" msgid "" -"Removes text between the given positions.\n" -"[b]Note:[/b] This does not adjust the caret or selection, which as a result " -"it can end up in an invalid position." -msgstr "" -"移除給定位置之間的文字。\n" -"[b]注意:[/b]文字游標和選區不會進行調整,因此可能最終處於無效位置。" - -msgid "" "Perform a search inside the text. Search flags can be specified in the [enum " "SearchFlags] enum.\n" "In the returned vector, [code]x[/code] is the column, [code]y[/code] is the " @@ -108266,13 +103336,6 @@ msgstr "" "[/codeblocks]" msgid "" -"Perform selection, from line/column to line/column.\n" -"If [member selecting_enabled] is [code]false[/code], no selection will occur." -msgstr "" -"執行選擇,從行/列到行/列。\n" -"如果 [member selecting_enabled] 為 [code]false[/code],則不會發生選擇。" - -msgid "" "Select all the text.\n" "If [member selecting_enabled] is [code]false[/code], no selection will occur." msgstr "" @@ -108296,23 +103359,6 @@ msgstr "" "merge_overlapping_carets]。" msgid "" -"Moves the caret to the specified [param line] index.\n" -"If [param adjust_viewport] is [code]true[/code], the viewport will center at " -"the caret position after the move occurs.\n" -"If [param can_be_hidden] is [code]true[/code], the specified [param line] can " -"be hidden.\n" -"[b]Note:[/b] If supporting multiple carets this will not check for any " -"overlap. See [method merge_overlapping_carets]." -msgstr "" -"將游標移動到指定的 [param line] 索引。\n" -"如果 [param adjust_viewport] 為 [code]true[/code],則視口將在移動發生後以游標" -"位置為中心。\n" -"如果 [param can_be_hidden] 為 [code]true[/code],則可以隱藏指定的 [param " -"line]。\n" -"[b]注意:[/b]如果支援多個游標,則不會檢查任何重疊。見 [method " -"merge_overlapping_carets]。" - -msgid "" "Sets the gutter as clickable. This will change the mouse cursor to a pointing " "hand when hovering over the gutter." msgstr "將邊欄設定為可點擊。當滑鼠在邊欄上懸停時,會將滑鼠游標變為指點的手形。" @@ -108329,9 +103375,6 @@ msgstr "設定該邊欄為可覆寫。見 [method merge_gutters]。" msgid "Set the width of the gutter." msgstr "設定該邊欄的寬度。" -msgid "Sets the text for a specific line." -msgstr "設定特定行的文字。" - msgid "" "Positions the [param wrap_index] of [param line] at the center of the " "viewport." @@ -108410,9 +103453,6 @@ msgstr "" "text_edit_idle_detect_sec] 或者在 [method start_action] 和 [method " "end_action] 之外呼叫可撤銷的操作都會導致動作的終止。" -msgid "Swaps the two lines." -msgstr "交換兩行。" - msgid "Tag the current version as saved." msgstr "將目前版本標記為已保存。" @@ -108515,9 +103555,6 @@ msgstr "[TextEdit] 的字串值。" msgid "Sets the line wrapping mode to use." msgstr "設定要使用的換行模式。" -msgid "Emitted when the caret changes position." -msgstr "游標改變位置時發出。" - msgid "Emitted when a gutter is added." msgstr "新增邊欄時發出。" @@ -108994,35 +104031,10 @@ msgstr "" "新建空的字形快取條目資源。要釋放生成的資源,請使用 [method free_rid] 方法。" msgid "" -"Creates new buffer for complex text layout, with the given [param direction] " -"and [param orientation]. To free the resulting buffer, use [method free_rid] " -"method.\n" -"[b]Note:[/b] Direction is ignored if server does not support [constant " -"FEATURE_BIDI_LAYOUT] feature (supported by [TextServerAdvanced]).\n" -"[b]Note:[/b] Orientation is ignored if server does not support [constant " -"FEATURE_VERTICAL_LAYOUT] feature (supported by [TextServerAdvanced])." -msgstr "" -"使用給定的方向 [param direction] 和朝向 [param orientation] 新建緩衝區,用於複" -"雜排版。要釋放生成的緩衝區,請使用 [method free_rid]方法。\n" -"[b]注意:[/b]如果伺服器不支援 [constant FEATURE_BIDI_LAYOUT] 功能,則會忽略方" -"向([TextServerAdvanced] 支援)。\n" -"[b]注意:[/b]如果伺服器不支援 [constant FEATURE_VERTICAL_LAYOUT] 功能,則會忽" -"略朝向([TextServerAdvanced] 支援)。" - -msgid "" "Draws box displaying character hexadecimal code. Used for replacing missing " "characters." msgstr "繪製顯示字元十六進位碼的框。用於替換缺失的字元。" -msgid "" -"Removes all rendered glyphs information from the cache entry.\n" -"[b]Note:[/b] This function will not remove textures associated with the " -"glyphs, use [method font_remove_texture] to remove them manually." -msgstr "" -"從快取條目中移除所有的算繪字形資訊。\n" -"[b]注意:[/b]該函式不會移除與字形關聯的紋理,請使用 [method " -"font_remove_texture] 手動移除。" - msgid "Removes all font sizes from the cache entry." msgstr "從快取條目中移除所有的字形大小。" @@ -109335,16 +104347,6 @@ msgid "Sets font cache texture image data." msgstr "設定字形的快取紋理圖像資料。" msgid "" -"Sets 2D transform, applied to the font outlines, can be used for slanting, " -"flipping and rotating glyphs.\n" -"For example, to simulate italic typeface by slanting, apply the following " -"transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code]." -msgstr "" -"設定套用於字形輪廓的 2D 變換,可用於傾斜、翻轉和旋轉字形。\n" -"例如,要通過傾斜來類比斜體字形,請套用以下變換 [code]Transform2D(1.0, slant, " -"0.0, 1.0, 0.0, 0.0)[/code]。" - -msgid "" "Sets variation coordinates for the specified font cache entry. See [method " "font_supported_variation_list] for more info." msgstr "" @@ -109466,10 +104468,6 @@ msgstr "" "何作用。" msgid "" -"Converts readable feature, variation, script or language name to OpenType tag." -msgstr "將功能、變體、文字、語言的可讀名稱轉換為 OpenType 標記。" - -msgid "" "Converts [param number] from the numeral systems used in [param language] to " "Western Arabic (0..9)." msgstr "" @@ -109504,11 +104502,6 @@ msgstr "" msgid "Returns text span metadata." msgstr "返回文字區間的中繼資料。" -msgid "" -"Changes text span font, font size and OpenType features, without changing the " -"text." -msgstr "在不更改文字的情況下,更改文字區間的字形、字形大小和 OpenType 功能。" - msgid "Adds text span and font to draw it to the text buffer." msgstr "新增文字區間和字形,將其繪製到文字緩衝中。" @@ -109823,10 +104816,6 @@ msgstr "" "從字串中剝離變音符號。\n" "[b]注意:[/b]得到的字串可能比原來的更長,也可能更短。" -msgid "" -"Converts OpenType tag to readable feature, variation, script or language name." -msgstr "將 OpenType 標籤轉換為可讀的功能、變體、文字或語言的名稱。" - msgid "Font glyphs are rasterized as 1-bit bitmaps." msgstr "字形字形柵格化為 1 位的點陣圖。" @@ -111987,10 +106976,6 @@ msgid "" msgstr "返回自訂資料層的自訂資料值,自訂資料層用索引 [param layer_id] 指定。" msgid "" -"Returns the tile's terrain bit for the given [param peering_bit] direction." -msgstr "返回該圖塊給定 [param peering_bit] 方向的地形位。" - -msgid "" "Returns whether one-way collisions are enabled for the polygon at index " "[param polygon_index] for TileSet physics layer with index [param layer_id]." msgstr "" @@ -112056,9 +107041,6 @@ msgid "" "Sets the occluder for the TileSet occlusion layer with index [param layer_id]." msgstr "設定索引為 [param layer_id] 的 TileSet 遮擋層的遮擋器。" -msgid "Sets the tile's terrain bit for the given [param peering_bit] direction." -msgstr "設定該圖塊給定 [param peering_bit] 方向的地形位。" - msgid "" "If [code]true[/code], the tile will have its texture flipped horizontally." msgstr "如果為 [code]true[/code],則該圖塊的紋理會被水平翻轉。" @@ -112177,74 +107159,6 @@ msgid "Clears cells that do not exist in the tileset." msgstr "清除圖塊集中不存在的儲存格。" msgid "" -"Returns the tile alternative ID of the cell on layer [param layer] at [param " -"coords]. If [param use_proxies] is [code]false[/code], ignores the " -"[TileSet]'s tile proxies, returning the raw alternative identifier. See " -"[method TileSet.map_tile_proxy].\n" -"If [param layer] is negative, the layers are accessed from the last one." -msgstr "" -"返回 [param layer] 層中位於座標 [param coords] 儲存格的圖塊備選 ID。如果 " -"[param use_proxies] 為 [code]false[/code],則會忽略該 [TileSet] 的圖塊代理,返" -"回原始的備選識別字。見 [method TileSet.map_tile_proxy]。" - -msgid "" -"Returns the tile atlas coordinates ID of the cell on layer [param layer] at " -"coordinates [param coords]. If [param use_proxies] is [code]false[/code], " -"ignores the [TileSet]'s tile proxies, returning the raw alternative " -"identifier. See [method TileSet.map_tile_proxy].\n" -"If [param layer] is negative, the layers are accessed from the last one." -msgstr "" -"返回 [param layer] 層中位於座標 [param coords] 儲存格的圖塊合集座標 ID。如果 " -"[param use_proxies] 為 [code]false[/code],則會忽略該 [TileSet] 的圖塊代理,返" -"回原始的備選識別字。見 [method TileSet.map_tile_proxy]。" - -msgid "" -"Returns the tile source ID of the cell on layer [param layer] at coordinates " -"[param coords]. Returns [code]-1[/code] if the cell does not exist.\n" -"If [param use_proxies] is [code]false[/code], ignores the [TileSet]'s tile " -"proxies, returning the raw alternative identifier. See [method TileSet." -"map_tile_proxy].\n" -"If [param layer] is negative, the layers are accessed from the last one." -msgstr "" -"返回 [param layer] 層中位於座標 [param coords] 儲存格的圖塊源 ID。如果該單元格" -"不存在,則返回 [code]-1[/code]。\n" -"如果 [param use_proxies] 為 [code]false[/code],則會忽略該 [TileSet] 的圖塊代" -"理,返回原始的備選識別字。見 [method TileSet.map_tile_proxy]。" - -msgid "" -"Returns the [TileData] object associated with the given cell, or [code]null[/" -"code] if the cell does not exist or is not a [TileSetAtlasSource].\n" -"If [param layer] is negative, the layers are accessed from the last one.\n" -"If [param use_proxies] is [code]false[/code], ignores the [TileSet]'s tile " -"proxies, returning the raw alternative identifier. See [method TileSet." -"map_tile_proxy].\n" -"[codeblock]\n" -"func get_clicked_tile_power():\n" -" var clicked_cell = tile_map.local_to_map(tile_map." -"get_local_mouse_position())\n" -" var data = tile_map.get_cell_tile_data(0, clicked_cell)\n" -" if data:\n" -" return data.get_custom_data(\"power\")\n" -" else:\n" -" return 0\n" -"[/codeblock]" -msgstr "" -"返回與給定儲存格關聯的 [TileData] 對象,如果儲存格不存在或者不是 " -"[TileSetAtlasSource] 則返回 [code]null[/code]。\n" -"如果 [param use_proxies] 為 [code]false[/code],則會忽略 [TileSet] 的圖塊代" -"理,返回原始的備選識別字。見 [method TileSet.map_tile_proxy]。\n" -"[codeblock]\n" -"func get_clicked_tile_power():\n" -" var clicked_cell = tile_map.local_to_map(tile_map." -"get_local_mouse_position())\n" -" var data = tile_map.get_cell_tile_data(0, clicked_cell)\n" -" if data:\n" -" return data.get_custom_data(\"power\")\n" -" else:\n" -" return 0\n" -"[/codeblock]" - -msgid "" "Returns the coordinates of the tile for given physics body RID. Such RID can " "be retrieved from [method KinematicCollision2D.get_collider_rid], when " "colliding with a tile." @@ -113548,27 +108462,6 @@ msgid "Represents the size of the [enum TileAnimationMode] enum." msgstr "代表 [enum CollisionMode] 列舉的大小。" msgid "" -"Represents cell's horizontal flip flag. Should be used directly with " -"[TileMap] to flip placed tiles by altering their alternative IDs.\n" -"[codeblock]\n" -"var alternate_id = $TileMap.get_cell_alternative_tile(0, Vector2i(2, 2))\n" -"if not alternate_id & TileSetAtlasSource.TRANSFORM_FLIP_H:\n" -" # If tile is not already flipped, flip it.\n" -" $TileMap.set_cell(0, Vector2i(2, 2), source_id, atlas_coords, " -"alternate_id | TileSetAtlasSource.TRANSFORM_FLIP_H)\n" -"[/codeblock]" -msgstr "" -"表示儲存格的水平翻轉旗標。應直接與 [TileMap] 一起使用,透過變更其替代 ID 來翻" -"轉放置的圖塊。\n" -"[codeblock]\n" -"var alternate_id = $TileMap.get_cell_alternative_tile(0, Vector2i(2, 2))\n" -"if not alternate_id & TileSetAtlasSource.TRANSFORM_FLIP_H:\n" -" # If tile is not already flipped, flip it.\n" -" $TileMap.set_cell(0, Vector2i(2, 2), source_id, atlas_coords, " -"alternate_id | TileSetAtlasSource.TRANSFORM_FLIP_H)\n" -"[/codeblock]" - -msgid "" "Represents cell's vertical flip flag. See [constant TRANSFORM_FLIP_H] for " "usage." msgstr "表示儲存格的垂直翻轉旗標。用法請參閱 [constant TRANSFORM_FLIP_H]。" @@ -113721,43 +108614,6 @@ msgid "A singleton for working with time data." msgstr "用於處理時間資料的單例。" msgid "" -"The Time singleton allows converting time between various formats and also " -"getting time information from the system.\n" -"This class conforms with as many of the ISO 8601 standards as possible. All " -"dates follow the Proleptic Gregorian calendar. As such, the day before " -"[code]1582-10-15[/code] is [code]1582-10-14[/code], not [code]1582-10-04[/" -"code]. The year before 1 AD (aka 1 BC) is number [code]0[/code], with the " -"year before that (2 BC) being [code]-1[/code], etc.\n" -"Conversion methods assume \"the same timezone\", and do not handle timezone " -"conversions or DST automatically. Leap seconds are also not handled, they " -"must be done manually if desired. Suffixes such as \"Z\" are not handled, you " -"need to strip them away manually.\n" -"When getting time information from the system, the time can either be in the " -"local timezone or UTC depending on the [code]utc[/code] parameter. However, " -"the [method get_unix_time_from_system] method always returns the time in " -"UTC.\n" -"[b]Important:[/b] The [code]_from_system[/code] methods use the system clock " -"that the user can manually set. [b]Never use[/b] this method for precise time " -"calculation since its results are subject to automatic adjustments by the " -"user or the operating system. [b]Always use[/b] [method get_ticks_usec] or " -"[method get_ticks_msec] for precise time calculation instead, since they are " -"guaranteed to be monotonic (i.e. never decrease)." -msgstr "" -"Time 單例可以轉換各種不同格式的時間,也可以從系統獲取時間資訊。\n" -"這個類盡可能多地符合了 ISO 8601 標準。所有日期都遵循“外推格裡曆”。因此 " -"[code]1582-10-15[/code] 的前一天是 [code]1582-10-14[/code],而不是 " -"[code]1582-10-04[/code]。西元 1 年的前一年(即西元前 1 年)是數字 [code]0[/" -"code],再往前的一年(西元前 2 年)是 [code]-1[/code],以此類推。\n" -"轉換方法假設“時區相同”,不會自動處理時區或 DST(夏令時)的轉換。不會對閏秒進行" -"處理,如果需要必須手動處理。“Z”等後綴也沒有處理,你需要進行手動剝除。\n" -"從系統獲取時間資訊時,時間可能是本地時間或 UTC 時間,取決於 [code]utc[/code] " -"參數。不過 [method get_unix_time_from_system] 方法返回的始終是 UTC 時間。\n" -"[b]重要:[/b][code]_from_system[/code] 系列方法使用的是系統始終,使用者可以自" -"行設定。[b]千萬不要[/b]使用該方法進行精確的時間計算,因為計算結果可能受到使用" -"者或作業系統的自動調整的影響。精確時間的計算[b]請始終使用[/b] [method " -"get_ticks_usec] 或 [method get_ticks_msec],可以保證單調性(即不會變小)。" - -msgid "" "Returns the current date as a dictionary of keys: [code]year[/code], " "[code]month[/code], [code]day[/code], and [code]weekday[/code].\n" "The returned values are in the system's local time when [param utc] is " @@ -113952,18 +108808,6 @@ msgstr "" "記的時區與給定的日期時間字串相同。\n" "[b]注意:[/b]時間字串中的小數會被靜默忽略。" -msgid "" -"Returns the current Unix timestamp in seconds based on the system time in " -"UTC. This method is implemented by the operating system and always returns " -"the time in UTC.\n" -"[b]Note:[/b] Unlike other methods that use integer timestamps, this method " -"returns the timestamp as a [float] for sub-second precision." -msgstr "" -"返回目前的 Unix 時間戳記,以秒為單位,基於 UTC 系統時間。本方法由作業系統實" -"作,返回的時間總是 UTC 的。\n" -"[b]注意:[/b]與其他使用整數時間戳記的方法不同,這個方法返回的是 [float] 型別的" -"時間戳記,可以表示比秒更高的精度。" - msgid "The month of January, represented numerically as [code]01[/code]." msgstr "一月份,使用數字 [code]01[/code] 表示。" @@ -115239,18 +110083,6 @@ msgstr "" "專案儲存格所允許的最大圖示寬度。這是在圖示預設大小的基礎上的限制,在 [method " "TreeItem.set_icon_max_width] 所設定的值之前生效。高度會根據圖示的長寬比調整。" -msgid "The inner bottom margin of an item." -msgstr "專案文字輪廓的色調。" - -msgid "The inner left margin of an item." -msgstr "專案文字輪廓的色調。" - -msgid "The inner right margin of an item." -msgstr "圓環的內半徑。" - -msgid "The inner top margin of an item." -msgstr "設定表格的儲存格內邊距。" - msgid "" "The horizontal margin at the start of an item. This is used when folding is " "enabled for the item." @@ -117245,30 +112077,6 @@ msgid "" "the action is committed." msgstr "註冊 [param property],會在提交動作時將其值更改為 [param value]。" -msgid "" -"Register a reference for \"do\" that will be erased if the \"do\" history is " -"lost. This is useful mostly for new nodes created for the \"do\" call. Do not " -"use for resources.\n" -"[codeblock]\n" -"var node = Node2D.new()\n" -"undo_redo.create_action(\"Add node\")\n" -"undo_redo.add_do_method(add_child.bind(node))\n" -"undo_redo.add_do_reference(node)\n" -"undo_redo.add_undo_method(remove_child.bind(node))\n" -"undo_redo.commit_action()\n" -"[/codeblock]" -msgstr "" -"為“do”(執行)註冊引用,丟棄該“do”歷史時會擦除該引用。主要可用於“do”呼叫新建的" -"節點。請勿用於資源。\n" -"[codeblock]\n" -"var node = Node2D.new()\n" -"undo_redo.create_action(\"新增節點\")\n" -"undo_redo.add_do_method(add_child.bind(node))\n" -"undo_redo.add_do_reference(node)\n" -"undo_redo.add_undo_method(remove_child.bind(node))\n" -"undo_redo.commit_action()\n" -"[/codeblock]" - msgid "Register a [Callable] that will be called when the action is undone." msgstr "註冊 [Callable],會在撤銷動作時呼叫。" @@ -117278,30 +112086,6 @@ msgid "" msgstr "註冊 [param property],會在撤銷動作時將其值更改為 [param value]。" msgid "" -"Register a reference for \"undo\" that will be erased if the \"undo\" history " -"is lost. This is useful mostly for nodes removed with the \"do\" call (not " -"the \"undo\" call!).\n" -"[codeblock]\n" -"var node = $Node2D\n" -"undo_redo.create_action(\"Remove node\")\n" -"undo_redo.add_do_method(remove_child.bind(node))\n" -"undo_redo.add_undo_method(add_child.bind(node))\n" -"undo_redo.add_undo_reference(node)\n" -"undo_redo.commit_action()\n" -"[/codeblock]" -msgstr "" -"為“undo”(撤銷)註冊引用,丟棄該“undo”歷史時會擦除該引用。主要可用於“do”呼叫移" -"除的節點(不是“undo”呼叫)。\n" -"[codeblock]\n" -"var node = $Node2D\n" -"undo_redo.create_action(\"移除節點\")\n" -"undo_redo.add_do_method(remove_child.bind(node))\n" -"undo_redo.add_undo_method(add_child.bind(node))\n" -"undo_redo.add_undo_reference(node)\n" -"undo_redo.commit_action()\n" -"[/codeblock]" - -msgid "" "Clear the undo/redo history and associated references.\n" "Passing [code]false[/code] to [param increase_version] will prevent the " "version number from increasing when the history is cleared." @@ -117400,17 +112184,6 @@ msgid "Makes \"do\"/\"undo\" operations stay in separate actions." msgstr "使“do”/“undo”操作保持在單獨的動作中。" msgid "" -"Makes so that the action's \"undo\" operations are from the first action " -"created and the \"do\" operations are from the last subsequent action with " -"the same name." -msgstr "" -"使得動作的“撤銷”操作來自建立的第一個動作,“執行”操作來自最後一個具有相同名稱的" -"後續動作。" - -msgid "Makes subsequent actions with the same name be merged into one." -msgstr "使具有相同名稱的後續動作合併為一個。" - -msgid "" "Universal Plug and Play (UPnP) functions for network device discovery, " "querying and port forwarding." msgstr "通用隨插即用(UPnP)功能,用於網路裝置的發現、查詢及埠對應。" @@ -118038,10 +112811,6 @@ msgstr "" "control_1]、[param control_2]、終點 [param end] 定義。" msgid "" -"Returns a new vector \"bounced off\" from a plane defined by the given normal." -msgstr "返回從平面上“反彈”的向量,該平面由給定的法線定義。" - -msgid "" "Returns a new vector with all components rounded up (towards positive " "infinity)." msgstr "返回一個新向量,所有的分量都是向上四捨五入(正無窮大方向)。" @@ -118055,22 +112824,6 @@ msgstr "" "和 [param max] 之間。" msgid "" -"Returns the 2D analog of the cross product for this vector and [param with].\n" -"This is the signed area of the parallelogram formed by the two vectors. If " -"the second vector is clockwise from the first vector, then the cross product " -"is the positive area. If counter-clockwise, the cross product is the negative " -"area.\n" -"[b]Note:[/b] Cross product is not defined in 2D mathematically. This method " -"embeds the 2D vectors in the XY plane of 3D space and uses their cross " -"product's Z component as the analog." -msgstr "" -"返回該向量和 [param with] 的 2D 類比外積。\n" -"這是由兩個向量所形成的平行四邊形的有符號面積。如果第二個向量是從第一個向量的順" -"時針方向出發的,則外積為正面積。如果是逆時針方向,則外積為負面積。\n" -"[b]注意:[/b]數學中沒有定義二維空間的叉乘。此方法是將 2D 向量嵌入到 3D 空間的 " -"XY 平面中,並使用它們的外積的 Z 分量作為類比。" - -msgid "" "Performs a cubic interpolation between this vector and [param b] using [param " "pre_a] and [param post_b] as handles, and returns the result at position " "[param weight]. [param weight] is on the range of 0.0 to 1.0, representing " @@ -118249,11 +113002,6 @@ msgstr "" "算後組成的向量。" msgid "" -"Returns the result of reflecting the vector from a line defined by the given " -"direction vector [param n]." -msgstr "返回經過直線反射後的向量,該直線由給定的方向向量 [param n] 定義。" - -msgid "" "Returns the result of rotating this vector by [param angle] (in radians). See " "also [method @GlobalScope.deg_to_rad]." msgstr "" @@ -118782,13 +113530,6 @@ msgid "Returns the unsigned minimum angle to the given vector, in radians." msgstr "返回與給定向量的無符號最小角度,單位為弧度。" msgid "" -"Returns the vector \"bounced off\" from a plane defined by the given normal." -msgstr "返回從由給定法線定義的平面上“反彈”的向量。" - -msgid "Returns the cross product of this vector and [param with]." -msgstr "返回該向量與 [param with] 的外積。" - -msgid "" "Returns the inverse of the vector. This is the same as [code]Vector3(1.0 / v." "x, 1.0 / v.y, 1.0 / v.z)[/code]." msgstr "" @@ -118836,11 +113577,6 @@ msgid "Returns the outer product with [param with]." msgstr "返回與 [param with] 的外積。" msgid "" -"Returns the result of reflecting the vector from a plane defined by the given " -"normal [param n]." -msgstr "返回經過平面反射後的向量,該平面由給定的法線 [param n] 定義。" - -msgid "" "Returns the result of rotating this vector around a given axis by [param " "angle] (in radians). The axis must be a normalized vector. See also [method " "@GlobalScope.deg_to_rad]." @@ -120750,34 +115486,6 @@ msgstr "" "帶,因為抖動圖案會使無失真壓縮的螢幕截圖變大。" msgid "" -"If [code]true[/code], 2D rendering will use an high dynamic range (HDR) " -"format framebuffer matching the bit depth of the 3D framebuffer. When using " -"the Forward+ renderer this will be a [code]RGBA16[/code] framebuffer, while " -"when using the Mobile renderer it will be a [code]RGB10_A2[/code] " -"framebuffer. Additionally, 2D rendering will take place in linear color space " -"and will be converted to sRGB space immediately before blitting to the screen " -"(if the Viewport is attached to the screen). Practically speaking, this means " -"that the end result of the Viewport will not be clamped into the [code]0-1[/" -"code] range and can be used in 3D rendering without color space adjustments. " -"This allows 2D rendering to take advantage of effects requiring high dynamic " -"range (e.g. 2D glow) as well as substantially improves the appearance of " -"effects requiring highly detailed gradients.\n" -"[b]Note:[/b] This setting will have no effect when using the GL Compatibility " -"renderer as the GL Compatibility renderer always renders in low dynamic range " -"for performance reasons." -msgstr "" -"如果[code]true[/code],2D 算繪將使用與3D 影格緩衝區的位元深度相符的高動態範圍" -"(HDR) 格式影格緩衝區。使用Forward+ 算繪器時,這將是[code]RGBA16[/code] 影格緩" -"衝區,而使用移動算繪器時,它將是[code]RGB10_A2[/code] 影格緩衝區。此外,2D 算" -"繪將在線性顏色空間中進行,並將轉換為sRGB 空間緊接在blitting 到螢幕之前(如果" -"Viewport 附加到螢幕)。實際上,這表示Viewport 的最終結果不會被限制在" -"[code]0-1[/code] 範圍內,並且可以使用3D 算繪無需色彩空間調整。這使得 2D 算繪能" -"夠利用需要高動態範圍的效果(例如 2D 發光),並顯著改善需要高度詳細漸變的效果的" -"外觀。\n" -"[b]注意:[/b] 使用GL 相容性算繪器時,此設定無效,因為出於效能原因,GL 相容性算" -"繪器始終在低動態範圍內算繪。" - -msgid "" "If [code]true[/code], [OccluderInstance3D] nodes will be usable for occlusion " "culling in 3D for this viewport. For the root viewport, [member " "ProjectSettings.rendering/occlusion_culling/use_occlusion_culling] must be " @@ -120957,9 +115665,6 @@ msgstr "" "物件通過加法混合顯示為半透明,因此可以看到它們在彼此之上繪製的位置。更高的過度" "繪製意味著在繪製隱藏在其他圖元後面的圖元時浪費了性能。" -msgid "Objects are displayed in wireframe style." -msgstr "物件以線框風格顯示。" - msgid "" "Draws the shadow atlas that stores shadows from [DirectionalLight3D]s in the " "upper left quadrant of the [Viewport]." @@ -121004,61 +115709,12 @@ msgid "" "applied." msgstr "在應用後處理之前繪製場景的內部解析度緩衝區。" -msgid "Max value for [enum DefaultCanvasItemTextureFilter] enum." -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] 列舉的大小。" msgid "Provides the content of a [Viewport] as a dynamic texture." msgstr "以動態紋理的形式提供 [Viewport] 的內容。" -msgid "" -"Provides the content of a [Viewport] as a dynamic [Texture2D]. This can be " -"used to mix controls, 2D game objects, and 3D game objects in the same " -"scene.\n" -"To create a [ViewportTexture] in code, use the [method Viewport.get_texture] " -"method on the target viewport.\n" -"[b]Note:[/b] A [ViewportTexture] is always local to its scene (see [member " -"Resource.resource_local_to_scene]). If the scene root is not ready, it may " -"return incorrect data (see [signal Node.ready])." -msgstr "" -"以動態 [Texture2D] 的形式提供 [Viewport] 的內容。可用於在同一場景中混合控制" -"項、2D 遊戲物件和 3D 遊戲對象。\n" -"要在程式碼中建立 [ViewportTexture],請在目標視口上使用 [method Viewport." -"get_texture] 方法。\n" -"[b]注意:[/b]當局部於場景時,該紋理使用 [method Resource." -"setup_local_to_scene] 在局部視口中設定代理紋理和旗標。局部於場景的 " -"[ViewportTexture] 在場景根節點就緒前返回的是不正確的資料(見 [signal Node." -"ready])。" - -msgid "" -"The path to the [Viewport] node to display. This is relative to the scene " -"root, not to the node that uses the texture.\n" -"[b]Note:[/b] In the editor, this path is automatically updated when the " -"target viewport or one of its ancestors is renamed or moved. At runtime, the " -"path may not be able to automatically update due to the inability to " -"determine the scene root." -msgstr "" -"要顯示的 [Viewport] 節點的路徑。相對於場景的根節點,而不是使用紋理的節點。\n" -"[b]注意:[/b]在編輯器中,目標視口或其祖級節點發生重命名或移動時會自動更新這個" -"路徑。在運作時,該路徑可能無法自動更新,因為無法確定場景的根節點。" - msgid "Corresponds to [constant Node.PROCESS_MODE_INHERIT]." msgstr "對應 [constant Node.PROCESS_MODE_INHERIT]。" @@ -121752,22 +116408,6 @@ msgstr "在視覺化著色器圖中使用的 [Color] 參數。" msgid "Translated to [code]uniform vec4[/code] in the shader language." msgstr "翻譯為著色器語言中的 [code]uniform vec4[/code]。" -msgid "A comment node to be placed on visual shader graph." -msgstr "放置在視覺化著色器圖上的注釋節點。" - -msgid "" -"A resizable rectangular area with changeable [member title] and [member " -"description] used for better organizing of other visual shader nodes." -msgstr "" -"可調整大小的矩形區域,標題 [member title] 和描述 [member description] 均可更" -"改,可用於更好地組織其他視覺化著色器節點。" - -msgid "An additional description which placed below the title." -msgstr "放置在標題下方的額外說明。" - -msgid "A title of the node." -msgstr "節點的標題。" - msgid "A comparison function for common types within the visual shader graph." msgstr "視覺化著色器圖內常見型別的比較函式。" @@ -122849,8 +117489,8 @@ msgstr "" "input_name] 等於 [code]\"albedo\"[/code],則返回 [code]\"ALBEDO\"[/code]。" msgid "" -"One of the several input constants in lower-case style like: " -"\"vertex\" ([code]VERTEX[/code]) or \"point_size\" ([code]POINT_SIZE[/code])." +"One of the several input constants in lower-case style like: \"vertex\" " +"([code]VERTEX[/code]) or \"point_size\" ([code]POINT_SIZE[/code])." msgstr "" "小寫風格的輸入常數之一,例如:\"vertex\"([code]VERTEX[/code])或 " "\"point_size\"([code]POINT_SIZE[/code])。" @@ -125730,36 +120370,6 @@ msgstr "" "url]。" msgid "" -"Gets an [XRPositionalTracker] for the given [param input_source_id].\n" -"In the context of WebXR, an input source can be an advanced VR controller " -"like the Oculus Touch or Index controllers, or even a tap on the screen, a " -"spoken voice command or a button press on the device itself. When a non-" -"traditional input source is used, interpret the position and orientation of " -"the [XRPositionalTracker] as a ray pointing at the object the user wishes to " -"interact with.\n" -"Use this method to get information about the input source that triggered one " -"of these signals:\n" -"- [signal selectstart]\n" -"- [signal select]\n" -"- [signal selectend]\n" -"- [signal squeezestart]\n" -"- [signal squeeze]\n" -"- [signal squeezestart]" -msgstr "" -"獲取給定 [param input_source_id] 的 [XRPositionalTracker]。\n" -"在 WebXR 本文中,輸入源可以是類似 Oculus Touch 和 Index 控制器的高級 VR 控制" -"器,甚至也可以是螢幕上的點擊、語音命令或按下裝置本身的按鈕。當使用非傳統輸入源" -"時,會將 [XRPositionalTracker] 的位置和方向解釋為指向使用者希望與之互動的對象" -"的射線。\n" -"可以使用此方法獲取有關觸發以下訊號之一的輸入源的資訊:\n" -"- [signal selectstart]\n" -"- [signal select]\n" -"- [signal selectend]\n" -"- [signal squeezestart]\n" -"- [signal squeeze]\n" -"- [signal squeezestart]" - -msgid "" "Returns [code]true[/code] if there is an active input source with the given " "[param input_source_id]." msgstr "" @@ -127168,39 +121778,6 @@ msgstr "" "個單例可能對性能有負面影響。" msgid "" -"Adds [param action] as a group task to be executed by the worker threads. The " -"[Callable] will be called a number of times based on [param elements], with " -"the first thread calling it with the value [code]0[/code] as a parameter, and " -"each consecutive execution incrementing this value by 1 until it reaches " -"[code]element - 1[/code].\n" -"The number of threads the task is distributed to is defined by [param " -"tasks_needed], where the default value [code]-1[/code] means it is " -"distributed to all worker threads. [param high_priority] determines if the " -"task has a high priority or a low priority (default). You can optionally " -"provide a [param description] to help with debugging.\n" -"Returns a group task ID that can be used by other methods." -msgstr "" -"將 [param action] 新增為群組工作,能夠被多個工作執行緒執行。該 [Callable] 的調" -"用次數由 [param elements] 決定,第一個呼叫的執行緒使用 [code]0[/code] 作為參" -"數,後續執行時會將其加 1,直到變為 [code]element - 1[/code]。\n" -"工作分佈的執行緒數由 [param tasks_needed] 定義,預設值 [code]-1[/code] 表示分" -"佈到所有工作執行緒。[param high_priority] 決定的是工作具有高優先順序還是低優先" -"順序(預設)。你還可以選擇提供 [param description] 作為描述資訊,方便除錯。\n" -"返回群組工作 ID,可用於其他方法。" - -msgid "" -"Adds [param action] as a task to be executed by a worker thread. [param " -"high_priority] determines if the task has a high priority or a low priority " -"(default). You can optionally provide a [param description] to help with " -"debugging.\n" -"Returns a task ID that can be used by other methods." -msgstr "" -"將 [param action] 新增為群組工作,能夠被單個工作執行緒執行。[param " -"high_priority] 決定的是工作具有高優先順序還是低優先順序(預設)。你還可以選擇" -"提供 [param description] 作為描述資訊,方便除錯。\n" -"返回工作 ID,可用於其他方法。" - -msgid "" "Returns how many times the [Callable] of the group task with the given ID has " "already been executed by the worker threads.\n" "[b]Note:[/b] If a thread has started executing the [Callable] but is yet to " @@ -127210,13 +121787,6 @@ msgstr "" "[b]注意:[/b]執行緒已經開始執行 [Callable] 但尚未完成的情況不計算在內。" msgid "" -"Returns [code]true[/code] if the group task with the given ID is completed." -msgstr "如果具有給定 ID 的群組工作已經完成,則返回 [code]true[/code]。" - -msgid "Returns [code]true[/code] if the task with the given ID is completed." -msgstr "如果具有給定 ID 的工作已經完成,則返回 [code]true[/code]。" - -msgid "" "Pauses the thread that calls this method until the group task with the given " "ID is completed." msgstr "在具有給定 ID 的群組工作完成前暫停呼叫這個方法的執行緒。" @@ -127415,91 +121985,6 @@ msgid "Provides a low-level interface for creating parsers for XML files." msgstr "為建立 XML 檔解析器提供低階介面。" msgid "" -"Provides a low-level interface for creating parsers for [url=https://en." -"wikipedia.org/wiki/XML]XML[/url] files. This class can serve as base to make " -"custom XML parsers.\n" -"To parse XML, you must open a file with the [method open] method or a buffer " -"with the [method open_buffer] method. Then, the [method read] method must be " -"called to parse the next nodes. Most of the methods take into consideration " -"the currently parsed node.\n" -"Here is an example of using [XMLParser] to parse a SVG file (which is based " -"on XML), printing each element and its attributes as a dictionary:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var parser = XMLParser.new()\n" -"parser.open(\"path/to/file.svg\")\n" -"while parser.read() != ERR_FILE_EOF:\n" -" if parser.get_node_type() == XMLParser.NODE_ELEMENT:\n" -" var node_name = parser.get_node_name()\n" -" var attributes_dict = {}\n" -" for idx in range(parser.get_attribute_count()):\n" -" attributes_dict[parser.get_attribute_name(idx)] = parser." -"get_attribute_value(idx)\n" -" print(\"The \", node_name, \" element has the following attributes: " -"\", attributes_dict)\n" -"[/gdscript]\n" -"[csharp]\n" -"var parser = new XmlParser();\n" -"parser.Open(\"path/to/file.svg\");\n" -"while (parser.Read() != Error.FileEof)\n" -"{\n" -" if (parser.GetNodeType() == XmlParser.NodeType.Element)\n" -" {\n" -" var nodeName = parser.GetNodeName();\n" -" var attributesDict = new Godot.Collections.Dictionary();\n" -" for (int idx = 0; idx < parser.GetAttributeCount(); idx++)\n" -" {\n" -" attributesDict[parser.GetAttributeName(idx)] = parser." -"GetAttributeValue(idx);\n" -" }\n" -" GD.Print($\"The {nodeName} element has the following attributes: " -"{attributesDict}\");\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"為建立 [url=https://zh.wikipedia.org/wiki/XML]XML[/url] 檔解析器提供低階介面。" -"製作自訂 XML 解析器時,可以將這個類作為基礎。\n" -"要解析 XML,你必須使用 [method open] 方法打開檔,或者使用 [method " -"open_buffer] 方法打開緩衝區。然後必須使用 [method read] 方法解析後續節點。大多" -"數方法使用的是目前解析節點。\n" -"以下是使用 [XMLParser] 解析 SVG 檔(基於 XML)的粒子,會輸出所有的元素,以字典" -"的形式輸出對應的屬性:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var parser = XMLParser.new()\n" -"parser.open(\"path/to/file.svg\")\n" -"while parser.read() != ERR_FILE_EOF:\n" -" if parser.get_node_type() == XMLParser.NODE_ELEMENT:\n" -" var node_name = parser.get_node_name()\n" -" var attributes_dict = {}\n" -" for idx in range(parser.get_attribute_count()):\n" -" attributes_dict[parser.get_attribute_name(idx)] = parser." -"get_attribute_value(idx)\n" -" print(\"元素 \", node_name, \" 包含的屬性有:\", attributes_dict)\n" -"[/gdscript]\n" -"[csharp]\n" -"var parser = new XmlParser();\n" -"parser.Open(\"path/to/file.svg\");\n" -"while (parser.Read() != Error.FileEof)\n" -"{\n" -" if (parser.GetNodeType() == XmlParser.NodeType.Element)\n" -" {\n" -" var nodeName = parser.GetNodeName();\n" -" var attributesDict = new Godot.Collections.Dictionary();\n" -" for (int idx = 0; idx < parser.GetAttributeCount(); idx++)\n" -" {\n" -" attributesDict[parser.GetAttributeName(idx)] = parser." -"GetAttributeValue(idx);\n" -" }\n" -" GD.Print($\"元素 {nodeName} 包含的屬性有:{attributesDict}\");\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Returns the number of attributes in the currently parsed element.\n" "[b]Note:[/b] If this method is used while the currently parsed node is not " "[constant NODE_ELEMENT] or [constant NODE_ELEMENT_END], this count will not " @@ -127544,14 +122029,6 @@ msgid "" msgstr "返回文字節點的內容。如果目前解析節點是其他型別,則會引發錯誤。" msgid "" -"Returns the name of an element node. This method will raise an error if the " -"currently parsed node is not of [constant NODE_ELEMENT] or [constant " -"NODE_ELEMENT_END] type." -msgstr "" -"返回元素節點的名稱。如果目前解析節點既不是 [constant NODE_ELEMENT] 型別又不是 " -"[constant NODE_ELEMENT_END] 型別,則會引發錯誤。" - -msgid "" "Returns the byte offset of the currently parsed node since the beginning of " "the file or buffer. This is usually equivalent to the number of characters " "before the read position." @@ -128293,26 +122770,6 @@ msgid "A tracked object." msgstr "追蹤對象。" msgid "" -"An instance of this object represents a device that is tracked, such as a " -"controller or anchor point. HMDs aren't represented here as they are handled " -"internally.\n" -"As controllers are turned on and the [XRInterface] detects them, instances of " -"this object are automatically added to this list of active tracking objects " -"accessible through the [XRServer].\n" -"The [XRController3D] and [XRAnchor3D] both consume objects of this type and " -"should be used in your project. The positional trackers are just under-the-" -"hood objects that make this all work. These are mostly exposed so that " -"GDExtension-based interfaces can interact with them." -msgstr "" -"此物件的一個實例,表示一個被追蹤的裝置,例如一個控制器或錨點。HMD 沒有在此處表" -"示,因為它們是在內部處理的。\n" -"當控制器被打開,並且 [XRInterface] 偵測到它們時,此物件的實例會自動被新增到可" -"通過 [XRServer] 存取的活動追蹤物件列表中。\n" -"[XRController3D] 和 [XRAnchor3D] 都使用這種型別的物件,並且應該在你的專案中使" -"用。位置追蹤器只是使這一切正常工作的底層物件。這些大部分都是公開的,以便基於 " -"GDExtension 的介面,可以與它們互動。" - -msgid "" "Returns an input for this tracker. It can return a boolean, float or " "[Vector2] value depending on whether the input is a button, trigger or " "thumbstick/thumbpad." @@ -128344,35 +122801,14 @@ msgstr "" "設定給定姿勢的變換、線速度、角速度和追蹤置信度。此方法由一個 [XRInterface] 實" "現呼叫,不應直接使用。" -msgid "The description of this tracker." -msgstr "此追蹤器的描述。" - msgid "Defines which hand this tracker relates to." msgstr "定義此追蹤器與哪只手相關。" msgid "" -"The unique name of this tracker. The trackers that are available differ " -"between various XR runtimes and can often be configured by the user. Godot " -"maintains a number of reserved names that it expects the [XRInterface] to " -"implement if applicable:\n" -"- [code]left_hand[/code] identifies the controller held in the players left " -"hand\n" -"- [code]right_hand[/code] identifies the controller held in the players right " -"hand" -msgstr "" -"此追蹤器的唯一名稱。可用的追蹤器因各種 XR 運作時而異,並且通常可以由使用者配" -"置。Godot 維護了一些保留名稱,如果可套用,它希望 [XRInterface] 來實作:\n" -"- [code]left_hand[/code] 標識玩家左手握持的控制器\n" -"- [code]right_hand[/code] 標識玩家右手握持的控制器" - -msgid "" "The profile associated with this tracker, interface dependent but will " "indicate the type of controller being tracked." msgstr "與此追蹤器關聯的配置,取決於介面,但將指示被追蹤的控制器型別。" -msgid "The type of tracker." -msgstr "該追蹤器的型別。" - msgid "" "Emitted when a button on this tracker is pressed. Note that many XR runtimes " "allow other inputs to be mapped to buttons." @@ -128421,11 +122857,6 @@ msgid "Registers an [XRInterface] object." msgstr "註冊一個 [XRInterface] 物件。" msgid "" -"Registers a new [XRPositionalTracker] that tracks a spatial location in real " -"space." -msgstr "註冊一個新的 [XRPositionalTracker],用於追蹤現實空間中的一個空間位置。" - -msgid "" "This is an important function to understand correctly. AR and VR platforms " "all handle positioning slightly differently.\n" "For platforms that do not offer spatial tracking, our origin point (0, 0, 0) " @@ -128503,9 +122934,6 @@ msgstr "返回 [param tracker_types] 的追蹤器字典。" msgid "Removes this [param interface]." msgstr "移除該 [param interface]。" -msgid "Removes this positional [param tracker]." -msgstr "移除該位置 [param tracker]。" - msgid "The primary [XRInterface] currently bound to the [XRServer]." msgstr "目前綁定到 [XRServer] 的主 [XRInterface]。" @@ -128592,6 +123020,12 @@ msgid "" "gets centered." msgstr "不重設 HMD 的方向,只讓玩家的位置居中。" +msgid "The description of this tracker." +msgstr "此追蹤器的描述。" + +msgid "The type of tracker." +msgstr "該追蹤器的型別。" + msgid "Allows the creation of zip files." msgstr "允許建立 zip 檔。" |