From bc0d58b07e018fc9cfeac750a3344d74e26e064a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Wed, 26 Feb 2025 00:05:03 +0100 Subject: [PATCH] i18n: Sync translations with Weblate --- doc/translations/ga.po | 116 - doc/translations/it.po | 117 - doc/translations/ta.po | 113 - doc/translations/uk.po | 8513 +++++++++++---------- doc/translations/zh_CN.po | 8979 ++++++++++++++++++++++- doc/translations/zh_TW.po | 87 - editor/translations/editor/ar.po | 526 +- editor/translations/editor/cs.po | 274 +- editor/translations/editor/es.po | 1071 ++- editor/translations/editor/fa.po | 124 +- editor/translations/editor/fi.po | 16 +- editor/translations/editor/fr.po | 263 +- editor/translations/editor/nl.po | 94 +- editor/translations/editor/pl.po | 43 +- editor/translations/editor/ru.po | 11 +- editor/translations/editor/sk.po | 14 +- editor/translations/editor/tr.po | 366 +- editor/translations/editor/uk.po | 43 +- editor/translations/editor/zh_CN.po | 36 +- editor/translations/properties/cs.po | 26 +- editor/translations/properties/fa.po | 63 +- editor/translations/properties/it.po | 43 +- editor/translations/properties/pl.po | 7 +- editor/translations/properties/tr.po | 12 +- editor/translations/properties/uk.po | 14 +- editor/translations/properties/zh_CN.po | 16 +- 26 files changed, 16230 insertions(+), 4757 deletions(-) diff --git a/doc/translations/ga.po b/doc/translations/ga.po index 645d1cd1e14..08bea3764b0 100644 --- a/doc/translations/ga.po +++ b/doc/translations/ga.po @@ -64120,20 +64120,6 @@ msgstr "" "rochtain a fháil ar na cineálacha acmhainní díorthaithe. Féach freisin " "[Uigeacht3D]." -msgid "" -"Creates an [ImageTextureLayered] from an array of [Image]s. See [method Image." -"create] for the expected data format. The first image decides the width, " -"height, image format and mipmapping setting. The other images [i]must[/i] " -"have the same width, height, image format and mipmapping setting.\n" -"Each [Image] represents one [code]layer[/code]." -msgstr "" -"Cruthaíonn [ImageTextureLayered] ó raon [Image]s. Féach ar [method Image." -"create] don fhormáid sonraí a bhfuiltear ag súil léi. Socraíonn an chéad " -"íomhá leithead, airde, formáid na híomhá agus an suíomh mipmapping. Caithfidh " -"an leithead céanna, an airde, an fhormáid íomhá agus an socrú mipmapping a " -"bheith ag na híomhánna eile [i][/i].\n" -"Léiríonn gach [Íomhá] [code]ciseal[/code] amháin." - msgid "" "Replaces the existing [Image] data at the given [param layer] with this new " "image.\n" @@ -64438,25 +64424,6 @@ msgstr "" "is féidir é seo a bheith úsáideach i gcásanna ardchéime nuair is mian leat " "smacht beacht a bheith agat ar uainiú láimhseáil imeachtaí." -msgid "" -"Returns the acceleration in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"Note this method returns an empty [Vector3] when running from the editor even " -"when your device has an accelerometer. You must export your project to a " -"supported device to read values from the accelerometer.\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Filleann sé an luasghéarú ina m/s² de bhraiteoir méadair luasghéaraithe na " -"feiste, má tá ceann ag an ngléas. Seachas sin, filleann an modh [Vector3.ZERO " -"seasmhach].\n" -"Tabhair faoi deara go dtugann an modh seo [Veicteoir3] folamh ar ais agus tú " -"ag rith ón eagarthóir fiú nuair a bhíonn méadair luasghéaraithe ag do ghléas. " -"Ní mór duit do thionscadal a easpórtáil chuig gléas tacaithe chun luachanna a " -"léamh ón méadair luasghéaraithe.\n" -"[b]Nóta:[/b] Ní oibríonn an modh seo ach ar Android agus iOS. Ar ardáin eile, " -"filleann sé i gcónaí [Vector3.ZERO tairiseach]." - msgid "" "Returns a value between 0 and 1 representing the raw intensity of the given " "action, ignoring the action's deadzone. In most cases, you should use [method " @@ -64515,31 +64482,6 @@ msgstr "" "Seoltar ar ais an cruth cúrsóra atá sannta faoi láthair (féach [enum " "CursorShape])." -msgid "" -"Returns the gravity in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Filleann an domhantarraingt ina m/s² de bhraiteoir méadair luasghéaraithe na " -"feiste, má tá ceann ag an bhfeiste. Seachas sin, filleann an modh [Vector3." -"ZERO seasmhach].\n" -"[b]Nóta:[/b] Ní oibríonn an modh seo ach ar Android agus iOS. Ar ardáin eile, " -"filleann sé i gcónaí [Vector3.ZERO tairiseach]." - -msgid "" -"Returns the rotation rate in rad/s around a device's X, Y, and Z axes of the " -"gyroscope sensor, if the device has one. Otherwise, the method returns " -"[constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Filleann sé an ráta rothlaithe ina rad/s timpeall ar aiseanna X, Y, agus Z an " -"bhraiteora gíreascóip, má tá ceann ag an bhfeiste. Seachas sin, filleann an " -"modh [Vector3.ZERO seasmhach].\n" -"[b]Nóta:[/b] Ní oibríonn an modh seo ach ar Android agus iOS. Ar ardáin eile, " -"filleann sé i gcónaí [Vector3.ZERO tairiseach]." - msgid "" "Returns the current value of the joypad axis at given index (see [enum " "JoyAxis])." @@ -64587,19 +64529,6 @@ msgstr "" "ghiodam a sholáthar, ní ríomhtar treoluas luiche ach amháin gach 0.1s. Mar " "sin, beidh moill ar ghluaiseachtaí luiche ag treoluas luiche." -msgid "" -"Returns the magnetic field strength in micro-Tesla for all axes of the " -"device's magnetometer sensor, if the device has one. Otherwise, the method " -"returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Tugann sé ar ais neart an réimse mhaighnéadaigh i micrea-Tesla do gach " -"aiseanna de bhraiteoir maighnéadiméadar an fheiste, má tá ceann ag an " -"bhfeiste. Seachas sin, filleann an modh [Vector3.ZERO seasmhach].\n" -"[b]Nóta:[/b] Ní oibríonn an modh seo ach ar Android agus iOS. Ar ardáin eile, " -"filleann sé i gcónaí [Vector3.ZERO tairiseach]." - msgid "" "Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at " "the same time, the bits are added together. Equivalent to [method " @@ -90381,13 +90310,6 @@ msgstr "" msgid "[Texture2D] to be applied to the [PanoramaSkyMaterial]." msgstr "[Uigeacht2D] le cur i bhfeidhm ar an [PanoramaSkyMaterial]." -msgid "" -"This node is meant to replace [ParallaxBackground] and [ParallaxLayer]. The " -"implementation may change in the future." -msgstr "" -"Tá sé i gceist an nód seo a chur in ionad [ParallaxBackground] agus " -"[ParallaxLayer]. Féadfaidh an cur i bhfeidhm athrú sa todhchaí." - msgid "A node used to create a parallax scrolling background." msgstr "Nód a úsáidtear chun cúlra scrollaithe parallax a chruthú." @@ -108692,15 +108614,6 @@ msgstr "" "Ag brath ar chastacht na radharc, féadfar an luach seo a ísliú nó b'fhéidir " "go gcaithfí é a ardú." -msgid "" -"If [code]true[/code], the forward renderer will fall back to Direct3D 12 if " -"Vulkan is not supported.\n" -"[b]Note:[/b] This setting is implemented only on Windows." -msgstr "" -"Más [code]true[/code], titfidh an rindreálaí ar aghaidh ar ais go Direct3D 12 " -"mura dtacaítear le Vulkan.\n" -"[b]Nóta:[/b] Is ar Windows amháin a chuirtear an socrú seo i bhfeidhm." - msgid "" "Enable the pipeline cache that is saved to disk if the graphics API supports " "it.\n" @@ -144536,35 +144449,6 @@ msgstr "" "Acmhainn uigeachta aonair ina bhfuil íomhánna iolracha ar leith. Tá na toisí " "agus an líon céanna leibhéil mipmap ag gach íomhá." -msgid "" -"A Texture2DArray is different from a Texture3D: The Texture2DArray does not " -"support trilinear interpolation between the [Image]s, i.e. no blending. See " -"also [Cubemap] and [CubemapArray], which are texture arrays with specialized " -"cubemap functions.\n" -"A Texture2DArray is also different from an [AtlasTexture]: In a " -"Texture2DArray, all images are treated separately. In an atlas, the regions " -"(i.e. the single images) can be of different sizes. Furthermore, you usually " -"need to add a padding around the regions, to prevent accidental UV mapping to " -"more than one region. The same goes for mipmapping: Mipmap chains are handled " -"separately for each layer. In an atlas, the slicing has to be done manually " -"in the fragment shader.\n" -"To create such a texture file yourself, reimport your image files using the " -"Godot Editor import presets." -msgstr "" -"Tá Texture2DArray difriúil ó Texture3D: Ní thacaíonn an Texture2DArray le " -"hidirshuíomh trílíneach idir na [Íomhá]s, ie gan chumasc. Féach freisin " -"[Cubemap] agus [CubemapArray], ar eagair uigeachta iad a bhfuil feidhmeanna " -"speisialaithe léarscáile ciúbach acu.\n" -"Tá Texture2DArray difriúil freisin ó [AtlasTexture]: In Texture2DArray, " -"caitear le gach íomhá ar leithligh. In atlas, féadfaidh na réigiúin (i.e. na " -"híomhánna aonair) a bheith de mhéideanna éagsúla. Ina theannta sin, de ghnáth " -"ní mór duit stuáil a chur timpeall ar na réigiúin, chun mapáil UV thimpiste a " -"chosc chuig níos mó ná réigiún amháin. Is é an rud céanna maidir le " -"mipmapping: láimhseáiltear slabhraí mipmap ar leithligh do gach ciseal. In " -"atlas, ní mór an slicing a dhéanamh de láimh sa scáthlánóir blúirí.\n" -"Chun comhad uigeachta den sórt sin a chruthú tú féin, athiompórtáil do chuid " -"comhad íomhá ag baint úsáide as réamhshocruithe iompórtála Godot Editor." - msgid "" "Creates a placeholder version of this resource ([PlaceholderTexture2DArray])." msgstr "" diff --git a/doc/translations/it.po b/doc/translations/it.po index 4094aa8473b..04d7b53c8b2 100644 --- a/doc/translations/it.po +++ b/doc/translations/it.po @@ -58509,20 +58509,6 @@ msgstr "" "essere utilizzata direttamente, ma contiene tutte le funzioni necessarie per " "accedere ai tipi di risorse derivati. Vedi anche [Texture3D]." -msgid "" -"Creates an [ImageTextureLayered] from an array of [Image]s. See [method Image." -"create] for the expected data format. The first image decides the width, " -"height, image format and mipmapping setting. The other images [i]must[/i] " -"have the same width, height, image format and mipmapping setting.\n" -"Each [Image] represents one [code]layer[/code]." -msgstr "" -"Crea un [ImageTextureLayered] da un array di risorse [Image]. Vedi [method " -"Image.create] per il formato previsto dei dati. La prima immagine decide la " -"larghezza, l'altezza, il formato immagine e la configurazione per il " -"mipmapping. Le altre immagini [i]devono[/i] avere la stessa larghezza, " -"altezza, formato immagine e configurazione per il mipmapping.\n" -"Ogni [Image] rappresenta un livello ([code]layer[/code])." - msgid "" "Replaces the existing [Image] data at the given [param layer] with this new " "image.\n" @@ -58828,25 +58814,6 @@ msgstr "" "volta per frame). Tuttavia, questo può essere utile in casi avanzati in cui " "si desidera un controllo preciso sulla tempistica della gestione degli eventi." -msgid "" -"Returns the acceleration in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"Note this method returns an empty [Vector3] when running from the editor even " -"when your device has an accelerometer. You must export your project to a " -"supported device to read values from the accelerometer.\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Restituisce l'accelerazione in m/s² del sensore accelerometro del " -"dispositivo, se il dispositivo ne ha uno. Altrimenti, il metodo restituisce " -"[constant Vector3.ZERO].\n" -"Nota che questo metodo restituisce un [Vector3] vuoto quando viene eseguito " -"dall'editor anche quando il dispositivo ha un accelerometro. È necessario " -"esportare il progetto su un dispositivo supportato per leggere i valori " -"dall'accelerometro.\n" -"[b]Nota:[/b] Questo metodo funziona solo su Android e iOS. Su altre " -"piattaforme, restituisce sempre [constant Vector3.ZERO]." - msgid "" "Returns a value between 0 and 1 representing the raw intensity of the given " "action, ignoring the action's deadzone. In most cases, you should use [method " @@ -58905,31 +58872,6 @@ msgstr "" "Restituisce la forma del cursore attualmente assegnata (vedi [enum " "CursorShape])." -msgid "" -"Returns the gravity in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Restituisce la gravità in m/s² del sensore accelerometro del dispositivo, se " -"il dispositivo ne ha uno. Altrimenti, il metodo restituisce [constant Vector3." -"ZERO].\n" -"[b]Nota:[/b] Questo metodo funziona solo su Android e iOS. Su altre " -"piattaforme, restituisce sempre [constant Vector3.ZERO]." - -msgid "" -"Returns the rotation rate in rad/s around a device's X, Y, and Z axes of the " -"gyroscope sensor, if the device has one. Otherwise, the method returns " -"[constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Restituisce la velocità di rotazione (in radianti al secondo) attorno agli " -"assi X, Y e Z del sensore giroscopio di un dispositivo, se il dispositivo ne " -"ha uno. Altrimenti, il metodo restituisce [constant Vector3.ZERO].\n" -"[b]Nota:[/b] Questo metodo funziona solo su Android e iOS. Su altre " -"piattaforme, restituisce sempre [constant Vector3.ZERO]." - msgid "" "Returns the current value of the joypad axis at given index (see [enum " "JoyAxis])." @@ -58978,19 +58920,6 @@ msgstr "" "Pertanto, la velocità del mouse sarà in ritardo rispetto ai movimenti del " "mouse." -msgid "" -"Returns the magnetic field strength in micro-Tesla for all axes of the " -"device's magnetometer sensor, if the device has one. Otherwise, the method " -"returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Restituisce l'intensità del campo magnetico in micro-Tesla per tutti gli assi " -"del sensore magnetometrico del dispositivo, se il dispositivo ne ha uno. " -"Altrimenti, il metodo restituisce [constant Vector3.ZERO].\n" -"[b]Nota:[/b] Questo metodo funziona solo su Android e iOS. Su altre " -"piattaforme, restituisce sempre [constant Vector3.ZERO]." - msgid "" "Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at " "the same time, the bits are added together. Equivalent to [method " @@ -84485,13 +84414,6 @@ msgstr "" msgid "[Texture2D] to be applied to the [PanoramaSkyMaterial]." msgstr "La [Texture2D] da applicare al [PanoramaSkyMaterial]." -msgid "" -"This node is meant to replace [ParallaxBackground] and [ParallaxLayer]. The " -"implementation may change in the future." -msgstr "" -"Questo nodo è pensato per sostituire [ParallaxBackground] e [ParallaxLayer]. " -"L'implementazione potrebbe cambiare in futuro." - msgid "A node used to create a parallax scrolling background." msgstr "Un nodo usato per creare uno sfondo a scorrimento parallasse." @@ -102849,15 +102771,6 @@ msgstr "" "A seconda della complessità delle scene, questo valore potrebbe essere " "abbassato o potrebbe essere necessario aumentarlo." -msgid "" -"If [code]true[/code], the forward renderer will fall back to Direct3D 12 if " -"Vulkan is not supported.\n" -"[b]Note:[/b] This setting is implemented only on Windows." -msgstr "" -"Se [code]true[/code], il renderer Forward ricadrà su Direct3D se Vulkan non è " -"supportato.\n" -"[b]Nota:[/b] Questa impostazione è implementata solo su Windows." - msgid "" "Enable the pipeline cache that is saved to disk if the graphics API supports " "it.\n" @@ -130037,36 +129950,6 @@ msgstr "" "Una singola risorsa texture che consiste di più immagini separate. Ogni " "immagine ha le stesse dimensioni e lo stesso numero di livelli mipmap." -msgid "" -"A Texture2DArray is different from a Texture3D: The Texture2DArray does not " -"support trilinear interpolation between the [Image]s, i.e. no blending. See " -"also [Cubemap] and [CubemapArray], which are texture arrays with specialized " -"cubemap functions.\n" -"A Texture2DArray is also different from an [AtlasTexture]: In a " -"Texture2DArray, all images are treated separately. In an atlas, the regions " -"(i.e. the single images) can be of different sizes. Furthermore, you usually " -"need to add a padding around the regions, to prevent accidental UV mapping to " -"more than one region. The same goes for mipmapping: Mipmap chains are handled " -"separately for each layer. In an atlas, the slicing has to be done manually " -"in the fragment shader.\n" -"To create such a texture file yourself, reimport your image files using the " -"Godot Editor import presets." -msgstr "" -"Un Texture2DArray è diverso da un Texture3D: il Texture2DArray non supporta " -"l'interpolazione trilineare tra le [Image], ovvero nessuna fusione. Vedi " -"anche [Cubemap] e [CubemapArray], che sono array di texture con funzioni di " -"cubemap specializzate.\n" -"Un Texture2DArray è anche diverso da un [AtlasTexture]: in un Texture2DArray, " -"tutte le immagini sono trattate separatamente. In un atlante, le regioni " -"(ovvero le singole immagini) possono avere dimensioni diverse. Inoltre, di " -"solito è necessario aggiungere un imbottitura attorno alle regioni, per " -"evitare una mappatura UV accidentale su più di una regione. Lo stesso vale " -"per il mipmapping: le catene di mipmap sono gestite separatamente per ogni " -"livello. In un atlante, la suddivisione deve essere eseguita manualmente " -"nello shader dei frammenti.\n" -"Per creare autonomamente un file di texture di questo tipo, reimporta i file " -"di immagine attraverso i preset di importazione dell'editor di Godot." - msgid "" "Creates a placeholder version of this resource ([PlaceholderTexture2DArray])." msgstr "" diff --git a/doc/translations/ta.po b/doc/translations/ta.po index 8612feb4e4f..47818a07def 100644 --- a/doc/translations/ta.po +++ b/doc/translations/ta.po @@ -60508,20 +60508,6 @@ msgstr "" ". நேரடியாகப் பயன்படுத்த முடியாது, ஆனால் பெறப்பட்ட வள வகைகளை அணுகுவதற்குத் தேவையான " "அனைத்து செயல்பாடுகளையும் கொண்டுள்ளது. [Stecture3D] ஐயும் காண்க." -msgid "" -"Creates an [ImageTextureLayered] from an array of [Image]s. See [method Image." -"create] for the expected data format. The first image decides the width, " -"height, image format and mipmapping setting. The other images [i]must[/i] " -"have the same width, height, image format and mipmapping setting.\n" -"Each [Image] represents one [code]layer[/code]." -msgstr "" -"[படம்] களின் வரிசையில் இருந்து ஒரு [இமேச்டெக்ச்டுரேலேயர்டு] உருவாக்குகிறது. " -"எதிர்பார்க்கப்படும் தரவு வடிவமைப்பிற்கு [முறை படம்.இர்ரியேட்] ஐப் பார்க்கவும். முதல் படம் " -"அகலம், உயரம், பட வடிவம் மற்றும் மிப்மாப்பிங் அமைப்பை தீர்மானிக்கிறது. மற்ற படங்கள் [i] " -"வேண்டும் [/i] அதே அகலம், உயரம், பட வடிவம் மற்றும் மிப்மாப்பிங் அமைப்பு ஆகியவற்றைக் " -"கொண்டிருக்க வேண்டும்.\n" -" ஒவ்வொரு [படம்] ஒரு [குறியீடு] அடுக்கு [/குறியீடு] ஐ குறிக்கிறது." - msgid "" "Replaces the existing [Image] data at the given [param layer] with this new " "image.\n" @@ -60809,23 +60795,6 @@ msgstr "" "செய்யும். இருப்பினும், நிகழ்வு கையாளுதலின் நேரத்தின் மீது துல்லியமான கட்டுப்பாட்டை நீங்கள் " "விரும்பும் மேம்பட்ட நிகழ்வுகளில் இது பயனுள்ளதாக இருக்கும்." -msgid "" -"Returns the acceleration in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"Note this method returns an empty [Vector3] when running from the editor even " -"when your device has an accelerometer. You must export your project to a " -"supported device to read values from the accelerometer.\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"சாதனத்தில் ஒன்று இருந்தால், சாதனத்தின் முடுக்கமானி சென்சாரின் m/s² இல் முடுக்கம் " -"வழங்குகிறது. இல்லையெனில், முறை திரும்பும் [நிலையான vecter3.zero].\n" -" உங்கள் சாதனத்தில் முடுக்கமானி இருக்கும்போது கூட எடிட்டரிலிருந்து இயங்கும் போது இந்த முறை " -"வெற்று [வெக்டர் 3] ஐ வழங்குகிறது என்பதை நினைவில் கொள்க. முடுக்கமானி இருந்து மதிப்புகளைப் " -"படிக்க உங்கள் திட்டத்தை ஆதரிக்கப்பட்ட சாதனத்திற்கு ஏற்றுமதி செய்ய வேண்டும்.\n" -" [b] குறிப்பு: [/b] இந்த முறை ஆண்ட்ராய்டு மற்றும் ஐஇமு இல் மட்டுமே வேலை செய்கிறது. மற்ற " -"தளங்களில், இது எப்போதும் [நிலையான vecter3.zero] திரும்பும்." - msgid "" "Returns a value between 0 and 1 representing the raw intensity of the given " "action, ignoring the action's deadzone. In most cases, you should use [method " @@ -60874,30 +60843,6 @@ msgstr "" msgid "Returns the currently assigned cursor shape (see [enum CursorShape])." msgstr "தற்போது ஒதுக்கப்பட்ட கர்சர் வடிவத்தை வழங்குகிறது ([எனம் கர்சர்சேப்] ஐப் பார்க்கவும்)." -msgid "" -"Returns the gravity in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"சாதனத்தில் ஒன்று இருந்தால், சாதனத்தின் முடுக்கமானி சென்சாரின் M/s² இல் ஈர்ப்பு விசையை " -"வழங்குகிறது. இல்லையெனில், முறை திரும்பும் [நிலையான vecter3.zero].\n" -" [b] குறிப்பு: [/b] இந்த முறை ஆண்ட்ராய்டு மற்றும் ஐஇமு இல் மட்டுமே வேலை செய்கிறது. மற்ற " -"தளங்களில், இது எப்போதும் [நிலையான vecter3.zero] திரும்பும்." - -msgid "" -"Returns the rotation rate in rad/s around a device's X, Y, and Z axes of the " -"gyroscope sensor, if the device has one. Otherwise, the method returns " -"[constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"சாதனத்தில் ஒன்று இருந்தால், கைரோச்கோப் சென்சாரின் சாதனத்தின் ஃச், ஒய் மற்றும் சட் அச்சுகளைச் " -"சுற்றி RAD/s இல் சுழற்சி வீதத்தை வழங்குகிறது. இல்லையெனில், முறை திரும்பும் [நிலையான " -"vecter3.zero].\n" -" [b] குறிப்பு: [/b] இந்த முறை ஆண்ட்ராய்டு மற்றும் ஐஇமு இல் மட்டுமே வேலை செய்கிறது. மற்ற " -"தளங்களில், இது எப்போதும் [நிலையான vecter3.zero] திரும்பும்." - msgid "" "Returns the current value of the joypad axis at given index (see [enum " "JoyAxis])." @@ -60944,19 +60889,6 @@ msgstr "" "சுட்டி விரைவு ஒவ்வொரு 0.1 கள் மட்டுமே கணக்கிடப்படுகிறது. எனவே, சுட்டி விரைவு சுட்டி " "இயக்கங்களை பின்தங்கியிருக்கும்." -msgid "" -"Returns the magnetic field strength in micro-Tesla for all axes of the " -"device's magnetometer sensor, if the device has one. Otherwise, the method " -"returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"சாதனத்தில் ஒன்று இருந்தால், சாதனத்தின் காந்தமாமீட்டர் சென்சாரின் அனைத்து அச்சுகளுக்கும் மைக்ரோ-" -"டெச்லாவில் காந்தப்புல வலிமையை வழங்குகிறது. இல்லையெனில், முறை திரும்பும் [நிலையான " -"vecter3.zero].\n" -" [b] குறிப்பு: [/b] இந்த முறை ஆண்ட்ராய்டு மற்றும் ஐஇமு இல் மட்டுமே வேலை செய்கிறது. மற்ற " -"தளங்களில், இது எப்போதும் [நிலையான vecter3.zero] திரும்பும்." - msgid "" "Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at " "the same time, the bits are added together. Equivalent to [method " @@ -85044,13 +84976,6 @@ msgstr "" msgid "[Texture2D] to be applied to the [PanoramaSkyMaterial]." msgstr "[Stecture2d] [பனோரமாச்கிமேட்டரியல்] க்கு பயன்படுத்தப்பட வேண்டும்." -msgid "" -"This node is meant to replace [ParallaxBackground] and [ParallaxLayer]. The " -"implementation may change in the future." -msgstr "" -"இந்த முனை [இடமாறு பேக் மைதானம்] மற்றும் [இடமாறு லேயர்] ஆகியவற்றை மாற்றுவதாகும். " -"செயல்படுத்தல் எதிர்காலத்தில் மாறக்கூடும்." - msgid "A node used to create a parallax scrolling background." msgstr "இடமாறு ச்க்ரோலிங் பின்னணியை உருவாக்க பயன்படுத்தப்படும் ஒரு முனை." @@ -102180,15 +102105,6 @@ msgstr "" " காட்சிகளின் சிக்கலைப் பொறுத்து, இந்த மதிப்பு குறைக்கப்படலாம் அல்லது உயர்த்தப்பட " "வேண்டியிருக்கலாம்." -msgid "" -"If [code]true[/code], the forward renderer will fall back to Direct3D 12 if " -"Vulkan is not supported.\n" -"[b]Note:[/b] This setting is implemented only on Windows." -msgstr "" -"[குறியீடு] உண்மை [/குறியீடு] என்றால், வல்கன் ஆதரிக்கப்படாவிட்டால் முன்னோக்கி ரெண்டரர் டைரக்ட் " -"3 டி 12 க்கு திரும்பும்.\n" -" [b] குறிப்பு: [/b] இந்த அமைப்பு சாளரங்களில் மட்டுமே செயல்படுத்தப்படுகிறது." - msgid "" "Enable the pipeline cache that is saved to disk if the graphics API supports " "it.\n" @@ -136097,35 +136013,6 @@ msgstr "" "பல, தனி படங்களைக் கொண்ட ஒற்றை அமைப்பு சான்று. ஒவ்வொரு படத்திற்கும் ஒரே பரிமாணங்கள் மற்றும் " "MIPMAP அளவுகளின் எண்ணிக்கை உள்ளது." -msgid "" -"A Texture2DArray is different from a Texture3D: The Texture2DArray does not " -"support trilinear interpolation between the [Image]s, i.e. no blending. See " -"also [Cubemap] and [CubemapArray], which are texture arrays with specialized " -"cubemap functions.\n" -"A Texture2DArray is also different from an [AtlasTexture]: In a " -"Texture2DArray, all images are treated separately. In an atlas, the regions " -"(i.e. the single images) can be of different sizes. Furthermore, you usually " -"need to add a padding around the regions, to prevent accidental UV mapping to " -"more than one region. The same goes for mipmapping: Mipmap chains are handled " -"separately for each layer. In an atlas, the slicing has to be done manually " -"in the fragment shader.\n" -"To create such a texture file yourself, reimport your image files using the " -"Godot Editor import presets." -msgstr "" -"ஒரு stecture2darray ஒரு அமைப்பு 3d இலிருந்து வேறுபட்டது: stecture2darray " -"[படத்திற்கு] இடையே Trilinear இடைக்கணிப்பை ஆதரிக்காது, அதாவது கலப்பு இல்லை. சிறப்பு " -"க்யூபேப் செயல்பாடுகளைக் கொண்ட அமைப்பு வரிசைகள் [கியூபேமேப்] மற்றும் [கியூபேமபாரே] " -"ஆகியவற்றைக் காண்க.\n" -" ஒரு Systure2Darray ஒரு [அட்லாச்ட் டெக்ச்டெர்] இலிருந்து வேறுபட்டது: ஒரு அமைப்பு " -"2DARRAY இல், எல்லா படங்களும் தனித்தனியாக நடத்தப்படுகின்றன. ஒரு அட்லசில், பிராந்தியங்கள் " -"(அதாவது ஒற்றை படங்கள்) வெவ்வேறு அளவுகளில் இருக்கலாம். மேலும், ஒன்றுக்கு மேற்பட்ட " -"பகுதிகளுக்கு தற்செயலான புற ஊதா வரைபடத்தைத் தடுக்க, நீங்கள் வழக்கமாக பிராந்தியங்களைச் " -"சுற்றி ஒரு திணிப்பைச் சேர்க்க வேண்டும். MipMapping க்கும் இதுவே செல்கிறது: ஒவ்வொரு " -"அடுக்குக்கும் MIPMAP சங்கிலிகள் தனித்தனியாக கையாளப்படுகின்றன. ஒரு அட்லசில், துண்டு " -"துண்டாக துண்டுகளை கைமுறையாக செய்ய வேண்டும்.\n" -" அத்தகைய அமைப்பு கோப்பை நீங்களே உருவாக்க, கோடோட் எடிட்டர் இறக்குமதி முன்னமைவுகளைப் " -"பயன்படுத்தி உங்கள் படக் கோப்புகளை திருப்பிச் செலுத்துங்கள்." - msgid "" "Creates a placeholder version of this resource ([PlaceholderTexture2DArray])." msgstr "இந்த வளத்தின் ஒதுக்கிட பதிப்பை உருவாக்கவும் ([பிளேச்ஓல்டர்கள் Strecure2Darray])." diff --git a/doc/translations/uk.po b/doc/translations/uk.po index 7b959812b25..62e8076cd4d 100644 --- a/doc/translations/uk.po +++ b/doc/translations/uk.po @@ -31,7 +31,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-02-21 08:54+0000\n" +"PO-Revision-Date: 2025-02-24 16:25+0000\n" "Last-Translator: Максим Горпиніч \n" "Language-Team: Ukrainian \n" @@ -18735,6 +18735,66 @@ msgstr "" "призвело до збільшення використання ЦП і більшого ризику зламу звуку, якщо ЦП " "не встигає." +msgid "" +"The sample rate to use (in Hz). Higher values are more demanding for the CPU " +"to generate, but result in better quality.\n" +"In games, common sample rates in use are [code]11025[/code], [code]16000[/" +"code], [code]22050[/code], [code]32000[/code], [code]44100[/code], and " +"[code]48000[/code].\n" +"According to the [url=https://en.wikipedia.org/wiki/" +"Nyquist%E2%80%93Shannon_sampling_theorem]Nyquist-Shannon sampling theorem[/" +"url], there is no quality difference to human hearing when going past 40,000 " +"Hz (since most humans can only hear up to ~20,000 Hz, often less). If you are " +"generating lower-pitched sounds such as voices, lower sample rates such as " +"[code]32000[/code] or [code]22050[/code] may be usable with no loss in " +"quality.\n" +"[b]Note:[/b] [AudioStreamGenerator] is not automatically resampling input " +"data, to produce expected result [member mix_rate_mode] should match the " +"sampling rate of input data.\n" +"[b]Note:[/b] If you are using [AudioEffectCapture] as the source of your " +"data, set [member mix_rate_mode] to [constant MIX_RATE_INPUT] or [constant " +"MIX_RATE_OUTPUT] to automatically match current [AudioServer] mixing rate." +msgstr "" +"Частота дискретизації для використання (у Гц). Вищі значення вимагають від " +"процесора генерувати більше, але це призводить до кращої якості. \n" +"В іграх стандартні частоти дискретизації: [code]11025[/code], [code]16000[/" +"code], [code]22050[/code], [code]32000[/code], [code]44100[/code] і " +"[code]48000[/code]. \n" +"Згідно з [url=https://en.wikipedia.org/wiki/" +"Nyquist%E2%80%93Shannon_sampling_theorem]теоремою про вибірку Найквіста-" +"Шеннона[/url], якість людського слуху не змінюється при перевищенні 40 000 Гц " +"(оскільки більшість людей чують лише до ~20 000 Гц, часто менше). Якщо ви " +"створюєте низькі звуки, як-от голоси, можна використовувати нижчу частоту " +"дискретизації, наприклад [code]32000[/code] або [code]22050[/code] без втрати " +"якості. \n" +"[b]Примітка: [/b] [AudioStreamGenerator] не виконує автоматичну повторну " +"дискретизацію вхідних даних, щоб отримати очікуваний результат, [member " +"mix_rate_mode] має відповідати частоті дискретизації вхідних даних. \n" +"[b]Примітка.[/b] Якщо ви використовуєте [AudioEffectCapture] як джерело своїх " +"даних, установіть [member mix_rate_mode] на [constant MIX_RATE_INPUT] або " +"[constant MIX_RATE_OUTPUT], щоб автоматично відповідати поточній швидкості " +"змішування [AudioServer]." + +msgid "" +"Mixing rate mode. If set to [constant MIX_RATE_CUSTOM], [member mix_rate] is " +"used, otherwise current [AudioServer] mixing rate is used." +msgstr "" +"Швидкісний режим змішування. Якщо встановлено значення [constant " +"MIX_RATE_CUSTOM], використовується [member mix_rate], інакше використовується " +"поточна швидкість змішування [AudioServer]." + +msgid "Current [AudioServer] output mixing rate." +msgstr "Поточна швидкість змішування вихідного сигналу [AudioServer]." + +msgid "Current [AudioServer] input mixing rate." +msgstr "Поточна швидкість змішування вхідного сигналу [AudioServer]." + +msgid "Custom mixing rate, specified by [member mix_rate]." +msgstr "Спеціальна швидкість змішування, визначена [member mix_rate]." + +msgid "Maximum value for the mixing rate mode enum." +msgstr "Максимальне значення для режиму швидкості змішування enum." + msgid "Plays back audio generated using [AudioStreamGenerator]." msgstr "Відтворює звук, створений за допомогою [AudioStreamGenerator]." @@ -21197,6 +21257,29 @@ msgstr "" "Якщо [code]true[/code], об’єкт відтворюється однакового розміру незалежно від " "відстані." +msgid "" +"If [code]true[/code], enables the vertex grow setting. This can be used to " +"create mesh-based outlines using a second material pass and its [member " +"cull_mode] set to [constant CULL_FRONT]. See also [member grow_amount].\n" +"[b]Note:[/b] Vertex growth cannot create new vertices, which means that " +"visible gaps may occur in sharp corners. This can be alleviated by designing " +"the mesh to use smooth normals exclusively using [url=http://wiki.polycount." +"com/wiki/Face_weighted_normals]face weighted normals[/url] in the 3D " +"authoring software. In this case, grow will be able to join every outline " +"together, just like in the original mesh." +msgstr "" +"Якщо [code]true[/code], вмикає параметр зростання вершини. Це можна " +"використовувати для створення контурів на основі сітки за допомогою другого " +"проходу матеріалу та його [member cull_mode], встановленого на [constant " +"CULL_FRONT]. Дивіться також [member grow_amount]. \n" +"[b]Примітка: [/b] Зростання вершин не може створювати нові вершини, а це " +"означає, що в гострих кутах можуть виникнути видимі розриви. Це можна " +"пом’якшити, спроектувавши сітку для використання згладжених нормалей виключно " +"за допомогою [url=http://wiki.polycount.com/wiki/" +"Face_weighted_normals]зважених нормалей [/url] у програмному забезпеченні для " +"створення 3D. У цьому випадку grow зможе об’єднати кожен контур разом, як і в " +"оригінальній сітці." + msgid "" "Grows object vertices in the direction of their normals. Only effective if " "[member grow] is [code]true[/code]." @@ -26812,6 +26895,50 @@ msgstr "" "використання [методу draw_mesh], [методу draw_multimesh] або [методу " "RenderingServer.canvas_item_add_triangle_array]." +msgid "" +"Draws a dashed line from a 2D point to another, with a given color and width. " +"See also [method draw_line], [method draw_multiline], and [method " +"draw_polyline].\n" +"If [param width] is negative, then a two-point primitives will be drawn " +"instead of a four-point ones. This means that when the CanvasItem is scaled, " +"the line parts will remain thin. If this behavior is not desired, then pass a " +"positive [param width] like [code]1.0[/code].\n" +"[param dash] is the length of each dash in pixels, with the gap between each " +"dash being the same length. If [param aligned] is [code]true[/code], the " +"length of the first and last dashes may be shortened or lengthened to allow " +"the line to begin and end at the precise points defined by [param from] and " +"[param to]. Both ends are always symmetrical when [param aligned] is " +"[code]true[/code]. If [param aligned] is [code]false[/code], all dashes will " +"have the same length, but the line may appear incomplete at the end due to " +"the dash length not dividing evenly into the line length. Only full dashes " +"are drawn when [param aligned] is [code]false[/code].\n" +"If [param antialiased] is [code]true[/code], half transparent \"feathers\" " +"will be attached to the boundary, making outlines smooth.\n" +"[b]Note:[/b] [param antialiased] is only effective if [param width] is " +"greater than [code]0.0[/code]." +msgstr "" +"Малює пунктирну лінію від 2D-точки до іншої заданого кольору та ширини. " +"Дивіться також [метод draw_line], [метод draw_multiline] і [метод " +"draw_polyline]. \n" +"Якщо параметр [param width] від’ємний, то замість чотирьохточкових примітивів " +"буде намальовано двоточкові. Це означає, що коли CanvasItem масштабується, " +"частини лінії залишаться тонкими. Якщо така поведінка небажана, передайте " +"позитивний [param width], як [code]1.0[/code]. \n" +"[param dash] — це довжина кожного штриха в пікселях, причому проміжок між " +"кожним штрихом має однакову довжину. Якщо [param aligned] має значення " +"[code]true[/code], довжину першого та останнього тире можна скоротити або " +"подовжити, щоб дозволити лінії починатися та закінчуватися в точних точках, " +"визначених [param from] та [param to]. Обидва кінці завжди симетричні, коли " +"[param aligned] має значення [code]true[/code]. Якщо [param aligned] має " +"значення [code]false[/code], усі тире матимуть однакову довжину, але рядок " +"може виглядати неповним у кінці через те, що довжина тире не рівномірно " +"ділиться на довжину рядка. Лише цілі тире малюються, коли [param aligned] має " +"значення [code]false[/code]. \n" +"Якщо [param antialiased] має значення [code]true[/code], напівпрозорі «пір’я» " +"будуть прикріплені до межі, роблячи контури гладкими. \n" +"[b]Примітка:[/b] [param antialiased] ефективний, лише якщо [param width] " +"більше ніж [code]0.0[/code]." + msgid "" "After submitting all animations slices via [method draw_animation_slice], " "this function can be used to revert drawing to its default state (all " @@ -26855,6 +26982,23 @@ msgstr "" " dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" " [/codeblock]" +msgid "" +"Draws a line from a 2D point to another, with a given color and width. It can " +"be optionally antialiased. See also [method draw_dashed_line], [method " +"draw_multiline], and [method draw_polyline].\n" +"If [param width] is negative, then a two-point primitive will be drawn " +"instead of a four-point one. This means that when the CanvasItem is scaled, " +"the line will remain thin. If this behavior is not desired, then pass a " +"positive [param width] like [code]1.0[/code]." +msgstr "" +"Малює лінію від 2D-точки до іншої із заданим кольором і шириною. Його можна " +"додатково згладжувати. Дивіться також [метод draw_dashed_line], [метод " +"draw_multiline] і [метод draw_polyline]. \n" +"Якщо параметр [param width] має від’ємне значення, то буде намальовано " +"двоточковий примітив замість чотириточкового. Це означає, що коли CanvasItem " +"масштабується, лінія залишатиметься тонкою. Якщо така поведінка небажана, " +"передайте позитивний [param width], як [code]1.0[/code]." + msgid "" "Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for " "related documentation." @@ -35404,6 +35548,13 @@ msgstr "" "[method Viewport.gui_is_drag_successful].\n" "Кращий використовується з [constant Node. Реєстрація." +msgid "" +"Returns [code]true[/code] if layout is right-to-left. See also [member " +"layout_direction]." +msgstr "" +"Повертає [code]true[/code], якщо макет справа наліво. Дивіться також [member " +"layout_direction]." + msgid "Give up the focus. No other control will be able to receive input." msgstr "Подаруйте увагу. Немає іншого контролю буде в змозі отримати вхід." @@ -35892,6 +36043,15 @@ msgstr "" "його вертикальний мінімальний розмір змінюється, ніж його поточний розмір, " "так як контроль завжди повинен бути не менше мінімального розміру." +msgid "" +"Controls layout direction and text writing direction. Right-to-left layouts " +"are necessary for certain languages (e.g. Arabic and Hebrew). See also " +"[method is_layout_rtl]." +msgstr "" +"Контролює напрямок макета та напрямок написання тексту. Розкладка справа " +"наліво необхідна для певних мов (наприклад, арабської та івриту). Дивіться " +"також [метод is_layout_rtl]." + msgid "" "If [code]true[/code], automatically converts code line numbers, list indices, " "[SpinBox] and [ProgressBar] values from the Western Arabic (0..9) to the " @@ -36519,6 +36679,15 @@ msgstr "" "на настільних / веб-платформах, коли [члени ПроектуНалаштування.input_devices/" "pointing/emulate_touch_from_mouse]." +msgid "" +"Sent when the control layout direction is changed from LTR or RTL or vice " +"versa. This notification is propagated to child Control nodes as result of a " +"change to [member layout_direction]." +msgstr "" +"Надсилається, коли напрямок макета елементів керування змінюється з LTR або " +"RTL або навпаки. Це сповіщення поширюється на дочірні вузли керування в " +"результаті зміни в [member layout_direction]." + msgid "" "Show the system's arrow mouse cursor when the user hovers the node. Use with " "[member mouse_default_cursor_shape]." @@ -36974,12 +37143,57 @@ msgid "" "direction." msgstr "Автоматичний напрямок макета, визначений з напрямку планування батьків." +msgid "" +"Automatic layout direction, determined from the current locale. Right-to-left " +"layout direction is automatically used for languages that require it such as " +"Arabic and Hebrew, but only if a valid translation file is loaded for the " +"given language (unless said language is configured as a fallback in [member " +"ProjectSettings.internationalization/locale/fallback]). For all other " +"languages (or if no valid translation file is found by Godot), left-to-right " +"layout direction is used. If using [TextServerFallback] ([member " +"ProjectSettings.internationalization/rendering/text_driver]), left-to-right " +"layout direction is always used regardless of the language. Right-to-left " +"layout direction can also be forced using [member ProjectSettings." +"internationalization/rendering/force_right_to_left_layout_direction]." +msgstr "" +"Автоматичний напрямок макета, визначений на основі поточної мови. Напрямок " +"компонування справа наліво автоматично використовується для мов, які " +"вимагають його, наприклад арабської та івриту, але лише якщо для даної мови " +"завантажено дійсний файл перекладу (якщо зазначену мову не налаштовано як " +"резервну в [member ProjectSettings.internationalization/locale/fallback]). " +"Для всіх інших мов (або якщо Godot не знайшов дійсний файл перекладу) " +"використовується напрямок компонування зліва направо. Якщо використовується " +"[TextServerFallback] ([member ProjectSettings.internationalization/rendering/" +"text_driver]), напрямок макета зліва направо завжди використовується " +"незалежно від мови. Напрямок макета справа наліво також можна примусово " +"встановити за допомогою [member ProjectSettings.internationalization/" +"rendering/force_right_to_left_layout_direction]." + msgid "Left-to-right layout direction." msgstr "Вліво-правовий напрямок макета." msgid "Right-to-left layout direction." msgstr "Прямий напрямок макета." +msgid "" +"Automatic layout direction, determined from the system locale. Right-to-left " +"layout direction is automatically used for languages that require it such as " +"Arabic and Hebrew, but only if a valid translation file is loaded for the " +"given language.. For all other languages (or if no valid translation file is " +"found by Godot), left-to-right layout direction is used. If using " +"[TextServerFallback] ([member ProjectSettings.internationalization/rendering/" +"text_driver]), left-to-right layout direction is always used regardless of " +"the language." +msgstr "" +"Автоматичний напрямок макета, визначений на основі локалі системи. Напрямок " +"макета справа наліво автоматично використовується для мов, які цього " +"вимагають, як-от арабська та іврит, але лише якщо для даної мови завантажено " +"дійсний файл перекладу. Для всіх інших мов (або якщо Годо не знайшов дійсний " +"файл перекладу) використовується напрямок макета зліва направо. Якщо " +"використовується [TextServerFallback] ([member ProjectSettings." +"internationalization/rendering/text_driver]), напрямок макета зліва направо " +"завжди використовується незалежно від мови." + msgid "Represents the size of the [enum LayoutDirection] enum." msgstr "Представляє розмір переліку [enum LayoutDirection]." @@ -39124,146 +39338,12 @@ msgstr "" "Шість квадратових текстур, що представляють обличчя куба. Зазвичай " "використовується як хмарочос." -msgid "" -"A cubemap is made of 6 textures organized in layers. They are typically used " -"for faking reflections in 3D rendering (see [ReflectionProbe]). It can be " -"used to make an object look as if it's reflecting its surroundings. This " -"usually delivers much better performance than other reflection methods.\n" -"This resource is typically used as a uniform in custom shaders. Few core " -"Godot methods make use of [Cubemap] resources.\n" -"To create such a texture file yourself, reimport your image files using the " -"Godot Editor import presets. The expected image order is X+, X-, Y+, Y-, Z+, " -"Z- (in Godot's coordinate system, so Y+ is \"up\" and Z- is \"forward\"). You " -"can use one of the following templates as a base:\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_2x3.webp]2×3 cubemap template " -"(default layout option)[/url]\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_3x2.webp]3×2 cubemap template[/" -"url]\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_1x6.webp]1×6 cubemap template[/" -"url]\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_6x1.webp]6×1 cubemap template[/" -"url]\n" -"[b]Note:[/b] Godot doesn't support using cubemaps in a [PanoramaSkyMaterial]. " -"To use a cubemap as a skybox, convert the default [PanoramaSkyMaterial] to a " -"[ShaderMaterial] using the [b]Convert to ShaderMaterial[/b] resource dropdown " -"option, then replace its code with the following:\n" -"[codeblock lang=text]\n" -"shader_type sky;\n" -"\n" -"uniform samplerCube source_panorama : filter_linear, source_color, " -"hint_default_black;\n" -"uniform float exposure : hint_range(0, 128) = 1.0;\n" -"\n" -"void sky() {\n" -" // If importing a cubemap from another engine, you may need to flip one " -"of the `EYEDIR` components below\n" -" // by replacing it with `-EYEDIR`.\n" -" vec3 eyedir = vec3(EYEDIR.x, EYEDIR.y, EYEDIR.z);\n" -" COLOR = texture(source_panorama, eyedir).rgb * exposure;\n" -"}\n" -"[/codeblock]\n" -"After replacing the shader code and saving, specify the imported Cubemap " -"resource in the Shader Parameters section of the ShaderMaterial in the " -"inspector.\n" -"Alternatively, you can use [url=https://danilw.github.io/GLSL-howto/" -"cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a " -"cubemap to an equirectangular sky map and use [PanoramaSkyMaterial] as usual." -msgstr "" -"Кубічна карта складається з 6 текстур, організованих у шари. Зазвичай вони " -"використовуються для імітації відображень у 3D-візуалізації (див. " -"[ReflectionProbe]). Його можна використовувати, щоб зробити об’єкт таким, " -"ніби він відображає навколишнє середовище. Це зазвичай забезпечує набагато " -"кращу продуктивність, ніж інші методи відображення.\n" -"Цей ресурс зазвичай використовується як уніформа в власних шейдерах. Кілька " -"основних методів Годо використовують ресурси [Cubemap].\n" -"Щоб самостійно створити такий файл текстури, повторно імпортуйте файли " -"зображень за допомогою попередніх налаштувань імпорту редактора Godot. " -"Очікуваний порядок зображень: X+, X-, Y+, Y-, Z+, Z- (у системі координат " -"Годо, тому Y+ — «вгору», а Z- — «вперед»). За основу можна взяти один із " -"наступних шаблонів:\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_2x3.webp]Шаблон кубічної карти " -"2×3 (параметр макета за замовчуванням)[/url]\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_3x2.webp]Шаблон кубічної карти " -"3×2[/url]\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_1x6.webp]Шаблон кубічної карти " -"1×6[/url]\n" -"- [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/" -"tutorials/assets_pipeline/img/cubemap_template_6x1.webp]Шаблон кубічної карти " -"6×1[/url]\n" -"[b]Примітка: [/b] Godot не підтримує використання кубичних карт у " -"[PanoramaSkyMaterial]. Щоб використовувати кубічну карту як скайбокс, " -"перетворіть [PanoramaSkyMaterial] на [ShaderMaterial] за допомогою параметра " -"ресурсу [b]Convert to ShaderMaterial[/b], що випадає, а потім замініть його " -"код таким:\n" -"[codeblock lang=text]\n" -"shader_type небо;\n" -"\n" -"uniform samplerCube source_panorama : filter_linear, source_color, " -"hint_default_black;\n" -"uniform float exposure: hint_range(0, 128) = 1,0;\n" -"\n" -"void sky() {\n" -" // Якщо імпортуєте кубічну карту з іншого механізму, вам може знадобитися " -"перевернути один із компонентів `EYEDIR` нижче\n" -" // замінивши його на `-EYEDIR`.\n" -" vec3 eyedir = vec3(EYEDIR.x, EYEDIR.y, EYEDIR.z);\n" -" COLOR = texture(source_panorama, eyedir).rgb * exposure;\n" -"}\n" -"[/codeblock]\n" -"Після заміни коду шейдера та збереження вкажіть імпортований ресурс Cubemap у " -"розділі Shader Parameters ShaderMaterial в інспекторі.\n" -"Крім того, ви можете використовувати [url=https://danilw.github.io/GLSL-howto/" -"cubemap_to_panorama_js/cubemap_to_panorama.html]цей інструмент[/url], щоб " -"перетворити кубічну карту на рівнопрямокутну карту неба та використовувати " -"[PanoramaSkyMaterial] як зазвичай." - msgid "Creates a placeholder version of this resource ([PlaceholderCubemap])." msgstr "Створює резиденцію вкладника цього ресурсу ([ОтримувачаКупета])." msgid "An array of [Cubemap]s, stored together and with a single reference." msgstr "Array of [Cubemap]s, збережені разом і з одним посиланням." -msgid "" -"[CubemapArray]s are made of an array of [Cubemap]s. Like [Cubemap]s, they are " -"made of multiple textures, the amount of which must be divisible by 6 (one " -"for each face of the cube).\n" -"The primary benefit of [CubemapArray]s is that they can be accessed in shader " -"code using a single texture reference. In other words, you can pass multiple " -"[Cubemap]s into a shader using a single [CubemapArray]. [Cubemap]s are " -"allocated in adjacent cache regions on the GPU, which makes [CubemapArray]s " -"the most efficient way to store multiple [Cubemap]s.\n" -"[b]Note:[/b] Godot uses [CubemapArray]s internally for many effects, " -"including the [Sky] if you set [member ProjectSettings.rendering/reflections/" -"sky_reflections/texture_array_reflections] to [code]true[/code]. To create " -"such a texture file yourself, reimport your image files using the import " -"presets of the File System dock.\n" -"[b]Note:[/b] [CubemapArray] is not supported in the Compatibility renderer." -msgstr "" -"[CubemapArray]s складаються з масиву [Cubemap]. Як і [Cubemap], вони " -"складаються з кількох текстур, кількість яких має ділитися на 6 (по одній для " -"кожної грані куба).\n" -"Основна перевага [CubemapArray]s полягає в тому, що до них можна отримати " -"доступ у коді шейдера за допомогою єдиного посилання на текстуру. Іншими " -"словами, ви можете передати кілька [Cubemap] у шейдер за допомогою одного " -"[CubemapArray]. [Cubemap]s розміщуються в суміжних областях кешу на GPU, що " -"робить [CubemapArray]s найефективнішим способом зберігання кількох " -"[Cubemap]s.\n" -"[b]Примітка.[/b] Godot використовує внутрішньо [CubemapArray] для багатьох " -"ефектів, зокрема для [Sky], якщо ви встановите [member ProjectSettings." -"rendering/reflections/sky_reflections/texture_array_reflections] значення " -"[code]true[/code]. Щоб самостійно створити такий файл текстури, повторно " -"імпортуйте файли зображень за допомогою попередніх налаштувань імпорту док-" -"станції File System.\n" -"[b]Примітка.[/b] [CubemapArray] не підтримується в засобі візуалізації " -"сумісності." - msgid "" "Creates a placeholder version of this resource ([PlaceholderCubemapArray])." msgstr "Створює резиденцію резидента цього ресурсу ([СкладачCubemapArray])." @@ -60814,6 +60894,28 @@ msgstr "" "Якщо [code]true[/code], у Linux/BSD редактор спочатку перевірить наявність " "Wayland замість X11 (якщо доступно)." +msgid "" +"Specifies how the Play window is launched relative to the Android editor.\n" +"- [b]Auto (based on screen size)[/b] (default) will automatically choose how " +"to launch the Play window based on the device and screen metrics. Defaults to " +"[b]Same as Editor[/b] on phones and [b]Side-by-side with Editor[/b] on " +"tablets.\n" +"- [b]Same as Editor[/b] will launch the Play window in the same window as the " +"Editor.\n" +"- [b]Side-by-side with Editor[/b] will launch the Play window side-by-side " +"with the Editor window.\n" +"[b]Note:[/b] Only available in the Android editor." +msgstr "" +"Визначає спосіб запуску вікна Play відносно редактора Android. \n" +"- [b]Авто (на основі розміру екрана)[/b] (за замовчуванням) автоматично " +"вибере спосіб запуску вікна відтворення на основі показників пристрою та " +"екрана. За замовчуванням [b]Те саме, що редактор[/b] на телефонах і [b]поряд " +"із редактором[/b] на планшетах. \n" +"- [b]Same as Editor[/b] запустить вікно Play у тому ж вікні, що й редактор. \n" +"- [b]Пліч-о-пліч із редактором[/b] запустить вікно відтворення поруч із " +"вікном редактора. \n" +"[b]Примітка.[/b] Доступно лише в редакторі Android." + msgid "" "Overrides game embedding setting for all newly opened projects. If enabled, " "game embedding settings are not saved." @@ -61003,6 +61105,13 @@ msgstr "" "Простір додавати між лініями (у пікселях). Більша лінія спати може допомогти " "поліпшити читабельність за вартістю відображення менших ліній на екрані." +msgid "" +"If [code]true[/code], documentation tooltips will appear when hovering over a " +"symbol." +msgstr "" +"Якщо [code]true[/code], підказки документації з’являтимуться під час " +"наведення курсора на символ." + msgid "" "If [code]true[/code], tool scripts will be automatically soft-reloaded after " "they are saved." @@ -65225,6 +65334,23 @@ msgstr "" "Максимальна кількість кроків для відображення екранів. Більшість значень " "уповільнюються." +msgid "" +"Adjusts the brightness of values before they are provided to the tonemapper. " +"Higher [member tonemap_exposure] values result in a brighter image. See also " +"[member tonemap_white].\n" +"[b]Note:[/b] Values provided to the tonemapper will also be multiplied by " +"[code]2.0[/code] and [code]1.8[/code] for [constant TONE_MAPPER_FILMIC] and " +"[constant TONE_MAPPER_ACES] respectively to produce a similar apparent " +"brightness as [constant TONE_MAPPER_LINEAR]." +msgstr "" +"Регулює яскравість значень перед тим, як вони будуть надані тональному " +"картографу. Вищі значення [member tonemap_exposure] призводять до яскравішого " +"зображення. Дивіться також [member tonemap_white]. \n" +"[b]Примітка.[/b] Значення, надані в tonemapper, також буде помножено на " +"[code]2.0[/code] і [code]1.8[/code] для [константи TONE_MAPPER_FILMIC] і " +"[константи TONE_MAPPER_ACES] відповідно, щоб отримати таку саму видиму " +"яскравість, як [константа TONE_MAPPER_LINEAR]." + msgid "" "The tonemapping mode to use. Tonemapping is the process that \"converts\" HDR " "values to be suitable for rendering on an LDR display. (Godot doesn't support " @@ -65234,6 +65360,23 @@ msgstr "" "значення HDR, який підходить для рендерінгу на дисплеї LDR. (Godot не " "підтримує покази HDR ще.)" +msgid "" +"The white reference value for tonemapping, which indicates where bright white " +"is located in the scale of values provided to the tonemapper. For " +"photorealistic lighting, recommended values are between [code]6.0[/code] and " +"[code]8.0[/code]. Higher values result in less blown out highlights, but may " +"make the scene appear lower contrast. See also [member tonemap_exposure].\n" +"[b]Note:[/b] [member tonemap_white] is ignored when using [constant " +"TONE_MAPPER_LINEAR] or [constant TONE_MAPPER_AGX]." +msgstr "" +"Еталонне значення білого для відображення тонів, яке вказує, де розташований " +"яскравий білий на шкалі значень, наданих до відображення тонів. Для " +"фотореалістичного освітлення рекомендовані значення від [code]6.0[/code] до " +"[code]8.0[/code]. Вищі значення призводять до меншого освітлення, але можуть " +"зробити сцену менш контрастною. Дивіться також [member tonemap_exposure]. \n" +"[b]Примітка.[/b] [member tonemap_white] ігнорується під час використання " +"[константи TONE_MAPPER_LINEAR] або [константи TONE_MAPPER_AGX]." + msgid "" "The [Color] of the volumetric fog when interacting with lights. Mist and fog " "have an albedo close to [code]Color(1, 1, 1, 1)[/code] while smoke has a " @@ -65496,6 +65639,68 @@ msgstr "" msgid "Use the [Sky] for reflections regardless of what the background is." msgstr "Використовуйте [Sky] для відображення незалежно від того, що фон є." +msgid "" +"Does not modify color data, resulting in a linear tonemapping curve which " +"unnaturally clips bright values, causing bright lighting to look blown out. " +"The simplest and fastest tonemapper." +msgstr "" +"Не змінює колірні дані, що призводить до лінійної кривої відображення тонів, " +"яка неприродно відсікає яскраві значення, через що яскраве освітлення " +"виглядає тьмяним. Найпростіший і найшвидший тональний картограф." + +msgid "" +"A simple tonemapping curve that rolls off bright values to prevent clipping. " +"This results in an image that can appear dull and low contrast. Slower than " +"[constant TONE_MAPPER_LINEAR].\n" +"[b]Note:[/b] When [member tonemap_white] is left at the default value of " +"[code]1.0[/code], [constant TONE_MAPPER_REINHARDT] produces an identical " +"image to [constant TONE_MAPPER_LINEAR]." +msgstr "" +"Проста крива відображення тону, яка зменшує яскраві значення, щоб запобігти " +"відсіканню. Це призводить до того, що зображення може виглядати тьмяним і " +"низькоконтрастним. Повільніше, ніж [постійний TONE_MAPPER_LINEAR]. \n" +"[b]Примітка.[/b] Якщо [member tonemap_white] залишити значення за " +"замовчуванням [code]1.0[/code], [константа TONE_MAPPER_REINHARDT] створює " +"зображення, ідентичне [константі TONE_MAPPER_LINEAR]." + +msgid "" +"Uses a film-like tonemapping curve to prevent clipping of bright values and " +"provide better contrast than [constant TONE_MAPPER_REINHARDT]. Slightly " +"slower than [constant TONE_MAPPER_REINHARDT]." +msgstr "" +"Використовує плівкову криву відображення тонів, щоб запобігти відсіканню " +"яскравих значень і забезпечити кращий контраст, ніж [постійний " +"TONE_MAPPER_REINHARDT]. Трохи повільніше, ніж [константа " +"TONE_MAPPER_REINHARDT]." + +msgid "" +"Uses a high-contrast film-like tonemapping curve and desaturates bright " +"values for a more realistic appearance. Slightly slower than [constant " +"TONE_MAPPER_FILMIC].\n" +"[b]Note:[/b] This tonemapping operator is called \"ACES Fitted\" in Godot 3.x." +msgstr "" +"Використовує висококонтрастну криву відтворення тонів, подібну до плівки, і " +"зменшує насиченість яскравих значень для більш реалістичного вигляду. Трохи " +"повільніше, ніж [постійний TONE_MAPPER_FILMIC]. \n" +"[b]Примітка: [/b] Цей оператор тонального відображення називається «ACES " +"Fitted» у Godot 3.x." + +msgid "" +"Uses a film-like tonemapping curve and desaturates bright values for a more " +"realistic appearance. Better than other tonemappers at maintaining the hue of " +"colors as they become brighter. The slowest tonemapping option.\n" +"[b]Note:[/b] [member tonemap_white] is fixed at a value of [code]16.29[/" +"code], which makes [constant TONE_MAPPER_AGX] unsuitable for use with the " +"Mobile rendering method." +msgstr "" +"Використовує плівкову криву відображення тонів і зменшує насиченість яскравих " +"значень для більш реалістичного вигляду. Краще, ніж інші картографи тонів, " +"підтримує відтінок кольорів, коли вони стають яскравішими. Найповільніший " +"варіант тонального відображення. \n" +"[b]Примітка.[/b] [member tonemap_white] має значення [code]16.29[/code], що " +"робить [константу TONE_MAPPER_AGX] непридатною для використання з методом " +"мобільного візуалізації." + msgid "" "Additive glow blending mode. Mostly used for particles, glows (bloom), lens " "flare, bright sources." @@ -77158,6 +77363,100 @@ msgstr "" 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://example.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://" +"example.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" +"Заголовки – це заголовки запитів HTTP. Доступні методи HTTP див. [метод " +"enum]. \n" +"Щоб створити запит POST із рядками запиту для надсилання на сервер, " +"виконайте: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var fields = {\"username\" : \"user\", \"password\" : \"pass\"} \n" +"var query_string = http_client.query_string_from_dict(поля) \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(поля); \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 body] ігнорується, якщо [param method] має " +"значення [constant HTTPClient.METHOD_GET]. Це тому, що методи GET не можуть " +"містити дані запиту. Як обхідний шлях можна передати дані запиту як рядок " +"запиту в URL-адресі. Для прикладу див. [метод 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://example.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" +"Sends the body data raw, as a byte array and does not encode it in any way." +msgstr "" +"Надсилає необроблений запит підключеному хосту. \n" +"Параметр URL-адреси зазвичай є частиною після хосту, тому для [code]https://" +"example.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" +"Заголовки – це заголовки запитів HTTP. Доступні методи HTTP див. [метод " +"enum]. \n" +"Надсилає необроблені дані тіла у вигляді масиву байтів і жодним чином не " +"кодує їх." + msgid "" "Sets the proxy server for HTTP requests.\n" "The proxy server is unset if [param host] is empty or [param port] is -1." @@ -77883,6 +78182,346 @@ 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:[/b] Contact a REST API and print one of its returned fields:\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:[/b] Load an image using [HTTPRequest] and display it:\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://placehold.co/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://placehold.co/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]Note:[/b] [HTTPRequest] nodes 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 переконайтеся, що ви ввімкнули " +"дозвіл [code]INTERNET[/code] у попередньому налаштуванні експорту Android " +"перед експортом проекту або використанням розгортання одним клацанням миші. " +"Інакше будь-який мережевий зв’язок буде заблоковано Android.\n" +"[b]Приклад:[/b] Зв’яжіться з REST API та надрукуйте одне з полів, що " +"повертаються:\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]Приклад:[/b] Завантажте зображення за допомогою [HTTPRequest] і " +"відобразіть його:\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://placehold.co/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://placehold.co/512\");\n" +" if (error != Error. Ok)\n" +" {\n" +" GD.PushError(\"У HTTP-запиті сталася помилка.\");\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]Примітка:[/b] вузли [HTTPRequest] автоматично оброблятимуть розпакування " +"тіл відповідей. Заголовок [code]Accept-Encoding[/code] буде автоматично " +"додано до кожного вашого запиту, якщо його ще не вказано. Будь-яку відповідь " +"із заголовком [code]Content-Encoding: gzip[/code] буде автоматично " +"розпаковано та доставлено вам у вигляді нестиснутих байтів." + msgid "Making HTTP requests" msgstr "Виконання HTTP-запитів" @@ -79637,19 +80276,6 @@ msgstr "" "використовувати безпосередньо, але містить всі функції, необхідні для доступу " "до отриманих типів ресурсів. Дивіться також [Texture3D]." -msgid "" -"Creates an [ImageTextureLayered] from an array of [Image]s. See [method Image." -"create] for the expected data format. The first image decides the width, " -"height, image format and mipmapping setting. The other images [i]must[/i] " -"have the same width, height, image format and mipmapping setting.\n" -"Each [Image] represents one [code]layer[/code]." -msgstr "" -"Створює [ImageTextureLayered] з масиву [Image]. Див. [method Image.create] " -"для очікуваного формату даних. Перший образ вирішує ширину, висоту, формат " -"зображення та налаштування зображення. Інші зображення [i]must[/i] мають " -"однакову ширину, висоту, формат зображення і налаштування зображення.\n" -"[code]layer[/code]." - msgid "" "Replaces the existing [Image] data at the given [param layer] with this new " "image.\n" @@ -79971,23 +80597,6 @@ msgstr "" "кадр). Тим не менш, це може бути корисним у розширених випадках, коли ви " "хочете точний контроль над термінами обробки подій." -msgid "" -"Returns the acceleration in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"Note this method returns an empty [Vector3] when running from the editor even " -"when your device has an accelerometer. You must export your project to a " -"supported device to read values from the accelerometer.\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Повертає прискорення в м/с2 датчика акселерометра пристрою, якщо пристрій має " -"один. В іншому випадку метод повертає [constant Vector3.ZERO].\n" -"Зверніть увагу, що цей метод повертає порожній [Vector3] при роботі з " -"редактором навіть коли ваш пристрій має акселерометр. Ви повинні експортувати " -"свій проект на підтримуваний пристрій для читання значень від акселерометра.\n" -"[b]Примітка:[/b] Цей метод працює тільки на Android і iOS. На інших " -"платформах завжди повертається [constant Vector3.ZERO]." - msgid "" "Returns a value between 0 and 1 representing the raw intensity of the given " "action, ignoring the action's deadzone. In most cases, you should use [method " @@ -80042,30 +80651,6 @@ msgid "Returns the currently assigned cursor shape (see [enum CursorShape])." msgstr "" "Повернення в даний час присвоєно форму курсора (див. [enum CursorShape])." -msgid "" -"Returns the gravity in m/s² of the device's accelerometer sensor, if the " -"device has one. Otherwise, the method returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Повернення ваги в м/с2 датчика акселерометра пристрою, якщо пристрій має " -"один. В іншому випадку метод повертає [constant Vector3.ZERO].\n" -"[b]Примітка:[/b] Цей метод працює тільки на Android і iOS. На інших " -"платформах завжди повертається [constant Vector3.ZERO]." - -msgid "" -"Returns the rotation rate in rad/s around a device's X, Y, and Z axes of the " -"gyroscope sensor, if the device has one. Otherwise, the method returns " -"[constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Повертаємо швидкість обертання в раді/с навколо пристрою X, Y та Z осі " -"датчика гіроскопа, якщо пристрій має один. В іншому випадку метод повертає " -"[constant Vector3.ZERO].\n" -"[b]Примітка:[/b] Цей метод працює тільки на Android і iOS. На інших " -"платформах завжди повертається [constant Vector3.ZERO]." - msgid "" "Returns the current value of the joypad axis at given index (see [enum " "JoyAxis])." @@ -80164,19 +80749,6 @@ msgstr "" "швидкості миша обчислюється тільки кожен 0.1s. Таким чином, швидкість мишки " "відставить рухи миші." -msgid "" -"Returns the magnetic field strength in micro-Tesla for all axes of the " -"device's magnetometer sensor, if the device has one. Otherwise, the method " -"returns [constant Vector3.ZERO].\n" -"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " -"it always returns [constant Vector3.ZERO]." -msgstr "" -"Повертає міцність магнітного поля в мікро-Tesla для всіх осей датчика " -"магнітометра пристрою, якщо пристрій має один. В іншому випадку метод " -"повертає [constant Vector3.ZERO].\n" -"[b]Примітка:[/b] Цей метод працює тільки на Android і iOS. На інших " -"платформах завжди повертається [constant Vector3.ZERO]." - msgid "" "Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at " "the same time, the bits are added together. Equivalent to [method " @@ -82360,54 +82932,55 @@ msgstr "" "64-розрядний цілочисельний тип зі знаком. Це означає, що він може приймати " "значення від [code]-2^63[/code] до [code]2^63 - 1[/code], тобто від " "[code]-9223372036854775808[/code] до [code]9223372036854775807[/code]. Коли " -"він перевищує ці межі, він обертається.\n" +"він перевищує ці межі, він обертається. \n" "[int]s можна автоматично перетворити на [float]s, коли це необхідно, " "наприклад, коли вони передаються як аргументи у функціях. [float] буде " -"максимально близьким до початкового цілого числа.\n" +"максимально близьким до початкового цілого числа. \n" "Подібним чином [float]s можна автоматично перетворити на [int]s. Це скоротить " -"[float], відкидаючи все, що стоїть після числа з плаваючою комою.\n" -"[b]Примітка: [/b] У логічному контексті [int] матиме значення [code]false[/" -"code], якщо він дорівнює [code]0[/code], і [code]true[/code] інакше.\n" -"[кодові блоки]\n" -"[gdscript]\n" -"змінна x: int = 1 # x дорівнює 1\n" -"x = 4,2 # x дорівнює 4, тому що 4,2 скорочується\n" +"[float], відкидаючи все, що стоїть після числа з плаваючою комою. \n" +"[b]Примітка.[/b] У логічному контексті [int] матиме значення [code]false[/" +"code], якщо він дорівнює [code]0[/code], і [code]true[/code] в іншому " +"випадку. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var x: int = 1 # x дорівнює 1 \n" +"x = 4,2 # x дорівнює 4, тому що 4,2 скорочується \n" "var max_int = 9223372036854775807 # Найбільше значення, яке може зберігати " -"int\n" +"int \n" "max_int += 1 # max_int дорівнює -9223372036854775808, тому що він обертається " -"навколо\n" -"[/gdscript]\n" -"[csharp]\n" -"int x = 1; // x дорівнює 1\n" -"х = (ціл.)4,2; // x дорівнює 4, тому що 4.2 скорочується\n" +"навколо \n" +"[/gdscript] \n" +"[csharp] \n" +"int x = 1; // x дорівнює 1 \n" +"х = (ціл.)4,2; // x дорівнює 4, тому що 4.2 скорочується \n" "// Нижче ми використовуємо long, тому що int GDScript є 64-бітним, тоді як " -"int C# є 32-бітним.\n" +"int C# є 32-бітним. \n" "long maxLong = 9223372036854775807; // Найбільше значення, яке може зберігати " -"long\n" +"long \n" "maxLong++; // maxLong тепер дорівнює -9223372036854775808, тому що він " -"обертався.\n" +"обертався. \n" "\n" "// Альтернативно з 32-розрядним типом int C#, який має менше максимальне " -"значення.\n" -"int maxInt = 2147483647; // Найбільше значення, яке може зберігати int\n" -"maxInt++; // maxInt тепер -2147483648, тому що він обертався\n" -"[/csharp]\n" -"[/codeblocks]\n" +"значення. \n" +"int maxInt = 2147483647; // Найбільше значення, яке може зберігати int \n" +"maxInt++; // maxInt тепер -2147483648, тому що він обертався \n" +"[/csharp] \n" +"[/codeblocks] \n" "Ви можете використовувати літерал [code]0b[/code] для двійкового " "представлення, літерал [code]0x[/code] для шістнадцяткового представлення та " "символ [code]_[/code] для розділення довгих чисел і покращення " -"читабельності.\n" -"[кодові блоки]\n" -"[gdscript]\n" -"var x = 0b1001 # x дорівнює 9\n" -"var y = 0xF5 # y дорівнює 245\n" -"var z = 10_000_000 # z дорівнює 10000000\n" -"[/gdscript]\n" -"[csharp]\n" -"int x = 0b1001; // х дорівнює 9\n" -"int y = 0xF5; // y дорівнює 245\n" -"int z = 10_000_000; // z дорівнює 10000000\n" -"[/csharp]\n" +"читабельності. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var x = 0b1001 # x дорівнює 9 \n" +"var y = 0xF5 # y дорівнює 245 \n" +"var z = 10_000_000 # z дорівнює 10000000 \n" +"[/gdscript] \n" +"[csharp] \n" +"int x = 0b1001; // х дорівнює 9 \n" +"int y = 0xF5; // y дорівнює 245 \n" +"int z = 10_000_000; // z дорівнює 10000000 \n" +"[/csharp] \n" "[/codeblocks]" msgid "Constructs an [int] set to [code]0[/code]." @@ -82453,13 +83026,13 @@ msgid "" "print(-5 % 3) # Prints -2\n" "[/codeblock]" msgstr "" -"Повертаємо решту після поділу двох [вхід]. Використовує розірваний поділ, " -"який повертає негативний номер, якщо дивіденд негативний. Якщо це не " -"потрібно, розглянемо використання [метод @GlobalScope.posmod].\n" -"[блокування коду]\n" -"Друк(6 % 2) # Друки 0\n" -"Друк(11 % 4) # Друки 3\n" -"Друк(-5 % 3) # Друки -2\n" +"Повертає залишок після ділення двох [int]. Використовує скорочене ділення, " +"яке повертає від’ємне число, якщо дивіденд від’ємний. Якщо це небажано, " +"спробуйте використати [метод @GlobalScope.posmod]. \n" +"[codeblock] \n" +"print(6 % 2) # Виводить 0 \n" +"print(11 % 4) # Друкує 3 \n" +"print(-5 % 3) # Виводить -2 \n" "[/codeblock]" msgid "" @@ -82475,16 +83048,16 @@ msgid "" " do_stuff() # This line will run.\n" "[/codeblock]" msgstr "" -"Виконує бітумну операцію [code] і[/code].\n" -"[блокування коду]\n" -"Друк(0b1100 & 0b1010) # Друк 8 (внутр. 1000)\n" -"[/codeblock]\n" -"Це корисно для оновлення бінарних прапорів з змінної.\n" -"[блокування коду]\n" -"Вар прапори = 0b101\n" -"Нема Перевірте, чи ввімкнено перший або другий біт.\n" -"якщо прапори & 0b011:\n" -"do_stuff() # Ця лінія буде працювати.\n" +"Виконує порозрядну операцію [код]І[/код]. \n" +"[codeblock] \n" +"print(0b1100 & 0b1010) # Виводить 8 (двійковий 1000) \n" +"[/codeblock] \n" +"Це корисно для отримання двійкових прапорів зі змінної. \n" +"[codeblock] \n" +"змінні прапори = 0b101 \n" +"# Перевірте, чи ввімкнено перший або другий біт. \n" +"якщо прапори & 0b011: \n" +" do_stuff() # Цей рядок буде виконано. \n" "[/codeblock]" msgid "Multiplies each component of the [Color] by the [int]." @@ -82504,9 +83077,9 @@ msgid "" "print(2 * Vector2(1, 4)) # Prints (2, 8)\n" "[/codeblock]" msgstr "" -"Множиці кожного компонента [Vector2] [int].\n" -"[блокування коду]\n" -"Друк(2 * Vector2(1, 4) # Друки (2,8)\n" +"Множить кожен компонент [Vector2] на [int].\n" +"[codeblock]\n" +"print(2 * Vector2(1, 4)) # Prints (2, 8)\n" "[/codeblock]" msgid "Multiplies each component of the [Vector2i] by the [int]." @@ -82536,9 +83109,9 @@ msgid "" "print(2 ** 0.5) # Prints 1.4142135623731\n" "[/codeblock]" msgstr "" -"З'ясуйте [вхід] до влади [float]. Результатом є [float].\n" -"[блокування коду]\n" -"Друк(2 ** 0.5) # Друки 1.4142135623731\n" +"Підносить [int] до степеня [float]. Результатом буде [float].\n" +"[codeblock]\n" +"print(2 ** 0.5) # Prints 1.4142135623731\n" "[/codeblock]" msgid "" @@ -82547,9 +83120,9 @@ msgid "" "print(3 ** 4) # Prints 81\n" "[/codeblock]" msgstr "" -"Знімає ліву [вхід] до влади права [втом].\n" -"[блокування коду]\n" -"Друк(3 ** 4) # Друки 81\n" +"Підносить лівий [int] до степеня правого [int].\n" +"[codeblock]\n" +"print(3 ** 4) # Виводить 81\n" "[/codeblock]" msgid "Adds the [int] and the [float]. The result is a [float]." @@ -82570,9 +83143,9 @@ msgid "" "print(10 / 3.0) # Prints 3.33333333333333\n" "[/codeblock]" msgstr "" -"Дивиди [int] [float]. Результатом є [float].\n" -"[блокування коду]\n" -"Друк(10 / 3.0) # Друки 3.33333333333\n" +"Розділяє [int] на [float]. Результатом буде [float].\n" +"[codeblock]\n" +"print(10 / 3.0) # Prints 3.33333333333333\n" "[/codeblock]" msgid "" @@ -82583,11 +83156,11 @@ msgid "" "print(5 / 3) # Prints 1\n" "[/codeblock]" msgstr "" -"Дивиди два [вхід]. Результатом є [int]. Це буде truncate [float], відкидаючи " -"що-небудь після плаваючої точки.\n" -"[блокування коду]\n" -"Друк(6 / 2) # Друки 3\n" -"Друк(5 / 3) # Друки 1\n" +"Розділяє два [int]. Результатом є [int]. Це скоротить [float], відкинувши все " +"після коми з плаваючою комою.\n" +"[codeblock]\n" +"print(6 / 2) # Виводить 3\n" +"print(5 / 3) # Виводить 1\n" "[/codeblock]" msgid "Returns [code]true[/code] if the [int] is less than the [float]." @@ -82605,11 +83178,11 @@ msgid "" "print(0b1010 << 3) # Prints 80 (binary 1010000)\n" "[/codeblock]" msgstr "" -"Виконує бітумний зсув лівої операції. Ефективно так само, як і розмноження " -"потужністю 2.\n" -"[блокування коду]\n" -"Друк(0b1010 << 1) # Друк 20 (внутр. 10100)\n" -"Друк(0b1010 << 3) # Друк 80 (внутр. 1010000)\n" +"Виконує операцію побітового зсуву вліво. Фактично те саме, що множення на " +"ступінь 2. \n" +"[codeblock] \n" +"print(0b1010 << 1) # Виводить 20 (двійковий 10100) \n" +"print(0b1010 << 3) # Виводить 80 (двійковий 1010000) \n" "[/codeblock]" msgid "" @@ -82655,11 +83228,11 @@ msgid "" "print(0b1010 >> 2) # Prints 2 (binary 10)\n" "[/codeblock]" msgstr "" -"Виконує автоматичне перемикання правої операції. Ефективно так само, як і " -"ділення від влади 2.\n" -"[блокування коду]\n" -"Друк(0b1010 >> 1) # Друки 5 (внутр. 101)\n" -"Друк(0b1010 >> 2) # Друки 2 (внутр. 10)\n" +"Виконує операцію порозрядного зсуву вправо. Фактично те саме, що ділення на " +"ступінь 2.\n" +"[codeblock]\n" +"print(0b1010 >> 1) # Виводить 5 (двійковий 101)\n" +"print(0b1010 >> 2) # Виводить 2 (двійковий 10)\n" "[/codeblock]" msgid "" @@ -82668,9 +83241,9 @@ msgid "" "print(0b1100 ^ 0b1010) # Prints 6 (binary 110)\n" "[/codeblock]" msgstr "" -"Виконує трохи більше [code]XOR[/code].\n" -"[блокування коду]\n" -"Друк(0b1100 ^ 0b1010) # Друк 6 (внутр. 110)\n" +"Виконує побітову операцію [code]XOR[/code].\n" +"[codeblock]\n" +"print(0b1100 ^ 0b1010) # Виводить 6 (двійковий 110)\n" "[/codeblock]" msgid "" @@ -82692,14 +83265,14 @@ msgid "" "flags |= 0b101 # Turn the first and third bits on.\n" "[/codeblock]" msgstr "" -"Виконує бітум [code]OR[/code].\n" -"[блокування коду]\n" -"Друк(0b1d 0b1010) # Друк 14 (внутр. 1110)\n" -"[/codeblock]\n" -"Це корисно для зберігання бінарних прапорів у змінній.\n" -"[блокування коду]\n" -"Вар прапори = 0\n" -"прапори: 0b101 # Поверніть перший і третій біт на.\n" +"Виконує порозрядну операцію [code]АБО[/code]. \n" +"[codeblock] \n" +"print(0b1100 | 0b1010) # Виводить 14 (двійковий 1110) \n" +"[/codeblock] \n" +"Це корисно для збереження двійкових позначок у змінній. \n" +"[codeblock] \n" +"змінні прапори = 0 \n" +"flags |= 0b101 # Увімкнути перший і третій біти. \n" "[/codeblock]" msgid "" @@ -82711,12 +83284,12 @@ msgid "" "print(~(-7)) # Prints 6\n" "[/codeblock]" msgstr "" -"Виконує бітумну операцію [code]NOT[/code] на [int]. У зв'язку з [url=https://" -"en.wikipedia.org/wiki/Two%27s_complement]2 доповнення[/url], це ефективно " -"рівні [code]-(int + 1)[/code].\n" -"[блокування коду]\n" -"Друк(~4) # Друки -5\n" -"Друк(~(-7) # Друки 6\n" +"Виконує побітову операцію [code]NOT[/code] над [int]. Завдяки доповненню " +"[url=https://en.wikipedia.org/wiki/Two%27s_complement]2[/url] воно фактично " +"дорівнює [code]-(int + 1)[/code]. \n" +"[codeblock] \n" +"print(~4) # Виводить -5 \n" +"print(~(-7)) # Виводить 6 \n" "[/codeblock]" msgid "Creates an idle interval in a [Tween] animation." @@ -82778,16 +83351,16 @@ msgid "" "}\n" "[/codeblock]" msgstr "" -"Повертає всі мережеві адаптери як масив.\n" -"Кожен адаптер є словником форми:\n" -"[блокування коду]\n" -"Довідник\n" -"\"index\": \"1\", # Індекс інтерфейсу.\n" -"\"name\": \"eth0\", # Назва інтерфейсу.\n" -"\"дружий\": \"Етернет Один\", # дружелюбне ім'я (навіть порожній).\n" -"\"addresses\": [\"192.168.1.101\"], # array of IP адреси, пов'язані з цим " -"інтерфейсом.\n" -"Про нас\n" +"Повертає всі мережеві адаптери як масив. \n" +"Кожен адаптер є словником такого вигляду: \n" +"[codeblock] \n" +"{\n" +" \"index\": \"1\", # Індекс інтерфейсу. \n" +" \"name\": \"eth0\", # Назва інтерфейсу. \n" +" \"friendly\": \"Ethernet One\", # Зрозуміле ім'я (може бути пустим). \n" +" \"addresses\": [\"192.168.1.101\"], # Масив IP-адрес, пов'язаних з цим " +"інтерфейсом. \n" +"}\n" "[/codeblock]" msgid "" @@ -83528,6 +84101,52 @@ msgstr "" msgid "Provides access to the Java Native Interface." msgstr "Забезпечує доступ до Java рідного інтерфейсу." +msgid "" +"The JavaClassWrapper singleton provides a way for the Godot application to " +"send and receive data through the [url=https://developer.android.com/training/" +"articles/perf-jni]Java Native Interface[/url] (JNI).\n" +"[b]Note:[/b] This singleton is only available in Android builds.\n" +"[codeblock]\n" +"var LocalDateTime = JavaClassWrapper.wrap(\"java.time.LocalDateTime\")\n" +"var DateTimeFormatter = JavaClassWrapper.wrap(\"java.time.format." +"DateTimeFormatter\")\n" +"\n" +"var datetime = LocalDateTime.now()\n" +"var formatter = DateTimeFormatter.ofPattern(\"dd-MM-yyyy HH:mm:ss\")\n" +"\n" +"print(datetime.format(formatter))\n" +"[/codeblock]\n" +"[b]Warning:[/b] When calling Java methods, be sure to check [method " +"JavaClassWrapper.get_exception] to check if the method threw an exception." +msgstr "" +"Синглтон JavaClassWrapper надає програмі Godot спосіб надсилати й отримувати " +"дані через [url=https://developer.android.com/training/articles/perf-" +"jni]власний інтерфейс Java[/url] (JNI). \n" +"[b]Примітка.[/b] Цей синглтон доступний лише в збірках Android. \n" +"[кодовий блок] \n" +"var LocalDateTime = JavaClassWrapper.wrap(\"java.time.LocalDateTime\") \n" +"var DateTimeFormatter = JavaClassWrapper.wrap(\"java.time.format." +"DateTimeFormatter\") \n" +"\n" +"var datetime = LocalDateTime.now() \n" +"var formatter = DateTimeFormatter.ofPattern(\"dd-MM-yyyy HH:mm:ss\") \n" +"\n" +"print(datetime.format(formatter)) \n" +"[/codeblock] \n" +"[b]Попередження:[/b] Викликаючи методи Java, обов’язково перевірте [method " +"JavaClassWrapper.get_exception], щоб перевірити, чи метод викликав виняток." + +msgid "" +"Returns the Java exception from the last call into a Java class. If there was " +"no exception, it will return [code]null[/code].\n" +"[b]Note:[/b] This method only works on Android. On every other platform, this " +"method will always return [code]null[/code]." +msgstr "" +"Повертає виняток Java з останнього виклику в клас Java. Якщо не було винятку, " +"він поверне [code]null[/code]. \n" +"[b]Примітка.[/b] Цей спосіб працює лише на Android. На будь-якій іншій " +"платформі цей метод завжди повертатиме [code]null[/code]." + msgid "" "Wraps a class defined in Java, and returns it as a [JavaClass] [Object] type " "that Godot can interact with.\n" @@ -83772,14 +84391,14 @@ msgstr "" "get_interface], [метод JavaScriptBridge.create_object] або [метод " "JavaScriptBridge.create_callback]. \n" "[codeblock] \n" -"розширює вузол \n" +"extends Node \n" "\n" "var _my_js_callback = JavaScriptBridge.create_callback(myCallback) # Це " "посилання має зберігатися \n" -"var console = JavaScriptBridge.get_interface(\"консоль\") \n" +"var console = JavaScriptBridge.get_interface(\"console\") \n" "\n" "func _init(): \n" -" var buf = JavaScriptBridge.create_object(\"ArrayBuffer\", 10) # новий " +" var buf = JavaScriptBridge.create_object(\"ArrayBuffer\", 10) # new " "ArrayBuffer(10) \n" " print(buf) # Друк [JavaScriptObject:OBJECT_ID] \n" " var uint8arr = JavaScriptBridge.create_object(\"Uint8Array\", buf) # " @@ -83999,19 +84618,19 @@ msgstr "" "# Отримати дані \n" "var json = JSON.new() \n" "var error = json.parse(json_string) \n" -"якщо помилка == OK: \n" +"if error == OK: \n" " var data_received = json.data \n" " if typeof(data_received) == TYPE_ARRAY: \n" " print(data_received) # Друкує масив. \n" -" ще: \n" +" else: \n" " print(\"Неочікувані дані\") \n" -"ще: \n" +"else: \n" " print(\"Помилка аналізу JSON: \", json.get_error_message(), \" in \", " "json_string, \" at line \", json.get_error_line()) \n" "[/codeblock] \n" "Крім того, ви можете аналізувати рядки за допомогою статичного методу [method " "parse_string], але він не обробляє помилки. \n" -"[кодовий блок] \n" +"[codeblock] \n" "var data = JSON.parse_string(json_string) # Повертає null, якщо розбір не " "вдався. \n" "[/codeblock] \n" @@ -84155,53 +84774,53 @@ msgid "" "[/codeblock]" msgstr "" "Перетворює змінну [Variant] на текст JSON і повертає результат. Корисно для " -"серіалізації даних для зберігання або надсилання через мережу.\n" +"серіалізації даних для зберігання або надсилання через мережу. \n" "[b]Примітка:[/b] Специфікація JSON не визначає цілі чи типи з плаваючою " "точкою, а лише тип [i]число[/i]. Таким чином, перетворення Variant на текст " -"JSON перетворить усі числові значення на типи [float].\n" +"JSON перетворить усі числові значення на типи [float]. \n" "[b]Примітка:[/b] Якщо [param full_precision] має значення [code]true[/code], " "під час утворення рядків з плаваючою точкою ненадійні цифри утворюються в " -"рядки на додаток до надійних цифр, щоб гарантувати точне декодування.\n" -"Параметр [param indent] керує тим, чи мається відступ і як це відбувається; " +"рядки на додаток до надійних цифр, щоб гарантувати точне декодування. \n" +"Параметр [param indent] контролює, чи мається відступ і як це відбувається; " "його вміст буде використано там, де має бути відступ у виведених даних. " "Навіть такі пробіли, як [code]\" \"[/code], будуть працювати. [code]\\t[/" "code] і [code]\\n[/code] також можна використовувати для відступу табуляції " -"або для створення нового рядка для кожного відступу відповідно.\n" -"[b]Приклад результату:[/b]\n" -"[кодовий блок]\n" -"## JSON.stringify(my_dictionary)\n" +"або для створення нового рядка для кожного відступу відповідно. \n" +"[b]Приклад результату:[/b] \n" +"[codeblock] \n" +"## JSON.stringify(my_dictionary) \n" "{\"name\":\"my_dictionary\",\"version\":\"1.0.0\",\"entities\":[{\"name\":" -"\"entity_0\",\"value\":\"value_0\"},{\"name\":\"entity_1\" ,\"value\":" -"\"value_1\"}]}\n" +"\"entity_0\",\"value\":\"value_0\"},{\"name\":\"entity_1\",\"value\":" +"\"value_1\"}]} \n" "\n" -"## JSON.stringify(my_dictionary, \"\\t\")\n" +"## JSON.stringify(my_dictionary, \"\\t\") \n" "{\n" -" \"ім'я\": \"мій_словник\",\n" -" \"версія\": \"1.0.0\",\n" -" \"сутності\": [\n" -" {\n" -" \"ім'я\": \"сутність_0\",\n" -" \"значення\": \"значення_0\"\n" -" },\n" -" {\n" -" \"ім'я\": \"сутність_1\",\n" -" \"value\": \"value_1\"\n" -" }\n" -" ]\n" +" \"ім'я\": \"мій_словник\", \n" +" \"версія\": \"1.0.0\", \n" +" \"сутності\": [ \n" +" { \n" +" \"ім'я\": \"сутність_0\", \n" +" \"значення\": \"значення_0\" \n" +" }, \n" +" { \n" +" \"ім'я\": \"сутність_1\", \n" +" \"value\": \"value_1\" \n" +" } \n" +" ] \n" "}\n" "\n" -"## JSON.stringify(my_dictionary, \"...\")\n" +"## JSON.stringify(my_dictionary, \"...\") \n" "{\n" -"...\"ім'я\": \"мій_словник\",\n" -"...\"версія\": \"1.0.0\",\n" -"...\"сутності\": [\n" +"...\"ім'я\": \"мій_словник\", \n" +"...\"версія\": \"1.0.0\", \n" +"...\"сутності\": [ \n" "......{\n" -".........\"ім'я\": \"сутність_0\",\n" -".........\"значення\": \"значення_0\"\n" +".........\"ім'я\": \"сутність_0\", \n" +".........\"значення\": \"значення_0\" \n" "......},\n" "......{\n" -".........\"ім'я\": \"сутність_1\",\n" -".........\"значення\": \"значення_1\"\n" +".........\"ім'я\": \"сутність_1\", \n" +".........\"значення\": \"значення_1\" \n" "......}\n" "...]\n" "}\n" @@ -86899,51 +87518,53 @@ msgid "" "cause a crash. If you wish to hide it or any of its children, use their " "[member Window.visible] property." msgstr "" -"Повернення [PopupMenu] цього [LineEdit]. За замовчуванням, це меню " -"відображається при правому зверненні на [LineEdit].\n" -"Ви можете додати спеціальні елементи меню або видалити стандартні. Ми " -"впевнені, що Ваші ідентифікатори не суперечать стандартам. Наприклад:\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"var меню = get_menu()\n" -"# Видалити всі елементи після \"Редо\".\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"# Додати спеціальні товари.\n" -"меню.add_separator()\n" -"Меню.add_item(\"Дата вставки\", MENU_MAX + 1)\n" -"# Зворотній дзвінок.\n" -"JavaScript licenses API Веб-сайт\n" +"Повертає [PopupMenu] цього [LineEdit]. За замовчуванням це меню " +"відображається, якщо клацнути правою кнопкою миші [LineEdit]. \n" +"Ви можете додати власні пункти меню або видалити стандартні. Переконайтеся, " +"що ваші ідентифікатори не конфліктують зі стандартними (див. [enum " +"MenuItems]). Наприклад: \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _ready(): \n" +" var menu = get_menu() \n" +" # Видалити всі елементи після \"Повторити\". \n" +" menu.item_count = menu.get_item_index(MENU_REDO) + 1 \n" +" # Додайте спеціальні елементи. \n" +" menu.add_separator() \n" +" menu.add_item(\"Insert date\", MENU_MAX + 1) \n" +" # Підключити зворотній дзвінок. \n" +" menu.id_pressed.connect(_on_item_pressed) \n" "\n" -"Func _on_item_pressed(id):\n" -"якщо id == MENU_MAX + 1:\n" -"вставка_text_at_caret(Time.get_date_string__system()))\n" -"[/gdscript]\n" -"[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"var меню = GetMenu();\n" -"(Українська) Видалити всі елементи після \"Редо\".\n" -"меню.ItemCount = меню.GetItemIndex(LineEdit.MenuItems.Redo) + 1;\n" -"(Українська) Додати спеціальні товари.\n" -"меню.AddSeparator();\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"(Українська) Додати обробник подій.\n" -"Меню IdPressed += OnItemПресований;\n" -"Про нас\n" +"func _on_item_pressed(id): \n" +" if id == MENU_MAX + 1: \n" +" insert_text_at_caret(Time.get_date_string_from_system()) \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Ready() \n" +"{\n" +" var menu = GetMenu(); \n" +" // Видалити всі елементи після \"Redo\". \n" +" menu.ItemCount = menu.GetItemIndex(LineEdit.MenuItems.Redo) + 1; \n" +" // Додати власні елементи. \n" +" menu.AddSeparator(); \n" +" menu.AddItem(\"Insert date\", LineEdit.MenuItems.Max + 1); \n" +" // Додати обробник події. \n" +" menu.IdPressed += OnItemPressed; \n" +"}\n" "\n" -"public void OnItemПресована(int id)\n" -"Довідник\n" -"Якщо (id= LineEdit.MenuItems.Max + 1 час\n" -"Довідник\n" -"InsertTextAtCaret(Time.GetDateStringFromSystem());\n" -"Про нас\n" -"Про нас\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Навігація:[/b] Це необхідний внутрішній вузол, видаляючи і звільняючи його " -"може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх " -"дітей, скористайтеся їх [пам'ятне вікно.видиме]." +"public void OnItemPressed(int id) \n" +"{\n" +" if (id == LineEdit.MenuItems.Max + 1) \n" +" { \n" +" InsertTextAtCaret(Time.GetDateStringFromSystem()); \n" +" } \n" +"}\n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Попередження:[/b] Це обов’язковий внутрішній вузол, його видалення та " +"звільнення може призвести до збою. Якщо ви бажаєте приховати його чи будь-" +"який із його дочірніх елементів, скористайтеся властивістю [member Window." +"visible]." msgid "" "Returns the scroll offset due to [member caret_column], as a number of " @@ -87016,21 +87637,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Виберіть символи всередині [LineEdit] між [param] і [param to]. За " -"замовчуванням [param] знаходиться на початку і [param to] в кінці.\n" -"[блоки коду]\n" -"[видання]\n" -"JavaScript licenses API Веб-сайт\n" -"вибрати() # Оберемо \"Велком\".\n" -"вибрати(4) # Обрати \"ме\".\n" -"виберіть \"Lco\".\n" -"[/gdscript]\n" -"[csharp]\n" -"Текст = \"Велком\";\n" -"Виберіть(); // Підберемо \"Велком\".\n" -"Виберіть(4); // Підберемо «ме».\n" -"Виберіть(2, 5); // Підберемо \"лько\".\n" -"[/csharp]\n" +"Вибирає символи всередині [LineEdit] між [param from] і [param to]. За " +"замовчуванням [param from] знаходиться на початку, а [param to] у кінці. \n" +"[codeblocks] \n" +"[gdscript] \n" +"text = \"Ласкаво просимо\" \n" +"select() # Вибере \"Ласкаво просимо\". \n" +"select(4) # Вибере \"ome\". \n" +"select(2, 5) # Вибере \"lco\". \n" +"[/gdscript] \n" +"[csharp] \n" +"Text = \"Ласкаво просимо\"; \n" +"select(); // Вибере \"Ласкаво просимо\". \n" +"select(4); // Вибере \"ome\". \n" +"select(2, 5); // Вибере \"lco\". \n" +"[/csharp] \n" "[/codeblocks]" msgid "Selects the whole [String]." @@ -87173,19 +87794,19 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "text = \"Привіт, світ\" \n" -"максимальна_довжина = 5 \n" +"max_length = 5 \n" "# `text` стає \"Hello\". \n" -"максимальна_довжина = 10 \n" -"текст += \"до побачення\" \n" +"max_length = 10 \n" +"text += \"до побачення\" \n" "# `text` стає \"Hello good\". \n" "# `text_change_rejected` випускається з параметром \"bye\". \n" "[/gdscript] \n" "[csharp] \n" "Text = \"Привіт, світ\"; \n" -"Максимальна довжина = 5; \n" +"MaxLength = 5; \n" "// `Текст` стає \"Привіт\". \n" -"Максимальна довжина = 10; \n" -"Текст += \"до побачення\"; \n" +"MaxLength = 10; \n" +"Text += \"до побачення\"; \n" "// `Текст` стає \"Hello good\". \n" "// `text_change_rejected` випускається з параметром \"bye\". \n" "[/csharp] \n" @@ -88016,18 +88637,18 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "class_name CustomMainLoop \n" -"розширює MainLoop \n" +"extends MainLoop \n" "\n" -"змінна time_elapsed = 0 \n" +"var time_elapsed = 0 \n" "\n" "func _initialize(): \n" " print(\"Ініціалізовано:\") \n" " print(\" Час початку: %s\" % str(time_elapsed)) \n" "\n" -"func _process(дельта): \n" -" time_elapsed += дельта \n" +"func _process(delta): \n" +" time_elapsed += delta \n" " # Повернути true для завершення основного циклу. \n" -" повернути Input.get_mouse_button_mask() != 0 || Input." +" return Input.get_mouse_button_mask() != 0 || Input." "is_key_pressed(KEY_ESCAPE) \n" "\n" "func _finalize(): \n" @@ -88035,10 +88656,10 @@ msgstr "" " print(\" Час завершення: %s\" % str(time_elapsed)) \n" "[/gdscript] \n" "[csharp] \n" -"за допомогою Годо; \n" +"using Godot; \n" "\n" "[Global class] \n" -"відкритий частковий клас CustomMainLoop : MainLoop \n" +"public partial class CustomMainLoop : MainLoop \n" "{\n" " private double _timeElapsed = 0; \n" "\n" @@ -88048,11 +88669,11 @@ msgstr "" " GD.Print($\" Час початку: {_timeElapsed}\"); \n" " } \n" "\n" -" публічне перевизначення bool _Process(подвійна дельта) \n" +" public override bool _Process(double delta) \n" " { \n" -" _timeElapsed += дельта; \n" +" _timeElapsed += delta; \n" " // Повертає true для завершення основного циклу. \n" -" повернути Input.GetMouseButtonMask() != 0 || Input.IsKeyPressed(Key." +" return Input.GetMouseButtonMask() != 0 || Input.IsKeyPressed(Key." "Escape); \n" " } \n" "\n" @@ -88255,30 +88876,31 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"[MarginContainer] додає регульований запас з кожного боку його контрольних " -"систем. Позбавлення додаються навколо всіх дітей, не навколо кожного " -"індивіда. Щоб контролювати [MarginContainer] запаси, скористайтеся " -"[code]Margin_*[/code] тематичні властивості, перераховані нижче.\n" -"[b]Note:[/b] Розміри запасів – тема наднаряддя, не нормальні властивості. Це " -"приклад того, як змінити їх у коді:\n" -"[блоки коду]\n" -"[видання]\n" -"Нема Цей зразок коду приймає поточний скрипт розширення MarginContainer.\n" -"Вар маржа_значення = 100\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"[/gdscript]\n" -"[csharp]\n" -"(Українська) Цей зразок коду приймає поточний скрипт розширення " -"MarginContainer.\n" -"марка Значення = 100;\n" -"AddThemeConstantOverride(\"margin_top\", маржинаValue);\n" -"AddThemeConstantOverride(\"margin_left\", маржаValue);\n" -"AddThemeConstantOverride(\"Маргін_зниз\", маржинаValue);\n" -"AddThemeConstantOverride(\"margin_right\", маржаValue);\n" -"[/csharp]\n" +"[MarginContainer] додає регульоване поле з кожного боку дочірніх елементів " +"керування. Поля додаються навколо всіх дітей, а не навколо кожного окремо. " +"Щоб керувати полями [MarginContainer], використовуйте властивості теми " +"[code]margin_*[/code], наведені нижче. \n" +"[b]Примітка: [/b] Розміри полів є заміною теми, а не звичайними " +"властивостями. Це приклад того, як змінити їх у коді: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Цей зразок коду передбачає, що поточний сценарій розширює " +"MarginContainer. \n" +"var margin_value = 100 \n" +"add_theme_constant_override(\"margin_top\", margin_value) \n" +"add_theme_constant_override(\"margin_left\", margin_value) \n" +"add_theme_constant_override(\"margin_bottom\", margin_value) \n" +"add_theme_constant_override(\"margin_right\", margin_value) \n" +"[/gdscript] \n" +"[csharp] \n" +"// Цей зразок коду передбачає, що поточний сценарій розширює " +"MarginContainer. \n" +"int marginValue = 100; \n" +"AddThemeConstantOverride(\"margin_top\", marginValue); \n" +"AddThemeConstantOverride(\"margin_left\", marginValue); \n" +"AddThemeConstantOverride(\"margin_bottom\", marginValue); \n" +"AddThemeConstantOverride(\"margin_right\", marginValue); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -89443,55 +90065,55 @@ msgid "" msgstr "" "MeshDataTool надає доступ до окремих вершин у [Mesh]. Це дозволяє " "користувачам читати та редагувати дані вершин сіток. Він також створює масив " -"граней і країв.\n" +"граней і країв. \n" "Щоб використовувати MeshDataTool, завантажте сітку за допомогою [методу " "create_from_surface]. Коли ви закінчите редагувати дані, зафіксуйте дані в " -"сітці за допомогою [методу commit_to_surface].\n" -"Нижче наведено приклад того, як можна використовувати MeshDataTool.\n" -"[кодові блоки]\n" -"[gdscript]\n" -"var mesh = ArrayMesh.new()\n" +"сітці за допомогою [методу commit_to_surface]. \n" +"Нижче наведено приклад того, як можна використовувати MeshDataTool. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var mesh = ArrayMesh.new() \n" "mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, BoxMesh.new()." -"get_mesh_arrays())\n" -"var mdt = MeshDataTool.new()\n" -"mdt.create_from_surface(сітка, 0)\n" -"для i в діапазоні (mdt.get_vertex_count()):\n" -" var vertex = mdt.get_vertex(i)\n" +"get_mesh_arrays()) \n" +"var mdt = MeshDataTool new(). \n" +"mdt.create_from_surface(mesh, 0) \n" +"for i in range (mdt.get_vertex_count()): \n" +" var vertex = mdt.get_vertex(i) \n" " # У цьому прикладі ми розширюємо сітку на одну одиницю, що призводить до " -"розділених граней, оскільки вона заштрихована.\n" -" вершина += mdt.get_vertex_normal(i)\n" -" # Збережіть зміни.\n" -" mdt.set_vertex(i, вершина)\n" -"mesh.clear_surfaces()\n" -"mdt.commit_to_surface(сітка)\n" -"var mi = MeshInstance.new()\n" -"mi.mesh = сітка\n" -"add_child(милі)\n" -"[/gdscript]\n" -"[csharp]\n" -"var mesh = new ArrayMesh();\n" +"розділених граней, оскільки вона заштрихована. \n" +" vertex += mdt.get_vertex_normal(i) \n" +" # Збережіть зміни. \n" +" mdt.set_vertex(i, vertex) \n" +"mesh.clear_surfaces() \n" +"mdt.commit_to_surface(mesh) \n" +"var mi = MeshInstance.new() \n" +"mi.mesh = mesh \n" +"add_child(mi) \n" +"[/gdscript] \n" +"[csharp] \n" +"var mesh = new ArrayMesh(); \n" "mesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, new BoxMesh()." -"GetMeshArrays());\n" -"var mdt = new MeshDataTool();\n" -"mdt.CreateFromSurface(сітка, 0);\n" -"for (var i = 0; i < mdt.GetVertexCount(); i++)\n" +"GetMeshArrays()); \n" +"var mdt = new MeshDataTool(); \n" +"mdt.CreateFromSurface(mesh, 0); \n" +"for (var i = 0; i < mdt.GetVertexCount(); i++) \n" "{\n" -" Vertex Vector3 = mdt.GetVertex(i);\n" +" Vertex Vector3 = mdt.GetVertex(i); \n" " // У цьому прикладі ми розширюємо сітку на одну одиницю, що призводить до " -"розділених граней, оскільки вона заштрихована.\n" -" вершина += mdt.GetVertexNormal(i);\n" -" // Збережіть зміни.\n" -" mdt.SetVertex(i, вершина);\n" +"розділених граней, оскільки вона заштрихована. \n" +" vertex += mdt.GetVertexNormal(i); \n" +" // Збережіть зміни. \n" +" mdt.SetVertex(i, vertex); \n" "}\n" -"mesh.ClearSurfaces();\n" -"mdt.CommitToSurface(сітка);\n" -"var mi = new MeshInstance();\n" -"mi.Mesh = сітка;\n" -"AddChild(mi);\n" -"[/csharp]\n" -"[/codeblocks]\n" +"mesh.ClearSurfaces(); \n" +"mdt.CommitToSurface(mesh); \n" +"var mi = new MeshInstance(); \n" +"mi.Mesh = mesh; \n" +"AddChild(mi); \n" +"[/csharp] \n" +"[/codeblocks] \n" "Дивіться також [ArrayMesh], [ImmediateMesh] і [SurfaceTool] для створення " -"процедурної геометрії.\n" +"процедурної геометрії. \n" "[b]Примітка:[/b] Годо використовує [url=https://learnopengl.com/Advanced-" "OpenGL/Face-culling]порядок намотування[/url] за годинниковою стрілкою для " "передніх граней примітивних режимів трикутника." @@ -90199,18 +90821,18 @@ msgid "" " get_viewport().use_xr = true\n" "[/codeblock]" msgstr "" -"Це загальний мобільний VR-провайдер, де потрібно надати деталі щодо телефону " -"та HMD. На будь-який наявний каркас не спирається. Це самий базовий " -"інтерфейс, який ми маємо. Для кращого ефекту потрібно мобільний телефон з " -"гіроскопом і акселерометром.\n" -"Зверніть увагу, що навіть не існує позиційного відстеження, камера " -"припустимо, що гарнітура знаходиться на висоті 1.85 метрів. Ви можете змінити " -"цей параметр за допомогою параметра [пам'ятка].\n" -"Ви можете ініціалізувати цей інтерфейс наступним чином:\n" -"[блокування коду]\n" -"var інтерфейс = XRServer.find_interface(\"Нативний мобільний\")\n" -"якщо інтерфейс і інтерфейс.initialize():\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"Це загальна реалізація віртуальної реальності для мобільних пристроїв, де вам " +"потрібно надати деталі про використовуваний телефон і HMD. Він не спирається " +"на жодну існуючу структуру. Це найпростіший інтерфейс, який у нас є. Для " +"кращого ефекту потрібен мобільний телефон з гіроскопом і акселерометром. \n" +"Зауважте, що навіть якщо позиційне відстеження відсутнє, камера вважатиме, що " +"гарнітура знаходиться на висоті 1,85 метра. Ви можете змінити це, встановивши " +"[member eye_height]. \n" +"Ви можете ініціалізувати цей інтерфейс наступним чином: \n" +"[codeblock] \n" +"var interface = XRServer.find_interface(\"Native mobile\") \n" +"if intecface і interface.initialize(): \n" +" get_viewport().use_xr = true \n" "[/codeblock]" msgid "" @@ -90412,18 +91034,19 @@ msgid "" " return path.get_extension().to_lower() == \"mkv\"\n" "[/codeblock]" msgstr "" -"Викликається, коли двигун визначає, чи це [MovieWriter] може обробляти файл " -"на [патентний шлях]. Поверніть [code]true[/code], якщо це [MovieWriter] може " -"обробляти цей шлях файлу, [code]false[/code] в іншому випадку. Зазвичай " -"[method_file] перейменується таким чином, щоб дозволити користувачеві " -"записувати файл на будь-який шлях з даної розширенням файлів:\n" -"[блокування коду]\n" -"Func _handles_file(path):\n" -"# Дозволяє вказати вихідний файл з розширенням файлів `.mkv` (case-" -"insensitive),\n" -"# або в налаштуваннях проекту або з аргументом командного рядка `-write-movie " -".\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"Викликається, коли механізм визначає, чи здатний цей [MovieWriter] обробити " +"файл за [param path]. Має повернути [code]true[/code], якщо цей [MovieWriter] " +"здатний обробити заданий шлях до файлу, [code]false[/code] інакше. Як " +"правило, [method _handles_file] замінюється таким чином, щоб дозволити " +"користувачеві записувати файл за будь-яким шляхом із заданим розширенням " +"файлу: \n" +"[codeblock] \n" +"func _handles_file(path): \n" +" # Дозволяє вказувати вихідний файл із розширенням файлу `.mkv` (незалежно " +"від регістру), \n" +" # або в налаштуваннях проекту, або за допомогою аргументу командного " +"рядка `--write-movie <шлях>`. \n" +" return path.get_extension().to_lower() == \"mkv\" \n" "[/codeblock]" msgid "" @@ -91160,7 +91783,7 @@ msgstr "" "реєструючи кожен зроблений RPC і кожен об’єкт, налаштований для реплікації. \n" "[codeblocks] \n" "[gdscript] \n" -"розширює MultiplayerAPIExtension \n" +"extends MultiplayerAPIExtension \n" "class_name LogMultiplayer \n" "\n" "# Ми хочемо розширити стандартний SceneMultiplayer. \n" @@ -91169,8 +91792,8 @@ msgstr "" "func _init(): \n" " # Просто проходження базових сигналів (скопійовано до var, щоб уникнути " "циклічного посилання) \n" -" var cts = підключено_до_сервера \n" -" var cf = підключення_не вдалося \n" +" var cts = connected_to_server \n" +" var cf = connection_failed \n" " var pc = peer_connected \n" " var pd = peer_disconnected \n" " base_multiplayer.connected_to_server.connect(func(): cts.emit()) \n" @@ -91179,7 +91802,7 @@ msgstr "" " base_multiplayer.peer_disconnected.connect(func(id): pd.emit(id)) \n" "\n" "func _poll(): \n" -" повернути base_multiplayer.poll() \n" +" return base_multiplayer.poll() \n" "\n" "# Реєструйте RPC, що виконується, і пересилайте його в мультиплеер за " "замовчуванням. \n" @@ -91187,31 +91810,29 @@ msgstr "" "Помилка: \n" " print(\"Отримано RPC для %d: %s::%s(%s)\" % [рівний, об'єкт, метод, " "аргументи]) \n" -" повертає base_multiplayer.rpc(рівень, об’єкт, метод, аргументи) \n" +" return base_multiplayer.rpc(peer, object, method, args) \n" "\n" "# Додавання конфігурації журналу. наприклад кореневий шлях (nullptr, " "NodePath), реплікація (Node, Spawner|Synchronizer), настроюваний. \n" -"func _object_configuration_add(object, config: Variant) -> Помилка: \n" -" якщо конфігурація MultiplayerSynchronizer: \n" +"func _object_configuration_add(object, config: Variant) -> Error: \n" +" if config is MultiplayerSynchronizer: \n" " print(\"Додавання конфігурації синхронізації для %s. Синхронізатор: " "%s\" % [об'єкт, конфігурація]) \n" -" конфігурація elif — MultiplayerSpawner: \n" +" config elif — MultiplayerSpawner: \n" " print(\"Додавання вузла %s до списку спауна. Спаунер: %s\" % [об'єкт, " "конфігурація]) \n" -" повернути base_multiplayer.object_configuration_add(object, config) \n" +" return base_multiplayer.object_configuration_add(object, config) \n" "\n" "# Видалити конфігурацію журналу. наприклад кореневий шлях (nullptr, " "NodePath), реплікація (Node, Spawner|Synchronizer), настроюваний. \n" -"func _object_configuration_remove(об'єкт, конфігурація: Варіант) -> " -"Помилка: \n" -" якщо конфігурація MultiplayerSynchronizer: \n" +"func _object_configuration_remove(object, config: Variant) -> Error: \n" +" if config is MultiplayerSynchronizer: \n" " print(\"Видалення конфігурації синхронізації для %s. Синхронізатор: " "%s\" % [об'єкт, конфігурація]) \n" " конфігурація elif — MultiplayerSpawner: \n" " print(\"Видалення вузла %s зі списку спауна. Спаунер: %s\" % [об'єкт, " "конфігурація]) \n" -" повернути base_multiplayer.object_configuration_remove(об'єкт, " -"конфігурація) \n" +" return base_multiplayer.object_configuration_remove(object, config) \n" "\n" "# Вони можуть бути необов’язковими, але в нашому випадку ми хочемо розширити " "SceneMultiplayer, тому пересилайте все. \n" @@ -92059,41 +92680,44 @@ msgid "" " NativeMenu.free_menu(menu)\n" "[/codeblock]" msgstr "" -"[NativeMenu] керує низьким рівнем доступу до меню OS рідного глобального меню " -"та меню поштових повідомлень.\n" -"[b]Примітка:[/b] Це низький рівень API, розглянемо використання [MenuBar] з " -"[пам'ятним менюBar.prefer_global_menu], встановленим на [code]true[/code], і " -"[PopupMenu] з [пам'ятний PopupMenu.prefer_native_menu], встановлений на " -"[code]true[/code].\n" -"Щоб створити меню, скористайтеся [методи створення_menu], додайте меню " -"[code]add_*_item[/code]. Щоб видалити меню, скористайтеся [метод Free_menu].\n" -"[блокування коду]\n" -"Меню вар\n" +"[NativeMenu] обробляє низькорівневий доступ до внутрішньої глобальної панелі " +"меню та спливних меню ОС. \n" +"[b]Примітка:[/b] Це низькорівневий API, розгляньте можливість використання " +"[MenuBar] із [member MenuBar.prefer_global_menu], установленим на [code]true[/" +"code], і [PopupMenu] з [member PopupMenu.prefer_native_menu], встановленим на " +"[code]true[/code]. \n" +"Щоб створити меню, використовуйте [метод create_menu], додайте пункти меню за " +"допомогою методів [code]add_*_item[/code]. Щоб видалити меню, використовуйте " +"[метод free_menu]. \n" +"[codeblock] \n" +"var menu \n" "\n" -"Func _menu_callback(item_id):\n" -"Якщо пункт_id= \"ITEM_CUT\":\n" -"зріз()\n" -"elif пункт_id= \"ITEM_COPY\":\n" -"копія()\n" -"elif пункт_id= \"ITEM_PASTE\":\n" -"паста()\n" +"func _menu_callback(item_id): \n" +" if item_id == \"ITEM_CUT\": \n" +" cut() \n" +" elif item_id == \"ITEM_COPY\": \n" +" copy() \n" +" elif item_id == \"ITEM_PASTE\": \n" +" paste() \n" "\n" -"Func _enter_tree():\n" -"# Створити нове меню і додати елементи:\n" -"Ім'я користувача\n" -"English, Українська, Français...\n" -"English, Українська, Français...\n" -"NativeMenu.add_separator(menu)\n" -"NativeMenu.add_item(menu, \"Paste\", _menu_callback, Callable(), " -"\"ITEM_PASTE\")\n" +"func _enter_tree(): \n" +" # Створіть нове меню та додайте елементи: \n" +" menu = NativeMenu.create_menu() \n" +" NativeMenu.add_item(menu, \"Cut\", _menu_callback, Callable(), " +"\"ITEM_CUT\") \n" +" NativeMenu.add_item(menu, \"Copy\", _menu_callback, Callable(), " +"\"ITEM_COPY\") \n" +" NativeMenu.add_separator(menu) \n" +" NativeMenu.add_item(menu, \"Paste\", _menu_callback, Callable(), " +"\"ITEM_PASTE\") \n" "\n" -"Func _on_button_pressed():\n" -"# Показати меню popup в положенні мишки:\n" -"English, Українська, Français...\n" +"func _on_button_pressed(): \n" +" # Показувати спливаюче меню в положенні миші: \n" +" NativeMenu.popup(menu, DisplayServer.mouse_get_position()) \n" "\n" -"Func _exit_tree():\n" -"# Видалити меню, коли це більше не потрібно:\n" -"NativeMenu.free_menu(menu)\n" +"func _exit_tree(): \n" +" # Видалити меню, коли воно більше не потрібне: \n" +" NativeMenu.free_menu(menu) \n" "[/codeblock]" msgid "" @@ -94332,12 +94956,12 @@ msgid "" "[/gdscript]\n" "[/codeblocks]" msgstr "" -"Налаштовує проєктовані обструкції з Array of Dictionaries з наступними парами " -"ключових значень:\n" -"[блоки коду]\n" -"[видання]\n" -"\"Перекази\" : ПакетиФлоат32 Арра\n" -"\"Короб\" : боль\n" +"Встановлює спроектовані перешкоди за допомогою масиву словників із такими " +"парами ключ-значення:\n" +"[codeblocks]\n" +"[gdscript]\n" +"\"vertices\" : PackedFloat32Array\n" +"\"carve\" : bool\n" "[/gdscript]\n" "[/codeblocks]" @@ -94463,14 +95087,14 @@ msgid "" "[/gdscript]\n" "[/codeblocks]" msgstr "" -"Налаштовує проєктовані обструкції з Array of Dictionaries з наступними парами " -"ключових значень:\n" -"[блоки коду]\n" -"[видання]\n" -"\"Перекази\" : ПакетиФлоат32 Арра\n" -"«Лікування» : плавати\n" -"\"Шайт\" : плавати\n" -"\"Короб\" : боль\n" +"Встановлює спроектовані перешкоди за допомогою масиву словників із такими " +"парами ключ-значення:\n" +"[codeblocks]\n" +"[gdscript]\n" +"\"vertices\" : PackedFloat32Array\n" +"\"elevation\" : float\n" +"\"height\" : float\n" +"\"carve\" : bool\n" "[/gdscript]\n" "[/codeblocks]" @@ -94920,17 +95544,17 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var new_navigation_mesh = NavigationPolygon.new() \n" -"var bounding_outline = PackedVector2Array([Вектор2(0, 0), Вектор2(0, 50), " -"Вектор2(50, 50), Вектор2(50, 0)]) \n" +"var bounding_outline = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), " +"Vector2(50, 50), Vector2(50, 0)]) \n" "new_navigation_mesh.add_outline(bounding_outline) \n" "NavigationServer2D.bake_from_source_geometry_data(new_navigation_mesh, " "NavigationMeshSourceGeometryData2D.new());\n" -"$NavigationRegion2D.navigation_polygon = нова_навігаційна_сітка \n" +"$NavigationRegion2D.navigation_polygon = new_navigation_mesh \n" "[/gdscript] \n" "[csharp] \n" "var newNavigationMesh = новий NavigationPolygon(); \n" -"Vector2[] boundingOutline = [новий Вектор2(0, 0), новий Вектор2(0, 50), новий " -"Вектор2(50, 50), новий Вектор2(50, 0)]; \n" +"Vector2[] boundingOutline = [new Vector2(0, 0), new Vector2(0, 50), new " +"Vector2(50, 50), new Vector2(50, 0)]; \n" "newNavigationMesh.AddOutline(boundingOutline); \n" "NavigationServer2D.BakeFromSourceGeometryData(newNavigationMesh, new " "NavigationMeshSourceGeometryData2D());\n" @@ -94942,18 +95566,18 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var new_navigation_mesh = NavigationPolygon.new() \n" -"var new_vertices = PackedVector2Array([Вектор2(0, 0), Вектор2(0, 50), " -"Вектор2(50, 50), Вектор2(50, 0)]) \n" +"var new_vertices = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), " +"Vector2(50, 50), Vector2(50, 0)]) \n" "new_navigation_mesh.vertices = нові_вершини \n" "var new_polygon_indices = PackedInt32Array([0, 1, 2, 3]) \n" "new_navigation_mesh.add_polygon(new_polygon_indices) \n" -"$NavigationRegion2D.navigation_polygon = нова_навігаційна_сітка \n" +"$NavigationRegion2D.navigation_polygon = new_navigation_mesh \n" "[/gdscript] \n" "[csharp] \n" "var newNavigationMesh = новий NavigationPolygon(); \n" -"Vector2[] newVertices = [новий Vector2(0, 0), новий Vector2(0, 50), новий " -"Vector2(50, 50), новий Vector2(50, 0)]; \n" -"newNavigationMesh.Vertices = новівершини; \n" +"Vector2[] newVertices = [new Vector2(0, 0), new Vector2(0, 50), new " +"Vector2(50, 50), new Vector2(50, 0)]; \n" +"newNavigationMesh.Vertices = newVertices; \n" "int[] newPolygonIndices = [0, 1, 2, 3]; \n" "newNavigationMesh.AddPolygon(newPolygonIndices); \n" "GetNode(\"NavigationRegion2D\").NavigationPolygon = " @@ -97132,23 +97756,23 @@ msgid "" " return []\n" "[/codeblock]" msgstr "" -"Елементи в масиві, що повернуті з цього способу, відображаються як " -"попередження в Сцену док, якщо скрипт, який перенаречений він є [code]tool[/" -"code] скрипт.\n" -"Повернути порожній масив не застереження.\n" -"Дзвоните до [method update_configuration_warnings], коли попередження повинні " -"бути оновлені для цього вузла.\n" -"[блокування коду]\n" -"@export var енергія = 0:\n" -"набір(значення):\n" -"енергія = значення\n" -"Update_configuration_warnings()\n" +"Елементи в масиві, який повертає цей метод, відображаються як попередження в " +"доку Scene, якщо сценарій, який замінює його, є сценарієм [code]інструмента[/" +"code].\n" +"Повернення порожнього масиву не створює попереджень.\n" +"Викличте [метод update_configuration_warnings], коли потрібно оновити " +"попередження для цього вузла.\n" +"[codeblock]\n" +"@export var energy = 0:\n" +" set(value):\n" +" energy = value\n" +" update_configuration_warnings()\n" "\n" -"Func _get_configuration_warnings():\n" -"якщо енергія < 0:\n" -"Зворотній зв'язок\n" -"ще:\n" -"Зворотній зв'язок\n" +"func _get_configuration_warnings():\n" +" if energy < 0:\n" +" return [\"Energy must be 0 or greater.\"]\n" +" else:\n" +" return []\n" "[/codeblock]" msgid "" @@ -97461,41 +98085,41 @@ msgstr "" "Додає дочірній [вузол param]. Вузли можуть мати будь-яку кількість дітей, але " "кожна дитина повинна мати унікальне ім’я. Дочірні вузли автоматично " "видаляються, коли видаляється батьківський вузол, тому всю сцену можна " -"видалити, видаливши її найвищий вузол.\n" +"видалити, видаливши її найвищий вузол. \n" "Якщо [param force_readable_name] має значення [code]true[/code], покращується " "читабельність доданого [вузла param]. Якщо ім’я не вказано, [вузол param] " "перейменовується відповідно до його типу, а якщо він спільний [ім’я члена] з " "братом або сестрою, число додається більш відповідним суфіксом. Ця операція " "дуже повільна. Таким чином, рекомендується залишити значення [code]false[/" -"code], яке призначає фіктивне ім’я з [code]@[/code] в обох ситуаціях.\n" +"code], яке призначає фіктивне ім’я з [code]@[/code] в обох ситуаціях. \n" "Якщо [param internal] відрізняється від [constant INTERNAL_MODE_DISABLED], " "дочірній елемент буде додано як внутрішній вузол. Ці вузли ігноруються такими " "методами, як [method get_children], якщо їх параметр [code]include_internal[/" "code] не має значення [code]true[/code]. Передбачене використання полягає в " "тому, щоб приховати внутрішні вузли від користувача, щоб користувач випадково " -"не видалив або змінив їх. Використовується деякими вузлами GUI, наприклад " -"[ColorPicker]. Дивіться [enum InternalMode] для доступних режимів.\n" +"не видалив або змінив їх. Використовується деякими вузлами GUI, напр. [Вибір " +"кольору]. Дивіться [enum InternalMode] для доступних режимів. \n" "[b]Примітка:[/b] Якщо [param node] уже має батьківського елемента, цей метод " "не вдасться виконати. Спочатку використовуйте [method remove_child], щоб " -"видалити [вузол param] із поточного батьківського елемента. Наприклад:\n" -"[кодові блоки]\n" -"[gdscript]\n" -"var child_node = get_child(0)\n" -"if child_node.get_parent():\n" -" child_node.get_parent().remove_child(child_node)\n" -"add_child(child_node)\n" -"[/gdscript]\n" -"[csharp]\n" -"Вузол childNode = GetChild(0);\n" -"if (childNode.GetParent() != null)\n" +"видалити [вузол param] із поточного батьківського елемента. Наприклад: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var child_node = get_child(0) \n" +"if child_node.get_parent(): \n" +" child_node.get_parent().remove_child(child_node) \n" +"add_child(child_node) \n" +"[/gdscript] \n" +"[csharp] \n" +"Node childNode = GetChild(0); \n" +"if (childNode.GetParent() != null) \n" "{\n" -" childNode.GetParent().RemoveChild(childNode);\n" +" childNode.GetParent().RemoveChild(childNode); \n" "}\n" -"AddChild(childNode);\n" -"[/csharp]\n" -"[/codeblocks]\n" +"AddChild(childNode); \n" +"[/csharp] \n" +"[/codeblocks] \n" "Якщо вам потрібно додати дочірній вузол нижче певного вузла в списку " -"дочірніх, використовуйте [method add_sibling] замість цього методу.\n" +"дочірніх, використовуйте [method add_sibling] замість цього методу. \n" "[b]Примітка:[/b] Якщо ви хочете, щоб дочірній елемент залишався в " "[PackedScene], ви повинні встановити [member owner] на додаток до виклику " "[method add_child]. Зазвичай це стосується [url=$DOCS_URL/tutorials/plugins/" @@ -97700,22 +98324,22 @@ msgid "" "[b]Note:[/b] The method can still be used when the node is not inside " "[SceneTree]. It can fail in an unlikely case of using a custom [MainLoop]." msgstr "" -"Створює новий [Tween] і зв'язує його в цей вузол.\n" -"Це еквівалент виконання:\n" -"[блоки коду]\n" -"[видання]\n" -"get_tree().create_tween().bind_node(self)\n" -"[/gdscript]\n" -"[csharp]\n" -"GetTree().CreateTween().BindNode(this);\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Tween автоматично почнеться на наступному етапі рамки або фізиці (в " -"залежності від [enum Tween.TweenProcessMode]). Детальніше про Tween." -"bind_node\n" -"[b]Примітка:[/b] Метод може використовуватися, коли вузол не всередині " -"[SceneTree]. Це може не в малоймовірному випадку використання на замовлення " -"[MainLoop]." +"Створює новий [Tween] і прив’язує його до цього вузла. \n" +"Це еквівалент виконання: \n" +"[codeblocks] \n" +"[gdscript] \n" +"get_tree().create_tween().bind_node(self) \n" +"[/gdscript] \n" +"[csharp] \n" +"GetTree().CreateTween().BindNode(this); \n" +"[/csharp] \n" +"[/codeblocks] \n" +"Анімація запуститься автоматично на наступному кадрі процесу або кадрі фізики " +"(залежно від [enum Tween.TweenProcessMode]). Дивіться [method Tween." +"bind_node], щоб дізнатися більше про Tween, прив’язаний до вузлів. \n" +"[b]Примітка: [/b] Метод усе ще можна використовувати, якщо вузол не " +"знаходиться всередині [SceneTree]. Це може вийти з ладу в малоймовірному " +"випадку використання спеціального [MainLoop]." msgid "" "Duplicates the node, returning a new node with all of its properties, " @@ -97850,25 +98474,27 @@ msgid "" "[/codeblock]\n" "[b]Note:[/b] To fetch a node by [NodePath], use [method get_node]." msgstr "" -"Захоплює дочірню вершину за індексом. Кожна дитяча вершина має індекс " -"відносно своїх дробів (див. [метод get_index]). Перша дитина в індексі 0 р. " -"Негативні значення можуть бути використані для запуску з кінця списку. Цей " -"метод можна використовувати в поєднанні з [метод get_child_count], щоб " -"ітерувати дітей цього вузла. Якщо дитина не існує в даній індексі, цей метод " -"повертає [code]null[/code] і створюється помилка.\n" -"[code]false[/code], внутрішні діти ігноруються (див. [метод add_child] " -"[code]internal[/code].\n" -"[блокування коду]\n" -"Нема Припустимо, що такі діти цієї вершини, для того, щоб:\n" -"# Перший, Середній, Останній.\n" +"Отримує дочірній вузол за його індексом. Кожен дочірній вузол має індекс " +"відносно своїх братів і сестер (див. [метод get_index]). Перший дочірній " +"елемент має індекс 0. Від’ємні значення також можна використовувати для " +"початку з кінця списку. Цей метод можна використовувати в поєднанні з " +"[методом get_child_count] для повторення дочірніх елементів цього вузла. Якщо " +"за вказаним індексом не існує дочірнього елемента, цей метод повертає " +"[code]null[/code] і генерується помилка. \n" +"Якщо [param include_internal] має значення [code]false[/code], внутрішні " +"дочірні елементи ігноруються (див. [code]internal[/code] параметр [method " +"add_child]). \n" +"[codeblock] \n" +"# Припускаючи, що наступні є дочірніми елементами цього вузла, у порядку: \n" +"# Перший, середній, останній. \n" "\n" -"var a = get_child(0).name # a \"Перший\"\n" -"var b = get_child(1).name # б є \"Міддл\"\n" -"var b = get_child(2).name # b є \"Останній\"\n" -"var c = get_child(-1).name # c is \"Останній\"\n" -"[/codeblock]\n" -"[b]Примітка:[/b] Щоб викинути вузол [NodePath], скористайтеся [метод " -"get_node]." +"var a = get_child(0).name # a це \"Перший\" \n" +"var b = get_child(1).name # b це \"Середній\" \n" +"var b = get_child(2).name # b це \"Останнє\" \n" +"var c = get_child(-1).name # c це \"Останнє\" \n" +"[/codeblock] \n" +"[b]Примітка:[/b] щоб отримати вузол за допомогою [NodePath], використовуйте " +"[method get_node]." msgid "" "Returns the number of children of this node.\n" @@ -97917,31 +98543,32 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертаємо назву групи, яку додано вершину.\n" -"[b]Примітка:[/b] Щоб підвищити продуктивність, замовлення назв груп [i] не[/" -"i] гарантовано і може відрізнятися між проектами. Тому не покладайтеся на " -"групове замовлення.\n" -"[b]Примітка:[/b] Цей метод також може повернути деякі назви груп, починаючи з " -"низу ([code]_[/code]). Це внутрішньо використовується двигуном. Щоб уникнути " -"конфліктів, не використовуйте користувацькі групи, починаючи з низу. Щоб " -"виключити внутрішні групи, див. наступний код хіппе:\n" -"[блоки коду]\n" -"[видання]\n" -"Нема Зберігайте неінтервальні групи вершини (як масив StringNames).\n" -"var non_internal_groups = []\n" -"для групи в get_groups():\n" -"якщо не стр(група).begins_with(\"_\"):\n" -"n_internal_groups.push_back(група)\n" -"[/gdscript]\n" -"[csharp]\n" -"(Українська) Зберігайте невтрачні групи вершини (як список StringNames).\n" -"Список nonInternalGroups = новий список();\n" -"foreach (string група в GetGroups())\n" -"Довідник\n" -"якщо (!group.BeginsWith(\"_\")\n" -"неінтерналГрупи.Додати(група);\n" -"Про нас\n" -"[/csharp]\n" +"Повертає [Масив] імен груп, до яких було додано вузол. \n" +"[b]Примітка:[/b] Щоб покращити продуктивність, порядок назв груп [i]не[/i] " +"гарантований і може змінюватися між запусками проекту. Тому не покладайтеся " +"на груповий порядок. \n" +"[b]Примітка: [/b] Цей метод також може повертати назви деяких груп, які " +"починаються з підкреслення ([код]_[/код]). Вони використовуються внутрішньо " +"двигуном. Щоб уникнути конфліктів, не використовуйте спеціальні групи, які " +"починаються з підкреслення. Щоб виключити внутрішні групи, перегляньте такий " +"фрагмент коду: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Зберігає лише невнутрішні групи вузла (як масив StringNames). \n" +"var non_internal_groups = [] \n" +"for group в get_groups(): \n" +" if not str(group).begins_with(\"_\"): \n" +" non_internal_groups.push_back(group) \n" +"[/gdscript] \n" +"[csharp] \n" +"// Зберігає лише невнутрішні групи вузла (як список імен рядків). \n" +"List nonInternalGroups = new List(); \n" +"foreach (група рядків у GetGroups()) \n" +"{\n" +" if (!group.BeginsWith(\"_\")) \n" +" nonInternalGroups.Add(group); \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -98012,39 +98639,39 @@ msgstr "" "Отримує вузол. [NodePath] може бути або відносним шляхом (від цього вузла), " "або абсолютним шляхом (від [члена SceneTree.root]) до вузла. Якщо [param " "path] не вказує на дійсний вузол, створюється помилка та повертається " -"[code]null[/code]. Спроби отримати доступ до методів у поверненому значенні " -"призведуть до [i]\"Спроба виклику на нульовому екземплярі.\"[/i] " -"помилка.\n" +"[code]null[/code]. Спроби отримати доступ до методів із значенням, що " +"повертається, призведуть до помилки [i]\"Спроба викликати у " +"нульовому екземплярі.\"[/i]. \n" "[b]Примітка:[/b] Отримання за абсолютним шляхом працює лише тоді, коли вузол " -"знаходиться всередині дерева сцени (див. [метод is_inside_tree]).\n" +"знаходиться всередині дерева сцени (див. [метод is_inside_tree]). \n" "[b]Приклад:[/b] Припустімо, що цей метод викликається з вузла Character у " -"такому дереві:\n" +"такому дереві: \n" "[codeblock lang=text]\n" -" ┖╴корінь\n" -" ┠╴Персонаж (ви тут!)\n" -" ┃ ┠╴Меч\n" -" ┃ ┖╴Рюкзак\n" -" ┃ ┖╴Кинджал\n" -" ┠╴Моя гра\n" -" ┖╴Болото\n" -" ┠╴Алігатор\n" -" ┠╴Комар\n" -" ┖╴Гоблін\n" -"[/codeblock]\n" -"Наступні виклики повернуть дійсний вузол:\n" -"[кодові блоки]\n" -"[gdscript]\n" -"get_node(\"Меч\")\n" -"get_node(\"Рюкзак/кинджал\")\n" -"get_node(\"../Болото/Алігатор\")\n" +" ┖╴root\n" +" ┠╴Character (you are here!)\n" +" ┃ ┠╴Sword\n" +" ┃ ┖╴Backpack\n" +" ┃ ┖╴Dagger\n" +" ┠╴MyGame\n" +" ┖╴Swamp\n" +" ┠╴Alligator\n" +" ┠╴Mosquito\n" +" ┖╴Goblin\n" +"[/codeblock] \n" +"Наступні виклики повернуть дійсний вузол: \n" +"[codeblocks] \n" +"[gdscript] \n" +"get_node(\"Sword\")\n" +"get_node(\"Backpack/Dagger\")\n" +"get_node(\"../Swamp/Alligator\")\n" "get_node(\"/root/MyGame\")\n" "[/gdscript]\n" "[csharp]\n" -"GetNode(\"Меч\");\n" -"GetNode(\"Рюкзак/кинджал\");\n" -"GetNode(\"../Болото/Алігатор\");\n" +"GetNode(\"Sword\");\n" +"GetNode(\"Backpack/Dagger\");\n" +"GetNode(\"../Swamp/Alligator\");\n" "GetNode(\"/root/MyGame\");\n" -"[/csharp]\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -98094,48 +98721,48 @@ msgid "" "[/codeblocks]" msgstr "" "Отримує вузол і його найбільш вкладений ресурс, як зазначено в підназві " -"[NodePath]. Повертає [Масив] розміром [code]3[/code] де:\n" -"- Елемент [code]0[/code] є [Node] або [code]null[/code], якщо не знайдено;\n" +"[NodePath]. Повертає [Масив] розміром [код]3[/код] де: \n" +"- Елемент [code]0[/code] є [Node] або [code]null[/code], якщо не знайдено; \n" "- Елемент [code]1[/code] є останнім вкладеним [Resource] субназви або " -"[code]null[/code], якщо не знайдено;\n" +"[code]null[/code], якщо не знайдено; \n" "- Елемент [code]2[/code] є рештою [NodePath], яка посилається на існуючу " -"властивість, яка не є [Resource] (див. [method Object.get_indexed]).\n" +"властивість, яка не є [Resource] (див. [method Object.get_indexed]). \n" "[b]Приклад:[/b] Припустімо, що дочірньому [члену Sprite2D.texture] було " -"призначено [AtlasTexture]:\n" -"[кодові блоки]\n" -"[gdscript]\n" -"var a = get_node_and_resource(\"Area2D/Sprite2D\")\n" -"print(a[0].name) # Друкує Sprite2D\n" -"print(a[1]) # Друкує\n" -"print(a[2]) # Виводить ^\"\"\n" +"призначено [AtlasTexture]: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var a = get_node_and_resource(\"Area2D/Sprite2D\") \n" +"print(a[0].name) # Друкує Sprite2D \n" +"print(a[1]) # Виводить \n" +"print(a[2]) # Виводить ^\"\" \n" "\n" -"var b = get_node_and_resource(\"Area2D/Sprite2D:texture:atlas\")\n" -"print(b[0].name) # Друк Sprite2D\n" -"print(b[1].get_class()) # Друк AtlasTexture\n" -"print(b[2]) # Виводить ^\"\"\n" +"var b = get_node_and_resource(\"Area2D/Sprite2D:texture:atlas\") \n" +"print(b[0].name) # Друк Sprite2D \n" +"print(b[1].get_class()) # Друк AtlasTexture \n" +"print(b[2]) # Виводить ^\"\" \n" "\n" -"var c = get_node_and_resource(\"Area2D/Sprite2D:texture:atlas:region\")\n" -"print(c[0].name) # Друк Sprite2D\n" -"print(c[1].get_class()) # Друк AtlasTexture\n" -"print(c[2]) # Виводить ^\":область\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var a = GetNodeAndResource(NodePath(\"Area2D/Sprite2D\"));\n" -"GD.Print(a[0].Name); // Друкує Sprite2D\n" -"GD.Print(a[1]); // Друкує\n" -"GD.Print(a[2]); // Друкує ^\"\n" +"var c = get_node_and_resource(\"Area2D/Sprite2D:texture:atlas:region\") \n" +"print(c[0].name) # Друк Sprite2D \n" +"print(c[1].get_class()) # Друк AtlasTexture \n" +"print(c[2]) # Виводить ^\":область\" \n" +"[/gdscript] \n" +"[csharp] \n" +"var a = GetNodeAndResource(NodePath(\"Area2D/Sprite2D\")); \n" +"GD.Print(a[0].Name); // Друкує Sprite2D \n" +"GD.Print(a[1]); // Виводить \n" +"GD.Print(a[2]); // Друкує ^\" \n" "\n" -"var b = GetNodeAndResource(NodePath(\"Area2D/Sprite2D:texture:atlas\"));\n" -"GD.Print(b[0].name); // Друкує Sprite2D\n" -"GD.Print(b[1].get_class()); // Друк AtlasTexture\n" -"GD.Print(b[2]); // Друкує ^\"\"\n" +"var b = GetNodeAndResource(NodePath(\"Area2D/Sprite2D:texture:atlas\")); \n" +"GD.Print(b[0].name); // Друкує Sprite2D \n" +"GD.Print(b[1].get_class()); // Друк AtlasTexture \n" +"GD.Print(b[2]); // Друкує ^\"\" \n" "\n" "var c = GetNodeAndResource(NodePath(\"Area2D/Sprite2D:texture:atlas:" -"region\"));\n" -"GD.Print(c[0].name); // Друкує Sprite2D\n" -"GD.Print(c[1].get_class()); // Друк AtlasTexture\n" -"GD.Print(c[2]); // Друкує ^\":region\"\n" -"[/csharp]\n" +"region\")); \n" +"GD.Print(c[0].name); // Друкує Sprite2D \n" +"GD.Print(c[1].get_class()); // Друк AtlasTexture \n" +"GD.Print(c[2]); // Друкує ^\":region\" \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -98277,15 +98904,15 @@ msgid "" "TheGame/SplashScreen/Camera2D\n" "[/codeblock]" msgstr "" -"Повертає дерево як [String]. Використовуються переважно для знеболювання " -"цілей. Ця версія відображає шлях відносно поточного вузла, і добре підходить " -"для копіювання / розміщення в функції [метод get_node]. Також можна " -"використовувати в грі UI/UX.\n" -"Може друк, наприклад:\n" +"Повертає дерево як [String]. Використовується в основному для налагодження. " +"Ця версія відображає шлях відносно поточного вузла та підходить для " +"копіювання/вставлення в [метод get_node] функція. Його також можна " +"використовувати в UI/UX гри.\n" +"Можна друкувати, наприклад:\n" "[codeblock lang=text]\n" -"Гюм\n" -"TheGame/Мену\n" -"TheGame/Мену/Лабор\n" +"TheGame\n" +"TheGame/Menu\n" +"TheGame/Menu/Label\n" "TheGame/Menu/Camera2D\n" "TheGame/SplashScreen\n" "TheGame/SplashScreen/Camera2D\n" @@ -98306,16 +98933,16 @@ msgid "" "[/codeblock]" msgstr "" "Подібно до [method get_tree_string], це повертає дерево як [String]. Ця " -"версія відображає більш графічне уявлення, схоже на те, що відображається на " -"сцені Dock. Корисно для інспектування великих дерев.\n" -"Може друк, наприклад:\n" +"версія відображає більш графічне представлення, подібне до того, що " +"відображається в Scene Dock. Це корисно для огляду великих дерев.\n" +"Можна друкувати, наприклад:\n" "[codeblock lang=text]\n" -"й\n" -"й\n" -"й\n" -"浜у 涓 蹇\n" -"п»ї\n" -"浜у 涓 蹇\n" +" ┖╴TheGame\n" +" ┠╴Menu\n" +" ┃ ┠╴Label\n" +" ┃ ┖╴Camera2D\n" +" ┖╴SplashScreen\n" +" ┖╴Camera2D\n" "[/codeblock]" msgid "" @@ -98555,18 +99182,18 @@ msgid "" "SplashScreen/Camera2D\n" "[/codeblock]" msgstr "" -"Друкувати вузол і його дітей до консолі, рекурсивно. вузол не повинен бути " -"всередині дерева. Цей метод виводить [NodePath] відносно цього вузла, і добре " -"підходить для копіювання / розміщення в [метод get_node]. Дивись також " -"[методичного друку_tree_pretty].\n" -"Може друк, наприклад:\n" +"Виводить вузол і його дочірні елементи на консоль рекурсивно. Вузол не " +"обов'язково повинен бути всередині дерева. Цей метод виводить [NodePath]s " +"відносно цього вузла, і добре підходить для копіювання/вставлення в [метод " +"get_node]. Дивіться також [method print_tree_pretty].\n" +"May print, for example:\n" "[codeblock lang=text]\n" -"й\n" -"Навігація\n" -"Меню/Лабор\n" -"Меню/Camera2D\n" -"Шпильки\n" -"ШпилькиScreen/Camera2D\n" +".\n" +"Menu\n" +"Menu/Label\n" +"Menu/Camera2D\n" +"SplashScreen\n" +"SplashScreen/Camera2D\n" "[/codeblock]" msgid "" @@ -98584,18 +99211,18 @@ msgid "" " ┖╴Camera2D\n" "[/codeblock]" msgstr "" -"Друкувати вузол і його дітей до консолі, рекурсивно. вузол не повинен бути " -"всередині дерева. Подібно до [method print_tree], але графічне представлення " -"схоже на те, що відображається у вікні редактора. Корисно для інспектування " -"великих дерев.\n" -"Може друк, наприклад:\n" +"Виводить вузол і його дочірні елементи на консоль рекурсивно. Вузол не " +"обов'язково повинен бути всередині дерева. Схожий на [метод print_tree], але " +"графічний представлення виглядає як те, що відображається в док-станції Scene " +"редактора. Це корисно для огляду великих дерев.\n" +"Можна друкувати, наприклад:\n" "[codeblock lang=text]\n" -"й\n" -"й\n" -"й\n" -"浜у 涓 蹇\n" -"п»ї\n" -"浜у 涓 蹇\n" +" ┖╴TheGame\n" +" ┠╴Menu\n" +" ┃ ┠╴Label\n" +" ┃ ┖╴Camera2D\n" +" ┖╴SplashScreen\n" +" ┖╴Camera2D\n" "[/codeblock]" msgid "" @@ -99648,24 +100275,25 @@ msgid "" " $Label.text = atr(\"%d Bananas\") % banana_counter\n" "[/codeblock]" msgstr "" -"Повідомлення, отримане при зміні перекладу. Може бути запущений користувачем, " -"змінивши локальне місце, змінивши [член auto_translate_mode] або коли вершина " -"надходить на ялинку. Може використовуватися для відповіді на мовні зміни, " -"наприклад, для зміни рядків UI на літа. Корисно при роботі з вбудованим " -"перекладом, як [метод].\n" -"[b]Примітка:[/b] Це повідомлення надійшло поряд з [constant " -"NOTIFICATION_ENTER_TREE], тому якщо ви миттєво переглядаєте сцена, дочірні " -"вузли ще не будуть ініціюватися. Ви можете використовувати його для " -"налаштування перекладів для цієї вершини, дочірні вершини, створені з " -"сценарію, або якщо ви хочете отримати доступ до дочірніх вузлів, доданих в " -"редакторі, переконайтеся, що вершина готова використовувати " -"[метод_node_ready].\n" -"[блокування коду]\n" -"Func _notification(що):\n" -"якщо це == УВАГА!\n" -"якщо немає_node_ready():\n" -"готовий # Очікується до готовності сигналу.\n" -"$Label.text = atr(\"%d Bananas\") % банан_counter\n" +"Отримано сповіщення, коли переклади могли змінитися. Може бути викликано " +"зміною користувачем локалі, зміною [member auto_translate_mode] або коли " +"вузол входить у дерево сцени. Може використовуватися для реагування на зміни " +"мови, наприклад, для зміни рядків інтерфейсу користувача на льоту. Корисно " +"під час роботи з вбудованою підтримкою перекладу, наприклад [method Object." +"tr]. \n" +"[b]Примітка:[/b] це сповіщення отримано разом із [константою " +"NOTIFICATION_ENTER_TREE], тому, якщо ви створюєте екземпляр сцени, дочірні " +"вузли ще не буде ініціалізовано. Ви можете використовувати його, щоб " +"налаштувати переклади для цього вузла, дочірніх вузлів, створених зі " +"сценарію, або якщо ви хочете отримати доступ до дочірніх вузлів, доданих у " +"редакторі, переконайтеся, що вузол готовий за допомогою [method " +"is_node_ready]. \n" +"[codeblock] \n" +"func _notification(що): \n" +" if what == NOTIFICATION_TRANSLATION_CHANGED: \n" +" if not is_node_ready(): \n" +" await ready # Зачекайте до сигналу готовності. \n" +" $Label.text = atr(\"%d Bananas\") % banana_counter \n" "[/codeblock]" msgid "" @@ -100698,58 +101326,58 @@ msgid "" msgstr "" "Вбудований тип [NodePath] [Variant] представляє шлях до вузла або властивості " "в ієрархії вузлів. Його розроблено для ефективної передачі в багато " -"вбудованих методів (таких як [method Node.get_node], [method Object." -"set_indexed], [method Tween.tween_property] тощо) без жорсткої залежності від " -"вузла чи властивості, яку вони вказувати на.\n" -"Шлях до вузла представлено як [String], що складається з назв вузлів, " +"вбудованих методів (таких як [м. Node.get_node], [м. Object.set_indexed], " +"[метод Tween.tween_property] тощо) без жорсткої залежності від вузла чи " +"властивості, на які вони вказують. \n" +"Шлях до вузла представлено як [String], що складається з імен вузлів, " "розділених скісною рискою ([code]/[/code]) і розділених двокрапками ([code]:[/" -"code]) назв властивостей (також званих «підіменами») . Подібно до шляху " +"code]) імен властивостей (також званих «підіменами»). Подібно до шляху " "файлової системи, [code]\"..\"[/code] і [code]\".\"[/code] є спеціальними " "іменами вузлів. Вони посилаються на батьківський вузол і поточний вузол " -"відповідно.\n" -"Наведені нижче приклади є шляхами відносно поточного вузла:\n" -"[кодовий блок]\n" -"^\"A\" # Вказує на пряму дочірню A.\n" -"^\"A/B\" # Вказує на дочірній елемент B.\n" -"^\".\" # Вказує на поточний вузол.\n" -"^\"..\" # Вказує на батьківський вузол.\n" -"^\"../C\" # Вказує на рідний вузол C.\n" -"^\"../..\" # Вказує на дідусовий вузол.\n" -"[/codeblock]\n" -"Слеш на початку означає, що шлях є абсолютним і починається з [SceneTree]:\n" -"[кодовий блок]\n" -"^\"/root\" # Вказує на кореневе вікно SceneTree.\n" +"відповідно. \n" +"Наведені нижче приклади є шляхами відносно поточного вузла: \n" +"[codeblock] \n" +"^\"A\" # Вказує на пряму дочірню A. \n" +"^\"A/B\" # Вказує на дочірній елемент B. \n" +"^\".\" # Вказує на поточний вузол. \n" +"^\"..\" # Вказує на батьківський вузол. \n" +"^\"../C\" # Вказує на рідний вузол C. \n" +"^\"../..\" # Вказує на дідусовий вузол. \n" +"[/codeblock] \n" +"Слеш на початку означає, що шлях є абсолютним і починається з [SceneTree]: \n" +"[codeblock] \n" +"^\"/root\" # Вказує на кореневе вікно SceneTree. \n" "^\"/root/Title\" # Може вказувати на кореневий вузол головної сцени під " -"назвою \"Title\".\n" +"назвою \"Title\". \n" "^\"/root/Global\" # Може вказувати на автоматично завантажений вузол або " -"сцену під назвою \"Global\".\n" -"[/codeblock]\n" +"сцену під назвою \"Global\". \n" +"[/codeblock] \n" "Незважаючи на свою назву, шляхи вузлів також можуть вказувати на " -"властивість:\n" -"[кодовий блок]\n" -"^\":position\" # Вказує на позицію цього об'єкта.\n" -"^\":position:x\" # Вказує на положення цього об'єкта на осі x.\n" +"властивість: \n" +"[codeblock] \n" +"^\":position\" # Вказує на позицію цього об'єкта. \n" +"^\":position:x\" # Вказує на положення цього об'єкта на осі x. \n" "^\"Camera3D:rotation:y\" # Вказує на дочірню камеру Camera3D і її обертання " -"y.\n" -"^\"/root:size:x\" # Вказує на кореневе вікно та його ширину.\n" -"[/codeblock]\n" -"У деяких ситуаціях можна опустити початковий [code]:[/code] під час вказівки " -"на властивість об’єкта. Як приклад, це випадок [method Object.set_indexed] і " +"y. \n" +"^\"/root:size:x\" # Вказує на кореневе вікно та його ширину. \n" +"[/codeblock] \n" +"У деяких ситуаціях можна опустити початковий [код]:[/код] під час вказівки на " +"властивість об’єкта. Як приклад, це випадок [method Object.set_indexed] і " "[method Tween.tween_property], оскільки ці методи викликають [method NodePath." "get_as_property_path] під капотом. Однак зазвичай рекомендується зберігати " -"префікс [code]:[/code].\n" +"префікс [код]:[/код]. \n" "Шляхи вузлів не можуть перевірити, чи вони дійсні, і можуть вказувати на " "вузли або властивості, які не існують. Їхнє значення повністю залежить від " -"контексту, у якому вони використовуються.\n" +"контексту, у якому вони використовуються. \n" "Зазвичай вам не потрібно турбуватися про тип [NodePath], оскільки рядки " "автоматично перетворюються на тип, коли це необхідно. Бувають випадки, коли " "визначення шляхів вузлів є корисним. Наприклад, експортовані властивості " "[NodePath] дозволяють легко вибрати будь-який вузол у поточній редагованій " "сцені. Вони також автоматично оновлюються під час переміщення, перейменування " "або видалення вузлів у редакторі дерева сцен. Дивіться також [анотацію " -"@GDScript.@export_node_path].\n" +"@GDScript.@export_node_path]. \n" "Дивіться також [StringName], який є подібним типом, розробленим для " -"оптимізованих рядків.\n" +"оптимізованих рядків. \n" "[b]Примітка.[/b] У логічному контексті [NodePath] матиме значення " "[code]false[/code], якщо він порожній ([code]NodePath(\"\")[/code]). В іншому " "випадку [NodePath] завжди матиме значення [code]true[/code]." @@ -100818,8 +101446,8 @@ msgstr "" "\"/root/Level/RigidBody2D\" \n" "[/codeblock] \n" "[b]Примітка:[/b] У GDScript також можна перетворити постійний рядок на шлях " -"до вузла, додавши до нього префікс [code]^[/code]. [код]^\"шлях/до/вузла\"[/" -"код] еквівалентний [код]NodePath(\"шлях/до/вузла\")[/код]." +"до вузла, додавши до нього префікс [code]^[/code]. [code]^\"шлях/до/вузла\"[/" +"code] еквівалентний [code]NodePath(\"шлях/до/вузла\")[/code]." msgid "" "Returns a copy of this node path with a colon character ([code]:[/code]) " @@ -100846,7 +101474,7 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає копію шляху цього вузла з префіксом двокрапки ([код]:[/код]), " +"Повертає копію шляху цього вузла з префіксом двокрапки ([code]:[/code]), " "перетворюючи його на чистий шлях властивостей без імен вузла (відносно " "поточного вузла). \n" "[codeblocks] \n" @@ -101161,19 +101789,20 @@ msgid "" "var data = image.get_data()\n" "[/codeblock]" msgstr "" -"Використовуйте бібліотеку [FastNoiseLite] або інші шумогенератори для " -"заповнення текстурних даних потрібного розміру. [NoiseTexture2D] також може " -"генерувати нормальні текстури карти.\n" -"У класі використовуються [Thread] для створення текстурних даних внутрішньо, " -"тому [метод Texture2D.get_image] може повернутися [code]null[/code], якщо " -"процес генерації ще не завершено. У цьому випадку потрібно чекати фактури, " -"щоб бути генеровані до доступу до зображення та сформованих даних байтів:\n" -"[блокування коду]\n" -"var текстура = NoiseTexture2D.new()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"чекає фактура. змінено\n" -"var image = текстура.get_image()\n" -"var data = image.get_data()\n" +"Використовує бібліотеку [FastNoiseLite] або інші генератори шуму для " +"заповнення даними текстури бажаного розміру. [NoiseTexture2D] також може " +"генерувати нормальні текстури карти. \n" +"Клас використовує [Thread] для внутрішньої генерації даних текстури, тому " +"[метод Texture2D.get_image] може повернути [code]null[/code], якщо процес " +"генерації ще не завершено. У такому випадку вам потрібно дочекатися генерації " +"текстури, перш ніж отримати доступ до зображення та згенерованих байтових " +"даних: \n" +"[codeblock] \n" +"var texture = NoiseTexture2D.new() \n" +"texture.noise = FastNoiseLite.new() \n" +"await texture.changed \n" +"var image = texture.get_image() \n" +"var data = image.get_data() \n" "[/codeblock]" msgid "" @@ -101301,17 +101930,17 @@ msgid "" "var data = texture.get_data()\n" "[/codeblock]" msgstr "" -"Використовуйте бібліотеку [FastNoiseLite] або інші шумогенератори для " -"заповнення текстурних даних потрібного розміру.\n" -"У класі використовуються [Thread] для створення текстурних даних внутрішньо, " -"тому [метод Текстура3D.get_data] може повернутися [code]null[/code], якщо " -"процес генерації ще не завершено. У цьому випадку потрібно чекати фактури, " -"щоб бути створеною перед отриманням образу:\n" -"[блокування коду]\n" -"var текстура = NoiseTexture3D.new()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"чекає фактура. змінено\n" -"var data = фактура.get_data()\n" +"Використовує бібліотеку [FastNoiseLite] або інші генератори шуму для " +"заповнення даних текстури бажаного розміру. \n" +"Клас використовує [Thread] для внутрішньої генерації даних текстури, тому " +"[метод Texture3D.get_data] може повернути [code]null[/code], якщо процес " +"генерації ще не завершено. У такому випадку вам потрібно дочекатися створення " +"текстури, перш ніж отримати доступ до зображення: \n" +"[codeblock] \n" +"var texture = NoiseTexture3D.new() \n" +"texture.noise = FastNoiseLite.new() \n" +"await texture.changed \n" +"var data = texture.get_data() \n" "[/codeblock]" msgid "Depth of the generated texture (in pixels)." @@ -101448,12 +102077,12 @@ msgstr "" "тощо. Зауважте, що ці методи [b]набагато[/b] повільніші за прямі посилання. \n" "У GDScript ви також можете перевірити, чи властивість, метод або ім’я сигналу " "існує в об’єкті за допомогою оператора [code]in[/code]: \n" -"[кодовий блок] \n" +"[codeblock] \n" "var node = Node.new() \n" -"print(\"ім'я\" у вузлі) # Друкує true \n" -"print(\"get_parent\" у вузлі) # Виводить true \n" +"print(\"name\" in node) # Друкує true \n" +"print(\"get_parent\" in node) # Виводить true \n" "print(\"tree_entered\" in node) # Виводить true \n" -"print(\"unknown\" у вузлі) # Виводить false \n" +"print(\"unknown\" in node) # Виводить false \n" "[/codeblock] \n" "Сповіщення — це константи [int], які зазвичай надсилаються й отримуються " "об’єктами. Наприклад, у кожному відтвореному кадрі [SceneTree] сповіщає вузли " @@ -101546,10 +102175,10 @@ msgstr "" "func _get(властивість): \n" " if property == \"fake_property\": \n" " print(\"Отримання моєї власності!\") \n" -" повернення 4 \n" +" return 4 \n" "\n" "func _get_property_list(): \n" -" повернення [ \n" +" return [ \n" " { \"name\": \"fake_property\", \"type\": TYPE_INT } \n" " ] \n" "[/gdscript] \n" @@ -101559,20 +102188,20 @@ msgstr "" " якщо (властивість == \"FakeProperty\") \n" " { \n" " GD.Print(\"Отримання моєї власності!\"); \n" -" повернення 4; \n" +" return 4; \n" " } \n" -" повернення за замовчуванням; \n" +" return default; \n" "}\n" "\n" -"публічне перевизначення Godot.Collections.Array " +"public override Godot.Collections.Array " "_GetPropertyList() \n" "{\n" -" повернення \n" +" return \n" " [ \n" " новий Godot.Collections.Dictionary() \n" " { \n" -" { \"ім'я\", \"FakeProperty\" }, \n" -" { \"тип\", (int)Variant.Type.Int }, \n" +" { \"name\", \"FakeProperty\" }, \n" +" { \"type\", (int)Variant.Type.Int }, \n" " }, \n" " ]; \n" "}\n" @@ -101718,55 +102347,55 @@ msgstr "" "контролює розмір списку: \n" "[codeblocks] \n" "[gdscript] \n" -"@інструмент \n" -"розширює вузол \n" +"@tool \n" +"extends Node \n" "\n" "@export var number_count = 3: \n" -" встановити (nc): \n" -" число_підрахунок = nc \n" +" set(nc): \n" +" number_count = nc \n" " numbers.resize(number_count) \n" " notify_property_list_changed() \n" "\n" -"змінні числа = PackedInt32Array([0, 0, 0]) \n" +"vae number = PackedInt32Array([0, 0, 0]) \n" "\n" "func _get_property_list(): \n" -" властивості змінної = [] \n" +" var properties = [] \n" "\n" -" для i в діапазоні (number_count): \n" -" властивості.append({ \n" -" \"ім'я\": \"номер_%d\" % i, \n" -" \"тип\": TYPE_INT, \n" -" \"підказка\": PROPERTY_HINT_ENUM, \n" +" for i in range (number_count): \n" +" properties.append({ \n" +" \"name\": \"number%d\" % i, \n" +" \"type\": TYPE_INT, \n" +" \"hint\": PROPERTY_HINT_ENUM, \n" " \"hint_string\": \"НУЛЬ, ОДИН, ДВА, ТРИ, ЧОТИРИ, П'ЯТЬ\", \n" " }) \n" "\n" -" повертати властивості \n" +" return properties \n" "\n" -"func _get(властивість): \n" +"func _get(properties): \n" " if property.begins_with(\"number_\"): \n" " var index = property.get_slice(\"_\", 1).to_int() \n" -" повертати числа [індекс] \n" +" return number [index] \n" "\n" -"func _set(властивість, значення): \n" +"func _set(properties, valve): \n" " if property.begins_with(\"number_\"): \n" " var index = property.get_slice(\"_\", 1).to_int() \n" -" числа [індекс] = значення \n" -" повернути істину \n" -" повернути false \n" +" number [index] = valve \n" +" return true \n" +" return false \n" "[/gdscript] \n" "[csharp] \n" -"[Інструмент] \n" -"публічний частковий клас MyNode : Node \n" +"[tool] \n" +"public partial class MyNode : Node \n" "{\n" " private int _numberCount; \n" "\n" -" [Експорт] \n" +" [Export] \n" " public int NumberCount \n" " { \n" -" отримати => _numberCount; \n" -" встановити \n" +" get => _numberCount; \n" +" set \n" " { \n" -" _numberCount = значення; \n" +" _numberCount = valve; \n" " _numbers.Resize(_numberCount); \n" " NotifyPropertyListChanged(); \n" " } \n" @@ -101774,28 +102403,28 @@ msgstr "" "\n" " private Godot.Collections.Array _numbers = []; \n" "\n" -" публічне перевизначення Godot.Collections.Array _GetPropertyList() \n" +" public override Godot.Collections.Array " +"_GetPropertyList() \n" " { \n" -" Godot.Collections.Array властивості = " +" Godot.Collections.Array properties = " "[]; \n" "\n" " for (int i = 0; i < _numberCount; i++) \n" " { \n" -" властивості.Add(новий Godot.Collections.Dictionary() \n" +" properties.Add(new Godot.Collections.Dictionary() \n" " { \n" -" { \"ім'я\", $\"номер_{i}\" }, \n" -" { \"тип\", (int)Variant.Type.Int }, \n" -" { \"підказка\", (int)PropertyHint.Enum }, \n" +" { \"name\", $\"number {i}\" }, \n" +" { \"type\", (int)Variant.Type.Int }, \n" +" { \"hint\", (int)PropertyHint.Enum }, \n" " { \"hint_string\", \"Нуль, один, два, три, чотири, " "п'ять\" }, \n" " }); \n" " } \n" "\n" -" повертати властивості; \n" +" return properties; \n" " } \n" "\n" -" публічне перевизначення Variant _Get(властивість StringName) \n" +" public override Variant _Get(властивість StringName) \n" " { \n" " string propertyName = property.ToString(); \n" " if (propertyName.StartsWith(\"number_\")) \n" @@ -101804,11 +102433,10 @@ msgstr "" "Length)); \n" " return _numbers[index]; \n" " } \n" -" повернення за замовчуванням; \n" +" return default; \n" " } \n" "\n" -" публічне перевизначення bool _Set(властивість StringName, значення " -"Variant) \n" +" public override bool _Set(property StringName, valve Variant) \n" " { \n" " string propertyName = property.ToString(); \n" " if (propertyName.StartsWith(\"number_\")) \n" @@ -101816,15 +102444,15 @@ msgstr "" " int index = int.Parse(propertyName.Substring(\"number_\"." "Length)); \n" " _numbers[index] = value.As(); \n" -" повернути істину; \n" +" return ture; \n" " } \n" -" повернути false; \n" +" return false; \n" " } \n" "}\n" "[/csharp] \n" "[/codeblocks] \n" "[b]Примітка.[/b] Цей метод призначений для розширених цілей. Для більшості " -"поширених випадків використання мови сценаріїв пропонують прості способи " +"ширених випадків використання мови сценаріїв пропонують прості способи " "обробки властивостей. Див. [анотація @GDScript.@export], [анотація @GDScript." "@export_enum], [анотація @GDScript.@export_group] тощо. Якщо ви хочете " "налаштувати експортовані властивості, використовуйте [метод " @@ -101907,13 +102535,13 @@ msgstr "" "приклад:\n" "[codeblock] \n" "клас MyRange: \n" -" був _від \n" -" було _два \n" +" var _from \n" +" var _to \n" "\n" -" func _init(від, до): \n" -" стверджувати (від <= до) \n" -" _від = від \n" -" _до = до \n" +" func _init(from, to): \n" +" assert (from <= to) \n" +" _from = from \n" +" _to = to \n" "\n" " func _iter_init(iter): \n" " iter[0] = _from \n" @@ -101924,7 +102552,7 @@ msgstr "" " return iter[0] < _to \n" "\n" " func _iter_get(iter): \n" -" повернення iter \n" +" return iter \n" "\n" "func _ready(): \n" " var my_range = MyRange.new(2, 5) \n" @@ -101975,30 +102603,29 @@ msgid "" "Inheriting classes such as [Node] define a lot more notifications, which are " "also received by this method." msgstr "" -"Викликається, коли об'єкт отримує повідомлення, яке можна визначити в " -"[пам'яті чого], порівнявши його з констанцією. Дивитися також [метод " -"повідомлення].\n" -"[блоки коду]\n" -"[видання]\n" -"Func _notification(що):\n" -"якщо це == УВАГА!\n" -"Друк(\"Goodbye!\")\n" -"[/gdscript]\n" -"[csharp]\n" -"громадська наднаречена _Повідомлення(на що)\n" -"Довідник\n" -"якщо " -"(що=============================================================================================================================================================================================================================================================\n" -"Довідник\n" -"GD.Print(\"Goodbye!\");\n" -"Про нас\n" -"Про нас\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Основа [об'єкт] визначає кілька повідомлень ([constant " -"NOTIFICATION_POSTINITIALIZE] і [constant NOTIFICATION_PREDELETE]). Визначені " -"класи, такі як [Нод], визначають більше повідомлень, які також отримують цей " -"метод." +"Викликається, коли об’єкт отримує сповіщення, яке можна ідентифікувати в " +"[param what], порівнюючи його з константою. Дивіться також [метод " +"повідомлення]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _notification(що): \n" +" if what == NOTIFICATION_PREDELETE: \n" +" print(\"До побачення!\") \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Notification(int what) \n" +"{\n" +" if (what == NotificationPredelete) \n" +" { \n" +" GD.Print(\"До побачення!\"); \n" +" } \n" +"}\n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] базовий [Object] визначає кілька сповіщень ([константа " +"NOTIFICATION_POSTINITIALIZE] і [константа NOTIFICATION_PREDELETE]). " +"Успадковані класи, такі як [Node], визначають набагато більше сповіщень, які " +"також отримані цим методом." msgid "" "Override this method to customize the given [param property]'s revert " @@ -102100,45 +102727,45 @@ msgstr "" "get_property_list], інакше цей метод не буде викликано. \n" "[codeblocks] \n" "[gdscript] \n" -"змінна внутрішні_дані = {} \n" +"var internal_data = {} \n" "\n" -"func _set(властивість, значення): \n" +"func _set(peorerty, valve): \n" " if property == \"fake_property\": \n" " # Зберігання значення у фальшивій властивості. \n" -" internal_data[\"fake_property\"] = значення \n" -" повернути істину \n" -" повернути false \n" +" internal_data[\"fake_property\"] = valve \n" +" return ture \n" +" return false \n" "\n" "func _get_property_list(): \n" -" повернення [ \n" +" return [ \n" " { \"name\": \"fake_property\", \"type\": TYPE_INT } \n" " ] \n" "[/gdscript] \n" "[csharp] \n" -"private Godot.Collections.Dictionary _internalData = новий Godot.Collections." +"private Godot.Collections.Dictionary _internalData = new Godot.Collections." "Dictionary(); \n" "\n" -"публічне перевизначення bool _Set(властивість StringName, значення Variant) \n" +"public override bool _Set(property StringName, valve Variant) \n" "{\n" -" якщо (властивість == \"FakeProperty\") \n" +" if (prorerty == \"FakeProperty\") \n" " { \n" " // Зберігання значення у фальшивій властивості. \n" -" _internalData[\"FakeProperty\"] = значення; \n" -" повернути істину; \n" +" _internalData[\"FakeProperty\"] = valve; \n" +" return ture; \n" " } \n" "\n" -" повернути false; \n" +" return false; \n" "}\n" "\n" -"публічне перевизначення Godot.Collections.Array " +"public override Godot.Collections.Array " "_GetPropertyList() \n" "{\n" -" повернення \n" +" return \n" " [ \n" -" новий Godot.Collections.Dictionary() \n" +" new Godot.Collections.Dictionary() \n" " { \n" -" { \"ім'я\", \"FakeProperty\" }, \n" -" { \"тип\", (int)Variant.Type.Int }, \n" +" { \"name\", \"FakeProperty\" }, \n" +" { \"type\", (int)Variant.Type.Int }, \n" " }, \n" " ]; \n" "}\n" @@ -102223,56 +102850,58 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"На відміну від цього способу налаштувати існуючі властивості. Інформація про " -"нерухомість проходить за допомогою цього методу, крім властивостей, доданих " -"[метод]. Вміст словника є таким же, як в [метод_get_property_list].\n" -"[блоки коду]\n" -"[видання]\n" -"@інструмент\n" -"Подовжувачі Нід\n" +"Перевизначте цей метод, щоб налаштувати наявні властивості. Усі відомості про " +"властивості проходять через цей метод, за винятком властивостей, доданих за " +"допомогою [method _get_property_list]. Вміст словника такий самий, як і в " +"[method _get_property_list]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"@tool \n" +"extends Node \n" "\n" -"@export var_number_editable: bool:\n" -"набір(значення):\n" -"is_number_editable = значення\n" -"JavaScript licenses API Веб-сайт\n" -"@export var номер: int\n" +"@export var is_number_editable: bool: \n" +" set(valve): \n" +" is_number_editable = valve \n" +" notify_property_list_changed() \n" +"@export var number: int \n" "\n" -"Func _validate_property(property: Словник):\n" -"якщо майно.name = \"number\" і не є_number_editable:\n" -"Головна сторінка UKRAINE UA > Продукція > PROPERTY_USAGE\n" -"[/gdscript]\n" -"[csharp]\n" -"[Tool]\n" -"публічний частковий клас MyNode : Node\n" -"Довідник\n" -"приватний bool _isКількістьEditable;\n" +"func _validate_property(property: Dictionary): \n" +" if property.name == \"number\", and not is_number_editable: \n" +" property.usage |= PROPERTY_USAGE_READ_ONLY \n" +"[/gdscript] \n" +"[csharp] \n" +"[Tool] \n" +"public partial class MyNode : Node \n" +"{\n" +" private bool _isNumberEditable; \n" "\n" -"[Експорт]\n" -"публічний bool IsNumberEditable\n" -"Довідник\n" -"Завантажити [xml.tar.bz2] Редагування;\n" -"Комплекти\n" -"Довідник\n" -"_isКількістьEditable = значення;\n" -"Повідомити проксимуляцію();\n" -"Про нас\n" -"Про нас\n" +" [Export] \n" +" public bool IsNumberEditable \n" +" { \n" +" get => _isNumberEditable; \n" +" set \n" +" { \n" +" _isNumberEditable = valve; \n" +" NotifyPropertyListChanged(); \n" +" } \n" +" } \n" "\n" -"[Експорт]\n" -"JavaScript licenses API Веб-сайт\n" +" [Export] \n" +" public int Number { get; set; } \n" "\n" -"public override void _ValidateProperty(Godot.Collections. Словникове майно)\n" -"Довідник\n" -"if (property[\"name\"]. AsStringName() ==Назва власності.Кількість та & !" -"IsКількістьEditable)\n" -"Довідник\n" -"var use = власність[\"usage\"]. Як () 浜у 灞 绀 Читати " -"далі;\n" -"майно[\"usage\"] = (int)usage;\n" -"Про нас\n" -"Про нас\n" -"Про нас\n" -"[/csharp]\n" +" public override void _ValidateProperty(властивість Godot.Collections." +"Dictionary) \n" +" { \n" +" if (property[\"name\"].AsStringName() == PropertyName.Number && !" +"IsNumberEditable) \n" +" { \n" +" var usage = property[\"usage\"].As() | " +"PropertyUsageFlags.ReadOnly; \n" +" property[\"usage\"] = (int)usage; \n" +" } \n" +" } \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -102425,11 +103054,11 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var node = Node3D.new() \n" -"node.call_deferred(\"обертати\", Vector3(1.0, 0.0, 0.0), 1.571) \n" +"node.call_deferred(\"rotate\", Vector3(1.0, 0.0, 0.0), 1.571) \n" "[/gdscript] \n" "[csharp] \n" "var node = new Node3D(); \n" -"node.CallDeferred(Node3D.MethodName.Rotate, новий Vector3(1f, 0f, 0f), " +"node.CallDeferred(Node3D.MethodName.Rotate, new Vector3(1f, 0f, 0f), " "1.571f); \n" "[/csharp] \n" "[/codeblocks] \n" @@ -102477,11 +103106,11 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var node = Node3D.new() \n" -"node.callv(\"обертати\", [Вектор3(1.0, 0.0, 0.0), 1.571]) \n" +"node.callv(\"rotate\", [Vector3(1.0, 0.0, 0.0), 1.571]) \n" "[/gdscript] \n" "[csharp] \n" "var node = new Node3D(); \n" -"node.Callv(Node3D.MethodName.Rotate, [новий Vector3(1f, 0f, 0f), 1.571f]); \n" +"node.Callv(Node3D.MethodName.Rotate, [new Vector3(1f, 0f, 0f), 1.571f]); \n" "[/csharp] \n" "[/codeblocks] \n" "[b]Примітка.[/b] У C# [param method] має бути в snake_case, коли йдеться про " @@ -102684,175 +103313,173 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Підключає [параметровий сигнал] за назвою [парафікований]. Додаткові " -"[параметри] можуть бути також додані для налаштування поведінки з'єднання " -"(див. [enum ConnectFlags].\n" -"сигнал може бути підключений тільки один раз до того ж [знімний]. Якщо сигнал " -"вже підключений, цей метод повертає [constant ERR_INVALID_PARAMETER] і " -"відштовхує повідомлення про помилку, якщо сигнал підключено до [constant " -"CONNECT_REFERENCE_COUNTED]. Для запобігання цього використовується " -"[метод_connected] для перевірки існуючих підключень.\n" -"Якщо об'єкт [param callable] звільняється, зв'язок буде втрачено.\n" -"[b]Examples з рекомендованим синтаксисом:[/b]\n" -"З'єднання сигналів є одним з найбільш поширених операцій в Godot і API дає " -"безліч варіантів зробити це, які описані далі. Код блок нижче показує " +"З’єднує [param signal] за назвою з [param callable]. Також можна додати " +"необов’язкові [param flags], щоб налаштувати поведінку з’єднання (див. " +"константи [enum ConnectFlags]).\n" +"Сигнал можна підключити лише один раз до одного [Callable]. Якщо сигнал уже " +"підключено, цей метод повертає [константу ERR_INVALID_PARAMETER] і надсилає " +"повідомлення про помилку, якщо сигнал не підключено до [константи " +"CONNECT_REFERENCE_COUNTED]. Щоб запобігти цьому, спочатку використовуйте " +"[методis_connected], щоб перевірити наявність підключень.\n" +"Якщо об’єкт [param callable] звільнено, з’єднання буде втрачено.\n" +"[b]Приклади з рекомендованим синтаксисом:[/b]\n" +"Підключення сигналів є однією з найпоширеніших операцій у Godot, і API надає " +"багато варіантів для цього, які описані нижче. Блок коду нижче показує " "рекомендований підхід.\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"Кнопка варення = Button.new()\n" -"# `button_down` тут є тип сигналу, і ми, таким чином, називаємо Signal. " -"Підключення() метод, не Об'єкт.connect().\n" -"# Переглядайте обговорення нижче для більш детального огляду API.\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"[codeblocjs]\n" +"[gdscript]\n" +"func _ready():\n" +" var botton = Button.new()\n" +" # `button_down` тут є варіантом типу Signal, тому ми викликаємо метод Signal." +"connect(), а не Object.connect().\n" +" # Перегляньте обговорення нижче для більш глибокого огляду API.\n" +" button.button_down.connect(_on_button_down)\n" "\n" -"Нема У цьому випадку існує клас `Player`, який визначає сигнал `hit`.\n" -"var гравець = Player.new()\n" -"# Ми використовуємо Signal.connect() знову, і ми використовуємо метод " +" # Це припускає, що існує клас `Player`, який визначає сигнал `hit`.\n" +" var player = Player.new()\n" +" # Ми знову використовуємо Signal.connect(), а також використовуємо метод " "Callable.bind(),\n" -"# який повертає новий Увімкнути з параметром\n" -"плеєр.hit.connect(_on_player_hit.bind(\"sword\", 100)\n" +" # який повертає новий Callable з параметром binds.\n" +" player.hit.connect(_on_player_hit.bind(\"sword\", 100))\n" "\n" -"Func _on_button_down():\n" -"Друк(\"Button Down!\")\n" +"func _on_button_down():\n" +" print(\"Гудзик вниз!\")\n" "\n" -"Func _on_player_hit(weapon_type, пошкодження):\n" -"Друк(\"Примітка з зброєю %s за %d пошкодження.\" % [weapon_type, " -"пошкодження])\n" +"func _on_player_hit(weapon_type, damage):\n" +" print(\"Удар зі зброї %s для %d шкоди.\" % [weapon_type, damage])\n" "[/gdscript]\n" "[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"кнопка вар = нова кнопка ();\n" -"// C# підтримує проходження сигналів як подій, тому ми можемо використовувати " -"цей ідіоматичний дизайн:\n" -"кнопка. ButtonDown += OnButtonDown;\n" +"public override void _Ready()\n" +"{\n" +" var bottom = new botton();\n" +" // C# підтримує передачу сигналів як подій, тому ми можемо використовувати " +"цю ідіоматичну конструкцію:\n" +" button.ButtonDown += OnButtonDown;\n" "\n" -"(Українська) У цьому випадку існує клас `Player`, який визначає сигнал " -"`Hit`.\n" -"var гравця = новий плеєр ();\n" -"(Українська) Ми можемо використовувати лямбочки, коли нам потрібно зв'язати " +" // Це припускає, що існує клас `Player`, який визначає сигнал `Hit`.\n" +" var player = new Player();\n" +" // Ми можемо використовувати лямбда-вирази, коли нам потрібно прив’язати " "додаткові параметри.\n" -"гравець. Хіт += () => OnPlayerHit(\"sword\", 100);\n" -"Про нас\n" +" player.Hit += () => OnPlayerHit(\"sword\", 100);\n" +"}\n" "\n" -"приватний void OnButtonDown()\n" -"Довідник\n" -"GD.Print(\"Button вниз!\");\n" -"Про нас\n" +"private void OnButtonDown()\n" +"{\n" +" GD.Print(\"Кудзик вниз!\");\n" +"}\n" "\n" -"приватний void OnPlayerHit(string зброя Тип, не пошкодити)\n" -"Довідник\n" -"GD.Print($\"Примітка з зброєю {weaponType} для пошкодження {damage}\");\n" -"Про нас\n" +"private void OnPlayerHit(string weaponType, int damage)\n" +"{\n" +" GD.Print($\"Удар зі зброї {weaponType} для {damage} шкоди.\");\n" +"}\n" "[/csharp]\n" "[/codeblocks]\n" -"[b][code skip-lint]Object.connect()[/code] або [код пропустити-lint]Signal." -"connect()[/код]?[/b]\n" -"Як видно вище, рекомендований метод підключення сигналів не [метод об'єкт." -"connect]. Введіть номер мобільного, який Ви вказали при укладаннi договору з " -"банком - для ідентифікації.\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"Кнопка варення = Button.new()\n" -"# Option 1: Об'єкт.connect() з настройкою, що відповідає за визначену " -"функцію.\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"# Option 2: Об'єкт.connect() з вбудованим Увімкненням за допомогою цільового " -"об'єкта та імені методу.\n" -"button.connect(\"button_down\", Вимкнено(self, \"_on_button_down\")\n" -"# Option 3: Signal.connect() з відключенням для визначеної функції.\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"# Option 4: Signal.connect() з вбудованим Callable за допомогою цільового " -"об'єкта та імені методу.\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"[b][code skip-lint]Object.connect()[/code] або [code skip-lint]Signal." +"connect()[/code]?[/b]\n" +"Як видно вище, рекомендований метод підключення сигналів не є [метод Object." +"connect]. У наведеному нижче блоці коду показано чотири варіанти з’єднання " +"сигналів, використовуючи або цей застарілий метод, або рекомендований [метод " +"Signal.connect], а також використовуючи неявний [Callable] або визначений " +"вручну.\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" var botton = Button.new()\n" +" # Варіант 1: Object.connect() із неявним Callable для визначеної функції.\n" +" button.connect(\"button_down\", _on_button_down)\n" +" # Варіант 2: Object.connect() зі сконструйованим Callable з використанням " +"цільового об’єкта та імені методу.\n" +" button.connect(\"button_down\", Callable(self, \"_on_button_down\"))\n" +" # Варіант 3: Signal.connect() із неявним Callable для визначеної функції.\n" +" button.button_down.connect(_on_button_down)\n" +" # Варіант 4: Signal.connect() зі створеним Callable з використанням " +"цільового об’єкта та імені методу.\n" +" button.button_down.connect(Callable(self, \"_on_button_down\"))\n" "\n" -"Func _on_button_down():\n" -"Друк(\"Button Down!\")\n" +"func _on_button_down():\n" +" print(\"Гудзик вниз!\")\n" "[/gdscript]\n" "[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"кнопка вар = нова кнопка ();\n" -"// Варіант 1: У C# ми можемо використовувати сигнали як події і підключитися " -"з цим ідіоматичним синтаксисом:\n" -"кнопка. ButtonDown += OnButtonDown;\n" -"// Варіант 2: GodotObject.Connect() з вбудованим Callable з групи методів.\n" -"кнопка. Підключіть(Button.SignalName.ButtonDown, Callable. " -"Від(НаButtonDown));\n" -"// Варіант 3: GodotObject.Connect() з вбудованим Callable за допомогою " -"цільового об'єкта та методу ім'я.\n" -"кнопка. Підключіть(Button.SignalName.ButtonDown, новий Callable(this, " -"MethodName.OnButtonDown));\n" -"Про нас\n" +"public override void _Ready()\n" +"{\n" +" var bottom = new botton();\n" +" // Варіант 1: у C# ми можемо використовувати сигнали як події та " +"підключатися за допомогою цього ідіоматичного синтаксису:\n" +" button.ButtonDown += OnButtonDown;\n" +" // Варіант 2: GodotObject.Connect() зі створеним Callable із групи методів.\n" +" button.Connect(Button.SignalName.ButtonDown, Callable.From(OnButtonDown));\n" +" // Варіант 3: GodotObject.Connect() зі створеним Callable з використанням " +"цільового об’єкта та імені методу.\n" +" button.Connect(Button.SignalName.ButtonDown, new Callable(this, MethodName." +"OnButtonDown));\n" +"}\n" "\n" -"приватний void OnButtonDown()\n" -"Довідник\n" -"GD.Print(\"Button вниз!\");\n" -"Про нас\n" +"private void OnButtonDown()\n" +"{\n" +" GD.Print(\"Кудзик вниз!\");\n" +"}\n" "[/csharp]\n" "[/codeblocks]\n" -"Незважаючи на те, що всі параметри мають однаковий результат ([code]button[/" -"code] [signal BaseButton.button_down] сигнал буде підключений до " -"[code]_on_button_down[/code]), [b]option 3[/b] пропонує кращу перевірку " -"помилки в режимі компіляції, якщо або [code]button_down[/code] [Signal] або " -"[code]_on_button_down[/code] [Callable] З іншого боку, [b]option 2[/b] тільки " -"спирається на імена рядка і буде в змозі підтвердити будь-які імена в режимі " -"runtime: він буде друкувати помилки в режимі runtime, якщо " +"Хоча всі варіанти мають однаковий результат (сигнал [signal BaseButton." +"button_down] [code]кнопки[/code] буде підключено до [code]_on_button_down[/" +"code]), [b]варіант 3[/b] пропонує найкращу перевірку: він видасть помилку під " +"час компіляції, якщо [code]button_down[/code] [Signal] або " +"[code]_on_button_down[/code] [Callable] не визначено. З іншого боку, " +"[b]варіант 2[/b] покладається лише на назви рядків і зможе перевірити будь-" +"яке ім’я лише під час виконання: він виведе помилку виконання, якщо " "[code]\"button_down\"[/code] не відповідає сигналу, або якщо " -"[code]\"_on_button_down\"[/code] не зареєстрований метод в об'єкті " -"[code]self[/code]. Основна причина використання опцій 1, 2, або 4 буде, якщо " -"ви дійсно повинні використовувати рядки (наприклад, для підключення сигналів " -"программатично засновані на рядках, що читаються з конфігураційного файлу). В " -"іншому випадку варіант 3 є рекомендованим (і найшвидшим) способом.\n" -"[b]Бінжджі та параметри проходження:[/b]\n" -"Синтаксис до об'єктивних параметрів здійснюється через [метод Callable.bind], " -"який повертає копію [Callable] з параметрами, що межують.\n" -"При викликі [метод емітента] або [метод Signal.emit] параметри сигналу можуть " -"бути також передані. Приклади нижче відображають зв'язок між цими параметрами " -"сигналу і обмеженими параметрами.\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"Нема У цьому випадку існує клас `Player`, який визначає сигнал `hit`.\n" -"var гравець = Player.new()\n" -"# Використання Callable.bind().\n" -"плеєр.hit.connect(_on_player_hit.bind(\"sword\", 100)\n" +"[code]\"_on_button_down\"[/code] не є зареєстрованим методом в об’єкті " +"[code]self[/code]. Основною причиною використання варіантів 1, 2 або 4 було " +"б, якщо вам справді потрібно використовувати рядки (наприклад, для " +"підключення сигналів програмним шляхом на основі рядків, зчитаних із файлу " +"конфігурації). В іншому випадку варіант 3 є рекомендованим (і найшвидшим) " +"методом.\n" +"[b]Параметри зв’язування та передачі:[/b]\n" +"Синтаксис зв'язуваннячерез [метод Callable.bind], який повертає копію " +"[Callable] із прив’язаними параметрами.\n" +"Під час виклику [method emit_signal] або [method Signal.emit] також можна " +"передати параметри сигналу. Наведені нижче приклади показують зв’язок між " +"цими параметрами сигналу та зв’язаними параметрами.\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" # Це припускає, що існує клас `Player`, який визначає сигнал `hit`.\n" +" var player = Player.new()\n" +" # Використання Callable.bind().\n" +" player.hit.connect(_on_player_hit.bind(\"srowd\", 100))\n" "\n" -"# Параметри додаються при випромінюванні сигналу пропускаються першими.\n" -"гравець.hit.emit(\"Дарк лорда\", 5)\n" +" # Параметри, додані під час випромінювання сигналу, передаються першими.\n" +" player.hit.emit(\"Темний лорд\", 5)\n" "\n" -"Нема При випромінюванні (`hit_by`, `level`),\n" -"# і зв’язати два аргументи при підключенні (`weapon_type`, `damage`).\n" -"Func _on_player_hit(hit_by, рівень, зброя_type, пошкодження):\n" -"Друк(\"Примітка %s (рівень %d) з зброєю %s за %d пошкодження.\" % [hit_by, " -"рівень, зброя_type, пошкодження])\n" +"# Ми передаємо два аргументи при видачі (`hit_by`, `level`),\n" +"# і зв’яжіть ще два аргументи під час підключення (`weapon_type`, `damage`).\n" +"func _on_player_hit(hit_by, level, weapon_type, damage):\n" +" print(\"Удар від %s (рівень %d) зброєю %s для %d шкоди.\" % [hit_by, level, " +"weapon_type, damage])\n" "[/gdscript]\n" "[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"(Українська) У цьому випадку існує клас `Player`, який визначає сигнал " -"`Hit`.\n" -"var гравця = новий плеєр ();\n" -"(Українська) Використання виразів лямбда, які створюють закриття, що захоплює " -"додаткові параметри.\n" -"(Українська) лямбда отримує параметри, визначені делегатом сигналу.\n" -"гравець. Хіт += (hitBy, рівень) => OnPlayerHit(hitBy, рівень, \"sword\", " -"100);\n" +"public override void _Ready()\n" +"{\n" +" // Це припускає, що існує клас `Player`, який визначає сигнал `Hit`.\n" +" var player = new Player();\n" +" // Використання лямбда-виразів, які створюють закриття, яке фіксує додаткові " +"параметри.\n" +" // Лямбда отримує лише параметри, визначені делегатом сигналу.\n" +" player.Hit += (hitBy, level) => OnPlayerHit(hitBy, level, \"srowd\", 100);\n" "\n" -"(Українська) При випромінюванні сигналу спочатку пропускаються параметри.\n" -"гравець. EmitSignal(SignalName). Хіт, \"Дарк лорда\", 5);\n" -"Про нас\n" +" // Першими передаються параметри, додані під час випромінювання сигналу.\n" +" player.EmitSignal(SignalName.Hit, \"Dark Lord\", 5);\n" +"}\n" "\n" -"(Українська) При випромінюванні (`hit_by`, `level`),\n" -"// і зв’яжіть ще два аргументи при підключенні (`weapon_type`, `damage`).\n" -"приватний void OnPlayerHit (string удар По, рівень int, струнна зброя Тип, не " -"пошкодити)\n" -"Довідник\n" -"GD.Print($\"Прийміть {hitBy} (рівень {level}) з зброєю {weaponType} для " -"пошкодження {damage}\");\n" -"Про нас\n" +"// Передаємо два аргументи при видачі (`hit_by`, `level`),\n" +"// і зв’яжіть ще два аргументи під час підключення (`weapon_type`, " +"`damage`).\n" +"private void OnPlayerHit(string hitBy, int level, string weaponType, int " +"damage)\n" +"{\n" +" GD.Print($\"Удар від {hitBy} (рівень {level}) зі зброєю {weaponType} для " +"{damage} шкоди.\");\n" +"}\n" "[/csharp]\n" "[/codeblocks]" @@ -102888,26 +103515,27 @@ msgid "" "[code]SignalName[/code] class to avoid allocating a new [StringName] on each " "call." msgstr "" -"Насичує заданий [параметровий сигнал] за назвою. Для цього сигнал повинен " -"бути вбудованим сигналом цього класу або одним з його спадкових класів, або " -"користувачем встановленого сигналу (див. [метод add_user_signal]). Цей метод " -"підтримує змінну кількість аргументів, тому параметри можуть бути передані як " -"окремий список коми.\n" -"Повернення [constant ERR_UNAVAILABLE] якщо [param сигнал] не існує або " -"параметри недійсні.\n" -"[блоки коду]\n" -"[видання]\n" -"e-mail: info@sword.com\n" -"емітента (\"game_over\")\n" -"[/gdscript]\n" -"[csharp]\n" -"EmitSignal(SignalName). Хіт, \"слово\", 100);\n" -"EmitSignal(SignalName.GameOver);\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] У C# [param сигнал] повинні бути в змії_кейс при зверненні до " -"вбудованих сигналів Godot. За допомогою імен, виставлених в [code]SignalName[/" -"code] класу, щоб уникнути виділення нового [StringName] на кожному виклику." +"Видає заданий [сигнал param] за назвою. Сигнал має існувати, тому це має бути " +"вбудований сигнал цього класу або одного з його успадкованих класів, або " +"сигнал, визначений користувачем (див. [метод add_user_signal]). Цей метод " +"підтримує змінну кількість аргументів, тому параметри можна передавати як " +"список, розділений комами. \n" +"Повертає [константу ERR_UNAVAILABLE], якщо [сигнал параметра] не існує або " +"параметри недійсні. \n" +"[codeblocks] \n" +"[gdscript] \n" +"emit_signal(\"damage\", \"srowd\", 100) \n" +"emit_signal(\"end game\") \n" +"[/gdscript] \n" +"[csharp] \n" +"EmitSignal(SignalName.Hit, \"srowd\", 100); \n" +"EmitSignal(SignalName.GameOver); \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка.[/b] У C# [param signal] має бути в snake_case, коли йдеться про " +"вбудовані сигнали Годо. Надавайте перевагу використанню імен, представлених у " +"класі [code]SignalName[/code], щоб уникнути виділення нового [StringName] під " +"час кожного виклику." msgid "" "Deletes the object from memory. Pre-existing references to the object become " @@ -102939,24 +103567,24 @@ msgid "" "[code]PropertyName[/code] class to avoid allocating a new [StringName] on " "each call." msgstr "" -"Повертає значення [Variant] вказаного [param властивість]. Якщо [param " -"властивість] не існує, цей метод повертає [code]null[/code].\n" -"[блоки коду]\n" -"[видання]\n" -"var вузол = Node2D.new()\n" -"вершина.rotation = 1.5\n" -"var a = вузол.get(\"rotation\") # a 1.5\n" -"[/gdscript]\n" -"[csharp]\n" -"var вузол = новий Node2D();\n" -"вузол. обертання = 1.5f;\n" -"var a = вершина. Отримати(Node2D.PropertyName.Rotation); // це 1.5\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] У C#, [пам'ятна властивість] повинна бути в змії_волосся при " -"зверненні до вбудованих властивостей Godot. За допомогою імен, виставлених в " -"[code]PropertyName[/code] класу, щоб уникнути виділення нового [StringName] " -"на кожному дзвінку." +"Повертає значення [Variant] заданої властивості [param]. Якщо [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(Node2D.PropertyName.Rotation); // a дорівнює 1,5 \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка.[/b] У C# [param property] має бути у snake_case, коли йдеться " +"про вбудовані властивості Godot. Надавайте перевагу використанню імен, " +"представлених у класі [code]PropertyName[/code], щоб уникнути виділення " +"нового [StringName] під час кожного виклику." msgid "" "Returns the object's built-in class name, as a [String]. See also [method " @@ -103011,32 +103639,32 @@ msgid "" "[SceneTree], only sub-property paths. In the context of nodes, use [method " "Node.get_node_and_resource] instead." msgstr "" -"Одержує майно об'єкта, вказану [пам'ятний майно_пат]. Шлях повинен бути " -"[NodePath] відносно поточного об'єкта і може використовувати характер товстої " -"кишки ([code]:[/code]) для доступу пригнічених властивостей.\n" -"[b]Examples:[/b] [code]\"позиція:x\"[/code] або [code]\"material:next_pass:" -"blend_mode\"[/code].\n" -"[блоки коду]\n" -"[видання]\n" -"var вузол = Node2D.new()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"var a = node.get_indexed(\"позиція\") # is Vector2(5, -10)\n" -"var b = node.get_indexed(\"позиція:y\") # b є -10\n" -"[/gdscript]\n" -"[csharp]\n" -"var вузол = новий Node2D();\n" -"вершина.Положення = новий Вектор2(5, -10);\n" -"var a = вершина. GetIndexed(\"позиція\"); // Вектор2(5, -10)\n" -"var b = node.GetIndexed(\"позиція:y\"); // b є -10\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] У C# [param Property_path] повинні бути в змії_case при " -"зверненні до вбудованих властивостей Godot. За допомогою імен, виставлених в " -"[code]PropertyName[/code] класу, щоб уникнути виділення нового [StringName] " -"на кожному дзвінку.\n" -"[b]Примітка:[/b] Цей метод не підтримує фактичні шляхи до вузлів в " -"[SceneTree], тільки підступні доріжки. У контексті вузлів використовується " -"[метод Node.get_node_and_resource] замість." +"Отримує властивість об’єкта, індексовану заданим [param property_path]. Шлях " +"має бути [NodePath] відносно поточного об’єкта та може використовувати символ " +"двокрапки ([код]:[/код]) для доступу до вкладених властивостей. \n" +"[b]Приклади:[/b] [code]\"position:x\"[/code] або [code]\"material:next_pass:" +"blend_mode\"[/code]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var node = Node2D.new() \n" +"node.position = Vector2(5, -10) \n" +"var a = node.get_indexed(\"position\") # a is Vector2(5, -10) \n" +"var b = node.get_indexed(\"position:y\") # b дорівнює -10 \n" +"[/gdscript] \n" +"[csharp] \n" +"var node = new Node2D(); \n" +"node.Position = new Vector2(5, -10); \n" +"var a = node.GetIndexed(\"position\"); // a є Vector2(5, -10) \n" +"var b = node.GetIndexed(\"position:y\"); // b дорівнює -10 \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка.[/b] У C# [param property_path] має бути у snake_case, коли " +"йдеться про вбудовані властивості Godot. Надавайте перевагу використанню " +"імен, представлених у класі [code]PropertyName[/code], щоб уникнути виділення " +"нового [StringName] під час кожного виклику. \n" +"[b]Примітка:[/b] цей метод не підтримує фактичні шляхи до вузлів у " +"[SceneTree], лише шляхи підвластивостей. У контексті вузлів замість цього " +"використовуйте [метод Node.get_node_and_resource]." msgid "" "Returns the object's unique instance ID. This ID can be saved in " @@ -103162,7 +103790,7 @@ msgid "" msgstr "" "Повертаємо назву [Аррайс] з'єднань для вказаного [пармового сигналу]. Кожен " "з'єднання представлений як [Дикатарний], який містить три записи:\n" -"- [код пропустити lint]signal[/code] - посилання на [Signal];\n" +"- [code] пропустити lint]signal[/code] - посилання на [Signal];\n" "- [code]Callable[/code] - посилання на підключений [Callable];\n" "- [code]flags[/code] - це поєднання [enum ConnectFlags]." @@ -103281,24 +103909,24 @@ msgid "" "[b]Note:[/b] This method ignores [code]class_name[/code] declarations in the " "object's script." msgstr "" -"Повертаємо [code]true[/code], якщо об'єкт успадкував від даної [параметр " -"класу]. Дивіться також [метод].\n" -"[блоки коду]\n" -"[видання]\n" -"var sprite2d = Sprite2D.new()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"[/gdscript]\n" -"[csharp]\n" -"var sprite2D = новий Sprite2D();\n" -"sprite2D.IsClass(\"Sprite2D\"); // Повертає true\n" -"sprite2D.IsClass(\"Node\"); (Українська) Повернення\n" -"sprite2D.IsClass(\"Node3D\"); // Повертає false\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Цей метод ігнорує [code]class_name[/code] декларації в " -"сценарії об'єкта." +"Повертає [code]true[/code], якщо об’єкт успадковує заданий [param class]. " +"Дивіться також [метод get_class]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var sprite2d = Sprite2D.new() \n" +"sprite2d.is_class(\"Sprite2D\") # Повертає true \n" +"sprite2d.is_class(\"Вузол\") # Повертає true \n" +"sprite2d.is_class(\"Node3D\") # Повертає false \n" +"[/gdscript] \n" +"[csharp] \n" +"var sprite2D = new Sprite2D(); \n" +"sprite2D.IsClass(\"Sprite2D\"); // Повертає true \n" +"sprite2D.IsClass(\"Вузол\"); // Повертає true \n" +"sprite2D.IsClass(\"Node3D\"); // Повертає false \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] цей метод ігнорує оголошення [code]class_name[/code] у " +"сценарії об’єкта." msgid "" "Returns [code]true[/code] if a connection exists between the given [param " @@ -103350,32 +103978,32 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Відправляється з вказаною [пам'ятою, яка] повідомлення про всі класи " -"успадкнувшись об'єктом, викликаючи виклики на [метод _notification], " -"починаючи з найвищого пред'явлення (the [Object] клас) і знизився на сценарій " -"об'єкта.\n" -"[code]true[/code], замовлення виклику зворотно.\n" -"[блоки коду]\n" -"[видання]\n" -"var гравець = Node2D.new()\n" -"плеєр.set_script(load(\"res://player.gd)))\n" +"Надсилає надане сповіщення [param what] усім класам, успадкованим об’єктом, " +"ініціюючи виклики [method _notification], починаючи від найвищого предка " +"(клас [Object]) і опускаючись до сценарію об’єкта. \n" +"Якщо [param reversed] має значення [code]true[/code], порядок викликів " +"змінюється на зворотний. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var player = Node2D.new() \n" +"player.set_script(load(\"res://player.gd\")) \n" "\n" -"програвач.notification(NOTIFICATION_ENTER_TREE)\n" -"Нема Порядок виклику - Об'єкт -> Node -> Node2D -> плеєр.gd.\n" +"player.notification(NOTIFICATION_ENTER_TREE) \n" +"# Порядок викликів: Object -> Node -> Node2D -> player.gd. \n" "\n" -"плеєр.notification(NOTIFICATION_ENTER_TREE, true)\n" -"Нема Порядок виклику гравця.gd -> Node2D -> Нода -> Об'єкт.\n" -"[/gdscript]\n" -"[csharp]\n" -"var гравця = новий Node2D();\n" -"плеєр.SetScript(GD.Load(\"res://player.gd\"));\n" +"player.notification(NOTIFICATION_ENTER_TREE, true) \n" +"# Порядок виклику player.gd -> Node2D -> Node -> Object. \n" +"[/gdscript] \n" +"[csharp] \n" +"var player = new Node2D(); \n" +"player.SetScript(GD.Load(\"res://player.gd\")); \n" "\n" -"програвач.Notification(NotificationEnterTree);\n" -"(Українська) Замовити дзвінок GodotObject -> Node -> Node2D -> програвач.gd.\n" +"player.Notification(NotificationEnterTree); \n" +"// Порядок викликів GodotObject -> Node -> Node2D -> player.gd. \n" "\n" -"гравця.Повідомлення(Повідомлення) Увійти\n" -"(Українська) Порядок виклику гравця.gd -> Node2D -> Node -> ГодоОб'єкт.\n" -"[/csharp]\n" +"player.Notification(NotificationEnterTree, true); \n" +"// Порядок виклику player.gd -> Node2D -> Node -> GodotObject. \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -103476,7 +104104,7 @@ msgstr "" "[/gdscript] \n" "[csharp] \n" "var node = new Node2D(); \n" -"node.Set(Node2D.PropertyName.GlobalScale, новий Vector2(8, 2.5f)); \n" +"node.Set(Node2D.PropertyName.GlobalScale, new Vector2(8, 2.5f)); \n" "GD.Print(node.GlobalScale); // Виводить (8, 2.5) \n" "[/csharp] \n" "[/codeblocks] \n" @@ -103525,35 +104153,34 @@ msgid "" "[code]PropertyName[/code] class to avoid allocating a new [StringName] on " "each call." msgstr "" -"Призначають [памальне значення] на дану [пам'ятну властивість], в кінці " -"поточного кадру. Це еквівалентно виклику [методичний набір] через [метод " -"виклик_deferred].\n" -"[блоки коду]\n" -"[видання]\n" -"var вузол = Node2D.new()\n" -"add_child(node)\n" +"Призначає [param value] даній [param property] у кінці поточного кадру. Це " +"еквівалентно виклику [method set] через [method call_deferred]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var node = Node2D.new() \n" +"add_child(node) \n" "\n" -"вершина.rotation = 1.5\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"Друк(node.rotation) # Друки 1.5\n" +"node.rotation = 1,5 \n" +"node.set_deferred(\"обертання\", 3.0) \n" +"print(node.rotation) # Друкує 1.5 \n" "\n" -"Ознайомитись з посиланням на сторінку [xml.tar.bz2]\n" -"Друк(node.rotation) # Друки 3.0\n" -"[/gdscript]\n" -"[csharp]\n" -"var вузол = новий Node2D();\n" -"вузол. обертання = 1.5f;\n" -"node.SetDeferred(Node2D.PropertyName.Rotation, 3f);\n" -"GD.Print(node.Rotation); // Друк 1.5\n" +"очікувати get_tree().process_frame \n" +"print(node.rotation) # Друкує 3.0 \n" +"[/gdscript] \n" +"[csharp] \n" +"var node = new Node2D(); \n" +"node.Rotation = 1,5f; \n" +"node.SetDeferred(Node2D.PropertyName.Rotation, 3f); \n" +"GD.Print(node.Rotation); // Виводить 1.5 \n" "\n" -"чекає ToSignal(GetTree(), СценаTree.SignalName.ProcessFrame);\n" -"GD.Print(node.Rotation); // Друки 3.0\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] У C# [пам'яні властивості] повинні бути в змії_волосся при " -"зверненні до вбудованих властивостей Godot. За допомогою імен, виставлених в " -"[code]PropertyName[/code] класу, щоб уникнути виділення нового [StringName] " -"на кожному виклику." +"await ToSignal(GetTree(), SceneTree.SignalName.ProcessFrame); \n" +"GD.Print(node.Rotation); // Друкує 3.0 \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка.[/b] У C# [param property] має бути у snake_case, коли йдеться " +"про вбудовані властивості Godot. Надавайте перевагу використанню імен, " +"представлених у класі [code]PropertyName[/code], щоб уникнути виділення " +"нового [StringName] під час кожного виклику." msgid "" "Assigns a new [param value] to the property identified by the [param " @@ -103584,14 +104211,14 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var node = Node2D.new() \n" -"node.set_indexed(\"позиція\", Vector2(42, 0)) \n" -"node.set_indexed(\"позиція:y\", -10) \n" +"node.set_indexed(\"position\", Vector2(42, 0)) \n" +"node.set_indexed(\"position:y\", -10) \n" "print(node.position) # Друк (42.0, -10.0) \n" "[/gdscript] \n" "[csharp] \n" "var node = new Node2D(); \n" -"node.SetIndexed(\"позиція\", новий Vector2(42, 0)); \n" -"node.SetIndexed(\"позиція:y\", -10); \n" +"node.SetIndexed(\"position\", new Vector2(42, 0)); \n" +"node.SetIndexed(\"position:y\", -10); \n" "GD.Print(node.Position); // Друк (42, -10) \n" "[/csharp] \n" "[/codeblocks] \n" @@ -106587,7 +107214,7 @@ msgstr "" "до масиву. \n" "У Windows, якщо [param open_console] має значення [code]true[/code] і процес " "є консольною програмою, відкривається нове вікно терміналу. \n" -"Цей метод повертає код виходу команди або [код]-1[/код], якщо процес не " +"Цей метод повертає код виходу команди або [code]-1[/code], якщо процес не " "виконується. \n" "[b]Примітка: [/b] Основний потік буде заблоковано до завершення виконання " "команди. Використовуйте [Thread], щоб створити окремий потік, який не " @@ -106596,24 +107223,24 @@ msgstr "" "Наприклад, щоб отримати список вмісту робочого каталогу: \n" "[codeblocks] \n" "[gdscript] \n" -"вихід змінної = [] \n" -"var exit_code = OS.execute(\"l\", [\"-l\", \"/tmp\"], вихід) \n" +"var exit = [] \n" +"var exit_code = OS.execute(\"l\", [\"-l\", \"/tmp\"], exit) \n" "[/gdscript] \n" "[csharp] \n" "Godot.Collections.Array вихід = []; \n" -"int exitCode = OS.Execute(\"ls\", [\"-l\", \"/tmp\"], вихід); \n" +"int exitCode = OS.Execute(\"ls\", [\"-l\", \"/tmp\"], exit); \n" "[/csharp] \n" "[/codeblocks] \n" "Якщо ви хочете отримати доступ до вбудованої оболонки або виконати складену " "команду, можна викликати спеціальну оболонку для платформи. Наприклад: \n" "[codeblocks] \n" "[gdscript] \n" -"вихід змінної = [] \n" -"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], вихід) \n" +"var exit = [] \n" +"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], exit) \n" "[/gdscript] \n" "[csharp] \n" -"Godot.Collections.Array вихід = []; \n" -"OS.Execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], вихід); \n" +"Godot.Collections.Array exit = []; \n" +"OS.Execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], exit); \n" "[/csharp] \n" "[/codeblocks] \n" "[b]Примітка.[/b] Цей метод реалізовано на Android, Linux, macOS і Windows. \n" @@ -106720,27 +107347,27 @@ msgid "" "[/codeblocks]\n" "See also [method get_keycode_string]." msgstr "" -"Знайдіть код для вказаного рядка. Повернуті значення еквівалентні константам " -"[enum Key].\n" -"[блоки коду]\n" -"[видання]\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8 # Друк 4194305 (KEY_ESCAPE)\n" -"Друк(OS.find_keycode_from_string(\"Shift+Tab\")) # Друк 37748738 " -"(KEY_MASK_SHIFT КЛЮЧ_TAB)\n" -"Друк(OS.find_keycode_from_string(\"Unknown\") # Друк 0 (KEY_NONE)\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.Print(OS.FindKeycodeЗ альбомуString(\"C\")); // Друк C (Key.C)\n" -"GD.Print(OS.FindKeycodeЗ альбомуString(\"Escape\")); // Друк втечу (Key." -"Escape)\n" -"GD.Print(OS.FindKeycodeЗ альбомуString(\"Shift+Tab\")); // Друк 37748738 " -"(KeyModifierMask.MaskShift Key.Tab)\n" -"GD.Print(OS.FindKeycodeЗ альбомуString(\"Unknown\")); // Друк None (Key." -"None)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Дивись також [метод get_keycode_string]." +"Знаходить код ключа для заданого рядка. Повернуті значення еквівалентні " +"константам [enum Key]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"print(OS.find_keycode_from_string(\"C\")) # Виводить 67 (KEY_C) \n" +"print(OS.find_keycode_from_string(\"Escape\")) # Виводить 4194305 " +"(KEY_ESCAPE) \n" +"print(OS.find_keycode_from_string(\"Shift+Tab\")) # Виводить 37748738 " +"(KEY_MASK_SHIFT | KEY_TAB) \n" +"print(OS.find_keycode_from_string(\"Unknown\")) # Виводить 0 (KEY_NONE) \n" +"[/gdscript] \n" +"[csharp] \n" +"GD.Print(OS.FindKeycodeFromString(\"C\")); // Виводить C (Key.C) \n" +"GD.Print(OS.FindKeycodeFromString(\"Escape\")); // Виводить Escape (Key." +"Escape) \n" +"GD.Print(OS.FindKeycodeFromString(\"Shift+Tab\")); // Друкує 37748738 " +"(KeyModifierMask.MaskShift | Key.Tab) \n" +"GD.Print(OS.FindKeycodeFromString(\"Unknown\")); // Не друкує (Key.None) \n" +"[/csharp] \n" +"[/codeblocks] \n" +"Дивіться також [метод get_keycode_string]." msgid "" "Returns the [i]global[/i] cache data directory according to the operating " @@ -106824,12 +107451,12 @@ msgstr "" "форми [код]--ключ=значення[/код] для аргументів: \n" "[codeblocks] \n" "[gdscript] \n" -"змінні аргументи = {} \n" -"для аргументу в OS.get_cmdline_args(): \n" +"var arguments = {} \n" +"for argument in OS.get_cmdline_args(): \n" " if argument.contains(\"=\"): \n" " var key_value = argument.split(\"=\") \n" " arguments[key_value[0].trim_prefix(\"--\")] = key_value[1] \n" -" ще: \n" +" else: \n" " # Варіанти без аргументу будуть присутні в словнику, \n" " # зі значенням, встановленим у порожній рядок. \n" " аргументи[argument.trim_prefix(\"--\")] = \"\" \n" @@ -106843,7 +107470,7 @@ msgstr "" " string[] keyValue = argument.Split(\"=\"); \n" " arguments[keyValue[0].TrimPrefix(\"--\")] = keyValue[1]; \n" " } \n" -" інше \n" +" else \n" " { \n" " // Параметри без аргументу будуть присутні в словнику, \n" " // зі значенням, встановленим у порожній рядок. \n" @@ -106874,20 +107501,20 @@ msgid "" "[/codeblock]\n" "To get all passed arguments, use [method get_cmdline_args]." msgstr "" -"Повертає аргументи командного рядка, передані до двигуна. Визначені " -"аргументи, які ігноруються двигуном і зарезервовані для користувача. Після " -"подвійного золи [code]--[/code]. [code]++[/code] може використовуватися при " -"[code]---[/code] перехоплюється іншою програмою (наприклад, [code]startx[/" -"code]).\n" -"[блокування коду]\n" -"Нема Богот був виконаний з наступним командуванням:\n" -"# godot - повноекранний -- --рівень=2 --хардкор\n" +"Повертає аргументи користувача командного рядка, передані системі. Аргументи " +"користувача ігноруються механізмом і резервуються для користувача. Вони " +"передаються після аргументу подвійного тире [код]--[/код]. [code]++[/code] " +"можна використовувати, коли [code]--[/code] перехоплюється іншою програмою " +"(наприклад, [code]startx[/code]). \n" +"[codeblock] \n" +"# Godot було виконано за такою командою: \n" +"# godot --fullscreen -- --level=2 --hardcore \n" "\n" -"OS.get_cmdline_args() # Повернення[-fullscreen\", \"-level=2\", \"-" -"хардкор\"]\n" -"OS.get_cmdline_user_args() # Повернення[-level=2\", \"--хардкор\"]\n" -"[/codeblock]\n" -"Щоб отримати всі передані аргументи, скористайтеся [метод get_cmdline_args]." +"OS.get_cmdline_args() # Повертає [\"--fullscreen\", \"--level=2\", \"--" +"hardcore\"] \n" +"OS.get_cmdline_user_args() # Повертає [\"--level=2\", \"--hardcore\"] \n" +"[/codeblock] \n" +"Щоб отримати всі передані аргументи, використовуйте [метод get_cmdline_args]." msgid "" "Returns the [i]global[/i] user configuration directory according to the " @@ -107046,22 +107673,25 @@ msgid "" "See also [method find_keycode_from_string], [member InputEventKey.keycode], " "and [method InputEventKey.get_keycode_with_modifiers]." msgstr "" -"Повернення заданого коду як [String].\n" -"[блоки коду]\n" -"[видання]\n" -"Друк(OS.get_keycode_string(KEY_C) # Друки \"C\"\n" -"Друк(OS.get_keycode_string(KEY_ESCAPE) # Друки \"Escape\"\n" -"Друк(OS.get_keycode_string(KEY_MASK_SHIFT KEY_TAB) # Друки \"Shift+Tab\"\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.Print(OS.GetKeycodeString(Key.C)); // Друк \"C\"\n" -"GD.Print(OS.GetKeycodeString(Key.Escape)); // Друки \"Escape\"\n" -"GD.Print(OS.GetKeycodeString((Key)KeyModifierMask.MaskShift Key.Tab)); // " -"Друк \"Shift+Tab\"\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Дивись також [метод пошуку_keycode_from_string], [пам'ятний вхідEventKey." -"keycode], і [метод InputEventKey.get_keycode_with_modifiers]." +"Повертає заданий код ключа як [рядок]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"print(OS.get_keycode_string(KEY_C)) # Виводить \"C\" \n" +"print(OS.get_keycode_string(KEY_ESCAPE)) # Виводить \"Escape\" \n" +"print(OS.get_keycode_string(KEY_MASK_SHIFT | KEY_TAB)) # Виводить " +"\"Shift+Tab\" \n" +"[/gdscript] \n" +"[csharp] \n" +"GD.Print(OS.GetKeycodeString(Key.C)); // " +"Виводить \"C\" \n" +"GD.Print(OS.GetKeycodeString(Key.Escape)); // " +"Виводить \"Escape\" \n" +"GD.Print(OS.GetKeycodeString((Key)KeyModifierMask.MaskShift | Key.Tab)); // " +"Виводить \"Shift+Tab\" \n" +"[/csharp] \n" +"[/codeblocks] \n" +"Дивіться також [метод find_keycode_from_string], [член InputEventKey.keycode] " +"і [метод InputEventKey.get_keycode_with_modifiers]." msgid "" "Returns the host OS locale as a [String] of the form " @@ -107226,62 +107856,62 @@ msgid "" "[b]Note:[/b] On Web platforms, it is still possible to determine the host " "platform's OS with feature tags. See [method has_feature]." msgstr "" -"Повертає назву хост-платформи.\n" -"- У Windows це [code]\"Windows\"[/code].\n" -"- У macOS це [code]\"macOS\"[/code].\n" -"- В операційних системах на основі Linux це [code]\"Linux\"[/code].\n" +"Повертає назву хост-платформи. \n" +"- У Windows це [code]\"Windows\"[/code]. \n" +"- У macOS це [code]\"macOS\"[/code]. \n" +"- В операційних системах на основі Linux це [code]\"Linux\"[/code]. \n" "- В операційних системах на основі BSD це [code]\"FreeBSD\"[/code], " -"[code]\"NetBSD\"[/code], [code]\"OpenBSD\"[/code] або [code]\"BSD\" [/code] " -"як запасний варіант.\n" -"– На Android це [code]\"Android\"[/code].\n" -"- В iOS це [code]\"iOS\"[/code].\n" -"- В Інтернеті це [code]\"Веб\"[/code].\n" -"[b]Примітка:[/b] Спеціальні збірки механізму можуть підтримувати додаткові " -"платформи, такі як консолі, імовірно повертаючи інші назви.\n" -"[кодові блоки]\n" -"[gdscript]\n" -"відповідати OS.get_name():\n" -" \"Вікна\":\n" -" print(\"Ласкаво просимо до Windows!\")\n" -" \"macOS\":\n" -" print(\"Ласкаво просимо до macOS!\")\n" -" «Linux», «FreeBSD», «NetBSD», «OpenBSD», «BSD»:\n" -" print(\"Ласкаво просимо до Linux/BSD!\")\n" -" \"Android\":\n" -" print(\"Ласкаво просимо до Android!\")\n" -" \"iOS\":\n" -" print(\"Ласкаво просимо до iOS!\")\n" -" \"Павутина\":\n" -" print(\"Ласкаво просимо в Інтернет!\")\n" -"[/gdscript]\n" -"[csharp]\n" -"перемикач (OS.GetName())\n" +"[code]\"NetBSD\"[/code], [code]\"OpenBSD\"[/code] або [code]\"BSD\"[/code] як " +"запасний варіант. \n" +"– На Android це [code]\"Android\"[/code]. \n" +"- В iOS це [code]\"iOS\"[/code]. \n" +"- В Інтернеті це [code]\"Веб\"[/code]. \n" +"[b]Примітка:[/b] Спеціальні збірки двигуна можуть підтримувати додаткові " +"платформи, такі як консолі, імовірно повертаючи інші назви. \n" +"[codeblocks] \n" +"[gdscript] \n" +"match OS.get_name(): \n" +" \"Window s\": \n" +" print(\"Ласкаво просимо до Windows!\") \n" +" \"macOS\": \n" +" print(\"Ласкаво просимо до macOS!\") \n" +" «Linux», «FreeBSD», «NetBSD», «OpenBSD», «BSD»: \n" +" print(\"Ласкаво просимо до Linux/BSD!\") \n" +" \"Android\": \n" +" print(\"Ласкаво просимо до Android!\") \n" +" \"iOS\": \n" +" print(\"Ласкаво просимо до iOS!\") \n" +" \"Wevb\": \n" +" print(\"Ласкаво просимо в Інтернет!\") \n" +"[/gdscript] \n" +"[csharp] \n" +"switch (OS.GetName()) \n" "{\n" -" корпус \"Віндовс\":\n" -" GD.Print(\"Ласкаво просимо до Windows\");\n" -" розрив;\n" -" випадок \"macOS\":\n" -" GD.Print(\"Ласкаво просимо до macOS!\");\n" -" розрив;\n" -" випадок \"Linux\":\n" -" випадок \"FreeBSD\":\n" -" випадок \"NetBSD\":\n" -" випадок \"OpenBSD\":\n" -" корпус \"BSD\":\n" -" GD.Print(\"Ласкаво просимо до Linux/BSD!\");\n" -" розрив;\n" -" чохол \"Андроїд\":\n" -" GD.Print(\"Ласкаво просимо в Android!\");\n" -" розрив;\n" -" випадок \"iOS\":\n" -" GD.Print(\"Ласкаво просимо до iOS!\");\n" -" розрив;\n" -" кейс «Павутина»:\n" -" GD.Print(\"Ласкаво просимо в Інтернет!\");\n" -" розрив;\n" +" case \"Windows\": \n" +" GD.Print(\"Ласкаво просимо до Windows\"); \n" +" break; \n" +" case \"macOS\": \n" +" GD.Print(\"Ласкаво просимо до macOS!\"); \n" +" break; \n" +" case \"Linux\": \n" +" case \"FreeBSD\": \n" +" case \"NetBSD\": \n" +" case \"OpenBSD\": \n" +" case \"BSD\": \n" +" GD.Print(\"Ласкаво просимо до Linux/BSD!\"); \n" +" break; \n" +" case \"Android\": \n" +" GD.Print(\"Ласкаво просимо в Android!\"); \n" +" break; \n" +" case \"iOS\": \n" +" GD.Print(\"Ласкаво просимо до iOS!\"); \n" +" break; \n" +" case «Web»: \n" +" GD.Print(\"Ласкаво просимо в Інтернет!\"); \n" +" break; \n" "}\n" -"[/csharp]\n" -"[/codeblocks]\n" +"[/csharp] \n" +"[/codeblocks] \n" "[b]Примітка.[/b] На веб-платформах усе ще можна визначити ОС хост-платформи " "за допомогою тегів функцій. Перегляньте [method has_feature]." @@ -107794,26 +108424,26 @@ msgid "" "[b]Note:[/b] If the user has disabled the recycle bin on their system, the " "file will be permanently deleted instead." msgstr "" -"Перемістіть файл або каталог на даній [параметр шляху] в рециркулятор " -"системи. Дивись також [метод DirAccess.remove].\n" -"Метод приймає тільки глобальні шляхи, тому вам потрібно використовувати " -"[методичного проектуНалаштування.globalize_path]. Не використовуйте його для " -"файлів [code]res://[/code], оскільки він не буде працювати в експортованих " -"проектах.\n" -"Якщо файл або каталог не знайдено, або система не підтримує цей метод.\n" -"[блоки коду]\n" -"[видання]\n" -"var файл_to_remove = \"user://slot1.save\"\n" -"OS.move_to_trash(Проекти.globalize_path(file_to_remove)))\n" -"[/gdscript]\n" -"[csharp]\n" -"var файлToRemove = \"user://slot1.save\";\n" -"OS.MoveToTrash(Проекти.GlobalizePath(fileToRemove));\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Цей метод реалізується на Android, Linux, macOS та Windows.\n" -"[b]Примітка:[/b] Якщо користувач відключив в систему рециклопедію, файл буде " -"назавжди видалено." +"Переміщує файл або каталог за заданим [param path] до кошика системи. " +"Дивіться також [метод DirAccess.remove]. \n" +"Метод приймає лише глобальні шляхи, тому вам може знадобитися використовувати " +"[method ProjectSettings.globalize_path]. Не використовуйте його для файлів у " +"[code]res://[/code], оскільки він не працюватиме в експортованих проектах. \n" +"Повертає [константа FAILED], якщо файл чи каталог не знайдено, або система не " +"підтримує цей метод. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var file_to_remove = \"user://slot1.save\" \n" +"OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove)) \n" +"[/gdscript] \n" +"[csharp] \n" +"var fileToRemove = \"user://slot1.save\"; \n" +"OS.MoveToTrash(ProjectSettings.GlobalizePath(fileToRemove)); \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка.[/b] Цей метод реалізовано на Android, Linux, macOS і Windows. \n" +"[b]Примітка:[/b] якщо користувач вимкнув кошик у своїй системі, замість цього " +"файл буде остаточно видалено." msgid "" "Initializes the singleton for the system MIDI driver, allowing Godot to " @@ -108725,7 +109355,7 @@ msgstr "" "print(array.hex_encode()) # Виводить \"0b2eff\" \n" "[/gdscript] \n" "[csharp] \n" -"масив byte[] = [11, 46, 255]; \n" +"byte[] array = [11, 46, 255]; \n" "GD.Print(array.HexEncode()); // Виводить \"0b2eff\" \n" "[/csharp] \n" "[/codeblocks]" @@ -108947,12 +109577,12 @@ msgid "" "var array = PackedColorArray([Color(0.1, 0.2, 0.3), Color(0.4, 0.5, 0.6)])\n" "[/codeblock]" msgstr "" -"Будуємо новий [PackedColorArray]. Додатково ви можете пройти в загальній " -"[Аррай], яка буде перетворена.\n" -"[b]Note:[/b] При ініціалізації [PackedColorArray] з елементами, він повинен " -"бути ініціалізований [Array] значень [Color]:\n" -"[блокування коду]\n" -"var array = PackedColorArray([Color(0.1, 0.2, 0.3), Колір(0.4, 0.5, 0.6)])\n" +"Створює новий [PackedColorArray]. За бажанням ви можете передати загальний " +"[Array], який буде перетворено. \n" +"[b]Примітка.[/b] Під час ініціалізації [PackedColorArray] з елементами, він " +"повинен бути ініціалізований [Array] значень [Color]: \n" +"[codeblock] \n" +"var array = PackedColorArray([Color(0,1, 0,2, 0,3), Колір(0,4, 0,5, 0,6)]) \n" "[/codeblock]" msgid "Appends a [PackedColorArray] at the end of this array." @@ -109063,18 +109693,18 @@ msgstr "" "var data = { \"key\": \"value\", \"another_key\": 123, \"lock\": " "Vector2() } \n" "var packed = PackedDataContainer.new() \n" -"packed.pack(дані) \n" +"packed.pack(data) \n" "ResourceSaver.save(packed, \"packed_data.res\") \n" "[/codeblock] \n" "[codeblock] \n" "var container = load(\"packed_data.res\") \n" -"для ключа в контейнері: \n" -" prints(ключ, контейнер[ключ]) \n" +"for key in container: \n" +" prints(key, container[key]) \n" "[/codeblock] \n" -"Принти: \n" +"Print: \n" "[codeblock lang=text] \n" -"ключове значення \n" -"замок (0, 0) \n" +"key value \n" +"lock (0, 0) \n" "another_key 123 \n" "[/codeblock] \n" "Вкладені контейнери будуть упаковані рекурсивно. Під час ітерації вони " @@ -109135,27 +109765,27 @@ msgid "" "[/codeblock]" msgstr "" "Під час пакування вкладених контейнерів за допомогою [PackedDataContainer] " -"вони рекурсивно упаковуються в [PackedDataContainerRef] (застосовується лише " +"вони рекурсивно запаковуються в [PackedDataContainerRef] (застосовується лише " "до [Array] і [Dictionary]). Їхні дані можна отримати так само, як і з " "[PackedDataContainer]. \n" "[codeblock] \n" "var packed = PackedDataContainer.new() \n" "packed.pack([1, 2, 3, [\"nested1\", \"nested2\"], 4, 5, 6]) \n" "\n" -"для елемента в упаковці: \n" -" якщо елемент PackedDataContainerRef: \n" -" для піделемента в елементі: \n" +"for element in packed: \n" +" if element is PackedDataContainerRef: \n" +" for subelement in element: \n" " print(\"::\", піделемент) \n" -" ще: \n" +" else: \n" " print(element) \n" "[/codeblock] \n" -"Принти: \n" +"Print: \n" "[codeblock lang=text] \n" "1\n" "2\n" "3\n" -":: вкладений1 \n" -":: вкладений2 \n" +":: nested1 \n" +":: nested2 \n" "4\n" "5\n" "6\n" @@ -109814,7 +110444,7 @@ msgstr "" "компіляції. \n" "var scene = preload(\"res://scene.tscn\").instantiate() \n" "# Додайте вузол як дочірній вузол, до якого приєднаний сценарій. \n" -"add_child (сцена) \n" +"add_child (scene) \n" "[/gdscript] \n" "[csharp] \n" "// C# не має попереднього завантаження, тому вам потрібно завжди " @@ -109839,19 +110469,19 @@ msgstr "" "var collision = CollisionShape2D.new() \n" "\n" "# Створення ієрархії об'єктів. \n" -"body.add_child(колізія) \n" +"body.add_child(collision) \n" "node.add_child(body) \n" "\n" "# Змінити власника `body`, але не `collision`. \n" -"body.owner = вузол \n" +"body.owner = node \n" "var scene = PackedScene.new() \n" "\n" "# Тепер упаковано лише `node` і `body`. \n" "var result = scene.pack(node) \n" -"якщо результат == OK: \n" +" if result == OK: \n" " var error = ResourceSaver.save(scene, \"res://path/name.tscn\") # Або " "\"user://...\" \n" -" якщо помилка != OK: \n" +" if error != OK: \n" " push_error(\"Під час збереження сцени на диск сталася помилка.\") \n" "[/gdscript] \n" "[csharp] \n" @@ -109861,20 +110491,20 @@ msgstr "" "var collision = new CollisionShape2D(); \n" "\n" "// Створення ієрархії об'єктів. \n" -"body.AddChild(зіткнення); \n" +"body.AddChild(collision); \n" "node.AddChild(body); \n" "\n" "// Змінити власника `body`, але не `collision`. \n" -"body.Owner = вузол; \n" +"body.Owner = node; \n" "var scene = new PackedScene(); \n" "\n" "// Тільки `node` і `body` тепер упаковані. \n" "Результат помилки = scene.Pack(node); \n" "if (результат == Error.Ok) \n" "{\n" -" Помилка error = ResourceSaver.Save(scene, \"res://path/name.tscn\"); // " -"Або \"користувач //...\" \n" -" якщо (помилка != Помилка. Добре) \n" +" Error error = ResourceSaver.Save(scene, \"res://path/name.tscn\"); // Або " +"\"користувач //...\" \n" +" if (error != Error. Ok) \n" " { \n" " GD.PushError(\"Під час збереження сцени на диск сталася помилка." "\"); \n" @@ -109966,10 +110596,10 @@ msgstr "" "тому він зберігає пам'ять для великих розмірів масиву.\n" "Якщо ви хочете приєднатися до рядків у масиві, скористайтеся [метод String." "join].\n" -"[блокування коду]\n" +"[codeblock]\n" "var string_array = PackedStringArray([\"hello\", \"world\"])\n" "var string = \".join(string_array)\n" -"Друк(string) # \"Hello world\"\n" +"print(string) # \"Hello world\"\n" "[/codeblock]\n" "[b]Налаштування між упакованими масивами, типованими масивами та нетиповими " "масивами: [/b] Пакувані масиви зазвичай швидше, щоб ітерувати і змінювати у " @@ -110036,6 +110666,13 @@ msgstr "" "кінця масиву (тобто [code]arr.slice(0, -2)[/code] є шортандом для [code]arr." "slice(0, arr.size() - 2)[/code])." +msgid "" +"Returns a [PackedByteArray] with each string encoded as UTF-8. Strings are " +"[code]null[/code] terminated." +msgstr "" +"Повертає [PackedByteArray] з кожним рядком, закодованим як UTF-8. Рядки " +"завершуються [code]null[/code]." + msgid "" "Returns a new [PackedStringArray] with contents of [param right] added at the " "end of this array. For better performance, consider using [method " @@ -110117,12 +110754,12 @@ msgid "" "var array = PackedVector2Array([Vector2(12, 34), Vector2(56, 78)])\n" "[/codeblock]" msgstr "" -"Constructs a new [PackedVector2Array]. Додатково ви можете пройти в загальній " -"[Аррай], яка буде перетворена.\n" -"[b]Note:[/b] При ініціалізації [PackedVector2Array] з елементами, він повинен " -"бути ініціалізований [Array] значень [Vector2]:\n" -"[блокування коду]\n" -"var array = PackedVector2Array([Vector2(12, 34), Vector2(56, 78)])\n" +"Створює новий [PackedVector2Array]. За бажанням ви можете передати загальний " +"[Array], який буде перетворено. \n" +"[b]Примітка: [/b] Під час ініціалізації [PackedVector2Array] елементами, він " +"має бути ініціалізований [Array] значень [Vector2]: \n" +"[codeblock] \n" +"var array = PackedVector2Array([Vector2(12, 34), Вектор2(56, 78)]) \n" "[/codeblock]" msgid "Appends a [PackedVector2Array] at the end of this array." @@ -110347,12 +110984,12 @@ msgid "" "var array = PackedVector3Array([Vector3(12, 34, 56), Vector3(78, 90, 12)])\n" "[/codeblock]" msgstr "" -"Constructs a new [PackedVector3Array]. Додатково ви можете пройти в загальній " -"[Аррай], яка буде перетворена.\n" -"[b]Note:[/b] При ініціалізації [PackedVector3Array] з елементами, він повинен " -"бути ініціалізований [Array] значень [Vector3]:\n" -"[блокування коду]\n" -"var array = PackedVector3Array([Vector3(12, 34, 56), Vector3(78, 90, 12)])\n" +"Створює новий [PackedVector3Array]. За бажанням ви можете передати загальний " +"[Array], який буде перетворено. \n" +"[b]Примітка.[/b] Під час ініціалізації [PackedVector3Array] з елементами, він " +"повинен бути ініціалізований [Array] значень [Vector3]: \n" +"[codeblock] \n" +"var array = PackedVector3Array([Vector3(12, 34, 56), Вектор3(78, 90, 12)]) \n" "[/codeblock]" msgid "Appends a [PackedVector3Array] at the end of this array." @@ -110492,13 +111129,13 @@ msgid "" "56)])\n" "[/codeblock]" msgstr "" -"Constructs a new [PackedVector4Array]. Додатково ви можете пройти в загальній " -"[Аррай], яка буде перетворена.\n" -"[b]Note:[/b] При ініціалізації [PackedVector4Array] з елементами, він повинен " -"бути ініціалізований [Array] значень [Vector4]:\n" -"[блокування коду]\n" +"Створює новий [PackedVector4Array]. За бажанням ви можете передати загальний " +"[Array], який буде перетворено. \n" +"[b]Примітка: [/b] Під час ініціалізації [PackedVector4Array] з елементами, " +"він повинен бути ініціалізований [Array] значень [Vector4]: \n" +"[codeblock] \n" "var array = PackedVector4Array([Vector4(12, 34, 56, 78), Вектор4(90, 12, 34, " -"56)])\n" +"56)]) \n" "[/codeblock]" msgid "Appends a [PackedVector4Array] at the end of this array." @@ -110810,7 +111447,7 @@ msgstr "" "[/codeblock] \n" "[b]Приклад:[/b] Прослуховування пакетів: \n" "[codeblock] \n" -"був ровесником \n" +"var peer \n" "\n" "func _ready(): \n" " peer = PacketPeerUDP.new() \n" @@ -110818,10 +111455,10 @@ msgstr "" "\n" "\n" "func _process(_delta): \n" -" якщо peer.get_available_packet_count() > 0: \n" +" if peer.get_available_packet_count() > 0: \n" " var array_bytes = peer.get_packet() \n" " var packet_string = array_bytes.get_string_from_ascii() \n" -" print(\"Отримане повідомлення: \", пакет_рядок) \n" +" print(\"Отримано повідомлення: \", пакет_рядок) \n" "[/codeblock] \n" "[b]Примітка.[/b] Під час експорту в Android переконайтеся, що ви ввімкнули " "дозвіл [code]INTERNET[/code] у попередньому налаштуванні експорту Android " @@ -110996,41 +111633,39 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Очікується пакет, щоб прибути на межі адреси. [метод].\n" -"[b]Примітка:[/b] [метод очікування] не можна переривати, як тільки вона була " -"викликана. Це може працювати, дозволяючи іншим сторонам надсилати конкретну " -"пакетку \"під ключ\":\n" -"[блоки коду]\n" -"[видання]\n" -"Роз'єм = PacketPeerUDP.new()\n" -"Статус на сервери\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -".put_packet(\"Час зупинитися.to_ascii_buffer()))\n" +"Очікує на прибуття пакета на прив'язану адресу. Див. [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" -"при розетці.wait() == Головна\n" -"var data = розетки.get_packet().get_string_from_ascii()\n" -"якщо дані == \"Час зупинитися\":\n" -"Увійти\n" -"[/gdscript]\n" -"[csharp]\n" -"var гніздо = новий PacketPeerUdp();\n" -"// Сервер\n" -"роз'єм. SetDestAddress(\"127.0.0.1\", 789);\n" -"роз'єм.PutPacket(\"Time to stop\".ToAsciiBuffer());\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" -"при (socket.Wait() == OK)\n" -"Довідник\n" -"string data = Socket.GetPacket().GetStringЗ альбомуASCII();\n" -"якщо " -"(data============================================================================================================================================================================================================================================================= " -"\"Час зупинитися\"\n" -"Довідник\n" -"повернення;\n" -"Про нас\n" -"Про нас\n" -"[/csharp]\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]." @@ -111104,13 +111739,6 @@ msgstr "" msgid "[Texture2D] to be applied to the [PanoramaSkyMaterial]." msgstr "[Texture2D], щоб застосувати до [PanoramaSkyMaterial]." -msgid "" -"This node is meant to replace [ParallaxBackground] and [ParallaxLayer]. The " -"implementation may change in the future." -msgstr "" -"Цей вузол призначений для заміни [ParallaxBackground] і [ParallaxLayer]. " -"Реалізація може змінюватися в майбутньому." - msgid "A node used to create a parallax scrolling background." msgstr "Вузол використовується для створення паралаксаного розкручування фону." @@ -112739,7 +113367,7 @@ msgstr "" "використовується категорія за замовчуванням. Типовою категорією є " "[code]\"Custom\"[/code]. Виводить повідомлення про помилку, якщо даний [param " "id] уже присутній.\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "func _ready():\n" " var monitor_value = Callable(self, \"get_monitor_value\")\n" @@ -112828,19 +113456,19 @@ msgid "" "See [method get_custom_monitor] to query custom performance monitors' values." msgstr "" "Повертає значення одного з доступних вбудованих моніторів. Ви повинні надати " -"один з [enum Monitor] константи як аргумент, як це:\n" -"[блоки коду]\n" -"[видання]\n" -"print(Performance.get_monitor(Performance.TIME_FPS)) # Друкувати FPS до " -"консолі.\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.Print(Performance.GetMonitor(Performance.Monitor.TimeFps)); // Друкувати " -"FPS до консолі.\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Див. [метод get_custom_monitor] для запиту значень користувацького монітора " -"продуктивності." +"одну з констант [enum Monitor] як аргумент, наприклад: \n" +"[codeblocks] \n" +"[gdscript] \n" +"print(Performance.get_monitor(Performance.TIME_FPS)) # Виводить FPS на " +"консоль. \n" +"[/gdscript] \n" +"[csharp] \n" +"GD.Print(Performance.GetMonitor(Performance.Monitor.TimeFps)); // Виводить " +"FPS на консоль. \n" +"[/csharp] \n" +"[/codeblocks] \n" +"Перегляньте [метод get_custom_monitor], щоб запитати значення спеціальних " +"моніторів продуктивності." msgid "" "Returns the last tick in which custom monitor was added/removed (in " @@ -114124,44 +114752,47 @@ msgstr "" msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "add_constant_central_force]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінна версія [методу PhysicsDirectBodyState2D.add_constant_central_force]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.add_constant_force]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "Замінювана версія [методу PhysicsDirectBodyState2D.add_constant_force]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.add_constant_torque]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.add_constant_torque]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.apply_central_force]." -msgstr "Вигідна версія [методикаДизайн2D.apply_central_force]." +msgstr "Замінна версія [методу PhysicsDirectBodyState2D.apply_central_force]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "apply_central_impulse]." -msgstr "Визначена версія [методичний посібник]." +msgstr "Замінна версія [методу PhysicsDirectBodyState2D.apply_central_impulse]." msgid "Overridable version of [method PhysicsDirectBodyState2D.apply_force]." -msgstr "Визначена версія [методичний посібник]." +msgstr "Замінна версія [методу PhysicsDirectBodyState2D.apply_force]." msgid "Overridable version of [method PhysicsDirectBodyState2D.apply_impulse]." -msgstr "Визначена версія [методичний посібник]." +msgstr "Замінювана версія [методу PhysicsDirectBodyState2D.apply_impulse]." msgid "Overridable version of [method PhysicsDirectBodyState2D.apply_torque]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "Замінювана версія [методу PhysicsDirectBodyState2D.apply_torque]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.apply_torque_impulse]." -msgstr "Визначена версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.apply_torque_impulse]." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D." "angular_velocity] and its respective getter." msgstr "" -"Впроваджувати поведінку [пам'ятний фізикаDirectBodyState2D.angular_velocity] " -"та її відповідного оверця." +"Реалізуйте, щоб перевизначити поведінку [члена PhysicsDirectBodyState2D." +"angular_velocity] та відповідного джерела отримання." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D." @@ -114179,93 +114810,110 @@ msgstr "" msgid "" "Overridable version of [method PhysicsDirectBodyState2D.get_constant_force]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "Замінна версія [методу PhysicsDirectBodyState2D.get_constant_force]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.get_constant_torque]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.get_constant_torque]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.get_contact_collider]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.get_contact_collider]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_collider_id]." -msgstr "Вигідна версія [методикаДизайн2D.get_contact_collider_id]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.get_contact_collider_id]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_collider_object]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D." +"get_contact_collider_object]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_collider_position]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінна версія [методу PhysicsDirectBodyState2D." +"get_contact_collider_position]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_collider_shape]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D." +"get_contact_collider_shape]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_collider_velocity_at_position]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D." +"get_contact_collider_velocity_at_position]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.get_contact_count]." -msgstr "Вигідна версія [методикаДизайн2D.get_contact_count]." +msgstr "Замінювана версія [методу PhysicsDirectBodyState2D.get_contact_count]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.get_contact_impulse]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.get_contact_impulse]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_local_normal]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.get_contact_local_normal]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_local_position]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінна версія [методу PhysicsDirectBodyState2D.get_contact_local_position]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_local_shape]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.get_contact_local_shape]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D." "get_contact_local_velocity_at_position]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D." +"get_contact_local_velocity_at_position]." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D." "inverse_inertia] and its respective getter." msgstr "" -"Впроваджувати поведінку [пам'ятний фізикаDirectBodyState2D.inverse_inertia] " -"та її відповідного оверця." +"Реалізуйте, щоб змінити поведінку [члена PhysicsDirectBodyState2D." +"inverse_inertia] та відповідного джерела отримання." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D." "inverse_mass] and its respective getter." msgstr "" -"Впровадити перенаречену поведінку [пам'ятий фізикаDirectBodyState2D." -"inverse_mass] та її відповідного отримувача." +"Реалізуйте, щоб перевизначити поведінку [члена PhysicsDirectBodyState2D." +"inverse_mass] і відповідного джерела отримання." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D." "linear_velocity] and its respective getter." msgstr "" -"Впроваджувати поведінку [пам'ятний фізикаDirectBodyState2D.linear_velocity] " -"та її відповідного оверця." +"Реалізуйте, щоб перевизначити поведінку [члена PhysicsDirectBodyState2D." +"linear_velocity] та відповідного джерела отримання." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.get_space_state]." -msgstr "Вигідна версія [методикаДизайн2D.get_space_state]." +msgstr "Замінна версія [методу PhysicsDirectBodyState2D.get_space_state]." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D.step] " @@ -114327,11 +114975,12 @@ msgstr "" msgid "" "Overridable version of [method PhysicsDirectBodyState2D.set_constant_force]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "Замінювана версія [методу PhysicsDirectBodyState2D.set_constant_force]." msgid "" "Overridable version of [method PhysicsDirectBodyState2D.set_constant_torque]." -msgstr "Вигідна версія [методичний посібник]." +msgstr "" +"Замінювана версія [методу PhysicsDirectBodyState2D.set_constant_torque]." msgid "" "Implement to override the behavior of [member PhysicsDirectBodyState2D." @@ -115078,13 +115727,13 @@ msgid "" "var collision = get_world_3d().direct_space_state.intersect_ray(query)\n" "[/codeblock]" msgstr "" -"Повертає новий, попередньо налаштований [PhysicsRayQueryParameters3D] об'єкт. " -"Використовуйте його для швидкого створення параметрів запиту за допомогою " -"найбільш поширених варіантів.\n" -"[блокування коду]\n" -"var query = ФізикаRayQueryParameters3D.create(положення, позиція + Vector3(0, " -"-10, 0)))\n" -"var зіткнення = get_world_3d().direct_space_state.intersect_ray(query)\n" +"Повертає новий, попередньо налаштований об’єкт [PhysicsRayQueryParameters3D]. " +"Використовуйте його для швидкого створення параметрів запиту, використовуючи " +"найпоширеніші параметри. \n" +"[codeblock] \n" +"var query = PhysicsRayQueryParameters3D.create(position, position + " +"Vector3(0, -10, 0)) \n" +"var collision = get_world_3d().direct_space_state.intersect_ray(query) \n" "[/codeblock]" msgid "" @@ -117706,42 +118355,41 @@ msgid "" "respective area object in the physics server. The raycast node queries the " "direct state of the relevant space in the physics server." msgstr "" -"EnglishDeutschPусский简体中文中國傳統" -"EspañolالعربيةFrançaisελληνικάDanskАнглійскаябългарскиCatalàČeskýEestiSuomiGaeilgeहिन्दीHrvatskiMagyarIndonesiaIcelandicItalianoעברי" -"日本の한국의LietuvosLatvijasмакедонскиSvenskaไทยTürkçe Він може безпосередньо " -"створювати і маніпулювати всі об'єкти фізики:\n" -"- A [i]space[/i] є самодостатнім світом для динамічного моделювання. Містить " -"тіла, ділянки та суглоби. Свою державу можна перемішати для зіткнень і " -"перетину інформації, а також кілька параметрів моделювання можуть бути " -"модифіковані.\n" -"- A [i] форма [/i] є геометричною формою, такими як сфера, коробка, циліндр " -"або полігон. Для виявлення зіткнень можна використовувати, додавши його до " -"тіла/реа, можливо, з додатковим перетворенням відносно походження тіла/реа. " -"До них можна додавати тіл/арифи з різними локальними перетвореннями.\n" -"- A [i]body[/i] являє собою фізичний об'єкт, який може бути в статичному, " -"кінематичного або ж жорсткому режимі. Його стан (наприклад, позиція і " -"швидкість) може бути перевірений і оновлений. Підсумок для інтеграції сил " -"може бути встановлений для налаштування фізики тіла.\n" -"- [i]area[/i] є регіоном в просторі, яка може бути використана для виявлення " -"тіл і областей, що надходять і виходу його. Запобігання з моніторингу тіла " -"може бути встановлена, щоб звітувати про внесення/вилучення форм тіла, а " -"аналогічно може бути встановлений моніторинг зони. Витривалість і пошкодження " -"можуть переноситися в межах області за допомогою налаштування параметрів " -"області.\n" -"- A [i]joint[/i] є обмеженням, або між двома тілами або на одному тілі " -"відносно точки. Параметри, такі як з'єднання і довжина решти весняного " -"суглоба можна регулювати.\n" -"Фізика об'єктів в [PhysicsServer3D] може бути створена і маніпулюється " -"самостійно; вони не повинні бути прив'язані до вузлів в декорі дерева.\n" -"[b]Примітка:[/b] Всі вершини фізики 3D використовують фізичний сервер " -"внутрішньо. Додавання фізичного вузла до дерева сцени призведе до створення " -"відповідного фізичного об'єкта, який буде створено на фізичному сервері. " -"Жорсткий вузол тіла реєструє зворотний зв’язок, який оновлює перетворення " -"вершини з перетворенням відповідного об’єкта тіла на сервері фізики " -"(середнього оновлення фізики). Вузловий вузол реєструє зворотний дзвінок, щоб " -"повідомити вузол області про перекриття з відповідним об'єктом області на " -"сервері фізики. Випадковий вузол вимагає прямого стану відповідного простору " -"на сервері фізики." +"PhysicsServer3D — це сервер, який відповідає за всю 3D-фізику. Він може " +"безпосередньо створювати та керувати всіма фізичними об’єктами: \n" +"- [i]Простір[/i] — це самодостатній світ для симуляції фізики. Він містить " +"тіла, області та суглоби. Його стан можна запитувати для отримання інформації " +"про зіткнення та перехрестя, а також можна змінити кілька параметрів " +"моделювання. \n" +"- [i]Фігура[/i] — це геометрична фігура, наприклад сфера, прямокутник, " +"циліндр або багатокутник. Його можна використовувати для виявлення зіткнень, " +"додавши його до тіла/області, можливо, з додатковим перетворенням відносно " +"походження тіла/області. До тіл/областей можна додати кілька " +"(трансформованих) форм, а одну форму можна додавати до тіл/областей кілька " +"разів за допомогою різних локальних трансформацій. \n" +"- [i]Тіло[/i] — це фізичний об'єкт, який може перебувати в статичному, " +"кінематичному або твердому режимі. Його стан (наприклад, положення та " +"швидкість) можна запитувати та оновлювати. Зворотний виклик інтеграції сили " +"можна встановити для налаштування фізики тіла. \n" +"- [i]Область[/i] — це область у просторі, яка може бути використана для " +"виявлення тіл і областей, які входять і виходять з неї. Можна налаштувати " +"зворотний виклик моніторингу тіла, щоб повідомляти про вхід/вихід з форм " +"тіла, і аналогічно можна встановити зворотний виклик моніторингу області. " +"Силу тяжіння та демпфування можна перекрити в межах області, встановивши " +"параметри області. \n" +"- [i]З’єднання[/i] — це зв’язок між двома тілами або одним тілом відносно " +"точки. Можна регулювати такі параметри, як ухил з’єднання та довжина спокою " +"пружинного з’єднання. \n" +"Фізичні об’єкти в [PhysicsServer3D] можна створювати та маніпулювати ними " +"незалежно; вони не повинні бути прив'язані до вузлів у дереві сцени. \n" +"[b]Примітка:[/b] усі вузли 3D фізики використовують внутрішній сервер фізики. " +"Додавання вузла фізики до дерева сцени призведе до створення відповідного " +"об’єкта фізики на сервері фізики. Вузол твердого тіла реєструє зворотний " +"виклик, який оновлює перетворення вузла за допомогою перетворення " +"відповідного об’єкта тіла на сервері фізики (кожне оновлення фізики). Вузол " +"області реєструє зворотний виклик, щоб повідомити вузол області про " +"перекриття з відповідним об’єктом області на сервері фізики. Вузол raycast " +"запитує прямий стан відповідного простору на сервері фізики." msgid "" "Adds a shape to the area, along with a transform matrix. Shapes are usually " @@ -119189,36 +119837,36 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"[RID], який буде використовуватися для зіткнень/інтерекційних запитів. " -"Використовуйте це над [пам'яткова форма], якщо ви хочете оптимізувати роботу " -"за допомогою API Servers:\n" -"[блоки коду]\n" -"[видання]\n" -"var форма_rid = PhysServer2D.circle_shape_create()\n" -"Вар радіус = 64\n" -"PhysServer2D.shape_set_data(shape_rid, радіус)\n" +"[RID] запитуваної фігури, яка використовуватиметься для запитів зіткнення/" +"перетину. Використовуйте це замість [member shape], якщо ви хочете " +"оптимізувати продуктивність за допомогою Servers API: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var shape_rid = PhysicsServer2D.circle_shape_create() \n" +"де радіус = 64 \n" +"PhysicsServer2D.shape_set_data(shape_rid, radius) \n" "\n" -"var params = PhysShapeQueryParameters2D.new()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"var params = PhysicsShapeQueryParameters2D.new()\n" +"params.shape_rid = shape_rid \n" "\n" -"Нема Виконувати фізики запитів тут...\n" +"# Виконуйте тут фізичні запити... \n" "\n" -"Нема Випускають форму при виконанні фізико-фізичних запитів.\n" -"English, Українська, Français...\n" -"[/gdscript]\n" -"[csharp]\n" -"РАЙД форма Рід = фізикаСервер2D.CircleShapeCreate();\n" -"int радіус = 64;\n" -"ФізикаServer2D.ShapeSetData (презент, радіус);\n" +"# Відпустіть фігуру, коли закінчите з фізичними запитами. \n" +"PhysicsServer2D.free_rid(shape_rid) \n" +"[/gdscript] \n" +"[csharp] \n" +"RID shapeRid = PhysicsServer2D.CircleShapeCreate(); \n" +"int радіус = 64; \n" +"PhysicsServer2D.ShapeSetData(shapeRid, radius); \n" "\n" -"var params = нова фізикаShapeQueryParameters2D();\n" -"парам. ФормаRid = форма їзда;\n" +"var params = new PhysicsShapeQueryParameters2D();\n" +"params.ShapeRid = shapeRid; \n" "\n" -"// Виконувати фізики запитів тут...\n" +"// Виконувати тут фізичні запити... \n" "\n" -"(Українська) Випускають форму при виконанні фізико-фізичних запитів.\n" -"ФізикаСер2D.FreeRid(shapeRid);\n" -"[/csharp]\n" +"// Відпустіть фігуру, коли закінчите фізичні запити. \n" +"PhysicsServer2D.FreeRid(shapeRid); \n" +"[/csharp] \n" "[/codeblocks]" msgid "The queried shape's transform matrix." @@ -119281,36 +119929,37 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"[RID], який буде використовуватися для зіткнень/інтерекційних запитів. " -"Використовуйте це над [пам'яткова форма], якщо ви хочете оптимізувати роботу " -"за допомогою API Servers:\n" -"[блоки коду]\n" -"[видання]\n" -"var форма_rid = PhysServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)\n" -"радіус варення = 2.0\n" -"English, Українська, Français...\n" +"[RID] запитуваної фігури, яка використовуватиметься для запитів зіткнення/" +"перетину. Використовуйте це замість [member shape], якщо ви хочете " +"оптимізувати продуктивність за допомогою Servers API: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var shape_rid = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE) \n" +"де радіус = 2,0 \n" +"PhysicsServer3D.shape_set_data(shape_rid, radius) \n" "\n" -"var params = PhysShapeQueryParameters3D.new()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"var params = PhysicsShapeQueryParameters3D.new()\n" +"params.shape_rid = shape_rid \n" "\n" -"Нема Виконувати фізики запитів тут...\n" +"# Виконуйте тут фізичні запити... \n" "\n" -"Нема Випускають форму при виконанні фізико-фізичних запитів.\n" -"English, Українська, Français...\n" -"[/gdscript]\n" -"[csharp]\n" -"РАЙД форма Рід = ФізикаСер3D.ShapeCreate(ФізикаСервер3D.ShapeType.Sphere);\n" -"радіус плавлення = 2.0f;\n" -"ФізикаСервер3D.ShapeSetData (презент, радіус);\n" +"# Відпустіть фігуру, коли закінчите з фізичними запитами. \n" +"PhysicsServer3D.free_rid(shape_rid) \n" +"[/gdscript] \n" +"[csharp] \n" +"RID shapeRid = PhysicsServer3D.ShapeCreate(PhysicsServer3D.ShapeType." +"Sphere); \n" +"радіус float = 2.0f; \n" +"PhysicsServer3D.ShapeSetData(shapeRid, radius); \n" "\n" -"var params = нова фізикаShapeQueryParameters3D();\n" -"парам. ФормаRid = форма їзда;\n" +"var params = new PhysicsShapeQueryParameters3D();\n" +"params.ShapeRid = shapeRid; \n" "\n" -"// Виконувати фізики запитів тут...\n" +"// Виконувати тут фізичні запити... \n" "\n" -"(Українська) Випускають форму при виконанні фізико-фізичних запитів.\n" -"ФізикаСер3D.FreeRid(shapeRid);\n" -"[/csharp]\n" +"// Відпустіть фігуру, коли закінчите фізичні запити. \n" +"PhysicsServer3D.FreeRid(shapeRid); \n" +"[/csharp] \n" "[/codeblocks]" msgid "Provides parameters for [method PhysicsServer2D.body_test_motion]." @@ -119860,7 +120509,9 @@ msgstr "" msgid "" "Constructs a default-initialized [Plane] with all components set to [code]0[/" "code]." -msgstr "[code]0[/code]." +msgstr "" +"Створює стандартну ініціалізацію [Plane] з усіма компонентами, встановленими " +"на [code]0[/code]." msgid "Constructs a [Plane] as a copy of the given [Plane]." msgstr "Constructs a [Plane] як копія даної [Plane]." @@ -120387,27 +121038,27 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var polygon_path_finder = PolygonPathFinder.new() \n" -"змінні точки = [Вектор2(0.0, 0.0), Вектор2(1.0, 0.0), Вектор2(0.0, 1.0)] \n" -"змінні з'єднання = [0, 1, 1, 2, 2, 0] \n" -"polygon_path_finder.setup(точки, з'єднання) \n" +"var point = [Vector2(0.0, 0.0), Vector2(1.0, 0.0), Вектор2(0.0, 1.0)] \n" +"var connections= [0, 1, 1, 2, 2, 0] \n" +"polygon_path_finder.setup(points, connections) \n" "print(polygon_path_finder.is_point_inside(Vector2(0.2, 0.2))) # Виводить " "true \n" "print(polygon_path_finder.is_point_inside(Vector2(1.0, 1.0))) # Виводить " "false \n" "[/gdscript] \n" "[csharp] \n" -"var polygonPathFinder = новий PolygonPathFinder(); \n" -"Vector2[] бали = \n" +"var polygonPathFinder = new PolygonPathFinder(); \n" +"Vector2[] points = \n" "[\n" -" новий Vector2(0.0f, 0.0f), \n" -" новий Vector2(1.0f, 0.0f), \n" -" новий Vector2(0.0f, 1.0f) \n" +" new Vector2(0.0f, 0.0f), \n" +" new Vector2(1.0f, 0.0f), \n" +" new Vector2(0.0f, 1.0f) \n" "];\n" -"int[] підключення = [0, 1, 1, 2, 2, 0]; \n" -"polygonPathFinder.Setup(точки, сполучення); \n" -"GD.Print(polygonPathFinder.IsPointInside(новий вектор2(0.2f, 0.2f))); // " +"int[] connections = [0, 1, 1, 2, 2, 0]; \n" +"polygonPathFinder.Setup(points, connections); \n" +"GD.Print(polygonPathFinder.IsPointInside(new Vector2(0.2f, 0.2f))); // " "Виводить True \n" -"GD.Print(polygonPathFinder.IsPointInside(новий вектор2(1.0f, 1.0f))); // " +"GD.Print(polygonPathFinder.IsPointInside(new Vector2(1.0f, 1.0f))); // " "Виводить False \n" "[/csharp] \n" "[/codeblocks]" @@ -120444,20 +121095,20 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var polygon_path_finder = PolygonPathFinder.new() \n" -"змінні точки = [Вектор2(0.0, 0.0), Вектор2(1.0, 0.0), Вектор2(0.0, 1.0)] \n" -"змінні з'єднання = [0, 1, 1, 2, 2, 0] \n" -"polygon_path_finder.setup(точки, з'єднання) \n" +"var point = [Vector2(0.0, 0.0), Vector2(1.0, 0.0), Vector2(0.0, 1.0)] \n" +"var connections= [0, 1, 1, 2, 2, 0] \n" +"polygon_path_finder.setup(points, connections) \n" "[/gdscript] \n" "[csharp] \n" -"var polygonPathFinder = новий PolygonPathFinder(); \n" +"var polygonPathFinder = new PolygonPathFinder(); \n" "Vector2[] бали = \n" "[\n" -" новий Vector2(0.0f, 0.0f), \n" -" новий Vector2(1.0f, 0.0f), \n" -" новий Vector2(0.0f, 1.0f) \n" +" new Vector2(0.0f, 0.0f), \n" +" new Vector2(1.0f, 0.0f), \n" +" new Vector2(0.0f, 1.0f) \n" "];\n" -"int[] підключення = [0, 1, 1, 2, 2, 0]; \n" -"polygonPathFinder.Setup(точки, сполучення); \n" +"int[] connections = [0, 1, 1, 2, 2, 0]; \n" +"polygonPathFinder.Setup(points, connections); \n" "[/csharp] \n" "[/codeblocks]" @@ -120738,8 +121389,8 @@ msgstr "" " add_multistate_item(\"Елемент\", 3, 0) \n" "\n" " index_pressed.connect(func(index: int): \n" -" toggle_item_multistate(індекс) \n" -" відповідність get_item_multistate(index): \n" +" toggle_item_multistate(index) \n" +" match get_item_multistate(index): \n" " 0: \n" " print(\"Перший стан\") \n" " 1: \n" @@ -122253,25 +122904,25 @@ msgstr "" "[code]\"hint_string\"[/code]: [String] \n" "[codeblocks] \n" "[gdscript] \n" -"ProjectSettings.set(\"категорія/назва_власності\", 0) \n" +"ProjectSettings.set(\"category/property_name\", 0) \n" "\n" "var property_info = { \n" -" \"ім'я\": \"назва_категорії/власності\", \n" -" \"тип\": TYPE_INT, \n" -" \"підказка\": PROPERTY_HINT_ENUM, \n" -" \"hint_string\": \"один, два, три\" \n" +" \"name\": \"category_name/property\", \n" +" \"type\": TYPE_INT, \n" +" \"hint\": PROPERTY_HINT_ENUM, \n" +" \"hint_string\": \"one,two,three\" \n" "}\n" "\n" "ProjectSettings.add_property_info(property_info) \n" "[/gdscript] \n" "[csharp] \n" -"ProjectSettings.Singleton.Set(\"категорія/назва_власності\", 0); \n" +"ProjectSettings.Singleton.Set(\"category/property_name\", 0); \n" "\n" "var propertyInfo = new Godot.Collections.Dictionary \n" "{\n" " {\"name\", \"category/propertyName\"}, \n" -" {\"тип\", (int)Variant.Type.Int}, \n" -" {\"підказка\", (int)PropertyHint.Enum}, \n" +" {\"type\", (int)Variant.Type.Int}, \n" +" {\"hint\", (int)PropertyHint.Enum}, \n" " {\"hint_string\", \"one,two,three\"}, \n" "};\n" "\n" @@ -122414,31 +123065,30 @@ msgid "" " path = OS.get_executable_path().get_base_dir().path_join(\"hello.txt\")\n" "[/codeblock]" msgstr "" -"Повертає абсолютний, рідний шлях ОС, що відповідає локалізації [тематичний " -"шлях] (починання з [code]res://[/code] або [code]user://[/code]). Повернутий " -"шлях в залежності від операційної системи та налаштування користувачів. Див " -"[url=$DOCS_URL/tutorials/io/data_paths.html] Файлові шляхи у проектах Godot[/" -"url], щоб побачити, які ці шляхи перетворюються на. Дивитися також [метод " -"локалізації_path].\n" -"[b]Note:[/b] [метод Globalize_path] з [code]res://[/code] не буде працювати в " -"експортному проекті. А замість того, щоб предприявити базовий каталог " -"виконкому до шляху при запуску з експортованого проекту:\n" -"[блокування коду]\n" -"Вар шлях = \"\"\n" -"якщо OS.has_feature(\"editor\"):\n" -"# Виконувати з редактора бінарними.\n" -"# `path` буде містити абсолютний шлях до `hello.txt`, який знаходиться в " -"корені проекту.\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"ще:\n" -"# Запуск з експортованого проекту.\n" -"\"Агентство\n" -"# Це *не * ідентично використовувати `Проекти.globalize_path()` з `res://` " -"шлях,\n" -"# але досить близько в духі.\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"Повертає абсолютний вихідний шлях ОС, що відповідає локалізованому [param " +"path] (починаючи з [code]res://[/code] або [code]user://[/code]). Повернений " +"шлях буде відрізнятися залежно від операційної системи та налаштувань " +"користувача. Перегляньте [url=$DOCS_URL/tutorials/io/data_paths.html]шляхи до " +"файлів у проектах Godot[/url], щоб дізнатися, у що ці шляхи перетворюються. " +"Дивіться також [метод localize_path]. \n" +"[b]Примітка: [/b] [метод globalize_path] із [code]res://[/code] не " +"працюватиме в експортованому проекті. Натомість додайте базовий каталог " +"виконуваного файлу до шляху під час запуску з експортованого проекту: \n" +"[codeblock] \n" +"змінний шлях = \"\" \n" +"якщо OS.has_feature(\"редактор\"): \n" +" # Запуск із бінарного редактора. \n" +" # `path` міститиме абсолютний шлях до `hello.txt`, розташованого в корені " +"проекту. \n" +" шлях = ProjectSettings.globalize_path(\"res://hello.txt\") \n" +"ще: \n" +" # Запуск із експортованого проекту. \n" +" # `path` міститиме абсолютний шлях до `hello.txt` поруч із виконуваним " +"файлом. \n" +" # Це *не* ідентично використанню `ProjectSettings.globalize_path()` зі " +"шляхом `res://`, \n" +" # але досить близький за духом. \n" +" path = OS.get_executable_path().get_base_dir().path_join(\"hello.txt\") \n" "[/codeblock]" msgid "Returns [code]true[/code] if a configuration value is present." @@ -122571,10 +123221,10 @@ msgstr "" "Встановлює значення параметра. \n" "[codeblocks] \n" "[gdscript] \n" -"ProjectSettings.set_setting(\"application/config/name\", \"Приклад\") \n" +"ProjectSettings.set_setting(\"application/config/name\", \"Example\") \n" "[/gdscript] \n" "[csharp] \n" -"ProjectSettings.SetSetting(\"програма/конфігурація/назва\", \"Приклад\"); \n" +"ProjectSettings.SetSetting(\"application/config/name\", \"Example\"); \n" "[/csharp] \n" "[/codeblocks] \n" "Це також можна використовувати для стирання настроюваних налаштувань проекту. " @@ -123112,6 +123762,23 @@ msgstr "" "буде повернено лише тишу. У Windows 10 і пізніше переконайтеся, що додатки " "допускаються для доступу до мікрофона в налаштуваннях конфіденційності OS." +msgid "" +"Target mixing rate used for audio (in Hz). In general, it's better to not " +"touch this and leave it to the host operating system.\n" +"[b]Note:[/b] On iOS and macOS, mixing rate is determined by audio driver, " +"this value is ignored.\n" +"[b]Note:[/b] Input and output mixing rates might be different. Use [method " +"AudioServer.get_mix_rate] and [method AudioServer.get_input_mix_rate] to get " +"actual values." +msgstr "" +"Цільова швидкість змішування, що використовується для аудіо (у Гц). Загалом, " +"краще не чіпати це і залишити це головній операційній системі. \n" +"[b]Примітка.[/b] В iOS і macOS швидкість мікшування визначається " +"аудіодрайвером, це значення ігнорується. \n" +"[b]Примітка:[/b] Швидкості змішування вхідних і вихідних даних можуть " +"відрізнятися. Використовуйте [method AudioServer.get_mix_rate] і [method " +"AudioServer.get_input_mix_rate], щоб отримати фактичні значення." + msgid "" "Safer override for [member audio/driver/mix_rate] in the Web platform. Here " "[code]0[/code] means \"let the browser choose\" (since some browsers do not " @@ -126199,6 +126866,42 @@ msgstr "" "[code]false[/code]. Поведінка спадщини полягає в тому, щоб забезпечити старі " "проекти, які спираються на стару логіку, без змін до сценарію." +msgid "" +"Specifies the tablet driver to use. If left empty, the default driver will be " +"used.\n" +"[b]Note:[/b] The driver in use can be overridden at runtime via the [code]--" +"tablet-driver[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial." +"html]command line argument[/url].\n" +"[b]Note:[/b] Use [method DisplayServer.tablet_set_current_driver] to switch " +"tablet driver in runtime." +msgstr "" +"Визначає драйвер планшета для використання. Якщо залишити пустим, буде " +"використано драйвер за замовчуванням. \n" +"[b]Примітка.[/b] Драйвер, який використовується, можна змінити під час " +"виконання за допомогою [code]--tablet-driver[/code] [url=$DOCS_URL/tutorials/" +"editor/command_line_tutorial.html]аргументу командного рядка[/url]. \n" +"[b]Примітка.[/b] Використовуйте [метод DisplayServer." +"tablet_set_current_driver], щоб змінити драйвер планшета під час виконання." + +msgid "" +"Override for [member input_devices/pen_tablet/driver] on Windows. Supported " +"values are:\n" +"- [code]auto[/code] (default), uses [code]wintab[/code] if Windows Ink is " +"disabled in the Wacom Tablet Properties or system settings, [code]winink[/" +"code] otherwise.\n" +"- [code]winink[/code], uses Windows native \"Windows Ink\" driver.\n" +"- [code]wintab[/code], uses Wacom \"WinTab\" driver.\n" +"- [code]dummy[/code], tablet input is disabled." +msgstr "" +"Заміна для [member input_devices/pen_tablet/driver] у Windows. Підтримувані " +"значення: \n" +"- [code]auto[/code] (за замовчуванням), використовує [code]wintab[/code], " +"якщо Windows Ink вимкнено у властивостях планшета Wacom або системних " +"налаштуваннях, [code]winink[/code] інакше. \n" +"- [code]winink[/code], використовує рідний драйвер Windows Ink. \n" +"- [code]wintab[/code], використовує драйвер Wacom \"WinTab\". \n" +"- [code]пустиця[/code], введення з планшета вимкнено." + msgid "" "If [code]true[/code], long press events on an Android touchscreen are " "transformed into right click events." @@ -126265,6 +126968,48 @@ msgstr "" "Якщо [code]true[/code], датчик магнітометра ввімкнено, а [method Input." "get_magnetometer] повертає дійсні дані." +msgid "" +"The locale to fall back to if a translation isn't available in a given " +"language. If left empty, [code]en[/code] (English) will be used.\n" +"[b]Note:[/b] Not to be confused with [TextServerFallback]." +msgstr "" +"Мова, до якої потрібно повернутися, якщо переклад недоступний певною мовою. " +"Якщо залишити пустим, використовуватиметься [code]en[/code] (англійська).\n" +"[b]Примітка:[/b] Не плутати з [TextServerFallback]." + +msgid "" +"If [code]true[/code], text server break iteration rule sets, dictionaries and " +"other optional data are included in the exported project.\n" +"[b]Note:[/b] \"ICU / HarfBuzz / Graphite\" text server data includes " +"dictionaries for Burmese, Chinese, Japanese, Khmer, Lao and Thai as well as " +"Unicode Standard Annex #29 and Unicode Standard Annex #14 word and line " +"breaking rules. Data is about 4 MB large.\n" +"[b]Note:[/b] [TextServerFallback] does not use additional data." +msgstr "" +"Якщо [code]true[/code], текстовий сервер порушує набори правил ітерації, " +"словники та інші додаткові дані включено до експортованого проекту. \n" +"[b]Примітка:[/b] Дані текстового сервера \"ICU / HarfBuzz / Graphite\" " +"включають словники для бірманської, китайської, японської, кхмерської, " +"лаоської та тайської мов, а також правила розриву слів і розриву рядків у " +"стандартному додатку Unicode №29 і стандартному додатку Unicode №14. Розмір " +"даних приблизно 4 МБ. \n" +"[b]Примітка: [/b] [TextServerFallback] не використовує додаткові дані." + +msgid "" +"If non-empty, this locale will be used instead of the automatically detected " +"system locale.\n" +"[b]Note:[/b] This setting also applies to the exported project. To only " +"affect testing within the editor, override this setting with an [code]editor[/" +"code] [url=$DOCS_URL/tutorials/export/feature_tags.html]feature tag[/url] for " +"localization testing purposes." +msgstr "" +"Якщо поле не порожнє, ця мова використовуватиметься замість автоматично " +"визначеної мови системи. \n" +"[b]Примітка.[/b] Цей параметр також застосовується до експортованого проекту. " +"Щоб вплинути лише на тестування в редакторі, замініть це налаштування " +"[code]редактором[/code] [url=$DOCS_URL/tutorials/export/feature_tags." +"html]тегом функції[/url] для цілей тестування локалізації." + msgid "" "Double vowels in strings during pseudolocalization to simulate the " "lengthening of text due to localization." @@ -126281,6 +127026,19 @@ msgstr "" "[code]0.3[/code] є достатньою для більшості практичних цілей, і підвищить " "довжину кожного рядка на 30%." +msgid "" +"If [code]true[/code], emulate bidirectional (right-to-left) text when " +"pseudolocalization is enabled. This can be used to spot issues with RTL " +"layout and UI mirroring that will crop up if the project is localized to RTL " +"languages such as Arabic or Hebrew. See also [member internationalization/" +"rendering/force_right_to_left_layout_direction]." +msgstr "" +"Якщо [code]true[/code], емулювати двонаправлений текст (справа наліво), коли " +"ввімкнено псевдолокалізацію. Це можна використовувати для виявлення проблем " +"із макетом RTL і віддзеркаленням інтерфейсу користувача, які виникнуть, якщо " +"проект локалізовано на такі мови RTL, як арабська чи іврит. Дивіться також " +"[internationalization/rendering/force_right_to_left_layout_direction]." + msgid "" "Replace all characters in the string with [code]*[/code]. Useful for finding " "non-localizable strings." @@ -126325,6 +127083,18 @@ msgstr "" "починається. Для того, щоб увімкнути псевдолокалізацію в режимі run-time, " "скористайтеся [член TranslationServer.pseudolocalization_enabled]." +msgid "" +"Force layout direction and text writing direction to RTL for all controls, " +"even if the current locale is intended to use a left-to-right layout and text " +"writing direction. This should be enabled for testing purposes only. See also " +"[member internationalization/pseudolocalization/fake_bidi]." +msgstr "" +"Примусово встановити напрямок макета та напрямок написання тексту праворуч " +"для всіх елементів керування, навіть якщо поточна мова передбачає " +"використання макета та напрямку написання тексту зліва направо. Це слід " +"увімкнути лише з метою тестування. Дивіться також [інтернаціоналізація " +"учасників/псевдолокалізація/fake_bidi]." + msgid "" "If [code]true[/code], root node will use [constant Node." "AUTO_TRANSLATE_MODE_ALWAYS], otherwise [constant Node." @@ -126343,6 +127113,39 @@ msgstr "" msgid "Root node default layout direction." msgstr "Напрямок макета кореневих вузлів." +msgid "" +"Specifies the [TextServer] to use. If left empty, the default will be used.\n" +"\"ICU / HarfBuzz / Graphite\" ([TextServerAdvanced]) is the most advanced " +"text driver, supporting right-to-left typesetting and complex scripts (for " +"languages like Arabic, Hebrew, etc.). The \"Fallback\" text driver " +"([TextServerFallback]) does not support right-to-left typesetting and complex " +"scripts.\n" +"[b]Note:[/b] The driver in use can be overridden at runtime via the [code]--" +"text-driver[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial." +"html]command line argument[/url].\n" +"[b]Note:[/b] There is an additional [code]Dummy[/code] text driver available, " +"which disables all text rendering and font-related functionality. This driver " +"is not listed in the project settings, but it can be enabled when running the " +"editor or project using the [code]--text-driver Dummy[/code] [url=$DOCS_URL/" +"tutorials/editor/command_line_tutorial.html]command line argument[/url]." +msgstr "" +"Визначає [TextServer] для використання. Якщо залишити пустим, буде " +"використано значення за умовчанням. \n" +"«ICU / HarfBuzz / Graphite» ([TextServerAdvanced]) — це найдосконаліший " +"текстовий драйвер, який підтримує набір справа наліво та складні сценарії " +"(для таких мов, як арабська, іврит тощо). Текстовий драйвер \"Резервний\" " +"([TextServerFallback]) не підтримує набір справа наліво та складні " +"сценарії. \n" +"[b]Примітка.[/b] Використовуваний драйвер можна змінити під час виконання за " +"допомогою [code]--text-driver[/code] [url=$DOCS_URL/tutorials/editor/" +"command_line_tutorial.html]аргументу командного рядка[/url]. \n" +"[b]Примітка: [/b] Існує додатковий доступний текстовий драйвер [code]Dummy[/" +"code], який вимикає відтворення тексту та функції, пов’язані зі шрифтами. Цей " +"драйвер не вказано в налаштуваннях проекту, але його можна ввімкнути під час " +"запуску редактора або проекту за допомогою [code]--text-driver Dummy[/code] " +"[url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]аргументу " +"командного рядка[/url]." + msgid "" "Optional name for the 2D navigation layer 1. If left empty, the layer will " "display as \"Layer 1\"." @@ -128016,21 +128819,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Сила гравітації за умовчанням у 2D (у пікселях на секунду в квадраті).\n" +"Сила гравітації за умовчанням у 2D (у пікселях на секунду в квадраті). \n" "[b]Примітка:[/b] Ця властивість читається лише під час запуску проекту. Щоб " "змінити гравітацію за замовчуванням під час виконання, скористайтеся таким " -"зразком коду:\n" -"[кодові блоки]\n" -"[gdscript]\n" -"# Встановіть силу тяжіння за замовчуванням на 980.\n" +"зразком коду: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Встановіть силу тяжіння за замовчуванням на 980. \n" "PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, " -"PhysicsServer2D.AREA_PARAM_GRAVITY, 980)\n" -"[/gdscript]\n" -"[csharp]\n" -"// Встановити силу тяжіння за замовчуванням на 980.\n" +"PhysicsServer2D.AREA_PARAM_GRAVITY, 980) \n" +"[/gdscript] \n" +"[csharp] \n" +"// Встановити силу тяжіння за замовчуванням на 980. \n" "PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, " -"PhysicsServer2D.AreaParameter.Gravity, 980);\n" -"[/csharp]\n" +"PhysicsServer2D.AreaParameter.Gravity, 980); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -128050,21 +128853,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Напрямок ваги за умовчанням у 2D.\n" -"[b] Примітка: [/b] Ця властивість читається лише тоді, коли починається " -"проект. Щоб змінити вектор тяжіння за замовчуванням, використовуйте таку " -"вибірку:\n" -"[Codeblocks]\n" -"[gdscript]\n" -"# Встановити напрямок сили тяжіння за умовчанням до `Vector2 (0, 1)`.\n" -"Physicsserver2d.area_set_param (get_viewport (). Find_world_2d (). Space, " -"physicsserver2d.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN)\n" -"[/gdscript]\n" -"[csharp]\n" -"// Встановити за умовчанням, що тяжкості до `Vector2 (0, 1)`.\n" -"Фізичнийсерверк2d.areasetaram (GetViewport (). Findworld2d (). Простір, " -"фізичнийсерверс2d.areaparameter.gravityVector, vector2.down)\n" -"[/csharp]\n" +"Напрям гравітації за умовчанням у 2D. \n" +"[b]Примітка:[/b] Ця властивість читається лише під час запуску проекту. Щоб " +"змінити вектор гравітації за замовчуванням під час виконання, скористайтеся " +"наведеним нижче зразком коду: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Встановити напрямок сили тяжіння за замовчуванням на `Vector2(0, 1)`. \n" +"PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, " +"PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN) \n" +"[/gdscript] \n" +"[csharp] \n" +"// Встановити напрямок сили тяжіння за замовчуванням на `Vector2(0, 1)`. \n" +"PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, " +"PhysicsServer2D.AreaParameter.GravityVector, Vector2.Down) \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -128306,21 +129109,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Сила гравітації за умовчанням у 3D (у квадратних метрах на секунду).\n" +"Сила гравітації за умовчанням у 3D (у квадратних метрах на секунду). \n" "[b]Примітка:[/b] Ця властивість читається лише під час запуску проекту. Щоб " "змінити гравітацію за замовчуванням під час виконання, скористайтеся таким " -"зразком коду:\n" -"[кодові блоки]\n" -"[gdscript]\n" -"# Встановіть силу тяжіння за замовчуванням на 9,8.\n" +"зразком коду: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Встановіть силу тяжіння за замовчуванням на 9,8. \n" "PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, " -"PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)\n" -"[/gdscript]\n" -"[csharp]\n" -"// Встановити силу тяжіння за замовчуванням на 9,8.\n" +"PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8) \n" +"[/gdscript] \n" +"[csharp] \n" +"// Встановити силу тяжіння за замовчуванням на 9,8. \n" "PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, " -"PhysicsServer3D.AreaParameter.Gravity, 9.8);\n" -"[/csharp]\n" +"PhysicsServer3D.AreaParameter.Gravity, 9.8); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -128344,7 +129147,7 @@ msgstr "" "[b]Примітка:[/b] Ця властивість читається лише під час запуску проекту.Щоб " "змінити вектор гравітації за замовчуванням під час виконання, скористайтеся " "наведеним нижче зразком коду:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "# Встановити напрямок сили тяжіння за замовчуванням на `Vector3(0, -1, 0)`.\n" "PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, " @@ -128438,6 +129241,27 @@ msgstr "" "Розширення та модулі сторонніх розробників можуть додавати інші фізичні " "механізми, які можна вибрати за допомогою цього параметра." +msgid "" +"If [code]true[/code], the 3D physics server runs on a separate thread, making " +"better use of multi-core CPUs. If [code]false[/code], the 3D physics server " +"runs on the main thread. Running the physics server on a separate thread can " +"increase performance, but restricts API access to only physics process.\n" +"[b]Note:[/b] When [member physics/3d/physics_engine] is set to [code]Jolt " +"Physics[/code], enabling this setting will prevent the 3D physics server from " +"being able to provide any context when reporting errors and warnings, and " +"will instead always refer to nodes as [code][/code]." +msgstr "" +"Якщо [code]true[/code], сервер 3D-фізики працює в окремому потоці, завдяки " +"чому краще використовуються багатоядерні ЦП. Якщо [code]false[/code], сервер " +"3D-фізики працює в основному потоці. Запуск фізичного сервера в окремому " +"потоці може підвищити продуктивність, але обмежує доступ API лише до " +"фізичного процесу. \n" +"[b]Примітка:[/b] Якщо для параметра [member physics/3d/physics_engine] " +"встановлено значення [code]Jolt Physics[/code], увімкнення цього параметра не " +"дозволить серверу 3D-фізики надавати будь-який контекст, повідомляючи про " +"помилки та попередження, і замість цього завжди посилатиметься на вузли як " +"[code][/code]." + msgid "" "Threshold angular velocity under which a 3D physics body will be considered " "inactive. See [constant PhysicsServer3D." @@ -130734,15 +131558,6 @@ msgstr "" "Залежно від складності сцен, це значення може бути знижене або може " "знадобитися підняти." -msgid "" -"If [code]true[/code], the forward renderer will fall back to Direct3D 12 if " -"Vulkan is not supported.\n" -"[b]Note:[/b] This setting is implemented only on Windows." -msgstr "" -"Якщо [code]true[/code], то експедитор попаде до Direct3D 12, якщо Vulkan не " -"підтримується.\n" -"[b]Примітка:[/b] Ця установка реалізується тільки на Windows." - msgid "" "If [code]true[/code], the forward renderer will fall back to OpenGL 3 if " "Direct3D 12, Metal, and Vulkan are not supported.\n" @@ -131639,7 +132454,7 @@ msgstr "" "[/gdscript] \n" "[csharp] \n" "Tween tween = GetTree().CreateTween(); \n" -"tween.TweenProperty(this, \"позиція\", Vector2.Right * 100.0f, 1.0f)." +"tween.TweenProperty(this, \"position\", Vector2.Right * 100.0f, 1.0f)." "AsRelative(); \n" "[/csharp] \n" "[/codeblocks]" @@ -131662,7 +132477,7 @@ msgid "" "[/codeblocks]" msgstr "" "Встановлює спеціальне початкове значення для [PropertyTweener]. \n" -"[b]Приклад:[/b] Перемістіть вузол із позиції [код](100, 100)[/code] до [код]" +"[b]Приклад:[/b] Перемістіть вузол із позиції [code](100, 100)[/code] до [code]" "(200, 100)[/code]. \n" "[codeblocks] \n" "[gdscript] \n" @@ -131672,8 +132487,8 @@ msgstr "" "[/gdscript] \n" "[csharp] \n" "Tween tween = GetTree().CreateTween(); \n" -"tween.TweenProperty(це, \"позиція\", новий Vector2(200.0f, 100.0f), 1.0f)." -"From(новий Vector2(100.0f, 100.0f)); \n" +"tween.TweenProperty(self, \"position\", new Vector2(200.0f, 100.0f), 1.0f)." +"From(new Vector2(100.0f, 100.0f)); \n" "[/csharp] \n" "[/codeblocks]" @@ -131709,9 +132524,9 @@ msgstr "" "from_current() \n" "[/gdscript] \n" "[csharp] \n" -"tween.TweenProperty(this, \"позиція\", новий Vector2(200.0f, 100.0f), 1.0f)." +"tween.TweenProperty(this, \"position\", new Vector2(200.0f, 100.0f), 1.0f)." "From(Position); \n" -"tween.TweenProperty(це, \"позиція\", новий Vector2(200.0f, 100.0f), 1.0f)." +"tween.TweenProperty(this, \"position\", new Vector2(200.0f, 100.0f), 1.0f)." "FromCurrent(); \n" "[/csharp] \n" "[/codeblocks]" @@ -131766,7 +132581,7 @@ msgstr "" "переданий у метод, все ще підлягає власному ослабленню твінера. \n" "[codeblocks] \n" "[gdscript] \n" -"@export var curve: Крива \n" +"@export var curve: Curve \n" "\n" "func _ready(): \n" " var tween = create_tween() \n" @@ -131778,8 +132593,8 @@ msgstr "" " повернути curve.sample_baked(v) \n" "[/gdscript] \n" "[csharp] \n" -"[Експорт] \n" -"public Curve Curve { get; комплект; } \n" +"[Export] \n" +"public Curve Curve { get; set; } \n" "\n" "public override void _Ready() \n" "{\n" @@ -132298,15 +133113,15 @@ msgid "" "[/codeblock]" msgstr "" "RandomNumberGenerator — це клас для генерації псевдовипадкових чисел. Зараз " -"використовується [url=https://www.pcg-random.org/]PCG32[/url].\n" +"використовується [url=https://www.pcg-random.org/]PCG32[/url]. \n" "[b]Примітка.[/b] Основний алгоритм є деталлю реалізації, і на нього не слід " -"покладатися.\n" +"покладатися. \n" "Щоб згенерувати випадкове число з плаваючою точкою (у заданому діапазоні) на " -"основі початкового числа, що залежить від часу:\n" -"[кодовий блок]\n" -"var rng = RandomNumberGenerator.new()\n" -"func _ready():\n" -" var my_random_number = rng.randf_range(-10.0, 10.0)\n" +"основі початкового числа, що залежить від часу: \n" +"[codeblock] \n" +"var rng = RandomNumberGenerator.new() \n" +"func _ready(): \n" +" var my_random_number = rng.randf_range(-10.0, 10.0) \n" "[/codeblock]" msgid "" @@ -132325,19 +133140,19 @@ msgid "" "[/gdscript]\n" "[/codeblocks]" msgstr "" -"Повертає випадковий індекс з неоднорідними вагами. Друкує помилку і повертає " -"[code]-1[/code], якщо масив порожній.\n" -"[блоки коду]\n" -"[видання]\n" -"var rng = ВипадковийКількістьGenerator.new()\n" +"Повертає випадковий індекс із нерівномірними вагами. Виводить помилку та " +"повертає [код]-1[/код], якщо масив порожній. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var rng = RandomNumberGenerator.new() \n" "\n" -"var my_array = \"один\", \"два\", \"три\", \"добрий\"]\n" -"Вар ваги = УпакованийФлоат32Array([0.5, 1, 1, 2])\n" +"var my_array = [\"one\", \"two\", \"three\", \"four\"] \n" +"var weights = PackedFloat32Array([0,5, 1, 1, 2]) \n" "\n" -"Нема Друкувати один з чотирьох елементів у `my_array`.\n" -"Нема Важко друкувати «чотири», і рідше друкувати «один».\n" -"Друк(my_array[rng.rand_weighted(вага)])\n" -"[/gdscript]\n" +"# Виводить один із чотирьох елементів у `my_array`. \n" +"# Ймовірніше надрукувати «чотири», а рідше надрукувати «один». \n" +"print(my_array[rng.rand_weighted(weights)]) \n" +"[/gdscript] \n" "[/codeblocks]" msgid "" @@ -132407,23 +133222,24 @@ msgid "" "rng.state = 100 # Restore to some previously saved state.\n" "[/codeblock]" msgstr "" -"Встановлює стан генератора випадкових чисел на основі вказаного значення " -"насіння. Задане насіння дасть відтворювану послідовність псевдо-рандомних " -"чисел.\n" -"[b]Note:[/b] RNG не має ефекту авальнище, і може виводити аналогічні " -"випадкові потоки, надані аналогічним насінням. Враховуйте, використовуючи " -"функцію хешу для поліпшення якості насіння, якщо вони виявляються зовнішньо.\n" -"[b]Примітка:[/b] Встановити цю властивість виробляє побічний ефект зміни " -"внутрішнього [члена], щоб переконатися, що ініціалізація насіння [i]before[/" -"i], змінюючи [членний стан]:\n" -"[b]Примітка:[/b] Значення за замовчуванням даної нерухомості є псевдо-рандом, " -"і зміни при викликі [метод випадковості]. [code]0[/code] значення, " -"задокументовано тут, є власником місця, а не фактичним за замовчуванням " -"насіння.\n" -"[блокування коду]\n" -"var rng = ВипадковийКількістьGenerator.new()\n" -"rng.seed = h(\"Godot\")\n" -"рнг.стат = 100 # Відновити до деяких раніше збережених станів.\n" +"Ініціалізує стан генератора випадкових чисел на основі заданого початкового " +"значення. Дане початкове число дасть відтворювану послідовність " +"псевдовипадкових чисел. \n" +"[b]Примітка: [/b] RNG не має ефекту лавини та може виводити подібні випадкові " +"потоки за подібних початкових значень. Подумайте про використання хеш-" +"функції, щоб покращити якість початкового матеріалу, якщо вони отримані " +"ззовні. \n" +"[b]Примітка: [/b] Налаштування цієї властивості створює побічний ефект зміни " +"внутрішнього [стану-члена], тому переконайтеся, що ініціалізували початкове " +"значення [i]перед[/i] зміною [стану-члена]: \n" +"[b]Примітка:[/b] Значення за замовчуванням цієї властивості є " +"псевдовипадковим і змінюється під час виклику [method randomize]. Значення " +"[code]0[/code], задокументоване тут, є заповнювачем, а не фактичним " +"початковим значенням за замовчуванням. \n" +"[codeblock] \n" +"var rng = RandomNumberGenerator.new() \n" +"rng.seed = hash(\"Godot\") \n" +"rng.state = 100 # Відновлення попереднього збереженого стану. \n" "[/codeblock]" msgid "" @@ -132448,7 +133264,7 @@ msgid "" msgstr "" "Поточний стан генератора випадкових чисел. Збережіть і відновіть цю " "властивість, щоб повернути генератор до попереднього стану: \n" -"[кодовий блок] \n" +"[codeblock] \n" "var rng = RandomNumberGenerator.new() \n" "print(rng.randf()) \n" "var saved_state = rng.state # Зберегти поточний стан. \n" @@ -132704,26 +133520,25 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає ідентифікатор форми першого об'єкта, який об'єднує промені, або " -"[code]0[/code], якщо об'єкт не перетинає промінь (тобто [метод_збирання] " -"повертає [code]false[/code].\n" -"Щоб отримати міжсекційну вершину форми, для цілей [CollisionObject2D], " -"скористайтеся:\n" -"[блоки коду]\n" -"[видання]\n" -"var Мета = get_collider() # КолісіяObject2D.\n" -"var форма_id = get_collider_shape() # Індекс форми в комірці.\n" -"var owner_id = цільовий.shape_find_owner(shape_id) # Ідентифікатор власника в " -"комірці.\n" -"var форма = цільова.shape_owner_get_owner(owner_id)\n" -"[/gdscript]\n" -"[csharp]\n" -"var ціль = (CollisionObject2D)GetCollider(); // КолегсіяObject2D.\n" -"форма вар Id = GetColliderShape(); (Українська) Індекс форми в комірці.\n" -"власник вар Id = цільовий.ShapeFindOwner(shapeId); (Українська) Ідентифікатор " -"власника в комірці.\n" -"var форма = цільова.ShapeOwnerGetOwner(власник) Id;\n" -"[/csharp]\n" +"Повертає ідентифікатор форми першого об’єкта, який перетинає промінь, або " +"[code]0[/code], якщо жоден об’єкт не перетинає промінь (тобто [method " +"is_colliding] повертає [code]false[/code]). \n" +"Щоб отримати пересічний вузол фігури для цілі [CollisionObject2D], " +"використовуйте: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var target = get_collider() # CollisionObject2D. \n" +"var shape_id = get_collider_shape() # Індекс форми в коллайдері. \n" +"var owner_id = target.shape_find_owner(shape_id) # Ідентифікатор власника в " +"коллайдері. \n" +"var shape = target.shape_owner_get_owner(owner_id) \n" +"[/gdscript] \n" +"[csharp] \n" +"var target = (CollisionObject2D)GetCollider(); // CollisionObject2D. \n" +"var shapeId = GetColliderShape(); // Індекс форми в коллайдері. \n" +"var ownerId = target.ShapeFindOwner(shapeId); // ID власника в колайдері. \n" +"var shape = target.ShapeOwnerGetOwner(ownerId); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -132895,25 +133710,25 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає ідентифікатор форми першого об'єкта, який об'єднує промені, або " -"[code]0[/code], якщо об'єкт не перетинає промінь (тобто [метод_збирання] " -"повертає [code]false[/code].\n" -"Щоб отримати міжсекційну форму вершину, для цілі [CollisionObject3D]:\n" -"[блоки коду]\n" -"[видання]\n" -"var Мета = get_collider() # КолісіяObject3D.\n" -"var форма_id = get_collider_shape() # Індекс форми в комірці.\n" -"var owner_id = цільовий.shape_find_owner(shape_id) # Ідентифікатор власника в " -"комірці.\n" -"var форма = цільова.shape_owner_get_owner(owner_id)\n" -"[/gdscript]\n" -"[csharp]\n" -"var ціль = (CollisionObject3D)GetCollider(); // КолегсіяObject3D.\n" -"форма вар Id = GetColliderShape(); (Українська) Індекс форми в комірці.\n" -"власник вар Id = цільовий.ShapeFindOwner(shapeId); (Українська) Ідентифікатор " -"власника в комірці.\n" -"var форма = цільова.ShapeOwnerGetOwner(власник) Id;\n" -"[/csharp]\n" +"Повертає ідентифікатор форми першого об’єкта, який перетинає промінь, або " +"[code]0[/code], якщо жоден об’єкт не перетинає промінь (тобто [method " +"is_colliding] повертає [code]false[/code]). \n" +"Щоб отримати пересічний вузол фігури для цілі [CollisionObject3D], " +"використовуйте: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var target = get_collider() # CollisionObject3D. \n" +"var shape_id = get_collider_shape() # Індекс форми в коллайдері. \n" +"var owner_id = target.shape_find_owner(shape_id) # Ідентифікатор власника в " +"коллайдері. \n" +"var shape = target.shape_owner_get_owner(owner_id) \n" +"[/gdscript] \n" +"[csharp] \n" +"var target = (CollisionObject3D)GetCollider(); // CollisionObject3D. \n" +"var shapeId = GetColliderShape(); // Індекс форми в коллайдері. \n" +"var ownerId = target.ShapeFindOwner(shapeId); // ID власника в колайдері. \n" +"var shape = target.ShapeOwnerGetOwner(ownerId); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -133163,67 +133978,67 @@ msgid "" "[/codeblock]" msgstr "" "Контролює, як виконується змішування вихідних і цільових фрагментів під час " -"використання [RenderingDevice].\n" +"використання [RenderingDevice]. \n" "Для довідки, ось як звичайні режими змішування, призначені для користувача, " -"реалізовані в 2D рендерері Godot:\n" -"[b]Мікс:[/b]\n" -"[кодовий блок]\n" +"реалізовані в 2D рендерері Godot: \n" +"[b]Мікс:[/b] \n" +"[codeblock] \n" "var attachment = RDPipelineColorBlendStateAttachment.new()\n" -"attachment.enable_blend = істина\n" -"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA\n" +"attachment.enable_blend = ture \n" +"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA \n" "attachment.dst_color_blend_factor = RenderingDevice." -"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA\n" -"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" +"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA \n" +"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" "attachment.dst_alpha_blend_factor = RenderingDevice." -"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA\n" -"[/codeblock]\n" -"[b]Додати:[/b]\n" -"[кодовий блок]\n" +"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA \n" +"[/codeblock] \n" +"[b]Додати:[/b] \n" +"[codeblock] \n" "var attachment = RDPipelineColorBlendStateAttachment.new()\n" -"attachment.enable_blend = істина\n" -"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA\n" -"attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" -"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA\n" -"attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" -"[/codeblock]\n" -"[b]Відняти:[/b]\n" -"[кодовий блок]\n" +"attachment.enable_blend = ture \n" +"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA \n" +"attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" +"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA \n" +"attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" +"[/codeblock] \n" +"[b]Відняти:[/b] \n" +"[codeblock] \n" "var attachment = RDPipelineColorBlendStateAttachment.new()\n" -"attachment.enable_blend = істина\n" -"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_REVERSE_SUBTRACT\n" -"attachment.color_blend_op = RenderingDevice.BLEND_OP_REVERSE_SUBTRACT\n" -"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA\n" -"attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" -"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA\n" -"attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" -"[/codeblock]\n" -"[b]Помножити:[/b]\n" -"[кодовий блок]\n" +"attachment.enable_blend = ture \n" +"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_REVERSE_SUBTRACT \n" +"attachment.color_blend_op = RenderingDevice.BLEND_OP_REVERSE_SUBTRACT \n" +"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA \n" +"attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" +"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA \n" +"attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" +"[/codeblock] \n" +"[b]Помножити:[/b] \n" +"[codeblock] \n" "var attachment = RDPipelineColorBlendStateAttachment.new()\n" -"attachment.enable_blend = істина\n" -"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_DST_COLOR\n" -"attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ZERO\n" -"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_DST_ALPHA\n" -"attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ZERO\n" -"[/codeblock]\n" -"[b]Попередньо помножена альфа:[/b]\n" -"[кодовий блок]\n" +"attachment.enable_blend = ture \n" +"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_DST_COLOR \n" +"attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ZERO \n" +"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_DST_ALPHA \n" +"attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ZERO \n" +"[/codeblock] \n" +"[b]Попередньо помножена альфа:[/b] \n" +"[codeblock] \n" "var attachment = RDPipelineColorBlendStateAttachment.new()\n" -"attachment.enable_blend = істина\n" -"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD\n" -"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" +"attachment.enable_blend = ture \n" +"attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD \n" +"attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" "attachment.dst_color_blend_factor = RenderingDevice." -"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA\n" -"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE\n" +"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA \n" +"attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE \n" "attachment.dst_alpha_blend_factor = RenderingDevice." -"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA\n" +"BLEND_FACTOR_ONE_MINUS_SRC_ALPHA \n" "[/codeblock]" msgid "" @@ -134245,22 +135060,23 @@ msgid "" "negative, as most other methods in Godot assume that the [member position] is " "the top-left corner, and the [member end] is the bottom-right corner." msgstr "" -"Повертає [Rect2], еквівалентний цьому прямокутника, з його шириною і висотою " -"модифіковані, щоб бути негативними значеннями, а з його [пам'ятним " -"положенням] є верхній лівий кут прямокутника.\n" -"[блоки коду]\n" -"[видання]\n" -"var рект = Рект2(25, 25, -100, -50)\n" -"var абсолютний = ct.abs() # абсолютний Rect2(-75, -25, 100, 50)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rect = новий Rect2(25, 25, -100, -50);\n" -"var абсолютний = ct.Abs(); // абсолютний Rect2(-75, -25, 100, 50)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] Рекомендується використовувати цей метод, коли [пам'ятний " -"розмір] є негативним, оскільки більшість інших методів в Godot припускають, " -"що [пам'ятна позиція] є верхній кут, а [пам'ятний кінець] - нижній кут." +"Повертає [Rect2], еквівалентний цьому прямокутнику, з його шириною та " +"висотою, зміненими на невід’ємні значення, а [member position] — верхнім " +"лівим кутом прямокутника. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var rect = Rect2(25, 25, -100, -50) \n" +"var absolute = rect.abs() # absolute це Rect2(-75, -25, 100, 50) \n" +"[/gdscript] \n" +"[csharp] \n" +"var rect = new Rect2(25, 25, -100, -50); \n" +"var absolute = rect.Abs(); // абсолютним є Rect2(-75, -25, 100, 50) \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] Рекомендується використовувати цей метод, коли [member size] " +"має від’ємне значення, оскільки більшість інших методів у Godot припускають, " +"що [member position] — це верхній лівий кут, а [member end] — нижній правий " +"кут." msgid "" "Returns [code]true[/code] if this rectangle [i]completely[/i] encloses the " @@ -134287,21 +135103,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає копію цього прямокутника, розширеного для вирівнювання країв з " -"наведеною [парою до] точки, при необхідності.\n" -"[блоки коду]\n" -"[видання]\n" -"var рект = Рект2(0, 0, 5, 2)\n" +"Повертає копію цього прямокутника, розгорнуту для вирівнювання країв із " +"заданою точкою [param to], якщо необхідно. \n" +"[кодові блоки] \n" +"[gdscript] \n" +"var rect = Rect2(0, 0, 5, 2) \n" "\n" -"Рект2(0, 0, 10, 2)\n" -"Рект2(-5, 0, 15, 5)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rect = новий Rect2(0, 0, 5, 2);\n" +"rect = rect.expand(Vector2(10, 0)) # rect це Rect2(0, 0, 10, 2) \n" +"rect = rect.expand(Vector2(-5, 5)) # rect is Rect2(-5, 0, 15, 5) \n" +"[/gdscript] \n" +"[csharp] \n" +"var rect = new Rect2(0, 0, 5, 2); \n" "\n" -"ct = ct.Expand(new Vector2(10, 0)); // ct is Rect2(0, 0, 10, 2)\n" -"ректор = рект2(-5, 0, 15, 5)\n" -"[/csharp]\n" +"rect = rect.Expand(new Vector2(10, 0)); // rect є Rect2(0, 0, 10, 2) \n" +"rect = rect.Expand(new Vector2(-5, 5)); // rect є Rect2(-5, 0, 15, 5) \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -134342,18 +135158,19 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає копію цього прямокутника, розширеного з усіх сторін, наведених " -"[параметра]. Негатив [параметра] усаджує прямокутник замість. Дивись також " -"[метод вирощування_individual] і [метод вирощування_side].\n" -"[блоки коду]\n" -"[видання]\n" -"var a = Rect2(4, 8, 8).grow(4) # це Rect2(0, 0, 16, 16)\n" -"var b = Rect2(0, 0, 8, 4).grow(2) # б є Rect2(-2, -2, 12, 8)\n" -"[/gdscript]\n" -"[csharp]\n" -"var a = новий Rect2(4, 8, 8).Grow(4); // is Rect2(0, 0, 16, 16)\n" -"var b = новий Rect2(0, 0, 8, 4).Grow(2); // b є Rect2(-2, -2, 12, 8)\n" -"[/csharp]\n" +"Повертає копію цього прямокутника, подовженого з усіх боків на заданий " +"параметр [кількість параметрів]. Натомість від’ємне значення [кількість " +"параметрів] зменшує прямокутник. Дивіться також [method grow_individual] і " +"[method grow_side]. \n" +"[codeblocks]\n" +"[gdscript]\n" +"var a = Rect2(4, 4, 8, 8).grow(4) # a is Rect2(0, 0, 16, 16) \n" +"var b = Rect2(0, 0, 8, 4).grow(2) # b це Rect2(-2, -2, 12, 8) \n" +"[/gdscript] \n" +"[csharp] \n" +"var a = new Rect2(4, 4, 8, 8).Grow(4); // a є Rect2(0, 0, 16, 16) \n" +"var b = new Rect2(0, 0, 8, 4).Grow(2); // b є Rect2(-2, -2, 12, 8) \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -134416,24 +135233,24 @@ msgid "" "[b]Note:[/b] If you only need to know whether two rectangles are overlapping, " "use [method intersects], instead." msgstr "" -"Повертає перехрестя цього прямокутника і [парам б]. Якщо прямокутники не " -"перетинаються, повертає порожній [Rect2].\n" -"[блоки коду]\n" -"[видання]\n" -"var rct1 = Rect2(0, 0, 5, 10)\n" -"var rct2 = Rect2(2, 0, 8, 4)\n" +"Повертає перетин між цим прямокутником і [param b]. Якщо прямокутники не " +"перетинаються, повертає порожній [Rect2]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"змінна rect1 = Rect2(0, 0, 5, 10) \n" +"змінна rect2 = Rect2(2, 0, 8, 4) \n" "\n" -"var a = rect1.intersection(rect2) # це Rect2(2, 0, 3, 4)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rct1 = новий Rect2(0, 0, 5, 10);\n" -"var rct2 = новий Rect2(2, 0, 8, 4);\n" +"var a = rect1.intersection(rect2) # a is Rect2(2, 0, 3, 4) \n" +"[/gdscript] \n" +"[csharp] \n" +"var rect1 = new Rect2(0, 0, 5, 10); \n" +"var rect2 = new Rect2(2, 0, 8, 4); \n" "\n" -"var a = ct1.Інтерсекція(rect2); // is Rect2(2, 0, 3, 4)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Якщо вам потрібно знати, чи перекриваються два прямокутника, " -"скористайтеся [методичними засобами], замість цього." +"var a = rect1.Intersection(rect2); // a є Rect2(2, 0, 3, 4) \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] Якщо вам потрібно лише знати, чи накладаються два " +"прямокутники, натомість використовуйте [method intersects]." msgid "" "Returns [code]true[/code] if this rectangle overlaps with the [param b] " @@ -134612,22 +135429,23 @@ msgid "" "negative, as most other methods in Godot assume that the [member position] is " "the top-left corner, and the [member end] is the bottom-right corner." msgstr "" -"Повертає [Rect2i], еквівалентний цьому прямокутника, з його шириною і висотою " -"модифіковані, щоб бути негативними значеннями, а з його [пам'ятним " -"положенням] є верхній лівий кут прямокутника.\n" -"[блоки коду]\n" -"[видання]\n" -"var рект = Rect2i(25, 25, -100, -50)\n" -"var абсолютний = ct.abs() # абсолютний Rect2i(-75, -25, 100, 50)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rect = новий Rect2I(25, 25, -100, -50);\n" -"var абсолютний = ct.Abs(); // абсолютний Rect2I(-75, -25, 100, 50)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Рекомендовано використовувати цей метод, коли [пам'ятий " -"розмір] є негативним, оскільки більшість інших методів в Godot припускають, " -"що [пам'ятна позиція] є верхній лівий кут, а [пам'ятний кінець] - нижній кут." +"Повертає [Rect2i], еквівалентний цьому прямокутнику, з його шириною та " +"висотою, зміненими на невід’ємні значення, а його [member position] — верхнім " +"лівим кутом прямокутника. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var rect = Rect2i(25, 25, -100, -50) \n" +"var absolute = rect.abs() # absolute це Rect2i(-75, -25, 100, 50) \n" +"[/gdscript] \n" +"[csharp] \n" +"var rect = new Rect2I(25, 25, -100, -50); \n" +"var absolute = rect.Abs(); // абсолютним є Rect2I(-75, -25, 100, 50) \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] Рекомендується використовувати цей метод, коли [member size] " +"має від’ємне значення, оскільки більшість інших методів у Godot припускають, " +"що [member position] — це верхній лівий кут, а [member end] — нижній правий " +"кут." msgid "" "Returns [code]true[/code] if this [Rect2i] completely encloses another one." @@ -134651,21 +135469,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає копію цього прямокутника, розширеного для вирівнювання країв з " -"наведеною [парою до] точки, при необхідності.\n" -"[блоки коду]\n" -"[видання]\n" -"var ректор = Rect2i(0, 0, 5, 2)\n" +"Повертає копію цього прямокутника, розгорнуту для вирівнювання країв із " +"заданою точкою [param to], якщо необхідно. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var rect = Rect2i(0, 0, 5, 2) \n" "\n" -"рект2і(0, 0, 10, 2)\n" -"рект2і(-5, 0, 15, 5)\n" -"[/gdscript]\n" -"[csharp]\n" -"var rect = новий Rect2I(0, 0, 5, 2);\n" +"rect = rect.expand(Vector2i(10, 0)) # rect це Rect2i(0, 0, 10, 2) \n" +"rect = rect.expand(Vector2i(-5, 5)) # rect це Rect2i(-5, 0, 15, 5) \n" +"[/gdscript] \n" +"[csharp] \n" +"var rect = new Rect2I(0, 0, 5, 2); \n" "\n" -"рект = рект2І, 0, 10, 2)\n" -"рект = рект2І(-5, 0, 15, 5)\n" -"[/csharp]\n" +"rect = rect.Expand(new Vector2I(10, 0)); // rect це Rect2I(0, 0, 10, 2) \n" +"rect = rect.Expand(new Vector2I(-5, 5)); // rect це Rect2I(-5, 0, 15, 5) \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -134694,18 +135512,19 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає копію цього прямокутника, розширеного з усіх сторін, наведених " -"[параметра]. Негатив [параметра] усаджує прямокутник замість. Дивись також " -"[метод вирощування_individual] і [метод вирощування_side].\n" -"[блоки коду]\n" -"[видання]\n" -"var a = Rect2i(4, 8, 8).grow(4) # це Rect2i(0, 0, 16, 16)\n" -"var б = Rect2i(0, 0, 8, 4).grow(2) # б є Rect2i(-2, -2, 12, 8)\n" -"[/gdscript]\n" -"[csharp]\n" -"var a = новий Rect2I(4, 8, 8).Grow(4); // is Rect2I(0, 0, 16, 16)\n" -"var b = новий Rect2I(0, 0, 8, 4).Grow(2); // b є Rect2I(-2, -2, 12, 8)\n" -"[/csharp]\n" +"Повертає копію цього прямокутника, подовженого з усіх боків на заданий " +"параметр [кількість параметрів]. Натомість від’ємне значення [кількість " +"параметрів] зменшує прямокутник. Дивіться також [method grow_individual] і " +"[method grow_side]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var a = Rect2i(4, 4, 8, 8).grow(4) # a is Rect2i(0, 0, 16, 16) \n" +"var b = Rect2i(0, 0, 8, 4).grow(2) # b це Rect2i(-2, -2, 12, 8) \n" +"[/gdscript] \n" +"[csharp] \n" +"var a = new Rect2I(4, 4, 8, 8).Grow(4); // a є Rect2I(0, 0, 16, 16) \n" +"var b = new Rect2I(0, 0, 8, 4).Grow(2); // b є Rect2I(-2, -2, 12, 8) \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -134740,24 +135559,24 @@ msgid "" "[b]Note:[/b] If you only need to know whether two rectangles are overlapping, " "use [method intersects], instead." msgstr "" -"Повертає перехрестя цього прямокутника і [парам б]. Якщо прямокутники не " -"перетинаються, повертає порожній [Rect2i].\n" -"[блоки коду]\n" -"[видання]\n" -"var a = Rect2i(0, 0, 5, 10)\n" -"var б = Rect2i(2, 0, 8, 4)\n" +"Повертає перетин між цим прямокутником і [param b]. Якщо прямокутники не " +"перетинаються, повертає порожній [Rect2i]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var a = Rect2i(0, 0, 5, 10) \n" +"var b = Rect2i(2, 0, 8, 4) \n" "\n" -"var c = a.intersection(b) # c is Rect2i(2, 0, 3, 4)\n" -"[/gdscript]\n" -"[csharp]\n" -"var a = новий Rect2I(0, 0, 5, 10);\n" -"var b = новий Rect2I(2, 0, 8, 4);\n" +"var c = a.intersection(b) # c is Rect2i(2, 0, 3, 4) \n" +"[/gdscript] \n" +"[csharp] \n" +"var a = new Rect2I(0, 0, 5, 10); \n" +"var b = new Rect2I(2, 0, 8, 4); \n" "\n" -"var c = ct1.Інтерсекція(rect2); // c is Rect2I(2, 0, 3, 4)\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] Якщо вам потрібно знати, чи перекриваються два прямокутники, " -"використовуйте [методичний інтерсекції], а не." +"var c = rect1.Intersection(rect2); // c є Rect2I(2, 0, 3, 4) \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] Якщо вам потрібно лише знати, чи накладаються два " +"прямокутники, натомість використовуйте [method intersects]." msgid "" "Returns [code]true[/code] if this rectangle overlaps with the [param b] " @@ -135294,7 +136113,7 @@ msgstr "" "var regex = RegEx.new() \n" "regex.compile(\"\\\\w-(\\\\d+)\") \n" "var result = regex.search(\"abc n-0123\") \n" -"якщо результат: \n" +"if result: \n" " print(result.get_string()) # Виведе n-0123 \n" "[/codeblock] \n" "Результати захоплення груп [code]()[/code] можна отримати, передавши номер " @@ -135306,9 +136125,9 @@ msgstr "" "однакові назви, це ім’я стосуватиметься лише першої групи з відповідністю. \n" "[codeblock] \n" "var regex = RegEx.new() \n" -"regex.compile(\"d(?<цифра>[0-9]+)|x(?<цифра>[0-9a-f]+)\") \n" -"var result = regex.search(\"число є x2f\") \n" -"якщо результат: \n" +"regex.compile(\"d(?[0-9]+)|x(?[0-9a-f]+)\") \n" +"var result = regex.search(\"number is x2f\") \n" +"if result: \n" " print(result.get_string(\"digit\")) # Виведе 2f \n" "[/codeblock] \n" "Якщо вам потрібно обробити кілька результатів, [метод search_all] генерує " @@ -135316,7 +136135,7 @@ msgstr "" "[code]for[/code] для зручності. \n" "[codeblock] \n" "для результату в regex.search_all(\"d01, d03, d0c, x3f і x42\"): \n" -" print(result.get_string(\"цифра\")) \n" +" print(result.get_string(\"number\")) \n" "# Надрукував би 01 03 0 3f 42 \n" "[/codeblock] \n" "[b]Приклад: [/b] Розділити рядок за допомогою регулярного виразу: \n" @@ -135835,13 +136654,13 @@ msgstr "" "ресурсами, ви можете налаштувати такі параметри, як [member ProjectSettings." "rendering/rendering_device/staging_buffer/block_size_kb], щоб покращити " "швидкість передачі за рахунок додаткової пам’яті. \n" -"[codeblock] \n" +"[codeblock \n" "func _buffer_get_data_callback(масив): \n" " значення = array.decode_u32(0) \n" "\n" "...\n" "\n" -"rd.buffer_get_data_async(буфер, _buffer_get_data_callback) \n" +"rd.buffer_get_data_async(buffer, _buffer_get_data_callback) \n" "[/codeblock]" msgid "" @@ -135915,30 +136734,31 @@ msgid "" "rd.compute_list_end()\n" "[/codeblock]" msgstr "" -"Почати список команд, створених за допомогою методів [code]compute_*[/code]. " -"Повернуте значення повинно бути передано іншим параметрам " -"[code]compute_list_*[/code].\n" -"Багаторазові переліки не можуть бути створені одночасно, ви повинні закінчити " -"попередній список компрацій спочатку за допомогою [метод_list_end].\n" -"Проста операція компute може виглядати так (код не повний приклад):\n" -"[блокування коду]\n" -"var rd = RenderingDevice.new()\n" -"var compute_list = rd.compute_list_begin()\n" +"Запускає список обчислювальних команд, створених за допомогою методів " +"[code]compute_*[/code]. Повернене значення має бути передано до інших функцій " +"[code]compute_list_*[/code]. \n" +"Кілька списків обчислень не можна створити одночасно; ви повинні спочатку " +"завершити попередній список обчислень за допомогою [метод " +"compute_list_end]. \n" +"Проста обчислювальна операція може виглядати так (код не є повним " +"прикладом): \n" +"[codeblock] \n" +"var rd = RenderingDevice.new() \n" +"var compute_list = rd.compute_list_begin() \n" "\n" "rd.compute_list_bind_compute_pipeline(compute_list, " -"compute_shader_dilate_pipeline)\n" -"rd.compute_list_bind_uniform_set(compute_list, compute_base_uniform_set, 0 " -"р.\n" -"rd.compute_list_bind_uniform_set(compute_list, dilate_uniform_set, 1 час\n" +"compute_shader_dilate_pipeline) \n" +"rd.compute_list_bind_uniform_set(compute_list, compute_base_uniform_set, 0) \n" +"rd.compute_list_bind_uniform_set(compute_list, dilate_uniform_set, 1) \n" "\n" -"для i в atlas_slices:\n" -"rd.compute_list_set_push_constant(compute_list, push_constant, push_constant." -"size())\n" -"rd.compute_list_dispatch(compute_list, група_size.x, група_size.y, група_size." -"z)\n" -"# Не бар'єр, нехай вони працюють разом.\n" +"for i в atlas_slices: \n" +" rd.compute_list_set_push_constant(compute_list, push_constant, " +"push_constant.size()) \n" +" rd.compute_list_dispatch(compute_list, group_size.x, group_size.y, " +"group_size.z) \n" +" # Без бар'єру, нехай біжать усі разом. \n" "\n" -"rd.compute_list_end()\n" +"rd.compute_list_end() \n" "[/codeblock]" msgid "" @@ -136114,14 +136934,14 @@ msgstr "" "Проста операція малювання може виглядати так (код не є повним прикладом): \n" "[codeblock] \n" "var rd = RenderingDevice.new() \n" -"var clear_colors = PackedColorArray([Колір(0, 0, 0, 0), Колір(0, 0, 0, 0), " -"Колір(0, 0, 0, 0)]) \n" +"var clear_colors = PackedColorArray([Color(0, 0, 0, 0), Color(0, 0, 0, 0), " +"Color(0, 0, 0, 0)]) \n" "var draw_list = rd.draw_list_begin(framebuffers[i], RenderingDevice." "CLEAR_COLOR_ALL, clear_colors, true, 1.0f, true, 0, Rect2(), RenderingDevice." "OPAQUE_PASS) \n" "\n" "# Малювати непрозоро. \n" -"rd.draw_list_bind_render_pipeline(список малюнків, растровий конвеєр) \n" +"rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline) \n" "rd.draw_list_bind_uniform_set(draw_list, raster_base_uniform, 0) \n" "rd.draw_list_set_push_constant(draw_list, raster_push_constant, " "raster_push_constant.size()) \n" @@ -136692,6 +137512,17 @@ msgstr "" "Після закінчення з вашим RID ви хочете звільнити RID за допомогою методу " "RenderingDevice [метод Free_rid]." +msgid "" +"Creates a new index buffer. It can be accessed with the RID that is " +"returned.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingDevice's [method free_rid] method." +msgstr "" +"Створює новий буфер індексу. До нього можна отримати доступ за допомогою RID, " +"який повертається.\n" +"Після завершення роботи з вашим RID ви захочете звільнити RID за допомогою " +"методу RenderingDevice [method free_rid]." + msgid "" "Returns the value of the specified [param limit]. This limit varies depending " "on the current graphics hardware (and sometimes the driver version). If the " @@ -137144,12 +137975,12 @@ msgstr "" "block_size_kb], щоб покращити швидкість передачі за рахунок додаткової " "пам’яті. \n" "[codeblock] \n" -"func _texture_get_data_callback(масив): \n" -" значення = array.decode_u32(0) \n" +"func _texture_get_data_callback(array): \n" +" valve = array.decode_u32(0) \n" "\n" "...\n" "\n" -"rd.texture_get_data_async(текстура, 0, _texture_get_data_callback) \n" +"rd.texture_get_data_async(texture, 0, _texture_get_data_callback) \n" "[/codeblock]" msgid "Returns the data format used to create this texture." @@ -137297,6 +138128,17 @@ msgstr "" "[b]Примітка:[/b] В даний час [param текстура] вимагає [constant " "TEXTURE_USAGE_CAN_UPDATE_BIT] бути застарілим." +msgid "" +"Creates a new uniform buffer. It can be accessed with the RID that is " +"returned.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingDevice's [method free_rid] method." +msgstr "" +"Створює новий однорідний буфер. До нього можна отримати доступ за допомогою " +"RID, який повертається.\n" +"Після завершення роботи з вашим RID ви захочете звільнити RID за допомогою " +"методу RenderingDevice [method free_rid]." + msgid "" "Creates a new uniform set. It can be accessed with the RID that is returned.\n" "Once finished with your RID, you will want to free the RID using the " @@ -137317,6 +138159,15 @@ msgstr "" "Створює хребтовий масив на основі зазначених буферів. Для кожного буфера може " "бути визначений варіант [param offsets] (в байтах)." +msgid "" +"It can be accessed with the RID that is returned.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingDevice's [method free_rid] method." +msgstr "" +"До нього можна отримати доступ за допомогою RID, який повертається.\n" +"Після завершення роботи з вашим RID ви захочете звільнити RID за допомогою " +"методу RenderingDevice [method free_rid]." + msgid "" "Creates a new vertex format with the specified [param vertex_descriptions]. " "Returns a unique vertex format ID corresponding to the newly created vertex " @@ -139905,6 +140756,48 @@ msgstr "" "Індекс буфера в 32-bit не позначений формат цілого. Цей ліміт максимального " "індексу, який можна вказати на [code]4294967295[/code]." +msgid "" +"Optionally, set this flag if you wish to use [method " +"buffer_get_device_address] functionality. You must first check the GPU " +"supports it:\n" +"[codeblocks]\n" +"[gdscript]\n" +"rd = RenderingServer.get_rendering_device()\n" +"\n" +"if rd.has_feature(RenderingDevice.SUPPORTS_BUFFER_DEVICE_ADDRESS):\n" +" storage_buffer = rd.storage_buffer_create(bytes.size(), bytes, " +"RenderingDevice.STORAGE_BUFFER_USAGE_SHADER_DEVICE_ADDRESS):\n" +" storage_buffer_address = rd.buffer_get_device_address(storage_buffer)\n" +"[/gdscript]\n" +"[/codeblocks]" +msgstr "" +"Додатково встановіть цей прапорець, якщо ви бажаєте використовувати функцію " +"[method buffer_get_device_address]. Ви повинні спочатку перевірити, чи GPU це " +"підтримує: \n" +"[codeblocks] \n" +"[gdscript] \n" +"rd = RenderingServer.get_rendering_device() \n" +"\n" +"if rd.has_feature(RenderingDevice.SUPPORTS_BUFFER_DEVICE_ADDRESS): \n" +" storage_buffer = rd.storage_buffer_create(bytes.size(), bytes, " +"RenderingDevice.STORAGE_BUFFER_USAGE_SHADER_DEVICE_ADDRESS): \n" +" store_buffer_address = rd.buffer_get_device_address(storage_buffer) \n" +"[/gdscript] \n" +"[/codeblocks]" + +msgid "" +"Set this flag so that it is created as storage. This is useful if Compute " +"Shaders need access (for reading or writing) to the buffer, e.g. skeletal " +"animations are processed in Compute Shaders which need access to vertex " +"buffers, to be later consumed by vertex shaders as part of the regular " +"rasterization pipeline." +msgstr "" +"Установіть цей прапорець, щоб він створювався як сховище. Це корисно, якщо " +"Compute Shaders потребує доступу (для читання чи запису) до буфера, " +"наприклад. скелетні анімації обробляються в Compute Shaders, яким потрібен " +"доступ до вершинних буферів, щоб пізніше використовуватися вершинними " +"шейдерами як частина звичайного конвеєра растеризації." + msgid "Sampler uniform." msgstr "Зразок форма." @@ -140955,21 +141848,23 @@ msgid "" "sensitivity)) / log(2)\n" "[/codeblock]" msgstr "" -"Встановлює значення впливу, які будуть використані рендерами. Сума " -"нормалізації використовується для запікання заданого значення Exposure (EV) " -"на надання розрахунків для зменшення динамічного діапазону сцени.\n" -"Фактор нормалізації може бути розрахований з значення впливу (EV100) " -"наступним чином:\n" -"[блокування коду]\n" -"Func get_exposure_normalization(ev100: float):\n" -"Зворотній зв'язок 1.0 / (pow(2.0, ev100) * 1.2)\n" -"[/codeblock]\n" -"Вартість експозиції може бути розрахована з апертури (в f-stops), швидкості " -"затвору (в секундах), а також чутливості (в ISO):\n" -"[блокування коду]\n" -"Func get_exposure(aperture: float, lockter_speed: float, чутливість: float):\n" -"Журнал зворотнього зв'язку(апертура * апертура) / вимикач_speed * (100.0 / " -"чутливість)) / журнал(2)\n" +"Встановлює значення експозиції, які використовуватимуться рендерерами. " +"Величина нормалізації використовується для включення заданого значення " +"експозиції (EV) у обчислення візуалізації для зменшення динамічного діапазону " +"сцени. \n" +"Коефіцієнт нормалізації можна розрахувати за значенням експозиції (EV100) " +"наступним чином: \n" +"[codeblock] \n" +"func get_exposure_normalization(ev100: float): \n" +" return 1,0 / (pow(2,0, ev100) * 1,2) \n" +"[/codeblock] \n" +"Значення експозиції можна розрахувати на основі діафрагми (у діафрагмах), " +"витримки (у секундах) і чутливості (у ISO) таким чином: \n" +"[codeblock] \n" +"func get_exposure(aperture: float, shutter_speed: float, sensitivity: " +"float): \n" +" return log((aperture * aperture) / shutter_speed * (100,0 / " +"sensitivity)) / log(2) \n" "[/codeblock]" msgid "" @@ -142378,23 +143273,25 @@ msgid "" "get_rendering_info(RENDERING_INFO_TOTAL_DRAW_CALLS_IN_FRAME))\n" "[/codeblock]" msgstr "" -"Повертає статистику про рендеринговий двигун, який може використовуватися для " -"профілювання продуктивності. Див. [enum RenderingServer.RenderingInfo] для " -"списку значень, які можна переробити. Дивись також [Метод " -"переглядупорт_get_render_info], який повертає інформацію, специфічну для " -"перегляду порту.\n" -"[b]Note:[/b] Тільки 3D рендеринг в даний час враховує деякі ці значення, такі " -"як число викликів.\n" -"[b]Note:[/b] Рендерингова інформація не доступна до мінімуму 2 кадри, які " -"були передані двигуном. [code]0[/code]. Щоб друкувати інформацію про " -"рендерингу в [code]_ready()[/code], скористайтеся наступним чином:\n" -"[блокування коду]\n" -"Func _ready():\n" -"для _i в 2:\n" -"Ознайомитись з посиланням на сторінку [xml.tar.bz2]\n" +"Повертає статистику про механізм візуалізації, який можна використовувати для " +"профілювання продуктивності. Перегляньте [enum RenderingServer.RenderingInfo] " +"для списку значень, які можна запитувати. Дивіться також [метод " +"viewport_get_render_info], який повертає інформацію, специфічну для вікна " +"перегляду. \n" +"[b]Примітка: [/b] Лише 3D-візуалізація наразі враховується деякими з цих " +"значень, наприклад, кількістю викликів малювання. \n" +"[b]Примітка.[/b] Інформація про візуалізацію недоступна, доки механізм не " +"відтворить принаймні 2 кадри. Якщо інформація про візуалізацію недоступна, " +"[метод get_rendering_info] повертає [code]0[/code]. Щоб успішно надрукувати " +"інформацію про візуалізацію в [code]_ready()[/code], використовуйте " +"наступне: \n" +"[codeblock] \n" +"func _ready(): \n" +" for _i в 2: \n" +" await get_tree().process_frame \n" "\n" -"Друк (RenderingServer." -"get_rendering_info(RENDERING_INFO_TOTAL_DRAW_CALLS_IN_FRAME))\n" +" print(RenderingServer." +"get_rendering_info(RENDERING_INFO_TOTAL_DRAW_CALLS_IN_FRAME)) \n" "[/codeblock]" msgid "Returns the parameters of a shader." @@ -142432,7 +143329,7 @@ msgstr "" "var texture_rid = RenderingServer.get_test_texture() \n" "var texture = ImageTexture.create_from_image(RenderingServer." "texture_2d_get(texture_rid)) \n" -"$Sprite2D.texture = текстура \n" +"$Sprite2D.texture = texture \n" "[/codeblock]" msgid "" @@ -142521,7 +143418,7 @@ msgstr "" "var texture_rid = RenderingServer.get_white_texture() \n" "var texture = ImageTexture.create_from_image(RenderingServer." "texture_2d_get(texture_rid)) \n" -"$Sprite2D.texture = текстура \n" +"$Sprite2D.texture = texture \n" "[/codeblock]" msgid "" @@ -143378,19 +144275,19 @@ msgstr "" "від того, проіндексована вона чи ні, буфер містить 5 цілих чисел, останнє з " "яких не використовується, якщо сітка не проіндексована. \n" "Кожне зі значень у буфері відповідає цим параметрам: \n" -"[codeblock lang=text] \n" -"Індексовано: \n" -" 0 - indexCount; \n" -" 1 - instanceCount; \n" -" 2 - першийіндекс; \n" -" 3 - вершинаЗміщення; \n" -" 4 - першаінстанція; \n" -"Неіндексовані: \n" -" 0 - кількість вершин; \n" -" 1 - instanceCount; \n" -" 2 - першавершина; \n" -" 3 - першаінстанція; \n" -" 4 - невикористаний; \n" +"[codeblock lang=text]\n" +"Indexed:\n" +" 0 - indexCount;\n" +" 1 - instanceCount;\n" +" 2 - firstIndex;\n" +" 3 - vertexOffset;\n" +" 4 - firstInstance;\n" +"Non Indexed:\n" +" 0 - vertexCount;\n" +" 1 - instanceCount;\n" +" 2 - firstVertex;\n" +" 3 - firstInstance;\n" +" 4 - unused;\n" "[/codeblock]" msgid "Returns the custom AABB defined for this MultiMesh resource." @@ -144478,7 +145375,7 @@ msgstr "" "var texture_rid = RenderingServer.get_test_texture() \n" "var texture = ImageTexture.create_from_image(RenderingServer." "texture_2d_get(texture_rid)) \n" -"$Sprite2D.texture = текстура \n" +"$Sprite2D.texture = texture \n" "[/codeblock]" msgid "" @@ -144595,21 +145492,6 @@ msgstr "" "і оригінальна текстура. Якщо необхідно використовувати різну ширину, висоту, " "глибину або формат, скористайтеся [методичними_замінними]." -msgid "" -"Creates a texture based on a native handle that was created outside of " -"Godot's renderer.\n" -"[b]Note:[/b] If using the rendering device renderer, using [method " -"RenderingDevice.texture_create_from_extension] rather than this method is " -"recommended. It will give you much more control over the texture's format and " -"usage." -msgstr "" -"Створює текстуру на основі власного маркера, створеного поза рендерером " -"Годо. \n" -"[b]Примітка.[/b] Якщо використовується рендерер пристрою рендеринга, " -"рекомендується використовувати [method RenderingDevice." -"texture_create_from_extension] замість цього методу. Це дасть вам набагато " -"більше контролю над форматом і використанням текстури." - msgid "Returns the format for the texture." msgstr "Повертає формат текстури." @@ -144800,27 +145682,31 @@ msgid "" " )\n" "[/codeblock]" msgstr "" -"Повертає статистику про рендеринговий двигун, який може використовуватися для " -"профілювання продуктивності. Цей відокремлений на рендерний прохід [param " -"type]s, кожен з них має однакову [param info], ви можете переробити (різні " -"паси повернеться різними значеннями). Див. [enum RenderingServer." -"ViewportRenderInfoType] для списку типів рендерів та [enum RenderingServer." -"ViewportRender Інформація\n" -"Дивись також [method get_rendering_info], яка повертає глобальну інформацію " -"по всьому світу.\n" -"[b]Примітка:[/b] Перегляд інформації, що надає інформацію, не доступний до " -"мінімуму 2 кадри. [code]0[/code]. Щоб друкувати інформацію про рендерингу в " -"[code]_ready()[/code], скористайтеся наступним чином:\n" -"[блокування коду]\n" -"Func _ready():\n" -"для _i в 2:\n" -"Ознайомитись з посиланням на сторінку [xml.tar.bz2]\n" +"Повертає статистику про механізм візуалізації, який можна використовувати для " +"профілювання продуктивності. Це розділено на проходи візуалізації [тип " +"параметрів], кожен з яких має однакові [інформація про параметри], які ви " +"можете запитувати (різні проходи повертатимуть різні значення). Перегляньте " +"[enum RenderingServer.ViewportRenderInfoType], щоб отримати список типів " +"пропуску візуалізації, і [enum RenderingServer.ViewportRenderInfo], щоб " +"отримати список інформації, яку можна запитати. \n" +"Дивіться також [метод get_rendering_info], який повертає глобальну інформацію " +"для всіх вікон перегляду. \n" +"[b]Примітка.[/b] Інформація про візуалізацію вікна перегляду недоступна, доки " +"механізм не відтворить принаймні 2 кадри. Якщо інформація про візуалізацію " +"недоступна, [метод viewport_get_render_info] повертає [code]0[/code]. Щоб " +"успішно надрукувати інформацію про візуалізацію в [code]_ready()[/code], " +"використовуйте наступне: \n" +"[codeblock] \n" +"func _ready(): \n" +" for _i в 2: \n" +" await get_tree().process_frame \n" "\n" -"друк()\n" -"RenderingServer.viewport_get_render_info(get_viewport().get_viewport_rid(),\n" -"RenderingServer.VIEWPORT_RENDER_INFO_TYPE_VISIBLE,\n" -"RenderingServer.VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME)\n" -"й\n" +" print ( \n" +" RenderingServer.viewport_get_render_info(get_viewport()." +"get_viewport_rid(), \n" +" RenderingServer.VIEWPORT_RENDER_INFO_TYPE_VISIBLE, \n" +" RenderingServer.VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME) \n" +" ) \n" "[/codeblock]" msgid "Returns the render target for the viewport." @@ -147020,6 +147906,59 @@ msgstr "Вкажіть конкретну [Color] для навколишньо msgid "Disable reflections." msgstr "Вимкнути відбиття." +msgid "" +"A simple tonemapping curve that rolls off bright values to prevent clipping. " +"This results in an image that can appear dull and low contrast. Slower than " +"[constant ENV_TONE_MAPPER_LINEAR].\n" +"[b]Note:[/b] When [member Environment.tonemap_white] is left at the default " +"value of [code]1.0[/code], [constant ENV_TONE_MAPPER_REINHARD] produces an " +"identical image to [constant ENV_TONE_MAPPER_LINEAR]." +msgstr "" +"Проста крива відображення тону, яка зменшує яскраві значення, щоб запобігти " +"відсіканню. Це призводить до того, що зображення може виглядати тьмяним і " +"низькоконтрастним. Повільніше, ніж [константа ENV_TONE_MAPPER_LINEAR]. \n" +"[b]Примітка.[/b] Якщо [member Environment.tonemap_white] залишити значенням " +"за замовчуванням [code]1.0[/code], [константа ENV_TONE_MAPPER_REINHARD] " +"створює зображення, ідентичне [константі ENV_TONE_MAPPER_LINEAR]." + +msgid "" +"Uses a film-like tonemapping curve to prevent clipping of bright values and " +"provide better contrast than [constant ENV_TONE_MAPPER_REINHARD]. Slightly " +"slower than [constant ENV_TONE_MAPPER_REINHARD]." +msgstr "" +"Використовує плівкову криву відображення тонів, щоб запобігти відсіканню " +"яскравих значень і забезпечити кращий контраст, ніж [постійний " +"ENV_TONE_MAPPER_REINHARD]. Трохи повільніше, ніж [константа " +"ENV_TONE_MAPPER_REINHARD]." + +msgid "" +"Uses a high-contrast film-like tonemapping curve and desaturates bright " +"values for a more realistic appearance. Slightly slower than [constant " +"ENV_TONE_MAPPER_FILMIC].\n" +"[b]Note:[/b] This tonemapping operator is called \"ACES Fitted\" in Godot 3.x." +msgstr "" +"Використовує висококонтрастну криву відтворення тонів, подібну до плівки, і " +"зменшує насиченість яскравих значень для більш реалістичного вигляду. Трохи " +"повільніше, ніж [константа ENV_TONE_MAPPER_FILMIC]. \n" +"[b]Примітка: [/b] Цей оператор тонального відображення називається «ACES " +"Fitted» у Godot 3.x." + +msgid "" +"Uses a film-like tonemapping curve and desaturates bright values for a more " +"realistic appearance. Better than other tonemappers at maintaining the hue of " +"colors as they become brighter. The slowest tonemapping option.\n" +"[b]Note:[/b] [member Environment.tonemap_white] is fixed at a value of " +"[code]16.29[/code], which makes [constant ENV_TONE_MAPPER_AGX] unsuitable for " +"use with the Mobile rendering method." +msgstr "" +"Використовує плівкову криву відображення тонів і зменшує насиченість яскравих " +"значень для більш реалістичного вигляду. Краще, ніж інші картографи тонів, " +"підтримує відтінок кольорів, коли вони стають яскравішими. Найповільніший " +"варіант тонального відображення. \n" +"[b]Примітка.[/b] [member Environment.tonemap_white] має значення [code]16.29[/" +"code], що робить [константу ENV_TONE_MAPPER_AGX] непридатною для використання " +"з методом візуалізації Mobile." + msgid "" "Lowest quality of roughness filter for screen-space reflections. Rough " "materials will not have blurrier screen-space reflections compared to smooth " @@ -148257,10 +149196,10 @@ msgstr "" "[codeblock] \n" "розширює ресурс \n" "\n" -"був збиток = 0 \n" +"var damage = 0 \n" "\n" "func _setup_local_to_scene(): \n" -" пошкодження = randi_range(10, 40) \n" +" damage = randi_range(10, 40) \n" "[/codeblock]" msgid "" @@ -148897,17 +149836,17 @@ msgid "" "にちは」男は言いました\n" "[/codeblock]" msgstr "" -"Товарні значення є простим форматом зберігання тексту. Простота формата " -"дозволяє легко редагувати будь-який текстовий редактор або роздрукувати " -"програмне забезпечення. Це робить його загальним вибором для локалізації " -"ігор.\n" -"[b]Example CSV файл:[/b]\n" -"[codeblock lang=text]\n" -"ключі,en,es,ja\n" -"GREET, \"Привіт, друг!\", \"Hola, amigo!\",\n" -"ASK,Як ви? ,Cómo está?, 元気ですか\n" -"BYE,Goodbye,Адіоз,\n" -"QUOTE,\"\"Hello\" - сказав чоловік.\", \"Hola\" dijo el hombre.\",\n" +"Значення, розділені комами, є форматом зберігання звичайної текстової " +"таблиці. Простота формату дозволяє легко редагувати його в будь-якому " +"текстовому редакторі чи програмному забезпеченні для роботи з електронними " +"таблицями. Це робить його поширеним вибором для локалізації гри. \n" +"[b]Приклад файлу CSV:[/b] \n" +"[codeblock lang=text] \n" +"ключі,en,es,ja \n" +"ПРИВІТАННЯ, «Привіт, друже!», «Hola, amigo!», Привіт \n" +"ЗАПИТАЙТЕ,Як справи?,Як справи? \n" +"BYE, Goodbye, Goodbye \n" +"ЦИТАТА,\"Привіт\", - сказав чоловік.\",\"Hola\" dijo el hombre.\" \n" "[/codeblock]" msgid "Importing translations" @@ -151282,25 +152221,25 @@ msgid "" "[RichTextEffect], it will continuously process the effect unless the project " "is paused. This may impact battery life negatively." msgstr "" -"Призначений для користувача ефект [RichTextLabel], який можна завантажити в " -"інспекторі [RichTextLabel] або за допомогою [метод RichTextLabel." -"install_effect].\n" -"[b]Note:[/b] Для [RichTextEffect], щоб бути зрозумілим, тег BBCode повинен " -"бути визначений як змінний учасник, який називається [code]bbcode[/code] в " -"скрипті.\n" -"[блоки коду]\n" -"[Електронний запис]\n" -"Нема `[example]Some text[/example]`\n" -"код товару:\n" -"[/gdscript]\n" -"[csharp Skip-lint]\n" -"(Українська) `[example]Some text[/example]`\n" -"string bbcode = \"example\";\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Як тільки [RichTextLabel] містить принаймні один " -"[RichTextEffect], він буде безперервно обробляти ефект, якщо проект збуджена. " -"Це може негативно вплинути на життя акумулятора." +"Спеціальний ефект для [RichTextLabel], який можна завантажити в інспекторі " +"[RichTextLabel] або за допомогою [методу RichTextLabel.install_effect]. \n" +"[b]Примітка:[/b] Щоб використовувати [RichTextEffect], тег BBCode має бути " +"визначений як змінна-член під назвою [code]bbcode[/code] у сценарії. \n" +"[codeblocks] \n" +"[gdscript skip-lint] \n" +"# RichTextEffect можна буде використовувати так: `[example]Деякий текст[/" +"example]` \n" +"var bbcode = \"example\" \n" +"[/gdscript] \n" +"[csharp skip-lint] \n" +"// RichTextEffect можна буде використовувати так: `[example]Деякий текст[/" +"example]` \n" +"рядок bbcode = \"example\"; \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка: [/b] Щойно [RichTextLabel] містить принаймні один " +"[RichTextEffect], він безперервно оброблятиме ефект, якщо проект не " +"призупинено. Це може негативно вплинути на термін служби акумулятора." msgid "RichTextEffect test project (third-party)" msgstr "Тестовий проект RichTextEffect (сторонній)" @@ -151598,7 +152537,7 @@ msgstr "" "Ви можете додати власні пункти меню або видалити стандартні. Переконайтеся, " "що ваші ідентифікатори не конфліктують зі стандартними (див. [enum " "MenuItems]). Наприклад:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "func _ready():\n" " var menu = get_menu()\n" @@ -151606,12 +152545,12 @@ msgstr "" " menu.remove_item(MENU_SELECT_ALL)\n" " # Додайте спеціальні елементи.\n" " menu.add_separator()\n" -" menu.add_item(\"Дублікат тексту\", MENU_MAX + 1)\n" +" menu.add_item(\"Duplicate Text\", MENU_MAX + 1)\n" " # Підключити зворотній дзвінок.\n" " menu.id_pressed.connect(_on_item_pressed)\n" "\n" "func _on_item_pressed(id):\n" -" якщо id == MENU_MAX + 1:\n" +" if id == MENU_MAX + 1:\n" " add_text(\"\\n\" + get_parsed_text())\n" "[/gdscript]\n" "[csharp]\n" @@ -151622,7 +152561,7 @@ msgstr "" " menu.RemoveItem(RichTextLabel.MenuItems.SelectAll);\n" " // Додати власні елементи.\n" " menu.AddSeparator();\n" -" menu.AddItem(\"Дублікат тексту\", RichTextLabel.MenuItems.Max + 1);\n" +" menu.AddItem(\"Duplicate Text\", RichTextLabel.MenuItems.Max + 1);\n" " // Додати обробник події.\n" " menu.IdPressed += OnItemPressed;\n" "}\n" @@ -151752,9 +152691,9 @@ msgstr "" "дійсним [RichTextEffect]. \n" "[b]Приклад:[/b] З таким сценарієм, що походить від [RichTextEffect]: \n" "[codeblock] \n" -"# effect.gd \n" +"# ефект.gd \n" "class_name MyCustomEffect \n" -"розширює ефект RichTextEffect \n" +"extends RichTextEffect \n" "\n" "var bbcode = \"my_custom_effect\" \n" "\n" @@ -151763,14 +152702,14 @@ msgstr "" "Наведений вище ефект можна встановити в [RichTextLabel] зі сценарію: \n" "[codeblock] \n" "# rich_text_label.gd \n" -"розширює RichTextLabel \n" +"extends RichTextLabel \n" "\n" "func _ready(): \n" " install_effect(MyCustomEffect.new()) \n" "\n" " # Альтернативно, якщо не використовується `class_name` у сценарії, який " "розширює RichTextEffect: \n" -" install_effect(попереднє завантаження(\"res://effect.gd\").новий()) \n" +" install_effect(preload(\"res://effect.gd\").new()) \n" "[/codeblock]" msgid "Invalidates [param paragraph] and all subsequent paragraphs cache." @@ -152219,25 +153158,25 @@ msgid "" "[/gdscript]\n" "[/codeblocks]" msgstr "" -"Випробувано, коли користувач натискає на вміст між тегами мета (URL). Якщо " -"мета визначається в Бі-Біоді, наприклад, [код пропустити-lint][url={\"key\": " -"\"value\"}]Text[/url][/code], то параметр для цього сигналу завжди буде " -"[String] типу. Якщо потрібен конкретний тип або об'єкт, [метод] повинен бути " -"використаний для вручну вставки даних в мітку. Крім того, ви можете " -"конвертувати вхід [String] до потрібного типу на основі його вмісту " -"(наприклад, виклик [метод JSON.parse] на ньому).\n" -"Наприклад, наступний метод може бути підключений до [signal meta_clicked], " -"щоб відкрити натискані URL-адреси за допомогою веб-браузера за замовчуванням " -"користувача:\n" -"[блоки коду]\n" -"[видання]\n" -"Нема Цей припускає сигнал RichTextLabel's `meta_clicked` підключений до\n" -"# функція нижче за допомогою діалогу з'єднання сигналів.\n" -"Func _richtextlabel_on_meta_clicked(meta):\n" -"# `meta` є Variant type, тому перетворюйте його до String, щоб уникнути " -"помилок у скрипті в режимі 24/7.\n" -"OS.shell_open(str(мета))\n" -"[/gdscript]\n" +"Активується, коли користувач натискає вміст між мета-тегами (URL). Якщо мета " +"визначено в BBCode, напр. [code skip-lint][url={\"key\": \"value\"}]Текст[/" +"url][/code], тоді параметр для цього сигналу завжди матиме тип [String]. Якщо " +"потрібен певний тип або об’єкт, потрібно використовувати метод [method " +"push_meta], щоб вручну вставити дані в стек тегів. Крім того, ви можете " +"перетворити вхідні дані [String] у потрібний тип на основі його вмісту " +"(наприклад, виклик [method JSON.parse] для нього). \n" +"Наприклад, такий метод можна підключити до [signal meta_clicked], щоб " +"відкривати URL-адреси, за якими клацнув користувач, за допомогою веб-" +"переглядача за замовчуванням: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Це припускає, що сигнал `meta_clicked` RichTextLabel був підключений до \n" +"# функція нижче за допомогою діалогового вікна підключення сигналу. \n" +"func _richtextlabel_on_meta_clicked(meta): \n" +" # `meta` має тип Variant, тому перетворіть його на String, щоб уникнути " +"помилок сценарію під час виконання. \n" +" OS.shell_open(str(meta)) \n" +"[/gdscript] \n" "[/codeblocks]" msgid "Triggers when the mouse exits a meta tag." @@ -152792,36 +153731,37 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Момент інерції тіла. Це як маса, але для обертання: він визначає, скільки " -"крутного моменту потрібно обертати тіло. На даний момент інерції, як правило, " -"комп'ютеризований автоматично від маси і форми, але це властивість дозволяє " -"встановити індивідуальне значення.\n" -"Якщо встановити до [code]0[/code], інерція автоматично комп’ютерна (за " -"замовчуванням значення).\n" -"[b]Примітка:[/b] Це значення не змінюється, коли інерція автоматично " -"обчислюється. Використовуйте [PhysicsServer2D] для отримання комп’ютерної " -"інерції.\n" -"[блоки коду]\n" -"[видання]\n" -"@onready вар кулі = $Ball\n" +"Момент інерції тіла. Це як маса, але для обертання: вона визначає, який " +"крутний момент потрібен для обертання тіла. Момент інерції зазвичай " +"обчислюється автоматично на основі маси та форм, але ця властивість дозволяє " +"встановити власне значення. \n" +"Якщо встановлено значення [code]0[/code], інерція обчислюється автоматично " +"(значення за замовчуванням). \n" +"[b]Примітка.[/b] Це значення не змінюється, коли інерція обчислюється " +"автоматично. Використовуйте [PhysicsServer2D], щоб отримати обчислену " +"інерцію. \n" +"[codeblocks] \n" +"[gdscript] \n" +"@onready var ball = $Ball \n" "\n" -"Func get_ball_inertia():\n" -"Увійти 1.0 / PhysServer2D.body_get_direct_state(ball.get_rid())." -"inverse_inertia\n" -"[/gdscript]\n" -"[csharp]\n" -"Приватне RigidBody2D Футбол;\n" +"функція get_ball_inertia(): \n" +" return 1.0 / PhysicsServer2D.body_get_direct_state(ball.get_rid())." +"inverse_inertia \n" +"[/gdscript] \n" +"[csharp] \n" +"private RigidBody2D _ball;\n" "\n" -"public override _Читати()\n" -"Довідник\n" -"_ball = GetNode (\"Ball\");\n" -"Про нас\n" +"public override void _Ready() \n" +"{\n" +" _ball = GetNode(\"Ball\"); \n" +"}\n" "\n" -"приватний float GetBallInertia()\n" -"Довідник\n" -"Увійти 1.0f / PhysServer2D.BodyGetDirectState(_ball.GetRid()). Інверситет;\n" -"Про нас\n" -"[/csharp]\n" +"private float GetBallInertia() \n" +"{\n" +" return 1.0f / PhysicsServer2D.BodyGetDirectState(_ball.GetRid())." +"InverseInertia; \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -153234,35 +154174,37 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Момент інерції тіла. Це як маса, але для обертання: він визначає, скільки " -"крутного моменту потрібно обертати тіло на кожній осі. На даний момент " -"інерції, як правило, комп'ютеризований автоматично від маси і форми, але це " -"властивість дозволяє встановити індивідуальне значення.\n" -"Якщо встановити до [constant Vector3.ZERO], інерція автоматично комп’ютерна " -"(значення за замовчуванням).\n" -"[b]Примітка:[/b] Це значення не змінюється, коли інерція автоматично " -"обчислюється. Використовуйте [PhysicsServer3D] для отримання комп’ютерної " -"інерції.\n" -"[блоки коду]\n" -"[видання]\n" -"@onready вар кулі = $Ball\n" +"Момент інерції тіла. Це схоже на масу, але для обертання: воно визначає, який " +"крутний момент потрібен для обертання тіла навколо кожної осі. Момент інерції " +"зазвичай обчислюється автоматично на основі маси та форм, але ця властивість " +"дозволяє встановити власне значення. \n" +"Якщо встановлено значення [constant Vector3.ZERO], інерція обчислюється " +"автоматично (значення за замовчуванням). \n" +"[b]Примітка.[/b] Це значення не змінюється, коли інерція обчислюється " +"автоматично. Використовуйте [PhysicsServer3D], щоб отримати обчислену " +"інерцію. \n" +"[codeblocks] \n" +"[gdscript] \n" +"@onready var ball = $Ball \n" "\n" -"Func get_ball_inertia():\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"[/gdscript]\n" -"[csharp]\n" -"Приват24 Футбол;\n" +"функція get_ball_inertia(): \n" +" return PhysicsServer3D.body_get_direct_state(ball.get_rid())." +"inverse_inertia.inverse() \n" +"[/gdscript] \n" +"[csharp] \n" +"private RigidBody3D _ball;\n" "\n" -"public override _Читати()\n" -"Довідник\n" -"_ball = GetNode (\"Ball\");\n" -"Про нас\n" +"public override void _Ready() \n" +"{\n" +" _ball = GetNode(\"Ball\"); \n" +"}\n" "\n" -"приватний Вектор3 GetBallInertia()\n" -"Довідник\n" -"JavaScript licenses API Веб-сайт InverseInertia.Inverse();\n" -"Про нас\n" -"[/csharp]\n" +"private Vector3 GetBallInertia() \n" +"{\n" +" return PhysicsServer3D.BodyGetDirectState(_ball.GetRid()).InverseInertia." +"Inverse(); \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -154013,7 +154955,7 @@ msgstr "" "двигуном, і, таким чином, заряджається ігровою петлею." msgid "SceneTree" -msgstr "Секс машини" +msgstr "SceneTree" msgid "" "Calls [param method] on each node inside this tree added to the given [param " @@ -154059,22 +155001,23 @@ msgid "" "[code]MethodName[/code] class to avoid allocating a new [StringName] on each " "call." msgstr "" -"Виклики вказаного [param метод] на кожному вершині всередині цього дерева " -"додано до даної [param group]. Використовуйте [param прапорці] для " -"налаштування поведінки цього способу (див. [enum GroupCallFlags]). Додаткові " -"аргументи для [param метод] можуть бути передані в кінці цього методу. " -"Відсутні випадки, які не можуть викликати [параметровий метод] (наприклад, " -"метод не існує або аргументи не відповідають) ігноруються.\n" -"[блокування коду]\n" -"Нема Дзвінки \"приховати\" до всіх вузлів групи \"повідомості\", в кінці " -"рамки і в зворотному порядку дерева.\n" -".call_group_flags()\n" -"СценаТрій.GROUP_CALL_DEFERRED HOME PAGE CATALOG WIDGETS СТАТИСТИКА\n" -"\"Анемії\", \"Приховати\")\n" -"[/codeblock]\n" -"[b]Note:[/b] У C# [param метод] повинні бути в змії_case при зверненні до " -"вбудованих методів Godot. За допомогою імен, виставлених в [code]MethodName[/" -"code] класу, щоб уникнути виділення нового [StringName] на кожному дзвінку." +"Викликає вказаний [метод param] для кожного вузла всередині цього дерева, " +"доданого до заданої [param group]. Використовуйте [param flags], щоб " +"налаштувати поведінку цього методу (див. [enum GroupCallFlags]). Додаткові " +"аргументи для [param method] можна передати в кінці цього методу. Вузли, які " +"не можуть викликати [param method] (через те, що метод не існує або аргументи " +"не збігаються), ігноруються. \n" +"[codeblock] \n" +"# Виклики «сховати» до всіх вузлів групи «вороги» в кінці кадру та у " +"зворотному порядку дерева. \n" +"get_tree().call_group_flags( \n" +" SceneTree.GROUP_CALL_FERRED | SceneTree.GROUP_CALL_REVERSE, \n" +" \"enemies\", \"hide\") \n" +"[/codeblock] \n" +"[b]Примітка.[/b] У C# [param method] має бути в snake_case, коли йдеться про " +"вбудовані методи Godot. Надавайте перевагу використанню назв, представлених у " +"класі [code]MethodName[/code], щоб уникнути виділення нового [StringName] під " +"час кожного виклику." msgid "" "Changes the running scene to the one at the given [param path], after loading " @@ -154164,38 +155107,40 @@ msgid "" "updates (or [method Node._physics_process] if [param process_in_physics] is " "set to [code]true[/code])." msgstr "" -"Повернення нового [SceneTreeTimer]. Після того, як [param time_sec] в " -"секундах пропущено, таймер випромінить [значний декорTreeTimer.timeout] і " -"буде автоматично звільнено.\n" -"Якщо [param process_always] є [code]false[/code], таймер буде псуватися при " -"встановленні [пам'ятний декорTree.paused] to [code]true[/code].\n" -"Якщо [param process_in_physics] є [code]true[/code], таймер буде оновлено в " -"кінці фізики кадру, замість технологічного каркасу.\n" -"Якщо [param ігнорувати_time_scale] є [code]true[/code], таймер ігноруватиме " -"[пам'ятний двигун.time_масштабний] і оновлення з реальним, клацнув час.\n" +"Повертає новий [SceneTreeTimer]. Після того, як мине [param time_sec] у " +"секундах, таймер видасть [сигнал SceneTreeTimer.timeout] і автоматично " +"звільниться. \n" +"Якщо [param process_always] має значення [code]false[/code], таймер буде " +"призупинено, коли для [member SceneTree.paused] встановлено значення " +"[code]true[/code]. \n" +"Якщо [param process_in_physics] має значення [code]true[/code], таймер " +"оновлюватиметься в кінці кадру фізики, а не кадру процесу. \n" +"Якщо [param ignore_time_scale] має значення [code]true[/code], таймер " +"ігноруватиме [member Engine.time_scale] і оновлюватиме реальний час, що " +"минув. \n" "Цей метод зазвичай використовується для створення одноразового таймера " -"затримки, як в наступному прикладі:\n" -"[блоки коду]\n" -"[видання]\n" -"Func some_function():\n" -"Друк(\"start\")\n" -"expect get_tree().create_timer(1.0).timeout\n" -"Друк(\"end\")\n" -"[/gdscript]\n" -"[csharp]\n" -"публічна асинхронна задача SomeFunction()\n" -"Довідник\n" -"GD.Print(\"start\");\n" -"expect ToSignal(GetTree().CreateTimer(1.0f), СценаTreeTimer.SignalName." -"Timeout);\n" -"GD.Print(\"end\");\n" -"Про нас\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] Таймер завжди оновлюється [i]після[/i] всі вершини в дереві. " -"Метод вузла [метод Node._process] буде викликаний до оновлення таймера (або " -"[метод Node._physics_process], якщо [param process_in_physics] встановлюється " -"до [code]true[/code])." +"затримки, як у наступному прикладі: \n" +"[codeblocks] \n" +"[gdscript] \n" +"func some_function(): \n" +" print(\"старт\") \n" +" await get_tree().create_timer(1.0).timeout \n" +" print(\"кінець\") \n" +"[/gdscript] \n" +"[csharp] \n" +"public async Task SomeFunction() \n" +"{\n" +" GD.Print(\"початок\"); \n" +" await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName." +"Timeout); \n" +" GD.Print(\"кінець\"); \n" +"}\n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] Таймер завжди оновлюється [i]після[/i] всіх вузлів у дереві. " +"Метод [method Node._process] вузла буде викликано перед оновленням таймера " +"(або [method Node._physics_process], якщо [param process_in_physics] має " +"значення [code]true[/code])." msgid "" "Creates and returns a new [Tween] processed in this tree. The Tween will " @@ -154654,34 +155599,34 @@ msgid "" "timer (or [method Node._physics_process] if [code]process_in_physics[/code] " "in [method SceneTree.create_timer] has been set to [code]true[/code])." msgstr "" -"Один разовий таймер, керований ялинкою, який випромінює [значний час] на " -"завершення. Дивись також [Method СценаTree.create_timer].\n" -"На відміну від [Timer], він не вимагає миттєвого повідомлення вузла. Зазвичай " -"використовується для створення одноразового таймера затримки в наступному " -"прикладі:\n" -"[блоки коду]\n" -"[видання]\n" -"Func some_function():\n" -"Друк(\"Почати роботу.\")\n" -"expect get_tree().create_timer(1.0).timeout\n" -"Друк(\"Timer закінчився.\")\n" -"[/gdscript]\n" -"[csharp]\n" -"публічна асинхронна задача SomeFunction()\n" -"Довідник\n" -"GD.Print(\"Почати роботу.\");\n" -"expect ToSignal(GetTree().CreateTimer(1.0f), СценаTreeTimer.SignalName." -"Timeout);\n" -"GD.Print(\"Timer закінчився.\");\n" -"Про нас\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Після того, як його час настає. Щоб зберегти таймер, ви можете зберегти " -"посилання на нього. Див. [Рефтинг].\n" -"[b]Note:[/b] Таймер обробляється після всіх вузлів в поточному кадрі, тобто " -"вершини [метод Node._process] буде викликано до таймера (або [метод Node." -"_physics_process], якщо [code]process_in_physics[/code] в [метод STee." -"create_timer] була встановлена до [code]true[/code]." +"Одноразовий таймер, керований деревом сцени, який видає [час очікування " +"сигналу] після завершення. Дивіться також [метод SceneTree.create_timer]. \n" +"На відміну від [Timer], він не вимагає створення екземпляра вузла. Зазвичай " +"використовується для створення одноразового таймера затримки, як у наступному " +"прикладі: \n" +"[codeblocks] \n" +"[gdscript] \n" +"func some_function(): \n" +" print(\"Таймер запущено.\") \n" +" awaitget_tree().create_timer(1.0).timeout \n" +" print(\"Таймер закінчився.\") \n" +"[/gdscript] \n" +"[csharp] \n" +"public async Task SomeFunction() \n" +"{\n" +" GD.Print(\"Таймер запущено.\"); \n" +" await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName." +"Timeout); \n" +" GD.Print(\"Таймер закінчився.\"); \n" +"}\n" +"[/csharp] \n" +"[/codeblocks] \n" +"Таймер буде розіменовано після закінчення часу. Щоб зберегти таймер, ви " +"можете зберегти посилання на нього. Див. [RefCounted]. \n" +"[b]Примітка:[/b] Таймер обробляється після всіх вузлів у поточному кадрі, " +"тобто метод [method Node._process] вузла буде викликано перед таймером (або " +"[method Node._physics_process], якщо для [code]process_in_physics[/code] у " +"[method SceneTree.create_timer] встановлено значення [code]true[/code])." msgid "The time remaining (in seconds)." msgstr "Час, що залишився (в секундах)." @@ -154738,23 +155683,24 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає назву класу, пов'язана з скриптом, якщо є один. Повертає порожній " -"рядок іншим чином.\n" -"Щоб надати скрипт глобальне ім'я, ви можете використовувати [code]class_name[/" -"code] ключове слово в GDScript і атрибут [code][GlobalClass][/code] в C#.\n" -"[блоки коду]\n" -"[видання]\n" -"Клас_name MyNode\n" -"Подовжувачі Нід\n" -"[/gdscript]\n" -"[csharp]\n" -"за допомогою Godot;\n" +"Повертає назву класу, пов’язану зі сценарієм, якщо вона є. В іншому випадку " +"повертає порожній рядок. \n" +"Щоб дати сценарію глобальне ім’я, ви можете використати ключове слово " +"[code]class_name[/code] у GDScript і атрибут [code][GlobalClass][/code] у " +"C#. \n" +"[codeblocks] \n" +"[gdscript] \n" +"ім'я_класу MyNode \n" +"extends Node \n" +"[/gdscript] \n" +"[csharp] \n" +"using Godot; \n" "\n" -"[GlobalClass]\n" -"публічний частковий клас MyNode : Node\n" -"Довідник\n" -"Про нас\n" -"[/csharp]\n" +"[GlobalClass] \n" +"public partial class MyNode : Node \n" +"{\n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "Returns the script's base type." @@ -154863,26 +155809,26 @@ msgid "" msgstr "" "[ScriptCreateDialog] створює файли сценаріїв відповідно до заданого шаблону " "для певної мови сценаріїв. Стандартним використанням є налаштування його " -"полів перед викликом одного з методів [method Window.popup].\n" -"[кодові блоки]\n" -"[gdscript]\n" -"func _ready():\n" -" var dialog = ScriptCreateDialog.new();\n" -" dialog.config(\"Node\", \"res://new_node.gd\") # Для вбудованих типів.\n" +"полів перед викликом одного з методів [method Window.popup]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _ready(): \n" +" var dialog = ScriptCreateDialog.new(); \n" +" dialog.config(\"Node\", \"res://new_node.gd\") # Для вбудованих типів. \n" " dialog.config(\"\\\"res://base_node.gd\\\"\", \"res://derived_node.gd\") " -"# Для типів скриптів.\n" -" dialog.popup_centered()\n" -"[/gdscript]\n" -"[csharp]\n" -"public override void _Ready()\n" +"# Для типів скриптів. \n" +" dialog.popup_centered() \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Ready() \n" "{\n" -" var dialog = new ScriptCreateDialog();\n" -" dialog.Config(\"Вузол\", \"res://NewNode.cs\"); // Для типів двигунів.\n" +" var dialog = new ScriptCreateDialog(); \n" +" dialog.Config(\"Вузол\", \"res://NewNode.cs\"); // Для типів двигунів. \n" " dialog.Config(\"\\\"res://BaseNode.cs\\\"\", \"res://DerivedNode." -"cs\"); // Для типів скриптів.\n" -" dialog.PopupCentered();\n" +"cs\"); // Для типів скриптів. \n" +" dialog.PopupCentered(); \n" "}\n" -"[/csharp]\n" +"[/csharp] \n" "[/codeblocks]" msgid "Prefills required fields to configure the ScriptCreateDialog for use." @@ -155316,13 +156262,13 @@ msgid "" " set_deferred(\"scroll_horizontal\", 600)\n" "[/codeblock]" msgstr "" -"Поточне горизонтальне значення прокрутки.\n" -"[b]Примітка:[/b] Якщо ви встановите це значення в функції [method Node." -"_ready] або раніше, його потрібно обгорнути [метод.set_deferred], так як " -"прокрутка bar [пам'ятний діапазон.max_value] ще не ініціюється.\n" -"[блокування коду]\n" -"Func _ready():\n" -"set_deferred(\"scroll_horizontal\", 600)\n" +"Поточне значення горизонтальної прокрутки. \n" +"[b]Примітка.[/b] Якщо ви встановлюєте це значення у функції [method Node." +"_ready] або раніше, його потрібно обернути [method Object.set_deferred], " +"оскільки [член Range.max_value] смуги прокрутки ще не ініціалізовано. \n" +"[codeblock] \n" +"func _ready(): \n" +" set_deferred(\"scroll_horizontal\", 600) \n" "[/codeblock]" msgid "" @@ -155343,12 +156289,12 @@ msgid "" " set_deferred(\"scroll_vertical\", 600)\n" "[/codeblock]" msgstr "" -"Поточна вертикальна вартість прокрутки.\n" -"[b]Примітка:[/b] Налаштуйте його ранні потреби, щоб бути відкладені, так " -"само, як і в [пам'яті scroll_horizontal].\n" -"[блокування коду]\n" -"Func _ready():\n" -"set_deferred(\"scroll_vertical\", 600)\n" +"Поточне значення вертикальної прокрутки. \n" +"[b]Примітка: [/b] Раннє налаштування потрібно відкласти, як і в [member " +"scroll_horizontal]. \n" +"[codeblock] \n" +"func _ready(): \n" +" set_deferred(\"scroll_vertical\", 600) \n" "[/codeblock]" msgid "" @@ -156370,20 +157316,20 @@ msgstr "" "code] для делегату. \n" "[codeblocks] \n" "[gdscript] \n" -"сигнал атаковано \n" +"signal attacked \n" "\n" "# Можуть бути оголошені додаткові аргументи. \n" "# Ці аргументи повинні бути передані під час випромінювання сигналу. \n" -"сигнал item_dropped(item_name, сума) \n" +"сигнал item_dropped(item_name, amount) \n" "[/gdscript] \n" "[csharp] \n" -"[Сигнал] \n" -"делегат void AttackedEventHandler(); \n" +"[Signal] \n" +"delegate void AttackedEventHandler(); \n" "\n" "// Можуть бути оголошені додаткові аргументи. \n" "// Ці аргументи мають бути передані, коли надходить сигнал. \n" -"[Сигнал] \n" -"делегат void ItemDroppedEventHandler(рядок itemName, int сума); \n" +"[Signal] \n" +"delegate void ItemDroppedEventHandler(рядок itemName, int amount); \n" "[/csharp] \n" "[/codeblocks]" @@ -156424,21 +157370,21 @@ msgid "" " print(button.name, \" was pressed\")\n" "[/codeblock]" msgstr "" -"Підключає цей сигнал до вказаного [пармовий виклик]. Додаткові [param " -"прапори] також можна додавати для налаштування поведінки з'єднання (див. " -"[enum Object.ConnectFlags]. Ви можете надати додаткові аргументи до " -"підключеного [пара, що викликається] за допомогою [метод Callable.bind].\n" -"сигнал може бути підключений тільки один раз до того ж [знімний]. Якщо сигнал " -"вже підключений, повертає [constant ERR_INVALID_PARAMETER] і відштовхує " -"повідомлення про помилку, якщо сигнал підключено до [constant Object. " -"КОННЕКТИ_РЕФЕРЕНЦІЯ_КОУНТОВАНО]. Для запобігання цього використовується " -"[метод_connected] для перевірки існуючих підключень.\n" -"[блокування коду]\n" -"для кнопки в $Buttons.get_ Kids():\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"Підключає цей сигнал до вказаного [param callable]. Також можна додати " +"необов’язкові [param flags], щоб налаштувати поведінку з’єднання (див. " +"константи [enum Object.ConnectFlags]). Ви можете надати додаткові аргументи " +"підключеному [param callable] за допомогою [method Callable.bind]. \n" +"Сигнал можна підключити лише один раз до одного [Callable]. Якщо сигнал уже " +"підключено, повертає [константа ERR_INVALID_PARAMETER] і надсилає " +"повідомлення про помилку, якщо сигнал не підключено до [константи Object." +"CONNECT_REFERENCE_COUNTED]. Щоб запобігти цьому, спочатку використовуйте " +"[method is_connected], щоб перевірити наявність підключень. \n" +"[codeblock] \n" +"from botton в $Buttons.get_children(): \n" +" button.pressed.connect(_on_pressed.bind(button)) \n" "\n" -"Func _on_pressed(button):\n" -"Друк(button.name, \"пресовано\")\n" +"func _on_pressed(botton): \n" +" print(button.name, \" було натиснуто\") \n" "[/codeblock]" msgid "" @@ -157049,36 +157995,36 @@ msgid "" "skeleton_ik_node.set_influence(0.0)\n" "[/codeblock]" msgstr "" -"SkeletonIK3D використовується для обертання всіх кісток [Skeleton3D] " -"кісткового ланцюжка, що розміщує кінцеву кістку за бажаним положенням 3D. " -"Типовий сценарій для IK в іграх полягає в тому, щоб розмістити ноги персонажа " -"на землі або руки персонажа на даний момент проведений об'єкт. SkeletonIK " -"використовує FabrikInverseKinematic внутрішньо для вирішення кісткового " -"ланцюжка і застосовує результати до [Skeleton3D] " -"[code]bones_global_pose_override[/code] властивість для всіх уражених кісток " -"в ланцюжку. Якщо повністю застосовано, це перезапускає будь-яку кісткову " -"трансформацію з [Анімація] або кісткову на замовлення пози, встановлену " -"користувачами. Нанесена сума може бути контрольована за допомогою [члена " -"SkeletonModifier3D.influence].\n" -"[блокування коду]\n" -"Нема Застосувати ефект IK автоматично на кожен новий кадр (не поточний)\n" -"English, Українська, Français...\n" +"SkeletonIK3D використовується для обертання всіх кісток ланцюга кісток " +"[Skeleton3D] таким чином, що кінцева кістка розміщується в бажаному 3D-" +"положенні. Типовий сценарій для IK в іграх полягає в тому, щоб покласти ноги " +"персонажа на землю або руки персонажа на предмет, який зараз тримається. " +"SkeletonIK використовує FabrikInverseKinematic внутрішньо для вирішення " +"ланцюжка кісток і застосовує результати до властивості [Skeleton3D] " +"[code]bones_global_pose_override[/code] для всіх уражених кісток у ланцюжку. " +"Якщо застосовано повністю, це перезаписує будь-яку трансформацію кістки з " +"[Анімація] або спеціальні пози кістки, встановлені користувачами. " +"Застосовувану кількість можна контролювати за допомогою властивості [member " +"SkeletonModifier3D.influence]. \n" +"[codeblock] \n" +"# Автоматично застосовувати ефект IK до кожного нового кадру (не поточного) \n" +"skeleton_ik_node.start() \n" "\n" -"Нема Наносити ефект IK тільки на поточний каркас\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"# Застосувати ефект IK лише до поточного кадру \n" +"skeleton_ik_node.start(true) \n" "\n" -"# Stop IK ефект і скидання кісток_global_pose_override на Skeleton\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"# Зупинити ефект IK і скинути bones_global_pose_override на Skeleton \n" +"skeleton_ik_node.stop() \n" "\n" -"Нема Застосування повного ефекту IK\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"# Застосуйте повний ефект IK \n" +"skeleton_ik_node.set_influence(1.0) \n" "\n" -"Нема Застосувати ефект пів IK\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"# Застосуйте ефект половини IK \n" +"skeleton_ik_node.set_influence(0,5) \n" "\n" -"Нема Застосувати нульовий ефект IK (вартість або нижче 0.01 також видаляє " -"кістки_global_pose_override на Skeleton)\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"# Застосувати нульовий ефект IK (значення 0,01 або менше також усуває " +"bones_global_pose_override на Skeleton) \n" +"skeleton_ik_node.set_influence(0.0) \n" "[/codeblock]" msgid "" @@ -158565,65 +159511,66 @@ msgstr "" "[SkeletonProfile] як стиль, оптимізований для людської форми. Це існує для " "стандартизації, тому всі параметри доступні лише для читання. \n" "Профіль скелета гуманоїда містить 54 кістки, розділені на 4 групи: " -"[code]\"Тіло\"[/code], [code]\"Обличчя\"[/code], [code]\"Ліва рука\"[/code] і " -"[code]\"Права рука\"[/code]. Він структурований таким чином: \n" +"[код]\"Тіло\"[/code], [код]\"Обличчя\"[/code], [код]\"Ліва рука\"[/code] і " +"[код]\"Права рука\"[/code]. Він структурований таким чином: \n" "[codeblock lang=text] \n" -"Корінь \n" -"└─ Стегна \n" -" ├─ Ліва верхня нога \n" -" │ └─ Ліва нижня нога \n" -" │ └─ Ліва нога \n" -" │ └─ Пальці лівої ноги \n" -" ├─ Права верхня нога \n" -" │ └─ Права нижня нога \n" -" │ └─ Права нога \n" -" │ └─ Праві пальці \n" -" └─ Хребет \n" -" └─ Скриня \n" -" └─ Верхня частина грудей \n" -" ├─ Шия \n" -" │ └─ Голова \n" -" │ ├─ Щелепа \n" -" │ ├─ Ліве Око \n" -" │ └─ Праве око \n" -" ├─ Ліве плече \n" -" │ └─ Ліва верхня рука \n" -" │ └─ Ліва нижня рука \n" -" │ └─ Лівша \n" -" │ ├─ лівий великий п'ястковий суглоб \n" -" │ │ └─ Проксимальний лівий великий палець \n" -" │ │ └─ Дистальний лівий великий палець \n" -" │ ├─ Лівий покажчикпроксимальний \n" -" │ │ └─ LeftIndexIntermediate \n" -" │ │ └─ Лівий вказівний дистальний \n" -" │ ├─ Ліва Середня Проксимальна \n" -" │ │ └─ Ліва Середня Проміжна \n" -" │ │ └─ ЛіваСередньодистальна \n" -" │ ├─ LeftRingProximal \n" -" │ │ └─ LeftRingIntermediate \n" -" │ │ └─ Ліве кільцеДистальний \n" -" │ └─ LeftLittleProximal \n" -" │ └─ LeftLittleIntermediate \n" -" │ └─ Ліва мала дистальна \n" -" └─ Праве плече \n" -" └─ Праве плече \n" -" └─ Права нижня рука \n" -" └─ Права рука \n" -" ├─ Правий великий п'ястковий відділ \n" -" │ └─ Проксимальний правий великий палець \n" -" │ └─ Дистальний правий великий палець \n" -" ├─ Правий вказівний проксимальний \n" -" │ └─ RightIndexIntermediate \n" -" │ └─ Правий вказівний дистальний \n" -" ├─ Правий Середній Проксимальний \n" -" │ └─ RightMiddleIntermediate \n" -" │ └─ Правосередньодистальний \n" -" ├─ RightRingProximal \n" -" │ └─ RightRingIntermediate \n" -" │ └─ RightRingDistal \n" -" └─ RightLittleProximal \n" -" └─ RightLittleIntermediate \n" -" └─ Правий малий дистальний \n" +"Root\n" +"└─ Hips\n" +" ├─ LeftUpperLeg\n" +" │ └─ LeftLowerLeg\n" +" │ └─ LeftFoot\n" +" │ └─ LeftToes\n" +" ├─ RightUpperLeg\n" +" │ └─ RightLowerLeg\n" +" │ └─ RightFoot\n" +" │ └─ RightToes\n" +" └─ Spine\n" +" └─ Chest\n" +" └─ UpperChest\n" +" ├─ Neck\n" +" │ └─ Head\n" +" │ ├─ Jaw\n" +" │ ├─ LeftEye\n" +" │ └─ RightEye\n" +" ├─ LeftShoulder\n" +" │ └─ LeftUpperArm\n" +" │ └─ LeftLowerArm\n" +" │ └─ LeftHand\n" +" │ ├─ LeftThumbMetacarpal\n" +" │ │ └─ LeftThumbProximal\n" +" │ │ └─ LeftThumbDistal\n" +" │ ├─ LeftIndexProximal\n" +" │ │ └─ LeftIndexIntermediate\n" +" │ │ └─ LeftIndexDistal\n" +" │ ├─ LeftMiddleProximal\n" +" │ │ └─ LeftMiddleIntermediate\n" +" │ │ └─ LeftMiddleDistal\n" +" │ ├─ LeftRingProximal\n" +" │ │ └─ LeftRingIntermediate\n" +" │ │ └─ LeftRingDistal\n" +" │ └─ LeftLittleProximal\n" +" │ └─ LeftLittleIntermediate\n" +" │ └─ LeftLittleDistal\n" +" └─ RightShoulder\n" +" └─ RightUpperArm\n" +" └─ RightLowerArm\n" +" └─ RightHand\n" +" ├─ RightThumbMetacarpal\n" +" │ └─ RightThumbProximal\n" +" │ └─ RightThumbDistal\n" +" ├─ RightIndexProximal\n" +" │ └─ RightIndexIntermediate\n" +" │ └─ RightIndexDistal\n" +" ├─ RightMiddleProximal\n" +" │ └─ RightMiddleIntermediate\n" +" │ └─ RightMiddleDistal\n" +" ├─ RightRingProximal\n" +" │ └─ RightRingIntermediate\n" +" │ └─ RightRingDistal\n" +" └─ RightLittleProximal\n" +" └─ RightLittleIntermediate\n" +" └─ RightLittleDistal\n" +"\n" "[/codeblock]" msgid "" @@ -160676,16 +161623,16 @@ msgstr "" "[b]Приклад:[/b] Визначити, чи було натиснуто Sprite2D: \n" "[codeblocks] \n" "[gdscript] \n" -"func _input(подія): \n" -" якщо подією є InputEventMouseButton і event.pressed і event.button_index " -"== MOUSE_BUTTON_LEFT: \n" +"func _input(event): \n" +" if event is InputEventMouseButton and event.pressed and event." +"button_index == MOUSE_BUTTON_LEFT: \n" " if get_rect().has_point(to_local(event.position)): \n" " print(\"Клац!\") \n" "[/gdscript] \n" "[csharp] \n" -"публічне перевизначення void _Input(InputEvent @event) \n" +"public override void _Input(InputEvent @event) \n" "{\n" -" якщо (@event є InputEventMouseButton inputEventMouse) \n" +" if (@event is InputEventMouseButton inputEventMouse) \n" " { \n" " if (inputEventMouse.Pressed && inputEventMouse.ButtonIndex == " "MouseButton.Left) \n" @@ -161085,15 +162032,15 @@ msgid "" "get_playing_speed]." msgstr "" "Повертає відносну тривалість кадру [param idx] в анімації [param anim] (за " -"замовчуванням to [code]1.0[/code]). Наприклад, рама з тривалістю [code]2.0[/" -"code] виводиться двічі до тих пір, як кадр з тривалістю [code]1.0[/code]. Ви " -"можете розрахувати абсолютну тривалість (в секундах) кадру за допомогою " -"наступної формули:\n" -"[блокування коду]\n" -"абсолютний_duration = відносна_duration / (анімація_fps * abs(play_speed)))\n" -"[/codeblock]\n" -"У цьому прикладі [code]playing_speed[/code] відноситься до або [метод " -"анімованихSprite2D.get_playing_speed] або [метод анімованихSprite3D." +"замовчуванням [code]1.0[/code]). Наприклад, кадр тривалістю [code]2.0[/code] " +"відображається вдвічі довший за кадр тривалістю [code]1.0[/code]. Ви можете " +"обчислити абсолютну тривалість (у секундах) кадру за такою формулою: \n" +"[codeblock] \n" +"absolute_duration = relative_duration / (animation_fps * " +"abs(playing_speed)) \n" +"[/codeblock] \n" +"У цьому прикладі [code]playing_speed[/code] стосується або [методу " +"AnimatedSprite2D.get_playing_speed], або [методу AnimatedSprite3D." "get_playing_speed]." msgid "" @@ -161433,17 +162380,17 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Постав нульовий перевизнаний ASCII рядок в потік, попередньо підготовлений 32-" -"розрядним цілим, що представляє його розмір.\n" -"[b]Примітка:[/b] Щоб покласти рядок ASCII без попереднього закінчення його " -"розміру, ви можете використовувати [метод кладки_data]:\n" -"[блоки коду]\n" -"[видання]\n" -"Теги: \"Hello world\"\n" -"[/gdscript]\n" -"[csharp]\n" -"PutData(\"Hello World\".ToAsciiBuffer());\n" -"[/csharp]\n" +"Розміщує рядок ASCII із нульовим завершенням у потік, перед яким ставиться 32-" +"розрядне ціле число без знаку, що представляє його розмір. \n" +"[b]Примітка.[/b] Щоб розмістити рядок ASCII без додавання його розміру, ви " +"можете використати [метод put_data]: \n" +"[codeblocks] \n" +"[gdscript] \n" +"put_data(\"Hello, world\".to_ascii_buffer()) \n" +"[/gdscript] \n" +"[csharp] \n" +"PutData(\"Hello World\".ToAsciiBuffer()); \n" +"[/csharp] \n" "[/codeblocks]" msgid "Puts an unsigned byte into the stream." @@ -161472,17 +162419,17 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Постав нульовий termind UTF-8 рядок в потік, попередньо підготовлений 32 " -"бітами, не позначений ціле, що представляє його розмір.\n" -"[b]Примітка:[/b] Щоб покласти рядок UTF-8 без попередньої обробки його " -"розміру, ви можете використовувати [метод клацання_data]:\n" -"[блоки коду]\n" -"[видання]\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"[/gdscript]\n" -"[csharp]\n" -"PutData(\"Hello World\".ToUtf8Buffer());\n" -"[/csharp]\n" +"Розміщує рядок UTF-8 із нульовим завершенням у потік із 32-бітовим цілим " +"числом без знаку, що представляє його розмір. \n" +"[b]Примітка.[/b] Щоб розмістити рядок UTF-8 без додавання його розміру, ви " +"можете використати [метод put_data]: \n" +"[codeblocks] \n" +"[gdscript] \n" +"put_data(\"Hello world\".to_utf8_buffer()) \n" +"[/gdscript] \n" +"[csharp] \n" +"PutData(\"Hello World\".ToUtf8Buffer()); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -161834,10 +162781,10 @@ msgid "" "\"up\", \"p!\"]\n" "[/codeblock]" msgstr "" -"Повертає масив, що містить масиви (пари послідовних символів) цього рядка.\n" -"[блокування коду]\n" -"Друк(\"Get up!\".bigrams() # Друки [\"Ge\", \"et\", \"t \", u\", \"up\", \"p!" -"\"]\n" +"Повертає масив, що містить біграми (пари послідовних символів) цього рядка.\n" +"[codeblock]\n" +"print(\"Вставай!\".bigrams()) # Виводить [\"Ge\", \"et\", \"t \", \" u\", " +"\"up\", \"p!\"]\n" "[/codeblock]" msgid "" @@ -161857,20 +162804,20 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Перетворює рядок, що представляє бінарний номер в [int]. string може бути " -"попередньофіксовано [code]\"0b\"[/code], а також додаткове [code]-[/code] " -"префікс для негативних чисел.\n" -"[блоки коду]\n" -"[видання]\n" -"Друк(\"101.bin_to_int()) # Друки 5\n" -"Друк(\"0b101.bin_to_int()) # Друки 5\n" -"Друк(\"-0b10.bin_to_int() # Друки -2\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.Print(\"101.BinToInt()); // Друк 5\n" -"GD.Print(\"0b101\".BinToInt()); // Друк 5\n" -"GD.Print(\"-0b10.BinToInt()); // Друки -2\n" -"[/csharp]\n" +"Перетворює рядок, що представляє двійкове число, на [int]. Рядок може " +"додатково мати префікс [code]\"0b\"[/code] і додатковий префікс [code]-[/" +"code] для від’ємних чисел. \n" +"[codeblocks] \n" +"[gdscript] \n" +"print(\"101\".bin_to_int()) # Виводить 5 \n" +"print(\"0b101\".bin_to_int()) # Виводить 5 \n" +"print(\"-0b10\".bin_to_int()) # Виводить -2 \n" +"[/gdscript] \n" +"[csharp] \n" +"GD.Print(\"101\".BinToInt()); // Виводить 5 \n" +"GD.Print(\"0b101\".BinToInt()); // Виводить 5 \n" +"GD.Print(\"-0b10\".BinToInt()); // Виводить -2 \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -161913,21 +162860,21 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Змінює зовнішній вигляд рядка: замінює низи ([code]_[/code]) з пробілами, " -"додає пробіли перед літерами верхнього регістру в середині слова, перетворює " -"всі літери в нижній регістр, потім перетворює перший і кожен наступний " -"простір у верхній частині.\n" -"[блоки коду]\n" -"[видання]\n" -"\"move_local_x\".capitalize() # Повернутися до \"Move Local X\"\n" -"\"sceneFile_path\".capitalize() # Повертає \"Scene File Path\"\n" -"\"2D, FPS, PNG\".capitalize() # Повертає \"2d, Fps, Png\"\n" -"[/gdscript]\n" -"[csharp]\n" -"\"move_local_x\".Capitalize(); // Повертає \"Мове місцеве X\"\n" -"\"sceneFile_path.Capitalize(); // Повертає \"Швидкий шлях файлу\"\n" -"\"2D, FPS, PNG\".Капіталізація(); // Повертає \"2d, Fps, Png\"\n" -"[/csharp]\n" +"Змінює зовнішній вигляд рядка: замінює підкреслення ([code]_[/code]) " +"пробілами, додає пробіли перед великими літерами в середині слова, перетворює " +"всі літери на малі, потім перетворює першу та кожну наступну за пробілом у " +"верхній регістр. \n" +"[codeblocks] \n" +"[gdscript] \n" +"\"move_local_x\".capitalize() # Повертає \"Move Local X\" \n" +"\"sceneFile_path\".capitalize() # Повертає \"Шлях до файлу сцени\" \n" +"\"2D, FPS, PNG\".capitalize() # Повертає \"2D, FPS, PNG\" \n" +"[/gdscript] \n" +"[csharp] \n" +"\"move_local_x\".Capitalize(); // Повертає \"Move Local X\" \n" +"\"sceneFile_path\".Capitalize(); // Повертає \"Шлях до файлу сцени\" \n" +"\"2D, FPS, PNG\". Capitalize(); // Повертає \"2d, Fps, Png\" \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -161964,13 +162911,12 @@ msgid "" "print(String.chr(129302)) # Prints \"🤖\" (robot face emoji)\n" "[/codeblock]" msgstr "" -"Повертає єдиний символ Unicode від десяткового [параметра]. Ви можете " +"Повертає один символ Unicode з десяткового дробу [param char]. Ви можете " "використовувати [url=https://unicodelookup.com/]unicodelookup.com[/url] або " -"[url=https://www.unicode.org/charts/]unicode.org[/url] у вигляді точок " -"посилання.\n" -"[блокування коду]\n" -"Друк(String.chr(65)) # Друки \"A\"\n" -"Друк(String.chr(129302)) # Друки \"🤖\" (робота обличчя смайлики)\n" +"[url=https://www.unicode.org/charts/]unicode.org[/url] як точки відліку. \n" +"[codeblock] \n" +"print(String.chr(65)) # Виводить \"A\" \n" +"print(String.chr(129302)) # Друкує \"🤖\" (емодзі обличчя робота) \n" "[/codeblock]" msgid "" @@ -162115,28 +163061,28 @@ msgid "" "what], use [method contains]. In GDScript, you may also use the [code]in[/" "code] operator." msgstr "" -"Повертає індекс [b]перший[/b] поява [пам'яті чого] в цьому рядку, або " -"[code]-1[/code], якщо немає. Початок пошуку можна вказати за допомогою " -"[param], що триває до кінця рядка.\n" -"[блоки коду]\n" -"[видання]\n" -"Друк(\"Team.find(\"I\") # Друки -1\n" +"Повертає індекс [b]першої[/b] появи [param what] у цьому рядку або [code]-1[/" +"code], якщо їх немає. Початок пошуку можна вказати за допомогою [param from], " +"продовжуючи до кінця рядка. \n" +"[codeblocks] \n" +"[gdscript] \n" +"print(\"Команда\".find(\"Я\")) # Виводить -1 \n" "\n" -"Друк( \"Potato\".find(\"t\") # Друк 2\n" -"Друк(\"Potato\".find(\"t\", 3) # Друк 4\n" -"Друк( \"Potato\".find(\"t, 5) # Друки -1\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.Print(\"Team\".Find(\"I\")); // Друки -1\n" +"print(\"Картопля\".find(\"t\")) # Виводить 2 \n" +"print(\"Картопля\".find(\"t\", 3)) # Виводить 4 \n" +"print(\"Картопля\".find(\"t\", 5)) # Виводить -1 \n" +"[/gdscript] \n" +"[csharp] \n" +"GD.Print(\"Команда\".Знайти(\"Я\")); // Виводить -1 \n" "\n" -"GD.Print(\"Potato\".Find(\"t\")); // Друк 2\n" -"GD.Print(\"Potato\".Find(\"t\", 3)); // Друк 4\n" -"GD.Print(\"Potato\".Find(\"t\", 5)); // Друк -1\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Примітка:[/b] Якщо ви просто хочете дізнатися, чи містить рядок [пара, " -"що], скористайтеся [метод містить]. У GDScript ви також можете скористатися " -"оператором [code] в [/code]." +"GD.Print(\"Картопля\".Знайти(\"t\")); // Друкує 2 \n" +"GD.Print(\"Картопля\".Знайти(\"t\", 3)); // Друкує 4 \n" +"GD.Print(\"Картопля\".Знайти(\"t\", 5)); // Виводить -1 \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка:[/b] Якщо ви просто хочете знати, чи містить рядок [param what], " +"використовуйте [method contains]. У GDScript ви також можете використовувати " +"оператор [code]in[/code]." msgid "" "Returns the index of the [b]first[/b] [b]case-insensitive[/b] occurrence of " @@ -162205,31 +163151,30 @@ msgstr "" "[param values] може бути [Dictionary], [Array] або [Object]. Будь-які " "підкреслення в [param placeholder] будуть заздалегідь замінені відповідними " "ключами. Елементи масиву використовують свій індекс як ключі. \n" -"[кодовий блок] \n" +"[codeblock] \n" "# Друкує «Чекаючи на Годо» — це п’єса Семюеля Беккета, на честь якої названо " "двигун Годо». \n" -"var use_array_values = \"Очікування {0} - це п'єса {1}, і {0} Engine названо " -"на її честь.\" \n" -"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"])) \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" "# Виводить «Користувач 42 — Годо». \n" -"print(\"Користувач {id} — {name}.\".format({\"id\": 42, \"name\": " -"\"Godot\"})) \n" +"print(\"User {id} — {name}.\".format({\"id\": 42, \"name\": \"Godot\"})) \n" "[/codeblock] \n" "Деяка додаткова обробка виконується, коли [param values] є [Array]. Якщо " "[param placeholder] не містить підкреслення, елементи масиву [param values] " "будуть використані для заміни одного входження заповнювача в порядку; Якщо " "елемент [param values] є іншим 2-елементним масивом, він інтерпретуватиметься " "як пара ключ-значення. \n" -"[кодовий блок] \n" +"[codeblock] \n" "# Виводить «Користувач 42 — Годо». \n" -"print(\"Користувач {} - {}.\".format([42, \"Godot\"], \"{}\")) \n" -"print(\"Користувач {id} — {ім'я}.\".format([[\"id\", 42], [\"name\", " +"print(\"User {} - {}.\".format([42, \"Godot\"], \"{}\")) \n" +"print(\"User {id} — {name}.\".format([[\"id\", 42], [\"name\", " "\"Godot\"]])) \n" "[/codeblock] \n" "Під час передачі [Object] імена властивостей із [method Object." "get_property_list] використовуються як ключі. \n" -"[кодовий блок] \n" +"[codeblock] \n" "# Виводить \"Visible true, position (0, 0)\" \n" "var node = Node2D.new() \n" "print(\"Visible {visible}, position {position}\".format(node)) \n" @@ -162242,7 +163187,7 @@ msgstr "" "наступною заміною. Хоча це може бути дуже корисним, воно часто призводить до " "неочікуваних результатів. Якщо це не потрібно, переконайтеся, що елементи " "[param values] не містять заповнювачів. \n" -"[кодовий блок] \n" +"[codeblock] \n" "print(\"{0} {1}\".format([\"{1}\", \"x\"])) # Виводить \"x x\" \n" "print(\"{0} {1}\".format([\"x\", \"{0}\"])) # Виводить \"x {0}\" \n" "print(\"{a} {b}\".format({\"a\": \"{b}\", \"b\": \"c\"})) # Виводить \"c " @@ -162261,9 +163206,10 @@ msgid "" "to\"\n" "[/codeblock]" msgstr "" -"Якщо рядок є правильним файлом, повертає назву бази каталогу.\n" -"[блокування коду]\n" -"var dir_path = \"/path/to/file.txt\".get_base_dir() # dir_path \"/path/to\"\n" +"Якщо рядок є дійсним шляхом до файлу, повертає назву основного каталогу.\n" +"[codeblock]\n" +"var dir_path = \"/path/to/file.txt\".get_base_dir() # dir_path is \"/path/" +"to\"\n" "[/codeblock]" msgid "" @@ -162273,9 +163219,10 @@ msgid "" "var base = \"/path/to/file.txt\".get_basename() # base is \"/path/to/file\"\n" "[/codeblock]" msgstr "" -"Якщо рядок дійсний шлях файлу, повертає повну шлях файлу, без розширення.\n" -"[блокування коду]\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"Якщо рядок є дійсним шляхом до файлу, повертає повний шлях до файлу без " +"розширення.\n" +"[codeblock]\n" +"var base = \"/path/to/file.txt\".get_basename() # base is \"/path/to/file\"\n" "[/codeblock]" msgid "" @@ -162294,19 +163241,18 @@ msgid "" "var h = \"\".get_extension() # h is \"\"\n" "[/codeblock]" msgstr "" -"Якщо рядок є вірним іменем файлів або шляхом, повертає розширення файлів без " -"провідного періоду ([code].[/code]). В іншому випадку повертає порожній " -"рядок.\n" -"[блокування коду]\n" -"var a = \"/path/to/file.txt\".get_extension() # a is \"txt\"\n" -"var b = \"cool.txt\".get_extension() # b є \"txt\"\n" -"var c = \"cool.font.tres\".get_extension() # c is \"tres\"\n" -"var d = \".pack1\".get_extension() # d is \"pack1\"\n" +"Якщо рядок є дійсним ім’ям файлу або шляхом, повертає розширення файлу без " +"початкової крапки ([код].[/код]). В іншому випадку повертає порожній рядок. \n" +"[codeblock] \n" +"var a = \"/path/to/file.txt\".get_extension() # a це \"txt\" \n" +"var b = \"cool.txt\".get_extension() # b це \"txt\" \n" +"var c = \"cool.font.tres\".get_extension() # c це \"tres\" \n" +"var d = \".pack1\".get_extension() # d це \"pack1\" \n" "\n" -"var e = \"file.txt.get_extension() # e is \"\"\n" -"var f = \"file.txt..get_extension() # f є \"\"\n" -"var g = \"txt\".get_extension() # г \"\"\n" -"var h = \".get_extension() # h \"\"\"\n" +"var e = \"file.txt.\".get_extension() # e це \"\" \n" +"var f = \"file.txt..\".get_extension() # f це \"\" \n" +"var g = \"txt\".get_extension() # g це \"\" \n" +"var h = \"\".get_extension() # h це \"\" \n" "[/codeblock]" msgid "" @@ -162316,9 +163262,10 @@ msgid "" "var file = \"/path/to/icon.png\".get_file() # file is \"icon.png\"\n" "[/codeblock]" msgstr "" -"Якщо рядок є правильним файлом, повертає назву файлу, включаючи розширення.\n" -"[блокування коду]\n" -"var файл = \"/path/to/icon.png\".get_file() # файл \"icon.png\"\n" +"Якщо рядок є дійсним шляхом до файлу, повертає ім’я файлу, включаючи " +"розширення.\n" +"[codeblock]\n" +"var file = \"/path/to/icon.png\".get_file() # файл \"icon.png\"\n" "[/codeblock]" msgid "" @@ -162386,20 +163333,20 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Видаляє шістнадцятковий рядок як [PackedByteArray].\n" -"[блоки коду]\n" -"[видання]\n" -"var text = \"світлий світ\"\n" -"var encoded = текст.to_utf8_buffer().hex_encode() # виходи " -"\"68656c6c6f20776f726c64\"\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"[/gdscript]\n" -"[csharp]\n" -"var text = \"світлий світ\";\n" -"var encoded = текст.ToUtf8Buffer().HexEncode(); // виходи " -"\"68656c6c6f20776f726c64\"\n" -"GD.Print(buf.HexDecode(). GetStringЗ альбомуUtf8());\n" -"[/csharp]\n" +"Декодує шістнадцятковий рядок як [PackedByteArray]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var text = \"привіт, світ\" \n" +"var encoded = text.to_utf8_buffer().hex_encode() # виводить " +"\"68656c6c6f20776f726c64\" \n" +"print(buf.hex_decode().get_string_from_utf8()) \n" +"[/gdscript] \n" +"[csharp] \n" +"var text = \"привіт, світ\"; \n" +"var encoded = text.ToUtf8Buffer().HexEncode(); // виводить " +"\"68656c6c6f20776f726c64\" \n" +"GD.Print(buf.HexDecode().GetStringFromUtf8()); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -162417,18 +163364,18 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Перетворює рядок, що представляє шістнадцятковий номер в [int]. string може " -"бути додатково префіксований [code]\"0x\"[/code], а також додатковий [code]-[/" -"code] префікс для негативних чисел.\n" -"[блоки коду]\n" -"[видання]\n" -"Друк(\"0xff.hex_to_int()) # Друки 255\n" -"Друк(\"ab.hex_to_int()) # Друки 171\n" -"[/gdscript]\n" -"[csharp]\n" -"GD.Print(\"0xff.HexToInt()); // Друк 255\n" -"GD.Print(\"ab.HexToInt()); // Друкує 171\n" -"[/csharp]\n" +"Перетворює рядок, що представляє шістнадцяткове число, на [int]. Рядок може " +"мати префікс [code]\"0x\"[/code] і додатковий префікс [code]-[/code] для " +"від’ємних чисел. \n" +"[codeblocks] \n" +"[gdscript] \n" +"print(\"0xff\".hex_to_int()) # Виводить 255 \n" +"print(\"ab\".hex_to_int()) # Виводить 171 \n" +"[/gdscript] \n" +"[csharp] \n" +"GD.Print(\"0xff\".HexToInt()); // Виводить 255 \n" +"GD.Print(\"ab\".HexToInt()); // Друкує 171 \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -162506,15 +163453,15 @@ msgid "" "print(\"\".is_subsequence_of(text)) # Prints true\n" "[/codeblock]" msgstr "" -"Повертаємо [code]true[/code], якщо всі символи цього рядка можна знайти в " -"[param text] в початковому порядку.\n" -"[блокування коду]\n" -"var text = \"Повний, неймовірний!\"\n" +"Повертає [code]true[/code], якщо всі символи цього рядка можна знайти в " +"[param text] у їх початковому порядку. \n" +"[codeblock] \n" +"var text = \"Вау, неймовірно!\" \n" "\n" -"JavaScript licenses API Веб-сайт # Друки правда\n" -"JavaScript licenses API Веб-сайт Go1.13.8 # Друки правда\n" -"JavaScript licenses API Веб-сайт Go1.13.8 # Друк false\n" -"JavaScript licenses API Веб-сайт Go1.13.8 # Друки правда\n" +"print(\"inedible\".is_subsequence_of(text)) # Виводить true \n" +"print(\"Word!\".is_subsequence_of(text)) # Виводить true \n" +"print(\"Window\".is_subsequence_of(text)) # Виводить false \n" +"print(\"\".is_subsequence_of(text)) # Виводить true \n" "[/codeblock]" msgid "" @@ -162572,17 +163519,17 @@ msgid "" "print(\"Hello\".is_valid_float()) # Prints false\n" "[/codeblock]" msgstr "" -"Повертає [code]true[/code], якщо цей рядок являє собою дійсний номер точки " -"плавлення. Важкий float може містити лише цифри, один десятковий пункт " -"([code].[/code]), а також експонентний лист ([code]e[/code]. Також можна " -"префіксувати позитив ([code]+[/code]) або негативний ([code]-[/code]). Будь-" -"яке ціле ціле, також дійсне плавлення (див. [метод_valid_int]). Дивись також " -"[метод_float].\n" -"[блокування коду]\n" -"Друк(\"1.7.is_valid_float()) # Друки правда\n" -"Друк(\"24.is_valid_float()) # Друки правда\n" -"Друк(\"7e3.is_valid_float()) # Друки правда\n" -"Друк(\"Hello.is_valid_float()) # Друк false\n" +"Повертає [code]true[/code], якщо цей рядок представляє дійсне число з " +"плаваючою комою. Правильний float може містити лише цифри, одну десяткову " +"крапку ([code].[/code]) і літеру експоненти ([code]e[/code]). Перед ним також " +"може бути позитивний ([код]+[/код]) або негативний ([код]-[/код]) знак. Будь-" +"яке дійсне ціле число також є дійсним float (див. [method is_valid_int]). " +"Дивіться також [метод to_float]. \n" +"[codeblock] \n" +"print(\"1.7\".is_valid_float()) # Виводить true \n" +"print(\"24\".is_valid_float()) # Виводить true \n" +"print(\"7e3\".is_valid_float()) # Виводить true \n" +"print(\"Привіт\".is_valid_float()) # Виводить false \n" "[/codeblock]" msgid "" @@ -162600,18 +163547,18 @@ msgid "" "print(\"0xDEADC0DE\".is_valid_hex_number(true)) # Prints true\n" "[/codeblock]" msgstr "" -"Повертає [code]true[/code], якщо цей рядок є дійсним числом шістнадцяткового. " -"Важкий шестигранний номер тільки містить цифри або літери [code]A[/code] до " -"[code]F[/code] (в верхній регістр або нижній регістр), і може бути " -"зафіксований позитивним ([code] +[/code]) або негативним ([code]-[/code]).\n" -"Якщо [param with_prefix] є [code]true[/code], токсадекальна кількість " -"потрібно префіксувати [code]\"0x\"\"[/code], щоб вважати дійсним.\n" -"[блокування коду]\n" -"Друк(\"A08E.is_valid_hex_number()) # Друки правда\n" -"Друк(\"-AbCdEf.is_valid_hex_number()) # Друки правда\n" -"Друк(\"2.5.is_valid_hex_number()) # Друк false\n" +"Повертає [code]true[/code], якщо цей рядок є дійсним шістнадцятковим числом. " +"Дійсне шістнадцяткове число містить лише цифри або літери [code]A[/code] до " +"[code]F[/code] (великі або малі) і може мати перед собою позитивний ([code]+[/" +"code]) або негативний ([code]-[/code]) знак. \n" +"Якщо [param with_prefix] має значення [code]true[/code], шістнадцяткове число " +"має мати префікс [code]\"0x\"[/code], щоб вважатися дійсним. \n" +"[codeblock] \n" +"print(\"A08E\".is_valid_hex_number()) # Виводить true \n" +"print(\"-AbCdEf\".is_valid_hex_number()) # Виводить true \n" +"print(\"2.5\".is_valid_hex_number()) # Виводить false \n" "\n" -"Друк(\"0xDEADC0DE.is_valid_hex_number(true)) # Друки правда\n" +"print(\"0xDEADC0DE\".is_valid_hex_number(true)) # Виводить true \n" "[/codeblock]" msgid "" @@ -162642,14 +163589,14 @@ msgid "" "print(\"MyMethod#2\".is_valid_identifier()) # Prints false\n" "[/codeblock]" msgstr "" -"Повертає [code]true[/code], якщо цей рядок дійсний ідентифікатор. Важкий " -"ідентифікатор може містити лише літери, цифри та низи ([code]_[/code]), а " -"перший символ не може бути цифрою.\n" -"[блокування коду]\n" -"Друк(\"node_2d.is_valid_identifier()) # Друки правда\n" -"Друк(\"TYPE_FLOAT.is_valid_identifier()) # Друки правда\n" -"Друк( \"1st_method\".is_valid_identifier()) # Друк false\n" -"Друк(\"MyMethod#2\".is_valid_identifier()) # Друк false\n" +"Повертає [code]true[/code], якщо цей рядок є дійсним ідентифікатором. " +"Правильний ідентифікатор може містити лише літери, цифри та підкреслення " +"([code]_[/code]), а перший символ не може бути цифрою. \n" +"[codeblock] \n" +"print(\"node_2d\".is_valid_identifier()) # Виводить true \n" +"print(\"TYPE_FLOAT\".is_valid_identifier()) # Виводить true \n" +"print(\"1st_method\".is_valid_identifier()) # Виводить false \n" +"print(\"MyMethod#2\".is_valid_identifier()) # Виводить false \n" "[/codeblock]" msgid "" @@ -162664,15 +163611,16 @@ msgid "" "print(\"-12\".is_valid_int()) # Prints true\n" "[/codeblock]" msgstr "" -"Повертає [code]true[/code], якщо цей рядок являє собою дійсне ціле. Важкий " -"ціле тільки містить цифри, і може бути префіксований позитивом ([code] +[/" -"code]) або негативним ([code]-[/code]) знаком. Дивись ще [метод].\n" -"[блокування коду]\n" -"Друк(\"7.is_valid_int()) # Друки правда\n" -"Друк(\"1.65.is_valid_int()) # Друк false\n" -"Друк(\"Hi.is_valid_int()) # Друк false\n" -"Друк(\"+3.is_valid_int()) # Друки правда\n" -"Друк(\"-12.is_valid_int()) # Друки правда\n" +"Повертає [code]true[/code], якщо цей рядок представляє дійсне ціле число. " +"Дійсне ціле число містить лише цифри та може мати перед собою позитивний " +"([code]+[/code]) або негативний ([code]-[/code]) знак. Дивіться також [method " +"to_int]. \n" +"[codeblock] \n" +"print(\"7\".is_valid_int()) # Виводить true \n" +"print(\"1.65\".is_valid_int()) # Виводить false \n" +"print(\"Hi\".is_valid_int()) # Виводить false \n" +"print(\"+3\".is_valid_int()) # Виводить true \n" +"print(\"-12\".is_valid_int()) # Виводить true \n" "[/codeblock]" msgid "" @@ -162782,11 +163730,11 @@ msgid "" "print(\"Hello World!\".left(-4)) # Prints \"Hello Wo\"\n" "[/codeblock]" msgstr "" -"Повертаємо перші символи [параметра] з початку рядка. Якщо довжина [param] є " -"негативним, смужки останні [param length] символи з кінця рядка.\n" -"[блокування коду]\n" -"Друк(\"Hello World!\".left(3) # Друки \"Hel\"\n" -"Друк(\"Hello World!\".left(-4) # Друки \"Hello Wo\"\n" +"Повертає перші [param length] символи з початку рядка. Якщо [param length] " +"від'ємне, видаляє останні символи [param length] із кінця рядка. \n" +"[codeblock] \n" +"print(\"Hello World!\".left(3)) # Виводить \"Hel\" \n" +"print(\"Hello World!\".left(-4)) # Виводить \"Hello Wo\" \n" "[/codeblock]" msgid "" @@ -163038,26 +163986,27 @@ msgid "" "results, see C#'s [url=https://learn.microsoft.com/en-us/dotnet/standard/base-" "types/standard-numeric-format-strings]Standard numeric format strings[/url]" msgstr "" -"Конвертує задану [парамну кількість] в рядкове представлення, в науковій " -"нотації.\n" -"[блоки коду]\n" -"[видання]\n" -"var n = -5.2e8\n" -"Друк(n) # Друк -520000000\n" -"Друк(String.num_науковий(n)) # Друки -5.2e+08\n" -"[/gdscript]\n" -"[csharp]\n" -"(Українська) Цей метод не реалізований в C#.\n" -"// Використання `string. Для досягнення аналогічних результатів\n" -"var n = -5.2e8f;\n" -"GD.Print(n); // Друк -520000000\n" -"GD.Print(n.ToString(\"e1\")); // Друки -5.2e+008\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] У C# цей метод не реалізований. Для досягнення аналогічних " -"результатів див. C# [url=https://learn.microsoft.com/en-us/dotnet/standard/" -"base-types/standard-numeric-format-strings]Standard numeric format strings[/" -"url]" +"Перетворює заданий [число параметра] на рядкове подання в науковому " +"нотатії. \n" +"[codeblocks] \n" +"[gdscript] \n" +"де n = -5,2e8 \n" +"print(n) # Друкує -520000000 \n" +"print(String.num_scientific(n)) # Виводить -5.2e+08 \n" +"[/gdscript] \n" +"[csharp] \n" +"// Цей метод не реалізовано в C#. \n" +"// Використовуйте `string.ToString()` з \"e\", щоб досягти аналогічних " +"результатів. \n" +"де n = -5,2e8f; \n" +"GD.Print(n); // Друкує -520000000 \n" +"GD.Print(n.ToString(\"e1\")); // Виводить -5.2e+008 \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Примітка.[/b] У C# цей метод не реалізовано. Щоб досягти подібних " +"результатів, перегляньте [url=https://learn.microsoft.com/en-us/dotnet/" +"standard/base-types/standard-numeric-format-strings]рядки стандартного " +"числового формату[/url] C#" msgid "" "Converts the given unsigned [int] to a string representation, with the given " @@ -163293,12 +164242,12 @@ msgid "" "print(simple_path) # Prints \"path/file\"\n" "[/codeblock]" msgstr "" -"Якщо рядок є дією шлях файлу, перетворює рядок в канонічний шлях. Це " -"найкоротший можливий шлях, без [code]./\"[/code], і всі непотрібні [code].\"[/" -"code] і [code]\"/\"[/code].\n" -"[блокування коду]\n" -"var simple_path = \"./path/to////./file\".simplify_path()\n" -"Друк(simple_path) # Друки \"path/file\"\n" +"Якщо рядок є дійсним шляхом до файлу, перетворює рядок на канонічний шлях. Це " +"найкоротший можливий шлях, без [code]\"./\"[/code] і всього непотрібного " +"[code]\"..\"[/code] і [code]\"/\"[/code]. \n" +"[codeblock] \n" +"var simple_path = \"./path/to///../file\".simplify_path() \n" +"print(simple_path) # Виводить \"шлях/файл\" \n" "[/codeblock]" msgid "" @@ -163372,13 +164321,13 @@ msgid "" "[/codeblock]" msgstr "" "Розділяє рядок на плаваючі числа за допомогою [param delimiter] і повертає " -"[PackedFloat64Array].\n" +"[PackedFloat64Array]. \n" "Якщо [param allow_empty] має значення [code]false[/code], порожні або " -"недійсні перетворення [float] між суміжними роздільниками виключаються.\n" -"[кодовий блок]\n" -"var a = \"1,2,4.5\".split_floats(\",\") # a is [1.0, 2.0, 4.5]\n" -"var c = \"1| ||4.5\".split_floats(\"|\") # c дорівнює [1.0, 0.0, 0.0, 4.5]\n" -"var b = \"1| ||4.5\".split_floats(\"|\", false) # b дорівнює [1.0, 4.5]\n" +"недійсні перетворення [float] між суміжними роздільниками виключаються. \n" +"[codeblock] \n" +"var a = \"1,2,4.5\".split_floats(\",\") # a is [1.0, 2.0, 4.5] \n" +"var c = \"1| ||4.5\".split_floats(\"|\") # c дорівнює [1.0, 0.0, 0.0, 4.5] \n" +"var b = \"1| ||4.5\".split_floats(\"|\", false) # b дорівнює [1.0, 4.5] \n" "[/codeblock]" msgid "" @@ -163441,16 +164390,16 @@ msgid "" "var e = \"Hello!\".to_float() # e is 0.0\n" "[/codeblock]" msgstr "" -"Перетворює рядок, що представляє десятковий номер в [float]. Цей метод " -"зупиняється на першому неоднорідному характері, крім першої десяткової точки " -"([code].[/code]) і експонентного листа ([code]e[/code]). Дивись також " -"[метод_valid_float].\n" -"[блокування коду]\n" -"var a = \"12.35\".to_float() # is 12.35\n" -"var б = \"1.2.3\".to_float() # б 1,2\n" -"var c = \"12xy3\".to_float() # c - 12.0\n" -"var d = \"1e3\".to_float() # d is 1000.0\n" -"var e = \"Hello!\".to_float() # е 0,0\n" +"Перетворює рядок, що представляє десяткове число, у [float]. Цей метод " +"зупиняється на першому нечисловому символі, за винятком першої десяткової " +"коми ([code].[/code]) і літери експоненти ([code]e[/code]). Дивіться також " +"[метод is_valid_float]. \n" +"[codeblock] \n" +"var a = \"12.35\".to_float() # a дорівнює 12.35 \n" +"var b = \"1.2.3\".to_float() # b це 1.2 \n" +"var c = \"12xy3\".to_float() # c дорівнює 12,0 \n" +"var d = \"1e3\".to_float() # d дорівнює 1000,0 \n" +"var e = \"Привіт!\".to_float() # e дорівнює 0,0 \n" "[/codeblock]" msgid "" @@ -163464,14 +164413,14 @@ msgid "" "var d = \"Hello!\".to_int() # d is 0\n" "[/codeblock]" msgstr "" -"Перетворює рядок, що представляє ціле число в [int]. Цей метод видаляє будь-" -"який неоднорідний характер і зупиняється на першій десятковій точці ([code].[/" -"code]). Дивись також [метод_valid_int].\n" -"[блокування коду]\n" -"var a = \"123\".to_int() # a 123\n" -"var б = \"x1y2z3\".to_int() # б - 123\n" -"var c = \"-1.2.3\".to_int() # c -1\n" -"var d = \"Hello!\".to_int() # д 0\n" +"Перетворює рядок, що представляє ціле число, на [int]. Цей метод видаляє будь-" +"який нечисловий символ і зупиняється на першій десятковій комі ([code].[/" +"code]). Дивіться також [method is_valid_int]. \n" +"[codeblock] \n" +"var a = \"123\".to_int() # a дорівнює 123 \n" +"var b = \"x1y2z3\".to_int() # b дорівнює 123 \n" +"var c = \"-1.2.3\".to_int() # c дорівнює -1 \n" +"var d = \"Привіт!\".to_int() # d дорівнює 0 \n" "[/codeblock]" msgid "Returns the string converted to [code]lowercase[/code]." @@ -163499,22 +164448,22 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повертає рядок, що перетворюється на [code]snake_case[/code].\n" -"[b]Note:[/b] Номери, які слідують [i]single[/i], літери не відокремлені в " -"переході, щоб зберегти деякі слова (наприклад, \"2D\") разом.\n" -"[блоки коду]\n" -"[видання]\n" -"\"Node2D\".to_snake_case() # Повернення \"node_2d\"\n" -"\"2 місце\".to_snake_case() # Повернення \"2_nd_place\"\n" -"\"Texture3DAssetFolder\".to_snake_case() # Повернення " -"\"texture_3d_asset_folder\"\n" -"[/gdscript]\n" -"[csharp]\n" -"\"Node2D\".ToSnakeCase(); // Повертає \"node_2d\"\n" -"\"2 місце\".ToSnakeCase(); // Повертає \"2_nd_place\"\n" +"Повертає рядок, перетворений на [code]snake_case[/code]. \n" +"[b]Примітка: [/b] Числа, за якими йде [i]одна [/i] літера, не розділяються " +"під час перетворення, щоб зберегти деякі слова (наприклад, \"2D\") разом. \n" +"[codeblocks] \n" +"[gdscript] \n" +"\"Node2D\".to_snake_case() # Повертає \"node_2d\" \n" +"\"2nd place\".to_snake_case() # Повертає \"2_nd_place\" \n" +"\"Texture3DAssetFolder\".to_snake_case() # Повертає " +"\"texture_3d_asset_folder\" \n" +"[/gdscript] \n" +"[csharp] \n" +"\"Node2D\".ToSnakeCase(); // Повертає \"node_2d\" \n" +"\"2 місце\".ToSnakeCase(); // Повертає \"2_nd_place\" \n" "\"Texture3DAssetFolder\".ToSnakeCase(); // Повертає " -"\"texture_3d_asset_folder\"\n" -"[/csharp]\n" +"\"texture_3d_asset_folder\" \n" +"[/csharp] \n" "[/codeblocks]" msgid "Returns the string converted to [code]UPPERCASE[/code]." @@ -163595,19 +164544,20 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Видаляє рядок з формату URL-кодування. Цей метод призначений для коректного " -"видалення параметрів у URL при отриманні HTTP-запиту. Дивись також [метод " -"uri_encode].\n" -"[блоки коду]\n" -"[видання]\n" -"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"Друк(url.uri_decode()) # Друки \"$DOCS_URL/?highlight=Godot Engine:docs\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"GD.Print(url.URIDecode()) // Друки \"$DOCS_URL/?highlight=Godot Engine:" -"docs\"\n" -"[/csharp]\n" +"Декодує рядок із його URL-кодованого формату. Цей метод призначений для " +"правильного декодування параметрів в URL-адресі під час отримання запиту " +"HTTP. Дивіться також [метод uri_encode]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\" \n" +"print(url.uri_decode()) # Виводить \"$DOCS_URL/?highlight=Godot Engine:" +"docs\" \n" +"[/gdscript] \n" +"[csharp] \n" +"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\" \n" +"GD.Print(url.URIDecode()) // Друкує \"$DOCS_URL/?highlight=Godot Engine:" +"docs\" \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -163629,22 +164579,22 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Увімкніть рядок для безпечного формату URL. Цей метод покликаний правильно " -"зашифрувати параметри в URL при надсиланні HTTP-запиту. Дивись також [метод " -"uri_decode].\n" -"[блоки коду]\n" -"[видання]\n" -"var префікс = \"$DOCS_URL/?highlight=\"\n" -"var url = префікс + \"Godot Engine:docs\".uri_encode()\n" +"Кодує рядок до URL-дружнього формату. Цей метод призначений для правильного " +"кодування параметрів в URL-адресі під час надсилання запиту HTTP. Дивіться " +"також [метод uri_decode]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var prefix = \"$DOCS_URL/?highlight=\" \n" +"var url = prefix + \"Godot Engine:docs\".uri_encode() \n" "\n" -"Друк(url) # Друки \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var префікс = \"$DOCS_URL/?highlight=\";\n" -"var url = префікс + \"Godot Engine:docs\". URIEncode();\n" +"print(url) # Виводить \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\" \n" +"[/gdscript] \n" +"[csharp] \n" +"var prefix = \"$DOCS_URL/?highlight=\"; \n" +"var url = prefix + \"Godot Engine:docs\".URIEncode(); \n" "\n" -"GD.Print(url); // Друки \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"[/csharp]\n" +"GD.Print(url); // Друкує \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\" \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -163713,23 +164663,22 @@ msgid "" "learn.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/" "interpolated]how to interpolate strings with \"$\"[/url]." msgstr "" -"Формати [String], заміщення учасників місця одним або декількома параметрами. " -"Для проходження декількох параметрів [параметра праворуч] потрібно бути " -"[Аррайм].\n" -"[блокування коду]\n" -"Друк(\"Я спійманий %d fishes!\" % 2) # Друки \"Я спійманий 2 риби!\"\n" +"Форматує [String], замінюючи заповнювачі одним або декількома параметрами. " +"Щоб передати кілька параметрів, [param right] має бути [Array]. \n" +"[codeblock] \n" +"print(\"I caught %d fishes!\" % 2) # Виводить \"I caught 2 fishes!\" \n" "\n" -"var my_message = \"Правила на %s, на %2.2f км/год.\"\n" -"var місце = \"Деп Долина\"\n" -"Вар швидкість = 40.3485\n" -"Друк(my_message % [локація, швидкість]) # Друки \"Похід до глибокої долини, " -"на 40.35 км/год.\"\n" -"[/codeblock]\n" -"Для отримання додаткової інформації див. [url=$DOCS_URL/tutorials/scripting/" -"gdscript_format_string.html]GDScript strings[/url] підручник.\n" -"[b]Note:[/b] У C# цей оператор не доступний. замість цього див. [url=https://" -"learn.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/" -"interpolated]how to interpolate strings with \"$/url]." +"var my_message = \"Подорож до %s зі швидкістю %2,2f км/год.\" \n" +"var location = \"Deep Valley\" \n" +"var speed = 40,3485 \n" +"print(my_message % [location, speed]) # Виводить \"Подорож до Deep Valley зі " +"швидкістю 40,35 км/год.\" \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 "" "Appends [param right] at the end of this [String], also known as a string " @@ -164163,16 +165112,16 @@ msgstr "" "Дозволяється встановити високі значення радіуса кута. Як тільки кути " "перекриваються, стильове поле перемикається на відносну систему: \n" "[codeblock lang=text] \n" -"висота = 30 \n" -"кут_радіус_верхній_лівий = 50 \n" -"кутовий_радіус_нижній_лівий = 100 \n" +"height = 30 \n" +"corner_radius_top_left = 50 \n" +"corner_radius_bottom_left = 100 \n" "[/codeblock] \n" "Відносна система тепер бере співвідношення 1:2 двох лівих кутів для " "обчислення фактичної ширини кута. Обидва додані кути [b]ніколи[/b] не " "перевищуватимуть висоту. Результат: \n" "[codeblock lang=text] \n" -"кут_радіус_верхній_лівий: 10 \n" -"кут_радіус_нижній_лівий: 20 \n" +"corner_radius_top_left: 10 \n" +"corner_radius_bottom_left: 20 \n" "[/codeblock]" msgid "Returns the specified [enum Side]'s border width." @@ -164886,40 +165835,41 @@ msgid "" "OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive " "modes." msgstr "" -"[SurfaceTool] використовується для побудови [Меш], вказавши атрибути вершини " -"в індивідуальному режимі. Ви можете використовувати для побудови [Меш] з " -"скрипта. Всі властивості, крім індексів, необхідно додавати до виклику [метод " -"add_vertex]. Наприклад, для додавання кольорів вершини і УФС:\n" -"[блоки коду]\n" -"[видання]\n" -"var st = SurfaceTool.new()\n" -"st.begin(Mesh.PRIMITIVE_TRIANGLES)\n" -"st.set_color(Color(1, 0)\n" -"Ст.set_uv(Vector2(0, 0)\n" -"Ст.add_vertex(Vector3(0, 0, 0)\n" -"[/gdscript]\n" -"[csharp]\n" -"var st = новий SurfaceTool();\n" -"ст. Починати(Меш.ПримітивнийТип.Трикутники);\n" -"st.SetColor(новий колір(1, 0));\n" -"вул.СетУВ(новий Вектор2(0, 0));\n" -"вул.Додаткові (новий Вектор3(0, 0, 0));\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[SurfaceTool] тепер містить одну вершину трикутника, який має УФ-координату і " -"вказану [Color]. Якщо ще один вершина додано без виклику [метод set_uv] або " -"[метод set_color], то будуть використані останні значення.\n" -"атрибути Vertex повинні бути передані [b]before[/b] виклик [метод " -"add_vertex]. Недостатньо робити це призведе до помилки при здійсненні " -"інформації вершини до сітки.\n" -"Додатково додано атрибути, що використовуються до першого вершини, визначають " -"формат сітки. Наприклад, якщо ви тільки додаєте УФ до першої вершини, ви не " -"можете додати колір до будь-якого з наступних вершин.\n" -"Дивись також [ArrayMesh], [ImmediateMesh] та [MeshDataTool] для створення " -"процедурної геометрії.\n" -"[b]Note:[/b] Godot використовує годинниковою стрілкою [url=https://" -"learnopengl.com/Advanced-OpenGL/Face-culling]winding Order[/url] для передніх " -"граней трикутника примітивних режимів." +"[SurfaceTool] використовується для побудови [Mesh] шляхом визначення " +"атрибутів вершин окремо. Його можна використовувати для створення [Mesh] зі " +"сценарію. Перед викликом [метод add_vertex] потрібно додати всі властивості, " +"крім індексів. Наприклад, щоб додати кольори вершин і UV: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var st = SurfaceTool.new() \n" +"st.begin(Mesh.PRIMITIVE_TRIANGLES) \n" +"st.set_color(Color(1, 0, 0)) \n" +"st.set_uv(Vector2(0, 0)) \n" +"st.add_vertex(Vector3(0, 0, 0)) \n" +"[/gdscript] \n" +"[csharp] \n" +"var st = new SurfaceTool(); \n" +"st.Begin(Mesh.PrimitiveType.Triangles); \n" +"st.SetColor(new Color(1, 0, 0)); \n" +"st.SetUV(new Vector2(0, 0)); \n" +"st.AddVertex(new Vector3(0, 0, 0)); \n" +"[/csharp] \n" +"[/codeblocks] \n" +"Наведений вище [SurfaceTool] тепер містить одну вершину трикутника, яка має " +"UV-координату та вказаний [Color]. Якщо іншу вершину було додано без виклику " +"[method set_uv] або [method set_color], тоді будуть використані останні " +"значення. \n" +"Атрибути вершин необхідно передати [b]перед[/b] викликом [методу add_vertex]. " +"Невиконання цього призведе до помилки під час внесення інформації про вершини " +"до сітки. \n" +"Крім того, атрибути, які використовуються перед додаванням першої вершини, " +"визначають формат сітки. Наприклад, якщо ви додаєте UV лише до першої " +"вершини, ви не можете додати колір до жодної з наступних вершин. \n" +"Дивіться також [ArrayMesh], [ImmediateMesh] і [MeshDataTool] для створення " +"процедурної геометрії. \n" +"[b]Примітка:[/b] Годо використовує [url=https://learnopengl.com/Advanced-" +"OpenGL/Face-culling]порядок намотування[/url] за годинниковою стрілкою для " +"передніх граней примітивних режимів трикутника." msgid "Using the SurfaceTool" msgstr "Використання SurfaceTool" @@ -165391,10 +166341,10 @@ msgstr "" "[codeblock] \n" "{\n" " 0: { \n" -" \"color\": Колір(1, 0, 0) \n" +" \"color\": Color(1, 0, 0) \n" " }, \n" " 5: { \n" -" \"color\": Колір(0, 1, 0) \n" +" \"color\": Color(0, 1, 0) \n" " } \n" "}\n" "[/codeblock]" @@ -165802,17 +166752,17 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Увімкніть, коли натискається кнопка вкладки.\n" -"[b]Примітка:[/b] Таблиці не знімаються автоматично, коли натискається кнопка, " -"ця поведінка повинна бути запрограмована вручну. Наприклад:\n" -"[блоки коду]\n" -"[видання]\n" -"$TabBar.tab_close_pressed.connect($TabBar.remove_tab)\n" -"[/gdscript]\n" -"[csharp]\n" -"GetNode (\"TabBar\"). TabClosePressed += GetNode(\"TabBar\"). " -"ВидалитиТаб;\n" -"[/csharp]\n" +"Видається під час натискання кнопки закриття вкладки. \n" +"[b]Примітка.[/b] Вкладки не видаляються автоматично після натискання кнопки " +"закриття, цю поведінку потрібно запрограмувати вручну. Наприклад: \n" +"[codeblocks] \n" +"[gdscript] \n" +"$TabBar.tab_close_pressed.connect($TabBar.remove_tab) \n" +"[/gdscript] \n" +"[csharp] \n" +"GetNode(\"TabBar\").TabClosePressed += GetNode(\"TabBar\")." +"RemoveTab; \n" +"[/csharp] \n" "[/codeblocks]" msgid "Emitted when a tab is hovered by the mouse." @@ -166481,9 +167431,9 @@ msgstr "" "[codeblock] \n" "begin_complex_operation() \n" "begin_multicaret_edit() \n" -"для i в діапазоні (get_caret_count()): \n" +"for i in range (get_caret_count()): \n" " if multicaret_edit_ignore_caret(i): \n" -" продовжувати \n" +" continue \n" " # Тут логіка. \n" "end_multicaret_edit() \n" "end_complex_operation() \n" @@ -166726,6 +167676,13 @@ msgstr "" msgid "Returns the width in pixels of the [param wrap_index] on [param line]." msgstr "Повертає ширину пікселів [param wrap_index] на [param line]." +msgid "" +"Returns line text as it is currently displayed, including IME composition " +"string." +msgstr "" +"Повертає текстовий рядок у тому вигляді, у якому він відображається на даний " +"момент, включаючи рядок композиції IME." + msgid "Returns the number of times the given line is wrapped." msgstr "Повертаємо кількість разів задана лінія загортається." @@ -166790,51 +167747,53 @@ msgid "" "cause a crash. If you wish to hide it or any of its children, use their " "[member Window.visible] property." msgstr "" -"Повернення [PopupMenu] цього [LineEdit]. За замовчуванням, це меню " -"відображається при правому зверненні на [LineEdit].\n" -"Ви можете додати спеціальні елементи меню або видалити стандартні. Ми " -"впевнені, що Ваші ідентифікатори не суперечать стандартам. Наприклад:\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"var меню = get_menu()\n" -"# Видалити всі елементи після \"Редо\".\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"# Додати спеціальні товари.\n" -"меню.add_separator()\n" -"Меню.add_item(\"Дата вставки\", MENU_MAX + 1)\n" -"# Зворотній дзвінок.\n" -"JavaScript licenses API Веб-сайт\n" +"Повертає [PopupMenu] цього [TextEdit]. За замовчуванням це меню " +"відображається, якщо клацнути правою кнопкою миші на [TextEdit]. \n" +"Ви можете додати власні пункти меню або видалити стандартні. Переконайтеся, " +"що ваші ідентифікатори не конфліктують зі стандартними (див. [enum " +"MenuItems]). Наприклад: \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _ready(): \n" +" var menu = get_menu() \n" +" # Видалити всі елементи після \"Повторити\". \n" +" menu.item_count = menu.get_item_index(MENU_REDO) + 1 \n" +" # Додайте спеціальні елементи. \n" +" menu.add_separator() \n" +" menu.add_item(\"Вставити дату\", MENU_MAX + 1) \n" +" # Підключити зворотній дзвінок. \n" +" menu.id_pressed.connect(_on_item_pressed) \n" "\n" -"Func _on_item_pressed(id):\n" -"якщо id == MENU_MAX + 1:\n" -"вставка_text_at_caret(Time.get_date_string__system()))\n" -"[/gdscript]\n" -"[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"var меню = GetMenu();\n" -"(Українська) Видалити всі елементи після \"Редо\".\n" -"меню.ItemCount = меню.GetItemIndex(LineEdit.MenuItems.Redo) + 1;\n" -"(Українська) Додати спеціальні товари.\n" -"меню.AddSeparator();\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"(Українська) Додати обробник подій.\n" -"Меню IdPressed += OnItemПресований;\n" -"Про нас\n" +"func _on_item_pressed(id): \n" +" if id == MENU_MAX + 1: \n" +" insert_text_at_caret(Time.get_date_string_from_system()) \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Ready() \n" +"{\n" +" var menu = GetMenu(); \n" +" // Видалити всі елементи після \"Redo\". \n" +" menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1; \n" +" // Додати власні елементи. \n" +" menu.AddSeparator(); \n" +" menu.AddItem(\"Вставити дату\", TextEdit.MenuItems.Max + 1); \n" +" // Додати обробник події. \n" +" menu.IdPressed += OnItemPressed; \n" +"}\n" "\n" -"public void OnItemПресована(int id)\n" -"Довідник\n" -"Якщо (id= LineEdit.MenuItems.Max + 1 час\n" -"Довідник\n" -"InsertTextAtCaret(Time.GetDateStringFromSystem());\n" -"Про нас\n" -"Про нас\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Навігація:[/b] Це необхідний внутрішній вузол, видаляючи і звільняючи його " -"може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх " -"дітей, скористайтеся їх [пам'ятне вікно.видиме]." +"public void OnItemPressed(int id) \n" +"{\n" +" if (id == TextEdit.MenuItems.Max + 1) \n" +" { \n" +" InsertTextAtCaret(Time.GetDateStringFromSystem()); \n" +" } \n" +"}\n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Попередження:[/b] Це обов’язковий внутрішній вузол, його видалення та " +"звільнення може призвести до збою. Якщо ви бажаєте приховати його чи будь-" +"який із його дочірніх елементів, скористайтеся властивістю [member Window." +"visible]." msgid "Returns the equivalent minimap line at [param position]." msgstr "Повернення еквівалентної мінікарти на [пам'яча позиція]." @@ -167254,27 +168213,28 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Виконайте пошук у тексті. Пошук прапорів можна вказати в [enum SearchFlags] " -"enum.\n" -"У зворотному векторі [code]x[/code] є стовпчиком, [code]y[/code] є рядком. " -"Якщо не знайдено результатів, обидва рівні [code]-1[/code].\n" -"[блоки коду]\n" -"[видання]\n" -"var результат = пошук (\"print\", SEARCH_WHOLE_WORDS, 0, 0)\n" -"якщо результат.x != -1:\n" -"# Результат пошуку\n" -"var line_number = результат.y\n" -"var стовпчик_number = результат.x\n" -"[/gdscript]\n" -"[csharp]\n" -"JavaScript licenses API Веб-сайт Go1.13.8 Кількі, 0, 0;\n" -"якщо (result.X != -1\n" -"Довідник\n" -"(Українська) Результат пошуку\n" -"int lineКількість = результат. Я;\n" -"int stringКількість = результат. X;\n" -"Про нас\n" -"[/csharp]\n" +"Виконайте пошук всередині тексту. Прапори пошуку можна вказати в переліку " +"[enum SearchFlags]. \n" +"У повернутому векторі [code]x[/code] — стовпець, [code]y[/code] — рядок. Якщо " +"результатів не знайдено, обидва дорівнюють [code]-1[/code]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var result = search(\"друк\", SEARCH_WHOLE_WORDS, 0, 0) \n" +"if result.x != -1: \n" +" # Результат знайдено. \n" +" var line_number = result.y \n" +" var column_number = result.x \n" +"[/gdscript] \n" +"[csharp] \n" +"Vector2I result = Search(\"print\", (uint)TextEdit.SearchFlags.WholeWords, 0, " +"0); \n" +"if (результат.X != -1) \n" +"{\n" +" // Результат знайдено. \n" +" int lineNumber = result.Y; \n" +" int columnNumber = result.X; \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -168334,18 +169294,19 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"[TextServer] – API-замінник для управління шрифтами та надання тексту.\n" -"[b]Примітка:[/b] Це низький рівень API, розглянемо за допомогою [TextLine], " -"[TextParagraph], а замість класів [Font].\n" -"Це абстрактний клас, щоб отримати в даний час активний [TextServer] " -"екземпляр, використовуйте наступний код:\n" -"[блоки коду]\n" -"[видання]\n" -"var ts = TextServerManager.get_primary_interface()\n" -"[/gdscript]\n" -"[csharp]\n" -"var ts = TextServerManager.GetPrimaryInterface();\n" -"[/csharp]\n" +"[TextServer] — це серверний API для керування шрифтами та відтворення " +"тексту. \n" +"[b]Примітка.[/b] Це API низького рівня, замість нього можна використовувати " +"класи [TextLine], [TextParagraph] і [Font]. \n" +"Це абстрактний клас, тому, щоб отримати поточний активний екземпляр " +"[TextServer], використовуйте такий код: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var ts = TextServerManager.get_primary_interface() \n" +"[/gdscript] \n" +"[csharp] \n" +"var ts = TextServerManager.GetPrimaryInterface(); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -171721,6 +172682,26 @@ msgid "" "and complex text layout." msgstr "Без підтримки BiDi і складних текстових макетів." +msgid "" +"A fallback implementation of Godot's text server. This fallback is faster " +"than [TextServerAdvanced] for processing a lot of text, but it does not " +"support BiDi and complex text layout.\n" +"[b]Note:[/b] This text server is not part of official Godot binaries. If you " +"want to use it, compile the engine with the option " +"[code]module_text_server_fb_enabled=yes[/code]. When building with " +"[TextServerFallback], consider also disabling [TextServerAdvanced] with " +"[code]module_text_server_adv_enabled=no[/code] to reduce binary size." +msgstr "" +"Запасна реалізація текстового сервера Годо. Цей запасний варіант є швидшим, " +"ніж [TextServerAdvanced], для обробки великої кількості тексту, але він не " +"підтримує двомовний текст і складне макетування тексту. \n" +"[b]Примітка:[/b] Цей текстовий сервер не є частиною офіційних двійкових " +"файлів Godot. Якщо ви хочете його використовувати, скомпілюйте механізм із " +"опцією [code]module_text_server_fb_enabled=yes[/code]. Під час створення за " +"допомогою [TextServerFallback] також розгляньте можливість вимкнення " +"[TextServerAdvanced] за допомогою [code]module_text_server_adv_enabled=no[/" +"code], щоб зменшити двійковий розмір." + msgid "A singleton for managing [TextServer] implementations." msgstr "Універсал для управління [TextServer]." @@ -171927,35 +172908,6 @@ msgstr "" "Єдиний фактурний ресурс, який складається з декількох, окремих зображень. " "Кожен образ має однакові розміри і кількість рівнів mipmap." -msgid "" -"A Texture2DArray is different from a Texture3D: The Texture2DArray does not " -"support trilinear interpolation between the [Image]s, i.e. no blending. See " -"also [Cubemap] and [CubemapArray], which are texture arrays with specialized " -"cubemap functions.\n" -"A Texture2DArray is also different from an [AtlasTexture]: In a " -"Texture2DArray, all images are treated separately. In an atlas, the regions " -"(i.e. the single images) can be of different sizes. Furthermore, you usually " -"need to add a padding around the regions, to prevent accidental UV mapping to " -"more than one region. The same goes for mipmapping: Mipmap chains are handled " -"separately for each layer. In an atlas, the slicing has to be done manually " -"in the fragment shader.\n" -"To create such a texture file yourself, reimport your image files using the " -"Godot Editor import presets." -msgstr "" -"A Texture2DArray відрізняється від Texture3D: Texture2DArray не підтримує " -"трилінійне міжполування між [Image]s, тобто не блендерингом. Дивись також " -"[Cubemap] і [CubemapArray], які представляють собою фактурні масиви з " -"особливими функціями кубічної карти.\n" -"A Texture2DArray також відрізняється від [AtlasTexture]: У розділі " -"Texture2DArray всі зображення обробляються окремо. У атласі регіони (тобто " -"одиночні зображення) можуть бути різні розміри. Крім того, вам зазвичай " -"потрібно додати наповнювачі по регіонах, щоб запобігти випадковому УФ " -"картуванню більш ніж однієї області. Те ж саме йде на мітку: Ланцюги Mipmap " -"обробляються окремо для кожного шару. У атласі нарізка повинна проводитися " -"вручну в фрагменті шейра.\n" -"Щоб створити такий фактурний файл самостійно, переімпортуйте файли зображень " -"за допомогою пресетів Godot Editor." - msgid "" "Creates a placeholder version of this resource ([PlaceholderTexture2DArray])." msgstr "Створює резиденцію вкладника цього ресурсу ([СкладачTexture2DArray])." @@ -173990,6 +174942,35 @@ msgstr "" msgid "Node for 2D tile-based maps." msgstr "Node для 2D кахельних карт." +msgid "" +"Node for 2D tile-based maps. Tilemaps use a [TileSet] which contain a list of " +"tiles which are used to create grid-based maps. A TileMap may have several " +"layers, layouting tiles on top of each other.\n" +"For performance reasons, all TileMap updates are batched at the end of a " +"frame. Notably, this means that scene tiles from a " +"[TileSetScenesCollectionSource] may be initialized after their parent. This " +"is only queued when inside the scene tree.\n" +"To force an update earlier on, call [method update_internals].\n" +"[b]Note:[/b] For performance and compatibility reasons, the coordinates " +"serialized by [TileMap] are limited to 16-bit signed integers, i.e. the range " +"for X and Y coordinates is from [code]-32768[/code] to [code]32767[/code]. " +"When saving tile data, tiles outside this range are wrapped." +msgstr "" +"Вузол для 2D карт на основі плиток. Карти плиток використовують [TileSet], " +"який містить список плиток, які використовуються для створення карт на основі " +"сітки. TileMap може мати кілька шарів, які розміщують плитки одна над " +"одною. \n" +"З міркувань продуктивності всі оновлення TileMap групуються в кінці кадру. " +"Примітно, що це означає, що фрагменти сцени з [TileSetScenesCollectionSource] " +"можуть бути ініціалізовані після батьківського елемента. Це додається до " +"черги лише всередині дерева сцени.\n" +"Щоб примусово виконати оновлення раніше, викличте [метод update_internals]. \n" +"[b]Примітка:[/b] З міркувань продуктивності та сумісності координати, " +"серіалізовані за допомогою [TileMap], обмежені 16-бітними цілими числами зі " +"знаком, тобто діапазон координат X і Y становить від [code]-32768[/code] до " +"[code]32767[/code]. Під час збереження даних плитки за межами цього діапазону " +"обгортаються." + msgid "Using Tilemaps" msgstr "Використання TileMaps (Карти Плиток)" @@ -174150,21 +175131,21 @@ msgid "" "If [param use_proxies] is [code]false[/code], ignores the [TileSet]'s tile " "proxies. See [method TileSet.map_tile_proxy]." msgstr "" -"Повертає об'єкт [TileData], пов'язаний з даної коміркою, або [code]null[/" -"code], якщо клітина не існує або не є [TileSetAtlasSource].\n" -"Якщо [пам'яний шар] є негативним, шари виходять з останнього.\n" -"[блокування коду]\n" -"Func Get_clicked_tile_power():\n" -"var clicked_cell = плитка_map.local_to_map(tile_map." -"get_local_mouse_положення()))\n" -"var data = кахель_map.get_cell_tile_data(0, clicked_cell)\n" -"якщо дані:\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"ще:\n" -"Повернення 0\n" -"[/codeblock]\n" -"Якщо [param use_proxies] є [code]false[/code], ігнорує [TileSet] плитка " -"проксі. Подивитися [метод TileSet.map_tile_proxy]." +"Повертає об’єкт [TileData], пов’язаний із вказаною клітинкою, або [code]null[/" +"code], якщо клітинка не існує або не є [TileSetAtlasSource]. \n" +"Якщо [param layer] є від’ємним, доступ до шарів здійснюється з останнього. \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] \n" +"Якщо [param use_proxies] має значення [code]false[/code], ігноруються проксі-" +"сервери плитки [TileSet]. Див. [метод TileSet.map_tile_proxy]." msgid "" "Returns the coordinates of the tile for given physics body RID. Such RID can " @@ -174727,6 +175708,38 @@ msgstr "Завжди приховує." msgid "Always show." msgstr "Завжди показати." +msgid "" +"Node for 2D tile-based maps. A [TileMapLayer] uses a [TileSet] which contain " +"a list of tiles which are used to create grid-based maps. Unlike the " +"[TileMap] node, which is deprecated, [TileMapLayer] has only one layer of " +"tiles. You can use several [TileMapLayer] to achieve the same result as a " +"[TileMap] node.\n" +"For performance reasons, all TileMap updates are batched at the end of a " +"frame. Notably, this means that scene tiles from a " +"[TileSetScenesCollectionSource] may be initialized after their parent. This " +"is only queued when inside the scene tree.\n" +"To force an update earlier on, call [method update_internals].\n" +"[b]Note:[/b] For performance and compatibility reasons, the coordinates " +"serialized by [TileMapLayer] are limited to 16-bit signed integers, i.e. the " +"range for X and Y coordinates is from [code]-32768[/code] to [code]32767[/" +"code]. When saving tile data, tiles outside this range are wrapped." +msgstr "" +"Вузол для 2D карт на основі плиток. [TileMapLayer] використовує [TileSet], " +"який містить список плиток, які використовуються для створення карт на основі " +"сітки. На відміну від вузла [TileMap], який не підтримується, [TileMapLayer] " +"має лише один шар плиток. Ви можете використовувати кілька [TileMapLayer], " +"щоб досягти того самого результату, що й вузол [TileMap]. \n" +"З міркувань продуктивності всі оновлення TileMap групуються в кінці кадру. " +"Примітно, що це означає, що фрагменти сцени з [TileSetScenesCollectionSource] " +"можуть бути ініціалізовані після батьківського елемента. Це додається до " +"черги лише всередині дерева сцени.\n" +"Щоб примусово виконати оновлення раніше, викличте [метод update_internals]. \n" +"[b]Примітка:[/b] З міркувань продуктивності та сумісності координати, " +"серіалізовані [TileMapLayer], обмежені 16-бітними цілими числами зі знаком, " +"тобто діапазон для координат X і Y становить від [code]-32768[/code] до " +"[code]32767[/code]. Під час збереження даних плитки за межами цього діапазону " +"обгортаються." + msgid "" "Called with a [TileData] object about to be used internally by the " "[TileMapLayer], allowing its modification at runtime.\n" @@ -176350,28 +177363,28 @@ msgid "" "}\n" "[/codeblock]" msgstr "" -"Представляє горизонтальний фліповий прапор клітинки. Слід використовувати " -"безпосередньо з [TileMap] для застібки, розміщеної плиткою, змінивши їх " -"альтернативні ідентифікатори.\n" -"[блокування коду]\n" -"var чергувати_id = $TileMap.get_cell_alternative_tile(0, Vector2i(2, 2))\n" -"якщо не чергувати_id & TileSetAtlasSource.TRANSFORM_FLIP_H:\n" -"# Якщо плитка вже не мухована, закрили її.\n" -"$TileMap.set_cell(0, Vector2i(2, 2), джерело_id, atlas_coords, чергування_id " -"TileSetAtlasSource.TRANSFORM_FLIP_H)\n" -"[/codeblock]\n" -"[b]Примітка:[/b] Ці перетворення можуть бути комбіновані, щоб зробити " -"еквівалент 0, 90, 180 і 270 градусів обертання, як показано нижче:\n" -"[блокування коду]\n" -"код товару: TileTransform Довідник\n" -"РОТАТ_0 = 0,\n" -"ROTATE_90 = TileSetAtlasSource.TRANSFORM_TRANSPOSE TileSetAtlasSource." -"TRANSFORM_FLIP_H,\n" -"ROTATE_180 = TileSetAtlasSource.TRANSFORM_FLIP_H TileSetAtlasSource." -"TRANSFORM_FLIP_V,\n" -"ROTATE_270 = TileSetAtlasSource.TRANSFORM_TRANSPOSE TileSetAtlasSource." -"TRANSFORM_FLIP_V,\n" -"Про нас\n" +"Представляє прапорець горизонтального повороту комірки. Слід використовувати " +"безпосередньо з [TileMap], щоб перевертати розміщені плитки, змінюючи їхні " +"альтернативні ідентифікатори. \n" +"[codeblock] \n" +"var alternate_id = $TileMap.get_cell_alternative_tile(0, Vector2i(2, 2)) \n" +"if no alternate_id & TileSetAtlasSource.TRANSFORM_FLIP_H: \n" +" # Якщо плитку ще не перевернуто, переверніть її. \n" +" $TileMap.set_cell(0, Vector2i(2, 2), source_id, atlas_coords, " +"alternate_id | TileSetAtlasSource.TRANSFORM_FLIP_H) \n" +"[/codeblock] \n" +"[b]Примітка.[/b] Ці перетворення можна об’єднати, щоб отримати еквівалент " +"повороту на 0, 90, 180 і 270 градусів, як показано нижче: \n" +"[codeblock] \n" +"enum TileTransform { \n" +" ROTATE_0 = 0, \n" +" ROTATE_90 = TileSetAtlasSource.TRANSFORM_TRANSPOSE | TileSetAtlasSource." +"TRANSFORM_FLIP_H, \n" +" ROTATE_180 = TileSetAtlasSource.TRANSFORM_FLIP_H | TileSetAtlasSource." +"TRANSFORM_FLIP_V, \n" +" ROTATE_270 = TileSetAtlasSource.TRANSFORM_TRANSPOSE | TileSetAtlasSource." +"TRANSFORM_FLIP_V, \n" +"}\n" "[/codeblock]" msgid "" @@ -176430,41 +177443,43 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"При розміщенні на [TileMap] плитка з [TileSetScenesCollectionSource] " -"автоматично миттєво опиниться пов'язана сцена в положення комірки в TileMap.\n" -"Сцени миттєво оцінюються як діти [TileMap], коли він входить до дерева. Якщо " -"ви додаєте / перемістіть сцену плитку в [TileMap], яка вже всередині дерева, " -"то [TileMap] автоматично миттєво опиниться/безкоштовно сцену відповідно.\n" -"[b]Примітка:[/b] Сценка плитка всі займають один кахельний слот і замість " -"використання альтернативної плитки ID для визначення індексу сцени. [Method " -"TileSource.get_tiles_count] завжди повернеться [code]1[/code]. Використовуйте " -"[метод get_scene_tiles_count], щоб отримати ряд сцен в " -"[TileSetScenesCollectionSource].\n" -"Використовуйте цей код, якщо ви хочете знайти шлях сцени на даній плитці " -"[TileMapLayer]:\n" -"[блоки коду]\n" -"[видання]\n" -"var джерело_id = плитка_map_layer.get_cell_source_id(Vector2i(x, y)\n" -"якщо джерело_id > -1:\n" -"var сцена_source_map_layer.tile_set.get_source_id)\n" -"якщо сцена_source is TileSetScenesCollectionSource:\n" -"var alt_id=кахель_map_layer.get_cell_alternative_tile(Vector2i(x, y)))\n" -"# Призначений PackedScene.\n" -"var сцена = сцена_source.get_scene_tile_scene(alt_id)\n" -"[/gdscript]\n" -"[csharp]\n" -"джерело int Id = плиткаMapLayer.GetCellSourceId(новий Vector2I(x, y));\n" -"якщо (sourceId> -1)\n" -"Довідник\n" -"TileSetSource джерело = плиткаMapLayer.TileSet.GetSource(sourceId);\n" -"if (source is TileSetScenesCollectionSource сценаSource)\n" -"Довідник\n" -"альтанки Id = плиткаMapLayer.GetCellAlternativeTile(новий Vector2I(x, y));\n" -"(Українська) Призначений PackedScene.\n" -"Пакети Сцена = сценаСурце.GetSceneTileScene(altId);\n" -"Про нас\n" -"Про нас\n" -"[/csharp]\n" +"When placed on a [TileMap], tiles from [TileSetScenesCollectionSource] will " +"automatically instantiate an associated scene at the cell's position in the " +"TileMap.\n" +"Сцени створюються як дочірні елементи [TileMap], коли він потрапляє в дерево. " +"Якщо ви додаєте/видаляєте фрагмент сцени в [TileMap], який уже є всередині " +"дерева, [TileMap] автоматично створить/звільнить сцену відповідно. \n" +"[b]Note:[/b] Scene tiles all occupy one tile slot and instead use alternate " +"tile ID to identify scene index. [method TileSetSource.get_tiles_count] will " +"always return [code]1[/code]. Use [method get_scene_tiles_count] to get a " +"number of scenes in a [TileSetScenesCollectionSource].\n" +"Використовуйте цей код, якщо ви хочете знайти шлях сцени на певній плитці в " +"[TileMapLayer]: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var source_id = tile_map_layer.get_cell_source_id(Vector2i(x, y)) \n" +"if source_id > -1: \n" +" var scene_source = tile_map_layer.tile_set.get_source(source_id) \n" +" if scene_source is TileSetScenesCollectionSource:\n" +" var alt_id = tile_map_layer.get_cell_alternative_tile(Vector2i(x, " +"y)) \n" +" # Призначена PackedScene. \n" +" var scene = scene_source.get_scene_tile_scene(alt_id) \n" +"[/gdscript] \n" +"[csharp] \n" +"int sourceId = tileMapLayer.GetCellSourceId(new Vector2I(x, y)); \n" +"if (sourceId > -1) \n" +"{\n" +" source TileSetSource = tileMapLayer.TileSet.GetSource(sourceId); \n" +" if (source is TileSetScenesCollectionSource sceneSource)\n" +" { \n" +" int altId = tileMapLayer.GetCellAlternativeTile(new Vector2I(x, " +"y)); \n" +" // Призначена PackedScene. \n" +" PackedScene scene = sceneSource.GetSceneTileScene(altId); \n" +" } \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -177006,9 +178021,9 @@ msgstr "" "Не вимагає багато коду, часовий вузол можна додати і налаштувати в редакторі. " "[значний час] сигнал, який випромінює, також може бути підключений через " "додаток Node в редакторі:\n" -"[блокування коду]\n" -"Func _on_timer_timeout():\n" -"друк(\"Час атакувати!\")\n" +"[codeblock]\n" +"func _on_timer_timeout():\n" +" print(\"Час атакувати!\")\n" "[/codeblock]\n" "[b]Примітка:[/b] Щоб створити один знімок таймера без миттєвого використання " "вузла, скористайтеся [методичного розділуTree.create_timer].\n" @@ -177149,23 +178164,23 @@ msgid "" "[/gdscript]\n" "[/codeblocks]" msgstr "" -"TLSOptions визначає параметри конфігурації [StreamPeerTLS] та " -"[PacketPeerDTLS].\n" -"Об'єкти цього класу не можуть бути миттєвими, і один з статичних методів " -"[метод клієнта], [метод клієнт_unsafe], або [метод сервер] слід " -"використовувати замість.\n" -"[блоки коду]\n" -"[видання]\n" -"# Створити налаштування клієнтів TLS, який використовує наш " -"користувальницький ланцюг CA.\n" -"var клієнт_trusted_cas = навантаження(\"res://my_trusted_cas.crt\")\n" -"var клієнт_tls_options = TLSOptions.client(client_trusted_cas)\n" +"TLSOptions абстрагує параметри конфігурації для класів [StreamPeerTLS] і " +"[PacketPeerDTLS]. \n" +"Об’єкти цього класу не можуть бути створені безпосередньо, замість них слід " +"використовувати один із статичних методів [method client], [method " +"client_unsafe] або [method server]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"# Створіть конфігурацію TLS-клієнта, яка використовує наш настроюваний " +"довірений ланцюжок ЦС. \n" +"var client_trusted_cas = load(\"res://my_trusted_cas.crt\") \n" +"var client_tls_options = TLSOptions.client(client_trusted_cas) \n" "\n" -"# Створення конфігурації сервера TLS.\n" -"var server_certs = навантаження(\"res://my_server_cas.crt\")\n" -"var server_key = навантаження(\"res://my_server_key.key\")\n" -"Статус на сервери\n" -"[/gdscript]\n" +"# Створення конфігурації сервера TLS. \n" +"var server_certs = load(\"res://my_server_cas.crt\") \n" +"var server_key = load(\"res://my_server_key.key\") \n" +"var server_tls_options = TLSOptions.server(server_key, server_certs) \n" +"[/gdscript] \n" "[/codeblocks]" msgid "" @@ -177523,9 +178538,9 @@ msgstr "" "[codeblocks] \n" "[gdscript] \n" "var my_transform = Transform2D( \n" -" Вектор2(2, 0), \n" -" Вектор2(0, 4), \n" -" Вектор2(0, 0) \n" +" Vector2(2, 0), \n" +" Vector2(0, 4), \n" +" Vector2(0, 0) \n" ")\n" "# Обертання Transform2D у будь-який спосіб зберігає його масштаб. \n" "my_transform = my_transform.rotated(TAU / 2) \n" @@ -177763,8 +178778,8 @@ msgstr "" "масштабом [константа Vector2.ONE]. Це також означає, що: \n" "- [член x] вказує праворуч ([константа Vector2.RIGHT]); \n" "- [член y] вказує вниз ([константа Vector2.DOWN]). \n" -"[кодовий блок] \n" -"змінна трансформація = Transform2D.IDENTITY \n" +"[codeblock] \n" +"var transform = Transform2D.IDENTITY \n" "print(\"| X | Y | Початок\") \n" "print(\"| %.f | %.f | %.f\" % [transform.x.x, transform.y.x, transform.origin." "x]) \n" @@ -178188,7 +179203,7 @@ msgstr "" "[codeblock] \n" "var transform = Transform3D.IDENTITY \n" "var basis = transform.basis \n" -"print(\"| X | Y | Z | Початок\") \n" +"print(\"| X | Y | Z | Походження\") \n" "print(\"| %.f | %.f | %.f | %.f\" % [basis.x.x, basis.y.x, basis.z.x, " "transform.origin.x]) \n" "print(\"| %.f | %.f | %.f | %.f\" % [basis.x.y, basis.y.y, basis.z.y, " @@ -178809,40 +179824,40 @@ msgid "" msgstr "" "Елемент керування, який використовується для відображення набору внутрішніх " "[TreeItem] в ієрархічній структурі. Елементи дерева можна вибирати, " -"розгортати та згортати. Дерево може мати кілька стовпців із спеціальними " +"розгортати та згортати. Дерево може мати кілька стовпців із настроюваними " "елементами керування, такими як [LineEdit], кнопки та спливаючі вікна. Це " -"може бути корисним для структурованих показів і взаємодії.\n" +"може бути корисним для структурованих показів і взаємодії. \n" "Дерева будуються за допомогою коду з використанням об’єктів [TreeItem] для " "створення структури. Вони мають один корінь, але кілька коренів можна " -"симулювати за допомогою [member hide_root]:\n" -"[кодові блоки]\n" -"[gdscript]\n" -"func _ready():\n" -" var tree = Tree.new()\n" -" var root = tree.create_item()\n" -" tree.hide_root = правда\n" -" var child1 = tree.create_item(корінь)\n" -" var child2 = tree.create_item(корінь)\n" -" var subchild1 = tree.create_item(child1)\n" -" subchild1.set_text(0, \"Subchild1\")\n" -"[/gdscript]\n" -"[csharp]\n" -"public override void _Ready()\n" +"симулювати за допомогою [member hide_root]: \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _ready(): \n" +" var tree = Tree.new() \n" +" var root = tree.create_item() \n" +" tree.hide_root = ture \n" +" var child1 = tree.create_item(root) \n" +" var child2 = tree.create_item(root) \n" +" var subchild1 = tree.create_item(child1) \n" +" subchild1.set_text(0, \"Subchild1\") \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Ready() \n" "{\n" -" var tree = new Tree();\n" -" Корінь TreeItem = tree.CreateItem();\n" -" tree.HideRoot = true;\n" -" TreeItem child1 = tree.CreateItem(корінь);\n" -" TreeItem child2 = tree.CreateItem(корінь);\n" -" TreeItem subchild1 = tree.CreateItem(child1);\n" -" subchild1.SetText(0, \"Subchild1\");\n" +" var tree = new Tree(); \n" +" Корінь TreeItem = tree.CreateItem(); \n" +" tree.HideRoot = true; \n" +" TreeItem child1 = tree.CreateItem(root); \n" +" TreeItem child2 = tree.CreateItem(root); \n" +" TreeItem subchild1 = tree.CreateItem(child1); \n" +" subchild1.SetText(0, \"Subchild1\"); \n" "}\n" -"[/csharp]\n" -"[/codeblocks]\n" +"[/csharp] \n" +"[/codeblocks] \n" "Щоб виконати ітерацію по всіх об’єктах [TreeItem] в об’єкті [Tree], " -"використовуйте [метод TreeItem.get_next] і [метод TreeItem.get_first_child] " -"після отримання кореня через [метод get_root]. Ви можете використовувати " -"[method Object.free] для [TreeItem], щоб видалити його з [Tree].\n" +"використовуйте [method TreeItem.get_next] і [method TreeItem.get_first_child] " +"після отримання кореня через [method get_root]. Ви можете використовувати " +"[method Object.free] для [TreeItem], щоб видалити його з [Tree]. \n" "[b]Поступовий пошук:[/b] Подібно до [ItemList] і [PopupMenu], [Tree] " "підтримує пошук у списку, коли елемент керування знаходиться в фокусі. " "Натисніть клавішу, яка відповідає першій літері назви об’єкта, щоб вибрати " @@ -178982,29 +179997,29 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Повернути поточний редагований елемент. Може використовуватися з [визначним " -"елементом_edited], щоб отримати товар, який був модифікований.\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"$Tree.item_edited.connect(on_Tree_item_edited)\n" +"Повертає поточний відредагований елемент. Можна використовувати з [signal " +"item_edited], щоб отримати елемент, який було змінено. \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _ready(): \n" +" $Tree.item_edited.connect(on_Tree_item_edited) \n" "\n" -"Func on_Tree_item_edited():\n" -"Друк($Tree.get_edited()) Нема Цей пункт тільки отримав редагування " -"(наприклад, перевірте).\n" -"[/gdscript]\n" -"[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"GetNode (\"Tree\"). Об'єктРедаговано += OnTreeItemEdited;\n" -"Про нас\n" +"func on_Tree_item_edited(): \n" +" print($Tree.get_edited()) # Цей елемент щойно було відредаговано " +"(наприклад, позначено). \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Ready() \n" +"{\n" +" GetNode(\"Tree\").ItemEdited += OnTreeItemEdited; \n" +"}\n" "\n" -"public void onTreeItemEdited()\n" -"Довідник\n" -"GD.Print(GetNode(\"Tree\").GetEdited()); (Українська) Цей пункт тільки " -"отримав редагування (наприклад, перевірте).\n" -"Про нас\n" -"[/csharp]\n" +"public void OnTreeItemEdited() \n" +"{\n" +" GD.Print(GetNode(\"Дерево\").GetEdited()); // Цей елемент щойно " +"було відредаговано (наприклад, перевірено). \n" +"}\n" +"[/csharp] \n" "[/codeblocks]" msgid "Returns the column for the currently edited item." @@ -180739,11 +181754,11 @@ msgstr "" "Анімація анімації створюється шляхом додавання [Tweener] до об’єкта [Tween] " "за допомогою [method tween_property], [method tween_interval], [method " "tween_callback] або [method tween_method]:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "var tween = get_tree().create_tween()\n" "tween.tween_property($Sprite, \"modulate\", Color.RED, 1)\n" -"tween.tween_property($Sprite, \"масштаб\", Vector2(), 1)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n" "tween.tween_callback($Sprite.queue_free)\n" "[/gdscript]\n" "[csharp]\n" @@ -180763,7 +181778,7 @@ msgstr "" "ланцюговий виклик методу. Наприклад, якщо ви хочете встановити інший тип " "переходу у наведеному вище прикладі, ви можете використати [метод " "set_trans]:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "var tween = get_tree().create_tween()\n" "tween.tween_property($Sprite, \"modulate\", Color.RED, 1).set_trans(Tween." @@ -180784,12 +181799,12 @@ msgstr "" "Більшість методів [Tween] також можна з’єднати таким чином. У наступному " "прикладі [Tween] прив’язано до вузла запущеного сценарію, а для його " "[Tweener]s встановлено перехід за замовчуванням:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "var tween = get_tree().create_tween().bind_node(self).set_trans(Tween." "TRANS_ELASTIC)\n" "tween.tween_property($Sprite, \"modulate\", Color.RED, 1)\n" -"tween.tween_property($Sprite, \"масштаб\", Vector2(), 1)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n" "tween.tween_callback($Sprite.queue_free)\n" "[/gdscript]\n" "[csharp]\n" @@ -180801,15 +181816,15 @@ msgstr "" "[/csharp]\n" "[/codeblocks]\n" "Іншим цікавим використанням [Tween] є анімація довільних наборів об’єктів:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" "var tween = create_tween()\n" "для спрайту в get_children():\n" -" tween.tween_property(спрайт, \"позиція\", Vector2(0, 0), 1)\n" +" tween.tween_property(s, \"position\", Vector2(0, 0), 1)\n" "[/gdscript]\n" "[csharp]\n" "Анімація анімації = CreateTween();\n" -"foreach (спрайт вузла в GetChildren())\n" +"foreach (sprite node в GetChildren())\n" " tween.TweenProperty(sprite, \"position\", Vector2.Zero, 1.0f);\n" "[/csharp]\n" "[/codeblocks]\n" @@ -180820,11 +181835,11 @@ msgstr "" "матиме пріоритет і призначатиме остаточне значення. Якщо ви хочете перервати " "та перезапустити анімацію, розгляньте можливість призначення [Tween] " "змінній:\n" -"[кодові блоки]\n" +"[codeblocks]\n" "[gdscript]\n" -"змінна анімація\n" +"var animate\n" "func animate():\n" -" якщо твін:\n" +" if tween:\n" " tween.kill() # Перервати попередню анімацію.\n" " tween = create_tween()\n" "[/gdscript]\n" @@ -180896,21 +181911,23 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"[code]true[/code].\n" -"[блоки коду]\n" -"[видання]\n" -"var tween = Створення_tween().set_parallel(true)\n" -"tween.tween_property(...)\n" -"tween.tween_property(...) # Триває паралельно з вище.\n" -"tween.chain().tween_property(...) # Запустіть після закінчення двох.\n" -"[/gdscript]\n" -"[csharp]\n" -"Tween tween = СтворитиTween().SetParallel(true);\n" -"твіт. TweenProperty(...);\n" -"твіт. TweenProperty(...); (Українська) Пройдемо паралельно з вище.\n" -"tween.Chain(). TweenProperty(...); (Українська) Пройдемо після закінчення " -"двох.\n" -"[/csharp]\n" +"Використовується для об’єднання двох [Tweener] після того, як [метод " +"set_parallel] викликається з [code]true[/code]. \n" +"[codeblocks] \n" +"[gdscript] \n" +"var tween = create_tween().set_parallel(true) \n" +"tween.tween_property(...) \n" +"tween.tween_property(...) # Буде працювати паралельно з вищевказаним. \n" +"tween.chain().tween_property(...) # Запуститься після завершення двох " +"вищевказаних. \n" +"[/gdscript] \n" +"[csharp] \n" +"Tween tween = CreateTween().SetParallel(true); \n" +"tween.TweenProperty(...); \n" +"tween.TweenProperty(...); // Виконуватиметься паралельно з вищезазначеним. \n" +"tween.Chain().TweenProperty(...); // Запуститься після завершення двох " +"вищезазначених. \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -181035,7 +182052,7 @@ msgstr "" "tween.parallel().tween_property(...) \n" "[/gdscript] \n" "[csharp] \n" -"Анімація анімації = CreateTween(); \n" +"Tween tween = CreateTween(); \n" "tween.TweenProperty(...); \n" "tween.Parallel().TweenProperty(...); \n" "tween.Parallel().TweenProperty(...); \n" @@ -181133,15 +182150,15 @@ msgid "" "with the position tweener.\n" "[/codeblock]" msgstr "" -"Якщо [param паралельно] є [code]true[/code], то [Tweener] застосував після " -"цього методу одночасно за замовчуванням, а не послідовно.\n" -"[b]Note:[/b] Так само, як і з [методом паралелем], твітер доданий прямо до " -"цього способу також буде частиною паралельного кроку.\n" -"[блокування коду]\n" -"tween.tween_property(сама, \"положення\", Vector2(300, 0), 0.5)\n" -"tween.set_parallel()\n" -"tween.tween_property(self, \"мозол\", колір. ЗЕЛЕНИЙ, 0.5) # Виконується " -"разом з позицією твінера.\n" +"Якщо [param parallel] має значення [code]true[/code], [Tweener], додані після " +"цього методу, за умовчанням запускатимуться одночасно, а не послідовно. \n" +"[b]Примітка: [/b] Так само, як і [method parallel], твін, доданий " +"безпосередньо перед цим методом, також буде частиною паралельного кроку. \n" +"[codeblock] \n" +"tween.tween_property(self, \"position\", Vector2(300, 0), 0,5) \n" +"tween.set_parallel() \n" +"tween.tween_property(self, \"modulate\", Color.GREEN, 0.5) # Виконується " +"разом із аніматором позиції. \n" "[/codeblock]" msgid "" @@ -181226,7 +182243,7 @@ msgstr "" "var tween = create_tween() \n" "\n" "# Зміниться від 0 до 500 протягом 1 секунди. \n" -"позиція.x = 0,0 \n" +"position.x = 0,0 \n" "tween.tween_property(self, \"position:x\", 500, 1.0) \n" "\n" "# Коли таймер закінчиться, буде (приблизно) 250. \n" @@ -181274,36 +182291,36 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Створює та доповнює [CallbackTweener]. Цей метод можна використовувати для " -"виклику довільного способу в будь-якому об'єкті. Використовуйте [method " -"Callable.bind], щоб зв'язати додаткові аргументи для виклику.\n" -"[b]Example:[/b] Об'єкт, який зберігає зйомки кожні 1 секунду:\n" -"[блоки коду]\n" -"[видання]\n" -"var tween = get_tree().create_tween().set_loops())\n" -"tween.tween_callback(shoot).set_delay(1)\n" -"[/gdscript]\n" -"[csharp]\n" -"Tween tween = GetTree().CreateTween().SetLoops();\n" -"tween.TweenCallback(Callable.З альбому(Shoot)).SetDelay(1.0f);\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Example:[/b] Увімкніть спрайт червоний і потім синій, з 2 другою " -"затримкою:\n" -"[блоки коду]\n" -"[видання]\n" -"var tween = get_tree().create_tween()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"[/gdscript]\n" -"[csharp]\n" -"Tween tween = GetTree().CreateTween();\n" -"Sprite2D спрайт = GetNode (\"Sprite\");\n" -"tween.TweenCallback(Callable.З(() => sprite.Modulate = Кольори.Red))." -"SetDelay(2.0f);\n" -"tween.TweenCallback(Callable.З(() => sprite.Modulate = Кольори.синій))." -"SetDelay(2.0f);\n" -"[/csharp]\n" +"Створює та додає [CallbackTweener]. Цей метод можна використовувати для " +"виклику довільного методу в будь-якому об’єкті. Використовуйте [метод " +"Callable.bind], щоб зв’язати додаткові аргументи для виклику. \n" +"[b]Приклад:[/b] Об’єкт, який стріляє кожну секунду: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var tween = get_tree().create_tween().set_loops() \n" +"tween.tween_callback(shoot).set_delay(1) \n" +"[/gdscript] \n" +"[csharp] \n" +"Tween tween = GetTree().CreateTween().SetLoops(); \n" +"tween.TweenCallback(Callable.From(Shoot)).SetDelay(1.0f); \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Приклад: [/b] Перетворення спрайту на червоний, а потім на синій із " +"затримкою 2 секунди: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var tween = get_tree().create_tween() \n" +"tween.tween_callback($Sprite.set_modulate.bind(Color.RED)).set_delay(2) \n" +"tween.tween_callback($Sprite.set_modulate.bind(Color.BLUE)).set_delay(2) \n" +"[/gdscript] \n" +"[csharp] \n" +"Tween tween = GetTree().CreateTween(); \n" +"Sprite2D sprite = GetNode(\"Спрайт\"); \n" +"tween.TweenCallback(Callable.From(() => sprite.Modulate = Colors.Red))." +"SetDelay(2.0f); \n" +"tween.TweenCallback(Callable.From(() => sprite.Modulate = Colors.Blue))." +"SetDelay(2.0f); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -181350,46 +182367,47 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Створює та доповнює [IntervalTweener]. Цей метод може бути використаний для " -"створення затримок в анімації твіена, як альтернатива використання затримки в " -"інших [Tweener]s, або коли немає анімації (в якому випадку [Tween] діє як " -"таймер). [param час] - довжина інтервалу, в секундах.\n" -"[b]Example:[/b] Створення інтервалу у виконанні коду:\n" -"[блоки коду]\n" -"[видання]\n" -"# ... деякі коди\n" -"Очікується створення_tween().tween_interval(2).ova\n" -"# ... докладніше\n" -"[/gdscript]\n" -"[csharp]\n" -"// ... деякі коди\n" -"чекає ToSignal(CreateTween(). TweenInterval(2.0f), Tween.SignalName.Fined);\n" -"// докладніше\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Example:[/b] Створення об'єкта, що рухається назад і вперед і стрибає " -"кожні кілька секунд:\n" -"[блоки коду]\n" -"[видання]\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" -"tween.tween_property($Sprite, \"положення:x\", 200.0, 1).as_relative()\n" -"tween.tween_callback(jump)\n" -"tween.tween_interval(2)\n" -"tween.tween_property($Sprite, \"положення:x\", -200.0, 1).as_relative()\n" -"tween.tween_callback(jump)\n" -"tween.tween_interval(2)\n" -"[/gdscript]\n" -"[csharp]\n" -"Tween tween = СтворенняTween().SetLoops();\n" -"твіт. TweenProperty(GetNode(\"Sprite\"), \"положення:x\", 200.0f, 1.0f." -"AsRelative();\n" -"tween.TweenCallback(Callable.З альбому(Jump));\n" -"твіт. TweenInterval(2.0f);\n" -"твіт. TweenProperty(GetNode(\"Sprite\"), \"положення:x\", -200.0f, 1.0f." -"AsRelative();\n" -"tween.TweenCallback(Callable.З альбому(Jump));\n" -"твіт. TweenInterval(2.0f);\n" -"[/csharp]\n" +"Створює та додає [IntervalTweener]. Цей метод можна використовувати для " +"створення затримок в анімації анімації, як альтернативу використанню затримки " +"в інших [Tweener], або коли немає анімації (у цьому випадку [Tween] діє як " +"таймер). [param time] — це довжина інтервалу в секундах. \n" +"[b]Приклад:[/b] Створення інтервалу у виконанні коду: \n" +"[codeblocks] \n" +"[gdscript] \n" +"# ... деякий код \n" +"await create_tween().tween_interval(2).finished \n" +"# ... більше коду \n" +"[/gdscript] \n" +"[csharp] \n" +"// ... деякий код \n" +"await ToSignal(CreateTween().TweenInterval(2.0f), Tween.SignalName." +"Finished); \n" +"// ... більше коду \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Приклад: [/b] Створення об’єкта, який рухається вперед-назад і стрибає " +"кожні кілька секунд: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var tween = create_tween().set_loops() \n" +"tween.tween_property($Sprite, \"position:x\", 200.0, 1).as_relative() \n" +"tween.tween_callback(стрибок) \n" +"tween.tween_interval(2) \n" +"tween.tween_property($Sprite, \"position:x\", -200.0, 1).as_relative() \n" +"tween.tween_callback(стрибок) \n" +"tween.tween_interval(2) \n" +"[/gdscript] \n" +"[csharp] \n" +"Tween tween = CreateTween().SetLoops(); \n" +"tween.TweenProperty(GetNode(\"Sprite\"), \"position:x\", 200.0f, 1.0f)." +"AsRelative(); \n" +"tween.TweenCallback(Callable.From(Jump)); \n" +"tween.TweenInterval(2.0f); \n" +"tween.TweenProperty(GetNode(\"Sprite\"), \"position:x\", -200.0f, 1.0f)." +"AsRelative(); \n" +"tween.TweenCallback(Callable.From(Jump)); \n" +"tween.TweenInterval(2.0f); \n" +"[/csharp] \n" "[/codeblocks]" msgid "" @@ -181443,55 +182461,57 @@ msgid "" "[/csharp]\n" "[/codeblocks]" msgstr "" -"Створює і додає [МетодТвеєр]. Цей метод схожий на поєднання [метод " -"tween_callback] і [метод tween_property]. Він викликає метод з часом, що " -"містить значення, що надається як аргумент. Вартість відправляється між " -"[парою з] і [паром до] протягом часу, зазначеного [парою тривалістю], за " -"секундами. Використовуйте [method Callable.bind], щоб зв'язати додаткові " -"аргументи для виклику. Ви можете використовувати [методметодметод Тевенер." -"set_ease] і [методметод Тевеньер.set_trans], щоб зменшити і перехід значення " -"або [методметод Тевенер.set_delay] для затримки твітіння.\n" -"[b]Example:[/b] Створення об'єкту 3D з одного точки до іншої точки:\n" -"[блоки коду]\n" -"[видання]\n" -"var tween = Створення_tween()\n" +"Створює та додає [MethodTweener]. Цей метод подібний до комбінації [method " +"tween_callback] і [method tween_property]. Він викликає метод з часом із " +"значенням анімації, наданим як аргумент. Значення змінюється між [param from] " +"і [param to] протягом часу, визначеного параметром [param duration], у " +"секундах. Використовуйте [метод Callable.bind], щоб зв’язати додаткові " +"аргументи для виклику. Ви можете використовувати [метод MethodTweener." +"set_ease] і [метод MethodTweener.set_trans], щоб налаштувати плавність і " +"перехід значення, або [метод MethodTweener.set_delay], щоб затримати " +"анімацію. \n" +"[b]Приклад: [/b] Змусити тривимірний об’єкт виглядати з однієї точки на " +"іншу: \n" +"[codeblocks] \n" +"[gdscript] \n" +"var tween = create_tween() \n" "tween.tween_method(look_at.bind(Vector3.UP), Vector3(-1, 0, -1), Vector3(1, " -"0, -1), # 1) Спосіб пошуку_at() приймає вектор як другий аргумент.\n" -"[/gdscript]\n" -"[csharp]\n" -"Tween tween = СтворенняTween();\n" -"твіт. TweenMethod(Callable.З((Vector3 ціль) => LookAt(target, Vector3.Up)), " -"новий Vector3(-1.0f, 0.0f, -1.0f), новий Vector3(1.0f, 0.0f, -1.0f), " -"1.0f); // Використовуйте лямбда, щоб зв'язати додаткові аргументи для " -"виклику.\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Example:[/b] Налаштування тексту [Label], використовуючи проміжний метод і " -"після затримки:\n" -"[блоки коду]\n" -"[видання]\n" -"Func _ready():\n" -"var tween = Створення_tween()\n" -"JavaScript licenses API Веб-сайт Go1.13.8\n" +"0, -1), 1) # Метод look_at() приймає вектор як другий аргумент. \n" +"[/gdscript] \n" +"[csharp] \n" +"Tween tween = CreateTween(); \n" +"tween.TweenMethod(Callable.From((Vector3 target) => LookAt(target, Vector3." +"Up)), new Vector3(-1.0f, 0.0f, -1.0f), new Vector3(1.0f, 0.0f, -1.0f), " +"1.0f); // Використовуйте лямбда-вирази для зв’язування додаткових аргументів " +"для виклику. \n" +"[/csharp] \n" +"[/codeblocks] \n" +"[b]Приклад:[/b] Встановлення тексту [Label] за допомогою проміжного методу та " +"після затримки: \n" +"[codeblocks] \n" +"[gdscript] \n" +"func _ready(): \n" +" var tween = create_tween() \n" +" tween.tween_method(set_label_text, 0, 10, 1).set_delay(1) \n" "\n" -"Функційний набір_label_text(значення: int):\n" -"$Label.text = \"Полювання\" + str(значення)\n" -"[/gdscript]\n" -"[csharp]\n" -"public override _Читати()\n" -"Довідник\n" -"base._Ready();\n" +"func set_label_text(valve: int): \n" +" $Label.text = \"Підрахування\" + str(valve) \n" +"[/gdscript] \n" +"[csharp] \n" +"public override void _Ready() \n" +"{\n" +" base._Ready(); \n" "\n" -"Tween tween = СтворенняTween();\n" -"твіт. TweenMethod(Callable.З альбому(SetLabelText), 0.0f, 10.0f, 1.0f)." -"SetDelay(1.0f);\n" -"Про нас\n" +" Tween tween = CreateTween(); \n" +" tween.TweenMethod(Callable.From(SetLabelText), 0.0f, 10.0f, 1.0f)." +"SetDelay(1.0f); \n" +"}\n" "\n" -"приватний void SetLabelText (ціна значення)\n" -"Довідник\n" -"GetNode