diff --git a/docs b/docs index b45370f8d3..e337af304f 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit b45370f8d31f1b6e9495b1cf195295531e10c415 +Subproject commit e337af304f6b51344147d913c2702f457cfae4d6 diff --git a/sphinx/templates/about/docs_changelog.pot b/sphinx/templates/about/docs_changelog.pot index 540112e141..0ba7ca6bea 100644 --- a/sphinx/templates/about/docs_changelog.pot +++ b/sphinx/templates/about/docs_changelog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/faq.pot b/sphinx/templates/about/faq.pot index 28f1fecc3c..fd12cfb757 100644 --- a/sphinx/templates/about/faq.pot +++ b/sphinx/templates/about/faq.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/index.pot b/sphinx/templates/about/index.pot index 2078d49559..2e7ccc878f 100644 --- a/sphinx/templates/about/index.pot +++ b/sphinx/templates/about/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/introduction.pot b/sphinx/templates/about/introduction.pot index da1b9b8345..74305744b3 100644 --- a/sphinx/templates/about/introduction.pot +++ b/sphinx/templates/about/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/list_of_features.pot b/sphinx/templates/about/list_of_features.pot index 23934ae85a..4fc277ed2c 100644 --- a/sphinx/templates/about/list_of_features.pot +++ b/sphinx/templates/about/list_of_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,1263 +48,1263 @@ msgstr "" msgid "macOS 10.12 and later (64-bit, x86 and ARM)." msgstr "" -#: ../../docs/about/list_of_features.rst:27 +#: ../../docs/about/list_of_features.rst:24 msgid "Linux (64-bit and 32-bit, x86 and ARM)." msgstr "" -#: ../../docs/about/list_of_features.rst:25 +#: ../../docs/about/list_of_features.rst:26 msgid "Binaries are statically linked and can run on any distribution if compiled on an old enough base distribution." msgstr "" -#: ../../docs/about/list_of_features.rst:27 +#: ../../docs/about/list_of_features.rst:28 msgid "Official binaries are compiled on Ubuntu 14.04." msgstr "" -#: ../../docs/about/list_of_features.rst:29 +#: ../../docs/about/list_of_features.rst:30 msgid "**Runs exported projects:**" msgstr "" -#: ../../docs/about/list_of_features.rst:31 +#: ../../docs/about/list_of_features.rst:32 msgid "Android 4.4 and later." msgstr "" -#: ../../docs/about/list_of_features.rst:32 +#: ../../docs/about/list_of_features.rst:33 msgid "iOS 10.0 and later." msgstr "" -#: ../../docs/about/list_of_features.rst:33 +#: ../../docs/about/list_of_features.rst:34 msgid "HTML5 via WebAssembly (Firefox, Chrome, Edge, Opera)." msgstr "" -#: ../../docs/about/list_of_features.rst:34 +#: ../../docs/about/list_of_features.rst:35 msgid ":ref:`Consoles `." msgstr "" -#: ../../docs/about/list_of_features.rst:36 +#: ../../docs/about/list_of_features.rst:37 msgid "Godot aims to be as platform-independent as possible and can be ported to new platforms with relative ease." msgstr "" -#: ../../docs/about/list_of_features.rst:40 +#: ../../docs/about/list_of_features.rst:41 msgid "Editor" msgstr "" -#: ../../docs/about/list_of_features.rst:42 -#: ../../docs/about/list_of_features.rst:77 -#: ../../docs/about/list_of_features.rst:311 +#: ../../docs/about/list_of_features.rst:43 +#: ../../docs/about/list_of_features.rst:85 +#: ../../docs/about/list_of_features.rst:340 msgid "**Features:**" msgstr "" -#: ../../docs/about/list_of_features.rst:44 +#: ../../docs/about/list_of_features.rst:45 msgid "Scene tree editor." msgstr "" -#: ../../docs/about/list_of_features.rst:45 +#: ../../docs/about/list_of_features.rst:46 msgid "Script editor." msgstr "" -#: ../../docs/about/list_of_features.rst:46 +#: ../../docs/about/list_of_features.rst:47 msgid "Support for :ref:`external script editors ` such as Visual Studio Code or Vim." msgstr "" -#: ../../docs/about/list_of_features.rst:48 +#: ../../docs/about/list_of_features.rst:49 msgid "GDScript :ref:`debugger `." msgstr "" -#: ../../docs/about/list_of_features.rst:49 +#: ../../docs/about/list_of_features.rst:51 msgid "No support for debugging in threads yet." msgstr "" -#: ../../docs/about/list_of_features.rst:50 +#: ../../docs/about/list_of_features.rst:52 msgid "Performance monitoring tools." msgstr "" -#: ../../docs/about/list_of_features.rst:51 +#: ../../docs/about/list_of_features.rst:53 msgid "Live script reloading." msgstr "" -#: ../../docs/about/list_of_features.rst:52 +#: ../../docs/about/list_of_features.rst:54 msgid "Live scene editing." msgstr "" -#: ../../docs/about/list_of_features.rst:53 +#: ../../docs/about/list_of_features.rst:56 msgid "Changes will reflect in the editor and will be kept after closing the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:54 +#: ../../docs/about/list_of_features.rst:58 msgid "Remote inspector." msgstr "" -#: ../../docs/about/list_of_features.rst:55 +#: ../../docs/about/list_of_features.rst:60 msgid "Changes won't reflect in the editor and won't be kept after closing the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:56 +#: ../../docs/about/list_of_features.rst:62 msgid "Live camera replication." msgstr "" -#: ../../docs/about/list_of_features.rst:57 +#: ../../docs/about/list_of_features.rst:64 msgid "Move the in-editor camera and see the result in the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:58 +#: ../../docs/about/list_of_features.rst:66 msgid "Use the editor in dozens of languages contributed by the community." msgstr "" -#: ../../docs/about/list_of_features.rst:60 +#: ../../docs/about/list_of_features.rst:68 msgid "**Plugins:**" msgstr "" -#: ../../docs/about/list_of_features.rst:62 +#: ../../docs/about/list_of_features.rst:70 msgid "Editor plugins can be downloaded from the :ref:`asset library ` to extend editor functionality." msgstr "" -#: ../../docs/about/list_of_features.rst:64 +#: ../../docs/about/list_of_features.rst:72 msgid "Create your own plugins using GDScript to add new features or speed up your workflow." msgstr "" -#: ../../docs/about/list_of_features.rst:65 +#: ../../docs/about/list_of_features.rst:73 msgid "Download projects from the asset library in the project manager and import them directly." msgstr "" -#: ../../docs/about/list_of_features.rst:68 +#: ../../docs/about/list_of_features.rst:76 msgid "2D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:70 -#: ../../docs/about/list_of_features.rst:124 +#: ../../docs/about/list_of_features.rst:78 +#: ../../docs/about/list_of_features.rst:142 msgid "**Two renderers available:**" msgstr "" -#: ../../docs/about/list_of_features.rst:72 -#: ../../docs/about/list_of_features.rst:127 +#: ../../docs/about/list_of_features.rst:80 +#: ../../docs/about/list_of_features.rst:145 msgid "OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:73 -#: ../../docs/about/list_of_features.rst:127 +#: ../../docs/about/list_of_features.rst:81 +#: ../../docs/about/list_of_features.rst:145 msgid "High-end visuals. Recommended on desktop platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:75 -#: ../../docs/about/list_of_features.rst:133 +#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:151 msgid "OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:75 -#: ../../docs/about/list_of_features.rst:130 +#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:148 msgid "Recommended on mobile and Web platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:79 +#: ../../docs/about/list_of_features.rst:87 msgid "Sprite, polygon and line rendering." msgstr "" -#: ../../docs/about/list_of_features.rst:80 +#: ../../docs/about/list_of_features.rst:89 msgid "High-level tools to draw lines and polygons such as Polygon2D and Line2D." msgstr "" -#: ../../docs/about/list_of_features.rst:81 +#: ../../docs/about/list_of_features.rst:91 msgid "AnimatedSprite as a helper for creating animated sprites." msgstr "" -#: ../../docs/about/list_of_features.rst:82 +#: ../../docs/about/list_of_features.rst:92 msgid "Parallax layers." msgstr "" -#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:94 msgid "Pseudo-3D support by automatically duplicating a layer several times." msgstr "" -#: ../../docs/about/list_of_features.rst:84 +#: ../../docs/about/list_of_features.rst:96 msgid "2D lighting with normal maps." msgstr "" -#: ../../docs/about/list_of_features.rst:85 +#: ../../docs/about/list_of_features.rst:98 msgid "Hard or soft shadows." msgstr "" -#: ../../docs/about/list_of_features.rst:90 +#: ../../docs/about/list_of_features.rst:100 msgid "Font rendering using bitmaps (BitmapFont) or rasterization using FreeType (DynamicFont)." msgstr "" -#: ../../docs/about/list_of_features.rst:87 +#: ../../docs/about/list_of_features.rst:102 msgid "Bitmap fonts can be exported using tools like BMFont." msgstr "" -#: ../../docs/about/list_of_features.rst:88 +#: ../../docs/about/list_of_features.rst:103 msgid "DynamicFont supports monochrome fonts as well as colored fonts. Supported formats are TTF and OTF." msgstr "" -#: ../../docs/about/list_of_features.rst:90 +#: ../../docs/about/list_of_features.rst:105 msgid "DynamicFont supports optional font outlines with adjustable width and color." msgstr "" -#: ../../docs/about/list_of_features.rst:91 +#: ../../docs/about/list_of_features.rst:106 msgid "Support for font oversampling to keep fonts sharp at higher resolutions." msgstr "" -#: ../../docs/about/list_of_features.rst:92 +#: ../../docs/about/list_of_features.rst:108 msgid "GPU-based particles with support for custom particle shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:93 -#: ../../docs/about/list_of_features.rst:195 +#: ../../docs/about/list_of_features.rst:109 +#: ../../docs/about/list_of_features.rst:215 msgid "CPU-based particles." msgstr "" -#: ../../docs/about/list_of_features.rst:96 +#: ../../docs/about/list_of_features.rst:112 msgid "2D tools" msgstr "" -#: ../../docs/about/list_of_features.rst:98 +#: ../../docs/about/list_of_features.rst:114 msgid "2D camera with built-in smoothing and drag margins." msgstr "" -#: ../../docs/about/list_of_features.rst:100 +#: ../../docs/about/list_of_features.rst:115 msgid "Path2D node to represent a path in 2D space." msgstr "" -#: ../../docs/about/list_of_features.rst:100 -#: ../../docs/about/list_of_features.rst:233 +#: ../../docs/about/list_of_features.rst:117 +#: ../../docs/about/list_of_features.rst:254 msgid "Can be drawn in the editor or generated procedurally." msgstr "" -#: ../../docs/about/list_of_features.rst:101 +#: ../../docs/about/list_of_features.rst:118 msgid "PathFollow2D node to make nodes follow a Path2D." msgstr "" -#: ../../docs/about/list_of_features.rst:102 +#: ../../docs/about/list_of_features.rst:120 msgid "2D geometry helper class." msgstr "" -#: ../../docs/about/list_of_features.rst:103 +#: ../../docs/about/list_of_features.rst:121 msgid "Line2D node to draw textured 2D lines." msgstr "" -#: ../../docs/about/list_of_features.rst:106 +#: ../../docs/about/list_of_features.rst:124 msgid "2D physics" msgstr "" -#: ../../docs/about/list_of_features.rst:108 -#: ../../docs/about/list_of_features.rst:240 +#: ../../docs/about/list_of_features.rst:126 +#: ../../docs/about/list_of_features.rst:262 msgid "**Physics bodies:**" msgstr "" -#: ../../docs/about/list_of_features.rst:110 -#: ../../docs/about/list_of_features.rst:242 +#: ../../docs/about/list_of_features.rst:128 +#: ../../docs/about/list_of_features.rst:264 msgid "Static bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:111 -#: ../../docs/about/list_of_features.rst:243 +#: ../../docs/about/list_of_features.rst:129 +#: ../../docs/about/list_of_features.rst:265 msgid "Rigid bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:112 -#: ../../docs/about/list_of_features.rst:244 +#: ../../docs/about/list_of_features.rst:130 +#: ../../docs/about/list_of_features.rst:266 msgid "Kinematic bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:113 -#: ../../docs/about/list_of_features.rst:246 +#: ../../docs/about/list_of_features.rst:131 +#: ../../docs/about/list_of_features.rst:268 msgid "Joints." msgstr "" -#: ../../docs/about/list_of_features.rst:114 -#: ../../docs/about/list_of_features.rst:249 +#: ../../docs/about/list_of_features.rst:132 +#: ../../docs/about/list_of_features.rst:271 msgid "Areas to detect bodies entering or leaving it." msgstr "" -#: ../../docs/about/list_of_features.rst:116 -#: ../../docs/about/list_of_features.rst:251 +#: ../../docs/about/list_of_features.rst:134 +#: ../../docs/about/list_of_features.rst:273 msgid "**Collision detection:**" msgstr "" -#: ../../docs/about/list_of_features.rst:118 +#: ../../docs/about/list_of_features.rst:136 msgid "Built-in shapes: line, box, circle, capsule." msgstr "" -#: ../../docs/about/list_of_features.rst:119 +#: ../../docs/about/list_of_features.rst:137 msgid "Collision polygons (can be drawn manually or generated from a sprite in the editor)." msgstr "" -#: ../../docs/about/list_of_features.rst:122 +#: ../../docs/about/list_of_features.rst:140 msgid "3D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:128 +#: ../../docs/about/list_of_features.rst:146 msgid "HDR rendering with sRGB." msgstr "" -#: ../../docs/about/list_of_features.rst:131 +#: ../../docs/about/list_of_features.rst:149 msgid "LDR rendering for greater compatibility." msgstr "" -#: ../../docs/about/list_of_features.rst:132 +#: ../../docs/about/list_of_features.rst:150 msgid "Not all features are available. Features available only when using the OpenGL ES 3.0 renderer are marked *GLES3* below." msgstr "" -#: ../../docs/about/list_of_features.rst:135 +#: ../../docs/about/list_of_features.rst:153 msgid "**Camera:**" msgstr "" -#: ../../docs/about/list_of_features.rst:137 +#: ../../docs/about/list_of_features.rst:155 msgid "Perspective, orthographic and frustum-offset cameras." msgstr "" -#: ../../docs/about/list_of_features.rst:139 +#: ../../docs/about/list_of_features.rst:157 msgid "**Physically-based rendering:**" msgstr "" -#: ../../docs/about/list_of_features.rst:141 +#: ../../docs/about/list_of_features.rst:159 msgid "Follows the Disney PBR model." msgstr "" -#: ../../docs/about/list_of_features.rst:142 +#: ../../docs/about/list_of_features.rst:160 msgid "Uses a roughness-metallic workflow with support for ORM textures." msgstr "" -#: ../../docs/about/list_of_features.rst:143 +#: ../../docs/about/list_of_features.rst:161 msgid "Normal mapping." msgstr "" -#: ../../docs/about/list_of_features.rst:144 +#: ../../docs/about/list_of_features.rst:162 msgid "*GLES3:* Parallax/relief mapping with automatic level of detail based on distance." msgstr "" -#: ../../docs/about/list_of_features.rst:145 +#: ../../docs/about/list_of_features.rst:163 msgid "*GLES3:* Sub-surface scattering and transmittance." msgstr "" -#: ../../docs/about/list_of_features.rst:146 +#: ../../docs/about/list_of_features.rst:164 msgid "*GLES3:* Proximity fade (soft particles)." msgstr "" -#: ../../docs/about/list_of_features.rst:147 +#: ../../docs/about/list_of_features.rst:165 msgid "Distance fade which can use alpha blending or dithering to avoid going through the transparent pipeline." msgstr "" -#: ../../docs/about/list_of_features.rst:149 +#: ../../docs/about/list_of_features.rst:167 msgid "Dithering can be determined on a per-pixel or per-object basis." msgstr "" -#: ../../docs/about/list_of_features.rst:151 +#: ../../docs/about/list_of_features.rst:169 msgid "**Real-time lighting:**" msgstr "" -#: ../../docs/about/list_of_features.rst:153 +#: ../../docs/about/list_of_features.rst:171 msgid "Directional lights (sun/moon). Up to 4 per scene." msgstr "" -#: ../../docs/about/list_of_features.rst:154 +#: ../../docs/about/list_of_features.rst:172 msgid "Omnidirectional lights." msgstr "" -#: ../../docs/about/list_of_features.rst:155 +#: ../../docs/about/list_of_features.rst:173 msgid "Spot lights with adjustable cone angle and attenuation." msgstr "" -#: ../../docs/about/list_of_features.rst:157 +#: ../../docs/about/list_of_features.rst:175 msgid "**Shadow mapping:**" msgstr "" -#: ../../docs/about/list_of_features.rst:159 +#: ../../docs/about/list_of_features.rst:177 msgid "*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits." msgstr "" -#: ../../docs/about/list_of_features.rst:161 -msgid "*OmniLight:* Dual parabolid (fast) or cubemap (slower but more accurate). Supports colored projector textures in the form of panoramas." -msgstr "" - -#: ../../docs/about/list_of_features.rst:163 -msgid "*SpotLight:* Single texture." -msgstr "" - -#: ../../docs/about/list_of_features.rst:165 -msgid "**Global illumination with indirect lighting:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:167 -msgid "Baked lightmaps (fast, but can't be updated at run-time)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:168 -msgid "Lightmaps are baked on the CPU." -msgstr "" - -#: ../../docs/about/list_of_features.rst:169 -msgid "*GLES3:* GI probes (slower, semi-real-time). Supports reflections." -msgstr "" - -#: ../../docs/about/list_of_features.rst:171 -msgid "**Reflections:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:173 -msgid "*GLES3:* Voxel-based reflections (when using GI probes)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:174 -msgid "Fast baked reflections or slow real-time reflections using ReflectionProbe. Parallax correction can optionally be enabled." -msgstr "" - -#: ../../docs/about/list_of_features.rst:176 -msgid "*GLES3:* Screen-space reflections." -msgstr "" - -#: ../../docs/about/list_of_features.rst:177 -msgid "Reflection techniques can be mixed together for greater accuracy." -msgstr "" - #: ../../docs/about/list_of_features.rst:179 -msgid "**Sky:**" +msgid "*OmniLight:* Dual paraboloid (fast) or cubemap (slower but more accurate). Supports colored projector textures in the form of panoramas." msgstr "" #: ../../docs/about/list_of_features.rst:181 -msgid "Panorama sky (using an HDRI)." +msgid "*SpotLight:* Single texture." msgstr "" -#: ../../docs/about/list_of_features.rst:182 -msgid "Procedural sky." +#: ../../docs/about/list_of_features.rst:183 +msgid "**Global illumination with indirect lighting:**" msgstr "" -#: ../../docs/about/list_of_features.rst:184 -msgid "**Fog:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:186 -msgid "Depth fog with an adjustable attenuation curve." +#: ../../docs/about/list_of_features.rst:185 +msgid "Baked lightmaps (fast, but can't be updated at run-time)." msgstr "" #: ../../docs/about/list_of_features.rst:187 -msgid "Height fog (floor or ceiling) with adjustable attenuation." +msgid "Lightmaps are baked on the CPU." msgstr "" -#: ../../docs/about/list_of_features.rst:188 -msgid "Support for automatic depth fog color depending on the camera direction (to match the sun color)." +#: ../../docs/about/list_of_features.rst:189 +msgid "*GLES3:* GI probes (slower, semi-real-time). Supports reflections." msgstr "" -#: ../../docs/about/list_of_features.rst:190 -msgid "Optional transmittance to make lights more visible in the fog." +#: ../../docs/about/list_of_features.rst:191 +msgid "**Reflections:**" msgstr "" -#: ../../docs/about/list_of_features.rst:192 -msgid "**Particles:**" +#: ../../docs/about/list_of_features.rst:193 +msgid "*GLES3:* Voxel-based reflections (when using GI probes)." msgstr "" #: ../../docs/about/list_of_features.rst:194 -msgid "*GLES3:* GPU-based particles with support for custom particle shaders." +msgid "Fast baked reflections or slow real-time reflections using ReflectionProbe. Parallax correction can optionally be enabled." +msgstr "" + +#: ../../docs/about/list_of_features.rst:196 +msgid "*GLES3:* Screen-space reflections." msgstr "" #: ../../docs/about/list_of_features.rst:197 -msgid "**Post-processing:**" +msgid "Reflection techniques can be mixed together for greater accuracy." msgstr "" #: ../../docs/about/list_of_features.rst:199 -msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:200 -msgid "*GLES3:* Automatic exposure adjustments based on viewport brightness." +msgid "**Sky:**" msgstr "" #: ../../docs/about/list_of_features.rst:201 -msgid "*GLES3:* Near and far depth of field." +msgid "Panorama sky (using an HDRI)." msgstr "" #: ../../docs/about/list_of_features.rst:202 -msgid "*GLES3:* Screen-space ambient occlusion." +msgid "Procedural sky." msgstr "" -#: ../../docs/about/list_of_features.rst:203 -msgid "Glow/bloom with optional bicubic upscaling and several blend modes available: Screen, Soft Light, Add, Replace." -msgstr "" - -#: ../../docs/about/list_of_features.rst:205 -msgid "Color correction using an one-dimensional ramp." +#: ../../docs/about/list_of_features.rst:204 +msgid "**Fog:**" msgstr "" #: ../../docs/about/list_of_features.rst:206 -msgid "Brightness, contrast and saturation adjustments." +msgid "Depth fog with an adjustable attenuation curve." +msgstr "" + +#: ../../docs/about/list_of_features.rst:207 +msgid "Height fog (floor or ceiling) with adjustable attenuation." msgstr "" #: ../../docs/about/list_of_features.rst:208 -msgid "**Texture filtering:**" +msgid "Support for automatic depth fog color depending on the camera direction (to match the sun color)." msgstr "" #: ../../docs/about/list_of_features.rst:210 -msgid "Nearest, bilinear, trilinear or anisotropic filtering." +msgid "Optional transmittance to make lights more visible in the fog." msgstr "" #: ../../docs/about/list_of_features.rst:212 -msgid "**Texture compression:**" +msgid "**Particles:**" msgstr "" #: ../../docs/about/list_of_features.rst:214 -msgid "*GLES3:* BPTC for high-quality compression (not supported on macOS)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:215 -msgid "*GLES3:* ETC2 (not supported on macOS)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:216 -msgid "ETC1 (recommended when using the GLES2 renderer)." +msgid "*GLES3:* GPU-based particles with support for custom particle shaders." msgstr "" #: ../../docs/about/list_of_features.rst:217 -msgid "*GLES3:* S3TC (not supported on mobile/Web platforms)." +msgid "**Post-processing:**" msgstr "" #: ../../docs/about/list_of_features.rst:219 -msgid "**Anti-aliasing:**" +msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:220 +msgid "*GLES3:* Automatic exposure adjustments based on viewport brightness." msgstr "" #: ../../docs/about/list_of_features.rst:221 -msgid "Multi-sample antialiasing (MSAA)." +msgid "*GLES3:* Near and far depth of field." +msgstr "" + +#: ../../docs/about/list_of_features.rst:222 +msgid "*GLES3:* Screen-space ambient occlusion." msgstr "" #: ../../docs/about/list_of_features.rst:223 -msgid "Most of these effects can be adjusted for better performance or to further improve quality. This can be helpful when using Godot for offline rendering." +msgid "Glow/bloom with optional bicubic upscaling and several blend modes available: Screen, Soft Light, Add, Replace." msgstr "" -#: ../../docs/about/list_of_features.rst:227 -msgid "3D tools" +#: ../../docs/about/list_of_features.rst:225 +msgid "Color correction using an one-dimensional ramp." msgstr "" -#: ../../docs/about/list_of_features.rst:229 -msgid "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad." +#: ../../docs/about/list_of_features.rst:226 +msgid "Brightness, contrast and saturation adjustments." +msgstr "" + +#: ../../docs/about/list_of_features.rst:228 +msgid "**Texture filtering:**" msgstr "" #: ../../docs/about/list_of_features.rst:230 -msgid "Tools for :ref:`procedural geometry generation `." +msgid "Nearest, bilinear, trilinear or anisotropic filtering." msgstr "" -#: ../../docs/about/list_of_features.rst:231 -msgid ":ref:`Constructive solid geometry ` (intended for prototyping)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:233 -msgid "Path3D node to represent a path in 3D space." +#: ../../docs/about/list_of_features.rst:232 +msgid "**Texture compression:**" msgstr "" #: ../../docs/about/list_of_features.rst:234 -msgid "PathFollow3D node to make nodes follow a Path3D." +msgid "*GLES3:* BPTC for high-quality compression (not supported on macOS)." msgstr "" #: ../../docs/about/list_of_features.rst:235 -msgid "3D geometry helper class." +msgid "*GLES3:* ETC2 (not supported on macOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:238 -msgid "3D physics" +#: ../../docs/about/list_of_features.rst:236 +msgid "ETC1 (recommended when using the GLES2 renderer)." msgstr "" -#: ../../docs/about/list_of_features.rst:245 -msgid "Vehicle bodies (intended for arcade physics, not simulation)." +#: ../../docs/about/list_of_features.rst:237 +msgid "*GLES3:* S3TC (not supported on mobile/Web platforms)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:239 +msgid "**Anti-aliasing:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:241 +msgid "Multi-sample antialiasing (MSAA)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:243 +msgid "Most of these effects can be adjusted for better performance or to further improve quality. This can be helpful when using Godot for offline rendering." msgstr "" #: ../../docs/about/list_of_features.rst:247 -msgid "Soft bodies." +msgid "3D tools" msgstr "" -#: ../../docs/about/list_of_features.rst:248 -msgid "Ragdolls." +#: ../../docs/about/list_of_features.rst:249 +msgid "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad." msgstr "" -#: ../../docs/about/list_of_features.rst:253 -msgid "Built-in shapes: cuboid, sphere, capsule, cylinder (only with Bullet physics)." +#: ../../docs/about/list_of_features.rst:250 +msgid "Tools for :ref:`procedural geometry generation `." msgstr "" -#: ../../docs/about/list_of_features.rst:254 -msgid "Generate triangle collision shapes for any mesh from the editor." +#: ../../docs/about/list_of_features.rst:251 +msgid ":ref:`Constructive solid geometry ` (intended for prototyping)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:252 +msgid "Path3D node to represent a path in 3D space." msgstr "" #: ../../docs/about/list_of_features.rst:255 -msgid "Generate one or several convex collision shapes for any mesh from the editor." +msgid "PathFollow3D node to make nodes follow a Path3D." msgstr "" -#: ../../docs/about/list_of_features.rst:258 -msgid "Shaders" +#: ../../docs/about/list_of_features.rst:257 +msgid "3D geometry helper class." msgstr "" #: ../../docs/about/list_of_features.rst:260 -msgid "*2D:* Custom vertex, fragment, and light shaders." -msgstr "" - -#: ../../docs/about/list_of_features.rst:261 -msgid "*3D:* Custom vertex, fragment, light, and sky shaders." -msgstr "" - -#: ../../docs/about/list_of_features.rst:262 -msgid "Text-based shaders using a `shader language inspired by GLSL `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:264 -msgid "Visual shader editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:264 -msgid "Support for visual shader plugins." +msgid "3D physics" msgstr "" #: ../../docs/about/list_of_features.rst:267 -msgid "Scripting" +msgid "Vehicle bodies (intended for arcade physics, not simulation)." msgstr "" #: ../../docs/about/list_of_features.rst:269 -msgid "**General:**" +msgid "Soft bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:271 -msgid "Object-oriented design pattern with scripts extending nodes." +#: ../../docs/about/list_of_features.rst:270 +msgid "Ragdolls." msgstr "" -#: ../../docs/about/list_of_features.rst:272 -msgid "Signals and groups for communicating between scripts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:273 -msgid "Support for :ref:`cross-language scripting `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:274 -msgid "Many 2D and 3D linear algebra data types such as vectors and transforms." +#: ../../docs/about/list_of_features.rst:275 +msgid "Built-in shapes: cuboid, sphere, capsule, cylinder (only with Bullet physics)." msgstr "" #: ../../docs/about/list_of_features.rst:276 -msgid ":ref:`GDScript: `" +msgid "Generate triangle collision shapes for any mesh from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:278 -msgid ":ref:`High-level interpreted language ` with :ref:`optional static typing `." +#: ../../docs/about/list_of_features.rst:277 +msgid "Generate one or several convex collision shapes for any mesh from the editor." msgstr "" #: ../../docs/about/list_of_features.rst:280 -msgid "Syntax inspired by Python." -msgstr "" - -#: ../../docs/about/list_of_features.rst:281 -msgid "Syntax highlighting is provided on GitHub." +msgid "Shaders" msgstr "" #: ../../docs/about/list_of_features.rst:282 -msgid ":ref:`Use threads ` to perform asynchronous actions or make use of multiple processor cores." +msgid "*2D:* Custom vertex, fragment, and light shaders." +msgstr "" + +#: ../../docs/about/list_of_features.rst:283 +msgid "*3D:* Custom vertex, fragment, light, and sky shaders." +msgstr "" + +#: ../../docs/about/list_of_features.rst:284 +msgid "Text-based shaders using a `shader language inspired by GLSL `." msgstr "" #: ../../docs/about/list_of_features.rst:285 -msgid ":ref:`C#: `" +msgid "Visual shader editor." msgstr "" #: ../../docs/about/list_of_features.rst:287 -msgid "Packaged in a separate binary to keep file sizes and dependencies down." -msgstr "" - -#: ../../docs/about/list_of_features.rst:288 -msgid "Uses Mono 6.x." -msgstr "" - -#: ../../docs/about/list_of_features.rst:289 -msgid "Full support for the C# 7.0 syntax and features." +msgid "Support for visual shader plugins." msgstr "" #: ../../docs/about/list_of_features.rst:290 -msgid "Supports all platforms." +msgid "Scripting" msgstr "" -#: ../../docs/about/list_of_features.rst:291 -msgid "Using an external editor is recommended to benefit from IDE functionality." +#: ../../docs/about/list_of_features.rst:292 +msgid "**General:**" msgstr "" -#: ../../docs/about/list_of_features.rst:293 -msgid ":ref:`VisualScript: `" +#: ../../docs/about/list_of_features.rst:294 +msgid "Object-oriented design pattern with scripts extending nodes." msgstr "" #: ../../docs/about/list_of_features.rst:295 -msgid ":ref:`Graph-based visual scripting language `." +msgid "Signals and groups for communicating between scripts." msgstr "" #: ../../docs/about/list_of_features.rst:296 -msgid "Works best when used for specific purposes (such as level-specific logic) rather than as a language to create entire projects." +msgid "Support for :ref:`cross-language scripting `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:297 +msgid "Many 2D and 3D linear algebra data types such as vectors and transforms." msgstr "" #: ../../docs/about/list_of_features.rst:299 -msgid "**GDNative (C, C++, Rust, D, ...):**" +msgid ":ref:`GDScript: `" msgstr "" -#: ../../docs/about/list_of_features.rst:302 -msgid "When you need it, link to native libraries for higher performance and third-party integrations." +#: ../../docs/about/list_of_features.rst:301 +msgid ":ref:`High-level interpreted language ` with :ref:`optional static typing `." msgstr "" -#: ../../docs/about/list_of_features.rst:302 -msgid "For scripting game logic, GDScript or C# are recommended if their performance is suitable." +#: ../../docs/about/list_of_features.rst:303 +msgid "Syntax inspired by Python." msgstr "" #: ../../docs/about/list_of_features.rst:304 -msgid "Official bindings for C and C++." +msgid "Syntax highlighting is provided on GitHub." msgstr "" #: ../../docs/about/list_of_features.rst:305 -msgid "Use any build system and language features you wish." +msgid ":ref:`Use threads ` to perform asynchronous actions or make use of multiple processor cores." msgstr "" -#: ../../docs/about/list_of_features.rst:306 -msgid "Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community." +#: ../../docs/about/list_of_features.rst:308 +msgid ":ref:`C#: `" msgstr "" -#: ../../docs/about/list_of_features.rst:309 -msgid "Audio" +#: ../../docs/about/list_of_features.rst:310 +msgid "Packaged in a separate binary to keep file sizes and dependencies down." +msgstr "" + +#: ../../docs/about/list_of_features.rst:311 +msgid "Uses Mono 6.x." msgstr "" #: ../../docs/about/list_of_features.rst:313 -msgid "Mono, stereo, 5.1 and 7.1 output." -msgstr "" - -#: ../../docs/about/list_of_features.rst:314 -msgid "Non-positional and positional playback in 2D and 3D." +msgid "Full support for the C# 7.0 syntax and features." msgstr "" #: ../../docs/about/list_of_features.rst:315 -msgid "Optional Doppler effect in 2D and 3D." +msgid "Supports all platforms." msgstr "" #: ../../docs/about/list_of_features.rst:316 -msgid "Support for re-routable :ref:`audio buses ` and effects." -msgstr "" - -#: ../../docs/about/list_of_features.rst:317 -msgid "Dozens of effects included." +msgid "Using an external editor is recommended to benefit from IDE functionality." msgstr "" #: ../../docs/about/list_of_features.rst:318 -msgid "Listener3D node to listen from a position different than the camera in 3D." +msgid ":ref:`VisualScript: `" msgstr "" -#: ../../docs/about/list_of_features.rst:319 -msgid "Audio input to record microphones." +#: ../../docs/about/list_of_features.rst:320 +msgid ":ref:`Graph-based visual scripting language `." msgstr "" #: ../../docs/about/list_of_features.rst:321 -msgid "MIDI input." +msgid "Works best when used for specific purposes (such as level-specific logic) rather than as a language to create entire projects." msgstr "" -#: ../../docs/about/list_of_features.rst:321 -msgid "No support for MIDI output yet." -msgstr "" - -#: ../../docs/about/list_of_features.rst:323 -msgid "**APIs used:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:325 -msgid "*Windows:* WASAPI." +#: ../../docs/about/list_of_features.rst:324 +msgid "**GDNative (C, C++, Rust, D, ...):**" msgstr "" #: ../../docs/about/list_of_features.rst:326 -msgid "*macOS:* CoreAudio." +msgid "When you need it, link to native libraries for higher performance and third-party integrations." msgstr "" -#: ../../docs/about/list_of_features.rst:327 -msgid "*Linux:* PulseAudio or ALSA." +#: ../../docs/about/list_of_features.rst:328 +msgid "For scripting game logic, GDScript or C# are recommended if their performance is suitable." msgstr "" -#: ../../docs/about/list_of_features.rst:330 -msgid "Import" +#: ../../docs/about/list_of_features.rst:331 +msgid "Official bindings for C and C++." msgstr "" -#: ../../docs/about/list_of_features.rst:332 -msgid "Support for :ref:`custom import plugins `." +#: ../../docs/about/list_of_features.rst:333 +msgid "Use any build system and language features you wish." msgstr "" -#: ../../docs/about/list_of_features.rst:334 -msgid "**Formats:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:336 -msgid "*Images:* See :ref:`doc_importing_images_supported_formats`." +#: ../../docs/about/list_of_features.rst:335 +msgid "Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community." msgstr "" #: ../../docs/about/list_of_features.rst:338 -msgid "*Audio:*" -msgstr "" - -#: ../../docs/about/list_of_features.rst:338 -msgid "WAV with optional IMA-ADPCM compression." -msgstr "" - -#: ../../docs/about/list_of_features.rst:339 -msgid "Ogg Vorbis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:346 -msgid "*3D scenes:*" -msgstr "" - -#: ../../docs/about/list_of_features.rst:341 -msgid "glTF 2.0 *(recommended)*." +msgid "Audio" msgstr "" #: ../../docs/about/list_of_features.rst:342 -msgid "`ESCN `__ (direct export from Blender)." +msgid "Mono, stereo, 5.1 and 7.1 output." msgstr "" -#: ../../docs/about/list_of_features.rst:344 -msgid "FBX (experimental)." +#: ../../docs/about/list_of_features.rst:343 +msgid "Non-positional and positional playback in 2D and 3D." msgstr "" #: ../../docs/about/list_of_features.rst:345 -msgid "Collada (.dae)." +msgid "Optional Doppler effect in 2D and 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:346 -msgid "Wavefront OBJ (static scenes only, can be loaded directly as a mesh)." +#: ../../docs/about/list_of_features.rst:347 +msgid "Support for re-routable :ref:`audio buses ` and effects with dozens of effects included." msgstr "" #: ../../docs/about/list_of_features.rst:349 -msgid "Input" +msgid "Listener3D node to listen from a position different than the camera in 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:352 -msgid "Input mapping system using hardcoded input events or remappable input actions." +#: ../../docs/about/list_of_features.rst:350 +msgid "Audio input to record microphones." msgstr "" -#: ../../docs/about/list_of_features.rst:352 -msgid "Axis values can be mapped to two different actions with a configurable deadzone." +#: ../../docs/about/list_of_features.rst:351 +msgid "MIDI input." msgstr "" #: ../../docs/about/list_of_features.rst:353 -msgid "Use the same code to support both keyboards and gamepads." +msgid "No support for MIDI output yet." msgstr "" -#: ../../docs/about/list_of_features.rst:354 -msgid "Keyboard input." +#: ../../docs/about/list_of_features.rst:355 +msgid "**APIs used:**" msgstr "" #: ../../docs/about/list_of_features.rst:357 -msgid "Mouse input." +msgid "*Windows:* WASAPI." msgstr "" -#: ../../docs/about/list_of_features.rst:356 -msgid "The mouse cursor can be visible, hidden, captured or confined within the window." -msgstr "" - -#: ../../docs/about/list_of_features.rst:357 -msgid "When captured, raw input will be used on Windows and Linux to sidestep the OS' mouse acceleration settings." +#: ../../docs/about/list_of_features.rst:358 +msgid "*macOS:* CoreAudio." msgstr "" #: ../../docs/about/list_of_features.rst:359 -msgid "Gamepad input (up to 8 simulatenous controllers)." +msgid "*Linux:* PulseAudio or ALSA." msgstr "" -#: ../../docs/about/list_of_features.rst:360 -msgid "Pen/tablet input with pressure support." +#: ../../docs/about/list_of_features.rst:362 +msgid "Import" msgstr "" -#: ../../docs/about/list_of_features.rst:363 -msgid "Navigation" -msgstr "" - -#: ../../docs/about/list_of_features.rst:365 -msgid "A* algorithm in 2D and 3D." +#: ../../docs/about/list_of_features.rst:364 +msgid "Support for :ref:`custom import plugins `." msgstr "" #: ../../docs/about/list_of_features.rst:366 -msgid "Navigation meshes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:367 -msgid "Support for dynamic obstacle avoidance planned in Godot 4.0." +msgid "**Formats:**" msgstr "" #: ../../docs/about/list_of_features.rst:368 -msgid "Generate navigation meshes from the editor." +msgid "*Images:* See :ref:`doc_import_images`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:369 +msgid "*Audio:*" msgstr "" #: ../../docs/about/list_of_features.rst:371 -msgid "Networking" +msgid "WAV with optional IMA-ADPCM compression." msgstr "" -#: ../../docs/about/list_of_features.rst:373 -msgid "Low-level TCP networking using StreamPeer and TCP_Server." +#: ../../docs/about/list_of_features.rst:372 +msgid "Ogg Vorbis." msgstr "" #: ../../docs/about/list_of_features.rst:374 -msgid "Low-level UDP networking using PacketPeer and UDPServer." -msgstr "" - -#: ../../docs/about/list_of_features.rst:375 -msgid "Low-level HTTP requests using HTTPClient." +msgid "*3D scenes:*" msgstr "" #: ../../docs/about/list_of_features.rst:376 -msgid "High-level HTTP requests using HTTPRequest." +msgid "glTF 2.0 *(recommended)*." msgstr "" #: ../../docs/about/list_of_features.rst:377 -msgid "Supports HTTPS out of the box using bundled certificates." +msgid "`ESCN `__ (direct export from Blender)." msgstr "" #: ../../docs/about/list_of_features.rst:379 -msgid "High-level multiplayer API using UDP and ENet." -msgstr "" - -#: ../../docs/about/list_of_features.rst:379 -msgid "Automatic replication using remote procedure calls (RPCs)." +msgid "FBX (experimental)." msgstr "" #: ../../docs/about/list_of_features.rst:380 -msgid "Supports unreliable, reliable and ordered transfers." +msgid "Collada (.dae)." msgstr "" #: ../../docs/about/list_of_features.rst:381 -msgid "WebSocket client and server, available on all platforms." +msgid "Wavefront OBJ (static scenes only, can be loaded directly as a mesh)." msgstr "" -#: ../../docs/about/list_of_features.rst:382 -msgid "WebRTC client and server, available on all platforms." +#: ../../docs/about/list_of_features.rst:384 +msgid "Input" msgstr "" -#: ../../docs/about/list_of_features.rst:383 -msgid "Support for UPnP to sidestep the requirement to forward ports when hosting a server behind a NAT." +#: ../../docs/about/list_of_features.rst:386 +msgid "Input mapping system using hardcoded input events or remappable input actions." msgstr "" -#: ../../docs/about/list_of_features.rst:387 -msgid "Internationalization" +#: ../../docs/about/list_of_features.rst:388 +msgid "Axis values can be mapped to two different actions with a configurable deadzone." msgstr "" #: ../../docs/about/list_of_features.rst:389 -msgid "Full support for Unicode including emoji." +msgid "Use the same code to support both keyboards and gamepads." msgstr "" -#: ../../docs/about/list_of_features.rst:390 -msgid "Store localization strings using :ref:`CSV ` or :ref:`gettext `." +#: ../../docs/about/list_of_features.rst:391 +msgid "Keyboard input." msgstr "" -#: ../../docs/about/list_of_features.rst:392 -msgid "Use localized strings in your project automatically in GUI elements or by using the ``tr()`` function." +#: ../../docs/about/list_of_features.rst:393 +msgid "Keys can be mapped in \"physical\" mode to be independent of the keyboard layout." msgstr "" -#: ../../docs/about/list_of_features.rst:394 -msgid "Support for right-to-left typesetting and text shaping planned in Godot 4.0." +#: ../../docs/about/list_of_features.rst:395 +msgid "Mouse input." msgstr "" #: ../../docs/about/list_of_features.rst:397 -msgid "Windowing and OS integration" +msgid "The mouse cursor can be visible, hidden, captured or confined within the window." msgstr "" -#: ../../docs/about/list_of_features.rst:399 -msgid "Move, resize, minimize, and maximize the window spawned by the project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:400 -msgid "Change the window title and icon." +#: ../../docs/about/list_of_features.rst:398 +msgid "When captured, raw input will be used on Windows and Linux to sidestep the OS' mouse acceleration settings." msgstr "" #: ../../docs/about/list_of_features.rst:401 -msgid "Request attention (will cause the title bar to blink on most platforms)." +msgid "Gamepad input (up to 8 simulatenous controllers)." msgstr "" -#: ../../docs/about/list_of_features.rst:403 -msgid "Fullscreen mode." -msgstr "" - -#: ../../docs/about/list_of_features.rst:403 -msgid "Doesn't use exclusive fullscreen, so the screen resolution can't be changed this way. Use a Viewport with a different resolution instead." +#: ../../docs/about/list_of_features.rst:402 +msgid "Pen/tablet input with pressure support." msgstr "" #: ../../docs/about/list_of_features.rst:405 -msgid "Borderless window (fullscreen or non-fullscreen)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:406 -msgid "Ability to keep the window always on top." +msgid "Navigation" msgstr "" #: ../../docs/about/list_of_features.rst:407 -msgid "Transparent window with per-pixel transparency." +msgid "A* algorithm in 2D and 3D." msgstr "" #: ../../docs/about/list_of_features.rst:408 -msgid "Global menu integration on macOS." +msgid "Navigation meshes." msgstr "" #: ../../docs/about/list_of_features.rst:409 -msgid "Execute commands in a blocking or non-blocking manner." +msgid "Support for dynamic obstacle avoidance planned in Godot 4.0." msgstr "" #: ../../docs/about/list_of_features.rst:410 -msgid "Open file paths and URLs using default or custom protocol handlers (if registered on the system)." +msgid "Generate navigation meshes from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:411 -msgid "Parse custom command line arguments." +#: ../../docs/about/list_of_features.rst:413 +msgid "Networking" msgstr "" -#: ../../docs/about/list_of_features.rst:414 -msgid "Mobile" +#: ../../docs/about/list_of_features.rst:415 +msgid "Low-level TCP networking using StreamPeer and TCP_Server." msgstr "" #: ../../docs/about/list_of_features.rst:416 -msgid "In-app purchases on Android and iOS." +msgid "Low-level UDP networking using PacketPeer and UDPServer." msgstr "" #: ../../docs/about/list_of_features.rst:417 -msgid "Support for advertisements using third-party modules." +msgid "Low-level HTTP requests using HTTPClient." +msgstr "" + +#: ../../docs/about/list_of_features.rst:418 +msgid "High-level HTTP requests using HTTPRequest." msgstr "" #: ../../docs/about/list_of_features.rst:420 -msgid "XR support (AR and VR)" +msgid "Supports HTTPS out of the box using bundled certificates." msgstr "" #: ../../docs/about/list_of_features.rst:422 -msgid "Support for ARKit on iOS out of the box." -msgstr "" - -#: ../../docs/about/list_of_features.rst:423 -msgid "Support for the OpenXR and OpenVR APIs." +msgid "High-level multiplayer API using UDP and ENet." msgstr "" #: ../../docs/about/list_of_features.rst:424 -msgid "Popular VR headsets like the Oculus Quest and HTC Vive are supported thanks to plugins." +msgid "Automatic replication using remote procedure calls (RPCs)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:425 +msgid "Supports unreliable, reliable and ordered transfers." msgstr "" #: ../../docs/about/list_of_features.rst:427 -msgid "GUI system" +msgid "WebSocket client and server, available on all platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:428 +msgid "WebRTC client and server, available on all platforms." msgstr "" #: ../../docs/about/list_of_features.rst:429 -msgid "Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons." +msgid "Support for UPnP to sidestep the requirement to forward ports when hosting a server behind a NAT." msgstr "" -#: ../../docs/about/list_of_features.rst:432 -msgid "**Nodes:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:434 -msgid "Buttons." +#: ../../docs/about/list_of_features.rst:433 +msgid "Internationalization" msgstr "" #: ../../docs/about/list_of_features.rst:435 -msgid "Checkboxes, check buttons, radio buttons." +msgid "Full support for Unicode including emoji." msgstr "" #: ../../docs/about/list_of_features.rst:436 -msgid "Text entry using LineEdit (single line) and TextEdit (multiple lines)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:437 -msgid "Dropdown menus using PopupMenu and OptionButton." +msgid "Store localization strings using :ref:`CSV ` or :ref:`gettext `." msgstr "" #: ../../docs/about/list_of_features.rst:438 -msgid "Scrollbars." -msgstr "" - -#: ../../docs/about/list_of_features.rst:439 -msgid "Labels." +msgid "Use localized strings in your project automatically in GUI elements or by using the ``tr()`` function." msgstr "" #: ../../docs/about/list_of_features.rst:440 -msgid "RichTextLabel for :ref:`text formatted using BBCode `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:441 -msgid "Trees (can also be used to represent tables)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:442 -msgid "Containers (horizontal, vertical, grid, center, margin, draggable splitter, ...)." +msgid "Support for right-to-left typesetting and text shaping planned in Godot 4.0." msgstr "" #: ../../docs/about/list_of_features.rst:443 -msgid "Controls can be rotated and scaled." +msgid "Windowing and OS integration" msgstr "" #: ../../docs/about/list_of_features.rst:445 -msgid "**Sizing:**" +msgid "Move, resize, minimize, and maximize the window spawned by the project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:446 +msgid "Change the window title and icon." msgstr "" #: ../../docs/about/list_of_features.rst:447 -msgid "Anchors to keep GUI elements in a specific corner, edge or centered." +msgid "Request attention (will cause the title bar to blink on most platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:452 -msgid "Containers to place GUI elements automatically following certain rules." -msgstr "" - -#: ../../docs/about/list_of_features.rst:449 -msgid ":ref:`Stack ` layouts." +#: ../../docs/about/list_of_features.rst:448 +msgid "Fullscreen mode." msgstr "" #: ../../docs/about/list_of_features.rst:450 -msgid ":ref:`Grid ` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:451 -msgid ":ref:`Margin ` and :ref:`centered ` layouts." +msgid "Doesn't use exclusive fullscreen, so the screen resolution can't be changed this way. Use a Viewport with a different resolution instead." msgstr "" #: ../../docs/about/list_of_features.rst:453 -msgid ":ref:`Draggable splitter ` layouts." +msgid "Borderless window (fullscreen or non-fullscreen)." msgstr "" #: ../../docs/about/list_of_features.rst:454 -msgid "Scale to multiple resolutions using the ``2d`` or ``viewport`` stretch modes." +msgid "Ability to keep the window always on top." msgstr "" #: ../../docs/about/list_of_features.rst:455 -msgid "Support any aspect ratio using anchors and the ``expand`` stretch aspect." +msgid "Transparent window with per-pixel transparency." +msgstr "" + +#: ../../docs/about/list_of_features.rst:456 +msgid "Global menu integration on macOS." msgstr "" #: ../../docs/about/list_of_features.rst:457 -msgid "**Theming:**" +msgid "Execute commands in a blocking or non-blocking manner." +msgstr "" + +#: ../../docs/about/list_of_features.rst:458 +msgid "Open file paths and URLs using default or custom protocol handlers (if registered on the system)." msgstr "" #: ../../docs/about/list_of_features.rst:459 -msgid "Built-in theme editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:460 -msgid "Generate a theme based on the current editor theme settings." -msgstr "" - -#: ../../docs/about/list_of_features.rst:461 -msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." +msgid "Parse custom command line arguments." msgstr "" #: ../../docs/about/list_of_features.rst:462 -msgid "Supports rounded/beveled corners, drop shadows and per-border widths." +msgid "Mobile" msgstr "" -#: ../../docs/about/list_of_features.rst:463 -msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." +#: ../../docs/about/list_of_features.rst:464 +msgid "In-app purchases on Android and iOS." msgstr "" #: ../../docs/about/list_of_features.rst:465 -msgid "Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt." +msgid "Support for advertisements using third-party modules." msgstr "" -#: ../../docs/about/list_of_features.rst:469 -msgid "Animation" +#: ../../docs/about/list_of_features.rst:468 +msgid "XR support (AR and VR)" +msgstr "" + +#: ../../docs/about/list_of_features.rst:470 +msgid "Support for ARKit on iOS out of the box." msgstr "" #: ../../docs/about/list_of_features.rst:471 -msgid "Direct kinematics and inverse kinematics." +msgid "Support for the OpenXR and OpenVR APIs." msgstr "" #: ../../docs/about/list_of_features.rst:472 -msgid "Support for animating any property with customizable interpolation." -msgstr "" - -#: ../../docs/about/list_of_features.rst:473 -msgid "Support for calling methods in animation tracks." -msgstr "" - -#: ../../docs/about/list_of_features.rst:474 -msgid "Support for playing sounds in animation tracks." +msgid "Popular VR headsets like the Oculus Quest and HTC Vive are supported thanks to plugins." msgstr "" #: ../../docs/about/list_of_features.rst:475 -msgid "Support for Bézier curves in animation." +msgid "GUI system" msgstr "" -#: ../../docs/about/list_of_features.rst:478 -msgid "Formats" +#: ../../docs/about/list_of_features.rst:477 +msgid "Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons." msgstr "" -#: ../../docs/about/list_of_features.rst:481 -msgid "Scenes and resources can be saved in :ref:`text-based ` or binary formats." -msgstr "" - -#: ../../docs/about/list_of_features.rst:481 -msgid "Text-based formats are human-readable and more friendly to version control." +#: ../../docs/about/list_of_features.rst:480 +msgid "**Nodes:**" msgstr "" #: ../../docs/about/list_of_features.rst:482 -msgid "Binary formats are faster to save/load for large scenes/resources." +msgid "Buttons." msgstr "" #: ../../docs/about/list_of_features.rst:483 -msgid "Read and write text or binary files using :ref:`class_File`." +msgid "Checkboxes, check buttons, radio buttons." msgstr "" #: ../../docs/about/list_of_features.rst:484 -msgid "Can optionally be compressed or encrypted." +msgid "Text entry using LineEdit (single line) and TextEdit (multiple lines)." msgstr "" #: ../../docs/about/list_of_features.rst:485 -msgid "Read and write :ref:`class_JSON` files." +msgid "Dropdown menus using PopupMenu and OptionButton." msgstr "" #: ../../docs/about/list_of_features.rst:486 -msgid "Read and write INI-style configuration files using :ref:`class_ConfigFile`." +msgid "Scrollbars." msgstr "" #: ../../docs/about/list_of_features.rst:487 -msgid "Can (de)serialize any Godot datatype, including Vector, Color, ..." +msgid "Labels." msgstr "" #: ../../docs/about/list_of_features.rst:488 -msgid "Read XML files using :ref:`class_XMLParser`." +msgid "RichTextLabel for :ref:`text formatted using BBCode `." msgstr "" #: ../../docs/about/list_of_features.rst:489 -msgid "Pack game data into a PCK file (custom format optimized for fast seeking), into a ZIP archive, or directly into the executable for single-file distribution." +msgid "Trees (can also be used to represent tables)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:490 +msgid "Containers (horizontal, vertical, grid, center, margin, draggable splitter, ...)." msgstr "" #: ../../docs/about/list_of_features.rst:491 -msgid ":ref:`Export additional PCK files` that can be read by the engine to support mods and DLCs." +msgid "Controls can be rotated and scaled." +msgstr "" + +#: ../../docs/about/list_of_features.rst:493 +msgid "**Sizing:**" msgstr "" #: ../../docs/about/list_of_features.rst:495 -msgid "Miscellaneous" +msgid "Anchors to keep GUI elements in a specific corner, edge or centered." msgstr "" -#: ../../docs/about/list_of_features.rst:497 -msgid ":ref:`Low-level access to servers ` which allows bypassing the scene tree's overhead when needed." +#: ../../docs/about/list_of_features.rst:496 +msgid "Containers to place GUI elements automatically following certain rules." msgstr "" -#: ../../docs/about/list_of_features.rst:501 -msgid "Command line interface for automation." +#: ../../docs/about/list_of_features.rst:498 +msgid ":ref:`Stack ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:499 +msgid ":ref:`Grid ` layouts." msgstr "" #: ../../docs/about/list_of_features.rst:500 -msgid "Export and deploy projects using continuous integration platforms." +msgid ":ref:`Margin ` and :ref:`centered ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:501 -msgid "`Completion scripts `__ are available for Bash, zsh and fish." +#: ../../docs/about/list_of_features.rst:502 +msgid ":ref:`Draggable splitter ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:503 -msgid "Support for :ref:`C++ modules ` statically linked into the engine binary." +#: ../../docs/about/list_of_features.rst:504 +msgid "Scale to multiple resolutions using the ``2d`` or ``viewport`` stretch modes." msgstr "" -#: ../../docs/about/list_of_features.rst:510 -msgid "Engine and editor written in C++03." +#: ../../docs/about/list_of_features.rst:505 +msgid "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" -#: ../../docs/about/list_of_features.rst:506 -msgid "Can be :ref:`compiled ` using GCC, Clang and MSVC. MinGW is also supported." +#: ../../docs/about/list_of_features.rst:507 +msgid "**Theming:**" msgstr "" -#: ../../docs/about/list_of_features.rst:508 -msgid "Friendly towards packagers: in most cases, system libraries can be used instead of the ones provided by Godot. The build system doesn't download anything. Builds can be fully reproducible." +#: ../../docs/about/list_of_features.rst:509 +msgid "Built-in theme editor." msgstr "" #: ../../docs/about/list_of_features.rst:511 -msgid "Godot 4.0 will be written in C++17." +msgid "Generate a theme based on the current editor theme settings." msgstr "" #: ../../docs/about/list_of_features.rst:513 -msgid "Licensed under the permissive MIT license." +msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" -#: ../../docs/about/list_of_features.rst:513 -msgid "Open developement process with :ref:`contributions welcome `." +#: ../../docs/about/list_of_features.rst:515 +msgid "Supports rounded/beveled corners, drop shadows and per-border widths." msgstr "" #: ../../docs/about/list_of_features.rst:517 +msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:519 +msgid "Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt." +msgstr "" + +#: ../../docs/about/list_of_features.rst:523 +msgid "Animation" +msgstr "" + +#: ../../docs/about/list_of_features.rst:525 +msgid "Direct kinematics and inverse kinematics." +msgstr "" + +#: ../../docs/about/list_of_features.rst:526 +msgid "Support for animating any property with customizable interpolation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:527 +msgid "Support for calling methods in animation tracks." +msgstr "" + +#: ../../docs/about/list_of_features.rst:528 +msgid "Support for playing sounds in animation tracks." +msgstr "" + +#: ../../docs/about/list_of_features.rst:529 +msgid "Support for Bézier curves in animation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:532 +msgid "Formats" +msgstr "" + +#: ../../docs/about/list_of_features.rst:534 +msgid "Scenes and resources can be saved in :ref:`text-based ` or binary formats." +msgstr "" + +#: ../../docs/about/list_of_features.rst:536 +msgid "Text-based formats are human-readable and more friendly to version control." +msgstr "" + +#: ../../docs/about/list_of_features.rst:537 +msgid "Binary formats are faster to save/load for large scenes/resources." +msgstr "" + +#: ../../docs/about/list_of_features.rst:539 +msgid "Read and write text or binary files using :ref:`class_File`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:541 +msgid "Can optionally be compressed or encrypted." +msgstr "" + +#: ../../docs/about/list_of_features.rst:543 +msgid "Read and write :ref:`class_JSON` files." +msgstr "" + +#: ../../docs/about/list_of_features.rst:544 +msgid "Read and write INI-style configuration files using :ref:`class_ConfigFile`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:546 +msgid "Can (de)serialize any Godot datatype, including Vector, Color, ..." +msgstr "" + +#: ../../docs/about/list_of_features.rst:548 +msgid "Read XML files using :ref:`class_XMLParser`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:549 +msgid "Pack game data into a PCK file (custom format optimized for fast seeking), into a ZIP archive, or directly into the executable for single-file distribution." +msgstr "" + +#: ../../docs/about/list_of_features.rst:551 +msgid ":ref:`Export additional PCK files` that can be read by the engine to support mods and DLCs." +msgstr "" + +#: ../../docs/about/list_of_features.rst:555 +msgid "Miscellaneous" +msgstr "" + +#: ../../docs/about/list_of_features.rst:557 +msgid ":ref:`Low-level access to servers ` which allows bypassing the scene tree's overhead when needed." +msgstr "" + +#: ../../docs/about/list_of_features.rst:559 +msgid "Command line interface for automation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:561 +msgid "Export and deploy projects using continuous integration platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:562 +msgid "`Completion scripts `__ are available for Bash, zsh and fish." +msgstr "" + +#: ../../docs/about/list_of_features.rst:565 +msgid "Support for :ref:`C++ modules ` statically linked into the engine binary." +msgstr "" + +#: ../../docs/about/list_of_features.rst:567 +msgid "Engine and editor written in C++03." +msgstr "" + +#: ../../docs/about/list_of_features.rst:569 +msgid "Can be :ref:`compiled ` using GCC, Clang and MSVC. MinGW is also supported." +msgstr "" + +#: ../../docs/about/list_of_features.rst:571 +msgid "Friendly towards packagers. In most cases, system libraries can be used instead of the ones provided by Godot. The build system doesn't download anything. Builds can be fully reproducible." +msgstr "" + +#: ../../docs/about/list_of_features.rst:574 +msgid "Godot 4.0 will be written in C++17." +msgstr "" + +#: ../../docs/about/list_of_features.rst:576 +msgid "Licensed under the permissive MIT license." +msgstr "" + +#: ../../docs/about/list_of_features.rst:578 +msgid "Open developement process with :ref:`contributions welcome `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:582 msgid "The `roadmap `__ repository documents features that have been agreed upon and may be implemented in future Godot releases." msgstr "" diff --git a/sphinx/templates/about/release_policy.pot b/sphinx/templates/about/release_policy.pot index 11b3735339..60b87f3b9f 100644 --- a/sphinx/templates/about/release_policy.pot +++ b/sphinx/templates/about/release_policy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/channels.pot b/sphinx/templates/community/channels.pot index 022e33e96d..6e39ec8fc3 100644 --- a/sphinx/templates/community/channels.pot +++ b/sphinx/templates/community/channels.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot b/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot index f3a994809c..7db413e3ae 100644 --- a/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot +++ b/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -240,3 +240,7 @@ msgstr "" msgid "As a result, we are very picky with what goes in, and we tend to prefer smaller libraries (in fact, single header ones are our favorite). Only in cases where there is no other choice we end up bundling something larger." msgstr "" +#: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:238 +msgid "Also, libraries must use a permissive enough license to be included into Godot. Some examples of acceptable licenses are Apache 2.0, BSD, MIT, ISC, and MPL 2.0. In particular, we cannot accept libraries licensed under the GPL or LGPL since these licenses effectively disallow static linking in proprietary software (which Godot is distributed as in most exported projects). This requirement also applies to the editor, since we may want to run it on iOS in the long term. Since iOS doesn't support dynamic linking, static linking the only option on that platform." +msgstr "" + diff --git a/sphinx/templates/community/contributing/bisecting_regressions.pot b/sphinx/templates/community/contributing/bisecting_regressions.pot index cb7b1f58d4..6e210de85e 100644 --- a/sphinx/templates/community/contributing/bisecting_regressions.pot +++ b/sphinx/templates/community/contributing/bisecting_regressions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -84,35 +84,35 @@ msgstr "" msgid ":ref:`Get Godot's source code using Git `. Once this is done, in the terminal window, use ``cd`` to reach the Godot repository folder and enter the following command:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:102 +#: ../../docs/community/contributing/bisecting_regressions.rst:104 msgid "Compile Godot. This assumes you've set up a build environment:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:110 +#: ../../docs/community/contributing/bisecting_regressions.rst:112 msgid "Since building Godot takes a while, you want to dedicate as many CPU threads as possible to the task. This is what the ``-j`` parameter does. Here, the command assigns 4 CPU threads to compiling Godot." msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:114 +#: ../../docs/community/contributing/bisecting_regressions.rst:116 msgid "Run the binary located in the ``bin/`` folder and try to reproduce the bug." msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:116 +#: ../../docs/community/contributing/bisecting_regressions.rst:118 msgid "If the build **still** exhibits the bug, run the following command:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:122 +#: ../../docs/community/contributing/bisecting_regressions.rst:124 msgid "If the build **does not** exhibit the bug, run the following command:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:128 +#: ../../docs/community/contributing/bisecting_regressions.rst:130 msgid "After entering one of the commands above, Git will switch to a different commit. You should now build Godot again, try to reproduce the bug, then enter ``git bisect good`` or ``git bisect bad`` depending on the result. You'll have to repeat this several times. The longer the commit range, the more steps will be required. 5 to 10 steps are usually sufficient to find most regressions; Git will remind you of the number of steps remaining (in the worst case scenario)." msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:135 +#: ../../docs/community/contributing/bisecting_regressions.rst:137 msgid "Once you've completed enough steps, Git will display the commit hash where the regression appeared. Write this commit hash as a comment to the GitHub issue you've bisected. This will help in solving the issue. Thanks again for contributing to Godot :)" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:142 +#: ../../docs/community/contributing/bisecting_regressions.rst:144 msgid "You can read the full documentation on ``git bisect`` `here `__." msgstr "" diff --git a/sphinx/templates/community/contributing/bug_triage_guidelines.pot b/sphinx/templates/community/contributing/bug_triage_guidelines.pot index 00939ed2d5..b38129e98c 100644 --- a/sphinx/templates/community/contributing/bug_triage_guidelines.pot +++ b/sphinx/templates/community/contributing/bug_triage_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/contributing/code_style_guidelines.pot b/sphinx/templates/community/contributing/code_style_guidelines.pot index 625f65c19a..5642e111ae 100644 --- a/sphinx/templates/community/contributing/code_style_guidelines.pot +++ b/sphinx/templates/community/contributing/code_style_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,6 +73,7 @@ msgid "First of all, you will need to install clang-format. As of now, you need msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:60 +#: ../../docs/community/contributing/code_style_guidelines.rst:261 msgid "Installation" msgstr "" @@ -93,6 +94,7 @@ msgid "You then have different possibilities to apply clang-format to your chang msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:77 +#: ../../docs/community/contributing/code_style_guidelines.rst:273 msgid "Manual usage" msgstr "" @@ -109,6 +111,7 @@ msgid "The path can point to several files, either one after the other or using msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:94 +#: ../../docs/community/contributing/code_style_guidelines.rst:288 msgid "Pre-commit hook" msgstr "" @@ -209,6 +212,50 @@ msgid "Godot's SCons buildsystem is written in Python, and various scripts inclu msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:251 -msgid "For those, we follow the `PEP-8 style guide `__, this is however not as strongly enforced as for the C++ code. If you are so inclined, you can check and format your Python changes using `autopep8 `__." +msgid "For those, we follow the `Black style guide `__. Blacken your Python changes using `Black `__." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:255 +msgid "Using black locally" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:257 +msgid "First of all, you will need to install black. Black requires Python 3.6.0+ to run." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:263 +msgid "Here's how to install black:" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:270 +msgid "You then have different possibilities to apply black to your changes:" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:275 +msgid "You can apply ``black`` manually to one or more files with the following command:" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:282 +msgid "``-l 120`` means that the allowed number of characters per line is 120. This number was agreed upon by the developers." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:284 +msgid "The path can point to several files, either one after the other or using wildcards like in a typical Unix shell." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:290 +msgid "For ease of use, we provide a pre-commit hook for Git that will run black automatically on all your commits to check them, and let you apply its changes in the final commit." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:294 +msgid "This \"hook\" is a script which can be found in ``misc/hooks``. Refer to that folder's ``README.md`` for installation instructions." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:299 +msgid "Editor integration" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:301 +msgid "Many IDEs or code editors have beautifier plugins that can be configured to run black automatically, for example each time you save a file. For details you can check `Black editor integration `__." msgstr "" diff --git a/sphinx/templates/community/contributing/docs_writing_guidelines.pot b/sphinx/templates/community/contributing/docs_writing_guidelines.pot index 624d5ee3d7..7e8ae22f74 100644 --- a/sphinx/templates/community/contributing/docs_writing_guidelines.pot +++ b/sphinx/templates/community/contributing/docs_writing_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -306,7 +306,7 @@ msgid "**Don't** add a type hint with a colon or by casting:" msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:301 -msgid "**Do** write constants variables with dynamic typing:" +msgid "**Do** write constants and variables with dynamic typing:" msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:311 @@ -478,10 +478,14 @@ msgid "Screenshot sizes should not exceed 1920×1080 to ensure fast loading on s msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:520 -msgid "When you need to highlight an area of the editor to show something, like a button or option, use a 2 pixel thick outline without a bevel." +msgid "When you need to highlight an area of the editor to show something, like a button or option, use a 2 pixel-thick yellow outline without a bevel. If the outline is on a dark background, the outline should be yellow so it can be easily seen by colorblind people. Please do not use red as it won't be visible for some users." msgstr "" -#: ../../docs/community/contributing/docs_writing_guidelines.rst:523 -msgid "Before you add or replace any images in the documentation, they should be run through a PNG compressor to save size. The built in lossless compressor in programs like Krita or Photoshop should be enough. For heavier images, also look into using a lossy compressor, such as `pngquant `_ where almost no image quality is lost during compression." +#: ../../docs/community/contributing/docs_writing_guidelines.rst:526 +msgid "Before you add or replace any images in the documentation, they should be run through a PNG compressor to save size. You can use the lossless OxiPNG compressor included in `Squoosh `__ for this purpose. For heavier images, consider using a lossy compressor like `pngquant `_. With it, almost no image quality is lost during compression." +msgstr "" + +#: ../../docs/community/contributing/docs_writing_guidelines.rst:535 +msgid "The program pngquant must be installed locally as it's not available in Squoosh." msgstr "" diff --git a/sphinx/templates/community/contributing/documentation_guidelines.pot b/sphinx/templates/community/contributing/documentation_guidelines.pot index cfa5995e71..208c2866d1 100644 --- a/sphinx/templates/community/contributing/documentation_guidelines.pot +++ b/sphinx/templates/community/contributing/documentation_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/contributing/editor_and_docs_localization.pot b/sphinx/templates/community/contributing/editor_and_docs_localization.pot index ad5f8719a3..6e0b0d7cb5 100644 --- a/sphinx/templates/community/contributing/editor_and_docs_localization.pot +++ b/sphinx/templates/community/contributing/editor_and_docs_localization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/contributing/index.pot b/sphinx/templates/community/contributing/index.pot index 4d1d479366..58ed5d0309 100644 --- a/sphinx/templates/community/contributing/index.pot +++ b/sphinx/templates/community/contributing/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/contributing/pr_workflow.pot b/sphinx/templates/community/contributing/pr_workflow.pot index 5f1c4c5289..832261b3fa 100644 --- a/sphinx/templates/community/contributing/pr_workflow.pot +++ b/sphinx/templates/community/contributing/pr_workflow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/contributing/updating_the_class_reference.pot b/sphinx/templates/community/contributing/updating_the_class_reference.pot index e84386ba7a..fb28942dd1 100644 --- a/sphinx/templates/community/contributing/updating_the_class_reference.pot +++ b/sphinx/templates/community/contributing/updating_the_class_reference.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -480,31 +480,47 @@ msgstr "" msgid "Will display as:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:285 -msgid "I don't know what this method does!" +#: ../../docs/community/contributing/updating_the_class_reference.rst:283 +msgid "To denote important information, add a paragraph starting with \"[b]Note:[/b]\" at the end of the description:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:287 -msgid "No problem. Leave it behind, and list the methods you skipped when you request a pull of your changes. Another writer will take care of it." -msgstr "" - -#: ../../docs/community/contributing/updating_the_class_reference.rst:289 -msgid "You can still have a look at the methods' implementation in Godot's source code on GitHub. Also, if you have doubts, feel free to ask on the `Q&A website `__ and on IRC (freenode, #godotengine)." -msgstr "" - -#: ../../docs/community/contributing/updating_the_class_reference.rst:293 -msgid "Localization" -msgstr "" - -#: ../../docs/community/contributing/updating_the_class_reference.rst:295 -msgid "The documentation can be translated in any language on `Hosted Weblate `__." +#: ../../docs/community/contributing/updating_the_class_reference.rst:290 +msgid "To denote crucial information that could cause security issues or loss of data if not followed carefully, add a paragraph starting with \"[b]Warning:[/b] at the end of the description:" msgstr "" #: ../../docs/community/contributing/updating_the_class_reference.rst:298 +msgid "For deprecated properties, add a paragraph starting with \"[i]Deprecated.[/i]\". Notice the use of italics instead of bold:" +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:305 +msgid "In all the paragraphs described above, make sure the punctuation is part of the BBCode tags for consistency." +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:309 +msgid "I don't know what this method does!" +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:311 +msgid "No problem. Leave it behind, and list the methods you skipped when you request a pull of your changes. Another writer will take care of it." +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:313 +msgid "You can still have a look at the methods' implementation in Godot's source code on GitHub. Also, if you have doubts, feel free to ask on the `Q&A website `__ and on IRC (freenode, #godotengine)." +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:317 +msgid "Localization" +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:319 +msgid "The documentation can be translated in any language on `Hosted Weblate `__." +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:322 msgid "Translated strings are synced manually by documentation maintainers in the `godot-docs-l10n `__ repository." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:302 +#: ../../docs/community/contributing/updating_the_class_reference.rst:326 msgid "Languages with a good level of completion have their own localized instances of ReadTheDocs. Open an issue on the ``godot-docs-l10n`` repository if you think that a new language is complete enough to get its own instance." msgstr "" diff --git a/sphinx/templates/community/contributing/ways_to_contribute.pot b/sphinx/templates/community/contributing/ways_to_contribute.pot index 57e39d9732..979e0657ba 100644 --- a/sphinx/templates/community/contributing/ways_to_contribute.pot +++ b/sphinx/templates/community/contributing/ways_to_contribute.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/tutorials.pot b/sphinx/templates/community/tutorials.pot index f59c6a6ac8..ed16a79069 100644 --- a/sphinx/templates/community/tutorials.pot +++ b/sphinx/templates/community/tutorials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_android.pot b/sphinx/templates/development/compiling/compiling_for_android.pot index 7200e07b69..2204d67fd3 100644 --- a/sphinx/templates/development/compiling/compiling_for_android.pot +++ b/sphinx/templates/development/compiling/compiling_for_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_ios.pot b/sphinx/templates/development/compiling/compiling_for_ios.pot index f2c556bd65..652c5865aa 100644 --- a/sphinx/templates/development/compiling/compiling_for_ios.pot +++ b/sphinx/templates/development/compiling/compiling_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_osx.pot b/sphinx/templates/development/compiling/compiling_for_osx.pot index 828fc2dfee..c75ac136dd 100644 --- a/sphinx/templates/development/compiling/compiling_for_osx.pot +++ b/sphinx/templates/development/compiling/compiling_for_osx.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_uwp.pot b/sphinx/templates/development/compiling/compiling_for_uwp.pot index 9203bc1bb5..e790a521d2 100644 --- a/sphinx/templates/development/compiling/compiling_for_uwp.pot +++ b/sphinx/templates/development/compiling/compiling_for_uwp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_web.pot b/sphinx/templates/development/compiling/compiling_for_web.pot index cbd0dde79e..5278446360 100644 --- a/sphinx/templates/development/compiling/compiling_for_web.pot +++ b/sphinx/templates/development/compiling/compiling_for_web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_windows.pot b/sphinx/templates/development/compiling/compiling_for_windows.pot index 232fb8e8bd..6fb4533f94 100644 --- a/sphinx/templates/development/compiling/compiling_for_windows.pot +++ b/sphinx/templates/development/compiling/compiling_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_for_x11.pot b/sphinx/templates/development/compiling/compiling_for_x11.pot index 43f26801b3..c52f613dbb 100644 --- a/sphinx/templates/development/compiling/compiling_for_x11.pot +++ b/sphinx/templates/development/compiling/compiling_for_x11.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_with_mono.pot b/sphinx/templates/development/compiling/compiling_with_mono.pot index 898c2f54a0..226d6330b8 100644 --- a/sphinx/templates/development/compiling/compiling_with_mono.pot +++ b/sphinx/templates/development/compiling/compiling_with_mono.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot b/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot index ca93933ed7..fc931b3475 100644 --- a/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot +++ b/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot b/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot index 79d971ccfc..d78adf72e7 100644 --- a/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot +++ b/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/getting_source.pot b/sphinx/templates/development/compiling/getting_source.pot index f86a11a859..b54c646f55 100644 --- a/sphinx/templates/development/compiling/getting_source.pot +++ b/sphinx/templates/development/compiling/getting_source.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/index.pot b/sphinx/templates/development/compiling/index.pot index 0dba7a65f5..cd5f341bf3 100644 --- a/sphinx/templates/development/compiling/index.pot +++ b/sphinx/templates/development/compiling/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot b/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot index 3934ee5fd5..db3365a3d2 100644 --- a/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot +++ b/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/optimizing_for_size.pot b/sphinx/templates/development/compiling/optimizing_for_size.pot index 8b297f99fa..e9c20c2c03 100644 --- a/sphinx/templates/development/compiling/optimizing_for_size.pot +++ b/sphinx/templates/development/compiling/optimizing_for_size.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -120,7 +120,11 @@ msgstr "" msgid "If you are targeting desktop platforms, the `UPX `_ compressor can be used. This can reduce binary size considerably." msgstr "" -#: ../../docs/development/compiling/optimizing_for_size.rst:162 +#: ../../docs/development/compiling/optimizing_for_size.rst:164 +msgid "You cannot use embedded PCK files with UPX compression." +msgstr "" + +#: ../../docs/development/compiling/optimizing_for_size.rst:166 msgid "However, keep in mind that some antivirus programs may detect UPX-packed binaries as a virus. Therefore, if you are releasing a commercial game, make sure to sign your binaries or use a platform that will distribute them." msgstr "" diff --git a/sphinx/templates/development/cpp/binding_to_external_libraries.pot b/sphinx/templates/development/cpp/binding_to_external_libraries.pot index fc303642ce..65d5ac7185 100644 --- a/sphinx/templates/development/cpp/binding_to_external_libraries.pot +++ b/sphinx/templates/development/cpp/binding_to_external_libraries.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/common_engine_methods_and_macros.pot b/sphinx/templates/development/cpp/common_engine_methods_and_macros.pot index 20c7343f73..d1cd894f57 100644 --- a/sphinx/templates/development/cpp/common_engine_methods_and_macros.pot +++ b/sphinx/templates/development/cpp/common_engine_methods_and_macros.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/android_studio.pot b/sphinx/templates/development/cpp/configuring_an_ide/android_studio.pot index 14301c5d22..c6e271d299 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/android_studio.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/android_studio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/clion.pot b/sphinx/templates/development/cpp/configuring_an_ide/clion.pot index b212adc5e1..727edec651 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/clion.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/clion.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/code_blocks.pot b/sphinx/templates/development/cpp/configuring_an_ide/code_blocks.pot index a714142976..4a1a47a75d 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/code_blocks.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/code_blocks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/index.pot b/sphinx/templates/development/cpp/configuring_an_ide/index.pot index 6aba5e2ad9..10f3aed49d 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/index.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/kdevelop.pot b/sphinx/templates/development/cpp/configuring_an_ide/kdevelop.pot index 7c41db589f..b5dfa3df79 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/kdevelop.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/kdevelop.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/qt_creator.pot b/sphinx/templates/development/cpp/configuring_an_ide/qt_creator.pot index 3fee4be7eb..239d0548ed 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/qt_creator.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/qt_creator.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -113,7 +113,7 @@ msgid "Code style configuration" msgstr "" #: ../../docs/development/cpp/configuring_an_ide/qt_creator.rst:93 -msgid "Developers must follow the project's :ref:`code style ` and the IDE should help them follow it. By default, Qt Creator uses spaces for indentation which doesn't match the Godot code style guidelines. You can change this behavior by changing the **Code Style** in **Options > C++**." +msgid "Developers must follow the project's :ref:`code style ` and the IDE should help them follow it. By default, Qt Creator uses spaces for indentation which doesn't match the Godot code style guidelines. You can change this behavior by changing the **Code Style** in **Tools > Options > C++**." msgstr "" #: ../../docs/development/cpp/configuring_an_ide/qt_creator.rst:102 diff --git a/sphinx/templates/development/cpp/configuring_an_ide/visual_studio.pot b/sphinx/templates/development/cpp/configuring_an_ide/visual_studio.pot index 4bff5720fc..2795e7de7d 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/visual_studio.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/visual_studio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/visual_studio_code.pot b/sphinx/templates/development/cpp/configuring_an_ide/visual_studio_code.pot index 786df49bb4..7824a7f99f 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/visual_studio_code.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/visual_studio_code.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide/xcode.pot b/sphinx/templates/development/cpp/configuring_an_ide/xcode.pot index 8623b58eea..662ec3a426 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide/xcode.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide/xcode.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/core_types.pot b/sphinx/templates/development/cpp/core_types.pot index 35348323f0..e3c6870d0c 100644 --- a/sphinx/templates/development/cpp/core_types.pot +++ b/sphinx/templates/development/cpp/core_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/custom_audiostreams.pot b/sphinx/templates/development/cpp/custom_audiostreams.pot index b5eabac1bb..4c3f5dfd48 100644 --- a/sphinx/templates/development/cpp/custom_audiostreams.pot +++ b/sphinx/templates/development/cpp/custom_audiostreams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/custom_godot_servers.pot b/sphinx/templates/development/cpp/custom_godot_servers.pot index e2ecd039bc..7bae96c872 100644 --- a/sphinx/templates/development/cpp/custom_godot_servers.pot +++ b/sphinx/templates/development/cpp/custom_godot_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "Introduction" msgstr "" #: ../../docs/development/cpp/custom_godot_servers.rst:9 -msgid "Godot implements multi-threading as servers. Servers are daemons which manages data, processes, and pushes the result. Servers implement the mediator pattern which interprets resource ID and process data for the engine and other modules. In addition, the server claims ownership for its RID allocations." +msgid "Godot implements multi-threading as servers. Servers are daemons which manage data, process it, and push the result. Servers implement the mediator pattern which interprets resource ID and process data for the engine and other modules. In addition, the server claims ownership for its RID allocations." msgstr "" #: ../../docs/development/cpp/custom_godot_servers.rst:15 diff --git a/sphinx/templates/development/cpp/custom_modules_in_cpp.pot b/sphinx/templates/development/cpp/custom_modules_in_cpp.pot index 489ee5a9b0..22e1e81ecc 100644 --- a/sphinx/templates/development/cpp/custom_modules_in_cpp.pot +++ b/sphinx/templates/development/cpp/custom_modules_in_cpp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/custom_resource_format_loaders.pot b/sphinx/templates/development/cpp/custom_resource_format_loaders.pot index 8cf8bcd480..954b14b4a9 100644 --- a/sphinx/templates/development/cpp/custom_resource_format_loaders.pot +++ b/sphinx/templates/development/cpp/custom_resource_format_loaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/index.pot b/sphinx/templates/development/cpp/index.pot index 2de3541383..fbac250901 100644 --- a/sphinx/templates/development/cpp/index.pot +++ b/sphinx/templates/development/cpp/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/inheritance_class_tree.pot b/sphinx/templates/development/cpp/inheritance_class_tree.pot index 4772aa2675..412307635d 100644 --- a/sphinx/templates/development/cpp/inheritance_class_tree.pot +++ b/sphinx/templates/development/cpp/inheritance_class_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/introduction_to_godot_development.pot b/sphinx/templates/development/cpp/introduction_to_godot_development.pot index 4ed396402c..728db2566e 100644 --- a/sphinx/templates/development/cpp/introduction_to_godot_development.pot +++ b/sphinx/templates/development/cpp/introduction_to_godot_development.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/object_class.pot b/sphinx/templates/development/cpp/object_class.pot index f1fab6834f..0fafb436d9 100644 --- a/sphinx/templates/development/cpp/object_class.pot +++ b/sphinx/templates/development/cpp/object_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/variant_class.pot b/sphinx/templates/development/cpp/variant_class.pot index c628b67736..fa8179e8f3 100644 --- a/sphinx/templates/development/cpp/variant_class.pot +++ b/sphinx/templates/development/cpp/variant_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/editor/creating_icons.pot b/sphinx/templates/development/editor/creating_icons.pot index 443c45bb4e..e1a109dc1e 100644 --- a/sphinx/templates/development/editor/creating_icons.pot +++ b/sphinx/templates/development/editor/creating_icons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/editor/editor_style_guide.pot b/sphinx/templates/development/editor/editor_style_guide.pot index 5665b61876..9bafd2b911 100644 --- a/sphinx/templates/development/editor/editor_style_guide.pot +++ b/sphinx/templates/development/editor/editor_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/editor/index.pot b/sphinx/templates/development/editor/index.pot index 9692765acf..7ee24bf28c 100644 --- a/sphinx/templates/development/editor/index.pot +++ b/sphinx/templates/development/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/file_formats/gdscript_grammar.pot b/sphinx/templates/development/file_formats/gdscript_grammar.pot index 2bc5d4f3d9..4ad466e3e0 100644 --- a/sphinx/templates/development/file_formats/gdscript_grammar.pot +++ b/sphinx/templates/development/file_formats/gdscript_grammar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/file_formats/index.pot b/sphinx/templates/development/file_formats/index.pot index 277a735dab..6a76ce5c6d 100644 --- a/sphinx/templates/development/file_formats/index.pot +++ b/sphinx/templates/development/file_formats/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/file_formats/tscn.pot b/sphinx/templates/development/file_formats/tscn.pot index c0436ab468..cd326e0588 100644 --- a/sphinx/templates/development/file_formats/tscn.pot +++ b/sphinx/templates/development/file_formats/tscn.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/editor/command_line_tutorial.pot b/sphinx/templates/getting_started/editor/command_line_tutorial.pot index e3703dc8f6..a3995bca5e 100644 --- a/sphinx/templates/getting_started/editor/command_line_tutorial.pot +++ b/sphinx/templates/getting_started/editor/command_line_tutorial.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -420,123 +420,135 @@ msgstr "" msgid "Run a unit test. Use ``--help`` first to display the list of tests. (:ref:`tools ` must be enabled)." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:142 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:140 +msgid "``--export-pack ``" +msgstr "" + +#: ../../docs/getting_started/editor/command_line_tutorial.rst:140 +msgid "Like ``--export``, but only export the game pack for the given preset. The extension determines whether it will be in PCK or ZIP format. (:ref:`tools ` must be enabled)." +msgstr "" + +#: ../../docs/getting_started/editor/command_line_tutorial.rst:145 msgid "Path" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:144 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:147 msgid "It is recommended that your Godot binary be in your PATH environment variable, so it can be executed easily from any place by typing ``godot``. You can do so on Linux by placing the Godot binary in ``/usr/local/bin`` and making sure it is called ``godot``." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:150 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:153 msgid "Setting the project path" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:152 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:155 msgid "Depending on where your Godot binary is located and what your current working directory is, you may need to set the path to your project for any of the following commands to work correctly." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:156 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:159 msgid "This can be done by giving the path to the ``project.godot`` file of your project as either the first argument, like this:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:163 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:166 msgid "Or by using the ``--path`` argument:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:169 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:172 msgid "For example, the full command for exporting your game (as explained below) might look like this:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:176 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:179 msgid "Creating a project" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:179 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:182 msgid "Creating a project from the command line can be done by navigating the shell to the desired place and making a project.godot file." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:190 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:193 msgid "The project can now be opened with Godot." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:194 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:197 msgid "Running the editor" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:196 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:199 msgid "Running the editor is done by executing Godot with the ``-e`` flag. This must be done from within the project directory or a subdirectory, otherwise the command is ignored and the project manager appears." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:204 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:207 msgid "If a scene has been created and saved, it can be edited later by running the same code with that scene as argument." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:212 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:215 msgid "Erasing a scene" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:214 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:217 msgid "Godot is friends with your filesystem and will not create extra metadata files. Use ``rm`` to erase a scene file. Make sure nothing references that scene or else an error will be thrown upon opening." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:223 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:226 msgid "Running the game" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:225 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:228 msgid "To run the game, simply execute Godot within the project directory or subdirectory." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:232 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:235 msgid "When a specific scene needs to be tested, pass that scene to the command line." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:240 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:243 msgid "Debugging" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:242 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:245 msgid "Catching errors in the command line can be a difficult task because they just fly by. For this, a command line debugger is provided by adding ``-d``. It works for running either the game or a simple scene." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:257 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:260 msgid "Exporting" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:259 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:262 msgid "Exporting the project from the command line is also supported. This is especially useful for continuous integration setups. The version of Godot that is headless (server build, no video) is ideal for this." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:268 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:271 msgid "The platform names recognized by the ``--export`` switch are the same as displayed in the export wizard of the editor. To get a list of supported platforms from the command line, try exporting to a non-recognized platform and the full listing of platforms your configuration supports will be shown." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:274 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:277 msgid "To export a debug version of the game, use the ``--export-debug`` switch instead of ``--export``. Their parameters and usage are the same." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:278 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:280 +msgid "To export only a PCK file, use the ``--export-pack`` option followed by the preset name and output path, with the file extension, instead of ``--export``. The output path extension determines the package's format, either PCK or ZIP." +msgstr "" + +#: ../../docs/getting_started/editor/command_line_tutorial.rst:285 msgid "Running a script" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:280 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:287 msgid "It is possible to run a simple ``.gd`` script from the command line. This feature is especially useful in large projects, e.g. for batch conversion of assets or custom import/export." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:284 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:291 msgid "The script must inherit from ``SceneTree`` or ``MainLoop``." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:286 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:293 msgid "Here is a simple example of how it works:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:297 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:304 msgid "And how to run it:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:304 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:311 msgid "If no ``project.godot`` exists at the path, current path is assumed to be the current working directory (unless ``--path`` is specified)." msgstr "" diff --git a/sphinx/templates/getting_started/editor/default_key_mapping.pot b/sphinx/templates/getting_started/editor/default_key_mapping.pot index 49b81d11b9..19e48303f4 100644 --- a/sphinx/templates/getting_started/editor/default_key_mapping.pot +++ b/sphinx/templates/getting_started/editor/default_key_mapping.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/editor/external_editor.pot b/sphinx/templates/getting_started/editor/external_editor.pot index 05cdb1b48f..cb68b924d4 100644 --- a/sphinx/templates/getting_started/editor/external_editor.pot +++ b/sphinx/templates/getting_started/editor/external_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/editor/index.pot b/sphinx/templates/getting_started/editor/index.pot index 5e4af27039..72c2e8a2e1 100644 --- a/sphinx/templates/getting_started/editor/index.pot +++ b/sphinx/templates/getting_started/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/getting_started/editor/index.rst:2 +#: ../../docs/getting_started/editor/index.rst:3 msgid "Editor manual" msgstr "" diff --git a/sphinx/templates/getting_started/editor/unity_to_godot.pot b/sphinx/templates/getting_started/editor/unity_to_godot.pot index 9cdef9cef0..aa70b23297 100644 --- a/sphinx/templates/getting_started/editor/unity_to_godot.pot +++ b/sphinx/templates/getting_started/editor/unity_to_godot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot index fe7482318c..9446b046ba 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot index a6ac3abc19..8b15eb856a 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot index 06107126cc..2537fc0d86 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot index 2449560fc0..51e6715392 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/index.pot b/sphinx/templates/getting_started/scripting/c_sharp/index.pot index 6d7377cac0..4b163f1a1e 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/index.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/creating_script_templates.pot b/sphinx/templates/getting_started/scripting/creating_script_templates.pot index 20548ca3b1..4c24156730 100644 --- a/sphinx/templates/getting_started/scripting/creating_script_templates.pot +++ b/sphinx/templates/getting_started/scripting/creating_script_templates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/cross_language_scripting.pot b/sphinx/templates/getting_started/scripting/cross_language_scripting.pot index e3510713bf..fd0aa16330 100644 --- a/sphinx/templates/getting_started/scripting/cross_language_scripting.pot +++ b/sphinx/templates/getting_started/scripting/cross_language_scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot index b035cebed9..9e716d6e98 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot index b11f9f3393..a634855d9a 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -103,7 +103,7 @@ msgid "else" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:149 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:834 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:842 msgid "for" msgstr "" @@ -112,7 +112,7 @@ msgid "See for_." msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:151 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:823 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:831 msgid "while" msgstr "" @@ -121,7 +121,7 @@ msgid "See while_." msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:153 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:869 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:877 msgid "match" msgstr "" @@ -587,7 +587,7 @@ msgid "Base 10 integer" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:287 -msgid "``0x8F51``" +msgid "``0x8f51``" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:287 @@ -642,992 +642,996 @@ msgstr "" msgid "Shorthand for ``get_node(\"NodePath\")``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:303 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:302 +msgid "Integers and floats can have their numbers separated with ``_`` to make them more readable. The following ways to write numbers are all valid::" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:311 msgid "Comments" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:305 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:313 msgid "Anything from a ``#`` to the end of the line is ignored and is considered a comment." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:315 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:323 msgid "Built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:317 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:325 msgid "Built-in types are stack-allocated. They are passed as values. This means a copy is created on each assignment or when passing them as arguments to functions. The only exceptions are ``Array``\\ s and ``Dictionaries``, which are passed by reference so they are shared. (Pooled arrays such as ``PoolByteArray`` are still passed as values.)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:324 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:332 msgid "Basic built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:326 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:334 msgid "A variable in GDScript can be assigned to several built-in types." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:329 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:337 msgid "null" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:331 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:339 msgid "``null`` is an empty data type that contains no information and can not be assigned any other value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:335 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:343 msgid ":ref:`bool `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:337 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:345 msgid "Short for \"boolean\", it can only contain ``true`` or ``false``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:340 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:348 msgid ":ref:`int `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:342 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:350 msgid "Short for \"integer\", it stores whole numbers (positive and negative). It is stored as a 64-bit value, equivalent to \"int64_t\" in C++." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:346 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:354 msgid ":ref:`float `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:348 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:356 msgid "Stores real numbers, including decimals, using floating-point values. It is stored as a 64-bit value, equivalent to \"double\" in C++. Note: Currently, data structures such as Vector2, Vector3, and PoolRealArray store 32-bit single-precision \"float\" values." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:354 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 msgid ":ref:`String `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:356 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 msgid "A sequence of characters in `Unicode format `_. Strings can contain the following escape sequences:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:360 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 msgid "**Escape sequence**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:360 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 msgid "**Expands to**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 msgid "``\\n``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 msgid "Newline (line feed)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 msgid "``\\t``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 msgid "Horizontal tab character" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:366 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 msgid "``\\r``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:366 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 msgid "Carriage return" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 msgid "``\\a``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 msgid "Alert (beep/bell)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 msgid "``\\b``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 msgid "Backspace" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 msgid "``\\f``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 msgid "Formfeed page break" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 msgid "``\\v``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 msgid "Vertical tab character" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:384 msgid "``\\\"``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:384 msgid "Double quote" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 msgid "``\\'``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 msgid "Single quote" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:388 msgid "``\\\\``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:388 msgid "Backslash" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:390 msgid "``\\uXXXX``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:390 msgid "Unicode codepoint ``XXXX`` (hexadecimal, case-insensitive)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:394 msgid "GDScript also supports :ref:`doc_gdscript_printf`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:389 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:397 msgid "Vector built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:392 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:400 msgid ":ref:`Vector2 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:394 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:402 msgid "2D vector type containing ``x`` and ``y`` fields. Can also be accessed as an array." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:398 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:406 msgid ":ref:`Rect2 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:400 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:408 msgid "2D Rectangle type containing two vectors fields: ``position`` and ``size``. Also contains an ``end`` field which is ``position + size``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:404 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:412 msgid ":ref:`Vector3 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:406 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:414 msgid "3D vector type containing ``x``, ``y`` and ``z`` fields. This can also be accessed as an array." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:410 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:418 msgid ":ref:`Transform2D `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:412 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:420 msgid "3×2 matrix used for 2D transforms." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:415 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:423 msgid ":ref:`Plane `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:417 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:425 msgid "3D Plane type in normalized form that contains a ``normal`` vector field and a ``d`` scalar distance." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:421 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:429 msgid ":ref:`Quat `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:423 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:431 msgid "Quaternion is a datatype used for representing a 3D rotation. It's useful for interpolating rotations." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:427 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:435 msgid ":ref:`AABB `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:429 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:437 msgid "Axis-aligned bounding box (or 3D box) contains 2 vectors fields: ``position`` and ``size``. Also contains an ``end`` field which is ``position + size``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:434 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:442 msgid ":ref:`Basis `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:436 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:444 msgid "3x3 matrix used for 3D rotation and scale. It contains 3 vector fields (``x``, ``y`` and ``z``) and can also be accessed as an array of 3D vectors." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:449 msgid ":ref:`Transform `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:443 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:451 msgid "3D Transform contains a Basis field ``basis`` and a Vector3 field ``origin``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:447 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:455 msgid "Engine built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:450 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:458 msgid ":ref:`Color `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:452 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:460 msgid "Color data type contains ``r``, ``g``, ``b``, and ``a`` fields. It can also be accessed as ``h``, ``s``, and ``v`` for hue/saturation/value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:456 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:464 msgid ":ref:`NodePath `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:458 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:466 msgid "Compiled path to a node used mainly in the scene system. It can be easily assigned to, and from, a String." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:462 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:470 msgid ":ref:`RID `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:464 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:472 msgid "Resource ID (RID). Servers use generic RIDs to reference opaque data." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:467 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:475 msgid ":ref:`Object `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:469 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:477 msgid "Base class for anything that is not a built-in type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:472 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:480 msgid "Container built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:475 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:483 msgid ":ref:`Array `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:477 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:485 msgid "Generic sequence of arbitrary object types, including other arrays or dictionaries (see below). The array can resize dynamically. Arrays are indexed starting from index ``0``. Negative indices count from the end." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:491 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:499 msgid "GDScript arrays are allocated linearly in memory for speed. Large arrays (more than tens of thousands of elements) may however cause memory fragmentation. If this is a concern, special types of arrays are available. These only accept a single data type. They avoid memory fragmentation and use less memory, but are atomic and tend to run slower than generic arrays. They are therefore only recommended to use for large data sets:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:498 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:506 msgid ":ref:`PoolByteArray `: An array of bytes (integers from 0 to 255)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:499 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:507 msgid ":ref:`PoolIntArray `: An array of integers." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:500 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:508 msgid ":ref:`PoolRealArray `: An array of floats." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:501 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:509 msgid ":ref:`PoolStringArray `: An array of strings." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:502 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:510 msgid ":ref:`PoolVector2Array `: An array of :ref:`Vector2 ` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:503 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:511 msgid ":ref:`PoolVector3Array `: An array of :ref:`Vector3 ` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:504 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:512 msgid ":ref:`PoolColorArray `: An array of :ref:`Color ` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:507 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:515 msgid ":ref:`Dictionary `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:509 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:517 msgid "Associative container which contains values referenced by unique keys." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:522 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:530 msgid "Lua-style table syntax is also supported. Lua-style uses ``=`` instead of ``:`` and doesn't use quotes to mark string keys (making for slightly less to write). However, keys written in this form can't start with a digit (like any GDScript identifier)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:536 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:544 msgid "To add a key to an existing dictionary, access it like an existing key and assign to it::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:552 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:560 msgid "The bracket syntax can be used to access properties of any :ref:`class_Object`, not just Dictionaries. Keep in mind it will cause a script error when attempting to index a non-existing property. To avoid this, use the :ref:`Object.get() ` and :ref:`Object.set() ` methods instead." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:559 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:567 msgid "Data" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:562 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:570 msgid "Variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:564 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:572 msgid "Variables can exist as class members or local to functions. They are created with the ``var`` keyword and may, optionally, be assigned a value upon initialization." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:575 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:583 msgid "Variables can optionally have a type specification. When a type is specified, the variable will be forced to have always that same type, and trying to assign an incompatible value will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:579 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:587 msgid "Types are specified in the variable declaration using a ``:`` (colon) symbol after the variable name, followed by the type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:587 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:595 msgid "If the variable is initialized within the declaration, the type can be inferred, so it's possible to omit the type name::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:593 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:601 msgid "Type inference is only possible if the assigned value has a defined type, otherwise it will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:596 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:604 msgid "Valid types are:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:598 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:606 msgid "Built-in types (Array, Vector2, int, String, etc.)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:599 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:607 msgid "Engine classes (Node, Resource, Reference, etc.)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:600 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:608 msgid "Constant names if they contain a script resource (``MyScript`` if you declared ``const MyScript = preload(\"res://my_script.gd\")``)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:601 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:609 msgid "Other classes in the same script, respecting scope (``InnerClass.NestedClass`` if you declared ``class NestedClass`` inside the ``class InnerClass`` in the same scope)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:602 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:610 msgid "Script classes declared with the ``class_name`` keyword." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:605 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:613 msgid "Casting" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:607 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:615 msgid "Values assigned to typed variables must have a compatible type. If it's needed to coerce a value to be of a certain type, in particular for object types, you can use the casting operator ``as``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:611 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:619 msgid "Casting between object types results in the same object if the value is of the same type or a subtype of the cast type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:619 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:627 msgid "If the value is not a subtype, the casting operation will result in a ``null`` value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:626 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:634 msgid "For built-in types, they will be forcibly converted if possible, otherwise the engine will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:635 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:643 msgid "Casting is also useful to have better type-safe variables when interacting with the scene tree::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:645 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:653 msgid "Constants" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:647 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:655 msgid "Constants are similar to variables, but must be constants or constant expressions and must be assigned on initialization." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:661 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:669 msgid "Although the type of constants is inferred from the assigned value, it's also possible to add explicit type specification::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:667 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:675 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:671 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:679 msgid "Since arrays and dictionaries are passed by reference, constants are \"flat\". This means that if you declare a constant array or dictionary, it can still be modified afterwards. They can't be reassigned with another value though." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:676 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:684 msgid "Enums" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:678 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:686 msgid "Enums are basically a shorthand for constants, and are pretty useful if you want to assign consecutive integers to some constant." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:681 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:689 msgid "If you pass a name to the enum, it will put all the keys inside a constant dictionary of that name." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:684 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:692 msgid "In Godot 3.1 and later, keys in a named enum are not registered as global constants. They should be accessed prefixed by the enum's name (``Name.KEY``); see an example below." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:704 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:712 msgid "Functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:706 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:714 msgid "Functions always belong to a `class `_. The scope priority for variable look-up is: local → class member → global. The ``self`` variable is always available and is provided as an option for accessing class members, but is not always required (and should *not* be sent as the function's first argument, unlike Python)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:719 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:727 msgid "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:721 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:729 msgid "Functions can also have type specification for the arguments and for the return value. Types for arguments can be added in a similar way to variables::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:727 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:735 msgid "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:732 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:740 msgid "The return type of the function can be specified after the arguments list using the arrow token (``->``)::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:738 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:746 msgid "Functions that have a return type **must** return a proper value. Setting the type as ``void`` means the function doesn't return anything. Void functions can return early with the ``return`` keyword, but they can't return any value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:747 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:755 msgid "Non-void functions must **always** return a value, so if your code has branching statements (such as an ``if``/``else`` construct), all the possible paths must have a return. E.g., if you have a ``return`` inside an ``if`` block but not after it, the editor will raise an error because if the block is not executed, the function won't have a valid value to return." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:755 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:763 msgid "Referencing functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:757 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:765 msgid "Contrary to Python, functions are *not* first-class objects in GDScript. This means they cannot be stored in variables, passed as an argument to another function or be returned from other functions. This is for performance reasons." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:761 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:769 msgid "To reference a function by name at run-time, (e.g. to store it in a variable, or pass it to another function as an argument) one must use the ``call`` or ``funcref`` helpers::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:775 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:783 msgid "Static functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:777 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:785 msgid "A function can be declared static. When a function is static, it has no access to the instance member variables or ``self``. This is mainly useful to make libraries of helper functions::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:786 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:794 msgid "Statements and control flow" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:788 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:796 msgid "Statements are standard and can be assignments, function calls, control flow structures, etc (see below). ``;`` as a statement separator is entirely optional." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:793 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:801 msgid "if/else/elif" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:795 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:803 msgid "Simple conditions are created by using the ``if``/``else``/``elif`` syntax. Parenthesis around conditions are allowed, but not required. Given the nature of the tab-based indentation, ``elif`` can be used instead of ``else``/``if`` to maintain a level of indentation." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:809 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:817 msgid "Short statements can be written on the same line as the condition::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:816 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:824 msgid "Sometimes, you might want to assign a different initial value based on a boolean expression. In this case, ternary-if expressions come in handy::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:825 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:833 msgid "Simple loops are created by using ``while`` syntax. Loops can be broken using ``break`` or continued using ``continue``:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:836 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:844 msgid "To iterate through a range, such as an array or table, a *for* loop is used. When iterating over an array, the current array element is stored in the loop variable. When iterating over a dictionary, the *key* is stored in the loop variable." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:871 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:879 msgid "A ``match`` statement is used to branch execution of a program. It's the equivalent of the ``switch`` statement found in many other languages, but offers some additional features." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:874 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:882 msgid "Basic syntax::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:885 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:893 msgid "**Crash-course for people who are familiar with switch statements**:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:887 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:895 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:888 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:896 msgid "Remove ``case``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:889 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:897 msgid "Remove any ``break``\\ s. If you don't want to ``break`` by default, you can use ``continue`` for a fallthrough." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:890 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:898 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:893 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:901 msgid "**Control flow**:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:895 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:903 msgid "The patterns are matched from top to bottom. If a pattern matches, the first corresponding block will be executed. After that, the execution continues below the ``match`` statement. You can use ``continue`` to stop execution in the current block and check for an additional match in the patterns below it." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:899 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:907 msgid "There are 6 pattern types:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:911 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:919 msgid "Constant pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:902 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:910 msgid "Constant primitives, like numbers and strings::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:923 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:931 msgid "Variable pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:914 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:922 msgid "Matches the contents of a variable/enum::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:937 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:945 msgid "Wildcard pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:926 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:934 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:928 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:936 msgid "It can be used as the equivalent of the ``default`` in a ``switch`` statement in other languages::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:950 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:958 msgid "Binding pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:940 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:948 msgid "A binding pattern introduces a new variable. Like the wildcard pattern, it matches everything - and also gives that value a name. It's especially useful in array and dictionary patterns::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:971 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:979 msgid "Array pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:953 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:961 msgid "Matches an array. Every single element of the array pattern is a pattern itself, so you can nest them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:955 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:963 msgid "The length of the array is tested first, it has to be the same size as the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:957 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:965 msgid "**Open-ended array**: An array can be bigger than the pattern by making the last subpattern ``..``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:959 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:967 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:998 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1006 msgid "Dictionary pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:974 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:982 msgid "Works in the same way as the array pattern. Every key has to be a constant pattern." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:976 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:984 msgid "The size of the dictionary is tested first, it has to be the same size as the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:978 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:986 msgid "**Open-ended dictionary**: A dictionary can be bigger than the pattern by making the last subpattern ``..``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:980 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:988 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:982 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:990 msgid "If you don't specify a value, then only the existence of the key is checked." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:984 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:992 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1011 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1019 msgid "Multiple patterns" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1001 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1009 msgid "You can also specify multiple patterns separated by a comma. These patterns aren't allowed to have any bindings in them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1014 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1022 msgid "Classes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1016 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1024 msgid "By default, all script files are unnamed classes. In this case, you can only reference them using the file's path, using either a relative or an absolute path. For example, if you name a script file ``character.gd``::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1029 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1037 msgid "Instead, you can give your class a name to register it as a new type in Godot's editor. For that, you use the ``class_name`` keyword. You can add an optional comma followed by a path to an image, to use it as an icon. Your class will then appear with its new icon in the editor::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1041 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1049 msgid "Here's a class file example:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1063 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1071 msgid "Godot's class syntax is compact: it can only contain member variables or functions. You can use static functions, but not static member variables. In the same way, the engine initializes variables every time you create an instance, and this includes arrays and dictionaries. This is in the spirit of thread safety, since scripts can be initialized in separate threads without the user knowing." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1071 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1079 msgid "Inheritance" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1073 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1081 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1075 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1083 msgid "A global class." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1076 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1084 msgid "Another class file." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1077 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1085 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1079 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1087 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1081 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1089 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1093 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1101 msgid "To check if a given instance inherits from a given class, the ``is`` keyword can be used::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1105 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1113 msgid "To call a function in a *parent class* (i.e. one ``extend``-ed in your current class), prepend ``.`` to the function name::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1110 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1118 msgid "This is especially useful because functions in extending classes replace functions with the same name in their parent classes. If you still want to call them, you can prefix them with ``.`` (like the ``super`` keyword in other languages)::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1118 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1126 msgid "Default functions like ``_init``, and most notifications such as ``_enter_tree``, ``_exit_tree``, ``_process``, ``_physics_process``, etc. are called in all parent classes automatically. There is no need to call them explicitly when overloading them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1125 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1133 msgid "Class Constructor" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1127 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1135 msgid "The class constructor, called on class instantiation, is named ``_init``. As mentioned earlier, the constructors of parent classes are called automatically when inheriting a class. So, there is usually no need to call ``._init()`` explicitly." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1132 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1140 msgid "Unlike the call of a regular function, like in the above example with ``.some_func``, if the constructor from the inherited class takes arguments, they are passed like this::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1139 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1147 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1162 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1170 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1164 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1172 msgid "If the inherited class (``State.gd``) defines a ``_init`` constructor that takes arguments (``e`` in this case), then the inheriting class (``Idle.gd``) *must* define ``_init`` as well and pass appropriate parameters to ``_init`` from ``State.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1167 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1175 msgid "``Idle.gd`` can have a different number of arguments than the parent class ``State.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1168 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1176 msgid "In the example above, ``e`` passed to the ``State.gd`` constructor is the same ``e`` passed in to ``Idle.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1170 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1178 msgid "If ``Idle.gd``'s ``_init`` constructor takes 0 arguments, it still needs to pass some value to the ``State.gd`` parent class, even if it does nothing. This brings us to the fact that you can pass literals in the base constructor as well, not just variables. eg.::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1180 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1188 msgid "Inner classes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1182 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1190 msgid "A class file can contain inner classes. Inner classes are defined using the ``class`` keyword. They are instanced using the ``ClassName.new()`` function." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1207 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1215 msgid "Classes as resources" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1209 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1217 msgid "Classes stored as files are treated as :ref:`resources `. They must be loaded from disk to access them in other classes. This is done using either the ``load`` or ``preload`` functions (see below). Instancing of a loaded class resource is done by calling the ``new`` function on the class object::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1226 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1234 msgid "Exports" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1230 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1238 msgid "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1233 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1241 msgid "Setters/getters" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1235 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1243 msgid "It is often useful to know when a class' member variable changes for whatever reason. It may also be desired to encapsulate its access in some way." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1238 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1246 msgid "For this, GDScript provides a *setter/getter* syntax using the ``setget`` keyword. It is used directly after a variable definition:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1245 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1253 msgid "Whenever the value of ``variable`` is modified by an *external* source (i.e. not from local usage in the class), the *setter* function (``setterfunc`` above) will be called. This happens *before* the value is changed. The *setter* must decide what to do with the new value. Vice versa, when ``variable`` is accessed, the *getter* function (``getterfunc`` above) must ``return`` the desired value. Below is an example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1261 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1269 msgid "Either of the *setter* or *getter* functions can be omitted::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1268 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1276 msgid "Setters and getters are useful when :ref:`exporting variables ` to the editor in tool scripts or plugins, for validating input." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1271 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1279 msgid "As said, *local* access will *not* trigger the setter and getter. Here is an illustration of this:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1288 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1296 msgid "Tool mode" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1290 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1298 msgid "By default, scripts don't run inside the editor and only the exported properties can be changed. In some cases, it is desired that they do run inside the editor (as long as they don't execute game code or manually avoid doing so). For this, the ``tool`` keyword exists and must be placed at the top of the file::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1304 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1312 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1306 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1314 msgid "Be cautious when freeing nodes with ``queue_free()`` or ``free()`` in a tool script (especially the script's owner itself). As tool scripts run their code in the editor, misusing them may lead to crashing the editor." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1312 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1320 msgid "Memory management" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1314 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1322 msgid "If a class inherits from :ref:`class_Reference`, then instances will be freed when no longer in use. No garbage collector exists, just reference counting. By default, all classes that don't define inheritance extend **Reference**. If this is not desired, then a class must inherit :ref:`class_Object` manually and must call ``instance.free()``. To avoid reference cycles that can't be freed, a ``weakref`` function is provided for creating weak references." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1322 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1330 msgid "Alternatively, when not using references, the ``is_instance_valid(instance)`` can be used to check if an object has been freed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1329 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1337 msgid "Signals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1331 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1339 msgid "Signals are a tool to emit messages from an object that other objects can react to. To create custom signals for a class, use the ``signal`` keyword." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1344 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1352 msgid "Signals are a `Callback `_ mechanism. They also fill the role of Observers, a common programming pattern. For more information, read the `Observer tutorial `_ in the Game Programming Patterns ebook." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1351 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1359 msgid "You can connect these signals to methods the same way you connect built-in signals of nodes like :ref:`class_Button` or :ref:`class_RigidBody`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1354 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1362 msgid "In the example below, we connect the ``health_depleted`` signal from a ``Character`` node to a ``Game`` node. When the ``Character`` node emits the signal, the game node's ``_on_Character_health_depleted`` is called::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1376 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1378 msgid "Here is an example where this is useful. Let's say we want a life bar on screen to react to health changes with an animation, but we want to keep the user interface separate from the player in our scene tree." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1374 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1382 msgid "In our ``Character.gd`` script, we define a ``health_changed`` signal and emit it with :ref:`Object.emit_signal() `, and from a ``Game`` node higher up our scene tree, we connect it to the ``Lifebar`` using the :ref:`Object.connect() ` method::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1415 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1423 msgid "To use signals, your class has to extend the ``Object`` class or any type extending it like ``Node``, ``KinematicBody``, ``Control``..." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1418 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1426 msgid "In the ``Game`` node, we get both the ``Character`` and ``Lifebar`` nodes, then connect the character, that emits the signal, to the receiver, the ``Lifebar`` node in this case." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1432 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1440 msgid "This allows the ``Lifebar`` to react to health changes without coupling it to the ``Character`` node." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1435 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1443 msgid "You can write optional argument names in parentheses after the signal's definition::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1449 msgid "These arguments show up in the editor's node dock, and Godot can use them to generate callback functions for you. However, you can still emit any number of arguments when you emit signals; it's up to you to emit the correct values." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1447 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1455 msgid "GDScript can bind an array of values to connections between a signal and a method. When the signal is emitted, the callback method receives the bound values. These bound arguments are unique to each connection, and the values will stay the same." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1452 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1460 msgid "You can use this array of values to add extra constant information to the connection if the emitted signal itself doesn't give you access to all the data that you need." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1456 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1464 msgid "Building on the example above, let's say we want to display a log of the damage taken by each character on the screen, like ``Player1 took 22 damage.``. The ``health_changed`` signal doesn't give us the name of the character that took damage. So when we connect the signal to the in-game console, we can add the character's name in the binds array argument::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1470 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1478 msgid "Our ``BattleLog`` node receives each element in the binds array as an extra argument::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1483 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1491 msgid "Coroutines with yield" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1485 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1493 msgid "GDScript offers support for `coroutines `_ via the :ref:`yield` built-in function. Calling ``yield()`` will immediately return from the current function, with the current frozen state of the same function as the return value. Calling ``resume()`` on this resulting object will continue execution and return whatever the function returns. Once resumed, the state object becomes invalid. Here is an example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1506 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1527 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1514 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1535 msgid "Will print::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1512 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1520 msgid "It is also possible to pass values between ``yield()`` and ``resume()``, for example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1533 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1541 msgid "Remember to save the new function state, when using multiple ``yield``\\s::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1548 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1556 msgid "Coroutines & signals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1550 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1558 msgid "The real strength of using ``yield`` is when combined with signals. ``yield`` can accept two arguments, an object and a signal. When the signal is received, execution will recommence. Here are some examples::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1563 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1571 msgid "Coroutines themselves use the ``completed`` signal when they transition into an invalid state, for example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1575 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1583 msgid "``my_func`` will only continue execution once both buttons have been pressed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1577 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1585 msgid "You can also get the signal's argument once it's emitted by an object:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1584 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1592 msgid "If you're unsure whether a function may yield or not, or whether it may yield multiple times, you can yield to the ``completed`` signal conditionally:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1606 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1614 msgid "This ensures that the function returns whatever it was supposed to return regardless of whether coroutines were used internally. Note that using ``while`` would be redundant here as the ``completed`` signal is only emitted when the function didn't yield anymore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1612 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1620 msgid "Onready keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1614 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1622 msgid "When using nodes, it's common to desire to keep references to parts of the scene in a variable. As scenes are only warranted to be configured when entering the active scene tree, the sub-nodes can only be obtained when a call to ``Node._ready()`` is made." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1627 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1635 msgid "This can get a little cumbersome, especially when nodes and external references pile up. For this, GDScript has the ``onready`` keyword, that defers initialization of a member variable until ``_ready()`` is called. It can replace the above code with a single line::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1635 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1643 msgid "Assert keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1637 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1645 msgid "The ``assert`` keyword can be used to check conditions in debug builds. These assertions are ignored in non-debug builds. This means that the expression passed as argument won't be evaluated in a project exported in release mode. Due to this, assertions must **not** contain expressions that have side effects. Otherwise, the behavior of the script would vary depending on whether the project is run in a debug build." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1649 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1657 msgid "When running a project from the editor, the project will be paused if an assertion error occurs." msgstr "" diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot index 038d27490a..9943daae8d 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot index 89b5b07bdb..91a7eb81c2 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot index 8f1e3df75b..756b5d54e0 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -86,7 +86,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:327 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:347 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:373 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:697 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:744 msgid "**Good**:" msgstr "" @@ -100,7 +100,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:334 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:354 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:383 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:705 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:752 msgid "**Bad**:" msgstr "" @@ -220,207 +220,235 @@ msgstr "" msgid "Use double quotes unless single quotes make it possible to escape fewer characters in a given string. See the examples below:" msgstr "" +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:422 +msgid "Numbers" +msgstr "" + #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:424 -msgid "Naming conventions" +msgid "Don't omit the leading or trailing zero in floating-point numbers. Otherwise, this makes them less readable and harder to distinguish from integers at a glance." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:426 -msgid "These naming conventions follow the Godot Engine style. Breaking these will make your code clash with the built-in naming conventions, leading to inconsistent code." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:431 -msgid "File names" +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:428 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:452 +msgid "**Good**::" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:433 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:445 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:460 +msgid "**Bad**::" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:438 +msgid "Use lowercase for letters in hexadecimal numbers, as their lower height makes the number easier to read." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:449 +msgid "Take advantage of GDScript's underscores in literals to make large numbers more readable." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:471 +msgid "Naming conventions" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:473 +msgid "These naming conventions follow the Godot Engine style. Breaking these will make your code clash with the built-in naming conventions, leading to inconsistent code." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:478 +msgid "File names" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:480 msgid "Use snake_case for file names. For named classes, convert the PascalCase class name to snake_case::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:446 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:493 msgid "This is consistent with how C++ files are named in Godot's source code. This also avoids case sensitivity issues that can crop up when exporting a project from Windows to other platforms." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:451 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:498 msgid "Classes and nodes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:453 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:500 msgid "Use PascalCase for class and node names:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:459 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:506 msgid "Also use PascalCase when loading a class into a constant or a variable:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:466 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:513 msgid "Functions and variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:468 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:515 msgid "Use snake\\_case to name functions and variables:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:475 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:522 msgid "Prepend a single underscore (\\_) to virtual methods functions the user must override, private functions, and private variables:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:484 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:531 msgid "Signals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:486 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:533 msgid "Use the past tense to name signals:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:494 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:541 msgid "Constants and enums" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:496 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:543 msgid "Write constants with CONSTANT\\_CASE, that is to say in all caps with an underscore (\\_) to separate words:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:503 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:550 msgid "Use PascalCase for enum *names* and CONSTANT\\_CASE for their members, as they are constants:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:517 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:564 msgid "Code order" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:519 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:566 msgid "This first section focuses on code order. For formatting, see :ref:`formatting`. For naming conventions, see :ref:`naming_conventions`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:522 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:569 msgid "We suggest to organize GDScript code this way:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:545 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:592 msgid "We optimized the order to make it easy to read the code from top to bottom, to help developers reading the code for the first time understand how it works, and to avoid errors linked to the order of variable declarations." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:549 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:596 msgid "This code order follows four rules of thumb:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:551 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:598 msgid "Properties and signals come first, followed by methods." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:552 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:599 msgid "Public comes before private." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:553 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:600 msgid "Virtual callbacks come before the class's interface." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:554 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:601 msgid "The object's construction and initialization functions, ``_init`` and ``_ready``, come before functions that modify the object at runtime." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:559 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:606 msgid "Class declaration" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:561 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:608 msgid "If the code is meant to run in the editor, place the ``tool`` keyword on the first line of the script." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:564 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:611 msgid "Follow with the `class_name` if necessary. You can turn a GDScript file into a global type in your project using this feature. For more information, see :ref:`doc_gdscript`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:568 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:615 msgid "Then, add the `extends` keyword if the class extends a built-in type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:570 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:617 msgid "Following that, you should have the class's optional docstring as comments. You can use that to explain the role of your class to your teammates, how it works, and how other developers should use it, for example." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:582 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:629 msgid "Signals and properties" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:584 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:631 msgid "Write signal declarations, followed by properties, that is to say, member variables, after the docstring." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:587 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:634 msgid "Enums should come after signals, as you can use them as export hints for other properties." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:590 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:637 msgid "Then, write constants, exported variables, public, private, and onready variables, in that order." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:615 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:662 msgid "The GDScript compiler evaluates onready variables right before the ``_ready`` callback. You can use that to cache node dependencies, that is to say, to get child nodes in the scene that your class relies on. This is what the example above shows." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:621 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:668 msgid "Member variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:623 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:670 msgid "Don't declare member variables if they are only used locally in a method, as it makes the code more difficult to follow. Instead, declare them as local variables in the method's body." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:628 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:675 msgid "Local variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:630 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:677 msgid "Declare local variables as close as possible to their first use. This makes it easier to follow the code, without having to scroll too much to find where the variable was declared." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:635 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:682 msgid "Methods and static functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:637 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:684 msgid "After the class's properties come the methods." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:639 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:686 msgid "Start with the ``_init()`` callback method, that the engine will call upon creating the object in memory. Follow with the ``_ready()`` callback, that Godot calls when it adds a node to the scene tree." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:643 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:690 msgid "These functions should come first because they show how the object is initialized." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:646 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:693 msgid "Other built-in virtual callbacks, like ``_unhandled_input()`` and ``_physics_process``, should come next. These control the object's main loop and interactions with the game engine." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:650 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:697 msgid "The rest of the class's interface, public and private methods, come after that, in that order." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:687 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:734 msgid "Static typing" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:689 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:736 msgid "Since Godot 3.1, GDScript supports :ref:`optional static typing`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:692 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:739 msgid "Type hints" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:694 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:741 msgid "Place the colon right after the variable's name, without a space, and let the GDScript compiler infer the variable's type when possible." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:713 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:760 msgid "When you let the compiler infer the type hint, write the colon and equal signs together: ``:=``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:719 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:766 msgid "Add a space on either sides of the return type arrow when defining functions." msgstr "" diff --git a/sphinx/templates/getting_started/scripting/gdscript/index.pot b/sphinx/templates/getting_started/scripting/gdscript/index.pot index cc9636d3d1..cd9820c683 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/index.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot b/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot index d4363fd5d5..daec504130 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/gdscript/warning_system.pot b/sphinx/templates/getting_started/scripting/gdscript/warning_system.pot index d3325ccb09..5f50ae55b6 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/warning_system.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/warning_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/index.pot b/sphinx/templates/getting_started/scripting/index.pot index e99e2c6ac3..9bf394c66c 100644 --- a/sphinx/templates/getting_started/scripting/index.pot +++ b/sphinx/templates/getting_started/scripting/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot b/sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot index d0f8cea79b..f5519445ae 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot b/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot index 573aa7b1df..652d083752 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/visual_script/index.pot b/sphinx/templates/getting_started/scripting/visual_script/index.pot index af38216722..2697aab91b 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/index.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot b/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot index a92edb053b..f84895c905 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -265,7 +265,7 @@ msgid "These are nodes you can use as temporary storage for your graphs. Make su msgstr "" #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:270 -msgid "As it can be seen above, there are two nodes available: A simple getter, and a sequenced getter (setting requires a sequence port)." +msgid "As it can be seen above, there are two nodes available: A simple getter, and a sequenced setter (setting requires a sequence port)." msgstr "" #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:274 diff --git a/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot b/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot index f94141e51d..37ce5a5643 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/animations.pot b/sphinx/templates/getting_started/step_by_step/animations.pot index 3ba0de6c67..8e8962d5d0 100644 --- a/sphinx/templates/getting_started/step_by_step/animations.pot +++ b/sphinx/templates/getting_started/step_by_step/animations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/exporting.pot b/sphinx/templates/getting_started/step_by_step/exporting.pot index 6d2485a8d5..26b3fdc3da 100644 --- a/sphinx/templates/getting_started/step_by_step/exporting.pot +++ b/sphinx/templates/getting_started/step_by_step/exporting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/filesystem.pot b/sphinx/templates/getting_started/step_by_step/filesystem.pot index e664893ccd..ded052bc0e 100644 --- a/sphinx/templates/getting_started/step_by_step/filesystem.pot +++ b/sphinx/templates/getting_started/step_by_step/filesystem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/godot_design_philosophy.pot b/sphinx/templates/getting_started/step_by_step/godot_design_philosophy.pot index 75376a73aa..01cfb9b7ae 100644 --- a/sphinx/templates/getting_started/step_by_step/godot_design_philosophy.pot +++ b/sphinx/templates/getting_started/step_by_step/godot_design_philosophy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/index.pot b/sphinx/templates/getting_started/step_by_step/index.pot index 7cacba0286..116c896f09 100644 --- a/sphinx/templates/getting_started/step_by_step/index.pot +++ b/sphinx/templates/getting_started/step_by_step/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/instancing.pot b/sphinx/templates/getting_started/step_by_step/instancing.pot index 52b133df27..55b62bce04 100644 --- a/sphinx/templates/getting_started/step_by_step/instancing.pot +++ b/sphinx/templates/getting_started/step_by_step/instancing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -105,18 +105,18 @@ msgid "Press \"Play\" and notice that all of the instanced balls are now much mo msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:102 -msgid "You can also adjust individual instances. Set the bounce value back to ``0`` and then in the ``Main`` scene, select one of the instanced balls. Resources like ``PhysicsMaterial`` are shared between instances by default, so we need to make it unique. Click on the down arrow and select \"Make Unique\". Set its ``Bounce`` to ``1`` and press \"Play\"." +msgid "You can also adjust individual instances. Set the bounce value back to ``0`` and then in the ``Main`` scene, select one of the instanced balls. Resources like ``PhysicsMaterial`` are shared between instances by default, so we need to make it unique. Click on the tools button in the top-right of the Inspector dock and select \"Make Sub-Resources Unique\". Set its ``Bounce`` to ``1`` and press \"Play\"." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:110 +#: ../../docs/getting_started/step_by_step/instancing.rst:111 msgid "Notice that a grey \"revert\" button appears next to the adjusted property. When this button is present, it means you modified a property in the instanced scene to override its value in the saved scene. Even if that property is modified in the original scene, the custom value will remain. Pressing the revert button will restore the property to the value in the saved scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:118 +#: ../../docs/getting_started/step_by_step/instancing.rst:119 msgid "Conclusion" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:120 +#: ../../docs/getting_started/step_by_step/instancing.rst:121 msgid "Instancing can be useful when you want to create many copies of the same object. It is also possible to create instances in code by using GDScript, see :ref:`doc_instancing_continued`." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/instancing_continued.pot b/sphinx/templates/getting_started/step_by_step/instancing_continued.pot index 9d79f44693..25a6294f68 100644 --- a/sphinx/templates/getting_started/step_by_step/instancing_continued.pot +++ b/sphinx/templates/getting_started/step_by_step/instancing_continued.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot b/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot index c22f26c81c..0b8e9f782f 100644 --- a/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot +++ b/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/resources.pot b/sphinx/templates/getting_started/step_by_step/resources.pot index 36248848f0..3f31a0c64c 100644 --- a/sphinx/templates/getting_started/step_by_step/resources.pot +++ b/sphinx/templates/getting_started/step_by_step/resources.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/scene_tree.pot b/sphinx/templates/getting_started/step_by_step/scene_tree.pot index ede5435dde..8e388fe584 100644 --- a/sphinx/templates/getting_started/step_by_step/scene_tree.pot +++ b/sphinx/templates/getting_started/step_by_step/scene_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot b/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot index 8c2544006d..a60dd2a30e 100644 --- a/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot +++ b/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/scripting.pot b/sphinx/templates/getting_started/step_by_step/scripting.pot index 20f7b483ea..34f1a7ef5e 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -157,158 +157,162 @@ msgid "Scene setup" msgstr "" #: ../../docs/getting_started/step_by_step/scripting.rst:107 +msgid "If you still have the \"instancing\" project open from the previous tutorial, then close that out (Project -> Quit to Project List) and create a New Project." +msgstr "" + +#: ../../docs/getting_started/step_by_step/scripting.rst:109 msgid "Use the \"Add Child Node\" dialogue accessed from the Scene tab (or by pressing :kbd:`Ctrl + A`) to create a hierarchy with the following nodes:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:110 +#: ../../docs/getting_started/step_by_step/scripting.rst:112 msgid "Panel" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:112 +#: ../../docs/getting_started/step_by_step/scripting.rst:114 msgid "Label" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:113 +#: ../../docs/getting_started/step_by_step/scripting.rst:115 msgid "Button" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:115 +#: ../../docs/getting_started/step_by_step/scripting.rst:117 msgid "The scene tree should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:119 +#: ../../docs/getting_started/step_by_step/scripting.rst:121 msgid "Use the 2D editor to position and resize the Button and Label so that they look like the image below. You can set the text from the Inspector tab." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:124 +#: ../../docs/getting_started/step_by_step/scripting.rst:126 msgid "Finally, save the scene with a name such as ``sayhello.tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:129 +#: ../../docs/getting_started/step_by_step/scripting.rst:131 msgid "Adding a script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:131 +#: ../../docs/getting_started/step_by_step/scripting.rst:133 msgid "Right click on the Panel node, then select \"Attach Script\" from the context menu:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:136 +#: ../../docs/getting_started/step_by_step/scripting.rst:138 msgid "The script creation dialog will pop up. This dialog allows you to set the script's language, class name, and other relevant options." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:139 +#: ../../docs/getting_started/step_by_step/scripting.rst:141 msgid "In GDScript, the file itself represents the class, so the class name field is not editable." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:142 +#: ../../docs/getting_started/step_by_step/scripting.rst:144 msgid "The node we're attaching the script to is a panel, so the Inherits field will automatically be filled in with \"Panel\". This is what we want, as the script's goal is to extend the functionality of our panel node." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:146 +#: ../../docs/getting_started/step_by_step/scripting.rst:148 msgid "Finally, enter a path name for the script and select Create:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:150 +#: ../../docs/getting_started/step_by_step/scripting.rst:152 msgid "The script will then be created and added to the node. You can see this as an \"Open script\" icon next to the node in the Scene tab, as well as in the script property under Inspector:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:156 +#: ../../docs/getting_started/step_by_step/scripting.rst:158 msgid "To edit the script, select either of these buttons, both of which are highlighted in the above image. This will bring you to the script editor, where a default template will be included:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:161 +#: ../../docs/getting_started/step_by_step/scripting.rst:163 msgid "There's not much there. The ``_ready()`` function is called when the node, and all its children, enters the active scene. **Note:** ``_ready()`` is not the constructor; the constructor is instead ``_init()``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:166 +#: ../../docs/getting_started/step_by_step/scripting.rst:168 msgid "The role of the script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:168 +#: ../../docs/getting_started/step_by_step/scripting.rst:170 msgid "A script adds behavior to a node. It is used to control how the node functions as well as how it interacts with other nodes: children, parent, siblings, and so on. The local scope of the script is the node. In other words, the script inherits the functions provided by that node." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:179 +#: ../../docs/getting_started/step_by_step/scripting.rst:181 msgid "Handling a signal" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:181 +#: ../../docs/getting_started/step_by_step/scripting.rst:183 msgid "Signals are \"emitted\" when some specific kind of action happens, and they can be connected to any function of any script instance. Signals are used mostly in GUI nodes, although other nodes have them too, and you can even define custom signals in your own scripts." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:186 +#: ../../docs/getting_started/step_by_step/scripting.rst:188 msgid "In this step, we'll connect the \"pressed\" signal to a custom function. Forming connections is the first part and defining the custom function is the second part. For the first part, Godot provides two ways to create connections: through a visual interface the editor provides or through code." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:191 +#: ../../docs/getting_started/step_by_step/scripting.rst:193 msgid "While we will use the code method for the remainder of this tutorial series, let's cover how the editor interface works for future reference." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:194 +#: ../../docs/getting_started/step_by_step/scripting.rst:196 msgid "Select the Button node in the scene tree and then select the \"Node\" tab. Next, make sure that you have \"Signals\" selected." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:199 +#: ../../docs/getting_started/step_by_step/scripting.rst:201 msgid "If you then select \"pressed()\" under \"BaseButton\" and click the \"Connect...\" button in the bottom right, you'll open up the connection creation dialogue." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:204 +#: ../../docs/getting_started/step_by_step/scripting.rst:206 msgid "The top of the dialogue displays a list of your scene's nodes with the emitting node's name highlighted in blue. Select the \"Panel\" node here." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:207 +#: ../../docs/getting_started/step_by_step/scripting.rst:209 msgid "The bottom of the dialogue shows the name of the method that will be created. By default, the method name will contain the emitting node's name (\"Button\" in this case), resulting in ``_on_[EmitterNode]_[signal_name]``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:211 +#: ../../docs/getting_started/step_by_step/scripting.rst:213 msgid "And that concludes the guide on how to use the visual interface. However, this is a scripting tutorial, so for the sake of learning, let's dive into the manual process!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:215 +#: ../../docs/getting_started/step_by_step/scripting.rst:217 msgid "To accomplish this, we will introduce a function that is probably the most used by Godot programmers: :ref:`Node.get_node() `. This function uses paths to fetch nodes anywhere in the scene, relative to the node that owns the script." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:220 +#: ../../docs/getting_started/step_by_step/scripting.rst:222 msgid "For the sake of convenience, delete everything underneath ``extends Panel``. You will fill out the rest of the script manually." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:223 +#: ../../docs/getting_started/step_by_step/scripting.rst:225 msgid "Because the Button and Label are siblings under the Panel where the script is attached, you can fetch the Button by typing the following underneath the ``_ready()`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:240 +#: ../../docs/getting_started/step_by_step/scripting.rst:242 msgid "Next, write a function which will be called when the button is pressed:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:255 +#: ../../docs/getting_started/step_by_step/scripting.rst:257 msgid "Finally, connect the button's \"pressed\" signal to ``_on_Button_pressed()`` by using :ref:`Object.connect() `." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:271 +#: ../../docs/getting_started/step_by_step/scripting.rst:273 msgid "The final script should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:304 +#: ../../docs/getting_started/step_by_step/scripting.rst:306 msgid "Run the scene and press the button. You should get the following result:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:308 +#: ../../docs/getting_started/step_by_step/scripting.rst:310 msgid "Why, hello there! Congratulations on scripting your first scene." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:312 +#: ../../docs/getting_started/step_by_step/scripting.rst:314 msgid "A common misunderstanding regarding this tutorial is how ``get_node(path)`` works. For a given node, ``get_node(path)`` searches its immediate children. In the above code, this means that Button must be a child of Panel. If Button were instead a child of Label, the code to obtain it would be:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:330 +#: ../../docs/getting_started/step_by_step/scripting.rst:332 msgid "Also, remember that nodes are referenced by name, not by type." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:334 +#: ../../docs/getting_started/step_by_step/scripting.rst:336 msgid "The 'advanced' panel of the connect dialogue is for binding specific values to the connected function's parameters. You can add and remove values of different types." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:338 +#: ../../docs/getting_started/step_by_step/scripting.rst:340 msgid "The code approach also enables this with a 4th ``Array`` parameter that is empty by default. Feel free to read up on the ``Object.connect`` method for more information." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/scripting_continued.pot b/sphinx/templates/getting_started/step_by_step/scripting_continued.pot index 323557e4cf..4e3c485dfd 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_continued.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_continued.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/signals.pot b/sphinx/templates/getting_started/step_by_step/signals.pot index 8b23463f7d..f33970b9bb 100644 --- a/sphinx/templates/getting_started/step_by_step/signals.pot +++ b/sphinx/templates/getting_started/step_by_step/signals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot b/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot index 4689e49134..c269527c29 100644 --- a/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot +++ b/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/splash_screen.pot b/sphinx/templates/getting_started/step_by_step/splash_screen.pot index 6e8c88685e..51ecb0a9ac 100644 --- a/sphinx/templates/getting_started/step_by_step/splash_screen.pot +++ b/sphinx/templates/getting_started/step_by_step/splash_screen.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot b/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot index a315e969ed..a411e4b3a2 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot b/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot index fa68b09316..67b340319b 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot b/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot index 1ac3ebb663..a8df036a26 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -173,7 +173,7 @@ msgid "TextureButton" msgstr "" #: ../../docs/getting_started/step_by_step/ui_introduction_to_the_ui_system.rst:100 -msgid "**TextureButton** is like TextureRect, except it has 5 texture slots: one for each of the button's states. Most of the time, you'll use the Normal, Pressed, and Hover textures. Focused is useful if your interface listens to the keyboard's input. The sixth image slot, the Click Mask, lets you define the clickable area using a 1-bit, pure black and white image." +msgid "**TextureButton** is like TextureRect, except it has 6 texture slots: one for each of the button's states. Most of the time, you'll use the Normal, Pressed, and Hover textures. Focused is useful if your interface listens to the keyboard's input. The sixth image slot, the Click Mask, lets you define the clickable area using a 1-bit, pure black and white image." msgstr "" #: ../../docs/getting_started/step_by_step/ui_introduction_to_the_ui_system.rst:107 diff --git a/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot b/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot index 422e351046..b41337a372 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/your_first_game.pot b/sphinx/templates/getting_started/step_by_step/your_first_game.pot index a8adb1f4d5..4f0c33c296 100644 --- a/sphinx/templates/getting_started/step_by_step/your_first_game.pot +++ b/sphinx/templates/getting_started/step_by_step/your_first_game.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -477,371 +477,371 @@ msgid "The Main node will be spawning new mobs, and we want them to appear at a msgstr "" #: ../../docs/getting_started/step_by_step/your_first_game.rst:705 -msgid "Select the middle one (\"Add Point\") and draw the path by clicking to add the points at the corners shown. To have the points snap to the grid, make sure \"Use Grid Snap\" is selected. This option can be found to the left of the \"Lock\" button, appearing as a magnet next to some intersecting lines." +msgid "Select the middle one (\"Add Point\") and draw the path by clicking to add the points at the corners shown. To have the points snap to the grid, make sure \"Use Grid Snap\" and \"Use Snap\" are both selected. These options can be found to the left of the \"Lock\" button, appearing as a magnet next to some dots and intersecting lines, respectively." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:712 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:713 msgid "Draw the path in *clockwise* order, or your mobs will spawn pointing *outwards* instead of *inwards*!" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:717 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:718 msgid "After placing point ``4`` in the image, click the \"Close Curve\" button and your curve will be complete." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:720 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:721 msgid "Now that the path is defined, add a :ref:`PathFollow2D ` node as a child of ``MobPath`` and name it ``MobSpawnLocation``. This node will automatically rotate and follow the path as it moves, so we can use it to select a random position and direction along the path." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:725 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:726 msgid "Your scene should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:730 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:731 msgid "Main script" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:732 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:733 msgid "Add a script to ``Main``. At the top of the script, we use ``export (PackedScene)`` to allow us to choose the Mob scene we want to instance." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:772 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:773 msgid "Click the ``Main`` node and you will see the ``Mob`` property in the Inspector under \"Script Variables\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:775 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:776 msgid "You can assign this property's value in two ways:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:777 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:778 msgid "Drag ``Mob.tscn`` from the \"FileSystem\" panel and drop it in the ``Mob`` property ." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:779 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:780 msgid "Click the down arrow next to \"[empty]\" and choose \"Load\". Select ``Mob.tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:782 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:783 msgid "Next, select the ``Player`` node in the Scene dock, and access the Node dock on the sidebar. Make sure to have the Signals tab selected in the Node dock." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:785 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:786 msgid "You should see a list of the signals for the ``Player`` node. Find and double-click the ``hit`` signal in the list (or right-click it and select \"Connect...\"). This will open the signal connection dialog. We want to make a new function named ``game_over``, which will handle what needs to happen when a game ends. Type \"game_over\" in the \"Receiver Method\" box at the bottom of the signal connection dialog and click \"Connect\". Add the following code to the new function, as well as a ``new_game`` function that will set everything up for a new game:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:826 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:827 msgid "Now connect the ``timeout()`` signal of each of the Timer nodes (``StartTimer``, ``ScoreTimer`` , and ``MobTimer``) to the main script. ``StartTimer`` will start the other two timers. ``ScoreTimer`` will increment the score by 1." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:853 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:854 msgid "In ``_on_MobTimer_timeout()``, we will create a mob instance, pick a random starting location along the ``Path2D``, and set the mob in motion. The ``PathFollow2D`` node will automatically rotate as it follows the path, so we will use that to select the mob's direction as well as its position." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:859 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:860 msgid "Note that a new instance must be added to the scene using ``add_child()``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:907 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:908 msgid "Why ``PI``? In functions requiring angles, GDScript uses *radians*, not degrees. If you're more comfortable working with degrees, you'll need to use the ``deg2rad()`` and ``rad2deg()`` functions to convert between the two." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:913 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:914 msgid "Testing the scene" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:915 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:916 msgid "Let's test the scene to make sure everything is working. Add this to ``_ready()``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:932 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:933 msgid "Let's also assign ``Main`` as our \"Main Scene\" - the one that runs automatically when the game launches. Press the \"Play\" button and select ``Main.tscn`` when prompted." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:936 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:937 msgid "You should be able to move the player around, see mobs spawning, and see the player disappear when hit by a mob." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:939 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:940 msgid "When you're sure everything is working, remove the call to ``new_game()`` from ``_ready()``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:943 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:944 msgid "HUD" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:945 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:946 msgid "The final piece our game needs is a UI: an interface to display things like score, a \"game over\" message, and a restart button. Create a new scene, and add a :ref:`CanvasLayer ` node named ``HUD``. \"HUD\" stands for \"heads-up display\", an informational display that appears as an overlay on top of the game view." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:951 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:952 msgid "The :ref:`CanvasLayer ` node lets us draw our UI elements on a layer above the rest of the game, so that the information it displays isn't covered up by any game elements like the player or mobs." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:955 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:956 msgid "The HUD needs to display the following information:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:957 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:958 msgid "Score, changed by ``ScoreTimer``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:958 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:959 msgid "A message, such as \"Game Over\" or \"Get Ready!\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:959 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:960 msgid "A \"Start\" button to begin the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:961 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:962 msgid "The basic node for UI elements is :ref:`Control `. To create our UI, we'll use two types of :ref:`Control ` nodes: :ref:`Label ` and :ref:`Button `." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:965 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:966 msgid "Create the following as children of the ``HUD`` node:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:967 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:968 msgid ":ref:`Label ` named ``ScoreLabel``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:968 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:969 msgid ":ref:`Label ` named ``Message``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:969 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:970 msgid ":ref:`Button ` named ``StartButton``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:970 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:971 msgid ":ref:`Timer ` named ``MessageTimer``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:972 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:973 msgid "Click on the ``ScoreLabel`` and type a number into the ``Text`` field in the Inspector. The default font for ``Control`` nodes is small and doesn't scale well. There is a font file included in the game assets called \"Xolonium-Regular.ttf\". To use this font, do the following:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:977 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:978 msgid "Under \"Custom Fonts\", choose \"New DynamicFont\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:981 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:982 msgid "Click on the \"DynamicFont\" you added, and under \"Font/Font Data\", choose \"Load\" and select the \"Xolonium-Regular.ttf\" file. You must also set the font's ``Size``. A setting of ``64`` works well." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:987 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:988 msgid "Once you've done this on the ``ScoreLabel``, you can click the down arrow next to the DynamicFont property and choose \"Copy\", then \"Paste\" it in the same place on the other two Control nodes." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:991 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:992 msgid "**Anchors and Margins:** ``Control`` nodes have a position and size, but they also have anchors and margins. Anchors define the origin - the reference point for the edges of the node. Margins update automatically when you move or resize a control node. They represent the distance from the control node's edges to its anchor. See :ref:`doc_design_interfaces_with_the_control_nodes` for more details." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:998 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:999 msgid "Arrange the nodes as shown below. Click the \"Layout\" button to set a Control node's layout:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1003 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1004 msgid "You can drag the nodes to place them manually, or for more precise placement, use the following settings:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1007 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1008 msgid "ScoreLabel" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1009 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1010 msgid "*Layout* : \"Top Wide\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1010 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1011 msgid "*Text* : ``0``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1011 -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1018 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1012 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1019 msgid "*Align* : \"Center\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1014 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1015 msgid "Message" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1016 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1017 msgid "*Layout* : \"HCenter Wide\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1017 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1018 msgid "*Text* : ``Dodge the Creeps!``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1019 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1020 msgid "*Autowrap* : \"On\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1022 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1023 msgid "StartButton" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1024 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1025 msgid "*Text* : ``Start``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1025 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1026 msgid "*Layout* : \"Center Bottom\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1026 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1027 msgid "*Margin* :" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1028 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1029 msgid "Top: ``-200``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1029 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1030 msgid "Bottom: ``-100``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1031 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1032 msgid "On the ``MessageTimer``, set the ``Wait Time`` to ``2`` and set the ``One Shot`` property to \"On\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1034 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1035 msgid "Now add this script to ``HUD``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1053 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1054 msgid "The ``start_game`` signal tells the ``Main`` node that the button has been pressed." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1075 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1076 msgid "This function is called when we want to display a message temporarily, such as \"Get Ready\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1109 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1110 msgid "This function is called when the player loses. It will show \"Game Over\" for 2 seconds, then return to the title screen and, after a brief pause, show the \"Start\" button." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1113 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1114 msgid "When you need to pause for a brief time, an alternative to using a Timer node is to use the SceneTree's ``create_timer()`` function. This can be very useful to add delays such as in the above code, where we want to wait some time before showing the \"Start\" button." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1131 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1132 msgid "This function is called by ``Main`` whenever the score changes." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1133 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1134 msgid "Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` signal of ``StartButton`` and add the following code to the new functions:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1161 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1162 msgid "Connecting HUD to Main" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1163 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1164 msgid "Now that we're done creating the ``HUD`` scene, go back to ``Main``. Instance the ``HUD`` scene in ``Main`` like you did the ``Player`` scene. The scene tree should look like this, so make sure you didn't miss anything:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1169 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1170 msgid "Now we need to connect the ``HUD`` functionality to our ``Main`` script. This requires a few additions to the ``Main`` scene:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1172 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1173 msgid "In the Node tab, connect the HUD's ``start_game`` signal to the ``new_game()`` function of the Main node by typing \"new_game\" in the \"Receiver Method\" in the \"Connect a Signal\" window. Verify that the green connection icon now appears next to ``func new_game()`` in the script." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1177 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1178 msgid "In ``new_game()``, update the score display and show the \"Get Ready\" message:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1192 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1193 msgid "In ``game_over()`` we need to call the corresponding ``HUD`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1203 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1204 msgid "Finally, add this to ``_on_ScoreTimer_timeout()`` to keep the display in sync with the changing score:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1215 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1216 msgid "Now you're ready to play! Click the \"Play the Project\" button. You will be asked to select a main scene, so choose ``Main.tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1219 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1220 msgid "Removing old creeps" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1221 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1222 msgid "If you play until \"Game Over\" and then start a new game right away, the creeps from the previous game may still be on the screen. It would be better if they all disappeared at the start of a new game. We just need a way to tell *all* the mobs to remove themselves. We can do this with the \"group\" feature." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1226 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1227 msgid "In the ``Mob`` scene, select the root node and click the \"Node\" tab next to the Inspector (the same place where you find the node's signals). Next to \"Signals\", click \"Groups\" and you can type a new group name and click \"Add\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1232 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1233 msgid "Now all mobs will be in the \"mobs\" group. We can then add the following line to the ``game_over()`` function in ``Main``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1245 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1246 msgid "The ``call_group()`` function calls the named function on every node in a group - in this case we are telling every mob to delete itself." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1249 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1250 msgid "Finishing up" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1251 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1252 msgid "We have now completed all the functionality for our game. Below are some remaining steps to add a bit more \"juice\" to improve the game experience. Feel free to expand the gameplay with your own ideas." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1256 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1257 msgid "Background" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1258 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1259 msgid "The default gray background is not very appealing, so let's change its color. One way to do this is to use a :ref:`ColorRect ` node. Make it the first node under ``Main`` so that it will be drawn behind the other nodes. ``ColorRect`` only has one property: ``Color``. Choose a color you like and select \"Layout\" -> \"Full Rect\" so that it covers the screen." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1264 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1265 msgid "You could also add a background image, if you have one, by using a ``TextureRect`` node instead." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1268 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1269 msgid "Sound effects" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1270 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1271 msgid "Sound and music can be the single most effective way to add appeal to the game experience. In your game assets folder, you have two sound files: \"House In a Forest Loop.ogg\" for background music, and \"gameover.wav\" for when the player loses." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1275 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1276 msgid "Add two :ref:`AudioStreamPlayer ` nodes as children of ``Main``. Name one of them ``Music`` and the other ``DeathSound``. On each one, click on the ``Stream`` property, select \"Load\", and choose the corresponding audio file." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1280 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1281 msgid "To play the music, add ``$Music.play()`` in the ``new_game()`` function and ``$Music.stop()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1283 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1284 msgid "Finally, add ``$DeathSound.play()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1286 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1287 msgid "Keyboard shortcut" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1288 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1289 msgid "Since the game is played with keyboard controls, it would be convenient if we could also start the game by pressing a key on the keyboard. We can do this with the \"Shortcut\" property of the ``Button`` node." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1292 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1293 msgid "In the ``HUD`` scene, select the ``StartButton`` and find its *Shortcut* property in the Inspector. Select \"New Shortcut\" and click on the \"Shortcut\" item. A second *Shortcut* property will appear. Select \"New InputEventAction\" and click the new \"InputEventAction\". Finally, in the *Action* property, type the name ``ui_select``. This is the default input event associated with the spacebar." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1300 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1301 msgid "Now when the start button appears, you can either click it or press :kbd:`Space` to start the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1304 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1305 msgid "Project files" msgstr "" @@ -849,11 +849,11 @@ msgstr "" msgid "You can find a completed version of this project at these locations:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1307 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1308 msgid "https://github.com/kidscancode/Godot3_dodge/releases" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1308 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1309 msgid "https://github.com/godotengine/godot-demo-projects" msgstr "" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot index db3340e751..23725ccefa 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot index ce142329f6..3f11c28ccb 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/lights.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/lights.pot index d499ef265f..0515ce8051 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/lights.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/lights.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/material.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/material.pot index c0bca22153..c0a06baa9d 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/material.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/material.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/mesh.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/mesh.pot index a44a2a22af..2705b002de 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/mesh.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/mesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/physics.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/physics.pot index 8d14b329a5..c93c6592f4 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/physics.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/physics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot index 6cd00af4db..0dc27e4116 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot +++ b/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/import_process.pot b/sphinx/templates/getting_started/workflow/assets/import_process.pot index 4f5fa4e55d..0627e49b6c 100644 --- a/sphinx/templates/getting_started/workflow/assets/import_process.pot +++ b/sphinx/templates/getting_started/workflow/assets/import_process.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,78 +29,94 @@ msgid "Previously, importing assets in Godot 2.x required manual maintenance of msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:14 -msgid "In Godot 3.0, we use a more modern approach to importing: Simply drop your assets (image files, scenes, audio files, fonts, etc) directly in the project folder (copy them manually with your OS file explorer). Godot will automatically import these files internally and keep the imported resources hidden in a res://.import folder." +msgid "In Godot 3.0+, we use a more modern approach to importing: Simply drop your assets (image files, scenes, audio files, fonts, etc) directly in the project folder (copy them manually with your OS file explorer). Godot will automatically import these files internally and keep the imported resources hidden in a res://.import folder." msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:20 -msgid "This allows changing all the import parameters transparently." +msgid "This means that when trying to access imported assets through code you need to use the :ref:`Resource Loader` as it will automatically take into account where the internal files are saved. If you try and access an imported asset using the :ref:`File ` class it will work in the editor, but break in the exported project." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:23 +#: ../../docs/getting_started/workflow/assets/import_process.rst:26 +msgid "However, the :ref:`Resource Loader` cannot access non imported files, only the :ref:`File ` class can." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:30 msgid "Changing import parameters" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:25 -msgid "Changing the import parameters of an asset in Godot (again, keep in mind import parameters are only present in non-native Godot resource types) is easy. Select the relevant resource in the filesystem dock:" +#: ../../docs/getting_started/workflow/assets/import_process.rst:32 +msgid "To change the import parameters of an asset in Godot (again, keep in mind import parameters are only present in non-native Godot resource types) select the relevant resource in the filesystem dock:" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:31 +#: ../../docs/getting_started/workflow/assets/import_process.rst:38 msgid "Then, after adjusting the parameters, press \"Reimport\". These parameters will only be used for this asset and on future reimports." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:34 +#: ../../docs/getting_started/workflow/assets/import_process.rst:41 msgid "Changing the import parameters of several assets at the same time is also possible. Simply select all of them together in the resources dock and the exposed parameters will apply to all of them when reimporting." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:39 -msgid "Automatic reimport" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/import_process.rst:41 -msgid "When the MD5 checksum of the source asset changes, Godot will perform an automatic reimport of it, applying the preset configured for that specific asset." -msgstr "" - #: ../../docs/getting_started/workflow/assets/import_process.rst:46 -msgid "Files generated" +msgid "Reimporting multiple assets" msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:48 -msgid "Importing will add an extra .import file, containing the import configuration. Make sure to commit these to your version control system!" +msgid "While working on a project you may find that several assets need to have the same parameters changed, such as enabling mipmaps, but you only want those specific parameters changed. To do this, select every asset you want to reimport in the file system. In the import tab there will now be a checkbox to the left of every import parameter." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:53 -msgid "Additionally, extra assets will be preset in the hidden res://.import folder:" +#: ../../docs/getting_started/workflow/assets/import_process.rst:56 +msgid "Select the checkbox of the parameters you want to change on your imported assets, then change the parameters normally. Finally, click the reimport button and every selected asset will be reimported with only those parameters changed." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:57 -msgid "If any of the files present in this folder is erased (or the whole folder), the asset or assets will be reimported automatically. As such, committing this folder to the version control system is optional. It can shorten reimporting time when checking out on another computer, but it takes considerably more space and transfer time. Pick your poison!" +#: ../../docs/getting_started/workflow/assets/import_process.rst:62 +msgid "Automatic reimport" msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:64 -msgid "Changing import resource type" +msgid "When the MD5 checksum of the source asset changes, Godot will perform an automatic reimport of it, applying the preset configured for that specific asset." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:66 -msgid "Some source assets can be imported as different types of resources. For this, select the relevant type of resource desired and press \"Reimport\":" +#: ../../docs/getting_started/workflow/assets/import_process.rst:69 +msgid "Files generated" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:74 -msgid "Changing default import parameters" +#: ../../docs/getting_started/workflow/assets/import_process.rst:71 +msgid "Importing will add an extra .import file, containing the import configuration. Make sure to commit these to your version control system!" msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:76 -msgid "Different types of games might require different defaults. Changing the defaults per project can be achieved by using the \"Preset..\" Menu. Besides some resource types offering presets, the default setting can be saved and cleared too:" +msgid "Additionally, extra assets will be preset in the hidden res://.import folder:" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:84 -msgid "Simplicity is key!" +#: ../../docs/getting_started/workflow/assets/import_process.rst:80 +msgid "If any of the files present in this folder is erased (or the whole folder), the asset or assets will be reimported automatically. As such, committing this folder to the version control system is optional. It can shorten reimporting time when checking out on another computer, but it takes considerably more space and transfer time. Pick your poison!" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:86 -msgid "This is a very simple workflow which should take very little time to get used to. It also enforces a more correct way to deal with resources." +#: ../../docs/getting_started/workflow/assets/import_process.rst:87 +msgid "Changing import resource type" msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:89 +msgid "Some source assets can be imported as different types of resources. For this, select the relevant type of resource desired and press \"Reimport\":" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:97 +msgid "Changing default import parameters" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:99 +msgid "Different types of games might require different defaults. Changing the defaults per project can be achieved by using the \"Preset..\" Menu. Besides some resource types offering presets, the default setting can be saved and cleared too:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:107 +msgid "Simplicity is key!" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:109 +msgid "This is a very simple workflow which should take very little time to get used to. It also enforces a more correct way to deal with resources." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:112 msgid "There are many types of assets available for import, so please continue reading to understand how to work with all of them!" msgstr "" diff --git a/sphinx/templates/getting_started/workflow/assets/importing_audio_samples.pot b/sphinx/templates/getting_started/workflow/assets/importing_audio_samples.pot index 379f14de97..7ebf1d9cd2 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_audio_samples.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_audio_samples.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/importing_images.pot b/sphinx/templates/getting_started/workflow/assets/importing_images.pot index 2b27183a8b..a2a29756d4 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_images.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_images.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,364 +21,364 @@ msgid "Importing images" msgstr "" #: ../../docs/getting_started/workflow/assets/importing_images.rst:7 -msgid "Why import them?" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:9 -msgid "In Godot 3+, image files are no longer native resources and they must be imported. The reason behind this is the large amount of configuration parameters that image files can be imported with." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:13 -msgid "This small tutorial will explain what these parameters are and how to best make use of them." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:17 -msgid "Importing textures" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:19 -msgid "The default action in Godot is to import images as textures. Textures are stored in video memory and can't be accessed directly. This is what makes drawing them efficient." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:23 -msgid "Import options are vast:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:28 -msgid "Detect 3D" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:30 -msgid "This option makes Godot be aware of when a texture (which is imported for 2D as default) is used in 3D. If this happens, setting are changed so the texture flags are friendlier to 3D (mipmaps, filter and repeat become enabled and compression is changed to VRAM). Texture is also reimported automatically." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:36 msgid "Supported image formats" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:38 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:9 msgid "Godot can import the following image formats:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:40 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:11 msgid "BMP (``.bmp``) - No support for 16-bit per pixel images. Only 1-bit, 4-bit, 8-bit, 24-bit, and 32-bit per pixel images are supported." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:42 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:13 msgid "DirectDraw Surface (``.dds``) - If mipmaps are present in the texture, they will be loaded directly. This can be used to achieve effects using custom mipmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:45 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:16 msgid "OpenEXR (``.exr``) - Supports HDR (highly recommended for panorama skies)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:47 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:18 msgid "Radiance HDR (``.hdr``) - Supports HDR (highly recommended for panorama skies)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:49 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:20 msgid "JPEG (``.jpg``, ``.jpeg``) - Doesn't support transparency per the format's limitations." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:51 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:22 msgid "PNG (``.png``) - Precision is limited to 8 bits per channel upon importing (no HDR images)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:53 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:24 msgid "Truevision Targa (``.tga``)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:54 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:25 msgid "SVG (``.svg``, ``.svgz``) - SVGs are rasterized using `NanoSVG `__ when importing them. Support is limited; complex vectors may not render correctly. For complex vectors, rendering them to PNGs using Inkscape is often a better solution. This can be automated thanks to its `command-line interface `__." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:59 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:30 msgid "WebP (``.webp``)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:63 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:34 msgid "If you've compiled the Godot editor from source with specific modules disabled, some formats may not be available." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:67 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:38 +msgid "Importing textures" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:40 +msgid "The default action in Godot is to import images as textures. Textures are stored in video memory and can't be accessed directly. This is what makes drawing them efficient." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:44 +msgid "Import options are vast:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:49 +msgid "Detect 3D" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:51 +msgid "This option makes Godot be aware of when a texture (which is imported for 2D as default) is used in 3D. If this happens, setting are changed so the texture flags are friendlier to 3D (mipmaps, filter and repeat become enabled and compression is changed to VRAM). Texture is also reimported automatically." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:55 msgid "Compression" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:69 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:57 msgid "Images are one of the largest assets in a game. To handle them efficiently, they need to be compressed. Godot offers several compression methods, depending on the use case." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:73 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:61 msgid "Compress Mode" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:75 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:63 msgid "**VRAM Compression:** This is the most common compression mode for 3D assets. Size on disk is reduced and video memory usage is also decreased considerably (usually by a factor between 4 and 6). This mode should be avoided for 2D as it exhibits noticeable artifacts." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:79 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:67 msgid "**Lossless Compression:** This is the most common compression mode for 2D assets. It shows assets without any kind of artifacting, and disk compression is decent. It will use considerably more amount of video memory than VRAM Compression, though. This is also the recommended setting for pixel art." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:83 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:71 msgid "**Lossy Compression:** This is a good choice for large 2D assets. It has some artifacts, but less than VRAM and the file size is several times lower compared to Lossless or Uncompressed. Video memory usage isn't decreased by this mode; it's the same as with Lossless Compression or Uncompressed." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:87 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:75 msgid "**Uncompressed:** Only useful for formats that can't be compressed (such as raw float images)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:78 msgid "In this table, each of the four options are described together with their advantages and disadvantages (|good| = best, |bad| = worst):" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Uncompressed" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Compress Lossless (PNG)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Compress Lossy (WebP)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Compress VRAM" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Description" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as raw pixels" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as PNG" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as WebP" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as S3TC/BC or PVRTC/ETC depending on platform" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 msgid "Size on Disk" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 msgid "|bad| Large" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 msgid "|regular| Small" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 msgid "|good| Very Small" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 msgid "Memory Usage" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 msgid "|good| Small" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 msgid "Performance" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "|regular| Normal" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "|good| Fast" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "Quality Loss" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "|good| None" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "|regular| Slight" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "|bad| Moderate" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "Load Time" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "|bad| Slow" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:116 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 msgid "HDR Mode" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:118 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 msgid "Godot supports high dynamic range textures (as .HDR or .EXR). These are mostly useful as high dynamic range equirectangular panorama skies (the internet has plenty if you search for them), which replace Cubemaps in Godot 2.x. Modern PCs support the BC6H VRAM format, but there are still plenty that do not." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:121 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:109 msgid "If you want Godot to ensure full compatibility in terms of the kind of textures, enable the \"Force RGBE\" option." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:124 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:112 msgid "Normal Map" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:126 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:114 msgid "When using a texture as normal map, only the red and green channels are required. Given regular texture compression algorithms produce artifacts that don't look that nice in normal maps, the RGTC compression format is the best fit for this data. Forcing this option to \"Enabled\" will make Godot import the image as RGTC compressed. By default, it's set to \"Detect\", which means that if the texture is ever used as a normal map, it will be changed to \"Enabled\" and reimported automatically." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:131 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:119 msgid "Note that RGTC compression affects the resulting normal map image. You will have to adjust custom shaders that use the normal map to take this into account." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:135 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:123 msgid "Godot requires the normal map to use the X+, Y- and Z+ coordinates. In other words, if you've imported a material made to be used with another engine, you may have to convert the normal map so its Y axis is flipped. Otherwise, the normal map direction may appear to be inverted on the Y axis." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:140 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:128 msgid "More information about normal maps (including a coordinate order table for popular engines) can be found `here `__." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:145 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:133 msgid "Flags" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:147 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:135 msgid "There are plenty of settings that can be toggled when importing an image as a texture, depending on the use case." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:150 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:138 msgid "Repeat" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:152 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:140 msgid "This setting is most commonly used in 3D, and is therefore generally disabled in 2D. It sets UV coordinates going beyond the 0,0 - 1,1 range to \"loop\"." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:154 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:142 msgid "Repeating can optionally be set to mirrored mode." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:157 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:145 msgid "Filter" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:159 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:147 msgid "When pixels become larger than the screen pixels, this option enables linear interpolation for them. The result is a smoother (less blocky) texture. This setting can be commonly used in 2D and 3D, but it's usually disabled when making pixel perfect games." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:162 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:150 msgid "Mipmaps" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:164 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:152 msgid "When pixels become smaller than the screen, mipmaps kick in. This helps reduce the grainy effect when shrinking the textures. Keep in mind that, in older hardware (GLES2, mainly mobile), there are some requirements to use mipmaps:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:167 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:155 msgid "Texture width and height must be powers of 2" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:168 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:156 msgid "Repeat must be enabled" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:170 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:158 msgid "Keep in mind the above when making phone games and applications, want to aim for full compatibility, and need mipmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:172 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:160 msgid "When doing 3D, mipmap should be turned on, as this also improves performance (smaller versions of the texture are used for objects further away)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:175 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:163 msgid "Anisotropic" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:177 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:165 msgid "When textures are near parallel to the view (like floors), this option makes them have more detail by reducing blurriness." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:180 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:168 msgid "SRGB" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:182 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:170 msgid "Godot uses Linear colorspace when rendering 3D. Textures mapped to albedo or detail channels need to have this option turned on in order for colors to look correct. When set to \"Detect\" mode, the texture will be marked as SRGB when used in albedo channels." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:186 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:174 msgid "Process" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:188 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:176 msgid "Some special processes can be applied to images when imported as textures." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:191 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:179 msgid "Fix Alpha Border" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:193 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:181 msgid "This puts pixels of the same surrounding color in transition from transparency to non transparency. It helps mitigate the outline effect when exporting images from Photoshop and the like." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:198 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:186 msgid "It's a good idea to leave it on by default, unless specific values are needed." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:201 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:189 msgid "Premultiplied Alpha" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:203 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:191 msgid "An alternative to fix darkened borders is to use premultiplied alpha. By enabling this option, the texture will be converted to this format. Keep in mind that a material will need to be created that uses the PREMULT ALPHA blend mode on canvas items that need it." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:207 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:195 msgid "HDR as sRGB" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:209 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:197 msgid "A few HDR files are broken and contain sRGB color data. It is advised not to use them, but, in the worst-case scenario, toggling this option on will make them look right." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:212 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:200 msgid "Invert Color" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:214 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:202 msgid "Reverses the image's color. This is useful, for example, to convert a height map generated by external programs to depth map to use with :ref:`doc_spatial_material`." msgstr "" +#: ../../docs/getting_started/workflow/assets/importing_images.rst:205 +msgid "Svg" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:208 +msgid "Scale" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:210 +msgid "This option only applies to SVG files. It controls the scale of the SVG image. The default scale (1.0) will make the imported SVG match its original design scale." +msgstr "" + diff --git a/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot b/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot index d480553c01..23c598aa34 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/importing_translations.pot b/sphinx/templates/getting_started/workflow/assets/importing_translations.pot index 2c9cc37374..cec7ced3bf 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_translations.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_translations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/assets/index.pot b/sphinx/templates/getting_started/workflow/assets/index.pot index 9a8f5ece2f..0182061caa 100644 --- a/sphinx/templates/getting_started/workflow/assets/index.pot +++ b/sphinx/templates/getting_started/workflow/assets/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/autoloads_versus_internal_nodes.pot b/sphinx/templates/getting_started/workflow/best_practices/autoloads_versus_internal_nodes.pot index 5ce5a0148d..23e89edaeb 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/autoloads_versus_internal_nodes.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/autoloads_versus_internal_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/data_preferences.pot b/sphinx/templates/getting_started/workflow/best_practices/data_preferences.pot index b97398eb12..f82b125122 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/data_preferences.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/data_preferences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot b/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot index 420861d465..95b531faec 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/godot_notifications.pot b/sphinx/templates/getting_started/workflow/best_practices/godot_notifications.pot index 68e5e3a41a..3feb7af18e 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/godot_notifications.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/godot_notifications.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/index.pot b/sphinx/templates/getting_started/workflow/best_practices/index.pot index dbaac9ace5..031ff3842f 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/index.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/introduction_best_practices.pot b/sphinx/templates/getting_started/workflow/best_practices/introduction_best_practices.pot index c10246cde7..86c23d0f3b 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/introduction_best_practices.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/introduction_best_practices.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "This series is a collection of best practices to help you work efficientl msgstr "" #: ../../docs/getting_started/workflow/best_practices/introduction_best_practices.rst:9 -msgid "Godot allows for a great amount of flexibility in how you structure a project's codebase and break it down into scenes. Each approach has its own pros and cons, and they can be hard to weigh until you've worked with the engine for long enough." +msgid "Godot allows for a great amount of flexibility in how you structure a project's codebase and break it down into scenes. Each approach has its pros and cons, and they can be hard to weigh until you've worked with the engine for long enough." msgstr "" #: ../../docs/getting_started/workflow/best_practices/introduction_best_practices.rst:13 diff --git a/sphinx/templates/getting_started/workflow/best_practices/logic_preferences.pot b/sphinx/templates/getting_started/workflow/best_practices/logic_preferences.pot index 0f0d0386f6..e1b6036785 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/logic_preferences.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/logic_preferences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/node_alternatives.pot b/sphinx/templates/getting_started/workflow/best_practices/node_alternatives.pot index b7565ec611..2e5e2e519d 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/node_alternatives.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/node_alternatives.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/scene_organization.pot b/sphinx/templates/getting_started/workflow/best_practices/scene_organization.pot index 5a2c894874..64490ff082 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/scene_organization.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/scene_organization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/best_practices/scenes_versus_scripts.pot b/sphinx/templates/getting_started/workflow/best_practices/scenes_versus_scripts.pot index 10e672fbef..dfb41b1c0a 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/scenes_versus_scripts.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/scenes_versus_scripts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -178,22 +178,46 @@ msgid "On the downside, it also means having to use largely imperative programmi msgstr "" #: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:151 -msgid "Conclusion" +msgid "Performance of Script vs PackedScene" msgstr "" #: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:153 -msgid "In the end, the best approach is to consider the following:" +msgid "One last aspect to consider when choosing scenes and scripts is execution speed." msgstr "" #: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:155 +msgid "As the size of objects increases, the scripts' necessary size to create and initialize them grows much larger. Creating node hierarchies demonstrates this. Each Node's logic could be several hundred lines of code in length." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:159 +msgid "The code example below creates a new ``Node``, changes its name, assigns a script to it, sets its future parent as its owner so it gets saved to disk along with it, and finally adds it as a child of the ``Main`` node:" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:195 +msgid "Script code like this is much slower than engine-side C++ code. Each instruction makes a call to the scripting API which leads to many \"lookups\" on the back-end to find the logic to execute." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:199 +msgid "Scenes help to avoid this performance issue. :ref:`PackedScene `, the base type that scenes inherit from, defines resources that use serialized data to create objects. The engine can process scenes in batches on the back-end and provide much better performance than scripts." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:205 +msgid "Conclusion" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:207 +msgid "In the end, the best approach is to consider the following:" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:209 msgid "If one wishes to create a basic tool that is going to be re-used in several different projects and which people of all skill levels will likely use (including those who don't label themselves as \"programmers\"), then chances are that it should probably be a script, likely one with a custom name/icon." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:160 +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:214 msgid "If one wishes to create a concept that is particular to their game, then it should always be a scene. Scenes are easier to track/edit and provide more security than scripts." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:164 +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:218 msgid "If one would like to give a name to a scene, then they can still sort of do this in 3.1 by declaring a script class and giving it a scene as a constant. The script becomes, in effect, a namespace:" msgstr "" diff --git a/sphinx/templates/getting_started/workflow/best_practices/what_are_godot_classes.pot b/sphinx/templates/getting_started/workflow/best_practices/what_are_godot_classes.pot index a60375118a..663e964dea 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/what_are_godot_classes.pot +++ b/sphinx/templates/getting_started/workflow/best_practices/what_are_godot_classes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,126 +17,106 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:4 -msgid "Godot scenes and scripts are classes" +msgid "Applying object-oriented principles in Godot" msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:6 -msgid "In Godot, scripts and scenes can both be the equivalent of classes in an Object-Oriented programming language. The main difference is that scenes are `declarative code `_, while scripts can contain `imperative code `_." +msgid "The engine offers two main ways to create reusable objects: scripts and scenes. Neither of these technically define classes under the hood." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:12 -msgid "As a result, many best practices in Godot boil down to applying Object-Oriented design principles to the scenes, nodes, or scripts that make up your game." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:9 +msgid "Still, many best practices using Godot involve applying object-oriented programming principles to the scripts and scenes that compose your game. That is why it's useful to understand how we can think of them as classes." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:15 -msgid "This guide explains how scripts and scenes work in the engine's core, to help you get a sense of how Godot works under the hood, and to help you better understand where some of this series' best practices come from." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:13 +msgid "This guide briefly explains how scripts and scenes work in the engine's core to help you understand how they work under the hood." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:20 -msgid "Making sense of classes in Godot" +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:17 +msgid "How scripts work in the engine" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:19 +msgid "The engine provides built-in classes like :ref:`Node `. You can extend those to create derived types using a script." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:22 -msgid "Godot Engine provides built-in classes like :ref:`Node `. User-created types are not technically classes. Instead, they are resources that tell the engine a sequence of initializations to perform on one of the engine's built-in classes." +msgid "These scripts are not technically classes. Instead, they are resources that tell the engine a sequence of initializations to perform on one of the engine's built-in classes." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:27 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:25 msgid "Godot's internal classes have methods that register a class's data with a :ref:`ClassDB `. This database provides runtime access to class information. ``ClassDB`` contains information about classes like:" msgstr "" +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:29 +msgid "Properties." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:30 +msgid "Methods." +msgstr "" + #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:31 -msgid "properties" +msgid "Constants." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:32 -msgid "methods" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:33 -msgid "constants" +msgid "Signals." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:34 -msgid "signals" +msgid "This ``ClassDB`` is what objects check against when performing an operation like accessing a property or calling a method. It checks the database's records and the object's base types' records to see if the object supports the operation." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:36 -msgid "This ``ClassDB`` is what Objects check against when performing an operation like accessing a property or calling a method. ``ClassDB`` checks the database's records and the records of the Object's base types to see if the Object supports the operation." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:38 +msgid "Attaching a :ref:`Script ` to your object extends the methods, properties, and signals available from the ``ClassDB``." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:41 -msgid "On the engine's side, every class defines a static ``_bind_methods()`` function that describes what C++ content it registers to the database and how. When you use the engine, you can extend the methods, properties, and signals available from the ``ClassDB`` by attaching a :ref:`Script ` to your node." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:43 +msgid "Even scripts that don't use the ``extends`` keyword implicitly inherit from the engine's base :ref:`Reference ` class. As a result, you can instantiate scripts without the ``extends`` keyword from code. Since they extend ``Reference`` though, you cannot attach them to a :ref:`Node `." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:46 -msgid "Objects check their attached script before the database. This is why scripts can override built-in methods. If a script defines a ``_get_property_list()`` method, Godot appends that data to the list of properties the Object fetches from the ClassDB. The same is true for other declarative code." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:49 +msgid "Scenes" msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:51 -msgid "Even scripts that don't inherit from a built-in type, i.e. scripts that don't start with the ``extends`` keyword, implicitly inherit from the engine's base :ref:`Reference ` class. This allows the Object to defer to the script's content where the engine logic deems appropriate." +msgid "The behavior of scenes has many similarities to classes, so it can make sense to think of a scene as a class. Scenes are reusable, instantiable, and inheritable groups of nodes. Creating a scene is similar to having a script that creates nodes and adds them as children using ``add_child()``." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:55 +msgid "We often pair a scene with a scripted root node that makes use of the scene's nodes. As such, the scene is often an extension of the script's declarative code." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:58 -msgid "As a result, you can instance scripts without the ``extends`` keyword from code, but you cannot attach them to a :ref:`Node `" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:63 -msgid "Scripting performances and PackedScene" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:65 -msgid "As the size of Objects increases, the scripts' necessary size to create them grows much, much larger. Creating node hierarchies demonstrates this. Each individual Node's logic could be several hundred lines of code in length." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:69 -msgid "Let's see a simple example of creating a single ``Node`` as a child. The code below creates a new ``Node``, changes its name, assigns a script to it, sets its future parent as its owner so it gets saved to disk along with it, and finally adds it as a child of the ``Main`` node:" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:109 -msgid "Script code like this is much slower than engine-side C++ code. Each change makes a separate call to the scripting API which leads to many \"look-ups\" on the back-end to find the logic to execute." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:113 -msgid "Scenes help to avoid this performance issue. :ref:`PackedScene `, the base type that scenes inherit from, are resources that use serialized data to create objects. The engine can process scenes in batches on the back-end and provide much better performance than scripts." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:119 -msgid "Scenes and scripts are objects" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:121 -msgid "Why is any of this important to scene organization? Because scenes *are* objects. One often pairs a scene with a scripted root node that makes use of the sub-nodes. This means that the scene is often an extension of the script's declarative code." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:126 msgid "The content of a scene helps to define:" msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:128 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:60 msgid "What nodes are available to the script" msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:129 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:61 msgid "How they are organized" msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:130 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:62 msgid "How they are initialized" msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:131 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:63 msgid "What signal connections they have with each other" msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:133 -msgid "Many Object-Oriented principles which apply to written code *also* apply to scenes." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:65 +msgid "Why is any of this important to scene organization? Because instances of scenes *are* objects. As a result, many object-oriented principles that apply to written code also apply to scenes: single responsibility, encapsulation, and others." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:136 -msgid "The scene is *always an extension of the script attached to its root node*. You can see all the nodes it contains as part of a single class." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:69 +msgid "The scene is *always an extension of the script attached to its root node*, so you can interpret it as part of a class." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:139 -msgid "Most of the tips and techniques explained in this series will build on this." +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:72 +msgid "Most of the techniques explained in this best practices series build on this point." msgstr "" diff --git a/sphinx/templates/getting_started/workflow/export/android_custom_build.pot b/sphinx/templates/getting_started/workflow/export/android_custom_build.pot index de1d092c35..1451f276d5 100644 --- a/sphinx/templates/getting_started/workflow/export/android_custom_build.pot +++ b/sphinx/templates/getting_started/workflow/export/android_custom_build.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/changing_application_icon_for_windows.pot b/sphinx/templates/getting_started/workflow/export/changing_application_icon_for_windows.pot index 8e76feb85f..627411bc8c 100644 --- a/sphinx/templates/getting_started/workflow/export/changing_application_icon_for_windows.pot +++ b/sphinx/templates/getting_started/workflow/export/changing_application_icon_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,78 +25,74 @@ msgid "By default, the exported project's icon will be the Godot icon. You will msgstr "" #: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:11 -msgid "Changing the taskbar icon" +msgid "Creating an ICO file" msgstr "" #: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:13 -msgid "The taskbar icon is the icon that shows up on the taskbar when your project is running." +msgid "Windows does not use formats such as png or jpg for application icons. Instead, it uses a Windows-only format called ICO. You can create your application icon in any program but you will have to convert it to an ICO file using a program such as GIMP." msgstr "" #: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:18 -msgid "To change the taskbar icon, go to **Project → Project Settings → Application → Config → Icon**. Click on the folder icon and select your desired icon." +msgid "`This video tutorial `_ goes over how to export an ICO file with GIMP." msgstr "" -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:22 -msgid "This is also the icon that gets displayed in the Godot project list." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:27 -msgid "Changing the file icon" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:29 -msgid "The file icon is the icon of the executable that you click on to start the project." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:34 -msgid "Before selecting it in the export options, you will need to install an extra tool called **rcedit**. You can download it `here `_." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:38 -msgid "After downloading, you need to tell Godot the path to the rcedit executable on your computer. Go to **Editor → Editor Settings → Export → Windows**. Click on the folder icon for the **rcedit** entry. Navigate to and select the rcedit executable." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:44 -msgid "Linux and macOS users will also need to install `WINE `_ to use rcedit." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:49 -msgid "You should now have everything in place to change the file icon. To do that, you will need to specify the icon when exporting. Go to **Project → Export**. Assuming you have already created a Windows Desktop preset, select your icon in ICO format in the **Application → Icon** field." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:55 -msgid "You can use software such as GIMP to export an ICO image. For more information, please refer to `this tutorial `_." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:62 -msgid "Testing the result" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:64 -msgid "You can now export the project. If it worked correctly, you should see this:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:69 -msgid "ICO file requirements" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:71 -msgid "Regardless of which program you use to create your `ICO file `_, there are some requirements to ensure the icon (and your executable) works on Windows." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:75 -msgid "This is a bit tricky, as can be seen in the following Stack Overflow threads: `one `_, `two `_." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:79 -msgid "Your ICO file should at least contain icons in the following resolutions: 16×16, 48×48 and 256×256." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:82 -msgid "If you want to fully support high-DPI screens, this is the full list of supported icon sizes on Windows 10: 16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84 and one larger than 255 pixels (such as 256, 512 or 1024)." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:87 +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:21 msgid "It is also possible to convert a PNG image to an hiDPI-friendly ICO file using this `ImageMagick `_ command:" msgstr "" +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:30 +msgid "Changing the taskbar icon" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:32 +msgid "The taskbar icon is the icon that shows up on the taskbar when your project is running." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:37 +msgid "To change the taskbar icon, go to **Project → Project Settings → Application → Config → Windows Native Icon**. Click on the folder icon and select your ICO file." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:43 +msgid "This setting only changes the icon for your exported game on Windows. To set the icon for macOS, use ``Macos Native Icon``. And for any other platform, use the ``Icon`` setting." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:48 +msgid "Changing the file icon" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:52 +msgid "There are `known issues `__ when changing the application icon in executables that embed a PCK file. It's recommended to avoid using rcedit for now if you choose to enable the **Embed Pck** option for your Windows export preset in the Export dialog." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:57 +msgid "The file icon is the icon of the executable that you click on to start the project." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:62 +msgid "Before selecting it in the export options, you will need to install an extra tool called **rcedit**. You can download it `here `_." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:66 +msgid "After downloading, you need to tell Godot the path to the rcedit executable on your computer. Go to **Editor → Editor Settings → Export → Windows**. Click on the folder icon for the **rcedit** entry. Navigate to and select the rcedit executable." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:72 +msgid "Linux and macOS users will also need to install `WINE `_ to use rcedit." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:77 +msgid "You should now have everything in place to change the file icon. To do that, you will need to specify the icon when exporting. Go to **Project → Export**. Assuming you have already created a Windows Desktop preset, select your icon in ICO format in the **Application → Icon** field." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:86 +msgid "Testing the result" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:88 +msgid "You can now export the project. If it worked correctly, you should see this:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:92 +msgid "if your icon isn't showing up properly, on Windows 10, try clearing the icon cache. To do so, open `Run` and call the command ``ie4uinit.exe -ClearIconCache`` or ``ie4uinit.exe -show``." +msgstr "" + diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_android.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_android.pot index 6c036c3913..3bf5580a45 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_android.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_dedicated_servers.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_dedicated_servers.pot index 82b75295ee..618623f9b5 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_dedicated_servers.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_dedicated_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -109,14 +109,30 @@ msgid "After downloading or compiling a server binary, you should now place it i msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:86 -msgid "Next steps" +msgid "Starting the dedicated server" msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:88 +msgid "If both your client and server are part of the same Godot project, you will have to add a way to start the server directly using a command-line argument. This can be done by adding the following code snippet in your main scene (or a singleton)'s ``_ready()`` method::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:99 +msgid "Alternatively, you can make the dedicated server always start up if a headless or server binary is detected::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:109 +msgid "If your client and server are separate Godot projects, your server should most likely be configured in a way where running the main scene starts a server automatically." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:114 +msgid "Next steps" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:116 msgid "On Linux, to make your dedicated server restart after a crash or system reboot, you can `create a systemd service `__. This also lets you view server logs in a more convenient fashion, with automatic log rotation provided by systemd." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:94 +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:122 msgid "If you have experience with containers, you could also look into wrapping your dedicated server in a `Docker `__ container. This way, it can be used more easily in an automatic scaling setup (which is outside the scope of this tutorial)." msgstr "" diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot index 28d016666e..1c7ea8865a 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot index 0bbe778674..4e8716eac5 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -28,3 +28,7 @@ msgstr "" msgid "Godot offers a more elegant approach for PC distribution when using the export system. When exporting for PC (Linux, Windows, macOS), the exporter takes all the project files and creates a ``data.pck`` file. This file is bundled with a specially optimized binary that is smaller, faster and does not contain the editor and debugger." msgstr "" +#: ../../docs/getting_started/workflow/export/exporting_for_pc.rst:18 +msgid "If you export for Windows with embedded PCK files, you will not be able to sign the program, it will break." +msgstr "" + diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot index 22a0df823c..e89ea6096a 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_web.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_web.pot index 40691cc4cb..c89afba0b5 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_web.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/exporting_pcks.pot b/sphinx/templates/getting_started/workflow/export/exporting_pcks.pot index 26e372468c..c04aea8e00 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_pcks.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_pcks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/exporting_projects.pot b/sphinx/templates/getting_started/workflow/export/exporting_projects.pot index bbb7860a87..664bab5a07 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_projects.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_projects.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/feature_tags.pot b/sphinx/templates/getting_started/workflow/export/feature_tags.pot index 16d4b45a1b..2e707b4a82 100644 --- a/sphinx/templates/getting_started/workflow/export/feature_tags.pot +++ b/sphinx/templates/getting_started/workflow/export/feature_tags.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/index.pot b/sphinx/templates/getting_started/workflow/export/index.pot index 9b29031e8c..615f582082 100644 --- a/sphinx/templates/getting_started/workflow/export/index.pot +++ b/sphinx/templates/getting_started/workflow/export/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/export/one-click_deploy.pot b/sphinx/templates/getting_started/workflow/export/one-click_deploy.pot index bfe6299153..2927d985f1 100644 --- a/sphinx/templates/getting_started/workflow/export/one-click_deploy.pot +++ b/sphinx/templates/getting_started/workflow/export/one-click_deploy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/index.pot b/sphinx/templates/getting_started/workflow/index.pot index 391ca78594..abf2a03159 100644 --- a/sphinx/templates/getting_started/workflow/index.pot +++ b/sphinx/templates/getting_started/workflow/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/project_setup/index.pot b/sphinx/templates/getting_started/workflow/project_setup/index.pot index 00f95eb589..41539e7a0c 100644 --- a/sphinx/templates/getting_started/workflow/project_setup/index.pot +++ b/sphinx/templates/getting_started/workflow/project_setup/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/project_setup/project_organization.pot b/sphinx/templates/getting_started/workflow/project_setup/project_organization.pot index 4952919aae..1ad40b769e 100644 --- a/sphinx/templates/getting_started/workflow/project_setup/project_organization.pot +++ b/sphinx/templates/getting_started/workflow/project_setup/project_organization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/workflow/project_setup/version_control_systems.pot b/sphinx/templates/getting_started/workflow/project_setup/version_control_systems.pot index 1bdb6bddbf..41cf4b466b 100644 --- a/sphinx/templates/getting_started/workflow/project_setup/version_control_systems.pot +++ b/sphinx/templates/getting_started/workflow/project_setup/version_control_systems.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -60,3 +60,11 @@ msgstr "" msgid "``.mono/``: This folder stores automatically-generated Mono files. It only exists in projects that use the Mono version of Godot." msgstr "" +#: ../../docs/getting_started/workflow/project_setup/version_control_systems.rst:40 +msgid "Working with Git on Windows" +msgstr "" + +#: ../../docs/getting_started/workflow/project_setup/version_control_systems.rst:42 +msgid "Most Git for Windows clients are configured with the ``core.autocrlf`` set to ``true``. This can lead to files unnecessarily being marked as modified by Git due to their line endings being converted automatically. It is better to set this option as::" +msgstr "" + diff --git a/sphinx/templates/index.pot b/sphinx/templates/index.pot index 8878769c85..529dd2f166 100644 --- a/sphinx/templates/index.pot +++ b/sphinx/templates/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot b/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot index 8011e1f401..2a6d37e6df 100644 --- a/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot +++ b/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_meshes.pot b/sphinx/templates/tutorials/2d/2d_meshes.pot index 17fdd63f50..30527ebfcd 100644 --- a/sphinx/templates/tutorials/2d/2d_meshes.pot +++ b/sphinx/templates/tutorials/2d/2d_meshes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_movement.pot b/sphinx/templates/tutorials/2d/2d_movement.pot index b90a157de1..4df529ffc1 100644 --- a/sphinx/templates/tutorials/2d/2d_movement.pot +++ b/sphinx/templates/tutorials/2d/2d_movement.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_sprite_animation.pot b/sphinx/templates/tutorials/2d/2d_sprite_animation.pot index 2c47ccc5ec..41099c857a 100644 --- a/sphinx/templates/tutorials/2d/2d_sprite_animation.pot +++ b/sphinx/templates/tutorials/2d/2d_sprite_animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_transforms.pot b/sphinx/templates/tutorials/2d/2d_transforms.pot index 08b81697a4..988a8fbba3 100644 --- a/sphinx/templates/tutorials/2d/2d_transforms.pot +++ b/sphinx/templates/tutorials/2d/2d_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/canvas_layers.pot b/sphinx/templates/tutorials/2d/canvas_layers.pot index 9348cec25f..690647fcad 100644 --- a/sphinx/templates/tutorials/2d/canvas_layers.pot +++ b/sphinx/templates/tutorials/2d/canvas_layers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot b/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot index c2fde3e250..340d5edb53 100644 --- a/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot +++ b/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/index.pot b/sphinx/templates/tutorials/2d/index.pot index 531f1acd0c..1c555fb55e 100644 --- a/sphinx/templates/tutorials/2d/index.pot +++ b/sphinx/templates/tutorials/2d/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/particle_systems_2d.pot b/sphinx/templates/tutorials/2d/particle_systems_2d.pot index 2d1da5d115..7c0d159471 100644 --- a/sphinx/templates/tutorials/2d/particle_systems_2d.pot +++ b/sphinx/templates/tutorials/2d/particle_systems_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -200,179 +200,199 @@ msgstr "" msgid "ParticlesMaterial settings" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:198 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:182 +msgid "Direction" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:184 +msgid "This is the base direction at which particles emit. The default is ``Vector3(1, 0, 0)`` which makes particles emit to the right. However, with the default gravity settings, particles will go straight down." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:190 +msgid "For this property to be noticeable, you need an *initial velocity* greater than 0. Here, we set the initial velocity to 40. You'll notice that particles emit toward the right, then go down because of gravity." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:197 msgid "Spread" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:200 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:199 msgid "This parameter is the angle in degrees which will be randomly added in either direction to the base ``Direction``. A spread of ``180`` will emit in all directions (+/- 180). For spread to do anything the \"Initial Velocity\" parameter must be greater than 0." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:208 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:207 +msgid "Flatness" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:209 +msgid "This property is only useful for 3D particles." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:212 msgid "Gravity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:210 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:214 msgid "The gravity applied to every particle." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:215 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:219 msgid "Initial Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:217 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:221 msgid "Initial velocity is the speed at which particles will be emitted (in pixels/sec). Speed might later be modified by gravity or other accelerations (as described further below)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:224 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:228 msgid "Angular Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:226 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:230 msgid "Angular velocity is the initial angular velocity applied to particles." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:229 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:233 msgid "Spin Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:231 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:235 msgid "Spin velocity is the speed at which particles turn around their center (in degrees/sec)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:237 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:241 msgid "Orbit Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:239 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:243 msgid "Orbit velocity is used to make particles turn around their center." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:244 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:248 msgid "Linear Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:246 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:250 msgid "The linear acceleration applied to each particle." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:249 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:253 msgid "Radial Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:251 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:255 msgid "If this acceleration is positive, particles are accelerated away from the center. If negative, they are absorbed towards it." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:257 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:261 msgid "Tangential Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:259 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:263 msgid "This acceleration will use the tangent vector to the center. Combining with radial acceleration can do nice effects." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:265 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:269 msgid "Damping" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:267 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:271 msgid "Damping applies friction to the particles, forcing them to stop. It is especially useful for sparks or explosions, which usually begin with a high linear velocity and then stop as they fade." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:274 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:278 msgid "Angle" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:276 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:280 msgid "Determines the initial angle of the particle (in degrees). This parameter is mostly useful randomized." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:282 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:286 msgid "Scale" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:284 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:288 msgid "Determines the initial scale of the particles." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:289 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:293 msgid "Color" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:291 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:295 msgid "Used to change the color of the particles being emitted." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:294 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:298 msgid "Hue variation" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:296 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:300 msgid "The ``Variation`` value sets the initial hue variation applied to each particle. The ``Variation Random`` value controls the hue variation randomness ratio." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:301 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:305 msgid "Emission Shapes" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:303 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:307 msgid "ParticlesMaterials allow you to set an Emission Mask, which dictates the area and direction in which particles are emitted. These can be generated from textures in your project." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:307 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:311 msgid "Ensure that a ParticlesMaterial is set, and the Particles2D node is selected. A \"Particles\" menu should appear in the Toolbar:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:312 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:316 msgid "Open it and select \"Load Emission Mask\":" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:316 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:320 msgid "Then select which texture you want to use as your mask:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:320 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:324 msgid "A dialog box with several settings will appear." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:323 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:327 msgid "Emission Mask" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:325 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:329 msgid "Three types of emission masks can be generated from a texture:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:327 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:331 msgid "Solid Pixels: Particles will spawn from any area of the texture, excluding transparent areas." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:332 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:336 msgid "Border Pixels: Particles will spawn from the outer edges of the texture." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:336 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:340 msgid "Directed Border Pixels: Similar to Border Pixels, but adds extra information to the mask to give particles the ability to emit away from the borders. Note that an ``Initial Velocity`` will need to be set in order to utilize this." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:344 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:348 msgid "Emission Colors" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:346 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:350 msgid "``Capture from Pixel`` will cause the particles to inherit the color of the mask at their spawn points." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:348 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:352 msgid "Once you click \"OK\", the mask will be generated and set to the ParticlesMaterial, under the ``Emission Shape`` section:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:352 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:356 msgid "All of the values within this section have been automatically generated by the \"Load Emission Mask\" menu, so they should generally be left alone." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:355 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:359 msgid "An image should not be added to ``Point Texture`` or ``Color Texture`` directly. The \"Load Emission Mask\" menu should always be used instead." msgstr "" diff --git a/sphinx/templates/tutorials/2d/using_tilemaps.pot b/sphinx/templates/tutorials/2d/using_tilemaps.pot index 091e775317..d029e4d1e0 100644 --- a/sphinx/templates/tutorials/2d/using_tilemaps.pot +++ b/sphinx/templates/tutorials/2d/using_tilemaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot index 6e0c03ad4c..5d3f08ed63 100644 --- a/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot +++ b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/baked_lightmaps.pot b/sphinx/templates/tutorials/3d/baked_lightmaps.pot index 670019757f..91cd8795c0 100644 --- a/sphinx/templates/tutorials/3d/baked_lightmaps.pot +++ b/sphinx/templates/tutorials/3d/baked_lightmaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/csg_tools.pot b/sphinx/templates/tutorials/3d/csg_tools.pot index d27893a92d..abebcec27c 100644 --- a/sphinx/templates/tutorials/3d/csg_tools.pot +++ b/sphinx/templates/tutorials/3d/csg_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/tutorials/3d/csg_tools.rst:4 -msgid "CSG" +msgid "Prototyping levels with CSG" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:6 diff --git a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot index 0eb5bf00aa..0239f26625 100644 --- a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot +++ b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -176,10 +176,6 @@ msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:154 #: ../../docs/tutorials/3d/environment_and_post_processing.rst:196 #: ../../docs/tutorials/3d/environment_and_post_processing.rst:222 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:268 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:282 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:301 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 msgid "*This feature is only available when using the GLES3 backend.*" msgstr "" @@ -351,112 +347,112 @@ msgstr "" msgid "Depth of Field / Far Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:270 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:268 msgid "This effect simulates focal distance on high end cameras. It blurs objects behind a given range. It has an initial **Distance** with a **Transition** region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:276 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:290 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:274 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:286 msgid "The **Amount** parameter controls the amount of blur. For larger blurs, tweaking the **Quality** may be needed in order to avoid artifacts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:280 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:278 msgid "Depth of Field / Near Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:284 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:280 msgid "This effect simulates focal distance on high end cameras. It blurs objects close to the camera (acts in the opposite direction as far blur). It has an initial **Distance** with a **Transition** region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:293 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:289 msgid "It is common to use both blurs together to focus the viewer's attention on a given object:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:299 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:295 msgid "Glow" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:303 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:297 msgid "In photography and film, when light amount exceeds the maximum supported by the media (be it analog or digital), it generally bleeds outwards to darker regions of the image. This is simulated in Godot with the **Glow** effect." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:309 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:303 msgid "By default, even if the effect is enabled, it will be weak or invisible. One of two conditions need to happen for it to actually show:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:312 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:306 msgid "The light in a pixel surpasses the **HDR Threshold** (where 0 is all light surpasses it, and 1.0 is light over the tonemapper **White** value). Normally, this value is expected to be at 1.0, but it can be lowered to allow more light to bleed. There is also an extra parameter, **HDR Scale**, that allows scaling (making brighter or darker) the light surpassing the threshold." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:316 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:310 msgid "The Bloom effect has a value set greater than 0. As it increases, it sends the whole screen to the glow processor at higher amounts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:320 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:314 msgid "Both will cause the light to start bleeding out of the brighter areas." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:322 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:316 msgid "Once glow is visible, it can be controlled with a few extra parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:318 msgid "**Intensity** is an overall scale for the effect, it can be made stronger or weaker (0.0 removes it)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:325 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:319 msgid "**Strength** is how strong the gaussian filter kernel is processed. Greater values make the filter saturate and expand outwards. In general, changing this is not needed, as the size can be more efficiently adjusted with the **Levels**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:327 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:321 msgid "The **Blend Mode** of the effect can also be changed:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:329 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:323 msgid "**Additive** is the strongest one, as it just adds the glow effect over the image with no blending involved. In general, it's too strong to be used, but can look good with low intensity Bloom (produces a dream-like effect)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:330 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 msgid "**Screen** is the default one. It ensures glow never brights more than itself and works great as an all around." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:331 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:325 msgid "**Softlight** is the weakest one, producing only a subtle color disturbance around the objects. This mode works best on dark scenes." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:326 msgid "**Replace** can be used to blur the whole screen or debug the effect. It just shows the glow effect without the image below." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:328 msgid "To change the glow effect size and shape, Godot provides **Levels**. Smaller levels are strong glows that appear around objects, while large levels are hazy glows covering the whole screen:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:340 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 msgid "The real strength of this system, though, is to combine levels to create more interesting glow patterns:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:345 -msgid "Finally, as the highest layers are created by stretching small blurred images, it is possible that some blockiness may be visible. Enabling **Bicubic Upscaling** gets rids of it, at a minimal performance cost." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:339 +msgid "Finally, as the highest layers are created by stretching small blurred images, it is possible that some blockiness may be visible. Enabling **Bicubic Upscaling** gets rids of it, at a minimal performance cost. *Note that this is effective only when using the GLES3 backend.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:347 msgid "Adjustments" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:356 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:349 msgid "At the end of processing, Godot offers the possibility to do some standard image adjustments." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:361 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 msgid "The first one is being able to change the typical Brightness, Contrast, and Saturation:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:366 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:359 msgid "The second is by supplying a color correction gradient. A regular black to white gradient like the following one will produce no effect:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:371 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:364 msgid "But creating custom ones will allow to map each channel to a different color:" msgstr "" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/index.pot b/sphinx/templates/tutorials/3d/fps_tutorial/index.pot index 30d55fff69..66332cb9ec 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/index.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/part_five.pot b/sphinx/templates/tutorials/3d/fps_tutorial/part_five.pot index ef8bc6100d..cd3a8f519a 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/part_five.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/part_five.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/part_four.pot b/sphinx/templates/tutorials/3d/fps_tutorial/part_four.pot index 2a4bf3a4a0..fbb4c35469 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/part_four.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/part_four.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/part_one.pot b/sphinx/templates/tutorials/3d/fps_tutorial/part_one.pot index 07ff67509c..8375884ff7 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/part_one.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/part_one.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/part_six.pot b/sphinx/templates/tutorials/3d/fps_tutorial/part_six.pot index e7a436097c..8b97870ad1 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/part_six.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/part_six.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/part_three.pot b/sphinx/templates/tutorials/3d/fps_tutorial/part_three.pot index 7dbb6e59eb..0728938525 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/part_three.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/part_three.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/fps_tutorial/part_two.pot b/sphinx/templates/tutorials/3d/fps_tutorial/part_two.pot index 3d0450446f..2c1c226f03 100644 --- a/sphinx/templates/tutorials/3d/fps_tutorial/part_two.pot +++ b/sphinx/templates/tutorials/3d/fps_tutorial/part_two.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/gi_probes.pot b/sphinx/templates/tutorials/3d/gi_probes.pot index 2b620b49a9..4d68ff4cf0 100644 --- a/sphinx/templates/tutorials/3d/gi_probes.pot +++ b/sphinx/templates/tutorials/3d/gi_probes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/high_dynamic_range.pot b/sphinx/templates/tutorials/3d/high_dynamic_range.pot index ff6e62abda..20ec58e8b7 100644 --- a/sphinx/templates/tutorials/3d/high_dynamic_range.pot +++ b/sphinx/templates/tutorials/3d/high_dynamic_range.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/tutorials/3d/high_dynamic_range.rst:4 -msgid "Light transport in game engines" +msgid "High dynamic range lighting" msgstr "" #: ../../docs/tutorials/3d/high_dynamic_range.rst:7 @@ -44,75 +44,83 @@ msgstr "" msgid "This means that some transformation of the scene light intensity, also known as *scene-referred* light ratios, need to be transformed and mapped to fit within the particular output range of the chosen display. This can be most easily understood if we consider virtually photographing our game engine scene through a virtual camera. Here, our virtual camera would apply a particular camera rendering transform to the scene data, and the output would be ready for display on a particular display type." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:36 -msgid "Computer displays" +#: ../../docs/tutorials/3d/high_dynamic_range.rst:37 +msgid "Godot does not support high dynamic range *output* yet. It can only perform lighting in HDR and tonemap the result to a low dynamic range image." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:38 -msgid "Almost all displays require a nonlinear encoding for the code values sent to them. The display in turn, using its unique transfer characteristic, \"decodes\" the code value into linear light ratios of output, and projects the ratios out of the uniquely colored lights at each reddish, greenish, and blueish emission site." +#: ../../docs/tutorials/3d/high_dynamic_range.rst:40 +msgid "For advanced users, it is still possible to get a non-tonemapped image of the viewport with full HDR data, which can then be saved to an OpenEXR file." msgstr "" #: ../../docs/tutorials/3d/high_dynamic_range.rst:44 +msgid "Computer displays" +msgstr "" + +#: ../../docs/tutorials/3d/high_dynamic_range.rst:46 +msgid "Almost all displays require a nonlinear encoding for the code values sent to them. The display in turn, using its unique transfer characteristic, \"decodes\" the code value into linear light ratios of output, and projects the ratios out of the uniquely colored lights at each reddish, greenish, and blueish emission site." +msgstr "" + +#: ../../docs/tutorials/3d/high_dynamic_range.rst:52 msgid "For a majority of computer displays, the specifications of the display are outlined in accordance with IEC 61966-2-1, also known as the 1996 sRGB specification. This specification outlines how an sRGB display is to behave, including the color of the lights in the LED pixels as well as the transfer characteristics of the input (OETF) and output (EOTF)." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:50 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:58 msgid "Not all displays use the same OETF and EOTF as a computer display. For example, television broadcast displays use the BT.1886 EOTF. However, Godot currently only supports sRGB displays." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:54 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:62 msgid "The sRGB standard is based around the nonlinear relationship between the current to light output of common desktop computing CRT displays." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:59 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:67 msgid "The mathematics of a scene-referred model require that we multiply the scene by different values to adjust the intensities and exposure to different light ranges. The transfer function of the display can't appropriately render the wider dynamic range of the game engine's scene output using the simple transfer function of the display. A more complex approach to encoding is required." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:67 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:75 msgid "Scene linear & asset pipelines" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:69 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:77 msgid "Working in scene-linear sRGB is not as simple as just pressing a switch. First, imported image assets must be converted to linear light ratios on import. Even when linearized, those assets may not be perfectly well-suited for use as textures, depending on how they were generated." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:74 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:82 msgid "There are two ways to do this:" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:77 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:85 msgid "sRGB transfer function to display linear ratios on image import" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:79 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:87 msgid "This is the easiest method of using sRGB assets, but it's not the most ideal. One issue with this is loss of quality. Using 8 bits per channel to represent linear light ratios is not sufficient to quantize the values correctly. These textures may also be compressed later, which can exacerbate the problem." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:85 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:93 msgid "Hardware sRGB transfer function to display linear conversion" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:87 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:95 msgid "The GPU will do the conversion after reading the texel using floating-point. This works fine on PC and consoles, but most mobile devices don't support it, or they don't support it on compressed texture formats (iOS for example)." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:92 -msgid "Scene linear to display referred nonlinear" +#: ../../docs/tutorials/3d/high_dynamic_range.rst:100 +msgid "Scene linear to display-referred nonlinear" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:94 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:102 msgid "After all the rendering is done, the scene linear render requires transforming to a suitable output such as an sRGB display. To do this, enable sRGB conversion in the current :ref:`Environment ` (more on that below)." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:98 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:106 msgid "Keep in mind that the **sRGB -> Display Linear** and **Display Linear -> sRGB** conversions must always be **both** enabled. Failing to enable one of them will result in horrible visuals suitable only for avant-garde experimental indie games." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:104 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:112 msgid "Parameters of HDR" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:106 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:114 msgid "HDR settings can be found in the :ref:`Environment ` resource. Most of the time, these are found inside a :ref:`WorldEnvironment ` node or set in a Camera node. For more information, see :ref:`doc_environment_and_post_processing`." msgstr "" diff --git a/sphinx/templates/tutorials/3d/index.pot b/sphinx/templates/tutorials/3d/index.pot index 0e1fd3bae8..cfc06e65d5 100644 --- a/sphinx/templates/tutorials/3d/index.pot +++ b/sphinx/templates/tutorials/3d/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/introduction_to_3d.pot b/sphinx/templates/tutorials/3d/introduction_to_3d.pot index cf4fce26f0..0882dab5f3 100644 --- a/sphinx/templates/tutorials/3d/introduction_to_3d.pot +++ b/sphinx/templates/tutorials/3d/introduction_to_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/lights_and_shadows.pot b/sphinx/templates/tutorials/3d/lights_and_shadows.pot index fbab7a63aa..844c412c26 100644 --- a/sphinx/templates/tutorials/3d/lights_and_shadows.pot +++ b/sphinx/templates/tutorials/3d/lights_and_shadows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/reflection_probes.pot b/sphinx/templates/tutorials/3d/reflection_probes.pot index 2e701aee50..30ac99da38 100644 --- a/sphinx/templates/tutorials/3d/reflection_probes.pot +++ b/sphinx/templates/tutorials/3d/reflection_probes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/spatial_material.pot b/sphinx/templates/tutorials/3d/spatial_material.pot index 1a39709466..784993d349 100644 --- a/sphinx/templates/tutorials/3d/spatial_material.pot +++ b/sphinx/templates/tutorials/3d/spatial_material.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_gridmaps.pot b/sphinx/templates/tutorials/3d/using_gridmaps.pot index 615bbee7e0..1fea61a741 100644 --- a/sphinx/templates/tutorials/3d/using_gridmaps.pot +++ b/sphinx/templates/tutorials/3d/using_gridmaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot b/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot index 143da1ede6..a2de6ac202 100644 --- a/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot +++ b/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_transforms.pot b/sphinx/templates/tutorials/3d/using_transforms.pot index 180db4469c..aa9236d42f 100644 --- a/sphinx/templates/tutorials/3d/using_transforms.pot +++ b/sphinx/templates/tutorials/3d/using_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/vertex_animation/animating_thousands_of_fish.pot b/sphinx/templates/tutorials/3d/vertex_animation/animating_thousands_of_fish.pot index cf0cec5dd4..229a0e5eeb 100644 --- a/sphinx/templates/tutorials/3d/vertex_animation/animating_thousands_of_fish.pot +++ b/sphinx/templates/tutorials/3d/vertex_animation/animating_thousands_of_fish.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/vertex_animation/controlling_thousands_of_fish.pot b/sphinx/templates/tutorials/3d/vertex_animation/controlling_thousands_of_fish.pot index 4eb627a754..89321e122e 100644 --- a/sphinx/templates/tutorials/3d/vertex_animation/controlling_thousands_of_fish.pot +++ b/sphinx/templates/tutorials/3d/vertex_animation/controlling_thousands_of_fish.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/vertex_animation/index.pot b/sphinx/templates/tutorials/3d/vertex_animation/index.pot index d256835c90..d9f760bdd1 100644 --- a/sphinx/templates/tutorials/3d/vertex_animation/index.pot +++ b/sphinx/templates/tutorials/3d/vertex_animation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/2d_skeletons.pot b/sphinx/templates/tutorials/animation/2d_skeletons.pot index 447fd58cf9..ce22904188 100644 --- a/sphinx/templates/tutorials/animation/2d_skeletons.pot +++ b/sphinx/templates/tutorials/animation/2d_skeletons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/animation_tree.pot b/sphinx/templates/tutorials/animation/animation_tree.pot index 2cadd4cf56..3c02d4a1c2 100644 --- a/sphinx/templates/tutorials/animation/animation_tree.pot +++ b/sphinx/templates/tutorials/animation/animation_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/cutout_animation.pot b/sphinx/templates/tutorials/animation/cutout_animation.pot index 7c68737d76..12b163c5ff 100644 --- a/sphinx/templates/tutorials/animation/cutout_animation.pot +++ b/sphinx/templates/tutorials/animation/cutout_animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/index.pot b/sphinx/templates/tutorials/animation/index.pot index 8d56021c81..16fc46ee34 100644 --- a/sphinx/templates/tutorials/animation/index.pot +++ b/sphinx/templates/tutorials/animation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/introduction_2d.pot b/sphinx/templates/tutorials/animation/introduction_2d.pot index a67f3eae89..0ee9b4efff 100644 --- a/sphinx/templates/tutorials/animation/introduction_2d.pot +++ b/sphinx/templates/tutorials/animation/introduction_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assetlib/index.pot b/sphinx/templates/tutorials/assetlib/index.pot index 75c796cbe3..f24713d1b6 100644 --- a/sphinx/templates/tutorials/assetlib/index.pot +++ b/sphinx/templates/tutorials/assetlib/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assetlib/uploading_to_assetlib.pot b/sphinx/templates/tutorials/assetlib/uploading_to_assetlib.pot index ab618a10d9..c413625fac 100644 --- a/sphinx/templates/tutorials/assetlib/uploading_to_assetlib.pot +++ b/sphinx/templates/tutorials/assetlib/uploading_to_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assetlib/using_assetlib.pot b/sphinx/templates/tutorials/assetlib/using_assetlib.pot index 5b3845da2b..13718a7e58 100644 --- a/sphinx/templates/tutorials/assetlib/using_assetlib.pot +++ b/sphinx/templates/tutorials/assetlib/using_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/tutorials/assetlib/using_assetlib.rst:4 -msgid "Using the AssetLib" +msgid "Using the Asset Library" msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:7 @@ -29,7 +29,7 @@ msgid "Overview" msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:12 -msgid "As mentioned before, you can access the web frontend of the AssetLib on `Godot's official website `_, and this is what it looks like when you first visit it:" +msgid "As mentioned before, you can access the web frontend of the Asset Library on `Godot's official website `_. This is what it looks like when you first visit it:" msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:16 diff --git a/sphinx/templates/tutorials/assetlib/what_is_assetlib.pot b/sphinx/templates/tutorials/assetlib/what_is_assetlib.pot index f930438a73..0c9b222b72 100644 --- a/sphinx/templates/tutorials/assetlib/what_is_assetlib.pot +++ b/sphinx/templates/tutorials/assetlib/what_is_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/audio_buses.pot b/sphinx/templates/tutorials/audio/audio_buses.pot index b270435f39..8a46478c06 100644 --- a/sphinx/templates/tutorials/audio/audio_buses.pot +++ b/sphinx/templates/tutorials/audio/audio_buses.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/audio_streams.pot b/sphinx/templates/tutorials/audio/audio_streams.pot index 39cd8b4a27..b76f24266b 100644 --- a/sphinx/templates/tutorials/audio/audio_streams.pot +++ b/sphinx/templates/tutorials/audio/audio_streams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/index.pot b/sphinx/templates/tutorials/audio/index.pot index b916513d0a..6000040bf0 100644 --- a/sphinx/templates/tutorials/audio/index.pot +++ b/sphinx/templates/tutorials/audio/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/recording_with_microphone.pot b/sphinx/templates/tutorials/audio/recording_with_microphone.pot index 688b27b9d7..01d861d27b 100644 --- a/sphinx/templates/tutorials/audio/recording_with_microphone.pot +++ b/sphinx/templates/tutorials/audio/recording_with_microphone.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/sync_with_audio.pot b/sphinx/templates/tutorials/audio/sync_with_audio.pot index e6f777d1d6..49096231eb 100644 --- a/sphinx/templates/tutorials/audio/sync_with_audio.pot +++ b/sphinx/templates/tutorials/audio/sync_with_audio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/index.pot b/sphinx/templates/tutorials/content/index.pot index 07024a24aa..67712beec6 100644 --- a/sphinx/templates/tutorials/content/index.pot +++ b/sphinx/templates/tutorials/content/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/making_trees.pot b/sphinx/templates/tutorials/content/making_trees.pot index dd4946f5ca..d84c4ed79a 100644 --- a/sphinx/templates/tutorials/content/making_trees.pot +++ b/sphinx/templates/tutorials/content/making_trees.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/procedural_geometry/arraymesh.pot b/sphinx/templates/tutorials/content/procedural_geometry/arraymesh.pot index b8b01956fa..924672cc51 100644 --- a/sphinx/templates/tutorials/content/procedural_geometry/arraymesh.pot +++ b/sphinx/templates/tutorials/content/procedural_geometry/arraymesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/procedural_geometry/immediategeometry.pot b/sphinx/templates/tutorials/content/procedural_geometry/immediategeometry.pot index fdb3252f0f..2bc6b2cdbb 100644 --- a/sphinx/templates/tutorials/content/procedural_geometry/immediategeometry.pot +++ b/sphinx/templates/tutorials/content/procedural_geometry/immediategeometry.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/procedural_geometry/index.pot b/sphinx/templates/tutorials/content/procedural_geometry/index.pot index 921d70f054..9b777170b7 100644 --- a/sphinx/templates/tutorials/content/procedural_geometry/index.pot +++ b/sphinx/templates/tutorials/content/procedural_geometry/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/procedural_geometry/meshdatatool.pot b/sphinx/templates/tutorials/content/procedural_geometry/meshdatatool.pot index e33a31ca54..70b606790a 100644 --- a/sphinx/templates/tutorials/content/procedural_geometry/meshdatatool.pot +++ b/sphinx/templates/tutorials/content/procedural_geometry/meshdatatool.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/content/procedural_geometry/surfacetool.pot b/sphinx/templates/tutorials/content/procedural_geometry/surfacetool.pot index 2cf3c60f9a..3f3127ddc5 100644 --- a/sphinx/templates/tutorials/content/procedural_geometry/surfacetool.pot +++ b/sphinx/templates/tutorials/content/procedural_geometry/surfacetool.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/debug/debugger_panel.pot b/sphinx/templates/tutorials/debug/debugger_panel.pot index b672cc86ad..a90127ee0f 100644 --- a/sphinx/templates/tutorials/debug/debugger_panel.pot +++ b/sphinx/templates/tutorials/debug/debugger_panel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -68,83 +68,87 @@ msgstr "" msgid "**Continue**. This button resumes the game after a breakpoint or pause." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:36 +#: ../../docs/tutorials/debug/debugger_panel.rst:37 +msgid "Breakpoints won't break on code if it's :ref:`running in a thread `. This is a current limitation of the GDScript debugger." +msgstr "" + +#: ../../docs/tutorials/debug/debugger_panel.rst:42 msgid "Errors" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:38 +#: ../../docs/tutorials/debug/debugger_panel.rst:44 msgid "This is where error and warning messages are printed while running the game." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:40 +#: ../../docs/tutorials/debug/debugger_panel.rst:46 msgid "You can disable specific warnings in **Project Settings > Debug > GDScript**." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:43 +#: ../../docs/tutorials/debug/debugger_panel.rst:49 msgid "Profiler" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:45 +#: ../../docs/tutorials/debug/debugger_panel.rst:51 msgid "The debugger comes with three profilers for your processor, network operations, and video memory." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:48 +#: ../../docs/tutorials/debug/debugger_panel.rst:54 msgid "The profiler is used to show why individual frames take as long as they do to process and render." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:51 +#: ../../docs/tutorials/debug/debugger_panel.rst:57 msgid "Unlike other debugging tools, the profiler does not start automatically. It can be started at any time during gameplay by pressing the start button. You can even start the profiler before opening the game to profile startup performance. It can also be started and stopped while the game is running without losing information from when it was last running. The information it records won't go away unless you click clear, or close the game, reopen it and start the profiler again." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:59 +#: ../../docs/tutorials/debug/debugger_panel.rst:65 msgid "After starting and stopping the profiler, you should see things being kept track of on the left and a graph on the right. The items listed on the left are everything that contributes to frame time, and they should each have a value for time and calls for the current frame you are looking at." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:64 +#: ../../docs/tutorials/debug/debugger_panel.rst:70 msgid "The frame number in the top right tells you which frame you are currently looking at. You can change this by using the up or down arrows, typing in the frame number, or clicking on the graph." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:68 +#: ../../docs/tutorials/debug/debugger_panel.rst:74 msgid "If you want to add something to your graph or think it looks too cluttered, you can check and uncheck the box next to an item to add or remove it from the graph." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:73 +#: ../../docs/tutorials/debug/debugger_panel.rst:79 msgid "Network Profiler" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:75 +#: ../../docs/tutorials/debug/debugger_panel.rst:81 msgid "The Network Profiler contains a list of all the nodes that communicate over the multiplayer API and, for each one, some counters on the amount of incoming and outgoing network interactions. It also features a bandwidth meter that displays the total bandwidth usage at any given moment." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:81 +#: ../../docs/tutorials/debug/debugger_panel.rst:87 msgid "Monitors" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:83 +#: ../../docs/tutorials/debug/debugger_panel.rst:89 msgid "The monitors are graphs of several aspects of the game while its running such as FPS, memory usage, how many nodes are in a scene and more. All monitors keep track of stats automatically, so even if one monitor isn't open while the game is running, you can open it later and see how the values changed." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:89 +#: ../../docs/tutorials/debug/debugger_panel.rst:95 msgid "Video RAM" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:91 +#: ../../docs/tutorials/debug/debugger_panel.rst:97 msgid "The **Video RAM** tab shows the video RAM usage of the game while it is running. It provides a list of every resource using video RAM by resource path, the type of resource it is, what format it is in, and how much Video RAM that resource is using. There is also a total video RAM usage number at the top right of the panel." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:99 +#: ../../docs/tutorials/debug/debugger_panel.rst:105 msgid "Misc" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:101 +#: ../../docs/tutorials/debug/debugger_panel.rst:107 msgid "The **Misc** tab contains tools to identify the control nodes you are clicking at runtime:" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:104 +#: ../../docs/tutorials/debug/debugger_panel.rst:110 msgid "**Clicked Control** tells you where the clicked node is in the scene tree." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:105 +#: ../../docs/tutorials/debug/debugger_panel.rst:111 msgid "**Clicked Control Type** tells you the type of the node you clicked is." msgstr "" diff --git a/sphinx/templates/tutorials/debug/index.pot b/sphinx/templates/tutorials/debug/index.pot index 44a86ee7eb..8951d1c5a8 100644 --- a/sphinx/templates/tutorials/debug/index.pot +++ b/sphinx/templates/tutorials/debug/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/debug/overview_of_debugging_tools.pot b/sphinx/templates/tutorials/debug/overview_of_debugging_tools.pot index 0144947ec4..2beddac25a 100644 --- a/sphinx/templates/tutorials/debug/overview_of_debugging_tools.pot +++ b/sphinx/templates/tutorials/debug/overview_of_debugging_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -128,47 +128,51 @@ msgstr "" msgid "The **Keep Debugger Open** option keeps the debugger open after a scene has been closed. And the **Debug with External Editor** option lets you debug your game with an external editor." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:94 -msgid "Debug project settings" -msgstr "" - -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:96 -msgid "In the project settings, there is a **Debug** category with three subcategories which control different things." +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:95 +msgid "Breakpoints won't break on code if it's :ref:`running in a thread `. This is a current limitation of the GDScript debugger." msgstr "" #: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:100 -msgid "Settings" +msgid "Debug project settings" msgstr "" #: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:102 +msgid "In the project settings, there is a **Debug** category with three subcategories which control different things." +msgstr "" + +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:106 +msgid "Settings" +msgstr "" + +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:108 msgid "These are some general settings such as printing the current FPS to the **Output** panel, the maximum amount of functions when profiling and others." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:107 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:113 msgid "GDScript" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:109 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:115 msgid "These settings allow you to toggle specific GDScript warnings, such as for unused variables. You can also turn off warnings completely." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:113 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:119 msgid "Shapes" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:115 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:121 msgid "Shapes are where you can adjust the color of shapes that only appear for debugging purposes, such as collision and navigation shapes." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:119 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:125 msgid "Remote in scene dock" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:121 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:127 msgid "When running a game in the editor two options appear at the top of the **Scene** dock, **Remote** and **Local**. While using **Remote** you can inspect or change the nodes' parameters in the running project." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:127 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:133 msgid "Some editor settings related to debugging can be found inside the **Editor Settings**, under the **Network > Debug** and **Debugger** sections." msgstr "" diff --git a/sphinx/templates/tutorials/gui/bbcode_in_richtextlabel.pot b/sphinx/templates/tutorials/gui/bbcode_in_richtextlabel.pot index d1a4f81287..0cd5ebb184 100644 --- a/sphinx/templates/tutorials/gui/bbcode_in_richtextlabel.pot +++ b/sphinx/templates/tutorials/gui/bbcode_in_richtextlabel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -497,15 +497,15 @@ msgstr "" msgid "Ghost" msgstr "" -#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:251 +#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:252 msgid "Pulse" msgstr "" -#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:277 +#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:279 msgid "Matrix" msgstr "" -#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:311 +#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:314 msgid "This will add a few new BBCode commands, which can be used like so:" msgstr "" diff --git a/sphinx/templates/tutorials/gui/custom_gui_controls.pot b/sphinx/templates/tutorials/gui/custom_gui_controls.pot index b936bb696e..78c98dc159 100644 --- a/sphinx/templates/tutorials/gui/custom_gui_controls.pot +++ b/sphinx/templates/tutorials/gui/custom_gui_controls.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/gui/gui_containers.pot b/sphinx/templates/tutorials/gui/gui_containers.pot index 22ebe38ec2..812c5b17bf 100644 --- a/sphinx/templates/tutorials/gui/gui_containers.pot +++ b/sphinx/templates/tutorials/gui/gui_containers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/gui/gui_skinning.pot b/sphinx/templates/tutorials/gui/gui_skinning.pot index a3ddcd3197..a157130264 100644 --- a/sphinx/templates/tutorials/gui/gui_skinning.pot +++ b/sphinx/templates/tutorials/gui/gui_skinning.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/gui/index.pot b/sphinx/templates/tutorials/gui/index.pot index 5192fd06e5..208f763aca 100644 --- a/sphinx/templates/tutorials/gui/index.pot +++ b/sphinx/templates/tutorials/gui/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/gui/size_and_anchors.pot b/sphinx/templates/tutorials/gui/size_and_anchors.pot index 6c8e96a327..d07e8a1a6c 100644 --- a/sphinx/templates/tutorials/gui/size_and_anchors.pot +++ b/sphinx/templates/tutorials/gui/size_and_anchors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/index.pot b/sphinx/templates/tutorials/i18n/index.pot index f4781d32fe..f0cb0cf7c2 100644 --- a/sphinx/templates/tutorials/i18n/index.pot +++ b/sphinx/templates/tutorials/i18n/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/internationalizing_games.pot b/sphinx/templates/tutorials/i18n/internationalizing_games.pot index dafd92d2a7..0abd099657 100644 --- a/sphinx/templates/tutorials/i18n/internationalizing_games.pot +++ b/sphinx/templates/tutorials/i18n/internationalizing_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/locales.pot b/sphinx/templates/tutorials/i18n/locales.pot index de96a01722..316a226d51 100644 --- a/sphinx/templates/tutorials/i18n/locales.pot +++ b/sphinx/templates/tutorials/i18n/locales.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/localization_using_gettext.pot b/sphinx/templates/tutorials/i18n/localization_using_gettext.pot index 569aee119a..56457d9456 100644 --- a/sphinx/templates/tutorials/i18n/localization_using_gettext.pot +++ b/sphinx/templates/tutorials/i18n/localization_using_gettext.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot b/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot index b5f4b765c9..3ed5efa55d 100644 --- a/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot +++ b/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/index.pot b/sphinx/templates/tutorials/inputs/index.pot index 775d3c6eeb..4c8285d431 100644 --- a/sphinx/templates/tutorials/inputs/index.pot +++ b/sphinx/templates/tutorials/inputs/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/input_examples.pot b/sphinx/templates/tutorials/inputs/input_examples.pot index c47858e377..0bce43c1ac 100644 --- a/sphinx/templates/tutorials/inputs/input_examples.pot +++ b/sphinx/templates/tutorials/inputs/input_examples.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/inputevent.pot b/sphinx/templates/tutorials/inputs/inputevent.pot index 1b20523c63..94ea280779 100644 --- a/sphinx/templates/tutorials/inputs/inputevent.pot +++ b/sphinx/templates/tutorials/inputs/inputevent.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot b/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot index e3087fea97..f9fd041f02 100644 --- a/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot +++ b/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/background_loading.pot b/sphinx/templates/tutorials/io/background_loading.pot index 7971530892..8199c14725 100644 --- a/sphinx/templates/tutorials/io/background_loading.pot +++ b/sphinx/templates/tutorials/io/background_loading.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/data_paths.pot b/sphinx/templates/tutorials/io/data_paths.pot index 27bb90815a..eecbd2b04d 100644 --- a/sphinx/templates/tutorials/io/data_paths.pot +++ b/sphinx/templates/tutorials/io/data_paths.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/encrypting_save_games.pot b/sphinx/templates/tutorials/io/encrypting_save_games.pot index e147060ab2..617122641b 100644 --- a/sphinx/templates/tutorials/io/encrypting_save_games.pot +++ b/sphinx/templates/tutorials/io/encrypting_save_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/index.pot b/sphinx/templates/tutorials/io/index.pot index ad5cc7df5f..44f7805dd7 100644 --- a/sphinx/templates/tutorials/io/index.pot +++ b/sphinx/templates/tutorials/io/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/saving_games.pot b/sphinx/templates/tutorials/io/saving_games.pot index 5cf75ad755..bda347c652 100644 --- a/sphinx/templates/tutorials/io/saving_games.pot +++ b/sphinx/templates/tutorials/io/saving_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/legal/complying_with_licenses.pot b/sphinx/templates/tutorials/legal/complying_with_licenses.pot index d49cef06e0..8374d8bb20 100644 --- a/sphinx/templates/tutorials/legal/complying_with_licenses.pot +++ b/sphinx/templates/tutorials/legal/complying_with_licenses.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/legal/index.pot b/sphinx/templates/tutorials/legal/index.pot index 08c0269f11..e0b008de40 100644 --- a/sphinx/templates/tutorials/legal/index.pot +++ b/sphinx/templates/tutorials/legal/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/beziers_and_curves.pot b/sphinx/templates/tutorials/math/beziers_and_curves.pot index d909010bc2..b05e3fcf71 100644 --- a/sphinx/templates/tutorials/math/beziers_and_curves.pot +++ b/sphinx/templates/tutorials/math/beziers_and_curves.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/index.pot b/sphinx/templates/tutorials/math/index.pot index 38ba766486..70acacb4e0 100644 --- a/sphinx/templates/tutorials/math/index.pot +++ b/sphinx/templates/tutorials/math/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/interpolation.pot b/sphinx/templates/tutorials/math/interpolation.pot index 852a4167ea..a146b7eefa 100644 --- a/sphinx/templates/tutorials/math/interpolation.pot +++ b/sphinx/templates/tutorials/math/interpolation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/matrices_and_transforms.pot b/sphinx/templates/tutorials/math/matrices_and_transforms.pot index 1984a52340..65fd415c69 100644 --- a/sphinx/templates/tutorials/math/matrices_and_transforms.pot +++ b/sphinx/templates/tutorials/math/matrices_and_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/vector_math.pot b/sphinx/templates/tutorials/math/vector_math.pot index 171e9ea6ba..506b6fc2b1 100644 --- a/sphinx/templates/tutorials/math/vector_math.pot +++ b/sphinx/templates/tutorials/math/vector_math.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/vectors_advanced.pot b/sphinx/templates/tutorials/math/vectors_advanced.pot index 01037fd805..eeda33f0a6 100644 --- a/sphinx/templates/tutorials/math/vectors_advanced.pot +++ b/sphinx/templates/tutorials/math/vectors_advanced.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/binary_serialization_api.pot b/sphinx/templates/tutorials/misc/binary_serialization_api.pot index 43d712d32a..63ef214137 100644 --- a/sphinx/templates/tutorials/misc/binary_serialization_api.pot +++ b/sphinx/templates/tutorials/misc/binary_serialization_api.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/change_scenes_manually.pot b/sphinx/templates/tutorials/misc/change_scenes_manually.pot index 0580bd6544..6510a5cc45 100644 --- a/sphinx/templates/tutorials/misc/change_scenes_manually.pot +++ b/sphinx/templates/tutorials/misc/change_scenes_manually.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/gles2_gles3_differences.pot b/sphinx/templates/tutorials/misc/gles2_gles3_differences.pot index e403d45240..b0c4ec1c9d 100644 --- a/sphinx/templates/tutorials/misc/gles2_gles3_differences.pot +++ b/sphinx/templates/tutorials/misc/gles2_gles3_differences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/handling_quit_requests.pot b/sphinx/templates/tutorials/misc/handling_quit_requests.pot index ad5bdfa32f..759c4bb101 100644 --- a/sphinx/templates/tutorials/misc/handling_quit_requests.pot +++ b/sphinx/templates/tutorials/misc/handling_quit_requests.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/index.pot b/sphinx/templates/tutorials/misc/index.pot index 7be0bfcc8e..967a7d6caf 100644 --- a/sphinx/templates/tutorials/misc/index.pot +++ b/sphinx/templates/tutorials/misc/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/instancing_with_signals.pot b/sphinx/templates/tutorials/misc/instancing_with_signals.pot index ebfdfea58f..554e154013 100644 --- a/sphinx/templates/tutorials/misc/instancing_with_signals.pot +++ b/sphinx/templates/tutorials/misc/instancing_with_signals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/jitter_stutter.pot b/sphinx/templates/tutorials/misc/jitter_stutter.pot index daca58e69c..87739d4db4 100644 --- a/sphinx/templates/tutorials/misc/jitter_stutter.pot +++ b/sphinx/templates/tutorials/misc/jitter_stutter.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/pausing_games.pot b/sphinx/templates/tutorials/misc/pausing_games.pot index 41ef55ff2c..614643774b 100644 --- a/sphinx/templates/tutorials/misc/pausing_games.pot +++ b/sphinx/templates/tutorials/misc/pausing_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/misc/running_code_in_the_editor.pot b/sphinx/templates/tutorials/misc/running_code_in_the_editor.pot index 232c0aa166..f54cde6e0d 100644 --- a/sphinx/templates/tutorials/misc/running_code_in_the_editor.pot +++ b/sphinx/templates/tutorials/misc/running_code_in_the_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,75 +64,75 @@ msgstr "" msgid "For example, if you want to execute some code only in the editor, use:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:42 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:49 msgid "On the other hand, if you want to execute code only in game, simply negate the same statement:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:50 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:64 msgid "Pieces of code do not have either of the 2 conditions above will run both in-editor and in-game." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:52 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:66 msgid "Here is how a ``_process()`` function might look for you:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:66 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:97 msgid "Modifications in editor are permanent. For example, in the following case, when we remove the script, the node will keep its rotation. Be careful to avoid making unwanted modifications." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:69 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:100 msgid "Try it out" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:71 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:102 msgid "Add a ``Sprite`` node to your scene and set the texture to Godot icon. Attach and open a script, and change it to this:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:82 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:127 msgid "Save the script and return to the editor. You should now see your object rotate. If you run the game, it will also rotate." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:86 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:131 msgid "If you don't see the changes, reload the scene (close it and open it again)." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:88 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:133 msgid "Now let's choose which code runs when. Modify your ``_process()`` function to look like this:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:99 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:158 msgid "Save the script. Now the object will spin clockwise in the editor, but if you run the game, it will spin counter-clockwise." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:102 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:161 msgid "Editing variables" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:103 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:162 msgid "Add and export a variable speed to the script. The function set_speed after \"setget\" is executed with your input to change the variable. Modify ``_process()`` to include the rotation speed." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:125 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:213 msgid "Code from other nodes doesn't run in the editor. Your access to other nodes is limited. You can access the tree and nodes, and their default properties, but you can't access user variables. If you want to do so, other nodes have to run in the editor too. AutoLoad nodes cannot be accessed in the editor at all." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:128 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:216 msgid "Instancing scenes" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:130 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:218 msgid "You can instantiate packed scenes normally and add them to the scene currently opened in the editor. Be sure to set the scene root as the owner of all the nodes created this way or the nodes won't be visible in the editor." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:132 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:220 msgid "If you are using ``tool``:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:142 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:239 msgid "If you are using :ref:`EditorScript`:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:153 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:260 msgid "Using ``tool`` improperly can yield many errors. It is advised to first write the code how you want it, and only then add the ``tool`` keyword to the top. Also, make sure to separate code that runs in-editor from code that runs in-game. This way, you can find bugs more easily." msgstr "" diff --git a/sphinx/templates/tutorials/misc/state_design_pattern.pot b/sphinx/templates/tutorials/misc/state_design_pattern.pot index 135f52d132..9bc9e6f93f 100644 --- a/sphinx/templates/tutorials/misc/state_design_pattern.pot +++ b/sphinx/templates/tutorials/misc/state_design_pattern.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/high_level_multiplayer.pot b/sphinx/templates/tutorials/networking/high_level_multiplayer.pot index c88a8c4e5c..a3823247b2 100644 --- a/sphinx/templates/tutorials/networking/high_level_multiplayer.pot +++ b/sphinx/templates/tutorials/networking/high_level_multiplayer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/http_client_class.pot b/sphinx/templates/tutorials/networking/http_client_class.pot index 188f07d373..ea98d3f9f1 100644 --- a/sphinx/templates/tutorials/networking/http_client_class.pot +++ b/sphinx/templates/tutorials/networking/http_client_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/http_request_class.pot b/sphinx/templates/tutorials/networking/http_request_class.pot index 050df90569..80a2ef8f96 100644 --- a/sphinx/templates/tutorials/networking/http_request_class.pot +++ b/sphinx/templates/tutorials/networking/http_request_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/index.pot b/sphinx/templates/tutorials/networking/index.pot index faf3187447..3289f9d2d3 100644 --- a/sphinx/templates/tutorials/networking/index.pot +++ b/sphinx/templates/tutorials/networking/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/ssl_certificates.pot b/sphinx/templates/tutorials/networking/ssl_certificates.pot index 71f3894a22..a62125fec7 100644 --- a/sphinx/templates/tutorials/networking/ssl_certificates.pot +++ b/sphinx/templates/tutorials/networking/ssl_certificates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/webrtc.pot b/sphinx/templates/tutorials/networking/webrtc.pot index 829fb8065a..0cbba0d600 100644 --- a/sphinx/templates/tutorials/networking/webrtc.pot +++ b/sphinx/templates/tutorials/networking/webrtc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/websocket.pot b/sphinx/templates/tutorials/networking/websocket.pot index 087bec9eb2..9ee4964e4d 100644 --- a/sphinx/templates/tutorials/networking/websocket.pot +++ b/sphinx/templates/tutorials/networking/websocket.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/batching.pot b/sphinx/templates/tutorials/optimization/batching.pot index f67cf2abab..0f15f759fd 100644 --- a/sphinx/templates/tutorials/optimization/batching.pot +++ b/sphinx/templates/tutorials/optimization/batching.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,463 +32,467 @@ msgstr "" msgid "Different APIs incur different costs when drawing objects. OpenGL handles a lot of work for the user in the GPU driver at the cost of more expensive draw calls. As a result, applications can often be sped up by reducing the number of draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:20 +#: ../../docs/tutorials/optimization/batching.rst:21 +msgid "2D batching is currently only supported when using the GLES2 renderer." +msgstr "" + +#: ../../docs/tutorials/optimization/batching.rst:24 msgid "Draw calls" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:22 +#: ../../docs/tutorials/optimization/batching.rst:26 msgid "In 2D, we need to tell the GPU to render a series of primitives (rectangles, lines, polygons etc). The most obvious technique is to tell the GPU to render one primitive at a time, telling it some information such as the texture used, the material, the position, size, etc. then saying \"Draw!\" (this is called a draw call)." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:28 +#: ../../docs/tutorials/optimization/batching.rst:32 msgid "It turns out that while this is conceptually simple from the engine side, GPUs operate very slowly when used in this manner. GPUs work much more efficiently if, instead of telling them to draw a single primitive, you tell them to draw a number of similar primitives all in one draw call, which we will call a \"batch\"." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:33 +#: ../../docs/tutorials/optimization/batching.rst:37 msgid "And it turns out that they don't just work a bit faster when used in this manner, they work a *lot* faster." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:36 +#: ../../docs/tutorials/optimization/batching.rst:40 msgid "As Godot is designed to be a general purpose engine, the primitives coming into the Godot renderer can be in any order, sometimes similar, and sometimes dissimilar. In order to match the general purpose nature of Godot with the batching preferences of GPUs, Godot features an intermediate layer which can automatically group together primitives wherever possible, and send these batches on to the GPU. This can give an increase in rendering performance while requiring few, if any, changes to your Godot project." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:45 +#: ../../docs/tutorials/optimization/batching.rst:49 msgid "How it works" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:47 +#: ../../docs/tutorials/optimization/batching.rst:51 msgid "Instructions come into the renderer from your game in the form of a series of items, each of which can contain one or more commands. The items correspond to Nodes in the scene tree, and the commands correspond to primitives such as rectangles or polygons. Some items, such as tilemaps, and text, can contain a large number of commands (tiles and letters respectively). Others, such as sprites, may only contain a single command (rectangle)." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:54 +#: ../../docs/tutorials/optimization/batching.rst:58 msgid "The batcher uses two main techniques to group together primitives:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:56 +#: ../../docs/tutorials/optimization/batching.rst:60 msgid "Consecutive items can be joined together" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:57 +#: ../../docs/tutorials/optimization/batching.rst:61 msgid "Consecutive commands within an item can be joined to form a batch" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:60 +#: ../../docs/tutorials/optimization/batching.rst:64 msgid "Breaking batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:62 +#: ../../docs/tutorials/optimization/batching.rst:66 msgid "Batching can only take place if the items or commands are similar enough to be rendered in one draw call. Certain changes (or techniques), by necessity, prevent the formation of a contiguous batch, this is referred to as 'breaking batching'." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:66 +#: ../../docs/tutorials/optimization/batching.rst:70 msgid "Batching will be broken by (amongst other things): * Change of texture * Change of material * Change of primitive type (say going from rectangles to lines)" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:73 +#: ../../docs/tutorials/optimization/batching.rst:77 msgid "If for example, you draw a series of sprites each with a different texture, there is no way they can be batched." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:77 +#: ../../docs/tutorials/optimization/batching.rst:81 msgid "Render order" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:79 +#: ../../docs/tutorials/optimization/batching.rst:83 msgid "The question arises, if only similar items can be drawn together in a batch, why don't we look through all the items in a scene, group together all the similar items, and draw them together?" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:83 +#: ../../docs/tutorials/optimization/batching.rst:87 msgid "In 3D, this is often exactly how engines work. However, in Godot 2D, items are drawn in 'painter's order', from back to front. This ensures that items at the front are drawn on top of earlier items, when they overlap." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:87 +#: ../../docs/tutorials/optimization/batching.rst:91 msgid "This also means that if we try and draw objects in order of, for example, texture, then this painter's order may break and objects will be drawn in the wrong order." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:91 +#: ../../docs/tutorials/optimization/batching.rst:95 msgid "In Godot this back to front order is determined by: * The order of objects in the scene tree * The Z index of objects * The canvas layer * Y sort nodes" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:99 +#: ../../docs/tutorials/optimization/batching.rst:103 msgid "You can group similar objects together for easier batching. While doing so is not a requirement on your part, think of it as an optional approach that can improve performance in some cases. See the diagnostics section in order to help you make this decision." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:105 +#: ../../docs/tutorials/optimization/batching.rst:109 msgid "A trick" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:107 +#: ../../docs/tutorials/optimization/batching.rst:111 msgid "And now a sleight of hand. Although the idea of painter's order is that objects are rendered from back to front, consider 3 objects A, B and C, that contain 2 different textures, grass and wood." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:113 +#: ../../docs/tutorials/optimization/batching.rst:117 msgid "In painter's order they are ordered:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:121 +#: ../../docs/tutorials/optimization/batching.rst:125 msgid "Because the texture changes, they cannot be batched, and will be rendered in 3 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:124 +#: ../../docs/tutorials/optimization/batching.rst:128 msgid "However, painter's order is only needed on the assumption that they will be drawn *on top* of each other. If we relax that assumption, i.e. if none of these 3 objects are overlapping, there is *no need* to preserve painter's order. The rendered result will be the same. What if we could take advantage of this?" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:130 +#: ../../docs/tutorials/optimization/batching.rst:134 msgid "Item reordering" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:134 +#: ../../docs/tutorials/optimization/batching.rst:138 msgid "It turns out that we can reorder items. However, we can only do this if the items satisfy the conditions of an overlap test, to ensure that the end result will be the same as if they were not reordered. The overlap test is very cheap in performance terms, but not absolutely free, so there is a slight cost to looking ahead to decide whether items can be reordered. The number of items to lookahead for reordering can be set in project settings (see below), in order to balance the costs and benefits in your project." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:148 +#: ../../docs/tutorials/optimization/batching.rst:152 msgid "Because the texture only changes once, we can render the above in only 2 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:152 +#: ../../docs/tutorials/optimization/batching.rst:156 msgid "Lights" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:154 +#: ../../docs/tutorials/optimization/batching.rst:158 msgid "Although the job for the batching system is normally quite straightforward, it becomes considerably more complex when 2D lights are used, because lights are drawn using extra passes, one for each light affecting the primitive. Consider 2 sprites A and B, with identical texture and material. Without lights they would be batched together and drawn in one draw call. But with 3 lights, they would be drawn as follows, each line a draw call:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:174 +#: ../../docs/tutorials/optimization/batching.rst:178 msgid "That is a lot of draw calls, 8 for only 2 sprites. Now consider we are drawing 1000 sprites, the number of draw calls quickly becomes astronomical, and performance suffers. This is partly why lights have the potential to drastically slow down 2D." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:179 +#: ../../docs/tutorials/optimization/batching.rst:183 msgid "However, if you remember our magician's trick from item reordering, it turns out we can use the same trick to get around painter's order for lights!" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:182 +#: ../../docs/tutorials/optimization/batching.rst:186 msgid "If A and B are not overlapping, we can render them together in a batch, so the draw process is as follows:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:195 +#: ../../docs/tutorials/optimization/batching.rst:199 msgid "That is 4 draw calls. Not bad, that is a 50% improvement. However consider that in a real game, you might be drawing closer to 1000 sprites." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:198 +#: ../../docs/tutorials/optimization/batching.rst:202 msgid "Before: 1000 * 4 = 4000 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:199 +#: ../../docs/tutorials/optimization/batching.rst:203 msgid "After: 1 * 4 = 4 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:201 -msgid "That is 1000x decrease in draw calls, and should give a huge increase in performance." +#: ../../docs/tutorials/optimization/batching.rst:205 +msgid "That is a 1000× decrease in draw calls, and should give a huge increase in performance." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:205 +#: ../../docs/tutorials/optimization/batching.rst:209 msgid "Overlap test" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:207 +#: ../../docs/tutorials/optimization/batching.rst:211 msgid "However, as with the item reordering, things are not that simple, we must first perform the overlap test to determine whether we can join these primitives, and the overlap test has a small cost. So again you can choose the number of primitives to lookahead in the overlap test to balance the benefits against the cost. Usually with lights the benefits far outweigh the costs." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:213 +#: ../../docs/tutorials/optimization/batching.rst:217 msgid "Also consider that depending on the arrangement of primitives in the viewport, the overlap test will sometimes fail (because the primitives overlap and thus should not be joined). So in practice the decrease in draw calls may be less dramatic than the perfect situation of no overlap. However performance is usually far higher than without this lighting optimization." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:220 +#: ../../docs/tutorials/optimization/batching.rst:224 msgid "Light Scissoring" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:222 +#: ../../docs/tutorials/optimization/batching.rst:226 msgid "Batching can make it more difficult to cull out objects that are not affected or partially affected by a light. This can increase the fill rate requirements quite a bit, and slow rendering. Fill rate is the rate at which pixels are colored, it is another potential bottleneck unrelated to draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:227 +#: ../../docs/tutorials/optimization/batching.rst:231 msgid "In order to counter this problem, (and also speedup lighting in general), batching introduces light scissoring. This enables the use of the OpenGL command ``glScissor()``, which identifies an area, outside of which, the GPU will not render any pixels. We can thus greatly optimize fill rate by identifying the intersection area between a light and a primitive, and limit rendering the light to *that area only*." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:234 +#: ../../docs/tutorials/optimization/batching.rst:238 msgid "Light scissoring is controlled with the :ref:`scissor_area_threshold ` project setting. This value is between 1.0 and 0.0, with 1.0 being off (no scissoring), and 0.0 being scissoring in every circumstance. The reason for the setting is that there may be some small cost to scissoring on some hardware. Generally though, when you are using lighting, it should result in some performance gains." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:242 +#: ../../docs/tutorials/optimization/batching.rst:246 msgid "The relationship between the threshold and whether a scissor operation takes place is not altogether straight forward, but generally it represents the pixel area that is potentially 'saved' by a scissor operation (i.e. the fill rate saved). At 1.0, the entire screens pixels would need to be saved, which rarely if ever happens, so it is switched off. In practice the useful values are bunched towards zero, as only a small percentage of pixels need to be saved for the operation to be useful." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:250 +#: ../../docs/tutorials/optimization/batching.rst:254 msgid "The exact relationship is probably not necessary for users to worry about, but out of interest is included in the appendix." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:255 +#: ../../docs/tutorials/optimization/batching.rst:259 msgid "*Bottom right is a light, the red area is the pixels saved by the scissoring operation. Only the intersection needs to be rendered.*" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:259 +#: ../../docs/tutorials/optimization/batching.rst:263 msgid "Vertex baking" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:261 +#: ../../docs/tutorials/optimization/batching.rst:265 msgid "The GPU shader receives instructions on what to draw in 2 main ways:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:263 +#: ../../docs/tutorials/optimization/batching.rst:267 msgid "Shader uniforms (e.g. modulate color, item transform)" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:264 +#: ../../docs/tutorials/optimization/batching.rst:268 msgid "Vertex attributes (vertex color, local transform)" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:266 +#: ../../docs/tutorials/optimization/batching.rst:270 msgid "However, within a single draw call (batch) we cannot change uniforms. This means that naively, we would not be able to batch together items or commands that change final_modulate, or item transform. Unfortunately that is an awful lot of cases. Sprites for instance typically are individual nodes with their own item transform, and they may have their own color modulate." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:272 +#: ../../docs/tutorials/optimization/batching.rst:276 msgid "To get around this problem, the batching can \"bake\" some of the uniforms into the vertex attributes." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:275 +#: ../../docs/tutorials/optimization/batching.rst:279 msgid "The item transform can be combined with the local transform and sent in a vertex attribute." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:278 +#: ../../docs/tutorials/optimization/batching.rst:282 msgid "The final modulate color can be combined with the vertex colors, and sent in a vertex attribute." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:281 +#: ../../docs/tutorials/optimization/batching.rst:285 msgid "In most cases this works fine, but this shortcut breaks down if a shader expects these values to be available individually, rather than combined. This can happen in custom shaders." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:286 +#: ../../docs/tutorials/optimization/batching.rst:290 msgid "Custom Shaders" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:288 +#: ../../docs/tutorials/optimization/batching.rst:292 msgid "As a result certain operations in custom shaders will prevent baking, and thus decrease the potential for batching. While we are working to decrease these cases, currently the following conditions apply:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:292 +#: ../../docs/tutorials/optimization/batching.rst:296 msgid "Reading or writing ``COLOR`` or ``MODULATE`` - disables vertex color baking" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:293 +#: ../../docs/tutorials/optimization/batching.rst:297 msgid "Reading ``VERTEX`` - disables vertex position baking" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:296 +#: ../../docs/tutorials/optimization/batching.rst:300 msgid "Project Settings" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:298 +#: ../../docs/tutorials/optimization/batching.rst:302 msgid "In order to fine tune batching, a number of project settings are available. You can usually leave these at default during development, but it is a good idea to experiment to ensure you are getting maximum performance. Spending a little time tweaking parameters can often give considerable performance gain, for very little effort. See the tooltips in the project settings for more info." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:305 +#: ../../docs/tutorials/optimization/batching.rst:309 msgid "rendering/batching/options" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:307 +#: ../../docs/tutorials/optimization/batching.rst:311 msgid ":ref:`use_batching ` - Turns batching on and off" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:311 +#: ../../docs/tutorials/optimization/batching.rst:315 msgid ":ref:`use_batching_in_editor `" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:314 +#: ../../docs/tutorials/optimization/batching.rst:318 msgid ":ref:`single_rect_fallback ` - This is a faster way of drawing unbatchable rectangles, however it may lead to flicker on some hardware so is not recommended" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:320 +#: ../../docs/tutorials/optimization/batching.rst:324 msgid "rendering/batching/parameters" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:322 +#: ../../docs/tutorials/optimization/batching.rst:326 msgid ":ref:`max_join_item_commands ` - One of the most important ways of achieving batching is to join suitable adjacent items (nodes) together, however they can only be joined if the commands they contain are compatible. The system must therefore do a lookahead through the commands in an item to determine whether it can be joined. This has a small cost per command, and items with a large number of commands are not worth joining, so the best value may be project dependent." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:331 +#: ../../docs/tutorials/optimization/batching.rst:335 msgid ":ref:`colored_vertex_format_threshold ` - Baking colors into vertices results in a larger vertex format. This is not necessarily worth doing unless there are a lot of color changes going on within a joined item. This parameter represents the proportion of commands containing color changes / the total commands, above which it switches to baked colors." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:339 +#: ../../docs/tutorials/optimization/batching.rst:343 msgid ":ref:`batch_buffer_size ` - This determines the maximum size of a batch, it doesn't have a huge effect on performance but can be worth decreasing for mobile if RAM is at a premium." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:344 +#: ../../docs/tutorials/optimization/batching.rst:348 msgid ":ref:`item_reordering_lookahead ` - Item reordering can help especially with interleaved sprites using different textures. The lookahead for the overlap test has a small cost, so the best value may change per project." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:351 +#: ../../docs/tutorials/optimization/batching.rst:355 msgid "rendering/batching/lights" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:353 +#: ../../docs/tutorials/optimization/batching.rst:357 msgid ":ref:`scissor_area_threshold ` - See light scissoring." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:357 +#: ../../docs/tutorials/optimization/batching.rst:361 msgid ":ref:`max_join_items ` - Joining items before lighting can significantly increase performance. This requires an overlap test, which has a small cost, so the costs and benefits may be project dependent, and hence the best value to use here." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:365 +#: ../../docs/tutorials/optimization/batching.rst:369 msgid "rendering/batching/debug" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:367 +#: ../../docs/tutorials/optimization/batching.rst:371 msgid ":ref:`flash_batching ` - This is purely a debugging feature to identify regressions between the batching and legacy renderer. When it is switched on, the batching and legacy renderer are used alternately on each frame. This will decrease performance, and should not be used for your final export, only for testing." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:374 +#: ../../docs/tutorials/optimization/batching.rst:378 msgid ":ref:`diagnose_frame ` - This will periodically print a diagnostic batching log to the Godot IDE / console." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:380 +#: ../../docs/tutorials/optimization/batching.rst:384 msgid "rendering/batching/precision" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:382 +#: ../../docs/tutorials/optimization/batching.rst:386 msgid ":ref:`uv_contract ` - On some hardware (notably some Android devices) there have been reports of tilemap tiles drawing slightly outside their UV range, leading to edge artifacts such as lines around tiles. If you see this problem, try enabling uv contract. This makes a small contraction in the UV coordinates to compensate for precision errors on devices." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:390 +#: ../../docs/tutorials/optimization/batching.rst:394 msgid ":ref:`uv_contract_amount ` - Hopefully the default amount should cure artifacts on most devices, but just in case, this value is editable." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:396 +#: ../../docs/tutorials/optimization/batching.rst:400 msgid "Diagnostics" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:398 +#: ../../docs/tutorials/optimization/batching.rst:402 msgid "Although you can change parameters and examine the effect on frame rate, this can feel like working blindly, with no idea of what is going on under the hood. To help with this, batching offers a diagnostic mode, which will periodically print out (to the IDE or console) a list of the batches that are being processed. This can help pin point situations where batching is not occurring as intended, and help you to fix them, in order to get the best possible performance." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:407 +#: ../../docs/tutorials/optimization/batching.rst:411 msgid "Reading a diagnostic" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:432 +#: ../../docs/tutorials/optimization/batching.rst:436 msgid "This is a typical diagnostic." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:434 +#: ../../docs/tutorials/optimization/batching.rst:438 msgid "**joined_item** - A joined item can contain 1 or more references to items (nodes). Generally joined_items containing many references is preferable to many joined_items containing a single reference. Whether items can be joined will be determined by their contents and compatibility with the previous item." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:439 +#: ../../docs/tutorials/optimization/batching.rst:443 msgid "**batch R** - a batch containing rectangles. The second number is the number of rects. The second number in square brackets is the Godot texture ID, and the numbers in curly braces is the color. If the batch contains more than one rect, MULTI is added to the line to make it easy to identify. Seeing MULTI is good, because this indicates successful batching." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:444 +#: ../../docs/tutorials/optimization/batching.rst:448 msgid "**batch D** - a default batch, containing everything else that is not currently batched." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:448 +#: ../../docs/tutorials/optimization/batching.rst:452 msgid "Default Batches" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:450 +#: ../../docs/tutorials/optimization/batching.rst:454 msgid "The second number following default batches is the number of commands in the batch, and it is followed by a brief summary of the contents:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:468 +#: ../../docs/tutorials/optimization/batching.rst:472 msgid "You may see \"dummy\" default batches containing no commands, you can ignore these." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:472 +#: ../../docs/tutorials/optimization/batching.rst:476 msgid "FAQ" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:475 +#: ../../docs/tutorials/optimization/batching.rst:479 msgid "I don't get a large performance increase from switching on batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:477 +#: ../../docs/tutorials/optimization/batching.rst:481 msgid "Try the diagnostics, see how much batching is occurring, and whether it can be improved" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:479 +#: ../../docs/tutorials/optimization/batching.rst:483 msgid "Try changing parameters" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:480 +#: ../../docs/tutorials/optimization/batching.rst:484 msgid "Consider that batching may not be your bottleneck (see bottlenecks)" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:483 +#: ../../docs/tutorials/optimization/batching.rst:487 msgid "I get a decrease in performance with batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:485 +#: ../../docs/tutorials/optimization/batching.rst:489 msgid "Try steps to increase batching given above" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:486 +#: ../../docs/tutorials/optimization/batching.rst:490 msgid "Try switching :ref:`single_rect_fallback ` to on" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:489 +#: ../../docs/tutorials/optimization/batching.rst:493 msgid "The single rect fallback method is the default used without batching, and it is approximately twice as fast, however it can result in flicker on some hardware, so its use is discouraged" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:492 +#: ../../docs/tutorials/optimization/batching.rst:496 msgid "After trying the above, if your scene is still performing worse, consider turning off batching." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:496 +#: ../../docs/tutorials/optimization/batching.rst:500 msgid "I use custom shaders and the items are not batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:498 +#: ../../docs/tutorials/optimization/batching.rst:502 msgid "Custom shaders can be problematic for batching, see the custom shaders section" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:501 +#: ../../docs/tutorials/optimization/batching.rst:505 msgid "I am seeing line artifacts appear on certain hardware" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:503 +#: ../../docs/tutorials/optimization/batching.rst:507 msgid "See the :ref:`uv_contract ` project setting which can be used to solve this problem." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:508 +#: ../../docs/tutorials/optimization/batching.rst:512 msgid "I use a large number of textures, so few items are being batched" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:510 +#: ../../docs/tutorials/optimization/batching.rst:514 msgid "Consider the use of texture atlases. As well as allowing batching, these reduce the need for state changes associated with changing texture." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:514 +#: ../../docs/tutorials/optimization/batching.rst:518 msgid "Appendix" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:517 +#: ../../docs/tutorials/optimization/batching.rst:521 msgid "Light scissoring threshold calculation" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:519 +#: ../../docs/tutorials/optimization/batching.rst:523 msgid "The actual proportion of screen pixel area used as the threshold is the :ref:`scissor_area_threshold ` value to the power of 4." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:524 +#: ../../docs/tutorials/optimization/batching.rst:528 msgid "For example, on a screen size ``1920 x 1080`` there are ``2,073,600`` pixels." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:526 +#: ../../docs/tutorials/optimization/batching.rst:530 msgid "At a threshold of ``1000`` pixels, the proportion would be:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:533 +#: ../../docs/tutorials/optimization/batching.rst:537 msgid "The power of 0.25 is the opposite of power of 4)." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:535 +#: ../../docs/tutorials/optimization/batching.rst:539 msgid "So a :ref:`scissor_area_threshold ` of 0.15 would be a reasonable value to try." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:539 +#: ../../docs/tutorials/optimization/batching.rst:543 msgid "Going the other way, for instance with a :ref:`scissor_area_threshold ` of ``0.5``:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:548 +#: ../../docs/tutorials/optimization/batching.rst:552 msgid "If the number of pixels saved is more than this threshold, the scissor is activated." msgstr "" diff --git a/sphinx/templates/tutorials/optimization/cpu_optimization.pot b/sphinx/templates/tutorials/optimization/cpu_optimization.pot index 3ae27d821e..a6d0b61887 100644 --- a/sphinx/templates/tutorials/optimization/cpu_optimization.pot +++ b/sphinx/templates/tutorials/optimization/cpu_optimization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/general_optimization.pot b/sphinx/templates/tutorials/optimization/general_optimization.pot index a73b825012..147bb78655 100644 --- a/sphinx/templates/tutorials/optimization/general_optimization.pot +++ b/sphinx/templates/tutorials/optimization/general_optimization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/gpu_optimization.pot b/sphinx/templates/tutorials/optimization/gpu_optimization.pot index 4d9a6698a2..18b1cb43d6 100644 --- a/sphinx/templates/tutorials/optimization/gpu_optimization.pot +++ b/sphinx/templates/tutorials/optimization/gpu_optimization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/index.pot b/sphinx/templates/tutorials/optimization/index.pot index ba3499cca7..e664b0e2e5 100644 --- a/sphinx/templates/tutorials/optimization/index.pot +++ b/sphinx/templates/tutorials/optimization/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/optimizing_3d_performance.pot b/sphinx/templates/tutorials/optimization/optimizing_3d_performance.pot index ac7a681812..761af72ce9 100644 --- a/sphinx/templates/tutorials/optimization/optimizing_3d_performance.pot +++ b/sphinx/templates/tutorials/optimization/optimizing_3d_performance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/using_multimesh.pot b/sphinx/templates/tutorials/optimization/using_multimesh.pot index d3fdd58367..9aa5c20d03 100644 --- a/sphinx/templates/tutorials/optimization/using_multimesh.pot +++ b/sphinx/templates/tutorials/optimization/using_multimesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/optimization/using_servers.pot b/sphinx/templates/tutorials/optimization/using_servers.pot index 263325b21d..eb51db38af 100644 --- a/sphinx/templates/tutorials/optimization/using_servers.pot +++ b/sphinx/templates/tutorials/optimization/using_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/index.pot b/sphinx/templates/tutorials/physics/index.pot index 7b9b5c4d12..a46f98d025 100644 --- a/sphinx/templates/tutorials/physics/index.pot +++ b/sphinx/templates/tutorials/physics/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/kinematic_character_2d.pot b/sphinx/templates/tutorials/physics/kinematic_character_2d.pot index ad6ff14149..df8418c35d 100644 --- a/sphinx/templates/tutorials/physics/kinematic_character_2d.pot +++ b/sphinx/templates/tutorials/physics/kinematic_character_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/physics_introduction.pot b/sphinx/templates/tutorials/physics/physics_introduction.pot index 7366a7e739..cdbcfd5175 100644 --- a/sphinx/templates/tutorials/physics/physics_introduction.pot +++ b/sphinx/templates/tutorials/physics/physics_introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/ragdoll_system.pot b/sphinx/templates/tutorials/physics/ragdoll_system.pot index ac35ce905a..c4273865ba 100644 --- a/sphinx/templates/tutorials/physics/ragdoll_system.pot +++ b/sphinx/templates/tutorials/physics/ragdoll_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/ray-casting.pot b/sphinx/templates/tutorials/physics/ray-casting.pot index ac8f480fb3..355be08a14 100644 --- a/sphinx/templates/tutorials/physics/ray-casting.pot +++ b/sphinx/templates/tutorials/physics/ray-casting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/rigid_body.pot b/sphinx/templates/tutorials/physics/rigid_body.pot index c558804240..a18edff3ad 100644 --- a/sphinx/templates/tutorials/physics/rigid_body.pot +++ b/sphinx/templates/tutorials/physics/rigid_body.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/soft_body.pot b/sphinx/templates/tutorials/physics/soft_body.pot index 1f40a7afd3..3c5613cbee 100644 --- a/sphinx/templates/tutorials/physics/soft_body.pot +++ b/sphinx/templates/tutorials/physics/soft_body.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/using_area_2d.pot b/sphinx/templates/tutorials/physics/using_area_2d.pot index e0971dd420..81a82f8836 100644 --- a/sphinx/templates/tutorials/physics/using_area_2d.pot +++ b/sphinx/templates/tutorials/physics/using_area_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/using_kinematic_body_2d.pot b/sphinx/templates/tutorials/physics/using_kinematic_body_2d.pot index 736467b24a..73e896935c 100644 --- a/sphinx/templates/tutorials/physics/using_kinematic_body_2d.pot +++ b/sphinx/templates/tutorials/physics/using_kinematic_body_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -149,142 +149,146 @@ msgid "When using ``move_and_slide()`` it's possible to have multiple collisions msgstr "" #: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:133 +msgid "`get_slide_count()` only counts times the body has collided and changed direction." +msgstr "" + +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:135 msgid "See :ref:`KinematicCollision2D ` for details on what collision data is returned." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:137 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:139 msgid "Which movement method to use?" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:139 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:141 msgid "A common question from new Godot users is: \"How do you decide which movement function to use?\" Often, the response is to use ``move_and_slide()`` because it's \"simpler,\" but this is not necessarily the case. One way to think of it is that ``move_and_slide()`` is a special case, and ``move_and_collide()`` is more general. For example, the following two code snippets result in the same collision response:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:170 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:172 msgid "Anything you do with ``move_and_slide()`` can also be done with ``move_and_collide()``, but it might take a little more code. However, as we'll see in the examples below, there are cases where ``move_and_slide()`` doesn't provide the response you want." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:174 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:176 msgid "In the example above, we assign the velocity that ``move_and_slide()`` returns back into the ``velocity`` variable. This is because when the character collides with the environment, the function recalculates the speed internally to reflect the slowdown." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:179 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:181 msgid "For example, if your character fell on the floor, you don't want it to accumulate vertical speed due to the effect of gravity. Instead, you want its vertical speed to reset to zero." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:183 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:185 msgid "``move_and_slide()`` may also recalculate the kinematic body's velocity several times in a loop as, to produce a smooth motion, it moves the character and collides up to five times by default. At the end of the process, the function returns the character's new velocity that we can store in our ``velocity`` variable, and use on the next frame." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:190 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:192 msgid "Examples" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:192 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:194 msgid "To see these examples in action, download the sample project: :download:`using_kinematic2d.zip `." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:196 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:198 msgid "Movement and walls" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:198 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:200 msgid "If you've downloaded the sample project, this example is in \"BasicMovement.tscn\"." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:200 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:202 msgid "For this example, add a ``KinematicBody2D`` with two children: a ``Sprite`` and a ``CollisionShape2D``. Use the Godot \"icon.png\" as the Sprite's texture (drag it from the Filesystem dock to the *Texture* property of the ``Sprite``). In the ``CollisionShape2D``'s *Shape* property, select \"New RectangleShape2D\" and size the rectangle to fit over the sprite image." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:206 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:208 msgid "See :ref:`doc_2d_movement` for examples of implementing 2D movement schemes." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:208 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:210 msgid "Attach a script to the KinematicBody2D and add the following code:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:271 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:273 msgid "Run this scene and you'll see that ``move_and_collide()`` works as expected, moving the body along the velocity vector. Now let's see what happens when you add some obstacles. Add a :ref:`StaticBody2D ` with a rectangular collision shape. For visibility, you can use a sprite, a Polygon2D, or turn on \"Visible Collision Shapes\" from the \"Debug\" menu." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:277 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:279 msgid "Run the scene again and try moving into the obstacle. You'll see that the ``KinematicBody2D`` can't penetrate the obstacle. However, try moving into the obstacle at an angle and you'll find that the obstacle acts like glue - it feels like the body gets stuck." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:281 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:283 msgid "This happens because there is no *collision response*. ``move_and_collide()`` stops the body's movement when a collision occurs. We need to code whatever response we want from the collision." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:285 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:287 msgid "Try changing the function to ``move_and_slide(velocity)`` and running again. Note that we removed ``delta`` from the velocity calculation." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:288 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:290 msgid "``move_and_slide()`` provides a default collision response of sliding the body along the collision object. This is useful for a great many game types, and may be all you need to get the behavior you want." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:293 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:295 msgid "Bouncing/reflecting" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:295 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:297 msgid "What if you don't want a sliding collision response? For this example (\"BounceandCollide.tscn\" in the sample project), we have a character shooting bullets and we want the bullets to bounce off the walls." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:299 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:301 msgid "This example uses three scenes. The main scene contains the Player and Walls. The Bullet and Wall are separate scenes so that they can be instanced." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:302 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:304 msgid "The Player is controlled by the `w` and `s` keys for forward and back. Aiming uses the mouse pointer. Here is the code for the Player, using ``move_and_slide()``:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:389 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:391 msgid "And the code for the Bullet:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:451 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:453 msgid "The action happens in ``_physics_process()``. After using ``move_and_collide()``, if a collision occurs, a ``KinematicCollision2D`` object is returned (otherwise, the return is ``Nil``)." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:455 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:457 msgid "If there is a returned collision, we use the ``normal`` of the collision to reflect the bullet's ``velocity`` with the ``Vector2.bounce()`` method." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:458 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:460 msgid "If the colliding object (``collider``) has a ``hit`` method, we also call it. In the example project, we've added a flashing color effect to the Wall to demonstrate this." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:465 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:467 msgid "Platformer movement" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:467 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:469 msgid "Let's try one more popular example: the 2D platformer. ``move_and_slide()`` is ideal for quickly getting a functional character controller up and running. If you've downloaded the sample project, you can find this in \"Platformer.tscn\"." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:471 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:473 msgid "For this example, we'll assume you have a level made of ``StaticBody2D`` objects. They can be any shape and size. In the sample project, we're using :ref:`Polygon2D ` to create the platform shapes." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:475 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:477 msgid "Here's the code for the player body:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:556 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:558 msgid "When using ``move_and_slide()``, the function returns a vector representing the movement that remained after the slide collision occurred. Setting that value back to the character's ``velocity`` allows us to move up and down slopes smoothly. Try removing ``velocity =`` and see what happens if you don't do this." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:561 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:563 msgid "Also note that we've added ``Vector2(0, -1)`` as the floor normal. This vector points straight upward. As a result, if the character collides with an object that has this normal, it will be considered a floor." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:565 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:567 msgid "Using the floor normal allows us to make jumping work, using ``is_on_floor()``. This function will only return ``true`` after a ``move_and_slide()`` collision where the colliding body's normal is within 45 degrees of the given floor vector. You can control the maximum angle by setting ``floor_max_angle``." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:570 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:572 msgid "This angle also allows you to implement other features like wall jumps using ``is_on_wall()``, for example." msgstr "" diff --git a/sphinx/templates/tutorials/platform/android_in_app_purchases.pot b/sphinx/templates/tutorials/platform/android_in_app_purchases.pot index 3522d8527e..0b47574ab6 100644 --- a/sphinx/templates/tutorials/platform/android_in_app_purchases.pot +++ b/sphinx/templates/tutorials/platform/android_in_app_purchases.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/consoles.pot b/sphinx/templates/tutorials/platform/consoles.pot index f207c86d27..95c9d398d8 100644 --- a/sphinx/templates/tutorials/platform/consoles.pot +++ b/sphinx/templates/tutorials/platform/consoles.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/customizing_html5_shell.pot b/sphinx/templates/tutorials/platform/customizing_html5_shell.pot index 13ce769c86..a9344ed1bb 100644 --- a/sphinx/templates/tutorials/platform/customizing_html5_shell.pot +++ b/sphinx/templates/tutorials/platform/customizing_html5_shell.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/html5_shell_classref.pot b/sphinx/templates/tutorials/platform/html5_shell_classref.pot index ab1fd1ae13..042dcc3f71 100644 --- a/sphinx/templates/tutorials/platform/html5_shell_classref.pot +++ b/sphinx/templates/tutorials/platform/html5_shell_classref.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/index.pot b/sphinx/templates/tutorials/platform/index.pot index a00e0f5b85..6aab7475f8 100644 --- a/sphinx/templates/tutorials/platform/index.pot +++ b/sphinx/templates/tutorials/platform/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/platform_html5.pot b/sphinx/templates/tutorials/platform/platform_html5.pot index 21d850f081..75ad93c0bf 100644 --- a/sphinx/templates/tutorials/platform/platform_html5.pot +++ b/sphinx/templates/tutorials/platform/platform_html5.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/services_for_ios.pot b/sphinx/templates/tutorials/platform/services_for_ios.pot index a213bf34b3..d919879493 100644 --- a/sphinx/templates/tutorials/platform/services_for_ios.pot +++ b/sphinx/templates/tutorials/platform/services_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/android/android_plugin.pot b/sphinx/templates/tutorials/plugins/android/android_plugin.pot index 3666de21a4..6ea820ba3d 100644 --- a/sphinx/templates/tutorials/plugins/android/android_plugin.pot +++ b/sphinx/templates/tutorials/plugins/android/android_plugin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/android/index.pot b/sphinx/templates/tutorials/plugins/android/index.pot index 3912ee97d7..fb2ecf0433 100644 --- a/sphinx/templates/tutorials/plugins/android/index.pot +++ b/sphinx/templates/tutorials/plugins/android/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/import_plugins.pot b/sphinx/templates/tutorials/plugins/editor/import_plugins.pot index e4886124c3..6b86529fa2 100644 --- a/sphinx/templates/tutorials/plugins/editor/import_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/import_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/index.pot b/sphinx/templates/tutorials/plugins/editor/index.pot index 4da0921ee7..9f09b784c1 100644 --- a/sphinx/templates/tutorials/plugins/editor/index.pot +++ b/sphinx/templates/tutorials/plugins/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot b/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot index 3a453736b5..2d9143f6f7 100644 --- a/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot b/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot index 6c7aa8a015..eb97a0c721 100644 --- a/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot b/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot index d794c66145..3ae55895e1 100644 --- a/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/making_plugins.pot b/sphinx/templates/tutorials/plugins/editor/making_plugins.pot index d52fdb9c80..48f9f1b3e0 100644 --- a/sphinx/templates/tutorials/plugins/editor/making_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/making_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/spatial_gizmos.pot b/sphinx/templates/tutorials/plugins/editor/spatial_gizmos.pot index 7d371e7752..c90345da6b 100644 --- a/sphinx/templates/tutorials/plugins/editor/spatial_gizmos.pot +++ b/sphinx/templates/tutorials/plugins/editor/spatial_gizmos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot b/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot index 853783b45d..ccab55fe3d 100644 --- a/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/gdnative/gdnative-c-example.pot b/sphinx/templates/tutorials/plugins/gdnative/gdnative-c-example.pot index f229d6bb45..053fff7e67 100644 --- a/sphinx/templates/tutorials/plugins/gdnative/gdnative-c-example.pot +++ b/sphinx/templates/tutorials/plugins/gdnative/gdnative-c-example.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/gdnative/gdnative-cpp-example.pot b/sphinx/templates/tutorials/plugins/gdnative/gdnative-cpp-example.pot index ad366d1291..f764ec3fed 100644 --- a/sphinx/templates/tutorials/plugins/gdnative/gdnative-cpp-example.pot +++ b/sphinx/templates/tutorials/plugins/gdnative/gdnative-cpp-example.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/gdnative/index.pot b/sphinx/templates/tutorials/plugins/gdnative/index.pot index ada8cebe20..5f8ed97b61 100644 --- a/sphinx/templates/tutorials/plugins/gdnative/index.pot +++ b/sphinx/templates/tutorials/plugins/gdnative/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/index.pot b/sphinx/templates/tutorials/plugins/index.pot index d06d5a7562..8e9f498a6b 100644 --- a/sphinx/templates/tutorials/plugins/index.pot +++ b/sphinx/templates/tutorials/plugins/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/advanced_postprocessing.pot b/sphinx/templates/tutorials/shading/advanced_postprocessing.pot index 38ded33a1e..fd8326a59f 100644 --- a/sphinx/templates/tutorials/shading/advanced_postprocessing.pot +++ b/sphinx/templates/tutorials/shading/advanced_postprocessing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/godot_shader_language_style_guide.pot b/sphinx/templates/tutorials/shading/godot_shader_language_style_guide.pot index 775fb4e5a5..fd60f97859 100644 --- a/sphinx/templates/tutorials/shading/godot_shader_language_style_guide.pot +++ b/sphinx/templates/tutorials/shading/godot_shader_language_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/index.pot b/sphinx/templates/tutorials/shading/index.pot index 181281069e..67fc932735 100644 --- a/sphinx/templates/tutorials/shading/index.pot +++ b/sphinx/templates/tutorials/shading/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/intro_to_shaders_water_workshop.pot b/sphinx/templates/tutorials/shading/intro_to_shaders_water_workshop.pot index b9f7adf6ee..9d6a0df9f5 100644 --- a/sphinx/templates/tutorials/shading/intro_to_shaders_water_workshop.pot +++ b/sphinx/templates/tutorials/shading/intro_to_shaders_water_workshop.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/migrating_to_godot_shader_language.pot b/sphinx/templates/tutorials/shading/migrating_to_godot_shader_language.pot index 79282eb29e..f0b901c8fc 100644 --- a/sphinx/templates/tutorials/shading/migrating_to_godot_shader_language.pot +++ b/sphinx/templates/tutorials/shading/migrating_to_godot_shader_language.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/screen-reading_shaders.pot b/sphinx/templates/tutorials/shading/screen-reading_shaders.pot index fd7da9834d..f847714da5 100644 --- a/sphinx/templates/tutorials/shading/screen-reading_shaders.pot +++ b/sphinx/templates/tutorials/shading/screen-reading_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/shader_materials.pot b/sphinx/templates/tutorials/shading/shader_materials.pot index 085dc79723..eeabf8048b 100644 --- a/sphinx/templates/tutorials/shading/shader_materials.pot +++ b/sphinx/templates/tutorials/shading/shader_materials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/shading_reference/canvas_item_shader.pot b/sphinx/templates/tutorials/shading/shading_reference/canvas_item_shader.pot index 1b1e9aa549..30b7681f5d 100644 --- a/sphinx/templates/tutorials/shading/shading_reference/canvas_item_shader.pot +++ b/sphinx/templates/tutorials/shading/shading_reference/canvas_item_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -262,7 +262,7 @@ msgid "inout vec2 **UV**" msgstr "" #: ../../docs/tutorials/shading/shading_reference/canvas_item_shader.rst:128 -msgid "UV." +msgid "Texture coordinates." msgstr "" #: ../../docs/tutorials/shading/shading_reference/canvas_item_shader.rst:130 diff --git a/sphinx/templates/tutorials/shading/shading_reference/index.pot b/sphinx/templates/tutorials/shading/shading_reference/index.pot index f789715633..1ff3a609c9 100644 --- a/sphinx/templates/tutorials/shading/shading_reference/index.pot +++ b/sphinx/templates/tutorials/shading/shading_reference/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/shading_reference/particle_shader.pot b/sphinx/templates/tutorials/shading/shading_reference/particle_shader.pot index 8ffc376ade..6d0d9d121e 100644 --- a/sphinx/templates/tutorials/shading/shading_reference/particle_shader.pot +++ b/sphinx/templates/tutorials/shading/shading_reference/particle_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/shading_reference/shaders.pot b/sphinx/templates/tutorials/shading/shading_reference/shaders.pot index 92216a0603..08fab45438 100644 --- a/sphinx/templates/tutorials/shading/shading_reference/shaders.pot +++ b/sphinx/templates/tutorials/shading/shading_reference/shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/shading_reference/shading_language.pot b/sphinx/templates/tutorials/shading/shading_reference/shading_language.pot index 7c02fd6c02..27b39d64f1 100644 --- a/sphinx/templates/tutorials/shading/shading_reference/shading_language.pot +++ b/sphinx/templates/tutorials/shading/shading_reference/shading_language.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/shading_reference/spatial_shader.pot b/sphinx/templates/tutorials/shading/shading_reference/spatial_shader.pot index 5d8d7cb3e5..7b6e41cd01 100644 --- a/sphinx/templates/tutorials/shading/shading_reference/spatial_shader.pot +++ b/sphinx/templates/tutorials/shading/shading_reference/spatial_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/visual_shaders.pot b/sphinx/templates/tutorials/shading/visual_shaders.pot index 25827fc17f..0c39ee4ed5 100644 --- a/sphinx/templates/tutorials/shading/visual_shaders.pot +++ b/sphinx/templates/tutorials/shading/visual_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/your_first_shader/index.pot b/sphinx/templates/tutorials/shading/your_first_shader/index.pot index 32371211c4..701504ff68 100644 --- a/sphinx/templates/tutorials/shading/your_first_shader/index.pot +++ b/sphinx/templates/tutorials/shading/your_first_shader/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/your_first_shader/what_are_shaders.pot b/sphinx/templates/tutorials/shading/your_first_shader/what_are_shaders.pot index 528c5b97bf..09a7db03ae 100644 --- a/sphinx/templates/tutorials/shading/your_first_shader/what_are_shaders.pot +++ b/sphinx/templates/tutorials/shading/your_first_shader/what_are_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/your_first_shader/your_first_canvasitem_shader.pot b/sphinx/templates/tutorials/shading/your_first_shader/your_first_canvasitem_shader.pot index e2a0eb0f28..6d35761551 100644 --- a/sphinx/templates/tutorials/shading/your_first_shader/your_first_canvasitem_shader.pot +++ b/sphinx/templates/tutorials/shading/your_first_shader/your_first_canvasitem_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shading/your_first_shader/your_first_spatial_shader.pot b/sphinx/templates/tutorials/shading/your_first_shader/your_first_spatial_shader.pot index 7790447634..11ce9b2b1b 100644 --- a/sphinx/templates/tutorials/shading/your_first_shader/your_first_spatial_shader.pot +++ b/sphinx/templates/tutorials/shading/your_first_shader/your_first_spatial_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -177,122 +177,122 @@ msgid "Once you set it up and should look like this." msgstr "" #: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:170 -msgid "Now, access the noise texture using the ``texture()`` function. ``texture()`` takes a texture as the first argument and a ``vec2`` for the position on the texture as the second argument. We use the ``x`` and ``z`` channels of ``VERTEX`` to determine where on the texture to look up. ``texture()`` returns a ``vec4`` of the ``r, g, b, a`` channels at the position. Since the noise texture is grayscale, all of the values are the same, so we can use any one of the channels as the height. In this case we'll use the ``r``, or ``x`` channel." +msgid "Now, access the noise texture using the ``texture()`` function. ``texture()`` takes a texture as the first argument and a ``vec2`` for the position on the texture as the second argument. We use the ``x`` and ``z`` channels of ``VERTEX`` to determine where on the texture to look up. Note that the PlaneMesh coordinates are within the [-1,1] range (for a size of 2), while the texture coordinates are within [0,1], so to normalize we divide by the size of the PlaneMesh 2.0 and add 0.5. ``texture()`` returns a ``vec4`` of the ``r, g, b, a`` channels at the position. Since the noise texture is grayscale, all of the values are the same, so we can use any one of the channels as the height. In this case we'll use the ``r``, or ``x`` channel." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:181 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:183 msgid "Note: ``xyzw`` is the same as ``rgba`` in GLSL, so instead of ``texture().x`` above, we could use ``texture().r``. See the `OpenGL documentation `_ for more details." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:184 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:186 msgid "Using this code you can see the texture creates random looking hills." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:188 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:190 msgid "Right now it is too spiky, we want to soften the hills a bit. To do that, we will use a uniform. You already used a uniform above to pass in the noise texture, now let's learn how they work." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:192 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:194 msgid "Uniforms" msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:194 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:196 msgid "Uniform variables allow you to pass data from the game into the shader. They are very useful for controlling shader effects. Uniforms can be almost any datatype that can be used in the shader. To use a uniform, you declare it in your :ref:`Shader` using the keyword ``uniform``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:199 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:201 msgid "Let's make a uniform that changes the height of the terrain." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:206 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:208 msgid "Godot lets you initialize a uniform with a value; here, ``height_scale`` is set to ``0.5``. You can set uniforms from GDScript by calling the function ``set_shader_param()`` on the material corresponding to the shader. The value passed from GDScript takes precedence over the value used to initialize it in the shader." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:216 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:218 msgid "Changing uniforms in Spatial-based nodes is different from CanvasItem-based nodes. Here, we set the material inside the PlaneMesh resource. In other mesh resources you may need to first access the material by calling ``surface_get_material()``. While in the MeshInstance you would access the material using ``get_surface_material()`` or ``material_override``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:222 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:224 msgid "Remember that the string passed into ``set_shader_param()`` must match the name of the uniform variable in the :ref:`Shader`. You can use the uniform variable anywhere inside your :ref:`Shader`. Here, we will use it to set the height value instead of arbitrarily multiplying by ``0.5``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:231 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:233 msgid "Now it looks much better." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:235 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:237 msgid "Using uniforms, we can even change the value every frame to animate the height of the terrain. Combined with :ref:`Tweens `, this can be especially useful for simple animations." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:239 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:241 msgid "Interacting with light" msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:241 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:243 msgid "First, turn wireframe off. To do so, click in the upper-left of the Viewport again, where it says \"Perspective\", and select \"Display Normal\"." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:246 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:248 msgid "Note how the mesh color goes flat. This is because the lighting on it is flat. Let's add a light!" msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:248 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:250 msgid "First, we will add an :ref:`OmniLight` to the scene." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:252 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:254 msgid "You can see the light affecting the terrain, but it looks odd. The problem is the light is affecting the terrain as if it were a flat plane. This is because the light shader uses the normals from the :ref:`Mesh ` to calculate light." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:256 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:258 msgid "The normals are stored in the Mesh, but we are changing the shape of the Mesh in the shader, so the normals are no longer correct. To fix this, we can recalculate the normals in the shader or use a normal texture that corresponds to our noise. Godot makes both easy for us." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:260 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:262 msgid "You can calculate the new normal manually in the vertex function and then just set ``NORMAL``. With ``NORMAL`` set, Godot will do all the difficult lighting calculations for us. We will cover this method in the next part of this tutorial, for now we will read normals from a texture." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:264 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:266 msgid "Instead we will rely on the NoiseTexture again to calculate normals for us. We do that by passing in a second noise texture." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:271 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:273 msgid "Set this second uniform texture to another NoiseTexture with another OpenSimplexNoise. But this time, check off \"As Normalmap\"." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:276 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:278 msgid "Now, because this is a normalmap and not a per-vertex normal, we are going to assign it in the ``fragment()`` function. The ``fragment()`` function will be explained in more detail in the next part of this tutorial." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:284 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:286 msgid "When we have normals that correspond to a specific vertex we set ``NORMAL``, but if you have a normalmap that comes from a texture, set the normal using ``NORMALMAP``. This way Godot will handle the wrapping the texture around the mesh automatically." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:288 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:290 msgid "Lastly, in order to ensure that we are reading from the same places on the noise texture and the normalmap texture, we are going to pass the ``VERTEX.xz`` position from the ``vertex()`` function to the ``fragment()`` function. We do that with varyings." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:292 -msgid "Above the ``vertex()`` define a ``vec2`` called ``vertex_position``. And inside the ``vertex()`` function assign ``VERTEX.xz`` to ``vertex_position``." +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:294 +msgid "Above the ``vertex()`` define a ``vec2`` called ``tex_position``. And inside the ``vertex()`` function assign ``VERTEX.xz`` to ``tex_position``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:304 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:308 msgid "And now we can access ``vertex_position`` from the ``fragment()`` function." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:312 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:316 msgid "With the normals in place the light now reacts to the height of the mesh dynamically." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:316 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:320 msgid "We can even drag the light around and the lighting will update automatically." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:320 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:324 msgid "Here is the full code for this tutorial. You can see it is not very long as Godot handles most of the difficult stuff for you." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:343 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:347 msgid "That is everything for this part. Hopefully, you now understand the basics of vertex shaders in Godot. In the next part of this tutorial we will write a fragment function to accompany this vertex function and we will cover a more advanced technique to turn this terrain into an ocean of moving waves." msgstr "" diff --git a/sphinx/templates/tutorials/shading/your_first_shader/your_second_spatial_shader.pot b/sphinx/templates/tutorials/shading/your_first_shader/your_second_spatial_shader.pot index 2ca0f28c00..4af8681c2d 100644 --- a/sphinx/templates/tutorials/shading/your_first_shader/your_second_spatial_shader.pot +++ b/sphinx/templates/tutorials/shading/your_first_shader/your_second_spatial_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/threads/index.pot b/sphinx/templates/tutorials/threads/index.pot index 1a125a4ef5..457ec7e2f4 100644 --- a/sphinx/templates/tutorials/threads/index.pot +++ b/sphinx/templates/tutorials/threads/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/threads/thread_safe_apis.pot b/sphinx/templates/tutorials/threads/thread_safe_apis.pot index fd96ed0aa4..02db21237c 100644 --- a/sphinx/templates/tutorials/threads/thread_safe_apis.pot +++ b/sphinx/templates/tutorials/threads/thread_safe_apis.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/threads/using_multiple_threads.pot b/sphinx/templates/tutorials/threads/using_multiple_threads.pot index d0000e629b..044af39393 100644 --- a/sphinx/templates/tutorials/threads/using_multiple_threads.pot +++ b/sphinx/templates/tutorials/threads/using_multiple_threads.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/viewports/custom_postprocessing.pot b/sphinx/templates/tutorials/viewports/custom_postprocessing.pot index c6713c3459..d1d5a30fd9 100644 --- a/sphinx/templates/tutorials/viewports/custom_postprocessing.pot +++ b/sphinx/templates/tutorials/viewports/custom_postprocessing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/viewports/index.pot b/sphinx/templates/tutorials/viewports/index.pot index 7cdc67ad1d..cee54b90d2 100644 --- a/sphinx/templates/tutorials/viewports/index.pot +++ b/sphinx/templates/tutorials/viewports/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/viewports/multiple_resolutions.pot b/sphinx/templates/tutorials/viewports/multiple_resolutions.pot index 7c4ea4ea86..24a2c2c3ae 100644 --- a/sphinx/templates/tutorials/viewports/multiple_resolutions.pot +++ b/sphinx/templates/tutorials/viewports/multiple_resolutions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/viewports/using_viewport_as_texture.pot b/sphinx/templates/tutorials/viewports/using_viewport_as_texture.pot index ba5d91aaf2..677abbc4c8 100644 --- a/sphinx/templates/tutorials/viewports/using_viewport_as_texture.pot +++ b/sphinx/templates/tutorials/viewports/using_viewport_as_texture.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/viewports/viewports.pot b/sphinx/templates/tutorials/viewports/viewports.pot index 5c6098146c..424b088652 100644 --- a/sphinx/templates/tutorials/viewports/viewports.pot +++ b/sphinx/templates/tutorials/viewports/viewports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/vr/developing_for_oculus_quest.pot b/sphinx/templates/tutorials/vr/developing_for_oculus_quest.pot index 053fe1667e..d05449008b 100644 --- a/sphinx/templates/tutorials/vr/developing_for_oculus_quest.pot +++ b/sphinx/templates/tutorials/vr/developing_for_oculus_quest.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/vr/index.pot b/sphinx/templates/tutorials/vr/index.pot index 536d048b4e..fb6ddb8e22 100644 --- a/sphinx/templates/tutorials/vr/index.pot +++ b/sphinx/templates/tutorials/vr/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/vr/vr_primer.pot b/sphinx/templates/tutorials/vr/vr_primer.pot index de0b81cc85..fdb72a5b66 100644 --- a/sphinx/templates/tutorials/vr/vr_primer.pot +++ b/sphinx/templates/tutorials/vr/vr_primer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/vr/vr_starter_tutorial/index.pot b/sphinx/templates/tutorials/vr/vr_starter_tutorial/index.pot index 9e5f77d55c..c818133714 100644 --- a/sphinx/templates/tutorials/vr/vr_starter_tutorial/index.pot +++ b/sphinx/templates/tutorials/vr/vr_starter_tutorial/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_one.pot b/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_one.pot index f367b13261..b433f5c934 100644 --- a/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_one.pot +++ b/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_one.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_two.pot b/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_two.pot index 1b6af43c21..229c265238 100644 --- a/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_two.pot +++ b/sphinx/templates/tutorials/vr/vr_starter_tutorial/vr_starter_tutorial_part_two.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/templates_list.txt b/templates_list.txt index b80785a4f3..fb598b9e9e 100644 --- a/templates_list.txt +++ b/templates_list.txt @@ -27,10 +27,10 @@ getting_started/step_by_step/filesystem.pot getting_started/step_by_step/scene_tree.pot getting_started/step_by_step/singletons_autoload.pot getting_started/editor/index.pot -getting_started/editor/unity_to_godot.pot getting_started/editor/command_line_tutorial.pot getting_started/editor/external_editor.pot getting_started/editor/default_key_mapping.pot +getting_started/editor/unity_to_godot.pot getting_started/scripting/index.pot getting_started/scripting/gdscript/index.pot getting_started/scripting/gdscript/gdscript_basics.pot @@ -56,6 +56,12 @@ getting_started/workflow/index.pot getting_started/workflow/project_setup/index.pot getting_started/workflow/project_setup/project_organization.pot getting_started/workflow/project_setup/version_control_systems.pot +getting_started/workflow/assets/index.pot +getting_started/workflow/assets/import_process.pot +getting_started/workflow/assets/importing_images.pot +getting_started/workflow/assets/importing_audio_samples.pot +getting_started/workflow/assets/importing_translations.pot +getting_started/workflow/assets/importing_scenes.pot getting_started/workflow/assets/escn_exporter/index.pot getting_started/workflow/assets/escn_exporter/material.pot getting_started/workflow/assets/escn_exporter/physics.pot @@ -63,25 +69,19 @@ getting_started/workflow/assets/escn_exporter/lights.pot getting_started/workflow/assets/escn_exporter/mesh.pot getting_started/workflow/assets/escn_exporter/skeleton.pot getting_started/workflow/assets/escn_exporter/animation.pot -getting_started/workflow/assets/index.pot -getting_started/workflow/assets/import_process.pot -getting_started/workflow/assets/importing_images.pot -getting_started/workflow/assets/importing_audio_samples.pot -getting_started/workflow/assets/importing_translations.pot -getting_started/workflow/assets/importing_scenes.pot getting_started/workflow/export/index.pot getting_started/workflow/export/exporting_projects.pot getting_started/workflow/export/exporting_pcks.pot getting_started/workflow/export/feature_tags.pot getting_started/workflow/export/exporting_for_pc.pot -getting_started/workflow/export/exporting_for_ios.pot +getting_started/workflow/export/changing_application_icon_for_windows.pot getting_started/workflow/export/exporting_for_uwp.pot +getting_started/workflow/export/exporting_for_ios.pot getting_started/workflow/export/exporting_for_android.pot +getting_started/workflow/export/android_custom_build.pot getting_started/workflow/export/exporting_for_web.pot getting_started/workflow/export/exporting_for_dedicated_servers.pot getting_started/workflow/export/one-click_deploy.pot -getting_started/workflow/export/android_custom_build.pot -getting_started/workflow/export/changing_application_icon_for_windows.pot getting_started/workflow/best_practices/index.pot getting_started/workflow/best_practices/introduction_best_practices.pot getting_started/workflow/best_practices/what_are_godot_classes.pot @@ -249,6 +249,7 @@ tutorials/optimization/general_optimization.pot tutorials/optimization/using_servers.pot tutorials/optimization/cpu_optimization.pot tutorials/optimization/gpu_optimization.pot +tutorials/optimization/using_multimesh.pot tutorials/optimization/batching.pot tutorials/optimization/optimizing_3d_performance.pot tutorials/misc/index.pot diff --git a/weblate/docs/docs.pot b/weblate/docs/docs.pot index c40e847a5f..0875507f6c 100644 --- a/weblate/docs/docs.pot +++ b/weblate/docs/docs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot-docs-l10n\n" -"POT-Creation-Date: 2020-08-11 13:45+0200\n" +"POT-Creation-Date: 2020-09-09 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -387,7 +387,7 @@ msgid "Have fun reading and making games with Godot Engine!" msgstr "" #: ../../docs/about/faq.rst:1 -#: ../../docs/tutorials/optimization/batching.rst:472 +#: ../../docs/tutorials/optimization/batching.rst:476 msgid "FAQ" msgstr "" @@ -1129,662 +1129,662 @@ msgstr "" msgid "macOS 10.12 and later (64-bit, x86 and ARM)." msgstr "" -#: ../../docs/about/list_of_features.rst:27 +#: ../../docs/about/list_of_features.rst:24 msgid "Linux (64-bit and 32-bit, x86 and ARM)." msgstr "" -#: ../../docs/about/list_of_features.rst:25 +#: ../../docs/about/list_of_features.rst:26 msgid "" "Binaries are statically linked and can run on any distribution if compiled " "on an old enough base distribution." msgstr "" -#: ../../docs/about/list_of_features.rst:27 +#: ../../docs/about/list_of_features.rst:28 msgid "Official binaries are compiled on Ubuntu 14.04." msgstr "" -#: ../../docs/about/list_of_features.rst:29 +#: ../../docs/about/list_of_features.rst:30 msgid "**Runs exported projects:**" msgstr "" -#: ../../docs/about/list_of_features.rst:31 +#: ../../docs/about/list_of_features.rst:32 msgid "Android 4.4 and later." msgstr "" -#: ../../docs/about/list_of_features.rst:32 +#: ../../docs/about/list_of_features.rst:33 msgid "iOS 10.0 and later." msgstr "" -#: ../../docs/about/list_of_features.rst:33 +#: ../../docs/about/list_of_features.rst:34 msgid "HTML5 via WebAssembly (Firefox, Chrome, Edge, Opera)." msgstr "" -#: ../../docs/about/list_of_features.rst:34 +#: ../../docs/about/list_of_features.rst:35 msgid ":ref:`Consoles `." msgstr "" -#: ../../docs/about/list_of_features.rst:36 +#: ../../docs/about/list_of_features.rst:37 msgid "" "Godot aims to be as platform-independent as possible and can be ported to " "new platforms with relative ease." msgstr "" -#: ../../docs/about/list_of_features.rst:40 +#: ../../docs/about/list_of_features.rst:41 #: ../../docs/getting_started/step_by_step/scenes_and_nodes.rst:77 #: ../../docs/getting_started/editor/external_editor.rst:36 #: ../../docs/development/compiling/compiling_with_mono.rst:196 msgid "Editor" msgstr "" -#: ../../docs/about/list_of_features.rst:42 -#: ../../docs/about/list_of_features.rst:77 -#: ../../docs/about/list_of_features.rst:311 +#: ../../docs/about/list_of_features.rst:43 +#: ../../docs/about/list_of_features.rst:85 +#: ../../docs/about/list_of_features.rst:340 msgid "**Features:**" msgstr "" -#: ../../docs/about/list_of_features.rst:44 +#: ../../docs/about/list_of_features.rst:45 msgid "Scene tree editor." msgstr "" -#: ../../docs/about/list_of_features.rst:45 +#: ../../docs/about/list_of_features.rst:46 msgid "Script editor." msgstr "" -#: ../../docs/about/list_of_features.rst:46 +#: ../../docs/about/list_of_features.rst:47 msgid "" "Support for :ref:`external script editors ` such as " "Visual Studio Code or Vim." msgstr "" -#: ../../docs/about/list_of_features.rst:48 +#: ../../docs/about/list_of_features.rst:49 msgid "GDScript :ref:`debugger `." msgstr "" -#: ../../docs/about/list_of_features.rst:49 +#: ../../docs/about/list_of_features.rst:51 msgid "No support for debugging in threads yet." msgstr "" -#: ../../docs/about/list_of_features.rst:50 +#: ../../docs/about/list_of_features.rst:52 msgid "Performance monitoring tools." msgstr "" -#: ../../docs/about/list_of_features.rst:51 +#: ../../docs/about/list_of_features.rst:53 msgid "Live script reloading." msgstr "" -#: ../../docs/about/list_of_features.rst:52 +#: ../../docs/about/list_of_features.rst:54 msgid "Live scene editing." msgstr "" -#: ../../docs/about/list_of_features.rst:53 +#: ../../docs/about/list_of_features.rst:56 msgid "" "Changes will reflect in the editor and will be kept after closing the " "running project." msgstr "" -#: ../../docs/about/list_of_features.rst:54 +#: ../../docs/about/list_of_features.rst:58 msgid "Remote inspector." msgstr "" -#: ../../docs/about/list_of_features.rst:55 +#: ../../docs/about/list_of_features.rst:60 msgid "" "Changes won't reflect in the editor and won't be kept after closing the " "running project." msgstr "" -#: ../../docs/about/list_of_features.rst:56 +#: ../../docs/about/list_of_features.rst:62 msgid "Live camera replication." msgstr "" -#: ../../docs/about/list_of_features.rst:57 +#: ../../docs/about/list_of_features.rst:64 msgid "Move the in-editor camera and see the result in the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:58 +#: ../../docs/about/list_of_features.rst:66 msgid "Use the editor in dozens of languages contributed by the community." msgstr "" -#: ../../docs/about/list_of_features.rst:60 +#: ../../docs/about/list_of_features.rst:68 msgid "**Plugins:**" msgstr "" -#: ../../docs/about/list_of_features.rst:62 +#: ../../docs/about/list_of_features.rst:70 msgid "" "Editor plugins can be downloaded from the :ref:`asset library " "` to extend editor functionality." msgstr "" -#: ../../docs/about/list_of_features.rst:64 +#: ../../docs/about/list_of_features.rst:72 msgid "" "Create your own plugins using GDScript to add new features or speed up your " "workflow." msgstr "" -#: ../../docs/about/list_of_features.rst:65 +#: ../../docs/about/list_of_features.rst:73 msgid "" "Download projects from the asset library in the project manager and import " "them directly." msgstr "" -#: ../../docs/about/list_of_features.rst:68 +#: ../../docs/about/list_of_features.rst:76 msgid "2D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:70 -#: ../../docs/about/list_of_features.rst:124 +#: ../../docs/about/list_of_features.rst:78 +#: ../../docs/about/list_of_features.rst:142 msgid "**Two renderers available:**" msgstr "" -#: ../../docs/about/list_of_features.rst:72 -#: ../../docs/about/list_of_features.rst:127 +#: ../../docs/about/list_of_features.rst:80 +#: ../../docs/about/list_of_features.rst:145 msgid "OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:73 -#: ../../docs/about/list_of_features.rst:127 +#: ../../docs/about/list_of_features.rst:81 +#: ../../docs/about/list_of_features.rst:145 msgid "High-end visuals. Recommended on desktop platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:75 -#: ../../docs/about/list_of_features.rst:133 +#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:151 msgid "OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:75 -#: ../../docs/about/list_of_features.rst:130 +#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:148 msgid "Recommended on mobile and Web platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:79 +#: ../../docs/about/list_of_features.rst:87 msgid "Sprite, polygon and line rendering." msgstr "" -#: ../../docs/about/list_of_features.rst:80 +#: ../../docs/about/list_of_features.rst:89 msgid "" "High-level tools to draw lines and polygons such as Polygon2D and Line2D." msgstr "" -#: ../../docs/about/list_of_features.rst:81 +#: ../../docs/about/list_of_features.rst:91 msgid "AnimatedSprite as a helper for creating animated sprites." msgstr "" -#: ../../docs/about/list_of_features.rst:82 +#: ../../docs/about/list_of_features.rst:92 msgid "Parallax layers." msgstr "" -#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:94 msgid "Pseudo-3D support by automatically duplicating a layer several times." msgstr "" -#: ../../docs/about/list_of_features.rst:84 +#: ../../docs/about/list_of_features.rst:96 msgid "2D lighting with normal maps." msgstr "" -#: ../../docs/about/list_of_features.rst:85 +#: ../../docs/about/list_of_features.rst:98 msgid "Hard or soft shadows." msgstr "" -#: ../../docs/about/list_of_features.rst:90 +#: ../../docs/about/list_of_features.rst:100 msgid "" "Font rendering using bitmaps (BitmapFont) or rasterization using FreeType " "(DynamicFont)." msgstr "" -#: ../../docs/about/list_of_features.rst:87 +#: ../../docs/about/list_of_features.rst:102 msgid "Bitmap fonts can be exported using tools like BMFont." msgstr "" -#: ../../docs/about/list_of_features.rst:88 +#: ../../docs/about/list_of_features.rst:103 msgid "" "DynamicFont supports monochrome fonts as well as colored fonts. Supported " "formats are TTF and OTF." msgstr "" -#: ../../docs/about/list_of_features.rst:90 +#: ../../docs/about/list_of_features.rst:105 msgid "" "DynamicFont supports optional font outlines with adjustable width and color." msgstr "" -#: ../../docs/about/list_of_features.rst:91 +#: ../../docs/about/list_of_features.rst:106 msgid "" "Support for font oversampling to keep fonts sharp at higher resolutions." msgstr "" -#: ../../docs/about/list_of_features.rst:92 +#: ../../docs/about/list_of_features.rst:108 msgid "GPU-based particles with support for custom particle shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:93 -#: ../../docs/about/list_of_features.rst:195 +#: ../../docs/about/list_of_features.rst:109 +#: ../../docs/about/list_of_features.rst:215 msgid "CPU-based particles." msgstr "" -#: ../../docs/about/list_of_features.rst:96 +#: ../../docs/about/list_of_features.rst:112 msgid "2D tools" msgstr "" -#: ../../docs/about/list_of_features.rst:98 +#: ../../docs/about/list_of_features.rst:114 msgid "2D camera with built-in smoothing and drag margins." msgstr "" -#: ../../docs/about/list_of_features.rst:100 +#: ../../docs/about/list_of_features.rst:115 msgid "Path2D node to represent a path in 2D space." msgstr "" -#: ../../docs/about/list_of_features.rst:100 -#: ../../docs/about/list_of_features.rst:233 +#: ../../docs/about/list_of_features.rst:117 +#: ../../docs/about/list_of_features.rst:254 msgid "Can be drawn in the editor or generated procedurally." msgstr "" -#: ../../docs/about/list_of_features.rst:101 +#: ../../docs/about/list_of_features.rst:118 msgid "PathFollow2D node to make nodes follow a Path2D." msgstr "" -#: ../../docs/about/list_of_features.rst:102 +#: ../../docs/about/list_of_features.rst:120 msgid "2D geometry helper class." msgstr "" -#: ../../docs/about/list_of_features.rst:103 +#: ../../docs/about/list_of_features.rst:121 msgid "Line2D node to draw textured 2D lines." msgstr "" -#: ../../docs/about/list_of_features.rst:106 +#: ../../docs/about/list_of_features.rst:124 msgid "2D physics" msgstr "" -#: ../../docs/about/list_of_features.rst:108 -#: ../../docs/about/list_of_features.rst:240 +#: ../../docs/about/list_of_features.rst:126 +#: ../../docs/about/list_of_features.rst:262 msgid "**Physics bodies:**" msgstr "" -#: ../../docs/about/list_of_features.rst:110 -#: ../../docs/about/list_of_features.rst:242 +#: ../../docs/about/list_of_features.rst:128 +#: ../../docs/about/list_of_features.rst:264 msgid "Static bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:111 -#: ../../docs/about/list_of_features.rst:243 +#: ../../docs/about/list_of_features.rst:129 +#: ../../docs/about/list_of_features.rst:265 msgid "Rigid bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:112 -#: ../../docs/about/list_of_features.rst:244 +#: ../../docs/about/list_of_features.rst:130 +#: ../../docs/about/list_of_features.rst:266 msgid "Kinematic bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:113 -#: ../../docs/about/list_of_features.rst:246 +#: ../../docs/about/list_of_features.rst:131 +#: ../../docs/about/list_of_features.rst:268 msgid "Joints." msgstr "" -#: ../../docs/about/list_of_features.rst:114 -#: ../../docs/about/list_of_features.rst:249 +#: ../../docs/about/list_of_features.rst:132 +#: ../../docs/about/list_of_features.rst:271 msgid "Areas to detect bodies entering or leaving it." msgstr "" -#: ../../docs/about/list_of_features.rst:116 -#: ../../docs/about/list_of_features.rst:251 +#: ../../docs/about/list_of_features.rst:134 +#: ../../docs/about/list_of_features.rst:273 msgid "**Collision detection:**" msgstr "" -#: ../../docs/about/list_of_features.rst:118 +#: ../../docs/about/list_of_features.rst:136 msgid "Built-in shapes: line, box, circle, capsule." msgstr "" -#: ../../docs/about/list_of_features.rst:119 +#: ../../docs/about/list_of_features.rst:137 msgid "" "Collision polygons (can be drawn manually or generated from a sprite in the " "editor)." msgstr "" -#: ../../docs/about/list_of_features.rst:122 +#: ../../docs/about/list_of_features.rst:140 msgid "3D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:128 +#: ../../docs/about/list_of_features.rst:146 msgid "HDR rendering with sRGB." msgstr "" -#: ../../docs/about/list_of_features.rst:131 +#: ../../docs/about/list_of_features.rst:149 msgid "LDR rendering for greater compatibility." msgstr "" -#: ../../docs/about/list_of_features.rst:132 +#: ../../docs/about/list_of_features.rst:150 msgid "" "Not all features are available. Features available only when using the " "OpenGL ES 3.0 renderer are marked *GLES3* below." msgstr "" -#: ../../docs/about/list_of_features.rst:135 +#: ../../docs/about/list_of_features.rst:153 msgid "**Camera:**" msgstr "" -#: ../../docs/about/list_of_features.rst:137 +#: ../../docs/about/list_of_features.rst:155 msgid "Perspective, orthographic and frustum-offset cameras." msgstr "" -#: ../../docs/about/list_of_features.rst:139 +#: ../../docs/about/list_of_features.rst:157 msgid "**Physically-based rendering:**" msgstr "" -#: ../../docs/about/list_of_features.rst:141 +#: ../../docs/about/list_of_features.rst:159 msgid "Follows the Disney PBR model." msgstr "" -#: ../../docs/about/list_of_features.rst:142 +#: ../../docs/about/list_of_features.rst:160 msgid "Uses a roughness-metallic workflow with support for ORM textures." msgstr "" -#: ../../docs/about/list_of_features.rst:143 +#: ../../docs/about/list_of_features.rst:161 msgid "Normal mapping." msgstr "" -#: ../../docs/about/list_of_features.rst:144 +#: ../../docs/about/list_of_features.rst:162 msgid "" "*GLES3:* Parallax/relief mapping with automatic level of detail based on " "distance." msgstr "" -#: ../../docs/about/list_of_features.rst:145 +#: ../../docs/about/list_of_features.rst:163 msgid "*GLES3:* Sub-surface scattering and transmittance." msgstr "" -#: ../../docs/about/list_of_features.rst:146 +#: ../../docs/about/list_of_features.rst:164 msgid "*GLES3:* Proximity fade (soft particles)." msgstr "" -#: ../../docs/about/list_of_features.rst:147 +#: ../../docs/about/list_of_features.rst:165 msgid "" "Distance fade which can use alpha blending or dithering to avoid going " "through the transparent pipeline." msgstr "" -#: ../../docs/about/list_of_features.rst:149 +#: ../../docs/about/list_of_features.rst:167 msgid "Dithering can be determined on a per-pixel or per-object basis." msgstr "" -#: ../../docs/about/list_of_features.rst:151 +#: ../../docs/about/list_of_features.rst:169 msgid "**Real-time lighting:**" msgstr "" -#: ../../docs/about/list_of_features.rst:153 +#: ../../docs/about/list_of_features.rst:171 msgid "Directional lights (sun/moon). Up to 4 per scene." msgstr "" -#: ../../docs/about/list_of_features.rst:154 +#: ../../docs/about/list_of_features.rst:172 msgid "Omnidirectional lights." msgstr "" -#: ../../docs/about/list_of_features.rst:155 +#: ../../docs/about/list_of_features.rst:173 msgid "Spot lights with adjustable cone angle and attenuation." msgstr "" -#: ../../docs/about/list_of_features.rst:157 +#: ../../docs/about/list_of_features.rst:175 msgid "**Shadow mapping:**" msgstr "" -#: ../../docs/about/list_of_features.rst:159 +#: ../../docs/about/list_of_features.rst:177 msgid "" "*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports " "blending between splits." msgstr "" -#: ../../docs/about/list_of_features.rst:161 +#: ../../docs/about/list_of_features.rst:179 msgid "" -"*OmniLight:* Dual parabolid (fast) or cubemap (slower but more accurate). " +"*OmniLight:* Dual paraboloid (fast) or cubemap (slower but more accurate). " "Supports colored projector textures in the form of panoramas." msgstr "" -#: ../../docs/about/list_of_features.rst:163 +#: ../../docs/about/list_of_features.rst:181 msgid "*SpotLight:* Single texture." msgstr "" -#: ../../docs/about/list_of_features.rst:165 +#: ../../docs/about/list_of_features.rst:183 msgid "**Global illumination with indirect lighting:**" msgstr "" -#: ../../docs/about/list_of_features.rst:167 +#: ../../docs/about/list_of_features.rst:185 msgid "Baked lightmaps (fast, but can't be updated at run-time)." msgstr "" -#: ../../docs/about/list_of_features.rst:168 +#: ../../docs/about/list_of_features.rst:187 msgid "Lightmaps are baked on the CPU." msgstr "" -#: ../../docs/about/list_of_features.rst:169 +#: ../../docs/about/list_of_features.rst:189 msgid "*GLES3:* GI probes (slower, semi-real-time). Supports reflections." msgstr "" -#: ../../docs/about/list_of_features.rst:171 +#: ../../docs/about/list_of_features.rst:191 msgid "**Reflections:**" msgstr "" -#: ../../docs/about/list_of_features.rst:173 +#: ../../docs/about/list_of_features.rst:193 msgid "*GLES3:* Voxel-based reflections (when using GI probes)." msgstr "" -#: ../../docs/about/list_of_features.rst:174 +#: ../../docs/about/list_of_features.rst:194 msgid "" "Fast baked reflections or slow real-time reflections using ReflectionProbe. " "Parallax correction can optionally be enabled." msgstr "" -#: ../../docs/about/list_of_features.rst:176 +#: ../../docs/about/list_of_features.rst:196 msgid "*GLES3:* Screen-space reflections." msgstr "" -#: ../../docs/about/list_of_features.rst:177 +#: ../../docs/about/list_of_features.rst:197 msgid "Reflection techniques can be mixed together for greater accuracy." msgstr "" -#: ../../docs/about/list_of_features.rst:179 +#: ../../docs/about/list_of_features.rst:199 msgid "**Sky:**" msgstr "" -#: ../../docs/about/list_of_features.rst:181 +#: ../../docs/about/list_of_features.rst:201 msgid "Panorama sky (using an HDRI)." msgstr "" -#: ../../docs/about/list_of_features.rst:182 +#: ../../docs/about/list_of_features.rst:202 msgid "Procedural sky." msgstr "" -#: ../../docs/about/list_of_features.rst:184 +#: ../../docs/about/list_of_features.rst:204 msgid "**Fog:**" msgstr "" -#: ../../docs/about/list_of_features.rst:186 +#: ../../docs/about/list_of_features.rst:206 msgid "Depth fog with an adjustable attenuation curve." msgstr "" -#: ../../docs/about/list_of_features.rst:187 +#: ../../docs/about/list_of_features.rst:207 msgid "Height fog (floor or ceiling) with adjustable attenuation." msgstr "" -#: ../../docs/about/list_of_features.rst:188 +#: ../../docs/about/list_of_features.rst:208 msgid "" "Support for automatic depth fog color depending on the camera direction (to " "match the sun color)." msgstr "" -#: ../../docs/about/list_of_features.rst:190 +#: ../../docs/about/list_of_features.rst:210 msgid "Optional transmittance to make lights more visible in the fog." msgstr "" -#: ../../docs/about/list_of_features.rst:192 +#: ../../docs/about/list_of_features.rst:212 msgid "**Particles:**" msgstr "" -#: ../../docs/about/list_of_features.rst:194 +#: ../../docs/about/list_of_features.rst:214 msgid "*GLES3:* GPU-based particles with support for custom particle shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:197 +#: ../../docs/about/list_of_features.rst:217 msgid "**Post-processing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:199 +#: ../../docs/about/list_of_features.rst:219 msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." msgstr "" -#: ../../docs/about/list_of_features.rst:200 +#: ../../docs/about/list_of_features.rst:220 msgid "*GLES3:* Automatic exposure adjustments based on viewport brightness." msgstr "" -#: ../../docs/about/list_of_features.rst:201 +#: ../../docs/about/list_of_features.rst:221 msgid "*GLES3:* Near and far depth of field." msgstr "" -#: ../../docs/about/list_of_features.rst:202 +#: ../../docs/about/list_of_features.rst:222 msgid "*GLES3:* Screen-space ambient occlusion." msgstr "" -#: ../../docs/about/list_of_features.rst:203 +#: ../../docs/about/list_of_features.rst:223 msgid "" "Glow/bloom with optional bicubic upscaling and several blend modes " "available: Screen, Soft Light, Add, Replace." msgstr "" -#: ../../docs/about/list_of_features.rst:205 +#: ../../docs/about/list_of_features.rst:225 msgid "Color correction using an one-dimensional ramp." msgstr "" -#: ../../docs/about/list_of_features.rst:206 +#: ../../docs/about/list_of_features.rst:226 msgid "Brightness, contrast and saturation adjustments." msgstr "" -#: ../../docs/about/list_of_features.rst:208 +#: ../../docs/about/list_of_features.rst:228 msgid "**Texture filtering:**" msgstr "" -#: ../../docs/about/list_of_features.rst:210 +#: ../../docs/about/list_of_features.rst:230 msgid "Nearest, bilinear, trilinear or anisotropic filtering." msgstr "" -#: ../../docs/about/list_of_features.rst:212 +#: ../../docs/about/list_of_features.rst:232 msgid "**Texture compression:**" msgstr "" -#: ../../docs/about/list_of_features.rst:214 +#: ../../docs/about/list_of_features.rst:234 msgid "*GLES3:* BPTC for high-quality compression (not supported on macOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:215 +#: ../../docs/about/list_of_features.rst:235 msgid "*GLES3:* ETC2 (not supported on macOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:216 +#: ../../docs/about/list_of_features.rst:236 msgid "ETC1 (recommended when using the GLES2 renderer)." msgstr "" -#: ../../docs/about/list_of_features.rst:217 +#: ../../docs/about/list_of_features.rst:237 msgid "*GLES3:* S3TC (not supported on mobile/Web platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:219 +#: ../../docs/about/list_of_features.rst:239 msgid "**Anti-aliasing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:221 +#: ../../docs/about/list_of_features.rst:241 msgid "Multi-sample antialiasing (MSAA)." msgstr "" -#: ../../docs/about/list_of_features.rst:223 +#: ../../docs/about/list_of_features.rst:243 msgid "" "Most of these effects can be adjusted for better performance or to further " "improve quality. This can be helpful when using Godot for offline rendering." msgstr "" -#: ../../docs/about/list_of_features.rst:227 +#: ../../docs/about/list_of_features.rst:247 msgid "3D tools" msgstr "" -#: ../../docs/about/list_of_features.rst:229 +#: ../../docs/about/list_of_features.rst:249 msgid "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad." msgstr "" -#: ../../docs/about/list_of_features.rst:230 +#: ../../docs/about/list_of_features.rst:250 msgid "" "Tools for :ref:`procedural geometry generation `." msgstr "" -#: ../../docs/about/list_of_features.rst:231 +#: ../../docs/about/list_of_features.rst:251 msgid "" ":ref:`Constructive solid geometry ` (intended for " "prototyping)." msgstr "" -#: ../../docs/about/list_of_features.rst:233 +#: ../../docs/about/list_of_features.rst:252 msgid "Path3D node to represent a path in 3D space." msgstr "" -#: ../../docs/about/list_of_features.rst:234 +#: ../../docs/about/list_of_features.rst:255 msgid "PathFollow3D node to make nodes follow a Path3D." msgstr "" -#: ../../docs/about/list_of_features.rst:235 +#: ../../docs/about/list_of_features.rst:257 msgid "3D geometry helper class." msgstr "" -#: ../../docs/about/list_of_features.rst:238 +#: ../../docs/about/list_of_features.rst:260 msgid "3D physics" msgstr "" -#: ../../docs/about/list_of_features.rst:245 +#: ../../docs/about/list_of_features.rst:267 msgid "Vehicle bodies (intended for arcade physics, not simulation)." msgstr "" -#: ../../docs/about/list_of_features.rst:247 +#: ../../docs/about/list_of_features.rst:269 msgid "Soft bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:248 +#: ../../docs/about/list_of_features.rst:270 msgid "Ragdolls." msgstr "" -#: ../../docs/about/list_of_features.rst:253 +#: ../../docs/about/list_of_features.rst:275 msgid "" "Built-in shapes: cuboid, sphere, capsule, cylinder (only with Bullet " "physics)." msgstr "" -#: ../../docs/about/list_of_features.rst:254 +#: ../../docs/about/list_of_features.rst:276 msgid "Generate triangle collision shapes for any mesh from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:255 +#: ../../docs/about/list_of_features.rst:277 msgid "" "Generate one or several convex collision shapes for any mesh from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:258 +#: ../../docs/about/list_of_features.rst:280 #: ../../docs/tutorials/shading/shading_reference/shaders.rst:4 msgid "Shaders" msgstr "" -#: ../../docs/about/list_of_features.rst:260 +#: ../../docs/about/list_of_features.rst:282 msgid "*2D:* Custom vertex, fragment, and light shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:261 +#: ../../docs/about/list_of_features.rst:283 msgid "*3D:* Custom vertex, fragment, light, and sky shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:262 +#: ../../docs/about/list_of_features.rst:284 msgid "" "Text-based shaders using a `shader language inspired by GLSL " "`." msgstr "" -#: ../../docs/about/list_of_features.rst:264 +#: ../../docs/about/list_of_features.rst:285 msgid "Visual shader editor." msgstr "" -#: ../../docs/about/list_of_features.rst:264 +#: ../../docs/about/list_of_features.rst:287 msgid "Support for visual shader plugins." msgstr "" -#: ../../docs/about/list_of_features.rst:267 +#: ../../docs/about/list_of_features.rst:290 #: ../../docs/about/docs_changelog.rst:113 #: ../../docs/getting_started/step_by_step/scripting.rst:4 #: ../../docs/getting_started/scripting/index.rst:2 @@ -1792,600 +1792,603 @@ msgstr "" msgid "Scripting" msgstr "" -#: ../../docs/about/list_of_features.rst:269 +#: ../../docs/about/list_of_features.rst:292 msgid "**General:**" msgstr "" -#: ../../docs/about/list_of_features.rst:271 +#: ../../docs/about/list_of_features.rst:294 msgid "Object-oriented design pattern with scripts extending nodes." msgstr "" -#: ../../docs/about/list_of_features.rst:272 +#: ../../docs/about/list_of_features.rst:295 msgid "Signals and groups for communicating between scripts." msgstr "" -#: ../../docs/about/list_of_features.rst:273 +#: ../../docs/about/list_of_features.rst:296 msgid "" "Support for :ref:`cross-language scripting `." msgstr "" -#: ../../docs/about/list_of_features.rst:274 +#: ../../docs/about/list_of_features.rst:297 msgid "" "Many 2D and 3D linear algebra data types such as vectors and transforms." msgstr "" -#: ../../docs/about/list_of_features.rst:276 +#: ../../docs/about/list_of_features.rst:299 msgid ":ref:`GDScript: `" msgstr "" -#: ../../docs/about/list_of_features.rst:278 +#: ../../docs/about/list_of_features.rst:301 msgid "" ":ref:`High-level interpreted language ` with :ref:`optional " "static typing `." msgstr "" -#: ../../docs/about/list_of_features.rst:280 +#: ../../docs/about/list_of_features.rst:303 msgid "Syntax inspired by Python." msgstr "" -#: ../../docs/about/list_of_features.rst:281 +#: ../../docs/about/list_of_features.rst:304 msgid "Syntax highlighting is provided on GitHub." msgstr "" -#: ../../docs/about/list_of_features.rst:282 +#: ../../docs/about/list_of_features.rst:305 msgid "" ":ref:`Use threads ` to perform asynchronous " "actions or make use of multiple processor cores." msgstr "" -#: ../../docs/about/list_of_features.rst:285 +#: ../../docs/about/list_of_features.rst:308 msgid ":ref:`C#: `" msgstr "" -#: ../../docs/about/list_of_features.rst:287 +#: ../../docs/about/list_of_features.rst:310 msgid "Packaged in a separate binary to keep file sizes and dependencies down." msgstr "" -#: ../../docs/about/list_of_features.rst:288 +#: ../../docs/about/list_of_features.rst:311 msgid "Uses Mono 6.x." msgstr "" -#: ../../docs/about/list_of_features.rst:289 +#: ../../docs/about/list_of_features.rst:313 msgid "Full support for the C# 7.0 syntax and features." msgstr "" -#: ../../docs/about/list_of_features.rst:290 +#: ../../docs/about/list_of_features.rst:315 msgid "Supports all platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:291 +#: ../../docs/about/list_of_features.rst:316 msgid "" "Using an external editor is recommended to benefit from IDE functionality." msgstr "" -#: ../../docs/about/list_of_features.rst:293 +#: ../../docs/about/list_of_features.rst:318 msgid ":ref:`VisualScript: `" msgstr "" -#: ../../docs/about/list_of_features.rst:295 +#: ../../docs/about/list_of_features.rst:320 msgid "" ":ref:`Graph-based visual scripting language `." msgstr "" -#: ../../docs/about/list_of_features.rst:296 +#: ../../docs/about/list_of_features.rst:321 msgid "" "Works best when used for specific purposes (such as level-specific logic) " "rather than as a language to create entire projects." msgstr "" -#: ../../docs/about/list_of_features.rst:299 +#: ../../docs/about/list_of_features.rst:324 msgid "**GDNative (C, C++, Rust, D, ...):**" msgstr "" -#: ../../docs/about/list_of_features.rst:302 +#: ../../docs/about/list_of_features.rst:326 msgid "" "When you need it, link to native libraries for higher performance and third-" "party integrations." msgstr "" -#: ../../docs/about/list_of_features.rst:302 +#: ../../docs/about/list_of_features.rst:328 msgid "" "For scripting game logic, GDScript or C# are recommended if their " "performance is suitable." msgstr "" -#: ../../docs/about/list_of_features.rst:304 +#: ../../docs/about/list_of_features.rst:331 msgid "Official bindings for C and C++." msgstr "" -#: ../../docs/about/list_of_features.rst:305 +#: ../../docs/about/list_of_features.rst:333 msgid "Use any build system and language features you wish." msgstr "" -#: ../../docs/about/list_of_features.rst:306 +#: ../../docs/about/list_of_features.rst:335 msgid "" "Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the " "community." msgstr "" -#: ../../docs/about/list_of_features.rst:309 +#: ../../docs/about/list_of_features.rst:338 #: ../../docs/about/docs_changelog.rst:28 #: ../../docs/tutorials/audio/index.rst:2 msgid "Audio" msgstr "" -#: ../../docs/about/list_of_features.rst:313 +#: ../../docs/about/list_of_features.rst:342 msgid "Mono, stereo, 5.1 and 7.1 output." msgstr "" -#: ../../docs/about/list_of_features.rst:314 +#: ../../docs/about/list_of_features.rst:343 msgid "Non-positional and positional playback in 2D and 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:315 +#: ../../docs/about/list_of_features.rst:345 msgid "Optional Doppler effect in 2D and 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:316 +#: ../../docs/about/list_of_features.rst:347 msgid "" -"Support for re-routable :ref:`audio buses ` and effects." +"Support for re-routable :ref:`audio buses ` and effects " +"with dozens of effects included." msgstr "" -#: ../../docs/about/list_of_features.rst:317 -msgid "Dozens of effects included." -msgstr "" - -#: ../../docs/about/list_of_features.rst:318 +#: ../../docs/about/list_of_features.rst:349 msgid "" "Listener3D node to listen from a position different than the camera in 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:319 +#: ../../docs/about/list_of_features.rst:350 msgid "Audio input to record microphones." msgstr "" -#: ../../docs/about/list_of_features.rst:321 +#: ../../docs/about/list_of_features.rst:351 msgid "MIDI input." msgstr "" -#: ../../docs/about/list_of_features.rst:321 +#: ../../docs/about/list_of_features.rst:353 msgid "No support for MIDI output yet." msgstr "" -#: ../../docs/about/list_of_features.rst:323 +#: ../../docs/about/list_of_features.rst:355 msgid "**APIs used:**" msgstr "" -#: ../../docs/about/list_of_features.rst:325 +#: ../../docs/about/list_of_features.rst:357 msgid "*Windows:* WASAPI." msgstr "" -#: ../../docs/about/list_of_features.rst:326 +#: ../../docs/about/list_of_features.rst:358 msgid "*macOS:* CoreAudio." msgstr "" -#: ../../docs/about/list_of_features.rst:327 +#: ../../docs/about/list_of_features.rst:359 msgid "*Linux:* PulseAudio or ALSA." msgstr "" -#: ../../docs/about/list_of_features.rst:330 +#: ../../docs/about/list_of_features.rst:362 msgid "Import" msgstr "" -#: ../../docs/about/list_of_features.rst:332 +#: ../../docs/about/list_of_features.rst:364 msgid "Support for :ref:`custom import plugins `." msgstr "" -#: ../../docs/about/list_of_features.rst:334 +#: ../../docs/about/list_of_features.rst:366 msgid "**Formats:**" msgstr "" -#: ../../docs/about/list_of_features.rst:336 -msgid "*Images:* See :ref:`doc_importing_images_supported_formats`." +#: ../../docs/about/list_of_features.rst:368 +msgid "*Images:* See :ref:`doc_import_images`." msgstr "" -#: ../../docs/about/list_of_features.rst:338 +#: ../../docs/about/list_of_features.rst:369 msgid "*Audio:*" msgstr "" -#: ../../docs/about/list_of_features.rst:338 +#: ../../docs/about/list_of_features.rst:371 msgid "WAV with optional IMA-ADPCM compression." msgstr "" -#: ../../docs/about/list_of_features.rst:339 +#: ../../docs/about/list_of_features.rst:372 msgid "Ogg Vorbis." msgstr "" -#: ../../docs/about/list_of_features.rst:346 +#: ../../docs/about/list_of_features.rst:374 msgid "*3D scenes:*" msgstr "" -#: ../../docs/about/list_of_features.rst:341 +#: ../../docs/about/list_of_features.rst:376 msgid "glTF 2.0 *(recommended)*." msgstr "" -#: ../../docs/about/list_of_features.rst:342 +#: ../../docs/about/list_of_features.rst:377 msgid "" "`ESCN `__ (direct " "export from Blender)." msgstr "" -#: ../../docs/about/list_of_features.rst:344 +#: ../../docs/about/list_of_features.rst:379 msgid "FBX (experimental)." msgstr "" -#: ../../docs/about/list_of_features.rst:345 +#: ../../docs/about/list_of_features.rst:380 msgid "Collada (.dae)." msgstr "" -#: ../../docs/about/list_of_features.rst:346 +#: ../../docs/about/list_of_features.rst:381 msgid "Wavefront OBJ (static scenes only, can be loaded directly as a mesh)." msgstr "" -#: ../../docs/about/list_of_features.rst:349 +#: ../../docs/about/list_of_features.rst:384 #: ../../docs/tutorials/gui/custom_gui_controls.rst:112 #: ../../docs/tutorials/viewports/viewports.rst:38 msgid "Input" msgstr "" -#: ../../docs/about/list_of_features.rst:352 +#: ../../docs/about/list_of_features.rst:386 msgid "" "Input mapping system using hardcoded input events or remappable input " "actions." msgstr "" -#: ../../docs/about/list_of_features.rst:352 +#: ../../docs/about/list_of_features.rst:388 msgid "" "Axis values can be mapped to two different actions with a configurable " "deadzone." msgstr "" -#: ../../docs/about/list_of_features.rst:353 +#: ../../docs/about/list_of_features.rst:389 msgid "Use the same code to support both keyboards and gamepads." msgstr "" -#: ../../docs/about/list_of_features.rst:354 +#: ../../docs/about/list_of_features.rst:391 msgid "Keyboard input." msgstr "" -#: ../../docs/about/list_of_features.rst:357 +#: ../../docs/about/list_of_features.rst:393 +msgid "" +"Keys can be mapped in \"physical\" mode to be independent of the keyboard " +"layout." +msgstr "" + +#: ../../docs/about/list_of_features.rst:395 msgid "Mouse input." msgstr "" -#: ../../docs/about/list_of_features.rst:356 +#: ../../docs/about/list_of_features.rst:397 msgid "" "The mouse cursor can be visible, hidden, captured or confined within the " "window." msgstr "" -#: ../../docs/about/list_of_features.rst:357 +#: ../../docs/about/list_of_features.rst:398 msgid "" "When captured, raw input will be used on Windows and Linux to sidestep the " "OS' mouse acceleration settings." msgstr "" -#: ../../docs/about/list_of_features.rst:359 +#: ../../docs/about/list_of_features.rst:401 msgid "Gamepad input (up to 8 simulatenous controllers)." msgstr "" -#: ../../docs/about/list_of_features.rst:360 +#: ../../docs/about/list_of_features.rst:402 msgid "Pen/tablet input with pressure support." msgstr "" -#: ../../docs/about/list_of_features.rst:363 +#: ../../docs/about/list_of_features.rst:405 msgid "Navigation" msgstr "" -#: ../../docs/about/list_of_features.rst:365 +#: ../../docs/about/list_of_features.rst:407 msgid "A* algorithm in 2D and 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:366 +#: ../../docs/about/list_of_features.rst:408 msgid "Navigation meshes." msgstr "" -#: ../../docs/about/list_of_features.rst:367 +#: ../../docs/about/list_of_features.rst:409 msgid "Support for dynamic obstacle avoidance planned in Godot 4.0." msgstr "" -#: ../../docs/about/list_of_features.rst:368 +#: ../../docs/about/list_of_features.rst:410 msgid "Generate navigation meshes from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:371 +#: ../../docs/about/list_of_features.rst:413 #: ../../docs/about/docs_changelog.rst:60 #: ../../docs/tutorials/networking/index.rst:2 msgid "Networking" msgstr "" -#: ../../docs/about/list_of_features.rst:373 +#: ../../docs/about/list_of_features.rst:415 msgid "Low-level TCP networking using StreamPeer and TCP_Server." msgstr "" -#: ../../docs/about/list_of_features.rst:374 +#: ../../docs/about/list_of_features.rst:416 msgid "Low-level UDP networking using PacketPeer and UDPServer." msgstr "" -#: ../../docs/about/list_of_features.rst:375 +#: ../../docs/about/list_of_features.rst:417 msgid "Low-level HTTP requests using HTTPClient." msgstr "" -#: ../../docs/about/list_of_features.rst:376 +#: ../../docs/about/list_of_features.rst:418 msgid "High-level HTTP requests using HTTPRequest." msgstr "" -#: ../../docs/about/list_of_features.rst:377 +#: ../../docs/about/list_of_features.rst:420 msgid "Supports HTTPS out of the box using bundled certificates." msgstr "" -#: ../../docs/about/list_of_features.rst:379 +#: ../../docs/about/list_of_features.rst:422 msgid "High-level multiplayer API using UDP and ENet." msgstr "" -#: ../../docs/about/list_of_features.rst:379 +#: ../../docs/about/list_of_features.rst:424 msgid "Automatic replication using remote procedure calls (RPCs)." msgstr "" -#: ../../docs/about/list_of_features.rst:380 +#: ../../docs/about/list_of_features.rst:425 msgid "Supports unreliable, reliable and ordered transfers." msgstr "" -#: ../../docs/about/list_of_features.rst:381 +#: ../../docs/about/list_of_features.rst:427 msgid "WebSocket client and server, available on all platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:382 +#: ../../docs/about/list_of_features.rst:428 msgid "WebRTC client and server, available on all platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:383 +#: ../../docs/about/list_of_features.rst:429 msgid "" "Support for UPnP to sidestep the requirement to forward ports when hosting a " "server behind a NAT." msgstr "" -#: ../../docs/about/list_of_features.rst:387 +#: ../../docs/about/list_of_features.rst:433 #: ../../docs/about/docs_changelog.rst:45 ../../docs/tutorials/i18n/index.rst:2 msgid "Internationalization" msgstr "" -#: ../../docs/about/list_of_features.rst:389 +#: ../../docs/about/list_of_features.rst:435 msgid "Full support for Unicode including emoji." msgstr "" -#: ../../docs/about/list_of_features.rst:390 +#: ../../docs/about/list_of_features.rst:436 msgid "" "Store localization strings using :ref:`CSV ` " "or :ref:`gettext `." msgstr "" -#: ../../docs/about/list_of_features.rst:392 +#: ../../docs/about/list_of_features.rst:438 msgid "" "Use localized strings in your project automatically in GUI elements or by " "using the ``tr()`` function." msgstr "" -#: ../../docs/about/list_of_features.rst:394 +#: ../../docs/about/list_of_features.rst:440 msgid "" "Support for right-to-left typesetting and text shaping planned in Godot 4.0." msgstr "" -#: ../../docs/about/list_of_features.rst:397 +#: ../../docs/about/list_of_features.rst:443 msgid "Windowing and OS integration" msgstr "" -#: ../../docs/about/list_of_features.rst:399 +#: ../../docs/about/list_of_features.rst:445 msgid "Move, resize, minimize, and maximize the window spawned by the project." msgstr "" -#: ../../docs/about/list_of_features.rst:400 +#: ../../docs/about/list_of_features.rst:446 msgid "Change the window title and icon." msgstr "" -#: ../../docs/about/list_of_features.rst:401 +#: ../../docs/about/list_of_features.rst:447 msgid "" "Request attention (will cause the title bar to blink on most platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:403 +#: ../../docs/about/list_of_features.rst:448 msgid "Fullscreen mode." msgstr "" -#: ../../docs/about/list_of_features.rst:403 +#: ../../docs/about/list_of_features.rst:450 msgid "" "Doesn't use exclusive fullscreen, so the screen resolution can't be changed " "this way. Use a Viewport with a different resolution instead." msgstr "" -#: ../../docs/about/list_of_features.rst:405 +#: ../../docs/about/list_of_features.rst:453 msgid "Borderless window (fullscreen or non-fullscreen)." msgstr "" -#: ../../docs/about/list_of_features.rst:406 +#: ../../docs/about/list_of_features.rst:454 msgid "Ability to keep the window always on top." msgstr "" -#: ../../docs/about/list_of_features.rst:407 +#: ../../docs/about/list_of_features.rst:455 msgid "Transparent window with per-pixel transparency." msgstr "" -#: ../../docs/about/list_of_features.rst:408 +#: ../../docs/about/list_of_features.rst:456 msgid "Global menu integration on macOS." msgstr "" -#: ../../docs/about/list_of_features.rst:409 +#: ../../docs/about/list_of_features.rst:457 msgid "Execute commands in a blocking or non-blocking manner." msgstr "" -#: ../../docs/about/list_of_features.rst:410 +#: ../../docs/about/list_of_features.rst:458 msgid "" "Open file paths and URLs using default or custom protocol handlers (if " "registered on the system)." msgstr "" -#: ../../docs/about/list_of_features.rst:411 +#: ../../docs/about/list_of_features.rst:459 msgid "Parse custom command line arguments." msgstr "" -#: ../../docs/about/list_of_features.rst:414 +#: ../../docs/about/list_of_features.rst:462 msgid "Mobile" msgstr "" -#: ../../docs/about/list_of_features.rst:416 +#: ../../docs/about/list_of_features.rst:464 msgid "In-app purchases on Android and iOS." msgstr "" -#: ../../docs/about/list_of_features.rst:417 +#: ../../docs/about/list_of_features.rst:465 msgid "Support for advertisements using third-party modules." msgstr "" -#: ../../docs/about/list_of_features.rst:420 +#: ../../docs/about/list_of_features.rst:468 msgid "XR support (AR and VR)" msgstr "" -#: ../../docs/about/list_of_features.rst:422 +#: ../../docs/about/list_of_features.rst:470 msgid "Support for ARKit on iOS out of the box." msgstr "" -#: ../../docs/about/list_of_features.rst:423 +#: ../../docs/about/list_of_features.rst:471 msgid "Support for the OpenXR and OpenVR APIs." msgstr "" -#: ../../docs/about/list_of_features.rst:424 +#: ../../docs/about/list_of_features.rst:472 msgid "" "Popular VR headsets like the Oculus Quest and HTC Vive are supported thanks " "to plugins." msgstr "" -#: ../../docs/about/list_of_features.rst:427 +#: ../../docs/about/list_of_features.rst:475 msgid "GUI system" msgstr "" -#: ../../docs/about/list_of_features.rst:429 +#: ../../docs/about/list_of_features.rst:477 msgid "" "Godot's GUI is built using the same Control nodes used to make games in " "Godot. The editor UI can easily be extended in many ways using add-ons." msgstr "" -#: ../../docs/about/list_of_features.rst:432 +#: ../../docs/about/list_of_features.rst:480 msgid "**Nodes:**" msgstr "" -#: ../../docs/about/list_of_features.rst:434 +#: ../../docs/about/list_of_features.rst:482 msgid "Buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:435 +#: ../../docs/about/list_of_features.rst:483 msgid "Checkboxes, check buttons, radio buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:436 +#: ../../docs/about/list_of_features.rst:484 msgid "Text entry using LineEdit (single line) and TextEdit (multiple lines)." msgstr "" -#: ../../docs/about/list_of_features.rst:437 +#: ../../docs/about/list_of_features.rst:485 msgid "Dropdown menus using PopupMenu and OptionButton." msgstr "" -#: ../../docs/about/list_of_features.rst:438 +#: ../../docs/about/list_of_features.rst:486 msgid "Scrollbars." msgstr "" -#: ../../docs/about/list_of_features.rst:439 +#: ../../docs/about/list_of_features.rst:487 msgid "Labels." msgstr "" -#: ../../docs/about/list_of_features.rst:440 +#: ../../docs/about/list_of_features.rst:488 msgid "" "RichTextLabel for :ref:`text formatted using BBCode " "`." msgstr "" -#: ../../docs/about/list_of_features.rst:441 +#: ../../docs/about/list_of_features.rst:489 msgid "Trees (can also be used to represent tables)." msgstr "" -#: ../../docs/about/list_of_features.rst:442 +#: ../../docs/about/list_of_features.rst:490 msgid "" "Containers (horizontal, vertical, grid, center, margin, draggable " "splitter, ...)." msgstr "" -#: ../../docs/about/list_of_features.rst:443 +#: ../../docs/about/list_of_features.rst:491 msgid "Controls can be rotated and scaled." msgstr "" -#: ../../docs/about/list_of_features.rst:445 +#: ../../docs/about/list_of_features.rst:493 msgid "**Sizing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:447 +#: ../../docs/about/list_of_features.rst:495 msgid "Anchors to keep GUI elements in a specific corner, edge or centered." msgstr "" -#: ../../docs/about/list_of_features.rst:452 +#: ../../docs/about/list_of_features.rst:496 msgid "Containers to place GUI elements automatically following certain rules." msgstr "" -#: ../../docs/about/list_of_features.rst:449 +#: ../../docs/about/list_of_features.rst:498 msgid ":ref:`Stack ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:450 +#: ../../docs/about/list_of_features.rst:499 msgid ":ref:`Grid ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:451 +#: ../../docs/about/list_of_features.rst:500 msgid "" ":ref:`Margin ` and :ref:`centered " "` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:453 +#: ../../docs/about/list_of_features.rst:502 msgid ":ref:`Draggable splitter ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:454 +#: ../../docs/about/list_of_features.rst:504 msgid "" "Scale to multiple resolutions using the ``2d`` or ``viewport`` stretch modes." msgstr "" -#: ../../docs/about/list_of_features.rst:455 +#: ../../docs/about/list_of_features.rst:505 msgid "" "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" -#: ../../docs/about/list_of_features.rst:457 +#: ../../docs/about/list_of_features.rst:507 msgid "**Theming:**" msgstr "" -#: ../../docs/about/list_of_features.rst:459 +#: ../../docs/about/list_of_features.rst:509 msgid "Built-in theme editor." msgstr "" -#: ../../docs/about/list_of_features.rst:460 +#: ../../docs/about/list_of_features.rst:511 msgid "Generate a theme based on the current editor theme settings." msgstr "" -#: ../../docs/about/list_of_features.rst:461 +#: ../../docs/about/list_of_features.rst:513 msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" -#: ../../docs/about/list_of_features.rst:462 +#: ../../docs/about/list_of_features.rst:515 msgid "Supports rounded/beveled corners, drop shadows and per-border widths." msgstr "" -#: ../../docs/about/list_of_features.rst:463 +#: ../../docs/about/list_of_features.rst:517 msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." msgstr "" -#: ../../docs/about/list_of_features.rst:465 +#: ../../docs/about/list_of_features.rst:519 msgid "" "Godot's small distribution size can make it a suitable alternative to " "frameworks like Electron or Qt." msgstr "" -#: ../../docs/about/list_of_features.rst:469 +#: ../../docs/about/list_of_features.rst:523 #: ../../docs/about/docs_changelog.rst:153 #: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:2 #: ../../docs/tutorials/animation/index.rst:2 @@ -2393,147 +2396,147 @@ msgstr "" msgid "Animation" msgstr "" -#: ../../docs/about/list_of_features.rst:471 +#: ../../docs/about/list_of_features.rst:525 msgid "Direct kinematics and inverse kinematics." msgstr "" -#: ../../docs/about/list_of_features.rst:472 +#: ../../docs/about/list_of_features.rst:526 msgid "Support for animating any property with customizable interpolation." msgstr "" -#: ../../docs/about/list_of_features.rst:473 +#: ../../docs/about/list_of_features.rst:527 msgid "Support for calling methods in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:474 +#: ../../docs/about/list_of_features.rst:528 msgid "Support for playing sounds in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:475 +#: ../../docs/about/list_of_features.rst:529 msgid "Support for Bézier curves in animation." msgstr "" -#: ../../docs/about/list_of_features.rst:478 +#: ../../docs/about/list_of_features.rst:532 msgid "Formats" msgstr "" -#: ../../docs/about/list_of_features.rst:481 +#: ../../docs/about/list_of_features.rst:534 msgid "" "Scenes and resources can be saved in :ref:`text-based " "` or binary formats." msgstr "" -#: ../../docs/about/list_of_features.rst:481 +#: ../../docs/about/list_of_features.rst:536 msgid "" "Text-based formats are human-readable and more friendly to version control." msgstr "" -#: ../../docs/about/list_of_features.rst:482 +#: ../../docs/about/list_of_features.rst:537 msgid "Binary formats are faster to save/load for large scenes/resources." msgstr "" -#: ../../docs/about/list_of_features.rst:483 +#: ../../docs/about/list_of_features.rst:539 msgid "Read and write text or binary files using :ref:`class_File`." msgstr "" -#: ../../docs/about/list_of_features.rst:484 +#: ../../docs/about/list_of_features.rst:541 msgid "Can optionally be compressed or encrypted." msgstr "" -#: ../../docs/about/list_of_features.rst:485 +#: ../../docs/about/list_of_features.rst:543 msgid "Read and write :ref:`class_JSON` files." msgstr "" -#: ../../docs/about/list_of_features.rst:486 +#: ../../docs/about/list_of_features.rst:544 msgid "" "Read and write INI-style configuration files using :ref:`class_ConfigFile`." msgstr "" -#: ../../docs/about/list_of_features.rst:487 +#: ../../docs/about/list_of_features.rst:546 msgid "Can (de)serialize any Godot datatype, including Vector, Color, ..." msgstr "" -#: ../../docs/about/list_of_features.rst:488 +#: ../../docs/about/list_of_features.rst:548 msgid "Read XML files using :ref:`class_XMLParser`." msgstr "" -#: ../../docs/about/list_of_features.rst:489 +#: ../../docs/about/list_of_features.rst:549 msgid "" "Pack game data into a PCK file (custom format optimized for fast seeking), " "into a ZIP archive, or directly into the executable for single-file " "distribution." msgstr "" -#: ../../docs/about/list_of_features.rst:491 +#: ../../docs/about/list_of_features.rst:551 msgid "" ":ref:`Export additional PCK files` that can be read by " "the engine to support mods and DLCs." msgstr "" -#: ../../docs/about/list_of_features.rst:495 +#: ../../docs/about/list_of_features.rst:555 #: ../../docs/about/docs_changelog.rst:206 #: ../../docs/tutorials/misc/index.rst:2 msgid "Miscellaneous" msgstr "" -#: ../../docs/about/list_of_features.rst:497 +#: ../../docs/about/list_of_features.rst:557 msgid "" ":ref:`Low-level access to servers ` which allows " "bypassing the scene tree's overhead when needed." msgstr "" -#: ../../docs/about/list_of_features.rst:501 +#: ../../docs/about/list_of_features.rst:559 msgid "Command line interface for automation." msgstr "" -#: ../../docs/about/list_of_features.rst:500 +#: ../../docs/about/list_of_features.rst:561 msgid "Export and deploy projects using continuous integration platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:501 +#: ../../docs/about/list_of_features.rst:562 msgid "" "`Completion scripts `__ are available for Bash, zsh and fish." msgstr "" -#: ../../docs/about/list_of_features.rst:503 +#: ../../docs/about/list_of_features.rst:565 msgid "" "Support for :ref:`C++ modules ` statically linked " "into the engine binary." msgstr "" -#: ../../docs/about/list_of_features.rst:510 +#: ../../docs/about/list_of_features.rst:567 msgid "Engine and editor written in C++03." msgstr "" -#: ../../docs/about/list_of_features.rst:506 +#: ../../docs/about/list_of_features.rst:569 msgid "" "Can be :ref:`compiled ` using GCC, " "Clang and MSVC. MinGW is also supported." msgstr "" -#: ../../docs/about/list_of_features.rst:508 +#: ../../docs/about/list_of_features.rst:571 msgid "" -"Friendly towards packagers: in most cases, system libraries can be used " +"Friendly towards packagers. In most cases, system libraries can be used " "instead of the ones provided by Godot. The build system doesn't download " "anything. Builds can be fully reproducible." msgstr "" -#: ../../docs/about/list_of_features.rst:511 +#: ../../docs/about/list_of_features.rst:574 msgid "Godot 4.0 will be written in C++17." msgstr "" -#: ../../docs/about/list_of_features.rst:513 +#: ../../docs/about/list_of_features.rst:576 msgid "Licensed under the permissive MIT license." msgstr "" -#: ../../docs/about/list_of_features.rst:513 +#: ../../docs/about/list_of_features.rst:578 msgid "" "Open developement process with :ref:`contributions welcome " "`." msgstr "" -#: ../../docs/about/list_of_features.rst:517 +#: ../../docs/about/list_of_features.rst:582 #: ../../docs/about/release_policy.rst:82 msgid "" "The `roadmap `__ repository " @@ -3489,6 +3492,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/step_by_step/scenes_and_nodes.rst:55 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:49 msgid "Scenes" msgstr "" @@ -3844,11 +3848,12 @@ msgid "" "You can also adjust individual instances. Set the bounce value back to ``0`` " "and then in the ``Main`` scene, select one of the instanced balls. Resources " "like ``PhysicsMaterial`` are shared between instances by default, so we need " -"to make it unique. Click on the down arrow and select \"Make Unique\". Set " -"its ``Bounce`` to ``1`` and press \"Play\"." +"to make it unique. Click on the tools button in the top-right of the " +"Inspector dock and select \"Make Sub-Resources Unique\". Set its ``Bounce`` " +"to ``1`` and press \"Play\"." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:110 +#: ../../docs/getting_started/step_by_step/instancing.rst:111 msgid "" "Notice that a grey \"revert\" button appears next to the adjusted property. " "When this button is present, it means you modified a property in the " @@ -3858,14 +3863,14 @@ msgid "" "saved scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:118 +#: ../../docs/getting_started/step_by_step/instancing.rst:119 #: ../../docs/getting_started/step_by_step/signals.rst:276 -#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:151 +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:205 #: ../../docs/tutorials/shading/your_first_shader/your_first_canvasitem_shader.rst:214 msgid "Conclusion" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:120 +#: ../../docs/getting_started/step_by_step/instancing.rst:121 msgid "" "Instancing can be useful when you want to create many copies of the same " "object. It is also possible to create instances in code by using GDScript, " @@ -4039,7 +4044,7 @@ msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:272 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:329 #: ../../docs/tutorials/optimization/cpu_optimization.rst:166 -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:107 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:113 msgid "GDScript" msgstr "" @@ -4218,96 +4223,103 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting.rst:107 msgid "" +"If you still have the \"instancing\" project open from the previous " +"tutorial, then close that out (Project -> Quit to Project List) and create a " +"New Project." +msgstr "" + +#: ../../docs/getting_started/step_by_step/scripting.rst:109 +msgid "" "Use the \"Add Child Node\" dialogue accessed from the Scene tab (or by " "pressing :kbd:`Ctrl + A`) to create a hierarchy with the following nodes:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:110 +#: ../../docs/getting_started/step_by_step/scripting.rst:112 msgid "Panel" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:112 +#: ../../docs/getting_started/step_by_step/scripting.rst:114 #: ../../docs/getting_started/step_by_step/ui_introduction_to_the_ui_system.rst:144 msgid "Label" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:113 +#: ../../docs/getting_started/step_by_step/scripting.rst:115 msgid "Button" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:115 +#: ../../docs/getting_started/step_by_step/scripting.rst:117 msgid "The scene tree should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:119 +#: ../../docs/getting_started/step_by_step/scripting.rst:121 msgid "" "Use the 2D editor to position and resize the Button and Label so that they " "look like the image below. You can set the text from the Inspector tab." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:124 +#: ../../docs/getting_started/step_by_step/scripting.rst:126 msgid "Finally, save the scene with a name such as ``sayhello.tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:129 +#: ../../docs/getting_started/step_by_step/scripting.rst:131 msgid "Adding a script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:131 +#: ../../docs/getting_started/step_by_step/scripting.rst:133 msgid "" "Right click on the Panel node, then select \"Attach Script\" from the " "context menu:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:136 +#: ../../docs/getting_started/step_by_step/scripting.rst:138 msgid "" "The script creation dialog will pop up. This dialog allows you to set the " "script's language, class name, and other relevant options." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:139 +#: ../../docs/getting_started/step_by_step/scripting.rst:141 msgid "" "In GDScript, the file itself represents the class, so the class name field " "is not editable." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:142 +#: ../../docs/getting_started/step_by_step/scripting.rst:144 msgid "" "The node we're attaching the script to is a panel, so the Inherits field " "will automatically be filled in with \"Panel\". This is what we want, as the " "script's goal is to extend the functionality of our panel node." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:146 +#: ../../docs/getting_started/step_by_step/scripting.rst:148 msgid "Finally, enter a path name for the script and select Create:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:150 +#: ../../docs/getting_started/step_by_step/scripting.rst:152 msgid "" "The script will then be created and added to the node. You can see this as " "an \"Open script\" icon next to the node in the Scene tab, as well as in the " "script property under Inspector:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:156 +#: ../../docs/getting_started/step_by_step/scripting.rst:158 msgid "" "To edit the script, select either of these buttons, both of which are " "highlighted in the above image. This will bring you to the script editor, " "where a default template will be included:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:161 +#: ../../docs/getting_started/step_by_step/scripting.rst:163 msgid "" "There's not much there. The ``_ready()`` function is called when the node, " "and all its children, enters the active scene. **Note:** ``_ready()`` is not " "the constructor; the constructor is instead ``_init()``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:166 +#: ../../docs/getting_started/step_by_step/scripting.rst:168 msgid "The role of the script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:168 +#: ../../docs/getting_started/step_by_step/scripting.rst:170 msgid "" "A script adds behavior to a node. It is used to control how the node " "functions as well as how it interacts with other nodes: children, parent, " @@ -4315,11 +4327,11 @@ msgid "" "words, the script inherits the functions provided by that node." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:179 +#: ../../docs/getting_started/step_by_step/scripting.rst:181 msgid "Handling a signal" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:181 +#: ../../docs/getting_started/step_by_step/scripting.rst:183 msgid "" "Signals are \"emitted\" when some specific kind of action happens, and they " "can be connected to any function of any script instance. Signals are used " @@ -4327,7 +4339,7 @@ msgid "" "define custom signals in your own scripts." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:186 +#: ../../docs/getting_started/step_by_step/scripting.rst:188 msgid "" "In this step, we'll connect the \"pressed\" signal to a custom function. " "Forming connections is the first part and defining the custom function is " @@ -4335,46 +4347,46 @@ msgid "" "connections: through a visual interface the editor provides or through code." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:191 +#: ../../docs/getting_started/step_by_step/scripting.rst:193 msgid "" "While we will use the code method for the remainder of this tutorial series, " "let's cover how the editor interface works for future reference." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:194 +#: ../../docs/getting_started/step_by_step/scripting.rst:196 msgid "" "Select the Button node in the scene tree and then select the \"Node\" tab. " "Next, make sure that you have \"Signals\" selected." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:199 +#: ../../docs/getting_started/step_by_step/scripting.rst:201 msgid "" "If you then select \"pressed()\" under \"BaseButton\" and click the " "\"Connect...\" button in the bottom right, you'll open up the connection " "creation dialogue." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:204 +#: ../../docs/getting_started/step_by_step/scripting.rst:206 msgid "" "The top of the dialogue displays a list of your scene's nodes with the " "emitting node's name highlighted in blue. Select the \"Panel\" node here." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:207 +#: ../../docs/getting_started/step_by_step/scripting.rst:209 msgid "" "The bottom of the dialogue shows the name of the method that will be " "created. By default, the method name will contain the emitting node's name " "(\"Button\" in this case), resulting in ``_on_[EmitterNode]_[signal_name]``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:211 +#: ../../docs/getting_started/step_by_step/scripting.rst:213 msgid "" "And that concludes the guide on how to use the visual interface. However, " "this is a scripting tutorial, so for the sake of learning, let's dive into " "the manual process!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:215 +#: ../../docs/getting_started/step_by_step/scripting.rst:217 msgid "" "To accomplish this, we will introduce a function that is probably the most " "used by Godot programmers: :ref:`Node.get_node() " @@ -4382,43 +4394,43 @@ msgid "" "anywhere in the scene, relative to the node that owns the script." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:220 +#: ../../docs/getting_started/step_by_step/scripting.rst:222 msgid "" "For the sake of convenience, delete everything underneath ``extends Panel``. " "You will fill out the rest of the script manually." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:223 +#: ../../docs/getting_started/step_by_step/scripting.rst:225 msgid "" "Because the Button and Label are siblings under the Panel where the script " "is attached, you can fetch the Button by typing the following underneath the " "``_ready()`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:240 +#: ../../docs/getting_started/step_by_step/scripting.rst:242 msgid "Next, write a function which will be called when the button is pressed:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:255 +#: ../../docs/getting_started/step_by_step/scripting.rst:257 msgid "" "Finally, connect the button's \"pressed\" signal to ``_on_Button_pressed()`` " "by using :ref:`Object.connect() `." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:271 +#: ../../docs/getting_started/step_by_step/scripting.rst:273 msgid "The final script should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:304 +#: ../../docs/getting_started/step_by_step/scripting.rst:306 msgid "" "Run the scene and press the button. You should get the following result:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:308 +#: ../../docs/getting_started/step_by_step/scripting.rst:310 msgid "Why, hello there! Congratulations on scripting your first scene." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:312 +#: ../../docs/getting_started/step_by_step/scripting.rst:314 msgid "" "A common misunderstanding regarding this tutorial is how ``get_node(path)`` " "works. For a given node, ``get_node(path)`` searches its immediate children. " @@ -4426,18 +4438,18 @@ msgid "" "Button were instead a child of Label, the code to obtain it would be:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:330 +#: ../../docs/getting_started/step_by_step/scripting.rst:332 msgid "Also, remember that nodes are referenced by name, not by type." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:334 +#: ../../docs/getting_started/step_by_step/scripting.rst:336 msgid "" "The 'advanced' panel of the connect dialogue is for binding specific values " "to the connected function's parameters. You can add and remove values of " "different types." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting.rst:338 +#: ../../docs/getting_started/step_by_step/scripting.rst:340 msgid "" "The code approach also enables this with a 4th ``Array`` parameter that is " "empty by default. Feel free to read up on the ``Object.connect`` method for " @@ -4650,7 +4662,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_continued.rst:345 -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:128 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:216 msgid "Instancing scenes" msgstr "" @@ -4722,8 +4734,8 @@ msgid "Signal" msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:7 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1329 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:484 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1337 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:531 #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:164 #: ../../docs/tutorials/plugins/gdnative/gdnative-cpp-example.rst:696 #: ../../docs/development/cpp/object_class.rst:219 @@ -5650,23 +5662,24 @@ msgstr "" msgid "" "Select the middle one (\"Add Point\") and draw the path by clicking to add " "the points at the corners shown. To have the points snap to the grid, make " -"sure \"Use Grid Snap\" is selected. This option can be found to the left of " -"the \"Lock\" button, appearing as a magnet next to some intersecting lines." +"sure \"Use Grid Snap\" and \"Use Snap\" are both selected. These options can " +"be found to the left of the \"Lock\" button, appearing as a magnet next to " +"some dots and intersecting lines, respectively." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:712 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:713 msgid "" "Draw the path in *clockwise* order, or your mobs will spawn pointing " "*outwards* instead of *inwards*!" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:717 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:718 msgid "" "After placing point ``4`` in the image, click the \"Close Curve\" button and " "your curve will be complete." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:720 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:721 msgid "" "Now that the path is defined, add a :ref:`PathFollow2D ` " "node as a child of ``MobPath`` and name it ``MobSpawnLocation``. This node " @@ -5674,49 +5687,49 @@ msgid "" "to select a random position and direction along the path." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:725 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:726 msgid "Your scene should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:730 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:731 msgid "Main script" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:732 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:733 msgid "" "Add a script to ``Main``. At the top of the script, we use ``export " "(PackedScene)`` to allow us to choose the Mob scene we want to instance." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:772 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:773 msgid "" "Click the ``Main`` node and you will see the ``Mob`` property in the " "Inspector under \"Script Variables\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:775 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:776 msgid "You can assign this property's value in two ways:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:777 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:778 msgid "" "Drag ``Mob.tscn`` from the \"FileSystem\" panel and drop it in the ``Mob`` " "property ." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:779 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:780 msgid "" "Click the down arrow next to \"[empty]\" and choose \"Load\". Select ``Mob." "tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:782 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:783 msgid "" "Next, select the ``Player`` node in the Scene dock, and access the Node dock " "on the sidebar. Make sure to have the Signals tab selected in the Node dock." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:785 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:786 msgid "" "You should see a list of the signals for the ``Player`` node. Find and " "double-click the ``hit`` signal in the list (or right-click it and select " @@ -5728,7 +5741,7 @@ msgid "" "will set everything up for a new game:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:826 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:827 msgid "" "Now connect the ``timeout()`` signal of each of the Timer nodes " "(``StartTimer``, ``ScoreTimer`` , and ``MobTimer``) to the main script. " @@ -5736,7 +5749,7 @@ msgid "" "increment the score by 1." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:853 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:854 msgid "" "In ``_on_MobTimer_timeout()``, we will create a mob instance, pick a random " "starting location along the ``Path2D``, and set the mob in motion. The " @@ -5744,52 +5757,52 @@ msgid "" "we will use that to select the mob's direction as well as its position." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:859 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:860 msgid "" "Note that a new instance must be added to the scene using ``add_child()``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:907 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:908 msgid "" "Why ``PI``? In functions requiring angles, GDScript uses *radians*, not " "degrees. If you're more comfortable working with degrees, you'll need to use " "the ``deg2rad()`` and ``rad2deg()`` functions to convert between the two." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:913 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:914 msgid "Testing the scene" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:915 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:916 msgid "" "Let's test the scene to make sure everything is working. Add this to " "``_ready()``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:932 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:933 msgid "" "Let's also assign ``Main`` as our \"Main Scene\" - the one that runs " "automatically when the game launches. Press the \"Play\" button and select " "``Main.tscn`` when prompted." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:936 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:937 msgid "" "You should be able to move the player around, see mobs spawning, and see the " "player disappear when hit by a mob." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:939 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:940 msgid "" "When you're sure everything is working, remove the call to ``new_game()`` " "from ``_ready()``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:943 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:944 msgid "HUD" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:945 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:946 msgid "" "The final piece our game needs is a UI: an interface to display things like " "score, a \"game over\" message, and a restart button. Create a new scene, " @@ -5798,57 +5811,57 @@ msgid "" "overlay on top of the game view." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:951 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:952 msgid "" "The :ref:`CanvasLayer ` node lets us draw our UI elements " "on a layer above the rest of the game, so that the information it displays " "isn't covered up by any game elements like the player or mobs." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:955 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:956 msgid "The HUD needs to display the following information:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:957 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:958 msgid "Score, changed by ``ScoreTimer``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:958 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:959 msgid "A message, such as \"Game Over\" or \"Get Ready!\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:959 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:960 msgid "A \"Start\" button to begin the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:961 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:962 msgid "" "The basic node for UI elements is :ref:`Control `. To create " "our UI, we'll use two types of :ref:`Control ` nodes: :ref:" "`Label ` and :ref:`Button `." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:965 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:966 msgid "Create the following as children of the ``HUD`` node:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:967 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:968 msgid ":ref:`Label ` named ``ScoreLabel``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:968 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:969 msgid ":ref:`Label ` named ``Message``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:969 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:970 msgid ":ref:`Button ` named ``StartButton``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:970 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:971 msgid ":ref:`Timer ` named ``MessageTimer``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:972 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:973 msgid "" "Click on the ``ScoreLabel`` and type a number into the ``Text`` field in the " "Inspector. The default font for ``Control`` nodes is small and doesn't scale " @@ -5856,25 +5869,25 @@ msgid "" "Regular.ttf\". To use this font, do the following:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:977 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:978 msgid "Under \"Custom Fonts\", choose \"New DynamicFont\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:981 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:982 msgid "" "Click on the \"DynamicFont\" you added, and under \"Font/Font Data\", choose " "\"Load\" and select the \"Xolonium-Regular.ttf\" file. You must also set the " "font's ``Size``. A setting of ``64`` works well." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:987 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:988 msgid "" "Once you've done this on the ``ScoreLabel``, you can click the down arrow " "next to the DynamicFont property and choose \"Copy\", then \"Paste\" it in " "the same place on the other two Control nodes." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:991 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:992 msgid "" "**Anchors and Margins:** ``Control`` nodes have a position and size, but " "they also have anchors and margins. Anchors define the origin - the " @@ -5884,105 +5897,105 @@ msgid "" "`doc_design_interfaces_with_the_control_nodes` for more details." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:998 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:999 msgid "" "Arrange the nodes as shown below. Click the \"Layout\" button to set a " "Control node's layout:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1003 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1004 msgid "" "You can drag the nodes to place them manually, or for more precise " "placement, use the following settings:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1007 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1008 msgid "ScoreLabel" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1009 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1010 msgid "*Layout* : \"Top Wide\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1010 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1011 msgid "*Text* : ``0``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1011 -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1018 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1012 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1019 msgid "*Align* : \"Center\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1014 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1015 msgid "Message" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1016 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1017 msgid "*Layout* : \"HCenter Wide\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1017 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1018 msgid "*Text* : ``Dodge the Creeps!``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1019 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1020 msgid "*Autowrap* : \"On\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1022 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1023 msgid "StartButton" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1024 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1025 msgid "*Text* : ``Start``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1025 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1026 msgid "*Layout* : \"Center Bottom\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1026 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1027 msgid "*Margin* :" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1028 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1029 msgid "Top: ``-200``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1029 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1030 msgid "Bottom: ``-100``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1031 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1032 msgid "" "On the ``MessageTimer``, set the ``Wait Time`` to ``2`` and set the ``One " "Shot`` property to \"On\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1034 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1035 msgid "Now add this script to ``HUD``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1053 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1054 msgid "" "The ``start_game`` signal tells the ``Main`` node that the button has been " "pressed." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1075 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1076 msgid "" "This function is called when we want to display a message temporarily, such " "as \"Get Ready\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1109 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1110 msgid "" "This function is called when the player loses. It will show \"Game Over\" " "for 2 seconds, then return to the title screen and, after a brief pause, " "show the \"Start\" button." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1113 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1114 msgid "" "When you need to pause for a brief time, an alternative to using a Timer " "node is to use the SceneTree's ``create_timer()`` function. This can be very " @@ -5990,34 +6003,34 @@ msgid "" "time before showing the \"Start\" button." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1131 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1132 msgid "This function is called by ``Main`` whenever the score changes." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1133 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1134 msgid "" "Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` " "signal of ``StartButton`` and add the following code to the new functions:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1161 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1162 msgid "Connecting HUD to Main" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1163 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1164 msgid "" "Now that we're done creating the ``HUD`` scene, go back to ``Main``. " "Instance the ``HUD`` scene in ``Main`` like you did the ``Player`` scene. " "The scene tree should look like this, so make sure you didn't miss anything:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1169 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1170 msgid "" "Now we need to connect the ``HUD`` functionality to our ``Main`` script. " "This requires a few additions to the ``Main`` scene:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1172 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1173 msgid "" "In the Node tab, connect the HUD's ``start_game`` signal to the " "``new_game()`` function of the Main node by typing \"new_game\" in the " @@ -6025,33 +6038,33 @@ msgid "" "green connection icon now appears next to ``func new_game()`` in the script." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1177 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1178 msgid "" "In ``new_game()``, update the score display and show the \"Get Ready\" " "message:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1192 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1193 msgid "In ``game_over()`` we need to call the corresponding ``HUD`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1203 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1204 msgid "" "Finally, add this to ``_on_ScoreTimer_timeout()`` to keep the display in " "sync with the changing score:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1215 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1216 msgid "" "Now you're ready to play! Click the \"Play the Project\" button. You will be " "asked to select a main scene, so choose ``Main.tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1219 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1220 msgid "Removing old creeps" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1221 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1222 msgid "" "If you play until \"Game Over\" and then start a new game right away, the " "creeps from the previous game may still be on the screen. It would be better " @@ -6060,7 +6073,7 @@ msgid "" "feature." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1226 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1227 msgid "" "In the ``Mob`` scene, select the root node and click the \"Node\" tab next " "to the Inspector (the same place where you find the node's signals). Next to " @@ -6068,35 +6081,35 @@ msgid "" "\"Add\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1232 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1233 msgid "" "Now all mobs will be in the \"mobs\" group. We can then add the following " "line to the ``game_over()`` function in ``Main``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1245 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1246 msgid "" "The ``call_group()`` function calls the named function on every node in a " "group - in this case we are telling every mob to delete itself." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1249 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1250 msgid "Finishing up" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1251 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1252 msgid "" "We have now completed all the functionality for our game. Below are some " "remaining steps to add a bit more \"juice\" to improve the game experience. " "Feel free to expand the gameplay with your own ideas." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1256 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1257 #: ../../docs/tutorials/3d/environment_and_post_processing.rst:59 msgid "Background" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1258 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1259 msgid "" "The default gray background is not very appealing, so let's change its " "color. One way to do this is to use a :ref:`ColorRect ` " @@ -6106,17 +6119,17 @@ msgid "" "screen." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1264 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1265 msgid "" "You could also add a background image, if you have one, by using a " "``TextureRect`` node instead." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1268 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1269 msgid "Sound effects" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1270 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1271 msgid "" "Sound and music can be the single most effective way to add appeal to the " "game experience. In your game assets folder, you have two sound files: " @@ -6124,7 +6137,7 @@ msgid "" "for when the player loses." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1275 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1276 msgid "" "Add two :ref:`AudioStreamPlayer ` nodes as children " "of ``Main``. Name one of them ``Music`` and the other ``DeathSound``. On " @@ -6132,28 +6145,28 @@ msgid "" "corresponding audio file." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1280 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1281 msgid "" "To play the music, add ``$Music.play()`` in the ``new_game()`` function and " "``$Music.stop()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1283 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1284 msgid "Finally, add ``$DeathSound.play()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1286 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1287 msgid "Keyboard shortcut" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1288 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1289 msgid "" "Since the game is played with keyboard controls, it would be convenient if " "we could also start the game by pressing a key on the keyboard. We can do " "this with the \"Shortcut\" property of the ``Button`` node." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1292 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1293 msgid "" "In the ``HUD`` scene, select the ``StartButton`` and find its *Shortcut* " "property in the Inspector. Select \"New Shortcut\" and click on the " @@ -6163,13 +6176,13 @@ msgid "" "event associated with the spacebar." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1300 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1301 msgid "" "Now when the start button appears, you can either click it or press :kbd:" "`Space` to start the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1304 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1305 msgid "Project files" msgstr "" @@ -6177,16 +6190,16 @@ msgstr "" msgid "You can find a completed version of this project at these locations:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1307 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1308 msgid "https://github.com/kidscancode/Godot3_dodge/releases" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1308 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1309 msgid "https://github.com/godotengine/godot-demo-projects" msgstr "" #: ../../docs/getting_started/step_by_step/exporting.rst:4 -#: ../../docs/getting_started/editor/command_line_tutorial.rst:257 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:260 msgid "Exporting" msgstr "" @@ -7017,7 +7030,7 @@ msgstr "" #: ../../docs/getting_started/step_by_step/ui_introduction_to_the_ui_system.rst:100 msgid "" -"**TextureButton** is like TextureRect, except it has 5 texture slots: one " +"**TextureButton** is like TextureRect, except it has 6 texture slots: one " "for each of the button's states. Most of the time, you'll use the Normal, " "Pressed, and Hover textures. Focused is useful if your interface listens to " "the keyboard's input. The sixth image slot, the Click Mask, lets you define " @@ -10594,617 +10607,10 @@ msgid "" "being loaded." msgstr "" -#: ../../docs/getting_started/editor/index.rst:2 +#: ../../docs/getting_started/editor/index.rst:3 msgid "Editor manual" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:8 -msgid "From Unity to Godot Engine" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:10 -msgid "" -"This guide provides an overview of Godot Engine from the viewpoint of a " -"Unity user, and aims to help you migrate your existing Unity experience into " -"the world of Godot." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:15 -msgid "" -"This article talks about older versions of Unity. Nestable prefabs ('Nested " -"prefabs') were added to Unity 2018.3. Nestable prefabs are analogous to " -"Godot's scenes, and allow a more Godot-like approach to scene organization." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:18 -msgid "Differences" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:21 -msgid "Unity" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:21 -msgid "Godot" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:23 -#: ../../docs/community/contributing/documentation_guidelines.rst:133 -msgid "License" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:23 -msgid "" -"Proprietary, closed, free license with revenue caps and usage restrictions" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:23 -msgid "MIT license, free and fully open source without any restriction" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:25 -msgid "OS (editor)" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:25 -msgid "Windows, macOS, Linux" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:25 -msgid "Windows, macOS, X11 (Linux, \\*BSD)" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:27 -msgid "OS (export)" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:27 -msgid "**Desktop:** Windows, macOS, Linux" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:28 -msgid "**Mobile:** Android, iOS, Windows Phone, Tizen" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:29 -msgid "**Web:** WebAssembly or asm.js" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:30 -msgid "**Consoles:** PS4, PS Vita, Xbox One, Xbox 360, Wii U, Nintendo 3DS" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:31 -msgid "" -"**VR:** Oculus Rift, SteamVR, Google Cardboard, PlayStation VR, Gear VR, " -"HoloLens" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:32 -msgid "**TV:** Android TV, Samsung SMART TV, tvOS" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:27 -msgid "**Desktop:** Windows, macOS, X11" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:28 -msgid "**Mobile:** Android, iOS" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:29 -msgid "**Web:** WebAssembly" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:30 -msgid "**Console:** See :ref:`doc_consoles`" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:31 -msgid "**VR:** Oculus Rift, SteamVR" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:34 -msgid "Scene system" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:34 -msgid "Component/Scene (GameObject > Component)" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:35 -msgid "Prefabs" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:34 -msgid "" -":ref:`Scene tree and nodes `, allowing scenes to be " -"nested and/or inherit other scenes" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:37 -msgid "Third-party tools" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:37 -msgid "Visual Studio or VS Code" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:37 -msgid ":ref:`External editors are possible `" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:38 -msgid ":ref:`Android SDK for Android export `" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:40 -msgid "Notable advantages" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:40 -msgid "Huge community" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:41 -msgid "Large assets store" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:40 -msgid "Scene System" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:41 -msgid ":ref:`Animation Pipeline `" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:42 -msgid ":ref:`Easy to write Shaders `" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:43 -msgid "Debug on Device" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:50 -msgid "The editor" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:52 -msgid "" -"Godot Engine provides a rich-featured editor that allows you to build your " -"games. The pictures below display the default layouts of both editors with " -"colored blocks to indicate common functionalities." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:58 -msgid "" -"While both editors may seem similar, there are many differences below the " -"surface. Both let you organize the project using the filesystem, but Godot's " -"approach is simpler with a single configuration file, minimalist text " -"format, and no metadata. This makes Godot more friendly to VCS systems, such " -"as Git, Subversion, or Mercurial." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:63 -msgid "" -"Godot's Scene panel is similar to Unity's Hierarchy panel but, as each node " -"has a specific function, the approach used by Godot is more visually " -"descriptive. It's easier to understand what a scene does at a glance." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:67 -msgid "" -"The Inspector in Godot is more minimal, it shows only properties. Thanks to " -"this, objects can expose more useful parameters to the user without having " -"to hide functionality in language APIs. As a plus, Godot allows animating " -"any of those properties visually. Changing colors, textures, enumerations, " -"or even links to resources in real-time is possible without needing to write " -"code." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:72 -msgid "" -"The Toolbar at the top of the screen is similar in both editors, offering " -"control over project playback. Projects in Godot run in a separate window, " -"rather than inside the editor (but the tree and objects can still be " -"explored in the debugger window)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:76 -msgid "This approach has several advantages:" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:78 -msgid "" -"Running the project and closing it is fast (Unity has to save, run the " -"project, close the project, and then reload the previous state)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:79 -msgid "" -"Live editing is a lot more useful because changes done to the editor take " -"effect immediately in the game and are not lost (nor have to be synced) when " -"the game is closed. This allows fantastic workflows, like creating levels " -"while you play them." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:80 -msgid "The editor is more stable because the game runs in a separate process." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:81 -msgid "" -"The running game can be explored from different angles by toggling the " -"\"Camera Override\" button in the editor viewport, which will switch between " -"using the editor view and the game camera view." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:83 -msgid "" -"Finally, Godot's top toolbar includes a menu for remote debugging. These " -"options allow deployment to a device (connected phone, tablet, or browser " -"via HTML5), and debugging/live editing on it after the game is exported." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:88 -msgid "The scene system" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:90 -msgid "" -"This is the most important difference between Unity and Godot and the " -"favorite feature of most Godot users." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:92 -msgid "" -"Working on a 'level' in Unity usually means embedding all the required " -"assets in a scene and linking them together with components and scripts." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:95 -msgid "" -"Godot's scene system is superficially similar to Unity. A 'level' consists " -"of a collection of nodes, each with its own purpose: Sprite, Mesh, Light, " -"etc. However, in Godot the nodes are arranged in a tree. Each node can have " -"multiple children, which makes each a subscene of the main scene. This means " -"you can compose a whole scene with different scenes stored in different " -"files." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:98 -msgid "" -"For example, think of a platformer level. You would compose it with multiple " -"elements:" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:100 -msgid "Bricks" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:101 -msgid "Coins" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:102 -msgid "The player" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:103 -msgid "The enemies" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:105 -msgid "" -"In Unity, you would put all the GameObjects in the scene: the player, " -"multiple instances of enemies, bricks everywhere to form the ground of the " -"level and then multiple instances of coins all over the level. You would " -"then add various components to each element to link them and add logic in " -"the level: For example, you'd add a BoxCollider2D to all the elements of the " -"scene so that they can collide. This principle is different in Godot." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:110 -msgid "" -"In Godot, you would split your whole scene into three separate, smaller " -"scenes, and instance them in the main scene." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:112 -msgid "**A scene for the Player alone.**" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:114 -msgid "" -"Consider the player as an element we'd like to use in different parent " -"scenes (for instance 'level' scenes). In our case, the player element needs " -"at least an AnimatedSprite node. This node contains the sprite textures " -"necessary for various animations (for example, a walking animation)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:116 -msgid "**A scene for the Enemy.**" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:118 -msgid "" -"An enemy is also an element we'd like to use in several scenes. It's almost " -"the same as the Player node. The only differences are the script (it needs " -"'AI' routines to generate the enemy's behavior) and the sprite textures used " -"by the AnimatedSprite node." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:122 -msgid "**A Level scene.**" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:124 -msgid "" -"A Level scene is composed of Bricks (for platforms), Coins (for the player " -"to collect) and a number of instances of the Enemy scene. Each instance is a " -"node in the Level scene tree. These instances are separate enemies, which " -"initially have shared behavior and appearance as defined in the Enemy scene. " -"You can set different properties for each Enemy node (to change its color, " -"for example)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:128 -msgid "" -"4. **A Main scene.** The Main scene would be composed of one root node with " -"2 children: a Player instance node, and a Level instance node. The root node " -"can be anything, generally a \"root\" type such as \"Node\" which is the " -"most global type, or \"Node2D\" (root type of all 2D-related nodes), " -"\"Spatial\" (root type of all 3D-related nodes) or \"Control\" (root type of " -"all GUI-related nodes)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:134 -msgid "" -"As you can see, every scene is organized as a tree. The same goes for nodes' " -"properties: you don't *add* a collision component to a node to make it " -"collidable like Unity does. Instead, you make this node a *child* of a new " -"specific node that has collision properties. Godot features various " -"collision types nodes, depending on the usage (see the :ref:`Physics " -"introduction `)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:139 -msgid "" -"What are the advantages of this system? Wouldn't this system potentially " -"increase the depth of the scene tree? And doesn't Unity already allow you to " -"organize GameObjects by putting them inside empty GameObjects?" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:141 -msgid "" -"Godot's system is closer to the well-known object-oriented paradigm: Godot " -"provides a number of nodes which are not clearly \"Game Objects\", but they " -"provide their children with their own capabilities: this is inheritance." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:142 -msgid "" -"Godot allows the extraction of a subtree of a scene to make it a scene of " -"its own. So if a scene tree gets too deep, it can be split into smaller " -"subtrees. This is better for reusability, as you can include any subtree as " -"a child of any node. Putting multiple GameObjects in an empty GameObject in " -"Unity does not provide the same functionality." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:145 -#: ../../docs/getting_started/workflow/project_setup/project_organization.rst:4 -msgid "Project organization" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:149 -msgid "" -"There is no perfect project architecture. Any architecture can be made to " -"work in either Unity and Godot." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:152 -msgid "" -"However, a common architecture for Unity projects is to have one Assets " -"folder in the root directory that contains various folders, one per type of " -"asset: Audio, Graphics, Models, Materials, Scripts, Scenes, and so on." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:155 -msgid "" -"Since Godot allows splitting scenes into smaller scenes, each scene and " -"subscene existing as a file in the project, we recommend organizing your " -"project a bit differently. This wiki provides a page for this: :ref:" -"`doc_project_organization`." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:160 -msgid "Where are my prefabs?" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:162 -msgid "" -"A prefab as provided by Unity is a 'template' element of the scene. It is " -"reusable, and each instance of the prefab that exists in the scene has an " -"existence of its own, but all of them have the same properties as defined by " -"the prefab." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:166 -msgid "" -"Godot does not provide prefabs as such, but the same functionality is " -"provided by its scene system: The scene system is organized as a tree. Godot " -"allows you to save any subtree of a scene as a scene file. This new scene " -"can then be instanced as many times as you want, as a child of any node. Any " -"change you make to this new, separate scene will be applied to its " -"instances. However, any change you make to the instance will not have any " -"impact on the 'template' scene." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:173 -msgid "" -"To be precise, you can modify the parameters of an instance in the Inspector " -"panel. The nodes that compose this instance are initially locked. You can " -"unlock them if you need to by right-clicking the instance in the Scene tree " -"and selecting \"Editable children\" in the menu. You don't need to do this " -"to add *new* child nodes to this node. Remember that any new children will " -"belong to the instance, not to the 'template' scene on disk. If you want to " -"add new children to every instance of your 'template' scene, then you should " -"add them in the 'template' scene." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:183 -msgid "Glossary correspondence" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:185 -msgid "GameObject -> Node" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:186 -msgid "Add a component -> Inheriting" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:187 -msgid "Prefab -> Reusable Scene file" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:191 -msgid "Scripting: GDScript, C# and Visual Script" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:194 -msgid "Design" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:196 -msgid "" -"Unity supports C#. C# benefits from its integration with Visual Studio and " -"has desirable features such as static typing." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:198 -msgid "" -"Godot provides its own scripting language, :ref:`GDScript ` " -"as well as support for :ref:`Visual Script ` and :ref:`C# `. GDScript borrows its syntax " -"from Python, but is not related to it. If you wonder about the reasoning for " -"a custom scripting language, please read the :ref:`doc_gdscript` and :ref:" -"`doc_faq` pages. GDScript is strongly attached to the Godot API and doesn't " -"take long to learn: Between one evening for an experienced programmer and a " -"week for a complete beginner." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:204 -msgid "" -"Unity allows you to attach as many scripts as you want to a GameObject. Each " -"script adds a behavior to the GameObject: For example, you can attach a " -"script so that it reacts to the player's controls, and another that controls " -"its specific game logic." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:208 -msgid "" -"In Godot, you can only attach one script per node. You can use either an " -"external GDScript file or include the script directly in the node. If you " -"need to attach more scripts to one node, then you may consider two " -"solutions, depending on your scene and on what you want to achieve:" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:212 -msgid "" -"either add a new node between your target node and its current parent, then " -"add a script to this new node." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:213 -msgid "" -"or, you can split your target node into multiple children and attach one " -"script to each of them." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:215 -msgid "" -"As you can see, it can be easy to turn a scene tree to a mess. Consider " -"splitting any complicated scene into multiple, smaller branches." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:218 -msgid "Connections: groups and signals" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:220 -msgid "" -"You can control nodes by accessing them via script and calling built-in or " -"user-defined functions on them. You can also place nodes in a group and call " -"functions on all nodes in this group. See more in the :ref:`scripting " -"documentation `." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:225 -msgid "" -"Nodes can send a signal when a specified action occurs. A signal can be set " -"to call any function. You can define custom signals and specify when they " -"are triggered. See more in the :ref:`signals documentation " -"`." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:230 -msgid "Script serialization" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:232 -msgid "Unity can handle script serialization in two ways:" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:234 -msgid "" -"Implicit: All public fields in a class are automatically serialized if the " -"type is a serializable type (``Dictionary`` is not serializable)." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:235 -msgid "" -"Explicit: Non-public fields can be serialized using the ``[SerializeField]`` " -"attribute." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:237 -msgid "" -"Godot also has a built-in script serialization system, but it works only " -"explicitly. You can serialize any serializable type (:ref:`built-in and " -"various engine types `, including :ref:" -"`class_Array` and :ref:`class_Dictionary`) using the ``export`` keyword. See " -"the :ref:`exports documentation ` for details." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:242 -msgid "" -"Unity also has a data type called ``ScriptableObject`` used to serialize " -"custom asset objects. Its equivalent in Godot is the base class for all " -"resources: :ref:`class_Resource`. Creating a script that inherits :ref:" -"`class_Resource` will allow you to create custom serializable objects. More " -"information about resources can be found :ref:`here `." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:247 -msgid "Using Godot in C++" -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:249 -msgid "" -"Godot allows you to develop your project directly in C++ by using its API, " -"which is not possible with Unity at the moment. As an example, you can " -"consider Godot Engine's editor as a \"game\" written in C++ using the Godot " -"API." -msgstr "" - -#: ../../docs/getting_started/editor/unity_to_godot.rst:252 -msgid "" -"If you are interested in using Godot in C++, you may want to start reading " -"the :ref:`Developing in C++ ` page." -msgstr "" - #: ../../docs/getting_started/editor/command_line_tutorial.rst:4 msgid "Command line tutorial" msgstr "" @@ -11242,7 +10648,7 @@ msgstr "" #: ../../docs/getting_started/editor/command_line_tutorial.rst:120 #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:141 #: ../../docs/getting_started/scripting/creating_script_templates.rst:125 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 #: ../../docs/tutorials/inputs/inputevent.rst:130 #: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:51 #: ../../docs/tutorials/shading/shading_reference/shading_language.rst:21 @@ -11706,11 +11112,22 @@ msgid "" "`tools ` must be enabled)." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:142 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:140 +msgid "``--export-pack ``" +msgstr "" + +#: ../../docs/getting_started/editor/command_line_tutorial.rst:140 +msgid "" +"Like ``--export``, but only export the game pack for the given preset. The " +" extension determines whether it will be in PCK or ZIP format. (:ref:" +"`tools ` must be enabled)." +msgstr "" + +#: ../../docs/getting_started/editor/command_line_tutorial.rst:145 msgid "Path" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:144 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:147 msgid "" "It is recommended that your Godot binary be in your PATH environment " "variable, so it can be executed easily from any place by typing ``godot``. " @@ -11718,111 +11135,111 @@ msgid "" "making sure it is called ``godot``." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:150 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:153 msgid "Setting the project path" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:152 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:155 msgid "" "Depending on where your Godot binary is located and what your current " "working directory is, you may need to set the path to your project for any " "of the following commands to work correctly." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:156 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:159 msgid "" "This can be done by giving the path to the ``project.godot`` file of your " "project as either the first argument, like this:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:163 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:166 msgid "Or by using the ``--path`` argument:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:169 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:172 msgid "" "For example, the full command for exporting your game (as explained below) " "might look like this:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:176 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:179 msgid "Creating a project" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:179 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:182 msgid "" "Creating a project from the command line can be done by navigating the shell " "to the desired place and making a project.godot file." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:190 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:193 msgid "The project can now be opened with Godot." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:194 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:197 msgid "Running the editor" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:196 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:199 msgid "" "Running the editor is done by executing Godot with the ``-e`` flag. This " "must be done from within the project directory or a subdirectory, otherwise " "the command is ignored and the project manager appears." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:204 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:207 msgid "" "If a scene has been created and saved, it can be edited later by running the " "same code with that scene as argument." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:212 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:215 msgid "Erasing a scene" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:214 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:217 msgid "" "Godot is friends with your filesystem and will not create extra metadata " "files. Use ``rm`` to erase a scene file. Make sure nothing references that " "scene or else an error will be thrown upon opening." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:223 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:226 msgid "Running the game" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:225 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:228 msgid "" "To run the game, simply execute Godot within the project directory or " "subdirectory." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:232 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:235 msgid "" "When a specific scene needs to be tested, pass that scene to the command " "line." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:240 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:243 #: ../../docs/tutorials/platform/customizing_html5_shell.rst:172 msgid "Debugging" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:242 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:245 msgid "" "Catching errors in the command line can be a difficult task because they " "just fly by. For this, a command line debugger is provided by adding ``-d``. " "It works for running either the game or a simple scene." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:259 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:262 msgid "" "Exporting the project from the command line is also supported. This is " "especially useful for continuous integration setups. The version of Godot " "that is headless (server build, no video) is ideal for this." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:268 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:271 msgid "" "The platform names recognized by the ``--export`` switch are the same as " "displayed in the export wizard of the editor. To get a list of supported " @@ -11830,36 +11247,44 @@ msgid "" "and the full listing of platforms your configuration supports will be shown." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:274 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:277 msgid "" "To export a debug version of the game, use the ``--export-debug`` switch " "instead of ``--export``. Their parameters and usage are the same." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:278 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:280 +msgid "" +"To export only a PCK file, use the ``--export-pack`` option followed by the " +"preset name and output path, with the file extension, instead of ``--" +"export``. The output path extension determines the package's format, either " +"PCK or ZIP." +msgstr "" + +#: ../../docs/getting_started/editor/command_line_tutorial.rst:285 msgid "Running a script" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:280 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:287 msgid "" "It is possible to run a simple ``.gd`` script from the command line. This " "feature is especially useful in large projects, e.g. for batch conversion of " "assets or custom import/export." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:284 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:291 msgid "The script must inherit from ``SceneTree`` or ``MainLoop``." msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:286 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:293 msgid "Here is a simple example of how it works:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:297 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:304 msgid "And how to run it:" msgstr "" -#: ../../docs/getting_started/editor/command_line_tutorial.rst:304 +#: ../../docs/getting_started/editor/command_line_tutorial.rst:311 msgid "" "If no ``project.godot`` exists at the path, current path is assumed to be " "the current working directory (unless ``--path`` is specified)." @@ -14753,6 +14178,613 @@ msgstr "" msgid "``tileset_editor/editmode_z_index``" msgstr "" +#: ../../docs/getting_started/editor/unity_to_godot.rst:8 +msgid "From Unity to Godot Engine" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:10 +msgid "" +"This guide provides an overview of Godot Engine from the viewpoint of a " +"Unity user, and aims to help you migrate your existing Unity experience into " +"the world of Godot." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:15 +msgid "" +"This article talks about older versions of Unity. Nestable prefabs ('Nested " +"prefabs') were added to Unity 2018.3. Nestable prefabs are analogous to " +"Godot's scenes, and allow a more Godot-like approach to scene organization." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:18 +msgid "Differences" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:21 +msgid "Unity" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:21 +msgid "Godot" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:23 +#: ../../docs/community/contributing/documentation_guidelines.rst:133 +msgid "License" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:23 +msgid "" +"Proprietary, closed, free license with revenue caps and usage restrictions" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:23 +msgid "MIT license, free and fully open source without any restriction" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:25 +msgid "OS (editor)" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:25 +msgid "Windows, macOS, Linux" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:25 +msgid "Windows, macOS, X11 (Linux, \\*BSD)" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:27 +msgid "OS (export)" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:27 +msgid "**Desktop:** Windows, macOS, Linux" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:28 +msgid "**Mobile:** Android, iOS, Windows Phone, Tizen" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:29 +msgid "**Web:** WebAssembly or asm.js" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:30 +msgid "**Consoles:** PS4, PS Vita, Xbox One, Xbox 360, Wii U, Nintendo 3DS" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:31 +msgid "" +"**VR:** Oculus Rift, SteamVR, Google Cardboard, PlayStation VR, Gear VR, " +"HoloLens" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:32 +msgid "**TV:** Android TV, Samsung SMART TV, tvOS" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:27 +msgid "**Desktop:** Windows, macOS, X11" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:28 +msgid "**Mobile:** Android, iOS" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:29 +msgid "**Web:** WebAssembly" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:30 +msgid "**Console:** See :ref:`doc_consoles`" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:31 +msgid "**VR:** Oculus Rift, SteamVR" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:34 +msgid "Scene system" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:34 +msgid "Component/Scene (GameObject > Component)" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:35 +msgid "Prefabs" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:34 +msgid "" +":ref:`Scene tree and nodes `, allowing scenes to be " +"nested and/or inherit other scenes" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:37 +msgid "Third-party tools" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:37 +msgid "Visual Studio or VS Code" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:37 +msgid ":ref:`External editors are possible `" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:38 +msgid ":ref:`Android SDK for Android export `" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:40 +msgid "Notable advantages" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:40 +msgid "Huge community" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:41 +msgid "Large assets store" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:40 +msgid "Scene System" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:41 +msgid ":ref:`Animation Pipeline `" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:42 +msgid ":ref:`Easy to write Shaders `" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:43 +msgid "Debug on Device" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:50 +msgid "The editor" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:52 +msgid "" +"Godot Engine provides a rich-featured editor that allows you to build your " +"games. The pictures below display the default layouts of both editors with " +"colored blocks to indicate common functionalities." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:58 +msgid "" +"While both editors may seem similar, there are many differences below the " +"surface. Both let you organize the project using the filesystem, but Godot's " +"approach is simpler with a single configuration file, minimalist text " +"format, and no metadata. This makes Godot more friendly to VCS systems, such " +"as Git, Subversion, or Mercurial." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:63 +msgid "" +"Godot's Scene panel is similar to Unity's Hierarchy panel but, as each node " +"has a specific function, the approach used by Godot is more visually " +"descriptive. It's easier to understand what a scene does at a glance." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:67 +msgid "" +"The Inspector in Godot is more minimal, it shows only properties. Thanks to " +"this, objects can expose more useful parameters to the user without having " +"to hide functionality in language APIs. As a plus, Godot allows animating " +"any of those properties visually. Changing colors, textures, enumerations, " +"or even links to resources in real-time is possible without needing to write " +"code." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:72 +msgid "" +"The Toolbar at the top of the screen is similar in both editors, offering " +"control over project playback. Projects in Godot run in a separate window, " +"rather than inside the editor (but the tree and objects can still be " +"explored in the debugger window)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:76 +msgid "This approach has several advantages:" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:78 +msgid "" +"Running the project and closing it is fast (Unity has to save, run the " +"project, close the project, and then reload the previous state)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:79 +msgid "" +"Live editing is a lot more useful because changes done to the editor take " +"effect immediately in the game and are not lost (nor have to be synced) when " +"the game is closed. This allows fantastic workflows, like creating levels " +"while you play them." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:80 +msgid "The editor is more stable because the game runs in a separate process." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:81 +msgid "" +"The running game can be explored from different angles by toggling the " +"\"Camera Override\" button in the editor viewport, which will switch between " +"using the editor view and the game camera view." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:83 +msgid "" +"Finally, Godot's top toolbar includes a menu for remote debugging. These " +"options allow deployment to a device (connected phone, tablet, or browser " +"via HTML5), and debugging/live editing on it after the game is exported." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:88 +msgid "The scene system" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:90 +msgid "" +"This is the most important difference between Unity and Godot and the " +"favorite feature of most Godot users." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:92 +msgid "" +"Working on a 'level' in Unity usually means embedding all the required " +"assets in a scene and linking them together with components and scripts." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:95 +msgid "" +"Godot's scene system is superficially similar to Unity. A 'level' consists " +"of a collection of nodes, each with its own purpose: Sprite, Mesh, Light, " +"etc. However, in Godot the nodes are arranged in a tree. Each node can have " +"multiple children, which makes each a subscene of the main scene. This means " +"you can compose a whole scene with different scenes stored in different " +"files." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:98 +msgid "" +"For example, think of a platformer level. You would compose it with multiple " +"elements:" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:100 +msgid "Bricks" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:101 +msgid "Coins" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:102 +msgid "The player" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:103 +msgid "The enemies" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:105 +msgid "" +"In Unity, you would put all the GameObjects in the scene: the player, " +"multiple instances of enemies, bricks everywhere to form the ground of the " +"level and then multiple instances of coins all over the level. You would " +"then add various components to each element to link them and add logic in " +"the level: For example, you'd add a BoxCollider2D to all the elements of the " +"scene so that they can collide. This principle is different in Godot." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:110 +msgid "" +"In Godot, you would split your whole scene into three separate, smaller " +"scenes, and instance them in the main scene." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:112 +msgid "**A scene for the Player alone.**" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:114 +msgid "" +"Consider the player as an element we'd like to use in different parent " +"scenes (for instance 'level' scenes). In our case, the player element needs " +"at least an AnimatedSprite node. This node contains the sprite textures " +"necessary for various animations (for example, a walking animation)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:116 +msgid "**A scene for the Enemy.**" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:118 +msgid "" +"An enemy is also an element we'd like to use in several scenes. It's almost " +"the same as the Player node. The only differences are the script (it needs " +"'AI' routines to generate the enemy's behavior) and the sprite textures used " +"by the AnimatedSprite node." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:122 +msgid "**A Level scene.**" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:124 +msgid "" +"A Level scene is composed of Bricks (for platforms), Coins (for the player " +"to collect) and a number of instances of the Enemy scene. Each instance is a " +"node in the Level scene tree. These instances are separate enemies, which " +"initially have shared behavior and appearance as defined in the Enemy scene. " +"You can set different properties for each Enemy node (to change its color, " +"for example)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:128 +msgid "" +"4. **A Main scene.** The Main scene would be composed of one root node with " +"2 children: a Player instance node, and a Level instance node. The root node " +"can be anything, generally a \"root\" type such as \"Node\" which is the " +"most global type, or \"Node2D\" (root type of all 2D-related nodes), " +"\"Spatial\" (root type of all 3D-related nodes) or \"Control\" (root type of " +"all GUI-related nodes)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:134 +msgid "" +"As you can see, every scene is organized as a tree. The same goes for nodes' " +"properties: you don't *add* a collision component to a node to make it " +"collidable like Unity does. Instead, you make this node a *child* of a new " +"specific node that has collision properties. Godot features various " +"collision types nodes, depending on the usage (see the :ref:`Physics " +"introduction `)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:139 +msgid "" +"What are the advantages of this system? Wouldn't this system potentially " +"increase the depth of the scene tree? And doesn't Unity already allow you to " +"organize GameObjects by putting them inside empty GameObjects?" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:141 +msgid "" +"Godot's system is closer to the well-known object-oriented paradigm: Godot " +"provides a number of nodes which are not clearly \"Game Objects\", but they " +"provide their children with their own capabilities: this is inheritance." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:142 +msgid "" +"Godot allows the extraction of a subtree of a scene to make it a scene of " +"its own. So if a scene tree gets too deep, it can be split into smaller " +"subtrees. This is better for reusability, as you can include any subtree as " +"a child of any node. Putting multiple GameObjects in an empty GameObject in " +"Unity does not provide the same functionality." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:145 +#: ../../docs/getting_started/workflow/project_setup/project_organization.rst:4 +msgid "Project organization" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:149 +msgid "" +"There is no perfect project architecture. Any architecture can be made to " +"work in either Unity and Godot." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:152 +msgid "" +"However, a common architecture for Unity projects is to have one Assets " +"folder in the root directory that contains various folders, one per type of " +"asset: Audio, Graphics, Models, Materials, Scripts, Scenes, and so on." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:155 +msgid "" +"Since Godot allows splitting scenes into smaller scenes, each scene and " +"subscene existing as a file in the project, we recommend organizing your " +"project a bit differently. This wiki provides a page for this: :ref:" +"`doc_project_organization`." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:160 +msgid "Where are my prefabs?" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:162 +msgid "" +"A prefab as provided by Unity is a 'template' element of the scene. It is " +"reusable, and each instance of the prefab that exists in the scene has an " +"existence of its own, but all of them have the same properties as defined by " +"the prefab." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:166 +msgid "" +"Godot does not provide prefabs as such, but the same functionality is " +"provided by its scene system: The scene system is organized as a tree. Godot " +"allows you to save any subtree of a scene as a scene file. This new scene " +"can then be instanced as many times as you want, as a child of any node. Any " +"change you make to this new, separate scene will be applied to its " +"instances. However, any change you make to the instance will not have any " +"impact on the 'template' scene." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:173 +msgid "" +"To be precise, you can modify the parameters of an instance in the Inspector " +"panel. The nodes that compose this instance are initially locked. You can " +"unlock them if you need to by right-clicking the instance in the Scene tree " +"and selecting \"Editable children\" in the menu. You don't need to do this " +"to add *new* child nodes to this node. Remember that any new children will " +"belong to the instance, not to the 'template' scene on disk. If you want to " +"add new children to every instance of your 'template' scene, then you should " +"add them in the 'template' scene." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:183 +msgid "Glossary correspondence" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:185 +msgid "GameObject -> Node" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:186 +msgid "Add a component -> Inheriting" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:187 +msgid "Prefab -> Reusable Scene file" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:191 +msgid "Scripting: GDScript, C# and Visual Script" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:194 +msgid "Design" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:196 +msgid "" +"Unity supports C#. C# benefits from its integration with Visual Studio and " +"has desirable features such as static typing." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:198 +msgid "" +"Godot provides its own scripting language, :ref:`GDScript ` " +"as well as support for :ref:`Visual Script ` and :ref:`C# `. GDScript borrows its syntax " +"from Python, but is not related to it. If you wonder about the reasoning for " +"a custom scripting language, please read the :ref:`doc_gdscript` and :ref:" +"`doc_faq` pages. GDScript is strongly attached to the Godot API and doesn't " +"take long to learn: Between one evening for an experienced programmer and a " +"week for a complete beginner." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:204 +msgid "" +"Unity allows you to attach as many scripts as you want to a GameObject. Each " +"script adds a behavior to the GameObject: For example, you can attach a " +"script so that it reacts to the player's controls, and another that controls " +"its specific game logic." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:208 +msgid "" +"In Godot, you can only attach one script per node. You can use either an " +"external GDScript file or include the script directly in the node. If you " +"need to attach more scripts to one node, then you may consider two " +"solutions, depending on your scene and on what you want to achieve:" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:212 +msgid "" +"either add a new node between your target node and its current parent, then " +"add a script to this new node." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:213 +msgid "" +"or, you can split your target node into multiple children and attach one " +"script to each of them." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:215 +msgid "" +"As you can see, it can be easy to turn a scene tree to a mess. Consider " +"splitting any complicated scene into multiple, smaller branches." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:218 +msgid "Connections: groups and signals" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:220 +msgid "" +"You can control nodes by accessing them via script and calling built-in or " +"user-defined functions on them. You can also place nodes in a group and call " +"functions on all nodes in this group. See more in the :ref:`scripting " +"documentation `." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:225 +msgid "" +"Nodes can send a signal when a specified action occurs. A signal can be set " +"to call any function. You can define custom signals and specify when they " +"are triggered. See more in the :ref:`signals documentation " +"`." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:230 +msgid "Script serialization" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:232 +msgid "Unity can handle script serialization in two ways:" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:234 +msgid "" +"Implicit: All public fields in a class are automatically serialized if the " +"type is a serializable type (``Dictionary`` is not serializable)." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:235 +msgid "" +"Explicit: Non-public fields can be serialized using the ``[SerializeField]`` " +"attribute." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:237 +msgid "" +"Godot also has a built-in script serialization system, but it works only " +"explicitly. You can serialize any serializable type (:ref:`built-in and " +"various engine types `, including :ref:" +"`class_Array` and :ref:`class_Dictionary`) using the ``export`` keyword. See " +"the :ref:`exports documentation ` for details." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:242 +msgid "" +"Unity also has a data type called ``ScriptableObject`` used to serialize " +"custom asset objects. Its equivalent in Godot is the base class for all " +"resources: :ref:`class_Resource`. Creating a script that inherits :ref:" +"`class_Resource` will allow you to create custom serializable objects. More " +"information about resources can be found :ref:`here `." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:247 +msgid "Using Godot in C++" +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:249 +msgid "" +"Godot allows you to develop your project directly in C++ by using its API, " +"which is not possible with Unity at the moment. As an example, you can " +"consider Godot Engine's editor as a \"game\" written in C++ using the Godot " +"API." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:252 +msgid "" +"If you are interested in using Godot in C++, you may want to start reading " +"the :ref:`Developing in C++ ` page." +msgstr "" + #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:4 msgid "GDScript basics" msgstr "" @@ -14860,7 +14892,7 @@ msgid "else" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:149 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:834 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:842 msgid "for" msgstr "" @@ -14869,7 +14901,7 @@ msgid "See for_." msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:151 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:823 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:831 msgid "while" msgstr "" @@ -14878,7 +14910,7 @@ msgid "See while_." msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:153 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:869 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:877 msgid "match" msgstr "" @@ -15368,7 +15400,7 @@ msgid "Base 10 integer" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:287 -msgid "``0x8F51``" +msgid "``0x8f51``" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:287 @@ -15423,21 +15455,27 @@ msgstr "" msgid "Shorthand for ``get_node(\"NodePath\")``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:303 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:302 +msgid "" +"Integers and floats can have their numbers separated with ``_`` to make them " +"more readable. The following ways to write numbers are all valid::" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:311 msgid "Comments" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:305 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:313 msgid "" "Anything from a ``#`` to the end of the line is ignored and is considered a " "comment." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:315 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:323 msgid "Built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:317 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:325 msgid "" "Built-in types are stack-allocated. They are passed as values. This means a " "copy is created on each assignment or when passing them as arguments to " @@ -15446,48 +15484,48 @@ msgid "" "``PoolByteArray`` are still passed as values.)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:324 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:332 msgid "Basic built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:326 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:334 msgid "A variable in GDScript can be assigned to several built-in types." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:329 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:337 #: ../../docs/tutorials/misc/binary_serialization_api.rst:25 msgid "null" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:331 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:339 msgid "" "``null`` is an empty data type that contains no information and can not be " "assigned any other value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:335 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:343 msgid ":ref:`bool `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:337 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:345 msgid "Short for \"boolean\", it can only contain ``true`` or ``false``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:340 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:348 msgid ":ref:`int `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:342 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:350 msgid "" "Short for \"integer\", it stores whole numbers (positive and negative). It " "is stored as a 64-bit value, equivalent to \"int64_t\" in C++." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:346 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:354 msgid ":ref:`float `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:348 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:356 msgid "" "Stores real numbers, including decimals, using floating-point values. It is " "stored as a 64-bit value, equivalent to \"double\" in C++. Note: Currently, " @@ -15495,264 +15533,264 @@ msgid "" "single-precision \"float\" values." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:354 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 msgid ":ref:`String `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:356 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 msgid "" "A sequence of characters in `Unicode format `_. Strings can contain the following escape sequences:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:360 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 msgid "**Escape sequence**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:360 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 msgid "**Expands to**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 msgid "``\\n``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 msgid "Newline (line feed)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 msgid "``\\t``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 msgid "Horizontal tab character" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:366 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 msgid "``\\r``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:366 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 msgid "Carriage return" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 msgid "``\\a``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 msgid "Alert (beep/bell)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 msgid "``\\b``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 msgid "Backspace" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 msgid "``\\f``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:372 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 msgid "Formfeed page break" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 msgid "``\\v``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:374 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 msgid "Vertical tab character" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:384 msgid "``\\\"``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:384 msgid "Double quote" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 msgid "``\\'``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 msgid "Single quote" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:388 msgid "``\\\\``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:380 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:388 msgid "Backslash" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:390 msgid "``\\uXXXX``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:382 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:390 msgid "Unicode codepoint ``XXXX`` (hexadecimal, case-insensitive)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:394 msgid "GDScript also supports :ref:`doc_gdscript_printf`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:389 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:397 msgid "Vector built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:392 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:400 msgid ":ref:`Vector2 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:394 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:402 msgid "" "2D vector type containing ``x`` and ``y`` fields. Can also be accessed as an " "array." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:398 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:406 msgid ":ref:`Rect2 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:400 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:408 msgid "" "2D Rectangle type containing two vectors fields: ``position`` and ``size``. " "Also contains an ``end`` field which is ``position + size``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:404 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:412 msgid ":ref:`Vector3 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:406 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:414 msgid "" "3D vector type containing ``x``, ``y`` and ``z`` fields. This can also be " "accessed as an array." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:410 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:418 msgid ":ref:`Transform2D `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:412 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:420 msgid "3×2 matrix used for 2D transforms." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:415 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:423 msgid ":ref:`Plane `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:417 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:425 msgid "" "3D Plane type in normalized form that contains a ``normal`` vector field and " "a ``d`` scalar distance." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:421 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:429 msgid ":ref:`Quat `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:423 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:431 msgid "" "Quaternion is a datatype used for representing a 3D rotation. It's useful " "for interpolating rotations." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:427 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:435 msgid ":ref:`AABB `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:429 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:437 msgid "" "Axis-aligned bounding box (or 3D box) contains 2 vectors fields: " "``position`` and ``size``. Also contains an ``end`` field which is " "``position + size``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:434 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:442 msgid ":ref:`Basis `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:436 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:444 msgid "" "3x3 matrix used for 3D rotation and scale. It contains 3 vector fields " "(``x``, ``y`` and ``z``) and can also be accessed as an array of 3D vectors." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:449 msgid ":ref:`Transform `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:443 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:451 msgid "" "3D Transform contains a Basis field ``basis`` and a Vector3 field ``origin``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:447 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:455 msgid "Engine built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:450 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:458 msgid ":ref:`Color `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:452 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:460 msgid "" "Color data type contains ``r``, ``g``, ``b``, and ``a`` fields. It can also " "be accessed as ``h``, ``s``, and ``v`` for hue/saturation/value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:456 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:464 msgid ":ref:`NodePath `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:458 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:466 msgid "" "Compiled path to a node used mainly in the scene system. It can be easily " "assigned to, and from, a String." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:462 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:470 msgid ":ref:`RID `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:464 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:472 msgid "Resource ID (RID). Servers use generic RIDs to reference opaque data." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:467 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:475 msgid ":ref:`Object `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:469 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:477 msgid "Base class for anything that is not a built-in type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:472 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:480 msgid "Container built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:475 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:483 msgid ":ref:`Array `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:477 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:485 msgid "" "Generic sequence of arbitrary object types, including other arrays or " "dictionaries (see below). The array can resize dynamically. Arrays are " "indexed starting from index ``0``. Negative indices count from the end." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:491 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:499 msgid "" "GDScript arrays are allocated linearly in memory for speed. Large arrays " "(more than tens of thousands of elements) may however cause memory " @@ -15762,51 +15800,51 @@ msgid "" "They are therefore only recommended to use for large data sets:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:498 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:506 msgid "" ":ref:`PoolByteArray `: An array of bytes (integers from " "0 to 255)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:499 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:507 msgid ":ref:`PoolIntArray `: An array of integers." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:500 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:508 msgid ":ref:`PoolRealArray `: An array of floats." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:501 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:509 msgid ":ref:`PoolStringArray `: An array of strings." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:502 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:510 msgid "" ":ref:`PoolVector2Array `: An array of :ref:`Vector2 " "` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:503 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:511 msgid "" ":ref:`PoolVector3Array `: An array of :ref:`Vector3 " "` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:504 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:512 msgid "" ":ref:`PoolColorArray `: An array of :ref:`Color " "` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:507 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:515 msgid ":ref:`Dictionary `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:509 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:517 msgid "Associative container which contains values referenced by unique keys." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:522 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:530 msgid "" "Lua-style table syntax is also supported. Lua-style uses ``=`` instead of ``:" "`` and doesn't use quotes to mark string keys (making for slightly less to " @@ -15814,13 +15852,13 @@ msgid "" "any GDScript identifier)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:536 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:544 msgid "" "To add a key to an existing dictionary, access it like an existing key and " "assign to it::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:552 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:560 msgid "" "The bracket syntax can be used to access properties of any :ref:" "`class_Object`, not just Dictionaries. Keep in mind it will cause a script " @@ -15829,12 +15867,12 @@ msgid "" "` methods instead." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:559 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:567 #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:228 msgid "Data" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:562 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:570 #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:131 #: ../../docs/tutorials/shading/migrating_to_godot_shader_language.rst:86 #: ../../docs/tutorials/shading/migrating_to_godot_shader_language.rst:148 @@ -15842,105 +15880,105 @@ msgstr "" msgid "Variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:564 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:572 msgid "" "Variables can exist as class members or local to functions. They are created " "with the ``var`` keyword and may, optionally, be assigned a value upon " "initialization." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:575 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:583 msgid "" "Variables can optionally have a type specification. When a type is " "specified, the variable will be forced to have always that same type, and " "trying to assign an incompatible value will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:579 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:587 msgid "" "Types are specified in the variable declaration using a ``:`` (colon) symbol " "after the variable name, followed by the type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:587 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:595 msgid "" "If the variable is initialized within the declaration, the type can be " "inferred, so it's possible to omit the type name::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:593 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:601 msgid "" "Type inference is only possible if the assigned value has a defined type, " "otherwise it will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:596 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:604 #: ../../docs/tutorials/shading/shading_reference/shaders.rst:39 msgid "Valid types are:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:598 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:606 msgid "Built-in types (Array, Vector2, int, String, etc.)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:599 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:607 msgid "Engine classes (Node, Resource, Reference, etc.)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:600 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:608 msgid "" "Constant names if they contain a script resource (``MyScript`` if you " "declared ``const MyScript = preload(\"res://my_script.gd\")``)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:601 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:609 msgid "" "Other classes in the same script, respecting scope (``InnerClass." "NestedClass`` if you declared ``class NestedClass`` inside the ``class " "InnerClass`` in the same scope)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:602 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:610 msgid "Script classes declared with the ``class_name`` keyword." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:605 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:613 #: ../../docs/tutorials/shading/shading_reference/shading_language.rst:85 msgid "Casting" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:607 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:615 msgid "" "Values assigned to typed variables must have a compatible type. If it's " "needed to coerce a value to be of a certain type, in particular for object " "types, you can use the casting operator ``as``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:611 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:619 msgid "" "Casting between object types results in the same object if the value is of " "the same type or a subtype of the cast type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:619 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:627 msgid "" "If the value is not a subtype, the casting operation will result in a " "``null`` value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:626 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:634 msgid "" "For built-in types, they will be forcibly converted if possible, otherwise " "the engine will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:635 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:643 msgid "" "Casting is also useful to have better type-safe variables when interacting " "with the scene tree::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:645 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:653 #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:211 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:22 #: ../../docs/tutorials/shading/shading_reference/shading_language.rst:258 @@ -15950,23 +15988,23 @@ msgstr "" msgid "Constants" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:647 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:655 msgid "" "Constants are similar to variables, but must be constants or constant " "expressions and must be assigned on initialization." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:661 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:669 msgid "" "Although the type of constants is inferred from the assigned value, it's " "also possible to add explicit type specification::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:667 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:675 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:671 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:679 msgid "" "Since arrays and dictionaries are passed by reference, constants are \"flat" "\". This means that if you declare a constant array or dictionary, it can " @@ -15974,36 +16012,36 @@ msgid "" "though." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:676 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:684 msgid "Enums" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:678 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:686 msgid "" "Enums are basically a shorthand for constants, and are pretty useful if you " "want to assign consecutive integers to some constant." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:681 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:689 msgid "" "If you pass a name to the enum, it will put all the keys inside a constant " "dictionary of that name." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:684 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:692 msgid "" "In Godot 3.1 and later, keys in a named enum are not registered as global " "constants. They should be accessed prefixed by the enum's name (``Name." "KEY``); see an example below." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:704 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:712 #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:391 #: ../../docs/tutorials/shading/shading_reference/shading_language.rst:385 msgid "Functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:706 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:714 msgid "" "Functions always belong to a `class `_. The scope priority for " "variable look-up is: local → class member → global. The ``self`` variable is " @@ -16012,30 +16050,30 @@ msgid "" "argument, unlike Python)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:719 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:727 msgid "" "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:721 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:729 msgid "" "Functions can also have type specification for the arguments and for the " "return value. Types for arguments can be added in a similar way to " "variables::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:727 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:735 msgid "" "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:732 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:740 msgid "" "The return type of the function can be specified after the arguments list " "using the arrow token (``->``)::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:738 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:746 msgid "" "Functions that have a return type **must** return a proper value. Setting " "the type as ``void`` means the function doesn't return anything. Void " @@ -16043,7 +16081,7 @@ msgid "" "return any value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:747 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:755 msgid "" "Non-void functions must **always** return a value, so if your code has " "branching statements (such as an ``if``/``else`` construct), all the " @@ -16052,11 +16090,11 @@ msgid "" "block is not executed, the function won't have a valid value to return." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:755 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:763 msgid "Referencing functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:757 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:765 msgid "" "Contrary to Python, functions are *not* first-class objects in GDScript. " "This means they cannot be stored in variables, passed as an argument to " @@ -16064,40 +16102,40 @@ msgid "" "performance reasons." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:761 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:769 msgid "" "To reference a function by name at run-time, (e.g. to store it in a " "variable, or pass it to another function as an argument) one must use the " "``call`` or ``funcref`` helpers::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:775 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:783 msgid "Static functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:777 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:785 msgid "" "A function can be declared static. When a function is static, it has no " "access to the instance member variables or ``self``. This is mainly useful " "to make libraries of helper functions::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:786 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:794 msgid "Statements and control flow" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:788 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:796 msgid "" "Statements are standard and can be assignments, function calls, control flow " "structures, etc (see below). ``;`` as a statement separator is entirely " "optional." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:793 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:801 msgid "if/else/elif" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:795 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:803 msgid "" "Simple conditions are created by using the ``if``/``else``/``elif`` syntax. " "Parenthesis around conditions are allowed, but not required. Given the " @@ -16105,23 +16143,23 @@ msgid "" "``else``/``if`` to maintain a level of indentation." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:809 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:817 msgid "Short statements can be written on the same line as the condition::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:816 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:824 msgid "" "Sometimes, you might want to assign a different initial value based on a " "boolean expression. In this case, ternary-if expressions come in handy::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:825 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:833 msgid "" "Simple loops are created by using ``while`` syntax. Loops can be broken " "using ``break`` or continued using ``continue``:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:836 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:844 msgid "" "To iterate through a range, such as an array or table, a *for* loop is used. " "When iterating over an array, the current array element is stored in the " @@ -16129,44 +16167,44 @@ msgid "" "loop variable." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:871 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:879 msgid "" "A ``match`` statement is used to branch execution of a program. It's the " "equivalent of the ``switch`` statement found in many other languages, but " "offers some additional features." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:874 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:882 msgid "Basic syntax::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:885 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:893 msgid "**Crash-course for people who are familiar with switch statements**:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:887 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:895 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:888 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:896 msgid "Remove ``case``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:889 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:897 msgid "" "Remove any ``break``\\ s. If you don't want to ``break`` by default, you can " "use ``continue`` for a fallthrough." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:890 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:898 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:893 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:901 msgid "**Control flow**:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:895 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:903 msgid "" "The patterns are matched from top to bottom. If a pattern matches, the first " "corresponding block will be executed. After that, the execution continues " @@ -16174,134 +16212,134 @@ msgid "" "the current block and check for an additional match in the patterns below it." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:899 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:907 msgid "There are 6 pattern types:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:911 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:919 msgid "Constant pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:902 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:910 msgid "Constant primitives, like numbers and strings::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:923 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:931 msgid "Variable pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:914 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:922 msgid "Matches the contents of a variable/enum::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:937 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:945 msgid "Wildcard pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:926 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:934 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:928 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:936 msgid "" "It can be used as the equivalent of the ``default`` in a ``switch`` " "statement in other languages::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:950 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:958 msgid "Binding pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:940 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:948 msgid "" "A binding pattern introduces a new variable. Like the wildcard pattern, it " "matches everything - and also gives that value a name. It's especially " "useful in array and dictionary patterns::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:971 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:979 msgid "Array pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:953 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:961 msgid "" "Matches an array. Every single element of the array pattern is a pattern " "itself, so you can nest them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:955 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:963 msgid "" "The length of the array is tested first, it has to be the same size as the " "pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:957 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:965 msgid "" "**Open-ended array**: An array can be bigger than the pattern by making the " "last subpattern ``..``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:959 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:967 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:998 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1006 msgid "Dictionary pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:974 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:982 msgid "" "Works in the same way as the array pattern. Every key has to be a constant " "pattern." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:976 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:984 msgid "" "The size of the dictionary is tested first, it has to be the same size as " "the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:978 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:986 msgid "" "**Open-ended dictionary**: A dictionary can be bigger than the pattern by " "making the last subpattern ``..``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:980 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:988 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:982 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:990 msgid "" "If you don't specify a value, then only the existence of the key is checked." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:984 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:992 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1011 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1019 msgid "Multiple patterns" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1001 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1009 msgid "" "You can also specify multiple patterns separated by a comma. These patterns " "aren't allowed to have any bindings in them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1014 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1022 msgid "Classes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1016 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1024 msgid "" "By default, all script files are unnamed classes. In this case, you can only " "reference them using the file's path, using either a relative or an absolute " "path. For example, if you name a script file ``character.gd``::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1029 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1037 msgid "" "Instead, you can give your class a name to register it as a new type in " "Godot's editor. For that, you use the ``class_name`` keyword. You can add an " @@ -16309,11 +16347,11 @@ msgid "" "class will then appear with its new icon in the editor::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1041 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1049 msgid "Here's a class file example:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1063 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1071 msgid "" "Godot's class syntax is compact: it can only contain member variables or " "functions. You can use static functions, but not static member variables. In " @@ -16323,48 +16361,48 @@ msgid "" "without the user knowing." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1071 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1079 #: ../../docs/getting_started/scripting/cross_language_scripting.rst:204 msgid "Inheritance" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1073 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1081 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1075 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1083 msgid "A global class." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1076 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1084 msgid "Another class file." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1077 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1085 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1079 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1087 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1081 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1089 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1093 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1101 msgid "" "To check if a given instance inherits from a given class, the ``is`` keyword " "can be used::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1105 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1113 msgid "" "To call a function in a *parent class* (i.e. one ``extend``-ed in your " "current class), prepend ``.`` to the function name::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1110 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1118 msgid "" "This is especially useful because functions in extending classes replace " "functions with the same name in their parent classes. If you still want to " @@ -16372,7 +16410,7 @@ msgid "" "other languages)::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1118 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1126 msgid "" "Default functions like ``_init``, and most notifications such as " "``_enter_tree``, ``_exit_tree``, ``_process``, ``_physics_process``, etc. " @@ -16380,11 +16418,11 @@ msgid "" "them explicitly when overloading them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1125 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1133 msgid "Class Constructor" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1127 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1135 msgid "" "The class constructor, called on class instantiation, is named ``_init``. As " "mentioned earlier, the constructors of parent classes are called " @@ -16392,22 +16430,22 @@ msgid "" "``._init()`` explicitly." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1132 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1140 msgid "" "Unlike the call of a regular function, like in the above example with ``." "some_func``, if the constructor from the inherited class takes arguments, " "they are passed like this::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1139 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1147 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1162 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1170 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1164 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1172 msgid "" "If the inherited class (``State.gd``) defines a ``_init`` constructor that " "takes arguments (``e`` in this case), then the inheriting class (``Idle." @@ -16415,19 +16453,19 @@ msgid "" "``_init`` from ``State.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1167 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1175 msgid "" "``Idle.gd`` can have a different number of arguments than the parent class " "``State.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1168 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1176 msgid "" "In the example above, ``e`` passed to the ``State.gd`` constructor is the " "same ``e`` passed in to ``Idle.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1170 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1178 msgid "" "If ``Idle.gd``'s ``_init`` constructor takes 0 arguments, it still needs to " "pass some value to the ``State.gd`` parent class, even if it does nothing. " @@ -16435,21 +16473,21 @@ msgid "" "constructor as well, not just variables. eg.::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1180 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1188 msgid "Inner classes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1182 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1190 msgid "" "A class file can contain inner classes. Inner classes are defined using the " "``class`` keyword. They are instanced using the ``ClassName.new()`` function." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1207 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1215 msgid "Classes as resources" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1209 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1217 msgid "" "Classes stored as files are treated as :ref:`resources `. " "They must be loaded from disk to access them in other classes. This is done " @@ -16458,33 +16496,33 @@ msgid "" "class object::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1226 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1234 msgid "Exports" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1230 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1238 msgid "" "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1233 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1241 msgid "Setters/getters" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1235 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1243 msgid "" "It is often useful to know when a class' member variable changes for " "whatever reason. It may also be desired to encapsulate its access in some " "way." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1238 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1246 msgid "" "For this, GDScript provides a *setter/getter* syntax using the ``setget`` " "keyword. It is used directly after a variable definition:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1245 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1253 msgid "" "Whenever the value of ``variable`` is modified by an *external* source (i.e. " "not from local usage in the class), the *setter* function (``setterfunc`` " @@ -16494,28 +16532,28 @@ msgid "" "``return`` the desired value. Below is an example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1261 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1269 msgid "Either of the *setter* or *getter* functions can be omitted::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1268 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1276 msgid "" "Setters and getters are useful when :ref:`exporting variables " "` to the editor in tool scripts or plugins, for " "validating input." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1271 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1279 msgid "" "As said, *local* access will *not* trigger the setter and getter. Here is an " "illustration of this:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1288 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1296 msgid "Tool mode" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1290 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1298 msgid "" "By default, scripts don't run inside the editor and only the exported " "properties can be changed. In some cases, it is desired that they do run " @@ -16524,22 +16562,22 @@ msgid "" "top of the file::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1304 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1312 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1306 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1314 msgid "" "Be cautious when freeing nodes with ``queue_free()`` or ``free()`` in a tool " "script (especially the script's owner itself). As tool scripts run their " "code in the editor, misusing them may lead to crashing the editor." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1312 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1320 msgid "Memory management" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1314 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1322 msgid "" "If a class inherits from :ref:`class_Reference`, then instances will be " "freed when no longer in use. No garbage collector exists, just reference " @@ -16550,20 +16588,20 @@ msgid "" "creating weak references." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1322 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1330 msgid "" "Alternatively, when not using references, the " "``is_instance_valid(instance)`` can be used to check if an object has been " "freed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1331 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1339 msgid "" "Signals are a tool to emit messages from an object that other objects can " "react to. To create custom signals for a class, use the ``signal`` keyword." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1344 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1352 msgid "" "Signals are a `Callback `_ mechanism. They also fill the role of " @@ -16572,31 +16610,31 @@ msgid "" "the Game Programming Patterns ebook." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1351 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1359 msgid "" "You can connect these signals to methods the same way you connect built-in " "signals of nodes like :ref:`class_Button` or :ref:`class_RigidBody`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1354 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1362 msgid "" "In the example below, we connect the ``health_depleted`` signal from a " "``Character`` node to a ``Game`` node. When the ``Character`` node emits the " "signal, the game node's ``_on_Character_health_depleted`` is called::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1376 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1378 msgid "" "Here is an example where this is useful. Let's say we want a life bar on " "screen to react to health changes with an animation, but we want to keep the " "user interface separate from the player in our scene tree." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1374 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1382 msgid "" "In our ``Character.gd`` script, we define a ``health_changed`` signal and " "emit it with :ref:`Object.emit_signal() `, " @@ -16605,32 +16643,32 @@ msgid "" "method::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1415 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1423 msgid "" "To use signals, your class has to extend the ``Object`` class or any type " "extending it like ``Node``, ``KinematicBody``, ``Control``..." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1418 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1426 msgid "" "In the ``Game`` node, we get both the ``Character`` and ``Lifebar`` nodes, " "then connect the character, that emits the signal, to the receiver, the " "``Lifebar`` node in this case." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1432 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1440 msgid "" "This allows the ``Lifebar`` to react to health changes without coupling it " "to the ``Character`` node." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1435 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1443 msgid "" "You can write optional argument names in parentheses after the signal's " "definition::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1449 msgid "" "These arguments show up in the editor's node dock, and Godot can use them to " "generate callback functions for you. However, you can still emit any number " @@ -16638,7 +16676,7 @@ msgid "" "values." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1447 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1455 msgid "" "GDScript can bind an array of values to connections between a signal and a " "method. When the signal is emitted, the callback method receives the bound " @@ -16646,14 +16684,14 @@ msgid "" "will stay the same." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1452 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1460 msgid "" "You can use this array of values to add extra constant information to the " "connection if the emitted signal itself doesn't give you access to all the " "data that you need." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1456 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1464 msgid "" "Building on the example above, let's say we want to display a log of the " "damage taken by each character on the screen, like ``Player1 took 22 damage." @@ -16662,17 +16700,17 @@ msgid "" "can add the character's name in the binds array argument::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1470 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1478 msgid "" "Our ``BattleLog`` node receives each element in the binds array as an extra " "argument::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1483 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1491 msgid "Coroutines with yield" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1485 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1493 msgid "" "GDScript offers support for `coroutines `_ via the :ref:`yield` built-in " @@ -16683,56 +16721,56 @@ msgid "" "becomes invalid. Here is an example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1506 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1527 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1514 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1535 msgid "Will print::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1512 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1520 msgid "" "It is also possible to pass values between ``yield()`` and ``resume()``, for " "example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1533 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1541 msgid "" "Remember to save the new function state, when using multiple ``yield``\\s::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1548 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1556 msgid "Coroutines & signals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1550 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1558 msgid "" "The real strength of using ``yield`` is when combined with signals. " "``yield`` can accept two arguments, an object and a signal. When the signal " "is received, execution will recommence. Here are some examples::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1563 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1571 msgid "" "Coroutines themselves use the ``completed`` signal when they transition into " "an invalid state, for example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1575 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1583 msgid "" "``my_func`` will only continue execution once both buttons have been pressed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1577 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1585 msgid "You can also get the signal's argument once it's emitted by an object:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1584 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1592 msgid "" "If you're unsure whether a function may yield or not, or whether it may " "yield multiple times, you can yield to the ``completed`` signal " "conditionally:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1606 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1614 msgid "" "This ensures that the function returns whatever it was supposed to return " "regardless of whether coroutines were used internally. Note that using " @@ -16740,11 +16778,11 @@ msgid "" "emitted when the function didn't yield anymore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1612 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1620 msgid "Onready keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1614 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1622 msgid "" "When using nodes, it's common to desire to keep references to parts of the " "scene in a variable. As scenes are only warranted to be configured when " @@ -16752,7 +16790,7 @@ msgid "" "call to ``Node._ready()`` is made." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1627 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1635 msgid "" "This can get a little cumbersome, especially when nodes and external " "references pile up. For this, GDScript has the ``onready`` keyword, that " @@ -16760,11 +16798,11 @@ msgid "" "can replace the above code with a single line::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1635 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1643 msgid "Assert keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1637 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1645 msgid "" "The ``assert`` keyword can be used to check conditions in debug builds. " "These assertions are ignored in non-debug builds. This means that the " @@ -16774,7 +16812,7 @@ msgid "" "depending on whether the project is run in a debug build." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1649 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1657 msgid "" "When running a project from the editor, the project will be paused if an " "assertion error occurs." @@ -17211,7 +17249,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_exports.rst:33 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:184 #: ../../docs/tutorials/physics/using_area_2d.rst:132 -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:190 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:192 #: ../../docs/development/compiling/compiling_with_mono.rst:123 msgid "Examples" msgstr "" @@ -17466,7 +17504,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:327 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:347 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:373 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:697 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:744 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:65 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:84 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:111 @@ -17488,7 +17526,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:334 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:354 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:383 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:705 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:752 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:73 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:92 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:121 @@ -17655,13 +17693,48 @@ msgid "" "characters in a given string. See the examples below:" msgstr "" +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:422 +msgid "Numbers" +msgstr "" + #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:424 +msgid "" +"Don't omit the leading or trailing zero in floating-point numbers. " +"Otherwise, this makes them less readable and harder to distinguish from " +"integers at a glance." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:428 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:452 +msgid "**Good**::" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:433 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:445 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:460 +msgid "**Bad**::" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:438 +msgid "" +"Use lowercase for letters in hexadecimal numbers, as their lower height " +"makes the number easier to read." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:449 +msgid "" +"Take advantage of GDScript's underscores in literals to make large numbers " +"more readable." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:471 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:197 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:293 msgid "Naming conventions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:426 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:473 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:295 msgid "" "These naming conventions follow the Godot Engine style. Breaking these will " @@ -17669,88 +17742,88 @@ msgid "" "inconsistent code." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:431 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:478 msgid "File names" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:433 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:480 msgid "" "Use snake_case for file names. For named classes, convert the PascalCase " "class name to snake_case::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:446 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:493 msgid "" "This is consistent with how C++ files are named in Godot's source code. This " "also avoids case sensitivity issues that can crop up when exporting a " "project from Windows to other platforms." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:451 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:498 msgid "Classes and nodes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:453 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:500 msgid "Use PascalCase for class and node names:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:459 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:506 msgid "Also use PascalCase when loading a class into a constant or a variable:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:466 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:513 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:300 msgid "Functions and variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:468 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:515 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:302 msgid "Use snake\\_case to name functions and variables:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:475 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:522 msgid "" "Prepend a single underscore (\\_) to virtual methods functions the user must " "override, private functions, and private variables:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:486 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:533 msgid "Use the past tense to name signals:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:494 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:541 msgid "Constants and enums" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:496 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:543 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:313 msgid "" "Write constants with CONSTANT\\_CASE, that is to say in all caps with an " "underscore (\\_) to separate words:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:503 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:550 msgid "" "Use PascalCase for enum *names* and CONSTANT\\_CASE for their members, as " "they are constants:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:517 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:564 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:321 msgid "Code order" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:519 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:566 msgid "" "This first section focuses on code order. For formatting, see :ref:" "`formatting`. For naming conventions, see :ref:`naming_conventions`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:522 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:569 msgid "We suggest to organize GDScript code this way:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:545 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:592 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:340 msgid "" "We optimized the order to make it easy to read the code from top to bottom, " @@ -17758,79 +17831,79 @@ msgid "" "works, and to avoid errors linked to the order of variable declarations." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:549 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:596 msgid "This code order follows four rules of thumb:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:551 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:598 msgid "Properties and signals come first, followed by methods." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:552 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:599 msgid "Public comes before private." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:553 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:600 msgid "Virtual callbacks come before the class's interface." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:554 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:601 msgid "" "The object's construction and initialization functions, ``_init`` and " "``_ready``, come before functions that modify the object at runtime." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:559 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:606 msgid "Class declaration" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:561 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:608 msgid "" "If the code is meant to run in the editor, place the ``tool`` keyword on the " "first line of the script." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:564 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:611 msgid "" "Follow with the `class_name` if necessary. You can turn a GDScript file into " "a global type in your project using this feature. For more information, see :" "ref:`doc_gdscript`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:568 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:615 msgid "Then, add the `extends` keyword if the class extends a built-in type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:570 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:617 msgid "" "Following that, you should have the class's optional docstring as comments. " "You can use that to explain the role of your class to your teammates, how it " "works, and how other developers should use it, for example." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:582 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:629 msgid "Signals and properties" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:584 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:631 msgid "" "Write signal declarations, followed by properties, that is to say, member " "variables, after the docstring." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:587 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:634 msgid "" "Enums should come after signals, as you can use them as export hints for " "other properties." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:590 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:637 msgid "" "Then, write constants, exported variables, public, private, and onready " "variables, in that order." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:615 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:662 msgid "" "The GDScript compiler evaluates onready variables right before the " "``_ready`` callback. You can use that to cache node dependencies, that is to " @@ -17838,12 +17911,12 @@ msgid "" "the example above shows." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:621 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:668 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:268 msgid "Member variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:623 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:670 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:270 msgid "" "Don't declare member variables if they are only used locally in a method, as " @@ -17851,13 +17924,13 @@ msgid "" "variables in the method's body." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:628 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:675 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:275 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:351 msgid "Local variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:630 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:677 #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:277 #: ../../docs/tutorials/shading/godot_shader_language_style_guide.rst:353 msgid "" @@ -17866,67 +17939,67 @@ msgid "" "where the variable was declared." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:635 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:682 msgid "Methods and static functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:637 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:684 msgid "After the class's properties come the methods." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:639 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:686 msgid "" "Start with the ``_init()`` callback method, that the engine will call upon " "creating the object in memory. Follow with the ``_ready()`` callback, that " "Godot calls when it adds a node to the scene tree." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:643 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:690 msgid "" "These functions should come first because they show how the object is " "initialized." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:646 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:693 msgid "" "Other built-in virtual callbacks, like ``_unhandled_input()`` and " "``_physics_process``, should come next. These control the object's main loop " "and interactions with the game engine." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:650 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:697 msgid "" "The rest of the class's interface, public and private methods, come after " "that, in that order." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:687 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:734 msgid "Static typing" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:689 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:736 msgid "" "Since Godot 3.1, GDScript supports :ref:`optional static " "typing`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:692 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:739 msgid "Type hints" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:694 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:741 msgid "" "Place the colon right after the variable's name, without a space, and let " "the GDScript compiler infer the variable's type when possible." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:713 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:760 msgid "" "When you let the compiler infer the type hint, write the colon and equal " "signs together: ``:=``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:719 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:766 msgid "" "Add a space on either sides of the return type arrow when defining functions." msgstr "" @@ -19429,7 +19502,7 @@ msgstr "" #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:270 msgid "" "As it can be seen above, there are two nodes available: A simple getter, and " -"a sequenced getter (setting requires a sequence port)." +"a sequenced setter (setting requires a sequence port)." msgstr "" #: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:274 @@ -21986,553 +22059,16 @@ msgid "" "exists in projects that use the Mono version of Godot." msgstr "" -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:2 -msgid "Blender ESCN exporter" +#: ../../docs/getting_started/workflow/project_setup/version_control_systems.rst:40 +msgid "Working with Git on Windows" msgstr "" -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:4 +#: ../../docs/getting_started/workflow/project_setup/version_control_systems.rst:42 msgid "" -"This chapter relates to the Blender plugin called \"Godot Blender Exporter" -"\", which can be downloaded here: https://github.com/godotengine/godot-" -"blender-exporter" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:7 -msgid "" -"This plugin can be used to export Blender scenes in a Godot-specific scene " -"format called ESCN, which is similar to TSCN (text format) but will be " -"imported as binary SCN for performance." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:12 -msgid "Details on exporting" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:27 -msgid "Disabling specific objects" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:29 -msgid "" -"Sometimes you don't want some objects exported (e.g. high-res models used " -"for baking). An object will not be exported if it is not rendered in the " -"scene. This can be set in the outliner:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:35 -msgid "" -"Objects hidden in the viewport will be exported, but will be hidden in the " -"Godot scene." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:40 -msgid "Build pipeline integration" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:42 -msgid "" -"If you have hundreds of model files, you don't want your artists to waste " -"time manually exporting their blend files. To combat this, the exporter " -"provides a python function ``io_scene_godot.export(out_file_path)`` that can " -"be called to export a file. This allows easy integration with other build " -"systems. An example Makefile and python script that exports all the blends " -"in a directory are present in the Godot-Blender-exporter repository." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:2 -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:157 -#: ../../docs/tutorials/3d/using_gridmaps.rst:60 -msgid "Materials" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:5 -msgid "Using existing Godot materials" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:7 -msgid "" -"One way in which the exporter can handle materials is to attempt to match " -"the Blender material with an existing Godot material. This has the advantage " -"of being able to use all of the features of Godot's material system, but it " -"means that you cannot see your model with the material applied inside " -"Blender." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:12 -msgid "" -"To do this, the exporter attempts to find Godot materials with names that " -"match those of the material name in Blender. So if you export an object in " -"Blender with the material name ``PurpleDots`` then the exporter will search " -"for the file ``PurpleDots.tres`` and assign it to the object. If this file " -"is not a ``SpatialMaterial`` or ``ShaderMaterial`` or if it cannot be found, " -"then the exporter will fall back to exporting the material from Blender." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:20 -msgid "" -"Where the exporter searches for the ``.tres`` file is determined by the " -"\"Material Search Paths\" option:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:34 -msgid "This can take the value of:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:26 -msgid "" -"Project Directory - Attempts to find the ``project.Godot`` and recursively " -"searches through subdirectories. If ``project.Godot`` cannot be found it " -"will throw an error. This is useful for most projects where naming conflicts " -"are unlikely." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:30 -msgid "" -"Export Directory - Look for materials in subdirectories of the export " -"location. This is useful for projects where you may have duplicate material " -"names and need more control over what material gets assigned." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:33 -msgid "None - Do not search for materials. Export them from the Blender file." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:37 -msgid "Export of Cycles/EEVEE materials" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:39 -msgid "" -"The exporter has a primitive support for converting Cycles/EEVEE material " -"node tree to Godot Shader Material. Note that some of the Shader Node are " -"not supported yet due to difficulties in implementation, which are:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:43 -msgid "all the ``noisy textures``" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:44 -msgid "``generated texture coordinates``" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:45 -msgid "``group node``" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:46 -msgid "" -"shader nodes except ``PrincipledBSDF``, ``Diffuse``, ``Glossy``, ``Glass``, " -"``add shader`` and ``mix shader``" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:50 -msgid "" -"If possible, try to use PrincipledBSDF node with GGX distribution as the " -"output shader node, it is the only one guaranteed to be exactly correct. " -"Others are just based on approximation." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:53 -msgid "" -"Sometimes materials may not be valid for exporting (e.g. has some " -"unsupported node) or it is using Blender Internal Engine, only the diffuse " -"color and a few flags (e.g. unshaded) are exported and form a Spatial " -"Material." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:59 -msgid "Generate external materials" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:61 -msgid "" -"The default configuration of material exporting would keep all the materials " -"internal to the ``escn`` file. There is an option which could enable " -"generating external ``.material`` file when the ``escn`` file opens in Godot." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:67 -msgid "" -"``.material`` file can be assigned to any material slot to be a external " -"resource." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:2 -msgid "Physics properties" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:4 -msgid "" -"Exporting physics properties is done by enabling \"Rigid Body\" in Blender's " -"physics tab:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:10 -msgid "" -"By default, a single Blender object with rigid body enabled will export as " -"three nodes: a PhysicsBody, a CollisionShape, and a MeshInstance." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:14 -msgid "Body type" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:16 -msgid "" -"Blender only has the concept of \"Active\" and \"Passive\" rigid bodies. " -"These turn into Static and RigidBody nodes. To create a kinematic body, " -"enable the \"animated\" checkbox on an \"Active\" body:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:23 -#: ../../docs/tutorials/2d/using_tilemaps.rst:110 -#: ../../docs/tutorials/physics/physics_introduction.rst:55 -msgid "Collision shapes" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:25 -msgid "" -"Many of the parameters for collision shapes are missing from Blender, and " -"many of the collision shapes are also not present. However, almost all of " -"the options in Blender's rigid body collision and rigid body dynamics " -"interfaces are supported:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:39 -msgid "There are the following caveats:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:33 -msgid "" -"Not all of the collision shapes are supported. Only ``Mesh``, ``Convex " -"Hull``, ``Capsule``, ``Sphere`` and ``Box`` are supported in both Blender " -"and Godot" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:36 -msgid "" -"In Godot, you can have different collision groups and collision masks. In " -"Blender you only have collision groups. As a result, the exported object's " -"collision mask is equal to its collision group. Most of the time, this is " -"what you want." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:42 -msgid "" -"To build compound physics shapes, parent together multiple objects with " -"rigid body enabled. The physics properties are taken from the parent-most " -"rigid body, and the rest are used as collision shapes." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:47 -msgid "Collision geometry only" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:49 -msgid "" -"Frequently you want different geometry for your collision meshes and your " -"graphical meshes, but by default, the exporter will export a mesh along with " -"the collision shape. To only export the collision shape, set the object's " -"maximum draw type to Wire:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:56 -msgid "" -"This will also influence how the object is shown in Blender's viewport. Most " -"of the time, you want your collision geometry to be shown see-through when " -"working on the models, so this works out fairly nicely." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:2 -#: ../../docs/tutorials/2d/2d_lights_and_shadows.rst:68 -#: ../../docs/tutorials/3d/introduction_to_3d.rst:223 -#: ../../docs/tutorials/optimization/batching.rst:152 -msgid "Lights" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:4 -msgid "" -"By default, lamps in Blender have shadows enabled. This can cause " -"performance issues in Godot." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:8 -msgid "" -"Lamps are exported using their \"Blender Render\" settings. When Blender 2.8 " -"is released, this will be removed and this part of the exporter will change." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:11 -msgid "" -"Sun, point and spot lamps are all exported from Blender along with many of " -"their properties:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:16 -msgid "There are some things to note:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:18 -msgid "" -"In Blender, a light casts light all the way to infinity. In Godot, it is " -"clamped by the attenuation distance. To most closely match between the " -"viewport and Godot, enable the \"Sphere\" checkbox. (Highlighted green)" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:21 -msgid "" -"Light attenuation models differ between Godot and Blender. The exporter " -"attempts to make them match, but it isn't always very good." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:23 -msgid "" -"Spotlight angular attenuation models also differ between Godot and Blender. " -"The exporter attempts to make them similar, but it doesn't always look the " -"same." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:26 -msgid "" -"There is no difference between buffer shadow and ray shadow in the export." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:2 -msgid "Mesh" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:5 -msgid "Modifiers" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:6 -msgid "" -"There is an exporting option :code:`Apply Modifiers` to control whether mesh " -"modifiers are applied to the exported mesh." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:11 -msgid "Shape Key" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:12 -msgid "" -"Exporting mesh shape key is supported, however exporting each shape key is " -"almost like exporting the mesh again, so don't be surprised it takes a " -"relatively long time." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:17 -msgid "" -"A lot of modifiers are not compatible with shape keys (e.g. subsurface " -"modifier), so if you found you have incorrect shape keys exported, try to " -"disable :code:`Apply Modifiers` and do the exporting again. Besides, it is " -"worthwhile to report the incompatible modifier to the `issue list `__, which helps to " -"develop the exporter to have a more precise check of modifiers." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:2 -#: ../../docs/development/file_formats/tscn.rst:163 -msgid "Skeleton" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:7 -msgid "Rest Bone" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:9 -msgid "" -"Armature object in Blender is exported as a Skeleton node along with rest " -"position (transform in Godot) of bones." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:13 -msgid "" -"The three check boxes :code:`Inherit Rotation`, :code:`Inherit Scale`, :code:" -"`Local Location` (colored in red) must be ticked when building armature in " -"Blender, so that the exported bone transform be consistent between Blender " -"and Godot" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:18 -msgid "" -"It is important that the mesh is not deformed by bones when exporting in " -"Blender. Make sure that the skeleton is reset to its T-pose or default rest " -"pose." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:22 -msgid "Bone Weights" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:24 -msgid "" -"Blender put rigged mesh vertices which has no bone weights at its original " -"position, but these vertices would be placed at (0, 0, 0) in Godot, making " -"the mesh deformed. Therefore, the exporter would raise an error for any " -"vertex with no bone weights detected in a rigged mesh." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:30 -msgid "Non-Deform Bone" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:32 -msgid "" -"Note that the non-deform bone can be configured as not exported by enabling " -"the :code:`Exclude Control Bones`; the deform bone checkbox is shown in the " -"picture." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:38 -msgid "Bone Attachment" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:39 -msgid "" -"A bone can be the parent of an object in Blender; this relation is exported " -"as a BoneAttachment node in the Godot scene." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:8 -msgid "Animation supported:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:4 -msgid "transform animation of all types of objects" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:5 -msgid "transform animation of pose bones" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:6 -msgid "shape key animation" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:7 -msgid "light animation" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:8 -msgid "camera animation" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:11 -msgid "Multiple Actions For Single Object" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:12 -msgid "" -"In most games, one object would have several animations to switch between. " -"This add-on has support for exporting multiple actions all at once into a " -"single AnimationPlayer and makes it easy to switch actions." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:16 -msgid "" -"This workflow makes use of blender nla_tracks. Here is a brief guide on how " -"to use this feature:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:19 -msgid "**1. Stash active action**" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:21 -msgid "" -"New created action is always an active action bound to object. There are " -"several ways to place an active action into NLA track, one is of course " -"doing it in ``NLA Editor``" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:28 -msgid "Or it can be done stashing the action in ``Dope Sheet``" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:33 -msgid "**2. Check mute status of NLA tracks**" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:35 -msgid "" -"An NLA track can be ``mute`` or ``unmute``, the exporter will export all the " -"``mute`` NLA track as a separate action, while blends all the ``unmute`` NLA " -"tracks into every action (including the action action) being exported." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:41 -msgid "**3. Export the scene**" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:43 -msgid "Make sure the ``Export Stashed Actions`` option has been turned on." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:47 -msgid "" -"Then all the stashed actions, as well as the active action, are exported to " -"an AnimationPlayer." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:54 -msgid "Constraints" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:55 -msgid "" -"Sometimes complicated animation is built with object constraint; a usual " -"example is inverse kinematics. The add-on would automatically check if an " -"object has some constraint; if it does, all the constraints are baked into " -"actions and then exported along with the object." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:62 -msgid "Animation Mode" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:63 -msgid "" -"Godot and Blender have different structure to store animation data. In Godot " -"animation data is stored in an AnimationPlayer node, instead of in each " -"animated node. In order to fix this inconsistence and still make the " -"animation play versatile, this add-on has three animation exporting modes." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:70 -msgid "**Mode 'Animation as Actions'**" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:72 -msgid "" -"Treat all the animations as object actions, so in the exported scene, every " -"object would have its own AnimationPlayer and hold its actions." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:76 -msgid "**Mode 'Scene Animation'**" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:78 -msgid "" -"If you want your animation to generate the same result as playing at " -"Blender's timeline, this is what you want. In this mode, all the animations " -"in the scene are placed in just one AnimationPlayer in the scene root." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:82 -msgid "**Mode 'Animation as Action with Squash'**" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:84 -msgid "" -"This mode has very similar behavior of mode 'Animation as Action', but it " -"can generate fewer AnimationPlayers; objects in parent-children relationship " -"would share their AnimationPlayer. It is useful when you have several rigs, " -"and each Skeleton and Mesh has actions; then one rig would have just one " -"AnimationPlayer." +"Most Git for Windows clients are configured with the ``core.autocrlf`` set " +"to ``true``. This can lead to files unnecessarily being marked as modified " +"by Git due to their line endings being converted automatically. It is better " +"to set this option as::" msgstr "" #: ../../docs/getting_started/workflow/assets/index.rst:2 @@ -22557,7 +22093,7 @@ msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:14 msgid "" -"In Godot 3.0, we use a more modern approach to importing: Simply drop your " +"In Godot 3.0+, we use a more modern approach to importing: Simply drop your " "assets (image files, scenes, audio files, fonts, etc) directly in the " "project folder (copy them manually with your OS file explorer). Godot will " "automatically import these files internally and keep the imported resources " @@ -22565,60 +22101,92 @@ msgid "" msgstr "" #: ../../docs/getting_started/workflow/assets/import_process.rst:20 -msgid "This allows changing all the import parameters transparently." +msgid "" +"This means that when trying to access imported assets through code you need " +"to use the :ref:`Resource Loader` as it will " +"automatically take into account where the internal files are saved. If you " +"try and access an imported asset using the :ref:`File ` class it " +"will work in the editor, but break in the exported project." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:23 +#: ../../docs/getting_started/workflow/assets/import_process.rst:26 +msgid "" +"However, the :ref:`Resource Loader` cannot access non " +"imported files, only the :ref:`File ` class can." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:30 msgid "Changing import parameters" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:25 +#: ../../docs/getting_started/workflow/assets/import_process.rst:32 msgid "" -"Changing the import parameters of an asset in Godot (again, keep in mind " -"import parameters are only present in non-native Godot resource types) is " -"easy. Select the relevant resource in the filesystem dock:" +"To change the import parameters of an asset in Godot (again, keep in mind " +"import parameters are only present in non-native Godot resource types) " +"select the relevant resource in the filesystem dock:" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:31 +#: ../../docs/getting_started/workflow/assets/import_process.rst:38 msgid "" "Then, after adjusting the parameters, press \"Reimport\". These parameters " "will only be used for this asset and on future reimports." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:34 +#: ../../docs/getting_started/workflow/assets/import_process.rst:41 msgid "" "Changing the import parameters of several assets at the same time is also " "possible. Simply select all of them together in the resources dock and the " "exposed parameters will apply to all of them when reimporting." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:39 +#: ../../docs/getting_started/workflow/assets/import_process.rst:46 +msgid "Reimporting multiple assets" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:48 +msgid "" +"While working on a project you may find that several assets need to have the " +"same parameters changed, such as enabling mipmaps, but you only want those " +"specific parameters changed. To do this, select every asset you want to " +"reimport in the file system. In the import tab there will now be a checkbox " +"to the left of every import parameter." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:56 +msgid "" +"Select the checkbox of the parameters you want to change on your imported " +"assets, then change the parameters normally. Finally, click the reimport " +"button and every selected asset will be reimported with only those " +"parameters changed." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/import_process.rst:62 msgid "Automatic reimport" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:41 +#: ../../docs/getting_started/workflow/assets/import_process.rst:64 msgid "" "When the MD5 checksum of the source asset changes, Godot will perform an " "automatic reimport of it, applying the preset configured for that specific " "asset." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:46 +#: ../../docs/getting_started/workflow/assets/import_process.rst:69 msgid "Files generated" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:48 +#: ../../docs/getting_started/workflow/assets/import_process.rst:71 msgid "" "Importing will add an extra .import file, containing the import " "configuration. Make sure to commit these to your version control system!" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:53 +#: ../../docs/getting_started/workflow/assets/import_process.rst:76 msgid "" "Additionally, extra assets will be preset in the hidden res://.import folder:" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:57 +#: ../../docs/getting_started/workflow/assets/import_process.rst:80 msgid "" "If any of the files present in this folder is erased (or the whole folder), " "the asset or assets will be reimported automatically. As such, committing " @@ -22627,21 +22195,21 @@ msgid "" "considerably more space and transfer time. Pick your poison!" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:64 +#: ../../docs/getting_started/workflow/assets/import_process.rst:87 msgid "Changing import resource type" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:66 +#: ../../docs/getting_started/workflow/assets/import_process.rst:89 msgid "" "Some source assets can be imported as different types of resources. For " "this, select the relevant type of resource desired and press \"Reimport\":" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:74 +#: ../../docs/getting_started/workflow/assets/import_process.rst:97 msgid "Changing default import parameters" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:76 +#: ../../docs/getting_started/workflow/assets/import_process.rst:99 msgid "" "Different types of games might require different defaults. Changing the " "defaults per project can be achieved by using the \"Preset..\" Menu. Besides " @@ -22649,17 +22217,17 @@ msgid "" "cleared too:" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:84 +#: ../../docs/getting_started/workflow/assets/import_process.rst:107 msgid "Simplicity is key!" msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:86 +#: ../../docs/getting_started/workflow/assets/import_process.rst:109 msgid "" "This is a very simple workflow which should take very little time to get " "used to. It also enforces a more correct way to deal with resources." msgstr "" -#: ../../docs/getting_started/workflow/assets/import_process.rst:89 +#: ../../docs/getting_started/workflow/assets/import_process.rst:112 msgid "" "There are many types of assets available for import, so please continue " "reading to understand how to work with all of them!" @@ -22670,99 +22238,54 @@ msgid "Importing images" msgstr "" #: ../../docs/getting_started/workflow/assets/importing_images.rst:7 -msgid "Why import them?" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:9 -msgid "" -"In Godot 3+, image files are no longer native resources and they must be " -"imported. The reason behind this is the large amount of configuration " -"parameters that image files can be imported with." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:13 -msgid "" -"This small tutorial will explain what these parameters are and how to best " -"make use of them." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:17 -msgid "Importing textures" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:19 -msgid "" -"The default action in Godot is to import images as textures. Textures are " -"stored in video memory and can't be accessed directly. This is what makes " -"drawing them efficient." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:23 -msgid "Import options are vast:" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:28 -msgid "Detect 3D" -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:30 -msgid "" -"This option makes Godot be aware of when a texture (which is imported for 2D " -"as default) is used in 3D. If this happens, setting are changed so the " -"texture flags are friendlier to 3D (mipmaps, filter and repeat become " -"enabled and compression is changed to VRAM). Texture is also reimported " -"automatically." -msgstr "" - -#: ../../docs/getting_started/workflow/assets/importing_images.rst:36 msgid "Supported image formats" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:38 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:9 msgid "Godot can import the following image formats:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:40 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:11 msgid "" "BMP (``.bmp``) - No support for 16-bit per pixel images. Only 1-bit, 4-bit, " "8-bit, 24-bit, and 32-bit per pixel images are supported." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:42 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:13 msgid "" "DirectDraw Surface (``.dds``) - If mipmaps are present in the texture, they " "will be loaded directly. This can be used to achieve effects using custom " "mipmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:45 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:16 msgid "" "OpenEXR (``.exr``) - Supports HDR (highly recommended for panorama skies)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:47 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:18 msgid "" "Radiance HDR (``.hdr``) - Supports HDR (highly recommended for panorama " "skies)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:49 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:20 msgid "" "JPEG (``.jpg``, ``.jpeg``) - Doesn't support transparency per the format's " "limitations." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:51 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:22 msgid "" "PNG (``.png``) - Precision is limited to 8 bits per channel upon importing " "(no HDR images)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:53 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:24 msgid "Truevision Targa (``.tga``)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:54 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:25 msgid "" "SVG (``.svg``, ``.svgz``) - SVGs are rasterized using `NanoSVG `__ when importing them. Support is limited; " @@ -22772,32 +22295,60 @@ msgid "" "wiki/index.php/Using_the_Command_Line#Export_files>`__." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:59 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:30 msgid "WebP (``.webp``)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:63 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:34 msgid "" "If you've compiled the Godot editor from source with specific modules " "disabled, some formats may not be available." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:67 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:38 +msgid "Importing textures" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:40 +msgid "" +"The default action in Godot is to import images as textures. Textures are " +"stored in video memory and can't be accessed directly. This is what makes " +"drawing them efficient." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:44 +msgid "Import options are vast:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:49 +msgid "Detect 3D" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:51 +msgid "" +"This option makes Godot be aware of when a texture (which is imported for 2D " +"as default) is used in 3D. If this happens, setting are changed so the " +"texture flags are friendlier to 3D (mipmaps, filter and repeat become " +"enabled and compression is changed to VRAM). Texture is also reimported " +"automatically." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:55 msgid "Compression" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:69 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:57 msgid "" "Images are one of the largest assets in a game. To handle them efficiently, " "they need to be compressed. Godot offers several compression methods, " "depending on the use case." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:73 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:61 msgid "Compress Mode" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:75 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:63 msgid "" "**VRAM Compression:** This is the most common compression mode for 3D " "assets. Size on disk is reduced and video memory usage is also decreased " @@ -22805,7 +22356,7 @@ msgid "" "avoided for 2D as it exhibits noticeable artifacts." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:79 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:67 msgid "" "**Lossless Compression:** This is the most common compression mode for 2D " "assets. It shows assets without any kind of artifacting, and disk " @@ -22814,7 +22365,7 @@ msgid "" "pixel art." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:83 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:71 msgid "" "**Lossy Compression:** This is a good choice for large 2D assets. It has " "some artifacts, but less than VRAM and the file size is several times lower " @@ -22822,118 +22373,118 @@ msgid "" "this mode; it's the same as with Lossless Compression or Uncompressed." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:87 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:75 msgid "" "**Uncompressed:** Only useful for formats that can't be compressed (such as " "raw float images)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:78 msgid "" "In this table, each of the four options are described together with their " "advantages and disadvantages (|good| = best, |bad| = worst):" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Uncompressed" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Compress Lossless (PNG)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Compress Lossy (WebP)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:82 msgid "Compress VRAM" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as raw pixels" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as PNG" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as WebP" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:96 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:84 msgid "Stored as S3TC/BC or PVRTC/ETC depending on platform" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 msgid "Size on Disk" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 msgid "|bad| Large" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 msgid "|regular| Small" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:98 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:86 msgid "|good| Very Small" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 msgid "Memory Usage" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:100 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:88 msgid "|good| Small" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 msgid "Performance" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "|regular| Normal" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:102 -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:90 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "|good| Fast" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "Quality Loss" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "|good| None" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "|regular| Slight" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:92 msgid "|bad| Moderate" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "Load Time" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:94 msgid "|bad| Slow" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:116 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:104 msgid "HDR Mode" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:118 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:106 msgid "" "Godot supports high dynamic range textures (as .HDR or .EXR). These are " "mostly useful as high dynamic range equirectangular panorama skies (the " @@ -22942,17 +22493,17 @@ msgid "" "that do not." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:121 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:109 msgid "" "If you want Godot to ensure full compatibility in terms of the kind of " "textures, enable the \"Force RGBE\" option." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:124 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:112 msgid "Normal Map" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:126 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:114 msgid "" "When using a texture as normal map, only the red and green channels are " "required. Given regular texture compression algorithms produce artifacts " @@ -22963,14 +22514,14 @@ msgid "" "changed to \"Enabled\" and reimported automatically." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:131 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:119 msgid "" "Note that RGTC compression affects the resulting normal map image. You will " "have to adjust custom shaders that use the normal map to take this into " "account." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:135 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:123 #: ../../docs/tutorials/3d/spatial_material.rst:369 msgid "" "Godot requires the normal map to use the X+, Y- and Z+ coordinates. In other " @@ -22979,7 +22530,7 @@ msgid "" "the normal map direction may appear to be inverted on the Y axis." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:140 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:128 #: ../../docs/tutorials/3d/spatial_material.rst:374 msgid "" "More information about normal maps (including a coordinate order table for " @@ -22987,38 +22538,38 @@ msgid "" "Normal_Map_Technical_Details>`__." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:145 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:133 #: ../../docs/tutorials/3d/spatial_material.rst:30 msgid "Flags" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:147 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:135 msgid "" "There are plenty of settings that can be toggled when importing an image as " "a texture, depending on the use case." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:150 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:138 msgid "Repeat" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:152 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:140 msgid "" "This setting is most commonly used in 3D, and is therefore generally " "disabled in 2D. It sets UV coordinates going beyond the 0,0 - 1,1 range to " "\"loop\"." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:154 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:142 msgid "Repeating can optionally be set to mirrored mode." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:157 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:145 #: ../../docs/tutorials/audio/audio_buses.rst:180 msgid "Filter" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:159 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:147 msgid "" "When pixels become larger than the screen pixels, this option enables linear " "interpolation for them. The result is a smoother (less blocky) texture. This " @@ -23026,11 +22577,11 @@ msgid "" "making pixel perfect games." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:162 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:150 msgid "Mipmaps" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:164 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:152 msgid "" "When pixels become smaller than the screen, mipmaps kick in. This helps " "reduce the grainy effect when shrinking the textures. Keep in mind that, in " @@ -23038,41 +22589,41 @@ msgid "" "mipmaps:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:167 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:155 msgid "Texture width and height must be powers of 2" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:168 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:156 msgid "Repeat must be enabled" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:170 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:158 msgid "" "Keep in mind the above when making phone games and applications, want to aim " "for full compatibility, and need mipmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:172 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:160 msgid "" "When doing 3D, mipmap should be turned on, as this also improves performance " "(smaller versions of the texture are used for objects further away)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:175 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:163 msgid "Anisotropic" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:177 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:165 msgid "" "When textures are near parallel to the view (like floors), this option makes " "them have more detail by reducing blurriness." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:180 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:168 msgid "SRGB" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:182 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:170 msgid "" "Godot uses Linear colorspace when rendering 3D. Textures mapped to albedo or " "detail channels need to have this option turned on in order for colors to " @@ -23080,37 +22631,37 @@ msgid "" "SRGB when used in albedo channels." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:186 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:174 msgid "Process" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:188 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:176 msgid "" "Some special processes can be applied to images when imported as textures." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:191 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:179 msgid "Fix Alpha Border" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:193 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:181 msgid "" "This puts pixels of the same surrounding color in transition from " "transparency to non transparency. It helps mitigate the outline effect when " "exporting images from Photoshop and the like." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:198 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:186 msgid "" "It's a good idea to leave it on by default, unless specific values are " "needed." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:201 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:189 msgid "Premultiplied Alpha" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:203 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:191 msgid "" "An alternative to fix darkened borders is to use premultiplied alpha. By " "enabling this option, the texture will be converted to this format. Keep in " @@ -23118,28 +22669,45 @@ msgid "" "blend mode on canvas items that need it." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:207 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:195 msgid "HDR as sRGB" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:209 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:197 msgid "" "A few HDR files are broken and contain sRGB color data. It is advised not to " "use them, but, in the worst-case scenario, toggling this option on will make " "them look right." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:212 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:200 msgid "Invert Color" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_images.rst:214 +#: ../../docs/getting_started/workflow/assets/importing_images.rst:202 msgid "" "Reverses the image's color. This is useful, for example, to convert a height " "map generated by external programs to depth map to use with :ref:" "`doc_spatial_material`." msgstr "" +#: ../../docs/getting_started/workflow/assets/importing_images.rst:205 +msgid "Svg" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:208 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:286 +#: ../../docs/tutorials/3d/using_multi_mesh_instance.rst:87 +msgid "Scale" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/importing_images.rst:210 +msgid "" +"This option only applies to SVG files. It controls the scale of the SVG " +"image. The default scale (1.0) will make the imported SVG match its original " +"design scale." +msgstr "" + #: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:4 msgid "Importing audio samples" msgstr "" @@ -23798,6 +23366,12 @@ msgid "" "too." msgstr "" +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:157 +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:2 +#: ../../docs/tutorials/3d/using_gridmaps.rst:60 +msgid "Materials" +msgstr "" + #: ../../docs/getting_started/workflow/assets/importing_scenes.rst:160 #: ../../docs/tutorials/io/data_paths.rst:51 msgid "Location" @@ -24354,6 +23928,549 @@ msgid "" "the ``loop`` or ``cycle`` prefix or suffix." msgstr "" +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:2 +msgid "Blender ESCN exporter" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:4 +msgid "" +"This chapter relates to the Blender plugin called \"Godot Blender Exporter" +"\", which can be downloaded here: https://github.com/godotengine/godot-" +"blender-exporter" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:7 +msgid "" +"This plugin can be used to export Blender scenes in a Godot-specific scene " +"format called ESCN, which is similar to TSCN (text format) but will be " +"imported as binary SCN for performance." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:12 +msgid "Details on exporting" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:27 +msgid "Disabling specific objects" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:29 +msgid "" +"Sometimes you don't want some objects exported (e.g. high-res models used " +"for baking). An object will not be exported if it is not rendered in the " +"scene. This can be set in the outliner:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:35 +msgid "" +"Objects hidden in the viewport will be exported, but will be hidden in the " +"Godot scene." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:40 +msgid "Build pipeline integration" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:42 +msgid "" +"If you have hundreds of model files, you don't want your artists to waste " +"time manually exporting their blend files. To combat this, the exporter " +"provides a python function ``io_scene_godot.export(out_file_path)`` that can " +"be called to export a file. This allows easy integration with other build " +"systems. An example Makefile and python script that exports all the blends " +"in a directory are present in the Godot-Blender-exporter repository." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:5 +msgid "Using existing Godot materials" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:7 +msgid "" +"One way in which the exporter can handle materials is to attempt to match " +"the Blender material with an existing Godot material. This has the advantage " +"of being able to use all of the features of Godot's material system, but it " +"means that you cannot see your model with the material applied inside " +"Blender." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:12 +msgid "" +"To do this, the exporter attempts to find Godot materials with names that " +"match those of the material name in Blender. So if you export an object in " +"Blender with the material name ``PurpleDots`` then the exporter will search " +"for the file ``PurpleDots.tres`` and assign it to the object. If this file " +"is not a ``SpatialMaterial`` or ``ShaderMaterial`` or if it cannot be found, " +"then the exporter will fall back to exporting the material from Blender." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:20 +msgid "" +"Where the exporter searches for the ``.tres`` file is determined by the " +"\"Material Search Paths\" option:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:34 +msgid "This can take the value of:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:26 +msgid "" +"Project Directory - Attempts to find the ``project.Godot`` and recursively " +"searches through subdirectories. If ``project.Godot`` cannot be found it " +"will throw an error. This is useful for most projects where naming conflicts " +"are unlikely." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:30 +msgid "" +"Export Directory - Look for materials in subdirectories of the export " +"location. This is useful for projects where you may have duplicate material " +"names and need more control over what material gets assigned." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:33 +msgid "None - Do not search for materials. Export them from the Blender file." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:37 +msgid "Export of Cycles/EEVEE materials" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:39 +msgid "" +"The exporter has a primitive support for converting Cycles/EEVEE material " +"node tree to Godot Shader Material. Note that some of the Shader Node are " +"not supported yet due to difficulties in implementation, which are:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:43 +msgid "all the ``noisy textures``" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:44 +msgid "``generated texture coordinates``" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:45 +msgid "``group node``" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:46 +msgid "" +"shader nodes except ``PrincipledBSDF``, ``Diffuse``, ``Glossy``, ``Glass``, " +"``add shader`` and ``mix shader``" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:50 +msgid "" +"If possible, try to use PrincipledBSDF node with GGX distribution as the " +"output shader node, it is the only one guaranteed to be exactly correct. " +"Others are just based on approximation." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:53 +msgid "" +"Sometimes materials may not be valid for exporting (e.g. has some " +"unsupported node) or it is using Blender Internal Engine, only the diffuse " +"color and a few flags (e.g. unshaded) are exported and form a Spatial " +"Material." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:59 +msgid "Generate external materials" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:61 +msgid "" +"The default configuration of material exporting would keep all the materials " +"internal to the ``escn`` file. There is an option which could enable " +"generating external ``.material`` file when the ``escn`` file opens in Godot." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:67 +msgid "" +"``.material`` file can be assigned to any material slot to be a external " +"resource." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:2 +msgid "Physics properties" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:4 +msgid "" +"Exporting physics properties is done by enabling \"Rigid Body\" in Blender's " +"physics tab:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:10 +msgid "" +"By default, a single Blender object with rigid body enabled will export as " +"three nodes: a PhysicsBody, a CollisionShape, and a MeshInstance." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:14 +msgid "Body type" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:16 +msgid "" +"Blender only has the concept of \"Active\" and \"Passive\" rigid bodies. " +"These turn into Static and RigidBody nodes. To create a kinematic body, " +"enable the \"animated\" checkbox on an \"Active\" body:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:23 +#: ../../docs/tutorials/2d/using_tilemaps.rst:110 +#: ../../docs/tutorials/physics/physics_introduction.rst:55 +msgid "Collision shapes" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:25 +msgid "" +"Many of the parameters for collision shapes are missing from Blender, and " +"many of the collision shapes are also not present. However, almost all of " +"the options in Blender's rigid body collision and rigid body dynamics " +"interfaces are supported:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:39 +msgid "There are the following caveats:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:33 +msgid "" +"Not all of the collision shapes are supported. Only ``Mesh``, ``Convex " +"Hull``, ``Capsule``, ``Sphere`` and ``Box`` are supported in both Blender " +"and Godot" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:36 +msgid "" +"In Godot, you can have different collision groups and collision masks. In " +"Blender you only have collision groups. As a result, the exported object's " +"collision mask is equal to its collision group. Most of the time, this is " +"what you want." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:42 +msgid "" +"To build compound physics shapes, parent together multiple objects with " +"rigid body enabled. The physics properties are taken from the parent-most " +"rigid body, and the rest are used as collision shapes." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:47 +msgid "Collision geometry only" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:49 +msgid "" +"Frequently you want different geometry for your collision meshes and your " +"graphical meshes, but by default, the exporter will export a mesh along with " +"the collision shape. To only export the collision shape, set the object's " +"maximum draw type to Wire:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:56 +msgid "" +"This will also influence how the object is shown in Blender's viewport. Most " +"of the time, you want your collision geometry to be shown see-through when " +"working on the models, so this works out fairly nicely." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:2 +#: ../../docs/tutorials/2d/2d_lights_and_shadows.rst:68 +#: ../../docs/tutorials/3d/introduction_to_3d.rst:223 +#: ../../docs/tutorials/optimization/batching.rst:156 +msgid "Lights" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:4 +msgid "" +"By default, lamps in Blender have shadows enabled. This can cause " +"performance issues in Godot." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:8 +msgid "" +"Lamps are exported using their \"Blender Render\" settings. When Blender 2.8 " +"is released, this will be removed and this part of the exporter will change." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:11 +msgid "" +"Sun, point and spot lamps are all exported from Blender along with many of " +"their properties:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:16 +msgid "There are some things to note:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:18 +msgid "" +"In Blender, a light casts light all the way to infinity. In Godot, it is " +"clamped by the attenuation distance. To most closely match between the " +"viewport and Godot, enable the \"Sphere\" checkbox. (Highlighted green)" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:21 +msgid "" +"Light attenuation models differ between Godot and Blender. The exporter " +"attempts to make them match, but it isn't always very good." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:23 +msgid "" +"Spotlight angular attenuation models also differ between Godot and Blender. " +"The exporter attempts to make them similar, but it doesn't always look the " +"same." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/lights.rst:26 +msgid "" +"There is no difference between buffer shadow and ray shadow in the export." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:2 +msgid "Mesh" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:5 +msgid "Modifiers" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:6 +msgid "" +"There is an exporting option :code:`Apply Modifiers` to control whether mesh " +"modifiers are applied to the exported mesh." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:11 +msgid "Shape Key" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:12 +msgid "" +"Exporting mesh shape key is supported, however exporting each shape key is " +"almost like exporting the mesh again, so don't be surprised it takes a " +"relatively long time." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/mesh.rst:17 +msgid "" +"A lot of modifiers are not compatible with shape keys (e.g. subsurface " +"modifier), so if you found you have incorrect shape keys exported, try to " +"disable :code:`Apply Modifiers` and do the exporting again. Besides, it is " +"worthwhile to report the incompatible modifier to the `issue list `__, which helps to " +"develop the exporter to have a more precise check of modifiers." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:2 +#: ../../docs/development/file_formats/tscn.rst:163 +msgid "Skeleton" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:7 +msgid "Rest Bone" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:9 +msgid "" +"Armature object in Blender is exported as a Skeleton node along with rest " +"position (transform in Godot) of bones." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:13 +msgid "" +"The three check boxes :code:`Inherit Rotation`, :code:`Inherit Scale`, :code:" +"`Local Location` (colored in red) must be ticked when building armature in " +"Blender, so that the exported bone transform be consistent between Blender " +"and Godot" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:18 +msgid "" +"It is important that the mesh is not deformed by bones when exporting in " +"Blender. Make sure that the skeleton is reset to its T-pose or default rest " +"pose." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:22 +msgid "Bone Weights" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:24 +msgid "" +"Blender put rigged mesh vertices which has no bone weights at its original " +"position, but these vertices would be placed at (0, 0, 0) in Godot, making " +"the mesh deformed. Therefore, the exporter would raise an error for any " +"vertex with no bone weights detected in a rigged mesh." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:30 +msgid "Non-Deform Bone" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:32 +msgid "" +"Note that the non-deform bone can be configured as not exported by enabling " +"the :code:`Exclude Control Bones`; the deform bone checkbox is shown in the " +"picture." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:38 +msgid "Bone Attachment" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:39 +msgid "" +"A bone can be the parent of an object in Blender; this relation is exported " +"as a BoneAttachment node in the Godot scene." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:8 +msgid "Animation supported:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:4 +msgid "transform animation of all types of objects" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:5 +msgid "transform animation of pose bones" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:6 +msgid "shape key animation" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:7 +msgid "light animation" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:8 +msgid "camera animation" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:11 +msgid "Multiple Actions For Single Object" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:12 +msgid "" +"In most games, one object would have several animations to switch between. " +"This add-on has support for exporting multiple actions all at once into a " +"single AnimationPlayer and makes it easy to switch actions." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:16 +msgid "" +"This workflow makes use of blender nla_tracks. Here is a brief guide on how " +"to use this feature:" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:19 +msgid "**1. Stash active action**" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:21 +msgid "" +"New created action is always an active action bound to object. There are " +"several ways to place an active action into NLA track, one is of course " +"doing it in ``NLA Editor``" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:28 +msgid "Or it can be done stashing the action in ``Dope Sheet``" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:33 +msgid "**2. Check mute status of NLA tracks**" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:35 +msgid "" +"An NLA track can be ``mute`` or ``unmute``, the exporter will export all the " +"``mute`` NLA track as a separate action, while blends all the ``unmute`` NLA " +"tracks into every action (including the action action) being exported." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:41 +msgid "**3. Export the scene**" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:43 +msgid "Make sure the ``Export Stashed Actions`` option has been turned on." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:47 +msgid "" +"Then all the stashed actions, as well as the active action, are exported to " +"an AnimationPlayer." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:54 +msgid "Constraints" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:55 +msgid "" +"Sometimes complicated animation is built with object constraint; a usual " +"example is inverse kinematics. The add-on would automatically check if an " +"object has some constraint; if it does, all the constraints are baked into " +"actions and then exported along with the object." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:62 +msgid "Animation Mode" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:63 +msgid "" +"Godot and Blender have different structure to store animation data. In Godot " +"animation data is stored in an AnimationPlayer node, instead of in each " +"animated node. In order to fix this inconsistence and still make the " +"animation play versatile, this add-on has three animation exporting modes." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:70 +msgid "**Mode 'Animation as Actions'**" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:72 +msgid "" +"Treat all the animations as object actions, so in the exported scene, every " +"object would have its own AnimationPlayer and hold its actions." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:76 +msgid "**Mode 'Scene Animation'**" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:78 +msgid "" +"If you want your animation to generate the same result as playing at " +"Blender's timeline, this is what you want. In this mode, all the animations " +"in the scene are placed in just one AnimationPlayer in the scene root." +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:82 +msgid "**Mode 'Animation as Action with Squash'**" +msgstr "" + +#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:84 +msgid "" +"This mode has very similar behavior of mode 'Animation as Action', but it " +"can generate fewer AnimationPlayers; objects in parent-children relationship " +"would share their AnimationPlayer. It is useful when you have several rigs, " +"and each Skeleton and Mesh has actions; then one rig would have just one " +"AnimationPlayer." +msgstr "" + #: ../../docs/getting_started/workflow/export/index.rst:2 msgid "Export" msgstr "" @@ -25114,6 +25231,312 @@ msgid "" "not contain the editor and debugger." msgstr "" +#: ../../docs/getting_started/workflow/export/exporting_for_pc.rst:18 +msgid "" +"If you export for Windows with embedded PCK files, you will not be able to " +"sign the program, it will break." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:4 +msgid "Changing application icon for Windows" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:6 +msgid "" +"By default, the exported project's icon will be the Godot icon. You will " +"most likely want to change that for your project. There are two types of " +"icons that can be changed on Windows: the file icon and the taskbar icon." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:11 +msgid "Creating an ICO file" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:13 +msgid "" +"Windows does not use formats such as png or jpg for application icons. " +"Instead, it uses a Windows-only format called ICO. You can create your " +"application icon in any program but you will have to convert it to an ICO " +"file using a program such as GIMP." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:18 +msgid "" +"`This video tutorial `_ goes " +"over how to export an ICO file with GIMP." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:21 +msgid "" +"It is also possible to convert a PNG image to an hiDPI-friendly ICO file " +"using this `ImageMagick `_ command:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:30 +msgid "Changing the taskbar icon" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:32 +msgid "" +"The taskbar icon is the icon that shows up on the taskbar when your project " +"is running." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:37 +msgid "" +"To change the taskbar icon, go to **Project → Project Settings → Application " +"→ Config → Windows Native Icon**. Click on the folder icon and select your " +"ICO file." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:43 +msgid "" +"This setting only changes the icon for your exported game on Windows. To set " +"the icon for macOS, use ``Macos Native Icon``. And for any other platform, " +"use the ``Icon`` setting." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:48 +msgid "Changing the file icon" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:52 +msgid "" +"There are `known issues `__ when changing the application icon in executables that " +"embed a PCK file. It's recommended to avoid using rcedit for now if you " +"choose to enable the **Embed Pck** option for your Windows export preset in " +"the Export dialog." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:57 +msgid "" +"The file icon is the icon of the executable that you click on to start the " +"project." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:62 +msgid "" +"Before selecting it in the export options, you will need to install an extra " +"tool called **rcedit**. You can download it `here `_." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:66 +msgid "" +"After downloading, you need to tell Godot the path to the rcedit executable " +"on your computer. Go to **Editor → Editor Settings → Export → Windows**. " +"Click on the folder icon for the **rcedit** entry. Navigate to and select " +"the rcedit executable." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:72 +msgid "" +"Linux and macOS users will also need to install `WINE `_ to use rcedit." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:77 +msgid "" +"You should now have everything in place to change the file icon. To do that, " +"you will need to specify the icon when exporting. Go to **Project → " +"Export**. Assuming you have already created a Windows Desktop preset, select " +"your icon in ICO format in the **Application → Icon** field." +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:86 +msgid "Testing the result" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:88 +msgid "" +"You can now export the project. If it worked correctly, you should see this:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:92 +msgid "" +"if your icon isn't showing up properly, on Windows 10, try clearing the icon " +"cache. To do so, open `Run` and call the command ``ie4uinit.exe -" +"ClearIconCache`` or ``ie4uinit.exe -show``." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:4 +msgid "Exporting for Universal Windows Platform" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:6 +msgid "" +"There's no extra requirement to export an ``.appx`` package that can be " +"installed as a Windows App or submitted to the Windows Store. Exporting UWP " +"packages also works from any platform, not only from Windows." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:10 +msgid "" +"However, if you want to install and run the app, you need to sign it with a " +"trusted signature. Godot supports automatic signing of packages with " +"external tools." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:14 +msgid "" +"Also, make sure the Publisher Name you set when exporting the package " +"matches the name used on the certificate." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:18 +msgid "Limitations on Xbox One" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:20 +msgid "" +"As described in the `UWP documentation `__:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:25 +msgid "Submitted as an \"App\"" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:23 +msgid "available memory is 1GB" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:24 +msgid "share of 2-4 CPU cores" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:25 +msgid "shared access of GPU power (45%)" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:30 +msgid "" +"Submitted as a \"Game\" (through `Xbox Live Creators Program `__)" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:28 +msgid "available memory is 5GB" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:29 +msgid "4 exclusive CPU cores and 2 shared CPU cores" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:30 +msgid "exclusive access to GPU power (100%)" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:32 +msgid "" +"Exceeding these memory limitations will cause allocation failures and the " +"application will crash." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:35 +msgid "Creating a signing certificate" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:37 +msgid "" +"This requires the ``MakeCert.exe`` and ``Pvk2Pfx.exe`` tools, which come " +"with the Windows SDK. If you use Visual Studio, you can open one of its " +"Developer Prompts, since it comes with these tools and they can be located " +"in the path." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:41 +msgid "" +"You can get more detailed instructions from `Microsoft's documentation " +"`__." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:44 +msgid "First, run ``MakeCert`` to create a private key::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:48 +msgid "" +"Where ``publisherName`` matches the Publisher Name of your package and " +"``expirationDate`` is in the ``mm/dd/yyyy`` format." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:51 +msgid "" +"Next, create a Personal Information Exchange (.pfx) file using ``Pvk2Pfx." +"exe``::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:55 +msgid "" +"If you don't specify a password with ``/po`` argument, the PFX will have the " +"same password as the private key." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:58 +msgid "" +"You will also need to trust this certificate in order to be able to install " +"your app. Open the Command Prompt as Administrator and run the following " +"command::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:64 +msgid "Setting up automatic signing" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:66 +msgid "" +"To setup automatic signing on export you need to go to Editor Settings > " +"Export > Uwp. From there you need to click on the folder for ``Signtool``, " +"and navigate to the ``SignTool.exe`` file on your computer." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:72 +msgid "" +"After setting that up close the editor settings, go to Project > Export, and " +"select the UWP preset. Under the ``Signing`` options click on the folder " +"next to ``Certificate`` and go to the certificate file. Then enter the " +"pfxPassword in the password field." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:79 +msgid "Your project will now be automatically signed on export." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:81 +msgid "" +"If you want to sign an exported app manually run ``SignTool.exe`` and use " +"the following command." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:84 +msgid "SignTool sign /fd SHA256 /a /f MyKey.pfx /p pfxPassword package.appx" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:87 +msgid "Installing the package" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:89 +msgid "" +"As of the Windows 10 Anniversary Update, you are able to install packages " +"simply by double clicking the ``.appx`` file from Windows Explorer." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:92 +msgid "" +"It's also possible to install by using the ``Add-AppxPackage`` PowerShell " +"cmdlet." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:94 +msgid "" +"If you want to update your already installed app, you must update the " +"version number on the new package or first uninstall the previous package." +msgstr "" + #: ../../docs/getting_started/workflow/export/exporting_for_ios.rst:4 msgid "Exporting for iOS" msgstr "" @@ -25313,183 +25736,6 @@ msgid "" "`doc_services_for_ios` page." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:4 -msgid "Exporting for Universal Windows Platform" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:6 -msgid "" -"There's no extra requirement to export an ``.appx`` package that can be " -"installed as a Windows App or submitted to the Windows Store. Exporting UWP " -"packages also works from any platform, not only from Windows." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:10 -msgid "" -"However, if you want to install and run the app, you need to sign it with a " -"trusted signature. Godot supports automatic signing of packages with " -"external tools." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:14 -msgid "" -"Also, make sure the Publisher Name you set when exporting the package " -"matches the name used on the certificate." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:18 -msgid "Limitations on Xbox One" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:20 -msgid "" -"As described in the `UWP documentation `__:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:25 -msgid "Submitted as an \"App\"" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:23 -msgid "available memory is 1GB" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:24 -msgid "share of 2-4 CPU cores" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:25 -msgid "shared access of GPU power (45%)" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:30 -msgid "" -"Submitted as a \"Game\" (through `Xbox Live Creators Program `__)" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:28 -msgid "available memory is 5GB" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:29 -msgid "4 exclusive CPU cores and 2 shared CPU cores" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:30 -msgid "exclusive access to GPU power (100%)" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:32 -msgid "" -"Exceeding these memory limitations will cause allocation failures and the " -"application will crash." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:35 -msgid "Creating a signing certificate" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:37 -msgid "" -"This requires the ``MakeCert.exe`` and ``Pvk2Pfx.exe`` tools, which come " -"with the Windows SDK. If you use Visual Studio, you can open one of its " -"Developer Prompts, since it comes with these tools and they can be located " -"in the path." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:41 -msgid "" -"You can get more detailed instructions from `Microsoft's documentation " -"`__." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:44 -msgid "First, run ``MakeCert`` to create a private key::" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:48 -msgid "" -"Where ``publisherName`` matches the Publisher Name of your package and " -"``expirationDate`` is in the ``mm/dd/yyyy`` format." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:51 -msgid "" -"Next, create a Personal Information Exchange (.pfx) file using ``Pvk2Pfx." -"exe``::" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:55 -msgid "" -"If you don't specify a password with ``/po`` argument, the PFX will have the " -"same password as the private key." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:58 -msgid "" -"You will also need to trust this certificate in order to be able to install " -"your app. Open the Command Prompt as Administrator and run the following " -"command::" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:64 -msgid "Setting up automatic signing" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:66 -msgid "" -"To setup automatic signing on export you need to go to Editor Settings > " -"Export > Uwp. From there you need to click on the folder for ``Signtool``, " -"and navigate to the ``SignTool.exe`` file on your computer." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:72 -msgid "" -"After setting that up close the editor settings, go to Project > Export, and " -"select the UWP preset. Under the ``Signing`` options click on the folder " -"next to ``Certificate`` and go to the certificate file. Then enter the " -"pfxPassword in the password field." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:79 -msgid "Your project will now be automatically signed on export." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:81 -msgid "" -"If you want to sign an exported app manually run ``SignTool.exe`` and use " -"the following command." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:84 -msgid "SignTool sign /fd SHA256 /a /f MyKey.pfx /p pfxPassword package.appx" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:87 -msgid "Installing the package" -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:89 -msgid "" -"As of the Windows 10 Anniversary Update, you are able to install packages " -"simply by double clicking the ``.appx`` file from Windows Explorer." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:92 -msgid "" -"It's also possible to install by using the ``Add-AppxPackage`` PowerShell " -"cmdlet." -msgstr "" - -#: ../../docs/getting_started/workflow/export/exporting_for_uwp.rst:94 -msgid "" -"If you want to update your already installed app, you must update the " -"version number on the new package or first uninstall the previous package." -msgstr "" - #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:4 msgid "Exporting for Android" msgstr "" @@ -25766,6 +26012,371 @@ msgid "" "information." msgstr "" +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:4 +msgid "Custom builds for Android" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:6 +msgid "" +"Godot provides the option to use custom build Android templates. Instead of " +"using the already pre-built template that ships with Godot, an actual " +"Android Java project gets installed into your project folder. Godot will " +"then build it and use it as an export template every time you export the " +"project." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:11 +msgid "There are some reasons why you may want to do this:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:13 +msgid "Modify the project before it's built." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:14 +msgid "Add external SDKs that build with your project." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:16 +msgid "" +"Configuring the custom build is a more or less straightforward process, but " +"it may take a while to get used to how the Android SDK works." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:19 +msgid "" +"Instructions will be provided as detailed as possible to do this process." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:22 +msgid "Set up the custom build environment" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:24 +msgid "Go to the Project menu, and install the *Custom Build* template:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:28 +msgid "" +"Make sure export templates are downloaded. If not, this menu will help you " +"download them." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:31 +msgid "" +"This will create an Gradle-based Android project in ``res://android/build`` " +"and place a ``.gdignore`` file in ``res://android`` so the Godot filesystem " +"ignores this folder. Editing these files is not needed unless you want to :" +"ref:`create your own add-ons`, or you really need to " +"modify the project." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:37 +msgid "Install the Android SDK (command-line version)" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:39 +msgid "" +"These are the steps for installing the Android SDK using command line. The " +"advantage of this approach is the simplicity and small download/install " +"size. It can be more challenging though. The Android Studio approach is " +"easier, but it requires downloading and installing Android Studio (which may " +"require more than 1 GB of storage)." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:46 +msgid "Install a JDK" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:48 +msgid "" +"The Android SDK doesn't come with Java, so it needs to be installed " +"manually. You need to install a Java SDK (**not** just the runtime or JRE). " +"`OpenJDK 8 `__ is required, newer " +"versions won't work." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:54 +msgid "Download the command-line tools" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:56 +msgid "" +"Go to the `Android Studio download page `_. To save disk space, you don't want the full IDE, " +"so don't download it." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:61 +msgid "" +"If you do want Android Studio, read further down for instructions for doing " +"the same using Android Studio." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:64 +msgid "" +"Look on that page for the *Command line tools only* section. Currently, they " +"are listed under *Download Options*. Scroll down a bit until you see them." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:67 +msgid "" +"Download the ZIP file for your platform, there will be a single ``tools`` " +"folder inside:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:72 +msgid "" +"This may appear a little confusing, but be sure to follow these instructions " +"carefully:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:75 +msgid "" +"Create a new folder anywhere you want named ``android-sdk`` (it **must** be " +"an empty directory). On Windows, the following path is usually good enough:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:84 +msgid "" +"If you already have an android-sdk folder, normally located in ``" +"%LOCALAPPDATA%\\Android\\Sdk``, then use this folder instead of creating an " +"empty ``android-sdk`` folder." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:87 +msgid "" +"Unzip the Android SDK ZIP file into the ``android-sdk`` folder. This folder " +"should now contain the unzipped folder called ``tools``. Rename ``tools`` to " +"``latest``. Finally, create an empty folder named ``cmdline-tools`` and " +"place ``latest`` into it. Your final directory structure should look like " +"this :" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:99 +msgid "" +"We need to setup the directory structure this way for the sdkmanager (inside " +"the bin folder) to work." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:102 +msgid "Accepting the licenses" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:104 +msgid "" +"To be able to use the Android SDK tools, Google requires you to accept its " +"licenses." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:107 +msgid "" +"To do this, the ``sdkmanager`` must be executed from the command line with a " +"special argument. Navigate to the ``tools/bin`` directory inside the SDK " +"folder (instructions provided for Windows users, as Linux and macOS users " +"are expected to understand how command line navigation works):" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:114 +msgid "Then open a command line window:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:118 +msgid "In there, run ``sdkmanager --licenses``:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:122 +msgid "" +"This will ask you to accept several licenses, just write ``y`` and press :" +"kbd:`Enter` on every of them until it's done." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:125 +msgid "" +"Afterwards, install the platform tools (this is required to install ``adb``):" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:129 +msgid "" +"If you get an error saying ``Warning: Could not create settings``, try ``./" +"sdkmanager --sdk_root=../../ --licenses`` or ``./sdkmanager --" +"sdk_root=../../ platform-tools``. These must be executed inside the ``/tools/" +"bin/`` folder because the path for ``--sdk_root`` is relative." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:132 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:216 +msgid "Generating the keystore" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:134 +msgid "" +"Once the *platform tools* are installed, the last step is to generate a " +"debug keystore (this is needed to build). Go up two folders by writing:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:141 +msgid "(or open a new shell in the ``android-sdk`` folder)." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:143 +msgid "" +"And you need to input the following line (on Linux and macOS, this should " +"work out of the box, for Windows there are further instructions below):" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:150 +msgid "" +"On Windows, the full path to Java should be provided. You need to add ``&`` " +"at the beginning of the line if you use PowerShell; it's not needed for the " +"regular ``cmd.exe`` console." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:154 +msgid "" +"To make it clearer, here is an capture of a line that works on PowerShell " +"(by adding ``&`` and the full Java path before ``keytool.exe``). Again, keep " +"in mind that you need Java installed:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:160 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:171 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:243 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:254 +msgid "(right-click and open the image in a new tab if this appears too small)" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:164 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:247 +msgid "Setting up Godot" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:166 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:249 +msgid "" +"Go to the **Editor Settings** and set up a few fields in **Export > " +"Android**. Make sure they look like the following:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:173 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:256 +msgid "" +"As it can be seen, most paths are inside either the ``android-sdk`` folder " +"you originally created, or inside the Java install. For Linux and macOS " +"users, ``jarsigner`` is often located in ``/usr/bin``." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:177 +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:260 +msgid "With this, you should be all set." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:181 +msgid "Install the Android SDK (Android Studio)" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:183 +msgid "" +"If you just finished installing the SDK via the command-line tools, feel " +"free to skip this section entirely. The Android Studio path is easier, but " +"it takes up more disk space. It's also useful if you plan to develop Godot " +"for Android (modify the Java source code) or if you plan to develop add-ons." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:189 +msgid "Download and install Android Studio" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:191 +msgid "" +"Download the latest version of Android Studio. When installing, pay " +"attention to where the *android-sdk* directory is created." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:196 +msgid "" +"This is funny, the path it proposes by default contains whitespace (and " +"complains about it). It must be changed." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:198 +msgid "" +"In any case, it's better to select a different path inside your user " +"folders. The recommended one is usually:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:205 +msgid "" +"Replace *yourusername* by your actual user name. Once it's correct, select " +"from the list above in the same screen:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:208 +msgid "Android SDK" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:209 +msgid "Android SDK Platform" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:211 +msgid "" +"The rest are not needed, because the build system will fetch them itself. " +"After selecting them, go on with the installation." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:218 +msgid "" +"Go to the folder where you installed ``android-sdk`` in the previous step, " +"use File Explorer and open a command line tool there:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:223 +msgid "" +"The actual command line to type is the following. On Linux and macOS, it " +"should work out of the box, but on Windows, it needs additional details " +"(keep reading afterwards)." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:231 +msgid "" +"On Windows, the full path to Java should be provided (and ``&`` needs to be " +"added at the beginning on the line if you use PowerShell, it's not needed " +"for the regular ``cmd.exe`` console). Don't worry, at least by using Android " +"Studio on Windows, Java comes bundled with it." +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:236 +msgid "" +"To make it clearer, here is a screen capture of a line that works on " +"PowerShell (by adding ``&`` and the full Java Path to ``keytool.exe``; " +"remove ``&`` if you use ``cmd.exe``). It uses a path to the Java version " +"that comes with Android Studio:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:264 +msgid "Enabling the custom build and exporting" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:266 +msgid "" +"When setting up the Android project in the **Project > Export** dialog, " +"**Custom Build** needs to be enabled:" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:271 +msgid "" +"From now on, attempting to export the project or one-click deploy will call " +"the `Gradle `__ build system to generate fresh " +"templates (this window will appear every time):" +msgstr "" + +#: ../../docs/getting_started/workflow/export/android_custom_build.rst:277 +msgid "" +"The templates built will be used automatically afterwards, so no further " +"configuration is needed." +msgstr "" + #: ../../docs/getting_started/workflow/export/exporting_for_web.rst:4 msgid "Exporting for the Web" msgstr "" @@ -26298,11 +26909,36 @@ msgid "" msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:86 +msgid "Starting the dedicated server" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:88 +msgid "" +"If both your client and server are part of the same Godot project, you will " +"have to add a way to start the server directly using a command-line " +"argument. This can be done by adding the following code snippet in your main " +"scene (or a singleton)'s ``_ready()`` method::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:99 +msgid "" +"Alternatively, you can make the dedicated server always start up if a " +"headless or server binary is detected::" +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:109 +msgid "" +"If your client and server are separate Godot projects, your server should " +"most likely be configured in a way where running the main scene starts a " +"server automatically." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:114 #: ../../docs/tutorials/plugins/gdnative/gdnative-cpp-example.rst:849 msgid "Next steps" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:88 +#: ../../docs/getting_started/workflow/export/exporting_for_dedicated_servers.rst:116 msgid "" "On Linux, to make your dedicated server restart after a crash or system " "reboot, you can `create a systemd service `__ container. " @@ -26370,494 +27006,6 @@ msgstr "" msgid "Click once... and deploy!" msgstr "" -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:4 -msgid "Custom builds for Android" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:6 -msgid "" -"Godot provides the option to use custom build Android templates. Instead of " -"using the already pre-built template that ships with Godot, an actual " -"Android Java project gets installed into your project folder. Godot will " -"then build it and use it as an export template every time you export the " -"project." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:11 -msgid "There are some reasons why you may want to do this:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:13 -msgid "Modify the project before it's built." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:14 -msgid "Add external SDKs that build with your project." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:16 -msgid "" -"Configuring the custom build is a more or less straightforward process, but " -"it may take a while to get used to how the Android SDK works." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:19 -msgid "" -"Instructions will be provided as detailed as possible to do this process." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:22 -msgid "Set up the custom build environment" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:24 -msgid "Go to the Project menu, and install the *Custom Build* template:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:28 -msgid "" -"Make sure export templates are downloaded. If not, this menu will help you " -"download them." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:31 -msgid "" -"This will create an Gradle-based Android project in ``res://android/build`` " -"and place a ``.gdignore`` file in ``res://android`` so the Godot filesystem " -"ignores this folder. Editing these files is not needed unless you want to :" -"ref:`create your own add-ons`, or you really need to " -"modify the project." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:37 -msgid "Install the Android SDK (command-line version)" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:39 -msgid "" -"These are the steps for installing the Android SDK using command line. The " -"advantage of this approach is the simplicity and small download/install " -"size. It can be more challenging though. The Android Studio approach is " -"easier, but it requires downloading and installing Android Studio (which may " -"require more than 1 GB of storage)." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:46 -msgid "Install a JDK" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:48 -msgid "" -"The Android SDK doesn't come with Java, so it needs to be installed " -"manually. You need to install a Java SDK (**not** just the runtime or JRE). " -"`OpenJDK 8 `__ is required, newer " -"versions won't work." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:54 -msgid "Download the command-line tools" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:56 -msgid "" -"Go to the `Android Studio download page `_. To save disk space, you don't want the full IDE, " -"so don't download it." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:61 -msgid "" -"If you do want Android Studio, read further down for instructions for doing " -"the same using Android Studio." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:64 -msgid "" -"Look on that page for the *Command line tools only* section. Currently, they " -"are listed under *Download Options*. Scroll down a bit until you see them." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:67 -msgid "" -"Download the ZIP file for your platform, there will be a single ``tools`` " -"folder inside:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:72 -msgid "" -"This may appear a little confusing, but be sure to follow these instructions " -"carefully:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:75 -msgid "" -"Create a new folder anywhere you want named ``android-sdk`` (it **must** be " -"an empty directory). On Windows, the following path is usually good enough:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:84 -msgid "" -"If you already have an android-sdk folder, normally located in ``" -"%LOCALAPPDATA%\\Android\\Sdk``, then use this folder instead of creating an " -"empty ``android-sdk`` folder." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:87 -msgid "" -"Unzip the Android SDK ZIP file into the ``android-sdk`` folder. This folder " -"should now contain the unzipped folder called ``tools``. Rename ``tools`` to " -"``latest``. Finally, create an empty folder named ``cmdline-tools`` and " -"place ``latest`` into it. Your final directory structure should look like " -"this :" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:99 -msgid "" -"We need to setup the directory structure this way for the sdkmanager (inside " -"the bin folder) to work." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:102 -msgid "Accepting the licenses" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:104 -msgid "" -"To be able to use the Android SDK tools, Google requires you to accept its " -"licenses." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:107 -msgid "" -"To do this, the ``sdkmanager`` must be executed from the command line with a " -"special argument. Navigate to the ``tools/bin`` directory inside the SDK " -"folder (instructions provided for Windows users, as Linux and macOS users " -"are expected to understand how command line navigation works):" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:114 -msgid "Then open a command line window:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:118 -msgid "In there, run ``sdkmanager --licenses``:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:122 -msgid "" -"This will ask you to accept several licenses, just write ``y`` and press :" -"kbd:`Enter` on every of them until it's done." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:125 -msgid "" -"Afterwards, install the platform tools (this is required to install ``adb``):" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:129 -msgid "" -"If you get an error saying ``Warning: Could not create settings``, try ``./" -"sdkmanager --sdk_root=../../ --licenses`` or ``./sdkmanager --" -"sdk_root=../../ platform-tools``. These must be executed inside the ``/tools/" -"bin/`` folder because the path for ``--sdk_root`` is relative." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:132 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:216 -msgid "Generating the keystore" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:134 -msgid "" -"Once the *platform tools* are installed, the last step is to generate a " -"debug keystore (this is needed to build). Go up two folders by writing:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:141 -msgid "(or open a new shell in the ``android-sdk`` folder)." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:143 -msgid "" -"And you need to input the following line (on Linux and macOS, this should " -"work out of the box, for Windows there are further instructions below):" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:150 -msgid "" -"On Windows, the full path to Java should be provided. You need to add ``&`` " -"at the beginning of the line if you use PowerShell; it's not needed for the " -"regular ``cmd.exe`` console." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:154 -msgid "" -"To make it clearer, here is an capture of a line that works on PowerShell " -"(by adding ``&`` and the full Java path before ``keytool.exe``). Again, keep " -"in mind that you need Java installed:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:160 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:171 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:243 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:254 -msgid "(right-click and open the image in a new tab if this appears too small)" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:164 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:247 -msgid "Setting up Godot" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:166 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:249 -msgid "" -"Go to the **Editor Settings** and set up a few fields in **Export > " -"Android**. Make sure they look like the following:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:173 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:256 -msgid "" -"As it can be seen, most paths are inside either the ``android-sdk`` folder " -"you originally created, or inside the Java install. For Linux and macOS " -"users, ``jarsigner`` is often located in ``/usr/bin``." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:177 -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:260 -msgid "With this, you should be all set." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:181 -msgid "Install the Android SDK (Android Studio)" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:183 -msgid "" -"If you just finished installing the SDK via the command-line tools, feel " -"free to skip this section entirely. The Android Studio path is easier, but " -"it takes up more disk space. It's also useful if you plan to develop Godot " -"for Android (modify the Java source code) or if you plan to develop add-ons." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:189 -msgid "Download and install Android Studio" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:191 -msgid "" -"Download the latest version of Android Studio. When installing, pay " -"attention to where the *android-sdk* directory is created." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:196 -msgid "" -"This is funny, the path it proposes by default contains whitespace (and " -"complains about it). It must be changed." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:198 -msgid "" -"In any case, it's better to select a different path inside your user " -"folders. The recommended one is usually:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:205 -msgid "" -"Replace *yourusername* by your actual user name. Once it's correct, select " -"from the list above in the same screen:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:208 -msgid "Android SDK" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:209 -msgid "Android SDK Platform" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:211 -msgid "" -"The rest are not needed, because the build system will fetch them itself. " -"After selecting them, go on with the installation." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:218 -msgid "" -"Go to the folder where you installed ``android-sdk`` in the previous step, " -"use File Explorer and open a command line tool there:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:223 -msgid "" -"The actual command line to type is the following. On Linux and macOS, it " -"should work out of the box, but on Windows, it needs additional details " -"(keep reading afterwards)." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:231 -msgid "" -"On Windows, the full path to Java should be provided (and ``&`` needs to be " -"added at the beginning on the line if you use PowerShell, it's not needed " -"for the regular ``cmd.exe`` console). Don't worry, at least by using Android " -"Studio on Windows, Java comes bundled with it." -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:236 -msgid "" -"To make it clearer, here is a screen capture of a line that works on " -"PowerShell (by adding ``&`` and the full Java Path to ``keytool.exe``; " -"remove ``&`` if you use ``cmd.exe``). It uses a path to the Java version " -"that comes with Android Studio:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:264 -msgid "Enabling the custom build and exporting" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:266 -msgid "" -"When setting up the Android project in the **Project > Export** dialog, " -"**Custom Build** needs to be enabled:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:271 -msgid "" -"From now on, attempting to export the project or one-click deploy will call " -"the `Gradle `__ build system to generate fresh " -"templates (this window will appear every time):" -msgstr "" - -#: ../../docs/getting_started/workflow/export/android_custom_build.rst:277 -msgid "" -"The templates built will be used automatically afterwards, so no further " -"configuration is needed." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:4 -msgid "Changing application icon for Windows" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:6 -msgid "" -"By default, the exported project's icon will be the Godot icon. You will " -"most likely want to change that for your project. There are two types of " -"icons that can be changed on Windows: the file icon and the taskbar icon." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:11 -msgid "Changing the taskbar icon" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:13 -msgid "" -"The taskbar icon is the icon that shows up on the taskbar when your project " -"is running." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:18 -msgid "" -"To change the taskbar icon, go to **Project → Project Settings → Application " -"→ Config → Icon**. Click on the folder icon and select your desired icon." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:22 -msgid "This is also the icon that gets displayed in the Godot project list." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:27 -msgid "Changing the file icon" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:29 -msgid "" -"The file icon is the icon of the executable that you click on to start the " -"project." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:34 -msgid "" -"Before selecting it in the export options, you will need to install an extra " -"tool called **rcedit**. You can download it `here `_." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:38 -msgid "" -"After downloading, you need to tell Godot the path to the rcedit executable " -"on your computer. Go to **Editor → Editor Settings → Export → Windows**. " -"Click on the folder icon for the **rcedit** entry. Navigate to and select " -"the rcedit executable." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:44 -msgid "" -"Linux and macOS users will also need to install `WINE `_ to use rcedit." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:49 -msgid "" -"You should now have everything in place to change the file icon. To do that, " -"you will need to specify the icon when exporting. Go to **Project → " -"Export**. Assuming you have already created a Windows Desktop preset, select " -"your icon in ICO format in the **Application → Icon** field." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:55 -msgid "" -"You can use software such as GIMP to export an ICO image. For more " -"information, please refer to `this tutorial `_." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:62 -msgid "Testing the result" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:64 -msgid "" -"You can now export the project. If it worked correctly, you should see this:" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:69 -msgid "ICO file requirements" -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:71 -msgid "" -"Regardless of which program you use to create your `ICO file `_, there are some requirements to " -"ensure the icon (and your executable) works on Windows." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:75 -msgid "" -"This is a bit tricky, as can be seen in the following Stack Overflow " -"threads: `one `_, `two `_." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:79 -msgid "" -"Your ICO file should at least contain icons in the following resolutions: " -"16×16, 48×48 and 256×256." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:82 -msgid "" -"If you want to fully support high-DPI screens, this is the full list of " -"supported icon sizes on Windows 10: 16, 20, 24, 28, 30, 31, 32, 40, 42, 47, " -"48, 56, 60, 63, 84 and one larger than 255 pixels (such as 256, 512 or 1024)." -msgstr "" - -#: ../../docs/getting_started/workflow/export/changing_application_icon_for_windows.rst:87 -msgid "" -"It is also possible to convert a PNG image to an hiDPI-friendly ICO file " -"using this `ImageMagick `_ command:" -msgstr "" - #: ../../docs/getting_started/workflow/best_practices/introduction_best_practices.rst:6 msgid "" "This series is a collection of best practices to help you work efficiently " @@ -26867,9 +27015,9 @@ msgstr "" #: ../../docs/getting_started/workflow/best_practices/introduction_best_practices.rst:9 msgid "" "Godot allows for a great amount of flexibility in how you structure a " -"project's codebase and break it down into scenes. Each approach has its own " -"pros and cons, and they can be hard to weigh until you've worked with the " -"engine for long enough." +"project's codebase and break it down into scenes. Each approach has its pros " +"and cons, and they can be hard to weigh until you've worked with the engine " +"for long enough." msgstr "" #: ../../docs/getting_started/workflow/best_practices/introduction_best_practices.rst:13 @@ -26903,189 +27051,144 @@ msgid "" msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:4 -msgid "Godot scenes and scripts are classes" +msgid "Applying object-oriented principles in Godot" msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:6 msgid "" -"In Godot, scripts and scenes can both be the equivalent of classes in an " -"Object-Oriented programming language. The main difference is that scenes are " -"`declarative code `_, " -"while scripts can contain `imperative code `_." +"The engine offers two main ways to create reusable objects: scripts and " +"scenes. Neither of these technically define classes under the hood." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:12 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:9 msgid "" -"As a result, many best practices in Godot boil down to applying Object-" -"Oriented design principles to the scenes, nodes, or scripts that make up " -"your game." +"Still, many best practices using Godot involve applying object-oriented " +"programming principles to the scripts and scenes that compose your game. " +"That is why it's useful to understand how we can think of them as classes." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:15 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:13 msgid "" -"This guide explains how scripts and scenes work in the engine's core, to " -"help you get a sense of how Godot works under the hood, and to help you " -"better understand where some of this series' best practices come from." +"This guide briefly explains how scripts and scenes work in the engine's core " +"to help you understand how they work under the hood." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:20 -msgid "Making sense of classes in Godot" +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:17 +msgid "How scripts work in the engine" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:19 +msgid "" +"The engine provides built-in classes like :ref:`Node `. You can " +"extend those to create derived types using a script." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:22 msgid "" -"Godot Engine provides built-in classes like :ref:`Node `. User-" -"created types are not technically classes. Instead, they are resources that " +"These scripts are not technically classes. Instead, they are resources that " "tell the engine a sequence of initializations to perform on one of the " "engine's built-in classes." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:27 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:25 msgid "" "Godot's internal classes have methods that register a class's data with a :" "ref:`ClassDB `. This database provides runtime access to " "class information. ``ClassDB`` contains information about classes like:" msgstr "" +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:29 +msgid "Properties." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:30 +msgid "Methods." +msgstr "" + #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:31 -msgid "properties" +msgid "Constants." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:32 -msgid "methods" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:33 -msgid "constants" +msgid "Signals." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:34 -msgid "signals" +msgid "" +"This ``ClassDB`` is what objects check against when performing an operation " +"like accessing a property or calling a method. It checks the database's " +"records and the object's base types' records to see if the object supports " +"the operation." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:36 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:38 msgid "" -"This ``ClassDB`` is what Objects check against when performing an operation " -"like accessing a property or calling a method. ``ClassDB`` checks the " -"database's records and the records of the Object's base types to see if the " -"Object supports the operation." +"Attaching a :ref:`Script ` to your object extends the methods, " +"properties, and signals available from the ``ClassDB``." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:41 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:43 msgid "" -"On the engine's side, every class defines a static ``_bind_methods()`` " -"function that describes what C++ content it registers to the database and " -"how. When you use the engine, you can extend the methods, properties, and " -"signals available from the ``ClassDB`` by attaching a :ref:`Script " -"` to your node." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:46 -msgid "" -"Objects check their attached script before the database. This is why scripts " -"can override built-in methods. If a script defines a " -"``_get_property_list()`` method, Godot appends that data to the list of " -"properties the Object fetches from the ClassDB. The same is true for other " -"declarative code." +"Even scripts that don't use the ``extends`` keyword implicitly inherit from " +"the engine's base :ref:`Reference ` class. As a result, you " +"can instantiate scripts without the ``extends`` keyword from code. Since " +"they extend ``Reference`` though, you cannot attach them to a :ref:`Node " +"`." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:51 msgid "" -"Even scripts that don't inherit from a built-in type, i.e. scripts that " -"don't start with the ``extends`` keyword, implicitly inherit from the " -"engine's base :ref:`Reference ` class. This allows the " -"Object to defer to the script's content where the engine logic deems " -"appropriate." +"The behavior of scenes has many similarities to classes, so it can make " +"sense to think of a scene as a class. Scenes are reusable, instantiable, and " +"inheritable groups of nodes. Creating a scene is similar to having a script " +"that creates nodes and adds them as children using ``add_child()``." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:55 +msgid "" +"We often pair a scene with a scripted root node that makes use of the " +"scene's nodes. As such, the scene is often an extension of the script's " +"declarative code." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:58 -msgid "" -"As a result, you can instance scripts without the ``extends`` keyword from " -"code, but you cannot attach them to a :ref:`Node `" +msgid "The content of a scene helps to define:" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:60 +msgid "What nodes are available to the script" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:61 +msgid "How they are organized" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:62 +msgid "How they are initialized" msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:63 -msgid "Scripting performances and PackedScene" +msgid "What signal connections they have with each other" msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:65 msgid "" -"As the size of Objects increases, the scripts' necessary size to create them " -"grows much, much larger. Creating node hierarchies demonstrates this. Each " -"individual Node's logic could be several hundred lines of code in length." +"Why is any of this important to scene organization? Because instances of " +"scenes *are* objects. As a result, many object-oriented principles that " +"apply to written code also apply to scenes: single responsibility, " +"encapsulation, and others." msgstr "" #: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:69 msgid "" -"Let's see a simple example of creating a single ``Node`` as a child. The " -"code below creates a new ``Node``, changes its name, assigns a script to it, " -"sets its future parent as its owner so it gets saved to disk along with it, " -"and finally adds it as a child of the ``Main`` node:" +"The scene is *always an extension of the script attached to its root node*, " +"so you can interpret it as part of a class." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:109 +#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:72 msgid "" -"Script code like this is much slower than engine-side C++ code. Each change " -"makes a separate call to the scripting API which leads to many \"look-ups\" " -"on the back-end to find the logic to execute." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:113 -msgid "" -"Scenes help to avoid this performance issue. :ref:`PackedScene " -"`, the base type that scenes inherit from, are resources " -"that use serialized data to create objects. The engine can process scenes in " -"batches on the back-end and provide much better performance than scripts." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:119 -msgid "Scenes and scripts are objects" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:121 -msgid "" -"Why is any of this important to scene organization? Because scenes *are* " -"objects. One often pairs a scene with a scripted root node that makes use of " -"the sub-nodes. This means that the scene is often an extension of the " -"script's declarative code." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:126 -msgid "The content of a scene helps to define:" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:128 -msgid "What nodes are available to the script" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:129 -msgid "How they are organized" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:130 -msgid "How they are initialized" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:131 -msgid "What signal connections they have with each other" -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:133 -msgid "" -"Many Object-Oriented principles which apply to written code *also* apply to " -"scenes." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:136 -msgid "" -"The scene is *always an extension of the script attached to its root node*. " -"You can see all the nodes it contains as part of a single class." -msgstr "" - -#: ../../docs/getting_started/workflow/best_practices/what_are_godot_classes.rst:139 -msgid "" -"Most of the tips and techniques explained in this series will build on this." +"Most of the techniques explained in this best practices series build on this " +"point." msgstr "" #: ../../docs/getting_started/workflow/best_practices/scene_organization.rst:4 @@ -27756,12 +27859,52 @@ msgid "" "On the downside, it also means having to use largely imperative programming." msgstr "" +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:151 +msgid "Performance of Script vs PackedScene" +msgstr "" + #: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:153 -msgid "In the end, the best approach is to consider the following:" +msgid "" +"One last aspect to consider when choosing scenes and scripts is execution " +"speed." msgstr "" #: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:155 msgid "" +"As the size of objects increases, the scripts' necessary size to create and " +"initialize them grows much larger. Creating node hierarchies demonstrates " +"this. Each Node's logic could be several hundred lines of code in length." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:159 +msgid "" +"The code example below creates a new ``Node``, changes its name, assigns a " +"script to it, sets its future parent as its owner so it gets saved to disk " +"along with it, and finally adds it as a child of the ``Main`` node:" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:195 +msgid "" +"Script code like this is much slower than engine-side C++ code. Each " +"instruction makes a call to the scripting API which leads to many \"lookups" +"\" on the back-end to find the logic to execute." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:199 +msgid "" +"Scenes help to avoid this performance issue. :ref:`PackedScene " +"`, the base type that scenes inherit from, defines " +"resources that use serialized data to create objects. The engine can process " +"scenes in batches on the back-end and provide much better performance than " +"scripts." +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:207 +msgid "In the end, the best approach is to consider the following:" +msgstr "" + +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:209 +msgid "" "If one wishes to create a basic tool that is going to be re-used in several " "different projects and which people of all skill levels will likely use " "(including those who don't label themselves as \"programmers\"), then " @@ -27769,14 +27912,14 @@ msgid "" "name/icon." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:160 +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:214 msgid "" "If one wishes to create a concept that is particular to their game, then it " "should always be a scene. Scenes are easier to track/edit and provide more " "security than scripts." msgstr "" -#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:164 +#: ../../docs/getting_started/workflow/best_practices/scenes_versus_scripts.rst:218 msgid "" "If one would like to give a name to a scene, then they can still sort of do " "this in 3.1 by declaring a script class and giving it a scene as a constant. " @@ -30162,11 +30305,29 @@ msgstr "" msgid "ParticlesMaterial settings" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:198 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:182 +msgid "Direction" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:184 +msgid "" +"This is the base direction at which particles emit. The default is " +"``Vector3(1, 0, 0)`` which makes particles emit to the right. However, with " +"the default gravity settings, particles will go straight down." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:190 +msgid "" +"For this property to be noticeable, you need an *initial velocity* greater " +"than 0. Here, we set the initial velocity to 40. You'll notice that " +"particles emit toward the right, then go down because of gravity." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:197 msgid "Spread" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:200 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:199 msgid "" "This parameter is the angle in degrees which will be randomly added in " "either direction to the base ``Direction``. A spread of ``180`` will emit in " @@ -30174,177 +30335,180 @@ msgid "" "parameter must be greater than 0." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:208 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:207 +msgid "Flatness" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:209 +msgid "This property is only useful for 3D particles." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:212 msgid "Gravity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:210 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:214 msgid "The gravity applied to every particle." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:215 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:219 msgid "Initial Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:217 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:221 msgid "" "Initial velocity is the speed at which particles will be emitted (in pixels/" "sec). Speed might later be modified by gravity or other accelerations (as " "described further below)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:224 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:228 msgid "Angular Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:226 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:230 msgid "Angular velocity is the initial angular velocity applied to particles." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:229 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:233 msgid "Spin Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:231 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:235 msgid "" "Spin velocity is the speed at which particles turn around their center (in " "degrees/sec)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:237 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:241 msgid "Orbit Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:239 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:243 msgid "Orbit velocity is used to make particles turn around their center." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:244 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:248 msgid "Linear Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:246 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:250 msgid "The linear acceleration applied to each particle." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:249 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:253 msgid "Radial Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:251 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:255 msgid "" "If this acceleration is positive, particles are accelerated away from the " "center. If negative, they are absorbed towards it." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:257 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:261 msgid "Tangential Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:259 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:263 msgid "" "This acceleration will use the tangent vector to the center. Combining with " "radial acceleration can do nice effects." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:265 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:269 msgid "Damping" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:267 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:271 msgid "" "Damping applies friction to the particles, forcing them to stop. It is " "especially useful for sparks or explosions, which usually begin with a high " "linear velocity and then stop as they fade." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:274 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:278 msgid "Angle" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:276 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:280 msgid "" "Determines the initial angle of the particle (in degrees). This parameter is " "mostly useful randomized." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:282 -#: ../../docs/tutorials/3d/using_multi_mesh_instance.rst:87 -msgid "Scale" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:284 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:288 msgid "Determines the initial scale of the particles." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:289 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:293 msgid "Color" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:291 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:295 msgid "Used to change the color of the particles being emitted." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:294 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:298 msgid "Hue variation" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:296 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:300 msgid "" "The ``Variation`` value sets the initial hue variation applied to each " "particle. The ``Variation Random`` value controls the hue variation " "randomness ratio." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:301 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:305 msgid "Emission Shapes" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:303 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:307 msgid "" "ParticlesMaterials allow you to set an Emission Mask, which dictates the " "area and direction in which particles are emitted. These can be generated " "from textures in your project." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:307 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:311 msgid "" "Ensure that a ParticlesMaterial is set, and the Particles2D node is " "selected. A \"Particles\" menu should appear in the Toolbar:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:312 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:316 msgid "Open it and select \"Load Emission Mask\":" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:316 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:320 msgid "Then select which texture you want to use as your mask:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:320 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:324 msgid "A dialog box with several settings will appear." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:323 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:327 msgid "Emission Mask" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:325 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:329 msgid "Three types of emission masks can be generated from a texture:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:327 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:331 msgid "" "Solid Pixels: Particles will spawn from any area of the texture, excluding " "transparent areas." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:332 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:336 msgid "" "Border Pixels: Particles will spawn from the outer edges of the texture." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:336 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:340 msgid "" "Directed Border Pixels: Similar to Border Pixels, but adds extra information " "to the mask to give particles the ability to emit away from the borders. " @@ -30352,29 +30516,29 @@ msgid "" "this." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:344 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:348 msgid "Emission Colors" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:346 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:350 msgid "" "``Capture from Pixel`` will cause the particles to inherit the color of the " "mask at their spawn points." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:348 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:352 msgid "" "Once you click \"OK\", the mask will be generated and set to the " "ParticlesMaterial, under the ``Emission Shape`` section:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:352 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:356 msgid "" "All of the values within this section have been automatically generated by " "the \"Load Emission Mask\" menu, so they should generally be left alone." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:355 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:359 msgid "" "An image should not be added to ``Point Texture`` or ``Color Texture`` " "directly. The \"Load Emission Mask\" menu should always be used instead." @@ -33205,10 +33369,6 @@ msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:154 #: ../../docs/tutorials/3d/environment_and_post_processing.rst:196 #: ../../docs/tutorials/3d/environment_and_post_processing.rst:222 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:268 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:282 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:301 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 msgid "*This feature is only available when using the GLES3 backend.*" msgstr "" @@ -35111,55 +35271,55 @@ msgstr "" msgid "Depth of Field / Far Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:270 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:268 msgid "" "This effect simulates focal distance on high end cameras. It blurs objects " "behind a given range. It has an initial **Distance** with a **Transition** " "region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:276 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:290 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:274 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:286 msgid "" "The **Amount** parameter controls the amount of blur. For larger blurs, " "tweaking the **Quality** may be needed in order to avoid artifacts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:280 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:278 msgid "Depth of Field / Near Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:284 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:280 msgid "" "This effect simulates focal distance on high end cameras. It blurs objects " "close to the camera (acts in the opposite direction as far blur). It has an " "initial **Distance** with a **Transition** region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:293 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:289 msgid "" "It is common to use both blurs together to focus the viewer's attention on a " "given object:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:299 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:295 msgid "Glow" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:303 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:297 msgid "" "In photography and film, when light amount exceeds the maximum supported by " "the media (be it analog or digital), it generally bleeds outwards to darker " "regions of the image. This is simulated in Godot with the **Glow** effect." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:309 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:303 msgid "" "By default, even if the effect is enabled, it will be weak or invisible. One " "of two conditions need to happen for it to actually show:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:312 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:306 msgid "" "The light in a pixel surpasses the **HDR Threshold** (where 0 is all light " "surpasses it, and 1.0 is light over the tonemapper **White** value). " @@ -35169,27 +35329,27 @@ msgid "" "threshold." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:316 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:310 msgid "" "The Bloom effect has a value set greater than 0. As it increases, it sends " "the whole screen to the glow processor at higher amounts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:320 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:314 msgid "Both will cause the light to start bleeding out of the brighter areas." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:322 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:316 msgid "Once glow is visible, it can be controlled with a few extra parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:318 msgid "" "**Intensity** is an overall scale for the effect, it can be made stronger or " "weaker (0.0 removes it)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:325 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:319 msgid "" "**Strength** is how strong the gaussian filter kernel is processed. Greater " "values make the filter saturate and expand outwards. In general, changing " @@ -35197,84 +35357,85 @@ msgid "" "**Levels**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:327 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:321 msgid "The **Blend Mode** of the effect can also be changed:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:329 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:323 msgid "" "**Additive** is the strongest one, as it just adds the glow effect over the " "image with no blending involved. In general, it's too strong to be used, but " "can look good with low intensity Bloom (produces a dream-like effect)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:330 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 msgid "" "**Screen** is the default one. It ensures glow never brights more than " "itself and works great as an all around." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:331 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:325 msgid "" "**Softlight** is the weakest one, producing only a subtle color disturbance " "around the objects. This mode works best on dark scenes." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:326 msgid "" "**Replace** can be used to blur the whole screen or debug the effect. It " "just shows the glow effect without the image below." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:328 msgid "" "To change the glow effect size and shape, Godot provides **Levels**. Smaller " "levels are strong glows that appear around objects, while large levels are " "hazy glows covering the whole screen:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:340 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 msgid "" "The real strength of this system, though, is to combine levels to create " "more interesting glow patterns:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:345 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:339 msgid "" "Finally, as the highest layers are created by stretching small blurred " "images, it is possible that some blockiness may be visible. Enabling " -"**Bicubic Upscaling** gets rids of it, at a minimal performance cost." +"**Bicubic Upscaling** gets rids of it, at a minimal performance cost. *Note " +"that this is effective only when using the GLES3 backend.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:347 msgid "Adjustments" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:356 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:349 msgid "" "At the end of processing, Godot offers the possibility to do some standard " "image adjustments." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:361 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 msgid "" "The first one is being able to change the typical Brightness, Contrast, and " "Saturation:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:366 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:359 msgid "" "The second is by supplying a color correction gradient. A regular black to " "white gradient like the following one will produce no effect:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:371 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:364 msgid "" "But creating custom ones will allow to map each channel to a different color:" msgstr "" #: ../../docs/tutorials/3d/high_dynamic_range.rst:4 -msgid "Light transport in game engines" +msgid "High dynamic range lighting" msgstr "" #: ../../docs/tutorials/3d/high_dynamic_range.rst:9 @@ -35318,11 +35479,23 @@ msgid "" "would be ready for display on a particular display type." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:36 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:37 +msgid "" +"Godot does not support high dynamic range *output* yet. It can only perform " +"lighting in HDR and tonemap the result to a low dynamic range image." +msgstr "" + +#: ../../docs/tutorials/3d/high_dynamic_range.rst:40 +msgid "" +"For advanced users, it is still possible to get a non-tonemapped image of " +"the viewport with full HDR data, which can then be saved to an OpenEXR file." +msgstr "" + +#: ../../docs/tutorials/3d/high_dynamic_range.rst:44 msgid "Computer displays" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:38 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:46 msgid "" "Almost all displays require a nonlinear encoding for the code values sent to " "them. The display in turn, using its unique transfer characteristic, " @@ -35331,7 +35504,7 @@ msgid "" "blueish emission site." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:44 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:52 msgid "" "For a majority of computer displays, the specifications of the display are " "outlined in accordance with IEC 61966-2-1, also known as the 1996 sRGB " @@ -35340,20 +35513,20 @@ msgid "" "characteristics of the input (OETF) and output (EOTF)." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:50 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:58 msgid "" "Not all displays use the same OETF and EOTF as a computer display. For " "example, television broadcast displays use the BT.1886 EOTF. However, Godot " "currently only supports sRGB displays." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:54 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:62 msgid "" "The sRGB standard is based around the nonlinear relationship between the " "current to light output of common desktop computing CRT displays." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:59 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:67 msgid "" "The mathematics of a scene-referred model require that we multiply the scene " "by different values to adjust the intensities and exposure to different " @@ -35363,11 +35536,11 @@ msgid "" "is required." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:67 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:75 msgid "Scene linear & asset pipelines" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:69 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:77 msgid "" "Working in scene-linear sRGB is not as simple as just pressing a switch. " "First, imported image assets must be converted to linear light ratios on " @@ -35375,15 +35548,15 @@ msgid "" "for use as textures, depending on how they were generated." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:74 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:82 msgid "There are two ways to do this:" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:77 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:85 msgid "sRGB transfer function to display linear ratios on image import" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:79 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:87 msgid "" "This is the easiest method of using sRGB assets, but it's not the most " "ideal. One issue with this is loss of quality. Using 8 bits per channel to " @@ -35392,22 +35565,22 @@ msgid "" "the problem." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:85 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:93 msgid "Hardware sRGB transfer function to display linear conversion" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:87 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:95 msgid "" "The GPU will do the conversion after reading the texel using floating-point. " "This works fine on PC and consoles, but most mobile devices don't support " "it, or they don't support it on compressed texture formats (iOS for example)." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:92 -msgid "Scene linear to display referred nonlinear" +#: ../../docs/tutorials/3d/high_dynamic_range.rst:100 +msgid "Scene linear to display-referred nonlinear" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:94 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:102 msgid "" "After all the rendering is done, the scene linear render requires " "transforming to a suitable output such as an sRGB display. To do this, " @@ -35415,7 +35588,7 @@ msgid "" "(more on that below)." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:98 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:106 msgid "" "Keep in mind that the **sRGB -> Display Linear** and **Display Linear -> " "sRGB** conversions must always be **both** enabled. Failing to enable one of " @@ -35423,11 +35596,11 @@ msgid "" "experimental indie games." msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:104 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:112 msgid "Parameters of HDR" msgstr "" -#: ../../docs/tutorials/3d/high_dynamic_range.rst:106 +#: ../../docs/tutorials/3d/high_dynamic_range.rst:114 msgid "" "HDR settings can be found in the :ref:`Environment ` " "resource. Most of the time, these are found inside a :ref:`WorldEnvironment " @@ -35743,7 +35916,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:4 -msgid "CSG" +msgid "Prototyping levels with CSG" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:6 @@ -45825,15 +45998,21 @@ msgstr "" #: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:133 msgid "" +"`get_slide_count()` only counts times the body has collided and changed " +"direction." +msgstr "" + +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:135 +msgid "" "See :ref:`KinematicCollision2D ` for details on " "what collision data is returned." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:137 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:139 msgid "Which movement method to use?" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:139 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:141 msgid "" "A common question from new Godot users is: \"How do you decide which " "movement function to use?\" Often, the response is to use " @@ -45843,7 +46022,7 @@ msgid "" "two code snippets result in the same collision response:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:170 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:172 msgid "" "Anything you do with ``move_and_slide()`` can also be done with " "``move_and_collide()``, but it might take a little more code. However, as " @@ -45851,7 +46030,7 @@ msgid "" "doesn't provide the response you want." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:174 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:176 msgid "" "In the example above, we assign the velocity that ``move_and_slide()`` " "returns back into the ``velocity`` variable. This is because when the " @@ -45859,14 +46038,14 @@ msgid "" "internally to reflect the slowdown." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:179 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:181 msgid "" "For example, if your character fell on the floor, you don't want it to " "accumulate vertical speed due to the effect of gravity. Instead, you want " "its vertical speed to reset to zero." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:183 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:185 msgid "" "``move_and_slide()`` may also recalculate the kinematic body's velocity " "several times in a loop as, to produce a smooth motion, it moves the " @@ -45875,23 +46054,23 @@ msgid "" "in our ``velocity`` variable, and use on the next frame." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:192 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:194 msgid "" "To see these examples in action, download the sample project: :download:" "`using_kinematic2d.zip `." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:196 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:198 msgid "Movement and walls" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:198 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:200 msgid "" "If you've downloaded the sample project, this example is in \"BasicMovement." "tscn\"." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:200 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:202 msgid "" "For this example, add a ``KinematicBody2D`` with two children: a ``Sprite`` " "and a ``CollisionShape2D``. Use the Godot \"icon.png\" as the Sprite's " @@ -45900,16 +46079,16 @@ msgid "" "RectangleShape2D\" and size the rectangle to fit over the sprite image." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:206 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:208 msgid "" "See :ref:`doc_2d_movement` for examples of implementing 2D movement schemes." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:208 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:210 msgid "Attach a script to the KinematicBody2D and add the following code:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:271 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:273 msgid "" "Run this scene and you'll see that ``move_and_collide()`` works as expected, " "moving the body along the velocity vector. Now let's see what happens when " @@ -45918,7 +46097,7 @@ msgid "" "Polygon2D, or turn on \"Visible Collision Shapes\" from the \"Debug\" menu." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:277 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:279 msgid "" "Run the scene again and try moving into the obstacle. You'll see that the " "``KinematicBody2D`` can't penetrate the obstacle. However, try moving into " @@ -45926,79 +46105,79 @@ msgid "" "it feels like the body gets stuck." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:281 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:283 msgid "" "This happens because there is no *collision response*. " "``move_and_collide()`` stops the body's movement when a collision occurs. We " "need to code whatever response we want from the collision." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:285 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:287 msgid "" "Try changing the function to ``move_and_slide(velocity)`` and running again. " "Note that we removed ``delta`` from the velocity calculation." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:288 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:290 msgid "" "``move_and_slide()`` provides a default collision response of sliding the " "body along the collision object. This is useful for a great many game types, " "and may be all you need to get the behavior you want." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:293 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:295 msgid "Bouncing/reflecting" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:295 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:297 msgid "" "What if you don't want a sliding collision response? For this example " "(\"BounceandCollide.tscn\" in the sample project), we have a character " "shooting bullets and we want the bullets to bounce off the walls." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:299 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:301 msgid "" "This example uses three scenes. The main scene contains the Player and " "Walls. The Bullet and Wall are separate scenes so that they can be instanced." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:302 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:304 msgid "" "The Player is controlled by the `w` and `s` keys for forward and back. " "Aiming uses the mouse pointer. Here is the code for the Player, using " "``move_and_slide()``:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:389 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:391 msgid "And the code for the Bullet:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:451 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:453 msgid "" "The action happens in ``_physics_process()``. After using " "``move_and_collide()``, if a collision occurs, a ``KinematicCollision2D`` " "object is returned (otherwise, the return is ``Nil``)." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:455 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:457 msgid "" "If there is a returned collision, we use the ``normal`` of the collision to " "reflect the bullet's ``velocity`` with the ``Vector2.bounce()`` method." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:458 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:460 msgid "" "If the colliding object (``collider``) has a ``hit`` method, we also call " "it. In the example project, we've added a flashing color effect to the Wall " "to demonstrate this." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:465 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:467 msgid "Platformer movement" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:467 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:469 msgid "" "Let's try one more popular example: the 2D platformer. ``move_and_slide()`` " "is ideal for quickly getting a functional character controller up and " @@ -46006,18 +46185,18 @@ msgid "" "\"Platformer.tscn\"." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:471 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:473 msgid "" "For this example, we'll assume you have a level made of ``StaticBody2D`` " "objects. They can be any shape and size. In the sample project, we're using :" "ref:`Polygon2D ` to create the platform shapes." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:475 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:477 msgid "Here's the code for the player body:" msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:556 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:558 msgid "" "When using ``move_and_slide()``, the function returns a vector representing " "the movement that remained after the slide collision occurred. Setting that " @@ -46026,14 +46205,14 @@ msgid "" "don't do this." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:561 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:563 msgid "" "Also note that we've added ``Vector2(0, -1)`` as the floor normal. This " "vector points straight upward. As a result, if the character collides with " "an object that has this normal, it will be considered a floor." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:565 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:567 msgid "" "Using the floor normal allows us to make jumping work, using " "``is_on_floor()``. This function will only return ``true`` after a " @@ -46042,7 +46221,7 @@ msgid "" "setting ``floor_max_angle``." msgstr "" -#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:570 +#: ../../docs/tutorials/physics/using_kinematic_body_2d.rst:572 msgid "" "This angle also allows you to implement other features like wall jumps using " "``is_on_wall()``, for example." @@ -56080,15 +56259,15 @@ msgstr "" msgid "Ghost" msgstr "" -#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:251 +#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:252 msgid "Pulse" msgstr "" -#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:277 +#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:279 msgid "Matrix" msgstr "" -#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:311 +#: ../../docs/tutorials/gui/bbcode_in_richtextlabel.rst:314 msgid "This will add a few new BBCode commands, which can be used like so:" msgstr "" @@ -58429,7 +58608,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shading/shading_reference/shading_language.rst:487 -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:192 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:194 msgid "Uniforms" msgstr "" @@ -60543,7 +60722,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shading/shading_reference/canvas_item_shader.rst:128 -msgid "UV." +msgid "Texture coordinates." msgstr "" #: ../../docs/tutorials/shading/shading_reference/canvas_item_shader.rst:130 @@ -61709,14 +61888,17 @@ msgid "" "Now, access the noise texture using the ``texture()`` function. " "``texture()`` takes a texture as the first argument and a ``vec2`` for the " "position on the texture as the second argument. We use the ``x`` and ``z`` " -"channels of ``VERTEX`` to determine where on the texture to look up. " -"``texture()`` returns a ``vec4`` of the ``r, g, b, a`` channels at the " -"position. Since the noise texture is grayscale, all of the values are the " -"same, so we can use any one of the channels as the height. In this case " -"we'll use the ``r``, or ``x`` channel." +"channels of ``VERTEX`` to determine where on the texture to look up. Note " +"that the PlaneMesh coordinates are within the [-1,1] range (for a size of " +"2), while the texture coordinates are within [0,1], so to normalize we " +"divide by the size of the PlaneMesh 2.0 and add 0.5. ``texture()`` returns a " +"``vec4`` of the ``r, g, b, a`` channels at the position. Since the noise " +"texture is grayscale, all of the values are the same, so we can use any one " +"of the channels as the height. In this case we'll use the ``r``, or ``x`` " +"channel." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:181 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:183 msgid "" "Note: ``xyzw`` is the same as ``rgba`` in GLSL, so instead of ``texture()." "x`` above, we could use ``texture().r``. See the `OpenGL documentation " @@ -61724,18 +61906,18 @@ msgid "" "details." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:184 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:186 msgid "Using this code you can see the texture creates random looking hills." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:188 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:190 msgid "" "Right now it is too spiky, we want to soften the hills a bit. To do that, we " "will use a uniform. You already used a uniform above to pass in the noise " "texture, now let's learn how they work." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:194 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:196 msgid "" "Uniform variables allow you to pass data from the game into the shader. They " "are very useful for controlling shader effects. Uniforms can be almost any " @@ -61743,11 +61925,11 @@ msgid "" "your :ref:`Shader` using the keyword ``uniform``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:199 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:201 msgid "Let's make a uniform that changes the height of the terrain." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:206 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:208 msgid "" "Godot lets you initialize a uniform with a value; here, ``height_scale`` is " "set to ``0.5``. You can set uniforms from GDScript by calling the function " @@ -61756,7 +61938,7 @@ msgid "" "initialize it in the shader." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:216 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:218 msgid "" "Changing uniforms in Spatial-based nodes is different from CanvasItem-based " "nodes. Here, we set the material inside the PlaneMesh resource. In other " @@ -61765,7 +61947,7 @@ msgid "" "material using ``get_surface_material()`` or ``material_override``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:222 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:224 msgid "" "Remember that the string passed into ``set_shader_param()`` must match the " "name of the uniform variable in the :ref:`Shader`. You can use " @@ -61774,38 +61956,38 @@ msgid "" "``0.5``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:231 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:233 msgid "Now it looks much better." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:235 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:237 msgid "" "Using uniforms, we can even change the value every frame to animate the " "height of the terrain. Combined with :ref:`Tweens `, this can " "be especially useful for simple animations." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:239 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:241 msgid "Interacting with light" msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:241 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:243 msgid "" "First, turn wireframe off. To do so, click in the upper-left of the Viewport " "again, where it says \"Perspective\", and select \"Display Normal\"." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:246 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:248 msgid "" "Note how the mesh color goes flat. This is because the lighting on it is " "flat. Let's add a light!" msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:248 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:250 msgid "First, we will add an :ref:`OmniLight` to the scene." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:252 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:254 msgid "" "You can see the light affecting the terrain, but it looks odd. The problem " "is the light is affecting the terrain as if it were a flat plane. This is " @@ -61813,7 +61995,7 @@ msgid "" "to calculate light." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:256 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:258 msgid "" "The normals are stored in the Mesh, but we are changing the shape of the " "Mesh in the shader, so the normals are no longer correct. To fix this, we " @@ -61821,7 +62003,7 @@ msgid "" "corresponds to our noise. Godot makes both easy for us." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:260 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:262 msgid "" "You can calculate the new normal manually in the vertex function and then " "just set ``NORMAL``. With ``NORMAL`` set, Godot will do all the difficult " @@ -61829,26 +62011,26 @@ msgid "" "this tutorial, for now we will read normals from a texture." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:264 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:266 msgid "" "Instead we will rely on the NoiseTexture again to calculate normals for us. " "We do that by passing in a second noise texture." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:271 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:273 msgid "" "Set this second uniform texture to another NoiseTexture with another " "OpenSimplexNoise. But this time, check off \"As Normalmap\"." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:276 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:278 msgid "" "Now, because this is a normalmap and not a per-vertex normal, we are going " "to assign it in the ``fragment()`` function. The ``fragment()`` function " "will be explained in more detail in the next part of this tutorial." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:284 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:286 msgid "" "When we have normals that correspond to a specific vertex we set ``NORMAL``, " "but if you have a normalmap that comes from a texture, set the normal using " @@ -61856,7 +62038,7 @@ msgid "" "the mesh automatically." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:288 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:290 msgid "" "Lastly, in order to ensure that we are reading from the same places on the " "noise texture and the normalmap texture, we are going to pass the ``VERTEX." @@ -61864,35 +62046,35 @@ msgid "" "We do that with varyings." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:292 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:294 msgid "" -"Above the ``vertex()`` define a ``vec2`` called ``vertex_position``. And " -"inside the ``vertex()`` function assign ``VERTEX.xz`` to ``vertex_position``." +"Above the ``vertex()`` define a ``vec2`` called ``tex_position``. And inside " +"the ``vertex()`` function assign ``VERTEX.xz`` to ``tex_position``." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:304 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:308 msgid "" "And now we can access ``vertex_position`` from the ``fragment()`` function." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:312 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:316 msgid "" "With the normals in place the light now reacts to the height of the mesh " "dynamically." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:316 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:320 msgid "" "We can even drag the light around and the lighting will update automatically." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:320 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:324 msgid "" "Here is the full code for this tutorial. You can see it is not very long as " "Godot handles most of the difficult stuff for you." msgstr "" -#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:343 +#: ../../docs/tutorials/shading/your_first_shader/your_first_spatial_shader.rst:347 msgid "" "That is everything for this part. Hopefully, you now understand the basics " "of vertex shaders in Godot. In the next part of this tutorial we will write " @@ -64990,7 +65172,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:4 -msgid "Using the AssetLib" +msgid "Using the Asset Library" msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:7 @@ -64999,9 +65181,9 @@ msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:12 msgid "" -"As mentioned before, you can access the web frontend of the AssetLib on " -"`Godot's official website `_, " -"and this is what it looks like when you first visit it:" +"As mentioned before, you can access the web frontend of the Asset Library on " +"`Godot's official website `_. " +"This is what it looks like when you first visit it:" msgstr "" #: ../../docs/tutorials/assetlib/using_assetlib.rst:18 @@ -75079,7 +75261,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/optimization/general_optimization.rst:233 -#: ../../docs/tutorials/optimization/batching.rst:514 +#: ../../docs/tutorials/optimization/batching.rst:518 msgid "Appendix" msgstr "" @@ -76160,6 +76342,94 @@ msgid "" "shaders, viewport textures and post processing." msgstr "" +#: ../../docs/tutorials/optimization/using_multimesh.rst:4 +msgid "Optimization using MultiMeshes" +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:6 +msgid "" +"For large amount of instances (in the thousands), that need to be constantly " +"processed (and certain amount of control needs to be retained), :ref:`using " +"servers directly ` is the recommended optimization." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:10 +msgid "" +"When the amount of objects reach the hundreds of thousands or millions, none " +"of these approaches are efficient anymore. Still, depending on the " +"requirements, there is one more optimization possible." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:15 +msgid "MultiMeshes" +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:17 +msgid "" +"A :ref:`MultiMesh` is a single draw primitive that can draw " +"up to millions of objects in one go. It's extremely efficient because it " +"uses the GPU hardware to do this (in OpenGL ES 2.0, it's less efficient " +"because there is no hardware support for it, though)." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:21 +msgid "" +"The only drawback is that there is no *screen* or *frustum* culling possible " +"for individual instances. This means, that millions of objects will be " +"*always* or *never* drawn, depending on the visibility of the whole " +"MultiMesh. It is possible to provide a custom visibility rect for them, but " +"it will always be *all-or-none* visibility." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:26 +msgid "" +"If the objects are simple enough (just a couple of vertices), this is " +"generally not much of a problem as most modern GPUs are optimized for this " +"use case. A workaround is to create several MultiMeshes for different areas " +"of the world." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:30 +msgid "" +"It is also possible to execute some logic inside the vertex shader (using " +"the ``INSTANCE_ID`` or ``INSTANCE_CUSTOM`` built-in constants). For an " +"example of animating thousands of objects in a MultiMesh, see the :ref:" +"`Animating thousands of fish ` tutorial. " +"Information to the shader can be provided via textures (there are floating-" +"point :ref:`Image` formats which are ideal for this)." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:36 +msgid "" +"Another alternative is to use GDNative and C++, which should be extremely " +"efficient (it's possible to set the entire state for all objects using " +"linear memory via the :ref:`VisualServer.multimesh_set_as_bulk_array() " +"` function). This " +"way, the array can be created with multiple threads, then set in one call, " +"providing high cache efficiency." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:42 +msgid "" +"Finally, it's not required to have all MultiMesh instances visible. The " +"amount of visible ones can be controlled with the :ref:`MultiMesh." +"visible_instance_count ` " +"property. The typical workflow is to allocate the maximum amount of " +"instances that will be used, then change the amount visible depending on how " +"many are currently needed." +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:48 +msgid "Multimesh example" +msgstr "" + +#: ../../docs/tutorials/optimization/using_multimesh.rst:50 +msgid "" +"Here is an example of using a MultiMesh from code. Languages other than " +"GDScript may be more efficient for millions of objects, but for a few " +"thousands, GDScript should be fine." +msgstr "" + #: ../../docs/tutorials/optimization/batching.rst:4 msgid "Optimization using batching" msgstr "" @@ -76180,11 +76450,15 @@ msgid "" "number of draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:20 +#: ../../docs/tutorials/optimization/batching.rst:21 +msgid "2D batching is currently only supported when using the GLES2 renderer." +msgstr "" + +#: ../../docs/tutorials/optimization/batching.rst:24 msgid "Draw calls" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:22 +#: ../../docs/tutorials/optimization/batching.rst:26 msgid "" "In 2D, we need to tell the GPU to render a series of primitives (rectangles, " "lines, polygons etc). The most obvious technique is to tell the GPU to " @@ -76193,7 +76467,7 @@ msgid "" "\" (this is called a draw call)." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:28 +#: ../../docs/tutorials/optimization/batching.rst:32 msgid "" "It turns out that while this is conceptually simple from the engine side, " "GPUs operate very slowly when used in this manner. GPUs work much more " @@ -76202,13 +76476,13 @@ msgid "" "will call a \"batch\"." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:33 +#: ../../docs/tutorials/optimization/batching.rst:37 msgid "" "And it turns out that they don't just work a bit faster when used in this " "manner, they work a *lot* faster." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:36 +#: ../../docs/tutorials/optimization/batching.rst:40 msgid "" "As Godot is designed to be a general purpose engine, the primitives coming " "into the Godot renderer can be in any order, sometimes similar, and " @@ -76219,11 +76493,11 @@ msgid "" "performance while requiring few, if any, changes to your Godot project." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:45 +#: ../../docs/tutorials/optimization/batching.rst:49 msgid "How it works" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:47 +#: ../../docs/tutorials/optimization/batching.rst:51 msgid "" "Instructions come into the renderer from your game in the form of a series " "of items, each of which can contain one or more commands. The items " @@ -76234,23 +76508,23 @@ msgid "" "(rectangle)." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:54 +#: ../../docs/tutorials/optimization/batching.rst:58 msgid "The batcher uses two main techniques to group together primitives:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:56 +#: ../../docs/tutorials/optimization/batching.rst:60 msgid "Consecutive items can be joined together" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:57 +#: ../../docs/tutorials/optimization/batching.rst:61 msgid "Consecutive commands within an item can be joined to form a batch" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:60 +#: ../../docs/tutorials/optimization/batching.rst:64 msgid "Breaking batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:62 +#: ../../docs/tutorials/optimization/batching.rst:66 msgid "" "Batching can only take place if the items or commands are similar enough to " "be rendered in one draw call. Certain changes (or techniques), by necessity, " @@ -76258,51 +76532,51 @@ msgid "" "'breaking batching'." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:66 +#: ../../docs/tutorials/optimization/batching.rst:70 msgid "" "Batching will be broken by (amongst other things): * Change of texture * " "Change of material * Change of primitive type (say going from rectangles to " "lines)" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:73 +#: ../../docs/tutorials/optimization/batching.rst:77 msgid "" "If for example, you draw a series of sprites each with a different texture, " "there is no way they can be batched." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:77 +#: ../../docs/tutorials/optimization/batching.rst:81 msgid "Render order" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:79 +#: ../../docs/tutorials/optimization/batching.rst:83 msgid "" "The question arises, if only similar items can be drawn together in a batch, " "why don't we look through all the items in a scene, group together all the " "similar items, and draw them together?" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:83 +#: ../../docs/tutorials/optimization/batching.rst:87 msgid "" "In 3D, this is often exactly how engines work. However, in Godot 2D, items " "are drawn in 'painter's order', from back to front. This ensures that items " "at the front are drawn on top of earlier items, when they overlap." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:87 +#: ../../docs/tutorials/optimization/batching.rst:91 msgid "" "This also means that if we try and draw objects in order of, for example, " "texture, then this painter's order may break and objects will be drawn in " "the wrong order." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:91 +#: ../../docs/tutorials/optimization/batching.rst:95 msgid "" "In Godot this back to front order is determined by: * The order of objects " "in the scene tree * The Z index of objects * The canvas layer * Y sort nodes" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:99 +#: ../../docs/tutorials/optimization/batching.rst:103 msgid "" "You can group similar objects together for easier batching. While doing so " "is not a requirement on your part, think of it as an optional approach that " @@ -76310,28 +76584,28 @@ msgid "" "to help you make this decision." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:105 +#: ../../docs/tutorials/optimization/batching.rst:109 msgid "A trick" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:107 +#: ../../docs/tutorials/optimization/batching.rst:111 msgid "" "And now a sleight of hand. Although the idea of painter's order is that " "objects are rendered from back to front, consider 3 objects A, B and C, that " "contain 2 different textures, grass and wood." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:113 +#: ../../docs/tutorials/optimization/batching.rst:117 msgid "In painter's order they are ordered:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:121 +#: ../../docs/tutorials/optimization/batching.rst:125 msgid "" "Because the texture changes, they cannot be batched, and will be rendered in " "3 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:124 +#: ../../docs/tutorials/optimization/batching.rst:128 msgid "" "However, painter's order is only needed on the assumption that they will be " "drawn *on top* of each other. If we relax that assumption, i.e. if none of " @@ -76340,11 +76614,11 @@ msgid "" "of this?" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:130 +#: ../../docs/tutorials/optimization/batching.rst:134 msgid "Item reordering" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:134 +#: ../../docs/tutorials/optimization/batching.rst:138 msgid "" "It turns out that we can reorder items. However, we can only do this if the " "items satisfy the conditions of an overlap test, to ensure that the end " @@ -76355,13 +76629,13 @@ msgid "" "(see below), in order to balance the costs and benefits in your project." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:148 +#: ../../docs/tutorials/optimization/batching.rst:152 msgid "" "Because the texture only changes once, we can render the above in only 2 " "draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:154 +#: ../../docs/tutorials/optimization/batching.rst:158 msgid "" "Although the job for the batching system is normally quite straightforward, " "it becomes considerably more complex when 2D lights are used, because lights " @@ -76371,7 +76645,7 @@ msgid "" "lights, they would be drawn as follows, each line a draw call:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:174 +#: ../../docs/tutorials/optimization/batching.rst:178 msgid "" "That is a lot of draw calls, 8 for only 2 sprites. Now consider we are " "drawing 1000 sprites, the number of draw calls quickly becomes astronomical, " @@ -76379,43 +76653,43 @@ msgid "" "drastically slow down 2D." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:179 +#: ../../docs/tutorials/optimization/batching.rst:183 msgid "" "However, if you remember our magician's trick from item reordering, it turns " "out we can use the same trick to get around painter's order for lights!" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:182 +#: ../../docs/tutorials/optimization/batching.rst:186 msgid "" "If A and B are not overlapping, we can render them together in a batch, so " "the draw process is as follows:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:195 +#: ../../docs/tutorials/optimization/batching.rst:199 msgid "" "That is 4 draw calls. Not bad, that is a 50% improvement. However consider " "that in a real game, you might be drawing closer to 1000 sprites." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:198 +#: ../../docs/tutorials/optimization/batching.rst:202 msgid "Before: 1000 * 4 = 4000 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:199 +#: ../../docs/tutorials/optimization/batching.rst:203 msgid "After: 1 * 4 = 4 draw calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:201 +#: ../../docs/tutorials/optimization/batching.rst:205 msgid "" -"That is 1000x decrease in draw calls, and should give a huge increase in " +"That is a 1000× decrease in draw calls, and should give a huge increase in " "performance." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:205 +#: ../../docs/tutorials/optimization/batching.rst:209 msgid "Overlap test" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:207 +#: ../../docs/tutorials/optimization/batching.rst:211 msgid "" "However, as with the item reordering, things are not that simple, we must " "first perform the overlap test to determine whether we can join these " @@ -76425,7 +76699,7 @@ msgid "" "costs." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:213 +#: ../../docs/tutorials/optimization/batching.rst:217 msgid "" "Also consider that depending on the arrangement of primitives in the " "viewport, the overlap test will sometimes fail (because the primitives " @@ -76434,11 +76708,11 @@ msgid "" "performance is usually far higher than without this lighting optimization." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:220 +#: ../../docs/tutorials/optimization/batching.rst:224 msgid "Light Scissoring" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:222 +#: ../../docs/tutorials/optimization/batching.rst:226 msgid "" "Batching can make it more difficult to cull out objects that are not " "affected or partially affected by a light. This can increase the fill rate " @@ -76447,7 +76721,7 @@ msgid "" "calls." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:227 +#: ../../docs/tutorials/optimization/batching.rst:231 msgid "" "In order to counter this problem, (and also speedup lighting in general), " "batching introduces light scissoring. This enables the use of the OpenGL " @@ -76457,7 +76731,7 @@ msgid "" "rendering the light to *that area only*." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:234 +#: ../../docs/tutorials/optimization/batching.rst:238 msgid "" "Light scissoring is controlled with the :ref:`scissor_area_threshold " "` - Turns batching on and off" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:311 +#: ../../docs/tutorials/optimization/batching.rst:315 msgid "" ":ref:`use_batching_in_editor `" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:314 +#: ../../docs/tutorials/optimization/batching.rst:318 msgid "" ":ref:`single_rect_fallback ` - This is a faster way of drawing " @@ -76599,11 +76873,11 @@ msgid "" "is not recommended" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:320 +#: ../../docs/tutorials/optimization/batching.rst:324 msgid "rendering/batching/parameters" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:322 +#: ../../docs/tutorials/optimization/batching.rst:326 msgid "" ":ref:`max_join_item_commands ` - One of the most important " @@ -76615,7 +76889,7 @@ msgid "" "the best value may be project dependent." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:331 +#: ../../docs/tutorials/optimization/batching.rst:335 msgid "" ":ref:`colored_vertex_format_threshold " "` - This determines the maximum size of a " @@ -76634,7 +76908,7 @@ msgid "" "decreasing for mobile if RAM is at a premium." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:344 +#: ../../docs/tutorials/optimization/batching.rst:348 msgid "" ":ref:`item_reordering_lookahead ` - Item reordering can help " @@ -76643,17 +76917,17 @@ msgid "" "project." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:351 +#: ../../docs/tutorials/optimization/batching.rst:355 msgid "rendering/batching/lights" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:353 +#: ../../docs/tutorials/optimization/batching.rst:357 msgid "" ":ref:`scissor_area_threshold ` - See light scissoring." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:357 +#: ../../docs/tutorials/optimization/batching.rst:361 msgid "" ":ref:`max_join_items ` - Joining items before lighting can significantly " @@ -76662,11 +76936,11 @@ msgid "" "to use here." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:365 +#: ../../docs/tutorials/optimization/batching.rst:369 msgid "rendering/batching/debug" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:367 +#: ../../docs/tutorials/optimization/batching.rst:371 msgid "" ":ref:`flash_batching ` - This is purely a debugging feature to identify " @@ -76676,18 +76950,18 @@ msgid "" "export, only for testing." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:374 +#: ../../docs/tutorials/optimization/batching.rst:378 msgid "" ":ref:`diagnose_frame ` - This will periodically print a diagnostic batching " "log to the Godot IDE / console." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:380 +#: ../../docs/tutorials/optimization/batching.rst:384 msgid "rendering/batching/precision" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:382 +#: ../../docs/tutorials/optimization/batching.rst:386 msgid "" ":ref:`uv_contract ` - On some hardware (notably some Android devices) " @@ -76697,18 +76971,18 @@ msgid "" "coordinates to compensate for precision errors on devices." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:390 +#: ../../docs/tutorials/optimization/batching.rst:394 msgid "" ":ref:`uv_contract_amount ` - Hopefully the default amount should cure " "artifacts on most devices, but just in case, this value is editable." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:396 +#: ../../docs/tutorials/optimization/batching.rst:400 msgid "Diagnostics" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:398 +#: ../../docs/tutorials/optimization/batching.rst:402 msgid "" "Although you can change parameters and examine the effect on frame rate, " "this can feel like working blindly, with no idea of what is going on under " @@ -76719,15 +76993,15 @@ msgid "" "best possible performance." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:407 +#: ../../docs/tutorials/optimization/batching.rst:411 msgid "Reading a diagnostic" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:432 +#: ../../docs/tutorials/optimization/batching.rst:436 msgid "This is a typical diagnostic." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:434 +#: ../../docs/tutorials/optimization/batching.rst:438 msgid "" "**joined_item** - A joined item can contain 1 or more references to items " "(nodes). Generally joined_items containing many references is preferable to " @@ -76736,7 +77010,7 @@ msgid "" "item." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:439 +#: ../../docs/tutorials/optimization/batching.rst:443 msgid "" "**batch R** - a batch containing rectangles. The second number is the number " "of rects. The second number in square brackets is the Godot texture ID, and " @@ -76745,144 +77019,144 @@ msgid "" "MULTI is good, because this indicates successful batching." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:444 +#: ../../docs/tutorials/optimization/batching.rst:448 msgid "" "**batch D** - a default batch, containing everything else that is not " "currently batched." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:448 +#: ../../docs/tutorials/optimization/batching.rst:452 msgid "Default Batches" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:450 +#: ../../docs/tutorials/optimization/batching.rst:454 msgid "" "The second number following default batches is the number of commands in the " "batch, and it is followed by a brief summary of the contents:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:468 +#: ../../docs/tutorials/optimization/batching.rst:472 msgid "" "You may see \"dummy\" default batches containing no commands, you can ignore " "these." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:475 +#: ../../docs/tutorials/optimization/batching.rst:479 msgid "I don't get a large performance increase from switching on batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:477 +#: ../../docs/tutorials/optimization/batching.rst:481 msgid "" "Try the diagnostics, see how much batching is occurring, and whether it can " "be improved" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:479 +#: ../../docs/tutorials/optimization/batching.rst:483 msgid "Try changing parameters" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:480 +#: ../../docs/tutorials/optimization/batching.rst:484 msgid "Consider that batching may not be your bottleneck (see bottlenecks)" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:483 +#: ../../docs/tutorials/optimization/batching.rst:487 msgid "I get a decrease in performance with batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:485 +#: ../../docs/tutorials/optimization/batching.rst:489 msgid "Try steps to increase batching given above" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:486 +#: ../../docs/tutorials/optimization/batching.rst:490 msgid "" "Try switching :ref:`single_rect_fallback " "` to on" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:489 +#: ../../docs/tutorials/optimization/batching.rst:493 msgid "" "The single rect fallback method is the default used without batching, and it " "is approximately twice as fast, however it can result in flicker on some " "hardware, so its use is discouraged" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:492 +#: ../../docs/tutorials/optimization/batching.rst:496 msgid "" "After trying the above, if your scene is still performing worse, consider " "turning off batching." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:496 +#: ../../docs/tutorials/optimization/batching.rst:500 msgid "I use custom shaders and the items are not batching" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:498 +#: ../../docs/tutorials/optimization/batching.rst:502 msgid "" "Custom shaders can be problematic for batching, see the custom shaders " "section" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:501 +#: ../../docs/tutorials/optimization/batching.rst:505 msgid "I am seeing line artifacts appear on certain hardware" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:503 +#: ../../docs/tutorials/optimization/batching.rst:507 msgid "" "See the :ref:`uv_contract ` project setting which can be used to solve this " "problem." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:508 +#: ../../docs/tutorials/optimization/batching.rst:512 msgid "I use a large number of textures, so few items are being batched" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:510 +#: ../../docs/tutorials/optimization/batching.rst:514 msgid "" "Consider the use of texture atlases. As well as allowing batching, these " "reduce the need for state changes associated with changing texture." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:517 +#: ../../docs/tutorials/optimization/batching.rst:521 msgid "Light scissoring threshold calculation" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:519 +#: ../../docs/tutorials/optimization/batching.rst:523 msgid "" "The actual proportion of screen pixel area used as the threshold is the :ref:" "`scissor_area_threshold ` value to the power of 4." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:524 +#: ../../docs/tutorials/optimization/batching.rst:528 msgid "" "For example, on a screen size ``1920 x 1080`` there are ``2,073,600`` pixels." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:526 +#: ../../docs/tutorials/optimization/batching.rst:530 msgid "At a threshold of ``1000`` pixels, the proportion would be:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:533 +#: ../../docs/tutorials/optimization/batching.rst:537 msgid "The power of 0.25 is the opposite of power of 4)." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:535 +#: ../../docs/tutorials/optimization/batching.rst:539 msgid "" "So a :ref:`scissor_area_threshold ` of 0.15 would be a reasonable value " "to try." msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:539 +#: ../../docs/tutorials/optimization/batching.rst:543 msgid "" "Going the other way, for instance with a :ref:`scissor_area_threshold " "` of ``0.5``:" msgstr "" -#: ../../docs/tutorials/optimization/batching.rst:548 +#: ../../docs/tutorials/optimization/batching.rst:552 msgid "" "If the number of pixels saved is more than this threshold, the scissor is " "activated." @@ -78401,74 +78675,74 @@ msgstr "" msgid "For example, if you want to execute some code only in the editor, use:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:42 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:49 msgid "" "On the other hand, if you want to execute code only in game, simply negate " "the same statement:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:50 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:64 msgid "" "Pieces of code do not have either of the 2 conditions above will run both in-" "editor and in-game." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:52 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:66 msgid "Here is how a ``_process()`` function might look for you:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:66 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:97 msgid "" "Modifications in editor are permanent. For example, in the following case, " "when we remove the script, the node will keep its rotation. Be careful to " "avoid making unwanted modifications." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:69 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:100 msgid "Try it out" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:71 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:102 msgid "" "Add a ``Sprite`` node to your scene and set the texture to Godot icon. " "Attach and open a script, and change it to this:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:82 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:127 msgid "" "Save the script and return to the editor. You should now see your object " "rotate. If you run the game, it will also rotate." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:86 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:131 msgid "" "If you don't see the changes, reload the scene (close it and open it again)." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:88 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:133 msgid "" "Now let's choose which code runs when. Modify your ``_process()`` function " "to look like this:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:99 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:158 msgid "" "Save the script. Now the object will spin clockwise in the editor, but if " "you run the game, it will spin counter-clockwise." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:102 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:161 msgid "Editing variables" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:103 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:162 msgid "" "Add and export a variable speed to the script. The function set_speed after " "\"setget\" is executed with your input to change the variable. Modify " "``_process()`` to include the rotation speed." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:125 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:213 msgid "" "Code from other nodes doesn't run in the editor. Your access to other nodes " "is limited. You can access the tree and nodes, and their default properties, " @@ -78477,7 +78751,7 @@ msgid "" "all." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:130 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:218 msgid "" "You can instantiate packed scenes normally and add them to the scene " "currently opened in the editor. Be sure to set the scene root as the owner " @@ -78485,15 +78759,15 @@ msgid "" "editor." msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:132 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:220 msgid "If you are using ``tool``:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:142 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:239 msgid "If you are using :ref:`EditorScript`:" msgstr "" -#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:153 +#: ../../docs/tutorials/misc/running_code_in_the_editor.rst:260 msgid "" "Using ``tool`` improperly can yield many errors. It is advised to first " "write the code how you want it, and only then add the ``tool`` keyword to " @@ -79479,54 +79753,62 @@ msgid "" "your game with an external editor." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:94 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:95 +#: ../../docs/tutorials/debug/debugger_panel.rst:37 +msgid "" +"Breakpoints won't break on code if it's :ref:`running in a thread " +"`. This is a current limitation of the GDScript " +"debugger." +msgstr "" + +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:100 msgid "Debug project settings" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:96 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:102 msgid "" "In the project settings, there is a **Debug** category with three " "subcategories which control different things." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:100 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:106 msgid "Settings" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:102 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:108 msgid "" "These are some general settings such as printing the current FPS to the " "**Output** panel, the maximum amount of functions when profiling and others." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:109 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:115 msgid "" "These settings allow you to toggle specific GDScript warnings, such as for " "unused variables. You can also turn off warnings completely." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:113 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:119 msgid "Shapes" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:115 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:121 msgid "" "Shapes are where you can adjust the color of shapes that only appear for " "debugging purposes, such as collision and navigation shapes." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:119 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:125 msgid "Remote in scene dock" msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:121 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:127 msgid "" "When running a game in the editor two options appear at the top of the " "**Scene** dock, **Remote** and **Local**. While using **Remote** you can " "inspect or change the nodes' parameters in the running project." msgstr "" -#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:127 +#: ../../docs/tutorials/debug/overview_of_debugging_tools.rst:133 msgid "" "Some editor settings related to debugging can be found inside the **Editor " "Settings**, under the **Network > Debug** and **Debugger** sections." @@ -79595,37 +79877,37 @@ msgstr "" msgid "**Continue**. This button resumes the game after a breakpoint or pause." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:36 +#: ../../docs/tutorials/debug/debugger_panel.rst:42 msgid "Errors" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:38 +#: ../../docs/tutorials/debug/debugger_panel.rst:44 msgid "" "This is where error and warning messages are printed while running the game." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:40 +#: ../../docs/tutorials/debug/debugger_panel.rst:46 msgid "" "You can disable specific warnings in **Project Settings > Debug > GDScript**." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:43 +#: ../../docs/tutorials/debug/debugger_panel.rst:49 msgid "Profiler" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:45 +#: ../../docs/tutorials/debug/debugger_panel.rst:51 msgid "" "The debugger comes with three profilers for your processor, network " "operations, and video memory." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:48 +#: ../../docs/tutorials/debug/debugger_panel.rst:54 msgid "" "The profiler is used to show why individual frames take as long as they do " "to process and render." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:51 +#: ../../docs/tutorials/debug/debugger_panel.rst:57 msgid "" "Unlike other debugging tools, the profiler does not start automatically. It " "can be started at any time during gameplay by pressing the start button. You " @@ -79636,7 +79918,7 @@ msgid "" "and start the profiler again." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:59 +#: ../../docs/tutorials/debug/debugger_panel.rst:65 msgid "" "After starting and stopping the profiler, you should see things being kept " "track of on the left and a graph on the right. The items listed on the left " @@ -79644,25 +79926,25 @@ msgid "" "value for time and calls for the current frame you are looking at." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:64 +#: ../../docs/tutorials/debug/debugger_panel.rst:70 msgid "" "The frame number in the top right tells you which frame you are currently " "looking at. You can change this by using the up or down arrows, typing in " "the frame number, or clicking on the graph." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:68 +#: ../../docs/tutorials/debug/debugger_panel.rst:74 msgid "" "If you want to add something to your graph or think it looks too cluttered, " "you can check and uncheck the box next to an item to add or remove it from " "the graph." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:73 +#: ../../docs/tutorials/debug/debugger_panel.rst:79 msgid "Network Profiler" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:75 +#: ../../docs/tutorials/debug/debugger_panel.rst:81 msgid "" "The Network Profiler contains a list of all the nodes that communicate over " "the multiplayer API and, for each one, some counters on the amount of " @@ -79670,11 +79952,11 @@ msgid "" "meter that displays the total bandwidth usage at any given moment." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:81 +#: ../../docs/tutorials/debug/debugger_panel.rst:87 msgid "Monitors" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:83 +#: ../../docs/tutorials/debug/debugger_panel.rst:89 msgid "" "The monitors are graphs of several aspects of the game while its running " "such as FPS, memory usage, how many nodes are in a scene and more. All " @@ -79683,11 +79965,11 @@ msgid "" "changed." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:89 +#: ../../docs/tutorials/debug/debugger_panel.rst:95 msgid "Video RAM" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:91 +#: ../../docs/tutorials/debug/debugger_panel.rst:97 msgid "" "The **Video RAM** tab shows the video RAM usage of the game while it is " "running. It provides a list of every resource using video RAM by resource " @@ -79696,22 +79978,22 @@ msgid "" "the top right of the panel." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:99 +#: ../../docs/tutorials/debug/debugger_panel.rst:105 msgid "Misc" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:101 +#: ../../docs/tutorials/debug/debugger_panel.rst:107 msgid "" "The **Misc** tab contains tools to identify the control nodes you are " "clicking at runtime:" msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:104 +#: ../../docs/tutorials/debug/debugger_panel.rst:110 msgid "" "**Clicked Control** tells you where the clicked node is in the scene tree." msgstr "" -#: ../../docs/tutorials/debug/debugger_panel.rst:105 +#: ../../docs/tutorials/debug/debugger_panel.rst:111 msgid "**Clicked Control Type** tells you the type of the node you clicked is." msgstr "" @@ -82713,7 +82995,11 @@ msgid "" "compressor can be used. This can reduce binary size considerably." msgstr "" -#: ../../docs/development/compiling/optimizing_for_size.rst:162 +#: ../../docs/development/compiling/optimizing_for_size.rst:164 +msgid "You cannot use embedded PCK files with UPX compression." +msgstr "" + +#: ../../docs/development/compiling/optimizing_for_size.rst:166 msgid "" "However, keep in mind that some antivirus programs may detect UPX-packed " "binaries as a virus. Therefore, if you are releasing a commercial game, make " @@ -83361,7 +83647,7 @@ msgid "" "` and the IDE should help them follow it. By " "default, Qt Creator uses spaces for indentation which doesn't match the " "Godot code style guidelines. You can change this behavior by changing the " -"**Code Style** in **Options > C++**." +"**Code Style** in **Tools > Options > C++**." msgstr "" #: ../../docs/development/cpp/configuring_an_ide/qt_creator.rst:102 @@ -85642,10 +85928,10 @@ msgstr "" #: ../../docs/development/cpp/custom_godot_servers.rst:9 msgid "" "Godot implements multi-threading as servers. Servers are daemons which " -"manages data, processes, and pushes the result. Servers implement the " -"mediator pattern which interprets resource ID and process data for the " -"engine and other modules. In addition, the server claims ownership for its " -"RID allocations." +"manage data, process it, and push the result. Servers implement the mediator " +"pattern which interprets resource ID and process data for the engine and " +"other modules. In addition, the server claims ownership for its RID " +"allocations." msgstr "" #: ../../docs/development/cpp/custom_godot_servers.rst:15 @@ -87341,6 +87627,18 @@ msgid "" "cases where there is no other choice we end up bundling something larger." msgstr "" +#: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:238 +msgid "" +"Also, libraries must use a permissive enough license to be included into " +"Godot. Some examples of acceptable licenses are Apache 2.0, BSD, MIT, ISC, " +"and MPL 2.0. In particular, we cannot accept libraries licensed under the " +"GPL or LGPL since these licenses effectively disallow static linking in " +"proprietary software (which Godot is distributed as in most exported " +"projects). This requirement also applies to the editor, since we may want to " +"run it on iOS in the long term. Since iOS doesn't support dynamic linking, " +"static linking the only option on that platform." +msgstr "" + #: ../../docs/community/contributing/pr_workflow.rst:4 msgid "Pull request workflow" msgstr "" @@ -88122,31 +88420,31 @@ msgid "" "folder and enter the following command:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:102 +#: ../../docs/community/contributing/bisecting_regressions.rst:104 msgid "Compile Godot. This assumes you've set up a build environment:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:110 +#: ../../docs/community/contributing/bisecting_regressions.rst:112 msgid "" "Since building Godot takes a while, you want to dedicate as many CPU threads " "as possible to the task. This is what the ``-j`` parameter does. Here, the " "command assigns 4 CPU threads to compiling Godot." msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:114 +#: ../../docs/community/contributing/bisecting_regressions.rst:116 msgid "" "Run the binary located in the ``bin/`` folder and try to reproduce the bug." msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:116 +#: ../../docs/community/contributing/bisecting_regressions.rst:118 msgid "If the build **still** exhibits the bug, run the following command:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:122 +#: ../../docs/community/contributing/bisecting_regressions.rst:124 msgid "If the build **does not** exhibit the bug, run the following command:" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:128 +#: ../../docs/community/contributing/bisecting_regressions.rst:130 msgid "" "After entering one of the commands above, Git will switch to a different " "commit. You should now build Godot again, try to reproduce the bug, then " @@ -88157,7 +88455,7 @@ msgid "" "the worst case scenario)." msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:135 +#: ../../docs/community/contributing/bisecting_regressions.rst:137 msgid "" "Once you've completed enough steps, Git will display the commit hash where " "the regression appeared. Write this commit hash as a comment to the GitHub " @@ -88165,7 +88463,7 @@ msgid "" "contributing to Godot :)" msgstr "" -#: ../../docs/community/contributing/bisecting_regressions.rst:142 +#: ../../docs/community/contributing/bisecting_regressions.rst:144 msgid "" "You can read the full documentation on ``git bisect`` `here `__." @@ -88262,6 +88560,7 @@ msgid "" msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:60 +#: ../../docs/community/contributing/code_style_guidelines.rst:261 msgid "Installation" msgstr "" @@ -88292,6 +88591,7 @@ msgid "" msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:77 +#: ../../docs/community/contributing/code_style_guidelines.rst:273 msgid "Manual usage" msgstr "" @@ -88316,6 +88616,7 @@ msgid "" msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:94 +#: ../../docs/community/contributing/code_style_guidelines.rst:288 msgid "Pre-commit hook" msgstr "" @@ -88457,10 +88758,70 @@ msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:251 msgid "" -"For those, we follow the `PEP-8 style guide `__, this is however not as strongly enforced as for the C++ code. " -"If you are so inclined, you can check and format your Python changes using " -"`autopep8 `__." +"For those, we follow the `Black style guide `__. Blacken your Python changes using `Black " +"`__." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:255 +msgid "Using black locally" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:257 +msgid "" +"First of all, you will need to install black. Black requires Python 3.6.0+ " +"to run." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:263 +msgid "Here's how to install black:" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:270 +msgid "You then have different possibilities to apply black to your changes:" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:275 +msgid "" +"You can apply ``black`` manually to one or more files with the following " +"command:" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:282 +msgid "" +"``-l 120`` means that the allowed number of characters per line is 120. This " +"number was agreed upon by the developers." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:284 +msgid "" +"The path can point to several files, either one after the other or using " +"wildcards like in a typical Unix shell." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:290 +msgid "" +"For ease of use, we provide a pre-commit hook for Git that will run black " +"automatically on all your commits to check them, and let you apply its " +"changes in the final commit." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:294 +msgid "" +"This \"hook\" is a script which can be found in ``misc/hooks``. Refer to " +"that folder's ``README.md`` for installation instructions." +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:299 +msgid "Editor integration" +msgstr "" + +#: ../../docs/community/contributing/code_style_guidelines.rst:301 +msgid "" +"Many IDEs or code editors have beautifier plugins that can be configured to " +"run black automatically, for example each time you save a file. For details " +"you can check `Black editor integration `__." msgstr "" #: ../../docs/community/contributing/bug_triage_guidelines.rst:4 @@ -89298,7 +89659,7 @@ msgid "**Don't** add a type hint with a colon or by casting:" msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:301 -msgid "**Do** write constants variables with dynamic typing:" +msgid "**Do** write constants and variables with dynamic typing:" msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:311 @@ -89544,16 +89905,26 @@ msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:520 msgid "" "When you need to highlight an area of the editor to show something, like a " -"button or option, use a 2 pixel thick outline without a bevel." +"button or option, use a 2 pixel-thick yellow outline without a bevel. If the " +"outline is on a dark background, the outline should be yellow so it can be " +"easily seen by colorblind people. Please do not use red as it won't be " +"visible for some users." msgstr "" -#: ../../docs/community/contributing/docs_writing_guidelines.rst:523 +#: ../../docs/community/contributing/docs_writing_guidelines.rst:526 msgid "" "Before you add or replace any images in the documentation, they should be " -"run through a PNG compressor to save size. The built in lossless compressor " -"in programs like Krita or Photoshop should be enough. For heavier images, " -"also look into using a lossy compressor, such as `pngquant `_ where almost no image quality is lost during compression." +"run through a PNG compressor to save size. You can use the lossless OxiPNG " +"compressor included in `Squoosh `__ for this purpose. " +"For heavier images, consider using a lossy compressor like `pngquant " +"`_. With it, almost no image quality is lost during " +"compression." +msgstr "" + +#: ../../docs/community/contributing/docs_writing_guidelines.rst:535 +msgid "" +"The program pngquant must be installed locally as it's not available in " +"Squoosh." msgstr "" #: ../../docs/community/contributing/updating_the_class_reference.rst:4 @@ -90115,41 +90486,66 @@ msgstr "" msgid "Will display as:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:285 +#: ../../docs/community/contributing/updating_the_class_reference.rst:283 +msgid "" +"To denote important information, add a paragraph starting with \"[b]Note:[/" +"b]\" at the end of the description:" +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:290 +msgid "" +"To denote crucial information that could cause security issues or loss of " +"data if not followed carefully, add a paragraph starting with \"[b]Warning:[/" +"b] at the end of the description:" +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:298 +msgid "" +"For deprecated properties, add a paragraph starting with \"[i]Deprecated.[/" +"i]\". Notice the use of italics instead of bold:" +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:305 +msgid "" +"In all the paragraphs described above, make sure the punctuation is part of " +"the BBCode tags for consistency." +msgstr "" + +#: ../../docs/community/contributing/updating_the_class_reference.rst:309 msgid "I don't know what this method does!" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:287 +#: ../../docs/community/contributing/updating_the_class_reference.rst:311 msgid "" "No problem. Leave it behind, and list the methods you skipped when you " "request a pull of your changes. Another writer will take care of it." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:289 +#: ../../docs/community/contributing/updating_the_class_reference.rst:313 msgid "" "You can still have a look at the methods' implementation in Godot's source " "code on GitHub. Also, if you have doubts, feel free to ask on the `Q&A " "website `__ and on IRC (freenode, #godotengine)." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:293 +#: ../../docs/community/contributing/updating_the_class_reference.rst:317 msgid "Localization" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:295 +#: ../../docs/community/contributing/updating_the_class_reference.rst:319 msgid "" "The documentation can be translated in any language on `Hosted Weblate " "`__." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:298 +#: ../../docs/community/contributing/updating_the_class_reference.rst:322 msgid "" "Translated strings are synced manually by documentation maintainers in the " "`godot-docs-l10n `__ " "repository." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:302 +#: ../../docs/community/contributing/updating_the_class_reference.rst:326 msgid "" "Languages with a good level of completion have their own localized instances " "of ReadTheDocs. Open an issue on the ``godot-docs-l10n`` repository if you "