Add localized class reference as pre-generated RST files

Currently including `zh_CN` and `es` which both have very high completion
ratios. Others will be added once they reach a significant percentage too.

These RST files will be used by godot-docs in place of its `classes` folder
after we sync with https://github.com/godotengine/godot-docs/pull/5458.

The update workflow is manual for now (example for `zh_CN`):

- Build `godotengine/godot` in the branch we currently track (now `3.x`)
- Run `godot --doctool -l zh_CN`
- Run `cd doc && make rst LANGARG=zh_CN`
- Copy `doc/_build/rst/*` to `classes/zh_CN/` here
- Make sure to have `classes/zh_CN/index.rst` copied from `docs/classes`
This commit is contained in:
Rémi Verschelde
2021-12-21 16:01:30 +01:00
parent cfef0be973
commit cf78697eea
1369 changed files with 300272 additions and 0 deletions

View File

@@ -0,0 +1,251 @@
:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Dictionary.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Dictionary:
Dictionary
==========
Tipo diccionario.
Descripción
----------------------
Tipo de diccionario. Contenedor asociativo que contiene valores referenciados por claves únicas. Los diccionarios se componen de pares de claves (que deben ser únicas) y valores. Los diccionarios conservarán el orden de inserción al agregar elementos, aunque esto puede no reflejarse al imprimir el diccionario. En otros lenguajes de programación, esta estructura de datos a veces se denomina mapa hash o matriz asociativa.
Puede definir un diccionario colocando una lista separada por comas de pares ``clave: valor`` entre llaves ``{}``.
Borrar elementos mientras se itera sobre ellos **no es compatible** y resultará en un comportamiento indefinido.
\ **Nota:** Los diccionarios siempre se pasan por referencia. Para obtener una copia de un diccionario que se pueda modificar independientemente del diccionario original, utilice :ref:`duplicate<class_Dictionary_method_duplicate>`.
Crear un diccionario:
::
var my_dir = {} # Crea un diccionario vacío.
var puntos_dict = {"Blanco": 50, "Amarillo": 75, "Naranja": 100}
var otro_dict = {
key1: value1,
key2: value2,
key3: value3,
}
Puede acceder a los valores de un diccionario haciendo referencia a la clave adecuada. En el ejemplo anterior, ``puntos_dict["Blanco"]`` devolverá ``50``. También puede escribir ``puntos_dict.Blanco``, que es equivalente. Sin embargo, tendrá que usar la sintaxis de corchetes si la clave con la que accede al diccionario no es una cadena fija (como un número o una variable).
::
export (String, "Blanco", "Amarillo", "Naranja") var my_color
var puntos_dict = {"Blanco": 50, "Amarillo": 75, "Naranja": 100}
func _ready():
# No podemos usar la sintaxis de puntos aquí ya que `my_color` es una variable.
var puntos = puntos_dict[my_color]
En el código anterior, a los ``puntos`` se les asignará el valor que se empareja con el color apropiado seleccionado en ``my_color``.
Los diccionarios pueden contener datos más complejos:
::
my_dict = {"First Array": [1, 2, 3, 4]} # Asigna una matriz a una clave de cadena.
Para agregar una clave a un diccionario existente, acceda a él como una clave existente y asígnele:
::
var puntos_dict = {"Blanco": 50, "Amarillo": 75, "Naranja": 100}
puntos_dict["Blue"] = 150 # Agrega "Blue" como clave y asigna 150 como su valor.
Finalmente, los diccionarios pueden contener diferentes tipos de claves y valores en el mismo diccionario:
::
# Este es un diccionario válido.
# Para acceder a la cadena "Valor anidado" a continuación, use `my_dict.sub_dir.sub_key` o `my_dict["sub_dir"]["sub_key"]`.
# Los estilos de indexación se pueden mezclar y combinar según sus necesidades.
var my_dict = {
"Clave de cadena": 5,
4: [1, 2, 3],
7: "Hola",
"sub_dict": {"sub_key": "Valor anidado"},
}
\ **Nota:** A diferencia de los :ref:`Array<class_Array>`, no puede comparar diccionarios directamente:
::
array1 = [1, 2, 3]
array2 = [1, 2, 3]
func compare_arrays():
print(array1 == array2) # Imprimirá verdadero.
dict1 = {"a": 1, "b": 2, "c": 3}
dict2 = {"a": 1, "b": 2, "c": 3}
func compare_dictionaries():
print(dict1 == dict2) # NO imprimirá verdadero.
Primero debes calcular el hash del diccionario con :ref:`hash<class_Dictionary_method_hash>` antes de poder compararlos:
::
dict1 = {"a": 1, "b": 2, "c": 3}
dict2 = {"a": 1, "b": 2, "c": 3}
func compare_dictionaries():
print(dict1.hash() == dict2.hash()) # Se imprimirá verdadero.
Tutoriales
--------------------
- `GDScript basics: Dictionary <../tutorials/scripting/gdscript/gdscript_basics.html#dictionary>`__
- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
- `OS Test Demo <https://godotengine.org/asset-library/asset/677>`__
Métodos
--------------
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear<class_Dictionary_method_clear>` **(** **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`duplicate<class_Dictionary_method_duplicate>` **(** :ref:`bool<class_bool>` deep=false **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`empty<class_Dictionary_method_empty>` **(** **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`erase<class_Dictionary_method_erase>` **(** :ref:`Variant<class_Variant>` key **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get<class_Dictionary_method_get>` **(** :ref:`Variant<class_Variant>` key, :ref:`Variant<class_Variant>` default=null **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has<class_Dictionary_method_has>` **(** :ref:`Variant<class_Variant>` key **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_all<class_Dictionary_method_has_all>` **(** :ref:`Array<class_Array>` keys **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`hash<class_Dictionary_method_hash>` **(** **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`keys<class_Dictionary_method_keys>` **(** **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`size<class_Dictionary_method_size>` **(** **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`values<class_Dictionary_method_values>` **(** **)** |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
Descripciones de Métodos
------------------------------------------------
.. _class_Dictionary_method_clear:
- void **clear** **(** **)**
Limpia el diccionario, eliminando todos los pares clave/valor.
----
.. _class_Dictionary_method_duplicate:
- :ref:`Dictionary<class_Dictionary>` **duplicate** **(** :ref:`bool<class_bool>` deep=false **)**
Crea una copia del diccionario y la devuelve. El parámetro ``deep`` hace que los diccionarios y arrays internos se copien de forma recursiva, pero no se aplica a los objetos.
----
.. _class_Dictionary_method_empty:
- :ref:`bool<class_bool>` **empty** **(** **)**
Devuelve ``true`` si el diccionario está vacío.
----
.. _class_Dictionary_method_erase:
- :ref:`bool<class_bool>` **erase** **(** :ref:`Variant<class_Variant>` key **)**
Erase a dictionary key/value pair by key. Returns ``true`` if the given key was present in the dictionary, ``false`` otherwise.
\ **Note:** Don't erase elements while iterating over the dictionary. You can iterate over the :ref:`keys<class_Dictionary_method_keys>` array instead.
----
.. _class_Dictionary_method_get:
- :ref:`Variant<class_Variant>` **get** **(** :ref:`Variant<class_Variant>` key, :ref:`Variant<class_Variant>` default=null **)**
Devuelve el valor actual de la clave especificada en el ``Dictionary``. Si la clave no existe, el método devuelve el valor del argumento opcional por defecto, o ``null`` si se omite.
----
.. _class_Dictionary_method_has:
- :ref:`bool<class_bool>` **has** **(** :ref:`Variant<class_Variant>` key **)**
Devuelve ``true`` si el diccionario tiene una clave determinada.
\ **Nota:** Esto equivale a utilizar el operador ``en`` de la siguiente manera:
::
# Evaluará a "true".
if "godot" en {"godot": "motor":}
pass
Este método (como el operador ``in``) evaluará a ``true`` mientras exista la clave, incluso si el valor asociado es ``null``.
----
.. _class_Dictionary_method_has_all:
- :ref:`bool<class_bool>` **has_all** **(** :ref:`Array<class_Array>` keys **)**
Returns ``true`` if the dictionary has all the keys in the given array.
----
.. _class_Dictionary_method_hash:
- :ref:`int<class_int>` **hash** **(** **)**
Devuelve un valor entero hash que representa el contenido del diccionario. Esto puede ser usado para comparar los diccionarios por su valor:
::
var diccionario1 = {0: 10}
var diccionario2 = {0: 10}
# La línea de abajo imprime "true", mientras que habría impreso "false" si ambas variables se compararan directamente.
print(dict1.hash() == dict2.hash())
\ **Nota:** Los diccionarios con las mismas claves/valores pero en un orden diferente tendrán un hash diferente.
----
.. _class_Dictionary_method_keys:
- :ref:`Array<class_Array>` **keys** **(** **)**
Devuelve la lista de claves en el ``Dictionary``.
----
.. _class_Dictionary_method_size:
- :ref:`int<class_int>` **size** **(** **)**
Returns the number of keys in the dictionary.
----
.. _class_Dictionary_method_values:
- :ref:`Array<class_Array>` **values** **(** **)**
Devuelve la lista de valores del ``Dictionary``.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`