mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-04 10:09:56 +03:00
Sync Sphinx templates with current docs
This commit is contained in:
2
docs
2
docs
Submodule docs updated: 0e1dd23cc3...a0288a7c4a
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,7 +21,7 @@ msgid "Documentation guidelines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/community/contributing/documentation_guidelines.rst:6
|
||||
msgid "This page describes the rules to follow if you want to contribute to Godot Engine by writing or reviewing documentation, or by translating existing documentation. Also have a look at README of the `godot-docs GitHub repository <https://github.com/godotengine/godot-docs>`_ and the `docs front page <http://docs.godotengine.org>`_ on what steps to follow and how to contact the docs team."
|
||||
msgid "This page describes the rules to follow if you want to contribute to Godot Engine by writing or reviewing documentation, or by translating existing documentation. Also have a look at README of the `godot-docs GitHub repository <https://github.com/godotengine/godot-docs>`_ and the `docs front page <https://docs.godotengine.org>`_ on what steps to follow and how to contact the docs team."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/community/contributing/documentation_guidelines.rst:14
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -25,11 +25,11 @@ msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:11
|
||||
msgid "For most cases, using the built-in deployer and export templates is good enough. Compiling the Android APK manually is mostly useful for custom builds or custom packages for the deployer."
|
||||
msgid "In most cases, using the built-in deployer and export templates is good enough. Compiling the Android APK manually is mostly useful for custom builds or custom packages for the deployer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:15
|
||||
msgid "Also, you still need to do all the steps mentioned in the :ref:`doc_exporting_for_android` tutorial before attempting your custom export template."
|
||||
msgid "Also, you still need to follow the steps mentioned in the :ref:`doc_exporting_for_android` tutorial before attempting to build a custom export template."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:20
|
||||
@@ -41,248 +41,198 @@ msgid "For compiling under Windows, Linux or macOS, the following is required:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:24
|
||||
msgid "Python 2.7+ or Python 3.5+"
|
||||
msgid "`Python 2.7+ or Python 3.5+ <https://www.python.org/downloads/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:25
|
||||
msgid "SCons build system"
|
||||
msgid "`SCons <https://scons.org/pages/download.html>`_ build system"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:26
|
||||
msgid "[Windows only] PyWin32 (optional, for parallel compilation)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:27
|
||||
msgid "Android SDK version 23.0.3 [Note: Please install all tools and extras of the SDK Manager]"
|
||||
msgid "`Android SDK <https://developer.android.com/studio/#command-tools>`_ (command-line tools are sufficient)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:28
|
||||
msgid "Android build tools version 19.1"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:29
|
||||
msgid "Android NDK r13 or later"
|
||||
msgid "Required SDK components will be automatically installed by Gradle (except the NDK)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:30
|
||||
msgid "Gradle (will be downloaded and installed automatically if missing)"
|
||||
msgid "`Android NDK <https://developer.android.com/ndk/downloads/>`_ r17 or later"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:31
|
||||
msgid "JDK 6 or later (either OpenJDK or Oracle JDK) - JDK 9 & 10 do not work with current Gradle."
|
||||
msgid "Gradle (will be downloaded and installed automatically if missing)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:33
|
||||
msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:32
|
||||
msgid "JDK 8 (either OpenJDK or Oracle JDK)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:34
|
||||
msgid "JDK 9 or later are not currently supported"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:35
|
||||
msgid "You can download a build from `ojdkbuild <https://github.com/ojdkbuild/ojdkbuild>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:37
|
||||
msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:41
|
||||
msgid "Setting up the buildsystem"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:39
|
||||
msgid "Set the environment variable ANDROID_HOME to point to the Android SDK."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:42
|
||||
msgid "Set the environment variable ANDROID_NDK_ROOT to point to the Android NDK."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:45
|
||||
msgid "To set those environment variables on Windows, press Windows+R, type \"control system\", then click on **Advanced system settings** in the left pane, then click on **Environment variables** on the window that appears."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:50
|
||||
msgid "To set those environment variables on Unix (e.g. Linux, macOS), use ``export ANDROID_HOME=/path/to/android-sdk`` and ``export ANDROID_NDK_ROOT=/path/to/android-ndk``. Where /path/to/android-sdk and /path/to/android-ndk is the path where Android SDK and Android NDK are placed on your PC."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:43
|
||||
msgid "Set the environment variable ``ANDROID_HOME`` to point to the Android SDK. If you downloaded the Android command-line tools, this would be the folder where you extracted the contents of the ZIP archive. Later on, ``gradlew`` will install necessary SDK components in this folder. However, you need to accept the SDK component licenses before they can be downloaded by Gradle. This can be done by running the following command from the root of the SDK directory, then answering all the prompts with ``y``:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:57
|
||||
msgid "Building the export templates"
|
||||
msgid "Set the environment variable ``ANDROID_NDK_ROOT`` to point to the Android NDK."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:59
|
||||
msgid "Godot needs two export templates for Android: the optimized \"release\" template (`android_release.apk`) and the debug version (`android_debug.apk`). Compiling the standard export templates is done by calling scons with the following arguments:"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:60
|
||||
msgid "To set those environment variables on Windows, press **Windows + R**, type \"control system\", then click on **Advanced system settings** in the left pane, then click on **Environment variables** on the window that appears."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:64
|
||||
msgid "Release template (used when exporting with \"Debugging Enabled\" OFF)"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:65
|
||||
msgid "To set those environment variables on Linux or macOS, use ``export ANDROID_HOME=/path/to/android-sdk`` and ``export ANDROID_NDK_ROOT=/path/to/android-ndk`` where ``/path/to/android-sdk`` and ``/path/to/android-ndk`` point to the root of the SDK and NDK directories."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:72
|
||||
msgid "(on Linux or macOS, execute the `gradlew` script with `./gradlew build`)"
|
||||
msgid "Building the export templates"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:74
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:88
|
||||
msgid "The resulting APK is in:"
|
||||
msgid "Godot needs two export templates for Android: the optimized \"release\" template (``android_release.apk``) and the debug template (``android_debug.apk``). As Google will require all APKs to include ARMv8 (64-bit) libraries starting from August 2019, the commands below will build an APK containing both ARMv7 and ARMv8 libraries."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:80
|
||||
msgid "Debug template (used when exporting with \"Debugging Enabled\" ON)"
|
||||
msgid "Compiling the standard export templates is done by calling SCons with the following arguments:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:95
|
||||
msgid "Faster compilation"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:83
|
||||
msgid "Release template (used when exporting with **Debugging Enabled** unchecked)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:97
|
||||
msgid "If you are on Unix or installed PyWin32 on Windows and have multiple CPU cores available, you can speed up the compilation by adding the ``-jX`` argument to the SCons command, where ``X`` is the number of cores that you want to allocate to the compilation, e.g. ``scons -j4``."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:96
|
||||
msgid "The resulting APK will be located at ``bin/android_release.apk``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:104
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:98
|
||||
msgid "Debug template (used when exporting with **Debugging Enabled** checked)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:111
|
||||
msgid "The resulting APK will be located at ``bin/android_debug.apk``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:114
|
||||
msgid "Adding support for x86 devices"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:106
|
||||
msgid "If you also want to include support for x86 devices, run the scons command a second time with the ``android_arch=x86`` argument before building the APK with Gradle. For example for the release template:"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:116
|
||||
msgid "If you also want to include support for x86 devices, run the SCons command a third time with the ``android_arch=x86`` argument before building the APK with Gradle. For example, for the release template:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:118
|
||||
msgid "This will create a fat binary that works in both platforms, but will add about 6 megabytes to the APK."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:132
|
||||
msgid "This will create a fat binary that works on all platforms. The final APK size of exported projects will depend on the platforms you choose to support when exporting; in other words, unused platforms will be removed from the APK."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:122
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:169
|
||||
msgid "Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:124
|
||||
msgid "It might be necessary to clean the build cache between two APK compilations, as some users have reported issues when building the two export templates one after the other."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:129
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:138
|
||||
msgid "Using the export templates"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:131
|
||||
msgid "As export templates for Android, Godot needs release and debug APKs that were compiled against the same version/commit as the editor. If you are using official binaries for the editor, make sure to install the matching export templates, or to build your own from the same version."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:140
|
||||
msgid "Godot needs release and debug APKs that were compiled against the same version/commit as the editor. If you are using official binaries for the editor, make sure to install the matching export templates, or build your own from the same version."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:136
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:145
|
||||
msgid "When exporting your game, Godot opens the APK, changes a few things inside and adds your files."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:140
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:149
|
||||
msgid "Installing the templates"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:142
|
||||
msgid "The newly-compiled templates (android_debug.apk and android_release.apk) must be copied to Godot's templates folder with their respective names. The templates folder can be located in:"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:151
|
||||
msgid "The newly-compiled templates (``android_debug.apk`` and ``android_release.apk``) must be copied to Godot's templates folder with their respective names. The templates folder can be located in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:146
|
||||
msgid "Windows: ``C:\\Users\\[username]\\AppData\\Roaming\\Godot\\templates\\[version]\\``"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:155
|
||||
msgid "Windows: ``%APPDATA%\\Godot\\templates\\<version>\\``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:147
|
||||
msgid "Linux: ``/home/[username]/.local/share/godot/templates/[version]/``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:148
|
||||
msgid "macOS: ``/Users/[username]/Library/Application Support/Godot/templates/[version]/``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:150
|
||||
msgid "``[version]`` is of the form ``major.minor[.patch].status`` using values from ``version.py`` in your Godot source repository (e.g. ``3.0.5.stable`` or `3.1.dev``). You also need to write this same version string to a ``version.txt`` file located next to your export templates."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:156
|
||||
msgid "Linux: ``$HOME/.local/share/godot/templates/<version>/``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:157
|
||||
msgid "macOS: ``$HOME/Library/Application Support/Godot/templates/<version>/``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:159
|
||||
msgid "``<version>`` is of the form ``major.minor[.patch].status`` using values from ``version.py`` in your Godot source repository (e.g. ``3.0.5.stable`` or ``3.1.dev``). You also need to write this same version string to a ``version.txt`` file located next to your export templates."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:166
|
||||
msgid "However, if you are writing your custom modules or custom C++ code, you might instead want to configure your APKs as custom export templates here:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:163
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:172
|
||||
msgid "You don't even need to copy them, you can just reference the resulting file in the ``bin\\`` directory of your Godot source folder, so that the next time you build you will automatically have the custom templates referenced."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:172
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:178
|
||||
msgid "Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:181
|
||||
msgid "Application not installed"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:174
|
||||
msgid "Android might complain the application is not correctly installed. If so, check the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:177
|
||||
msgid "Check that the debug keystore is properly generated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:178
|
||||
msgid "Check that jarsigner is from JDK 6, 7 or 8."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:180
|
||||
msgid "If it still fails, open a command line and run logcat:"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:183
|
||||
msgid "Android might complain the application is not correctly installed. If so:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:186
|
||||
msgid "And check the output while the application is installed. Reason for failure should be presented there."
|
||||
msgid "Check that the debug keystore is properly generated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:187
|
||||
msgid "Check that the jarsigner executable is from JDK 8."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:189
|
||||
msgid "Seek assistance if you can't figure it out."
|
||||
msgid "If it still fails, open a command line and run `logcat <https://developer.android.com/studio/command-line/logcat>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:192
|
||||
msgid "Application exits immediately"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:194
|
||||
msgid "If the application runs but exits immediately, there might be one of the following reasons:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:197
|
||||
msgid "Make sure to use export templates that match your editor version; if you use a new Godot version, you *have* to update the templates too."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:199
|
||||
msgid "libgodot_android.so is not in ``lib/armeabi-v7a`` or ``lib/armeabi``"
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:195
|
||||
msgid "Then check the output while the application is installed; the error message should be presented there. Seek assistance if you can't figure it out."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:200
|
||||
msgid "Device does not support armv7 (try compiling yourself for armv6)"
|
||||
msgid "Application exits immediately"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:201
|
||||
msgid "Device is Intel, and apk is compiled for ARM."
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:202
|
||||
msgid "If the application runs but exits immediately, this might be due to one of the following reasons:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:203
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:205
|
||||
msgid "Make sure to use export templates that match your editor version; if you use a new Godot version, you *have* to update the templates too."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:207
|
||||
msgid "``libgodot_android.so`` is not in ``libs/<android_arch>/`` where ``<android_arch>`` is the device's architecture."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:209
|
||||
msgid "The device's architecture does not match the exported one(s). Make sure your templates were built for that device's architecture, and that the export settings included support for that architecture."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:213
|
||||
msgid "In any case, ``adb logcat`` should also show the cause of the error."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:206
|
||||
msgid "Compilation fails"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:208
|
||||
msgid "On Linux systems with Kernel version 4.3 or newer, compilation may fail with the error \"pthread_create failed: Resource temporarily unavailable.\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:211
|
||||
msgid "This is because of a change in the way Linux limits thread creation. But you can change those limits through the command line. Please read this section thoroughly before beginning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:215
|
||||
msgid "First open a terminal, then begin compilation as usual (it may be a good idea to run a --clean first). While compiling enter the following in your terminal:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:223
|
||||
msgid "The output should list a scons process, with its PID as the first number in the output. For example the PID 1077 in the output shown below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:231
|
||||
msgid "Now you can use another command to increase the number of processes that scons is allowed to spawn. You can check its current limits with:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:238
|
||||
msgid "You can increase those limits with the command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:244
|
||||
msgid "Obviously you should substitute the scons PID output by top and a limits that you think suitable. These are in the form --nproc=soft:hard where soft must be lesser than or equal to hard. See the man page for more information."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/development/compiling/compiling_for_android.rst:249
|
||||
msgid "If all went well, and you entered the prlimit command while scons was running, then your compilation should continue without the error."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,7 +21,7 @@ msgid "Command line tutorial"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:8
|
||||
msgid "Some developers like using the command line extensively. Godot is designed to be friendly to them, so here are the steps for working entirely from the command line. Given the engine relies on little to no external libraries, initialization times are pretty fast, making it suitable for this workflow."
|
||||
msgid "Some developers like using the command line extensively. Godot is designed to be friendly to them, so here are the steps for working entirely from the command line. Given the engine relies on almost no external libraries, initialization times are pretty fast, making it suitable for this workflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:15
|
||||
@@ -29,7 +29,7 @@ msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:17
|
||||
msgid "It is recommended that your Godot binary is 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``."
|
||||
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:23
|
||||
@@ -101,46 +101,46 @@ msgid "Debugging"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:115
|
||||
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 both running the game or a simple scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:128
|
||||
msgid "Exporting"
|
||||
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:130
|
||||
msgid "Exporting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:132
|
||||
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:139
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:141
|
||||
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:145
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:147
|
||||
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:149
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:151
|
||||
msgid "Running a script"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:151
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:153
|
||||
msgid "It is possible to run a simple .gd script from the command line. This feature is especially useful in large projects, for batch conversion of assets or custom import/export."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:155
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:157
|
||||
msgid "The script must inherit from SceneTree or MainLoop."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:157
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:159
|
||||
msgid "Here is a simple example of how it works:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:168
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:170
|
||||
msgid "And how to run it:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:175
|
||||
#: ../../docs/getting_started/editor/command_line_tutorial.rst:177
|
||||
msgid "If no project.godot exists at the path, current path is assumed to be the current working directory (unless ``-path`` is specified)."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -96,3 +96,11 @@ msgstr ""
|
||||
msgid "{file}:{line}"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/external_editor.rst:38
|
||||
msgid "jetbrains rider"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/editor/external_editor.rst:38
|
||||
msgid "--line {line} {file}"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -29,7 +29,7 @@ msgid "This page provides a brief intro to C#, both what it is and how to use it
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:16
|
||||
msgid "C# is a high-level programming language developed by Microsoft. In Godot, it is implemented with the Mono 5.x .NET framework including full support for C# 7.0. Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. A good starting point for checking its capabilities is the `Compatibility <http://www.mono-project.com/docs/about-mono/compatibility/>`_ page in the Mono documentation."
|
||||
msgid "C# is a high-level programming language developed by Microsoft. In Godot, it is implemented with the Mono 5.x .NET framework, including full support for C# 7.0. Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. A good starting point for checking its capabilities is the `Compatibility <http://www.mono-project.com/docs/about-mono/compatibility/>`_ page in the Mono documentation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:20
|
||||
@@ -57,7 +57,7 @@ msgid "To download Mono v5.12+ on a Mac, locate the \"Stable Channel\" link from
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:35
|
||||
msgid "You also need MSBuild (at least version 15.0) which should come with the Mono installation."
|
||||
msgid "You also need MSBuild (at least version 15.0), which should come with the Mono installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:37
|
||||
@@ -105,15 +105,15 @@ msgid "Project setup and workflow"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:73
|
||||
msgid "When you create the first C# script, Godot initializes the C# project files for your Godot project. This includes generating a C# solution (``.sln``) and project (``.csproj``) as well as some utility files and folders (``.mono``, sometimes ``Properties``). All of these but ``.mono`` are important and should be kept in your version control system. ``.mono`` can be safely added to the ignore list of your VCS. When troubleshooting, it sometimes can help to delete the ``.mono`` folder and let it regenerate."
|
||||
msgid "When you create the first C# script, Godot initializes the C# project files for your Godot project. This includes generating a C# solution (``.sln``) and a project (``.csproj``) file, as well as some utility files and folders (``.mono``, sometimes ``Properties``). All of these but ``.mono`` are important and should be kept in your version control system. ``.mono`` can be safely added to the ignore list of your VCS. When troubleshooting, it can sometimes help to delete the ``.mono`` folder and let it regenerate."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:78
|
||||
msgid "Note that currently there are some issues where the Godot and the C# project don't stay in sync; if you delete, rename or move things like scripts or nodes, they may no longer match up. In this case, it can help to edit the solution files manually."
|
||||
msgid "Note that currently, there are some issues where Godot and the C# project don't stay in sync; if you delete, rename or move things, like scripts or nodes, they may no longer match up. In this case, it can help to edit the solution files manually."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:81
|
||||
msgid "Example: If you created a script (e.g. ``Test.cs``) and delete it in Godot, the compilation will fail because now the missing file is still expected to be there by the CS project. You can for now simply open up the ``.csproj`` and look for the ``ItemGroup``, there should be a line included like the following:"
|
||||
msgid "Example: If you created a script (e.g. ``Test.cs``) and delete it in Godot, the compilation will fail because now the missing file is still expected to be there by the CS project. For now, you can simply open up the ``.csproj`` file and look for the ``ItemGroup``, there should be a line included like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:92
|
||||
@@ -185,7 +185,7 @@ msgid "Using Nuget packages in Godot"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:161
|
||||
msgid "`Nuget <https://www.nuget.org/>`_ Packages can be installed and used with Godot, as with any project. Many IDEs (such as vs code) can add packages directly. They can also be added manually by adding the package reference in the .csproj file located in the project root:"
|
||||
msgid "`Nuget <https://www.nuget.org/>`_ Packages can be installed and used with Godot, as with any project. Many IDEs (such as vs code) can add packages directly. They can also be added manually by adding the package reference in the ``.csproj`` file located in the project root:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:176
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -53,7 +53,7 @@ msgid "Math"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:28
|
||||
msgid "Math functions like ``abs``, ``acos``, ``asin``, ``atan`` and ``atan2`` are located under ``Mathf`` as ``Abs``, ``Acos``, ``Asin``, ``Atan`` and ``Atan2``, instead of in global scope. ``PI`` is ``Mathf.Pi``"
|
||||
msgid "Math functions, like ``abs``, ``acos``, ``asin``, ``atan`` and ``atan2``, are located under ``Mathf`` as ``Abs``, ``Acos``, ``Asin``, ``Atan`` and ``Atan2``, instead of in global scope. ``PI`` is ``Mathf.Pi``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:33
|
||||
@@ -61,7 +61,7 @@ msgid "Random"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:35
|
||||
msgid "Random functions like ``rand_range`` and ``rand_seed`` are located under ``Random``, so use ``Random.RandRange`` instead of ``rand_range``."
|
||||
msgid "Random functions, like ``rand_range`` and ``rand_seed``, are located under ``Random``, so use ``Random.RandRange`` instead of ``rand_range``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:39
|
||||
@@ -101,19 +101,19 @@ msgid "Use ``System.String`` (``string``). All the Godot String methods are prov
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:77
|
||||
msgid "There are a few differences though:"
|
||||
msgid "There are a few differences, though:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:79
|
||||
msgid "``erase``: Strings are immutable in C#, so we cannot modify the string passed to the extension method. For this reason ``Erase`` was added as an extension method of ``StringBuilder`` instead of string. Alternatively you can use ``string.Remove``."
|
||||
msgid "``erase``: Strings are immutable in C#, so we cannot modify the string passed to the extension method. For this reason, ``Erase`` was added as an extension method of ``StringBuilder`` instead of string. Alternatively, you can use ``string.Remove``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:83
|
||||
msgid "``IsSubsequenceOf``/``IsSubsequenceOfi``: An additional method is provided which is an overload of ``IsSubsequenceOf`` allowing to explicitly specify case sensitivity:"
|
||||
msgid "``IsSubsequenceOf``/``IsSubsequenceOfi``: An additional method is provided, which is an overload of ``IsSubsequenceOf``, allowing you to explicitly specify case sensitivity:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:94
|
||||
msgid "``Match``/``Matchn``/``ExprMatch``: An additional method is provided besides ``Match`` and ``Matchn``, which allows to explicitly specify case sensitivity:"
|
||||
msgid "``Match``/``Matchn``/``ExprMatch``: An additional method is provided besides ``Match`` and ``Matchn``, which allows you to explicitly specify case sensitivity:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:105
|
||||
@@ -121,14 +121,12 @@ msgid "Basis"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:107
|
||||
msgid "Structs cannot have parameterless constructors in C#, therefore ``new Basis()`` initializes all primitive members to their default value. Use ``Basis.Identity`` for the equivalent to ``Basis()`` in GDScript and C++."
|
||||
msgid "Structs cannot have parameterless constructors in C#. Therefore, ``new Basis()`` initializes all primitive members to their default value. Use ``Basis.Identity`` for the equivalent of ``Basis()`` in GDScript and C++."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:111
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:126
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:139
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:158
|
||||
msgid "The following methods were converted to properties with their respective names changed:"
|
||||
msgid "The following method was converted to a property with a different name:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:114
|
||||
@@ -166,7 +164,11 @@ msgid "Transform2D"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:122
|
||||
msgid "Structs cannot have parameterless constructors in C#, therefore ``new Transform2D()`` initializes all primitive members to their default value. Please use ``Transform2D.Identity`` for the equivalent to ``Transform2D()`` in GDScript and C++."
|
||||
msgid "Structs cannot have parameterless constructors in C#. Therefore, ``new Transform2D()`` initializes all primitive members to their default value. Please use ``Transform2D.Identity`` for the equivalent of ``Transform2D()`` in GDScript and C++."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:126
|
||||
msgid "The following methods were converted to properties with their respective names changed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:131
|
||||
@@ -189,6 +191,10 @@ msgstr ""
|
||||
msgid "Plane"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:139
|
||||
msgid "The following method was converted to a property with a *slightly* different name:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:144
|
||||
msgid "center()"
|
||||
msgstr ""
|
||||
@@ -202,7 +208,7 @@ msgid "Rect2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:150
|
||||
msgid "The following fields were converted to properties with their respective names changed:"
|
||||
msgid "The following field was converted to a property with a *slightly* different name:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:155
|
||||
@@ -226,7 +232,7 @@ msgid "Quat"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:169
|
||||
msgid "Structs cannot have parameterless constructors in C#, therefore ``new Quat()`` initializes all primitive members to their default value. Please use ``Quat.Identity`` for the equivalent to ``Quat()`` in GDScript and C++."
|
||||
msgid "Structs cannot have parameterless constructors in C#. Therefore, ``new Quat()`` initializes all primitive members to their default value. Please use ``Quat.Identity`` for the equivalent of ``Quat()`` in GDScript and C++."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:174
|
||||
@@ -299,7 +305,7 @@ msgid "Vector3[]"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:192
|
||||
msgid "In some exceptional cases a raw array (``type[]``) may be required instead of a ``List``."
|
||||
msgid "In some exceptional cases, a raw array (``type[]``) may be required instead of a ``List``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:195
|
||||
@@ -319,7 +325,7 @@ msgid "Variant"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:204
|
||||
msgid "``System.Object`` (``object``) is used in place of ``Variant``."
|
||||
msgid "``System.Object`` (``object``) is used instead of ``Variant``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:207
|
||||
@@ -335,7 +341,7 @@ msgid "Other differences"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:217
|
||||
msgid "``preload``, ``assert`` and ``yield`` as they work in GDScript are currently not available in C#."
|
||||
msgid "``preload``, ``assert`` and ``yield``, as they work in GDScript, are currently not available in C#."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:220
|
||||
@@ -384,6 +390,6 @@ msgid "load"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_differences.rst:230
|
||||
msgid "GD.load which is the same as ResourceLoader.load"
|
||||
msgid "GD.load, which is the same as ResourceLoader.load"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,7 +21,7 @@ msgid "Features"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:6
|
||||
msgid "This page provides an overview over the commonly used features of both C# and Godot and how they are used together."
|
||||
msgid "This page provides an overview of the commonly used features of both C# and Godot and how they are used together."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:10
|
||||
@@ -29,7 +29,7 @@ msgid "Type conversion and casting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:12
|
||||
msgid "C# is a statically typed language. Therefore you can't do the following:"
|
||||
msgid "C# is a statically typed language. Therefore, you can't do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:19
|
||||
@@ -45,7 +45,7 @@ msgid "**Casting and Type Checking**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:26
|
||||
msgid "Throws ``InvalidCastException`` if the returned node cannot be casted to Sprite. You would use it instead of the ``as`` operator if you are pretty sure it won't fail."
|
||||
msgid "Throws ``InvalidCastException`` if the returned node cannot be cast to Sprite. You would use it instead of the ``as`` operator if you are pretty sure it won't fail."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:34
|
||||
@@ -53,7 +53,7 @@ msgid "**Using the AS operator**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:36
|
||||
msgid "The ``as`` operator returns null if the node cannot be casted to Sprite, and for this reason it cannot be used with value types."
|
||||
msgid "The ``as`` operator returns null if the node cannot be cast to Sprite, and for that reason, it cannot be used with value types."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:45
|
||||
@@ -77,7 +77,7 @@ msgid "**Type checking using the IS operator**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:66
|
||||
msgid "To check if the node can be casted to Sprite, you can use the ``is`` operator. The ``is`` operator returns false if the node cannot be casted to Sprite, otherwise it returns true."
|
||||
msgid "To check if the node can be cast to Sprite, you can use the ``is`` operator. The ``is`` operator returns false if the node cannot be cast to Sprite, otherwise it returns true."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:77
|
||||
@@ -113,7 +113,7 @@ msgid "It is possible to bind values when establishing a connection by passing a
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:148
|
||||
msgid "Signals support parameters and bound values of all the `built-in types <https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table>`_ and Classes derived from :ref:`Godot.Object <class_Object>`. Consequently any ``Node`` or ``Reference`` will be compatible automatically but custom data objects will need to extend from `Godot.Object` or one of its subclasses."
|
||||
msgid "Signals support parameters and bound values of all the `built-in types <https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table>`_ and Classes derived from :ref:`Godot.Object <class_Object>`. Consequently, any ``Node`` or ``Reference`` will be compatible automatically, but custom data objects will need to extend from `Godot.Object` or one of its subclasses."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_features.rst:160
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -25,7 +25,7 @@ msgid "Having well-defined and consistent coding conventions is important for ev
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:9
|
||||
msgid "This page contains a coding style guide which is followed by developers and contributors of Godot itself. As such, it is mainly intended for those who want to contribute to the project, but since the conventions and guidelines mentioned in this article are those most widely adopted by the users of the language, we encourage you to do the same, especially if you do not have such a guide yet."
|
||||
msgid "This page contains a coding style guide, which is followed by developers of and contributors to Godot itself. As such, it is mainly intended for those who want to contribute to the project, but since the conventions and guidelines mentioned in this article are those most widely adopted by the users of the language, we encourage you to do the same, especially if you do not have such a guide yet."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:14
|
||||
@@ -41,7 +41,7 @@ msgid "Currently, Godot uses C# version 6.0 in its engine and example source cod
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:27
|
||||
msgid "For detailed information of C# features in different versions, please see `What's New in C# <https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/>`_."
|
||||
msgid "For detailed information on C# features in different versions, please see `What's New in C# <https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:31
|
||||
@@ -69,7 +69,7 @@ msgid "For a general indentation rule, follow `The 'Allman Style' <https://en.wi
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:57
|
||||
msgid "However, you may choose to omit line breaks inside brackets,"
|
||||
msgid "However, you may choose to omit line breaks inside brackets:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:59
|
||||
@@ -85,7 +85,7 @@ msgid "For abstract auto property, indexer, or event declarations."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:83
|
||||
msgid "Insert a blank line,"
|
||||
msgid "Insert a blank line:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:85
|
||||
@@ -101,15 +101,15 @@ msgid "Field and constant declarations can be grouped together according to rele
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:91
|
||||
msgid "Avoid inserting a blank line,"
|
||||
msgid "Avoid inserting a blank line:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:93
|
||||
msgid "After an opening bracket ('{')."
|
||||
msgid "After ``{``, the opening brace."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:94
|
||||
msgid "Before a closing bracket ('}')."
|
||||
msgid "Before ``}``, the closing brace."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:95
|
||||
@@ -121,7 +121,7 @@ msgid "Adjacent to another blank line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:133
|
||||
msgid "Consider breaking a line when it's longer than 100 characters. And it's also a good practice to insert a line feed (LF) character at the end of a file because some utilities have trouble recognizing the last line without it (i.e. Linux's *cat* command)."
|
||||
msgid "Consider breaking a line when it's longer than 100 characters. And it's also a good practice to insert a line feed (LF) character at the end of a file because some utilities have trouble recognizing the last line without it (e.g. the *cat* command on Linux)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:138
|
||||
@@ -129,7 +129,7 @@ msgid "Using spaces"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:140
|
||||
msgid "Insert a space,"
|
||||
msgid "Insert a space:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:142
|
||||
@@ -173,11 +173,11 @@ msgid "After a single line comment symbol ('//'), and before it if used at the e
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:153
|
||||
msgid "Do not use a space,"
|
||||
msgid "Do not use a space:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:155
|
||||
msgid "After a type cast parentheses."
|
||||
msgid "After type cast parentheses."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:156
|
||||
@@ -201,7 +201,7 @@ msgid "Use *camelCase* for all other identifiers (i.e. local variables, method a
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:230
|
||||
msgid "There's an exception with acronyms which consist of two letters like *'UI'* which should be written in upper case letters when used where Pascal case would be expected, and in lower case letters otherwise."
|
||||
msgid "There's an exception with acronyms which consist of two letters, like *'UI'*, which should be written in uppercase letters when used where Pascal case would be expected, and in lowercase letters otherwise."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:233
|
||||
@@ -209,7 +209,7 @@ msgid "Note that *'id'* is **not** an acronym, so it should be treated as a norm
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:244
|
||||
msgid "It is generally discouraged to use a type name as a prefix of an identifier like *'string strText'* or *'float fPower'*, for example. However, there's an exception about interfaces, in which case they **should** be named using an upper case *'I'* as a prefix, like *'IInventoryHolder'* or *'IDamageable'*."
|
||||
msgid "It is generally discouraged to use a type name as a prefix of an identifier, like *'string strText'* or *'float fPower'*, for example. An exception is made, however, for interfaces, which **should**, in fact, have an uppercase letter *'I'* prefixed to their names, like *'IInventoryHolder'* or *'IDamageable'*."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:248
|
||||
@@ -217,7 +217,7 @@ msgid "Lastly, consider choosing descriptive names and do not try to shorten the
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:251
|
||||
msgid "For instance, if you want to write a code to find a nearby enemy and hit with a weapon, prefer"
|
||||
msgid "For instance, if you want to write code to find a nearby enemy and hit it with a weapon, prefer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:257
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -93,7 +93,7 @@ msgid "Less flexibility for code-completion (some variable types are only known
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:43
|
||||
msgid "This, translated to reality, means that Godot+GDScript are a combination designed to create games quickly and efficiently. For games that are very computationally intensive and can't benefit from the engine built-in tools (such as the Vector types, Physics Engine, Math library, etc), the possibility of using C++ is present too. This allows to still create the entire game in GDScript and add small bits of C++ in the areas that need a performance boost."
|
||||
msgid "This, translated to reality, means that Godot+GDScript are a combination designed to create games quickly and efficiently. For games that are very computationally intensive and can't benefit from the engine built-in tools (such as the Vector types, Physics Engine, Math library, etc), the possibility of using C++ is present too. This allows you to still create most of the game in GDScript and add small bits of C++ in the areas that need a performance boost."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:52
|
||||
@@ -127,11 +127,11 @@ msgid "Pointers & referencing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:109
|
||||
msgid "In static languages such as C or C++ (and to some extent Java and C#), there is a distinction between a variable and a pointer/reference to a variable. The latter allows the object to be modified by other functions by passing a reference to the original one."
|
||||
msgid "In static languages, such as C or C++ (and to some extent Java and C#), there is a distinction between a variable and a pointer/reference to a variable. The latter allows the object to be modified by other functions by passing a reference to the original one."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:114
|
||||
msgid "In C# or Java, everything not a built-in type (int, float, sometimes String) is always a pointer or a reference. References are also garbage-collected automatically, which means they are erased when no longer used. Dynamically typed languages tend to use this memory model too. Some Examples:"
|
||||
msgid "In C# or Java, everything not a built-in type (int, float, sometimes String) is always a pointer or a reference. References are also garbage-collected automatically, which means they are erased when no longer used. Dynamically typed languages tend to use this memory model, too. Some Examples:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:120
|
||||
@@ -175,7 +175,7 @@ msgid "Dictionaries"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:233
|
||||
msgid "Dictionaries are a powerful tool in dynamically typed languages. Most programmers that come from statically typed languages (such as C++ or C#) ignore their existence and make their life unnecessarily more difficult. This datatype is generally not present in such languages (or only on limited form)."
|
||||
msgid "Dictionaries are a powerful tool in dynamically typed languages. Most programmers that come from statically typed languages (such as C++ or C#) ignore their existence and make their life unnecessarily more difficult. This datatype is generally not present in such languages (or only in limited form)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:239
|
||||
@@ -195,7 +195,7 @@ msgid "In most cases, two-dimensional arrays can often be implemented more easil
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:294
|
||||
msgid "Dictionaries can also be used as data markup or quick structures. While GDScript dictionaries resemble python dictionaries, it also supports Lua style syntax and indexing, which makes it useful for writing initial states and quick structs:"
|
||||
msgid "Dictionaries can also be used as data markup or quick structures. While GDScript's dictionaries resemble python dictionaries, it also supports Lua style syntax and indexing, which makes it useful for writing initial states and quick structs:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:318
|
||||
@@ -223,7 +223,7 @@ msgid "The range() function can take 3 arguments:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:371
|
||||
msgid "Some examples:"
|
||||
msgid "Some statically typed programming language examples:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:381
|
||||
@@ -303,7 +303,7 @@ msgid "Yes, we should call it Hulk typing instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:516
|
||||
msgid "It's possible that the object being hit doesn't have a smash() function. Some dynamically typed languages simply ignore a method call when it doesn't exist (like Objective C), but GDScript is more strict, so checking if the function exists is desirable:"
|
||||
msgid "It's possible that the object being hit doesn't have a smash() function. Some dynamically typed languages simply ignore a method call when it doesn't exist (like Objective C), but GDScript is stricter, so checking if the function exists is desirable:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_advanced.rst:527
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -131,7 +131,7 @@ msgid "else"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:168
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:818
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:819
|
||||
msgid "for"
|
||||
msgstr ""
|
||||
|
||||
@@ -148,7 +148,7 @@ msgid "Reserved for future implementation of do...while loops."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:172
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:807
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:808
|
||||
msgid "while"
|
||||
msgstr ""
|
||||
|
||||
@@ -157,7 +157,7 @@ msgid "See while_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:174
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:847
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:848
|
||||
msgid "match"
|
||||
msgstr ""
|
||||
|
||||
@@ -928,7 +928,7 @@ msgid "Types are specified in the variable declaration using a ``:`` (colon) sym
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:571
|
||||
msgid "If the variable is initialized within the declaration the type can be inferred, so it's possible to omit the type name::"
|
||||
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:577
|
||||
@@ -968,7 +968,7 @@ msgid "Values assigned to typed variables must have a compatible type. If it's n
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:595
|
||||
msgid "Casting between object types results on the same object if the value is of the same type or a subtype of the casted type."
|
||||
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:603
|
||||
@@ -991,528 +991,528 @@ msgstr ""
|
||||
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:644
|
||||
msgid "Although the type of constants are inferred from the assigned value, it's also possible to add explicit type specification::"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:645
|
||||
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:650
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:651
|
||||
msgid "Assigning a value of an incompatible type will raise an error."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:653
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:654
|
||||
msgid "Enums"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:655
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:656
|
||||
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:658
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:659
|
||||
msgid "If you pass a name to the enum, it would also put all the values inside a constant dictionary of that name."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:679
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:680
|
||||
msgid "Functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:681
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:682
|
||||
msgid "Functions always belong to a `class <Classes_>`_. 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:694
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:695
|
||||
msgid "A function can ``return`` at any point. The default return value is ``null``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:696
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:697
|
||||
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:702
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:703
|
||||
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:707
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:708
|
||||
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:713
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:714
|
||||
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:722
|
||||
msgid "Non-void functions must **always** return a value, so if your code have branching statements (such as ``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."
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:723
|
||||
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:730
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:731
|
||||
msgid "Referencing Functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:732
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:733
|
||||
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:736
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:737
|
||||
msgid "To reference a function by name at runtime, (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:749
|
||||
msgid "Remember that default functions like ``_init``, and most notifications such as ``_enter_tree``, ``_exit_tree``, ``_process``, ``_physics_process``, etc. are called in all base classes automatically. So there is only a need to call the function explicitly when overloading them in some way."
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:750
|
||||
msgid "Remember that default functions, like ``_init``, and most notifications, such as ``_enter_tree``, ``_exit_tree``, ``_process``, ``_physics_process``, etc. are called in all base classes automatically. So there is only a need to call the function explicitly when overloading them in some way."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:757
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:758
|
||||
msgid "Static functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:759
|
||||
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:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:760
|
||||
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:770
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:771
|
||||
msgid "Statements and control flow"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:772
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:773
|
||||
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:777
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:778
|
||||
msgid "if/else/elif"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:779
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:780
|
||||
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:793
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:794
|
||||
msgid "Short statements can be written on the same line as the condition::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:800
|
||||
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::"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:801
|
||||
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:809
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:810
|
||||
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:820
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:821
|
||||
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 *index* is stored in the loop variable."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:849
|
||||
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."
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:850
|
||||
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:852
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:853
|
||||
msgid "Basic syntax:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:865
|
||||
msgid "**Crash-course for people who are familiar to switch statements**:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:867
|
||||
msgid "Replace ``switch`` with ``match``"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:866
|
||||
msgid "**Crash-course for people who are familiar with switch statements**:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:868
|
||||
msgid "Remove ``case``"
|
||||
msgid "Replace ``switch`` with ``match``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:869
|
||||
msgid "Remove any ``break``s. If you don't want to ``break`` by default, you can use ``continue`` for a fallthrough."
|
||||
msgid "Remove ``case``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:870
|
||||
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:871
|
||||
msgid "Change ``default`` to a single underscore."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:873
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:874
|
||||
msgid "**Control flow**:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:875
|
||||
msgid "The patterns are matched from top to bottom. If a pattern matches, the corresponding block will be executed. After that, the execution continues below the ``match`` statement. If you want to have a fallthrough you can use ``continue`` to stop execution in the current block and check the ones below it."
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:876
|
||||
msgid "The patterns are matched from top to bottom. If a pattern matches, the corresponding block will be executed. After that, the execution continues below the ``match`` statement. If you want to have a fallthrough, you can use ``continue`` to stop execution in the current block and check the ones below it."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:879
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:880
|
||||
msgid "There are 6 pattern types:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:891
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:892
|
||||
msgid "constant pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:882
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:883
|
||||
msgid "constant primitives, like numbers and strings ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:903
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:904
|
||||
msgid "variable pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:894
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:895
|
||||
msgid "matches the contents of a variable/enum ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:917
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:918
|
||||
msgid "wildcard pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:906
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:907
|
||||
msgid "This pattern matches everything. It's written as a single underscore."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:908
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:909
|
||||
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:930
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:931
|
||||
msgid "binding pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:920
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:921
|
||||
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:949
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:950
|
||||
msgid "array pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:933
|
||||
msgid "matches an array. Every single element of the array pattern is a pattern itself so you can nest them."
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:934
|
||||
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:935
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:936
|
||||
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:937
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:938
|
||||
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:939
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:940
|
||||
msgid "Every subpattern has to be comma separated. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:974
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:975
|
||||
msgid "dictionary pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:952
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:953
|
||||
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:954
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:955
|
||||
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:956
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:957
|
||||
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:958
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:959
|
||||
msgid "Every subpattern has to be comma separated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:960
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:961
|
||||
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:962
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:963
|
||||
msgid "A value pattern is separated from the key pattern with a ``:`` ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:985
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:986
|
||||
msgid "Multipatterns:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:977
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:978
|
||||
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:988
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:989
|
||||
msgid "Classes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:990
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:991
|
||||
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:1005
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1006
|
||||
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:1020
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1021
|
||||
msgid "Here's a class file example:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1039
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1040
|
||||
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:1047
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1048
|
||||
msgid "Inheritance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1049
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1050
|
||||
msgid "A class (stored as a file) can inherit from"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1051
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1052
|
||||
msgid "A global class"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1052
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1053
|
||||
msgid "Another class file"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1053
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1054
|
||||
msgid "An inner class inside another class file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1055
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1056
|
||||
msgid "Multiple inheritance is not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1057
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1058
|
||||
msgid "Inheritance uses the ``extends`` keyword:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1071
|
||||
msgid "To check if a given instance inherits from a given class the ``is`` keyword can be used:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1072
|
||||
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:1085
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1086
|
||||
msgid "To call a function in a *base class* (i.e. one ``extend``-ed in your current class), prepend ``.`` to the function name:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1092
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1093
|
||||
msgid "This is especially useful because functions in extending classes replace functions with the same name in their base classes. So if you still want to call them, you can use ``.`` like the ``super`` keyword in other languages:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1102
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1103
|
||||
msgid "Class Constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1104
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1105
|
||||
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:1108
|
||||
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:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1109
|
||||
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:1116
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1117
|
||||
msgid "This is better explained through examples. Say we have this scenario:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1138
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1139
|
||||
msgid "There are a few things to keep in mind here:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1140
|
||||
msgid "if the inherited class (``State.gd``) defines a ``_init`` constructor that takes arguments (``e`` in this case) then the inheriting class (``Idle.gd``) *has* to define ``_init`` as well and pass appropriate parameters to ``_init`` from ``State.gd``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1143
|
||||
msgid "``Idle.gd`` can have a different number of arguments than the base class ``State.gd``"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1141
|
||||
msgid "if the inherited class (``State.gd``) defines a ``_init`` constructor that takes arguments (``e`` in this case), then the inheriting class (``Idle.gd``) *has* to define ``_init`` as well and pass appropriate parameters to ``_init`` from ``State.gd``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1144
|
||||
msgid "in the example above ``e`` passed to the ``State.gd`` constructor is the same ``e`` passed in to ``Idle.gd``"
|
||||
msgid "``Idle.gd`` can have a different number of arguments than the base class ``State.gd``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1146
|
||||
msgid "if ``Idle.gd``'s ``_init`` constructor takes 0 arguments it still needs to pass some value to the ``State.gd`` base class even if it does nothing. Which brings us to the fact that you can pass literals in the base constructor as well, not just variables. Eg.:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1145
|
||||
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:1158
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1147
|
||||
msgid "if ``Idle.gd``'s ``_init`` constructor takes 0 arguments, it still needs to pass some value to the ``State.gd`` base class even if it does nothing. Which 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:1159
|
||||
msgid "Inner classes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1160
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1161
|
||||
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:1180
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1181
|
||||
msgid "Classes as resources"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1182
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1183
|
||||
msgid "Classes stored as files are treated as :ref:`resources <class_GDScript>`. 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:1198
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1199
|
||||
msgid "Exports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1200
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1201
|
||||
msgid "Class members can be exported. This means their value gets saved along with the resource (e.g. the :ref:`scene <class_PackedScene>`) they're attached to. They will also be available for editing in the property editor. Exporting is done by using the ``export`` keyword::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1209
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1210
|
||||
msgid "An exported variable must be initialized to a constant expression or have an export hint in the form of an argument to the export keyword (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1212
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1213
|
||||
msgid "One of the fundamental benefits of exporting member variables is to have them visible and editable in the editor. This way, artists and game designers can modify values that later influence how the program runs. For this, a special export syntax is provided."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1298
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1299
|
||||
msgid "It must be noted that even if the script is not being run while at the editor, the exported properties are still editable (see below for \"tool\")."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1303
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1304
|
||||
msgid "Exporting bit flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1305
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1306
|
||||
msgid "Integers used as bit flags can store multiple ``true``/``false`` (boolean) values in one property. By using the export hint ``int, FLAGS``, they can be set from the editor:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1314
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1315
|
||||
msgid "Restricting the flags to a certain number of named flags is also possible. The syntax is similar to the enumeration syntax:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1322
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1323
|
||||
msgid "In this example, ``Fire`` has value 1, ``Water`` has value 2, ``Earth`` has value 4 and ``Wind`` corresponds to value 8. Usually, constants should be defined accordingly (e.g. ``const ELEMENT_WIND = 8`` and so on)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1327
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1328
|
||||
msgid "Using bit flags requires some understanding of bitwise operations. If in doubt, boolean variables should be exported instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1331
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1332
|
||||
msgid "Exporting arrays"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1333
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1334
|
||||
msgid "Exporting arrays works, but with an important caveat: While regular arrays are created local to every class instance, exported arrays are *shared* between all instances. This means that editing them in one instance will cause them to change in all other instances. Exported arrays can have initializers, but they must be constant expressions."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1370
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1371
|
||||
msgid "Setters/getters"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1372
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1373
|
||||
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:1375
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1376
|
||||
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:1382
|
||||
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:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1383
|
||||
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:1399
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1400
|
||||
msgid "Either of the *setter* or *getter* functions can be omitted:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1408
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1409
|
||||
msgid "Get/Setters are especially useful when exporting variables to editor in tool scripts or plugins, for validating input."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1411
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1412
|
||||
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:1426
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1427
|
||||
msgid "Tool mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1428
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1429
|
||||
msgid "Scripts, by default, 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:1443
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1444
|
||||
msgid "Memory management"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1445
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1446
|
||||
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:1453
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1454
|
||||
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:1458
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1459
|
||||
msgid "Signals"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1460
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1461
|
||||
msgid "It is often desired to send a notification that something happened in an instance. GDScript supports creation of built-in Godot signals. Declaring a signal in GDScript is easy using the `signal` keyword."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1471
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1472
|
||||
msgid "These signals can be connected in the editor or from code like regular signals. Take the instance of a class where the signal was declared and connect it to the method of another instance:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1487
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1488
|
||||
msgid "It is also possible to bind arguments to a signal that lacks them with your custom values:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1495
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1496
|
||||
msgid "This is useful when a signal from many objects is connected to a single callback and the sender must be identified:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1507
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1508
|
||||
msgid "Finally, emitting a custom signal is done by using the Object.emit_signal method:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1518
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1519
|
||||
msgid "Coroutines with yield"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1520
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1521
|
||||
msgid "GDScript offers support for `coroutines <https://en.wikipedia.org/wiki/Coroutine>`_ via the ``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:1542
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1566
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1543
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1567
|
||||
msgid "Will print:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1550
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1551
|
||||
msgid "It is also possible to pass values between yield() and resume(), for example:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1575
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1576
|
||||
msgid "Coroutines & signals"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1577
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1578
|
||||
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:1592
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1593
|
||||
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:1605
|
||||
msgid "``my_func`` will only continue execution once both the buttons are pressed."
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1606
|
||||
msgid "``my_func`` will only continue execution once both buttons have been pressed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1608
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1609
|
||||
msgid "Onready keyword"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1610
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1611
|
||||
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:1622
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1623
|
||||
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:1632
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1633
|
||||
msgid "Assert keyword"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1634
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1635
|
||||
msgid "The ``assert`` keyword can be used to check conditions in debug builds. These assertions are ignored in non-debug builds."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,7 +21,7 @@ msgid "GDScript format strings"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_format_string.rst:6
|
||||
msgid "GDScript offers a feature called *format strings* which allows reusing text templates to succinctly create different but similar strings."
|
||||
msgid "GDScript offers a feature called *format strings*, which allows reusing text templates to succinctly create different but similar strings."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_format_string.rst:9
|
||||
@@ -374,7 +374,7 @@ msgid "``\"Hi, %0 v%1\".format([\"Godette\", \"3.0\"], \"%_\")``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_format_string.rst:273
|
||||
msgid "Combining both the ``String.format`` method and the ``%`` operator could be useful as ``String.format`` does not have a way to manipulate the representation of numbers."
|
||||
msgid "Combining both the ``String.format`` method and the ``%`` operator could be useful, as ``String.format`` does not have a way to manipulate the representation of numbers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_format_string.rst:279
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -81,7 +81,7 @@ msgid "Blank lines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:72
|
||||
msgid "Surround functions and class definitions by a blank line."
|
||||
msgid "Surround functions and class definitions with a blank line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:74
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -85,7 +85,7 @@ msgid "How to use static typing"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:86
|
||||
msgid "To define the type of a variable or a constant, write a colon after the variable’s name, followed by its type. E.g. ``var health: int``. This forces the type of variable to always stay the same:"
|
||||
msgid "To define the type of a variable or a constant, write a colon after the variable’s name, followed by its type. E.g. ``var health: int``. This forces the variable's type to always stay the same:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:95
|
||||
@@ -97,202 +97,202 @@ msgid "Currently you can use three types of… types:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:106
|
||||
msgid "`Built-in types <http://docs.godotengine.org/en/3.0/getting_started/scripting/gdscript/gdscript_basics.html#built-in-types>`__"
|
||||
msgid ":ref:`Built-in<gdscript_basics.html#built-in-types>`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:108
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:107
|
||||
msgid "Core classes and nodes (``Object``, ``Node``, ``Area2D``, ``Camera2D``, etc.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:110
|
||||
msgid "Your own, custom classes. Look at the new `class_name <https://godot.readthedocs.io/en/latest/getting_started/step_by_step/scripting_continued.html#register-scripts-as-classes>`__ feature to register types in the editor."
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:109
|
||||
msgid "Your own, custom classes. Look at the new :ref:`class_name <doc_scripting_continued_class_name>` feature to register types in the editor."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:116
|
||||
msgid "You don't need to write type hints for constants as Godot sets it automatically from the assigned value. But you can still do so to make the intent of your code clearer."
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:114
|
||||
msgid "You don't need to write type hints for constants, as Godot sets it automatically from the assigned value. But you can still do so to make the intent of your code clearer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:119
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:117
|
||||
msgid "Custom variable types"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:121
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:119
|
||||
msgid "You can use any class, including your custom classes, as types. There are two ways to use them in scripts. The first method is to preload the script you want to use as a type in a constant:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:130
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:128
|
||||
msgid "The second method is to use the ``class_name`` keyword when you create. For the example above, your Rifle.gd would look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:138
|
||||
msgid "If you use ``class_name``, Godot registers the Rifle type globally in the editor, and you can use it anywhere without having to preload it into a constant:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:136
|
||||
msgid "If you use ``class_name``, Godot registers the Rifle type globally in the editor, and you can use it anywhere, without having to preload it into a constant:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:147
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:145
|
||||
msgid "Variable casting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:149
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:147
|
||||
msgid "Type casting is a key concept in typed languages. Casting is the conversion of a value from one type to another."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:152
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:150
|
||||
msgid "Imagine an Enemy in your game, that ``extends Area2D``. You want it to collide with the Player, a ``KinematicBody2D`` with a script called ``PlayerController`` attached to it. You use the ``on_body_entered`` signal to detect the collision. With typed code, the body you detect is going to be a generic ``PhysicsBody2D``, and not your ``PlayerController`` on the ``_on_body_entered`` callback."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:159
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:157
|
||||
msgid "You can check if this ``PhysicsBody2D`` is your Player with the ``as`` casting keyword, and using the colon ``:`` again to force the variable to use this type. This forces the variable to stick to the ``PlayerController`` type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:172
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:170
|
||||
msgid "As we’re dealing with a custom type, if the ``body`` doesn’t extend ``PlayerController``, the ``player``\\ variable will be set to ``null``. We can use this to check if the body is the player or not. We will also get full autocompletion on the player variable thanks to that cast."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:179
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:177
|
||||
msgid "If you try to cast with a built-in type and it fails, Godot will throw an error."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:182
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:180
|
||||
msgid "Safe lines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:184
|
||||
msgid "You can also use casting to ensure safe lines. Safe lines are a new tool in Godot 3.1 to tell you when ambiguous lines of code are type-safe. As you can mix and match typed and dynamic code, at times, Godot doesn’t have enough information to if an instruction will trigger an error or not at runtime."
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:182
|
||||
msgid "You can also use casting to ensure safe lines. Safe lines are a new tool in Godot 3.1 to tell you when ambiguous lines of code are type-safe. As you can mix and match typed and dynamic code, at times, Godot doesn’t have enough information to know if an instruction will trigger an error or not at runtime."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:190
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:188
|
||||
msgid "This happens when you get a child node. Let’s take a timer for example: with dynamic code, you can get the node with ``$Timer``. GDScript supports `duck-typing <https://stackoverflow.com/a/4205163/8125343>`__, so even if your timer is of type ``Timer``, it is also a ``Node`` and an ``Object``, two classes it extends. With dynamic GDScript, you also don’t care about the node’s type as long as it has the methods you need to call."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:198
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:196
|
||||
msgid "You can use casting to tell Godot the type you expect when you get a node: ``($Timer as Timer)``, ``($Player as KinematicBody2D)``, etc. Godot will ensure the type works and if so, the line number will turn green at the left of the script editor."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:206
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:204
|
||||
msgid "Safe vs Unsafe Line"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:210
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:208
|
||||
msgid "You can turn off safe lines or change their color in the editor settings."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:213
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:211
|
||||
msgid "Define the return type of a function with the arrow ->"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:215
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:213
|
||||
msgid "To define the return type of a function, write a dash and a right angle bracket ``->`` after it’s declaration, followed by the return type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:223
|
||||
msgid "The type ``void`` means the function does not return anything. You can use any type as with variables:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:221
|
||||
msgid "The type ``void`` means the function does not return anything. You can use any type, as with variables:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:232
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:230
|
||||
msgid "You can also use your own nodes as return types:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:247
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:245
|
||||
msgid "Typed or dynamic: stick to one style"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:249
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:247
|
||||
msgid "Typed GDScript and dynamic GDScript can coexist in the same project. But I recommended to stick to either style for consistency in your codebase, and for your peers. It’s easier for everyone to work together if you follow the same guidelines, and faster to read and understand other people’s code."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:255
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:253
|
||||
msgid "Typed code takes a little more writing, but you get the benefits we discussed above. Here’s an example of the same, empty script, in a dynamic style:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:267
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:265
|
||||
msgid "And with static typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:277
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:275
|
||||
msgid "As you can see, you can also use types with the engine’s virtual methods. Signal callbacks, like any methods, can also use types. Here’s a ``body_entered`` signal in a dynamic style:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:286
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:284
|
||||
msgid "And the same callback, with type hints:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:293
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:291
|
||||
msgid "You’re free to replace, e.g. the ``PhysicsBody2D``, with your own type, to cast parameters automatically:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:303
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:301
|
||||
msgid "The ``bullet`` variable could hold any ``CollisionObject2D`` here, but we make sure it is our ``Bullet``, a node we created for our project. If it’s anything else, like an ``Area2D``, or any node that doesn’t extend ``Bullet``, the ``bullet`` variable will be ``null``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:309
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:307
|
||||
msgid "Warning system"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:311
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:309
|
||||
msgid "The warning system complements typed GDScript. It’s here to help you avoid mistakes that are hard to spot during development, and that may lead to runtime errors."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:315
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:313
|
||||
msgid "You can configure warnings in the Project Settings under a new section called ``GDScript``:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:321
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:319
|
||||
msgid "warning system project settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:323
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:321
|
||||
msgid "You can find a list of warnings for the active GDScript file in the script editor’s status bar. The example below has 3 warnings:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:329
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:327
|
||||
msgid "warning system example"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:331
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:329
|
||||
msgid "To ignore specific warnings in one file, insert a special comment of the form ``#warning-ignore:warning-id``, or click on the ignore link to the right of the warning’s description. Godot will add a comment above the corresponding line and the code won’t trigger the corresponding warning anymore:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:340
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:338
|
||||
msgid "warning system ignore example"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:342
|
||||
msgid "Warnings won’t prevent the game from running, but you can turn them into errors if you’d like. This way your game won’t compile unless you fix all warnings. Head to ``GDScript`` section of the Project Settings to turn on this option. Here’s the same file as the previous example with warnings as errors turned on:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:340
|
||||
msgid "Warnings won’t prevent the game from running, but you can turn them into errors if you’d like. This way your game won’t compile unless you fix all warnings. Head to the ``GDScript`` section of the Project Settings to turn on this option. Here’s the same file as the previous example with warnings as errors turned on:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:351
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:349
|
||||
msgid "warnings as errors"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:354
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:352
|
||||
msgid "Cases where you can’t specify types"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:356
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:354
|
||||
msgid "To wrap up this introduction, let’s cover a few cases where you can’t use type hints. All the examples below **will trigger errors**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:359
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:357
|
||||
msgid "You can’t use Enums as types:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:366
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:364
|
||||
msgid "You can’t specify the type of individual members in an array. This will give you an error:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:373
|
||||
msgid "You can’t force the assignment of types in a ``for`` loop as each element the ``for`` keyword loops already has a different type. So you **cannot** write:"
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:371
|
||||
msgid "You can’t force the assignment of types in a ``for`` loop, as each element the ``for`` keyword loops over already has a different type. So you **cannot** write:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:383
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:381
|
||||
msgid "Two scripts can’t depend on each other in a cyclic fashion:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:402
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:400
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:404
|
||||
msgid "Typed GDScript is a powerful tool. Coming with Godot 3.1, it can already help you write more structured code, help you avoid common errors, and create scalable systems. In the future, static types will also bring you a nice performance boost thanks to upcoming compiler optimizations."
|
||||
#: ../../docs/getting_started/scripting/gdscript/static_typing.rst:402
|
||||
msgid "Typed GDScript is a powerful tool. Available as of version 3.1 of Godot, it helps you write more structured code, avoid common errors, and create scalable systems. In the future, static types will also bring you a nice performance boost thanks to upcoming compiler optimizations."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -45,7 +45,7 @@ msgid "Once it opens, the script type \"Visual Script\" must be selected from th
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/getting_started.rst:37
|
||||
msgid "Finally, the Script Editor will open, allowing to start the editing of the visual script:"
|
||||
msgid "Finally, the Script Editor will open, allowing you to start editing the visual script:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/getting_started.rst:43
|
||||
@@ -113,7 +113,7 @@ msgid "Creating a Function Manually"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/getting_started.rst:109
|
||||
msgid "The last way to create functions is to do it manually. In general this is not as common unless you really need it. Custom functions work when another (or the same) script calls them manually. The main use case for this is to separate a function into more, or reusing your visual code."
|
||||
msgid "The last way to create functions is to do it manually. In general, this is not as common unless you really need it. Custom functions work when another (or the same) script calls them manually. The main use cases for this are breaking a larger function up into several manageable chunks and reusing your visual code."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/getting_started.rst:113
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -53,7 +53,7 @@ msgid "Nodes in Godot Visual Scripting have *Ports*. These are endpoints that ap
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:40
|
||||
msgid "*Sequence Ports* indicate the order in which operations are executed. Typically when a *Node* is done processing, it will go to the next node from one of the ports at the right. If nothing is connected the function may end, or another output *Sequence Port* might be tried (this depends on the node). Thanks to this, you can follow the logic flow within a function by following the white lines. Not every *Node* has *Sequence Ports*. In fact, most do not."
|
||||
msgid "*Sequence Ports* indicate the order in which operations are executed. Typically when a *Node* is done processing, it will go to the next node from one of the ports at the right. If nothing is connected, the function may end, or another output *Sequence Port* might be tried (this depends on the node). Thanks to this, you can follow the logic flow within a function by following the white lines. Not every *Node* has *Sequence Ports*. In fact, most do not."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:46
|
||||
@@ -77,7 +77,7 @@ msgid "Disconnecting takes a bit more practice. Disconnecting in *Data Ports* ha
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:71
|
||||
msgid "This may seem strange at the beginning, but it happens because *Data Ports* are 1:N (A single output port can connect to many inputs), while *Sequence Ports* are N:1 (Many sequence outputs can be connected to a single input)."
|
||||
msgid "This may seem strange at first, but it happens because *Data Ports* are 1:N (A single output port can connect to many inputs), while *Sequence Ports* are N:1 (Many sequence outputs can be connected to a single input)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:75
|
||||
@@ -149,7 +149,7 @@ msgid "Right-clicking the variable allows you to configure its properties:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:147
|
||||
msgid "As it can be seen above, the type and initial value of the variable can be changed, as well as some property hints. Ticking the \"Export\" options makes the variable visible in the Inspector when selecting the node. This also makes it available to other scripts via the method described in the previous step."
|
||||
msgid "As it can be seen above, the type and initial value of the variable can be changed, as well as some property hints. Ticking the \"Export\" option makes the variable visible in the Inspector when selecting the node. This also makes it available to other scripts via the method described in the previous step."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:153
|
||||
@@ -169,11 +169,11 @@ msgid "It is also possible to create your own signals in a script and use them.
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:171
|
||||
msgid "A signal can also be edited via right-click menu to customize its arguments:"
|
||||
msgid "A signal can also be edited via the right-click menu to customize its arguments:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:176
|
||||
msgid "The signal you have created will appear in the Inspector along with the built-in node signals. This allows you to connect it from another script from another *Scene Node*:"
|
||||
msgid "The signal you have created will appear in the Inspector, along with the built-in node signals. This allows you to connect it from another script from another *Scene Node*:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:181
|
||||
@@ -213,7 +213,7 @@ msgid "Constant nodes are nodes that provide values that, while not changing ove
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:219
|
||||
msgid "The first one is \"Constant\" which allows you to select any value of any type as constant, from an integer (42) to a String (\"Hello!\"). In general this node is not used that often because of default input values in *Data Ports*, but it's good to know it exists."
|
||||
msgid "The first one is \"Constant\", which allows you to select any value of any type as constant, from an integer (42) to a String (\"Hello!\"). In general, this node is not used that often because of default input values in *Data Ports*, but it's good to know it exists."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:221
|
||||
@@ -221,7 +221,7 @@ msgid "The second is the GlobalConstant node, which contains a long list of cons
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:224
|
||||
msgid "The third one is MathConstant, which provides typical mathematical constants such as PI, E, etc."
|
||||
msgid "The third one is MathConstant, which provides typical mathematical constants, such as PI, E, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:228
|
||||
@@ -249,7 +249,7 @@ msgid "Engine Singleton"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:251
|
||||
msgid "Engine singletons are global interfaces (meaning they can be accessed without a reference, unlike Scene Nodes, they are always available). They have several purposes, but in general they are useful for low level access or OS-related access."
|
||||
msgid "Engine singletons are global interfaces (meaning they can be accessed without a reference; unlike Scene Nodes, they are always available). They have several purposes, but in general, they are useful for low-level access or OS-related access."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:257
|
||||
@@ -289,11 +289,11 @@ msgid "SceneTree"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:290
|
||||
msgid "This node is similar to the Singleton node because it references the SceneTree, which contains the active scene. SceneTree, however, only works when the node is sitting in the scene and active, otherwise accessing it will return as an error."
|
||||
msgid "This node is similar to the Singleton node because it references the SceneTree, which contains the active scene. SceneTree, however, only works when the node is sitting in the scene and active, otherwise accessing it will return an error."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:294
|
||||
msgid "SceneTree allows for many low level things, like setting stretch options, calling groups, make timers, or even load another scene. It's a good class to get familiar with."
|
||||
msgid "SceneTree allows for many low-level things, like setting stretch options, calling groups, make timers, or even load another scene. It's a good class to get familiar with."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:299
|
||||
@@ -409,7 +409,7 @@ msgid "Built-In"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:400
|
||||
msgid "There is a list of built in helpers. The list is almost identical to the one from GDScript (@TODO, link to gdscript methods?). Most of them are mathematical functions, but others can be useful helpers. Make sure to take a look at the list at some point."
|
||||
msgid "There is a list of built-in helpers. The list is almost identical to the one from GDScript (@TODO, link to gdscript methods?). Most of them are mathematical functions, but others can be useful helpers. Make sure to take a look at the list at some point."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:406
|
||||
@@ -497,7 +497,7 @@ msgid "Operators"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:474
|
||||
msgid "These are mostly generic operators such as addition, multiplication, comparison, etc. By default, these mostly accept any datatype (and will error in run-time if the types fed do not match for the operator). It is always recommended to set the right type for operators to catch errors faster and make the graph easier to read."
|
||||
msgid "These are mostly generic operators, such as addition, multiplication, comparison, etc. By default, these mostly accept any datatype (and will throw an error at run-time if the types fed do not match those expected by the operator). It is always recommended to set the right type for operators to catch errors faster and make the graph easier to read."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/scripting/visual_script/nodes_purposes.rst:483
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -93,7 +93,7 @@ msgid "|image7|"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:56
|
||||
msgid "When the folder path is correct you'll see a green checkmark."
|
||||
msgid "When the folder path is correct, you'll see a green checkmark."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:58
|
||||
@@ -105,7 +105,7 @@ msgid "Your first look at Godot’s editor"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:63
|
||||
msgid "Welcome to Godot! With your project open you should see the editor’s interface with the 3d viewport active. You can change the current workspace at the top of the interface. Click on 2d to switch to the 2d workspace."
|
||||
msgid "Welcome to Godot! With your project open, you should see the editor’s interface with the 3D viewport active. You can change the current workspace at the top of the interface. Click on 2D to switch to the 2D workspace."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:68
|
||||
@@ -125,7 +125,7 @@ msgid "At the top, from left to right, you can see the **main menus**, the **wor
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:77
|
||||
msgid "On the left side you have the **FileSystem dock**, where you’ll manage your project files and assets."
|
||||
msgid "On the left side, you have the **FileSystem dock**, where you’ll manage your project files and assets."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:80
|
||||
@@ -133,7 +133,7 @@ msgid "|image11|"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:82
|
||||
msgid "On the right side you’ll find the **Scene dock** that lists the active scene’s content and the **Inspector** in the bottom right corner."
|
||||
msgid "On the right side, you’ll find the **Scene dock**, which lists the active scene’s content and the **Inspector** in the bottom right corner."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:85
|
||||
@@ -141,7 +141,7 @@ msgid "|image12|"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:87
|
||||
msgid "In the center you have the **Toolbar** at the top, where you’ll find tools to move, scale or lock your scene’s objects. It changes as you jump to different workspaces."
|
||||
msgid "In the center, you have the **Toolbar** at the top, where you’ll find tools to move, scale or lock your scene’s objects. It changes as you jump to different workspaces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:91
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -189,7 +189,7 @@ msgid "The Inspector will now display your Resource script's custom properties.
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/resources.rst:225
|
||||
msgid "If the script's language supports `script classes <https://godot.readthedocs.io/en/latest/getting_started/step_by_step/scripting_continued.html#register-scripts-as-classes>`__, then it streamlines the process. Defining a name for your script alone will add it to the Inspector's creation dialog. This will auto-add your script to the Resource object you create."
|
||||
msgid "If the script's language supports :ref:`script classes <doc_scripting_continued_class_name>`, then it streamlines the process. Defining a name for your script alone will add it to the Inspector's creation dialog. This will auto-add your script to the Resource object you create."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/resources.rst:230
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -158,6 +158,10 @@ msgid "After a scene is loaded, it is often desired to change this scene for ano
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scene_tree.rst:161
|
||||
msgid "This is a quick and useful way to switch scenes but has the drawback that the game will stall until the new scene is loaded and running. At some point in your game, it may be desired to create proper loading screens with progress bar, animated indicators or thread (background) loading. This must be done manually using autoloads (see next chapter!) and :ref:`doc_background_loading`."
|
||||
msgid "Rather than using file paths, one can also use ready-made :ref:`PackedScene <class_PackedScene>` resources using the equivalent function :ref:`SceneTree.change_scene_to(PackedScene scene) <class_SceneTree_change_scene_to>`:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scene_tree.rst:182
|
||||
msgid "These are quick and useful ways to switch scenes but have the drawback that the game will stall until the new scene is loaded and running. At some point in your game, it may be desired to create proper loading screens with progress bar, animated indicators or thread (background) loading. This must be done manually using autoloads (see next chapter!) and :ref:`doc_background_loading`."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -77,7 +77,7 @@ msgid "Nodes can be added to groups, as many as desired per node, and is a usefu
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:92
|
||||
msgid "And the second way is from code. One example would be to tag scenes which are enemies:"
|
||||
msgid "And the second way is from code. One example would be to tag nodes which are enemies:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:110
|
||||
@@ -164,27 +164,27 @@ msgstr ""
|
||||
msgid "The advantage of this two-step process is that a packed scene may be kept loaded and ready to use so that you can create as many instances as desired. This is especially useful to quickly instance several enemies, bullets, and other entities in the active scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:387
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:389
|
||||
msgid "Register scripts as classes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:389
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:391
|
||||
msgid "Godot has a \"Script Class\" feature to register individual scripts with the Editor. By default, you can only access unnamed scripts by loading the file directly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:393
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:395
|
||||
msgid "You can name a script and register it as a type in the editor with the ``class_name`` keyword followed by the class's name. You may add a comma and an optional path to an image to use as an icon. You will then find your new type in the Node or Resource creation dialog."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:415
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:417
|
||||
msgid "In Godot 3.1:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:417
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:419
|
||||
msgid "Only GDScript and NativeScript, i.e., C++ and other GDNative-powered languages, can register scripts."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:418
|
||||
#: ../../docs/getting_started/step_by_step/scripting_continued.rst:420
|
||||
msgid "Only GDScript creates global variables for each named script."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -93,696 +93,712 @@ msgid "Save the scene. Click Scene -> Save, or press ``Ctrl+S`` on Windows/Linux
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:83
|
||||
msgid "For this project, we will be following the Godot naming conventions. Classes (nodes) use ``PascalCase``, variables and functions use ``snake_case``, and constants use ``ALL_CAPS``."
|
||||
msgid "For this project, we will be following the Godot naming conventions."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:88
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:85
|
||||
msgid "**GDScript**: Classes (nodes) use PascalCase, variables and functions use snake_case, and constants use ALL_CAPS (See :ref:`doc_gdscript_styleguide`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:89
|
||||
msgid "**C#**: Classes, export variables and methods use PascalCase, private fields use _camelCase, local variables and parameters use camelCase (See :ref:`doc_c_sharp_styleguide`). Be careful to type the method names precisely when connecting signals."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:96
|
||||
msgid "Sprite animation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:90
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:98
|
||||
msgid "Click on the ``Player`` node and add an :ref:`AnimatedSprite <class_AnimatedSprite>` node as a child. The ``AnimatedSprite`` will handle the appearance and animations for our player. Notice that there is a warning symbol next to the node. An ``AnimatedSprite`` requires a :ref:`SpriteFrames <class_SpriteFrames>` resource, which is a list of the animations it can display. To create one, find the ``Frames`` property in the Inspector and click \"<null>\" -> \"New SpriteFrames\". Next, in the same location, click ``<SpriteFrames>`` to open the \"SpriteFrames\" panel:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:102
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:110
|
||||
msgid "On the left is a list of animations. Click the \"default\" one and rename it to \"right\". Then click the \"Add\" button to create a second animation named \"up\". Drag the two images for each animation, named ``playerGrey_up[1/2]`` and ``playerGrey_walk[1/2]``, into the \"Animation Frames\" side of the panel:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:109
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:117
|
||||
msgid "The player images are a bit too large for the game window, so we need to scale them down. Click on the ``AnimatedSprite`` node and set the ``Scale`` property to ``(0.5, 0.5)``. You can find it in the Inspector under the ``Node2D`` heading."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:116
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:124
|
||||
msgid "Finally, add a :ref:`CollisionShape2D <class_CollisionShape2D>` as a child of ``Player``. This will determine the player's \"hitbox\", or the bounds of its collision area. For this character, a ``CapsuleShape2D`` node gives the best fit, so next to \"Shape\" in the Inspector, click \"<null>\"\" -> \"New CapsuleShape2D\". Resize the shape to cover the sprite:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:124
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:132
|
||||
msgid "Don't scale the shape's outline! Only use the size handles (circled in red) to adjust the shape!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:127
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:135
|
||||
msgid "When you're finished, your ``Player`` scene should look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:132
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:140
|
||||
msgid "Moving the player"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:134
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:142
|
||||
msgid "Now we need to add some functionality that we can't get from a built-in node, so we'll add a script. Click the ``Player`` node and click the \"Add Script\" button:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:140
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:148
|
||||
msgid "In the script settings window, you can leave the default settings alone. Just click \"Create\":"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:143
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:151
|
||||
msgid "If you're creating a C# script or other languages, select the language from the `language` drop down menu before hitting create."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:148
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:156
|
||||
msgid "If this is your first time encountering GDScript, please read :ref:`doc_scripting` before continuing."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:151
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:159
|
||||
msgid "Start by declaring the member variables this object will need:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:172
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:180
|
||||
msgid "Using the ``export`` keyword on the first variable ``speed`` allows us to set its value in the Inspector. This can be handy for values that you want to be able to adjust just like a node's built-in properties. Click on the ``Player`` node and set the speed property to ``400``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:177
|
||||
msgid "If you're using C#, you need to restart Godot editor temporarily to see exported variables in the editor until it's fixed."
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:185
|
||||
msgid "If you're using C#, you need to (re)build the project assemblies whenever you want to see new export variables or signals. This build can be manually triggered by clicking the word \"Mono\" at the bottom of the editor window to reveal the Mono Panel, then clicking the \"Build Project\" button."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:182
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:193
|
||||
msgid "The ``_ready()`` function is called when a node enters the scene tree, which is a good time to find the size of the game window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:198
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:209
|
||||
msgid "Now we can use the ``_process()`` function to define what the player will do. ``_process()`` is called every frame, so we'll use it to update elements of our game, which we expect will change often. Here we'll make it:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:202
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:213
|
||||
msgid "Check for input."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:203
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:214
|
||||
msgid "Move in the given direction."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:204
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:215
|
||||
msgid "Play the appropriate animation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:206
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:217
|
||||
msgid "First, we need to check for input - is the player pressing a key? For this game, we have 4 direction inputs to check. Input actions are defined in the Project Settings under \"Input Map\". You can define custom events and assign different keys, mouse events, or other inputs to them. For this demo, we will use the default events that are assigned to the arrow keys on the keyboard."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:213
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:224
|
||||
msgid "You can detect whether a key is pressed using ``Input.is_action_pressed()``, which returns ``true`` if it is pressed or ``false`` if it isn't."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:266
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:286
|
||||
msgid "We check each input and add/subtract from the ``velocity`` to obtain a total direction. For example, if you hold ``right`` and ``down`` at the same time, the resulting ``velocity`` vector will be ``(1, 1)``. In this case, since we're adding a horizontal and a vertical movement, the player would move *faster* than if it just moved horizontally."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:272
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:292
|
||||
msgid "We can prevent that if we *normalize* the velocity, which means we set its *length* to ``1``, and multiply by the desired speed. This means no more fast diagonal movement."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:276
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:296
|
||||
msgid "If you've never used vector math before, or need a refresher, you can see an explanation of vector usage in Godot at :ref:`doc_vector_math`. It's good to know but won't be necessary for the rest of this tutorial."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:280
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:300
|
||||
msgid "We also check whether the player is moving so we can start or stop the AnimatedSprite animation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:283
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:303
|
||||
msgid "``$`` returns the node at the relative path from this node, or returns ``null`` if the node is not found. Since AnimatedSprite is a child of the current node, we can use ``$AnimatedSprite``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:286
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:306
|
||||
msgid "``$`` is shorthand for ``get_node()``. So in the code above, ``$AnimatedSprite.play()`` is the same as ``get_node(\"AnimatedSprite\").play()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:289
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:309
|
||||
msgid "Now that we have a movement direction, we can update ``Player``'s position and use ``clamp()`` to prevent it from leaving the screen by adding the following to the bottom of the ``_process`` function:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:309
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:329
|
||||
msgid "*Clamping* a value means restricting it to a given range."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:311
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:331
|
||||
msgid "Click \"Play Scene\" (``F6``) and confirm you can move the player around the screen in all directions. The console output that opens upon playing the scene can be closed by clicking ``Output`` (which should be highlighted in blue) in the lower left of the Bottom Panel."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:315
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:335
|
||||
msgid "If you get an error in the \"Debugger\" panel that refers to a \"null instance\", this likely means you spelled the node name wrong. Node names are case-sensitive and ``$NodeName`` or ``get_node(\"NodeName\")`` must match the name you see in the scene tree."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:320
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:340
|
||||
msgid "Choosing animations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:322
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:342
|
||||
msgid "Now that the player can move, we need to change which animation the AnimatedSprite is playing based on direction. We have a \"right\" animation, which should be flipped horizontally using the ``flip_h`` property for left movement, and an \"up\" animation, which should be flipped vertically with ``flip_v`` for downward movement. Let's place this code at the end of our ``_process()`` function:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:353
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:376
|
||||
msgid "The boolean assignments in the code above are a common shorthand for programmers. Consider this code versus the shortened boolean assignment above:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:372
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:395
|
||||
msgid "Play the scene again and check that the animations are correct in each of the directions. When you're sure the movement is working correctly, add this line to ``_ready()``, so the player will be hidden when the game starts:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:387
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:410
|
||||
msgid "Preparing for collisions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:389
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:412
|
||||
msgid "We want ``Player`` to detect when it's hit by an enemy, but we haven't made any enemies yet! That's OK, because we're going to use Godot's *signal* functionality to make it work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:393
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:416
|
||||
msgid "Add the following at the top of the script, after ``extends Area2d``:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:405
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:430
|
||||
msgid "This defines a custom signal called \"hit\" that we will have our player emit (send out) when it collides with an enemy. We will use ``Area2D`` to detect the collision. Select the ``Player`` node and click the \"Node\" tab next to the Inspector tab to see the list of signals the player can emit:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:412
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:437
|
||||
msgid "Notice our custom \"hit\" signal is there as well! Since our enemies are going to be ``RigidBody2D`` nodes, we want the ``body_entered( Object body )`` signal; this will be emitted when a body contacts the player. Click \"Connect..\" and then \"Connect\" again on the \"Connecting Signal\" window. We don't need to change any of these settings - Godot will automatically create a function called ``_on_Player_body_entered`` in your player's script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:420
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:445
|
||||
msgid "When connecting a signal, instead of having Godot create a function for you, you can also give the name of an existing function that you want to link the signal to."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:424
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:449
|
||||
msgid "Add this code to the function:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:447
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:468
|
||||
msgid "Disabling the area's collision shape means it won't detect collisions. By turning it off, we make sure we don't trigger the ``hit`` signal more than once."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:452
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:472
|
||||
msgid "The last piece for our player is to add a function we can call to reset the player when starting a new game."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:475
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:493
|
||||
msgid "Enemy scene"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:477
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:495
|
||||
msgid "Now it's time to make the enemies our player will have to dodge. Their behavior will not be very complex: mobs will spawn randomly at the edges of the screen and move in a random direction in a straight line, then despawn when they go offscreen."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:482
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:500
|
||||
msgid "We will build this into a ``Mob`` scene, which we can then *instance* to create any number of independent mobs in the game."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:486
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:504
|
||||
msgid "Node setup"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:488
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:506
|
||||
msgid "Click Scene -> New Scene and we'll create the Mob."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:490
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:508
|
||||
msgid "The Mob scene will use the following nodes:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:492
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:510
|
||||
msgid ":ref:`RigidBody2D <class_RigidBody2D>` (named ``Mob``)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:494
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:512
|
||||
msgid ":ref:`AnimatedSprite <class_AnimatedSprite>`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:495
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:513
|
||||
msgid ":ref:`CollisionShape2D <class_CollisionShape2D>`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:496
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:514
|
||||
msgid ":ref:`VisibilityNotifier2D <class_VisibilityNotifier2D>` (named ``Visibility``)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:498
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:516
|
||||
msgid "Don't forget to set the children so they can't be selected, like you did with the Player scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:501
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:519
|
||||
msgid "In the :ref:`RigidBody2D <class_RigidBody2D>` properties, set ``Gravity Scale`` to ``0``, so the mob will not fall downward. In addition, under the ``PhysicsBody2D`` section, click the ``Mask`` property and uncheck the first box. This will ensure the mobs do not collide with each other."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:508
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:526
|
||||
msgid "Set up the :ref:`AnimatedSprite <class_AnimatedSprite>` like you did for the player. This time, we have 3 animations: ``fly``, ``swim``, and ``walk``. Set the ``Playing`` property in the Inspector to \"On\" and adjust the \"Speed (FPS)\" setting as shown below. We'll select one of these animations randomly so that the mobs will have some variety."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:515
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:533
|
||||
msgid "``fly`` should be set to 3 FPS, with ``swim`` and ``walk`` set to 4 FPS."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:517
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:535
|
||||
msgid "Like the player images, these mob images need to be scaled down. Set the ``AnimatedSprite``'s ``Scale`` property to ``(0.75, 0.75)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:520
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:538
|
||||
msgid "As in the ``Player`` scene, add a ``CapsuleShape2D`` for the collision. To align the shape with the image, you'll need to set the ``Rotation Degrees`` property to ``90`` under ``Node2D``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:525
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:543
|
||||
msgid "Enemy script"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:527
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:545
|
||||
msgid "Add a script to the ``Mob`` and add the following member variables:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:551
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:571
|
||||
msgid "We'll pick a random value between ``min_speed`` and ``max_speed`` for how fast each mob will move (it would be boring if they were all moving at the same speed). Set them to ``150`` and ``250`` in the Inspector. We also have an array containing the names of the three animations, which we'll use to select a random one."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:557
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:577
|
||||
msgid "Now let's look at the rest of the script. In ``_ready()`` we randomly choose one of the three animation types:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:581
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:596
|
||||
msgid "You must use ``randomize()`` if you want your sequence of \"random\" numbers to be different every time you run the scene. We're going to use ``randomize()`` in our ``Main`` scene, so we won't need it here. ``randi() % n`` is the standard way to get a random integer between ``0`` and ``n-1``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:587
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:602
|
||||
msgid "The last piece is to make the mobs delete themselves when they leave the screen. Connect the ``screen_exited()`` signal of the ``Visibility`` node and add this code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:604
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:619
|
||||
msgid "This completes the `Mob` scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:607
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:622
|
||||
msgid "Main scene"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:609
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:624
|
||||
msgid "Now it's time to bring it all together. Create a new scene and add a :ref:`Node <class_Node>` named ``Main``. Click the \"Instance\" button and select your saved ``Player.tscn``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:615
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:630
|
||||
msgid "See :ref:`doc_instancing` to learn more about instancing."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:617
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:632
|
||||
msgid "Now, add the following nodes as children of ``Main``, and name them as shown (values are in seconds):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:620
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:635
|
||||
msgid ":ref:`Timer <class_Timer>` (named ``MobTimer``) - to control how often mobs spawn"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:621
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:636
|
||||
msgid ":ref:`Timer <class_Timer>` (named ``ScoreTimer``) - to increment the score every second"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:622
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:637
|
||||
msgid ":ref:`Timer <class_Timer>` (named ``StartTimer``) - to give a delay before starting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:623
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:638
|
||||
msgid ":ref:`Position2D <class_Position2D>` (named ``StartPosition``) - to indicate the player's start position"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:625
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:640
|
||||
msgid "Set the ``Wait Time`` property of each of the ``Timer`` nodes as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:628
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:643
|
||||
msgid "``MobTimer``: ``0.5``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:629
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:644
|
||||
msgid "``ScoreTimer``: ``1``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:630
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:645
|
||||
msgid "``StartTimer``: ``2``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:632
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:647
|
||||
msgid "In addition, set the ``One Shot`` property of ``StartTimer`` to \"On\" and set ``Position`` of the ``StartPosition`` node to ``(240, 450)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:636
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:651
|
||||
msgid "Spawning mobs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:638
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:653
|
||||
msgid "The Main node will be spawning new mobs, and we want them to appear at a random location on the edge of the screen. Add a :ref:`Path2D <class_Path2D>` node named ``MobPath`` as a child of ``Main``. When you select ``Path2D``, you will see some new buttons at the top of the editor:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:645
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:660
|
||||
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 \"Snap to Grid\" is checked. This option can be found under the \"Snapping options\" button to the left of the \"Lock\" button, appearing as a series of three vertical dots."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:653
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:668
|
||||
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:656
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:671
|
||||
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:659
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:674
|
||||
msgid "Now that the path is defined, add a :ref:`PathFollow2D <class_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:665
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:680
|
||||
msgid "Main script"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:667
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:682
|
||||
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:706
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:722
|
||||
msgid "Drag ``Mob.tscn`` from the \"FileSystem\" panel and drop it in the ``Mob`` property under the Script Variables of the ``Main`` node."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:709
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:725
|
||||
msgid "Next, click on the Player and connect the ``hit`` signal. 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 \"Method In Node\" box at the bottom of the \"Connecting Signal\" window. Add the following code, as well as a ``new_game`` function to set everything up for a new game:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:751
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:762
|
||||
msgid "Now connect the ``timeout()`` signal of each of the Timer nodes (``StartTimer``, ``ScoreTimer`` ,and ``MobTimer``). ``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:782
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:789
|
||||
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:788
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:795
|
||||
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:791
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:798
|
||||
msgid "Now click on ``MobTimer`` in the scene window then head to inspector window, switch to node view then click on ``timeout()`` and connect the signal."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:794
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:801
|
||||
msgid "Add the following code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:841
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:848
|
||||
msgid "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:847
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:854
|
||||
msgid "HUD"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:849
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:856
|
||||
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 <class_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:855
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:862
|
||||
msgid "The :ref:`CanvasLayer <class_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:859
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:866
|
||||
msgid "The HUD displays the following information:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:861
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:868
|
||||
msgid "Score, changed by ``ScoreTimer``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:862
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:869
|
||||
msgid "A message, such as \"Game Over\" or \"Get Ready!\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:863
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:870
|
||||
msgid "A \"Start\" button to begin the game."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:865
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:872
|
||||
msgid "The basic node for UI elements is :ref:`Control <class_Control>`. To create our UI, we'll use two types of :ref:`Control <class_Control>` nodes: :ref:`Label <class_Label>` and :ref:`Button <class_Button>`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:869
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:876
|
||||
msgid "Create the following as children of the ``HUD`` node:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:871
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:878
|
||||
msgid ":ref:`Label <class_Label>` named ``ScoreLabel``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:872
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:879
|
||||
msgid ":ref:`Label <class_Label>` named ``MessageLabel``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:873
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:880
|
||||
msgid ":ref:`Button <class_Button>` named ``StartButton``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:874
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:881
|
||||
msgid ":ref:`Timer <class_Timer>` named ``MessageTimer``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:876
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:883
|
||||
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:883
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:890
|
||||
msgid "Arrange the nodes as shown below. Click the \"Anchor\" button to set a Control node's anchor:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:888
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:895
|
||||
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:892
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:899
|
||||
msgid "ScoreLabel"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:894
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:901
|
||||
msgid "``Layout``: \"Center Top\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:895
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:908
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:921
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:902
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:915
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:928
|
||||
msgid "``Margin``:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:897
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:904
|
||||
msgid "Left: ``-25``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:898
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:905
|
||||
msgid "Top: ``0``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:899
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:906
|
||||
msgid "Right: ``25``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:900
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:907
|
||||
msgid "Bottom: ``100``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:902
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:909
|
||||
msgid "Text: ``0``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:905
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:912
|
||||
msgid "MessageLabel"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:907
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:914
|
||||
msgid "``Layout``: \"Center\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:910
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:917
|
||||
msgid "Left: ``-200``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:911
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:918
|
||||
msgid "Top: ``-150``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:912
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:919
|
||||
msgid "Right: ``200``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:913
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:920
|
||||
msgid "Bottom: ``0``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:915
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:922
|
||||
msgid "Text: ``Dodge the Creeps!``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:918
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:925
|
||||
msgid "StartButton"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:920
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:927
|
||||
msgid "``Layout``: \"Center Bottom\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:923
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:930
|
||||
msgid "Left: ``-100``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:924
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:931
|
||||
msgid "Top: ``-200``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:925
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:932
|
||||
msgid "Right: ``100``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:926
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:933
|
||||
msgid "Bottom: ``-100``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:928
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:935
|
||||
msgid "Text: ``Start``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:930
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:937
|
||||
msgid "To make the text of the ``MessageLabel`` fit the game's window click the small icon next to your text property. This will open up a new window where you can add a new line between the words. 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 for each of the three ``Control`` nodes:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:938
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:945
|
||||
msgid "Under \"Custom Fonts\", choose \"New DynamicFont\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:942
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:949
|
||||
msgid "Click on the \"DynamicFont\" you added, and under \"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:948
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:955
|
||||
msgid "Now add this script to ``HUD``:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:965
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:974
|
||||
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:988
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:996
|
||||
msgid "This function is called when we want to display a message temporarily, such as \"Get Ready\". 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:1017
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1026
|
||||
msgid "This function is called when the player loses. It will show \"Game Over\" for 2 seconds, then return to the title screen and show the \"Start\" button."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1035
|
||||
msgid "This function is called in ``Main`` whenever the score changes."
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1043
|
||||
msgid "This function is called by ``Main`` whenever the score changes."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1037
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1045
|
||||
msgid "Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` signal of ``StartButton``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1067
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1072
|
||||
msgid "Connecting HUD to Main"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1069
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1074
|
||||
msgid "Now that we're done creating the ``HUD`` scene, save it and go back to ``Main``. Instance the ``HUD`` scene in ``Main`` like you did the ``Player`` scene, and place it at the bottom of the tree. The full tree should look like this, so make sure you didn't miss anything:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1076
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1081
|
||||
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:1079
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1084
|
||||
msgid "In the Node tab, connect the HUD's ``start_game`` signal to the ``new_game()`` function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1082
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1087
|
||||
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:1097
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1102
|
||||
msgid "In ``game_over()`` we need to call the corresponding ``HUD`` function:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1109
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1113
|
||||
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:1122
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1125
|
||||
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:1126
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1129
|
||||
msgid "Finishing up"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1128
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1131
|
||||
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:1133
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1136
|
||||
msgid "Background"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1135
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1138
|
||||
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 <class_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 drag the size of the ``ColorRect`` so that it covers the screen."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1142
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1145
|
||||
msgid "You can also add a background image, if you have one, by using a ``Sprite`` node."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1146
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1149
|
||||
msgid "Sound effects"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1148
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1151
|
||||
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:1153
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1156
|
||||
msgid "Add two :ref:`AudioStreamPlayer <class_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:1158
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1161
|
||||
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:1161
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1164
|
||||
msgid "Finally, add ``$DeathSound.play()`` in the ``game_over()`` function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1164
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1167
|
||||
msgid "Particles"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1166
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1169
|
||||
msgid "For one last bit of visual appeal, let's add a trail effect to the player's movement. Choose your ``Player`` scene and add a :ref:`Particles2D <class_Particles2D>` node named ``Trail``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1170
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1173
|
||||
msgid "There are a large number of properties to choose from when configuring particles. Feel free to experiment and create different effects. For the effect in this example, use the following settings:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1176
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1179
|
||||
msgid "You also need to create a ``Material`` by clicking on ``<null>`` and then \"New ParticlesMaterial\". The settings for that are below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1181
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1184
|
||||
msgid "To make the gradient for the \"Color Ramp\" setting, we want a gradient taking the alpha (transparency) of the sprite from 0.5 (semi-transparent) to 0.0 (fully transparent)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1185
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1188
|
||||
msgid "Click \"New GradientTexture\", then under \"Gradient\", click \"New Gradient\". You'll see a window like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1190
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1193
|
||||
msgid "The left and right boxes represent the start and end colors. Click on each and then click the large square on the right to choose the color. For the first color, set the ``A`` (alpha) value to around halfway. For the second, set it all the way to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1195
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1198
|
||||
msgid "See :ref:`Particles2D <class_Particles2D>` for more details on using particle effects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1199
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1202
|
||||
msgid "Project files"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1201
|
||||
msgid "You can find a completed version of this project here: https://github.com/kidscancode/Godot3_dodge/releases"
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1205
|
||||
msgid "You can find a completed version of this project at these locations:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1205
|
||||
msgid "https://github.com/kidscancode/Godot3_dodge/releases"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/step_by_step/your_first_game.rst:1206
|
||||
msgid "https://github.com/godotengine/godot-demo-projects"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -49,11 +49,11 @@ msgid "Multiple Actions For Single Object"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:12
|
||||
msgid "In most games, one objects would have several animations to switch between. This addon have a support for exporting multiple actions all at once into a single AnimationPlayer and makes it easy to switch actions."
|
||||
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 of how to use this feature:"
|
||||
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
|
||||
@@ -65,7 +65,7 @@ msgid "**2. Stash the active action**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:25
|
||||
msgid "the stashed action while not action would still be exported"
|
||||
msgid "The stashed action, while not active, will still be exported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:29
|
||||
@@ -73,11 +73,11 @@ msgid "**3. Check stashed actions in 'NLA Editor' [optional]**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:31
|
||||
msgid "Switch workspace to 'NLA Editor'"
|
||||
msgid "Switch workspace to 'NLA Editor'."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:35
|
||||
msgid "Make sure all stashed actions are muted"
|
||||
msgid "Make sure all stashed actions are muted."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:39
|
||||
@@ -85,7 +85,7 @@ msgid "**4. Export the scene**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:41
|
||||
msgid "all the stashed action as well as the active action are exported to the an AnimationPlayer"
|
||||
msgid "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:48
|
||||
@@ -93,7 +93,7 @@ msgid "Constraints"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:49
|
||||
msgid "Sometimes complicated animation is built with object constraint, an usual example is inverse kinematics. The addon would automatically check if an object has some constraint, if it does, all the constraints are baked into every action the object has and then exported."
|
||||
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 every action the object has and then exported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:56
|
||||
@@ -101,7 +101,7 @@ msgid "Animation Mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:57
|
||||
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 addon has three animation exporting modes."
|
||||
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:64
|
||||
@@ -109,7 +109,7 @@ msgid "**Mode 'Animation as Actions'**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:66
|
||||
msgid "Treat all the animation as object actions, so in the exported scene, every object would have its own AnimationPlayer and hold its actions."
|
||||
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:70
|
||||
@@ -117,7 +117,7 @@ msgid "**Mode 'Scene Animation'**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:72
|
||||
msgid "If you want your animation generate same result as playing at Blender's timeline, this is what you want. In this mode, all the animation in the scene are placed in just one AnimationPlayer in the scene root."
|
||||
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:76
|
||||
@@ -125,6 +125,6 @@ msgid "**Mode 'Animation as Action with Squash'**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:78
|
||||
msgid "This mode has very similar behaviour of mode 'Animation as Action', but it can generate less AnimationPlayers, objects in parent-children relation 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."
|
||||
msgid "This mode has very similar behaviour 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 ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -45,6 +45,6 @@ msgid "Build pipeline integration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/index.rst:38
|
||||
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 is present in the Godot-Blender-exporter repository."
|
||||
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 ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -57,11 +57,11 @@ msgid "Export of Blender materials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:38
|
||||
msgid "The other way materials are handled is for the exporter to export them from Blender. Currently only the diffuse color and a few flags (eg unshaded) are exported."
|
||||
msgid "The other way materials are handled is for the exporter to export them from Blender. Currently only the diffuse color and a few flags (e.g. unshaded) are exported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:43
|
||||
msgid "Export of Blender materials is currently very primitive. However, it is the focus of a current GSOC project"
|
||||
msgid "Export of Blender materials is currently very primitive. However, it is the focus of a current GSoC project"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/material.rst:47
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,58 +17,58 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:2
|
||||
msgid "Physics Properties"
|
||||
msgid "Physics properties"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:3
|
||||
msgid "Exporting physics properties is done by enabling \"Rigid Body\" in Blenders physics tab:"
|
||||
#: ../../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:9
|
||||
#: ../../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"
|
||||
msgid "Body type"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:15
|
||||
#: ../../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
|
||||
msgid "Collision Shapes"
|
||||
msgid "Collision shapes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:24
|
||||
#: ../../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:38
|
||||
#: ../../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:32
|
||||
#: ../../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:35
|
||||
#: ../../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:41
|
||||
#: ../../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"
|
||||
msgid "Collision geometry only"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:48
|
||||
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 objects maximum draw type to Wire:"
|
||||
#: ../../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:55
|
||||
#: ../../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 ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -29,7 +29,7 @@ msgid "Armature object in Blender is exported as a Skeleton node along with rest
|
||||
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 would be consistent between Blender and Godot"
|
||||
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:19
|
||||
@@ -37,7 +37,7 @@ msgid "Bone Weights"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:21
|
||||
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, which making the mesh deformed. Therefore, the exporter would raise an error for any no bone weights vertex detected in a rigged mesh."
|
||||
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:27
|
||||
@@ -45,7 +45,7 @@ msgid "Non-Deform Bone"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:29
|
||||
msgid "Note that the non-deform bone can be configured as not exported by enable the :code:`Exclude Control Bones`, the deform bone checkbox is shown in picture."
|
||||
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:35
|
||||
@@ -53,6 +53,6 @@ msgid "Bone Attachment"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/escn_exporter/skeleton.rst:36
|
||||
msgid "Bone can be parent of object in Blender, this relation is exported as a BoneAttachment node in the Godot scene."
|
||||
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 ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -25,11 +25,11 @@ msgid "Importing assets in Godot 3.0+"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/import_process.rst:9
|
||||
msgid "Previously, importing assets in Godot 2.x required manual maintenance of a separate directory with source assets. Without doing this, it was impossible to specify how to convert and change import flags for textures, audios, scenes, etc."
|
||||
msgid "Previously, importing assets in Godot 2.x required manual maintenance of a separate directory with source assets. Without doing this, it was impossible to specify how to convert and change import flags for textures, audio files, scenes, etc."
|
||||
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, audios, 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
|
||||
@@ -45,11 +45,11 @@ msgid "Changing the import parameters of an asset in Godot (again, keep in mind
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/import_process.rst:31
|
||||
msgid "Then, after adjusting the parameters, press \"Reimport\". The parameters used will be only for this asset and will be used on future reimports."
|
||||
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
|
||||
msgid "Changing 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."
|
||||
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
|
||||
@@ -73,7 +73,7 @@ msgid "Additionally, extra assets will be preset in the hidden res://.import fol
|
||||
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 save time on reimporting time when checking out in another computer, but it takes considerably more space and transfer time. Pick your poison!"
|
||||
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:64
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,7 +21,7 @@ msgid "Importing audio samples"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:7
|
||||
msgid "Why importing?"
|
||||
msgid "Why import?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:9
|
||||
@@ -29,7 +29,7 @@ msgid "Raw audio data in general is large and undesired. Godot provides two main
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:12
|
||||
msgid "Each has different advantages. * Wav files use raw data or light compression, require small amount of CPU to play back (hundreds of simultaneous voices in this format are fine), but take up significant space. * Ogg Vorbis files use a stronger compression that results in much smaller file size, but uses significantly more processor to play back."
|
||||
msgid "Each has different advantages. * Wav files use raw data or light compression, make few demands on the CPU to play back (hundreds of simultaneous voices in this format are fine), but take up significant space. * Ogg Vorbis files use a stronger compression that results in much smaller file size, but require significantly more processing power to play back."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:19
|
||||
@@ -93,7 +93,7 @@ msgid "Best Practices"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:40
|
||||
msgid "Godot 3+ has an amazing bus system with built in effects. This saves SFX artists the need to add reverb to the sound effects, reducing their size greatly and ensuring correct trimming. Say no to SFX with baked reverb!"
|
||||
msgid "Godot 3+ has an amazing bus system with built-in effects. This saves SFX artists the need to add reverb to the sound effects, reducing their size greatly and ensuring correct trimming. Say no to SFX with baked reverb!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:47
|
||||
@@ -105,7 +105,7 @@ msgid "Trimming"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:52
|
||||
msgid "One issue that happens often is that the waveform are exported with long silences at the beginning and at the end. These are inserted by DAWs when saving to a waveform, increase their size unnecessarily and add latency to the moment they are played back."
|
||||
msgid "One issue that happens often is that the waveform is exported with long silences at the beginning and at the end. These are inserted by DAWs when saving to a waveform, increase their size unnecessarily and add latency to the moment they are played back."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:57
|
||||
@@ -117,7 +117,7 @@ msgid "Looping"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:63
|
||||
msgid "Godot supports looping in the samples (Tools such as Sound Forge or Audition can add loop points to wav files). This is useful for sound effects such as engines, machine guns, etc. Ping-pong looping is also supported."
|
||||
msgid "Godot supports looping in the samples (Tools such as Sound Forge or Audition can add loop points to wav files). This is useful for sound effects, such as engines, machine guns etc. Ping-pong looping is also supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_audio_samples.rst:68
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,7 +21,7 @@ msgid "Importing images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:7
|
||||
msgid "Why importing them?"
|
||||
msgid "Why import them?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:9
|
||||
@@ -187,11 +187,11 @@ msgid "HDR Mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:72
|
||||
msgid "Godot supports high dynamic range textures (as .HDR or .EXR). These are mostly useful as high dynamic range equirectancular panorama skys (the internet has plenty of if you look for them), which replace Cubemaps in Godot 2.x. Modern PCs support the BC6H VRAM format, but there are still plenty that do not."
|
||||
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:75
|
||||
msgid "If you want Godot to ensure full compatibility in for kind of textures, enable the \"Force RGBE\" option."
|
||||
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:78
|
||||
@@ -199,7 +199,7 @@ msgid "Normal Map"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:80
|
||||
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."
|
||||
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:86
|
||||
@@ -227,7 +227,7 @@ msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:100
|
||||
msgid "When pixels become larger than the screen pixels, this options enable 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."
|
||||
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:103
|
||||
@@ -251,7 +251,7 @@ msgid "Keep in mind the above when making phone games and applications, want to
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:113
|
||||
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)."
|
||||
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:116
|
||||
@@ -259,7 +259,7 @@ msgid "Anisotropic"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:118
|
||||
msgid "When textures are near parallel to the view (like floors), this option makes them have more detail by reducing blurryness."
|
||||
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:121
|
||||
@@ -283,7 +283,7 @@ msgid "Fix Alpha Border"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:134
|
||||
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 likes."
|
||||
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:139
|
||||
@@ -299,11 +299,11 @@ msgid "An alternative to fix darkened borders is to use premultiplied alpha. By
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:148
|
||||
msgid "HDR as SRGB"
|
||||
msgid "HDR as sRGB"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:150
|
||||
msgid "Some few HDR files are broken and contain SRGB color data. It is advised to not use them but, in the worst case, toggling this option on will make them look right."
|
||||
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:153
|
||||
@@ -311,7 +311,7 @@ msgid "Invert Color"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_images.rst:155
|
||||
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`."
|
||||
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:158
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -37,7 +37,7 @@ msgid "Godot supports the following 3D *scene file fomats*:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:16
|
||||
msgid "DAE (Collada), which is currently the most mature workflow."
|
||||
msgid "DAE (COLLADA), which is currently the most mature workflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:17
|
||||
@@ -57,7 +57,7 @@ msgid "Why not FBX?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:25
|
||||
msgid "Most game engines use the FBX format for importing 3D scenes, which is definitely one of the most standardized in the industry. However, this format requires the use of a closed library from Autodesk which is distributed with a more restrictive licensing terms than Godot."
|
||||
msgid "Most game engines use the FBX format for importing 3D scenes, which is definitely one of the most standardized in the industry. However, this format requires the use of a closed library from Autodesk, which is distributed with more restrictive licensing terms than Godot."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:30
|
||||
@@ -69,7 +69,7 @@ msgid "Exporting DAE files from Maya and 3DS Max"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:35
|
||||
msgid "Autodesk added built-in collada support to Maya and 3DS Max, but it's broken by default and should not be used. The best way to export this format is by using the `OpenCollada <https://github.com/KhronosGroup/OpenCOLLADA/wiki/OpenCOLLADA-Tools>`__ plugins. They work well, although they are not always up-to date with the latest version of the software."
|
||||
msgid "Autodesk added built-in COLLADA support to Maya and 3DS Max, but it's broken by default and should not be used. The best way to export this format is by using the `OpenCollada <https://github.com/KhronosGroup/OpenCOLLADA/wiki/OpenCOLLADA-Tools>`__ plugins. They work well, although they are not always up-to date with the latest version of the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:43
|
||||
@@ -77,7 +77,7 @@ msgid "Exporting DAE files from Blender"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:45
|
||||
msgid "Blender has built-in collada support too, but it's also broken and should not be used."
|
||||
msgid "Blender has built-in COLLADA support too, but it's also broken and should not be used."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:48
|
||||
@@ -89,11 +89,11 @@ msgid "Exporting ESCN files from Blender"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:55
|
||||
msgid "The most powerful one, called `godot-blender-exporter <https://github.com/godotengine/godot-blender-exporter>`__. It uses .escn files which is kind of another name of .tscn file(Godot scene file), it keeps as much information as possible from a Blender scene."
|
||||
msgid "The most powerful one, called `godot-blender-exporter <https://github.com/godotengine/godot-blender-exporter>`__. It uses a .escn file, which is kind of another name for a .tscn file (Godot scene file); it keeps as much information as possible from a Blender scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:60
|
||||
msgid "ESCN exporter has a detailed `document <escn_exporter/index.html>`__ describing its functionality and usage."
|
||||
msgid "The ESCN exporter has a detailed `document <escn_exporter/index.html>`__ describing its functionality and usage."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:64
|
||||
@@ -117,7 +117,7 @@ msgid "External animations: Allowing saved animations to be modified and merged
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:72
|
||||
msgid "External scenes: Save the root nodes of the imported scenes each as a separate scene."
|
||||
msgid "External scenes: Save each of the root nodes of the imported scenes as a separate scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:73
|
||||
@@ -165,11 +165,11 @@ msgid "A special script to process the whole scene after import can be provided.
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:106
|
||||
msgid "Create a script that like this:"
|
||||
msgid "Create a script like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:117
|
||||
msgid "The post-import function takes the imported scene as argument (the parameter is actually the root node of the scene). The scene that will finally be used must be returned. It can be a different one."
|
||||
msgid "The ``post_import`` function takes the imported scene as argument (the parameter is actually the root node of the scene). The scene that will finally be used must be returned. It can be a different one."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:122
|
||||
@@ -184,7 +184,7 @@ msgid "By default, Godot imports a single scene. This option allows specifying t
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:128
|
||||
msgid "Of course, instancing such imported scenes in other places manually works too."
|
||||
msgid "Of course, instancing such imported scenes in other places manually works, too."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:132
|
||||
@@ -216,75 +216,75 @@ msgid "Once materials are edited to use Godot features, the importer will keep t
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:158
|
||||
msgid "Meshes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:161
|
||||
msgid "Compress"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:160
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:163
|
||||
msgid "Makes meshes use less precise numbers for multiple aspects of the mesh in order to save space."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:173
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:176
|
||||
msgid "These are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:164
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:167
|
||||
msgid "Transform Matrix (Location, rotation, and scale) : 32-bit float to 16-bit signed integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:165
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:168
|
||||
msgid "Vertices : 32-bit float to 16-bit signed integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:166
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:169
|
||||
msgid "Normals : 32-bit float to 32-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:167
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:170
|
||||
msgid "Tangents : 32-bit float to 32-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:168
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:171
|
||||
msgid "Vertex Colors : 32-bit float to 32-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:169
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:172
|
||||
msgid "UV : 32-bit float to 32-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:170
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:173
|
||||
msgid "UV2 : 32-bit float to 32-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:171
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:174
|
||||
msgid "Vertex weights : 32-bit float to 16-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:172
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:175
|
||||
msgid "Armature bones : 32-bit float to 16-bit unsigned integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:173
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:176
|
||||
msgid "Array index : 32-bit or 16-bit unsigned integer based on how many elements there are."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:177
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:180
|
||||
msgid "Additional info:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:176
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:179
|
||||
msgid "UV2 = The second UV channel for detail textures and baked lightmap textures."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:177
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:180
|
||||
msgid "Array index = An array of numbers that number each element of the arrays above; i.e. they number the vertices and normals."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:179
|
||||
msgid "In some cases, this might lead to loss of precision so disabling this option may be needed. For instance, if a mesh is very big or there are multiple meshes being imported that cover a large area, compressing the import of this mesh(s) may lead to gaps in geometry or vertices not being exactly where they should be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:185
|
||||
msgid "Meshes"
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:182
|
||||
msgid "In some cases, this might lead to loss of precision, so disabling this option may be needed. For instance, if a mesh is very big or there are multiple meshes being imported that cover a large area, compressing the import of this mesh(es) may lead to gaps in geometry or vertices not being exactly where they should be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:188
|
||||
@@ -292,7 +292,7 @@ msgid "Ensure Tangents"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:190
|
||||
msgid "If textures with normalmapping are to be used, meshes need to have tangent arrays. This option ensures that these are generated if not present in the source scene. Godot uses Mikktspace for this, but it's always better to have them generated in the exporter."
|
||||
msgid "If textures with normal mapping are to be used, meshes need to have tangent arrays. This option ensures that these are generated if not present in the source scene. Godot uses Mikktspace for this, but it's always better to have them generated in the exporter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:198
|
||||
@@ -316,7 +316,7 @@ msgid "Animation Options"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:213
|
||||
msgid "Godot provides many options regarding how animation data is dealt with. Some exporters (such as Blender), can generate many animations in a single file. Others, such as 3DS Max or Maya, need many animations put into the same timeline or, at worst, put each animation in a separate file."
|
||||
msgid "Godot provides many options regarding how animation data is dealt with. Some exporters (such as Blender) can generate many animations in a single file. Others, such as 3DS Max or Maya, need many animations put into the same timeline or, at worst, put each animation in a separate file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:220
|
||||
@@ -328,7 +328,7 @@ msgid "FPS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:225
|
||||
msgid "Most 3D export formats store animation timeline in seconds instead of frames. To ensure animations are imported as faithfully as possible, please specify the frames per second used to edit them. Failing to do this may result in minimal jitter."
|
||||
msgid "Most 3D export formats store animation timeline in seconds instead of frames. To ensure animations are imported as faithfully as possible, please specify the frames per second used to edit them. Failing to do this may result in shaky animations."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:230
|
||||
@@ -348,7 +348,7 @@ msgid "Optimizer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:245
|
||||
msgid "When animations are imported, an optimizer is run which reduces the size of the animation considerably. In general, this should always be turned on unless you suspect that an animation might be broken due to it being enabled."
|
||||
msgid "When animations are imported, an optimizer is run, which reduces the size of the animation considerably. In general, this should always be turned on unless you suspect that an animation might be broken due to it being enabled."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:249
|
||||
@@ -364,11 +364,11 @@ msgid "Scene inheritance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:257
|
||||
msgid "In many cases, it may be desired to do modifications to the imported scene. By default, this is not possible because if the source asset changes (source .dae,.gltf,.obj file re-exported from 3D modelling app), Godot will re-import the whole scene."
|
||||
msgid "In many cases, it may be desired to make modifications to the imported scene. By default, this is not possible because if the source asset changes (source .dae, .gltf, .obj file re-exported from 3D modelling app), Godot will re-import the whole scene."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:260
|
||||
msgid "It is possible, however, to do local modifications by using *Scene Inheritance*. Try to open the imported scene and the following dialog will appear:"
|
||||
msgid "It is possible, however, to make local modifications by using *Scene Inheritance*. Try to open the imported scene and the following dialog will appear:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:265
|
||||
@@ -396,7 +396,7 @@ msgid "Many times, when editing a scene, there are common tasks that need to be
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:277
|
||||
msgid "Adding collision detection to objects:"
|
||||
msgid "Adding collision detection to objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:278
|
||||
@@ -436,31 +436,31 @@ msgid "To solve this, the \"-colonly\" modifier exists, which will remove the me
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:304
|
||||
msgid "Option \"-convcolonly\" will create :ref:`class_convexpolygonshape` instead of :ref:`class_concavepolygonshape`."
|
||||
msgid "Option \"-convcolonly\" will create a :ref:`class_convexpolygonshape` instead of a :ref:`class_concavepolygonshape`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:306
|
||||
msgid "Option \"-colonly\" can be also used with Blender's empty objects. On import it will create a :ref:`class_staticbody` with collision node as a child. Collision node will have one of predefined shapes, depending on the Blender's empty draw type:"
|
||||
msgid "Option \"-colonly\" can also be used with Blender's empty objects. On import, it will create a :ref:`class_staticbody` with a collision node as a child. The collision node will have one of a number of predefined shapes, depending on Blender's empty draw type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:313
|
||||
msgid "Single arrow will create :ref:`class_rayshape`"
|
||||
msgid "Single arrow will create a :ref:`class_rayshape`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:314
|
||||
msgid "Cube will create :ref:`class_boxshape`"
|
||||
msgid "Cube will create a :ref:`class_boxshape`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:315
|
||||
msgid "Image will create :ref:`class_planeshape`"
|
||||
msgid "Image will create a :ref:`class_planeshape`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:316
|
||||
msgid "Sphere (and other non-listed) will create :ref:`class_sphereshape`"
|
||||
msgid "Sphere (and the others not listed) will create a :ref:`class_sphereshape`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:318
|
||||
msgid "For better visibility in Blender's editor user can set \"X-Ray\" option on collision empties and set some distinct color for them in User Preferences / Themes / 3D View / Empty."
|
||||
msgid "For better visibility in Blender's editor, the user can set \"X-Ray\" option on collision empties and set some distinct color for them in User Preferences / Themes / 3D View / Empty."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:322
|
||||
@@ -479,3 +479,15 @@ msgstr ""
|
||||
msgid "Creates a rigid body from this mesh."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:333
|
||||
msgid "Animation loop (-loop, -cycle)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:335
|
||||
msgid "Animation clips in the COLLADA document that start or end with the token \"loop\" or \"cycle\" will be imported as a Godot Animation with the loop flag set. This is case-sensitive and does not require a hyphen."
|
||||
msgstr ""
|
||||
|
||||
#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:339
|
||||
msgid "In Blender, this requires using the NLA Editor and naming the Action with the \"loop\" or \"cycle\" prefix or suffix."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Godot Engine latest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-04 23:31+0100\n"
|
||||
"POT-Creation-Date: 2018-12-13 12:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user