diff --git a/.gitattributes b/.gitattributes
old mode 100755
new mode 100644
diff --git a/.gitignore b/.gitignore
old mode 100755
new mode 100644
index cf8b0a064..b17ccd739
--- a/.gitignore
+++ b/.gitignore
@@ -2,14 +2,17 @@
Audio/
Fonts/
Graphics/
+Tools/
.import/
.vscode/
bin/
Maps/TiledMaps/
.directory
+*.rb
*.apk
*.exe
*.x86_64
+*.pck
export_presets.cfg
*.keystore
PermittedAssets/UraniumIcon.png
@@ -18,3 +21,4 @@ Utilities/Save/*.tres
Pokémon Uranium.nro
Pokémon Uranium.pck
SetUpComplete.txt
+.godot/
diff --git a/.mono/assemblies/Debug/GodotSharp.dll b/.mono/assemblies/Debug/GodotSharp.dll
deleted file mode 100755
index 4501b1168..000000000
Binary files a/.mono/assemblies/Debug/GodotSharp.dll and /dev/null differ
diff --git a/.mono/assemblies/Debug/GodotSharp.pdb b/.mono/assemblies/Debug/GodotSharp.pdb
deleted file mode 100755
index 88972dcb2..000000000
Binary files a/.mono/assemblies/Debug/GodotSharp.pdb and /dev/null differ
diff --git a/.mono/assemblies/Debug/GodotSharp.xml b/.mono/assemblies/Debug/GodotSharp.xml
deleted file mode 100755
index 1a820e7ee..000000000
--- a/.mono/assemblies/Debug/GodotSharp.xml
+++ /dev/null
@@ -1,48779 +0,0 @@
-
-
-
- GodotSharp
-
-
-
-
- Axis-Aligned Bounding Box. AABB consists of a position, a size, and
- several utility functions. It is typically used for fast overlap tests.
-
-
-
-
- Beginning corner. Typically has values lower than End.
-
- Directly uses a private field.
-
-
-
- Size from Position to End. Typically all components are positive.
- If the size is negative, you can use to fix it.
-
- Directly uses a private field.
-
-
-
- Ending corner. This is calculated as plus
- . Setting this value will change the size.
-
- Getting is equivalent to `value = Position + Size`, setting is equivalent to `Size = value - Position`.
-
-
-
- Returns an AABB with equivalent position and size, modified so that
- the most-negative corner is the origin and the size is positive.
-
- The modified AABB.
-
-
-
- Returns true if this AABB completely encloses another one.
-
- The other AABB that may be enclosed.
- A bool for whether or not this AABB encloses `b`.
-
-
-
- Returns this AABB expanded to include a given point.
-
- The point to include.
- The expanded AABB.
-
-
-
- Returns the area of the AABB.
-
- The area.
-
-
-
- Gets the position of one of the 8 endpoints of the AABB.
-
- Which endpoint to get.
- An endpoint of the AABB.
-
-
-
- Returns the normalized longest axis of the AABB.
-
- A vector representing the normalized longest axis of the AABB.
-
-
-
- Returns the index of the longest axis of the AABB.
-
- A index for which axis is longest.
-
-
-
- Returns the scalar length of the longest axis of the AABB.
-
- The scalar length of the longest axis of the AABB.
-
-
-
- Returns the normalized shortest axis of the AABB.
-
- A vector representing the normalized shortest axis of the AABB.
-
-
-
- Returns the index of the shortest axis of the AABB.
-
- A index for which axis is shortest.
-
-
-
- Returns the scalar length of the shortest axis of the AABB.
-
- The scalar length of the shortest axis of the AABB.
-
-
-
- Returns the support point in a given direction.
- This is useful for collision detection algorithms.
-
- The direction to find support for.
- A vector representing the support.
-
-
-
- Returns a copy of the AABB grown a given amount of units towards all the sides.
-
- The amount to grow by.
- The grown AABB.
-
-
-
- Returns true if the AABB is flat or empty, or false otherwise.
-
- A bool for whether or not the AABB has area.
-
-
-
- Returns true if the AABB has no surface (no size), or false otherwise.
-
- A bool for whether or not the AABB has area.
-
-
-
- Returns true if the AABB contains a point, or false otherwise.
-
- The point to check.
- A bool for whether or not the AABB contains `point`.
-
-
-
- Returns the intersection of this AABB and `b`.
-
- The other AABB.
- The clipped AABB.
-
-
-
- Returns true if the AABB overlaps with `b`
- (i.e. they have at least one point in common).
-
- If `includeBorders` is true, they will also be considered overlapping
- if their borders touch, even without intersection.
-
- The other AABB to check for intersections with.
- Whether or not to consider borders.
- A bool for whether or not they are intersecting.
-
-
-
- Returns true if the AABB is on both sides of `plane`.
-
- The plane to check for intersection.
- A bool for whether or not the AABB intersects the plane.
-
-
-
- Returns true if the AABB intersects the line segment between `from` and `to`.
-
- The start of the line segment.
- The end of the line segment.
- A bool for whether or not the AABB intersects the line segment.
-
-
-
- Returns a larger AABB that contains this AABB and `b`.
-
- The other AABB.
- The merged AABB.
-
-
-
- Constructs an AABB from a position and size.
-
- The position.
- The size, typically positive.
-
-
-
- Constructs an AABB from a position, width, height, and depth.
-
- The position.
- The width, typically positive.
- The height, typically positive.
- The depth, typically positive.
-
-
-
- Constructs an AABB from x, y, z, and size.
-
- The position's X coordinate.
- The position's Y coordinate.
- The position's Z coordinate.
- The size, typically positive.
-
-
-
- Constructs an AABB from x, y, z, width, height, and depth.
-
- The position's X coordinate.
- The position's Y coordinate.
- The position's Z coordinate.
- The width, typically positive.
- The height, typically positive.
- The depth, typically positive.
-
-
-
- Returns true if this AABB and `other` are approximately equal, by running
- on each component.
-
- The other AABB to compare.
- Whether or not the AABBs are approximately equal.
-
-
-
- 3×3 matrix used for 3D rotation and scale.
- Almost always used as an orthogonal basis for a Transform.
-
- Contains 3 vector fields X, Y and Z as its columns, which are typically
- interpreted as the local basis vectors of a 3D transformation. For such use,
- it is composed of a scaling and a rotation matrix, in that order (M = R.S).
-
- Can also be accessed as array of 3D vectors. These vectors are normally
- orthogonal to each other, but are not necessarily normalized (due to scaling).
-
- For more information, read this documentation article:
- https://docs.godotengine.org/en/latest/tutorials/math/matrices_and_transforms.html
-
-
-
-
- The basis matrix's X vector (column 0).
-
- Equivalent to and array index `[0]`.
-
-
-
- The basis matrix's Y vector (column 1).
-
- Equivalent to and array index `[1]`.
-
-
-
- The basis matrix's Z vector (column 2).
-
- Equivalent to and array index `[2]`.
-
-
-
- Row 0 of the basis matrix. Shows which vectors contribute
- to the X direction. Rows are not very useful for user code,
- but are more efficient for some internal calculations.
-
-
-
-
- Row 1 of the basis matrix. Shows which vectors contribute
- to the Y direction. Rows are not very useful for user code,
- but are more efficient for some internal calculations.
-
-
-
-
- Row 2 of the basis matrix. Shows which vectors contribute
- to the Z direction. Rows are not very useful for user code,
- but are more efficient for some internal calculations.
-
-
-
-
- Column 0 of the basis matrix (the X vector).
-
- Equivalent to and array index `[0]`.
-
-
-
- Column 1 of the basis matrix (the Y vector).
-
- Equivalent to and array index `[1]`.
-
-
-
- Column 2 of the basis matrix (the Z vector).
-
- Equivalent to and array index `[2]`.
-
-
-
- The scale of this basis.
-
- Equivalent to the lengths of each column vector, but negative if the determinant is negative.
-
-
-
- Access whole columns in the form of Vector3.
-
- Which column vector.
-
-
-
- Access matrix elements in column-major order.
-
- Which column, the matrix horizontal position.
- Which row, the matrix vertical position.
-
-
-
- Returns the determinant of the basis matrix. If the basis is
- uniformly scaled, its determinant is the square of the scale.
-
- A negative determinant means the basis has a negative scale.
- A zero determinant means the basis isn't invertible,
- and is usually considered invalid.
-
- The determinant of the basis matrix.
-
-
-
- Returns the basis's rotation in the form of Euler angles
- (in the YXZ convention: when *decomposing*, first Z, then X, and Y last).
- The returned vector contains the rotation angles in
- the format (X angle, Y angle, Z angle).
-
- Consider using the method instead, which
- returns a quaternion instead of Euler angles.
-
- A Vector3 representing the basis rotation in Euler angles.
-
-
-
- Get rows by index. Rows are not very useful for user code,
- but are more efficient for some internal calculations.
-
- Which row.
- One of `Row0`, `Row1`, or `Row2`.
-
-
-
- Sets rows by index. Rows are not very useful for user code,
- but are more efficient for some internal calculations.
-
- Which row.
- The vector to set the row to.
-
-
-
- Deprecated, please use the array operator instead.
-
- Which column.
- One of `Column0`, `Column1`, or `Column2`.
-
-
-
- Deprecated, please use the array operator instead.
-
- Which column.
- The vector to set the column to.
-
-
-
- Deprecated, please use the array operator instead.
-
- Which column.
- One of `Column0`, `Column1`, or `Column2`.
-
-
-
- This function considers a discretization of rotations into
- 24 points on unit sphere, lying along the vectors (x, y, z) with
- each component being either -1, 0, or 1, and returns the index
- of the point best representing the orientation of the object.
- It is mainly used by the editor.
-
- For further details, refer to the Godot source code.
-
- The orthogonal index.
-
-
-
- Returns the inverse of the matrix.
-
- The inverse matrix.
-
-
-
- Returns the orthonormalized version of the basis matrix (useful to
- call occasionally to avoid rounding errors for orthogonal matrices).
- This performs a Gram-Schmidt orthonormalization on the basis of the matrix.
-
- An orthonormalized basis matrix.
-
-
-
- Introduce an additional rotation around the given `axis`
- by `phi` (in radians). The axis must be a normalized vector.
-
- The axis to rotate around. Must be normalized.
- The angle to rotate, in radians.
- The rotated basis matrix.
-
-
-
- Introduce an additional scaling specified by the given 3D scaling factor.
-
- The scale to introduce.
- The scaled basis matrix.
-
-
-
- Assuming that the matrix is a proper rotation matrix, slerp performs
- a spherical-linear interpolation with another rotation matrix.
-
- The destination basis for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting basis matrix of the interpolation.
-
-
-
- Transposed dot product with the X axis of the matrix.
-
- A vector to calculate the dot product with.
- The resulting dot product.
-
-
-
- Transposed dot product with the Y axis of the matrix.
-
- A vector to calculate the dot product with.
- The resulting dot product.
-
-
-
- Transposed dot product with the Z axis of the matrix.
-
- A vector to calculate the dot product with.
- The resulting dot product.
-
-
-
- Returns the transposed version of the basis matrix.
-
- The transposed basis matrix.
-
-
-
- Returns a vector transformed (multiplied) by the basis matrix.
-
- A vector to transform.
- The transformed vector.
-
-
-
- Returns a vector transformed (multiplied) by the transposed basis matrix.
-
- Note: This results in a multiplication by the inverse of the
- basis matrix only if it represents a rotation-reflection.
-
- A vector to inversely transform.
- The inversely transformed vector.
-
-
-
- Returns the basis's rotation in the form of a quaternion.
- See if you need Euler angles, but keep in
- mind that quaternions should generally be preferred to Euler angles.
-
- A representing the basis's rotation.
-
-
-
- The identity basis, with no rotation or scaling applied.
- This is used as a replacement for `Basis()` in GDScript.
- Do not use `new Basis()` with no arguments in C#, because it sets all values to zero.
-
- Equivalent to `new Basis(Vector3.Right, Vector3.Up, Vector3.Back)`.
-
-
-
- The basis that will flip something along the X axis when used in a transformation.
-
- Equivalent to `new Basis(Vector3.Left, Vector3.Up, Vector3.Back)`.
-
-
-
- The basis that will flip something along the Y axis when used in a transformation.
-
- Equivalent to `new Basis(Vector3.Right, Vector3.Down, Vector3.Back)`.
-
-
-
- The basis that will flip something along the Z axis when used in a transformation.
-
- Equivalent to `new Basis(Vector3.Right, Vector3.Up, Vector3.Forward)`.
-
-
-
- Constructs a pure rotation basis matrix from the given quaternion.
-
- The quaternion to create the basis from.
-
-
-
- Constructs a pure rotation basis matrix from the given Euler angles
- (in the YXZ convention: when *composing*, first Y, then X, and Z last),
- given in the vector format as (X angle, Y angle, Z angle).
-
- Consider using the constructor instead, which
- uses a quaternion instead of Euler angles.
-
- The Euler angles to create the basis from.
-
-
-
- Constructs a pure rotation basis matrix, rotated around the given `axis`
- by `phi` (in radians). The axis must be a normalized vector.
-
- The axis to rotate around. Must be normalized.
- The angle to rotate, in radians.
-
-
-
- Constructs a basis matrix from 3 axis vectors (matrix columns).
-
- The X vector, or Column0.
- The Y vector, or Column1.
- The Z vector, or Column2.
-
-
-
- Returns true if this basis and `other` are approximately equal, by running
- on each component.
-
- The other basis to compare.
- Whether or not the matrices are approximately equal.
-
-
-
- A color represented by red, green, blue, and alpha (RGBA) components.
- The alpha component is often used for transparency.
- Values are in floating-point and usually range from 0 to 1.
- Some properties (such as CanvasItem.modulate) may accept values
- greater than 1 (overbright or HDR colors).
-
- If you want to supply values in a range of 0 to 255, you should use
- and the `r8`/`g8`/`b8`/`a8` properties.
-
-
-
-
- The color's red component, typically on the range of 0 to 1.
-
-
-
-
- The color's green component, typically on the range of 0 to 1.
-
-
-
-
- The color's blue component, typically on the range of 0 to 1.
-
-
-
-
- The color's alpha (transparency) component, typically on the range of 0 to 1.
-
-
-
-
- Wrapper for that uses the range 0 to 255 instead of 0 to 1.
-
- Getting is equivalent to multiplying by 255 and rounding. Setting is equivalent to dividing by 255.
-
-
-
- Wrapper for that uses the range 0 to 255 instead of 0 to 1.
-
- Getting is equivalent to multiplying by 255 and rounding. Setting is equivalent to dividing by 255.
-
-
-
- Wrapper for that uses the range 0 to 255 instead of 0 to 1.
-
- Getting is equivalent to multiplying by 255 and rounding. Setting is equivalent to dividing by 255.
-
-
-
- Wrapper for that uses the range 0 to 255 instead of 0 to 1.
-
- Getting is equivalent to multiplying by 255 and rounding. Setting is equivalent to dividing by 255.
-
-
-
- The HSV hue of this color, on the range 0 to 1.
-
- Getting is a long process, refer to the source code for details. Setting uses .
-
-
-
- The HSV saturation of this color, on the range 0 to 1.
-
- Getting is equivalent to the ratio between the min and max RGB value. Setting uses .
-
-
-
- The HSV value (brightness) of this color, on the range 0 to 1.
-
- Getting is equivalent to using `Max()` on the RGB components. Setting uses .
-
-
-
- Returns a color according to the standardized name, with the
- specified alpha value. Supported color names are the same as
- the constants defined in .
-
- The name of the color.
- The alpha (transparency) component represented on the range of 0 to 1. Default: 1.
- The constructed color.
-
-
-
- Access color components using their index.
-
- `[0]` is equivalent to `.r`, `[1]` is equivalent to `.g`, `[2]` is equivalent to `.b`, `[3]` is equivalent to `.a`.
-
-
-
- Converts a color to HSV values. This is equivalent to using each of
- the `h`/`s`/`v` properties, but much more efficient.
-
- Output parameter for the HSV hue.
- Output parameter for the HSV saturation.
- Output parameter for the HSV value.
-
-
-
- Constructs a color from an HSV profile, with values on the
- range of 0 to 1. This is equivalent to using each of
- the `h`/`s`/`v` properties, but much more efficient.
-
- The HSV hue, typically on the range of 0 to 1.
- The HSV saturation, typically on the range of 0 to 1.
- The HSV value (brightness), typically on the range of 0 to 1.
- The alpha (transparency) value, typically on the range of 0 to 1.
- The constructed color.
-
-
-
- Returns a new color resulting from blending this color over another.
- If the color is opaque, the result is also opaque.
- The second color may have a range of alpha values.
-
- The color to blend over.
- This color blended over `over`.
-
-
-
- Returns the most contrasting color.
-
- The most contrasting color
-
-
-
- Returns a new color resulting from making this color darker
- by the specified ratio (on the range of 0 to 1).
-
- The ratio to darken by.
- The darkened color.
-
-
-
- Returns the inverted color: `(1 - r, 1 - g, 1 - b, a)`.
-
- The inverted color.
-
-
-
- Returns a new color resulting from making this color lighter
- by the specified ratio (on the range of 0 to 1).
-
- The ratio to lighten by.
- The darkened color.
-
-
-
- Returns the result of the linear interpolation between
- this color and `to` by amount `weight`.
-
- The destination color for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting color of the interpolation.
-
-
-
- Returns the result of the linear interpolation between
- this color and `to` by color amount `weight`.
-
- The destination color for interpolation.
- A color with components on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting color of the interpolation.
-
-
-
- Returns the color's 32-bit integer in ABGR format
- (each byte represents a component of the ABGR profile).
- ABGR is the reversed version of the default format.
-
- An int representing this color in ABGR32 format.
-
-
-
- Returns the color's 64-bit integer in ABGR format
- (each byte represents a component of the ABGR profile).
- ABGR is the reversed version of the default format.
-
- An int representing this color in ABGR64 format.
-
-
-
- Returns the color's 32-bit integer in ARGB format
- (each byte represents a component of the ARGB profile).
- ARGB is more compatible with DirectX, but not used much in Godot.
-
- An int representing this color in ARGB32 format.
-
-
-
- Returns the color's 64-bit integer in ARGB format
- (each word represents a component of the ARGB profile).
- ARGB is more compatible with DirectX, but not used much in Godot.
-
- A long representing this color in ARGB64 format.
-
-
-
- Returns the color's 32-bit integer in RGBA format
- (each byte represents a component of the RGBA profile).
- RGBA is Godot's default and recommended format.
-
- An int representing this color in RGBA32 format.
-
-
-
- Returns the color's 64-bit integer in RGBA format
- (each word represents a component of the RGBA profile).
- RGBA is Godot's default and recommended format.
-
- A long representing this color in RGBA64 format.
-
-
-
- Returns the color's HTML hexadecimal color string in RGBA format.
-
- Whether or not to include alpha. If false, the color is RGB instead of RGBA.
- A string for the HTML hexadecimal representation of this color.
-
-
-
- Constructs a color from RGBA values on the range of 0 to 1.
-
- The color's red component, typically on the range of 0 to 1.
- The color's green component, typically on the range of 0 to 1.
- The color's blue component, typically on the range of 0 to 1.
- The color's alpha (transparency) value, typically on the range of 0 to 1. Default: 1.
-
-
-
- Constructs a color from an existing color and an alpha value.
-
- The color to construct from. Only its RGB values are used.
- The color's alpha (transparency) value, typically on the range of 0 to 1. Default: 1.
-
-
-
- Constructs a color from a 32-bit integer
- (each byte represents a component of the RGBA profile).
-
- The int representing the color.
-
-
-
- Constructs a color from a 64-bit integer
- (each word represents a component of the RGBA profile).
-
- The long representing the color.
-
-
-
- Returns a color constructed from integer red, green, blue, and alpha channels.
- Each channel should have 8 bits of information ranging from 0 to 255.
-
- The red component represented on the range of 0 to 255.
- The green component represented on the range of 0 to 255.
- The blue component represented on the range of 0 to 255.
- The alpha (transparency) component represented on the range of 0 to 255.
- The constructed color.
-
-
-
- Constructs a color from the HTML hexadecimal color string in RGBA format.
-
- A string for the HTML hexadecimal representation of this color.
-
-
-
- Returns true if this color and `other` are approximately equal, by running
- on each component.
-
- The other color to compare.
- Whether or not the colors are approximately equal.
-
-
-
- This class contains color constants created from standardized color names.
- The standardized color set is based on the X11 and .NET color names.
-
-
-
-
- Represents an whose members can be dynamically accessed at runtime through the Variant API.
-
-
-
- The class enables access to the Variant
- members of a instance at runtime.
-
-
- This allows accessing the class members using their original names in the engine as well as the members from the
- script attached to the , regardless of the scripting language it was written in.
-
-
-
- This sample shows how to use to dynamically access the engine members of a .
-
- dynamic sprite = GetNode("Sprite").DynamicGodotObject;
- sprite.add_child(this);
-
- if ((sprite.hframes * sprite.vframes) > 0)
- sprite.frame = 0;
-
-
-
- This sample shows how to use to dynamically access the members of the script attached to a .
-
- dynamic childNode = GetNode("ChildNode").DynamicGodotObject;
-
- if (childNode.print_allowed)
- {
- childNode.message = "Hello from C#";
- childNode.print_message(3);
- }
-
- The ChildNode node has the following GDScript script attached:
-
- // # ChildNode.gd
- // var print_allowed = true
- // var message = ""
- //
- // func print_message(times):
- // for i in times:
- // print(message)
-
-
-
-
-
- Gets the associated with this .
-
-
-
-
- Initializes a new instance of the class.
-
-
- The that will be associated with this .
-
-
- Thrown when the parameter is null.
-
-
-
-
- Nodes are Godot's building blocks. They can be assigned as the child of another node, resulting in a tree arrangement. A given node can contain any number of nodes as children with the requirement that all siblings (direct children of a node) should have unique names.
- A tree of nodes is called a scene. Scenes can be saved to the disk and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of Godot projects.
- Scene tree: The contains the active tree of nodes. When a node is added to the scene tree, it receives the notification and its callback is triggered. Child nodes are always added after their parent node, i.e. the callback of a parent node will be triggered before its child's.
- Once all nodes have been added in the scene tree, they receive the notification and their respective callbacks are triggered. For groups of nodes, the callback is called in reverse order, starting with the children and moving up to the parent nodes.
- This means that when adding a node to the scene tree, the following order will be used for the callbacks: of the parent, of the children, of the children and finally of the parent (recursively for the entire scene tree).
- Processing: Nodes can override the "process" state, so that they receive a callback on each frame requesting them to process (do something). Normal processing (callback , toggled with ) happens as fast as possible and is dependent on the frame rate, so the processing time delta is passed as an argument. Physics processing (callback , toggled with ) happens a fixed number of times per second (60 by default) and is useful for code related to the physics engine.
- Nodes can also process input events. When present, the function will be called for each input that the program receives. In many cases, this can be overkill (unless used for simple projects), and the function might be preferred; it is called when the input event was not handled by anyone else (typically, GUI nodes), ensuring that the node only receives the events that were meant for it.
- To keep track of the scene hierarchy (especially when instancing scenes into other scenes), an "owner" can be set for the node with the property. This keeps track of who instanced what. This is mostly useful when writing editors and tools, though.
- Finally, when a node is freed with or , it will also free all its children.
- Groups: Nodes can be added to as many groups as you want to be easy to manage, you could create groups like "enemies" or "collectables" for example, depending on your game. See , and . You can then retrieve all nodes in these groups, iterate them and even call methods on groups via the methods on .
- Networking with nodes: After connecting to a server (or making one, see ), it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections). To identify which node receives the RPC call, Godot will use its (make sure node names are the same on all peers). Also, take a look at the high-level networking tutorial and corresponding demos.
-
-
-
-
- Notification received when the node enters a .
-
-
-
-
- Notification received when the node is about to exit a .
-
-
-
-
- Notification received when the node is moved in the parent.
-
-
-
-
- Notification received when the node is ready. See .
-
-
-
-
- Notification received when the node is paused.
-
-
-
-
- Notification received when the node is unpaused.
-
-
-
-
- Notification received every frame when the physics process flag is set (see ).
-
-
-
-
- Notification received every frame when the process flag is set (see ).
-
-
-
-
- Notification received when a node is set as a child of another node.
- Note: This doesn't mean that a node entered the .
-
-
-
-
- Notification received when a node is unparented (parent removed it from the list of children).
-
-
-
-
- Notification received when the node is instanced.
-
-
-
-
- Notification received when a drag begins.
-
-
-
-
- Notification received when a drag ends.
-
-
-
-
- Notification received when the node's changed.
-
-
-
-
- Notification received every frame when the internal process flag is set (see ).
-
-
-
-
- Notification received every frame when the internal physics process flag is set (see ).
-
-
-
-
- Notification received when the node is ready, just before is received. Unlike the latter, it's sent every time the node enters tree, instead of only once.
-
-
-
-
- Notification received from the OS when the mouse enters the game window.
- Implemented on desktop and web platforms.
-
-
-
-
- Notification received from the OS when the mouse leaves the game window.
- Implemented on desktop and web platforms.
-
-
-
-
- Notification received from the OS when the game window is focused.
- Implemented on all platforms.
-
-
-
-
- Notification received from the OS when the game window is unfocused.
- Implemented on all platforms.
-
-
-
-
- Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4).
- Implemented on desktop platforms.
-
-
-
-
- Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android).
- Specific to the Android platform.
-
-
-
-
- Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus).
- No supported platforms currently send this notification.
-
-
-
-
- Notification received from the OS when the application is exceeding its allocated memory.
- Specific to the iOS platform.
-
-
-
-
- Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like .
-
-
-
-
- Notification received from the OS when a request for "About" information is sent.
- Specific to the macOS platform.
-
-
-
-
- Notification received from Godot's crash handler when the engine is about to crash.
- Implemented on desktop platforms if the crash handler is enabled.
-
-
-
-
- Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
- Specific to the macOS platform.
-
-
-
-
- Notification received from the OS when the app is resumed.
- Specific to the Android platform.
-
-
-
-
- Notification received from the OS when the app is paused.
- Specific to the Android platform.
-
-
-
-
- Inherits pause mode from the node's parent. For the root node, it is equivalent to . Default.
-
-
-
-
- Stops processing when the is paused.
-
-
-
-
- Continue to process regardless of the pause state.
-
-
-
-
- Duplicate the node's signals.
-
-
-
-
- Duplicate the node's groups.
-
-
-
-
- Duplicate the node's scripts.
-
-
-
-
- Duplicate using instancing.
- An instance stays linked to the original so when the original changes, the instance changes too.
-
-
-
-
- Pause mode. How the node will behave if the is paused.
-
-
-
-
- The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed.
-
-
-
-
- When a scene is instanced from a file, its topmost node contains the filename from which it was loaded.
-
-
-
-
- The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using ), all the nodes it owns will be saved with it. This allows for the creation of complex s, with instancing and subinstancing.
-
-
-
-
- The instance associated with this node. Either the , or the default SceneTree one (if inside tree).
-
-
-
-
- The override to the default . Set to null to use the default one.
-
-
-
-
- The node's priority in the execution order of the enabled processing callbacks (i.e. , and their internal counterparts). Nodes whose process priority value is lower will have their processing callbacks executed first.
-
-
-
-
- Called when the node enters the (e.g. upon instancing, scene changing, or after calling in a script). If the node has children, its callback will be called first, and then that of the children.
- Corresponds to the notification in .
-
-
-
-
- Called when the node is about to leave the (e.g. upon freeing, scene changing, or after calling in a script). If the node has children, its callback will be called last, after all its children have left the tree.
- Corresponds to the notification in and signal tree_exiting. To get notified when the node has already left the active tree, connect to the tree_exited.
-
-
-
-
- The string returned from this method is displayed as a warning in the Scene Dock if the script that overrides it is a tool script.
- Returning an empty string produces no warning.
- Call when the warning needs to be updated for this node.
-
-
-
-
- Called when there is an input event. The input event propagates up through the node tree until a node consumes it.
- It is only called if input processing is enabled, which is done automatically if this method is overridden, and can be toggled with .
- To consume the input event and stop it propagating further to other nodes, can be called.
- For gameplay input, and are usually a better fit as they allow the GUI to intercept the events first.
- Note: This method is only called if the node is present in the scene tree (i.e. if it's not orphan).
-
-
-
-
- Called during the physics processing step of the main loop. Physics processing means that the frame rate is synced to the physics, i.e. the delta variable should be constant.
- It is only called if physics processing is enabled, which is done automatically if this method is overridden, and can be toggled with .
- Corresponds to the notification in .
- Note: This method is only called if the node is present in the scene tree (i.e. if it's not orphan).
-
-
-
-
- Called during the processing step of the main loop. Processing happens at every frame and as fast as possible, so the delta time since the previous frame is not constant.
- It is only called if processing is enabled, which is done automatically if this method is overridden, and can be toggled with .
- Corresponds to the notification in .
- Note: This method is only called if the node is present in the scene tree (i.e. if it's not orphan).
-
-
-
-
- Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their callbacks get triggered first, and the parent node will receive the ready notification afterwards.
- Corresponds to the notification in . See also the onready keyword for variables.
- Usually used for initialization. For even earlier initialization, may be used. See also .
- Note: may be called only once for each node. After removing a node from the scene tree and adding again, _ready will not be called for the second time. This can be bypassed with requesting another call with , which may be called anywhere before adding the node again.
-
-
-
-
- Called when an hasn't been consumed by or any GUI. The input event propagates up through the node tree until a node consumes it.
- It is only called if unhandled input processing is enabled, which is done automatically if this method is overridden, and can be toggled with .
- To consume the input event and stop it propagating further to other nodes, can be called.
- For gameplay input, this and are usually a better fit than as they allow the GUI to intercept the events first.
- Note: This method is only called if the node is present in the scene tree (i.e. if it's not orphan).
-
-
-
-
- Called when an hasn't been consumed by or any GUI. The input event propagates up through the node tree until a node consumes it.
- It is only called if unhandled key input processing is enabled, which is done automatically if this method is overridden, and can be toggled with .
- To consume the input event and stop it propagating further to other nodes, can be called.
- For gameplay input, this and are usually a better fit than as they allow the GUI to intercept the events first.
- Note: This method is only called if the node is present in the scene tree (i.e. if it's not orphan).
-
-
-
-
- Adds child_node as a child. The child is placed below the given node in the list of children.
- If legible_unique_name is true, the child node will have an human-readable name based on the name of the node being instanced instead of its type.
-
-
-
-
- Adds a child node. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node.
- If legible_unique_name is true, the child node will have an human-readable name based on the name of the node being instanced instead of its type.
- Note: If the child node already has a parent, the function will fail. Use first to remove the node from its current parent. For example:
-
- if child_node.get_parent():
- child_node.get_parent().remove_child(child_node)
- add_child(child_node)
-
- Note: If you want a child to be persisted to a , you must set in addition to calling . This is typically relevant for tool scripts and editor plugins. If is called without setting , the newly added will not be visible in the scene tree, though it will be visible in the 2D/3D view.
-
-
-
-
- Removes a child node. The node is NOT deleted and must be deleted manually.
-
-
-
-
- Returns the number of child nodes.
-
-
-
-
- Returns an array of references to node's children.
-
-
-
-
- Returns a child node by its index (see ). This method is often used for iterating all children of a node.
- To access a child node via its name, use .
-
-
-
-
- Returns true if the node that the points to exists.
-
-
-
-
- Fetches a node. The can be either a relative path (from the current node) or an absolute path (in the scene tree) to a node. If the path does not exist, a null instance is returned and an error is logged. Attempts to access methods on the return value will result in an "Attempt to call <method> on a null instance." error.
- Note: Fetching absolute paths only works when the node is inside the scene tree (see ).
- Example: Assume your current node is Character and the following tree:
-
- /root
- /root/Character
- /root/Character/Sword
- /root/Character/Backpack/Dagger
- /root/MyGame
- /root/Swamp/Alligator
- /root/Swamp/Mosquito
- /root/Swamp/Goblin
-
- Possible paths are:
-
- get_node("Sword")
- get_node("Backpack/Dagger")
- get_node("../Swamp/Alligator")
- get_node("/root/MyGame")
-
-
-
-
-
- Similar to , but does not log an error if path does not point to a valid .
-
-
-
-
- Returns the parent node of the current node, or a null instance if the node lacks a parent.
-
-
-
-
- Finds a descendant of this node whose name matches mask as in String.match (i.e. case-sensitive, but "*" matches zero or more characters and "?" matches any single character except ".").
- Note: It does not match against the full path, just against individual node names.
- If owned is true, this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through a script, because those scenes don't have an owner.
- Note: As this method walks through all the descendants of the node, it is the slowest way to get a reference to another node. Whenever possible, consider using instead. To avoid using too often, consider caching the node reference into a variable.
-
-
-
-
- Finds the first parent of the current node whose name matches mask as in String.match (i.e. case-sensitive, but "*" matches zero or more characters and "?" matches any single character except ".").
- Note: It does not match against the full path, just against individual node names.
- Note: As this method walks upwards in the scene tree, it can be slow in large, deeply nested scene trees. Whenever possible, consider using instead. To avoid using too often, consider caching the node reference into a variable.
-
-
-
-
- Returns true if the points to a valid node and its subname points to a valid resource, e.g. Area2D/CollisionShape2D:shape. Properties with a non- type (e.g. nodes or primitive math types) are not considered resources.
-
-
-
-
- Fetches a node and one of its resources as specified by the 's subname (e.g. Area2D/CollisionShape2D:shape). If several nested resources are specified in the , the last one will be fetched.
- The return value is an array of size 3: the first index points to the (or null if not found), the second index points to the (or null if not found), and the third index is the remaining , if any.
- For example, assuming that Area2D/CollisionShape2D is a valid node and that its shape property has been assigned a resource, one could have this kind of output:
-
- print(get_node_and_resource("Area2D/CollisionShape2D")) # [[CollisionShape2D:1161], Null, ]
- print(get_node_and_resource("Area2D/CollisionShape2D:shape")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], ]
- print(get_node_and_resource("Area2D/CollisionShape2D:shape:extents")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], :extents]
-
-
-
-
-
- Returns true if this node is currently inside a .
-
-
-
-
- Returns true if the given node is a direct or indirect child of the current node.
-
-
-
-
- Returns true if the given node occurs later in the scene hierarchy than the current node.
-
-
-
-
- Returns the absolute path of the current node. This only works if the current node is inside the scene tree (see ).
-
-
-
-
- Returns the relative from this node to the specified node. Both nodes must be in the same scene or the function will fail.
-
-
-
-
- Adds the node to a group. Groups are helpers to name and organize a subset of nodes, for example "enemies" or "collectables". A node can be in any number of groups. Nodes can be assigned a group at any time, but will not be added until they are inside the scene tree (see ). See notes in the description, and the group methods in .
- The persistent option is used when packing node to and saving to file. Non-persistent groups aren't stored.
-
-
-
-
- Removes a node from a group. See notes in the description, and the group methods in .
-
-
-
-
- Returns true if this node is in the specified group. See notes in the description, and the group methods in .
-
-
-
-
- Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful.
-
-
-
-
- Returns an array listing the groups that the node is a member of.
-
-
-
-
- Moves this node to the bottom of parent node's children hierarchy. This is often useful in GUIs ( nodes), because their order of drawing depends on their order in the tree, i.e. the further they are on the node list, the higher they are drawn. After using raise, a Control will be drawn on top of their siblings.
-
-
-
-
- Removes a node and sets all its children as children of the parent node (if it exists). All event subscriptions that pass by the removed node will be unsubscribed.
-
-
-
-
- Returns the node's index, i.e. its position among the siblings of its parent.
-
-
-
-
- Prints the tree to stdout. Used mainly for debugging purposes. This version displays the path relative to the current node, and is good for copy/pasting into the function.
- Example output:
-
- TheGame
- TheGame/Menu
- TheGame/Menu/Label
- TheGame/Menu/Camera2D
- TheGame/SplashScreen
- TheGame/SplashScreen/Camera2D
-
-
-
-
-
- Similar to , this prints the tree to stdout. This version displays a more graphical representation similar to what is displayed in the scene inspector. It is useful for inspecting larger trees.
- Example output:
-
- ┖╴TheGame
- ┠╴Menu
- ┃ ┠╴Label
- ┃ ┖╴Camera2D
- ┖╴SplashScreen
- ┖╴Camera2D
-
-
-
-
-
- Notifies the current node and all its children recursively by calling on all of them.
-
-
-
-
- Calls the given method (if present) with the arguments given in args on this node and recursively on all its children. If the parent_first argument is true, the method will be called on the current node first, then on all its children. If parent_first is false, the children will be called first.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a at a fixed (usually 60 FPS, see to change) interval (and the callback will be called if exists). Enabled automatically if is overridden. Any calls to this before will be ignored.
-
-
-
-
- Returns the time elapsed since the last physics-bound frame (see ). This is always a constant value in physics processing unless the frames per second is changed via .
-
-
-
-
- Returns true if physics processing is enabled (see ).
-
-
-
-
- Returns the time elapsed (in seconds) since the last process callback. This value may vary from frame to frame.
-
-
-
-
- Enables or disables processing. When a node is being processed, it will receive a on every drawn frame (and the callback will be called if exists). Enabled automatically if is overridden. Any calls to this before will be ignored.
-
-
-
-
- Returns true if processing is enabled (see ).
-
-
-
-
- Enables or disables input processing. This is not required for GUI controls! Enabled automatically if is overridden. Any calls to this before will be ignored.
-
-
-
-
- Returns true if the node is processing input (see ).
-
-
-
-
- Enables unhandled input processing. This is not required for GUI controls! It enables the node to receive all input that was not previously handled (usually by a ). Enabled automatically if is overridden. Any calls to this before will be ignored.
-
-
-
-
- Returns true if the node is processing unhandled input (see ).
-
-
-
-
- Enables unhandled key input processing. Enabled automatically if is overridden. Any calls to this before will be ignored.
-
-
-
-
- Returns true if the node is processing unhandled key input (see ).
-
-
-
-
- Returns true if the node can process while the scene tree is paused (see ). Always returns true if the scene tree is not paused, and false if the node is not in the tree.
-
-
-
-
- Prints all stray nodes (nodes outside the ). Used for debugging. Works only in debug builds.
-
-
-
-
- Returns the node's order in the scene tree branch. For example, if called on the first child node the position is 0.
-
-
-
-
- Sets the folded state of the node in the Scene dock.
-
-
-
-
- Returns true if the node is folded (collapsed) in the Scene dock.
-
-
-
-
- Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting (). Only useful for advanced uses to manipulate built-in nodes' behaviour.
-
-
-
-
- Returns true if internal processing is enabled (see ).
-
-
-
-
- Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting (). Only useful for advanced uses to manipulate built-in nodes' behaviour.
-
-
-
-
- Returns true if internal physics processing is enabled (see ).
-
-
-
-
- Returns the that contains this node.
-
-
-
-
- Duplicates the node, returning a new node.
- You can fine-tune the behavior using the flags (see ).
- Note: It will not work properly if the node contains a script with constructor arguments (i.e. needs to supply arguments to method). In that case, the node will be duplicated without a script.
-
-
-
-
- Replaces a node in a scene by the given one. Subscriptions that pass through this node will be lost.
-
-
-
-
- Sets whether this is an instance load placeholder. See .
-
-
-
-
- Returns true if this is an instance load placeholder. See .
-
-
-
-
- Returns the node's .
-
-
-
-
- Queues a node for deletion at the end of the current frame. When deleted, all of its child nodes will be deleted as well. This method ensures it's safe to delete the node, contrary to . Use to check whether a node will be deleted at the end of the frame.
-
-
-
-
- Requests that _ready be called again. Note that the method won't be called immediately, but is scheduled for when the node is added to the scene tree again (see ). _ready is called only for the node which requested it, which means that you need to request ready for each child if you want them to call _ready too (in which case, _ready will be called in the same order as it would normally).
-
-
-
-
- Sets the node's network master to the peer with the given peer ID. The network master is the peer that has authority over the node on the network. Useful in conjunction with the master and puppet keywords. Inherited from the parent node by default, which ultimately defaults to peer ID 1 (the server). If recursive, the given peer is recursively set as the master for all children of this node.
-
-
-
-
- Returns the peer ID of the network master for this node. See .
-
-
-
-
- Returns true if the local system is the master of this node.
-
-
-
-
- Changes the RPC mode for the given method to the given mode. See . An alternative is annotating methods and properties with the corresponding keywords (remote, master, puppet, remotesync, mastersync, puppetsync). By default, methods are not exposed to networking (and RPCs). See also and for properties.
-
-
-
-
- Changes the RPC mode for the given property to the given mode. See . An alternative is annotating methods and properties with the corresponding keywords (remote, master, puppet, remotesync, mastersync, puppetsync). By default, properties are not exposed to networking (and RPCs). See also and for methods.
-
-
-
-
- Sends a remote procedure call request for the given method to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same , including the exact same node name. Behaviour depends on the RPC configuration for the given method, see . Methods are not exposed to RPCs by default. See also and for properties. Returns an empty Variant.
- Note: You can only safely use RPCs on clients after you received the connected_to_server signal from the . You also need to keep track of the connection state, either by the signals like server_disconnected or by checking SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED.
-
-
-
-
- Sends a using an unreliable protocol. Returns an empty Variant.
-
-
-
-
- Sends a to a specific peer identified by peer_id (see ). Returns an empty Variant.
-
-
-
-
- Sends a to a specific peer identified by peer_id using an unreliable protocol (see ). Returns an empty Variant.
-
-
-
-
- Remotely changes a property's value on other peers (and locally). Behaviour depends on the RPC configuration for the given property, see . See also for RPCs for methods, most information applies to this method as well.
-
-
-
-
- Remotely changes the property's value on a specific peer identified by peer_id (see ).
-
-
-
-
- Remotely changes the property's value on other peers (and locally) using an unreliable protocol.
-
-
-
-
- Remotely changes property's value on a specific peer identified by peer_id using an unreliable protocol (see ).
-
-
-
-
- Updates the warning displayed for this node in the Scene Dock.
- Use to setup the warning message to display.
-
-
-
-
- Every class which is not a built-in type inherits from this class.
- You can construct Objects from scripting languages, using Object.new() in GDScript, new Object in C#, or the "Construct Object" node in VisualScript.
- Objects do not manage memory. If a class inherits from Object, you will have to delete instances of it manually. To do so, call the method from your script or delete the instance from C++.
- Some classes that extend Object add memory management. This is the case of , which counts references and deletes itself automatically when no longer referenced. , another fundamental type, deletes all its children when freed from memory.
- Objects export properties, which are mainly useful for storage and editing, but not really so much in programming. Properties are exported in and handled in and . However, scripting languages and C++ have simpler means to export them.
- Property membership can be tested directly in GDScript using in:
-
- var n = Node2D.new()
- print("position" in n) # Prints "True".
- print("other_property" in n) # Prints "False".
-
- The in operator will evaluate to true as long as the key exists, even if the value is null.
- Objects also receive notifications. Notifications are a simple way to notify the object about different events, so they can all be handled together. See .
- Note: Unlike references to a , references to an Object stored in a variable can become invalid without warning. Therefore, it's recommended to use for data classes instead of .
-
-
-
-
- Returns a new awaiter configured to complete when the instance
- emits the signal specified by the parameter.
-
-
- The instance the awaiter will be listening to.
-
-
- The signal the awaiter will be waiting for.
-
-
- This sample prints a message once every frame up to 100 times.
-
- public override void _Ready()
- {
- for (int i = 0; i < 100; i++)
- {
- await ToSignal(GetTree(), "idle_frame");
- GD.Print($"Frame {i}");
- }
- }
-
-
-
-
-
- Gets a new associated with this instance.
-
-
-
-
- Called right when the object is initialized. Not available in script.
-
-
-
-
- Called before the object is about to be deleted.
-
-
-
-
- Connects a signal in deferred mode. This way, signal emissions are stored in a queue, then set on idle time.
-
-
-
-
- Persisting connections are saved when the object is serialized to file.
-
-
-
-
- One-shot connections disconnect themselves after emission.
-
-
-
-
- Connect a signal as reference-counted. This means that a given signal can be connected several times to the same target, and will only be fully disconnected once no references are left.
-
-
-
-
- Virtual method which can be overridden to customize the return value of .
- Returns the given property. Returns null if the property does not exist.
-
-
-
-
- Virtual method which can be overridden to customize the return value of .
- Returns the object's property list as an of dictionaries.
- Each property's must contain at least name: String and type: int (see ) entries. Optionally, it can also include hint: int (see ), hint_string: String, and usage: int (see ).
-
-
-
-
- Called whenever the object receives a notification, which is identified in what by a constant. The base has two constants and , but subclasses such as define a lot more notifications which are also received by this method.
-
-
-
-
- Virtual method which can be overridden to customize the return value of .
- Sets a property. Returns true if the property exists.
-
-
-
-
- Deletes the object from memory. Any pre-existing reference to the freed object will become invalid, e.g. is_instance_valid(object) will return false.
-
-
-
-
- Returns the object's class as a .
-
-
-
-
- Returns true if the object inherits from the given class.
-
-
-
-
- Assigns a new value to the given property. If the property does not exist, nothing will happen.
- Note: In C#, the property name must be specified as snake_case if it is defined by a built-in Godot node. This doesn't apply to user-defined properties where you should use the same convention as in the C# source (typically PascalCase).
-
-
-
-
- Returns the Variant value of the given property. If the property doesn't exist, this will return null.
- Note: In C#, the property name must be specified as snake_case if it is defined by a built-in Godot node. This doesn't apply to user-defined properties where you should use the same convention as in the C# source (typically PascalCase).
-
-
-
-
- Assigns a new value to the property identified by the . The node path should be relative to the current object and can use the colon character (:) to access nested properties. Example:
-
- set_indexed("position", Vector2(42, 0))
- set_indexed("position:y", -10)
- print(position) # (42, -10)
-
-
-
-
-
- Gets the object's property indexed by the given . The node path should be relative to the current object and can use the colon character (:) to access nested properties. Examples: "position:x" or "material:next_pass:blend_mode".
-
-
-
-
- Returns the object's property list as an of dictionaries.
- Each property's contain at least name: String and type: int (see ) entries. Optionally, it can also include hint: int (see ), hint_string: String, and usage: int (see ).
-
-
-
-
- Returns the object's methods and their signatures as an .
-
-
-
-
- Send a given notification to the object, which will also trigger a call to the method of all classes that the object inherits from.
- If reversed is true, is called first on the object's own class, and then up to its successive parent classes. If reversed is false, is called first on the highest ancestor ( itself), and then down to its successive inheriting classes.
-
-
-
-
- Returns the object's unique instance ID.
- This ID can be saved in , and can be used to retrieve the object instance with @GDScript.instance_from_id.
-
-
-
-
- Assigns a script to the object. Each object can have a single script assigned to it, which are used to extend its functionality.
- If the object already had a script, the previous script instance will be freed and its variables and state will be lost. The new script's method will be called.
-
-
-
-
- Returns the object's instance, or null if none is assigned.
-
-
-
-
- Adds, changes or removes a given entry in the object's metadata. Metadata are serialized and can take any Variant value.
- To remove a given entry from the object's metadata, use . Metadata is also removed if its value is set to null. This means you can also use set_meta("name", null) to remove metadata for "name".
-
-
-
-
- Removes a given entry from the object's metadata. See also .
-
-
-
-
- Returns the object's metadata entry for the given name.
-
-
-
-
- Returns true if a metadata entry is found with the given name.
-
-
-
-
- Returns the object's metadata as a .
-
-
-
-
- Adds a user-defined signal. Arguments are optional, but can be added as an of dictionaries, each containing name: String and type: int (see ) entries.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Returns true if the given user-defined signal exists. Only signals added using are taken into account.
-
-
-
-
- Emits the given signal. The signal must exist, so it should be a built-in signal of this class or one of its parent classes, or a user-defined signal. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
-
- emit_signal("hit", weapon_type, damage)
- emit_signal("game_over")
-
-
-
-
-
- Calls the method on the object and returns the result. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
-
- call("set", "position", Vector2(42.0, 0.0))
-
- Note: In C#, the method name must be specified as snake_case if it is defined by a built-in Godot node. This doesn't apply to user-defined methods where you should use the same convention as in the C# source (typically PascalCase).
-
-
-
-
- Calls the method on the object during idle time. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
-
- call_deferred("set", "position", Vector2(42.0, 0.0))
-
- Note: In C#, the method name must be specified as snake_case if it is defined by a built-in Godot node. This doesn't apply to user-defined methods where you should use the same convention as in the C# source (typically PascalCase).
-
-
-
-
- Assigns a new value to the given property, after the current frame's physics step. This is equivalent to calling via , i.e. call_deferred("set", property, value).
- Note: In C#, the property name must be specified as snake_case if it is defined by a built-in Godot node. This doesn't apply to user-defined properties where you should use the same convention as in the C# source (typically PascalCase).
-
-
-
-
- Calls the method on the object and returns the result. Contrarily to , this method does not support a variable number of arguments but expects all parameters to be via a single .
-
- callv("set", [ "position", Vector2(42.0, 0.0) ])
-
-
-
-
-
- Returns true if the object contains the given method.
-
-
-
-
- Returns true if the given signal exists.
-
-
-
-
- Returns the list of signals as an of dictionaries.
-
-
-
-
- Returns an of connections for the given signal.
-
-
-
-
- Returns an of dictionaries with information about signals that are connected to the object.
- Each contains three String entries:
- - source is a reference to the signal emitter.
- - signal_name is the name of the connected signal.
- - method_name is the name of the method to which the signal is connected.
-
-
-
-
- Connects a signal to a method on a target object. Pass optional binds to the call as an of parameters. These parameters will be passed to the method after any parameter used in the call to . Use flags to set deferred or one-shot connections. See constants.
- A signal can only be connected once to a method. It will throw an error if already connected, unless the signal was connected with . To avoid this, first, use to check for existing connections.
- If the target is destroyed in the game's lifecycle, the connection will be lost.
- Examples:
-
- connect("pressed", self, "_on_Button_pressed") # BaseButton signal
- connect("text_entered", self, "_on_LineEdit_text_entered") # LineEdit signal
- connect("hit", self, "_on_Player_hit", [ weapon_type, damage ]) # User-defined signal
-
- An example of the relationship between binds passed to and parameters used when calling :
-
- connect("hit", self, "_on_Player_hit", [ weapon_type, damage ]) # weapon_type and damage are passed last
- emit_signal("hit", "Dark lord", 5) # "Dark lord" and 5 are passed first
- func _on_Player_hit(hit_by, level, weapon_type, damage):
- print("Hit by %s (lvl %d) with weapon %s for %d damage" % [hit_by, level, weapon_type, damage])
-
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Disconnects a signal from a method on the given target.
- If you try to disconnect a connection that does not exist, the method will throw an error. Use to ensure that the connection exists.
-
-
-
-
- Returns true if a connection exists for a given signal, target, and method.
-
-
-
-
- If set to true, signal emission is blocked.
-
-
-
-
- Returns true if signal emission blocking is enabled.
-
-
-
-
- Notify the editor that the property list has changed, so that editor plugins can take the new values into account. Does nothing on export builds.
-
-
-
-
- Defines whether the object can translate strings (with calls to ). Enabled by default.
-
-
-
-
- Returns true if the object can translate strings. See and .
-
-
-
-
- Translates a message using translation catalogs configured in the Project Settings.
- Only works if message translation is enabled (which it is by default), otherwise it returns the message unchanged. See .
-
-
-
-
- Returns true if the method was called for the object.
-
-
-
-
- Singleton used to load resource files from the filesystem.
- It uses the many classes registered in the engine (either built-in or from a plugin) to load files into memory and convert them to a format that can be used by the engine.
- GDScript has a simplified @GDScript.load built-in method which can be used in most situations, leaving the use of for more advanced scenarios.
-
-
-
-
- Starts loading a resource interactively. The returned object allows to load with high granularity, calling its method successively to load chunks.
- An optional type_hint can be used to further specify the type that should be handled by the .
-
-
-
-
- Loads a resource at the given path, caching the result for further access.
- The registered s are queried sequentially to find the first one which can handle the file's extension, and then attempt loading. If loading fails, the remaining ResourceFormatLoaders are also attempted.
- An optional type_hint can be used to further specify the type that should be handled by the .
- If no_cache is true, the resource cache will be bypassed and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists.
- Returns an empty resource if no ResourceFormatLoader could handle the file.
-
-
-
-
- Returns the list of recognized extensions for a resource type.
-
-
-
-
- Changes the behavior on missing sub-resources. The default behavior is to abort loading.
-
-
-
-
- Returns the dependencies for the resource at the given path.
-
-
-
-
- Returns whether a cached resource is available for the given path.
- Once a resource has been loaded by the engine, it is cached in memory for faster access, and future calls to the or methods will use the cached version. The cached resource can be overridden by using on a new resource for that same path.
-
-
-
-
- Returns whether a recognized resource exists for the given path.
- An optional type_hint can be used to further specify the type that should be handled by the .
-
-
-
-
- Deprecated method. Use or instead.
-
-
-
-
- Scancodes with this bit applied are non-printable.
-
-
-
-
- Returns if the generic type definition of
- is ; otherwise returns .
-
-
- is not a generic type. That is, IsGenericType returns false.
-
-
-
-
- Returns if the generic type definition of
- is ; otherwise returns .
-
-
- is not a generic type. That is, IsGenericType returns false.
-
-
-
-
- The circle constant, the circumference of the unit circle in radians.
-
-
-
-
- Constant that represents how many times the diameter of a circle
- fits around its perimeter. This is equivalent to `Mathf.Tau / 2`.
-
-
-
-
- Positive infinity. For negative infinity, use `-Mathf.Inf`.
-
-
-
-
- "Not a Number", an invalid value. `NaN` has special properties, including
- that it is not equal to itself. It is output by some invalid operations,
- such as dividing zero by zero.
-
-
-
-
- Returns the absolute value of `s` (i.e. positive value).
-
- The input number.
- The absolute value of `s`.
-
-
-
- Returns the absolute value of `s` (i.e. positive value).
-
- The input number.
- The absolute value of `s`.
-
-
-
- Returns the arc cosine of `s` in radians. Use to get the angle of cosine s.
-
- The input cosine value. Must be on the range of -1.0 to 1.0.
- An angle that would result in the given cosine value. On the range `0` to `Tau/2`.
-
-
-
- Returns the arc sine of `s` in radians. Use to get the angle of sine s.
-
- The input sine value. Must be on the range of -1.0 to 1.0.
- An angle that would result in the given sine value. On the range `-Tau/4` to `Tau/4`.
-
-
-
- Returns the arc tangent of `s` in radians. Use to get the angle of tangent s.
-
- The method cannot know in which quadrant the angle should fall.
- See if you have both `y` and `x`.
-
- The input tangent value.
- An angle that would result in the given tangent value. On the range `-Tau/4` to `Tau/4`.
-
-
-
- Returns the arc tangent of `y` and `x` in radians. Use to get the angle
- of the tangent of `y/x`. To compute the value, the method takes into
- account the sign of both arguments in order to determine the quadrant.
-
- Important note: The Y coordinate comes first, by convention.
-
- The Y coordinate of the point to find the angle to.
- The X coordinate of the point to find the angle to.
- An angle that would result in the given tangent value. On the range `-Tau/2` to `Tau/2`.
-
-
-
- Converts a 2D point expressed in the cartesian coordinate
- system (X and Y axis) to the polar coordinate system
- (a distance from the origin and an angle).
-
- The input X coordinate.
- The input Y coordinate.
- A with X representing the distance and Y representing the angle.
-
-
-
- Rounds `s` upward (towards positive infinity).
-
- The number to ceil.
- The smallest whole number that is not less than `s`.
-
-
-
- Clamps a `value` so that it is not less than `min` and not more than `max`.
-
- The value to clamp.
- The minimum allowed value.
- The maximum allowed value.
- The clamped value.
-
-
-
- Clamps a `value` so that it is not less than `min` and not more than `max`.
-
- The value to clamp.
- The minimum allowed value.
- The maximum allowed value.
- The clamped value.
-
-
-
- Returns the cosine of angle `s` in radians.
-
- The angle in radians.
- The cosine of that angle.
-
-
-
- Returns the hyperbolic cosine of angle `s` in radians.
-
- The angle in radians.
- The hyperbolic cosine of that angle.
-
-
-
- Converts an angle expressed in degrees to radians.
-
- An angle expressed in degrees.
- The same angle expressed in radians.
-
-
-
- Easing function, based on exponent. The curve values are:
- `0` is constant, `1` is linear, `0` to `1` is ease-in, `1` or more is ease-out.
- Negative values are in-out/out-in.
-
- The value to ease.
- `0` is constant, `1` is linear, `0` to `1` is ease-in, `1` or more is ease-out.
- The eased value.
-
-
-
- The natural exponential function. It raises the mathematical
- constant `e` to the power of `s` and returns it.
-
- The exponent to raise `e` to.
- `e` raised to the power of `s`.
-
-
-
- Rounds `s` downward (towards negative infinity).
-
- The number to floor.
- The largest whole number that is not more than `s`.
-
-
-
- Returns a normalized value considering the given range.
- This is the opposite of .
-
- The interpolated value.
- The destination value for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting value of the inverse interpolation.
-
-
-
- Returns true if `a` and `b` are approximately equal to each other.
- The comparison is done using a tolerance calculation with .
-
- One of the values.
- The other value.
- A bool for whether or not the two values are approximately equal.
-
-
-
- Returns whether `s` is an infinity value (either positive infinity or negative infinity).
-
- The value to check.
- A bool for whether or not the value is an infinity value.
-
-
-
- Returns whether `s` is a `NaN` ("Not a Number" or invalid) value.
-
- The value to check.
- A bool for whether or not the value is a `NaN` value.
-
-
-
- Returns true if `s` is approximately zero.
- The comparison is done using a tolerance calculation with .
-
- This method is faster than using with one value as zero.
-
- The value to check.
- A bool for whether or not the value is nearly zero.
-
-
-
- Linearly interpolates between two values by a normalized value.
- This is the opposite .
-
- The start value for interpolation.
- The destination value for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting value of the interpolation.
-
-
-
- Linearly interpolates between two angles (in radians) by a normalized value.
-
- Similar to ,
- but interpolates correctly when the angles wrap around .
-
- The start angle for interpolation.
- The destination angle for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting angle of the interpolation.
-
-
-
- Natural logarithm. The amount of time needed to reach a certain level of continuous growth.
-
- Note: This is not the same as the "log" function on most calculators, which uses a base 10 logarithm.
-
- The input value.
- The natural log of `s`.
-
-
-
- Returns the maximum of two values.
-
- One of the values.
- The other value.
- Whichever of the two values is higher.
-
-
-
- Returns the maximum of two values.
-
- One of the values.
- The other value.
- Whichever of the two values is higher.
-
-
-
- Returns the minimum of two values.
-
- One of the values.
- The other value.
- Whichever of the two values is lower.
-
-
-
- Returns the minimum of two values.
-
- One of the values.
- The other value.
- Whichever of the two values is lower.
-
-
-
- Moves `from` toward `to` by the `delta` value.
-
- Use a negative delta value to move away.
-
- The start value.
- The value to move towards.
- The amount to move by.
- The value after moving.
-
-
-
- Returns the nearest larger power of 2 for the integer `value`.
-
- The input value.
- The nearest larger power of 2.
-
-
-
- Converts a 2D point expressed in the polar coordinate
- system (a distance from the origin `r` and an angle `th`)
- to the cartesian coordinate system (X and Y axis).
-
- The distance from the origin.
- The angle of the point.
- A representing the cartesian coordinate.
-
-
-
- Performs a canonical Modulus operation, where the output is on the range `[0, b)`.
-
- The dividend, the primary input.
- The divisor. The output is on the range `[0, b)`.
- The resulting output.
-
-
-
- Performs a canonical Modulus operation, where the output is on the range `[0, b)`.
-
- The dividend, the primary input.
- The divisor. The output is on the range `[0, b)`.
- The resulting output.
-
-
-
- Returns the result of `x` raised to the power of `y`.
-
- The base.
- The exponent.
- `x` raised to the power of `y`.
-
-
-
- Converts an angle expressed in radians to degrees.
-
- An angle expressed in radians.
- The same angle expressed in degrees.
-
-
-
- Rounds `s` to the nearest whole number,
- with halfway cases rounded towards the nearest multiple of two.
-
- The number to round.
- The rounded number.
-
-
-
- Returns the sign of `s`: `-1` or `1`. Returns `0` if `s` is `0`.
-
- The input number.
- One of three possible values: `1`, `-1`, or `0`.
-
-
-
- Returns the sign of `s`: `-1` or `1`. Returns `0` if `s` is `0`.
-
- The input number.
- One of three possible values: `1`, `-1`, or `0`.
-
-
-
- Returns the sine of angle `s` in radians.
-
- The angle in radians.
- The sine of that angle.
-
-
-
- Returns the hyperbolic sine of angle `s` in radians.
-
- The angle in radians.
- The hyperbolic sine of that angle.
-
-
-
- Returns a number smoothly interpolated between `from` and `to`,
- based on the `weight`. Similar to ,
- but interpolates faster at the beginning and slower at the end.
-
- The start value for interpolation.
- The destination value for interpolation.
- A value representing the amount of interpolation.
- The resulting value of the interpolation.
-
-
-
- Returns the square root of `s`, where `s` is a non-negative number.
-
- If you need negative inputs, use `System.Numerics.Complex`.
-
- The input number. Must not be negative.
- The square root of `s`.
-
-
-
- Returns the position of the first non-zero digit, after the
- decimal point. Note that the maximum return value is 10,
- which is a design decision in the implementation.
-
- The input value.
- The position of the first non-zero digit.
-
-
-
- Snaps float value `s` to a given `step`.
- This can also be used to round a floating point
- number to an arbitrary number of decimals.
-
- The value to stepify.
- The step size to snap to.
-
-
-
-
- Returns the tangent of angle `s` in radians.
-
- The angle in radians.
- The tangent of that angle.
-
-
-
- Returns the hyperbolic tangent of angle `s` in radians.
-
- The angle in radians.
- The hyperbolic tangent of that angle.
-
-
-
- Wraps `value` between `min` and `max`. Usable for creating loop-alike
- behavior or infinite surfaces. If `min` is `0`, this is equivalent
- to , so prefer using that instead.
-
- The value to wrap.
- The minimum allowed value and lower bound of the range.
- The maximum allowed value and upper bound of the range.
- The wrapped value.
-
-
-
- Wraps `value` between `min` and `max`. Usable for creating loop-alike
- behavior or infinite surfaces. If `min` is `0`, this is equivalent
- to , so prefer using that instead.
-
- The value to wrap.
- The minimum allowed value and lower bound of the range.
- The maximum allowed value and upper bound of the range.
- The wrapped value.
-
-
-
- The natural number `e`.
-
-
-
-
- The square root of 2.
-
-
-
-
- A very small number used for float comparison with error tolerance.
- 1e-06 with single-precision floats, but 1e-14 if `REAL_T_IS_DOUBLE`.
-
-
-
-
- Returns the amount of digits after the decimal place.
-
- The input value.
- The amount of digits.
-
-
-
- Returns the amount of digits after the decimal place.
-
- The input value.
- The amount of digits.
-
-
-
- Rounds `s` upward (towards positive infinity).
-
- This is the same as , but returns an `int`.
-
- The number to ceil.
- The smallest whole number that is not less than `s`.
-
-
-
- Rounds `s` downward (towards negative infinity).
-
- This is the same as , but returns an `int`.
-
- The number to floor.
- The largest whole number that is not more than `s`.
-
-
-
-
-
-
-
-
-
-
- Returns true if `a` and `b` are approximately equal to each other.
- The comparison is done using the provided tolerance value.
- If you want the tolerance to be calculated for you, use .
-
- One of the values.
- The other value.
- The pre-calculated tolerance value.
- A bool for whether or not the two values are equal.
-
-
-
- Plane represents a normalized plane equation.
- "Over" or "Above" the plane is considered the side of
- the plane towards where the normal is pointing.
-
-
-
-
- The normal of the plane, which must be normalized.
- In the scalar equation of the plane `ax + by + cz = d`, this is
- the vector `(a, b, c)`, where `d` is the property.
-
- Equivalent to `x`, `y`, and `z`.
-
-
-
- The X component of the plane's normal vector.
-
- Equivalent to 's X value.
-
-
-
- The Y component of the plane's normal vector.
-
- Equivalent to 's Y value.
-
-
-
- The Z component of the plane's normal vector.
-
- Equivalent to 's Z value.
-
-
-
- The distance from the origin to the plane (in the direction of
- ). This value is typically non-negative.
- In the scalar equation of the plane `ax + by + cz = d`,
- this is `d`, while the `(a, b, c)` coordinates are represented
- by the property.
-
- The plane's distance from the origin.
-
-
-
- The center of the plane, the point where the normal line intersects the plane.
-
- Equivalent to multiplied by `D`.
-
-
-
- Returns the shortest distance from this plane to the position `point`.
-
- The position to use for the calculation.
- The shortest distance.
-
-
-
- The center of the plane, the point where the normal line intersects the plane.
- Deprecated, use the Center property instead.
-
- Equivalent to multiplied by `D`.
-
-
-
- Returns true if point is inside the plane.
- Comparison uses a custom minimum epsilon threshold.
-
- The point to check.
- The tolerance threshold.
- A bool for whether or not the plane has the point.
-
-
-
- Returns the intersection point of the three planes: `b`, `c`,
- and this plane. If no intersection is found, `null` is returned.
-
- One of the three planes to use in the calculation.
- One of the three planes to use in the calculation.
- The intersection, or `null` if none is found.
-
-
-
- Returns the intersection point of a ray consisting of the
- position `from` and the direction normal `dir` with this plane.
- If no intersection is found, `null` is returned.
-
- The start of the ray.
- The direction of the ray, normalized.
- The intersection, or `null` if none is found.
-
-
-
- Returns the intersection point of a line segment from
- position `begin` to position `end` with this plane.
- If no intersection is found, `null` is returned.
-
- The start of the line segment.
- The end of the line segment.
- The intersection, or `null` if none is found.
-
-
-
- Returns true if `point` is located above the plane.
-
- The point to check.
- A bool for whether or not the point is above the plane.
-
-
-
- Returns the plane scaled to unit length.
-
- A normalized version of the plane.
-
-
-
- Returns the orthogonal projection of `point` into the plane.
-
- The point to project.
- The projected point.
-
-
-
- A plane that extends in the Y and Z axes (normal vector points +X).
-
- Equivalent to `new Plane(1, 0, 0, 0)`.
-
-
-
- A plane that extends in the X and Z axes (normal vector points +Y).
-
- Equivalent to `new Plane(0, 1, 0, 0)`.
-
-
-
- A plane that extends in the X and Y axes (normal vector points +Z).
-
- Equivalent to `new Plane(0, 0, 1, 0)`.
-
-
-
- Constructs a plane from four values. `a`, `b` and `c` become the
- components of the resulting plane's vector.
- `d` becomes the plane's distance from the origin.
-
- The X component of the plane's normal vector.
- The Y component of the plane's normal vector.
- The Z component of the plane's normal vector.
- The plane's distance from the origin. This value is typically non-negative.
-
-
-
- Constructs a plane from a normal vector and the plane's distance to the origin.
-
- The normal of the plane, must be normalized.
- The plane's distance from the origin. This value is typically non-negative.
-
-
-
- Constructs a plane from the three points, given in clockwise order.
-
- The first point.
- The second point.
- The third point.
-
-
-
- Returns true if this plane and `other` are approximately equal, by running
- on each component.
-
- The other plane to compare.
- Whether or not the planes are approximately equal.
-
-
-
- A unit quaternion used for representing 3D rotations.
- Quaternions need to be normalized to be used for rotation.
-
- It is similar to Basis, which implements matrix representation of
- rotations, and can be parametrized using both an axis-angle pair
- or Euler angles. Basis stores rotation, scale, and shearing,
- while Quat only stores rotation.
-
- Due to its compactness and the way it is stored in memory, certain
- operations (obtaining axis-angle and performing SLERP, in particular)
- are more efficient and robust against floating-point errors.
-
-
-
-
- X component of the quaternion (imaginary `i` axis part).
- Quaternion components should usually not be manipulated directly.
-
-
-
-
- Y component of the quaternion (imaginary `j` axis part).
- Quaternion components should usually not be manipulated directly.
-
-
-
-
- Z component of the quaternion (imaginary `k` axis part).
- Quaternion components should usually not be manipulated directly.
-
-
-
-
- W component of the quaternion (real part).
- Quaternion components should usually not be manipulated directly.
-
-
-
-
- Access quaternion components using their index.
-
- `[0]` is equivalent to `.x`, `[1]` is equivalent to `.y`, `[2]` is equivalent to `.z`, `[3]` is equivalent to `.w`.
-
-
-
- Returns the length (magnitude) of the quaternion.
-
- Equivalent to `Mathf.Sqrt(LengthSquared)`.
-
-
-
- Returns the squared length (squared magnitude) of the quaternion.
- This method runs faster than , so prefer it if
- you need to compare quaternions or need the squared length for some formula.
-
- Equivalent to `Dot(this)`.
-
-
-
- Performs a cubic spherical interpolation between quaternions `preA`,
- this vector, `b`, and `postB`, by the given amount `t`.
-
- The destination quaternion.
- A quaternion before this quaternion.
- A quaternion after `b`.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The interpolated quaternion.
-
-
-
- Returns the dot product of two quaternions.
-
- The other quaternion.
- The dot product.
-
-
-
- Returns Euler angles (in the YXZ convention: when decomposing,
- first Z, then X, and Y last) corresponding to the rotation
- represented by the unit quaternion. Returned vector contains
- the rotation angles in the format (X angle, Y angle, Z angle).
-
- The Euler angle representation of this quaternion.
-
-
-
- Returns the inverse of the quaternion.
-
- The inverse quaternion.
-
-
-
- Returns whether the quaternion is normalized or not.
-
- A bool for whether the quaternion is normalized or not.
-
-
-
- Returns a copy of the quaternion, normalized to unit length.
-
- The normalized quaternion.
-
-
-
- Returns the result of the spherical linear interpolation between
- this quaternion and `to` by amount `weight`.
-
- Note: Both quaternions must be normalized.
-
- The destination quaternion for interpolation. Must be normalized.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting quaternion of the interpolation.
-
-
-
- Returns the result of the spherical linear interpolation between
- this quaternion and `to` by amount `weight`, but without
- checking if the rotation path is not bigger than 90 degrees.
-
- The destination quaternion for interpolation. Must be normalized.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting quaternion of the interpolation.
-
-
-
- Returns a vector transformed (multiplied) by this quaternion.
-
- A vector to transform.
- The transformed vector.
-
-
-
- The identity quaternion, representing no rotation.
- Equivalent to an identity matrix. If a vector is transformed by
- an identity quaternion, it will not change.
-
- Equivalent to `new Quat(0, 0, 0, 1)`.
-
-
-
- Constructs a quaternion defined by the given values.
-
- X component of the quaternion (imaginary `i` axis part).
- Y component of the quaternion (imaginary `j` axis part).
- Z component of the quaternion (imaginary `k` axis part).
- W component of the quaternion (real part).
-
-
-
- Constructs a quaternion from the given quaternion.
-
- The existing quaternion.
-
-
-
- Constructs a quaternion from the given .
-
- The basis to construct from.
-
-
-
- Constructs a quaternion that will perform a rotation specified by
- Euler angles (in the YXZ convention: when decomposing,
- first Z, then X, and Y last),
- given in the vector format as (X angle, Y angle, Z angle).
-
-
-
-
-
- Constructs a quaternion that will rotate around the given axis
- by the specified angle. The axis must be a normalized vector.
-
- The axis to rotate around. Must be normalized.
- The angle to rotate, in radians.
-
-
-
- Returns true if this quaternion and `other` are approximately equal, by running
- on each component.
-
- The other quaternion to compare.
- Whether or not the quaternions are approximately equal.
-
-
-
- 2D axis-aligned bounding box. Rect2 consists of a position, a size, and
- several utility functions. It is typically used for fast overlap tests.
-
-
-
-
- Beginning corner. Typically has values lower than End.
-
- Directly uses a private field.
-
-
-
- Size from Position to End. Typically all components are positive.
- If the size is negative, you can use to fix it.
-
- Directly uses a private field.
-
-
-
- Ending corner. This is calculated as plus
- . Setting this value will change the size.
-
- Getting is equivalent to `value = Position + Size`, setting is equivalent to `Size = value - Position`.
-
-
-
- The area of this rect.
-
- Equivalent to .
-
-
-
- Returns a Rect2 with equivalent position and size, modified so that
- the top-left corner is the origin and width and height are positive.
-
- The modified rect.
-
-
-
- Returns the intersection of this Rect2 and `b`.
-
- The other rect.
- The clipped rect.
-
-
-
- Returns true if this Rect2 completely encloses another one.
-
- The other rect that may be enclosed.
- A bool for whether or not this rect encloses `b`.
-
-
-
- Returns this Rect2 expanded to include a given point.
-
- The point to include.
- The expanded rect.
-
-
-
- Returns the area of the Rect2.
-
- The area.
-
-
-
- Returns a copy of the Rect2 grown a given amount of units towards all the sides.
-
- The amount to grow by.
- The grown rect.
-
-
-
- Returns a copy of the Rect2 grown a given amount of units towards each direction individually.
-
- The amount to grow by on the left.
- The amount to grow by on the top.
- The amount to grow by on the right.
- The amount to grow by on the bottom.
- The grown rect.
-
-
-
- Returns a copy of the Rect2 grown a given amount of units towards the direction.
-
- The direction to grow in.
- The amount to grow by.
- The grown rect.
-
-
-
- Returns true if the Rect2 is flat or empty, or false otherwise.
-
- A bool for whether or not the rect has area.
-
-
-
- Returns true if the Rect2 contains a point, or false otherwise.
-
- The point to check.
- A bool for whether or not the rect contains `point`.
-
-
-
- Returns true if the Rect2 overlaps with `b`
- (i.e. they have at least one point in common).
-
- If `includeBorders` is true, they will also be considered overlapping
- if their borders touch, even without intersection.
-
- The other rect to check for intersections with.
- Whether or not to consider borders.
- A bool for whether or not they are intersecting.
-
-
-
- Returns a larger Rect2 that contains this Rect2 and `b`.
-
- The other rect.
- The merged rect.
-
-
-
- Constructs a Rect2 from a position and size.
-
- The position.
- The size.
-
-
-
- Constructs a Rect2 from a position, width, and height.
-
- The position.
- The width.
- The height.
-
-
-
- Constructs a Rect2 from x, y, and size.
-
- The position's X coordinate.
- The position's Y coordinate.
- The size.
-
-
-
- Constructs a Rect2 from x, y, width, and height.
-
- The position's X coordinate.
- The position's Y coordinate.
- The width.
- The height.
-
-
-
- Returns true if this rect and `other` are approximately equal, by running
- on each component.
-
- The other rect to compare.
- Whether or not the rects are approximately equal.
-
-
- Find the first occurrence of a substring. Optionally, the search starting position can be passed.
- The starting position of the substring, or -1 if not found.
-
-
- Find the last occurrence of a substring.
- The starting position of the substring, or -1 if not found.
-
-
- Find the last occurrence of a substring specifying the search starting position.
- The starting position of the substring, or -1 if not found.
-
-
- Find the first occurrence of a substring but search as case-insensitive. Optionally, the search starting position can be passed.
- The starting position of the substring, or -1 if not found.
-
-
-
- Return the length of the string in characters.
-
-
-
-
- 3×4 matrix (3 rows, 4 columns) used for 3D linear transformations.
- It can represent transformations such as translation, rotation, or scaling.
- It consists of a (first 3 columns) and a
- for the origin (last column).
-
- For more information, read this documentation article:
- https://docs.godotengine.org/en/latest/tutorials/math/matrices_and_transforms.html
-
-
-
-
- The of this transform. Contains the X, Y, and Z basis
- vectors (columns 0 to 2) and is responsible for rotation and scale.
-
-
-
-
- The origin vector (column 3, the fourth column). Equivalent to array index `[3]`.
-
-
-
-
- Access whole columns in the form of Vector3. The fourth column is the origin vector.
-
- Which column vector.
-
-
-
- Access matrix elements in column-major order. The fourth column is the origin vector.
-
- Which column, the matrix horizontal position.
- Which row, the matrix vertical position.
-
-
-
- Returns the inverse of the transform, under the assumption that
- the transformation is composed of rotation, scaling, and translation.
-
- The inverse transformation matrix.
-
-
-
- Interpolates this transform to the other `transform` by `weight`.
-
- The other transform.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The interpolated transform.
-
-
-
- Returns the inverse of the transform, under the assumption that
- the transformation is composed of rotation and translation
- (no scaling, use for transforms with scaling).
-
- The inverse matrix.
-
-
-
- Returns a copy of the transform rotated such that its
- -Z axis (forward) points towards the target position.
-
- The transform will first be rotated around the given up vector,
- and then fully aligned to the target by a further rotation around
- an axis perpendicular to both the target and up vectors.
-
- Operations take place in global space.
-
- The object to look at.
- The relative up direction
- The resulting transform.
-
-
-
- Returns the transform with the basis orthogonal (90 degrees),
- and normalized axis vectors (scale of 1 or -1).
-
- The orthonormalized transform.
-
-
-
- Rotates the transform around the given `axis` by `phi` (in radians),
- using matrix multiplication. The axis must be a normalized vector.
-
- The axis to rotate around. Must be normalized.
- The angle to rotate, in radians.
- The rotated transformation matrix.
-
-
-
- Scales the transform by the given 3D scaling factor, using matrix multiplication.
-
- The scale to introduce.
- The scaled transformation matrix.
-
-
-
- Translates the transform by the given `offset`,
- relative to the transform's basis vectors.
-
- Unlike and ,
- this does not use matrix multiplication.
-
- The offset to translate by.
- The translated matrix.
-
-
-
- Returns a vector transformed (multiplied) by this transformation matrix.
-
- A vector to transform.
- The transformed vector.
-
-
-
- Returns a vector transformed (multiplied) by the transposed transformation matrix.
-
- Note: This results in a multiplication by the inverse of the
- transformation matrix only if it represents a rotation-reflection.
-
- A vector to inversely transform.
- The inversely transformed vector.
-
-
-
- The identity transform, with no translation, rotation, or scaling applied.
- This is used as a replacement for `Transform()` in GDScript.
- Do not use `new Transform()` with no arguments in C#, because it sets all values to zero.
-
- Equivalent to `new Transform(Vector3.Right, Vector3.Up, Vector3.Back, Vector3.Zero)`.
-
-
-
- The transform that will flip something along the X axis.
-
- Equivalent to `new Transform(Vector3.Left, Vector3.Up, Vector3.Back, Vector3.Zero)`.
-
-
-
- The transform that will flip something along the Y axis.
-
- Equivalent to `new Transform(Vector3.Right, Vector3.Down, Vector3.Back, Vector3.Zero)`.
-
-
-
- The transform that will flip something along the Z axis.
-
- Equivalent to `new Transform(Vector3.Right, Vector3.Up, Vector3.Forward, Vector3.Zero)`.
-
-
-
- Constructs a transformation matrix from 4 vectors (matrix columns).
-
- The X vector, or column index 0.
- The Y vector, or column index 1.
- The Z vector, or column index 2.
- The origin vector, or column index 3.
-
-
-
- Constructs a transformation matrix from the given quaternion and origin vector.
-
- The to create the basis from.
- The origin vector, or column index 3.
-
-
-
- Constructs a transformation matrix from the given basis and origin vector.
-
- The to create the basis from.
- The origin vector, or column index 3.
-
-
-
- Returns true if this transform and `other` are approximately equal, by running
- on each component.
-
- The other transform to compare.
- Whether or not the matrices are approximately equal.
-
-
-
- 2×3 matrix (2 rows, 3 columns) used for 2D linear transformations.
- It can represent transformations such as translation, rotation, or scaling.
- It consists of a three values: x, y, and the origin.
-
- For more information, read this documentation article:
- https://docs.godotengine.org/en/latest/tutorials/math/matrices_and_transforms.html
-
-
-
-
- The basis matrix's X vector (column 0). Equivalent to array index `[0]`.
-
-
-
-
-
- The basis matrix's Y vector (column 1). Equivalent to array index `[1]`.
-
-
-
-
- The origin vector (column 2, the third column). Equivalent to array index `[2]`.
- The origin vector represents translation.
-
-
-
-
- The rotation of this transformation matrix.
-
- Getting is equivalent to calling with the values of .
-
-
-
- The scale of this transformation matrix.
-
- Equivalent to the lengths of each column vector, but Y is negative if the determinant is negative.
-
-
-
- Access whole columns in the form of Vector2. The third column is the origin vector.
-
- Which column vector.
-
-
-
- Access matrix elements in column-major order. The third column is the origin vector.
-
- Which column, the matrix horizontal position.
- Which row, the matrix vertical position.
-
-
-
- Returns the inverse of the transform, under the assumption that
- the transformation is composed of rotation, scaling, and translation.
-
- The inverse transformation matrix.
-
-
-
- Returns the determinant of the basis matrix. If the basis is
- uniformly scaled, its determinant is the square of the scale.
-
- A negative determinant means the Y scale is negative.
- A zero determinant means the basis isn't invertible,
- and is usually considered invalid.
-
- The determinant of the basis matrix.
-
-
-
- Returns a vector transformed (multiplied) by the basis matrix.
- This method does not account for translation (the origin vector).
-
- A vector to transform.
- The transformed vector.
-
-
-
- Returns a vector transformed (multiplied) by the inverse basis matrix.
- This method does not account for translation (the origin vector).
-
- Note: This results in a multiplication by the inverse of the
- basis matrix only if it represents a rotation-reflection.
-
- A vector to inversely transform.
- The inversely transformed vector.
-
-
-
- Interpolates this transform to the other `transform` by `weight`.
-
- The other transform.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The interpolated transform.
-
-
-
- Returns the inverse of the transform, under the assumption that
- the transformation is composed of rotation and translation
- (no scaling, use for transforms with scaling).
-
- The inverse matrix.
-
-
-
- Returns the transform with the basis orthogonal (90 degrees),
- and normalized axis vectors (scale of 1 or -1).
-
- The orthonormalized transform.
-
-
-
- Rotates the transform by `phi` (in radians), using matrix multiplication.
-
- The angle to rotate, in radians.
- The rotated transformation matrix.
-
-
-
- Scales the transform by the given scaling factor, using matrix multiplication.
-
- The scale to introduce.
- The scaled transformation matrix.
-
-
-
- Translates the transform by the given `offset`,
- relative to the transform's basis vectors.
-
- Unlike and ,
- this does not use matrix multiplication.
-
- The offset to translate by.
- The translated matrix.
-
-
-
- Returns a vector transformed (multiplied) by this transformation matrix.
-
- A vector to transform.
- The transformed vector.
-
-
-
- Returns a vector transformed (multiplied) by the inverse transformation matrix.
-
- A vector to inversely transform.
- The inversely transformed vector.
-
-
-
- The identity transform, with no translation, rotation, or scaling applied.
- This is used as a replacement for `Transform2D()` in GDScript.
- Do not use `new Transform2D()` with no arguments in C#, because it sets all values to zero.
-
- Equivalent to `new Transform2D(Vector2.Right, Vector2.Down, Vector2.Zero)`.
-
-
-
- The transform that will flip something along the X axis.
-
- Equivalent to `new Transform2D(Vector2.Left, Vector2.Down, Vector2.Zero)`.
-
-
-
- The transform that will flip something along the Y axis.
-
- Equivalent to `new Transform2D(Vector2.Right, Vector2.Up, Vector2.Zero)`.
-
-
-
- Constructs a transformation matrix from 3 vectors (matrix columns).
-
- The X vector, or column index 0.
- The Y vector, or column index 1.
- The origin vector, or column index 2.
-
-
-
- Constructs a transformation matrix from the given components.
- Arguments are named such that xy is equal to calling x.y
-
- The X component of the X column vector, accessed via `t.x.x` or `[0][0]`
- The Y component of the X column vector, accessed via `t.x.y` or `[0][1]`
- The X component of the Y column vector, accessed via `t.y.x` or `[1][0]`
- The Y component of the Y column vector, accessed via `t.y.y` or `[1][1]`
- The X component of the origin vector, accessed via `t.origin.x` or `[2][0]`
- The Y component of the origin vector, accessed via `t.origin.y` or `[2][1]`
-
-
-
- Constructs a transformation matrix from a rotation value and origin vector.
-
- The rotation of the new transform, in radians.
- The origin vector, or column index 2.
-
-
-
- Returns true if this transform and `other` are approximately equal, by running
- on each component.
-
- The other transform to compare.
- Whether or not the matrices are approximately equal.
-
-
-
- 2-element structure that can be used to represent positions in 2D space or any other pair of numeric values.
-
-
-
-
- Enumerated index values for the axes.
- Returned by and .
-
-
-
-
- The vector's X component. Also accessible by using the index position `[0]`.
-
-
-
-
- The vector's Y component. Also accessible by using the index position `[1]`.
-
-
-
-
- Access vector components using their index.
-
- `[0]` is equivalent to `.x`, `[1]` is equivalent to `.y`.
-
-
-
- Returns a new vector with all components in absolute values (i.e. positive).
-
- A vector with called on each component.
-
-
-
- Returns this vector's angle with respect to the X axis, or (1, 0) vector, in radians.
-
- Equivalent to the result of when
- called with the vector's `y` and `x` as parameters: `Mathf.Atan2(v.y, v.x)`.
-
- The angle of this vector, in radians.
-
-
-
- Returns the angle to the given vector, in radians.
-
- The other vector to compare this vector to.
- The angle between the two vectors, in radians.
-
-
-
- Returns the angle between the line connecting the two points and the X axis, in radians.
-
- The other vector to compare this vector to.
- The angle between the two vectors, in radians.
-
-
-
- Returns the aspect ratio of this vector, the ratio of `x` to `y`.
-
- The `x` component divided by the `y` component.
-
-
-
- Returns the vector "bounced off" from a plane defined by the given normal.
-
- The normal vector defining the plane to bounce off. Must be normalized.
- The bounced vector.
-
-
-
- Returns a new vector with all components rounded up (towards positive infinity).
-
- A vector with called on each component.
-
-
-
- Returns the vector with a maximum length by limiting its length to `length`.
-
- The length to limit to.
- The vector with its length limited.
-
-
-
- Returns the cross product of this vector and `b`.
-
- The other vector.
- The cross product value.
-
-
-
- Performs a cubic interpolation between vectors `preA`, this vector, `b`, and `postB`, by the given amount `t`.
-
- The destination vector.
- A vector before this vector.
- A vector after `b`.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The interpolated vector.
-
-
-
- Returns the normalized vector pointing from this vector to `b`.
-
- The other vector to point towards.
- The direction from this vector to `b`.
-
-
-
- Returns the squared distance between this vector and `to`.
- This method runs faster than , so prefer it if
- you need to compare vectors or need the squared distance for some formula.
-
- The other vector to use.
- The squared distance between the two vectors.
-
-
-
- Returns the distance between this vector and `to`.
-
- The other vector to use.
- The distance between the two vectors.
-
-
-
- Returns the dot product of this vector and `with`.
-
- The other vector to use.
- The dot product of the two vectors.
-
-
-
- Returns a new vector with all components rounded down (towards negative infinity).
-
- A vector with called on each component.
-
-
-
- Returns the inverse of this vector. This is the same as `new Vector2(1 / v.x, 1 / v.y)`.
-
- The inverse of this vector.
-
-
-
- Returns true if the vector is normalized, and false otherwise.
-
- A bool indicating whether or not the vector is normalized.
-
-
-
- Returns the length (magnitude) of this vector.
-
- The length of this vector.
-
-
-
- Returns the squared length (squared magnitude) of this vector.
- This method runs faster than , so prefer it if
- you need to compare vectors or need the squared length for some formula.
-
- The squared length of this vector.
-
-
-
- Returns the result of the linear interpolation between
- this vector and `to` by amount `weight`.
-
- The destination vector for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting vector of the interpolation.
-
-
-
- Returns the result of the linear interpolation between
- this vector and `to` by the vector amount `weight`.
-
- The destination vector for interpolation.
- A vector with components on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting vector of the interpolation.
-
-
-
- Returns the axis of the vector's largest value. See .
- If both components are equal, this method returns .
-
- The index of the largest axis.
-
-
-
- Returns the axis of the vector's smallest value. See .
- If both components are equal, this method returns .
-
- The index of the smallest axis.
-
-
-
- Moves this vector toward `to` by the fixed `delta` amount.
-
- The vector to move towards.
- The amount to move towards by.
- The resulting vector.
-
-
-
- Returns the vector scaled to unit length. Equivalent to `v / v.Length()`.
-
- A normalized version of the vector.
-
-
-
- Returns a perpendicular vector rotated 90 degrees counter-clockwise
- compared to the original, with the same length.
-
- The perpendicular vector.
-
-
-
- Returns a vector composed of the of this vector's components and `mod`.
-
- A value representing the divisor of the operation.
- A vector with each component by `mod`.
-
-
-
- Returns a vector composed of the of this vector's components and `modv`'s components.
-
- A vector representing the divisors of the operation.
- A vector with each component by `modv`'s components.
-
-
-
- Returns this vector projected onto another vector.
-
- The vector to project onto.
- The projected vector.
-
-
-
- Returns this vector reflected from a plane defined by the given `normal`.
-
- The normal vector defining the plane to reflect from. Must be normalized.
- The reflected vector.
-
-
-
- Rotates this vector by `phi` radians.
-
- The angle to rotate by, in radians.
- The rotated vector.
-
-
-
- Returns this vector with all components rounded to the nearest integer,
- with halfway cases rounded towards the nearest multiple of two.
-
- The rounded vector.
-
-
-
- Returns a vector with each component set to one or negative one, depending
- on the signs of this vector's components, or zero if the component is zero,
- by calling on each component.
-
- A vector with all components as either `1`, `-1`, or `0`.
-
-
-
- Returns the result of the spherical linear interpolation between
- this vector and `to` by amount `weight`.
-
- Note: Both vectors must be normalized.
-
- The destination vector for interpolation. Must be normalized.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting vector of the interpolation.
-
-
-
- Returns this vector slid along a plane defined by the given normal.
-
- The normal vector defining the plane to slide on.
- The slid vector.
-
-
-
- Returns this vector with each component snapped to the nearest multiple of `step`.
- This can also be used to round to an arbitrary number of decimals.
-
- A vector value representing the step size to snap to.
- The snapped vector.
-
-
-
- Returns a perpendicular vector rotated 90 degrees counter-clockwise
- compared to the original, with the same length.
- Deprecated, will be replaced by in 4.0.
-
- The perpendicular vector.
-
-
-
- Zero vector, a vector with all components set to `0`.
-
- Equivalent to `new Vector2(0, 0)`
-
-
-
- Deprecated, please use a negative sign with instead.
-
- Equivalent to `new Vector2(-1, -1)`
-
-
-
- One vector, a vector with all components set to `1`.
-
- Equivalent to `new Vector2(1, 1)`
-
-
-
- Infinity vector, a vector with all components set to `Mathf.Inf`.
-
- Equivalent to `new Vector2(Mathf.Inf, Mathf.Inf)`
-
-
-
- Up unit vector. Y is down in 2D, so this vector points -Y.
-
- Equivalent to `new Vector2(0, -1)`
-
-
-
- Down unit vector. Y is down in 2D, so this vector points +Y.
-
- Equivalent to `new Vector2(0, 1)`
-
-
-
- Right unit vector. Represents the direction of right.
-
- Equivalent to `new Vector2(1, 0)`
-
-
-
- Left unit vector. Represents the direction of left.
-
- Equivalent to `new Vector2(-1, 0)`
-
-
-
- Constructs a new with the given components.
-
- The vector's X component.
- The vector's Y component.
-
-
-
- Constructs a new from an existing .
-
- The existing .
-
-
-
- Returns true if this vector and `other` are approximately equal, by running
- on each component.
-
- The other vector to compare.
- Whether or not the vectors are approximately equal.
-
-
-
- 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values.
-
-
-
-
- Enumerated index values for the axes.
- Returned by and .
-
-
-
-
- The vector's X component. Also accessible by using the index position `[0]`.
-
-
-
-
- The vector's Y component. Also accessible by using the index position `[1]`.
-
-
-
-
- The vector's Z component. Also accessible by using the index position `[2]`.
-
-
-
-
- Access vector components using their index.
-
- `[0]` is equivalent to `.x`, `[1]` is equivalent to `.y`, `[2]` is equivalent to `.z`.
-
-
-
- Returns a new vector with all components in absolute values (i.e. positive).
-
- A vector with called on each component.
-
-
-
- Returns the minimum angle to the given vector, in radians.
-
- The other vector to compare this vector to.
- The angle between the two vectors, in radians.
-
-
-
- Returns this vector "bounced off" from a plane defined by the given normal.
-
- The normal vector defining the plane to bounce off. Must be normalized.
- The bounced vector.
-
-
-
- Returns a new vector with all components rounded up (towards positive infinity).
-
- A vector with called on each component.
-
-
-
- Returns the cross product of this vector and `b`.
-
- The other vector.
- The cross product vector.
-
-
-
- Performs a cubic interpolation between vectors `preA`, this vector,
- `b`, and `postB`, by the given amount `t`.
-
- The destination vector.
- A vector before this vector.
- A vector after `b`.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The interpolated vector.
-
-
-
- Returns the normalized vector pointing from this vector to `b`.
-
- The other vector to point towards.
- The direction from this vector to `b`.
-
-
-
- Returns the squared distance between this vector and `b`.
- This method runs faster than , so prefer it if
- you need to compare vectors or need the squared distance for some formula.
-
- The other vector to use.
- The squared distance between the two vectors.
-
-
-
- Returns the distance between this vector and `b`.
-
- The other vector to use.
- The distance between the two vectors.
-
-
-
- Returns the dot product of this vector and `b`.
-
- The other vector to use.
- The dot product of the two vectors.
-
-
-
- Returns a new vector with all components rounded down (towards negative infinity).
-
- A vector with called on each component.
-
-
-
- Returns the inverse of this vector. This is the same as `new Vector3(1 / v.x, 1 / v.y, 1 / v.z)`.
-
- The inverse of this vector.
-
-
-
- Returns true if the vector is normalized, and false otherwise.
-
- A bool indicating whether or not the vector is normalized.
-
-
-
- Returns the length (magnitude) of this vector.
-
- The length of this vector.
-
-
-
- Returns the squared length (squared magnitude) of this vector.
- This method runs faster than , so prefer it if
- you need to compare vectors or need the squared length for some formula.
-
- The squared length of this vector.
-
-
-
- Returns the result of the linear interpolation between
- this vector and `to` by amount `weight`.
-
- The destination vector for interpolation.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting vector of the interpolation.
-
-
-
- Returns the result of the linear interpolation between
- this vector and `to` by the vector amount `weight`.
-
- The destination vector for interpolation.
- A vector with components on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting vector of the interpolation.
-
-
-
- Returns the axis of the vector's largest value. See .
- If all components are equal, this method returns .
-
- The index of the largest axis.
-
-
-
- Returns the axis of the vector's smallest value. See .
- If all components are equal, this method returns .
-
- The index of the smallest axis.
-
-
-
- Moves this vector toward `to` by the fixed `delta` amount.
-
- The vector to move towards.
- The amount to move towards by.
- The resulting vector.
-
-
-
- Returns the vector scaled to unit length. Equivalent to `v / v.Length()`.
-
- A normalized version of the vector.
-
-
-
- Returns the outer product with `b`.
-
- The other vector.
- A representing the outer product matrix.
-
-
-
- Returns a vector composed of the of this vector's components and `mod`.
-
- A value representing the divisor of the operation.
- A vector with each component by `mod`.
-
-
-
- Returns a vector composed of the of this vector's components and `modv`'s components.
-
- A vector representing the divisors of the operation.
- A vector with each component by `modv`'s components.
-
-
-
- Returns this vector projected onto another vector `b`.
-
- The vector to project onto.
- The projected vector.
-
-
-
- Returns this vector reflected from a plane defined by the given `normal`.
-
- The normal vector defining the plane to reflect from. Must be normalized.
- The reflected vector.
-
-
-
- Rotates this vector around a given `axis` vector by `phi` radians.
- The `axis` vector must be a normalized vector.
-
- The vector to rotate around. Must be normalized.
- The angle to rotate by, in radians.
- The rotated vector.
-
-
-
- Returns this vector with all components rounded to the nearest integer,
- with halfway cases rounded towards the nearest multiple of two.
-
- The rounded vector.
-
-
-
- Returns a vector with each component set to one or negative one, depending
- on the signs of this vector's components, or zero if the component is zero,
- by calling on each component.
-
- A vector with all components as either `1`, `-1`, or `0`.
-
-
-
- Returns the result of the spherical linear interpolation between
- this vector and `to` by amount `weight`.
-
- Note: Both vectors must be normalized.
-
- The destination vector for interpolation. Must be normalized.
- A value on the range of 0.0 to 1.0, representing the amount of interpolation.
- The resulting vector of the interpolation.
-
-
-
- Returns this vector slid along a plane defined by the given normal.
-
- The normal vector defining the plane to slide on.
- The slid vector.
-
-
-
- Returns this vector with each component snapped to the nearest multiple of `step`.
- This can also be used to round to an arbitrary number of decimals.
-
- A vector value representing the step size to snap to.
- The snapped vector.
-
-
-
- Returns a diagonal matrix with the vector as main diagonal.
-
- This is equivalent to a Basis with no rotation or shearing and
- this vector's components set as the scale.
-
- A Basis with the vector as its main diagonal.
-
-
-
- Zero vector, a vector with all components set to `0`.
-
- Equivalent to `new Vector3(0, 0, 0)`
-
-
-
- One vector, a vector with all components set to `1`.
-
- Equivalent to `new Vector3(1, 1, 1)`
-
-
-
- Deprecated, please use a negative sign with instead.
-
- Equivalent to `new Vector3(-1, -1, -1)`
-
-
-
- Infinity vector, a vector with all components set to `Mathf.Inf`.
-
- Equivalent to `new Vector3(Mathf.Inf, Mathf.Inf, Mathf.Inf)`
-
-
-
- Up unit vector.
-
- Equivalent to `new Vector3(0, 1, 0)`
-
-
-
- Down unit vector.
-
- Equivalent to `new Vector3(0, -1, 0)`
-
-
-
- Right unit vector. Represents the local direction of right,
- and the global direction of east.
-
- Equivalent to `new Vector3(1, 0, 0)`
-
-
-
- Left unit vector. Represents the local direction of left,
- and the global direction of west.
-
- Equivalent to `new Vector3(-1, 0, 0)`
-
-
-
- Forward unit vector. Represents the local direction of forward,
- and the global direction of north.
-
- Equivalent to `new Vector3(0, 0, -1)`
-
-
-
- Back unit vector. Represents the local direction of back,
- and the global direction of south.
-
- Equivalent to `new Vector3(0, 0, 1)`
-
-
-
- Constructs a new with the given components.
-
- The vector's X component.
- The vector's Y component.
- The vector's Z component.
-
-
-
- Constructs a new from an existing .
-
- The existing .
-
-
-
- Returns true if this vector and `other` are approximately equal, by running
- on each component.
-
- The other vector to compare.
- Whether or not the vectors are approximately equal.
-
-
-
- Left margin, usually used for or -derived classes.
-
-
-
-
- Top margin, usually used for or -derived classes.
-
-
-
-
- Right margin, usually used for or -derived classes.
-
-
-
-
- Bottom margin, usually used for or -derived classes.
-
-
-
-
- Top-left corner.
-
-
-
-
- Top-right corner.
-
-
-
-
- Bottom-right corner.
-
-
-
-
- Bottom-left corner.
-
-
-
-
- General vertical alignment, usually used for , , , etc.
-
-
-
-
- General horizontal alignment, usually used for , , , etc.
-
-
-
-
- Horizontal left alignment, usually for text-derived classes.
-
-
-
-
- Horizontal center alignment, usually for text-derived classes.
-
-
-
-
- Horizontal right alignment, usually for text-derived classes.
-
-
-
-
- Vertical top alignment, usually for text-derived classes.
-
-
-
-
- Vertical center alignment, usually for text-derived classes.
-
-
-
-
- Vertical bottom alignment, usually for text-derived classes.
-
-
-
-
- Escape key.
-
-
-
-
- Tab key.
-
-
-
-
- Shift+Tab key.
-
-
-
-
- Backspace key.
-
-
-
-
- Return key (on the main keyboard).
-
-
-
-
- Enter key on the numeric keypad.
-
-
-
-
- Insert key.
-
-
-
-
- Delete key.
-
-
-
-
- Pause key.
-
-
-
-
- Print Screen key.
-
-
-
-
- System Request key.
-
-
-
-
- Clear key.
-
-
-
-
- Home key.
-
-
-
-
- End key.
-
-
-
-
- Left arrow key.
-
-
-
-
- Up arrow key.
-
-
-
-
- Right arrow key.
-
-
-
-
- Down arrow key.
-
-
-
-
- Page Up key.
-
-
-
-
- Page Down key.
-
-
-
-
- Shift key.
-
-
-
-
- Control key.
-
-
-
-
- Meta key.
-
-
-
-
- Alt key.
-
-
-
-
- Caps Lock key.
-
-
-
-
- Num Lock key.
-
-
-
-
- Scroll Lock key.
-
-
-
-
- F1 key.
-
-
-
-
- F2 key.
-
-
-
-
- F3 key.
-
-
-
-
- F4 key.
-
-
-
-
- F5 key.
-
-
-
-
- F6 key.
-
-
-
-
- F7 key.
-
-
-
-
- F8 key.
-
-
-
-
- F9 key.
-
-
-
-
- F10 key.
-
-
-
-
- F11 key.
-
-
-
-
- F12 key.
-
-
-
-
- F13 key.
-
-
-
-
- F14 key.
-
-
-
-
- F15 key.
-
-
-
-
- F16 key.
-
-
-
-
- Multiply (*) key on the numeric keypad.
-
-
-
-
- Divide (/) key on the numeric keypad.
-
-
-
-
- Subtract (-) key on the numeric keypad.
-
-
-
-
- Period (.) key on the numeric keypad.
-
-
-
-
- Add (+) key on the numeric keypad.
-
-
-
-
- Number 0 on the numeric keypad.
-
-
-
-
- Number 1 on the numeric keypad.
-
-
-
-
- Number 2 on the numeric keypad.
-
-
-
-
- Number 3 on the numeric keypad.
-
-
-
-
- Number 4 on the numeric keypad.
-
-
-
-
- Number 5 on the numeric keypad.
-
-
-
-
- Number 6 on the numeric keypad.
-
-
-
-
- Number 7 on the numeric keypad.
-
-
-
-
- Number 8 on the numeric keypad.
-
-
-
-
- Number 9 on the numeric keypad.
-
-
-
-
- Left Super key (Windows key).
-
-
-
-
- Right Super key (Windows key).
-
-
-
-
- Context menu key.
-
-
-
-
- Left Hyper key.
-
-
-
-
- Right Hyper key.
-
-
-
-
- Help key.
-
-
-
-
- Left Direction key.
-
-
-
-
- Right Direction key.
-
-
-
-
- Media back key. Not to be confused with the Back button on an Android device.
-
-
-
-
- Media forward key.
-
-
-
-
- Media stop key.
-
-
-
-
- Media refresh key.
-
-
-
-
- Volume down key.
-
-
-
-
- Mute volume key.
-
-
-
-
- Volume up key.
-
-
-
-
- Bass Boost key.
-
-
-
-
- Bass up key.
-
-
-
-
- Bass down key.
-
-
-
-
- Treble up key.
-
-
-
-
- Treble down key.
-
-
-
-
- Media play key.
-
-
-
-
- Media stop key.
-
-
-
-
- Previous song key.
-
-
-
-
- Next song key.
-
-
-
-
- Media record key.
-
-
-
-
- Home page key.
-
-
-
-
- Favorites key.
-
-
-
-
- Search key.
-
-
-
-
- Standby key.
-
-
-
-
- Open URL / Launch Browser key.
-
-
-
-
- Launch Mail key.
-
-
-
-
- Launch Media key.
-
-
-
-
- Launch Shortcut 0 key.
-
-
-
-
- Launch Shortcut 1 key.
-
-
-
-
- Launch Shortcut 2 key.
-
-
-
-
- Launch Shortcut 3 key.
-
-
-
-
- Launch Shortcut 4 key.
-
-
-
-
- Launch Shortcut 5 key.
-
-
-
-
- Launch Shortcut 6 key.
-
-
-
-
- Launch Shortcut 7 key.
-
-
-
-
- Launch Shortcut 8 key.
-
-
-
-
- Launch Shortcut 9 key.
-
-
-
-
- Launch Shortcut A key.
-
-
-
-
- Launch Shortcut B key.
-
-
-
-
- Launch Shortcut C key.
-
-
-
-
- Launch Shortcut D key.
-
-
-
-
- Launch Shortcut E key.
-
-
-
-
- Launch Shortcut F key.
-
-
-
-
- Unknown key.
-
-
-
-
- Space key.
-
-
-
-
- ! key.
-
-
-
-
- " key.
-
-
-
-
- # key.
-
-
-
-
- $ key.
-
-
-
-
- % key.
-
-
-
-
- & key.
-
-
-
-
- ' key.
-
-
-
-
- ( key.
-
-
-
-
- ) key.
-
-
-
-
- * key.
-
-
-
-
- + key.
-
-
-
-
- , key.
-
-
-
-
- - key.
-
-
-
-
- . key.
-
-
-
-
- / key.
-
-
-
-
- Number 0.
-
-
-
-
- Number 1.
-
-
-
-
- Number 2.
-
-
-
-
- Number 3.
-
-
-
-
- Number 4.
-
-
-
-
- Number 5.
-
-
-
-
- Number 6.
-
-
-
-
- Number 7.
-
-
-
-
- Number 8.
-
-
-
-
- Number 9.
-
-
-
-
- : key.
-
-
-
-
- ; key.
-
-
-
-
- < key.
-
-
-
-
- = key.
-
-
-
-
- > key.
-
-
-
-
- ? key.
-
-
-
-
- @ key.
-
-
-
-
- A key.
-
-
-
-
- B key.
-
-
-
-
- C key.
-
-
-
-
- D key.
-
-
-
-
- E key.
-
-
-
-
- F key.
-
-
-
-
- G key.
-
-
-
-
- H key.
-
-
-
-
- I key.
-
-
-
-
- J key.
-
-
-
-
- K key.
-
-
-
-
- L key.
-
-
-
-
- M key.
-
-
-
-
- N key.
-
-
-
-
- O key.
-
-
-
-
- P key.
-
-
-
-
- Q key.
-
-
-
-
- R key.
-
-
-
-
- S key.
-
-
-
-
- T key.
-
-
-
-
- U key.
-
-
-
-
- V key.
-
-
-
-
- W key.
-
-
-
-
- X key.
-
-
-
-
- Y key.
-
-
-
-
- Z key.
-
-
-
-
- [ key.
-
-
-
-
- \ key.
-
-
-
-
- ] key.
-
-
-
-
- ^ key.
-
-
-
-
- _ key.
-
-
-
-
- ` key.
-
-
-
-
- { key.
-
-
-
-
- | key.
-
-
-
-
- } key.
-
-
-
-
- ~ key.
-
-
-
-
- Non-breakable space key.
-
-
-
-
- ¡ key.
-
-
-
-
- ¢ key.
-
-
-
-
- £ key.
-
-
-
-
- ¤ key.
-
-
-
-
- ¥ key.
-
-
-
-
- ¦ key.
-
-
-
-
- § key.
-
-
-
-
- ¨ key.
-
-
-
-
- © key.
-
-
-
-
- ª key.
-
-
-
-
- « key.
-
-
-
-
- ¬ key.
-
-
-
-
- Soft hyphen key.
-
-
-
-
- ® key.
-
-
-
-
- ¯ key.
-
-
-
-
- ° key.
-
-
-
-
- ± key.
-
-
-
-
- ² key.
-
-
-
-
- ³ key.
-
-
-
-
- ´ key.
-
-
-
-
- µ key.
-
-
-
-
- ¶ key.
-
-
-
-
- · key.
-
-
-
-
- ¸ key.
-
-
-
-
- ¹ key.
-
-
-
-
- º key.
-
-
-
-
- » key.
-
-
-
-
- ¼ key.
-
-
-
-
- ½ key.
-
-
-
-
- ¾ key.
-
-
-
-
- ¿ key.
-
-
-
-
- À key.
-
-
-
-
- Á key.
-
-
-
-
- Â key.
-
-
-
-
- Ã key.
-
-
-
-
- Ä key.
-
-
-
-
- Å key.
-
-
-
-
- Æ key.
-
-
-
-
- Ç key.
-
-
-
-
- È key.
-
-
-
-
- É key.
-
-
-
-
- Ê key.
-
-
-
-
- Ë key.
-
-
-
-
- Ì key.
-
-
-
-
- Í key.
-
-
-
-
- Î key.
-
-
-
-
- Ï key.
-
-
-
-
- Ð key.
-
-
-
-
- Ñ key.
-
-
-
-
- Ò key.
-
-
-
-
- Ó key.
-
-
-
-
- Ô key.
-
-
-
-
- Õ key.
-
-
-
-
- Ö key.
-
-
-
-
- × key.
-
-
-
-
- Ø key.
-
-
-
-
- Ù key.
-
-
-
-
- Ú key.
-
-
-
-
- Û key.
-
-
-
-
- Ü key.
-
-
-
-
- Ý key.
-
-
-
-
- Þ key.
-
-
-
-
- ß key.
-
-
-
-
- ÷ key.
-
-
-
-
- ÿ key.
-
-
-
-
- Key Code mask.
-
-
-
-
- Modifier key mask.
-
-
-
-
- Shift key mask.
-
-
-
-
- Alt key mask.
-
-
-
-
- Meta key mask.
-
-
-
-
- Ctrl key mask.
-
-
-
-
- Command key mask. On macOS, this is equivalent to . On other platforms, this is equivalent to . This mask should be preferred to or for system shortcuts as it handles all platforms correctly.
-
-
-
-
- Keypad key mask.
-
-
-
-
- Group Switch key mask.
-
-
-
-
- Left mouse button.
-
-
-
-
- Right mouse button.
-
-
-
-
- Middle mouse button.
-
-
-
-
- Extra mouse button 1 (only present on some mice).
-
-
-
-
- Extra mouse button 2 (only present on some mice).
-
-
-
-
- Mouse wheel up.
-
-
-
-
- Mouse wheel down.
-
-
-
-
- Mouse wheel left button (only present on some mice).
-
-
-
-
- Mouse wheel right button (only present on some mice).
-
-
-
-
- Left mouse button mask.
-
-
-
-
- Right mouse button mask.
-
-
-
-
- Middle mouse button mask.
-
-
-
-
- Extra mouse button 1 mask.
-
-
-
-
- Extra mouse button 2 mask.
-
-
-
-
- Invalid button or axis.
-
-
-
-
- Gamepad button 0.
-
-
-
-
- Gamepad button 1.
-
-
-
-
- Gamepad button 2.
-
-
-
-
- Gamepad button 3.
-
-
-
-
- Gamepad button 4.
-
-
-
-
- Gamepad button 5.
-
-
-
-
- Gamepad button 6.
-
-
-
-
- Gamepad button 7.
-
-
-
-
- Gamepad button 8.
-
-
-
-
- Gamepad button 9.
-
-
-
-
- Gamepad button 10.
-
-
-
-
- Gamepad button 11.
-
-
-
-
- Gamepad button 12.
-
-
-
-
- Gamepad button 13.
-
-
-
-
- Gamepad button 14.
-
-
-
-
- Gamepad button 15.
-
-
-
-
- Represents the maximum number of joystick buttons supported.
-
-
-
-
- DualShock circle button.
-
-
-
-
- DualShock X button.
-
-
-
-
- DualShock square button.
-
-
-
-
- DualShock triangle button.
-
-
-
-
- Xbox controller B button.
-
-
-
-
- Xbox controller A button.
-
-
-
-
- Xbox controller X button.
-
-
-
-
- Xbox controller Y button.
-
-
-
-
- Nintendo controller A button.
-
-
-
-
- Nintendo controller B button.
-
-
-
-
- Nintendo controller X button.
-
-
-
-
- Nintendo controller Y button.
-
-
-
-
- Grip (side) buttons on a VR controller.
-
-
-
-
- Push down on the touchpad or main joystick on a VR controller.
-
-
-
-
- Trigger on a VR controller.
-
-
-
-
- A button on the right Oculus Touch controller, X button on the left controller (also when used in OpenVR).
-
-
-
-
- B button on the right Oculus Touch controller, Y button on the left controller (also when used in OpenVR).
-
-
-
-
- Menu button on either Oculus Touch controller.
-
-
-
-
- Menu button in OpenVR (Except when Oculus Touch controllers are used).
-
-
-
-
- Gamepad button Select.
-
-
-
-
- Gamepad button Start.
-
-
-
-
- Gamepad DPad up.
-
-
-
-
- Gamepad DPad down.
-
-
-
-
- Gamepad DPad left.
-
-
-
-
- Gamepad DPad right.
-
-
-
-
- Gamepad left Shoulder button.
-
-
-
-
- Gamepad left trigger.
-
-
-
-
- Gamepad left stick click.
-
-
-
-
- Gamepad right Shoulder button.
-
-
-
-
- Gamepad right trigger.
-
-
-
-
- Gamepad right stick click.
-
-
-
-
- Gamepad left stick horizontal axis.
-
-
-
-
- Gamepad left stick vertical axis.
-
-
-
-
- Gamepad right stick horizontal axis.
-
-
-
-
- Gamepad right stick vertical axis.
-
-
-
-
- Generic gamepad axis 4.
-
-
-
-
- Generic gamepad axis 5.
-
-
-
-
- Gamepad left trigger analog axis.
-
-
-
-
- Gamepad right trigger analog axis.
-
-
-
-
- Generic gamepad axis 8.
-
-
-
-
- Generic gamepad axis 9.
-
-
-
-
- Represents the maximum number of joystick axes supported.
-
-
-
-
- Gamepad left stick horizontal axis.
-
-
-
-
- Gamepad left stick vertical axis.
-
-
-
-
- Gamepad right stick horizontal axis.
-
-
-
-
- Gamepad right stick vertical axis.
-
-
-
-
- Gamepad left analog trigger.
-
-
-
-
- Gamepad right analog trigger.
-
-
-
-
- VR Controller analog trigger.
-
-
-
-
- VR Controller analog grip (side buttons).
-
-
-
-
- OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR controllers).
-
-
-
-
- OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR controllers).
-
-
-
-
- MIDI note OFF message.
-
-
-
-
- MIDI note ON message.
-
-
-
-
- MIDI aftertouch message.
-
-
-
-
- MIDI control change message.
-
-
-
-
- MIDI program change message.
-
-
-
-
- MIDI channel pressure message.
-
-
-
-
- MIDI pitch bend message.
-
-
-
-
- Methods that return return when no error occurred. Note that many functions don't return an error code but will print error messages to standard output.
- Since has value 0, and all other failure codes are positive integers, it can also be used in boolean checks, e.g.:
-
- var err = method_that_returns_error()
- if err != OK:
- print("Failure!)
- # Or, equivalent:
- if err:
- print("Still failing!)
-
-
-
-
-
- Generic error.
-
-
-
-
- Unavailable error.
-
-
-
-
- Unconfigured error.
-
-
-
-
- Unauthorized error.
-
-
-
-
- Parameter range error.
-
-
-
-
- Out of memory (OOM) error.
-
-
-
-
- File: Not found error.
-
-
-
-
- File: Bad drive error.
-
-
-
-
- File: Bad path error.
-
-
-
-
- File: No permission error.
-
-
-
-
- File: Already in use error.
-
-
-
-
- File: Can't open error.
-
-
-
-
- File: Can't write error.
-
-
-
-
- File: Can't read error.
-
-
-
-
- File: Unrecognized error.
-
-
-
-
- File: Corrupt error.
-
-
-
-
- File: Missing dependencies error.
-
-
-
-
- File: End of file (EOF) error.
-
-
-
-
- Can't open error.
-
-
-
-
- Can't create error.
-
-
-
-
- Query failed error.
-
-
-
-
- Already in use error.
-
-
-
-
- Locked error.
-
-
-
-
- Timeout error.
-
-
-
-
- Can't connect error.
-
-
-
-
- Can't resolve error.
-
-
-
-
- Connection error.
-
-
-
-
- Can't acquire resource error.
-
-
-
-
- Can't fork process error.
-
-
-
-
- Invalid data error.
-
-
-
-
- Invalid parameter error.
-
-
-
-
- Already exists error.
-
-
-
-
- Does not exist error.
-
-
-
-
- Database: Read error.
-
-
-
-
- Database: Write error.
-
-
-
-
- Compilation failed error.
-
-
-
-
- Method not found error.
-
-
-
-
- Linking failed error.
-
-
-
-
- Script failed error.
-
-
-
-
- Cycling link (import cycle) error.
-
-
-
-
- Invalid declaration error.
-
-
-
-
- Duplicate symbol error.
-
-
-
-
- Parse error.
-
-
-
-
- Busy error.
-
-
-
-
- Skip error.
-
-
-
-
- Help error.
-
-
-
-
- Bug error.
-
-
-
-
- Printer on fire error. (This is an easter egg, no engine methods return this error code.)
-
-
-
-
- No hint for the edited property.
-
-
-
-
- Hints that an integer or float property should be within a range specified via the hint string "min,max" or "min,max,step". The hint string can optionally include "or_greater" and/or "or_lesser" to allow manual input going respectively above the max or below the min values. Example: "-360,360,1,or_greater,or_lesser".
-
-
-
-
- Hints that an integer or float property should be within an exponential range specified via the hint string "min,max" or "min,max,step". The hint string can optionally include "or_greater" and/or "or_lesser" to allow manual input going respectively above the max or below the min values. Example: "0.01,100,0.01,or_greater".
-
-
-
-
- Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string such as "Hello,Something,Else".
-
-
-
-
- Hints that a float property should be edited via an exponential easing function. The hint string can include "attenuation" to flip the curve horizontally and/or "inout" to also include in/out easing.
-
-
-
-
- Deprecated hint, unused.
-
-
-
-
- Deprecated hint, unused.
-
-
-
-
- Hints that an integer property is a bitmask with named bit flags. For example, to allow toggling bits 0, 1, 2 and 4, the hint could be something like "Bit0,Bit1,Bit2,,Bit4".
-
-
-
-
- Hints that an integer property is a bitmask using the optionally named 2D render layers.
-
-
-
-
- Hints that an integer property is a bitmask using the optionally named 2D physics layers.
-
-
-
-
- Hints that an integer property is a bitmask using the optionally named 3D render layers.
-
-
-
-
- Hints that an integer property is a bitmask using the optionally named 3D physics layers.
-
-
-
-
- Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like "*.png,*.jpg".
-
-
-
-
- Hints that a string property is a path to a directory. Editing it will show a file dialog for picking the path.
-
-
-
-
- Hints that a string property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like "*.png,*.jpg".
-
-
-
-
- Hints that a string property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.
-
-
-
-
- Hints that a property is an instance of a -derived type, optionally specified via the hint string (e.g. "Texture"). Editing it will show a popup menu of valid resource types to instantiate.
-
-
-
-
- Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed.
-
-
-
-
- Hints that a string property should have a placeholder text visible on its input field, whenever the property is empty. The hint string is the placeholder text to use.
-
-
-
-
- Hints that a color property should be edited without changing its alpha component, i.e. only R, G and B channels are edited.
-
-
-
-
- Hints that an image is compressed using lossy compression.
-
-
-
-
- Hints that an image is compressed using lossless compression.
-
-
-
-
- The property is serialized and saved in the scene file (default).
-
-
-
-
- The property is shown in the editor inspector (default).
-
-
-
-
- Deprecated usage flag, unused.
-
-
-
-
- Deprecated usage flag, unused.
-
-
-
-
- The property can be checked in the editor inspector.
-
-
-
-
- The property is checked in the editor inspector.
-
-
-
-
- The property is a translatable string.
-
-
-
-
- Used to group properties together in the editor.
-
-
-
-
- Used to categorize properties together in the editor.
-
-
-
-
- The property does not save its state in .
-
-
-
-
- Editing the property prompts the user for restarting the editor.
-
-
-
-
- The property is a script variable which should be serialized and saved in the scene file.
-
-
-
-
- Default usage (storage, editor and network).
-
-
-
-
- Default usage for translatable strings (storage, editor, network and internationalized).
-
-
-
-
- Default usage but without showing the property in the editor (storage, network).
-
-
-
-
- Flag for a normal method.
-
-
-
-
- Flag for an editor method.
-
-
-
-
- Deprecated method flag, unused.
-
-
-
-
- Flag for a constant method.
-
-
-
-
- Deprecated method flag, unused.
-
-
-
-
- Flag for a virtual method.
-
-
-
-
- Deprecated method flag, unused.
-
-
-
-
- Default method flags.
-
-
-
-
- Variable is null.
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type (real).
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Variable is of type .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Equality operator (==).
-
-
-
-
- Inequality operator (!=).
-
-
-
-
- Less than operator (<).
-
-
-
-
- Less than or equal operator (<=).
-
-
-
-
- Greater than operator (>).
-
-
-
-
- Greater than or equal operator (>=).
-
-
-
-
- Addition operator (+).
-
-
-
-
- Subtraction operator (-).
-
-
-
-
- Multiplication operator (*).
-
-
-
-
- Division operator (/).
-
-
-
-
- Unary negation operator (-).
-
-
-
-
- Unary plus operator (+).
-
-
-
-
- Remainder/modulo operator (%).
-
-
-
-
- String concatenation operator (+).
-
-
-
-
- Left shift operator (<<).
-
-
-
-
- Right shift operator (>>).
-
-
-
-
- Bitwise AND operator (&).
-
-
-
-
- Bitwise OR operator (|).
-
-
-
-
- Bitwise XOR operator (^).
-
-
-
-
- Bitwise NOT operator (~).
-
-
-
-
- Logical AND operator (and or &&).
-
-
-
-
- Logical OR operator (or or ||).
-
-
-
-
- Logical XOR operator (not implemented in GDScript).
-
-
-
-
- Logical NOT operator (not or !).
-
-
-
-
- Logical IN operator (in).
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
- This node is mapped to one of the anchors through its unique ID. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the ID; the nodes will simply remain on 0,0,0 until a plane is recognized.
- Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view.
-
-
-
-
- The anchor's ID. You can set this before the anchor itself exists. The first anchor gets an ID of 1, the second an ID of 2, etc. When anchors get removed, the engine can then assign the corresponding ID to new anchors. The most common situation where anchors "disappear" is when the AR server identifies that two anchors represent different parts of the same plane and merges them.
-
-
-
-
- Returns the name given to this anchor.
-
-
-
-
- Returns true if the anchor is being tracked and false if no anchor with this ID is currently known.
-
-
-
-
- Returns the estimated size of the plane that was detected. Say when the anchor relates to a table in the real world, this is the estimated size of the surface of that table.
-
-
-
-
- Returns a plane aligned with our anchor; handy for intersection testing.
-
-
-
-
- If provided by the , this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes.
-
-
-
-
- This is a helper spatial node for our camera; note that, if stereoscopic rendering is applicable (VR-HMD), most of the camera properties are ignored, as the HMD information overrides them. The only properties that can be trusted are the near and far planes.
- The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the ARVR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result.
-
-
-
-
- This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers.
- Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
- The position of the controller node is automatically updated by the . This makes this node ideal to add child nodes to visualize the controller.
-
-
-
-
- The controller's ID.
- A controller ID of 0 is unbound and will always result in an inactive node. Controller ID 1 is reserved for the first controller that identifies itself as the left-hand controller and ID 2 is reserved for the first controller that identifies itself as the right-hand controller.
- For any other controller that the detects, we continue with controller ID 3.
- When a controller is turned off, its slot is freed. This ensures controllers will keep the same ID even when controllers with lower IDs are turned off.
-
-
-
-
- The degree to which the controller vibrates. Ranges from 0.0 to 1.0 with precision .01. If changed, updates accordingly.
- This is a useful property to animate if you want the controller to vibrate for a limited duration.
-
-
-
-
- If active, returns the name of the associated controller if provided by the AR/VR SDK used.
-
-
-
-
- Returns the ID of the joystick object bound to this. Every controller tracked by the that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry.
-
-
-
-
- Returns true if the button at index button is pressed. See , in particular the JOY_VR_* constants.
-
-
-
-
- Returns the value of the given axis for things like triggers, touchpads, etc. that are embedded into the controller.
-
-
-
-
- Returns true if the bound controller is active. ARVR systems attempt to track active controllers.
-
-
-
-
- Returns the hand holding this controller, if known. See .
-
-
-
-
- If provided by the , this returns a mesh associated with the controller. This can be used to visualize the controller.
-
-
-
-
- This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass ARVRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
- Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through .
-
-
-
-
- Tracking is behaving as expected.
-
-
-
-
- Tracking is hindered by excessive motion (the player is moving faster than tracking can keep up).
-
-
-
-
- Tracking is hindered by insufficient features, it's too dark (for camera-based tracking), player is blocked, etc.
-
-
-
-
- We don't know the status of the tracking or this interface does not provide feedback.
-
-
-
-
- Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.).
-
-
-
-
- Mono output, this is mostly used internally when retrieving positioning information for our camera node or when stereo scopic rendering is not supported.
-
-
-
-
- Left eye output, this is mostly used internally when rendering the image for the left eye and obtaining positioning and projection information.
-
-
-
-
- Right eye output, this is mostly used internally when rendering the image for the right eye and obtaining positioning and projection information.
-
-
-
-
- No ARVR capabilities.
-
-
-
-
- This interface can work with normal rendering output (non-HMD based AR).
-
-
-
-
- This interface supports stereoscopic rendering.
-
-
-
-
- This interface supports AR (video background and real world tracking).
-
-
-
-
- This interface outputs to an external device. If the main viewport is used, the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of ). Using a separate viewport node frees up the main viewport for other purposes.
-
-
-
-
- true if this is the primary interface.
-
-
-
-
- true if this interface been initialized.
-
-
-
-
- On an AR interface, true if anchor detection is enabled.
-
-
-
-
- Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc).
-
-
-
-
- Returns a combination of flags providing information about the capabilities of this interface.
-
-
-
-
- Call this to initialize this interface. The first interface that is initialized is identified as the primary interface and it will be used for rendering output.
- After initializing the interface you want to use you then need to enable the AR/VR mode of a viewport and rendering should commence.
- Note: You must enable the AR/VR mode on the main viewport for any device that uses the main output of Godot, such as for mobile VR.
- If you do this for a platform that handles its own output (such as OpenVR) Godot will show just one eye without distortion on screen. Alternatively, you can add a separate viewport node to your scene and enable AR/VR on that viewport. It will be used to output to the HMD, leaving you free to do anything you like in the main window, such as using a separate camera as a spectator camera or rendering something completely different.
- While currently not used, you can activate additional interfaces. You may wish to do this if you want to track controllers from other platforms. However, at this point in time only one interface can render to an HMD.
-
-
-
-
- Turns the interface off.
-
-
-
-
- If supported, returns the status of our tracking. This will allow you to provide feedback to the user whether there are issues with positional tracking.
-
-
-
-
- Returns the resolution at which we should render our intermediate results before things like lens distortion are applied by the VR platform.
-
-
-
-
- Returns true if the current output of this interface is in stereo.
-
-
-
-
- If this is an AR interface that requires displaying a camera feed as the background, this method returns the feed ID in the for this interface.
-
-
-
-
- This is a wrapper class for GDNative implementations of the ARVR interface. To use a GDNative ARVR interface, simply instantiate this object and set your GDNative library containing the ARVR interface implementation.
-
-
-
-
- This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
- There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
- It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
- For example, if your character is driving a car, the ARVROrigin node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node.
-
-
-
-
- Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.
- Note: This method is a passthrough to the itself.
-
-
-
-
- An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren't represented here as they are handled internally.
- As controllers are turned on and the AR/VR interface detects them, instances of this object are automatically added to this list of active tracking objects accessible through the .
- The and both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them.
-
-
-
-
- The hand this tracker is held in is unknown or not applicable.
-
-
-
-
- This tracker is the left hand controller.
-
-
-
-
- This tracker is the right hand controller.
-
-
-
-
- The degree to which the tracker rumbles. Ranges from 0.0 to 1.0 with precision .01.
-
-
-
-
- Returns the tracker's type.
-
-
-
-
- Returns the internal tracker ID. This uniquely identifies the tracker per tracker type and matches the ID you need to specify for nodes such as the and nodes.
-
-
-
-
- Returns the controller or anchor point's name if available.
-
-
-
-
- If this is a controller that is being tracked, the controller will also be represented by a joystick entry with this ID.
-
-
-
-
- Returns true if this device tracks orientation.
-
-
-
-
- Returns the controller's orientation matrix.
-
-
-
-
- Returns true if this device tracks position.
-
-
-
-
- Returns the world-space controller position.
-
-
-
-
- Returns the hand holding this tracker, if known. See constants.
-
-
-
-
- Returns the transform combining this device's orientation and position.
-
-
-
-
- Returns the mesh related to a controller or anchor point if one is available.
-
-
-
-
- The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.
-
-
-
-
- Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world.
-
-
-
-
- Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset.
-
-
-
-
- Does not reset the orientation of the HMD, only the position of the player gets centered.
-
-
-
-
- The tracker tracks the location of a controller.
-
-
-
-
- The tracker tracks the location of a base station.
-
-
-
-
- The tracker tracks the location and size of an AR anchor.
-
-
-
-
- Used internally to filter trackers of any known type.
-
-
-
-
- Used internally if we haven't set the tracker type yet.
-
-
-
-
- Used internally to select all trackers.
-
-
-
-
- Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.
-
-
-
-
- The primary currently bound to the .
-
-
-
-
- Returns the reference frame transform. Mostly used internally and exposed for GDNative build interfaces.
-
-
-
-
- This is an important function to understand correctly. AR and VR platforms all handle positioning slightly differently.
- For platforms that do not offer spatial tracking, our origin point (0,0,0) is the location of our HMD, but you have little control over the direction the player is facing in the real world.
- For platforms that do offer spatial tracking, our origin point depends very much on the system. For OpenVR, our origin point is usually the center of the tracking space, on the ground. For other platforms, it's often the location of the tracking camera.
- This method allows you to center your tracker on the location of the HMD. It will take the current location of the HMD and use that to adjust all your tracking data; in essence, realigning the real world to your player's current position in the game world.
- For this method to produce usable results, tracking information must be available. This often takes a few frames after starting your game.
- You should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism.
-
-
-
-
- Returns the primary interface's transformation.
-
-
-
-
- Returns the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns true.
-
-
-
-
- Returns the interface registered at a given index in our list of interfaces.
-
-
-
-
- Returns a list of available interfaces the ID and name of each interface.
-
-
-
-
- Finds an interface by its name. For instance, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it.
-
-
-
-
- Returns the number of trackers currently registered.
-
-
-
-
- Returns the positional tracker at the given ID.
-
-
-
-
- Returns the absolute timestamp (in μs) of the last process callback. The value comes from an internal call to .
-
-
-
-
- Returns the absolute timestamp (in μs) of the last commit of the AR/VR eyes to . The value comes from an internal call to .
-
-
-
-
- Returns the duration (in μs) of the last frame. This is computed as the difference between and when committing.
-
-
-
-
- A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments). It enjoys widespread use due to its performance and accuracy. Godot's A* implementation uses points in three-dimensional space and Euclidean distances by default.
- You must add points manually with and create segments manually with . Then you can test if there is a path between two points with the function, get a path containing indices by , or one containing actual coordinates with .
- It is also possible to use non-Euclidean distances. To do so, create a class that extends AStar and override methods and . Both take two indices and return a length, as is shown in the following example.
-
- class MyAStar:
- extends AStar
-
- func _compute_cost(u, v):
- return abs(u - v)
-
- func _estimate_cost(u, v):
- return min(0, abs(u - v) - 1)
-
- should return a lower bound of the distance, i.e. _estimate_cost(u, v) <= _compute_cost(u, v). This serves as a hint to the algorithm because the custom _compute_cost might be computation-heavy. If this is not the case, make return the same value as to provide the algorithm with the most accurate information.
-
-
-
-
- Called when computing the cost between two connected points.
- Note that this function is hidden in the default AStar class.
-
-
-
-
- Called when estimating the cost between a point and the path's ending point.
- Note that this function is hidden in the default AStar class.
-
-
-
-
- Returns the next available point ID with no point associated to it.
-
-
-
-
- Adds a new point at the given position with the given identifier. The algorithm prefers points with lower weight_scale to form a path. The id must be 0 or larger, and the weight_scale must be 1 or larger.
-
- var astar = AStar.new()
- astar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with weight_scale 4 and id 1
-
- If there already exists a point for the given id, its position and weight scale are updated to the given values.
-
-
-
-
- Returns the position of the point associated with the given id.
-
-
-
-
- Sets the position for the point with the given id.
-
-
-
-
- Returns the weight scale of the point associated with the given id.
-
-
-
-
- Sets the weight_scale for the point with the given id.
-
-
-
-
- Removes the point associated with the given id from the points pool.
-
-
-
-
- Returns whether a point associated with the given id exists.
-
-
-
-
- Returns an array with the IDs of the points that form the connection with the given point.
-
- var astar = AStar.new()
- astar.add_point(1, Vector3(0, 0, 0))
- astar.add_point(2, Vector3(0, 1, 0))
- astar.add_point(3, Vector3(1, 1, 0))
- astar.add_point(4, Vector3(2, 0, 0))
-
- astar.connect_points(1, 2, true)
- astar.connect_points(1, 3, true)
-
- var neighbors = astar.get_point_connections(1) # Returns [2, 3]
-
-
-
-
-
- Returns an array of all points.
-
-
-
-
- Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle.
-
-
-
-
- Returns whether a point is disabled or not for pathfinding. By default, all points are enabled.
-
-
-
-
- Creates a segment between the given points. If bidirectional is false, only movement from id to to_id is allowed, not the reverse direction.
-
- var astar = AStar.new()
- astar.add_point(1, Vector3(1, 1, 0))
- astar.add_point(2, Vector3(0, 5, 0))
- astar.connect_points(1, 2, false)
-
-
-
-
-
- Deletes the segment between the given points. If bidirectional is false, only movement from id to to_id is prevented, and a unidirectional segment possibly remains.
-
-
-
-
- Returns whether the two given points are directly connected by a segment. If bidirectional is false, returns whether movement from id to to_id is possible through this segment.
-
-
-
-
- Returns the number of points currently in the points pool.
-
-
-
-
- Returns the capacity of the structure backing the points, useful in conjunction with reserve_space.
-
-
-
-
- Reserves space internally for num_nodes points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity.
-
-
-
-
- Clears all the points and segments.
-
-
-
-
- Returns the ID of the closest point to to_position, optionally taking disabled points into account. Returns -1 if there are no points in the points pool.
- Note: If several points are the closest to to_position, the one with the smallest ID will be returned, ensuring a deterministic result.
-
-
-
-
- Returns the closest position to to_position that resides inside a segment between two connected points.
-
- var astar = AStar.new()
- astar.add_point(1, Vector3(0, 0, 0))
- astar.add_point(2, Vector3(0, 5, 0))
- astar.connect_points(1, 2)
- var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns (0, 3, 0)
-
- The result is in the segment that goes from y = 0 to y = 5. It's the closest position in the segment to the given point.
-
-
-
-
- Returns an array with the points that are in the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
-
-
-
-
- Returns an array with the IDs of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
-
- var astar = AStar.new()
- astar.add_point(1, Vector3(0, 0, 0))
- astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1
- astar.add_point(3, Vector3(1, 1, 0))
- astar.add_point(4, Vector3(2, 0, 0))
-
- astar.connect_points(1, 2, false)
- astar.connect_points(2, 3, false)
- astar.connect_points(4, 3, false)
- astar.connect_points(1, 4, false)
-
- var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
-
- If you change the 2nd point's weight to 3, then the result will be [1, 4, 3] instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
-
-
-
-
- This is a wrapper for the class which uses 2D vectors instead of 3D vectors.
-
-
-
-
- Called when computing the cost between two connected points.
- Note that this function is hidden in the default AStar2D class.
-
-
-
-
- Called when estimating the cost between a point and the path's ending point.
- Note that this function is hidden in the default AStar2D class.
-
-
-
-
- Returns the next available point ID with no point associated to it.
-
-
-
-
- Adds a new point at the given position with the given identifier. The algorithm prefers points with lower weight_scale to form a path. The id must be 0 or larger, and the weight_scale must be 1 or larger.
-
- var astar = AStar2D.new()
- astar.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with weight_scale 4 and id 1
-
- If there already exists a point for the given id, its position and weight scale are updated to the given values.
-
-
-
-
- Returns the position of the point associated with the given id.
-
-
-
-
- Sets the position for the point with the given id.
-
-
-
-
- Returns the weight scale of the point associated with the given id.
-
-
-
-
- Sets the weight_scale for the point with the given id.
-
-
-
-
- Removes the point associated with the given id from the points pool.
-
-
-
-
- Returns whether a point associated with the given id exists.
-
-
-
-
- Returns an array with the IDs of the points that form the connection with the given point.
-
- var astar = AStar2D.new()
- astar.add_point(1, Vector2(0, 0))
- astar.add_point(2, Vector2(0, 1))
- astar.add_point(3, Vector2(1, 1))
- astar.add_point(4, Vector2(2, 0))
-
- astar.connect_points(1, 2, true)
- astar.connect_points(1, 3, true)
-
- var neighbors = astar.get_point_connections(1) # Returns [2, 3]
-
-
-
-
-
- Returns an array of all points.
-
-
-
-
- Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle.
-
-
-
-
- Returns whether a point is disabled or not for pathfinding. By default, all points are enabled.
-
-
-
-
- Creates a segment between the given points. If bidirectional is false, only movement from id to to_id is allowed, not the reverse direction.
-
- var astar = AStar2D.new()
- astar.add_point(1, Vector2(1, 1))
- astar.add_point(2, Vector2(0, 5))
- astar.connect_points(1, 2, false)
-
-
-
-
-
- Deletes the segment between the given points.
-
-
-
-
- Returns whether there is a connection/segment between the given points.
-
-
-
-
- Returns the number of points currently in the points pool.
-
-
-
-
- Returns the capacity of the structure backing the points, useful in conjunction with reserve_space.
-
-
-
-
- Reserves space internally for num_nodes points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity.
-
-
-
-
- Clears all the points and segments.
-
-
-
-
- Returns the ID of the closest point to to_position, optionally taking disabled points into account. Returns -1 if there are no points in the points pool.
- Note: If several points are the closest to to_position, the one with the smallest ID will be returned, ensuring a deterministic result.
-
-
-
-
- Returns the closest position to to_position that resides inside a segment between two connected points.
-
- var astar = AStar2D.new()
- astar.add_point(1, Vector2(0, 0))
- astar.add_point(2, Vector2(0, 5))
- astar.connect_points(1, 2)
- var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, 3)
-
- The result is in the segment that goes from y = 0 to y = 5. It's the closest position in the segment to the given point.
-
-
-
-
- Returns an array with the points that are in the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
-
-
-
-
- Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
-
- var astar = AStar2D.new()
- astar.add_point(1, Vector2(0, 0))
- astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1
- astar.add_point(3, Vector2(1, 1))
- astar.add_point(4, Vector2(2, 0))
-
- astar.connect_points(1, 2, false)
- astar.connect_points(2, 3, false)
- astar.connect_points(4, 3, false)
- astar.connect_points(1, 4, false)
-
- var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
-
- If you change the 2nd point's weight to 3, then the result will be [1, 4, 3] instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
-
-
-
-
- This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, with the same result.
-
-
-
-
- The text displayed by the dialog.
-
-
-
-
- If true, the dialog is hidden when the OK button is pressed. You can set it to false if you want to do e.g. input validation when receiving the confirmed signal, and handle hiding the dialog in your own logic.
- Note: Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example defaults to false, and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in to disable hiding the dialog when pressing OK.
-
-
-
-
- Sets autowrapping for the text in the dialog.
-
-
-
-
- Returns the OK instance.
-
-
-
-
- Returns the label used for built-in text.
-
-
-
-
- Adds a button with label text and a custom action to the dialog and returns the created button. action will be passed to the custom_action signal when pressed.
- If true, right will place the button to the right of any sibling buttons.
-
-
-
-
- Adds a button with label name and a cancel action to the dialog and returns the created button.
-
-
-
-
- Registers a in the dialog. When the enter key is pressed, the dialog will be accepted.
-
-
-
-
- Animations are created using a resource, which can be configured in the editor via the SpriteFrames panel.
- Note: You can associate a set of normal maps by creating additional resources with a _normal suffix. For example, having 2 resources run and run_normal will make it so the run animation uses the normal map.
-
-
-
-
- The resource containing the animation(s).
-
-
-
-
- The current animation from the frames resource. If this value changes, the frame counter is reset.
-
-
-
-
- The displayed animation frame's index.
-
-
-
-
- The animation speed is multiplied by this value.
-
-
-
-
- If true, the is currently playing.
-
-
-
-
- If true, texture will be centered.
-
-
-
-
- The texture's drawing offset.
-
-
-
-
- If true, texture is flipped horizontally.
-
-
-
-
- If true, texture is flipped vertically.
-
-
-
-
- Plays the animation named anim. If no anim is provided, the current animation is played. If backwards is true, the animation will be played in reverse.
-
-
-
-
- Stops the current animation (does not reset the frame counter).
-
-
-
-
- Returns true if an animation is currently being played.
-
-
-
-
- Animations are created using a resource, which can be configured in the editor via the SpriteFrames panel.
-
-
-
-
- The resource containing the animation(s).
-
-
-
-
- The current animation from the frames resource. If this value changes, the frame counter is reset.
-
-
-
-
- The displayed animation frame's index.
-
-
-
-
- If true, the is currently playing.
-
-
-
-
- Plays the animation named anim. If no anim is provided, the current animation is played.
-
-
-
-
- Stops the current animation (does not reset the frame counter).
-
-
-
-
- Returns true if an animation is currently being played.
-
-
-
-
- is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike or , it isn't a , but has the advantage of being usable anywhere a resource can be used, e.g. in a .
- The playback of the animation is controlled by the property as well as each frame's optional delay (see ). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
- currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
- Note: AnimatedTexture doesn't support using s. Each frame needs to be a separate .
-
-
-
-
- The maximum number of frames supported by . If you need more frames in your animation, use or .
-
-
-
-
- Number of frames to use in the animation. While you can create the frames independently with , you need to set this value for the animation to take new frames into account. The maximum number of frames is .
-
-
-
-
- Sets the currently visible frame of the texture.
-
-
-
-
- If true, the animation will pause where it currently is (i.e. at ). The animation will continue from where it was paused when changing this property to false.
-
-
-
-
- If true, the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not set to true.
-
-
-
-
- Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see ).
- For example, an animation with 8 frames, no frame delay and a fps value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds.
-
-
-
-
- Assigns a to the given frame. Frame IDs start at 0, so the first frame has ID 0, and the last frame of the animation has ID - 1.
- You can define any number of textures up to , but keep in mind that only frames from 0 to - 1 will be part of the animation.
-
-
-
-
- Returns the given frame's .
-
-
-
-
- Sets an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by . By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be 1.0 / fps + delay.
- For example, for an animation with 3 frames, 2 FPS and a frame delay on the second frame of 1.2, the resulting playback will be:
-
- Frame 0: 0.5 s (1 / fps)
- Frame 1: 1.7 s (1 / fps + 1.2)
- Frame 2: 0.5 s (1 / fps)
- Total duration: 2.7 s
-
-
-
-
-
- Returns the given frame's delay value.
-
-
-
-
- An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.
-
- # This creates an animation that makes the node "Enemy" move to the right by
- # 100 pixels in 0.5 seconds.
- var animation = Animation.new()
- var track_index = animation.add_track(Animation.TYPE_VALUE)
- animation.track_set_path(track_index, "Enemy:position:x")
- animation.track_insert_key(track_index, 0.0, 0)
- animation.track_insert_key(track_index, 0.5, 100)
-
- Animations are just data containers, and must be added to nodes such as an or to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check to see available types.
-
-
-
-
- Value tracks set values in node properties, but only those which can be Interpolated.
-
-
-
-
- Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are interpolated.
-
-
-
-
- Method tracks call functions with given arguments per key.
-
-
-
-
- Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a ).
-
-
-
-
- Audio tracks are used to play an audio stream with either type of . The stream can be trimmed and previewed in the animation.
-
-
-
-
- Animation tracks play animations in other nodes.
-
-
-
-
- Update between keyframes.
-
-
-
-
- Update at the keyframes and hold the value.
-
-
-
-
- Update at the keyframes.
-
-
-
-
- Same as linear interpolation, but also interpolates from the current value (i.e. dynamically at runtime) if the first key isn't at 0 seconds.
-
-
-
-
- No interpolation (nearest value).
-
-
-
-
- Linear interpolation.
-
-
-
-
- Cubic interpolation.
-
-
-
-
- The total length of the animation (in seconds).
- Note: Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
-
-
-
-
- A flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
-
-
-
-
- The animation step value.
-
-
-
-
- Adds a track to the Animation.
-
-
-
-
- Removes a track by specifying the track index.
-
-
-
-
- Returns the amount of tracks in the animation.
-
-
-
-
- Gets the type of a track.
-
-
-
-
- Gets the path of a track. For more information on the path format, see .
-
-
-
-
- Sets the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by ":".
- For example, "character/skeleton:ankle" or "character/mesh:transform/local".
-
-
-
-
- Returns the index of the specified track. If the track is not found, return -1.
-
-
-
-
- Moves a track up.
-
-
-
-
- Moves a track down.
-
-
-
-
- Changes the index position of track idx to the one defined in to_idx.
-
-
-
-
- Swaps the track idx's index position with the track with_idx.
-
-
-
-
- Sets the given track as imported or not.
-
-
-
-
- Returns true if the given track is imported. Else, return false.
-
-
-
-
- Enables/disables the given track. Tracks are enabled by default.
-
-
-
-
- Returns true if the track at index idx is enabled.
-
-
-
-
- Insert a transform key for a transform track.
-
-
-
-
- Insert a generic key in a given track.
-
-
-
-
- Removes a key by index in a given track.
-
-
-
-
- Removes a key by position (seconds) in a given track.
-
-
-
-
- Sets the value of an existing key.
-
-
-
-
- Sets the transition curve (easing) for a specific key (see the built-in math function @GDScript.ease).
-
-
-
-
- Sets the time of an existing key.
-
-
-
-
- Returns the transition curve (easing) for a specific key (see the built-in math function @GDScript.ease).
-
-
-
-
- Returns the amount of keys in a given track.
-
-
-
-
- Returns the value of a given key in a given track.
-
-
-
-
- Returns the time at which the key is located.
-
-
-
-
- Finds the key index by time in a given track. Optionally, only find it if the exact time is given.
-
-
-
-
- Sets the interpolation type of a given track.
-
-
-
-
- Returns the interpolation type of a given track.
-
-
-
-
- If true, the track at idx wraps the interpolation loop.
-
-
-
-
- Returns true if the track at idx wraps the interpolation loop. New tracks wrap the interpolation loop by default.
-
-
-
-
- Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position (), rotation () and scale ().
-
-
-
-
- Sets the update mode (see ) of a value track.
-
-
-
-
- Returns the update mode of a value track.
-
-
-
-
- Returns all the key indices of a value track, given a position and delta time.
-
-
-
-
- Returns all the key indices of a method track, given a position and delta time.
-
-
-
-
- Returns the method name of a method track.
-
-
-
-
- Returns the arguments values to be called on a method track for a given key in a given track.
-
-
-
-
- Inserts a Bezier Track key at the given time in seconds. The track_idx must be the index of a Bezier Track.
- in_handle is the left-side weight of the added Bezier curve point, out_handle is the right-side one, while value is the actual value at this point.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Sets the value of the key identified by key_idx to the given value. The track_idx must be the index of a Bezier Track.
-
-
-
-
- Sets the in handle of the key identified by key_idx to value in_handle. The track_idx must be the index of a Bezier Track.
-
-
-
-
- Sets the out handle of the key identified by key_idx to value out_handle. The track_idx must be the index of a Bezier Track.
-
-
-
-
- Returns the value of the key identified by key_idx. The track_idx must be the index of a Bezier Track.
-
-
-
-
- Returns the in handle of the key identified by key_idx. The track_idx must be the index of a Bezier Track.
-
-
-
-
- Returns the out handle of the key identified by key_idx. The track_idx must be the index of a Bezier Track.
-
-
-
-
- Returns the interpolated value at the given time (in seconds). The track_idx must be the index of a Bezier Track.
-
-
-
-
- Inserts an Audio Track key at the given time in seconds. The track_idx must be the index of an Audio Track.
- stream is the resource to play. start_offset is the number of seconds cut off at the beginning of the audio stream, while end_offset is at the ending.
-
-
-
-
- Sets the stream of the key identified by key_idx to value offset. The track_idx must be the index of an Audio Track.
-
-
-
-
- Sets the start offset of the key identified by key_idx to value offset. The track_idx must be the index of an Audio Track.
-
-
-
-
- Sets the end offset of the key identified by key_idx to value offset. The track_idx must be the index of an Audio Track.
-
-
-
-
- Returns the audio stream of the key identified by key_idx. The track_idx must be the index of an Audio Track.
-
-
-
-
- Returns the start offset of the key identified by key_idx. The track_idx must be the index of an Audio Track.
- Start offset is the number of seconds cut off at the beginning of the audio stream.
-
-
-
-
- Returns the end offset of the key identified by key_idx. The track_idx must be the index of an Audio Track.
- End offset is the number of seconds cut off at the ending of the audio stream.
-
-
-
-
- Inserts a key with value animation at the given time (in seconds). The track_idx must be the index of an Animation Track.
-
-
-
-
- Sets the key identified by key_idx to value animation. The track_idx must be the index of an Animation Track.
-
-
-
-
- Returns the animation name at the key identified by key_idx. The track_idx must be the index of an Animation Track.
-
-
-
-
- Clear the animation (clear all tracks and reset all).
-
-
-
-
- Adds a new track that is a copy of the given track from to_animation.
-
-
-
-
- Base resource for nodes. In general, it's not used directly, but you can create custom ones with custom blending formulas.
- Inherit this when creating nodes mainly for use in , otherwise should be used instead.
-
-
-
-
- Do not use filtering.
-
-
-
-
- Paths matching the filter will be allowed to pass.
-
-
-
-
- Paths matching the filter will be discarded.
-
-
-
-
- Paths matching the filter will be blended (by the blend value).
-
-
-
-
- If true, filtering is enabled.
-
-
-
-
- Gets the text caption for this node (used by some editors).
-
-
-
-
- Gets a child node by index (used by editors inheriting from ).
-
-
-
-
- Gets all children nodes in order as a name: node dictionary. Only useful when inheriting .
-
-
-
-
- Gets the default value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
-
-
-
-
- Gets the property information for parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. Format is similar to .
-
-
-
-
- Returns true whether you want the blend tree editor to display filter editing on this node.
-
-
-
-
- User-defined callback called when a custom node is processed. The time parameter is a relative delta, unless seek is true, in which case it is absolute.
- Here, call the , or functions. You can also use and to modify local memory.
- This function should return the time left for the current animation to finish (if unsure, pass the value from the main blend being called).
-
-
-
-
- Amount of inputs in this node, only useful for nodes that go into .
-
-
-
-
- Gets the name of an input by index.
-
-
-
-
- Adds an input to the node. This is only useful for nodes created for use in an .
-
-
-
-
- Removes an input, call this only when inactive.
-
-
-
-
- Adds or removes a path for the filter.
-
-
-
-
- Returns true whether a given path is filtered.
-
-
-
-
- Blend an animation by blend amount (name must be valid in the linked ). A time and delta may be passed, as well as whether seek happened.
-
-
-
-
- Blend another animation node (in case this node contains children animation nodes). This function is only useful if you inherit from instead, else editors will not display your node for addition.
-
-
-
-
- Blend an input. This is only useful for nodes created for an . The time parameter is a relative delta, unless seek is true, in which case it is absolute. A filter mode may be optionally passed (see for options).
-
-
-
-
- Sets a custom parameter. These are used as local storage, because resources can be reused across the tree or scenes.
-
-
-
-
- Gets the value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
-
-
-
-
- A resource to add to an . Blends two animations additively based on an amount value in the [0.0, 1.0] range.
-
-
-
-
- If true, sets the optimization to false when calling , forcing the blended animations to update every frame.
-
-
-
-
- A resource to add to an . Blends two animations together additively out of three based on a value in the [-1.0, 1.0] range.
- This node has three inputs:
- - The base animation to add to
- - A -add animation to blend with when the blend amount is in the [-1.0, 0.0] range.
- - A +add animation to blend with when the blend amount is in the [0.0, 1.0] range
-
-
-
-
- If true, sets the optimization to false when calling , forcing the blended animations to update every frame.
-
-
-
-
- A resource to add to an . Only features one output set using the property. Use it as an input for that blend animations together.
-
-
-
-
- Animation to use as an output. It is one of the animations provided by .
-
-
-
-
- A resource to add to an . Blends two animations linearly based on an amount value in the [0.0, 1.0] range.
-
-
-
-
- If true, sets the optimization to false when calling , forcing the blended animations to update every frame.
-
-
-
-
- A resource to add to an . Blends two animations together linearly out of three based on a value in the [-1.0, 1.0] range.
- This node has three inputs:
- - The base animation
- - A -blend animation to blend with when the blend amount is in the [-1.0, 0.0] range.
- - A +blend animation to blend with when the blend amount is in the [0.0, 1.0] range
-
-
-
-
- If true, sets the optimization to false when calling , forcing the blended animations to update every frame.
-
-
-
-
- A resource to add to an .
- This is a virtual axis on which you can add any type of using .
- Outputs the linear blend of the two s closest to the node's current value.
- You can set the extents of the axis using the and .
-
-
-
-
- The blend space's axis's lower limit for the points' position. See .
-
-
-
-
- The blend space's axis's upper limit for the points' position. See .
-
-
-
-
- Position increment to snap to when moving a point on the axis.
-
-
-
-
- Label of the virtual axis of the blend space.
-
-
-
-
- Adds a new point that represents a node on the virtual axis at a given position set by pos. You can insert it at a specific index using the at_index argument. If you use the default value for at_index, the point is inserted at the end of the blend points array.
-
-
-
-
- Updates the position of the point at index point on the blend axis.
-
-
-
-
- Returns the position of the point at index point.
-
-
-
-
- Changes the referenced by the point at index point.
-
-
-
-
- Returns the referenced by the point at index point.
-
-
-
-
- Removes the point at index point from the blend axis.
-
-
-
-
- Returns the number of points on the blend axis.
-
-
-
-
- A resource to add to an .
- This node allows you to blend linearly between three animations using a weight.
- You can add vertices to the blend space with and automatically triangulate it by setting to true. Otherwise, use and to create up the blend space by hand.
-
-
-
-
- The interpolation between animations is linear.
-
-
-
-
- The blend space plays the animation of the node the blending position is closest to. Useful for frame-by-frame 2D animations.
-
-
-
-
- Similar to , but starts the new animation at the last animation's playback position.
-
-
-
-
- If true, the blend space is triangulated automatically. The mesh updates every time you add or remove points with and .
-
-
-
-
- The blend space's X and Y axes' lower limit for the points' position. See .
-
-
-
-
- The blend space's X and Y axes' upper limit for the points' position. See .
-
-
-
-
- Position increment to snap to when moving a point.
-
-
-
-
- Name of the blend space's X axis.
-
-
-
-
- Name of the blend space's Y axis.
-
-
-
-
- Controls the interpolation between animations. See constants.
-
-
-
-
- Adds a new point that represents a node at the position set by pos. You can insert it at a specific index using the at_index argument. If you use the default value for at_index, the point is inserted at the end of the blend points array.
-
-
-
-
- Updates the position of the point at index point on the blend axis.
-
-
-
-
- Returns the position of the point at index point.
-
-
-
-
- Changes the referenced by the point at index point.
-
-
-
-
- Returns the referenced by the point at index point.
-
-
-
-
- Removes the point at index point from the blend space.
-
-
-
-
- Returns the number of points in the blend space.
-
-
-
-
- Creates a new triangle using three points x, y, and z. Triangles can overlap. You can insert the triangle at a specific index using the at_index argument. If you use the default value for at_index, the point is inserted at the end of the blend points array.
-
-
-
-
- Returns the position of the point at index point in the triangle of index triangle.
-
-
-
-
- Removes the triangle at index triangle from the blend space.
-
-
-
-
- Returns the number of triangles in the blend space.
-
-
-
-
- This node may contain a sub-tree of any other blend type nodes, such as mix, blend2, blend3, one shot, etc. This is one of the most commonly used roots.
-
-
-
-
- The connection was successful.
-
-
-
-
- The input node is null.
-
-
-
-
- The specified input port is out of range.
-
-
-
-
- The output node is null.
-
-
-
-
- Input and output nodes are the same.
-
-
-
-
- The specified connection already exists.
-
-
-
-
- The global offset of all sub-nodes.
-
-
-
-
- Adds an at the given position. The name is used to identify the created sub-node later.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Returns the sub-node with the specified name.
-
-
-
-
- Removes a sub-node.
-
-
-
-
- Changes the name of a sub-node.
-
-
-
-
- Returns true if a sub-node with specified name exists.
-
-
-
-
- Connects the output of an as input for another , at the input port specified by input_index.
-
-
-
-
- Disconnects the node connected to the specified input.
-
-
-
-
- Modifies the position of a sub-node.
-
-
-
-
- Returns the position of the sub-node with the specified name.
-
-
-
-
- A resource to add to an . This node will execute a sub-animation and return once it finishes. Blend times for fading in and out can be customized, as well as filters.
-
-
-
-
- If true, the sub-animation will restart automatically after finishing.
-
-
-
-
- The delay after which the automatic restart is triggered, in seconds.
-
-
-
-
- If is true, a random additional delay (in seconds) between 0 and this value will be added to .
-
-
-
-
- Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the object from the node to control it programmatically.
- Example:
-
- var state_machine = $AnimationTree.get("parameters/playback")
- state_machine.travel("some_state")
-
-
-
-
-
- Adds a new node to the graph. The position is used for display in the editor.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Replaces the node and keeps its transitions unchanged.
-
-
-
-
- Returns the animation node with the given name.
-
-
-
-
- Deletes the given node from the graph.
-
-
-
-
- Renames the given node.
-
-
-
-
- Returns true if the graph contains the given node.
-
-
-
-
- Returns the given animation node's name.
-
-
-
-
- Sets the node's coordinates. Used for display in the editor.
-
-
-
-
- Returns the given node's coordinates. Used for display in the editor.
-
-
-
-
- Returns true if there is a transition between the given nodes.
-
-
-
-
- Adds a transition between the given nodes.
-
-
-
-
- Returns the given transition.
-
-
-
-
- Returns the given transition's start node.
-
-
-
-
- Returns the given transition's end node.
-
-
-
-
- Returns the number of connections in the graph.
-
-
-
-
- Deletes the given transition by index.
-
-
-
-
- Deletes the transition between the two specified nodes.
-
-
-
-
- Sets the given node as the graph start point.
-
-
-
-
- Returns the graph's end node.
-
-
-
-
- Sets the given node as the graph end point.
-
-
-
-
- Returns the graph's end node.
-
-
-
-
- Sets the draw offset of the graph. Used for display in the editor.
-
-
-
-
- Returns the draw offset of the graph. Used for display in the editor.
-
-
-
-
- Allows control of state machines created with . Retrieve with $AnimationTree.get("parameters/playback").
- Example:
-
- var state_machine = $AnimationTree.get("parameters/playback")
- state_machine.travel("some_state")
-
-
-
-
-
- Transitions from the current state to another one, following the shortest path.
-
-
-
-
- Starts playing the given animation.
-
-
-
-
- Stops the currently playing animation.
-
-
-
-
- Returns true if an animation is playing.
-
-
-
-
- Returns the currently playing animation state.
-
-
-
-
- Returns the current travel path as computed internally by the A* algorithm.
-
-
-
-
- Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
-
-
-
-
- Switch to the next state immediately, but will seek the new state to the playback position of the old state.
-
-
-
-
- Wait for the current state playback to end, then switch to the beginning of the next state animation.
-
-
-
-
- The transition type.
-
-
-
-
- Turn on the transition automatically when this state is reached. This works best with .
-
-
-
-
- Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the that can be controlled from code (see ). For example, if is an and is set to "idle":
-
- $animation_tree["parameters/conditions/idle"] = is_on_floor and (linear_velocity.x == 0)
-
-
-
-
-
- The time to cross-fade between this state and the next.
-
-
-
-
- Lower priority transitions are preferred when travelling through the tree via or .
-
-
-
-
- Don't use this transition during or .
-
-
-
-
- Allows scaling the speed of the animation (or reversing it) in any children nodes. Setting it to 0 will pause the animation.
-
-
-
-
- This node can be used to cause a seek command to happen to any sub-children of the graph. After setting the time, this value returns to -1.
-
-
-
-
- Simple state machine for cases which don't require a more advanced . Animations can be connected to the inputs and transition times can be specified.
-
-
-
-
- The number of available input ports for this node.
-
-
-
-
- Cross-fading time (in seconds) between each animation connected to the inputs.
-
-
-
-
- An animation player is used for general-purpose playback of resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
- is more suited than for animations where you know the final values in advance. For example, fading a screen in and out is more easily done with an node thanks to the animation tools provided by the editor. That particular example can also be implemented with a node, but it requires doing everything by code.
- Updating the target properties of animations occurs at process time.
-
-
-
-
- Process animation during the physics process. This is especially useful when animating physics bodies.
-
-
-
-
- Process animation during the idle process.
-
-
-
-
- Do not process animation. Use to process the animation manually.
-
-
-
-
- Batch method calls during the animation process, then do the calls after events are processed. This avoids bugs involving deleting nodes or modifying the AnimationPlayer while playing.
-
-
-
-
- Make method calls immediately when reached in the animation.
-
-
-
-
- The node from which node path references will travel.
-
-
-
-
- The name of the currently playing animation. If no animation is playing, the property's value is an empty string. Changing this value does not restart the animation. See for more information on playing animations.
- Note: while this property appears in the inspector, it's not meant to be edited and it's not saved in the scene. This property is mainly used to get the currently playing animation, and internally for animation playback tracks. For more information, see .
-
-
-
-
- If playing, the current animation; otherwise, the animation last played. When set, would change the animation, but would not play it unless currently playing. See also .
-
-
-
-
- The name of the animation to play when the scene loads.
-
-
-
-
- The length (in seconds) of the currently being played animation.
-
-
-
-
- The position (in seconds) of the currently playing animation.
-
-
-
-
- The process notification in which to update animations.
-
-
-
-
- The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision.
-
-
-
-
- If true, updates animations in response to process-related notifications.
-
-
-
-
- The speed scaling ratio. For instance, if this value is 1, then the animation plays at normal speed. If it's 0.5, then it plays at half speed. If it's 2, then it plays at double speed.
-
-
-
-
- The call mode to use for Call Method tracks.
-
-
-
-
- Adds animation to the player accessible with the key name.
-
-
-
-
- Removes the animation with key name.
-
-
-
-
- Renames an existing animation with key name to newname.
-
-
-
-
- Returns true if the stores an with key name.
-
-
-
-
- Returns the with key name or null if not found.
-
-
-
-
- Returns the list of stored animation names.
-
-
-
-
- Triggers the anim_to animation when the anim_from animation completes.
-
-
-
-
- Returns the name of the next animation in the queue.
-
-
-
-
- Specifies a blend time (in seconds) between two animations, referenced by their names.
-
-
-
-
- Gets the blend time (in seconds) between two animations, referenced by their names.
-
-
-
-
- Plays the animation with key name. Custom blend times and speed can be set. If custom_speed is negative and from_end is true, the animation will play backwards (which is equivalent to calling ).
- The keeps track of its current or last played animation with . If this method is called with that same animation name, or with no name parameter, the assigned animation will resume playing if it was paused, or restart if it was stopped (see for both pause and stop). If the animation was already playing, it will keep playing.
- Note: The animation will be updated the next time the is processed. If other variables are updated at the same time this is called, they may be updated too early. To perform the update immediately, call advance(0).
-
-
-
-
- Plays the animation with key name in reverse.
- This method is a shorthand for with custom_speed = -1.0 and from_end = true, so see its description for more information.
-
-
-
-
- Stops or pauses the currently playing animation. If reset is true, the animation position is reset to 0 and the playback speed is reset to 1.0.
- If reset is false, the will be kept and calling or without arguments or with the same animation name as will resume the animation.
-
-
-
-
- Returns true if playing an animation.
-
-
-
-
- Queues an animation for playback once the current one is done.
- Note: If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow.
-
-
-
-
- Returns a list of the animation names that are currently queued to play.
-
-
-
-
- Clears all queued, unplayed animations.
-
-
-
-
- Gets the actual playing speed of current animation or 0 if not playing. This speed is the property multiplied by custom_speed argument specified when calling the method.
-
-
-
-
- Returns the name of animation or an empty string if not found.
-
-
-
-
- caches animated nodes. It may not notice if a node disappears; forces it to update the cache again.
-
-
-
-
- Seeks the animation to the seconds point in time (in seconds). If update is true, the animation updates too, otherwise it updates at process time. Events between the current frame and seconds are skipped.
-
-
-
-
- Shifts position in the animation timeline and immediately updates the animation. delta is the time in seconds to shift. Events between the current frame and delta are handled.
-
-
-
-
- Note: When linked with an , several properties and methods of the corresponding will not function as expected. Playback and transitions should be handled using only the and its constituent (s). The node should be used solely for adding, deleting, and editing animations.
-
-
-
-
- The animations will progress during the physics frame (i.e. ).
-
-
-
-
- The animations will progress during the idle frame (i.e. ).
-
-
-
-
- The animations will only progress manually (see ).
-
-
-
-
- The root animation node of this . See .
-
-
-
-
- The path to the used for animating.
-
-
-
-
- If true, the will be processing.
-
-
-
-
- The process mode of this . See for available modes.
-
-
-
-
- The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by ":". For example, "character/skeleton:ankle" or "character/mesh:transform/local".
- If the track has type , the transformation will be cancelled visually, and the animation will appear to stay in place.
-
-
-
-
- Retrieve the motion of the as a that can be used elsewhere. If is not a path to a track of type , returns an identity transformation.
-
-
-
-
- Manually advance the animations by the specified time (in seconds).
-
-
-
-
- Deprecated. A node graph tool for blending multiple animations bound to an . Especially useful for animating characters or other skeleton-based rigs. It can combine several animations to form a desired pose.
- It takes s from an node and mixes them depending on the graph.
- See for a more full-featured replacement of this node.
-
-
-
-
- Process animation during the physics process. This is especially useful when animating physics bodies.
-
-
-
-
- Process animation during the idle process.
-
-
-
-
- Output node.
-
-
-
-
- Animation node.
-
-
-
-
- OneShot node.
-
-
-
-
- Mix node.
-
-
-
-
- Blend2 node.
-
-
-
-
- Blend3 node.
-
-
-
-
- Blend4 node.
-
-
-
-
- TimeScale node.
-
-
-
-
- TimeSeek node.
-
-
-
-
- Transition node.
-
-
-
-
- The thread in which to update animations.
-
-
-
-
- The path to the from which this binds animations to animation nodes.
- Once set, nodes can be added to the .
-
-
-
-
- The node from which to relatively access other nodes.
- It accesses the bones, so it should point to the same node the would point its Root Node at.
-
-
-
-
- If true, the is able to play animations.
-
-
-
-
- Adds a type node to the graph with name id.
-
-
-
-
- Check if a node exists (by name).
-
-
-
-
- Renames a node in the graph.
-
-
-
-
- Gets the node type, will return from enum.
-
-
-
-
- Returns the input count for a given node. Different types of nodes have different amount of inputs.
-
-
-
-
- Returns the input source for a given node input.
-
-
-
-
- Binds a new from the to the 's animation node with name id.
-
-
-
-
- Returns the 's bound to the 's animation node with name id.
-
-
-
-
- Binds the named source from to the animation node id. Recalculates caches.
-
-
-
-
- Returns the name of the 's bound to this animation node.
-
-
-
-
- Returns the absolute playback timestamp of the animation node with name id.
-
-
-
-
- If enable is true, the animation node with ID id turns off the track modifying the property at path. The modified node's children continue to animate.
-
-
-
-
- Sets the fade in time of a OneShot node given its name and value in seconds.
-
-
-
-
- Returns the fade in time of a OneShot node given its name.
-
-
-
-
- Sets the fade out time of a OneShot node given its name and value in seconds.
-
-
-
-
- Returns the fade out time of a OneShot node given its name.
-
-
-
-
- Sets the autorestart property of a OneShot node given its name and value.
-
-
-
-
- Sets the autorestart delay of a OneShot node given its name and value in seconds.
-
-
-
-
- Sets the autorestart random delay of a OneShot node given its name and value in seconds.
-
-
-
-
- Returns whether a OneShot node will auto restart given its name.
-
-
-
-
- Returns the autostart delay of a OneShot node given its name.
-
-
-
-
- Returns the autostart random delay of a OneShot node given its name.
-
-
-
-
- Starts a OneShot node given its name.
-
-
-
-
- Stops the OneShot node with name id.
-
-
-
-
- Returns whether a OneShot node is active given its name.
-
-
-
-
- If enable is true, the OneShot node with ID id turns off the track modifying the property at path. The modified node's children continue to animate.
-
-
-
-
- Sets the mix amount of a Mix node given its name and value.
- A Mix node adds input b to input a by the amount given by ratio.
-
-
-
-
- Returns the mix amount of a Mix node given its name.
-
-
-
-
- Sets the blend amount of a Blend2 node given its name and value.
- A Blend2 node blends two animations (A and B) with the amount between 0 and 1.
- At 0, output is input A. Towards 1, the influence of A gets lessened, the influence of B gets raised. At 1, output is input B.
-
-
-
-
- Returns the blend amount of a Blend2 node given its name.
-
-
-
-
- If enable is true, the Blend2 node with name id turns off the track modifying the property at path. The modified node's children continue to animate.
-
-
-
-
- Sets the blend amount of a Blend3 node given its name and value.
- A Blend3 Node blends three animations (A, B-, B+) with the amount between -1 and 1.
- At -1, output is input B-. From -1 to 0, the influence of B- gets lessened, the influence of A gets raised and the influence of B+ is 0. At 0, output is input A. From 0 to 1, the influence of A gets lessened, the influence of B+ gets raised and the influence of B+ is 0. At 1, output is input B+.
-
-
-
-
- Returns the blend amount of a Blend3 node given its name.
-
-
-
-
- Sets the blend amount of a Blend4 node given its name and value.
- A Blend4 Node blends two pairs of animations.
- The two pairs are blended like Blend2 and then added together.
-
-
-
-
- Returns the blend amount of a Blend4 node given its name.
-
-
-
-
- Sets the time scale of the TimeScale node with name id to scale.
- The TimeScale node is used to speed s up if the scale is above 1 or slow them down if it is below 1.
- If applied after a blend or mix, affects all input animations to that blend or mix.
-
-
-
-
- Returns the time scale value of the TimeScale node with name id.
-
-
-
-
- Sets the time seek value of the TimeSeek node with name id to seconds.
- This functions as a seek in the or the blend or mix of s input in it.
-
-
-
-
- Resizes the number of inputs available for the transition node with name id.
-
-
-
-
- Returns the number of inputs for the transition node with name id. You can add inputs by right-clicking on the transition node.
-
-
-
-
- Deletes the input at input_idx for the transition node with name id.
-
-
-
-
- The transition node with name id advances to its next input automatically when the input at input_idx completes.
-
-
-
-
- Returns true if the input at input_idx on the transition node with name id is set to automatically advance to the next input upon completion.
-
-
-
-
- The transition node with name id sets its cross fade time to time_sec.
-
-
-
-
- Returns the cross fade time for the transition node with name id.
-
-
-
-
- The transition node with name id sets its current input at input_idx.
-
-
-
-
- Returns the index of the currently evaluated input for the transition node with name id.
-
-
-
-
- Sets the position of a node in the graph given its name and position.
-
-
-
-
- Returns position of a node in the graph given its name.
-
-
-
-
- Removes the animation node with name id.
-
-
-
-
- Connects node id to dst_id at the specified input slot.
-
-
-
-
- Returns whether node id and dst_id are connected at the specified slot.
-
-
-
-
- Disconnects nodes connected to id at the specified input slot.
-
-
-
-
- Returns a containing the name of all nodes.
-
-
-
-
- Shifts position in the animation timeline. delta is the time in seconds to shift. Events between the current frame and delta are handled.
-
-
-
-
- Resets this .
-
-
-
-
- Manually recalculates the cache of track information generated from animation nodes. Needed when external sources modify the animation nodes' state.
-
-
-
-
- 3D area that detects nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping).
-
-
-
-
- This area does not affect gravity/damping.
-
-
-
-
- This area adds its gravity/damping values to whatever has been calculated so far (in order).
-
-
-
-
- This area adds its gravity/damping values to whatever has been calculated so far (in order), ignoring any lower priority areas.
-
-
-
-
- This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas.
-
-
-
-
- This area replaces any gravity/damping calculated so far (in order), but keeps calculating the rest of the areas.
-
-
-
-
- Override mode for gravity and damping calculations within this area. See for possible values.
-
-
-
-
- If true, gravity is calculated from a point (set via ). See also .
-
-
-
-
- The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
-
-
-
-
- The area's gravity vector (not normalized). If gravity is a point (see ), this will be the point of attraction.
-
-
-
-
- The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
-
-
-
-
- The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from 0 (no damping) to 1 (full damping).
-
-
-
-
- The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from 0 (no damping) to 1 (full damping).
-
-
-
-
- The area's priority. Higher priority areas are processed first.
-
-
-
-
- If true, the area detects bodies or areas entering and exiting it.
-
-
-
-
- If true, other monitoring areas can detect this area.
-
-
-
-
- The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also . See Collision layers and masks in the documentation for more information.
-
-
-
-
- The physics layers this area scans to determine collision detection. See Collision layers and masks in the documentation for more information.
-
-
-
-
- If true, the area's audio bus overrides the default audio bus.
-
-
-
-
- The name of the area's audio bus.
-
-
-
-
- If true, the area applies reverb to its associated audio.
-
-
-
-
- The reverb bus name to use for this area's associated audio.
-
-
-
-
- The degree to which this area applies reverb to its associated audio. Ranges from 0 to 1 with 0.1 precision.
-
-
-
-
- The degree to which this area's reverb is a uniform effect. Ranges from 0 to 1 with 0.1 precision.
-
-
-
-
- Set/clear individual bits on the collision mask. This simplifies editing which layers this scans.
-
-
-
-
- Returns an individual bit on the collision mask.
-
-
-
-
- Set/clear individual bits on the layer mask. This simplifies editing this 's layers.
-
-
-
-
- Returns an individual bit on the layer mask.
-
-
-
-
- Returns a list of intersecting s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
-
-
-
-
- Returns a list of intersecting s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
-
-
-
-
- If true, the given physics body overlaps the Area.
- Note: The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
- The body argument can either be a or a instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
-
-
-
-
- If true, the given area overlaps the Area.
- Note: The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
-
-
-
-
- 2D area that detects nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping).
-
-
-
-
- This area does not affect gravity/damping.
-
-
-
-
- This area adds its gravity/damping values to whatever has been calculated so far (in order).
-
-
-
-
- This area adds its gravity/damping values to whatever has been calculated so far (in order), ignoring any lower priority areas.
-
-
-
-
- This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas.
-
-
-
-
- This area replaces any gravity/damping calculated so far (in order), but keeps calculating the rest of the areas.
-
-
-
-
- Override mode for gravity and damping calculations within this area. See for possible values.
-
-
-
-
- If true, gravity is calculated from a point (set via ). See also .
-
-
-
-
- The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
-
-
-
-
- The area's gravity vector (not normalized). If gravity is a point (see ), this will be the point of attraction.
-
-
-
-
- The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
-
-
-
-
- The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from 0 (no damping) to 1 (full damping).
-
-
-
-
- The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from 0 (no damping) to 1 (full damping).
-
-
-
-
- The area's priority. Higher priority areas are processed first.
-
-
-
-
- If true, the area detects bodies or areas entering and exiting it.
-
-
-
-
- If true, other monitoring areas can detect this area.
-
-
-
-
- The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also . See Collision layers and masks in the documentation for more information.
-
-
-
-
- The physics layers this area scans to determine collision detection. See Collision layers and masks in the documentation for more information.
-
-
-
-
- If true, the area's audio bus overrides the default audio bus.
-
-
-
-
- The name of the area's audio bus.
-
-
-
-
- Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
-
-
-
-
- Returns an individual bit on the collision mask. Describes whether this area will collide with others on the given layer.
-
-
-
-
- Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier.
-
-
-
-
- Returns an individual bit on the layer mask. Describes whether other areas will collide with this one on the given layer.
-
-
-
-
- Returns a list of intersecting s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
-
-
-
-
- Returns a list of intersecting s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
-
-
-
-
- If true, the given physics body overlaps the Area2D.
- Note: The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
- The body argument can either be a or a instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
-
-
-
-
- If true, the given area overlaps the Area2D.
- Note: The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
-
-
-
-
- The is used to construct a by specifying the attributes as arrays.
- The most basic example is the creation of a single triangle:
-
- var vertices = PoolVector3Array()
- vertices.push_back(Vector3(0, 1, 0))
- vertices.push_back(Vector3(1, 0, 0))
- vertices.push_back(Vector3(0, 0, 1))
- # Initialize the ArrayMesh.
- var arr_mesh = ArrayMesh.new()
- var arrays = []
- arrays.resize(ArrayMesh.ARRAY_MAX)
- arrays[ArrayMesh.ARRAY_VERTEX] = vertices
- # Create the Mesh.
- arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
- var m = MeshInstance.new()
- m.mesh = arr_mesh
-
- The is ready to be added to the to be shown.
- See also , and for procedural geometry generation.
- Note: Godot uses clockwise winding order for front faces of triangle primitive modes.
-
-
-
-
- Default value used for index_array_len when no indices are present.
-
-
-
-
- Amount of weights/bone indices per vertex (always 4).
-
-
-
-
- Array format will include vertices (mandatory).
-
-
-
-
- Array format will include normals.
-
-
-
-
- Array format will include tangents.
-
-
-
-
- Array format will include a color array.
-
-
-
-
- Array format will include UVs.
-
-
-
-
- Array format will include another set of UVs.
-
-
-
-
- Array format will include bone indices.
-
-
-
-
- Array format will include bone weights.
-
-
-
-
- Index array will be used.
-
-
-
-
- , , or of vertex positions.
-
-
-
-
- of vertex normals.
-
-
-
-
- of vertex tangents. Each element in groups of 4 floats, first 3 floats determine the tangent, and the last the binormal direction as -1 or 1.
-
-
-
-
- of vertex colors.
-
-
-
-
- for UV coordinates.
-
-
-
-
- for second UV coordinates.
-
-
-
-
- or of bone indices. Each element in groups of 4 floats.
-
-
-
-
- of bone weights. Each element in groups of 4 floats.
-
-
-
-
- of integers used as indices referencing vertices, colors, normals, tangents, and textures. All of those arrays must have the same number of elements as the vertex array. No index can be beyond the vertex array size. When this index array is present, it puts the function into "index mode," where the index selects the *i*'th vertex, normal, tangent, color, UV, etc. This means if you want to have different normals or colors along an edge, you have to duplicate the vertices.
- For triangles, the index array is interpreted as triples, referring to the vertices of each triangle. For lines, the index array is in pairs indicating the start and end of each line.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Sets the blend shape mode to one of .
-
-
-
-
- Overrides the with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
-
-
-
-
- Adds name for a blend shape that will be added with . Must be called before surface is added.
-
-
-
-
- Returns the number of blend shapes that the holds.
-
-
-
-
- Returns the name of the blend shape at this index.
-
-
-
-
- Removes all blend shapes from this .
-
-
-
-
- Creates a new surface.
- Surfaces are created to be rendered using a primitive, which may be any of the types defined in . (As a note, when using indices, it is recommended to only use points, lines or triangles.) will become the surf_idx for this new surface.
- The arrays argument is an array of arrays. See for the values used in this array. For example, arrays[0] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for if it is used.
- Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data, and the index array defines the order of the vertices.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Removes a surface at position surf_idx, shifting greater surfaces one surf_idx slot down.
-
-
-
-
- Updates a specified region of mesh arrays on the GPU.
- Warning: Only use if you know what you are doing. You can easily cause crashes by calling this function with improper arguments.
-
-
-
-
- Returns the length in vertices of the vertex array in the requested surface (see ).
-
-
-
-
- Returns the length in indices of the index array in the requested surface (see ).
-
-
-
-
- Returns the format mask of the requested surface (see ).
-
-
-
-
- Returns the primitive type of the requested surface (see ).
-
-
-
-
- Returns the index of the first surface with this name held within this . If none are found, -1 is returned.
-
-
-
-
- Sets a name for a given surface.
-
-
-
-
- Gets the name assigned to this surface.
-
-
-
-
- Will regenerate normal maps for the .
-
-
-
-
- Will perform a UV unwrap on the to prepare the mesh for lightmapping.
-
-
-
-
- resource aimed at managing big textures files that pack multiple smaller textures. Consists of a , a margin that defines the border width, and a region that defines the actual area of the AtlasTexture.
-
-
-
-
- The texture that contains the atlas. Can be any subtype.
-
-
-
-
- The AtlasTexture's used region.
-
-
-
-
- The margin around the region. The 's Rect2.size parameter ("w" and "h" in the editor) resizes the texture so it fits within the margin.
-
-
-
-
- If true, clips the area outside of the region to avoid bleeding of the surrounding texture pixels.
-
-
-
-
- Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between buses. See for usage.
-
-
-
-
- Base resource for audio bus. Applies an audio effect on the bus that the resource is applied on.
-
-
-
-
- Increases or decreases the volume being routed through the audio bus.
-
-
-
-
- Amount of amplification in decibels. Positive values make the sound louder, negative values make it quieter. Value can range from -80 to 24.
-
-
-
-
- Limits the frequencies in a range around the and allows frequencies outside of this range to pass.
-
-
-
-
- Attenuates the frequencies inside of a range around the and cuts frequencies outside of this band.
-
-
-
-
- Adds a chorus audio effect. The effect applies a filter with voices to duplicate the audio source and manipulate it through the filter.
-
-
-
-
- The amount of voices in the effect.
-
-
-
-
- The effect's raw signal.
-
-
-
-
- The effect's processed signal.
-
-
-
-
- The voice's signal delay.
-
-
-
-
- The voice's filter rate.
-
-
-
-
- The voice filter's depth.
-
-
-
-
- The voice's volume.
-
-
-
-
- The voice's cutoff frequency.
-
-
-
-
- The voice's pan level.
-
-
-
-
- The voice's signal delay.
-
-
-
-
- The voice's filter rate.
-
-
-
-
- The voice filter's depth.
-
-
-
-
- The voice's volume.
-
-
-
-
- The voice's cutoff frequency.
-
-
-
-
- The voice's pan level.
-
-
-
-
- The voice's signal delay.
-
-
-
-
- The voice's filter rate.
-
-
-
-
- The voice filter's depth.
-
-
-
-
- The voice's volume.
-
-
-
-
- The voice's cutoff frequency.
-
-
-
-
- The voice's pan level.
-
-
-
-
- The voice's signal delay.
-
-
-
-
- The voice's filter rate.
-
-
-
-
- The voice filter's depth.
-
-
-
-
- The voice's volume.
-
-
-
-
- The voice's cutoff frequency.
-
-
-
-
- The voice's pan level.
-
-
-
-
- Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Decibels. One of the main uses of a compressor is to increase the dynamic range by clipping as little as possible (when sound goes over 0dB).
- Compressor has many uses in the mix:
- - In the Master bus to compress the whole output (although an is probably better).
- - In voice channels to ensure they sound as balanced as possible.
- - Sidechained. This can reduce the sound level sidechained with another audio bus for threshold detection. This technique is common in video game mixing to the level of music and SFX while voices are being heard.
- - Accentuates transients by using a wider attack, making effects sound more punchy.
-
-
-
-
- The level above which compression is applied to the audio. Value can range from -60 to 0.
-
-
-
-
- Amount of compression applied to the audio once it passes the threshold level. The higher the ratio, the more the loud parts of the audio will be compressed. Value can range from 1 to 48.
-
-
-
-
- Gain applied to the output signal.
-
-
-
-
- Compressor's reaction time when the signal exceeds the threshold, in microseconds. Value can range from 20 to 2000.
-
-
-
-
- Compressor's delay time to stop reducing the signal after the signal level falls below the threshold, in milliseconds. Value can range from 20 to 2000.
-
-
-
-
- Balance between original signal and effect signal. Value can range from 0 (totally dry) to 1 (totally wet).
-
-
-
-
- Reduce the sound level using another audio bus for threshold detection.
-
-
-
-
- Plays input signal back after a period of time. The delayed signal may be played back multiple times to create the sound of a repeating, decaying echo. Delay effects range from a subtle echo effect to a pronounced blending of previous sounds with new sounds.
-
-
-
-
- Output percent of original sound. At 0, only delayed sounds are output. Value can range from 0 to 1.
-
-
-
-
- If true, tap1 will be enabled.
-
-
-
-
- tap1 delay time in milliseconds.
-
-
-
-
- Sound level for tap1.
-
-
-
-
- Pan position for tap1. Value can range from -1 (fully left) to 1 (fully right).
-
-
-
-
- If true, tap2 will be enabled.
-
-
-
-
- Tap2 delay time in milliseconds.
-
-
-
-
- Sound level for tap2.
-
-
-
-
- Pan position for tap2. Value can range from -1 (fully left) to 1 (fully right).
-
-
-
-
- If true, feedback is enabled.
-
-
-
-
- Feedback delay time in milliseconds.
-
-
-
-
- Sound level for tap1.
-
-
-
-
- Low-pass filter for feedback, in Hz. Frequencies below this value are filtered out of the source signal.
-
-
-
-
- Different types are available: clip, tan, lo-fi (bit crushing), overdrive, or waveshape.
- By distorting the waveform the frequency content change, which will often make the sound "crunchy" or "abrasive". For games, it can simulate sound coming from some saturated device or speaker very efficiently.
-
-
-
-
- Digital distortion effect which cuts off peaks at the top and bottom of the waveform.
-
-
-
-
- Low-resolution digital distortion effect. You can use it to emulate the sound of early digital audio devices.
-
-
-
-
- Emulates the warm distortion produced by a field effect transistor, which is commonly used in solid-state musical instrument amplifiers.
-
-
-
-
- Waveshaper distortions are used mainly by electronic musicians to achieve an extra-abrasive sound.
-
-
-
-
- Distortion type.
-
-
-
-
- Increases or decreases the volume before the effect. Value can range from -60 to 60.
-
-
-
-
- High-pass filter, in Hz. Frequencies higher than this value will not be affected by the distortion. Value can range from 1 to 20000.
-
-
-
-
- Distortion power. Value can range from 0 to 1.
-
-
-
-
- Increases or decreases the volume after the effect. Value can range from -80 to 24.
-
-
-
-
- AudioEffectEQ gives you control over frequencies. Use it to compensate for existing deficiencies in audio. AudioEffectEQs are useful on the Master bus to completely master a mix and give it more character. They are also useful when a game is run on a mobile device, to adjust the mix to that kind of speakers (it can be added but disabled when headphones are plugged).
-
-
-
-
- Sets band's gain at the specified index, in dB.
-
-
-
-
- Returns the band's gain at the specified index, in dB.
-
-
-
-
- Returns the number of bands of the equalizer.
-
-
-
-
- Frequency bands:
- Band 1: 31 Hz
- Band 2: 62 Hz
- Band 3: 125 Hz
- Band 4: 250 Hz
- Band 5: 500 Hz
- Band 6: 1000 Hz
- Band 7: 2000 Hz
- Band 8: 4000 Hz
- Band 9: 8000 Hz
- Band 10: 16000 Hz
- See also , , .
-
-
-
-
- Frequency bands:
- Band 1: 22 Hz
- Band 2: 32 Hz
- Band 3: 44 Hz
- Band 4: 63 Hz
- Band 5: 90 Hz
- Band 6: 125 Hz
- Band 7: 175 Hz
- Band 8: 250 Hz
- Band 9: 350 Hz
- Band 10: 500 Hz
- Band 11: 700 Hz
- Band 12: 1000 Hz
- Band 13: 1400 Hz
- Band 14: 2000 Hz
- Band 15: 2800 Hz
- Band 16: 4000 Hz
- Band 17: 5600 Hz
- Band 18: 8000 Hz
- Band 19: 11000 Hz
- Band 20: 16000 Hz
- Band 21: 22000 Hz
- See also , , .
-
-
-
-
- Frequency bands:
- Band 1: 32 Hz
- Band 2: 100 Hz
- Band 3: 320 Hz
- Band 4: 1000 Hz
- Band 5: 3200 Hz
- Band 6: 10000 Hz
- See also , , .
-
-
-
-
- Allows frequencies other than the to pass.
-
-
-
-
- Threshold frequency for the filter, in Hz.
-
-
-
-
- Amount of boost in the frequency range near the cutoff frequency.
-
-
-
-
- Gain amount of the frequencies after the filter.
-
-
-
-
- Cuts frequencies lower than the and allows higher frequencies to pass.
-
-
-
-
- A limiter is similar to a compressor, but it's less flexible and designed to disallow sound going over a given dB threshold. Adding one in the Master bus is always recommended to reduce the effects of clipping.
- Soft clipping starts to reduce the peaks a little below the threshold level and progressively increases its effect as the input level increases such that the threshold is never exceeded.
-
-
-
-
- The waveform's maximum allowed value, in decibels. Value can range from -20 to -0.1.
-
-
-
-
- Threshold from which the limiter begins to be active, in decibels. Value can range from -30 to 0.
-
-
-
-
- Applies a gain to the limited waves, in decibels. Value can range from 0 to 6.
-
-
-
-
- Cuts frequencies higher than the and allows lower frequencies to pass.
-
-
-
-
- Attenuates frequencies in a narrow band around the and cuts frequencies outside of this range.
-
-
-
-
- Determines how much of an audio signal is sent to the left and right buses.
-
-
-
-
- Pan position. Value can range from -1 (fully left) to 1 (fully right).
-
-
-
-
- Combines phase-shifted signals with the original signal. The movement of the phase-shifted signals is controlled using a low-frequency oscillator.
-
-
-
-
- Determines the minimum frequency affected by the LFO modulations, in Hz. Value can range from 10 to 10000.
-
-
-
-
- Determines the maximum frequency affected by the LFO modulations, in Hz. Value can range from 10 to 10000.
-
-
-
-
- Adjusts the rate in Hz at which the effect sweeps up and down across the frequency range.
-
-
-
-
- Output percent of modified sound. Value can range from 0.1 to 0.9.
-
-
-
-
- Governs how high the filter frequencies sweep. Low value will primarily affect bass frequencies. High value can sweep high into the treble. Value can range from 0.1 to 4.
-
-
-
-
- Allows modulation of pitch independently of tempo. All frequencies can be increased/decreased with minimal effect on transients.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Pitch value. Can range from 0 (-1 octave) to 16 (+16 octaves).
-
-
-
-
- Allows the user to record sound from a microphone. It sets and gets the format in which the audio file will be recorded (8-bit, 16-bit, or compressed). It checks whether or not the recording is active, and if it is, records the sound. It then returns the recorded sample.
-
-
-
-
- Specifies the format in which the sample will be recorded. See for available formats.
-
-
-
-
- If true, the sound will be recorded. Note that restarting the recording will remove the previously recorded sample.
-
-
-
-
- Returns whether the recording is active or not.
-
-
-
-
- Returns the recorded sample.
-
-
-
-
- Simulates rooms of different sizes. Its parameters can be adjusted to simulate the sound of a specific room.
-
-
-
-
- Time between the original signal and the early reflections of the reverb signal, in milliseconds.
-
-
-
-
- Output percent of predelay. Value can range from 0 to 1.
-
-
-
-
- Dimensions of simulated room. Bigger means more echoes. Value can range from 0 to 1.
-
-
-
-
- Defines how reflective the imaginary room's walls are. Value can range from 0 to 1.
-
-
-
-
- Widens or narrows the stereo image of the reverb tail. 1 means fully widens. Value can range from 0 to 1.
-
-
-
-
- High-pass filter passes signals with a frequency higher than a certain cutoff frequency and attenuates signals with frequencies lower than the cutoff frequency. Value can range from 0 to 1.
-
-
-
-
- Output percent of original sound. At 0, only modified sound is outputted. Value can range from 0 to 1.
-
-
-
-
- Output percent of modified sound. At 0, only original sound is outputted. Value can range from 0 to 1.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Use the average value as magnitude.
-
-
-
-
- Use the maximum value as magnitude.
-
-
-
-
- is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
-
-
-
-
- Two or fewer speakers were detected.
-
-
-
-
- A 3.1 channel surround setup was detected.
-
-
-
-
- A 5.1 channel surround setup was detected.
-
-
-
-
- A 7.1 channel surround setup was detected.
-
-
-
-
- Number of available audio buses.
-
-
-
-
- Name of the current device for audio output (see ).
-
-
-
-
- Scales the rate at which audio is played (i.e. setting it to 0.5 will make the audio be played twice as fast).
-
-
-
-
- Removes the bus at index index.
-
-
-
-
- Adds a bus at at_position.
-
-
-
-
- Moves the bus from index index to index to_index.
-
-
-
-
- Sets the name of the bus at index bus_idx to name.
-
-
-
-
- Returns the name of the bus with the index bus_idx.
-
-
-
-
- Returns the index of the bus with the name bus_name.
-
-
-
-
- Returns the amount of channels of the bus at index bus_idx.
-
-
-
-
- Sets the volume of the bus at index bus_idx to volume_db.
-
-
-
-
- Returns the volume of the bus at index bus_idx in dB.
-
-
-
-
- Connects the output of the bus at bus_idx to the bus named send.
-
-
-
-
- Returns the name of the bus that the bus at index bus_idx sends to.
-
-
-
-
- If true, the bus at index bus_idx is in solo mode.
-
-
-
-
- If true, the bus at index bus_idx is in solo mode.
-
-
-
-
- If true, the bus at index bus_idx is muted.
-
-
-
-
- If true, the bus at index bus_idx is muted.
-
-
-
-
- If true, the bus at index bus_idx is bypassing effects.
-
-
-
-
- If true, the bus at index bus_idx is bypassing effects.
-
-
-
-
- Adds an effect to the bus bus_idx at at_position.
-
-
-
-
- Removes the effect at index effect_idx from the bus at index bus_idx.
-
-
-
-
- Returns the number of effects on the bus at bus_idx.
-
-
-
-
- Returns the at position effect_idx in bus bus_idx.
-
-
-
-
- Returns the assigned to the given bus and effect indices (and optionally channel).
-
-
-
-
- Swaps the position of two effects in bus bus_idx.
-
-
-
-
- If true, the effect at index effect_idx on the bus at index bus_idx is enabled.
-
-
-
-
- If true, the effect at index effect_idx on the bus at index bus_idx is enabled.
-
-
-
-
- Returns the peak volume of the left speaker at bus index bus_idx and channel index channel.
-
-
-
-
- Returns the peak volume of the right speaker at bus index bus_idx and channel index channel.
-
-
-
-
- Locks the audio driver's main loop.
- Note: Remember to unlock it afterwards.
-
-
-
-
- Unlocks the audio driver's main loop. (After locking it, you should always unlock it.)
-
-
-
-
- Returns the speaker configuration.
-
-
-
-
- Returns the sample rate at the output of the .
-
-
-
-
- Returns the names of all audio devices detected on the system.
-
-
-
-
- Returns the relative time until the next mix occurs.
-
-
-
-
- Returns the relative time since the last mix occurred.
-
-
-
-
- Returns the audio driver's output latency.
-
-
-
-
- Returns the names of all audio input devices detected on the system.
-
-
-
-
- Name of the current device for audio input (see ).
-
-
-
-
- Sets which audio input device is used for audio capture.
-
-
-
-
- Overwrites the currently used .
-
-
-
-
- Generates an using the available buses and effects.
-
-
-
-
- Base class for audio streams. Audio streams are used for sound effects and music playback, and support WAV (via ) and OGG (via ) file formats.
-
-
-
-
- Returns the length of the audio stream in seconds.
-
-
-
-
- OGG Vorbis audio stream driver.
-
-
-
-
- Contains the audio data in bytes.
-
-
-
-
- If true, the stream will automatically loop when it reaches the end.
-
-
-
-
- Time in seconds at which the stream starts after being looped.
-
-
-
-
- Can play, loop, pause a scroll through audio. See and for usage.
-
-
-
-
- Plays an audio stream non-positionally.
-
-
-
-
- The audio will be played only on the first channel.
-
-
-
-
- The audio will be played on all surround channels.
-
-
-
-
- The audio will be played on the second channel, which is usually the center.
-
-
-
-
- The object to be played.
-
-
-
-
- Volume of sound, in dB.
-
-
-
-
- The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
-
-
-
-
- If true, audio is playing.
-
-
-
-
- If true, audio plays when added to scene tree.
-
-
-
-
- If true, the playback is paused. You can resume it by setting stream_paused to false.
-
-
-
-
- If the audio configuration has more than two speakers, this sets the target channels. See constants.
-
-
-
-
- Bus on which this audio is playing.
-
-
-
-
- Plays the audio from the given from_position, in seconds.
-
-
-
-
- Sets the position from which audio will be played, in seconds.
-
-
-
-
- Stops the audio.
-
-
-
-
- Returns the position in the in seconds.
-
-
-
-
- Returns the object associated with this .
-
-
-
-
- Plays audio that dampens with distance from screen center.
-
-
-
-
- The object to be played.
-
-
-
-
- Base volume without dampening.
-
-
-
-
- The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
-
-
-
-
- If true, audio is playing.
-
-
-
-
- If true, audio plays when added to scene tree.
-
-
-
-
- If true, the playback is paused. You can resume it by setting stream_paused to false.
-
-
-
-
- Maximum distance from which audio is still hearable.
-
-
-
-
- Dampens audio over distance with this as an exponent.
-
-
-
-
- Bus on which this audio is playing.
-
-
-
-
- Areas in which this sound plays.
-
-
-
-
- Plays the audio from the given position from_position, in seconds.
-
-
-
-
- Sets the position from which audio will be played, in seconds.
-
-
-
-
- Stops the audio.
-
-
-
-
- Returns the position in the .
-
-
-
-
- Returns the object associated with this .
-
-
-
-
- Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space.
- By default, audio is heard from the camera position. This can be changed by adding a node to the scene and enabling it by calling on it.
-
-
-
-
- Linear dampening of loudness according to distance.
-
-
-
-
- Squared dampening of loudness according to distance.
-
-
-
-
- Logarithmic dampening of loudness according to distance.
-
-
-
-
- No dampening of loudness according to distance.
-
-
-
-
- Mix this audio in, even when it's out of range.
-
-
-
-
- Pause this audio when it gets out of range.
-
-
-
-
- Disables doppler tracking.
-
-
-
-
- Executes doppler tracking in idle step.
-
-
-
-
- Executes doppler tracking in physics step.
-
-
-
-
- The object to be played.
-
-
-
-
- Decides if audio should get quieter with distance linearly, quadratically, logarithmically, or not be affected by distance, effectively disabling attenuation.
-
-
-
-
- Base sound level unaffected by dampening, in dB.
-
-
-
-
- Factor for the attenuation effect.
-
-
-
-
- Sets the absolute maximum of the soundlevel, in dB.
-
-
-
-
- The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
-
-
-
-
- If true, audio is playing.
-
-
-
-
- If true, audio plays when added to scene tree.
-
-
-
-
- If true, the playback is paused. You can resume it by setting stream_paused to false.
-
-
-
-
- Sets the distance from which the takes effect. Has no effect if set to 0.
-
-
-
-
- Decides if audio should pause when source is outside of range.
-
-
-
-
- Bus on which this audio is playing.
-
-
-
-
- Areas in which this sound plays.
-
-
-
-
- If true, the audio should be dampened according to the direction of the sound.
-
-
-
-
- The angle in which the audio reaches cameras undampened.
-
-
-
-
- Dampens audio if camera is outside of and is set by this factor, in dB.
-
-
-
-
- Dampens audio above this frequency, in Hz.
-
-
-
-
- Amount how much the filter affects the loudness, in dB.
-
-
-
-
- Decides in which step the Doppler effect should be calculated.
-
-
-
-
- Plays the audio from the given position from_position, in seconds.
-
-
-
-
- Sets the position from which audio will be played, in seconds.
-
-
-
-
- Stops the audio.
-
-
-
-
- Returns the position in the .
-
-
-
-
- Returns the object associated with this .
-
-
-
-
- Randomly varies pitch on each start.
-
-
-
-
- The current .
-
-
-
-
- The intensity of random pitch variation.
-
-
-
-
- AudioStreamSample stores sound samples loaded from WAV files. To play the stored sound, use an (for non-positional audio) or / (for positional audio). The sound can be looped.
- This class can also be used to store dynamically-generated PCM audio data.
-
-
-
-
- Audio does not loop.
-
-
-
-
- Audio loops the data between and , playing forward only.
-
-
-
-
- Audio loops the data between and , playing back and forth.
-
-
-
-
- Audio loops the data between and , playing backward only.
-
-
-
-
- 8-bit audio codec.
-
-
-
-
- 16-bit audio codec.
-
-
-
-
- Audio is compressed using IMA ADPCM.
-
-
-
-
- Contains the audio data in bytes.
- Note: This property expects signed PCM8 data. To convert unsigned PCM8 to signed PCM8, subtract 128 from each byte.
-
-
-
-
- Audio format. See constants for values.
-
-
-
-
- The loop mode. This information will be imported automatically from the WAV file if present. See constants for values.
-
-
-
-
- The loop start point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present.
-
-
-
-
- The loop end point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present.
-
-
-
-
- The sample rate for mixing this audio.
-
-
-
-
- If true, audio is stereo.
-
-
-
-
- Saves the AudioStreamSample as a WAV file to path. Samples with IMA ADPCM format can't be saved.
- Note: A .wav extension is automatically appended to path if it is missing.
-
-
-
-
- Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is bufferized with the content of the screen it covers, or the entire screen according to the copy mode set. Use the texture(SCREEN_TEXTURE, ...) function in your shader scripts to access the buffer.
- Note: Since this node inherits from (and not ), anchors and margins won't apply to child -derived nodes. This can be problematic when resizing the window. To avoid this, add -derived nodes as siblings to the BackBufferCopy node instead of adding them as children.
-
-
-
-
- Disables the buffering mode. This means the BackBufferCopy node will directly use the portion of screen it covers.
-
-
-
-
- BackBufferCopy buffers a rectangular region.
-
-
-
-
- BackBufferCopy buffers the entire screen.
-
-
-
-
- Buffer mode. See constants.
-
-
-
-
- The area covered by the BackBufferCopy. Only used if is .
-
-
-
-
- Baked lightmaps are an alternative workflow for adding indirect (or baked) lighting to a scene. Unlike the approach, baked lightmaps work fine on low-end PCs and mobile devices as they consume almost no resources in run-time.
- Note: This node has many known bugs and will be rewritten for Godot 4.0. See GitHub issue #30929.
-
-
-
-
- The lowest bake quality mode. Fastest to calculate.
-
-
-
-
- The default bake quality mode.
-
-
-
-
- The highest bake quality mode. Takes longer to calculate.
-
-
-
-
- Baking was successful.
-
-
-
-
- Returns if no viable save path is found. This can happen where an is not specified or when the save location is invalid.
-
-
-
-
- Currently unused.
-
-
-
-
- Returns when the baker cannot save per-mesh textures to file.
-
-
-
-
- Returns if user cancels baking.
-
-
-
-
- Less precise but faster bake mode.
-
-
-
-
- More precise bake mode but can take considerably longer to bake.
-
-
-
-
- Grid subdivision size for lightmapper calculation. The default value will work for most cases. Increase for better lighting on small details or if your scene is very large.
-
-
-
-
- Three quality modes are available. Higher quality requires more rendering time. See .
-
-
-
-
- Lightmapping mode. See .
-
-
-
-
- Defines how far the light will travel before it is no longer effective. The higher the number, the farther the light will travel. For instance, if the value is set to 2, the light will go twice as far. If the value is set to 0.5, the light will only go half as far.
-
-
-
-
- Multiplies the light sources' intensity by this value. For instance, if the value is set to 2, lights will be twice as bright. If the value is set to 0.5, lights will be half as bright.
-
-
-
-
- If true, the lightmap can capture light values greater than 1.0. Turning this off will result in a smaller file size.
-
-
-
-
- The size of the affected area.
-
-
-
-
- If a isn't specified, the lightmap baker will dynamically set the lightmap size using this value. This value is measured in texels per world unit. The maximum lightmap texture size is 4096x4096.
-
-
-
-
- Grid size used for real-time capture information on dynamic objects. Cannot be larger than .
-
-
-
-
- The location where lightmaps will be saved.
-
-
-
-
- The calculated light data.
-
-
-
-
- Bakes the lightmaps within the currently edited scene. Returns a to signify if the bake was successful, or if unsuccessful, how the bake failed.
-
-
-
-
- Executes a dry run bake of lightmaps within the currently edited scene.
-
-
-
-
- BaseButton is the abstract base class for buttons, so it shouldn't be used directly (it doesn't display anything). Other types of buttons inherit from it.
-
-
-
-
- Require just a press to consider the button clicked.
-
-
-
-
- Require a press and a subsequent release before considering the button clicked.
-
-
-
-
- The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
-
-
-
-
- The state of buttons are pressed.
-
-
-
-
- The state of buttons are hovered.
-
-
-
-
- The state of buttons are disabled.
-
-
-
-
- The state of buttons are both hovered and pressed.
-
-
-
-
- If true, the button is in disabled state and can't be clicked or toggled.
-
-
-
-
- If true, the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
-
-
-
-
- If true, the button will add information about its shortcut in the tooltip.
-
-
-
-
- If true, the button's state is pressed. Means the button is pressed down or toggled (if is active).
-
-
-
-
- Determines when the button is considered clicked, one of the constants.
-
-
-
-
- Binary mask to choose which mouse buttons this button will respond to.
- To allow both left-click and right-click, use BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT.
-
-
-
-
- Focus access mode to use when switching between enabled/disabled (see and ).
-
-
-
-
- If true, the button stays pressed when moving the cursor outside the button while pressing it.
- Note: This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
-
-
-
-
- associated to the button.
-
-
-
-
- associated to the button.
-
-
-
-
- Called when the button is pressed. If you need to know the button's pressed state (and is active), use instead.
-
-
-
-
- Called when the button is toggled (only if is active).
-
-
-
-
- Returns true if the mouse has entered the button and has not left it yet.
-
-
-
-
- Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the enum.
-
-
-
-
- A two-dimensional array of boolean values, can be used to efficiently store a binary matrix (every matrix element takes only one bit) and query the values using natural cartesian coordinates.
-
-
-
-
- Creates a bitmap with the specified size, filled with false.
-
-
-
-
- Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to false if the alpha value of the image at that position is equal to threshold or less, and true in other case.
-
-
-
-
- Sets the bitmap's element at the specified position, to the specified value.
-
-
-
-
- Returns bitmap's value at the specified position.
-
-
-
-
- Sets a rectangular portion of the bitmap to the specified value.
-
-
-
-
- Returns the amount of bitmap elements that are set to true.
-
-
-
-
- Returns bitmap's dimensions.
-
-
-
-
- Applies morphological dilation to the bitmap. The first argument is the dilation amount, Rect2 is the area where the dilation will be applied.
-
-
-
-
- Renders text using *.fnt fonts containing texture atlases. Supports distance fields. For using vector font files like TTF directly, see .
-
-
-
-
- Total font height (ascent plus descent) in pixels.
-
-
-
-
- Ascent (number of pixels above the baseline).
-
-
-
-
- If true, distance field hint is enabled.
-
-
-
-
- The fallback font.
-
-
-
-
- Creates a BitmapFont from the *.fnt file at path.
-
-
-
-
- Adds a kerning pair to the as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
-
-
-
-
- Returns a kerning pair as a difference.
-
-
-
-
- Adds a texture to the .
-
-
-
-
- Adds a character to the font, where character is the Unicode value, texture is the texture index, rect is the region in the texture (in pixels!), align is the (optional) alignment for the character and advance is the (optional) advance.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Returns the number of textures in the BitmapFont atlas.
-
-
-
-
- Returns the font atlas texture at index idx.
-
-
-
-
- Clears all the font data and settings.
-
-
-
-
- Use a hierarchy of Bone2D bound to a to control, and animate other nodes.
- You can use Bone2D and Skeleton2D nodes to animate 2D meshes created with the Polygon 2D UV editor.
- Each bone has a transform that you can reset to with . These rest poses are relative to the bone's parent.
- If in the editor, you can set the rest pose of an entire skeleton using a menu option, from the code, you need to iterate over the bones to set their individual rest poses.
-
-
-
-
- Rest transform of the bone. You can reset the node's transforms to this value using .
-
-
-
-
- Length of the bone's representation drawn in the editor's viewport in pixels.
-
-
-
-
- Stores the node's current transforms in .
-
-
-
-
- Returns the node's Transform2D if it doesn't have a parent, or its rest pose relative to its parent.
-
-
-
-
- Returns the node's index as part of the entire skeleton. See .
-
-
-
-
- This node must be the child of a node. You can then select a bone for this node to attach to. The BoneAttachment node will copy the transform of the selected bone.
-
-
-
-
- The name of the attached bone.
-
-
-
-
- Arranges child controls vertically or horizontally, and rearranges the controls automatically when their minimum size changes.
-
-
-
-
- Aligns children with the beginning of the container.
-
-
-
-
- Aligns children with the center of the container.
-
-
-
-
- Aligns children with the end of the container.
-
-
-
-
- The alignment of the container's children (must be one of , or ).
-
-
-
-
- Adds a control to the box as a spacer. If true, begin will insert the spacer control in front of other children.
-
-
-
-
- 3D box shape that can be a child of a or .
-
-
-
-
- The box's half extents. The width, height and depth of this shape is twice the half extents.
-
-
-
-
- Button is the standard themed button. It can contain text and an icon, and will display them according to the current .
- Example of creating a button and assigning an action when pressed by code:
-
- func _ready():
- var button = Button.new()
- button.text = "Click me"
- button.connect("pressed", self, "_button_pressed")
- add_child(button)
-
- func _button_pressed():
- print("Hello world!")
-
- Buttons (like all Control nodes) can also be created in the editor, but some situations may require creating them from code.
-
-
-
-
- Align the text to the left.
-
-
-
-
- Align the text to the center.
-
-
-
-
- Align the text to the right.
-
-
-
-
- The button's text that will be displayed inside the button's area.
-
-
-
-
- Button's icon, if text is present the icon will be placed before the text.
-
-
-
-
- Flat buttons don't display decoration.
-
-
-
-
- When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text.
-
-
-
-
- Text alignment policy for the button's text, use one of the constants.
-
-
-
-
- When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect.
-
-
-
-
- Group of . All direct and indirect children buttons become radios. Only one allows being pressed.
- should be true.
-
-
-
-
- Returns the current pressed button.
-
-
-
-
- Returns an of s who have this as their (see ).
-
-
-
-
- CPU-based 3D particle node used to create a variety of particle systems and effects.
- See also , which provides the same functionality with hardware acceleration, but may not run on older devices.
-
-
-
-
- Use with to set .
-
-
-
-
- Use with to set .
-
-
-
-
- Use with to set .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- All particles will be emitted from a single point.
-
-
-
-
- Particles will be emitted in the volume of a sphere.
-
-
-
-
- Particles will be emitted in the volume of a box.
-
-
-
-
- Particles will be emitted at a position chosen randomly among . Particle color will be modulated by .
-
-
-
-
- Particles will be emitted at a position chosen randomly among . Particle velocity and rotation will be set based on . Particle color will be modulated by .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Use with , , and to set initial velocity properties.
-
-
-
-
- Use with , , and to set angular velocity properties.
-
-
-
-
- Use with , , and to set orbital velocity properties.
-
-
-
-
- Use with , , and to set linear acceleration properties.
-
-
-
-
- Use with , , and to set radial acceleration properties.
-
-
-
-
- Use with , , and to set tangential acceleration properties.
-
-
-
-
- Use with , , and to set damping properties.
-
-
-
-
- Use with , , and to set angle properties.
-
-
-
-
- Use with , , and to set scale properties.
-
-
-
-
- Use with , , and to set hue variation properties.
-
-
-
-
- Use with , , and to set animation speed properties.
-
-
-
-
- Use with , , and to set animation offset properties.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Particles are drawn in the order emitted.
-
-
-
-
- Particles are drawn in order of remaining lifetime.
-
-
-
-
- Particles are drawn in order of depth.
-
-
-
-
- If true, particles are being emitted.
-
-
-
-
- Number of particles emitted in one emission cycle.
-
-
-
-
- Amount of time each particle will exist.
-
-
-
-
- If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle's end.
-
-
-
-
- Particle system starts as if it had already run for this many seconds.
-
-
-
-
- Particle system's running speed scaling ratio. A value of 0 can be used to pause the particles.
-
-
-
-
- How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins.
-
-
-
-
- Emission lifetime randomness ratio.
-
-
-
-
- Particle lifetime randomness ratio.
-
-
-
-
- The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
-
-
-
-
- If true, results in fractional delta calculation which has a smoother particles display effect.
-
-
-
-
- If true, particles use the parent node's coordinate space. If false, they use global coordinates.
-
-
-
-
- Particle draw order. Uses values.
-
-
-
-
- The used for each particle. If null, particles will be spheres.
-
-
-
-
- Particles will be emitted inside this region. See for possible values.
-
-
-
-
- The sphere's radius if is set to .
-
-
-
-
- The rectangle's extents if is set to .
-
-
-
-
- Sets the initial positions to spawn particles when using or .
-
-
-
-
- Sets the direction the particles will be emitted in when using .
-
-
-
-
- Sets the s to modulate particles by when using or .
-
-
-
-
- Align Y axis of particle with the direction of its velocity.
-
-
-
-
- If true, particles rotate around Y axis by .
-
-
-
-
- If true, particles will not move on the z axis.
-
-
-
-
- Unit vector specifying the particles' emission direction.
-
-
-
-
- Each particle's initial direction range from +spread to -spread degrees. Applied to X/Z plane and Y/Z planes.
-
-
-
-
- Amount of in Y/Z plane. A value of 1 restricts particles to X/Z plane.
-
-
-
-
- Gravity applied to every particle.
-
-
-
-
- Initial velocity magnitude for each particle. Direction comes from and the node's orientation.
-
-
-
-
- Initial velocity randomness ratio.
-
-
-
-
- Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
-
-
-
-
- Angular velocity randomness ratio.
-
-
-
-
- Each particle's angular velocity will vary along this .
-
-
-
-
- Orbital velocity applied to each particle. Makes the particles circle around origin in the local XY plane. Specified in number of full rotations around origin per second.
- This property is only available when is true.
-
-
-
-
- Orbital velocity randomness ratio.
-
-
-
-
- Each particle's orbital velocity will vary along this .
-
-
-
-
- Linear acceleration applied to each particle in the direction of motion.
-
-
-
-
- Linear acceleration randomness ratio.
-
-
-
-
- Each particle's linear acceleration will vary along this .
-
-
-
-
- Radial acceleration applied to each particle. Makes particle accelerate away from origin.
-
-
-
-
- Radial acceleration randomness ratio.
-
-
-
-
- Each particle's radial acceleration will vary along this .
-
-
-
-
- Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
-
-
-
-
- Tangential acceleration randomness ratio.
-
-
-
-
- Each particle's tangential acceleration will vary along this .
-
-
-
-
- The rate at which particles lose velocity.
-
-
-
-
- Damping randomness ratio.
-
-
-
-
- Damping will vary along this .
-
-
-
-
- Initial rotation applied to each particle, in degrees.
-
-
-
-
- Rotation randomness ratio.
-
-
-
-
- Each particle's rotation will be animated along this .
-
-
-
-
- Initial scale applied to each particle.
-
-
-
-
- Scale randomness ratio.
-
-
-
-
- Each particle's scale will vary along this .
-
-
-
-
- Unused for 3D particles.
-
-
-
-
- Unused for 3D particles.
-
-
-
-
- Initial hue variation applied to each particle.
-
-
-
-
- Hue variation randomness ratio.
-
-
-
-
- Each particle's hue will vary along this .
-
-
-
-
- Particle animation speed.
-
-
-
-
- Animation speed randomness ratio.
-
-
-
-
- Each particle's animation speed will vary along this .
-
-
-
-
- Particle animation offset.
-
-
-
-
- Animation offset randomness ratio.
-
-
-
-
- Each particle's animation offset will vary along this .
-
-
-
-
- Restarts the particle emitter.
-
-
-
-
- Sets the base value of the parameter specified by .
-
-
-
-
- Returns the base value of the parameter specified by .
-
-
-
-
- Sets the randomness factor of the parameter specified by .
-
-
-
-
- Returns the randomness factor of the parameter specified by .
-
-
-
-
- Sets the of the parameter specified by .
-
-
-
-
- Returns the of the parameter specified by .
-
-
-
-
- Enables or disables the given flag (see for options).
-
-
-
-
- Returns the enabled state of the given flag (see for options).
-
-
-
-
- Sets this node's properties to match a given node with an assigned .
-
-
-
-
- CPU-based 2D particle node used to create a variety of particle systems and effects.
- See also , which provides the same functionality with hardware acceleration, but may not run on older devices.
-
-
-
-
- Use with to set .
-
-
-
-
- Present for consistency with 3D particle nodes, not used in 2D.
-
-
-
-
- Present for consistency with 3D particle nodes, not used in 2D.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- All particles will be emitted from a single point.
-
-
-
-
- Particles will be emitted on the surface of a sphere flattened to two dimensions.
-
-
-
-
- Particles will be emitted in the area of a rectangle.
-
-
-
-
- Particles will be emitted at a position chosen randomly among . Particle color will be modulated by .
-
-
-
-
- Particles will be emitted at a position chosen randomly among . Particle velocity and rotation will be set based on . Particle color will be modulated by .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Use with , , and to set initial velocity properties.
-
-
-
-
- Use with , , and to set angular velocity properties.
-
-
-
-
- Use with , , and to set orbital velocity properties.
-
-
-
-
- Use with , , and to set linear acceleration properties.
-
-
-
-
- Use with , , and to set radial acceleration properties.
-
-
-
-
- Use with , , and to set tangential acceleration properties.
-
-
-
-
- Use with , , and to set damping properties.
-
-
-
-
- Use with , , and to set angle properties.
-
-
-
-
- Use with , , and to set scale properties.
-
-
-
-
- Use with , , and to set hue variation properties.
-
-
-
-
- Use with , , and to set animation speed properties.
-
-
-
-
- Use with , , and to set animation offset properties.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Particles are drawn in the order emitted.
-
-
-
-
- Particles are drawn in order of remaining lifetime.
-
-
-
-
- If true, particles are being emitted.
-
-
-
-
- Number of particles emitted in one emission cycle.
-
-
-
-
- Amount of time each particle will exist.
-
-
-
-
- If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle's end.
-
-
-
-
- Particle system starts as if it had already run for this many seconds.
-
-
-
-
- Particle system's running speed scaling ratio. A value of 0 can be used to pause the particles.
-
-
-
-
- How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins.
-
-
-
-
- Emission lifetime randomness ratio.
-
-
-
-
- Particle lifetime randomness ratio.
-
-
-
-
- The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
-
-
-
-
- If true, results in fractional delta calculation which has a smoother particles display effect.
-
-
-
-
- If true, particles use the parent node's coordinate space. If false, they use global coordinates.
-
-
-
-
- Particle draw order. Uses values.
-
-
-
-
- Particle texture. If null, particles will be squares.
-
-
-
-
- Normal map to be used for the property.
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- Particles will be emitted inside this region. See for possible values.
-
-
-
-
- The sphere's radius if is set to .
-
-
-
-
- The rectangle's extents if is set to .
-
-
-
-
- Sets the initial positions to spawn particles when using or .
-
-
-
-
- Sets the direction the particles will be emitted in when using .
-
-
-
-
- Sets the s to modulate particles by when using or .
-
-
-
-
- Align Y axis of particle with the direction of its velocity.
-
-
-
-
- Unit vector specifying the particles' emission direction.
-
-
-
-
- Each particle's initial direction range from +spread to -spread degrees.
-
-
-
-
- Gravity applied to every particle.
-
-
-
-
- Initial velocity magnitude for each particle. Direction comes from and the node's orientation.
-
-
-
-
- Initial velocity randomness ratio.
-
-
-
-
- Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
-
-
-
-
- Angular velocity randomness ratio.
-
-
-
-
- Each particle's angular velocity will vary along this .
-
-
-
-
- Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
-
-
-
-
- Orbital velocity randomness ratio.
-
-
-
-
- Each particle's orbital velocity will vary along this .
-
-
-
-
- Linear acceleration applied to each particle in the direction of motion.
-
-
-
-
- Linear acceleration randomness ratio.
-
-
-
-
- Each particle's linear acceleration will vary along this .
-
-
-
-
- Radial acceleration applied to each particle. Makes particle accelerate away from origin.
-
-
-
-
- Radial acceleration randomness ratio.
-
-
-
-
- Each particle's radial acceleration will vary along this .
-
-
-
-
- Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
-
-
-
-
- Tangential acceleration randomness ratio.
-
-
-
-
- Each particle's tangential acceleration will vary along this .
-
-
-
-
- The rate at which particles lose velocity.
-
-
-
-
- Damping randomness ratio.
-
-
-
-
- Damping will vary along this .
-
-
-
-
- Initial rotation applied to each particle, in degrees.
-
-
-
-
- Rotation randomness ratio.
-
-
-
-
- Each particle's rotation will be animated along this .
-
-
-
-
- Initial scale applied to each particle.
-
-
-
-
- Scale randomness ratio.
-
-
-
-
- Each particle's scale will vary along this .
-
-
-
-
- Each particle's initial color. If is defined, it will be multiplied by this color.
-
-
-
-
- Each particle's color will vary along this .
-
-
-
-
- Initial hue variation applied to each particle.
-
-
-
-
- Hue variation randomness ratio.
-
-
-
-
- Each particle's hue will vary along this .
-
-
-
-
- Particle animation speed.
-
-
-
-
- Animation speed randomness ratio.
-
-
-
-
- Each particle's animation speed will vary along this .
-
-
-
-
- Particle animation offset.
-
-
-
-
- Animation offset randomness ratio.
-
-
-
-
- Each particle's animation offset will vary along this .
-
-
-
-
- Restarts the particle emitter.
-
-
-
-
- Sets the base value of the parameter specified by .
-
-
-
-
- Returns the base value of the parameter specified by .
-
-
-
-
- Sets the randomness factor of the parameter specified by .
-
-
-
-
- Returns the randomness factor of the parameter specified by .
-
-
-
-
- Sets the of the parameter specified by .
-
-
-
-
- Returns the of the parameter specified by .
-
-
-
-
- Enables or disables the given flag (see for options).
-
-
-
-
- Returns the enabled state of the given flag (see for options).
-
-
-
-
- Sets this node's properties to match a given node with an assigned .
-
-
-
-
- This node allows you to create a box for use with the CSG system.
-
-
-
-
- Width of the box measured from the center of the box.
-
-
-
-
- Height of the box measured from the center of the box.
-
-
-
-
- Depth of the box measured from the center of the box.
-
-
-
-
- The material used to render the box.
-
-
-
-
- For complex arrangements of shapes, it is sometimes needed to add structure to your CSG nodes. The CSGCombiner node allows you to create this structure. The node encapsulates the result of the CSG operations of its children. In this way, it is possible to do operations on one set of shapes that are children of one CSGCombiner node, and a set of separate operations on a second set of shapes that are children of a second CSGCombiner node, and then do an operation that takes the two end results as its input to create the final shape.
-
-
-
-
- This node allows you to create a cylinder (or cone) for use with the CSG system.
-
-
-
-
- The radius of the cylinder.
-
-
-
-
- The height of the cylinder.
-
-
-
-
- The number of sides of the cylinder, the higher this number the more detail there will be in the cylinder.
-
-
-
-
- If true a cone is created, the will only apply to one side.
-
-
-
-
- If true the normals of the cylinder are set to give a smooth effect making the cylinder seem rounded. If false the cylinder will have a flat shaded look.
-
-
-
-
- The material used to render the cylinder.
-
-
-
-
- This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more then two faces.
-
-
-
-
- The resource to use as a CSG shape.
-
-
-
-
- The used in drawing the CSG shape.
-
-
-
-
- This node takes a 2D polygon shape and extrudes it to create a 3D mesh.
-
-
-
-
- Slice is not rotated.
-
-
-
-
- Slice is rotated around the up vector of the path.
-
-
-
-
- Slice is rotate to match the path exactly.
-
-
-
-
- Shape is extruded to .
-
-
-
-
- Shape is extruded by rotating it around an axis.
-
-
-
-
- Shape is extruded along a path set by a set in .
-
-
-
-
- Point array that defines the shape that we'll extrude.
-
-
-
-
- Extrusion mode.
-
-
-
-
- Extrusion depth when is .
-
-
-
-
- Degrees to rotate our extrusion for each slice when is .
-
-
-
-
- Number of extrusion when is .
-
-
-
-
- The object containing the path along which we extrude when is .
-
-
-
-
- Interval at which a new extrusion slice is added along the path when is .
-
-
-
-
- The method by which each slice is rotated along the path when is .
-
-
-
-
- If false we extrude centered on our path, if true we extrude in relation to the position of our CSGPolygon when is .
-
-
-
-
- If true the u component of our uv will continuously increase in unison with the distance traveled along our path when is .
-
-
-
-
- If true the start and end of our path are joined together ensuring there is no seam when is .
-
-
-
-
- Generates smooth normals so smooth shading is applied to our mesh.
-
-
-
-
- Material to use for the resulting mesh.
-
-
-
-
- Parent class for various CSG primitives. It contains code and functionality that is common between them. It cannot be used directly. Instead use one of the various classes that inherit from it.
-
-
-
-
- Invert the faces of the mesh.
-
-
-
-
- This is the CSG base class that provides CSG operation support to the various CSG nodes in Godot.
-
-
-
-
- Geometry of both primitives is merged, intersecting geometry is removed.
-
-
-
-
- Only intersecting geometry remains, the rest is removed.
-
-
-
-
- The second shape is subtracted from the first, leaving a dent with its shape.
-
-
-
-
- The operation that is performed on this shape. This is ignored for the first CSG child node as the operation is between this node and the previous child of this nodes parent.
-
-
-
-
- Snap makes the mesh snap to a given distance so that the faces of two meshes can be perfectly aligned. A lower value results in greater precision but may be harder to adjust.
-
-
-
-
- Calculate tangents for the CSG shape which allows the use of normal maps. This is only applied on the root shape, this setting is ignored on any child.
-
-
-
-
- Adds a collision shape to the physics engine for our CSG shape. This will always act like a static body. Note that the collision shape is still active even if the CSG shape itself is hidden.
-
-
-
-
- The physics layers this area is in.
- Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.
- A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The physics layers this CSG shape scans for collisions. See Collision layers and masks in the documentation for more information.
-
-
-
-
- Returns true if this is a root shape and is thus the object that is rendered.
-
-
-
-
- Sets individual bits on the collision mask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the collision mask.
-
-
-
-
- Sets individual bits on the layer mask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the collision mask.
-
-
-
-
- Returns an with two elements, the first is the of this node and the second is the root of this node. Only works when this node is the root shape.
-
-
-
-
- This node allows you to create a sphere for use with the CSG system.
-
-
-
-
- Radius of the sphere.
-
-
-
-
- Number of vertical slices for the sphere.
-
-
-
-
- Number of horizontal slices for the sphere.
-
-
-
-
- If true the normals of the sphere are set to give a smooth effect making the sphere seem rounded. If false the sphere will have a flat shaded look.
-
-
-
-
- The material used to render the sphere.
-
-
-
-
- This node allows you to create a torus for use with the CSG system.
-
-
-
-
- The inner radius of the torus.
-
-
-
-
- The outer radius of the torus.
-
-
-
-
- The number of slices the torus is constructed of.
-
-
-
-
- The number of edges each ring of the torus is constructed of.
-
-
-
-
- If true the normals of the torus are set to give a smooth effect making the torus seem rounded. If false the torus will have a flat shaded look.
-
-
-
-
- The material used to render the torus.
-
-
-
-
- This class represents a C# script. It is the C# equivalent of the class and is only available in Mono-enabled Godot builds.
- See also .
-
-
-
-
- Returns a new instance of the script.
-
-
-
-
- Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the camera will register in the global viewport. In other words, a camera just provides 3D display capabilities to a , and, without one, a scene registered in that (or higher viewports) can't be displayed.
-
-
-
-
- Preserves the horizontal aspect ratio; also known as Vert- scaling. This is usually the best option for projects running in portrait mode, as taller aspect ratios will benefit from a wider vertical FOV.
-
-
-
-
- Preserves the vertical aspect ratio; also known as Hor+ scaling. This is usually the best option for projects running in landscape mode, as wider aspect ratios will automatically benefit from a wider horizontal FOV.
-
-
-
-
- Perspective projection. Objects on the screen becomes smaller when they are far away.
-
-
-
-
- Orthogonal projection, also known as orthographic projection. Objects remain the same size on the screen no matter how far away they are.
-
-
-
-
- Frustum projection. This mode allows adjusting to create "tilted frustum" effects.
-
-
-
-
- Disables Doppler effect simulation (default).
-
-
-
-
- Simulate Doppler effect by tracking positions of objects that are changed in _process. Changes in the relative velocity of this camera compared to those objects affect how Audio is perceived (changing the Audio's pitch shift).
-
-
-
-
- Simulate Doppler effect by tracking positions of objects that are changed in _physics_process. Changes in the relative velocity of this camera compared to those objects affect how Audio is perceived (changing the Audio's pitch shift).
-
-
-
-
- The axis to lock during / adjustments. Can be either or .
-
-
-
-
- The culling mask that describes which 3D render layers are rendered by this camera.
-
-
-
-
- The to use for this camera.
-
-
-
-
- The horizontal (X) offset of the camera viewport.
-
-
-
-
- The vertical (Y) offset of the camera viewport.
-
-
-
-
- If not , this camera will simulate the Doppler effect for objects changed in particular _process methods. See for possible values.
-
-
-
-
- The camera's projection mode. In mode, objects' Z distance from the camera's local space scales their perceived size.
-
-
-
-
- If true, the ancestor is currently using this camera.
-
-
-
-
- The camera's field of view angle (in degrees). Only applicable in perspective mode. Since locks one axis, fov sets the other axis' field of view angle.
-
-
-
-
- The camera's size measured as 1/2 the width or height. Only applicable in orthogonal mode. Since locks on axis, size sets the other axis' size length.
-
-
-
-
- The camera's frustum offset. This can be changed from the default to create "tilted frustum" effects such as Y-shearing.
-
-
-
-
- The distance to the near culling boundary for this camera relative to its local Z axis.
-
-
-
-
- The distance to the far culling boundary for this camera relative to its local Z axis.
-
-
-
-
- Returns a normal vector in worldspace, that is the result of projecting a point on the rectangle by the camera projection. This is useful for casting rays in the form of (origin, normal) for object intersection or picking.
-
-
-
-
- Returns a normal vector from the screen point location directed along the camera. Orthogonal cameras are normalized. Perspective cameras account for perspective, screen width/height, etc.
-
-
-
-
- Returns a 3D position in worldspace, that is the result of projecting a point on the rectangle by the camera projection. This is useful for casting rays in the form of (origin, normal) for object intersection or picking.
-
-
-
-
- Returns the 2D coordinate in the rectangle that maps to the given 3D point in worldspace.
-
-
-
-
- Returns true if the given position is behind the camera.
- Note: A position which returns false may still be outside the camera's field of view.
-
-
-
-
- Returns the 3D point in worldspace that maps to the given 2D coordinate in the rectangle on a plane that is the given z_depth distance into the scene away from the camera.
-
-
-
-
- Sets the camera projection to perspective mode (see ), by specifying a fov (field of view) angle in degrees, and the z_near and z_far clip planes in world-space units.
-
-
-
-
- Sets the camera projection to orthogonal mode (see ), by specifying a size, and the z_near and z_far clip planes in world-space units. (As a hint, 2D games often use this projection, with values specified in pixels.)
-
-
-
-
- Sets the camera projection to frustum mode (see ), by specifying a size, an offset, and the z_near and z_far clip planes in world-space units.
-
-
-
-
- Makes this camera the current camera for the (see class description). If the camera node is outside the scene tree, it will attempt to become current once it's added.
-
-
-
-
- If this is the current camera, remove it from being current. If enable_next is true, request to make the next camera current, if any.
-
-
-
-
- Gets the camera transform. Subclassed cameras such as may provide different transforms than the transform.
-
-
-
-
- Returns the camera's frustum planes in world-space units as an array of s in the following order: near, far, left, top, right, bottom. Not to be confused with .
-
-
-
-
- Returns the camera's RID from the .
-
-
-
-
- Enables or disables the given layer in the .
-
-
-
-
- Returns true if the given layer in the is enabled, false otherwise.
-
-
-
-
- Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of -based nodes.
- This node is intended to be a simple helper to get things going quickly and it may happen that more functionality is desired to change how the camera works. To make your own custom camera node, inherit from and change the transform of the canvas by setting in (you can obtain the current by using ).
- Note that the node's position doesn't represent the actual position of the screen, which may differ due to applied smoothing or limits. You can use to get the real position.
-
-
-
-
- The camera updates with the _physics_process callback.
-
-
-
-
- The camera updates with the _process callback.
-
-
-
-
- The camera's position is fixed so that the top-left corner is always at the origin.
-
-
-
-
- The camera's position takes into account vertical/horizontal offsets and the screen size.
-
-
-
-
- The camera's offset, useful for looking around or camera shake animations.
-
-
-
-
- The Camera2D's anchor point. See constants.
-
-
-
-
- If true, the camera rotates with the target.
-
-
-
-
- If true, the camera is the active camera for the current scene. Only one camera can be current, so setting a different camera current will disable this one.
-
-
-
-
- The camera's zoom relative to the viewport. Values larger than Vector2(1, 1) zoom out and smaller values zoom in. For an example, use Vector2(0.5, 0.5) for a 2× zoom-in, and Vector2(4, 4) for a 4× zoom-out.
-
-
-
-
- The custom node attached to the . If null or not a , uses the default viewport instead.
-
-
-
-
- The camera's process callback. See .
-
-
-
-
- Left scroll limit in pixels. The camera stops moving when reaching this value.
-
-
-
-
- Top scroll limit in pixels. The camera stops moving when reaching this value.
-
-
-
-
- Right scroll limit in pixels. The camera stops moving when reaching this value.
-
-
-
-
- Bottom scroll limit in pixels. The camera stops moving when reaching this value.
-
-
-
-
- If true, the camera smoothly stops when reaches its limits.
-
-
-
-
- If true, the camera only moves when reaching the horizontal drag margins. If false, the camera moves horizontally regardless of margins.
-
-
-
-
- If true, the camera only moves when reaching the vertical drag margins. If false, the camera moves vertically regardless of margins.
-
-
-
-
- If true, the camera smoothly moves towards the target at .
-
-
-
-
- Speed in pixels per second of the camera's smoothing effect when is true.
-
-
-
-
- The horizontal offset of the camera, relative to the drag margins.
- Note: Offset H is used only to force offset relative to margins. It's not updated in any way if drag margins are enabled and can be used to set initial offset.
-
-
-
-
- The vertical offset of the camera, relative to the drag margins.
- Note: Used the same as .
-
-
-
-
- Left margin needed to drag the camera. A value of 1 makes the camera move only when reaching the edge of the screen.
-
-
-
-
- Top margin needed to drag the camera. A value of 1 makes the camera move only when reaching the edge of the screen.
-
-
-
-
- Right margin needed to drag the camera. A value of 1 makes the camera move only when reaching the edge of the screen.
-
-
-
-
- Bottom margin needed to drag the camera. A value of 1 makes the camera move only when reaching the edge of the screen.
-
-
-
-
- If true, draws the camera's screen rectangle in the editor.
-
-
-
-
- If true, draws the camera's limits rectangle in the editor.
-
-
-
-
- If true, draws the camera's drag margin rectangle in the editor.
-
-
-
-
- Make this the current 2D camera for the scene (viewport and layer), in case there are many cameras in the scene.
-
-
-
-
- Removes any from the ancestor 's internal currently-assigned camera.
-
-
-
-
- Sets the specified camera limit. See also , , , and .
-
-
-
-
- Returns the specified camera limit. See also , , , and .
-
-
-
-
- Sets the specified margin. See also , , , and .
-
-
-
-
- Returns the specified margin. See also , , , and .
-
-
-
-
- Returns the camera position.
-
-
-
-
- Returns the location of the 's screen-center, relative to the origin.
-
-
-
-
- Forces the camera to update scroll immediately.
-
-
-
-
- Sets the camera's position immediately to its current smoothing destination.
- This has no effect if smoothing is disabled.
-
-
-
-
- Aligns the camera to the tracked node.
-
-
-
-
- A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used.
- Note: Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
-
-
-
-
- No image set for the feed.
-
-
-
-
- Feed supplies RGB images.
-
-
-
-
- Feed supplies YCbCr images that need to be converted to RGB.
-
-
-
-
- Feed supplies separate Y and CbCr images that need to be combined and converted to RGB.
-
-
-
-
- Unspecified position.
-
-
-
-
- Camera is mounted at the front of the device.
-
-
-
-
- Camera is mounted at the back of the device.
-
-
-
-
- If true, the feed is active.
-
-
-
-
- The transform applied to the camera's image.
-
-
-
-
- Returns the unique ID for this feed.
-
-
-
-
- Returns the camera's name.
-
-
-
-
- Returns the position of camera on the device.
-
-
-
-
- The keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
- It is notably used to provide AR modules with a video feed from the camera.
-
-
-
-
- The RGBA camera image.
-
-
-
-
- The YCbCr camera image.
-
-
-
-
- The Y component camera image.
-
-
-
-
- The CbCr component camera image.
-
-
-
-
- Returns the with this id.
-
-
-
-
- Returns the number of s registered.
-
-
-
-
- Returns an array of s.
-
-
-
-
- Adds a camera feed to the camera server.
-
-
-
-
- Removes a .
-
-
-
-
- This texture gives access to the camera texture provided by a .
- Note: Many cameras supply YCbCr images which need to be converted in a shader.
-
-
-
-
- The ID of the for which we want to display the image.
-
-
-
-
- Which image within the we want access to, important if the camera image is split in a Y and CbCr component.
-
-
-
-
- Convenience property that gives access to the active property of the .
-
-
-
-
- Base class of anything 2D. Canvas items are laid out in a tree; children inherit and extend their parent's transform. is extended by for anything GUI-related, and by for anything related to the 2D engine.
- Any can draw. For this, must be called, then will be received on idle time to request redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the are provided (see draw_* functions). However, they can only be used inside the , signal or virtual functions.
- Canvas items are drawn in tree order. By default, children are on top of their parents so a root will be drawn behind everything. This behavior can be changed on a per-item basis.
- A can also be hidden, which will also hide its children. It provides many ways to change parameters such as modulation (for itself and its children) and self modulation (only for itself), as well as its blend mode.
- Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed.
- Note: Unless otherwise specified, all methods that have angle parameters must have angles specified as radians. To convert degrees to radians, use @GDScript.deg2rad.
-
-
-
-
- The 's transform has changed. This notification is only received if enabled by or .
-
-
-
-
- The is requested to draw.
-
-
-
-
- The 's visibility has changed.
-
-
-
-
- The has entered the canvas.
-
-
-
-
- The has exited the canvas.
-
-
-
-
- Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
-
-
-
-
- Additive blending mode.
-
-
-
-
- Subtractive blending mode.
-
-
-
-
- Multiplicative blending mode.
-
-
-
-
- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
-
-
-
-
- Disables blending mode. Colors including alpha are written as-is. Only applicable for render targets with a transparent background. No lighting will be applied.
-
-
-
-
- If true, this is drawn. The node is only visible if all of its antecedents are visible as well (in other words, must return true).
- Note: For controls that inherit , the correct way to make them visible is to call one of the multiple popup*() functions instead.
-
-
-
-
- The color applied to textures on this .
-
-
-
-
- The color applied to textures on this . This is not inherited by children s.
-
-
-
-
- If true, the object draws behind its parent.
-
-
-
-
- If true, the object draws on top of its parent.
-
-
-
-
- The rendering layers in which this responds to nodes.
-
-
-
-
- The material applied to textures on this .
-
-
-
-
- If true, the parent 's property is used as this one's material.
-
-
-
-
- Overridable function called by the engine (if defined) to draw the canvas item.
-
-
-
-
- Returns the canvas item RID used by for this item.
-
-
-
-
- Returns true if the node is present in the , its property is true and all its antecedents are also visible. If any antecedent is hidden, this node will not be visible in the scene tree.
-
-
-
-
- Show the if it's currently hidden. For controls that inherit , the correct way to make them visible is to call one of the multiple popup*() functions instead.
-
-
-
-
- Hide the if it's currently visible.
-
-
-
-
- Queue the for update. will be called on idle time to request redraw.
-
-
-
-
- If enable is true, the node won't inherit its transform from parent canvas items.
-
-
-
-
- Returns true if the node is set as top-level. See .
-
-
-
-
- Draws a line from a 2D point to another, with a given color and width. It can be optionally antialiased.
-
-
-
-
- Draws interconnected line segments with a uniform color and width and optional antialiasing.
-
-
-
-
- Draws interconnected line segments with a uniform width, segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between points and colors.
-
-
-
-
- Draws an arc between the given angles. The larger the value of point_count, the smoother the curve.
-
-
-
-
- Draws multiple, parallel lines with a uniform color.
- Note: width and antialiased are currently not implemented and have no effect.
-
-
-
-
- Draws multiple, parallel lines with a uniform width and segment-by-segment coloring. Colors assigned to line segments match by index between points and colors.
- Note: width and antialiased are currently not implemented and have no effect.
-
-
-
-
- Draws a rectangle. If filled is true, the rectangle will be filled with the color specified. If filled is false, the rectangle will be drawn as a stroke with the color and width specified. If antialiased is true, the lines will be antialiased.
- Note: width and antialiased are only effective if filled is false.
-
-
-
-
- Draws a colored circle.
-
-
-
-
- Draws a texture at a given position.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a textured rectangle at a given position, optionally modulated by a color. If transpose is true, the texture will have its X and Y coordinates swapped.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a textured rectangle region at a given position, optionally modulated by a color. If transpose is true, the texture will have its X and Y coordinates swapped.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a styled rectangle.
-
-
-
-
- Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
-
-
-
-
- Draws a polygon of any amount of points, convex or concave.
-
- If the parameter is null, then the default value is new Vector2[] {}
-
-
-
- Draws a colored polygon of any amount of points, convex or concave.
-
- If the parameter is null, then the default value is new Vector2[] {}
-
-
-
- Draws text using the specified font at the position (top-left corner). The text will have its color multiplied by modulate. If clip_w is greater than or equal to 0, the text will be clipped if it exceeds the specified width.
- Example using the default project font:
-
- # If using this method in a script that redraws constantly, move the
- # `default_font` declaration to a member variable assigned in `_ready()`
- # so the Control is only created once.
- var default_font = Control.new().get_font("font")
- draw_string(default_font, Vector2(64, 64), "Hello world")
-
- See also .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a string character using a custom font. Returns the advance, depending on the character width and kerning with an optional next character.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a in 2D, using the provided texture. See for related documentation.
-
- If the parameter is null, then the default value is Transform2D.Identity
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a in 2D with the provided texture. See for related documentation.
-
-
-
-
- Sets a custom transform for drawing via components. Anything drawn afterwards will be transformed by this.
-
-
-
-
- Sets a custom transform for drawing via matrix. Anything drawn afterwards will be transformed by this.
-
-
-
-
- Returns the transform matrix of this item.
-
-
-
-
- Returns the global transform matrix of this item.
-
-
-
-
- Returns the global transform matrix of this item in relation to the canvas.
-
-
-
-
- Returns this item's transform in relation to the viewport.
-
-
-
-
- Returns the viewport's boundaries as a .
-
-
-
-
- Returns the transform matrix of this item's canvas.
-
-
-
-
- Returns the mouse position relative to this item's position.
-
-
-
-
- Returns the global position of the mouse.
-
-
-
-
- Returns the of the canvas where this item is in.
-
-
-
-
- Returns the where this item is in.
-
-
-
-
- If enable is true, children will be updated with local transform data.
-
-
-
-
- Returns true if local transform notifications are communicated to children.
-
-
-
-
- If enable is true, children will be updated with global transform data.
-
-
-
-
- Returns true if global transform notifications are communicated to children.
-
-
-
-
- Forces the transform to update. Transform changes in physics are not instant for performance reasons. Transforms are accumulated and then set. Use this if you need an up-to-date transform when doing physics operations.
-
-
-
-
- Assigns screen_point as this node's new local transform.
-
-
-
-
- Transformations issued by event's inputs are applied in local space instead of global space.
-
-
-
-
- s provide a means of modifying the textures associated with a CanvasItem. They specialize in describing blend and lighting behaviors for textures. Use a to more fully customize a material's interactions with a .
-
-
-
-
- Render the material using both light and non-light sensitive material properties.
-
-
-
-
- Render the material as if there were no light.
-
-
-
-
- Render the material as if there were only light.
-
-
-
-
- Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
-
-
-
-
- Additive blending mode.
-
-
-
-
- Subtractive blending mode.
-
-
-
-
- Multiplicative blending mode.
-
-
-
-
- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
-
-
-
-
- The manner in which a material's rendering is applied to underlying textures.
-
-
-
-
- The manner in which material reacts to lighting.
-
-
-
-
- If true, enable spritesheet-based animation features when assigned to and nodes. The or should also be set to a positive value for the animation to play.
- This property (and other particles_anim_* properties that depend on it) has no effect on other types of nodes.
-
-
-
-
- The number of columns in the spritesheet assigned as for a or .
- Note: This property is only used and visible in the editor if is true.
-
-
-
-
- The number of rows in the spritesheet assigned as for a or .
- Note: This property is only used and visible in the editor if is true.
-
-
-
-
- If true, the particles animation will loop.
- Note: This property is only used and visible in the editor if is true.
-
-
-
-
- Canvas drawing layer. nodes that are direct or indirect children of a will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).
-
-
-
-
- Layer index for draw order. Lower values are drawn first.
-
-
-
-
- The layer's base offset.
-
-
-
-
- The layer's rotation in degrees.
-
-
-
-
- The layer's rotation in radians.
-
-
-
-
- The layer's scale.
-
-
-
-
- The layer's transform.
-
-
-
-
- The custom node assigned to the . If null, uses the default viewport instead.
-
-
-
-
- Sets the layer to follow the viewport in order to simulate a pseudo 3D effect.
-
-
-
-
- Scales the layer when using . Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales.
-
-
-
-
- Returns the RID of the canvas used by this layer.
-
-
-
-
- tints the canvas elements using its assigned .
-
-
-
-
- The tint color to apply.
-
-
-
-
- Class representing a capsule-shaped .
-
-
-
-
- Radius of the capsule mesh.
-
-
-
-
- Height of the capsule mesh from the center point.
-
-
-
-
- Number of radial segments on the capsule mesh.
-
-
-
-
- Number of rings along the height of the capsule.
-
-
-
-
- Capsule shape for collisions.
-
-
-
-
- The capsule's radius.
-
-
-
-
- The capsule's height.
-
-
-
-
- Capsule shape for 2D collisions.
-
-
-
-
- The capsule's radius.
-
-
-
-
- The capsule's height.
-
-
-
-
- CenterContainer keeps children controls centered. This container keeps all children to their minimum size, in the center.
-
-
-
-
- If true, centers children relative to the 's top left corner.
-
-
-
-
- By setting various properties on this object, you can control how individual characters will be displayed in a .
-
-
-
-
- The index of the current character (starting from 0). Setting this property won't affect drawing.
-
-
-
-
- The index of the current character (starting from 0). Setting this property won't affect drawing.
-
-
-
-
- The time elapsed since the was added to the scene tree (in seconds). Time stops when the project is paused, unless the 's is set to .
- Note: Time still passes while the is hidden.
-
-
-
-
- If true, the character will be drawn. If false, the character will be hidden. Characters around hidden characters will reflow to take the space of hidden characters. If this is not desired, set their to Color(1, 1, 1, 0) instead.
-
-
-
-
- The position offset the character will be drawn with (in pixels).
-
-
-
-
- The color the character will be drawn with.
-
-
-
-
- Contains the arguments passed in the opening BBCode tag. By default, arguments are strings; if their contents match a type such as , or , they will be converted automatically. Color codes in the form #rrggbb or #rgb will be converted to an opaque . String arguments may not contain spaces, even if they're quoted. If present, quotes will also be present in the final string.
- For example, the opening BBCode tag [example foo=hello bar=true baz=42 color=#ffffff] will map to the following :
-
- {"foo": "hello", "bar": true, "baz": 42, "color": Color(1, 1, 1, 1)}
-
-
-
-
-
- The Unicode codepoint the character will use. This only affects non-whitespace characters. @GDScript.ord can be useful here. For example, the following will replace all characters with asterisks:
-
- # `char_fx` is the CharFXTransform parameter from `_process_custom_fx()`.
- # See the RichTextEffect documentation for details.
- char_fx.character = ord("*")
-
-
-
-
-
- A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to in functionality, but it has a different apperance. To follow established UX patterns, it's recommended to use CheckBox when toggling it has no immediate effect on something. For instance, it should be used when toggling it will only do something once a confirmation button is pressed.
-
-
-
-
- CheckButton is a toggle button displayed as a check field. It's similar to in functionality, but it has a different apperance. To follow established UX patterns, it's recommended to use CheckButton when toggling it has an immediate effect on something. For instance, it should be used if toggling it enables/disables a setting without requiring the user to press a confirmation button.
-
-
-
-
- Circular shape for 2D collisions. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast.
-
-
-
-
- The circle's radius.
-
-
-
-
- This node extends to add collisions with and/or nodes. The camera cannot move through colliding objects.
-
-
-
-
- The camera updates with the _physics_process callback.
-
-
-
-
- The camera updates with the _process callback.
-
-
-
-
- The camera's collision margin. The camera can't get closer than this distance to a colliding object.
-
-
-
-
- The camera's process callback. See .
-
-
-
-
- The camera's collision mask. Only objects in at least one collision layer matching the mask will be detected. See Collision layers and masks in the documentation for more information.
-
-
-
-
- If true, the camera stops on contact with s.
-
-
-
-
- If true, the camera stops on contact with s.
-
-
-
-
- Sets the specified bit index to the value.
- Note: Bit indices range from 0-19.
-
-
-
-
- Returns true if the specified bit index is on.
- Note: Bit indices range from 0-19.
-
-
-
-
- Adds a collision exception so the camera does not collide with the specified .
-
-
-
-
- Adds a collision exception so the camera does not collide with the specified node.
-
-
-
-
- Removes a collision exception with the specified .
-
-
-
-
- Removes a collision exception with the specified node.
-
-
-
-
- Returns the distance the camera has been offset due to a collision.
-
-
-
-
- Removes all collision exceptions.
-
-
-
-
- CollisionObject is the base class for physics objects. It can hold any number of collision s. Each shape must be assigned to a shape owner. The CollisionObject can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the shape_owner_* methods.
-
-
-
-
- If true, the 's shapes will respond to s.
-
-
-
-
- If true, the will continue to receive input events as the mouse is dragged across its shapes.
-
-
-
-
- Accepts unhandled s. click_position is the clicked location in world space and click_normal is the normal vector extending from the clicked surface of the at shape_idx. Connect to the input_event signal to easily pick up these events.
-
-
-
-
- Returns the object's .
-
-
-
-
- Creates a new shape owner for the given object. Returns owner_id of the new owner for future reference.
-
-
-
-
- Removes the given shape owner.
-
-
-
-
- Returns an of owner_id identifiers. You can use these ids in other methods that take owner_id as an argument.
-
-
-
-
- Sets the of the given shape owner.
-
-
-
-
- Returns the shape owner's .
-
-
-
-
- Returns the parent object of the given shape owner.
-
-
-
-
- If true, disables the given shape owner.
-
-
-
-
- If true, the shape owner and its shapes are disabled.
-
-
-
-
- Adds a to the shape owner.
-
-
-
-
- Returns the number of shapes the given shape owner contains.
-
-
-
-
- Returns the with the given id from the given shape owner.
-
-
-
-
- Returns the child index of the with the given id from the given shape owner.
-
-
-
-
- Removes a shape from the given shape owner.
-
-
-
-
- Removes all shapes from the shape owner.
-
-
-
-
- Returns the owner_id of the given shape.
-
-
-
-
- CollisionObject2D is the base class for 2D physics objects. It can hold any number of 2D collision s. Each shape must be assigned to a shape owner. The CollisionObject2D can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the shape_owner_* methods.
-
-
-
-
- If true, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one collision_layer bit to be set.
-
-
-
-
- Accepts unhandled s. Requires to be true. shape_idx is the child index of the clicked . Connect to the input_event signal to easily pick up these events.
-
-
-
-
- Returns the object's .
-
-
-
-
- Creates a new shape owner for the given object. Returns owner_id of the new owner for future reference.
-
-
-
-
- Removes the given shape owner.
-
-
-
-
- Returns an of owner_id identifiers. You can use these ids in other methods that take owner_id as an argument.
-
-
-
-
- Sets the of the given shape owner.
-
-
-
-
- Returns the shape owner's .
-
-
-
-
- Returns the parent object of the given shape owner.
-
-
-
-
- If true, disables the given shape owner.
-
-
-
-
- If true, the shape owner and its shapes are disabled.
-
-
-
-
- If enable is true, collisions for the shape owner originating from this will not be reported to collided with s.
-
-
-
-
- Returns true if collisions for the shape owner originating from this will not be reported to collided with s.
-
-
-
-
- Sets the one_way_collision_margin of the shape owner identified by given owner_id to margin pixels.
-
-
-
-
- Returns the one_way_collision_margin of the shape owner identified by given owner_id.
-
-
-
-
- Adds a to the shape owner.
-
-
-
-
- Returns the number of shapes the given shape owner contains.
-
-
-
-
- Returns the with the given id from the given shape owner.
-
-
-
-
- Returns the child index of the with the given id from the given shape owner.
-
-
-
-
- Removes a shape from the given shape owner.
-
-
-
-
- Removes all shapes from the shape owner.
-
-
-
-
- Returns the owner_id of the given shape.
-
-
-
-
- Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates a for gameplay. Properties modified during gameplay will have no effect.
-
-
-
-
- Length that the resulting collision extends in either direction perpendicular to its polygon.
-
-
-
-
- If true, no collision will be produced.
-
-
-
-
- Array of vertices which define the polygon.
- Note: The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the polygon member.
-
-
-
-
- Provides a 2D collision polygon to a parent. Polygons can be drawn in the editor or specified by a list of vertices.
-
-
-
-
- Collisions will include the polygon and its contained area.
-
-
-
-
- Collisions will only include the polygon edges.
-
-
-
-
- Collision build mode. Use one of the constants.
-
-
-
-
- The polygon's list of vertices. The final point will be connected to the first. The returned value is a clone of the , not a reference.
-
-
-
-
- If true, no collisions will be detected.
-
-
-
-
- If true, only edges that face up, relative to 's rotation, will collide with other objects.
-
-
-
-
- The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the polygon at a high velocity.
-
-
-
-
- Editor facility for creating and editing collision shapes in 3D space. You can use this node to represent all sorts of collision shapes, for example, add this to an to give it a detection shape, or add it to a to create a solid object. IMPORTANT: this is an Editor-only helper to create shapes, use to get the actual shape.
-
-
-
-
- The actual shape owned by this collision shape.
-
-
-
-
- A disabled collision shape has no effect in the world.
-
-
-
-
- If this method exists within a script it will be called whenever the shape resource has been modified.
-
-
-
-
- Sets the collision shape's shape to the addition of all its convexed siblings geometry.
-
-
-
-
- Editor facility for creating and editing collision shapes in 2D space. You can use this node to represent all sorts of collision shapes, for example, add this to an to give it a detection shape, or add it to a to create a solid object. IMPORTANT: this is an Editor-only helper to create shapes, use to get the actual shape.
-
-
-
-
- The actual shape owned by this collision shape.
-
-
-
-
- A disabled collision shape has no effect in the world. This property should be changed with .
-
-
-
-
- Sets whether this collision shape should only detect collision on one side (top or bottom).
-
-
-
-
- The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the shape at a high velocity.
-
-
-
-
- node displaying a color picker widget. It's useful for selecting a color from an RGB/RGBA colorspace.
-
-
-
-
- The currently selected color.
-
-
-
-
- If true, shows an alpha channel slider (transparency).
-
-
-
-
- If true, allows editing the color with Hue/Saturation/Value sliders.
- Note: Cannot be enabled if raw mode is on.
-
-
-
-
- If true, allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
- Note: Cannot be enabled if HSV mode is on.
-
-
-
-
- If true, the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
-
-
-
-
- If true, the "add preset" button is enabled.
-
-
-
-
- If true, saved color presets are visible.
-
-
-
-
- Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them.
- Note: the presets list is only for this color picker.
-
-
-
-
- Removes the given color from the list of color presets of this color picker.
-
-
-
-
- Returns the list of colors in the presets of the color picker.
-
-
-
-
- Encapsulates a making it accessible by pressing a button. Pressing the button will toggle the visibility.
-
-
-
-
- The currently selected color.
-
-
-
-
- If true, the alpha channel in the displayed will be visible.
-
-
-
-
- Returns the that this node toggles.
-
-
-
-
- Returns the control's which allows you to connect to popup signals. This allows you to handle events when the ColorPicker is shown or hidden.
-
-
-
-
- Displays a colored rectangle.
-
-
-
-
- The fill color.
-
- $ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect's color to red.
-
-
-
-
-
- Concave polygon shape resource, which can be set into a or area. This shape is created by feeding a list of triangles.
- Note: when used for collision, is intended to work with static nodes like and will not work with or with a mode other than Static.
-
-
-
-
- Sets the faces (an array of triangles).
-
-
-
-
- Returns the faces (an array of triangles).
-
-
-
-
- Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
- The main difference between a and a is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
-
-
-
-
- The array of points that make up the 's line segments.
-
-
-
-
- The joint can rotate the bodies across an axis defined by the local x-axes of the .
- The twist axis is initiated as the X axis of the .
- Once the Bodies swing, the twist axis is calculated as the middle of the x-axes of the Joint in the local space of the two Bodies.
-
-
-
-
- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
- The swing span defines, how much rotation will not get corrected along the swing axis.
- Could be defined as looseness in the .
- If below 0.05, this behavior is locked.
-
-
-
-
- Twist is the rotation around the twist axis, this value defined how far the joint can twist.
- Twist is locked if below 0.05.
-
-
-
-
- The speed with which the swing or twist will take place.
- The higher, the faster.
-
-
-
-
- The ease with which the joint starts to twist. If it's too low, it takes more force to start twisting the joint.
-
-
-
-
- Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
- The swing span defines, how much rotation will not get corrected along the swing axis.
- Could be defined as looseness in the .
- If below 0.05, this behavior is locked.
-
-
-
-
- Twist is the rotation around the twist axis, this value defined how far the joint can twist.
- Twist is locked if below 0.05.
-
-
-
-
- The speed with which the swing or twist will take place.
- The higher, the faster.
-
-
-
-
- The ease with which the joint starts to twist. If it's too low, it takes more force to start twisting the joint.
-
-
-
-
- Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
-
-
-
-
- This helper class can be used to store Variant values on the filesystem using INI-style formatting. The stored values are identified by a section and a key:
-
- [section]
- some_key=42
- string_example="Hello World!"
- a_vector=Vector3( 1, 0, 2 )
-
- The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly without accessing the filesystem.
- The following example shows how to parse an INI-style file from the system, read its contents and store new values in it:
-
- var config = ConfigFile.new()
- var err = config.load("user://settings.cfg")
- if err == OK: # If not, something went wrong with the file loading
- # Look for the display/width pair, and default to 1024 if missing
- var screen_width = config.get_value("display", "width", 1024)
- # Store a variable if and only if it hasn't been defined yet
- if not config.has_section_key("audio", "mute"):
- config.set_value("audio", "mute", false)
- # Save the changes by overwriting the previous file
- config.save("user://settings.cfg")
-
- Keep in mind that section and property names can't contain spaces. Anything after a space will be ignored on save and on load.
- ConfigFiles can also contain manually written comment lines starting with a semicolon (;). Those lines will be ignored when parsing the file. Note that comments will be lost when saving the ConfigFile. This can still be useful for dedicated server configuration files, which are typically never overwritten without explicit user action.
-
-
-
-
- Assigns a value to the specified key of the specified section. If either the section or the key do not exist, they are created. Passing a null value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed.
-
-
-
-
- Returns the current value for the specified section and key. If either the section or the key do not exist, the method returns the fallback default value. If default is not specified or set to null, an error is also raised.
-
-
-
-
- Returns true if the specified section exists.
-
-
-
-
- Returns true if the specified section-key pair exists.
-
-
-
-
- Returns an array of all defined section identifiers.
-
-
-
-
- Returns an array of all defined key identifiers in the specified section. Raises an error and returns an empty array if the section does not exist.
-
-
-
-
- Deletes the specified section along with all the key-value pairs inside. Raises an error if the section does not exist.
-
-
-
-
- Deletes the specified key in a section. Raises an error if either the section or the key do not exist.
-
-
-
-
- Loads the config file specified as a parameter. The file's contents are parsed and loaded in the object which the method was called on.
- Returns one of the code constants (OK on success).
-
-
-
-
- Parses the the passed string as the contents of a config file. The string is parsed and loaded in the ConfigFile object which the method was called on.
- Returns one of the code constants (OK on success).
-
-
-
-
- Saves the contents of the object to the file specified as a parameter. The output file uses an INI-style structure.
- Returns one of the code constants (OK on success).
-
-
-
-
- Loads the encrypted config file specified as a parameter, using the provided key to decrypt it. The file's contents are parsed and loaded in the object which the method was called on.
- Returns one of the code constants (OK on success).
-
-
-
-
- Loads the encrypted config file specified as a parameter, using the provided password to decrypt it. The file's contents are parsed and loaded in the object which the method was called on.
- Returns one of the code constants (OK on success).
-
-
-
-
- Saves the contents of the object to the AES-256 encrypted file specified as a parameter, using the provided key to encrypt it. The output file uses an INI-style structure.
- Returns one of the code constants (OK on success).
-
-
-
-
- Saves the contents of the object to the AES-256 encrypted file specified as a parameter, using the provided password to encrypt it. The output file uses an INI-style structure.
- Returns one of the code constants (OK on success).
-
-
-
-
- Dialog for confirmation of actions. This dialog inherits from , but has by default an OK and Cancel button (in host OS order).
- To get cancel action, you can use:
-
- get_cancel().connect("pressed", self, "cancelled")
- .
-
-
-
-
- Returns the cancel button.
-
-
-
-
- Base node for containers. A contains other controls and automatically arranges them in a certain way.
- A Control can inherit this to create custom container classes.
-
-
-
-
- Notification for when sorting the children, it must be obeyed immediately.
-
-
-
-
- Queue resort of the contained children. This is called automatically anyway, but can be called upon request.
-
-
-
-
- Fit a child control in a given rect. This is mainly a helper for creating custom container classes.
-
-
-
-
- Base class for all UI-related nodes. features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change.
- For more information on Godot's UI system, anchors, margins, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from and nodes.
- User Interface nodes and input
- Godot sends input events to the scene's root node first, by calling . forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls . Call so no other node receives the event. Once you accepted an input, it becomes handled so will not process it.
- Only one node can be in keyboard focus. Only the node in focus will receive keyboard events. To get the focus, call . nodes lose focus when another node grabs it, or if you hide the node in focus.
- Sets to to tell a node to ignore mouse or touch events. You'll need it if you place an icon on top of a button.
- resources change the Control's appearance. If you change the on a node, it affects all of its children. To override some of the theme's parameters, call one of the add_*_override methods, like . You can override the theme with the inspector.
- Note: Theme items are not properties. This means you can't access their values using and . Instead, use , , , , , and the add_*_override methods provided by this class.
-
-
-
-
- Sent when the node changes size. Use to get the new size.
-
-
-
-
- Sent when the mouse pointer enters the node.
-
-
-
-
- Sent when the mouse pointer exits the node.
-
-
-
-
- Sent when the node grabs focus.
-
-
-
-
- Sent when the node loses focus.
-
-
-
-
- Sent when the node's changes, right before Godot redraws the control. Happens when you call one of the add_*_override methods.
-
-
-
-
- Sent when an open modal dialog closes. See .
-
-
-
-
- Sent when this node is inside a which has begun being scrolled.
-
-
-
-
- Sent when this node is inside a which has stopped being scrolled.
-
-
-
-
- Snaps one of the 4 anchor's sides to the origin of the node's Rect, in the top left. Use it with one of the anchor_* member variables, like . To change all 4 anchors at once, use .
-
-
-
-
- Snaps one of the 4 anchor's sides to the end of the node's Rect, in the bottom right. Use it with one of the anchor_* member variables, like . To change all 4 anchors at once, use .
-
-
-
-
- The node cannot grab focus. Use with .
-
-
-
-
- The node can only grab focus on mouse clicks. Use with .
-
-
-
-
- The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with .
-
-
-
-
- The control will be resized to its minimum size.
-
-
-
-
- The control's width will not change.
-
-
-
-
- The control's height will not change.
-
-
-
-
- The control's size will not change.
-
-
-
-
- The control will receive mouse button input events through if clicked on. And the control will receive the mouse_entered and mouse_exited signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls.
-
-
-
-
- The control will receive mouse button input events through if clicked on. And the control will receive the mouse_entered and mouse_exited signals. If this control does not handle the event, the parent control (if any) will be considered, and so on until there is no more parent control to potentially handle it. This also allows signals to fire in other controls. Even if no control handled it at all, the event will still be handled automatically, so unhandled input will not be fired.
-
-
-
-
- The control will not receive mouse button input events through . The control will also not receive the mouse_entered nor mouse_exited signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically.
-
-
-
-
- Show the system's arrow mouse cursor when the user hovers the node. Use with .
-
-
-
-
- Show the system's I-beam mouse cursor when the user hovers the node. The I-beam pointer has a shape similar to "I". It tells the user they can highlight or insert text.
-
-
-
-
- Show the system's pointing hand mouse cursor when the user hovers the node.
-
-
-
-
- Show the system's cross mouse cursor when the user hovers the node.
-
-
-
-
- Show the system's wait mouse cursor, often an hourglass, when the user hovers the node.
-
-
-
-
- Show the system's busy mouse cursor when the user hovers the node. Often an hourglass.
-
-
-
-
- Show the system's drag mouse cursor, often a closed fist or a cross symbol, when the user hovers the node. It tells the user they're currently dragging an item, like a node in the Scene dock.
-
-
-
-
- Show the system's drop mouse cursor when the user hovers the node. It can be an open hand. It tells the user they can drop an item they're currently grabbing, like a node in the Scene dock.
-
-
-
-
- Show the system's forbidden mouse cursor when the user hovers the node. Often a crossed circle.
-
-
-
-
- Show the system's vertical resize mouse cursor when the user hovers the node. A double-headed vertical arrow. It tells the user they can resize the window or the panel vertically.
-
-
-
-
- Show the system's horizontal resize mouse cursor when the user hovers the node. A double-headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
-
-
-
-
- Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double-headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
-
-
-
-
- Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double-headed arrow that goes from the top left to the bottom right, the opposite of . It tells the user they can resize the window or the panel both horizontally and vertically.
-
-
-
-
- Show the system's move mouse cursor when the user hovers the node. It shows 2 double-headed arrows at a 90 degree angle. It tells the user they can move a UI element freely.
-
-
-
-
- Show the system's vertical split mouse cursor when the user hovers the node. On Windows, it's the same as .
-
-
-
-
- Show the system's horizontal split mouse cursor when the user hovers the node. On Windows, it's the same as .
-
-
-
-
- Show the system's help mouse cursor when the user hovers the node, a question mark.
-
-
-
-
- The control will grow to the left or top to make up if its minimum size is changed to be greater than its current size on the respective axis.
-
-
-
-
- The control will grow to the right or bottom to make up if its minimum size is changed to be greater than its current size on the respective axis.
-
-
-
-
- The control will grow in both directions equally to make up if its minimum size is changed to be greater than its current size.
-
-
-
-
- Tells the parent to expand the bounds of this node to fill all the available space without pushing any other node. Use with and .
-
-
-
-
- Tells the parent to let this node take all the available space on the axis you flag. If multiple neighboring nodes are set to expand, they'll share the space based on their stretch ratio. See . Use with and .
-
-
-
-
- Sets the node's size flags to both fill and expand. See the 2 constants above for more information.
-
-
-
-
- Tells the parent to center the node in itself. It centers the control based on its bounding box, so it doesn't work with the fill or expand size flags. Use with and .
-
-
-
-
- Tells the parent to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with and .
-
-
-
-
- Snap all 4 anchors to the top-left of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the top-right of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the bottom-left of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the bottom-right of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the center of the left edge of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the center of the top edge of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the center of the right edge of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the center of the bottom edge of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the center of the parent control's bounds. Use with .
-
-
-
-
- Snap all 4 anchors to the left edge of the parent control. The left margin becomes relative to the left edge and the top margin relative to the top left corner of the node's parent. Use with .
-
-
-
-
- Snap all 4 anchors to the top edge of the parent control. The left margin becomes relative to the top left corner, the top margin relative to the top edge, and the right margin relative to the top right corner of the node's parent. Use with .
-
-
-
-
- Snap all 4 anchors to the right edge of the parent control. The right margin becomes relative to the right edge and the top margin relative to the top right corner of the node's parent. Use with .
-
-
-
-
- Snap all 4 anchors to the bottom edge of the parent control. The left margin becomes relative to the bottom left corner, the bottom margin relative to the bottom edge, and the right margin relative to the bottom right corner of the node's parent. Use with .
-
-
-
-
- Snap all 4 anchors to a vertical line that cuts the parent control in half. Use with .
-
-
-
-
- Snap all 4 anchors to a horizontal line that cuts the parent control in half. Use with .
-
-
-
-
- Snap all 4 anchors to the respective corners of the parent control. Set all 4 margins to 0 after you applied this preset and the will fit its parent control. This is equivalent to the "Full Rect" layout option in the editor. Use with .
-
-
-
-
- Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the constants for convenience.
-
-
-
-
- Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use one of the constants for convenience.
-
-
-
-
- Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the constants for convenience.
-
-
-
-
- Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the constants for convenience.
-
-
-
-
- Distance between the node's left edge and its parent control, based on .
- Margins are often controlled by one or multiple parent nodes, so you should not modify them manually if your node is a direct child of a . Margins update automatically when you move or resize the node.
-
-
-
-
- Distance between the node's top edge and its parent control, based on .
- Margins are often controlled by one or multiple parent nodes, so you should not modify them manually if your node is a direct child of a . Margins update automatically when you move or resize the node.
-
-
-
-
- Distance between the node's right edge and its parent control, based on .
- Margins are often controlled by one or multiple parent nodes, so you should not modify them manually if your node is a direct child of a . Margins update automatically when you move or resize the node.
-
-
-
-
- Distance between the node's bottom edge and its parent control, based on .
- Margins are often controlled by one or multiple parent nodes, so you should not modify them manually if your node is a direct child of a . Margins update automatically when you move or resize the node.
-
-
-
-
- Controls the direction on the horizontal axis in which the control should grow if its horizontal minimum size is changed to be greater than its current size, as the control always has to be at least the minimum size.
-
-
-
-
- Controls the direction on the vertical axis in which the control should grow if its vertical minimum size is changed to be greater than its current size, as the control always has to be at least the minimum size.
-
-
-
-
- The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by .
-
-
-
-
- The node's global position, relative to the world (usually to the top-left corner of the window).
-
-
-
-
- The size of the node's bounding rectangle, in pixels. nodes update this property automatically.
-
-
-
-
- The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
-
-
-
-
- The node's rotation around its pivot, in degrees. See to change the pivot's position.
-
-
-
-
- The node's scale, relative to its . Change this property to scale the node around its . The Control's will also scale according to this value.
- Note: This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the documentation instead of scaling Controls individually.
- Note: If the Control node is a child of a node, the scale will be reset to Vector2(1, 1) when the scene is instanced. To set the Control's scale when it's instanced, wait for one frame using yield(get_tree(), "idle_frame") then set its property.
-
-
-
-
- By default, the node's pivot is its top-left corner. When you change its , it will scale around this pivot. Set this property to / 2 to center the pivot in the node's rectangle.
-
-
-
-
- Enables whether rendering of based children should be clipped to this control's rectangle. If true, parts of a child which would be visibly outside of this control's rectangle will not be rendered.
-
-
-
-
- Changes the tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the property is not . You can change the time required for the tooltip to appear with gui/timers/tooltip_delay_sec option in Project Settings.
-
-
-
-
- Tells Godot which node it should give keyboard focus to if the user presses the left arrow on the keyboard or left on a gamepad by default. You can change the key by editing the ui_left input action. The node must be a . If this property is not set, Godot will give focus to the closest to the left of this one.
-
-
-
-
- Tells Godot which node it should give keyboard focus to if the user presses the top arrow on the keyboard or top on a gamepad by default. You can change the key by editing the ui_top input action. The node must be a . If this property is not set, Godot will give focus to the closest to the bottom of this one.
-
-
-
-
- Tells Godot which node it should give keyboard focus to if the user presses the right arrow on the keyboard or right on a gamepad by default. You can change the key by editing the ui_right input action. The node must be a . If this property is not set, Godot will give focus to the closest to the bottom of this one.
-
-
-
-
- Tells Godot which node it should give keyboard focus to if the user presses the down arrow on the keyboard or down on a gamepad by default. You can change the key by editing the ui_down input action. The node must be a . If this property is not set, Godot will give focus to the closest to the bottom of this one.
-
-
-
-
- Tells Godot which node it should give keyboard focus to if the user presses Tab on a keyboard by default. You can change the key by editing the ui_focus_next input action.
- If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree.
-
-
-
-
- Tells Godot which node it should give keyboard focus to if the user presses Shift+Tab on a keyboard by default. You can change the key by editing the ui_focus_prev input action.
- If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree.
-
-
-
-
- The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals.
-
-
-
-
- Controls whether the control will be able to receive mouse button input events through and how these events should be handled. Also controls whether the control can receive the mouse_entered, and mouse_exited signals. See the constants to learn what each does.
-
-
-
-
- The default cursor shape for this control. Useful for Godot plugins and applications or games that use the system's mouse cursors.
- Note: On Linux, shapes may vary depending on the cursor theme of the system.
-
-
-
-
- Tells the parent nodes how they should resize and place the node on the X axis. Use one of the constants to change the flags. See the constants to learn what each does.
-
-
-
-
- Tells the parent nodes how they should resize and place the node on the Y axis. Use one of the constants to change the flags. See the constants to learn what each does.
-
-
-
-
- If the node and at least one of its neighbours uses the size flag, the parent will let it take more or less space depending on this property. If this node has a stretch ratio of 2 and its neighbour a ratio of 1, this node will take two thirds of the available space.
-
-
-
-
- Changing this property replaces the current resource this node and all its children use.
-
-
-
-
- Virtual method to be implemented by the user. Returns whether should not be called for children controls outside this control's rectangle. Input will be clipped to the Rect of this . Similar to , but doesn't affect visibility.
- If not overridden, defaults to false.
-
-
-
-
- Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
- If not overridden, defaults to .
-
-
-
-
- Virtual method to be implemented by the user. Use this method to process and accept inputs on UI elements. See .
- Example: clicking a control.
-
- func _gui_input(event):
- if event is InputEventMouseButton:
- if event.button_index == BUTTON_LEFT and event.pressed:
- print("I've been clicked D:")
-
- The event won't trigger if:
- * clicking outside the control (see );
- * control has set to ;
- * control is obstructed by another on top of it, which doesn't have set to ;
- * control's parent has set to or has accepted the event;
- * it happens outside parent's rectangle and the parent has either or enabled.
-
-
-
-
- Virtual method to be implemented by the user. Returns a node that should be used as a tooltip instead of the default one. Use for_text parameter to determine what text the tooltip should contain (likely the contents of ).
- The returned node must be of type or Control-derieved. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance, not e.g. a node from scene. When null or non-Control node is returned, the default tooltip will be used instead.
- Note: The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its to some non-zero value.
- Example of usage with custom-constructed node:
-
- func _make_custom_tooltip(for_text):
- var label = Label.new()
- label.text = for_text
- return label
-
- Example of usage with custom scene instance:
-
- func _make_custom_tooltip(for_text):
- var tooltip = preload("SomeTooltipScene.tscn").instance()
- tooltip.get_node("Label").text = for_text
- return tooltip
-
-
-
-
-
- Godot calls this method to test if data from a control's can be dropped at position. position is local to this control.
- This method should only be used to test the data. Process the data in .
-
- func can_drop_data(position, data):
- # Check position if it is relevant to you
- # Otherwise, just check data
- return typeof(data) == TYPE_DICTIONARY and data.has("expected")
-
-
-
-
-
- Godot calls this method to pass you the data from a control's result. Godot first calls to test if data is allowed to drop at position where position is local to this control.
-
- func can_drop_data(position, data):
- return typeof(data) == TYPE_DICTIONARY and data.has("color")
-
- func drop_data(position, data):
- color = data["color"]
-
-
-
-
-
- Godot calls this method to get data that can be dragged and dropped onto controls that expect drop data. Returns null if there is no data to drag. Controls that want to receive drop data should implement and . position is local to this control. Drag may be forced with .
- A preview that will follow the mouse that should represent the data can be set with . A good time to set the preview is in this method.
-
- func get_drag_data(position):
- var mydata = make_data()
- set_drag_preview(make_preview(mydata))
- return mydata
-
-
-
-
-
- Virtual method to be implemented by the user. Returns whether the given point is inside this control.
- If not overridden, default behavior is checking if the point is within control's Rect.
- Note: If you want to check if a point is inside the control, you can use get_rect().has_point(point).
-
-
-
-
- Marks an input event as handled. Once you accept an input event, it stops propagating, even to nodes listening to or .
-
-
-
-
- Returns the minimum size for this control. See .
-
-
-
-
- Returns combined minimum size from and .
-
-
-
-
- Sets the anchors to a preset from enum. This is code equivalent of using the Layout menu in 2D editor.
- If keep_margins is true, control's position will also be updated.
-
-
-
-
- Sets the margins to a preset from enum. This is code equivalent of using the Layout menu in 2D editor.
- Use parameter resize_mode with constants from to better determine the resulting size of the . Constant size will be ignored if used with presets that change size, e.g. PRESET_LEFT_WIDE.
- Use parameter margin to determine the gap between the and the edges.
-
-
-
-
- Sets both anchor preset and margin preset. See and .
-
-
-
-
- Sets the anchor identified by margin constant from enum to value anchor. A setter method for , , and .
- If keep_margin is true, margins aren't updated after this operation.
- If push_opposite_anchor is true and the opposite anchor overlaps this anchor, the opposite one will have its value overridden. For example, when setting left anchor to 1 and the right anchor has value of 0.5, the right anchor will also get value of 1. If push_opposite_anchor was false, the left anchor would get value 0.5.
-
-
-
-
- Returns the anchor identified by margin constant from enum. A getter method for , , and .
-
-
-
-
- Sets the margin identified by margin constant from enum to given offset. A setter method for , , and .
-
-
-
-
- Works the same as , but instead of keep_margin argument and automatic update of margin, it allows to set the margin offset yourself (see ).
-
-
-
-
- Sets and at the same time. Equivalent of changing .
-
-
-
-
- Sets and at the same time.
-
-
-
-
- Sets the to given position.
- If keep_margins is true, control's anchors will be updated instead of margins.
-
-
-
-
- Sets the size (see ).
- If keep_margins is true, control's anchors will be updated instead of margins.
-
-
-
-
- Sets the to given position.
- If keep_margins is true, control's anchors will be updated instead of margins.
-
-
-
-
- Sets the rotation (in radians).
-
-
-
-
- Returns the anchor identified by margin constant from enum. A getter method for , , and .
-
-
-
-
- Returns and . See also .
-
-
-
-
- Returns and .
-
-
-
-
- Returns the rotation (in radians).
-
-
-
-
- Returns the width/height occupied in the parent control.
-
-
-
-
- Returns the position and size of the control relative to the top-left corner of the parent Control. See and .
-
-
-
-
- Returns the position and size of the control relative to the top-left corner of the screen. See and .
-
-
-
-
- Displays a control as modal. Control must be a subwindow. Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus.
- If exclusive is true, other controls will not receive input and clicking outside this control will not close it.
-
-
-
-
- Returns true if this is the current focused control. See .
-
-
-
-
- Steal the focus from another control and become the focused control (see ).
-
-
-
-
- Give up the focus. No other control will be able to receive keyboard input.
-
-
-
-
- Returns the control that has the keyboard focus or null if none.
-
-
-
-
- Overrides the icon with given name in the resource the control uses. If icon is null or invalid, the override is cleared and the icon from assigned is used.
-
-
-
-
- Overrides the with given name in the resource the control uses. If shader is null or invalid, the override is cleared and the shader from assigned is used.
-
-
-
-
- Overrides the with given name in the resource the control uses. If stylebox is empty or invalid, the override is cleared and the from assigned is used.
- Example of modifying a property in a StyleBox by duplicating it:
-
- # The snippet below assumes the child node MyButton has a StyleBoxFlat assigned.
- # Resources are shared across instances, so we need to duplicate it
- # to avoid modifying the appearance of all other buttons.
- var new_stylebox_normal = $MyButton.get_stylebox("normal").duplicate()
- new_stylebox_normal.border_width_top = 3
- new_stylebox_normal.border_color = Color(0, 1, 0.5)
- $MyButton.add_stylebox_override("normal", new_stylebox_normal)
-
- # Remove the stylebox override:
- $MyButton.add_stylebox_override("normal", null)
-
-
-
-
-
- Overrides the font with given name in the resource the control uses. If font is null or invalid, the override is cleared and the font from assigned is used.
-
-
-
-
- Overrides the with given name in the resource the control uses.
- Note: Unlike other theme overrides, there is no way to undo a color override without manually assigning the previous color.
- Example of overriding a label's color and resetting it later:
-
- # Override the child node "MyLabel"'s font color to orange.
- $MyLabel.add_color_override("font_color", Color(1, 0.5, 0))
-
- # Reset the color by creating a new node to get the default value:
- var default_label_color = Label.new().get_color("font_color")
- $MyLabel.add_color_override("font_color", default_label_color)
-
-
-
-
-
- Overrides an integer constant with given name in the resource the control uses. If the constant is 0, the override is cleared and the constant from assigned is used.
-
-
-
-
- Returns an icon from assigned with given name and associated with of given type.
-
-
-
-
- Returns a from assigned with given name and associated with of given type.
-
-
-
-
- Returns a font from assigned with given name and associated with of given type.
-
-
-
-
- Returns a color from assigned with given name and associated with of given type.
-
- func _ready():
- modulate = get_color("font_color", "Button") #get the color defined for button fonts
-
-
-
-
-
- Returns a constant from assigned with given name and associated with of given type.
-
-
-
-
- Returns true if icon with given name has a valid override in this node.
-
-
-
-
- Returns true if with given name has a valid override in this node.
-
-
-
-
- Returns true if with given name has a valid override in this node.
-
-
-
-
- Returns true if font with given name has a valid override in this node.
-
-
-
-
- Returns true if with given name has a valid override in this node.
-
-
-
-
- Returns true if constant with given name has a valid override in this node.
-
-
-
-
- Returns true if icon with given name and associated with of given type exists in assigned .
-
-
-
-
- Returns true if with given name and associated with of given type exists in assigned .
-
-
-
-
- Returns true if font with given name and associated with of given type exists in assigned .
-
-
-
-
- Returns true if with given name and associated with of given type exists in assigned .
-
-
-
-
- Returns true if constant with given name and associated with of given type exists in assigned .
-
-
-
-
- Returns the parent control node.
-
-
-
-
- Returns the tooltip, which will appear when the cursor is resting over this control. See .
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Returns the mouse cursor shape the control displays on mouse hover. See .
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Sets the anchor identified by margin constant from enum to at neighbor node path. A setter method for , , and .
-
-
-
-
- Returns the focus neighbour identified by margin constant from enum. A getter method for , , and .
-
-
-
-
- Forces drag and bypasses and by passing data and preview. Drag will start even if the mouse is neither over nor pressed on this control.
- The methods and must be implemented on controls that want to receive drop data.
-
-
-
-
- Creates an that attempts to click the control. If the event is received, the control acquires focus.
-
- func _process(delta):
- grab_click_focus() #when clicking another Control node, this node will be clicked instead
-
-
-
-
-
- Forwards the handling of this control's drag and drop to target control.
- Forwarding can be implemented in the target control similar to the methods , , and but with two differences:
- 1. The function name must be suffixed with _fw
- 2. The function must take an extra argument that is the control doing the forwarding
-
- # ThisControl.gd
- extends Control
- func _ready():
- set_drag_forwarding(target_control)
-
- # TargetControl.gd
- extends Control
- func can_drop_data_fw(position, data, from_control):
- return true
-
- func drop_data_fw(position, data, from_control):
- my_handle_data(data)
-
- func get_drag_data_fw(position, from_control):
- set_drag_preview(my_preview)
- return my_data()
-
-
-
-
-
- Shows the given control at the mouse pointer. A good time to call this method is in . The control must not be in the scene tree.
-
- export (Color, RGBA) var color = Color(1, 0, 0, 1)
-
- func get_drag_data(position):
- # Use a control that is not in the tree
- var cpb = ColorPickerButton.new()
- cpb.color = color
- cpb.rect_size = Vector2(50, 50)
- set_drag_preview(cpb)
- return color
-
-
-
-
-
- Moves the mouse cursor to to_position, relative to of this .
-
-
-
-
- Invalidates the size cache in this node and in parent nodes up to toplevel. Intended to be used with when the return value is changed. Setting directly calls this method automatically.
-
-
-
-
- Convex polygon shape resource, which can be added to a or area.
-
-
-
-
- The list of 3D points forming the convex polygon shape.
-
-
-
-
- Convex polygon shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
- The main difference between a and a is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
-
-
-
-
- The polygon's list of vertices. Can be in either clockwise or counterclockwise order.
-
-
-
-
- Based on the set of points provided, this creates and assigns the property using the convex hull algorithm. Removing all unneeded points. See for details.
-
-
-
-
- The Crypto class allows you to access some more advanced cryptographic functionalities in Godot.
- For now, this includes generating cryptographically secure random bytes, and RSA keys and self-signed X509 certificates generation. More functionalities are planned for future releases.
-
- extends Node
-
- var crypto = Crypto.new()
- var key = CryptoKey.new()
- var cert = X509Certificate.new()
-
- func _ready():
- # Generate new RSA key.
- key = crypto.generate_rsa(4096)
- # Generate new self-signed certificate with the given key.
- cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT")
- # Save key and certificate in the user folder.
- key.save("user://generated.key")
- cert.save("user://generated.crt")
-
- Note: Not available in HTML5 exports.
-
-
-
-
- Generates a of cryptographically secure random bytes with given size.
-
-
-
-
- Generates an RSA that can be used for creating self-signed certificates and passed to .
-
-
-
-
- Generates a self-signed from the given and issuer_name. The certificate validity will be defined by not_before and not_after (first valid date and last valid date). The issuer_name must contain at least "CN=" (common name, i.e. the domain name), "O=" (organization, i.e. your company name), "C=" (country, i.e. 2 lettered ISO-3166 code of the country the organization is based in).
- A small example to generate an RSA key and a X509 self-signed certificate.
-
- var crypto = Crypto.new()
- # Generate 4096 bits RSA key.
- var key = crypto.generate_rsa(4096)
- # Generate self-signed certificate using the given key.
- var cert = crypto.generate_self_signed_certificate(key, "CN=example.com,O=A Game Company,C=IT")
-
-
-
-
-
- The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other .
- They can be used to generate a self-signed via and as private key in along with the appropriate certificate.
- Note: Not available in HTML5 exports.
-
-
-
-
- Saves a key to the given path (should be a "*.key" file).
-
-
-
-
- Loads a key from path ("*.key" file).
-
-
-
-
- A 6-sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
-
-
-
-
- Generate mipmaps, to enable smooth zooming out of the texture.
-
-
-
-
- Repeat (instead of clamp to edge).
-
-
-
-
- Turn on magnifying filter, to enable smooth zooming in of the texture.
-
-
-
-
- Default flags. Generate mipmaps, repeat, and filter are enabled.
-
-
-
-
- Identifier for the left face of the .
-
-
-
-
- Identifier for the right face of the .
-
-
-
-
- Identifier for the bottom face of the .
-
-
-
-
- Identifier for the top face of the .
-
-
-
-
- Identifier for the front face of the .
-
-
-
-
- Identifier for the back face of the .
-
-
-
-
- Store the without any compression.
-
-
-
-
- Store the with strong compression that reduces image quality.
-
-
-
-
- Store the with moderate compression that doesn't reduce image quality.
-
-
-
-
- The render flags for the . See the constants for details.
-
-
-
-
- The 's storage mode. See constants.
-
-
-
-
- The lossy storage quality of the if the storage mode is set to .
-
-
-
-
- Returns the 's width.
-
-
-
-
- Returns the 's height.
-
-
-
-
- Sets an for a side of the using one of the constants.
-
-
-
-
- Returns an for a side of the using one of the constants.
-
-
-
-
- Generate an axis-aligned cuboid .
- The cube's UV layout is arranged in a 3×2 layout that allows texturing each face individually. To apply the same texture on all faces, change the material's UV property to Vector3(3, 2, 1).
-
-
-
-
- Size of the cuboid mesh.
-
-
-
-
- Number of extra edge loops inserted along the X axis.
-
-
-
-
- Number of extra edge loops inserted along the Y axis.
-
-
-
-
- Number of extra edge loops inserted along the Z axis.
-
-
-
-
- A curve that can be saved and re-used for other objects. By default, it ranges between 0 and 1 on the Y axis and positions points relative to the 0.5 Y position.
-
-
-
-
- The tangent on this side of the point is user-defined.
-
-
-
-
- The curve calculates the tangent on this side of the point as the slope halfway towards the adjacent point.
-
-
-
-
- The total number of available tangent modes.
-
-
-
-
- The minimum value the curve can reach.
-
-
-
-
- The maximum value the curve can reach.
-
-
-
-
- The number of points to include in the baked (i.e. cached) curve data.
-
-
-
-
- Returns the number of points describing the curve.
-
-
-
-
- Adds a point to the curve. For each side, if the *_mode is , the *_tangent angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the *_tangent angle if *_mode is set to .
-
-
-
-
- Removes the point at index from the curve.
-
-
-
-
- Removes all points from the curve.
-
-
-
-
- Returns the curve coordinates for the point at index.
-
-
-
-
- Assigns the vertical position y to the point at index.
-
-
-
-
- Sets the offset from 0.5.
-
-
-
-
- Returns the Y value for the point that would exist at the X position offset along the curve.
-
-
-
-
- Returns the Y value for the point that would exist at the X position offset along the curve using the baked cache. Bakes the curve's points if not already baked.
-
-
-
-
- Returns the left tangent angle (in degrees) for the point at index.
-
-
-
-
- Returns the right tangent angle (in degrees) for the point at index.
-
-
-
-
- Returns the left for the point at index.
-
-
-
-
- Returns the right for the point at index.
-
-
-
-
- Sets the left tangent angle for the point at index to tangent.
-
-
-
-
- Sets the right tangent angle for the point at index to tangent.
-
-
-
-
- Sets the left for the point at index to mode.
-
-
-
-
- Sets the right for the point at index to mode.
-
-
-
-
- Removes points that are closer than CMP_EPSILON (0.00001) units to their neighbor on the curve.
-
-
-
-
- Recomputes the baked cache of points for the curve.
-
-
-
-
- This class describes a Bézier curve in 2D space. It is mainly used to give a shape to a , but can be manually sampled for other purposes.
- It keeps a cache of precalculated points along the curve, to speed up further calculations.
-
-
-
-
- The distance in pixels between two adjacent cached points. Changing it forces the cache to be recomputed the next time the or function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.
-
-
-
-
- Returns the number of points describing the curve.
-
-
-
-
- Adds a point to a curve at position, with control points in and out.
- If at_position is given, the point is inserted before the point number at_position, moving that point (and every point after) after the inserted point. If at_position is not given, or is an illegal value (at_position <0 or at_position >= [method get_point_count]), the point will be appended at the end of the point list.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Sets the position for the vertex idx. If the index is out of bounds, the function sends an error to the console.
-
-
-
-
- Returns the position of the vertex idx. If the index is out of bounds, the function sends an error to the console, and returns (0, 0).
-
-
-
-
- Sets the position of the control point leading to the vertex idx. If the index is out of bounds, the function sends an error to the console.
-
-
-
-
- Returns the position of the control point leading to the vertex idx. If the index is out of bounds, the function sends an error to the console, and returns (0, 0).
-
-
-
-
- Sets the position of the control point leading out of the vertex idx. If the index is out of bounds, the function sends an error to the console.
-
-
-
-
- Returns the position of the control point leading out of the vertex idx. If the index is out of bounds, the function sends an error to the console, and returns (0, 0).
-
-
-
-
- Deletes the point idx from the curve. Sends an error to the console if idx is out of bounds.
-
-
-
-
- Removes all points from the curve.
-
-
-
-
- Returns the position between the vertex idx and the vertex idx + 1, where t controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of t outside the range (0.0 >= t <=1) give strange, but predictable results.
- If idx is out of bounds it is truncated to the first or last vertex, and t is ignored. If the curve has no points, the function sends an error to the console, and returns (0, 0).
-
-
-
-
- Returns the position at the vertex fofs. It calls using the integer part of fofs as idx, and its fractional part as t.
-
-
-
-
- Returns the total length of the curve, based on the cached points. Given enough density (see ), it should be approximate enough.
-
-
-
-
- Returns a point within the curve at position offset, where offset is measured as a pixel distance along the curve.
- To do that, it finds the two cached points where the offset lies between, then interpolates the values. This interpolation is cubic if cubic is set to true, or linear if set to false.
- Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).
-
-
-
-
- Returns the cache of points as a .
-
-
-
-
- Returns the closest point (in curve's local space) to to_point.
- to_point must be in this curve's local space.
-
-
-
-
- Returns the closest offset to to_point. This offset is meant to be used in .
- to_point must be in this curve's local space.
-
-
-
-
- Returns a list of points along the curve, with a curvature controlled point density. That is, the curvier parts will have more points than the straighter parts.
- This approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.
- max_stages controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
- tolerance_degrees controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
-
-
-
-
- This class describes a Bézier curve in 3D space. It is mainly used to give a shape to a , but can be manually sampled for other purposes.
- It keeps a cache of precalculated points along the curve, to speed up further calculations.
-
-
-
-
- The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the or function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.
-
-
-
-
- If true, the curve will bake up vectors used for orientation. This is used when is set to . Changing it forces the cache to be recomputed.
-
-
-
-
- Returns the number of points describing the curve.
-
-
-
-
- Adds a point to a curve at position, with control points in and out.
- If at_position is given, the point is inserted before the point number at_position, moving that point (and every point after) after the inserted point. If at_position is not given, or is an illegal value (at_position <0 or at_position >= [method get_point_count]), the point will be appended at the end of the point list.
-
- If the parameter is null, then the default value is new Vector3(0, 0, 0)
- If the parameter is null, then the default value is new Vector3(0, 0, 0)
-
-
-
- Sets the position for the vertex idx. If the index is out of bounds, the function sends an error to the console.
-
-
-
-
- Returns the position of the vertex idx. If the index is out of bounds, the function sends an error to the console, and returns (0, 0, 0).
-
-
-
-
- Sets the tilt angle in radians for the point idx. If the index is out of bounds, the function sends an error to the console.
- The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a , this tilt is an offset over the natural tilt the calculates.
-
-
-
-
- Returns the tilt angle in radians for the point idx. If the index is out of bounds, the function sends an error to the console, and returns 0.
-
-
-
-
- Sets the position of the control point leading to the vertex idx. If the index is out of bounds, the function sends an error to the console.
-
-
-
-
- Returns the position of the control point leading to the vertex idx. If the index is out of bounds, the function sends an error to the console, and returns (0, 0, 0).
-
-
-
-
- Sets the position of the control point leading out of the vertex idx. If the index is out of bounds, the function sends an error to the console.
-
-
-
-
- Returns the position of the control point leading out of the vertex idx. If the index is out of bounds, the function sends an error to the console, and returns (0, 0, 0).
-
-
-
-
- Deletes the point idx from the curve. Sends an error to the console if idx is out of bounds.
-
-
-
-
- Removes all points from the curve.
-
-
-
-
- Returns the position between the vertex idx and the vertex idx + 1, where t controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of t outside the range (0.0 >= t <=1) give strange, but predictable results.
- If idx is out of bounds it is truncated to the first or last vertex, and t is ignored. If the curve has no points, the function sends an error to the console, and returns (0, 0, 0).
-
-
-
-
- Returns the position at the vertex fofs. It calls using the integer part of fofs as idx, and its fractional part as t.
-
-
-
-
- Returns the total length of the curve, based on the cached points. Given enough density (see ), it should be approximate enough.
-
-
-
-
- Returns a point within the curve at position offset, where offset is measured as a pixel distance along the curve.
- To do that, it finds the two cached points where the offset lies between, then interpolates the values. This interpolation is cubic if cubic is set to true, or linear if set to false.
- Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).
-
-
-
-
- Returns an up vector within the curve at position offset, where offset is measured as a distance in 3D units along the curve.
- To do that, it finds the two cached up vectors where the offset lies between, then interpolates the values. If apply_tilt is true, an interpolated tilt is applied to the interpolated up vector.
- If the curve has no up vectors, the function sends an error to the console, and returns (0, 1, 0).
-
-
-
-
- Returns the cache of points as a .
-
-
-
-
- Returns the cache of tilts as a .
-
-
-
-
- Returns the cache of up vectors as a .
- If is false, the cache will be empty.
-
-
-
-
- Returns the closest point (in curve's local space) to to_point.
- to_point must be in this curve's local space.
-
-
-
-
- Returns the closest offset to to_point. This offset is meant to be used in or .
- to_point must be in this curve's local space.
-
-
-
-
- Returns a list of points along the curve, with a curvature controlled point density. That is, the curvier parts will have more points than the straighter parts.
- This approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.
- max_stages controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
- tolerance_degrees controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
-
-
-
-
- Renders a given provided to it. Simplifies the task of drawing curves and/or saving them as image files.
-
-
-
-
- The width of the texture.
-
-
-
-
- The curve rendered onto the texture.
-
-
-
-
- Class representing a cylindrical . This class can be used to create cones by setting either the or properties to 0.0.
-
-
-
-
- Top radius of the cylinder.
-
-
-
-
- Bottom radius of the cylinder.
-
-
-
-
- Full height of the cylinder.
-
-
-
-
- Number of radial segments on the cylinder.
-
-
-
-
- Number of edge rings along the height of the cylinder.
-
-
-
-
- Cylinder shape for collisions.
-
-
-
-
- The cylinder's radius.
-
-
-
-
- The cylinder's height.
-
-
-
-
- This class is used to store the state of a DTLS server. Upon it converts connected to accepting them via as DTLS clients. Under the hood, this class is used to store the DTLS state and cookies of the server. The reason of why the state and cookies are needed is outside of the scope of this documentation.
- Below a small example of how to use it:
-
- # server.gd
- extends Node
-
- var dtls := DTLSServer.new()
- var server := UDPServer.new()
- var peers = []
-
- func _ready():
- server.listen(4242)
- var key = load("key.key") # Your private key.
- var cert = load("cert.crt") # Your X509 certificate.
- dtls.setup(key, cert)
-
- func _process(delta):
- while server.is_connection_available():
- var peer : PacketPeerUDP = server.take_connection()
- var dtls_peer : PacketPeerDTLS = dtls.take_connection(peer)
- if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:
- continue # It is normal that 50% of the connections fails due to cookie exchange.
- print("Peer connected!")
- peers.append(dtls_peer)
- for p in peers:
- p.poll() # Must poll to update the state.
- if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:
- while p.get_available_packet_count() > 0:
- print("Received message from client: %s" % p.get_packet().get_string_from_utf8())
- p.put_packet("Hello DTLS client".to_utf8())
-
-
- # client.gd
- extends Node
-
- var dtls := PacketPeerDTLS.new()
- var udp := PacketPeerUDP.new()
- var connected = false
-
- func _ready():
- udp.connect_to_host("127.0.0.1", 4242)
- dtls.connect_to_peer(udp, false) # Use true in production for certificate validation!
-
- func _process(delta):
- dtls.poll()
- if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:
- if !connected:
- # Try to contact server
- dtls.put_packet("The answer is... 42!".to_utf8())
- while dtls.get_available_packet_count() > 0:
- print("Connected: %s" % dtls.get_packet().get_string_from_utf8())
- connected = true
-
-
-
-
-
- Setup the DTLS server to use the given private_key and provide the given certificate to clients. You can pass the optional chain parameter to provide additional CA chain information along with the certificate.
-
-
-
-
- Try to initiate the DTLS handshake with the given udp_peer which must be already connected (see ).
- Note: You must check that the state of the return PacketPeerUDP is , as it is normal that 50% of the new connections will be invalid due to cookie exchange.
-
-
-
-
- Damped spring constraint for 2D physics. This resembles a spring joint that always wants to go back to a given length.
-
-
-
-
- The spring joint's maximum length. The two attached bodies cannot stretch it past this value.
-
-
-
-
- When the bodies attached to the spring joint move they stretch or squash it. The joint always tries to resize towards this length.
-
-
-
-
- The higher the value, the less the bodies attached to the joint will deform it. The joint applies an opposing force to the bodies, the product of the stiffness multiplied by the size difference from its resting length.
-
-
-
-
- The spring joint's damping ratio. A value between 0 and 1. When the two bodies move into different directions the system tries to align them to the spring axis again. A high damping value forces the attached bodies to align faster.
-
-
-
-
- A directional light is a type of node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used to determine light direction.
-
-
-
-
- Renders the entire scene's shadow map from an orthogonal point of view. This is the fastest directional shadow mode. May result in blurrier shadows on close objects.
-
-
-
-
- Splits the view frustum in 2 areas, each with its own shadow map. This shadow mode is a compromise between and in terms of performance.
-
-
-
-
- Splits the view frustum in 4 areas, each with its own shadow map. This is the slowest directional shadow mode.
-
-
-
-
- Keeps the shadow stable when the camera moves, at the cost of lower effective shadow resolution.
-
-
-
-
- Tries to achieve maximum shadow resolution. May result in saw effect on shadow edges. This mode typically works best in games where the camera will often move at high speeds, such as most racing games.
-
-
-
-
- The light's shadow rendering algorithm. See .
-
-
-
-
- The distance from camera to shadow split 1. Relative to . Only used when is SHADOW_PARALLEL_2_SPLITS or SHADOW_PARALLEL_4_SPLITS.
-
-
-
-
- The distance from shadow split 1 to split 2. Relative to . Only used when is SHADOW_PARALLEL_2_SPLITS or SHADOW_PARALLEL_4_SPLITS.
-
-
-
-
- The distance from shadow split 2 to split 3. Relative to . Only used when is SHADOW_PARALLEL_4_SPLITS.
-
-
-
-
- If true, shadow detail is sacrificed in exchange for smoother transitions between splits.
-
-
-
-
- Can be used to fix special cases of self shadowing when objects are perpendicular to the light.
-
-
-
-
- Amount of extra bias for shadow splits that are far away. If self-shadowing occurs only on the splits far away, increasing this value can fix them.
-
-
-
-
- Optimizes shadow rendering for detail versus movement. See .
-
-
-
-
- The maximum distance for shadow splits.
-
-
-
-
- DynamicFont renders vector font files (such as TTF or OTF) dynamically at runtime instead of using a prerendered texture atlas like . This trades the faster loading time of s for the ability to change font parameters like size and spacing during runtime. is used for referencing the font file paths. DynamicFont also supports defining one or more fallback fonts, which will be used when displaying a character not supported by the main font.
- DynamicFont uses the FreeType library for rasterization.
-
- var dynamic_font = DynamicFont.new()
- dynamic_font.font_data = load("res://BarlowCondensed-Bold.ttf")
- dynamic_font.size = 64
- $"Label".set("custom_fonts/font", dynamic_font)
-
- Note: DynamicFont doesn't support features such as kerning, right-to-left typesetting, ligatures, text shaping, variable fonts and optional font features yet. If you wish to "bake" an optional font feature into a TTF font file, you can use FontForge to do so. In FontForge, use File > Generate Fonts, click Options, choose the desired features then generate the font.
-
-
-
-
- Spacing at the top.
-
-
-
-
- Spacing at the bottom.
-
-
-
-
- Character spacing.
-
-
-
-
- Space spacing.
-
-
-
-
- The font size in pixels.
-
-
-
-
- The font outline's thickness in pixels (not relative to the font size).
-
-
-
-
- The font outline's color.
- Note: It's recommended to leave this at the default value so that you can adjust it in individual controls. For example, if the outline is made black here, it won't be possible to change its color using a Label's font outline modulate theme item.
-
-
-
-
- If true, mipmapping is used. This improves the font's appearance when downscaling it if font oversampling is disabled or ineffective.
-
-
-
-
- If true, filtering is used. This makes the font blurry instead of pixelated when scaling it if font oversampling is disabled or ineffective. It's recommended to enable this when using the font in a control whose size changes over time, unless a pixel art aesthetic is desired.
-
-
-
-
- Extra spacing at the top in pixels.
-
-
-
-
- Extra spacing at the bottom in pixels.
-
-
-
-
- Extra character spacing in pixels.
-
-
-
-
- Extra space spacing in pixels.
-
-
-
-
- The font data.
-
-
-
-
- Returns a string containing all the characters available in the main and all the fallback fonts.
- If a given character is included in more than one font, it appears only once in the returned string.
-
-
-
-
- Sets the spacing for type (see ) to value in pixels (not relative to the font size).
-
-
-
-
- Returns the spacing for the given type (see ).
-
-
-
-
- Adds a fallback font.
-
-
-
-
- Sets the fallback font at index idx.
-
-
-
-
- Returns the fallback font at index idx.
-
-
-
-
- Removes the fallback font at index idx.
-
-
-
-
- Returns the number of fallback fonts.
-
-
-
-
- Used with to describe the location of a vector font file for dynamic rendering at runtime.
-
-
-
-
- Disables font hinting (smoother but less crisp).
-
-
-
-
- Use the light font hinting mode.
-
-
-
-
- Use the default font hinting mode (crisper but less smooth).
-
-
-
-
- If true, the font is rendered with anti-aliasing. This property applies both to the main font and its outline (if it has one).
-
-
-
-
- The font hinting mode used by FreeType. See for options.
-
-
-
-
- The path to the vector font file.
-
-
-
-
- Utility class which holds a reference to the internal identifier of an instance, as given by . This ID can then be used to retrieve the object instance with @GDScript.instance_from_id.
- This class is used internally by the editor inspector and script debugger, but can also be used in plugins to pass and display objects as their IDs.
-
-
-
-
- The identifier stored in this instance. The object instance can be retrieved with @GDScript.instance_from_id.
-
-
-
-
- Resource for environment nodes (like ) that define multiple environment operations (such as background or , ambient light, fog, depth-of-field...). These parameters affect the final render of the scene. The order of these operations is:
- - Depth of Field Blur
- - Glow
- - Tonemap (Auto Exposure)
- - Adjustments
- These effects will only apply when the 's intended usage is "3D" or "3D Without Effects". This can be configured for the root Viewport with , or for specific Viewports via the property.
-
-
-
-
- No blur for the screen-space ambient occlusion effect (fastest).
-
-
-
-
- 1×1 blur for the screen-space ambient occlusion effect.
-
-
-
-
- 2×2 blur for the screen-space ambient occlusion effect.
-
-
-
-
- 3×3 blur for the screen-space ambient occlusion effect (slowest).
-
-
-
-
- Linear tonemapper operator. Reads the linear data and passes it on unmodified.
-
-
-
-
- Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: color = color / (1 + color).
-
-
-
-
- Filmic tonemapper operator.
-
-
-
-
- Academy Color Encoding System tonemapper operator.
-
-
-
-
- Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
-
-
-
-
- Screen glow blending mode. Increases brightness, used frequently with bloom.
-
-
-
-
- Soft light glow blending mode. Modifies contrast, exposes shadows and highlights (vivid bloom).
-
-
-
-
- Replace glow blending mode. Replaces all pixels' color by the glow value. This can be used to simulate a full-screen blur effect by tweaking the glow parameters to match the original image's brightness.
-
-
-
-
- Keeps on screen every pixel drawn in the background. This is the fastest background mode, but it can only be safely used in fully-interior scenes (no visible sky or sky reflections). If enabled in a scene where the background is visible, "ghost trail" artifacts will be visible when moving the camera.
-
-
-
-
- Clears the background using the clear color defined in .
-
-
-
-
- Clears the background using a custom clear color.
-
-
-
-
- Displays a user-defined sky in the background.
-
-
-
-
- Clears the background using a custom clear color and allows defining a sky for shading and reflection. This mode is slightly faster than and should be preferred in scenes where reflections can be visible, but the sky itself never is (e.g. top-down camera).
-
-
-
-
- Displays a in the background.
-
-
-
-
- Displays a camera feed in the background.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Low quality for the screen-space ambient occlusion effect (fastest).
-
-
-
-
- Low quality for the screen-space ambient occlusion effect.
-
-
-
-
- Low quality for the screen-space ambient occlusion effect (slowest).
-
-
-
-
- Low depth-of-field blur quality (fastest).
-
-
-
-
- Medium depth-of-field blur quality.
-
-
-
-
- High depth-of-field blur quality (slowest).
-
-
-
-
- The background mode. See for possible values.
-
-
-
-
- The resource defined as background.
-
-
-
-
- The resource's custom field of view.
-
-
-
-
- The resource's rotation expressed as a .
-
-
-
-
- The resource's rotation expressed as Euler angles in radians.
-
-
-
-
- The resource's rotation expressed as Euler angles in degrees.
-
-
-
-
- The displayed for clear areas of the scene. Only effective when using the or background modes).
-
-
-
-
- The power of the light emitted by the background.
-
-
-
-
- The maximum layer ID to display. Only effective when using the background mode.
-
-
-
-
- The ID of the camera feed to show in the background.
-
-
-
-
- The ambient light's .
-
-
-
-
- The ambient light's energy. The higher the value, the stronger the light.
-
-
-
-
- Defines the amount of light that the sky brings on the scene. A value of 0 means that the sky's light emission has no effect on the scene illumination, thus all ambient illumination is provided by the ambient light. On the contrary, a value of 1 means that all the light that affects the scene is provided by the sky, thus the ambient light parameter has no effect on the scene.
-
-
-
-
- If true, fog effects are enabled. and/or must be set to true to actually display fog.
-
-
-
-
- The fog's .
-
-
-
-
- The depth fog's when looking towards the sun.
-
-
-
-
- The intensity of the depth fog color transition when looking towards the sun. The sun's direction is determined automatically using the DirectionalLight node in the scene.
-
-
-
-
- If true, the depth fog effect is enabled. When enabled, fog will appear in the distance (relative to the camera).
-
-
-
-
- The fog's depth starting distance from the camera.
-
-
-
-
- The fog's depth end distance from the camera. If this value is set to 0, it will be equal to the current camera's value.
-
-
-
-
- The fog depth's intensity curve. A number of presets are available in the Inspector by right-clicking the curve.
-
-
-
-
- Enables fog's light transmission effect. If true, light will be more visible in the fog to simulate light scattering as in real life.
-
-
-
-
- The intensity of the fog light transmittance effect. Amount of light that the fog transmits.
-
-
-
-
- If true, the height fog effect is enabled. When enabled, fog will appear in a defined height range, regardless of the distance from the camera. This can be used to simulate "deep water" effects with a lower performance cost compared to a dedicated shader.
-
-
-
-
- The Y coordinate where the height fog will be the least intense. If this value is greater than , fog will be displayed from top to bottom. Otherwise, it will be displayed from bottom to top.
-
-
-
-
- The Y coordinate where the height fog will be the most intense. If this value is greater than , fog will be displayed from bottom to top. Otherwise, it will be displayed from top to bottom.
-
-
-
-
- The height fog's intensity. A number of presets are available in the Inspector by right-clicking the curve.
-
-
-
-
- The tonemapping mode to use. Tonemapping is the process that "converts" HDR values to be suitable for rendering on a LDR display. (Godot doesn't support rendering on HDR displays yet.)
-
-
-
-
- The default exposure used for tonemapping.
-
-
-
-
- The white reference value for tonemapping. Only effective if the isn't set to .
-
-
-
-
- If true, enables the tonemapping auto exposure mode of the scene renderer. If true, the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light.
-
-
-
-
- The scale of the auto exposure effect. Affects the intensity of auto exposure.
-
-
-
-
- The minimum luminance value for the auto exposure.
-
-
-
-
- The maximum luminance value for the auto exposure.
-
-
-
-
- The speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.
-
-
-
-
- If true, screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from s or s, but are slower and can't reflect surfaces occluded by others.
-
-
-
-
- The maximum number of steps for screen-space reflections. Higher values are slower.
-
-
-
-
- The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection).
-
-
-
-
- The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection.
-
-
-
-
- The depth tolerance for screen-space reflections.
-
-
-
-
- If true, screen-space reflections will take the material roughness into account.
-
-
-
-
- If true, the screen-space ambient occlusion effect is enabled. This darkens objects' corners and cavities to simulate ambient light not reaching the entire object as in real life. This works well for small, dynamic objects, but baked lighting or ambient occlusion textures will do a better job at displaying ambient occlusion on large static objects. This is a costly effect and should be disabled first when running into performance issues.
-
-
-
-
- The primary screen-space ambient occlusion radius.
-
-
-
-
- The primary screen-space ambient occlusion intensity. See also .
-
-
-
-
- The secondary screen-space ambient occlusion radius. If set to a value higher than 0, enables the secondary screen-space ambient occlusion effect which can be used to improve the effect's appearance (at the cost of performance).
-
-
-
-
- The secondary screen-space ambient occlusion intensity. See also .
-
-
-
-
- The screen-space ambient occlusion bias. This should be kept high enough to prevent "smooth" curves from being affected by ambient occlusion.
-
-
-
-
- The screen-space ambient occlusion intensity in direct light. In real life, ambient occlusion only applies to indirect light, which means its effects can't be seen in direct light. Values higher than 0 will make the SSAO effect visible in direct light.
-
-
-
-
- The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than 0 will make the SSAO effect visible in areas darkened by AO textures.
-
-
-
-
- The screen-space ambient occlusion color.
-
-
-
-
- The screen-space ambient occlusion quality. Higher qualities will make better use of small objects for ambient occlusion, but are slower.
-
-
-
-
- The screen-space ambient occlusion blur quality. See for possible values.
-
-
-
-
- The screen-space ambient occlusion edge sharpness.
-
-
-
-
- If true, enables the depth-of-field far blur effect.
-
-
-
-
- The distance from the camera where the far blur effect affects the rendering.
-
-
-
-
- The length of the transition between the no-blur area and far blur.
-
-
-
-
- The amount of far blur for the depth-of-field effect.
-
-
-
-
- The depth-of-field far blur's quality. Higher values can mitigate the visible banding effect seen at higher strengths, but are much slower.
-
-
-
-
- If true, enables the depth-of-field near blur effect.
-
-
-
-
- Distance from the camera where the near blur effect affects the rendering.
-
-
-
-
- The length of the transition between the near blur and no-blur area.
-
-
-
-
- The amount of near blur for the depth-of-field effect.
-
-
-
-
- The depth-of-field near blur's quality. Higher values can mitigate the visible banding effect seen at higher strengths, but are much slower.
-
-
-
-
- If true, the glow effect is enabled.
-
-
-
-
- If true, the 1st level of glow is enabled. This is the most "local" level (least blurry).
-
-
-
-
- If true, the 2th level of glow is enabled.
-
-
-
-
- If true, the 3th level of glow is enabled.
-
-
-
-
- If true, the 4th level of glow is enabled.
-
-
-
-
- If true, the 5th level of glow is enabled.
-
-
-
-
- If true, the 6th level of glow is enabled.
-
-
-
-
- If true, the 7th level of glow is enabled. This is the most "global" level (blurriest).
-
-
-
-
- The glow intensity. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
-
-
-
-
- The glow strength. When using the GLES2 renderer, this should be increased to 1.3 to compensate for the lack of HDR rendering.
-
-
-
-
- The bloom's intensity. If set to a value higher than 0, this will make glow visible in areas darker than the .
-
-
-
-
- The glow blending mode.
-
-
-
-
- The lower threshold of the HDR glow. When using the GLES2 renderer (which doesn't support HDR), this needs to be below 1.0 for glow to be visible. A value of 0.9 works well in this case.
-
-
-
-
- The higher threshold of the HDR glow. Areas brighter than this threshold will be clamped for the purposes of the glow effect.
-
-
-
-
- The bleed scale of the HDR glow.
-
-
-
-
- Smooths out the blockiness created by sampling higher levels, at the cost of performance.
- Note: When using the GLES2 renderer, this is only available if the GPU supports the GL_EXT_gpu_shader4 extension.
-
-
-
-
- If true, enables the adjustment_* properties provided by this resource. If false, modifications to the adjustment_* properties will have no effect on the rendered scene.
-
-
-
-
- The global brightness value of the rendered scene. Effective only if adjustment_enabled is true.
-
-
-
-
- The global contrast value of the rendered scene (default value is 1). Effective only if adjustment_enabled is true.
-
-
-
-
- The global color saturation value of the rendered scene (default value is 1). Effective only if adjustment_enabled is true.
-
-
-
-
- Applies the provided resource to affect the global color aspect of the rendered scene. Effective only if adjustment_enabled is true.
-
-
-
-
- Enables or disables the glow level at index idx. Each level relies on the previous level. This means that enabling higher glow levels will slow down the glow effect rendering, even if previous levels aren't enabled.
-
-
-
-
- Returns true if the glow level idx is specified, false otherwise.
-
-
-
-
- An expression can be made of any arithmetic operation, built-in math function call, method call of a passed instance, or built-in type construction call.
- An example expression text using the built-in math functions could be sqrt(pow(3,2) + pow(4,2)).
- In the following example we use a node to write our expression and show the result.
-
- onready var expression = Expression.new()
-
- func _ready():
- $LineEdit.connect("text_entered", self, "_on_text_entered")
-
- func _on_text_entered(command):
- var error = expression.parse(command, [])
- if error != OK:
- print(expression.get_error_text())
- return
- var result = expression.execute([], null, true)
- if not expression.has_execute_failed():
- $LineEdit.text = str(result)
-
-
-
-
-
- Parses the expression and returns an code.
- You can optionally specify names of variables that may appear in the expression with input_names, so that you can bind them when it gets executed.
-
- If the parameter is null, then the default value is new string[] {}
-
-
-
- Executes the expression that was previously parsed by and returns the result. Before you use the returned object, you should check if the method failed by calling .
- If you defined input variables in , you can specify their values in the inputs array, in the same order.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Returns true if has failed.
-
-
-
-
- Returns the error text if has failed.
-
-
-
-
- Enable support for the OpenGL ES external texture extension as defined by OES_EGL_image_external.
- Note: This is only supported for Android platforms.
-
-
-
-
- External texture size.
-
-
-
-
- Returns the external texture name.
-
-
-
-
- FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. The FileDialog automatically sets its window title according to the . If you want to use a custom title, disable this by setting to false.
-
-
-
-
- The dialog allows selecting one, and only one file.
-
-
-
-
- The dialog allows selecting multiple files.
-
-
-
-
- The dialog only allows selecting a directory, disallowing the selection of any file.
-
-
-
-
- The dialog allows selecting one file or directory.
-
-
-
-
- The dialog will warn when a file exists.
-
-
-
-
- The dialog only allows accessing files under the path (res://).
-
-
-
-
- The dialog only allows accessing files under user data path (user://).
-
-
-
-
- The dialog allows accessing files on the whole file system.
-
-
-
-
- If true, changing the Mode property will set the window title accordingly (e.g. setting mode to will change the window title to "Open a File").
-
-
-
-
- The dialog's open or save mode, which affects the selection behavior. See enum Mode constants.
-
-
-
-
- The file system access scope. See enum Access constants.
- Warning: Currently, in sandboxed environments such as HTML5 builds or sandboxed macOS apps, FileDialog cannot access the host file system. See godot-proposals#1123.
-
-
-
-
- The available file type filters. For example, this shows only .png and .gd files: set_filters(PoolStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"])).
-
-
-
-
- If true, the dialog will show hidden files.
-
-
-
-
- The current working directory of the file dialog.
-
-
-
-
- The currently selected file of the file dialog.
-
-
-
-
- The currently selected file path of the file dialog.
-
-
-
-
- Clear all the added filters in the dialog.
-
-
-
-
- Adds filter as a custom filter; filter should be of the form "filename.extension ; Description". For example, "*.png ; PNG Images".
-
-
-
-
- Returns the vertical box container of the dialog, custom controls can be added to it.
-
-
-
-
- Returns the LineEdit for the selected file.
-
-
-
-
- Clear currently selected items in the dialog.
-
-
-
-
- Invalidate and update the current dialog content list.
-
-
-
-
- Font contains a Unicode-compatible character set, as well as the ability to draw it with variable width, ascent, descent and kerning. For creating fonts from TTF files (or other font formats), see the editor support for fonts.
- Note: If a DynamicFont doesn't contain a character used in a string, the character in question will be replaced with codepoint 0xfffd if it's available in the DynamicFont. If this replacement character isn't available in the DynamicFont, the character will be hidden without displaying any replacement character in the string.
- Note: If a BitmapFont doesn't contain a character used in a string, the character in question will be hidden without displaying any replacement character in the string.
-
-
-
-
- Draw string into a canvas item using the font at a given position, with modulate color, and optionally clipping the width. position specifies the baseline, not the top. To draw from the top, ascent must be added to the Y axis.
- See also .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Returns the font ascent (number of pixels above the baseline).
-
-
-
-
- Returns the font descent (number of pixels below the baseline).
-
-
-
-
- Returns the total font height (ascent plus descent) in pixels.
-
-
-
-
- Returns the size of a character, optionally taking kerning into account if the next character is provided.
-
-
-
-
- Returns the size of a string, taking kerning and advance into account.
-
-
-
-
- Returns the size that the string would have with word wrapping enabled with a fixed width.
-
-
-
-
- Returns true if the font has an outline.
-
-
-
-
- Draw character char into a canvas item using the font at a given position, with modulate color, and optionally kerning if next is passed. clipping the width. position specifies the baseline, not the top. To draw from the top, ascent must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- After editing a font (changing size, ascent, char rects, etc.). Call this function to propagate changes to controls that might use it.
-
-
-
-
- In GDScript, functions are not first-class objects. This means it is impossible to store them directly as variables, return them from another function, or pass them as arguments.
- However, by creating a using the @GDScript.funcref function, a reference to a function in a given object can be created, passed around and called.
-
-
-
-
- Calls the referenced function previously set by or @GDScript.funcref.
-
-
-
-
- Calls the referenced function previously set by or @GDScript.funcref. Contrarily to , this method does not support a variable number of arguments but expects all parameters to be passed via a single .
-
-
-
-
- The object containing the referenced function. This object must be of a type actually inheriting from , not a built-in type such as , or .
-
-
-
-
- The name of the referenced function to call on the object, without parentheses or any parameters.
-
-
-
-
- Returns whether the object still exists and has the function assigned.
-
-
-
-
- A GDNative library can implement s, global functions to call with the class, or low-level engine extensions through interfaces such as . The library must be compiled for each platform and architecture that the project will run on.
-
-
-
-
- This resource in INI-style format, as in .gdnlib files.
-
-
-
-
- If true, Godot loads only one copy of the library and each script that references the library will share static data like static or global variables.
- If false, Godot loads a separate copy of the library into memory for each script that references it.
-
-
-
-
- If true, Godot loads the library at startup rather than the first time a script uses the library, calling {prefix}gdnative_singleton after initializing the library (where {prefix} is the value of ). The library remains loaded as long as Godot is running.
- Note: A singleton library cannot be .
-
-
-
-
- The prefix this library's entry point functions begin with. For example, a GDNativeLibrary would declare its gdnative_init function as godot_gdnative_init by default.
- On platforms that require statically linking libraries (currently only iOS), each library must have a different symbol_prefix.
-
-
-
-
- If true, the editor will temporarily unload the library whenever the user switches away from the editor window, allowing the user to recompile the library without restarting Godot.
- Note: If the library defines tool scripts that run inside the editor, reloadable must be false. Otherwise, the editor will attempt to unload the tool scripts while they're in use and crash.
-
-
-
-
- Returns the path to the dynamic library file for the current platform and architecture.
-
-
-
-
- Returns paths to all dependency libraries for the current platform and architecture.
-
-
-
-
- A script implemented in the GDScript programming language. The script extends the functionality of all objects that instance it.
- creates a new instance of the script. extends an existing object, if that object's class matches one of the script's base classes.
-
-
-
-
- Returns a new instance of the script.
- For example:
-
- var MyClass = load("myclass.gd")
- var instance = MyClass.new()
- assert(instance.get_script() == MyClass)
-
-
-
-
-
- Returns byte code for the script source code.
-
-
-
-
- Calling @GDScript.yield within a function will cause that function to yield and return its current state as an object of this type. The yielded function call can then be resumed later by calling on this state object.
-
-
-
-
- Resume execution of the yielded function call.
- If handed an argument, return the argument from the @GDScript.yield call in the yielded function call. You can pass e.g. an to hand multiple arguments.
- This function returns what the resumed function call returns, possibly another function state if yielded again.
-
-
-
-
- Check whether the function call may be resumed. This is not the case if the function state was already resumed.
- If extended_check is enabled, it also checks if the associated script and object still exist. The extended check is done in debug mode as part of , but you can use this if you know you may be trying to resume without knowing for sure the object and/or script have survived up to that point.
-
-
-
-
- s are used to provide high-quality real-time indirect light to scenes. They precompute the effect of objects that emit light and the effect of static geometry to simulate the behavior of complex light in real-time. s need to be baked before using, however, once baked, dynamic objects will receive light from them. Further, lights can be fully dynamic or baked.
- Having s in a scene can be expensive, the quality of the probe can be turned down in exchange for better performance in the using .
-
-
-
-
- Use 64 subdivisions. This is the lowest quality setting, but the fastest. Use it if you can, but especially use it on lower-end hardware.
-
-
-
-
- Use 128 subdivisions. This is the default quality setting.
-
-
-
-
- Use 256 subdivisions.
-
-
-
-
- Use 512 subdivisions. This is the highest quality setting, but the slowest. On lower-end hardware this could cause the GPU to stall.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Number of times to subdivide the grid that the operates on. A higher number results in finer detail and thus higher visual quality, while lower numbers result in better performance.
-
-
-
-
- The size of the area covered by the . If you make the extents larger without increasing the subdivisions with , the size of each cell will increase and result in lower detailed lighting.
-
-
-
-
- The maximum brightness that the will recognize. Brightness will be scaled within this range.
-
-
-
-
- Energy multiplier. Makes the lighting contribution from the brighter.
-
-
-
-
- How much light propagates through the probe internally. A higher value allows light to spread further.
-
-
-
-
- Offsets the lookup of the light contribution from the . This can be used to avoid self-shadowing, but may introduce light leaking at higher values. This and should be played around with to minimize self-shadowing and light leaking.
- Note: bias should usually be above 1.0 as that is the size of the voxels.
-
-
-
-
- Offsets the lookup into the based on the object's normal direction. Can be used to reduce some self-shadowing artifacts.
-
-
-
-
- If true, ignores the sky contribution when calculating lighting.
-
-
-
-
- If true, the data for this will be compressed. Compression saves space, but results in far worse visual quality.
-
-
-
-
- The resource that holds the data for this .
-
-
-
-
- Bakes the effect from all s marked with and s marked with either or . If create_visual_debug is true, after baking the light, this will generate a that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the 's data and debug any issues that may be occurring.
-
-
-
-
- Calls with create_visual_debug enabled.
-
-
-
-
- The first 3 DOF axes are linear axes, which represent translation of Bodies, and the latter 3 DOF axes represent the angular motion. Each axis can be either locked, or limited.
-
-
-
-
- The minimum difference between the pivot points' axes.
-
-
-
-
- The maximum difference between the pivot points' axes.
-
-
-
-
- A factor applied to the movement across the axes. The lower, the slower the movement.
-
-
-
-
- The amount of restitution on the axes' movement. The lower, the more momentum gets lost.
-
-
-
-
- The amount of damping that happens at the linear motion across the axes.
-
-
-
-
- The velocity the linear motor will try to reach.
-
-
-
-
- The maximum force the linear motor will apply while trying to reach the velocity target.
-
-
-
-
- The minimum rotation in negative direction to break loose and rotate around the axes.
-
-
-
-
- The minimum rotation in positive direction to break loose and rotate around the axes.
-
-
-
-
- The speed of all rotations across the axes.
-
-
-
-
- The amount of rotational damping across the axes. The lower, the more dampening occurs.
-
-
-
-
- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
-
-
-
-
- The maximum amount of force that can occur, when rotating around the axes.
-
-
-
-
- When rotating across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
-
-
-
-
- Target speed for the motor at the axes.
-
-
-
-
- Maximum acceleration for the motor at the axes.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If enabled, linear motion is possible within the given limits.
-
-
-
-
- If enabled, rotational motion is possible within the given limits.
-
-
-
-
- If enabled, there is a rotational motor across these axes.
-
-
-
-
- If enabled, there is a linear motor across these axes.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If true, the linear motion across the X axis is limited.
-
-
-
-
- The maximum difference between the pivot points' X axis.
-
-
-
-
- The minimum difference between the pivot points' X axis.
-
-
-
-
- A factor applied to the movement across the X axis. The lower, the slower the movement.
-
-
-
-
- The amount of restitution on the X axis movement. The lower, the more momentum gets lost.
-
-
-
-
- The amount of damping that happens at the X motion.
-
-
-
-
- If true, then there is a linear motor on the X axis. It will attempt to reach the target velocity while staying within the force limits.
-
-
-
-
- The speed that the linear motor will attempt to reach on the X axis.
-
-
-
-
- The maximum force the linear motor can apply on the X axis while trying to reach the target velocity.
-
-
-
-
- If true, rotation across the X axis is limited.
-
-
-
-
- The minimum rotation in positive direction to break loose and rotate around the X axis.
-
-
-
-
- The minimum rotation in negative direction to break loose and rotate around the X axis.
-
-
-
-
- The speed of all rotations across the X axis.
-
-
-
-
- The amount of rotational restitution across the X axis. The lower, the more restitution occurs.
-
-
-
-
- The amount of rotational damping across the X axis.
- The lower, the longer an impulse from one side takes to travel to the other side.
-
-
-
-
- The maximum amount of force that can occur, when rotating around the X axis.
-
-
-
-
- When rotating across the X axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
-
-
-
-
- If true, a rotating motor at the X axis is enabled.
-
-
-
-
- Target speed for the motor at the X axis.
-
-
-
-
- Maximum acceleration for the motor at the X axis.
-
-
-
-
- If true, the linear motion across the Y axis is limited.
-
-
-
-
- The maximum difference between the pivot points' Y axis.
-
-
-
-
- The minimum difference between the pivot points' Y axis.
-
-
-
-
- A factor applied to the movement across the Y axis. The lower, the slower the movement.
-
-
-
-
- The amount of restitution on the Y axis movement. The lower, the more momentum gets lost.
-
-
-
-
- The amount of damping that happens at the Y motion.
-
-
-
-
- If true, then there is a linear motor on the Y axis. It will attempt to reach the target velocity while staying within the force limits.
-
-
-
-
- The speed that the linear motor will attempt to reach on the Y axis.
-
-
-
-
- The maximum force the linear motor can apply on the Y axis while trying to reach the target velocity.
-
-
-
-
- If true, rotation across the Y axis is limited.
-
-
-
-
- The minimum rotation in positive direction to break loose and rotate around the Y axis.
-
-
-
-
- The minimum rotation in negative direction to break loose and rotate around the Y axis.
-
-
-
-
- The speed of all rotations across the Y axis.
-
-
-
-
- The amount of rotational restitution across the Y axis. The lower, the more restitution occurs.
-
-
-
-
- The amount of rotational damping across the Y axis. The lower, the more dampening occurs.
-
-
-
-
- The maximum amount of force that can occur, when rotating around the Y axis.
-
-
-
-
- When rotating across the Y axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
-
-
-
-
- If true, a rotating motor at the Y axis is enabled.
-
-
-
-
- Target speed for the motor at the Y axis.
-
-
-
-
- Maximum acceleration for the motor at the Y axis.
-
-
-
-
- If true, the linear motion across the Z axis is limited.
-
-
-
-
- The maximum difference between the pivot points' Z axis.
-
-
-
-
- The minimum difference between the pivot points' Z axis.
-
-
-
-
- A factor applied to the movement across the Z axis. The lower, the slower the movement.
-
-
-
-
- The amount of restitution on the Z axis movement. The lower, the more momentum gets lost.
-
-
-
-
- The amount of damping that happens at the Z motion.
-
-
-
-
- If true, then there is a linear motor on the Z axis. It will attempt to reach the target velocity while staying within the force limits.
-
-
-
-
- The speed that the linear motor will attempt to reach on the Z axis.
-
-
-
-
- The maximum force the linear motor can apply on the Z axis while trying to reach the target velocity.
-
-
-
-
- If true, rotation across the Z axis is limited.
-
-
-
-
- The minimum rotation in positive direction to break loose and rotate around the Z axis.
-
-
-
-
- The minimum rotation in negative direction to break loose and rotate around the Z axis.
-
-
-
-
- The speed of all rotations across the Z axis.
-
-
-
-
- The amount of rotational restitution across the Z axis. The lower, the more restitution occurs.
-
-
-
-
- The amount of rotational damping across the Z axis. The lower, the more dampening occurs.
-
-
-
-
- The maximum amount of force that can occur, when rotating around the Z axis.
-
-
-
-
- When rotating across the Z axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
-
-
-
-
- If true, a rotating motor at the Z axis is enabled.
-
-
-
-
- Target speed for the motor at the Z axis.
-
-
-
-
- Maximum acceleration for the motor at the Z axis.
-
-
-
-
- Base node for geometry-based visual instances. Shares some common functionality like visibility and custom materials.
-
-
-
-
- Will allow the GeometryInstance to be used when baking lights using a or .
-
-
-
-
- Unused in this class, exposed for consistency with .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Will not cast any shadows.
-
-
-
-
- Will cast shadows from all visible faces in the GeometryInstance.
- Will take culling into account, so faces not being rendered will not be taken into account when shadow casting.
-
-
-
-
- Will cast shadows from all visible faces in the GeometryInstance.
- Will not take culling into account, so all faces will be taken into account when shadow casting.
-
-
-
-
- Will only show the shadows casted from this object.
- In other words, the actual mesh will not be visible, only the shadows casted from the mesh will be.
-
-
-
-
- The material override for the whole geometry.
- If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
-
-
-
-
- The selected shadow casting flag. See for possible values.
-
-
-
-
- The extra distance added to the GeometryInstance's bounding box () to increase its cull box.
-
-
-
-
- If true, this GeometryInstance will be used when baking lights using a or .
-
-
-
-
- The GeometryInstance's min LOD distance.
- Note: This property currently has no effect.
-
-
-
-
- The GeometryInstance's min LOD margin.
- Note: This property currently has no effect.
-
-
-
-
- The GeometryInstance's max LOD distance.
- Note: This property currently has no effect.
-
-
-
-
- The GeometryInstance's max LOD margin.
- Note: This property currently has no effect.
-
-
-
-
- Sets the specified. See for options.
-
-
-
-
- Returns the that have been set for this object.
-
-
-
-
- Overrides the bounding box of this node with a custom one. To remove it, set an with all fields set to zero.
-
-
-
-
- Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the ramp will interpolate from color 1 to color 2 and from color 2 to color 3. The ramp will initially have 2 colors (black and white), one (black) at ramp lower offset 0 and the other (white) at the ramp higher offset 1.
-
-
-
-
- Gradient's offsets returned as a .
-
-
-
-
- Gradient's colors returned as a .
-
-
-
-
- Adds the specified color to the end of the ramp, with the specified offset.
-
-
-
-
- Removes the color at the index offset.
-
-
-
-
- Sets the offset for the ramp color at index point.
-
-
-
-
- Returns the offset of the ramp color at index point.
-
-
-
-
- Sets the color of the ramp color at index point.
-
-
-
-
- Returns the color of the ramp color at index point.
-
-
-
-
- Returns the interpolated color specified by offset.
-
-
-
-
- Returns the number of colors in the ramp.
-
-
-
-
- GradientTexture uses a to fill the texture data. The gradient will be filled from left to right using colors obtained from the gradient. This means the texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see ).
-
-
-
-
- The that will be used to fill the texture.
-
-
-
-
- The number of color samples that will be obtained from the .
-
-
-
-
- GraphEdit manages the showing of GraphNodes it contains, as well as connections and disconnections between them. Signals are sent for each of these two events. Disconnection between GraphNode slots is disabled by default.
- It is greatly advised to enable low-processor usage mode (see ) when using GraphEdits.
-
-
-
-
- If true, enables disconnection of existing connections in the GraphEdit by dragging the right end.
-
-
-
-
- The scroll offset.
-
-
-
-
- The snapping distance in pixels.
-
-
-
-
- If true, enables snapping.
-
-
-
-
- The current zoom value.
-
-
-
-
- Create a connection between the from_port slot of the from GraphNode and the to_port slot of the to GraphNode. If the connection already exists, no connection is created.
-
-
-
-
- Returns true if the from_port slot of the from GraphNode is connected to the to_port slot of the to GraphNode.
-
-
-
-
- Removes the connection between the from_port slot of the from GraphNode and the to_port slot of the to GraphNode. If the connection does not exist, no connection is removed.
-
-
-
-
- Sets the coloration of the connection between from's from_port and to's to_port with the color provided in the activity theme property.
-
-
-
-
- Returns an Array containing the list of connections. A connection consists in a structure of the form { from_port: 0, from: "GraphNode name 0", to_port: 1, to: "GraphNode name 1" }.
-
-
-
-
- Removes all connections between nodes.
-
-
-
-
- Makes possible to disconnect nodes when dragging from the slot at the right if it has the specified type.
-
-
-
-
- Removes the possibility to disconnect nodes when dragging from the slot at the right if it has the specified type.
-
-
-
-
- Makes possible to disconnect nodes when dragging from the slot at the left if it has the specified type.
-
-
-
-
- Removes the possibility to disconnect nodes when dragging from the slot at the left if it has the specified type.
-
-
-
-
- Makes possible the connection between two different slot types. The type is defined with the method.
-
-
-
-
- Makes it not possible to connect between two different slot types. The type is defined with the method.
-
-
-
-
- Returns whether it's possible to connect slots of the specified types.
-
-
-
-
- Gets the that contains the zooming and grid snap controls in the top left of the graph.
- Warning: The intended usage of this function is to allow you to reposition or add your own custom controls to the container. This is an internal control and as such should not be freed. If you wish to hide this or any of it's children use their property instead.
-
-
-
-
- Sets the specified node as the one selected.
-
-
-
-
- A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes referred to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any -derived child node to it.
- After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further.
- In the Inspector you can enable (show) or disable (hide) slots. By default all slots are disabled so you may not see any slots on your GraphNode initially. You can assign a type to each slot. Only slots of the same type will be able to connect to each other. You can also assign colors to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input connections are on the left and output connections are on the right side of GraphNode. Only enabled slots are counted as connections.
-
-
-
-
- No overlay is shown.
-
-
-
-
- Show overlay set in the breakpoint theme property.
-
-
-
-
- Show overlay set in the position theme property.
-
-
-
-
- The text displayed in the GraphNode's title bar.
-
-
-
-
- The offset of the GraphNode, relative to the scroll offset of the .
- Note: You cannot use position directly, as is a .
-
-
-
-
- If true, the close button will be visible.
- Note: Pressing it will only emit the close_request signal, the GraphNode needs to be removed manually.
-
-
-
-
- If true, the user can resize the GraphNode.
- Note: Dragging the handle will only emit the resize_request signal, the GraphNode needs to be resized manually.
-
-
-
-
- If true, the GraphNode is selected.
-
-
-
-
- If true, the GraphNode is a comment node.
-
-
-
-
- Sets the overlay shown above the GraphNode. See .
-
-
-
-
- Sets properties of the slot with ID idx.
- If enable_left/right, a port will appear and the slot will be able to be connected from this side.
- type_left/right is an arbitrary type of the port. Only ports with the same type values can be connected.
- color_left/right is the tint of the port's icon on this side.
- custom_left/right is a custom texture for this side's port.
- Note: This method only sets properties of the slot. To create the slot, add a -derived child to the GraphNode.
-
-
-
-
- Disables input and output slot whose index is idx.
-
-
-
-
- Disables all input and output slots of the GraphNode.
-
-
-
-
- Returns true if left (input) slot idx is enabled, false otherwise.
-
-
-
-
- Returns the (integer) type of left (input) idx slot.
-
-
-
-
- Returns the color set to idx left (input) slot.
-
-
-
-
- Returns true if right (output) slot idx is enabled, false otherwise.
-
-
-
-
- Returns the (integer) type of right (output) idx slot.
-
-
-
-
- Returns the color set to idx right (output) slot.
-
-
-
-
- Returns the number of enabled output slots (connections) of the GraphNode.
-
-
-
-
- Returns the number of enabled input slots (connections) to the GraphNode.
-
-
-
-
- Returns the position of the output connection idx.
-
-
-
-
- Returns the type of the output connection idx.
-
-
-
-
- Returns the color of the output connection idx.
-
-
-
-
- Returns the position of the input connection idx.
-
-
-
-
- Returns the type of the input connection idx.
-
-
-
-
- Returns the color of the input connection idx.
-
-
-
-
- GridContainer will arrange its Control-derived children in a grid like structure, the grid columns are specified using the property and the number of rows will be equal to the number of children in the container divided by the number of columns. For example, if the container has 5 children, and 2 columns, there will be 3 rows in the container.
- Notice that grid layout will preserve the columns and rows for every size of the container, and that empty columns will be expanded automatically.
- Note: GridContainer only works with child nodes inheriting from Control. It won't rearrange child nodes inheriting from Node2D.
-
-
-
-
- The number of columns in the . If modified, reorders its Control-derived children to accommodate the new layout.
-
-
-
-
- GridMap lets you place meshes on a grid interactively. It works both from the editor and from scripts, which can help you create in-game level editors.
- GridMaps use a which contains a list of tiles. Each tile is a mesh with materials plus optional collision and navigation shapes.
- A GridMap contains a collection of cells. Each grid cell refers to a tile in the . All cells in the map have the same dimensions.
- Internally, a GridMap is split into a sparse collection of octants for efficient rendering and physics processing. Every octant has the same dimensions and can contain several cells.
-
-
-
-
- Invalid cell item that can be used in to clear cells (or represent an empty cell in ).
-
-
-
-
- The assigned .
-
-
-
-
- The dimensions of the grid's cells.
- This does not affect the size of the meshes. See .
-
-
-
-
- The size of each octant measured in number of cells. This applies to all three axis.
-
-
-
-
- If true, grid items are centered on the X axis.
-
-
-
-
- If true, grid items are centered on the Y axis.
-
-
-
-
- If true, grid items are centered on the Z axis.
-
-
-
-
- The scale of the cell items.
- This does not affect the size of the grid cells themselves, only the items in them. This can be used to make cell items overlap their neighbors.
-
-
-
-
- The physics layers this GridMap is in.
- GridMaps act as static bodies, meaning they aren't affected by gravity or other forces. They only affect other physics bodies that collide with them.
-
-
-
-
- The physics layers this GridMap detects collisions in. See Collision layers and masks in the documentation for more information.
-
-
-
-
- Sets an individual bit on the .
-
-
-
-
- Returns an individual bit on the .
-
-
-
-
- Sets an individual bit on the .
-
-
-
-
- Returns an individual bit on the .
-
-
-
-
- Sets the mesh index for the cell referenced by its grid-based X, Y and Z coordinates.
- A negative item index such as will clear the cell.
- Optionally, the item's orientation can be passed. For valid orientation values, see Basis.get_orthogonal_index.
-
-
-
-
- The item index located at the grid-based X, Y and Z coordinates. If the cell is empty, will be returned.
-
-
-
-
- The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is returned if the cell is empty.
-
-
-
-
- Returns the coordinates of the grid cell containing the given point.
- pos should be in the GridMap's local coordinate space.
-
-
-
-
- Returns the position of a grid cell in the GridMap's local coordinate space.
-
-
-
-
- Clear all cells.
-
-
-
-
- Returns an array of with the non-empty cell coordinates in the grid map.
-
-
-
-
- Returns an array of and references corresponding to the non-empty cells in the grid. The transforms are specified in world space.
-
-
-
-
- Groove constraint for 2D physics. This is useful for making a body "slide" through a segment placed in another.
-
-
-
-
- The groove's length. The groove is from the joint's origin towards along the joint's local Y axis.
-
-
-
-
- The body B's initial anchor position defined by the joint's origin and a local offset along the joint's Y axis (along the groove).
-
-
-
-
- Horizontal box container. See .
-
-
-
-
- Horizontal version of , which goes from left (min) to right (max).
-
-
-
-
- Horizontal separator. See . Even though it looks horizontal, it is used to separate objects vertically.
-
-
-
-
- Horizontal slider. See . This one goes from left (min) to right (max).
- Note: The Range.changed and Range.value_changed signals are part of the class which this class inherits from.
-
-
-
-
- Horizontal split container. See . This goes from left to right.
-
-
-
-
- Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases. See the node for an higher-level alternative.
- Note: This client only needs to connect to a host once (see ) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See for a full example and to get started.
- A should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side.
- For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616).
- Note: When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to CORS. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the Access-Control-Allow-Origin: * HTTP header.
-
-
-
-
- Status: Disconnected from the server.
-
-
-
-
- Status: Currently resolving the hostname for the given URL into an IP.
-
-
-
-
- Status: DNS failure: Can't resolve the hostname for the given URL.
-
-
-
-
- Status: Currently connecting to server.
-
-
-
-
- Status: Can't connect to the server.
-
-
-
-
- Status: Connection established.
-
-
-
-
- Status: Currently sending request.
-
-
-
-
- Status: HTTP body received.
-
-
-
-
- Status: Error in HTTP connection.
-
-
-
-
- Status: Error in SSL handshake.
-
-
-
-
- HTTP GET method. The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.
-
-
-
-
- HTTP HEAD method. The HEAD method asks for a response identical to that of a GET request, but without the response body. This is useful to request metadata like HTTP headers or to check if a resource exists.
-
-
-
-
- HTTP POST method. The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. This is often used for forms and submitting data or uploading files.
-
-
-
-
- HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of POST as "create or update" and PUT as "update", although many services tend to not make a clear distinction or change their meaning).
-
-
-
-
- HTTP DELETE method. The DELETE method requests to delete the specified resource.
-
-
-
-
- HTTP OPTIONS method. The OPTIONS method asks for a description of the communication options for the target resource. Rarely used.
-
-
-
-
- HTTP TRACE method. The TRACE method performs a message loop-back test along the path to the target resource. Returns the entire HTTP request received in the response body. Rarely used.
-
-
-
-
- HTTP CONNECT method. The CONNECT method establishes a tunnel to the server identified by the target resource. Rarely used.
-
-
-
-
- HTTP PATCH method. The PATCH method is used to apply partial modifications to a resource.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- HTTP status code 100 Continue. Interim response that indicates everything so far is OK and that the client should continue with the request (or ignore this status if already finished).
-
-
-
-
- HTTP status code 101 Switching Protocol. Sent in response to an Upgrade request header by the client. Indicates the protocol the server is switching to.
-
-
-
-
- HTTP status code 102 Processing (WebDAV). Indicates that the server has received and is processing the request, but no response is available yet.
-
-
-
-
- HTTP status code 200 OK. The request has succeeded. Default response for successful requests. Meaning varies depending on the request. GET: The resource has been fetched and is transmitted in the message body. HEAD: The entity headers are in the message body. POST: The resource describing the result of the action is transmitted in the message body. TRACE: The message body contains the request message as received by the server.
-
-
-
-
- HTTP status code 201 Created. The request has succeeded and a new resource has been created as a result of it. This is typically the response sent after a PUT request.
-
-
-
-
- HTTP status code 202 Accepted. The request has been received but not yet acted upon. It is non-committal, meaning that there is no way in HTTP to later send an asynchronous response indicating the outcome of processing the request. It is intended for cases where another process or server handles the request, or for batch processing.
-
-
-
-
- HTTP status code 203 Non-Authoritative Information. This response code means returned meta-information set is not exact set as available from the origin server, but collected from a local or a third party copy. Except this condition, 200 OK response should be preferred instead of this response.
-
-
-
-
- HTTP status code 204 No Content. There is no content to send for this request, but the headers may be useful. The user-agent may update its cached headers for this resource with the new ones.
-
-
-
-
- HTTP status code 205 Reset Content. The server has fulfilled the request and desires that the client resets the "document view" that caused the request to be sent to its original state as received from the origin server.
-
-
-
-
- HTTP status code 206 Partial Content. This response code is used because of a range header sent by the client to separate download into multiple streams.
-
-
-
-
- HTTP status code 207 Multi-Status (WebDAV). A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.
-
-
-
-
- HTTP status code 208 Already Reported (WebDAV). Used inside a DAV: propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.
-
-
-
-
- HTTP status code 226 IM Used (WebDAV). The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
-
-
-
-
- HTTP status code 300 Multiple Choice. The request has more than one possible responses and there is no standardized way to choose one of the responses. User-agent or user should choose one of them.
-
-
-
-
- HTTP status code 301 Moved Permanently. Redirection. This response code means the URI of requested resource has been changed. The new URI is usually included in the response.
-
-
-
-
- HTTP status code 302 Found. Temporary redirection. This response code means the URI of requested resource has been changed temporarily. New changes in the URI might be made in the future. Therefore, this same URI should be used by the client in future requests.
-
-
-
-
- HTTP status code 303 See Other. The server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an indirect response to the original request.
-
-
-
-
- HTTP status code 304 Not Modified. A conditional GET or HEAD request has been received and would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.
-
-
-
-
- HTTP status code 305 Use Proxy. Deprecated. Do not use.
-
-
-
-
- HTTP status code 306 Switch Proxy. Deprecated. Do not use.
-
-
-
-
- HTTP status code 307 Temporary Redirect. The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method if it performs an automatic redirection to that URI.
-
-
-
-
- HTTP status code 308 Permanent Redirect. The target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs.
-
-
-
-
- HTTP status code 400 Bad Request. The request was invalid. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, invalid request contents, or deceptive request routing).
-
-
-
-
- HTTP status code 401 Unauthorized. Credentials required. The request has not been applied because it lacks valid authentication credentials for the target resource.
-
-
-
-
- HTTP status code 402 Payment Required. This response code is reserved for future use. Initial aim for creating this code was using it for digital payment systems, however this is not currently used.
-
-
-
-
- HTTP status code 403 Forbidden. The client does not have access rights to the content, i.e. they are unauthorized, so server is rejecting to give proper response. Unlike 401, the client's identity is known to the server.
-
-
-
-
- HTTP status code 404 Not Found. The server can not find requested resource. Either the URL is not recognized or the endpoint is valid but the resource itself does not exist. May also be sent instead of 403 to hide existence of a resource if the client is not authorized.
-
-
-
-
- HTTP status code 405 Method Not Allowed. The request's HTTP method is known by the server but has been disabled and cannot be used. For example, an API may forbid DELETE-ing a resource. The two mandatory methods, GET and HEAD, must never be disabled and should not return this error code.
-
-
-
-
- HTTP status code 406 Not Acceptable. The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request. Used when negotiation content.
-
-
-
-
- HTTP status code 407 Proxy Authentication Required. Similar to 401 Unauthorized, but it indicates that the client needs to authenticate itself in order to use a proxy.
-
-
-
-
- HTTP status code 408 Request Timeout. The server did not receive a complete request message within the time that it was prepared to wait.
-
-
-
-
- HTTP status code 409 Conflict. The request could not be completed due to a conflict with the current state of the target resource. This code is used in situations where the user might be able to resolve the conflict and resubmit the request.
-
-
-
-
- HTTP status code 410 Gone. The target resource is no longer available at the origin server and this condition is likely permanent.
-
-
-
-
- HTTP status code 411 Length Required. The server refuses to accept the request without a defined Content-Length header.
-
-
-
-
- HTTP status code 412 Precondition Failed. One or more conditions given in the request header fields evaluated to false when tested on the server.
-
-
-
-
- HTTP status code 413 Entity Too Large. The server is refusing to process a request because the request payload is larger than the server is willing or able to process.
-
-
-
-
- HTTP status code 414 Request-URI Too Long. The server is refusing to service the request because the request-target is longer than the server is willing to interpret.
-
-
-
-
- HTTP status code 415 Unsupported Media Type. The origin server is refusing to service the request because the payload is in a format not supported by this method on the target resource.
-
-
-
-
- HTTP status code 416 Requested Range Not Satisfiable. None of the ranges in the request's Range header field overlap the current extent of the selected resource or the set of ranges requested has been rejected due to invalid ranges or an excessive request of small or overlapping ranges.
-
-
-
-
- HTTP status code 417 Expectation Failed. The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.
-
-
-
-
- HTTP status code 418 I'm A Teapot. Any attempt to brew coffee with a teapot should result in the error code "418 I'm a teapot". The resulting entity body MAY be short and stout.
-
-
-
-
- HTTP status code 421 Misdirected Request. The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority that are included in the request URI.
-
-
-
-
- HTTP status code 422 Unprocessable Entity (WebDAV). The server understands the content type of the request entity (hence a 415 Unsupported Media Type status code is inappropriate), and the syntax of the request entity is correct (thus a 400 Bad Request status code is inappropriate) but was unable to process the contained instructions.
-
-
-
-
- HTTP status code 423 Locked (WebDAV). The source or destination resource of a method is locked.
-
-
-
-
- HTTP status code 424 Failed Dependency (WebDAV). The method could not be performed on the resource because the requested action depended on another action and that action failed.
-
-
-
-
- HTTP status code 426 Upgrade Required. The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.
-
-
-
-
- HTTP status code 428 Precondition Required. The origin server requires the request to be conditional.
-
-
-
-
- HTTP status code 429 Too Many Requests. The user has sent too many requests in a given amount of time (see "rate limiting"). Back off and increase time between requests or try again later.
-
-
-
-
- HTTP status code 431 Request Header Fields Too Large. The server is unwilling to process the request because its header fields are too large. The request MAY be resubmitted after reducing the size of the request header fields.
-
-
-
-
- HTTP status code 451 Response Unavailable For Legal Reasons. The server is denying access to the resource as a consequence of a legal demand.
-
-
-
-
- HTTP status code 500 Internal Server Error. The server encountered an unexpected condition that prevented it from fulfilling the request.
-
-
-
-
- HTTP status code 501 Not Implemented. The server does not support the functionality required to fulfill the request.
-
-
-
-
- HTTP status code 502 Bad Gateway. The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request. Usually returned by load balancers or proxies.
-
-
-
-
- HTTP status code 503 Service Unavailable. The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. Try again later.
-
-
-
-
- HTTP status code 504 Gateway Timeout. The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request. Usually returned by load balancers or proxies.
-
-
-
-
- HTTP status code 505 HTTP Version Not Supported. The server does not support, or refuses to support, the major version of HTTP that was used in the request message.
-
-
-
-
- HTTP status code 506 Variant Also Negotiates. The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.
-
-
-
-
- HTTP status code 507 Insufficient Storage. The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
-
-
-
-
- HTTP status code 508 Loop Detected. The server terminated an operation because it encountered an infinite loop while processing a request with "Depth: infinity". This status indicates that the entire operation failed.
-
-
-
-
- HTTP status code 510 Not Extended. The policy for accessing the resource has not been met in the request. The server should send back all the information necessary for the client to issue an extended request.
-
-
-
-
- HTTP status code 511 Network Authentication Required. The client needs to authenticate to gain network access.
-
-
-
-
- If true, execution will block until all data is read from the response.
-
-
-
-
- The connection to use for this client.
-
-
-
-
- The size of the buffer used and maximum bytes to read per iteration. See .
-
-
-
-
- Connects to a host. This needs to be done before any requests are sent.
- The host should not have http:// prepended but will strip the protocol identifier if provided.
- If no port is specified (or -1 is used), it is automatically set to 80 for HTTP and 443 for HTTPS (if use_ssl is enabled).
- verify_host will check the SSL identity of the host if set to true.
-
-
-
-
- Sends a raw request to the connected host. The URL parameter is just the part after the host, so for http://somehost.com/index.php, it is index.php.
- Headers are HTTP request headers. For available HTTP methods, see .
- Sends the body data raw, as a byte array and does not encode it in any way.
-
-
-
-
- Sends a request to the connected host. The URL parameter is just the part after the host, so for http://somehost.com/index.php, it is index.php.
- Headers are HTTP request headers. For available HTTP methods, see .
- To create a POST request with query strings to push to the server, do:
-
- var fields = {"username" : "user", "password" : "pass"}
- var query_string = http_client.query_string_from_dict(fields)
- var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(query_string.length())]
- var result = http_client.request(http_client.METHOD_POST, "index.php", headers, query_string)
-
- Note: The request_data parameter is ignored if method is . This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See String.http_escape for an example.
-
-
-
-
- Closes the current connection, allowing reuse of this .
-
-
-
-
- If true, this has a response available.
-
-
-
-
- If true, this has a response that is chunked.
-
-
-
-
- Returns the response's HTTP status code.
-
-
-
-
- Returns the response headers.
-
-
-
-
- Returns all response headers as a Dictionary of structure { "key": "value1; value2" } where the case-sensitivity of the keys and values is kept like the server delivers it. A value is a simple String, this string can have more than one value where "; " is used as separator.
- Example:
-
- {
- "content-length": 12,
- "Content-Type": "application/json; charset=UTF-8",
- }
-
-
-
-
-
- Returns the response's body length.
- Note: Some Web servers may not send a body length. In this case, the value returned will be -1. If using chunked transfer encoding, the body length will also be -1.
-
-
-
-
- Reads one chunk from the response.
-
-
-
-
- Returns a constant. Need to call in order to get status updates.
-
-
-
-
- This needs to be called in order to have any request processed. Check results with .
-
-
-
-
- Generates a GET/POST application/x-www-form-urlencoded style query string from a provided dictionary, e.g.:
-
- var fields = {"username": "user", "password": "pass"}
- var query_string = http_client.query_string_from_dict(fields)
- # Returns "username=user&password=pass"
-
- Furthermore, if a key has a null value, only the key itself is added, without equal sign and value. If the value is an array, for each value in it a pair with the same key is added.
-
- var fields = {"single": 123, "not_valued": null, "multiple": [22, 33, 44]}
- var query_string = http_client.query_string_from_dict(fields)
- # Returns "single=123¬_valued&multiple=22&multiple=33&multiple=44"
-
-
-
-
-
- A node with the ability to send HTTP requests. Uses internally.
- Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP.
- Example of contacting a REST API and printing one of its returned fields:
-
- func _ready():
- # Create an HTTP request node and connect its completion signal.
- var http_request = HTTPRequest.new()
- add_child(http_request)
- http_request.connect("request_completed", self, "_http_request_completed")
-
- # Perform a GET request. The URL below returns JSON as of writing.
- var error = http_request.request("https://httpbin.org/get")
- if error != OK:
- push_error("An error occurred in the HTTP request.")
-
- # Perform a POST request. The URL below returns JSON as of writing.
- # Note: Don't make simultaneous requests using a single HTTPRequest node.
- # The snippet below is provided for reference only.
- var body = {"name": "Godette"}
- var error = http_request.request("https://httpbin.org/post", [], true, HTTPClient.METHOD_POST, body)
- if error != OK:
- push_error("An error occurred in the HTTP request.")
-
-
- # Called when the HTTP request is completed.
- func _http_request_completed(result, response_code, headers, body):
- var response = parse_json(body.get_string_from_utf8())
-
- # Will print the user agent string used by the HTTPRequest node (as recognized by httpbin.org).
- print(response.headers["User-Agent"])
-
- Example of loading and displaying an image using HTTPRequest:
-
- func _ready():
- # Create an HTTP request node and connect its completion signal.
- var http_request = HTTPRequest.new()
- add_child(http_request)
- http_request.connect("request_completed", self, "_http_request_completed")
-
- # Perform the HTTP request. The URL below returns a PNG image as of writing.
- var error = http_request.request("https://via.placeholder.com/512")
- if error != OK:
- push_error("An error occurred in the HTTP request.")
-
-
- # Called when the HTTP request is completed.
- func _http_request_completed(result, response_code, headers, body):
- var image = Image.new()
- var error = image.load_png_from_buffer(body)
- if error != OK:
- push_error("Couldn't load the image.")
-
- var texture = ImageTexture.new()
- texture.create_from_image(image)
-
- # Display the image in a TextureRect node.
- var texture_rect = TextureRect.new()
- add_child(texture_rect)
- texture_rect.texture = texture
-
- Note: When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to CORS. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the Access-Control-Allow-Origin: * HTTP header.
-
-
-
-
- Request successful.
-
-
-
-
- Request failed while connecting.
-
-
-
-
- Request failed while resolving.
-
-
-
-
- Request failed due to connection (read/write) error.
-
-
-
-
- Request failed on SSL handshake.
-
-
-
-
- Request does not have a response (yet).
-
-
-
-
- Request exceeded its maximum size limit, see .
-
-
-
-
- Request failed (currently unused).
-
-
-
-
- HTTPRequest couldn't open the download file.
-
-
-
-
- HTTPRequest couldn't write to the download file.
-
-
-
-
- Request reached its maximum redirect limit, see .
-
-
-
-
- The file to download into. Will output any received file into it.
-
-
-
-
- The size of the buffer used and maximum bytes to read per iteration. See .
- Set this to a higher value (e.g. 65536 for 64 KiB) when downloading large files to achieve better speeds at the cost of memory.
-
-
-
-
- If true, multithreading is used to improve performance.
-
-
-
-
- Maximum allowed size for response bodies.
-
-
-
-
- Maximum number of allowed redirects.
-
-
-
-
- Creates request on the underlying . If there is no configuration errors, it tries to connect using and passes parameters onto .
- Returns if request is successfully created. (Does not imply that the server has responded), if not in the tree, if still processing previous request, if given string is not a valid URL format, or if not using thread and the cannot connect to host.
- Note: The request_data parameter is ignored if method is . This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See String.http_escape for an example.
-
- If the parameter is null, then the default value is new string[] {}
-
-
-
- Cancels the current request.
-
-
-
-
- Returns the current status of the underlying . See .
-
-
-
-
- Returns the amount of bytes this HTTPRequest downloaded.
-
-
-
-
- Returns the response body length.
- Note: Some Web servers may not send a body length. In this case, the value returned will be -1. If using chunked transfer encoding, the body length will also be -1.
-
-
-
-
- The HashingContext class provides an interface for computing cryptographic hashes over multiple iterations. This is useful for example when computing hashes of big files (so you don't have to load them all in memory), network streams, and data streams in general (so you don't have to hold buffers).
- The enum shows the supported hashing algorithms.
-
- const CHUNK_SIZE = 1024
-
- func hash_file(path):
- var ctx = HashingContext.new()
- var file = File.new()
- # Start a SHA-256 context.
- ctx.start(HashingContext.HASH_SHA256)
- # Check that file exists.
- if not file.file_exists(path):
- return
- # Open the file to hash.
- file.open(path, File.READ)
- # Update the context after reading each chunk.
- while not file.eof_reached():
- ctx.update(file.get_buffer(CHUNK_SIZE))
- # Get the computed hash.
- var res = ctx.finish()
- # Print the result as hex string and array.
- printt(res.hex_encode(), Array(res))
-
- Note: Not available in HTML5 exports.
-
-
-
-
- Hashing algorithm: MD5.
-
-
-
-
- Hashing algorithm: SHA-1.
-
-
-
-
- Hashing algorithm: SHA-256.
-
-
-
-
- Starts a new hash computation of the given type (e.g. to start computation of a SHA-256).
-
-
-
-
- Updates the computation with the given chunk of data.
-
-
-
-
- Closes the current context, and return the computed hash.
-
-
-
-
- Height map shape resource, which can be added to a or .
-
-
-
-
- Width of the height map data. Changing this will resize the .
-
-
-
-
- Depth of the height map data. Changing this will resize the .
-
-
-
-
- Height map data, pool array must be of * size.
-
-
-
-
- A HingeJoint normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though.
-
-
-
-
- The speed with which the two bodies get pulled together when they move in different directions.
-
-
-
-
- The maximum rotation. Only active if is true.
-
-
-
-
- The minimum rotation. Only active if is true.
-
-
-
-
- The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
-
-
-
-
- The lower this value, the more the rotation gets slowed down.
-
-
-
-
- Target speed for the motor.
-
-
-
-
- Maximum acceleration for the motor.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If true, the hinges maximum and minimum rotation, defined by and has effects.
-
-
-
-
- When activated, a motor turns the hinge.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The speed with which the two bodies get pulled together when they move in different directions.
-
-
-
-
- If true, the hinges maximum and minimum rotation, defined by and has effects.
-
-
-
-
- The maximum rotation. Only active if is true.
-
-
-
-
- The minimum rotation. Only active if is true.
-
-
-
-
- The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
-
-
-
-
- The lower this value, the more the rotation gets slowed down.
-
-
-
-
- When activated, a motor turns the hinge.
-
-
-
-
- Target speed for the motor.
-
-
-
-
- Maximum acceleration for the motor.
-
-
-
-
- Sets the value of the specified parameter.
-
-
-
-
- Returns the value of the specified parameter.
-
-
-
-
- If true, enables the specified flag.
-
-
-
-
- Returns the value of the specified flag.
-
-
-
-
- IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see and ). IP provides DNS hostname resolution support, both blocking and threaded.
-
-
-
-
- Maximum number of concurrent DNS resolver queries allowed, is returned if exceeded.
-
-
-
-
- Invalid ID constant. Returned if is exceeded.
-
-
-
-
- DNS hostname resolver status: No status.
-
-
-
-
- DNS hostname resolver status: Waiting.
-
-
-
-
- DNS hostname resolver status: Done.
-
-
-
-
- DNS hostname resolver status: Error.
-
-
-
-
- Address type: None.
-
-
-
-
- Address type: Internet protocol version 4 (IPv4).
-
-
-
-
- Address type: Internet protocol version 6 (IPv6).
-
-
-
-
- Address type: Any.
-
-
-
-
- Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the constant given as ip_type.
-
-
-
-
- Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the constant given as ip_type. Returns the queue ID if successful, or on error.
-
-
-
-
- Returns a queued hostname's status as a constant, given its queue id.
-
-
-
-
- Returns a queued hostname's IP address, given its queue id. Returns an empty string on error or if resolution hasn't happened yet (see ).
-
-
-
-
- Removes a given item id from the queue. This should be used to free a queue after it has completed to enable more queries to happen.
-
-
-
-
- Returns all of the user's current IPv4 and IPv6 addresses as an array.
-
-
-
-
- Returns all network adapters as an array.
- Each adapter is a dictionary of the form:
-
- {
- "index": "1", # Interface index.
- "name": "eth0", # Interface name.
- "friendly": "Ethernet One", # A friendly name (might be empty).
- "addresses": ["192.168.1.101"], # An array of IP addresses associated to this interface.
- }
-
-
-
-
-
- Removes all of a hostname's cached references. If no hostname is given, all cached IP addresses are removed.
-
-
-
-
- Native image datatype. Contains image data, which can be converted to a , and several functions to interact with it. The maximum width and height for an are and .
- Note: The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images will fail to import.
-
-
-
-
- The maximal width allowed for resources.
-
-
-
-
- The maximal height allowed for resources.
-
-
-
-
- Image does not have alpha.
-
-
-
-
- Image stores alpha in a single bit.
-
-
-
-
- Image uses alpha.
-
-
-
-
- Source texture (before compression) is a regular texture. Default for all textures.
-
-
-
-
- Source texture (before compression) is in sRGB space.
-
-
-
-
- Source texture (before compression) is a normal texture (e.g. it can be compressed into two channels).
-
-
-
-
- Performs nearest-neighbor interpolation. If the image is resized, it will be pixelated.
-
-
-
-
- Performs bilinear interpolation. If the image is resized, it will be blurry. This mode is faster than , but it results in lower quality.
-
-
-
-
- Performs cubic interpolation. If the image is resized, it will be blurry. This mode often gives better results compared to , at the cost of being slower.
-
-
-
-
- Performs bilinear separately on the two most-suited mipmap levels, then linearly interpolates between them.
- It's slower than , but produces higher-quality results with much less aliasing artifacts.
- If the image does not have mipmaps, they will be generated and used internally, but no mipmaps will be generated on the resulting image.
- Note: If you intend to scale multiple copies of the original image, it's better to call ] on it in advance, to avoid wasting processing power in generating them again and again.
- On the other hand, if the image already has mipmaps, they will be used, and a new set will be generated for the resulting image.
-
-
-
-
- Performs Lanczos interpolation. This is the slowest image resizing mode, but it typically gives the best results, especially when downscalng images.
-
-
-
-
- Use S3TC compression.
-
-
-
-
- Use PVRTC2 compression.
-
-
-
-
- Use PVRTC4 compression.
-
-
-
-
- Use ETC compression.
-
-
-
-
- Use ETC2 compression.
-
-
-
-
- Texture format with a single 8-bit depth representing luminance.
-
-
-
-
- OpenGL texture format with two values, luminance and alpha each stored with 8 bits.
-
-
-
-
- OpenGL texture format RED with a single component and a bitdepth of 8.
-
-
-
-
- OpenGL texture format RG with two components and a bitdepth of 8 for each.
-
-
-
-
- OpenGL texture format RGB with three components, each with a bitdepth of 8.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- OpenGL texture format RGBA with four components, each with a bitdepth of 8.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- OpenGL texture format RGBA with four components, each with a bitdepth of 4.
-
-
-
-
- OpenGL texture format GL_RGB5_A1 where 5 bits of depth for each component of RGB and one bit for alpha.
-
-
-
-
- OpenGL texture format GL_R32F where there's one component, a 32-bit floating-point value.
-
-
-
-
- OpenGL texture format GL_RG32F where there are two components, each a 32-bit floating-point values.
-
-
-
-
- OpenGL texture format GL_RGB32F where there are three components, each a 32-bit floating-point values.
-
-
-
-
- OpenGL texture format GL_RGBA32F where there are four components, each a 32-bit floating-point values.
-
-
-
-
- OpenGL texture format GL_R32F where there's one component, a 16-bit "half-precision" floating-point value.
-
-
-
-
- OpenGL texture format GL_RG32F where there are two components, each a 16-bit "half-precision" floating-point value.
-
-
-
-
- OpenGL texture format GL_RGB32F where there are three components, each a 16-bit "half-precision" floating-point value.
-
-
-
-
- OpenGL texture format GL_RGBA32F where there are four components, each a 16-bit "half-precision" floating-point value.
-
-
-
-
- A special OpenGL texture format where the three color components have 9 bits of precision and all three share a single 5-bit exponent.
-
-
-
-
- The S3TC texture format that uses Block Compression 1, and is the smallest variation of S3TC, only providing 1 bit of alpha and color data being premultiplied with alpha.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- The S3TC texture format that uses Block Compression 2, and color data is interpreted as not having been premultiplied by alpha. Well suited for images with sharp alpha transitions between translucent and opaque areas.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- The S3TC texture format also known as Block Compression 3 or BC3 that contains 64 bits of alpha channel data followed by 64 bits of DXT1-encoded color data. Color data is not premultiplied by alpha, same as DXT3. DXT5 generally produces superior results for transparent gradients compared to DXT3.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- Texture format that uses Red Green Texture Compression, normalizing the red channel data using the same compression algorithm that DXT5 uses for the alpha channel.
-
-
-
-
- Texture format that uses Red Green Texture Compression, normalizing the red and green channel data using the same compression algorithm that DXT5 uses for the alpha channel.
-
-
-
-
- Texture format that uses BPTC compression with unsigned normalized RGBA components.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- Texture format that uses BPTC compression with signed floating-point RGB components.
-
-
-
-
- Texture format that uses BPTC compression with unsigned floating-point RGB components.
-
-
-
-
- Texture format used on PowerVR-supported mobile platforms, uses 2-bit color depth with no alpha. More information can be found here.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- Same as PVRTC2, but with an alpha component.
-
-
-
-
- Similar to PVRTC2, but with 4-bit color depth and no alpha.
-
-
-
-
- Same as PVRTC4, but with an alpha component.
-
-
-
-
- Ericsson Texture Compression format 1, also referred to as "ETC1", and is part of the OpenGL ES graphics standard. This format cannot store an alpha channel.
-
-
-
-
- Ericsson Texture Compression format 2 (R11_EAC variant), which provides one channel of unsigned data.
-
-
-
-
- Ericsson Texture Compression format 2 (SIGNED_R11_EAC variant), which provides one channel of signed data.
-
-
-
-
- Ericsson Texture Compression format 2 (RG11_EAC variant), which provides two channels of unsigned data.
-
-
-
-
- Ericsson Texture Compression format 2 (SIGNED_RG11_EAC variant), which provides two channels of signed data.
-
-
-
-
- Ericsson Texture Compression format 2 (RGB8 variant), which is a follow-up of ETC1 and compresses RGB888 data.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- Ericsson Texture Compression format 2 (RGBA8variant), which compresses RGBA8888 data with full alpha support.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- Ericsson Texture Compression format 2 (RGB8_PUNCHTHROUGH_ALPHA1 variant), which compresses RGBA data to make alpha either fully transparent or fully opaque.
- Note: When creating an , an sRGB to linear color space conversion is performed.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Holds all of the image's color data in a given format. See constants.
-
-
-
-
- Returns the image's width.
-
-
-
-
- Returns the image's height.
-
-
-
-
- Returns the image's size (width and height).
-
-
-
-
- Returns true if the image has generated mipmaps.
-
-
-
-
- Returns the image's format. See constants.
-
-
-
-
- Returns a copy of the image's raw data.
-
-
-
-
- Converts the image's format. See constants.
-
-
-
-
- Returns the offset where the image's mipmap with index mipmap is stored in the data dictionary.
-
-
-
-
- Resizes the image to the nearest power of 2 for the width and height. If square is true then set width and height to be the same.
-
-
-
-
- Resizes the image to the given width and height. New pixels are calculated using interpolation. See interpolation constants.
-
-
-
-
- Shrinks the image by a factor of 2.
-
-
-
-
- Stretches the image and enlarges it by a factor of 2. No interpolation is done.
-
-
-
-
- Crops the image to the given width and height. If the specified size is larger than the current size, the extra area is filled with black pixels.
-
-
-
-
- Flips the image horizontally.
-
-
-
-
- Flips the image vertically.
-
-
-
-
- Generates mipmaps for the image. Mipmaps are pre-calculated and lower resolution copies of the image. Mipmaps are automatically used if the image needs to be scaled down when rendered. This improves image quality and the performance of the rendering. Returns an error if the image is compressed, in a custom format or if the image's width/height is 0.
-
-
-
-
- Removes the image's mipmaps.
-
-
-
-
- Creates an empty image of given size and format. See constants. If use_mipmaps is true then generate mipmaps for this image. See the .
-
-
-
-
- Creates a new image of given size and format. See constants. Fills the image with the given raw data. If use_mipmaps is true then loads mipmaps for this image from data. See .
-
-
-
-
- Returns true if the image has no data.
-
-
-
-
- Loads an image from file path. See Supported image formats for a list of supported image formats and limitations.
-
-
-
-
- Saves the image as a PNG file to path.
-
-
-
-
- Saves the image as an EXR file to path. If grayscale is true and the image has only one channel, it will be saved explicitly as monochrome rather than one red channel. This function will return if Godot was compiled without the TinyEXR module.
-
-
-
-
- Returns if the image has data for alpha values. Returns if all the alpha values are stored in a single bit. Returns if no data for alpha values is found.
-
-
-
-
- Returns true if all the image's pixels have an alpha value of 0. Returns false if any pixel has an alpha value higher than 0.
-
-
-
-
- Compresses the image to use less memory. Can not directly access pixel data while the image is compressed. Returns error if the chosen compression mode is not available. See and constants.
-
-
-
-
- Decompresses the image if it is compressed. Returns an error if decompress function is not available.
-
-
-
-
- Returns true if the image is compressed.
-
-
-
-
- Blends low-alpha pixels with nearby pixels.
-
-
-
-
- Multiplies color values with alpha values. Resulting color values for a pixel are (color * alpha)/256.
-
-
-
-
- Converts the raw data from the sRGB colorspace to a linear scale.
-
-
-
-
- Converts the image's data to represent coordinates on a 3D plane. This is used when the image represents a normalmap. A normalmap can add lots of detail to a 3D surface without increasing the polygon count.
-
-
-
-
- Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image.
-
-
-
-
- Converts a bumpmap to a normalmap. A bumpmap provides a height offset per-pixel, while a normalmap provides a normal direction per pixel.
-
-
-
-
- Copies src_rect from src image to this image at coordinates dst.
-
-
-
-
- Blits src_rect area from src image to this image at the coordinates given by dst. src pixel is copied onto dst if the corresponding mask pixel's alpha value is not 0. src image and mask image must have the same size (width and height) but they can have different formats.
-
-
-
-
- Alpha-blends src_rect from src image to this image at coordinates dest.
-
-
-
-
- Alpha-blends src_rect from src image to this image using mask image at coordinates dst. Alpha channels are required for both src and mask. dst pixels and src pixels will blend if the corresponding mask pixel's alpha value is not 0. src image and mask image must have the same size (width and height) but they can have different formats.
-
-
-
-
- Fills the image with a given .
-
-
-
-
- Returns a enclosing the visible portion of the image, considering each pixel with a non-zero alpha channel as visible.
-
-
-
-
- Returns a new image that is a copy of the image's area specified with rect.
-
-
-
-
- Copies src image to this image.
-
-
-
-
- Locks the data for reading and writing access. Sends an error to the console if the image is not locked when reading or writing a pixel.
-
-
-
-
- Unlocks the data and prevents changes.
-
-
-
-
- Returns the color of the pixel at src if the image is locked. If the image is unlocked, it always returns a with the value (0, 0, 0, 1.0). This is the same as , but with a Vector2 argument instead of two integer arguments.
-
-
-
-
- Returns the color of the pixel at (x, y) if the image is locked. If the image is unlocked, it always returns a with the value (0, 0, 0, 1.0). This is the same as , but two integer arguments instead of a Vector2 argument.
-
-
-
-
- Sets the of the pixel at (dst.x, dst.y) if the image is locked. Note that the dst values must be integers. Example:
-
- var img = Image.new()
- img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
- img.lock()
- img.set_pixelv(Vector2(x, y), color) # Works
- img.unlock()
- img.set_pixelv(Vector2(x, y), color) # Does not have an effect
-
-
-
-
-
- Sets the of the pixel at (x, y) if the image is locked. Example:
-
- var img = Image.new()
- img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
- img.lock()
- img.set_pixel(x, y, color) # Works
- img.unlock()
- img.set_pixel(x, y, color) # Does not have an effect
-
-
-
-
-
- Loads an image from the binary contents of a PNG file.
-
-
-
-
- Loads an image from the binary contents of a JPEG file.
-
-
-
-
- Loads an image from the binary contents of a WebP file.
-
-
-
-
- Loads an image from the binary contents of a TGA file.
-
-
-
-
- A based on an . Can be created from an with .
- Note: The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images will fail to import.
-
-
-
-
- data is stored raw and unaltered.
-
-
-
-
- data is compressed with a lossy algorithm. You can set the storage quality with .
-
-
-
-
- data is compressed with a lossless algorithm.
-
-
-
-
- The storage type (raw, lossy, or compressed).
-
-
-
-
- The storage quality for .
-
-
-
-
- Create a new with width and height.
- format is a value from , flags is any combination of .
-
-
-
-
- Create a new from an with flags from . An sRGB to linear color space conversion can take place, according to .
-
-
-
-
- Returns the format of the , one of .
-
-
-
-
- Load an from a file path.
-
-
-
-
- Sets the of this .
-
-
-
-
- Resizes the to the specified dimensions.
-
-
-
-
- Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x.
- See also , and for procedural geometry generation.
- Note: ImmediateGeometry3D is best suited to small amounts of mesh data that change every frame. It will be slow when handling large amounts of mesh data. If mesh data doesn't change often, use , or instead.
- Note: Godot uses clockwise winding order for front faces of triangle primitive modes.
-
-
-
-
- Begin drawing (and optionally pass a texture override). When done call . For more information on how this works, search for glBegin() and glEnd() references.
- For the type of primitive, see the enum.
-
-
-
-
- The next vertex's normal.
-
-
-
-
- The next vertex's tangent (and binormal facing).
-
-
-
-
- The current drawing color.
-
-
-
-
- The next vertex's UV.
-
-
-
-
- The next vertex's second layer UV.
-
-
-
-
- Adds a vertex in local coordinate space with the currently set color/uv/etc.
-
-
-
-
- Simple helper to draw an UV sphere with given latitude, longitude and radius.
-
-
-
-
- Ends a drawing context and displays the results.
-
-
-
-
- Clears everything that was drawn using begin/end.
-
-
-
-
- A singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the Input Map tab in the Project > Project Settings, or with the class.
-
-
-
-
- Makes the mouse cursor visible if it is hidden.
-
-
-
-
- Makes the mouse cursor hidden if it is visible.
-
-
-
-
- Captures the mouse. The mouse will be hidden and its position locked at the center of the screen.
- Note: If you want to process the mouse's movement in this mode, you need to use .
-
-
-
-
- Makes the mouse cursor visible but confines it to the game window.
-
-
-
-
- Arrow cursor. Standard, default pointing cursor.
-
-
-
-
- I-beam cursor. Usually used to show where the text cursor will appear when the mouse is clicked.
-
-
-
-
- Pointing hand cursor. Usually used to indicate the pointer is over a link or other interactable item.
-
-
-
-
- Cross cursor. Typically appears over regions in which a drawing operation can be performed or for selections.
-
-
-
-
- Wait cursor. Indicates that the application is busy performing an operation. This cursor shape denotes that the application is still usable during the operation.
-
-
-
-
- Busy cursor. Indicates that the application is busy performing an operation. This cursor shape denotes that the application isn't usable during the operation (e.g. something is blocking its main thread).
-
-
-
-
- Drag cursor. Usually displayed when dragging something.
-
-
-
-
- Can drop cursor. Usually displayed when dragging something to indicate that it can be dropped at the current position.
-
-
-
-
- Forbidden cursor. Indicates that the current action is forbidden (for example, when dragging something) or that the control at a position is disabled.
-
-
-
-
- Vertical resize mouse cursor. A double-headed vertical arrow. It tells the user they can resize the window or the panel vertically.
-
-
-
-
- Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
-
-
-
-
- Window resize mouse cursor. The cursor is a double-headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
-
-
-
-
- Window resize mouse cursor. The cursor is a double-headed arrow that goes from the top left to the bottom right, the opposite of . It tells the user they can resize the window or the panel both horizontally and vertically.
-
-
-
-
- Move cursor. Indicates that something can be moved.
-
-
-
-
- Vertical split mouse cursor. On Windows, it's the same as .
-
-
-
-
- Horizontal split mouse cursor. On Windows, it's the same as .
-
-
-
-
- Help cursor. Usually a question mark.
-
-
-
-
- Returns true if you are pressing the key. You can pass a constant.
-
-
-
-
- Returns true if you are pressing the mouse button specified with .
-
-
-
-
- Returns true if you are pressing the joypad button (see ).
-
-
-
-
- Returns true if you are pressing the action event. Note that if an action has multiple buttons assigned and more than one of them is pressed, releasing one button will release the action, even if some other button assigned to this action is still pressed.
-
-
-
-
- Returns true when the user starts pressing the action event, meaning it's true only on the frame that the user pressed down the button.
- This is useful for code that needs to run only once when an action is pressed, instead of every frame while it's pressed.
-
-
-
-
- Returns true when the user stops pressing the action event, meaning it's true only on the frame that the user released the button.
-
-
-
-
- Returns a value between 0 and 1 representing the intensity of the given action. In a joypad, for example, the further away the axis (analog sticks or L2, R2 triggers) is from the dead zone, the closer the value will be to 1. If the action is mapped to a control that has no axis as the keyboard, the value returned will be 0 or 1.
-
-
-
-
- Adds a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.
-
-
-
-
- Removes all mappings from the internal database that match the given GUID.
-
-
-
-
- Notifies the singleton that a connection has changed, to update the state for the device index.
- This is used internally and should not have to be called from user scripts. See joy_connection_changed for the signal emitted when this is triggered internally.
-
-
-
-
- Returns true if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in . Unknown joypads are not expected to match these constants, but you can still retrieve events from them.
-
-
-
-
- Returns the current value of the joypad axis at given index (see ).
-
-
-
-
- Returns the name of the joypad at the specified device index.
-
-
-
-
- Returns a SDL2-compatible device GUID on platforms that use gamepad remapping. Returns "Default Gamepad" otherwise.
-
-
-
-
- Returns an containing the device IDs of all currently connected joypads.
-
-
-
-
- Returns the strength of the joypad vibration: x is the strength of the weak motor, and y is the strength of the strong motor.
-
-
-
-
- Returns the duration of the current vibration effect in seconds.
-
-
-
-
- Receives a gamepad button from and returns its equivalent name as a string.
-
-
-
-
- Returns the index of the provided button name.
-
-
-
-
- Receives a axis and returns its equivalent name as a string.
-
-
-
-
- Returns the index of the provided axis name.
-
-
-
-
- Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely).
- Note: Not every hardware is compatible with long effect durations; it is recommended to restart an effect if it has to be played for more than a few seconds.
-
-
-
-
- Stops the vibration of the joypad.
-
-
-
-
- Vibrate Android and iOS devices.
- Note: It needs VIBRATE permission for Android at export settings. iOS does not support duration.
-
-
-
-
- Returns the gravity of the device's accelerometer, if the device has one. Otherwise, the method returns .
- Note: This method only works on Android and iOS. On other platforms, it always returns .
-
-
-
-
- Returns the acceleration of the device's accelerometer, if the device has one. Otherwise, the method returns .
- Note this method returns an empty when running from the editor even when your device has an accelerometer. You must export your project to a supported device to read values from the accelerometer.
- Note: This method only works on iOS, Android, and UWP. On other platforms, it always returns .
-
-
-
-
- Returns the the magnetic field strength in micro-Tesla for all axes of the device's magnetometer, if the device has one. Otherwise, the method returns .
- Note: This method only works on Android and UWP. On other platforms, it always returns .
-
-
-
-
- Returns the rotation rate in rad/s around a device's X, Y, and Z axes of the gyroscope, if the device has one. Otherwise, the method returns .
- Note: This method only works on Android. On other platforms, it always returns .
-
-
-
-
- Returns the mouse speed for the last time the cursor was moved, and this until the next frame where the mouse moves. This means that even if the mouse is not moving, this function will still return the value of the last motion.
-
-
-
-
- Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time, the bits are added together.
-
-
-
-
- Sets the mouse mode. See the constants for more information.
-
-
-
-
- Returns the mouse mode. See the constants for more information.
-
-
-
-
- Sets the mouse position to the specified vector.
-
-
-
-
- This will simulate pressing the specified action.
- The strength can be used for non-boolean actions, it's ranged between 0 and 1 representing the intensity of the given action.
- Note: This method will not cause any calls. It is intended to be used with and . If you want to simulate _input, use instead.
-
-
-
-
- If the specified action is already pressed, this will release it.
-
-
-
-
- Sets the default cursor shape to be used in the viewport instead of .
- Note: If you want to change the default cursor shape for 's nodes, use instead.
- Note: This method generates an to update cursor immediately.
-
-
-
-
- Returns the currently assigned cursor shape (see ).
-
-
-
-
- Sets a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. Passing null to the image parameter resets to the system cursor. See for the list of shapes.
- image's size must be lower than 256×256.
- hotspot must be within image's size.
- Note: s aren't supported as custom mouse cursors. If using an , only the first frame will be displayed.
- Note: Only images imported with the Lossless, Lossy or Uncompressed compression modes are supported. The Video RAM compression mode can't be used for custom cursors.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Feeds an to the game. Can be used to artificially trigger input events from code. Also generates calls.
- Example:
-
- var a = InputEventAction.new()
- a.action = "ui_cancel"
- a.pressed = true
- Input.parse_input_event(a)
-
-
-
-
-
- Enables or disables the accumulation of similar input events sent by the operating system. When input accumulation is enabled, all input events generated during a frame will be merged and emitted when the frame is done rendering. Therefore, this limits the number of input method calls per second to the rendering FPS.
- Input accumulation is enabled by default. It can be disabled to get slightly more precise/reactive input at the cost of increased CPU usage. In applications where drawing freehand lines is required, input accumulation should generally be disabled while the user is drawing the line to get results that closely follow the actual input.
-
-
-
-
- Base class of all sort of input event. See .
-
-
-
-
- The event's device ID.
- Note: This device ID will always be -1 for emulated mouse input from a touchscreen. This can be used to distinguish emulated mouse input from physical mouse input.
-
-
-
-
- Returns true if this input event matches a pre-defined action of any type.
-
-
-
-
- Returns true if the given action is being pressed (and is not an echo event for events, unless allow_echo is true). Not relevant for events of type or .
-
-
-
-
- Returns true if the given action is released (i.e. not pressed). Not relevant for events of type or .
-
-
-
-
- Returns a value between 0.0 and 1.0 depending on the given actions' state. Useful for getting the value of events of type .
-
-
-
-
- Returns true if this input event is pressed. Not relevant for events of type or .
-
-
-
-
- Returns true if this input event is an echo event (only for events of type ).
-
-
-
-
- Returns a representation of the event.
-
-
-
-
- Returns true if the given input event is checking for the same key (), button () or action ().
-
-
-
-
- Returns true if this input event's type is one that can be assigned to an input action.
-
-
-
-
- Returns true if the given input event and this input event can be added together (only for events of type ).
- The given input event's position, global position and speed will be copied. The resulting relative is a sum of both events. Both events' modifiers have to be identical.
-
-
-
-
- Returns a copy of the given input event which has been offset by local_ofs and transformed by xform. Relevant for events of type , , , , and .
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Contains a generic action which can be targeted from several types of inputs. Actions can be created from the Input Map tab in the Project > Project Settings menu. See .
-
-
-
-
- The action's name. Actions are accessed via this .
-
-
-
-
- If true, the action's state is pressed. If false, the action's state is released.
-
-
-
-
- The action's strength between 0 and 1. This value is considered as equal to 0 if pressed is false. The event strength allows faking analog joypad motion events, by precising how strongly is the joypad axis bent or pressed.
-
-
-
-
- The local gesture position relative to the . If used in , the position is relative to the current that received this gesture.
-
-
-
-
- Input event type for gamepad buttons. For gamepad analog sticks and joysticks, see .
-
-
-
-
- Button identifier. One of the button constants.
-
-
-
-
- Represents the pressure the user puts on the button with his finger, if the controller supports it. Ranges from 0 to 1.
-
-
-
-
- If true, the button's state is pressed. If false, the button's state is released.
-
-
-
-
- Stores information about joystick motions. One represents one axis at a time.
-
-
-
-
- Axis identifier. Use one of the axis constants.
-
-
-
-
- Current position of the joystick on the given axis. The value ranges from -1.0 to 1.0. A value of 0 means the axis is in its resting position.
-
-
-
-
- Stores key presses on the keyboard. Supports key presses, key releases and events.
-
-
-
-
- If true, the key's state is pressed. If false, the key's state is released.
-
-
-
-
- The key scancode, which corresponds to one of the constants.
- To get a human-readable representation of the , use OS.get_scancode_string(event.scancode) where event is the .
-
-
-
-
- The key Unicode identifier (when relevant). Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See for more information.
-
-
-
-
- If true, the key was already pressed before this event. It means the user is holding the key down.
-
-
-
-
- Returns the scancode combined with modifier keys such as Shift or Alt. See also .
- To get a human-readable representation of the with modifiers, use OS.get_scancode_string(event.get_scancode_with_modifiers()) where event is the .
-
-
-
-
- Stores general mouse events information.
-
-
-
-
- The mouse button mask identifier, one of or a bitwise combination of the button masks.
-
-
-
-
- The local mouse position relative to the . If used in , the position is relative to the current which is under the mouse.
-
-
-
-
- The global mouse position relative to the current when used in , otherwise is at 0,0.
-
-
-
-
- Contains mouse click information. See .
-
-
-
-
- The amount (or delta) of the event. When used for high-precision scroll events, this indicates the scroll amount (vertical or horizontal). This is only supported on some platforms; the reported sensitivity varies depending on the platform. May be 0 if not supported.
-
-
-
-
- The mouse button identifier, one of the button or button wheel constants.
-
-
-
-
- If true, the mouse button's state is pressed. If false, the mouse button's state is released.
-
-
-
-
- If true, the mouse button's state is a double-click.
-
-
-
-
- Contains mouse and pen motion information. Supports relative, absolute positions and speed. See .
- Note: By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, call with false to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing Bresenham's line algorithm as well to avoid visible gaps in lines if the user is moving the mouse quickly.
-
-
-
-
- Represents the angles of tilt of the pen. Positive X-coordinate value indicates a tilt to the right. Positive Y-coordinate value indicates a tilt toward the user. Ranges from -1.0 to 1.0 for both axes.
-
-
-
-
- Represents the pressure the user puts on the pen. Ranges from 0.0 to 1.0.
-
-
-
-
- The mouse position relative to the previous position (position at the last frame).
- Note: Since is only emitted when the mouse moves, the last event won't have a relative position of Vector2(0, 0) when the user stops moving the mouse.
-
-
-
-
- The mouse speed in pixels per second.
-
-
-
-
- Contains screen drag information. See .
-
-
-
-
- The drag event index in the case of a multi-drag event.
-
-
-
-
- The drag position.
-
-
-
-
- The drag position relative to its start position.
-
-
-
-
- The drag speed.
-
-
-
-
- Stores multi-touch press/release information. Supports touch press, touch release and for multi-touch count and order.
-
-
-
-
- The touch index in the case of a multi-touch event. One index = one finger.
-
-
-
-
- The touch position.
-
-
-
-
- If true, the touch's state is pressed. If false, the touch's state is released.
-
-
-
-
- Contains keys events information with modifiers support like Shift or Alt. See .
-
-
-
-
- State of the Alt modifier.
-
-
-
-
- State of the Shift modifier.
-
-
-
-
- State of the Ctrl modifier.
-
-
-
-
- State of the Meta modifier.
-
-
-
-
- State of the Command modifier.
-
-
-
-
- Manages all which can be created/modified from the project settings menu Project > Project Settings > Input Map or in code with and . See .
-
-
-
-
- Returns true if the has a registered action with the given name.
-
-
-
-
- Returns an array of all actions in the .
-
-
-
-
- Adds an empty action to the with a configurable deadzone.
- An can then be added to this action with .
-
-
-
-
- Removes an action from the .
-
-
-
-
- Sets a deadzone value for the action.
-
-
-
-
- Adds an to an action. This will trigger the action.
-
-
-
-
- Returns true if the action has the given associated with it.
-
-
-
-
- Removes an from an action.
-
-
-
-
- Removes all events from an action.
-
-
-
-
- Returns an array of s associated with a given action.
-
-
-
-
- Returns true if the given event is part of an existing action. This method ignores keyboard modifiers if the given is not pressed (for proper release detection). See if you don't want this behavior.
-
-
-
-
- Clears all in the and load it anew from .
-
-
-
-
- Turning on the option Load As Placeholder for an instanced scene in the editor causes it to be replaced by an InstancePlaceholder when running the game. This makes it possible to delay actually loading the scene until calling . This is useful to avoid loading large scenes all at once by loading parts of it selectively.
- The InstancePlaceholder does not have a transform. This causes any child nodes to be positioned relatively to the Viewport from point (0,0), rather than their parent as displayed in the editor. Replacing the placeholder with a scene with a transform will transform children relatively to their parent again.
-
-
-
-
- Replaces this placeholder by the scene handed as an argument, or the original scene if no argument is given. As for all resources, the scene is loaded only if it's not loaded already. By manually loading the scene beforehand, delays caused by this function can be avoided.
-
-
-
-
- Gets the path to the resource file that is loaded by default when calling .
-
-
-
-
- Deprecated (will be removed in Godot 4.0). InterpolatedCamera is a which smoothly moves to match a target node's position and rotation.
- If it is not or does not have a valid target set, InterpolatedCamera acts like a normal Camera.
-
-
-
-
- The target's .
-
-
-
-
- How quickly the camera moves toward its target. Higher values will result in tighter camera motion.
-
-
-
-
- If true, and a target is set, the camera will move automatically.
-
-
-
-
- Sets the node to move toward and orient with.
-
-
-
-
- This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list.
- Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing Enter.
- Item text only supports single-line strings, newline characters (e.g. \n) in the string won't produce a newline. Text wrapping is enabled in mode, but column's width is adjusted to fully fit its content by default. You need to set greater than zero to wrap the text.
-
-
-
-
- Only allow selecting a single item.
-
-
-
-
- Allows selecting multiple items by holding Ctrl or Shift.
-
-
-
-
- Icon is drawn above the text.
-
-
-
-
- Icon is drawn to the left of the text.
-
-
-
-
- Allows single or multiple item selection. See the constants.
-
-
-
-
- If true, the currently selected item can be selected again.
-
-
-
-
- If true, right mouse button click can select items.
-
-
-
-
- Maximum lines of text allowed in each item. Space will be reserved even when there is not enough lines of text to display.
- Note: This property takes effect only when is . To make the text wrap, should be greater than zero.
-
-
-
-
- If true, the control will automatically resize the height to fit its content.
-
-
-
-
- Maximum columns the list will have.
- If greater than zero, the content will be split among the specified columns.
- A value of zero means unlimited columns, i.e. all items will be put in the same row.
-
-
-
-
- Whether all columns will have the same width.
- If true, the width is equal to the largest column width of all columns.
-
-
-
-
- The width all columns will be adjusted to.
- A value of zero disables the adjustment, each item will have a width equal to the width of its content and the columns will have an uneven width.
-
-
-
-
- The icon position, whether above or to the left of the text. See the constants.
-
-
-
-
- The scale of icon applied after and transposing takes effect.
-
-
-
-
- The size all icons will be adjusted to.
- If either X or Y component is not greater than zero, icon size won't be affected.
-
-
-
-
- Adds an item to the item list with specified text. Specify an icon, or use null as the icon for a list item with no icon.
- If selectable is true, the list item will be selectable.
-
-
-
-
- Adds an item to the item list with no text, only an icon.
-
-
-
-
- Sets text of the item associated with the specified index.
-
-
-
-
- Returns the text associated with the specified index.
-
-
-
-
- Sets (or replaces) the icon's associated with the specified index.
-
-
-
-
- Returns the icon associated with the specified index.
-
-
-
-
- Sets whether the item icon will be drawn transposed.
-
-
-
-
- Returns true if the item icon will be drawn transposed, i.e. the X and Y axes are swapped.
-
-
-
-
- Sets the region of item's icon used. The whole icon will be used if the region has no area.
-
-
-
-
- Returns the region of item's icon used. The whole icon will be used if the region has no area.
-
-
-
-
- Sets a modulating of the item associated with the specified index.
-
-
-
-
- Returns a modulating item's icon at the specified index.
-
-
-
-
- Allows or disallows selection of the item associated with the specified index.
-
-
-
-
- Returns true if the item at the specified index is selectable.
-
-
-
-
- Disables (or enables) the item at the specified index.
- Disabled items cannot be selected and do not trigger activation signals (when double-clicking or pressing Enter).
-
-
-
-
- Returns true if the item at the specified index is disabled.
-
-
-
-
- Sets a value (of any type) to be stored with the item associated with the specified index.
-
-
-
-
- Returns the metadata value of the specified index.
-
-
-
-
- Sets the background color of the item specified by idx index to the specified .
-
- var some_string = "Some text"
- some_string.set_item_custom_bg_color(0,Color(1, 0, 0, 1) # This will set the background color of the first item of the control to red.
-
-
-
-
-
- Returns the custom background color of the item specified by idx index.
-
-
-
-
- Sets the foreground color of the item specified by idx index to the specified .
-
- var some_string = "Some text"
- some_string.set_item_custom_fg_color(0,Color(1, 0, 0, 1) # This will set the foreground color of the first item of the control to red.
-
-
-
-
-
- Returns the custom foreground color of the item specified by idx index.
-
-
-
-
- Sets whether the tooltip hint is enabled for specified item index.
-
-
-
-
- Returns true if the tooltip is enabled for specified item index.
-
-
-
-
- Sets the tooltip hint for the item associated with the specified index.
-
-
-
-
- Returns the tooltip hint associated with the specified index.
-
-
-
-
- Select the item at the specified index.
- Note: This method does not trigger the item selection signal.
-
-
-
-
- Ensures the item associated with the specified index is not selected.
-
-
-
-
- Ensures there are no items selected.
-
-
-
-
- Returns true if the item at the specified index is currently selected.
-
-
-
-
- Returns an array with the indexes of the selected items.
-
-
-
-
- Moves item from index from_idx to to_idx.
-
-
-
-
- Returns the number of items currently in the list.
-
-
-
-
- Removes the item specified by idx index from the list.
-
-
-
-
- Removes all items from the list.
-
-
-
-
- Sorts items in the list by their text.
-
-
-
-
- Returns true if one or more items are selected.
-
-
-
-
- Returns the item index at the given position.
- When there is no item at that point, -1 will be returned if exact is true, and the closest item index will be returned otherwise.
-
-
-
-
- Ensure current selection is visible, adjusting the scroll position as necessary.
-
-
-
-
- Returns the ID associated with the list.
-
-
-
-
- Returned by , contains the decoded JSON or error information if the JSON source wasn't successfully parsed. You can check if the JSON source was successfully parsed with if json_result.error == OK.
-
-
-
-
- The error type if the JSON source was not successfully parsed. See the constants.
-
-
-
-
- The error message if the JSON source was not successfully parsed. See the constants.
-
-
-
-
- The line number where the error occurred if the JSON source was not successfully parsed.
-
-
-
-
- A Variant containing the parsed JSON. Use @GDScript.typeof or the is keyword to check if it is what you expect. For example, if the JSON source starts with curly braces ({}), a will be returned. If the JSON source starts with brackets ([]), an will be returned.
- Note: The JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to types.
- Note: JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:
-
- var p = JSON.parse('["hello", "world", "!"]')
- if typeof(p.result) == TYPE_ARRAY:
- print(p.result[0]) # Prints "hello"
- else:
- push_error("Unexpected results.")
-
-
-
-
-
- The JavaScript singleton is implemented only in the HTML5 export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
-
-
-
-
- Execute the string code as JavaScript code within the browser window. This is a call to the actual global JavaScript function eval().
- If use_global_execution_context is true, the code will be evaluated in the global execution context. Otherwise, it is evaluated in the execution context of a function within the engine's runtime environment.
-
-
-
-
- Joints are used to bind together two physics bodies. They have a solver priority and can define if the bodies of the two attached nodes should be able to collide with each other.
-
-
-
-
- The node attached to the first side (A) of the joint.
-
-
-
-
- The node attached to the second side (B) of the joint.
-
-
-
-
- The priority used to define which solver is executed first for multiple joints. The lower the value, the higher the priority.
-
-
-
-
- If true, the two bodies of the nodes are not able to collide with each other.
-
-
-
-
- Base node for all joint constraints in 2D physics. Joints take 2 bodies and apply a custom constraint.
-
-
-
-
- The first body attached to the joint. Must derive from .
-
-
-
-
- The second body attached to the joint. Must derive from .
-
-
-
-
- When and move in different directions the bias controls how fast the joint pulls them back to their original position. The lower the bias the more the two bodies can pull on the joint.
-
-
-
-
- If true, and can not collide.
-
-
-
-
- Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses:
- Simulated motion: When these bodies are moved manually, either from code or from an (with set to "physics"), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
- Kinematic characters: KinematicBody also has an API for moving objects (the and methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
-
-
-
-
- Lock the body's X axis movement.
-
-
-
-
- Lock the body's Y axis movement.
-
-
-
-
- Lock the body's Z axis movement.
-
-
-
-
- If the body is at least this close to another body, this body will consider them to be colliding.
-
-
-
-
- Moves the body along the vector rel_vec. The body will stop if it collides. Returns a , which contains information about the collision.
- If test_only is true, the body does not move but the would-be collision information is given.
-
-
-
-
- Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a or , it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
- This method should be used in (or in a method called by ), as it uses the physics step's delta value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.
- linear_velocity is the velocity vector (typically meters per second). Unlike in , you should not multiply it by delta — the physics engine handles applying the velocity.
- up_direction is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of Vector3(0, 0, 0), everything is considered a wall.
- If stop_on_slope is true, body will not slide on slopes when you include gravity in linear_velocity and the body is standing still.
- If the body collides, it will change direction a maximum of max_slides times before it stops.
- floor_max_angle is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
- If infinite_inertia is true, body will be able to push nodes, but it won't also detect any collisions with them. If false, it will interact with nodes like with .
- Returns the linear_velocity vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use .
-
- If the parameter is null, then the default value is new Vector3(0, 0, 0)
-
-
-
- Moves the body while keeping it attached to slopes. Similar to .
- As long as the snap vector is in contact with the ground, the body will remain attached to the surface. This means you must disable snap in order to jump, for example. You can do this by setting snap to (0, 0, 0) or by using instead.
-
- If the parameter is null, then the default value is new Vector3(0, 0, 0)
-
-
-
- Checks for collisions without moving the body. Virtually sets the node's position, scale and rotation to that of the given , then tries to move the body along the vector rel_vec. Returns true if a collision would occur.
-
-
-
-
- Returns true if the body is on the floor. Only updates when calling .
-
-
-
-
- Returns true if the body is on the ceiling. Only updates when calling .
-
-
-
-
- Returns true if the body is on a wall. Only updates when calling .
-
-
-
-
- Returns the surface normal of the floor at the last collision point. Only valid after calling or and when returns true.
-
-
-
-
- Returns the linear velocity of the floor at the last collision point. Only valid after calling or and when returns true.
-
-
-
-
- Locks or unlocks the specified axis depending on the value of lock. See also , and .
-
-
-
-
- Returns true if the specified axis is locked. See also , and .
-
-
-
-
- Returns the number of times the body collided and changed direction during the last call to .
-
-
-
-
- Returns a , which contains information about a collision that occurred during the last call. Since the body can collide several times in a single call to , you must specify the index of the collision in the range 0 to ( - 1).
-
-
-
-
- Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses:
- Simulated motion: When these bodies are moved manually, either from code or from an (with set to "physics"), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
- Kinematic characters: KinematicBody2D also has an API for moving objects (the and methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
-
-
-
-
- If the body is at least this close to another body, this body will consider them to be colliding.
-
-
-
-
- If true, the body's movement will be synchronized to the physics frame. This is useful when animating movement via , for example on moving platforms. Do not use together with or functions.
-
-
-
-
- Moves the body along the vector rel_vec. The body will stop if it collides. Returns a , which contains information about the collision.
- If test_only is true, the body does not move but the would-be collision information is given.
-
-
-
-
- Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a or , it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
- This method should be used in (or in a method called by ), as it uses the physics step's delta value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.
- linear_velocity is the velocity vector in pixels per second. Unlike in , you should not multiply it by delta — the physics engine handles applying the velocity.
- up_direction is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of Vector2(0, 0), everything is considered a wall. This is useful for topdown games.
- If stop_on_slope is true, body will not slide on slopes when you include gravity in linear_velocity and the body is standing still.
- If the body collides, it will change direction a maximum of max_slides times before it stops.
- floor_max_angle is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
- If infinite_inertia is true, body will be able to push nodes, but it won't also detect any collisions with them. If false, it will interact with nodes like with .
- Returns the linear_velocity vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use .
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Moves the body while keeping it attached to slopes. Similar to .
- As long as the snap vector is in contact with the ground, the body will remain attached to the surface. This means you must disable snap in order to jump, for example. You can do this by setting snap to (0, 0) or by using instead.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Checks for collisions without moving the body. Virtually sets the node's position, scale and rotation to that of the given , then tries to move the body along the vector rel_vec. Returns true if a collision would occur.
-
-
-
-
- Returns true if the body is on the floor. Only updates when calling .
-
-
-
-
- Returns true if the body is on the ceiling. Only updates when calling .
-
-
-
-
- Returns true if the body is on a wall. Only updates when calling .
-
-
-
-
- Returns the surface normal of the floor at the last collision point. Only valid after calling or and when returns true.
-
-
-
-
- Returns the linear velocity of the floor at the last collision point. Only valid after calling or and when returns true.
-
-
-
-
- Returns the number of times the body collided and changed direction during the last call to .
-
-
-
-
- Returns a , which contains information about a collision that occurred during the last call. Since the body can collide several times in a single call to , you must specify the index of the collision in the range 0 to ( - 1).
- Example usage:
-
- for i in get_slide_count():
- var collision = get_slide_collision(i)
- print("Collided with: ", collision.collider.name)
-
-
-
-
-
- Contains collision data for collisions. When a is moved using , it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision object is returned.
- This object contains information about the collision, including the colliding object, the remaining motion, and the collision position. This information can be used to calculate a collision response.
-
-
-
-
- The point of collision, in global coordinates.
-
-
-
-
- The colliding body's shape's normal at the point of collision.
-
-
-
-
- The distance the moving object traveled before collision.
-
-
-
-
- The moving object's remaining movement vector.
-
-
-
-
- The moving object's colliding shape.
-
-
-
-
- The colliding body.
-
-
-
-
- The colliding body's unique instance ID. See .
-
-
-
-
- The colliding body's shape.
-
-
-
-
- The colliding shape's index. See .
-
-
-
-
- The colliding object's velocity.
-
-
-
-
- The colliding body's metadata. See .
-
-
-
-
- Contains collision data for collisions. When a is moved using , it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision2D object is returned.
- This object contains information about the collision, including the colliding object, the remaining motion, and the collision position. This information can be used to calculate a collision response.
-
-
-
-
- The point of collision, in global coordinates.
-
-
-
-
- The colliding body's shape's normal at the point of collision.
-
-
-
-
- The distance the moving object traveled before collision.
-
-
-
-
- The moving object's remaining movement vector.
-
-
-
-
- The moving object's colliding shape.
-
-
-
-
- The colliding body.
-
-
-
-
- The colliding body's unique instance ID. See .
-
-
-
-
- The colliding body's shape.
-
-
-
-
- The colliding shape's index. See .
-
-
-
-
- The colliding object's velocity.
-
-
-
-
- The colliding body's metadata. See .
-
-
-
-
- Label displays plain text on the screen. It gives you control over the horizontal and vertical alignment, and can wrap the text inside the node's bounding rectangle. It doesn't support bold, italics or other formatting. For that, use instead.
- Note: Contrarily to most other s, Label's defaults to (i.e. it doesn't react to mouse input events). This implies that a label won't display any configured , unless you change its mouse filter.
-
-
-
-
- Align rows to the left (default).
-
-
-
-
- Align rows centered.
-
-
-
-
- Align rows to the right.
-
-
-
-
- Expand row whitespaces to fit the width.
-
-
-
-
- Align the whole text to the top.
-
-
-
-
- Align the whole text to the center.
-
-
-
-
- Align the whole text to the bottom.
-
-
-
-
- Align the whole text by spreading the rows.
-
-
-
-
- The text to display on screen.
-
-
-
-
- Controls the text's horizontal align. Supports left, center, right, and fill, or justify. Set it to one of the constants.
-
-
-
-
- Controls the text's vertical align. Supports top, center, bottom, and fill. Set it to one of the constants.
-
-
-
-
- If true, wraps the text inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text.
-
-
-
-
- If true, the Label only shows the text that fits inside its bounding rectangle. It also lets you scale the node down freely.
-
-
-
-
- If true, all the text displays as UPPERCASE.
-
-
-
-
- Restricts the number of characters to display. Set to -1 to disable.
-
-
-
-
- Limits the amount of visible characters. If you set percent_visible to 0.5, only up to half of the text's characters will display on screen. Useful to animate the text in a dialog box.
-
-
-
-
- The node ignores the first lines_skipped lines before it starts to display text.
-
-
-
-
- Limits the lines of text the node shows on screen.
-
-
-
-
- Returns the font size in pixels.
-
-
-
-
- Returns the amount of lines of text the Label has.
-
-
-
-
- Returns the number of lines shown. Useful if the 's height cannot currently display all lines.
-
-
-
-
- Returns the total number of printable characters in the text (excluding spaces and newlines).
-
-
-
-
- A capable of storing many smaller textures with offsets.
- You can dynamically add pieces (s) to this using different offsets.
-
-
-
-
- Adds texture to this , starting on offset ofs.
-
-
-
-
- Sets the offset of the piece with the index idx to ofs.
-
-
-
-
- Sets the of the piece with index idx to texture.
-
-
-
-
- Sets the size of this .
-
-
-
-
- Clears the .
-
-
-
-
- Returns the number of pieces currently in this .
-
-
-
-
- Returns the offset of the piece with the index idx.
-
-
-
-
- Returns the of the piece with the index idx.
-
-
-
-
- Light is the abstract base class for light nodes. As it can't be instanced, it shouldn't be used directly. Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
-
-
-
-
- Light is ignored when baking.
- Note: Hiding a light does not affect baking.
-
-
-
-
- Only indirect lighting will be baked (default).
-
-
-
-
- Both direct and indirect light will be baked.
- Note: You should hide the light if you don't want it to appear twice (dynamic and baked).
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing or .
-
-
-
-
- Constant for accessing or .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Constant for accessing .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The light's color. An overbright color can be used to achieve a result equivalent to increasing the light's .
-
-
-
-
- The light's strength multiplier (this is not a physical unit). For and , changing this value will only change the light color's intensity, not the light's radius.
-
-
-
-
- Secondary multiplier used with indirect light (light bounces). This works on both and .
-
-
-
-
- If true, the light's effect is reversed, darkening areas and casting bright shadows.
-
-
-
-
- The intensity of the specular blob in objects affected by the light. At 0, the light becomes a pure diffuse light. When not baking emission, this can be used to avoid unrealistic reflections when placing lights above an emissive surface.
-
-
-
-
- The light's bake mode. See .
-
-
-
-
- The light will affect objects in the selected layers.
-
-
-
-
- If true, the light will cast shadows.
-
-
-
-
- The color of shadows cast by this light.
-
-
-
-
- Used to adjust shadow appearance. Too small a value results in self-shadowing ("shadow acne"), while too large a value causes shadows to separate from casters ("peter-panning"). Adjust as needed.
-
-
-
-
- Attempts to reduce gap.
-
-
-
-
- If true, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with .
-
-
-
-
- If true, the light only appears in the editor and will not be visible at runtime.
-
-
-
-
- Sets the value of the specified parameter.
-
-
-
-
- Returns the value of the specified parameter.
-
-
-
-
- Casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related).
- Note: Light2D can also be used as a mask.
-
-
-
-
- No filter applies to the shadow map. See .
-
-
-
-
- Percentage closer filtering (3 samples) applies to the shadow map. See .
-
-
-
-
- Percentage closer filtering (5 samples) applies to the shadow map. See .
-
-
-
-
- Percentage closer filtering (7 samples) applies to the shadow map. See .
-
-
-
-
- Percentage closer filtering (9 samples) applies to the shadow map. See .
-
-
-
-
- Percentage closer filtering (13 samples) applies to the shadow map. See .
-
-
-
-
- Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light.
-
-
-
-
- Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.
-
-
-
-
- Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.
-
-
-
-
- The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture.
-
-
-
-
- If true, Light2D will emit light.
-
-
-
-
- If true, Light2D will only appear when editing the scene.
-
-
-
-
- used for the Light2D's appearance.
-
-
-
-
- The offset of the Light2D's texture.
-
-
-
-
- The texture's scale factor.
-
-
-
-
- The Light2D's .
-
-
-
-
- The Light2D's energy value. The larger the value, the stronger the light.
-
-
-
-
- The Light2D's mode. See constants for values.
-
-
-
-
- The height of the Light2D. Used with 2D normal mapping.
-
-
-
-
- Minimum z value of objects that are affected by the Light2D.
-
-
-
-
- Maximum z value of objects that are affected by the Light2D.
-
-
-
-
- Minimum layer value of objects that are affected by the Light2D.
-
-
-
-
- Maximum layer value of objects that are affected by the Light2D.
-
-
-
-
- The layer mask. Only objects with a matching mask will be affected by the Light2D.
-
-
-
-
- If true, the Light2D will cast shadows.
-
-
-
-
- of shadows cast by the Light2D.
-
-
-
-
- Shadow buffer size.
-
-
-
-
- Smooth shadow gradient length.
-
-
-
-
- Shadow filter type. See for possible values.
-
-
-
-
- Smoothing value for shadows.
-
-
-
-
- The shadow mask. Used with to cast shadows. Only occluders with a matching light mask will cast shadows.
-
-
-
-
- Occludes light cast by a Light2D, casting shadows. The LightOccluder2D must be provided with an in order for the shadow to be computed.
-
-
-
-
- The used to compute the shadow.
-
-
-
-
- The LightOccluder2D's light mask. The LightOccluder2D will cast shadows only from Light2D(s) that have the same light mask(s).
-
-
-
-
- A line through several points in 2D space.
- Note: By default, Godot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase and .
-
-
-
-
- Takes the left pixels of the texture and renders it over the whole line.
-
-
-
-
- Tiles the texture over the line. The texture must be imported with Repeat enabled for it to work properly.
-
-
-
-
- Stretches the texture across the line. Import the texture with Repeat disabled for best results.
-
-
-
-
- Don't draw a line cap.
-
-
-
-
- Draws the line cap as a box.
-
-
-
-
- Draws the line cap as a circle.
-
-
-
-
- The line's joints will be pointy. If sharp_limit is greater than the rotation of a joint, it becomes a bevel joint instead.
-
-
-
-
- The line's joints will be bevelled/chamfered.
-
-
-
-
- The line's joints will be rounded.
-
-
-
-
- The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.
-
-
-
-
- The line's width.
-
-
-
-
- The line's width varies with the curve. The original width is simply multiply by the value of the Curve.
-
-
-
-
- The line's color. Will not be used if a gradient is set.
-
-
-
-
- The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set.
-
-
-
-
- The texture used for the line's texture. Uses texture_mode for drawing style.
-
-
-
-
- The style to render the texture on the line. Use constants.
-
-
-
-
- The style for the points between the start and the end.
-
-
-
-
- Controls the style of the line's first point. Use constants.
-
-
-
-
- Controls the style of the line's last point. Use constants.
-
-
-
-
- The direction difference in radians between vector points. This value is only used if joint mode is set to .
-
-
-
-
- The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round.
-
-
-
-
- If true, the line's border will be anti-aliased.
-
-
-
-
- Overwrites the position in point i with the supplied position.
-
-
-
-
- Returns point i's position.
-
-
-
-
- Returns the Line2D's amount of points.
-
-
-
-
- Adds a point at the position. Appends the point at the end of the line.
- If at_position is given, the point is inserted before the point number at_position, moving that point (and every point after) after the inserted point. If at_position is not given, or is an illegal value (at_position < 0 or at_position >= [method get_point_count]), the point will be appended at the end of the point list.
-
-
-
-
- Removes the point at index i from the line.
-
-
-
-
- Removes all points from the line.
-
-
-
-
- LineEdit provides a single-line string editor, used for text fields.
- It features many built-in shortcuts which will always be available (Ctrl here maps to Command on macOS):
- - Ctrl + C: Copy
- - Ctrl + X: Cut
- - Ctrl + V or Ctrl + Y: Paste/"yank"
- - Ctrl + Z: Undo
- - Ctrl + Shift + Z: Redo
- - Ctrl + U: Delete text from the cursor position to the beginning of the line
- - Ctrl + K: Delete text from the cursor position to the end of the line
- - Ctrl + A: Select all text
- - Up/Down arrow: Move the cursor to the beginning/end of the line
- On macOS, some extra keyboard shortcuts are available:
- - Ctrl + F: Like the right arrow key, move the cursor one character right
- - Ctrl + B: Like the left arrow key, move the cursor one character left
- - Ctrl + P: Like the up arrow key, move the cursor to the previous line
- - Ctrl + N: Like the down arrow key, move the cursor to the next line
- - Ctrl + D: Like the Delete key, delete the character on the right side of cursor
- - Ctrl + H: Like the Backspace key, delete the character on the left side of the cursor
- - Command + Left arrow: Like the Home key, move the cursor to the beginning of the line
- - Command + Right arrow: Like the End key, move the cursor to the end of the line
-
-
-
-
- Aligns the text on the left-hand side of the .
-
-
-
-
- Centers the text in the middle of the .
-
-
-
-
- Aligns the text on the right-hand side of the .
-
-
-
-
- Stretches whitespaces to fit the 's width.
-
-
-
-
- Cuts (copies and clears) the selected text.
-
-
-
-
- Copies the selected text.
-
-
-
-
- Pastes the clipboard text over the selected text (or at the cursor's position).
- Non-printable escape characters are automatically stripped from the OS clipboard via String.strip_escapes.
-
-
-
-
- Erases the whole text.
-
-
-
-
- Selects the whole text.
-
-
-
-
- Undoes the previous action.
-
-
-
-
- Reverse the last undo action.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- String value of the .
- Note: Changing text using this property won't emit the text_changed signal.
-
-
-
-
- Text alignment as defined in the enum.
-
-
-
-
- Maximum amount of characters that can be entered inside the . If 0, there is no limit.
-
-
-
-
- If false, existing text cannot be modified and new text cannot be added.
-
-
-
-
- If true, every character is replaced with the secret character (see ).
-
-
-
-
- The character to use to mask secret input (defaults to "*"). Only a single character can be used as the secret character.
-
-
-
-
- If true, the width will increase to stay longer than the . It will not compress if the is shortened.
-
-
-
-
- If true, the context menu will appear when right-clicked.
-
-
-
-
- If true, the native virtual keyboard is shown when focused on platforms that support it.
-
-
-
-
- If true, the will show a clear button if text is not empty, which can be used to clear the text quickly.
-
-
-
-
- If false, using shortcuts will be disabled.
-
-
-
-
- If false, it's impossible to select the text using mouse nor keyboard.
-
-
-
-
- Sets the icon that will appear in the right end of the if there's no , or always, if is set to false.
-
-
-
-
- Text shown when the is empty. It is not the 's default value (see ).
-
-
-
-
- Opacity of the . From 0 to 1.
-
-
-
-
- If true, the caret (visual cursor) blinks.
-
-
-
-
- Duration (in seconds) of a caret's blinking cycle.
-
-
-
-
- The cursor's position inside the . When set, the text may scroll to accommodate it.
-
-
-
-
- Erases the 's .
-
-
-
-
- Selects characters inside between from and to. By default, from is at the beginning and to at the end.
-
- text = "Welcome"
- select() # Will select "Welcome".
- select(4) # Will select "ome".
- select(2, 5) # Will select "lco".
-
-
-
-
-
- Selects the whole .
-
-
-
-
- Clears the current selection.
-
-
-
-
- Adds text after the cursor. If the resulting value is longer than , nothing happens.
-
-
-
-
- Deletes one character at the cursor's current position (equivalent to pressing the Delete key).
-
-
-
-
- Deletes a section of the going from position from_column to to_column. Both parameters should be within the text's length.
-
-
-
-
- Executes a given action as defined in the enum.
-
-
-
-
- Returns the of this . By default, this menu is displayed when right-clicking on the .
-
-
-
-
- Line shape for 2D collisions. It works like a 2D plane and will not allow any physics body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
-
-
-
-
- The line's normal.
-
-
-
-
- The line's distance from the origin.
-
-
-
-
- This kind of button is primarily used when the interaction with the button causes a context change (like linking to a web page).
-
-
-
-
- The LinkButton will always show an underline at the bottom of its text.
-
-
-
-
- The LinkButton will show an underline at the bottom of its text when the mouse cursor is over it.
-
-
-
-
- The LinkButton will never show an underline at the bottom of its text.
-
-
-
-
- The button's text that will be displayed inside the button's area.
-
-
-
-
- Determines when to show the underline. See for options.
-
-
-
-
- Once added to the scene tree and enabled using , this node will override the location sounds are heard from. This can be used to listen from a location different from the .
- Note: There is no 2D equivalent for this node yet.
-
-
-
-
- Enables the listener. This will override the current camera's listener.
-
-
-
-
- Disables the listener to use the current camera's listener instead.
-
-
-
-
- Returns true if the listener was made current using , false otherwise.
- Note: There may be more than one Listener marked as "current" in the scene tree, but only the one that was made current last will be used.
-
-
-
-
- Returns the listener's global orthonormalized .
-
-
-
-
- is the abstract base class for a Godot project's game loop. It is inherited by , which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own subclass instead of the scene tree.
- Upon the application start, a implementation must be provided to the OS; otherwise, the application will exit. This happens automatically (and a is created) unless a main is provided from the command line (with e.g. godot -s my_loop.gd, which should then be a implementation.
- Here is an example script implementing a simple :
-
- extends MainLoop
-
- var time_elapsed = 0
- var keys_typed = []
- var quit = false
-
- func _initialize():
- print("Initialized:")
- print(" Starting time: %s" % str(time_elapsed))
-
- func _idle(delta):
- time_elapsed += delta
- # Return true to end the main loop.
- return quit
-
- func _input_event(event):
- # Record keys.
- if event is InputEventKey and event.pressed and !event.echo:
- keys_typed.append(OS.get_scancode_string(event.scancode))
- # Quit on Escape press.
- if event.scancode == KEY_ESCAPE:
- quit = true
- # Quit on any mouse click.
- if event is InputEventMouseButton:
- quit = true
-
- func _finalize():
- print("Finalized:")
- print(" End time: %s" % str(time_elapsed))
- print(" Keys typed: %s" % var2str(keys_typed))
-
-
-
-
-
- Notification received from the OS when the mouse enters the game window.
- Implemented on desktop and web platforms.
-
-
-
-
- Notification received from the OS when the mouse leaves the game window.
- Implemented on desktop and web platforms.
-
-
-
-
- Notification received from the OS when the game window is focused.
- Implemented on all platforms.
-
-
-
-
- Notification received from the OS when the game window is unfocused.
- Implemented on all platforms.
-
-
-
-
- Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4).
- Implemented on desktop platforms.
-
-
-
-
- Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android).
- Specific to the Android platform.
-
-
-
-
- Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus).
- No supported platforms currently send this notification.
-
-
-
-
- Notification received from the OS when the application is exceeding its allocated memory.
- Specific to the iOS platform.
-
-
-
-
- Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like .
-
-
-
-
- Notification received from the OS when a request for "About" information is sent.
- Specific to the macOS platform.
-
-
-
-
- Notification received from Godot's crash handler when the engine is about to crash.
- Implemented on desktop platforms if the crash handler is enabled.
-
-
-
-
- Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
- Specific to the macOS platform.
-
-
-
-
- Notification received from the OS when the app is resumed.
- Specific to the Android platform.
-
-
-
-
- Notification received from the OS when the app is paused.
- Specific to the Android platform.
-
-
-
-
- Called when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated.
-
-
-
-
- Called before the program exits.
-
-
-
-
- Called when the user performs an action in the system global menu (e.g. the Mac OS menu bar).
-
-
-
-
- Called each idle frame with the time since the last idle frame as argument (in seconds). Equivalent to .
- If implemented, the method must return a boolean value. true ends the main loop, while false lets it proceed to the next frame.
-
-
-
-
- Called once during initialization.
-
-
-
-
- Called whenever an is received by the main loop.
-
-
-
-
- Deprecated callback, does not do anything. Use to parse text input. Will be removed in Godot 4.0.
-
-
-
-
- Called each physics frame with the time since the last physics frame as argument (in seconds). Equivalent to .
- If implemented, the method must return a boolean value. true ends the main loop, while false lets it proceed to the next frame.
-
-
-
-
- Should not be called manually, override instead. Will be removed in Godot 4.0.
-
-
-
-
- Should not be called manually, override instead. Will be removed in Godot 4.0.
-
-
-
-
- Should not be called manually, override instead. Will be removed in Godot 4.0.
-
-
-
-
- Should not be called manually, override instead. Will be removed in Godot 4.0.
-
-
-
-
- Should not be called manually, override instead. Will be removed in Godot 4.0.
-
-
-
-
- Should not be called manually, override instead. Will be removed in Godot 4.0.
-
-
-
-
- Adds a top, left, bottom, and right margin to all nodes that are direct children of the container. To control the 's margin, use the margin_* theme properties listed below.
- Note: Be careful, margin values are different than the constant margin values. If you want to change the custom margin values of the by code, you should use the following examples:
-
- var margin_value = 100
- set("custom_constants/margin_top", margin_value)
- set("custom_constants/margin_left", margin_value)
- set("custom_constants/margin_bottom", margin_value)
- set("custom_constants/margin_right", margin_value)
-
-
-
-
-
- Material is a base used for coloring and shading geometry. All materials inherit from it and almost all derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here.
-
-
-
-
- Maximum value for the parameter.
-
-
-
-
- Minimum value for the parameter.
-
-
-
-
- Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.
- Note: this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).
-
-
-
-
- Sets the to be used for the next pass. This renders the object again using a different material.
- Note: only applies to s and s with type "Spatial".
-
-
-
-
- Special button that brings up a when clicked.
- New items can be created inside this using get_popup().add_item("My Item Name"). You can also create them directly from the editor. To do so, select the node, then in the toolbar at the top of the 2D editor, click Items then click Add in the popup. You will be able to give each items new properties.
-
-
-
-
- If true, when the cursor hovers above another within the same parent which also has switch_on_hover enabled, it will close the current and open the other one.
-
-
-
-
- Returns the contained in this button.
-
-
-
-
- If true, shortcuts are disabled and cannot be used to trigger the button.
-
-
-
-
- Mesh is a type of that contains vertex array-based geometry, divided in surfaces. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is preferred to a single surface, because objects created in 3D editing software commonly contain multiple materials.
-
-
-
-
- Blend shapes are normalized.
-
-
-
-
- Blend shapes are relative to base weight.
-
-
-
-
- Render array as points (one vertex equals one point).
-
-
-
-
- Render array as lines (every two vertices a line is created).
-
-
-
-
- Render array as line strip.
-
-
-
-
- Render array as line loop (like line strip, but closed).
-
-
-
-
- Render array as triangles (every three vertices a triangle is created).
-
-
-
-
- Render array as triangle strips.
-
-
-
-
- Render array as triangle fans.
-
-
-
-
- Mesh array contains vertices. All meshes require a vertex array so this should always be present.
-
-
-
-
- Mesh array contains normals.
-
-
-
-
- Mesh array contains tangents.
-
-
-
-
- Mesh array contains colors.
-
-
-
-
- Mesh array contains UVs.
-
-
-
-
- Mesh array contains second UV.
-
-
-
-
- Mesh array contains bones.
-
-
-
-
- Mesh array contains bone weights.
-
-
-
-
- Mesh array uses indices.
-
-
-
-
- Used internally to calculate other ARRAY_COMPRESS_* enum values. Do not use.
-
-
-
-
- Flag used to mark a compressed (half float) vertex array.
-
-
-
-
- Flag used to mark a compressed (half float) normal array.
-
-
-
-
- Flag used to mark a compressed (half float) tangent array.
-
-
-
-
- Flag used to mark a compressed (half float) color array.
-
-
-
-
- Flag used to mark a compressed (half float) UV coordinates array.
-
-
-
-
- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
-
-
-
-
- Flag used to mark a compressed bone array.
-
-
-
-
- Flag used to mark a compressed (half float) weight array.
-
-
-
-
- Flag used to mark a compressed index array.
-
-
-
-
- Flag used to mark that the array contains 2D vertices.
-
-
-
-
- Flag used to mark that the array uses 16-bit bones instead of 8-bit.
-
-
-
-
- Used to set flags , , , , , and quickly.
-
-
-
-
- Array of vertices.
-
-
-
-
- Array of normals.
-
-
-
-
- Array of tangents as an array of floats, 4 floats per tangent.
-
-
-
-
- Array of colors.
-
-
-
-
- Array of UV coordinates.
-
-
-
-
- Array of second set of UV coordinates.
-
-
-
-
- Array of bone data.
-
-
-
-
- Array of weights.
-
-
-
-
- Array of indices.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Sets a hint to be used for lightmap resolution in . Overrides .
-
-
-
-
- Returns the smallest enclosing this mesh in local space. Not affected by custom_aabb. See also .
- Note: This is only implemented for and .
-
-
-
-
- Returns the amount of surfaces that the holds.
-
-
-
-
- Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see ).
-
-
-
-
- Returns the blend shape arrays for the requested surface.
-
-
-
-
- Sets a for a given surface. Surface will be rendered using this material.
-
-
-
-
- Returns a in a given surface. Surface is rendered using this material.
-
-
-
-
- Calculate a from the mesh.
-
-
-
-
- Calculate a from the mesh.
-
-
-
-
- Calculate an outline mesh at a defined offset (margin) from the original mesh.
- Note: This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise).
-
-
-
-
- Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle.
-
-
-
-
- Generate a from the mesh.
-
-
-
-
- MeshDataTool provides access to individual vertices in a . It allows users to read and edit vertex data of meshes. It also creates an array of faces and edges.
- To use MeshDataTool, load a mesh with . When you are finished editing the data commit the data to a mesh with .
- Below is an example of how MeshDataTool may be used.
-
- var mdt = MeshDataTool.new()
- mdt.create_from_surface(mesh, 0)
- for i in range(mdt.get_vertex_count()):
- var vertex = mdt.get_vertex(i)
- ...
- mdt.set_vertex(i, vertex)
- mesh.surface_remove(0)
- mdt.commit_to_surface(mesh)
-
- See also , and for procedural geometry generation.
- Note: Godot uses clockwise winding order for front faces of triangle primitive modes.
-
-
-
-
- Clears all data currently in MeshDataTool.
-
-
-
-
- Uses specified surface of given to populate data for MeshDataTool.
- Requires with primitive type .
-
-
-
-
- Adds a new surface to specified with edited data.
-
-
-
-
- Returns the 's format. Format is an integer made up of format flags combined together. For example, a mesh containing both vertices and normals would return a format of 3 because is 1 and is 2.
- See for a list of format flags.
-
-
-
-
- Returns the total number of vertices in .
-
-
-
-
- Returns the number of edges in this .
-
-
-
-
- Returns the number of faces in this .
-
-
-
-
- Sets the position of the given vertex.
-
-
-
-
- Returns the vertex at given index.
-
-
-
-
- Sets the normal of the given vertex.
-
-
-
-
- Returns the normal of the given vertex.
-
-
-
-
- Sets the tangent of the given vertex.
-
-
-
-
- Returns the tangent of the given vertex.
-
-
-
-
- Sets the UV of the given vertex.
-
-
-
-
- Returns the UV of the given vertex.
-
-
-
-
- Sets the UV2 of the given vertex.
-
-
-
-
- Returns the UV2 of the given vertex.
-
-
-
-
- Sets the color of the given vertex.
-
-
-
-
- Returns the color of the given vertex.
-
-
-
-
- Sets the bones of the given vertex.
-
-
-
-
- Returns the bones of the given vertex.
-
-
-
-
- Sets the bone weights of the given vertex.
-
-
-
-
- Returns bone weights of the given vertex.
-
-
-
-
- Sets the metadata associated with the given vertex.
-
-
-
-
- Returns the metadata associated with the given vertex.
-
-
-
-
- Returns an array of edges that share the given vertex.
-
-
-
-
- Returns an array of faces that share the given vertex.
-
-
-
-
- Returns index of specified vertex connected to given edge.
- Vertex argument can only be 0 or 1 because edges are comprised of two vertices.
-
-
-
-
- Returns array of faces that touch given edge.
-
-
-
-
- Sets the metadata of the given edge.
-
-
-
-
- Returns meta information assigned to given edge.
-
-
-
-
- Returns the specified vertex of the given face.
- Vertex argument must be 2 or less because faces contain three vertices.
-
-
-
-
- Returns specified edge associated with given face.
- Edge argument must 2 or less because a face only has three edges.
-
-
-
-
- Sets the metadata of the given face.
-
-
-
-
- Returns the metadata associated with the given face.
-
-
-
-
- Calculates and returns the face normal of the given face.
-
-
-
-
- Sets the material to be used by newly-constructed .
-
-
-
-
- Returns the material assigned to the .
-
-
-
-
- MeshInstance is a node that takes a resource and adds it to the current scenario by creating an instance of it. This is the class most often used to get 3D geometry rendered and can be used to instance a single in many places. This allows to reuse geometry and save on resources. When a has to be instanced more than thousands of times at close proximity, consider using a in a instead.
-
-
-
-
- The resource for the instance.
-
-
-
-
- Sets the skin to be used by this instance.
-
-
-
-
- to the associated with the instance.
-
-
-
-
- Returns the number of surface materials.
-
-
-
-
- Sets the for a surface of the resource.
-
-
-
-
- Returns the for a surface of the resource.
-
-
-
-
- This helper creates a child node with a collision shape calculated from the mesh geometry. It's mainly used for testing.
-
-
-
-
- This helper creates a child node with a collision shape calculated from the mesh geometry. It's mainly used for testing.
-
-
-
-
- This helper creates a child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing.
-
-
-
-
- Node used for displaying a in 2D. Can be constructed from an existing via a tool in the editor toolbar. Select "Sprite" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D".
-
-
-
-
- The that will be drawn by the .
-
-
-
-
- The that will be used if using the default . Can be accessed as TEXTURE in CanvasItem shader.
-
-
-
-
- The normal map that will be used if using the default .
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- A library of meshes. Contains a list of resources, each with a name and ID. Each item can also include collision and navigation shapes. This resource is used in .
-
-
-
-
- Creates a new item in the library with the given ID.
- You can get an unused ID from .
-
-
-
-
- Sets the item's name.
- This name is shown in the editor. It can also be used to look up the item later using .
-
-
-
-
- Sets the item's mesh.
-
-
-
-
- Sets the item's navigation mesh.
-
-
-
-
- Sets the transform to apply to the item's navigation mesh.
-
-
-
-
- Sets an item's collision shapes.
- The array should consist of objects, each followed by a that will be applied to it. For shapes that should not have a transform, use .
-
-
-
-
- Sets a texture to use as the item's preview icon in the editor.
-
-
-
-
- Returns the item's name.
-
-
-
-
- Returns the item's mesh.
-
-
-
-
- Returns the item's navigation mesh.
-
-
-
-
- Returns the transform applied to the item's navigation mesh.
-
-
-
-
- Returns an item's collision shapes.
- The array consists of each followed by its .
-
-
-
-
- When running in the editor, returns a generated item preview (a 3D rendering in isometric perspective). When used in a running project, returns the manually-defined item preview which can be set using . Returns an empty if no preview was manually set in a running project.
-
-
-
-
- Removes the item.
-
-
-
-
- Returns the first item with the given name.
-
-
-
-
- Clears the library.
-
-
-
-
- Returns the list of item IDs in use.
-
-
-
-
- Gets an unused ID for a new item.
-
-
-
-
- Simple texture that uses a mesh to draw itself. It's limited because flags can't be changed and region drawing is not supported.
-
-
-
-
- Sets the mesh used to draw. It must be a mesh using 2D vertices.
-
-
-
-
- Sets the base texture that the Mesh will use to draw.
-
-
-
-
- Sets the size of the image, needed for reference.
-
-
-
-
- This is a generic mobile VR implementation where you need to provide details about the phone and HMD used. It does not rely on any existing framework. This is the most basic interface we have. For the best effect, you need a mobile phone with a gyroscope and accelerometer.
- Note that even though there is no positional tracking, the camera will assume the headset is at a height of 1.85 meters. You can change this by setting .
- You can initialise this interface as follows:
-
- var interface = ARVRServer.find_interface("Native mobile")
- if interface and interface.initialize():
- get_viewport().arvr = true
-
-
-
-
-
- The height at which the camera is placed in relation to the ground (i.e. node).
-
-
-
-
- The interocular distance, also known as the interpupillary distance. The distance between the pupils of the left and right eye.
-
-
-
-
- The width of the display in centimeters.
-
-
-
-
- The distance between the display and the lenses inside of the device in centimeters.
-
-
-
-
- The oversample setting. Because of the lens distortion we have to render our buffers at a higher resolution then the screen can natively handle. A value between 1.5 and 2.0 often provides good results but at the cost of performance.
-
-
-
-
- The k1 lens factor is one of the two constants that define the strength of the lens used and directly influences the lens distortion effect.
-
-
-
-
- The k2 lens factor, see k1.
-
-
-
-
- MultiMesh provides low-level mesh instancing. Drawing thousands of nodes can be slow, since each object is submitted to the GPU then drawn individually.
- MultiMesh is much faster as it can draw thousands of instances with a single draw call, resulting in less API overhead.
- As a drawback, if the instances are too far away of each other, performance may be reduced as every single instance will always rendered (they are spatially indexed as one, for the whole object).
- Since instances may have any behavior, the AABB used for visibility must be provided by the user.
-
-
-
-
- Use this when using 2D transforms.
-
-
-
-
- Use this when using 3D transforms.
-
-
-
-
- Use when you are not using per-instance custom data.
-
-
-
-
- Compress custom_data into 8 bits when passing to shader. This uses less memory and can be faster, but loses precision and range. Floats packed into 8 bits can only represent values between 0 and 1, numbers outside that range will be clamped.
-
-
-
-
- The passed into will use 4 floats. Use this for highest precision.
-
-
-
-
- Use when you are not using per-instance s.
-
-
-
-
- Compress data into 8 bits when passing to shader. This uses less memory and can be faster, but the loses precision.
-
-
-
-
- The passed into will use 4 floats. Use this for highest precision .
-
-
-
-
- Format of colors in color array that gets passed to shader.
-
-
-
-
- Format of transform used to transform mesh, either 2D or 3D.
-
-
-
-
- Format of custom data in custom data array that gets passed to shader.
-
-
-
-
- Number of instances that will get drawn. This clears and (re)sizes the buffers. By default, all instances are drawn but you can limit this with .
-
-
-
-
- Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers.
-
-
-
-
- Mesh to be drawn.
-
-
-
-
- Sets the for a specific instance.
-
-
-
-
- Sets the for a specific instance.
-
-
-
-
- Returns the of a specific instance.
-
-
-
-
- Returns the of a specific instance.
-
-
-
-
- Sets the color of a specific instance.
- For the color to take effect, ensure that is non-null on the and is true on the material.
-
-
-
-
- Gets a specific instance's color.
-
-
-
-
- Sets custom data for a specific instance. Although is used, it is just a container for 4 floating point numbers. The format of the number can change depending on the used.
-
-
-
-
- Returns the custom data that has been set for a specific instance.
-
-
-
-
- Sets all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.
- All data is packed in one large float array. An array may look like this: Transform for instance 1, color data for instance 1, custom data for instance 1, transform for instance 2, color data for instance 2, etc...
- is stored as 12 floats, is stored as 8 floats, COLOR_8BIT / CUSTOM_DATA_8BIT is stored as 1 float (4 bytes as is) and COLOR_FLOAT / CUSTOM_DATA_FLOAT is stored as 4 floats.
-
-
-
-
- Returns the visibility axis-aligned bounding box in local space. See also .
-
-
-
-
- is a specialized node to instance s based on a resource.
- This is useful to optimize the rendering of a high amount of instances of a given mesh (for example trees in a forest or grass strands).
-
-
-
-
- The resource that will be used and shared among all instances of the .
-
-
-
-
- is a specialized node to instance a resource in 2D.
- Usage is the same as .
-
-
-
-
- The that will be drawn by the .
-
-
-
-
- The that will be used if using the default . Can be accessed as TEXTURE in CanvasItem shader.
-
-
-
-
- The normal map that will be used if using the default .
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- This class implements most of the logic behind the high-level multiplayer API.
- By default, has a reference to this class that is used to provide multiplayer capabilities (i.e. RPC/RSET) across the whole scene.
- It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the property, effectively allowing to run both client and server in the same scene.
-
-
-
-
- Used with or to disable a method or property for all RPC calls, making it unavailable. Default for all methods.
-
-
-
-
- Used with or to set a method to be called or a property to be changed only on the remote end, not locally. Analogous to the remote keyword. Calls and property changes are accepted from all remote peers, no matter if they are node's master or puppets.
-
-
-
-
- Used with or to set a method to be called or a property to be changed only on the network master for this node. Analogous to the master keyword. Only accepts calls or property changes from the node's network puppets, see .
-
-
-
-
- Used with or to set a method to be called or a property to be changed only on puppets for this node. Analogous to the puppet keyword. Only accepts calls or property changes from the node's network master, see .
-
-
-
-
- Deprecated. Use instead. Analogous to the slave keyword.
-
-
-
-
- Behave like but also make the call or property change locally. Analogous to the remotesync keyword.
-
-
-
-
- Deprecated. Use instead. Analogous to the sync keyword.
-
-
-
-
- Behave like but also make the call or property change locally. Analogous to the mastersync keyword.
-
-
-
-
- Behave like but also make the call or property change locally. Analogous to the puppetsync keyword.
-
-
-
-
- If true (or if the has set to true), the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs.
- Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
-
-
-
-
- If true, the MultiplayerAPI's refuses new incoming connections.
-
-
-
-
- The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with ) and will set root node's network mode to master, or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.
-
-
-
-
- Sets the base root node to use for RPCs. Instead of an absolute path, a relative path will be used to find the node upon which the RPC should be executed.
- This effectively allows to have different branches of the scene tree to be managed by different MultiplayerAPI, allowing for example to run both client and server in the same scene.
-
-
-
-
- Sends the given raw bytes to a specific peer identified by id (see ). Default ID is 0, i.e. broadcast to all peers.
-
-
-
-
- Returns true if there is a set.
-
-
-
-
- Returns the unique peer ID of this MultiplayerAPI's .
-
-
-
-
- Returns true if this MultiplayerAPI's is in server mode (listening for connections).
-
-
-
-
- Returns the sender's peer ID for the RPC currently being executed.
- Note: If not inside an RPC this method will return 0.
-
-
-
-
- Method used for polling the MultiplayerAPI. You only need to worry about this if you are using override or you set to false. By default, will poll its MultiplayerAPI for you.
- Note: This method results in RPCs and RSETs being called, so they will be executed in the same context of this function (e.g. _process, physics, ).
-
-
-
-
- Clears the current MultiplayerAPI network state (you shouldn't call this unless you know what you are doing).
-
-
-
-
- Returns the peer IDs of all connected peers of this MultiplayerAPI's .
-
-
-
-
- Returns the documentation string that was previously set with godot_nativescript_set_class_documentation.
-
-
-
-
- Returns the documentation string that was previously set with godot_nativescript_set_method_documentation.
-
-
-
-
- Returns the documentation string that was previously set with godot_nativescript_set_signal_documentation.
-
-
-
-
- Returns the documentation string that was previously set with godot_nativescript_set_property_documentation.
-
-
-
-
- Constructs a new object of the base type with a script of this type already attached.
- Note: Any arguments passed to this function will be ignored and not passed to the native constructor function. This will change with in a future API extension.
-
-
-
-
- Provides navigation and pathfinding within a collection of es. By default, these will be automatically collected from child nodes, but they can also be added on the fly with . In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on.
-
-
-
-
- Defines which direction is up. By default, this is (0, 1, 0), which is the world's "up" direction.
-
-
-
-
- Adds a . Returns an ID for use with or . If given, a is applied to the polygon. The optional owner is used as return value for .
-
-
-
-
- Sets the transform applied to the with the given ID.
-
-
-
-
- Removes the with the given ID.
-
-
-
-
- Returns the path between two given points. Points are in local coordinate space. If optimize is true (the default), the agent properties associated with each (radius, height, etc.) are considered in the path calculation, otherwise they are ignored.
-
-
-
-
- Returns the navigation point closest to the given line segment. When enabling use_collision, only considers intersection points between segment and navigation meshes. If multiple intersection points are found, the one closest to the segment start point is returned.
-
-
-
-
- Returns the navigation point closest to the point given. Points are in local coordinate space.
-
-
-
-
- Returns the surface normal at the navigation point closest to the point given. Useful for rotating a navigation agent according to the navigation mesh it moves on.
-
-
-
-
- Returns the owner of the which contains the navigation point closest to the point given. This is usually a . For meshes added via , returns the owner that was given (or null if the owner parameter was omitted).
-
-
-
-
- Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of resources. By default, these are automatically collected from child nodes, but they can also be added on the fly with .
-
-
-
-
- Adds a . Returns an ID for use with or . If given, a is applied to the polygon. The optional owner is used as return value for .
-
-
-
-
- Sets the transform applied to the with the given ID.
-
-
-
-
- Removes the with the given ID.
-
-
-
-
- Returns the path between two given points. Points are in local coordinate space. If optimize is true (the default), the path is smoothed by merging path segments where possible.
-
-
-
-
- Returns the navigation point closest to the point given. Points are in local coordinate space.
-
-
-
-
- Returns the owner of the which contains the navigation point closest to the point given. This is usually a . For polygons added via , returns the owner that was given (or null if the owner parameter was omitted).
-
-
-
-
- There are two ways to create polygons. Either by using the method, or using the method.
- Using :
-
- var polygon = NavigationPolygon.new()
- var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
- polygon.add_outline(outline)
- polygon.make_polygons_from_outlines()
- $NavigationPolygonInstance.navpoly = polygon
-
- Using and indices of the vertices array.
-
- var polygon = NavigationPolygon.new()
- var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
- polygon.set_vertices(vertices)
- var indices = PoolIntArray(0, 3, 1)
- polygon.add_polygon(indices)
- $NavigationPolygonInstance.navpoly = polygon
-
-
-
-
-
- Sets the vertices that can be then indexed to create polygons with the method.
-
-
-
-
- Returns a containing all the vertices being used to create the polygons.
-
-
-
-
- Adds a polygon using the indices of the vertices you get when calling .
-
-
-
-
- Returns the count of all polygons.
-
-
-
-
- Returns a containing the indices of the vertices of a created polygon.
-
-
-
-
- Clears the array of polygons, but it doesn't clear the array of outlines and vertices.
-
-
-
-
- Appends a that contains the vertices of an outline to the internal array that contains all the outlines. You have to call in order for this array to be converted to polygons that the engine will use.
-
-
-
-
- Adds a that contains the vertices of an outline to the internal array that contains all the outlines at a fixed position. You have to call in order for this array to be converted to polygons that the engine will use.
-
-
-
-
- Returns the number of outlines that were created in the editor or by script.
-
-
-
-
- Changes an outline created in the editor or by script. You have to call for the polygons to update.
-
-
-
-
- Returns a containing the vertices of an outline that was created in the editor or by script.
-
-
-
-
- Removes an outline created in the editor or by script. You have to call for the polygons to update.
-
-
-
-
- Clears the array of the outlines, but it doesn't clear the vertices and the polygons that were created by them.
-
-
-
-
- Creates polygons from the outlines added in the editor or by script.
-
-
-
-
- A PacketPeer implementation that should be passed to after being initialized as either a client or server. Events can then be handled by connecting to signals.
-
-
-
-
- No compression. This uses the most bandwidth, but has the upside of requiring the fewest CPU resources.
-
-
-
-
- ENet's built-in range encoding.
-
-
-
-
- FastLZ compression. This option uses less CPU resources compared to , at the expense of using more bandwidth.
-
-
-
-
- Zlib compression. This option uses less bandwidth compared to , at the expense of using more CPU resources.
-
-
-
-
- Zstandard compression.
-
-
-
-
- The compression method used for network packets. These have different tradeoffs of compression speed versus bandwidth, you may need to test which one works best for your use case if you use compression at all.
-
-
-
-
- Set the default channel to be used to transfer data. By default, this value is -1 which means that ENet will only use 2 channels: one for reliable packets, and one for unreliable packets. The channel 0 is reserved and cannot be used. Setting this member to any value between 0 and (excluded) will force ENet to use that channel for sending data. See for more information about ENet channels.
-
-
-
-
- The number of channels to be used by ENet. Channels are used to separate different kinds of data. In reliable or ordered mode, for example, the packet delivery order is ensured on a per-channel basis. This is done to combat latency and reduces ordering restrictions on packets. The delivery status of a packet in one channel won't stall the delivery of other packets in another channel.
-
-
-
-
- Enforce ordered packets when using (thus behaving similarly to ). This is the only way to use ordering with the RPC system.
-
-
-
-
- Enable or disable the server feature that notifies clients of other peers' connection/disconnection, and relays messages between them. When this option is false, clients won't be automatically notified of other peers and won't be able to send them packets through the server.
-
-
-
-
- Enable or disable certiticate verification when true.
-
-
-
-
- When enabled, the client or server created by this peer, will use instead of raw UDP sockets for communicating with the remote peer. This will make the communication encrypted with DTLS at the cost of higher resource usage and potentially larger packet size.
- Note: When creating a DTLS server, make sure you setup the key/certificate pair via and . For DTLS clients, have a look at the option, and configure the certificate accordingly via .
-
-
-
-
- Create server that listens to connections via port. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use . The default IP is the wildcard "*", which listens on all available interfaces. max_clients is the maximum number of clients that are allowed at once, any number up to 4095 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see . Returns if a server was created, if this NetworkedMultiplayerENet instance already has an open connection (in which case you need to call first) or if the server could not be created.
-
-
-
-
- Create client that connects to a server at address using specified port. The given address needs to be either a fully qualified domain name (e.g. "www.example.com") or an IP address in IPv4 or IPv6 format (e.g. "192.168.1.1"). The port is the port the server is listening on. The in_bandwidth and out_bandwidth parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns if a client was created, if this NetworkedMultiplayerENet instance already has an open connection (in which case you need to call first) or if the client could not be created. If client_port is specified, the client will also listen to the given port; this is useful for some NAT traversal techniques.
-
-
-
-
- Closes the connection. Ignored if no connection is currently established. If this is a server it tries to notify all clients before forcibly disconnecting them. If this is a client it simply closes the connection to the server.
-
-
-
-
- Disconnect the given peer. If "now" is set to true, the connection will be closed immediately without flushing queued messages.
-
-
-
-
- The IP used when creating a server. This is set to the wildcard "*" by default, which binds to all available interfaces. The given IP needs to be in IPv4 or IPv6 address format, for example: "192.168.1.1".
-
-
-
-
- Configure the to use when is true. Remember to also call to setup your .
-
-
-
-
- Configure the to use when is true. For servers, you must also setup the via .
-
-
-
-
- Returns the IP address of the given peer.
-
-
-
-
- Returns the remote port of the given peer.
-
-
-
-
- Returns the channel of the next packet that will be retrieved via .
-
-
-
-
- Returns the channel of the last packet fetched via .
-
-
-
-
- Manages the connection to network peers. Assigns unique IDs to each client connected to the server.
-
-
-
-
- Packets are sent to the server and then redistributed to other peers.
-
-
-
-
- Packets are sent to the server alone.
-
-
-
-
- The ongoing connection disconnected.
-
-
-
-
- A connection attempt is ongoing.
-
-
-
-
- The connection attempt succeeded.
-
-
-
-
- Packets are not acknowledged, no resend attempts are made for lost packets. Packets may arrive in any order. Potentially faster than . Use for non-critical data, and always consider whether the order matters.
-
-
-
-
- Packets are not acknowledged, no resend attempts are made for lost packets. Packets are received in the order they were sent in. Potentially faster than . Use for non-critical data or data that would be outdated if received late due to resend attempt(s) anyway, for example movement and positional data.
-
-
-
-
- Packets must be received and resend attempts should be made until the packets are acknowledged. Packets must be received in the order they were sent in. Most reliable transfer mode, but potentially the slowest due to the overhead. Use for critical data that must be transmitted and arrive in order, for example an ability being triggered or a chat message. Consider carefully if the information really is critical, and use sparingly.
-
-
-
-
- If true, this refuses new connections.
-
-
-
-
- The manner in which to send packets to the target_peer. See .
-
-
-
-
- Sets the peer to which packets will be sent.
- The id can be one of: to send to all connected peers, to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. By default, the target peer is .
-
-
-
-
- Returns the ID of the who sent the most recent packet.
-
-
-
-
- Waits up to 1 second to receive a new network event.
-
-
-
-
- Returns the current state of the connection. See .
-
-
-
-
- Returns the ID of this .
-
-
-
-
- Also known as 9-slice panels, NinePatchRect produces clean panels of any size, based on a small texture. To do so, it splits the texture in a 3×3 grid. When you scale the node, it tiles the texture's sides horizontally or vertically, the center on both axes but it doesn't scale or tile the corners.
-
-
-
-
- Doesn't do anything at the time of writing.
-
-
-
-
- Doesn't do anything at the time of writing.
-
-
-
-
- Doesn't do anything at the time of writing.
-
-
-
-
- The node's texture resource.
-
-
-
-
- If true, draw the panel's center. Else, only draw the 9-slice's borders.
-
-
-
-
- Rectangular region of the texture to sample from. If you're working with an atlas, use this property to define the area the 9-slice should use. All other properties are relative to this one. If the rect is empty, NinePatchRect will use the whole texture.
-
-
-
-
- The height of the 9-slice's left column.
-
-
-
-
- The height of the 9-slice's top row.
-
-
-
-
- The height of the 9-slice's right column.
-
-
-
-
- The height of the 9-slice's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
-
-
-
-
- Doesn't do anything at the time of writing.
-
-
-
-
- Doesn't do anything at the time of writing.
-
-
-
-
- Sets the size of the margin identified by the given constant to value in pixels.
-
-
-
-
- Returns the size of the margin identified by the given constant.
-
-
-
-
- A 2D game object, with a transform (position, rotation, and scale). All 2D nodes, including physics objects and sprites, inherit from Node2D. Use Node2D as a parent node to move, scale and rotate children in a 2D project. Also gives control of the node's render order.
-
-
-
-
- Position, relative to the node's parent.
-
-
-
-
- Rotation in radians, relative to the node's parent.
-
-
-
-
- Rotation in degrees, relative to the node's parent.
-
-
-
-
- The node's scale. Unscaled value: (1, 1).
-
-
-
-
- Local .
-
-
-
-
- Global position.
-
-
-
-
- Global rotation in radians.
-
-
-
-
- Global rotation in degrees.
-
-
-
-
- Global scale.
-
-
-
-
- Global .
-
-
-
-
- Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.
-
-
-
-
- If true, the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.
-
-
-
-
- Applies a rotation to the node, in radians, starting from its current rotation.
-
-
-
-
- Applies a local translation on the node's X axis based on the 's delta. If scaled is false, normalizes the movement.
-
-
-
-
- Applies a local translation on the node's Y axis based on the 's delta. If scaled is false, normalizes the movement.
-
-
-
-
- Translates the node by the given offset in local coordinates.
-
-
-
-
- Adds the offset vector to the node's global position.
-
-
-
-
- Multiplies the current scale by the ratio vector.
-
-
-
-
- Rotates the node so it points towards the point, which is expected to use global coordinates.
-
-
-
-
- Returns the angle between the node and the point in radians.
-
-
-
-
- Transforms the provided global position into a position in local coordinate space. The output will be local relative to the it is called on. e.g. It is appropriate for determining the positions of child nodes, but it is not appropriate for determining its own position relative to its parent.
-
-
-
-
- Transforms the provided local position into a position in global coordinate space. The input is expected to be local relative to the it is called on. e.g. Applying this method to the positions of child nodes will correctly transform their positions into the global coordinate space, but applying it to a node's own position will give an incorrect result, as it will incorporate the node's own transformation into its global position.
-
-
-
-
- Returns the relative to this node's parent.
-
-
-
-
- Uses an to fill the texture data. You can specify the texture size but keep in mind that larger textures will take longer to generate and seamless noise only works with square sized textures.
- NoiseTexture can also generate normalmap textures.
- The class uses s to generate the texture data internally, so may return null if the generation process has not completed yet. In that case, you need to wait for the texture to be generated before accessing the data:
-
- var texture = preload("res://noise.tres")
- yield(texture, "changed")
- var image = texture.get_data()
-
-
-
-
-
- Width of the generated texture.
-
-
-
-
- Height of the generated texture.
-
-
-
-
- Whether the texture can be tiled without visible seams or not. Seamless textures take longer to generate.
-
-
-
-
- If true, the resulting texture contains a normal map created from the original noise interpreted as a bump map.
-
-
-
-
- Strength of the bump maps used in this texture. A higher value will make the bump maps appear larger while a lower value will make them appear softer.
-
-
-
-
- The instance used to generate the noise.
-
-
-
-
- Editor facility that helps you draw a 2D polygon used as resource for .
-
-
-
-
- Culling is disabled. See .
-
-
-
-
- Culling is performed in the clockwise direction. See .
-
-
-
-
- Culling is performed in the counterclockwise direction. See .
-
-
-
-
- If true, closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction.
-
-
-
-
- The culling mode to use.
-
-
-
-
- A array with the index for polygon's vertices positions.
- Note: The returned value is a copy of the underlying array, rather than a reference.
-
-
-
-
- An Omnidirectional light is a type of that emits light in all directions. The light is attenuated by distance and this attenuation can be configured by changing its energy, radius, and attenuation parameters.
-
-
-
-
- Shadows are rendered to a dual-paraboloid texture. Faster than , but lower-quality.
-
-
-
-
- Shadows are rendered to a cubemap. Slower than , but higher-quality.
-
-
-
-
- Use more detail vertically when computing the shadow.
-
-
-
-
- Use more detail horizontally when computing the shadow.
-
-
-
-
- The light's radius. Note that the effectively lit area may appear to be smaller depending on the in use. No matter the in use, the light will never reach anything outside this radius.
-
-
-
-
- The light's attenuation (drop-off) curve. A number of presets are available in the Inspector by right-clicking the curve.
-
-
-
-
- See .
-
-
-
-
- See .
-
-
-
-
- This resource allows you to configure and sample a fractal noise space. Here is a brief usage example that configures an OpenSimplexNoise and gets samples at various positions and dimensions:
-
- var noise = OpenSimplexNoise.new()
-
- # Configure
- noise.seed = randi()
- noise.octaves = 4
- noise.period = 20.0
- noise.persistence = 0.8
-
- # Sample
- print("Values:")
- print(noise.get_noise_2d(1.0, 1.0))
- print(noise.get_noise_3d(0.5, 3.0, 15.0))
- print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
-
-
-
-
-
- Seed used to generate random values, different seeds will generate different noise maps.
-
-
-
-
- Number of OpenSimplex noise layers that are sampled to get the fractal noise. Higher values result in more detailed noise but take more time to generate.
- Note: The maximum allowed value is 9.
-
-
-
-
- Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
-
-
-
-
- Contribution factor of the different octaves. A persistence value of 1 means all the octaves have the same contribution, a value of 0.5 means each octave contributes half as much as the previous one.
-
-
-
-
- Difference in period between .
-
-
-
-
- Generate a noise image with the requested width and height, based on the current noise parameters.
-
-
-
-
- Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square (size × size).
-
-
-
-
- Returns the 1D noise value [-1,1] at the given x-coordinate.
- Note: This method actually returns the 2D noise value [-1,1] with fixed y-coordinate value 0.0.
-
-
-
-
- Returns the 2D noise value [-1,1] at the given position.
-
-
-
-
- Returns the 3D noise value [-1,1] at the given position.
-
-
-
-
- Returns the 4D noise value [-1,1] at the given position.
-
-
-
-
- Returns the 2D noise value [-1,1] at the given position.
-
-
-
-
- Returns the 3D noise value [-1,1] at the given position.
-
-
-
-
- OptionButton is a type button that provides a selectable list of items when pressed. The item selected becomes the "current" item and is displayed as the button text.
-
-
-
-
- The index of the currently selected item, or -1 if no item is selected.
-
-
-
-
- Adds an item, with text label and (optionally) id. If no id is passed, the item index will be used as the item's ID. New items are appended at the end.
-
-
-
-
- Adds an item, with a texture icon, text label and (optionally) id. If no id is passed, the item index will be used as the item's ID. New items are appended at the end.
-
-
-
-
- Sets the text of the item at index idx.
-
-
-
-
- Sets the icon of the item at index idx.
-
-
-
-
- Sets whether the item at index idx is disabled.
- Disabled items are drawn differently in the dropdown and are not selectable by the user. If the current selected item is set as disabled, it will remain selected.
-
-
-
-
- Sets the ID of the item at index idx.
-
-
-
-
- Sets the metadata of an item. Metadata may be of any type and can be used to store extra information about an item, such as an external string ID.
-
-
-
-
- Returns the text of the item at index idx.
-
-
-
-
- Returns the icon of the item at index idx.
-
-
-
-
- Returns the ID of the item at index idx.
-
-
-
-
- Returns the index of the item with the given id.
-
-
-
-
- Retrieves the metadata of an item. Metadata may be any type and can be used to store extra information about an item, such as an external string ID.
-
-
-
-
- Returns true if the item at index idx is disabled.
-
-
-
-
- Returns the amount of items in the OptionButton, including separators.
-
-
-
-
- Adds a separator to the list of items. Separators help to group items. Separator also takes up an index and is appended at the end.
-
-
-
-
- Clears all the items in the .
-
-
-
-
- Selects an item by index and makes it the current item. This will work even if the item is disabled.
-
-
-
-
- Returns the ID of the selected item, or 0 if no item is selected.
-
-
-
-
- Gets the metadata of the selected item. Metadata for items can be set using .
-
-
-
-
- Removes the item at index idx.
-
-
-
-
- Returns the contained in this button.
-
-
-
-
- The is used to create packages that can be loaded into a running project using .
-
- var packer = PCKPacker.new()
- packer.pck_start("test.pck")
- packer.add_file("res://text.txt", "text.txt")
- packer.flush()
-
- The above creates package test.pck, then adds a file named text.txt at the root of the package.
-
-
-
-
- Creates a new PCK file with the name pck_name. The .pck file extension isn't added automatically, so it should be part of pck_name (even though it's not required).
-
-
-
-
- Adds the source_path file to the current PCK package at the pck_path internal path (should start with res://).
-
-
-
-
- Writes the files specified using all calls since the last flush. If verbose is true, a list of files added will be printed to the console for easier debugging.
-
-
-
-
- Optimized translation. Uses real-time compressed translations, which results in very small dictionaries.
-
-
-
-
- Generates and sets an optimized translation from the given resource.
-
-
-
-
- A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
- Can be used to save a node to a file. When saving, the node as well as all the node it owns get saved (see owner property on ).
- Note: The node doesn't need to own itself.
- Example of loading a saved scene:
-
- # Use `load()` instead of `preload()` if the path isn't known at compile-time.
- var scene = preload("res://scene.tscn").instance()
- # Add the node as a child of the node the script is attached to.
- add_child(scene)
-
- Example of saving a node with different owners: The following example creates 3 objects: Node2D (node), RigidBody2D (rigid) and CollisionObject2D (collision). collision is a child of rigid which is a child of node. Only rigid is owned by node and pack will therefore only save those two nodes, but not collision.
-
- # Create the objects.
- var node = Node2D.new()
- var rigid = RigidBody2D.new()
- var collision = CollisionShape2D.new()
-
- # Create the object hierarchy.
- rigid.add_child(collision)
- node.add_child(rigid)
-
- # Change owner of `rigid`, but not of `collision`.
- rigid.owner = node
-
- var scene = PackedScene.new()
- # Only `node` and `rigid` are now packed.
- var result = scene.pack(node)
- if result == OK:
- var error = ResourceSaver.save("res://path/name.scn", scene) # Or "user://..."
- if error != OK:
- push_error("An error occurred while saving the scene to disk.")
-
-
-
-
-
- If passed to , blocks edits to the scene state.
-
-
-
-
- If passed to , provides local scene resources to the local scene.
- Note: Only available in editor builds.
-
-
-
-
- If passed to , provides local scene resources to the local scene. Only the main scene should receive the main edit state.
- Note: Only available in editor builds.
-
-
-
-
- A dictionary representation of the scene contents.
- Available keys include "rnames" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for base scene children overrides, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene.
-
-
-
-
- Pack will ignore any sub-nodes not owned by given node. See .
-
-
-
-
- Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers a notification on the root node.
-
-
-
-
- Returns true if the scene file has nodes.
-
-
-
-
- Returns the SceneState representing the scene file contents.
-
-
-
-
- PacketPeer is an abstraction and base class for packet-based protocols (such as UDP). It provides an API for sending and receiving packets both as raw data or variables. This makes it easy to transfer data over a protocol, without having to encode data as low-level bytes or having to worry about network ordering.
-
-
-
-
- Maximum buffer size allowed when encoding Variants. Raise this value to support heavier memory allocations.
- The method allocates memory on the stack, and the buffer used will grow automatically to the closest power of two to match the size of the Variant. If the Variant is bigger than encode_buffer_max_size, the method will error out with .
-
-
-
-
- Deprecated. Use get_var and put_var parameters instead.
- If true, the PacketPeer will allow encoding and decoding of object via and .
- Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
-
-
-
-
- Gets a Variant. If allow_objects (or ) is true, decoding objects is allowed.
- Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
-
-
-
-
- Sends a Variant as a packet. If full_objects (or ) is true, encoding objects is allowed (and can potentially include code).
-
-
-
-
- Gets a raw packet.
-
-
-
-
- Sends a raw packet.
-
-
-
-
- Returns the error state of the last packet received (via and ).
-
-
-
-
- Returns the number of packets currently available in the ring-buffer.
-
-
-
-
- This class represents a DTLS peer connection. It can be used to connect to a DTLS server, and is returned by .
-
-
-
-
- A status representing a that is disconnected.
-
-
-
-
- A status representing a that is currently performing the handshake with a remote peer.
-
-
-
-
- A status representing a that is connected to a remote peer.
-
-
-
-
- A status representing a in a generic error state.
-
-
-
-
- An error status that shows a mismatch in the DTLS certificate domain presented by the host and the domain requested for validation.
-
-
-
-
- Poll the connection to check for incoming packets. Call this frequently to update the status and keep the connection working.
-
-
-
-
- Connects a peer beginning the DTLS handshake using the underlying which must be connected (see ). If validate_certs is true, will validate that the certificate presented by the remote peer and match it with the for_hostname argument. You can specify a custom to use for validation via the valid_certificate argument.
-
-
-
-
- Returns the status of the connection. See for values.
-
-
-
-
- Disconnects this peer, terminating the DTLS session.
-
-
-
-
- PacketStreamPeer provides a wrapper for working using packets over a stream. This allows for using packet based code with StreamPeers. PacketPeerStream implements a custom protocol over the StreamPeer, so the user should not read or write to the wrapped StreamPeer directly.
-
-
-
-
- The wrapped object.
-
-
-
-
- UDP packet peer. Can be used to send raw UDP packets as well as Variants.
-
-
-
-
- Makes this listen on the port binding to bind_address with a buffer size recv_buf_size.
- If bind_address is set to "*" (default), the peer will listen on all available addresses (both IPv4 and IPv6).
- If bind_address is set to "0.0.0.0" (for IPv4) or "::" (for IPv6), the peer will listen on all available addresses matching that IP type.
- If bind_address is set to any valid address (e.g. "192.168.1.101", "::1", etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists).
-
-
-
-
- Closes the UDP socket the is currently listening on.
-
-
-
-
- Waits for a packet to arrive on the listening port. See .
-
-
-
-
- Returns whether this is listening.
-
-
-
-
- Calling this method connects this UDP peer to the given host/port pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to are not allowed). This method does not send any data to the remote peer, to do that, use or as usual. See also .
- Note: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transfering sensitive information.
-
-
-
-
- Returns true if the UDP socket is open and has been connected to a remote address. See .
-
-
-
-
- Returns the IP of the remote peer that sent the last packet(that was received with or ).
-
-
-
-
- Returns the port of the remote peer that sent the last packet(that was received with or ).
-
-
-
-
- Sets the destination address and port for sending packets and variables. A hostname will be resolved using DNS if needed.
- Note: must be enabled before sending packets to a broadcast address (e.g. 255.255.255.255).
-
-
-
-
- Enable or disable sending of broadcast packets (e.g. set_dest_address("255.255.255.255", 4343). This option is disabled by default.
- Note: Some Android devices might require the CHANGE_WIFI_MULTICAST_STATE permission and this option to be enabled to receive broadcast packets too.
-
-
-
-
- Joins the multicast group specified by multicast_address using the interface identified by interface_name.
- You can join the same multicast group with multiple interfaces. Use to know which are available.
- Note: Some Android devices might require the CHANGE_WIFI_MULTICAST_STATE permission for multicast to work.
-
-
-
-
- Removes the interface identified by interface_name from the multicast group specified by multicast_address.
-
-
-
-
- Panel is a that displays an opaque background. It's commonly used as a parent and container for other types of nodes.
-
-
-
-
- Panel container type. This container fits controls inside of the delimited area of a stylebox. It's useful for giving controls an outline.
-
-
-
-
- A resource referenced in an that is used to draw a background. The Panorama sky functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cube map.
- Using an HDR panorama is strongly recommended for accurate, high-quality reflections. Godot supports the Radiance HDR (.hdr) and OpenEXR (.exr) image formats for this purpose.
- You can use this tool to convert a cube map to an equirectangular sky map.
-
-
-
-
- to be applied to the PanoramaSky.
-
-
-
-
- A ParallaxBackground uses one or more child nodes to create a parallax effect. Each can move at a different speed using . This creates an illusion of depth in a 2D game. If not used with a , you must manually calculate the .
-
-
-
-
- The ParallaxBackground's scroll value. Calculated automatically when using a , but can be used to manually manage scrolling when no camera is present.
-
-
-
-
- The base position offset for all children.
-
-
-
-
- The base motion scale for all children.
-
-
-
-
- Top-left limits for scrolling to begin. If the camera is outside of this limit, the background will stop scrolling. Must be lower than to work.
-
-
-
-
- Bottom-right limits for scrolling to end. If the camera is outside of this limit, the background will stop scrolling. Must be higher than to work.
-
-
-
-
- If true, elements in child aren't affected by the zoom level of the camera.
-
-
-
-
- A ParallaxLayer must be the child of a node. Each ParallaxLayer can be set to move at different speeds relative to the camera movement or the value.
- This node's children will be affected by its scroll offset.
- Note: Any changes to this node's position and scale made after it enters the scene will be ignored.
-
-
-
-
- Multiplies the ParallaxLayer's motion. If an axis is set to 0, it will not scroll.
-
-
-
-
- The ParallaxLayer's offset relative to the parent ParallaxBackground's .
-
-
-
-
- The ParallaxLayer's mirroring. Useful for creating an infinite scrolling background. If an axis is set to 0, the will not be mirrored.
-
-
-
-
- 3D particle node used to create a variety of particle systems and effects. features an emitter that generates some number of particles at a given rate.
- Use the process_material property to add a to configure particle appearance and behavior. Alternatively, you can add a which will be applied to all particles.
-
-
-
-
- Maximum number of draw passes supported.
-
-
-
-
- Particles are drawn in the order emitted.
-
-
-
-
- Particles are drawn in order of remaining lifetime.
-
-
-
-
- Particles are drawn in order of depth.
-
-
-
-
- If true, particles are being emitted.
-
-
-
-
- Number of particles to emit.
-
-
-
-
- Amount of time each particle will exist.
-
-
-
-
- If true, only amount particles will be emitted.
-
-
-
-
- Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.
-
-
-
-
- Speed scaling ratio. A value of 0 can be used to pause the particles.
-
-
-
-
- Time ratio between each emission. If 0, particles are emitted continuously. If 1, all particles are emitted simultaneously.
-
-
-
-
- Emission randomness ratio.
-
-
-
-
- The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
-
-
-
-
- If true, results in fractional delta calculation which has a smoother particles display effect.
-
-
-
-
- The that determines the area of the world part of which needs to be visible on screen for the particle system to be active.
- Note: If the in use is configured to cast shadows, you may want to enlarge this AABB to ensure the shadow is updated when particles are off-screen.
-
-
-
-
- If true, particles use the parent node's coordinate space. If false, they use global coordinates.
-
-
-
-
- Particle draw order. Uses values.
-
-
-
-
- for processing particles. Can be a or a .
-
-
-
-
- The number of draw passes when rendering particles.
-
-
-
-
- that is drawn for the first draw pass.
-
-
-
-
- that is drawn for the second draw pass.
-
-
-
-
- that is drawn for the third draw pass.
-
-
-
-
- that is drawn for the fourth draw pass.
-
-
-
-
- Sets the that is drawn at index pass.
-
-
-
-
- Returns the that is drawn at index pass.
-
-
-
-
- Restarts the particle emission, clearing existing particles.
-
-
-
-
- Returns the axis-aligned bounding box that contains all the particles that are active in the current frame.
-
-
-
-
- 2D particle node used to create a variety of particle systems and effects. features an emitter that generates some number of particles at a given rate.
- Use the process_material property to add a to configure particle appearance and behavior. Alternatively, you can add a which will be applied to all particles.
-
-
-
-
- Particles are drawn in the order emitted.
-
-
-
-
- Particles are drawn in order of remaining lifetime.
-
-
-
-
- If true, particles are being emitted.
-
-
-
-
- Number of particles emitted in one emission cycle.
-
-
-
-
- Amount of time each particle will exist.
-
-
-
-
- If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle's end.
-
-
-
-
- Particle system starts as if it had already run for this many seconds.
-
-
-
-
- Particle system's running speed scaling ratio. A value of 0 can be used to pause the particles.
-
-
-
-
- How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins.
-
-
-
-
- Emission lifetime randomness ratio.
-
-
-
-
- The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
-
-
-
-
- If true, results in fractional delta calculation which has a smoother particles display effect.
-
-
-
-
- Editor visibility helper.
-
-
-
-
- If true, particles use the parent node's coordinate space. If false, they use global coordinates.
-
-
-
-
- Particle draw order. Uses values.
-
-
-
-
- for processing particles. Can be a or a .
-
-
-
-
- Particle texture. If null, particles will be squares.
-
-
-
-
- Normal map to be used for the property.
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- Returns a rectangle containing the positions of all existing particles.
-
-
-
-
- Restarts all the existing particles.
-
-
-
-
- ParticlesMaterial defines particle properties and behavior. It is used in the process_material of and emitter nodes.
- Some of this material's properties are applied to each particle when emitted, while others can have a applied to vary values over the lifetime of the particle.
- When a randomness ratio is applied to a property it is used to scale that property by a random amount. The random ratio is used to interpolate between 1.0 and a random number less than one, the result is multiplied by the property to obtain the randomized property. For example a random ratio of 0.4 would scale the original property between 0.4-1.0 of its original value.
-
-
-
-
- Use with to set .
-
-
-
-
- Use with to set .
-
-
-
-
- Use with to set .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- All particles will be emitted from a single point.
-
-
-
-
- Particles will be emitted in the volume of a sphere.
-
-
-
-
- Particles will be emitted in the volume of a box.
-
-
-
-
- Particles will be emitted at a position determined by sampling a random point on the . Particle color will be modulated by .
-
-
-
-
- Particles will be emitted at a position determined by sampling a random point on the . Particle velocity and rotation will be set based on . Particle color will be modulated by .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Use with , , and to set initial velocity properties.
-
-
-
-
- Use with , , and to set angular velocity properties.
-
-
-
-
- Use with , , and to set orbital velocity properties.
-
-
-
-
- Use with , , and to set linear acceleration properties.
-
-
-
-
- Use with , , and to set radial acceleration properties.
-
-
-
-
- Use with , , and to set tangential acceleration properties.
-
-
-
-
- Use with , , and to set damping properties.
-
-
-
-
- Use with , , and to set angle properties.
-
-
-
-
- Use with , , and to set scale properties.
-
-
-
-
- Use with , , and to set hue variation properties.
-
-
-
-
- Use with , , and to set animation speed properties.
-
-
-
-
- Use with , , and to set animation offset properties.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Particle lifetime randomness ratio.
-
-
-
-
- Emitter will emit amount divided by trail_divisor particles. The remaining particles will be used as trail(s).
-
-
-
-
- Trail particles' size will vary along this .
-
-
-
-
- Trail particles' color will vary along this .
-
-
-
-
- Particles will be emitted inside this region. Use constants for values.
-
-
-
-
- The sphere's radius if emission_shape is set to .
-
-
-
-
- The box's extents if emission_shape is set to .
-
-
-
-
- Particles will be emitted at positions determined by sampling this texture at a random position. Used with and . Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
-
-
-
-
- Particle velocity and rotation will be set by sampling this texture at the same point as the . Used only in . Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
-
-
-
-
- Particle color will be modulated by color determined by sampling this texture at the same point as the .
-
-
-
-
- The number of emission points if emission_shape is set to or .
-
-
-
-
- Align Y axis of particle with the direction of its velocity.
-
-
-
-
- If true, particles rotate around Y axis by .
-
-
-
-
- If true, particles will not move on the z axis.
-
-
-
-
- Unit vector specifying the particles' emission direction.
-
-
-
-
- Each particle's initial direction range from +spread to -spread degrees. Applied to X/Z plane and Y/Z planes.
-
-
-
-
- Amount of in Y/Z plane. A value of 1 restricts particles to X/Z plane.
-
-
-
-
- Gravity applied to every particle.
-
-
-
-
- Initial velocity magnitude for each particle. Direction comes from and the node's orientation.
-
-
-
-
- Initial velocity randomness ratio.
-
-
-
-
- Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
- Only applied when or are true or the being used to draw the particle is using .
-
-
-
-
- Angular velocity randomness ratio.
-
-
-
-
- Each particle's angular velocity will vary along this .
-
-
-
-
- Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
- Only available when is true.
-
-
-
-
- Orbital velocity randomness ratio.
-
-
-
-
- Each particle's orbital velocity will vary along this .
-
-
-
-
- Linear acceleration applied to each particle in the direction of motion.
-
-
-
-
- Linear acceleration randomness ratio.
-
-
-
-
- Each particle's linear acceleration will vary along this .
-
-
-
-
- Radial acceleration applied to each particle. Makes particle accelerate away from origin.
-
-
-
-
- Radial acceleration randomness ratio.
-
-
-
-
- Each particle's radial acceleration will vary along this .
-
-
-
-
- Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
-
-
-
-
- Tangential acceleration randomness ratio.
-
-
-
-
- Each particle's tangential acceleration will vary along this .
-
-
-
-
- The rate at which particles lose velocity.
-
-
-
-
- Damping randomness ratio.
-
-
-
-
- Damping will vary along this .
-
-
-
-
- Initial rotation applied to each particle, in degrees.
- Only applied when or are true or the being used to draw the particle is using .
-
-
-
-
- Rotation randomness ratio.
-
-
-
-
- Each particle's rotation will be animated along this .
-
-
-
-
- Initial scale applied to each particle.
-
-
-
-
- Scale randomness ratio.
-
-
-
-
- Each particle's scale will vary along this .
-
-
-
-
- Each particle's initial color. If the 's texture is defined, it will be multiplied by this color. To have particle display color in a make sure to set to true.
-
-
-
-
- Each particle's color will vary along this .
-
-
-
-
- Initial hue variation applied to each particle.
-
-
-
-
- Hue variation randomness ratio.
-
-
-
-
- Each particle's hue will vary along this .
-
-
-
-
- Particle animation speed.
-
-
-
-
- Animation speed randomness ratio.
-
-
-
-
- Each particle's animation speed will vary along this .
-
-
-
-
- Particle animation offset.
-
-
-
-
- Animation offset randomness ratio.
-
-
-
-
- Each particle's animation offset will vary along this .
-
-
-
-
- Sets the specified .
-
-
-
-
- Returns the value of the specified parameter.
-
-
-
-
- Sets the randomness ratio for the specified .
-
-
-
-
- Returns the randomness ratio associated with the specified parameter.
-
-
-
-
- Sets the for the specified .
-
-
-
-
- Returns the used by the specified parameter.
-
-
-
-
- If true, enables the specified flag. See for options.
-
-
-
-
- Returns true if the specified flag is enabled.
-
-
-
-
- Can have child nodes moving along the . See for more information on the usage.
- Note that the path is considered as relative to the moved nodes (children of ). As such, the curve should usually start with a zero vector (0, 0, 0).
-
-
-
-
- A describing the path.
-
-
-
-
- Can have child nodes moving along the . See for more information on usage.
- Note: The path is considered as relative to the moved nodes (children of ). As such, the curve should usually start with a zero vector ((0, 0)).
-
-
-
-
- A describing the path.
-
-
-
-
- This node takes its parent , and returns the coordinates of a point within it, given a distance from the first vertex.
- It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be children of this node. The descendant nodes will then move accordingly when setting an offset in this node.
-
-
-
-
- Forbids the PathFollow to rotate.
-
-
-
-
- Allows the PathFollow to rotate in the Y axis only.
-
-
-
-
- Allows the PathFollow to rotate in both the X, and Y axes.
-
-
-
-
- Allows the PathFollow to rotate in any axis.
-
-
-
-
- Uses the up vector information in a to enforce orientation. This rotation mode requires the 's property to be set to true.
-
-
-
-
- The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path.
-
-
-
-
- The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
-
-
-
-
- The node's offset along the curve.
-
-
-
-
- The node's offset perpendicular to the curve.
-
-
-
-
- Allows or forbids rotation on one or more axes, depending on the constants being used.
-
-
-
-
- If true, the position between two cached points is interpolated cubically, and linearly otherwise.
- The points along the of the are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
- There are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
-
-
-
-
- If true, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.
-
-
-
-
- This node takes its parent , and returns the coordinates of a point within it, given a distance from the first vertex.
- It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be children of this node. The descendant nodes will then move accordingly when setting an offset in this node.
-
-
-
-
- The distance along the path in pixels.
-
-
-
-
- The distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last). This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
-
-
-
-
- The node's offset along the curve.
-
-
-
-
- The node's offset perpendicular to the curve.
-
-
-
-
- If true, this node rotates to follow the path, making its descendants rotate.
-
-
-
-
- If true, the position between two cached points is interpolated cubically, and linearly otherwise.
- The points along the of the are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
- There are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
-
-
-
-
- If true, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.
-
-
-
-
- How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations.
-
-
-
-
- This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS. These are the same as the values displayed in the Monitor tab in the editor's Debugger panel. By using the method of this class, you can access this data from your code.
- Note: A few of these monitors are only available in debug mode and will always return 0 when used in a release build.
- Note: Many of these monitors are not updated in real-time, so there may be a short delay between changes.
-
-
-
-
- Number of frames per second.
-
-
-
-
- Time it took to complete one frame, in seconds.
-
-
-
-
- Time it took to complete one physics frame, in seconds.
-
-
-
-
- Static memory currently used, in bytes. Not available in release builds.
-
-
-
-
- Dynamic memory currently used, in bytes. Not available in release builds.
-
-
-
-
- Available static memory. Not available in release builds.
-
-
-
-
- Available dynamic memory. Not available in release builds.
-
-
-
-
- Largest amount of memory the message queue buffer has used, in bytes. The message queue is used for deferred functions calls and notifications.
-
-
-
-
- Number of objects currently instanced (including nodes).
-
-
-
-
- Number of resources currently used.
-
-
-
-
- Number of nodes currently instanced in the scene tree. This also includes the root node.
-
-
-
-
- Number of orphan nodes, i.e. nodes which are not parented to a node of the scene tree.
-
-
-
-
- 3D objects drawn per frame.
-
-
-
-
- Vertices drawn per frame. 3D only.
-
-
-
-
- Material changes per frame. 3D only.
-
-
-
-
- Shader changes per frame. 3D only.
-
-
-
-
- Render surface changes per frame. 3D only.
-
-
-
-
- Draw calls per frame. 3D only.
-
-
-
-
- Items or joined items drawn per frame.
-
-
-
-
- Draw calls per frame.
-
-
-
-
- The amount of video memory used, i.e. texture and vertex memory combined.
-
-
-
-
- The amount of texture memory used.
-
-
-
-
- The amount of vertex memory used.
-
-
-
-
- Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
-
-
-
-
- Number of active nodes in the game.
-
-
-
-
- Number of collision pairs in the 2D physics engine.
-
-
-
-
- Number of islands in the 2D physics engine.
-
-
-
-
- Number of active and nodes in the game.
-
-
-
-
- Number of collision pairs in the 3D physics engine.
-
-
-
-
- Number of islands in the 3D physics engine.
-
-
-
-
- Output latency of the .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Returns the value of one of the available monitors. You should provide one of the constants as the argument, like this:
-
- print(Performance.get_monitor(Performance.TIME_FPS)) # Prints the FPS to the console
-
-
-
-
-
- Provides direct access to a physics body in the , allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See .
-
-
-
-
- The timestep (delta) used for the simulation.
-
-
-
-
- The inverse of the mass of the body.
-
-
-
-
- The inverse of the inertia of the body.
-
-
-
-
- The rate at which the body stops rotating, if there are not any other forces moving it.
-
-
-
-
- The rate at which the body stops moving, if there are not any other forces moving it.
-
-
-
-
- The total gravity vector being currently applied to this body.
-
-
-
-
- The body's rotational velocity.
-
-
-
-
- The body's linear velocity.
-
-
-
-
- If true, this body is currently sleeping (not active).
-
-
-
-
- The body's transformation matrix.
-
-
-
-
- Adds a constant directional force without affecting rotation.
-
-
-
-
- Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
-
-
-
-
- Adds a constant rotational force.
-
-
-
-
- Applies a directional impulse without affecting rotation.
-
-
-
-
- Applies a rotational impulse to the body.
-
-
-
-
- Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The offset uses the rotation of the global coordinate system, but is centered at the object's origin.
-
-
-
-
- Returns the number of contacts this body has with other bodies.
- Note: By default, this returns 0 unless bodies are configured to monitor contacts. See .
-
-
-
-
- Returns the local position of the contact point.
-
-
-
-
- Returns the local normal at the contact point.
-
-
-
-
- Returns the local shape index of the collision.
-
-
-
-
- Returns the collider's .
-
-
-
-
- Returns the contact position in the collider.
-
-
-
-
- Returns the collider's object id.
-
-
-
-
- Returns the collider object. This depends on how it was created (will return a scene node if such was used to create it).
-
-
-
-
- Returns the collider's shape index.
-
-
-
-
- Returns the collided shape's metadata. This metadata is different from , and is set with .
-
-
-
-
- Returns the linear velocity vector at the collider's contact point.
-
-
-
-
- Calls the built-in force integration code.
-
-
-
-
- Returns the current state of the space, useful for queries.
-
-
-
-
- Direct access object to a space in the . It's used mainly to do queries against objects and areas residing in a given space.
-
-
-
-
- Checks whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields:
- collider: The colliding object.
- collider_id: The colliding object's ID.
- metadata: The intersecting shape's metadata. This metadata is different from , and is set with .
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
- Additionally, the method can take an exclude array of objects or s that are to be excluded from collisions, a collision_mask bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with s or s, respectively.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Intersects a ray in a given space. The returned object is a dictionary with the following fields:
- collider: The colliding object.
- collider_id: The colliding object's ID.
- metadata: The intersecting shape's metadata. This metadata is different from , and is set with .
- normal: The object's surface normal at the intersection point.
- position: The intersection point.
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
- If the ray did not intersect anything, then an empty dictionary is returned instead.
- Additionally, the method can take an exclude array of objects or s that are to be excluded from collisions, a collision_mask bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with s or s, respectively.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Checks the intersections of a shape, given through a object, against the space.
- Note: This method does not take into account the motion property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields:
- collider: The colliding object.
- collider_id: The colliding object's ID.
- metadata: The intersecting shape's metadata. This metadata is different from , and is set with .
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
- The number of intersections can be limited with the max_results parameter, to reduce the processing time.
-
-
-
-
- Checks how far the shape can travel toward a point. If the shape can not move, the array will be empty.
- Note: Both the shape and the motion are supplied through a object. The method will return an array with two floats between 0 and 1, both representing a fraction of motion. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1].
-
-
-
-
- Checks the intersections of a shape, given through a object, against the space. The resulting array contains a list of points where the shape intersects another. Like with , the number of returned results can be limited to save processing time.
-
-
-
-
- Checks the intersections of a shape, given through a object, against the space. If it collides with more than one shape, the nearest one is selected. If the shape did not intersect anything, then an empty dictionary is returned instead.
- Note: This method does not take into account the motion property of the object. The returned object is a dictionary containing the following fields:
- collider_id: The colliding object's ID.
- linear_velocity: The colliding object's velocity . If the object is an , the result is (0, 0).
- metadata: The intersecting shape's metadata. This metadata is different from , and is set with .
- normal: The object's surface normal at the intersection point.
- point: The intersection point.
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
-
-
-
-
- Physics2DServer is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
-
-
-
-
- Constant to get the number of objects that are not sleeping.
-
-
-
-
- Constant to get the number of possible collisions.
-
-
-
-
- Constant to get the number of space regions where a collision could occur.
-
-
-
-
- The value of the first parameter and area callback function receives, when an object enters one of its shapes.
-
-
-
-
- The value of the first parameter and area callback function receives, when an object exits one of its shapes.
-
-
-
-
- Sets the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
-
-
-
-
- Sets the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
-
-
-
-
- Sets the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
-
-
-
-
- Constant for static bodies.
-
-
-
-
- Constant for kinematic bodies.
-
-
-
-
- Constant for rigid bodies.
-
-
-
-
- Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
-
-
-
-
- This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
-
-
-
-
- This is the constant for creating segment shapes. A segment shape is a line from a point A to a point B. It can be checked for intersections.
-
-
-
-
- This is the constant for creating circle shapes. A circle shape only has a radius. It can be used for intersections and inside/outside checks.
-
-
-
-
- This is the constant for creating rectangle shapes. A rectangle shape is defined by a width and a height. It can be used for intersections and inside/outside checks.
-
-
-
-
- This is the constant for creating capsule shapes. A capsule shape is defined by a radius and a length. It can be used for intersections and inside/outside checks.
-
-
-
-
- This is the constant for creating convex polygon shapes. A polygon is defined by a list of points. It can be used for intersections and inside/outside checks. Unlike the property, polygons modified with do not verify that the points supplied form is a convex polygon.
-
-
-
-
- This is the constant for creating concave polygon shapes. A polygon is defined by a list of points. It can be used for intersections checks, but not for inside/outside checks.
-
-
-
-
- This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
-
-
-
-
- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
-
-
-
-
- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
-
-
-
-
- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
-
-
-
-
- Constant to set/get the threshold linear velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
-
-
-
-
- Constant to set/get the threshold angular velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
-
-
-
-
- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
-
-
-
-
- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
-
-
-
-
- Constant to create pin joints.
-
-
-
-
- Constant to create groove joints.
-
-
-
-
- Constant to create damped spring joints.
-
-
-
-
- Disables continuous collision detection. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
-
-
-
-
- Enables continuous collision detection by raycasting. It is faster than shapecasting, but less precise.
-
-
-
-
- Enables continuous collision detection by shapecasting. It is the slowest CCD method, and the most precise.
-
-
-
-
- Constant to set/get the current transform matrix of the body.
-
-
-
-
- Constant to set/get the current linear velocity of the body.
-
-
-
-
- Constant to set/get the current angular velocity of the body.
-
-
-
-
- Constant to sleep/wake up a body, or to get whether it is sleeping.
-
-
-
-
- Constant to set/get whether the body can sleep.
-
-
-
-
- Constant to set/get a body's bounce factor.
-
-
-
-
- Constant to set/get a body's friction.
-
-
-
-
- Constant to set/get a body's mass.
-
-
-
-
- Constant to set/get a body's inertia.
-
-
-
-
- Constant to set/get a body's gravity multiplier.
-
-
-
-
- Constant to set/get a body's linear dampening factor.
-
-
-
-
- Constant to set/get a body's angular dampening factor.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
-
-
-
-
- This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
-
-
-
-
- This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
-
-
-
-
- This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
-
-
-
-
- This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
-
-
-
-
- Constant to set/get gravity strength in an area.
-
-
-
-
- Constant to set/get gravity vector/center in an area.
-
-
-
-
- Constant to set/get whether the gravity vector of an area is a direction, or a center point.
-
-
-
-
- Constant to set/get the falloff factor for point gravity of an area. The greater this value is, the faster the strength of gravity decreases with the square of distance.
-
-
-
-
- This constant was used to set/get the falloff factor for point gravity. It has been superseded by .
-
-
-
-
- Constant to set/get the linear dampening factor of an area.
-
-
-
-
- Constant to set/get the angular dampening factor of an area.
-
-
-
-
- Constant to set/get the priority (order of processing) of an area.
-
-
-
-
- Sets the shape data that defines its shape and size. The data to be passed depends on the kind of shape created .
-
-
-
-
- Returns a shape's type (see ).
-
-
-
-
- Returns the shape data.
-
-
-
-
- Creates a space. A space is a collection of parameters for the physics engine that can be assigned to an area or a body. It can be assigned to an area with , or to a body with .
-
-
-
-
- Marks a space as active. It will not have an effect, unless it is assigned to an area or body.
-
-
-
-
- Returns whether the space is active.
-
-
-
-
- Sets the value for a space parameter. See for a list of available parameters.
-
-
-
-
- Returns the value of a space parameter.
-
-
-
-
- Returns the state of a space, a . This object can be used to make collision/intersection queries.
-
-
-
-
- Creates an .
-
-
-
-
- Assigns a space to the area.
-
-
-
-
- Returns the space assigned to the area.
-
-
-
-
- Sets the space override mode for the area. See for a list of available modes.
-
-
-
-
- Returns the space override mode for the area.
-
-
-
-
- Adds a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
-
- If the parameter is null, then the default value is Transform2D.Identity
-
-
-
- Substitutes a given area shape by another. The old shape is selected by its index, the new one by its .
-
-
-
-
- Sets the transform matrix for an area shape.
-
-
-
-
- Disables a given shape in an area.
-
-
-
-
- Returns the number of shapes assigned to an area.
-
-
-
-
- Returns the of the nth shape of an area.
-
-
-
-
- Returns the transform matrix of a shape within an area.
-
-
-
-
- Removes a shape from an area. It does not delete the shape, so it can be reassigned later.
-
-
-
-
- Removes all shapes from an area. It does not delete the shapes, so they can be reassigned later.
-
-
-
-
- Assigns the area to one or many physics layers.
-
-
-
-
- Sets which physics layers the area will monitor.
-
-
-
-
- Sets the value for an area parameter. See for a list of available parameters.
-
-
-
-
- Sets the transform matrix for an area.
-
-
-
-
- Returns an area parameter value. See for a list of available parameters.
-
-
-
-
- Returns the transform matrix for an area.
-
-
-
-
- Assigns the area to a descendant of , so it can exist in the node tree.
-
-
-
-
- Gets the instance ID of the object the area is assigned to.
-
-
-
-
- Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters:
- 1: or , depending on whether the object entered or exited the area.
- 2: of the object that entered/exited the area.
- 3: Instance ID of the object that entered/exited the area.
- 4: The shape index of the object that entered/exited the area.
- 5: The shape index of the area where the object entered/exited.
-
-
-
-
- Creates a physics body.
-
-
-
-
- Assigns a space to the body (see ).
-
-
-
-
- Returns the of the space assigned to a body.
-
-
-
-
- Sets the body mode using one of the constants.
-
-
-
-
- Returns the body mode.
-
-
-
-
- Adds a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
-
- If the parameter is null, then the default value is Transform2D.Identity
-
-
-
- Substitutes a given body shape by another. The old shape is selected by its index, the new one by its .
-
-
-
-
- Sets the transform matrix for a body shape.
-
-
-
-
- Sets metadata of a shape within a body. This metadata is different from , and can be retrieved on shape queries.
-
-
-
-
- Returns the number of shapes assigned to a body.
-
-
-
-
- Returns the of the nth shape of a body.
-
-
-
-
- Returns the transform matrix of a body shape.
-
-
-
-
- Returns the metadata of a shape of a body.
-
-
-
-
- Removes a shape from a body. The shape is not deleted, so it can be reused afterwards.
-
-
-
-
- Removes all shapes from a body.
-
-
-
-
- Disables shape in body if disable is true.
-
-
-
-
- Enables one way collision on body if enable is true.
-
-
-
-
- Assigns the area to a descendant of , so it can exist in the node tree.
-
-
-
-
- Gets the instance ID of the object the area is assigned to.
-
-
-
-
- Sets the continuous collision detection mode using one of the constants.
- Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
-
-
-
-
- Returns the continuous collision detection mode.
-
-
-
-
- Sets the physics layer or layers a body belongs to.
-
-
-
-
- Returns the physics layer or layers a body belongs to.
-
-
-
-
- Sets the physics layer or layers a body can collide with.
-
-
-
-
- Returns the physics layer or layers a body can collide with.
-
-
-
-
- Sets a body parameter. See for a list of available parameters.
-
-
-
-
- Returns the value of a body parameter. See for a list of available parameters.
-
-
-
-
- Sets a body state using one of the constants.
- Note that the method doesn't take effect immediately. The state will change on the next physics frame.
-
-
-
-
- Returns a body state.
-
-
-
-
- Adds a positioned impulse to the applied force and torque. Both the force and the offset from the body origin are in global coordinates.
-
-
-
-
- Adds a positioned force to the applied force and torque. As with , both the force and the offset from the body origin are in global coordinates. A force differs from an impulse in that, while the two are forces, the impulse clears itself after being applied.
-
-
-
-
- Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
-
-
-
-
- Adds a body to the list of bodies exempt from collisions.
-
-
-
-
- Removes a body from the list of bodies exempt from collisions.
-
-
-
-
- Sets the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
-
-
-
-
- Returns the maximum contacts that can be reported. See .
-
-
-
-
- Sets whether a body uses a callback function to calculate its own physics (see ).
-
-
-
-
- Returns whether a body uses a callback function to calculate its own physics (see ).
-
-
-
-
- Sets the function used to calculate physics for an object, if that object allows it (see ).
-
-
-
-
- Returns true if a collision would result from moving in the given direction from a given point in space. Margin increases the size of the shapes involved in the collision detection. can be passed to return additional information in.
-
-
-
-
- Returns the of the body.
-
-
-
-
- Sets a joint parameter. See for a list of available parameters.
-
-
-
-
- Returns the value of a joint parameter.
-
-
-
-
- Creates a pin joint between two bodies. If not specified, the second body is assumed to be the joint itself.
-
-
-
-
- Creates a groove joint between two bodies. If not specified, the bodies are assumed to be the joint itself.
-
-
-
-
- Creates a damped spring joint between two bodies. If not specified, the second body is assumed to be the joint itself.
-
-
-
-
- Sets a damped spring joint parameter. See for a list of available parameters.
-
-
-
-
- Returns the value of a damped spring joint parameter.
-
-
-
-
- Returns a joint's type (see ).
-
-
-
-
- Destroys any of the objects created by Physics2DServer. If the passed is not one of the objects that can be created by Physics2DServer, an error will be sent to the console.
-
-
-
-
- Activates or deactivates the 2D physics engine.
-
-
-
-
- Returns information about the current state of the 2D physics engine. See for a list of available states.
-
-
-
-
- This class contains the shape and other parameters for 2D intersection/collision queries. See also .
-
-
-
-
- The physics layer(s) the query will take into account (as a bitmask). See Collision layers and masks in the documentation for more information.
-
-
-
-
- The list of objects or object s that will be excluded from collisions.
-
-
-
-
- The collision margin for the shape.
-
-
-
-
- The motion of the shape being queried for.
-
-
-
-
- The queried shape's . See also .
-
-
-
-
- The queried shape's transform matrix.
-
-
-
-
- If true, the query will take s into account.
-
-
-
-
- If true, the query will take s into account.
-
-
-
-
- Sets the that will be used for collision/intersection queries.
-
-
-
-
- The result of a 2D shape query in . See also .
-
-
-
-
- Returns the number of objects that intersected with the shape.
-
-
-
-
- Returns the of the object that intersected with the shape at index idx.
-
-
-
-
- Returns the instance ID of the that intersected with the shape at index idx.
-
-
-
-
- Returns the that intersected with the shape at index idx.
-
-
-
-
- Returns the child index of the object's that intersected with the shape at index idx.
-
-
-
-
- PhysicsBody is an abstract base class for implementing a physics body. All *Body types inherit from it.
-
-
-
-
- The physics layers this area is in.
- Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the property.
- A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The physics layers this area scans for collisions. See Collision layers and masks in the documentation for more information.
-
-
-
-
- Sets individual bits on the bitmask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the .
-
-
-
-
- Sets individual bits on the bitmask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the .
-
-
-
-
- Returns an array of nodes that were added as collision exceptions for this body.
-
-
-
-
- Adds a body to the list of bodies that this body can't collide with.
-
-
-
-
- Removes a body from the list of bodies that this body can't collide with.
-
-
-
-
- PhysicsBody2D is an abstract base class for implementing a physics body. All *Body2D types inherit from it.
-
-
-
-
- Both and . Returns when accessed. Updates and when modified.
-
-
-
-
- The physics layers this area is in.
- Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the property.
- A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The physics layers this area scans for collisions. See Collision layers and masks in the documentation for more information.
-
-
-
-
- Sets individual bits on the bitmask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the .
-
-
-
-
- Sets individual bits on the bitmask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the .
-
-
-
-
- Returns an array of nodes that were added as collision exceptions for this body.
-
-
-
-
- Adds a body to the list of bodies that this body can't collide with.
-
-
-
-
- Removes a body from the list of bodies that this body can't collide with.
-
-
-
-
- Provides direct access to a physics body in the , allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See .
-
-
-
-
- The timestep (delta) used for the simulation.
-
-
-
-
- The inverse of the mass of the body.
-
-
-
-
- The rate at which the body stops rotating, if there are not any other forces moving it.
-
-
-
-
- The rate at which the body stops moving, if there are not any other forces moving it.
-
-
-
-
- The inverse of the inertia of the body.
-
-
-
-
- The total gravity vector being currently applied to this body.
-
-
-
-
- The body's rotational velocity.
-
-
-
-
- The body's linear velocity.
-
-
-
-
- If true, this body is currently sleeping (not active).
-
-
-
-
- The body's transformation matrix.
-
-
-
-
- Adds a constant directional force without affecting rotation.
- This is equivalent to add_force(force, Vector3(0,0,0)).
-
-
-
-
- Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
-
-
-
-
- Adds a constant rotational force without affecting position.
-
-
-
-
- Applies a single directional impulse without affecting rotation.
- This is equivalent to apply_impulse(Vector3(0, 0, 0), impulse).
-
-
-
-
- Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
-
-
-
-
- Apply a torque impulse (which will be affected by the body mass and shape). This will rotate the body around the vector j passed as parameter.
-
-
-
-
- Returns the number of contacts this body has with other bodies.
- Note: By default, this returns 0 unless bodies are configured to monitor contacts. See .
-
-
-
-
- Returns the local position of the contact point.
-
-
-
-
- Returns the local normal at the contact point.
-
-
-
-
- Impulse created by the contact. Only implemented for Bullet physics.
-
-
-
-
- Returns the local shape index of the collision.
-
-
-
-
- Returns the collider's .
-
-
-
-
- Returns the contact position in the collider.
-
-
-
-
- Returns the collider's object id.
-
-
-
-
- Returns the collider object.
-
-
-
-
- Returns the collider's shape index.
-
-
-
-
- Returns the linear velocity vector at the collider's contact point.
-
-
-
-
- Calls the built-in force integration code.
-
-
-
-
- Returns the current state of the space, useful for queries.
-
-
-
-
- Direct access object to a space in the . It's used mainly to do queries against objects and areas residing in a given space.
-
-
-
-
- Intersects a ray in a given space. The returned object is a dictionary with the following fields:
- collider: The colliding object.
- collider_id: The colliding object's ID.
- normal: The object's surface normal at the intersection point.
- position: The intersection point.
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
- If the ray did not intersect anything, then an empty dictionary is returned instead.
- Additionally, the method can take an exclude array of objects or s that are to be excluded from collisions, a collision_mask bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with s or s, respectively.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Checks the intersections of a shape, given through a object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields:
- collider: The colliding object.
- collider_id: The colliding object's ID.
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
- The number of intersections can be limited with the max_results parameter, to reduce the processing time.
-
-
-
-
- Checks whether the shape can travel to a point. The method will return an array with two floats between 0 and 1, both representing a fraction of motion. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1].
- If the shape can not move, the returned array will be [0, 0] under Bullet, and empty under GodotPhysics.
-
-
-
-
- Checks the intersections of a shape, given through a object, against the space. The resulting array contains a list of points where the shape intersects another. Like with , the number of returned results can be limited to save processing time.
-
-
-
-
- Checks the intersections of a shape, given through a object, against the space. If it collides with more than one shape, the nearest one is selected. The returned object is a dictionary containing the following fields:
- collider_id: The colliding object's ID.
- linear_velocity: The colliding object's velocity . If the object is an , the result is (0, 0, 0).
- normal: The object's surface normal at the intersection point.
- point: The intersection point.
- rid: The intersecting object's .
- shape: The shape index of the colliding shape.
- If the shape did not intersect anything, then an empty dictionary is returned instead.
-
-
-
-
- Provides a means of modifying the collision properties of a .
-
-
-
-
- The body's friction. Values range from 0 (frictionless) to 1 (maximum friction).
-
-
-
-
- If true, the physics engine will use the friction of the object marked as "rough" when two objects collide. If false, the physics engine will use the lowest friction of all colliding objects instead. If true for both colliding objects, the physics engine will use the highest friction.
-
-
-
-
- The body's bounciness. Values range from 0 (no bounce) to 1 (full bounciness).
-
-
-
-
- If true, subtracts the bounciness from the colliding object's bounciness instead of adding it.
-
-
-
-
- PhysicsServer is the server responsible for all 3D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
-
-
-
-
- Constant to get the number of objects that are not sleeping.
-
-
-
-
- Constant to get the number of possible collisions.
-
-
-
-
- Constant to get the number of space regions where a collision could occur.
-
-
-
-
- The value of the first parameter and area callback function receives, when an object enters one of its shapes.
-
-
-
-
- The value of the first parameter and area callback function receives, when an object exits one of its shapes.
-
-
-
-
- Constant for static bodies.
-
-
-
-
- Constant for kinematic bodies.
-
-
-
-
- Constant for rigid bodies.
-
-
-
-
- Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
-
-
-
-
- The strength with which the pinned objects try to stay in positional relation to each other.
- The higher, the stronger.
-
-
-
-
- The strength with which the pinned objects try to stay in velocity relation to each other.
- The higher, the stronger.
-
-
-
-
- If above 0, this value is the maximum value for an impulse that this Joint puts on its ends.
-
-
-
-
- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
-
-
-
-
- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
-
-
-
-
- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
-
-
-
-
- Constant to set/get the threshold linear velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
-
-
-
-
- Constant to set/get the threshold angular velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
-
-
-
-
- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
-
-
-
-
- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
-
-
-
-
- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
- The swing span defines, how much rotation will not get corrected allong the swing axis.
- Could be defined as looseness in the .
- If below 0.05, this behavior is locked.
-
-
-
-
- Twist is the rotation around the twist axis, this value defined how far the joint can twist.
- Twist is locked if below 0.05.
-
-
-
-
- The speed with which the swing or twist will take place.
- The higher, the faster.
-
-
-
-
- The ease with which the Joint twists, if it's too low, it takes more force to twist the joint.
-
-
-
-
- Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- The is a .
-
-
-
-
- Constant to set/get the current transform matrix of the body.
-
-
-
-
- Constant to set/get the current linear velocity of the body.
-
-
-
-
- Constant to set/get the current angular velocity of the body.
-
-
-
-
- Constant to sleep/wake up a body, or to get whether it is sleeping.
-
-
-
-
- Constant to set/get whether the body can sleep.
-
-
-
-
- Constant to set/get a body's bounce factor.
-
-
-
-
- Constant to set/get a body's friction.
-
-
-
-
- Constant to set/get a body's mass.
-
-
-
-
- Constant to set/get a body's gravity multiplier.
-
-
-
-
- Constant to set/get a body's linear dampening factor.
-
-
-
-
- Constant to set/get a body's angular dampening factor.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The minimum difference between the pivot points' axes.
-
-
-
-
- The maximum difference between the pivot points' axes.
-
-
-
-
- A factor that gets applied to the movement across the axes. The lower, the slower the movement.
-
-
-
-
- The amount of restitution on the axes movement. The lower, the more velocity-energy gets lost.
-
-
-
-
- The amount of damping that happens at the linear motion across the axes.
-
-
-
-
- The velocity that the joint's linear motor will attempt to reach.
-
-
-
-
- The maximum force that the linear motor can apply while trying to reach the target velocity.
-
-
-
-
- The minimum rotation in negative direction to break loose and rotate around the axes.
-
-
-
-
- The minimum rotation in positive direction to break loose and rotate around the axes.
-
-
-
-
- A factor that gets multiplied onto all rotations across the axes.
-
-
-
-
- The amount of rotational damping across the axes. The lower, the more dampening occurs.
-
-
-
-
- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
-
-
-
-
- The maximum amount of force that can occur, when rotating around the axes.
-
-
-
-
- When correcting the crossing of limits in rotation across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
-
-
-
-
- Target speed for the motor at the axes.
-
-
-
-
- Maximum acceleration for the motor at the axes.
-
-
-
-
- The maximum difference between the pivot points on their X axis before damping happens.
-
-
-
-
- The minimum difference between the pivot points on their X axis before damping happens.
-
-
-
-
- A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
-
-
-
-
- The amount of restitution once the limits are surpassed. The lower, the more velocityenergy gets lost.
-
-
-
-
- The amount of damping once the slider limits are surpassed.
-
-
-
-
- A factor applied to the movement across the slider axis as long as the slider is in the limits. The lower, the slower the movement.
-
-
-
-
- The amount of restitution inside the slider limits.
-
-
-
-
- The amount of damping inside the slider limits.
-
-
-
-
- A factor applied to the movement across axes orthogonal to the slider.
-
-
-
-
- The amount of restitution when movement is across axes orthogonal to the slider.
-
-
-
-
- The amount of damping when movement is across axes orthogonal to the slider.
-
-
-
-
- The upper limit of rotation in the slider.
-
-
-
-
- The lower limit of rotation in the slider.
-
-
-
-
- A factor applied to the all rotation once the limit is surpassed.
-
-
-
-
- The amount of restitution of the rotation when the limit is surpassed.
-
-
-
-
- The amount of damping of the rotation when the limit is surpassed.
-
-
-
-
- A factor that gets applied to the all rotation in the limits.
-
-
-
-
- The amount of restitution of the rotation in the limits.
-
-
-
-
- The amount of damping of the rotation in the limits.
-
-
-
-
- A factor that gets applied to the all rotation across axes orthogonal to the slider.
-
-
-
-
- The amount of restitution of the rotation across axes orthogonal to the slider.
-
-
-
-
- The amount of damping of the rotation across axes orthogonal to the slider.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The speed with which the two bodies get pulled together when they move in different directions.
-
-
-
-
- The maximum rotation across the Hinge.
-
-
-
-
- The minimum rotation across the Hinge.
-
-
-
-
- The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
-
-
-
-
- The lower this value, the more the rotation gets slowed down.
-
-
-
-
- Target speed for the motor.
-
-
-
-
- Maximum acceleration for the motor.
-
-
-
-
- If set there is linear motion possible within the given limits.
-
-
-
-
- If set there is rotational motion possible.
-
-
-
-
- If set there is a rotational motor across these axes.
-
-
-
-
- If set there is a linear motor on this axis that targets a specific velocity.
-
-
-
-
- If true, the Hinge has a maximum and a minimum rotation.
-
-
-
-
- If true, a motor turns the Hinge.
-
-
-
-
- This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
-
-
-
-
- This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
-
-
-
-
- This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
-
-
-
-
- This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
-
-
-
-
- This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
-
-
-
-
- Constant to set/get gravity strength in an area.
-
-
-
-
- Constant to set/get gravity vector/center in an area.
-
-
-
-
- Constant to set/get whether the gravity vector of an area is a direction, or a center point.
-
-
-
-
- Constant to set/get the falloff factor for point gravity of an area. The greater this value is, the faster the strength of gravity decreases with the square of distance.
-
-
-
-
- This constant was used to set/get the falloff factor for point gravity. It has been superseded by .
-
-
-
-
- Constant to set/get the linear dampening factor of an area.
-
-
-
-
- Constant to set/get the angular dampening factor of an area.
-
-
-
-
- Constant to set/get the priority (order of processing) of an area.
-
-
-
-
- Creates a shape of a type from . Does not assign it to a body or an area. To do so, you must use or .
-
-
-
-
- Sets the shape data that defines its shape and size. The data to be passed depends on the kind of shape created .
-
-
-
-
- Returns the type of shape (see constants).
-
-
-
-
- Returns the shape data.
-
-
-
-
- Creates a space. A space is a collection of parameters for the physics engine that can be assigned to an area or a body. It can be assigned to an area with , or to a body with .
-
-
-
-
- Marks a space as active. It will not have an effect, unless it is assigned to an area or body.
-
-
-
-
- Returns whether the space is active.
-
-
-
-
- Sets the value for a space parameter. A list of available parameters is on the constants.
-
-
-
-
- Returns the value of a space parameter.
-
-
-
-
- Returns the state of a space, a . This object can be used to make collision/intersection queries.
-
-
-
-
- Creates an .
-
-
-
-
- Assigns a space to the area.
-
-
-
-
- Returns the space assigned to the area.
-
-
-
-
- Sets the space override mode for the area. The modes are described in the constants.
-
-
-
-
- Returns the space override mode for the area.
-
-
-
-
- Adds a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
-
- If the parameter is null, then the default value is new Transform()
-
-
-
- Substitutes a given area shape by another. The old shape is selected by its index, the new one by its .
-
-
-
-
- Sets the transform matrix for an area shape.
-
-
-
-
- Returns the number of shapes assigned to an area.
-
-
-
-
- Returns the of the nth shape of an area.
-
-
-
-
- Returns the transform matrix of a shape within an area.
-
-
-
-
- Removes a shape from an area. It does not delete the shape, so it can be reassigned later.
-
-
-
-
- Removes all shapes from an area. It does not delete the shapes, so they can be reassigned later.
-
-
-
-
- Assigns the area to one or many physics layers.
-
-
-
-
- Sets which physics layers the area will monitor.
-
-
-
-
- Sets the value for an area parameter. A list of available parameters is on the constants.
-
-
-
-
- Sets the transform matrix for an area.
-
-
-
-
- Returns an area parameter value. A list of available parameters is on the constants.
-
-
-
-
- Returns the transform matrix for an area.
-
-
-
-
- Assigns the area to a descendant of , so it can exist in the node tree.
-
-
-
-
- Gets the instance ID of the object the area is assigned to.
-
-
-
-
- Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters:
- 1: or , depending on whether the object entered or exited the area.
- 2: of the object that entered/exited the area.
- 3: Instance ID of the object that entered/exited the area.
- 4: The shape index of the object that entered/exited the area.
- 5: The shape index of the area where the object entered/exited.
-
-
-
-
- Sets object pickable with rays.
-
-
-
-
- If true, area collides with rays.
-
-
-
-
- Creates a physics body. The first parameter can be any value from constants, for the type of body created. Additionally, the body can be created in sleeping state to save processing time.
-
-
-
-
- Assigns a space to the body (see ).
-
-
-
-
- Returns the of the space assigned to a body.
-
-
-
-
- Sets the body mode, from one of the constants.
-
-
-
-
- Returns the body mode.
-
-
-
-
- Sets the physics layer or layers a body belongs to.
-
-
-
-
- Returns the physics layer or layers a body belongs to.
-
-
-
-
- Sets the physics layer or layers a body can collide with.
-
-
-
-
- Returns the physics layer or layers a body can collide with.
- -
-
-
-
-
- Adds a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
-
- If the parameter is null, then the default value is new Transform()
-
-
-
- Substitutes a given body shape by another. The old shape is selected by its index, the new one by its .
-
-
-
-
- Sets the transform matrix for a body shape.
-
-
-
-
- Returns the number of shapes assigned to a body.
-
-
-
-
- Returns the of the nth shape of a body.
-
-
-
-
- Returns the transform matrix of a body shape.
-
-
-
-
- Removes a shape from a body. The shape is not deleted, so it can be reused afterwards.
-
-
-
-
- Removes all shapes from a body.
-
-
-
-
- Assigns the area to a descendant of , so it can exist in the node tree.
-
-
-
-
- Gets the instance ID of the object the area is assigned to.
-
-
-
-
- If true, the continuous collision detection mode is enabled.
- Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
-
-
-
-
- If true, the continuous collision detection mode is enabled.
-
-
-
-
- Sets a body parameter. A list of available parameters is on the constants.
-
-
-
-
- Returns the value of a body parameter. A list of available parameters is on the constants.
-
-
-
-
- Sets a body state (see constants).
-
-
-
-
- Returns a body state.
-
-
-
-
- Gives the body a push at a position in the direction of the impulse.
-
-
-
-
- Gives the body a push to rotate it.
-
-
-
-
- Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
-
-
-
-
- Adds a body to the list of bodies exempt from collisions.
-
-
-
-
- Removes a body from the list of bodies exempt from collisions.
- Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
-
-
-
-
- Sets the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
-
-
-
-
- Returns the maximum contacts that can be reported. See .
-
-
-
-
- Sets whether a body uses a callback function to calculate its own physics (see ).
-
-
-
-
- Returns whether a body uses a callback function to calculate its own physics (see ).
-
-
-
-
- Sets the function used to calculate physics for an object, if that object allows it (see ).
-
-
-
-
- Sets the body pickable with rays if enabled is set.
-
-
-
-
- If true, the body can be detected by rays.
-
-
-
-
- Returns the of the body.
-
-
-
-
- Creates a .
-
-
-
-
- Sets a pin_joint parameter (see constants).
-
-
-
-
- Gets a pin_joint parameter (see constants).
-
-
-
-
- Sets position of the joint in the local space of body a of the joint.
-
-
-
-
- Returns position of the joint in the local space of body a of the joint.
-
-
-
-
- Sets position of the joint in the local space of body b of the joint.
-
-
-
-
- Returns position of the joint in the local space of body b of the joint.
-
-
-
-
- Creates a .
-
-
-
-
- Sets a hinge_joint parameter (see constants).
-
-
-
-
- Gets a hinge_joint parameter (see ).
-
-
-
-
- Sets a hinge_joint flag (see constants).
-
-
-
-
- Gets a hinge_joint flag (see constants).
-
-
-
-
- Creates a .
-
-
-
-
- Gets a slider_joint parameter (see constants).
-
-
-
-
- Gets a slider_joint parameter (see constants).
-
-
-
-
- Creates a .
-
-
-
-
- Sets a cone_twist_joint parameter (see constants).
-
-
-
-
- Gets a cone_twist_joint parameter (see constants).
-
-
-
-
- Returns the type of the Joint.
-
-
-
-
- Sets the priority value of the Joint.
-
-
-
-
- Gets the priority value of the Joint.
-
-
-
-
- Creates a .
-
-
-
-
- Sets a generic_6_DOF_joint parameter (see constants).
-
-
-
-
- Gets a generic_6_DOF_joint parameter (see constants).
-
-
-
-
- Sets a generic_6_DOF_joint flag (see constants).
-
-
-
-
- Gets a generic_6_DOF_joint flag (see constants).
-
-
-
-
- Destroys any of the objects created by PhysicsServer. If the passed is not one of the objects that can be created by PhysicsServer, an error will be sent to the console.
-
-
-
-
- Activates or deactivates the 3D physics engine.
-
-
-
-
- Returns an Info defined by the input given.
-
-
-
-
- This class contains the shape and other parameters for 3D intersection/collision queries. See also .
-
-
-
-
- The physics layer(s) the query will take into account (as a bitmask). See Collision layers and masks in the documentation for more information.
-
-
-
-
- The list of objects or object s that will be excluded from collisions.
-
-
-
-
- The collision margin for the shape.
-
-
-
-
- The queried shape's . See also .
-
-
-
-
- The queried shape's transform matrix.
-
-
-
-
- If true, the query will take s into account.
-
-
-
-
- If true, the query will take s into account.
-
-
-
-
- Sets the that will be used for collision/intersection queries.
-
-
-
-
- The result of a 3D shape query in . See also .
-
-
-
-
- Returns the number of objects that intersected with the shape.
-
-
-
-
- Returns the of the object that intersected with the shape at index idx.
-
-
-
-
- Returns the instance ID of the that intersected with the shape at index idx.
-
-
-
-
- Returns the that intersected with the shape at index idx.
-
-
-
-
- Returns the child index of the object's that intersected with the shape at index idx.
-
-
-
-
- Pin joint for 3D rigid bodies. It pins 2 bodies (rigid or static) together.
-
-
-
-
- The force with which the pinned objects stay in positional relation to each other. The higher, the stronger.
-
-
-
-
- The force with which the pinned objects stay in velocity relation to each other. The higher, the stronger.
-
-
-
-
- If above 0, this value is the maximum value for an impulse that this Joint produces.
-
-
-
-
- The force with which the pinned objects stay in positional relation to each other. The higher, the stronger.
-
-
-
-
- The force with which the pinned objects stay in velocity relation to each other. The higher, the stronger.
-
-
-
-
- If above 0, this value is the maximum value for an impulse that this Joint produces.
-
-
-
-
- Sets the value of the specified parameter.
-
-
-
-
- Returns the value of the specified parameter.
-
-
-
-
- Pin Joint for 2D rigid bodies. It pins two bodies (rigid or static) together.
-
-
-
-
- The higher this value, the more the bond to the pinned partner can flex.
-
-
-
-
- Class representing a planar . This flat mesh does not have a thickness. By default, this mesh is aligned on the X and Z axes; this default rotation isn't suited for use with billboarded materials. For billboarded materials, use instead.
-
-
-
-
- Size of the generated plane.
-
-
-
-
- Number of subdivision along the X axis.
-
-
-
-
- Number of subdivision along the Z axis.
-
-
-
-
- An infinite plane shape for 3D collisions. Note that the 's normal matters; anything "below" the plane will collide with it. If the is used in a , it will cause colliding objects placed "below" it to teleport "above" the plane.
-
-
-
-
- The used by the for collision.
-
-
-
-
- Returns a new instance of the script.
-
-
-
-
- The PointMesh is made from a single point. Instead of relying on triangles, points are rendered as a single rectangle on the screen with a constant size. They are intended to be used with Particle systems, but can be used as a cheap way to render constant size billboarded sprites (for example in a point cloud).
- PointMeshes, must be used with a material that has a point size. Point size can be accessed in a shader with POINT_SIZE, or in a by setting and the variable .
- When using PointMeshes, properties that normally alter vertices will be ignored, including billboard mode, grow, and cull face.
-
-
-
-
- A Polygon2D is defined by a set of points. Each point is connected to the next, with the final point being connected to the first, resulting in a closed polygon. Polygon2Ds can be filled with color (solid or gradient) or filled with a given texture.
- Note: By default, Godot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase and .
-
-
-
-
- The polygon's fill color. If texture is defined, it will be multiplied by this color. It will also be the default color for vertices not set in vertex_colors.
-
-
-
-
- The offset applied to each vertex.
-
-
-
-
- If true, polygon edges will be anti-aliased.
-
-
-
-
- The polygon's fill texture. Use uv to set texture coordinates.
-
-
-
-
- Amount to offset the polygon's texture. If (0, 0) the texture's origin (its top-left corner) will be placed at the polygon's position.
-
-
-
-
- Amount to multiply the uv coordinates when using a texture. Larger values make the texture smaller, and vice versa.
-
-
-
-
- The texture's rotation in degrees.
-
-
-
-
- The texture's rotation in radians.
-
-
-
-
- If true, polygon will be inverted, containing the area outside the defined points and extending to the invert_border.
-
-
-
-
- Added padding applied to the bounding box when using invert. Setting this value too small may result in a "Bad Polygon" error.
-
-
-
-
- The polygon's list of vertices. The final point will be connected to the first.
- Note: This returns a copy of the rather than a reference.
-
-
-
-
- Texture coordinates for each vertex of the polygon. There should be one uv per polygon vertex. If there are fewer, undefined vertices will use (0, 0).
-
-
-
-
- Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use color.
-
-
-
-
- Adds a bone with the specified path and weights.
-
-
-
-
- Returns the number of bones in this .
-
-
-
-
- Returns the path to the node associated with the specified bone.
-
-
-
-
- Returns the height values of the specified bone.
-
-
-
-
- Removes the specified bone from this .
-
-
-
-
- Removes all bones from this .
-
-
-
-
- Sets the path to the node associated with the specified bone.
-
-
-
-
- Sets the weight values for the specified bone.
-
-
-
-
- Popup is a base used to show dialogs and popups. It's a subwindow and modal by default (see ) and has helpers for custom popup behavior. All popup methods ensure correct placement within the viewport.
-
-
-
-
- Notification sent right after the popup is shown.
-
-
-
-
- Notification sent right after the popup is hidden.
-
-
-
-
- If true, the popup will not be hidden when a click event occurs outside of it, or when it receives the ui_cancel action event.
- Note: Enabling this property doesn't affect the Close or Cancel buttons' behavior in dialogs that inherit from this class. As a workaround, you can use or and hide the buttons in question by setting their property to false.
-
-
-
-
- Shrink popup to keep to the minimum size of content.
-
-
-
-
- Popup (show the control in modal form) in the center of the screen relative to its current canvas transform, at the current size, or at a size determined by size.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, scaled at a ratio of size of the screen.
-
-
-
-
- Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, ensuring the size is never smaller than minsize.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, clamping the size to size, then ensuring the popup is no larger than the viewport size multiplied by fallback_ratio.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Popup (show the control in modal form).
-
- If the parameter is null, then the default value is new Rect2(0, 0, 0, 0)
-
-
-
- PopupDialog is a base class for popup dialogs, along with .
-
-
-
-
- is a that displays a list of options. They are popular in toolbars or context menus.
-
-
-
-
- If true, hides the when an item is selected.
-
-
-
-
- If true, hides the when a checkbox or radio button is selected.
-
-
-
-
- If true, hides the when a state item is selected.
-
-
-
-
- Sets the delay time in seconds for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item.
-
-
-
-
- If true, allows to navigate with letter keys.
-
-
-
-
- Adds a new item with text label.
- An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.
-
-
-
-
- Adds a new item with text label and icon texture.
- An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.
-
-
-
-
- Adds a new checkable item with text label.
- An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.
-
-
-
-
- Adds a new checkable item with text label and icon texture.
- An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.
-
-
-
-
- Adds a new radio check button with text label.
- An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.
-
-
-
-
- Same as , but uses a radio check button.
-
-
-
-
- Adds a new multistate item with text label.
- Contrarily to normal binary items, multistate items can have more than two states, as defined by max_states. Each press or activate of the item will increase the state by one. The default value is defined by default_state.
- An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.
-
-
-
-
- Adds a .
- An id can optionally be provided. If no id is provided, one will be created from the index.
-
-
-
-
- Adds a new item and assigns the specified and icon texture to it. Sets the label of the checkbox to the 's name.
- An id can optionally be provided. If no id is provided, one will be created from the index.
-
-
-
-
- Adds a new checkable item and assigns the specified to it. Sets the label of the checkbox to the 's name.
- An id can optionally be provided. If no id is provided, one will be created from the index.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.
-
-
-
-
- Adds a new checkable item and assigns the specified and icon texture to it. Sets the label of the checkbox to the 's name.
- An id can optionally be provided. If no id is provided, one will be created from the index.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.
-
-
-
-
- Adds a new radio check button and assigns a to it. Sets the label of the checkbox to the 's name.
- An id can optionally be provided. If no id is provided, one will be created from the index.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.
-
-
-
-
- Same as , but uses a radio check button.
-
-
-
-
- Adds an item that will act as a submenu of the parent node when clicked. The submenu argument is the name of the child node that will be shown when the item is clicked.
- An id can optionally be provided. If no id is provided, one will be created from the index.
-
-
-
-
- Sets the text of the item at index idx.
-
-
-
-
- Replaces the icon of the specified idx.
-
-
-
-
- Sets the checkstate status of the item at index idx.
-
-
-
-
- Sets the id of the item at index idx.
-
-
-
-
- Sets the accelerator of the item at index idx. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
-
-
-
-
- Sets the metadata of an item, which may be of any type. You can later get it with , which provides a simple way of assigning context data to items.
-
-
-
-
- Enables/disables the item at index idx. When it is disabled, it can't be selected and its action can't be invoked.
-
-
-
-
- Sets the submenu of the item at index idx. The submenu is the name of a child node that would be shown when the item is clicked.
-
-
-
-
- Mark the item at index idx as a separator, which means that it would be displayed as a line. If false, sets the type of the item to plain text.
-
-
-
-
- Sets whether the item at index idx has a checkbox. If false, sets the type of the item to plain text.
- Note: Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
-
-
-
-
- Sets the type of the item at the specified index idx to radio button. If false, sets the type of the item to plain text.
-
-
-
-
- Sets the tooltip of the item at the specified index idx.
-
-
-
-
- Sets a for the specified item idx.
-
-
-
-
- Sets the state of an multistate item. See for details.
-
-
-
-
- Disables the of the specified index idx.
-
-
-
-
- Toggles the check state of the item of the specified index idx.
-
-
-
-
- Cycle to the next state of an multistate item. See for details.
-
-
-
-
- Returns the text of the item at index idx.
-
-
-
-
- Returns the icon of the item at index idx.
-
-
-
-
- Returns true if the item at index idx is checked.
-
-
-
-
- Returns the id of the item at index idx. id can be manually assigned, while index can not.
-
-
-
-
- Returns the index of the item containing the specified id. Index is automatically assigned to each item by the engine. Index can not be set manually.
-
-
-
-
- Returns the accelerator of the item at index idx. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
-
-
-
-
- Returns the metadata of the specified item, which might be of any type. You can set it with , which provides a simple way of assigning context data to items.
-
-
-
-
- Returns true if the item at index idx is disabled. When it is disabled it can't be selected, or its action invoked.
- See for more info on how to disable an item.
-
-
-
-
- Returns the submenu name of the item at index idx. See for more info on how to add a submenu.
-
-
-
-
- Returns true if the item is a separator. If it is, it will be displayed as a line. See for more info on how to add a separator.
-
-
-
-
- Returns true if the item at index idx is checkable in some way, i.e. if it has a checkbox or radio button.
- Note: Checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
-
-
-
-
- Returns true if the item at index idx has radio button-style checkability.
- Note: This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
-
-
-
-
- Returns true if the specified item's shortcut is disabled.
-
-
-
-
- Returns the tooltip associated with the specified index index idx.
-
-
-
-
- Returns the associated with the specified idx item.
-
-
-
-
- Returns the number of items in the .
-
-
-
-
- Removes the item at index idx from the menu.
- Note: The indices of items after the removed item will be shifted by one.
-
-
-
-
- Adds a separator between items. Separators also occupy an index.
-
-
-
-
- Removes all items from the .
-
-
-
-
- Hides the when the window loses focus.
-
-
-
-
- Returns true if the popup will be hidden when the window loses focus or not.
-
-
-
-
- Class for displaying popups with a panel background. In some cases it might be simpler to use than , since it provides a configurable background. If you are making windows, better check .
-
-
-
-
- Generic 2D position hint for editing. It's just like a plain , but it displays as a cross in the 2D editor at all times. You can set cross' visual size by using the gizmo in the 2D editor while the node is selected.
-
-
-
-
- Generic 3D position hint for editing. It's just like a plain , but it displays as a cross in the 3D editor at all times.
-
-
-
-
- Base class for all primitive meshes. Handles applying a to a primitive mesh. Examples include , , , , , , and .
-
-
-
-
- The current of the primitive mesh.
-
-
-
-
- Overrides the with one defined by user for use with frustum culling. Especially useful to avoid unnexpected culling when using a shader to offset vertices.
-
-
-
-
- If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.
- This gives the same result as using in .
-
-
-
-
- Returns mesh arrays used to constitute surface of . The result can be passed to to create a new surface. For example:
-
- var c := CylinderMesh.new()
- var arr_mesh := ArrayMesh.new()
- arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c.get_mesh_arrays())
-
-
-
-
-
- Class representing a prism-shaped .
-
-
-
-
- Displacement of the upper edge along the X axis. 0.0 positions edge straight above the bottom-left edge.
-
-
-
-
- Size of the prism.
-
-
-
-
- Number of added edge loops along the X axis.
-
-
-
-
- Number of added edge loops along the Y axis.
-
-
-
-
- Number of added edge loops along the Z axis.
-
-
-
-
- ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky.
- The ProceduralSky is updated on the CPU after the parameters change. It is stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for real-time updates during gameplay. However, with a small enough texture size, it can still be updated relatively frequently, as it is updated on a background thread when multi-threading is available.
-
-
-
-
- Sky texture will be 256x128.
-
-
-
-
- Sky texture will be 512x256.
-
-
-
-
- Sky texture will be 1024x512. This is the default size.
-
-
-
-
- Sky texture will be 2048x1024.
-
-
-
-
- Sky texture will be 4096x2048.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Color of the sky at the top.
-
-
-
-
- Color of the sky at the horizon.
-
-
-
-
- How quickly the fades into the .
-
-
-
-
- Amount of energy contribution from the sky.
-
-
-
-
- Color of the ground at the bottom.
-
-
-
-
- Color of the ground at the horizon.
-
-
-
-
- How quickly the fades into the .
-
-
-
-
- Amount of energy contribution from the ground.
-
-
-
-
- The sun's color.
-
-
-
-
- The sun's height using polar coordinates.
-
-
-
-
- The direction of the sun using polar coordinates.
-
-
-
-
- Distance from sun where it goes from solid to starting to fade.
-
-
-
-
- Distance from center of sun where it fades out completely.
-
-
-
-
- How quickly the sun fades away between and .
-
-
-
-
- Amount of energy contribution from the sun.
-
-
-
-
- Size of that the ProceduralSky will generate. The size is set using .
-
-
-
-
- General-purpose progress bar. Shows fill percentage from right to left.
-
-
-
-
- If true, the fill percentage is displayed on the bar.
-
-
-
-
- Contains global variables accessible from everywhere. Use , or to access them. Variables stored in project.godot are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
- When naming a Project Settings property, use the full path to the setting including the category. For example, "application/config/name" for the project name. Category and property names can be viewed in the Project Settings dialog.
- Overriding: Any project setting can be overridden by creating a file named override.cfg in the project's root directory. This can also be used in exported projects by placing this file in the same directory as the project binary.
-
-
-
-
- Returns true if a configuration value is present.
-
-
-
-
- Sets the value of a setting.
- Example:
-
- ProjectSettings.set_setting("application/config/name", "Example")
-
-
-
-
-
- Returns the value of a setting.
- Example:
-
- print(ProjectSettings.get_setting("application/config/name"))
-
-
-
-
-
- Sets the order of a configuration value (influences when saved to the config file).
-
-
-
-
- Returns the order of a configuration value (influences when saved to the config file).
-
-
-
-
- Sets the specified property's initial value. This is the value the property reverts to.
-
-
-
-
- Adds a custom property info to a property. The dictionary must contain:
- - name: (the property's name)
- - type: (see )
- - optionally hint: (see ) and hint_string:
- Example:
-
- ProjectSettings.set("category/property_name", 0)
-
- var property_info = {
- "name": "category/property_name",
- "type": TYPE_INT,
- "hint": PROPERTY_HINT_ENUM,
- "hint_string": "one,two,three"
- }
-
- ProjectSettings.add_property_info(property_info)
-
-
-
-
-
- Clears the whole configuration (not recommended, may break things).
-
-
-
-
- Convert a path to a localized path (res:// path).
-
-
-
-
- Converts a localized path (res://) to a full native OS path.
-
-
-
-
- Saves the configuration to the project.godot file.
-
-
-
-
- Loads the contents of the .pck or .zip file specified by pack into the resource filesystem (res://). Returns true on success.
- Note: If a file from pack shares the same path as a file already in the resource filesystem, any attempts to load that file will use the file from pack unless replace_files is set to false.
-
-
-
-
- Returns true if the specified property exists and its initial value differs from the current value.
-
-
-
-
- Returns the specified property's initial value. Returns null if the property does not exist.
-
-
-
-
- Saves the configuration to a custom file. The file extension must be .godot (to save in text-based format) or .binary (to save in binary format).
-
-
-
-
- General-purpose proximity detection node.
-
-
-
-
- Class representing a square . This flat mesh does not have a thickness. By default, this mesh is aligned on the X and Y axes; this default rotation is more suited for use with billboarded materials. Unlike , this mesh doesn't provide subdivision options.
-
-
-
-
- Size on the X and Y axes.
-
-
-
-
- RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32.
- Note: The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
- To generate a random float number (within a given range) based on a time-dependant seed:
-
- var rng = RandomNumberGenerator.new()
- func _ready():
- rng.randomize()
- var my_random_number = rng.randf_range(-10.0, 10.0)
-
-
-
-
-
- The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.
- Note: The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.
-
-
-
-
- Generates a pseudo-random 32-bit unsigned integer between 0 and 4294967295 (inclusive).
-
-
-
-
- Generates a pseudo-random float between 0.0 and 1.0 (inclusive).
-
-
-
-
- Generates a normally-distributed pseudo-random number, using Box-Muller transform with the specified mean and a standard deviation. This is also called Gaussian distribution.
-
-
-
-
- Generates a pseudo-random float between from and to (inclusive).
-
-
-
-
- Generates a pseudo-random 32-bit signed integer between from and to (inclusive).
-
-
-
-
- Setups a time-based seed to generator.
-
-
-
-
- Range is a base class for nodes that change a floating-point value between a minimum and a maximum, using step and page, for example a .
-
-
-
-
- Minimum value. Range is clamped if value is less than min_value.
-
-
-
-
- Maximum value. Range is clamped if value is greater than max_value.
-
-
-
-
- If greater than 0, value will always be rounded to a multiple of step. If rounded is also true, value will first be rounded to a multiple of step then rounded to the nearest integer.
-
-
-
-
- Page size. Used mainly for . ScrollBar's length is its size multiplied by page over the difference between min_value and max_value.
-
-
-
-
- Range's current value.
-
-
-
-
- The value mapped between 0 and 1.
-
-
-
-
- If true, and min_value is greater than 0, value will be represented exponentially rather than linearly.
-
-
-
-
- If true, value will always be rounded to the nearest integer.
-
-
-
-
- If true, may be greater than .
-
-
-
-
- If true, may be less than .
-
-
-
-
- Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
-
-
-
-
- Stops range from sharing its member variables with any other.
-
-
-
-
- A RayCast represents a line from its origin to its destination position, cast_to. It is used to query the 3D space in order to find the closest object along the path of the ray.
- RayCast can ignore some objects by adding them to the exception list via add_exception or by setting proper filtering with collision layers and masks.
- RayCast can be configured to report collisions with s () and/or s ().
- Only enabled raycasts will be able to query the space and report collisions.
- RayCast calculates intersection every physics frame (see ), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame), use after adjusting the raycast.
-
-
-
-
- If true, collisions will be reported.
-
-
-
-
- If true, collisions will be ignored for this RayCast's immediate parent.
-
-
-
-
- The ray's destination point, relative to the RayCast's position.
-
-
-
-
- The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See Collision layers and masks in the documentation for more information.
-
-
-
-
- If true, collision with s will be reported.
-
-
-
-
- If true, collision with s will be reported.
-
-
-
-
- Returns whether any object is intersecting with the ray's vector (considering the vector length).
-
-
-
-
- Updates the collision information for the ray.
- Use this method to update the collision information immediately instead of waiting for the next _physics_process call, for example if the ray or its parent has changed state.
- Note: enabled is not required for this to work.
-
-
-
-
- Returns the first object that the ray intersects, or null if no object is intersecting the ray (i.e. returns false).
-
-
-
-
- Returns the shape ID of the first object that the ray intersects, or 0 if no object is intersecting the ray (i.e. returns false).
-
-
-
-
- Returns the collision point at which the ray intersects the closest object.
- Note: This point is in the global coordinate system.
-
-
-
-
- Returns the normal of the intersecting object's shape at the collision point.
-
-
-
-
- Adds a collision exception so the ray does not report collisions with the specified .
-
-
-
-
- Adds a collision exception so the ray does not report collisions with the specified node.
-
-
-
-
- Removes a collision exception so the ray does report collisions with the specified .
-
-
-
-
- Removes a collision exception so the ray does report collisions with the specified node.
-
-
-
-
- Removes all collision exceptions for this ray.
-
-
-
-
- Sets the bit index passed to the value passed.
- Note: Bit indexes range from 0-19.
-
-
-
-
- Returns true if the bit index passed is turned on.
- Note: Bit indices range from 0-19.
-
-
-
-
- A RayCast represents a line from its origin to its destination position, cast_to. It is used to query the 2D space in order to find the closest object along the path of the ray.
- RayCast2D can ignore some objects by adding them to the exception list via add_exception, by setting proper filtering with collision layers, or by filtering object types with type masks.
- RayCast2D can be configured to report collisions with s () and/or s ().
- Only enabled raycasts will be able to query the space and report collisions.
- RayCast2D calculates intersection every physics frame (see ), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame) use after adjusting the raycast.
-
-
-
-
- If true, collisions will be reported.
-
-
-
-
- If true, the parent node will be excluded from collision detection.
-
-
-
-
- The ray's destination point, relative to the RayCast's position.
-
-
-
-
- The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See Collision layers and masks in the documentation for more information.
-
-
-
-
- If true, collision with s will be reported.
-
-
-
-
- If true, collision with s will be reported.
-
-
-
-
- Returns whether any object is intersecting with the ray's vector (considering the vector length).
-
-
-
-
- Updates the collision information for the ray. Use this method to update the collision information immediately instead of waiting for the next _physics_process call, for example if the ray or its parent has changed state.
- Note: enabled is not required for this to work.
-
-
-
-
- Returns the first object that the ray intersects, or null if no object is intersecting the ray (i.e. returns false).
-
-
-
-
- Returns the shape ID of the first object that the ray intersects, or 0 if no object is intersecting the ray (i.e. returns false).
-
-
-
-
- Returns the collision point at which the ray intersects the closest object.
- Note: this point is in the global coordinate system.
-
-
-
-
- Returns the normal of the intersecting object's shape at the collision point.
-
-
-
-
- Adds a collision exception so the ray does not report collisions with the specified .
-
-
-
-
- Adds a collision exception so the ray does not report collisions with the specified node.
-
-
-
-
- Removes a collision exception so the ray does report collisions with the specified .
-
-
-
-
- Removes a collision exception so the ray does report collisions with the specified node.
-
-
-
-
- Removes all collision exceptions for this ray.
-
-
-
-
- Sets or clears individual bits on the collision mask. This makes selecting the areas scanned easier.
-
-
-
-
- Returns an individual bit on the collision mask.
-
-
-
-
- Ray shape for 3D collisions, which can be set into a or . A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
-
-
-
-
- The ray's length.
-
-
-
-
- If true, allow the shape to return the correct normal.
-
-
-
-
- Ray shape for 2D collisions. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
-
-
-
-
- The ray's length.
-
-
-
-
- If true, allow the shape to return the correct normal.
-
-
-
-
- Rectangle shape for 2D collisions. This shape is useful for modeling box-like 2D objects.
-
-
-
-
- The rectangle's half extents. The width and height of this shape is twice the half extents.
-
-
-
-
- Base class for any object that keeps a reference count. and many other helper objects inherit this class.
- Unlike s, References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with .
- In the vast majority of use cases, instantiating and using -derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused.
-
-
-
-
- Initializes the internal reference counter. Use this only if you really know what you are doing.
- Returns whether the initialization was successful.
-
-
-
-
- Increments the internal reference counter. Use this only if you really know what you are doing.
- Returns true if the increment was successful, false otherwise.
-
-
-
-
- Decrements the internal reference counter. Use this only if you really know what you are doing.
- Returns true if the decrement was successful, false otherwise.
-
-
-
-
- A rectangle box that displays only a border color around its rectangle. has no fill .
-
-
-
-
- Sets the border of the .
-
-
-
-
- If set to true, the will only be visible while in editor. Otherwise, will be visible in game.
-
-
-
-
- Capture its surroundings as a dual paraboloid image, and stores versions of it with increasing levels of blur to simulate different material roughnesses.
- The is used to create high-quality reflections at the cost of performance. It can be combined with s and Screen Space Reflections to achieve high quality reflections. s render all objects within their , so updating them can be quite expensive. It is best to update them once with the important static objects and then leave them.
- Note: By default Godot will only render 16 reflection probes. If you need more, increase the number of atlas subdivisions. This setting can be found in .
-
-
-
-
- Update the probe once on the next frame.
-
-
-
-
- Update the probe every frame. This is needed when you want to capture dynamic objects. However, it results in an increased render time. Use whenever possible.
-
-
-
-
- Sets how frequently the probe is updated. Can be or .
-
-
-
-
- Defines the reflection intensity. Intensity modulates the strength of the reflection.
-
-
-
-
- Sets the max distance away from the probe an object can be before it is culled.
-
-
-
-
- The size of the reflection probe. The larger the extents the more space covered by the probe which will lower the perceived resolution. It is best to keep the extents only as large as you need them.
-
-
-
-
- Sets the origin offset to be used when this reflection probe is in box project mode.
-
-
-
-
- If true, enables box projection. This makes reflections look more correct in rectangle-shaped rooms by offsetting the reflection center depending on the camera's location.
-
-
-
-
- If true, computes shadows in the reflection probe. This makes the reflection probe slower to render; you may want to disable this if using the .
-
-
-
-
- Sets the cull mask which determines what objects are drawn by this probe. Every with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost.
-
-
-
-
- If true, reflections will ignore sky contribution. Ambient lighting is then controlled by the interior_ambient_* properties.
-
-
-
-
- Sets the ambient light color to be used when this probe is set to .
-
-
-
-
- Sets the energy multiplier for this reflection probe's ambient light contribution when set to .
-
-
-
-
- Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to . Useful so that ambient light matches the color of the room.
-
-
-
-
- A regular expression (or regex) is a compact language that can be used to recognise strings that follow a specific pattern, such as URLs, email addresses, complete sentences, etc. For instance, a regex of ab[0-9] would find any string that is ab followed by any number from 0 to 9. For a more in-depth look, you can easily find various tutorials and detailed explanations on the Internet.
- To begin, the RegEx object needs to be compiled with the search pattern using before it can be used.
-
- var regex = RegEx.new()
- regex.compile("\\w-(\\d+)")
-
- The search pattern must be escaped first for GDScript before it is escaped for the expression. For example, compile("\\d+") would be read by RegEx as \d+. Similarly, compile("\"(?:\\\\.|[^\"])*\"") would be read as "(?:\\.|[^"])*".
- Using , you can find the pattern within the given text. If a pattern is found, is returned and you can retrieve details of the results using methods such as and .
-
- var regex = RegEx.new()
- regex.compile("\\w-(\\d+)")
- var result = regex.search("abc n-0123")
- if result:
- print(result.get_string()) # Would print n-0123
-
- The results of capturing groups () can be retrieved by passing the group number to the various methods in . Group 0 is the default and will always refer to the entire pattern. In the above example, calling result.get_string(1) would give you 0123.
- This version of RegEx also supports named capturing groups, and the names can be used to retrieve the results. If two or more groups have the same name, the name would only refer to the first one with a match.
-
- var regex = RegEx.new()
- regex.compile("d(?<digit>[0-9]+)|x(?<digit>[0-9a-f]+)")
- var result = regex.search("the number is x2f")
- if result:
- print(result.get_string("digit")) # Would print 2f
-
- If you need to process multiple results, generates a list of all non-overlapping results. This can be combined with a for loop for convenience.
-
- for result in regex.search_all("d01, d03, d0c, x3f and x42"):
- print(result.get_string("digit"))
- # Would print 01 03 0 3f 42
-
- Example of splitting a string using a RegEx:
-
- var regex = RegEx.new()
- regex.compile("\\S+") # Negated whitespace character class.
- var results = []
- for match in regex.search_all("One Two \n\tThree"):
- results.push_back(match.get_string())
- # The `results` array now contains "One", "Two", "Three".
-
- Note: Godot's regex implementation is based on the PCRE2 library. You can view the full pattern reference here.
- Tip: You can use Regexr to test regular expressions online.
-
-
-
-
- This method resets the state of the object, as if it was freshly created. Namely, it unassigns the regular expression of this object.
-
-
-
-
- Compiles and assign the search pattern to use. Returns if the compilation is successful. If an error is encountered, details are printed to standard output and an error is returned.
-
-
-
-
- Searches the text for the compiled pattern. Returns a container of the first matching result if found, otherwise null. The region to search within can be specified without modifying where the start and end anchor would be.
-
-
-
-
- Searches the text for the compiled pattern. Returns an array of containers for each non-overlapping result. If no results were found, an empty array is returned instead. The region to search within can be specified without modifying where the start and end anchor would be.
-
-
-
-
- Searches the text for the compiled pattern and replaces it with the specified string. Escapes and backreferences such as $1 and $name are expanded and resolved. By default, only the first instance is replaced, but it can be changed for all instances (global replacement). The region to search within can be specified without modifying where the start and end anchor would be.
-
-
-
-
- Returns whether this object has a valid search pattern assigned.
-
-
-
-
- Returns the original search pattern that was compiled.
-
-
-
-
- Returns the number of capturing groups in compiled pattern.
-
-
-
-
- Returns an array of names of named capturing groups in the compiled pattern. They are ordered by appearance.
-
-
-
-
- Contains the results of a single match returned by and . It can be used to find the position and range of the match and its capturing groups, and it can extract its substring for you.
-
-
-
-
- The source string used with the search pattern to find this matching result.
-
-
-
-
- A dictionary of named groups and its corresponding group number. Only groups that were matched are included. If multiple groups have the same name, that name would refer to the first matching one.
-
-
-
-
- An of the match and its capturing groups.
-
-
-
-
- Returns the number of capturing groups.
-
-
-
-
- Returns the substring of the match from the source string. Capturing groups can be retrieved by providing its group number as an integer or its string name (if it's a named group). The default value of 0 refers to the whole pattern.
- Returns an empty string if the group did not match or doesn't exist.
-
- If the parameter is null, then the default value is (object)0
-
-
-
- Returns the starting position of the match within the source string. The starting position of capturing groups can be retrieved by providing its group number as an integer or its string name (if it's a named group). The default value of 0 refers to the whole pattern.
- Returns -1 if the group did not match or doesn't exist.
-
- If the parameter is null, then the default value is (object)0
-
-
-
- Returns the end position of the match within the source string. The end position of capturing groups can be retrieved by providing its group number as an integer or its string name (if it's a named group). The default value of 0 refers to the whole pattern.
- Returns -1 if the group did not match or doesn't exist.
-
- If the parameter is null, then the default value is (object)0
-
-
-
- RemoteTransform pushes its own to another derived Node (called the remote node) in the scene.
- It can be set to update another Node's position, rotation and/or scale. It can use either global or local coordinates.
-
-
-
-
- The to the remote node, relative to the RemoteTransform's position in the scene.
-
-
-
-
- If true, global coordinates are used. If false, local coordinates are used.
-
-
-
-
- If true, the remote node's position is updated.
-
-
-
-
- If true, the remote node's rotation is updated.
-
-
-
-
- If true, the remote node's scale is updated.
-
-
-
-
- caches the remote node. It may not notice if the remote node disappears; forces it to update the cache again.
-
-
-
-
- RemoteTransform2D pushes its own to another derived Node (called the remote node) in the scene.
- It can be set to update another Node's position, rotation and/or scale. It can use either global or local coordinates.
-
-
-
-
- The to the remote node, relative to the RemoteTransform2D's position in the scene.
-
-
-
-
- If true, global coordinates are used. If false, local coordinates are used.
-
-
-
-
- If true, the remote node's position is updated.
-
-
-
-
- If true, the remote node's rotation is updated.
-
-
-
-
- If true, the remote node's scale is updated.
-
-
-
-
- caches the remote node. It may not notice if the remote node disappears; forces it to update the cache again.
-
-
-
-
- Resource is the base class for all Godot-specific resource types, serving primarily as data containers. Unlike s, they are reference-counted and freed when no longer in use. They are also cached once loaded from disk, so that any further attempts to load a resource from a given path will return the same reference (all this in contrast to a , which is not reference-counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a or another resource.
-
-
-
-
- If true, the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
-
-
-
-
- The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.
-
-
-
-
- The name of the resource. This is an optional identifier.
-
-
-
-
- Virtual function which can be overridden to customize the behavior value of .
-
-
-
-
- Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting , as the latter would error out if another resource was already cached for the given path.
-
-
-
-
- Returns the RID of the resource (or an empty RID). Many resources (such as , , etc) are high-level abstractions of resources stored in a server, so this function will return the original RID.
-
-
-
-
- If is enabled and the resource was loaded from a instantiation, returns the local scene where this resource's unique copy is in use. Otherwise, returns null.
-
-
-
-
- This method is called when a resource with enabled is loaded from a instantiation. Its behavior can be customized by overriding from script.
- For most resources, this method performs no base logic. performs custom logic to properly set the proxy texture and flags in the local viewport.
-
-
-
-
- Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing true to the subresources argument which will copy the subresources.
- Note: If subresources is true, this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.
-
-
-
-
- Godot loads resources in the editor or in exported games using ResourceFormatLoaders. They are queried automatically via the singleton, or when a resource with internal dependencies is loaded. Each file type may load as a different resource type, so multiple ResourceFormatLoaders are registered in the engine.
- Extending this class allows you to define your own loader. Be sure to respect the documented return types and values. You should give it a global class name with class_name for it to be registered. Like built-in ResourceFormatLoaders, it will be called automatically when loading resources of its handled type(s). You may also implement a .
- Note: You can also extend if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends if the format is suitable or not for the final exported game. For example, it's better to import .png textures as .stex () first, so they can be loaded with better efficiency on the graphics card.
-
-
-
-
- If implemented, gets the dependencies of a given resource. If add_types is true, paths should be appended ::TypeName, where TypeName is the class name of the dependency.
- Note: Custom resource types defined by scripts aren't known by the , so you might just return "Resource" for them.
-
-
-
-
- Gets the list of extensions for files this loader is able to read.
-
-
-
-
- Gets the class name of the resource associated with the given path. If the loader cannot handle it, it should return "".
- Note: Custom resource types defined by scripts aren't known by the , so you might just return "Resource" for them.
-
-
-
-
- Tells which resource class this loader can load.
- Note: Custom resource types defined by scripts aren't known by the , so you might just handle "Resource" for them.
-
-
-
-
- Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, original_path will target the source file. Returns a object on success, or an constant in case of failure.
-
-
-
-
- If implemented, renames dependencies within the given resource and saves it. renames is a dictionary { String => String } mapping old dependency paths to new paths.
- Returns on success, or an constant in case of failure.
-
-
-
-
- The engine can save resources when you do it from the editor, or when you use the singleton. This is accomplished thanks to multiple s, each handling its own format and called automatically by the engine.
- By default, Godot saves resources as .tres (text-based), .res (binary) or another built-in format, but you can choose to create your own format by extending this class. Be sure to respect the documented return types and values. You should give it a global class name with class_name for it to be registered. Like built-in ResourceFormatSavers, it will be called automatically when saving resources of its recognized type(s). You may also implement a .
-
-
-
-
- Returns the list of extensions available for saving the resource object, provided it is recognized (see ).
-
-
-
-
- Returns whether the given resource object can be saved by this saver.
-
-
-
-
- Saves the given resource object to a file at the target path. flags is a bitmask composed with constants.
- Returns on success, or an constant in case of failure.
-
-
-
-
- Interactive loader. This object is returned by when performing an interactive load. It allows loading resources with high granularity, which makes it mainly useful for displaying loading bars or percentages.
-
-
-
-
- Returns the loaded resource if the load operation completed successfully, null otherwise.
-
-
-
-
- Polls the loading operation, i.e. loads a data chunk up to the next stage.
- Returns if the poll is successful but the load operation has not finished yet (intermediate stage). This means will have to be called again until the last stage is completed.
- Returns if the load operation has completed successfully. The loaded resource can be obtained by calling .
- Returns another code if the poll has failed.
-
-
-
-
- Polls the loading operation successively until the resource is completely loaded or a fails.
- Returns if the load operation has completed successfully. The loaded resource can be obtained by calling .
- Returns another code if a poll has failed, aborting the operation.
-
-
-
-
- Returns the load stage. The total amount of stages can be queried with .
-
-
-
-
- Returns the total amount of stages (calls to ) needed to completely load this resource.
-
-
-
-
- This node is used to preload sub-resources inside a scene, so when the scene is loaded, all the resources are ready to use and can be retrieved from the preloader.
- GDScript has a simplified @GDScript.preload built-in method which can be used in most situations, leaving the use of for more advanced scenarios.
-
-
-
-
- Adds a resource to the preloader with the given name. If a resource with the given name already exists, the new resource will be renamed to "name N" where N is an incrementing number starting from 2.
-
-
-
-
- Removes the resource associated to name from the preloader.
-
-
-
-
- Renames a resource inside the preloader from name to newname.
-
-
-
-
- Returns true if the preloader contains a resource associated to name.
-
-
-
-
- Returns the resource associated to name.
-
-
-
-
- Returns the list of resources inside the preloader.
-
-
-
-
- A custom effect for use with .
- Note: For a to be usable, a BBCode tag must be defined as a member variable called bbcode in the script.
-
- # The RichTextEffect will be usable like this: `[example]Some text[/example]`
- var bbcode = "example"
-
- Note: As soon as a contains at least one , it will continuously process the effect unless the project is paused. This may impact battery life negatively.
-
-
-
-
- Override this method to modify properties in char_fx. The method must return true if the character could be transformed successfully. If the method returns false, it will skip transformation to avoid displaying broken text.
-
-
-
-
- Rich text can contain custom text, fonts, images and some basic formatting. The label manages these as an internal tag stack. It also adapts itself to given width/heights.
- Note: Assignments to clear the tag stack and reconstruct it from the property's contents. Any edits made to will erase previous edits made from other manual sources such as and the push_* / methods.
- Note: Unlike , RichTextLabel doesn't have a property to horizontally align text to the center. Instead, enable and surround the text in a [center] tag as follows: [center]Example[/center]. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the property.
-
-
-
-
- Makes text left aligned.
-
-
-
-
- Makes text centered.
-
-
-
-
- Makes text right aligned.
-
-
-
-
- Makes text fill width.
-
-
-
-
- Each list item has a number marker.
-
-
-
-
- Each list item has a letter marker.
-
-
-
-
- Each list item has a filled circle marker.
-
-
-
-
- If true, the label uses BBCode formatting.
-
-
-
-
- The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited.
- Note: It is unadvised to use += operator with bbcode_text (e.g. bbcode_text += "some string") as it replaces the whole text and can cause slowdowns. Use for adding text instead.
-
-
-
-
- The restricted number of characters to display in the label. If -1, all characters will be displayed.
-
-
-
-
- The range of characters to display, as a between 0.0 and 1.0. When assigned an out of range value, it's the same as assigning 1.0.
- Note: Setting this property updates based on current .
-
-
-
-
- If true, the label underlines meta tags such as [url]{text}[/url].
-
-
-
-
- The number of spaces associated with a single tab length. Does not affect \t in text tags, only indent tags.
-
-
-
-
- The raw text of the label.
- When set, clears the tag stack and adds a raw text tag to the top of it. Does not parse BBCodes. Does not modify .
-
-
-
-
- If true, the label's height will be automatically updated to fit its content.
- Note: This property is used as a workaround to fix issues with in s, but it's unreliable in some cases and will be removed in future versions.
-
-
-
-
- If true, the scrollbar is visible. Setting this to false does not block scrolling completely. See .
-
-
-
-
- If true, the window scrolls down to display new content automatically.
-
-
-
-
- If true, the label allows text selection.
-
-
-
-
- If true, the label uses the custom font color.
-
-
-
-
- The currently installed custom effects. This is an array of s.
- To add a custom effect, it's more convenient to use .
-
-
-
-
- Adds raw non-BBCode-parsed text to the tag stack.
-
-
-
-
- Adds an image's opening and closing tags to the tag stack, optionally providing a width and height to resize the image.
- If width or height is set to 0, the image size will be adjusted in order to keep the original aspect ratio.
-
-
-
-
- Adds a newline tag to the tag stack.
-
-
-
-
- Removes a line of content from the label. Returns true if the line exists.
- The line argument is the index of the line to remove, it can take values in the interval [0, get_line_count() - 1].
-
-
-
-
- Adds a [font] tag to the tag stack. Overrides default fonts for its duration.
-
-
-
-
- Adds a [font] tag with a normal font to the tag stack.
-
-
-
-
- Adds a [font] tag with a bold font to the tag stack. This is the same as adding a [b] tag if not currently in a [i] tag.
-
-
-
-
- Adds a [font] tag with a bold italics font to the tag stack.
-
-
-
-
- Adds a [font] tag with a italics font to the tag stack. This is the same as adding a [i] tag if not currently in a [b] tag.
-
-
-
-
- Adds a [font] tag with a monospace font to the tag stack.
-
-
-
-
- Adds a [color] tag to the tag stack.
-
-
-
-
- Adds an [align] tag based on the given align value. See for possible values.
-
-
-
-
- Adds an [indent] tag to the tag stack. Multiplies level by current to determine new margin length.
-
-
-
-
- Adds a [list] tag to the tag stack. Similar to the BBCodes [ol] or [ul], but supports more list types. Not fully implemented!
-
-
-
-
- Adds a [meta] tag to the tag stack. Similar to the BBCode [url=something]{text}[/url], but supports non- metadata types.
-
-
-
-
- Adds a [u] tag to the tag stack.
-
-
-
-
- Adds a [s] tag to the tag stack.
-
-
-
-
- Adds a [table=columns] tag to the tag stack.
-
-
-
-
- Edits the selected column's expansion options. If expand is true, the column expands in proportion to its expansion ratio versus the other columns' ratios.
- For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively.
- If expand is false, the column will not contribute to the total ratio.
-
-
-
-
- Adds a [cell] tag to the tag stack. Must be inside a [table] tag. See for details.
-
-
-
-
- Terminates the current tag. Use after push_* methods to close BBCodes manually. Does not need to follow add_* methods.
-
-
-
-
- Clears the tag stack and sets to an empty string.
-
-
-
-
- Returns the vertical scrollbar.
-
-
-
-
- Scrolls the window's top line to match line.
-
-
-
-
- The assignment version of . Clears the tag stack and inserts the new content. Returns if parses bbcode successfully.
-
-
-
-
- Parses bbcode and adds tags to the tag stack as needed. Returns the result of the parsing, if successful.
-
-
-
-
- Returns the total number of characters from text tags. Does not include BBCodes.
-
-
-
-
- Returns the total number of newlines in the tag stack's text tags. Considers wrapped text as one line.
-
-
-
-
- Returns the number of visible lines.
-
-
-
-
- Returns the height of the content.
-
-
-
-
- Parses BBCode parameter expressions into a dictionary.
-
-
-
-
- Installs a custom effect. effect should be a valid .
-
-
-
-
- This is the node that implements full 3D physics. This means that you do not control a RigidBody directly. Instead, you can apply forces to it (gravity, impulses, etc.), and the physics simulation will calculate the resulting movement, collision, bouncing, rotating, etc.
- A RigidBody has 4 behavior s: Rigid, Static, Character, and Kinematic.
- Note: Don't change a RigidBody's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use , which allows you to directly access the physics state.
- If you need to override the default physics behavior, you can write a custom force integration function. See .
- With Bullet physics (the default), the center of mass is the RigidBody3D center. With GodotPhysics, the center of mass is the average of the centers.
-
-
-
-
- Rigid body mode. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code.
-
-
-
-
- Static mode. The body behaves like a , and can only move by user code.
-
-
-
-
- Character body mode. This behaves like a rigid body, but can not rotate.
-
-
-
-
- Kinematic body mode. The body behaves like a , and can only move by user code.
-
-
-
-
- The body mode. See for possible values.
-
-
-
-
- The body's mass.
-
-
-
-
- The body's weight based on its mass and the global 3D gravity. Global values are set in Project > Project Settings > Physics > 3d.
-
-
-
-
- The body's friction, from 0 (frictionless) to 1 (max friction).
- Deprecated, use instead via .
-
-
-
-
- The body's bounciness. Values range from 0 (no bounce) to 1 (full bounciness).
- Deprecated, use instead via .
-
-
-
-
- The physics material override for the body.
- If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one.
-
-
-
-
- This is multiplied by the global 3D gravity setting found in Project > Project Settings > Physics > 3d to produce RigidBody's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object.
-
-
-
-
- If true, internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the function, if defined.
-
-
-
-
- If true, continuous collision detection is used.
- Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. Continuous collision detection is more precise, and misses fewer impacts by small, fast-moving objects. Not using continuous collision detection is faster to compute, but can miss small, fast-moving objects.
-
-
-
-
- The maximum number of contacts that will be recorded. Requires to be set to true.
- Note: The number of contacts is different from the number of collisions. Collisions between parallel edges will result in two contacts (one at each end), and collisions between parallel faces will result in four contacts (one at each corner).
-
-
-
-
- If true, the RigidBody will emit signals when it collides with another RigidBody. See also .
-
-
-
-
- If true, the body will not move and will not calculate forces until woken up by another body through, for example, a collision, or by using the or methods.
-
-
-
-
- If true, the body can enter sleep mode when there is no movement. See .
- Note: A RigidBody3D will never enter sleep mode automatically if its is . It can still be put to sleep manually by setting its property to true.
-
-
-
-
- Lock the body's movement in the X axis.
-
-
-
-
- Lock the body's movement in the Y axis.
-
-
-
-
- Lock the body's movement in the Z axis.
-
-
-
-
- Lock the body's rotation in the X axis.
-
-
-
-
- Lock the body's rotation in the Y axis.
-
-
-
-
- Lock the body's rotation in the Z axis.
-
-
-
-
- The body's linear velocity. Can be used sporadically, but don't set this every frame, because physics may run in another thread and runs at a different granularity. Use as your process loop for precise control of the body state.
-
-
-
-
- The body's linear damp. Cannot be less than -1.0. If this value is different from -1.0, any linear damp derived from the world or areas will be overridden.
-
-
-
-
- RigidBody's rotational velocity.
-
-
-
-
- Damps RigidBody's rotational forces.
-
-
-
-
- Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default, it works in addition to the usual physics behavior, but the property allows you to disable the default behavior and do fully custom force integration for a body.
-
-
-
-
- Returns the inverse inertia tensor basis. This is used to calculate the angular acceleration resulting from a torque applied to the RigidBody.
-
-
-
-
- Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
-
-
-
-
- Adds a constant directional force (i.e. acceleration) without affecting rotation.
- This is equivalent to add_force(force, Vector3(0,0,0)).
-
-
-
-
- Adds a constant directional force (i.e. acceleration).
- The position uses the rotation of the global coordinate system, but is centered at the object's origin.
-
-
-
-
- Adds a constant rotational force (i.e. a motor) without affecting position.
-
-
-
-
- Applies a directional impulse without affecting rotation.
- This is equivalent to apply_impulse(Vector3(0,0,0), impulse).
-
-
-
-
- Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
-
-
-
-
- Applies a torque impulse which will be affected by the body mass and shape. This will rotate the body around the impulse vector passed.
-
-
-
-
- Locks the specified linear or rotational axis.
-
-
-
-
- Returns true if the specified linear or rotational axis is locked.
-
-
-
-
- Returns a list of the bodies colliding with this one. Requires to be set to true and to be set high enough to detect all the collisions.
- Note: The result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
-
-
-
-
- This node implements simulated 2D physics. You do not control a RigidBody2D directly. Instead you apply forces to it (gravity, impulses, etc.) and the physics simulation calculates the resulting movement based on its mass, friction, and other physical properties.
- A RigidBody2D has 4 behavior s: Rigid, Static, Character, and Kinematic.
- Note: You should not change a RigidBody2D's position or linear_velocity every frame or even very often. If you need to directly affect the body's state, use , which allows you to directly access the physics state.
- Please also keep in mind that physics bodies manage their own transform which overwrites the ones you set. So any direct or indirect transformation (including scaling of the node or its parent) will be visible in the editor only, and immediately reset at runtime.
- If you need to override the default physics behavior or add a transformation at runtime, you can write a custom force integration. See .
- The center of mass is always located at the node's origin without taking into account the centroid offsets.
-
-
-
-
- Rigid mode. The body behaves as a physical object. It collides with other bodies and responds to forces applied to it. This is the default mode.
-
-
-
-
- Static mode. The body behaves like a and does not move.
-
-
-
-
- Character mode. Similar to , but the body can not rotate.
-
-
-
-
- Kinematic mode. The body behaves like a , and must be moved by code.
-
-
-
-
- Continuous collision detection disabled. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
-
-
-
-
- Continuous collision detection enabled using raycasting. This is faster than shapecasting but less precise.
-
-
-
-
- Continuous collision detection enabled using shapecasting. This is the slowest CCD method and the most precise.
-
-
-
-
- The body's mode. See for possible values.
-
-
-
-
- The body's mass.
-
-
-
-
- The body's moment of inertia. This is like mass, but for rotation: it determines how much torque it takes to rotate the body. The moment of inertia is usually computed automatically from the mass and the shapes, but this function allows you to set a custom value. Set 0 inertia to return to automatically computing it.
-
-
-
-
- The body's weight based on its mass and the Default Gravity value in Project > Project Settings > Physics > 2d.
-
-
-
-
- The body's friction. Values range from 0 (frictionless) to 1 (maximum friction).
- Deprecated, use instead via .
-
-
-
-
- The body's bounciness. Values range from 0 (no bounce) to 1 (full bounciness).
- Deprecated, use instead via .
-
-
-
-
- The physics material override for the body.
- If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one.
-
-
-
-
- Multiplies the gravity applied to the body. The body's gravity is calculated from the Default Gravity value in Project > Project Settings > Physics > 2d and/or any additional gravity vector applied by s.
-
-
-
-
- If true, internal force integration is disabled for this body. Aside from collision response, the body will only move as determined by the function.
-
-
-
-
- Continuous collision detection mode.
- Continuous collision detection tries to predict where a moving body will collide instead of moving it and correcting its movement after collision. Continuous collision detection is slower, but more precise and misses fewer collisions with small, fast-moving objects. Raycasting and shapecasting methods are available. See for details.
-
-
-
-
- The maximum number of contacts that will be recorded. Requires to be set to true.
- Note: The number of contacts is different from the number of collisions. Collisions between parallel edges will result in two contacts (one at each end), and collisions between parallel faces will result in four contacts (one at each corner).
-
-
-
-
- If true, the body will emit signals when it collides with another RigidBody2D. See also .
-
-
-
-
- If true, the body will not move and will not calculate forces until woken up by another body through, for example, a collision, or by using the or methods.
-
-
-
-
- If true, the body can enter sleep mode when there is no movement. See .
- Note: A RigidBody2D will never enter sleep mode automatically if its is . It can still be put to sleep manually by setting its property to true.
-
-
-
-
- The body's linear velocity.
-
-
-
-
- Damps the body's . If -1, the body will use the Default Linear Damp in Project > Project Settings > Physics > 2d.
-
-
-
-
- The body's rotational velocity.
-
-
-
-
- Damps the body's . If -1, the body will use the Default Angular Damp defined in Project > Project Settings > Physics > 2d.
-
-
-
-
- The body's total applied force.
-
-
-
-
- The body's total applied torque.
-
-
-
-
- Allows you to read and safely modify the simulation state for the object. Use this instead of if you need to directly change the body's position or other physics properties. By default, it works in addition to the usual physics behavior, but allows you to disable the default behavior and write custom force integration for a body.
-
-
-
-
- Sets the body's velocity on the given axis. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
-
-
-
-
- Applies a directional impulse without affecting rotation.
-
-
-
-
- Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The position uses the rotation of the global coordinate system, but is centered at the object's origin.
-
-
-
-
- Applies a rotational impulse to the body.
-
-
-
-
- Adds a constant directional force without affecting rotation.
-
-
-
-
- Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
-
-
-
-
- Adds a constant rotational force.
-
-
-
-
- Returns true if a collision would result from moving in the given vector. margin increases the size of the shapes involved in the collision detection, and result is an object of type , which contains additional information about the collision (should there be one).
-
-
-
-
- Returns a list of the bodies colliding with this one. Requires to be set to true and to be set high enough to detect all the collisions.
- Note: The result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
-
-
-
-
- Maintains a list of resources, nodes, exported, and overridden properties, and built-in scripts associated with a scene.
- This class cannot be instantiated directly, it is retrieved for a given scene as the result of .
-
-
-
-
- If passed to , blocks edits to the scene state.
-
-
-
-
- If passed to , provides inherited scene resources to the local scene.
- Note: Only available in editor builds.
-
-
-
-
- If passed to , provides local scene resources to the local scene. Only the main scene should receive the main edit state.
- Note: Only available in editor builds.
-
-
-
-
- Returns the number of nodes in the scene.
- The idx argument used to query node data in other get_node_* methods in the interval [0, get_node_count() - 1].
-
-
-
-
- Returns the type of the node at idx.
-
-
-
-
- Returns the name of the node at idx.
-
-
-
-
- Returns the path to the node at idx.
- If for_parent is true, returns the path of the idx node's parent instead.
-
-
-
-
- Returns the path to the owner of the node at idx, relative to the root node.
-
-
-
-
- Returns true if the node at idx is an .
-
-
-
-
- Returns the path to the represented scene file if the node at idx is an .
-
-
-
-
- Returns a for the node at idx (i.e. the whole branch starting at this node, with its child nodes and resources), or null if the node is not an instance.
-
-
-
-
- Returns the list of group names associated with the node at idx.
-
-
-
-
- Returns the node's index, which is its position relative to its siblings. This is only relevant and saved in scenes for cases where new nodes are added to an instanced or inherited scene among siblings from the base scene. Despite the name, this index is not related to the idx argument used here and in other methods.
-
-
-
-
- Returns the number of exported or overridden properties for the node at idx.
- The prop_idx argument used to query node property data in other get_node_property_* methods in the interval [0, get_node_property_count() - 1].
-
-
-
-
- Returns the name of the property at prop_idx for the node at idx.
-
-
-
-
- Returns the value of the property at prop_idx for the node at idx.
-
-
-
-
- Returns the number of signal connections in the scene.
- The idx argument used to query connection metadata in other get_connection_* methods in the interval [0, get_connection_count() - 1].
-
-
-
-
- Returns the path to the node that owns the signal at idx, relative to the root node.
-
-
-
-
- Returns the name of the signal at idx.
-
-
-
-
- Returns the path to the node that owns the method connected to the signal at idx, relative to the root node.
-
-
-
-
- Returns the method connected to the signal at idx.
-
-
-
-
- Returns the connection flags for the signal at idx. See constants.
-
-
-
-
- Returns the list of bound parameters for the signal at idx.
-
-
-
-
- As one of the most important classes, the manages the hierarchy of nodes in a scene as well as scenes themselves. Nodes can be added, retrieved and removed. The whole scene tree (and thus the current scene) can be paused. Scenes can be loaded, switched and reloaded.
- You can also use the to organize your nodes into groups: every node can be assigned as many groups as you want to create, e.g. a "enemy" group. You can then iterate these groups or even call methods and set properties on all the group's members at once.
- is the default implementation used by scenes, and is thus in charge of the game loop.
-
-
-
-
- Fill the window with the content stretched to cover excessive space. Content may appear stretched.
-
-
-
-
- Retain the same aspect ratio by padding with black bars on either axis. This prevents distortion.
-
-
-
-
- Expand vertically. Left/right black bars may appear if the window is too wide.
-
-
-
-
- Expand horizontally. Top/bottom black bars may appear if the window is too tall.
-
-
-
-
- Expand in both directions, retaining the same aspect ratio. This prevents distortion while avoiding black bars.
-
-
-
-
- Call a group with no flags (default).
-
-
-
-
- Call a group in reverse scene order.
-
-
-
-
- Call a group immediately (calls are normally made on idle).
-
-
-
-
- Call a group only once even if the call is executed many times.
-
-
-
-
- No stretching.
-
-
-
-
- Render stretching in higher resolution (interpolated).
-
-
-
-
- Keep the specified display resolution. No interpolation. Content may appear pixelated.
-
-
-
-
- If true, collision shapes will be visible when running the game from the editor for debugging purposes.
-
-
-
-
- If true, navigation polygons will be visible when running the game from the editor for debugging purposes.
-
-
-
-
- If true, the is paused. Doing so will have the following behavior:
- - 2D and 3D physics will be stopped.
- - , and will not be called anymore in nodes.
-
-
-
-
- If true, the 's refuses new incoming connections.
-
-
-
-
- If true, font oversampling is used.
-
-
-
-
- The root of the edited scene.
-
-
-
-
- The current scene.
-
-
-
-
- The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the will become a network server (check with ) and will set the root node's network mode to master, or it will become a regular peer with the root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to 's signals.
-
-
-
-
- The 's root .
-
-
-
-
- The default instance for this .
-
-
-
-
- If true (default value), enables automatic polling of the for this SceneTree during idle_frame.
- If false, you need to manually call to process network packets and deliver RPCs/RSETs. This allows running RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) and for manual protection when accessing the from threads.
-
-
-
-
- Returns true if the given group exists.
-
-
-
-
- If true, the application automatically accepts quitting. Enabled by default.
- For mobile platforms, see .
-
-
-
-
- If true, the application quits automatically on going back (e.g. on Android). Enabled by default.
- To handle 'Go Back' button when this option is disabled, use .
-
-
-
-
- Marks the most recent as handled.
-
-
-
-
- Returns true if the most recent was marked as handled with .
-
-
-
-
- Returns a which will SceneTreeTimer.timeout after the given time in seconds elapsed in this . If pause_mode_process is set to false, pausing the will also pause the timer.
- Commonly used to create a one-shot delay timer as in the following example:
-
- func some_function():
- print("start")
- yield(get_tree().create_timer(1.0), "timeout")
- print("end")
-
-
-
-
-
- Returns the number of nodes in this .
-
-
-
-
- Returns the current frame number, i.e. the total frame count since the application started.
-
-
-
-
- Quits the application. A process exit_code can optionally be passed as an argument. If this argument is 0 or greater, it will override the defined before quitting the application.
-
-
-
-
- Configures screen stretching to the given , , minimum size and shrink ratio.
-
-
-
-
- Queues the given object for deletion, delaying the call to to after the current frame.
-
-
-
-
- Calls method on each member of the given group, respecting the given .
-
-
-
-
- Sends the given notification to all members of the group, respecting the given .
-
-
-
-
- Sets the given property to value on all members of the given group, respecting the given .
-
-
-
-
- Calls method on each member of the given group.
-
-
-
-
- Sends the given notification to all members of the group.
-
-
-
-
- Sets the given property to value on all members of the given group.
-
-
-
-
- Returns a list of all nodes assigned to the given group.
-
-
-
-
- Changes the running scene to the one at the given path, after loading it into a and creating a new instance.
- Returns on success, if the path cannot be loaded into a , or if that scene cannot be instantiated.
-
-
-
-
- Changes the running scene to a new instance of the given .
- Returns on success or if the scene cannot be instantiated.
-
-
-
-
- Reloads the currently active scene.
- Returns on success, if no was defined yet, if cannot be loaded into a , or if the scene cannot be instantiated.
-
-
-
-
- Returns true if this 's is in server mode (listening for connections).
-
-
-
-
- Returns true if there is a set.
-
-
-
-
- Returns the peer IDs of all connected peers of this 's .
-
-
-
-
- Returns the unique peer ID of this 's .
-
-
-
-
- Returns the sender's peer ID for the most recently received RPC call.
-
-
-
-
- A one-shot timer managed by the scene tree, which emits timeout on completion. See also .
- As opposed to , it does not require the instantiation of a node. Commonly used to create a one-shot delay timer as in the following example:
-
- func some_function():
- print("Timer started.")
- yield(get_tree().create_timer(1.0), "timeout")
- print("Timer ended.")
-
-
-
-
-
- The time remaining.
-
-
-
-
- A class stored as a resource. A script extends the functionality of all objects that instance it.
- The new method of a script subclass creates a new instance. extends an existing object, if that object's class matches one of the script's base classes.
-
-
-
-
- The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically.
-
-
-
-
- Returns true if the script can be instanced.
-
-
-
-
- Returns true if base_object is an instance of this script.
-
-
-
-
- Returns true if the script contains non-empty source code.
-
-
-
-
- Reloads the script's class implementation. Returns an error code.
-
-
-
-
- Returns the script directly inherited by this script.
-
-
-
-
- Returns the script's base type.
-
-
-
-
- Returns true if the script, or a base class, defines a signal with the given name.
-
-
-
-
- Returns the list of properties in this .
-
-
-
-
- Returns the list of methods in this .
-
-
-
-
- Returns the list of user signals defined in this .
-
-
-
-
- Returns a dictionary containing constant names and their values.
-
-
-
-
- Returns the default value of the specified property.
-
-
-
-
- Returns true if the script is a tool script. A tool script can run in the editor.
-
-
-
-
- Scrollbars are a -based , that display a draggable area (the size of the page). Horizontal () and Vertical () versions are available.
-
-
-
-
- Overrides the step used when clicking increment and decrement buttons or when using arrow keys when the is focused.
-
-
-
-
- A ScrollContainer node meant to contain a child. ScrollContainers will automatically create a scrollbar child (, , or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the of the Control relative to the ScrollContainer. Works great with a control. You can set EXPAND on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension).
-
-
-
-
- If true, the ScrollContainer will automatically scroll to focused children (including indirect children) to make sure they are fully visible.
-
-
-
-
- If true, enables horizontal scrolling.
-
-
-
-
- The current horizontal scroll value.
-
-
-
-
- If true, enables vertical scrolling.
-
-
-
-
- The current vertical scroll value.
-
-
-
-
- Returns the horizontal scrollbar of this .
-
-
-
-
- Returns the vertical scrollbar of this .
-
-
-
-
- Segment shape for 2D collisions. Consists of two points, a and b.
-
-
-
-
- The segment's first point position.
-
-
-
-
- The segment's second point position.
-
-
-
-
- Separator is a used for separating other controls. It's purely a visual decoration. Horizontal () and Vertical () versions are available.
-
-
-
-
- This class allows you to define a custom shader program that can be used by a . Shaders allow you to write your own custom behavior for rendering objects or updating particle information. For a detailed explanation and usage, please see the tutorials linked below.
-
-
-
-
- Mode used to draw all 3D objects.
-
-
-
-
- Mode used to draw all 2D objects.
-
-
-
-
- Mode used to calculate particle information on a per-particle basis. Not used for drawing.
-
-
-
-
- Returns the shader's code as the user has written it, not the full generated code used internally.
-
-
-
-
- Returns the shader's custom defines. Custom defines can be used in Godot to add GLSL preprocessor directives (e.g: extensions) required for the shader logic.
- Note: Custom defines are not validated by the Godot shader parser, so care should be taken when using them.
-
-
-
-
- Returns the shader mode for the shader, either , or .
-
-
-
-
- Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the .
- Note: param must match the name of the uniform in the code exactly.
-
-
-
-
- Returns the texture that is set as default for the specified parameter.
- Note: param must match the name of the uniform in the code exactly.
-
-
-
-
- Returns true if the shader has this param defined as a uniform in its code.
- Note: param must match the name of the uniform in the code exactly.
-
-
-
-
- A material that uses a custom program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader.
-
-
-
-
- The program used to render this material.
-
-
-
-
- Changes the value set for this material of a uniform in the shader. Note: param must match the name of the uniform in the code exactly.
-
-
-
-
- Returns the current value set for this material of a uniform in the shader.
-
-
-
-
- Returns true if the property identified by name can be reverted to a default value.
-
-
-
-
- Returns the default value of the material property with given name.
-
-
-
-
- Base class for all 3D shape resources. Nodes that inherit from this can be used as shapes for a or objects.
-
-
-
-
- The collision margin for the shape.
-
-
-
-
- Base class for all 2D shapes. All 2D shape types inherit from this.
-
-
-
-
- The shape's custom solver bias.
-
-
-
-
- Returns true if this shape is colliding with another.
- This method needs the transformation matrix for this shape (local_xform), the shape to check collisions with (with_shape), and the transformation matrix of that shape (shape_xform).
-
-
-
-
- Returns whether this shape would collide with another, if a given movement was applied.
- This method needs the transformation matrix for this shape (local_xform), the movement to test on this shape (local_motion), the shape to check collisions with (with_shape), the transformation matrix of that shape (shape_xform), and the movement to test onto the other object (shape_motion).
-
-
-
-
- Returns a list of the points where this shape touches another. If there are no collisions the list is empty.
- This method needs the transformation matrix for this shape (local_xform), the shape to check collisions with (with_shape), and the transformation matrix of that shape (shape_xform).
-
-
-
-
- Returns a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions the list is empty.
- This method needs the transformation matrix for this shape (local_xform), the movement to test on this shape (local_motion), the shape to check collisions with (with_shape), the transformation matrix of that shape (shape_xform), and the movement to test onto the other object (shape_motion).
-
-
-
-
- Draws a solid shape onto a with the API filled with the specified color. The exact drawing method is specific for each shape and cannot be configured.
-
-
-
-
- A shortcut for binding input.
- Shortcuts are commonly used for interacting with a element from a .
-
-
-
-
- The shortcut's .
- Generally the is a keyboard key, though it can be any .
-
-
-
-
- If true, this shortcut is valid.
-
-
-
-
- Returns true if the shortcut's equals event.
-
-
-
-
- Returns the shortcut's as a .
-
-
-
-
- Skeleton provides a hierarchical interface for managing bones, including pose, rest and animation (see ). It can also use ragdoll physics.
- The overall transform of a bone with respect to the skeleton is determined by the following hierarchical order: rest pose, custom pose and pose.
- Note that "global pose" below refers to the overall transform of the bone with respect to skeleton, so it not the actual global/world transform of the bone.
-
-
-
-
- Adds a bone, with name name. will become the bone index.
-
-
-
-
- Returns the bone index that matches name as its name.
-
-
-
-
- Returns the name of the bone at index index.
-
-
-
-
- Returns the bone index which is the parent of the bone at bone_idx. If -1, then bone has no parent.
- Note: The parent bone returned will always be less than bone_idx.
-
-
-
-
- Sets the bone index parent_idx as the parent of the bone at bone_idx. If -1, then bone has no parent.
- Note: parent_idx must be less than bone_idx.
-
-
-
-
- Returns the amount of bones in the skeleton.
-
-
-
-
- Returns the rest transform for a bone bone_idx.
-
-
-
-
- Sets the rest transform for bone bone_idx.
-
-
-
-
- Deprecated soon.
-
-
-
-
- Deprecated soon.
-
-
-
-
- Deprecated soon.
-
-
-
-
- Clear all the bones in this skeleton.
-
-
-
-
- Returns the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose.
-
-
-
-
- Sets the pose transform for bone bone_idx.
-
-
-
-
- Returns the overall transform of the specified bone, with respect to the skeleton. Being relative to the skeleton frame, this is not the actual "global" transform of the bone.
-
-
-
-
- Returns the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
-
-
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Skeleton2D parents a hierarchy of objects. It is a requirement of . Skeleton2D holds a reference to the rest pose of its children and acts as a single point of access to its bones.
-
-
-
-
- Returns the number of nodes in the node hierarchy parented by Skeleton2D.
-
-
-
-
- Returns a from the node hierarchy parented by Skeleton2D. The object to return is identified by the parameter idx. Bones are indexed by descending the node hierarchy from top to bottom, adding the children of each branch before moving to the next sibling.
-
-
-
-
- Returns the of a Skeleton2D instance.
-
-
-
-
- The base class for and .
-
-
-
-
- Radiance texture size is 32×32 pixels.
-
-
-
-
- Radiance texture size is 64×64 pixels.
-
-
-
-
- Radiance texture size is 128×128 pixels.
-
-
-
-
- Radiance texture size is 256×256 pixels.
-
-
-
-
- Radiance texture size is 512×512 pixels.
-
-
-
-
- Radiance texture size is 1024×1024 pixels.
-
-
-
-
- Radiance texture size is 2048×2048 pixels.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The 's radiance map size. The higher the radiance map size, the more detailed the lighting from the will be.
- See constants for values.
- Note: Some hardware will have trouble with higher radiance sizes, especially and above. Only use such high values on high-end hardware.
-
-
-
-
- Base class for GUI sliders.
- Note: The Range.changed and Range.value_changed signals are part of the class which this class inherits from.
-
-
-
-
- If true, the slider can be interacted with. If false, the value can be changed only by code.
-
-
-
-
- If true, the value can be changed using the mouse wheel.
-
-
-
-
- Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers.
-
-
-
-
- If true, the slider will display ticks for minimum and maximum values.
-
-
-
-
- Slides across the X axis of the pivot object.
-
-
-
-
- The maximum difference between the pivot points on their X axis before damping happens.
-
-
-
-
- The minimum difference between the pivot points on their X axis before damping happens.
-
-
-
-
- A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
-
-
-
-
- The amount of restitution once the limits are surpassed. The lower, the more velocityenergy gets lost.
-
-
-
-
- The amount of damping once the slider limits are surpassed.
-
-
-
-
- A factor applied to the movement across the slider axis as long as the slider is in the limits. The lower, the slower the movement.
-
-
-
-
- The amount of restitution inside the slider limits.
-
-
-
-
- The amount of damping inside the slider limits.
-
-
-
-
- A factor applied to the movement across axes orthogonal to the slider.
-
-
-
-
- The amount of restitution when movement is across axes orthogonal to the slider.
-
-
-
-
- The amount of damping when movement is across axes orthogonal to the slider.
-
-
-
-
- The upper limit of rotation in the slider.
-
-
-
-
- The lower limit of rotation in the slider.
-
-
-
-
- A factor applied to the all rotation once the limit is surpassed.
-
-
-
-
- The amount of restitution of the rotation when the limit is surpassed.
-
-
-
-
- The amount of damping of the rotation when the limit is surpassed.
-
-
-
-
- A factor applied to the all rotation in the limits.
-
-
-
-
- The amount of restitution of the rotation in the limits.
-
-
-
-
- The amount of damping of the rotation in the limits.
-
-
-
-
- A factor applied to the all rotation across axes orthogonal to the slider.
-
-
-
-
- The amount of restitution of the rotation across axes orthogonal to the slider.
-
-
-
-
- The amount of damping of the rotation across axes orthogonal to the slider.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The maximum difference between the pivot points on their X axis before damping happens.
-
-
-
-
- The minimum difference between the pivot points on their X axis before damping happens.
-
-
-
-
- A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
-
-
-
-
- The amount of restitution once the limits are surpassed. The lower, the more velocity-energy gets lost.
-
-
-
-
- The amount of damping that happens once the limit defined by and is surpassed.
-
-
-
-
- A factor applied to the movement across the slider axis as long as the slider is in the limits. The lower, the slower the movement.
-
-
-
-
- The amount of restitution inside the slider limits.
-
-
-
-
- The amount of damping inside the slider limits.
-
-
-
-
- A factor applied to the movement across axes orthogonal to the slider.
-
-
-
-
- The amount of restitution when movement is across axes orthogonal to the slider.
-
-
-
-
- The amount of damping when movement is across axes orthogonal to the slider.
-
-
-
-
- The upper limit of rotation in the slider.
-
-
-
-
- The lower limit of rotation in the slider.
-
-
-
-
- A factor applied to the all rotation once the limit is surpassed.
- Makes all rotation slower when between 0 and 1.
-
-
-
-
- The amount of restitution of the rotation when the limit is surpassed.
- Does not affect damping.
-
-
-
-
- The amount of damping of the rotation when the limit is surpassed.
- A lower damping value allows a rotation initiated by body A to travel to body B slower.
-
-
-
-
- A factor applied to the all rotation in the limits.
-
-
-
-
- The amount of restitution of the rotation in the limits.
-
-
-
-
- The amount of damping of the rotation in the limits.
-
-
-
-
- A factor applied to the all rotation across axes orthogonal to the slider.
-
-
-
-
- The amount of restitution of the rotation across axes orthogonal to the slider.
-
-
-
-
- The amount of damping of the rotation across axes orthogonal to the slider.
-
-
-
-
- A deformable physics body. Used to create elastic or deformable objects such as cloth, rubber, or other flexible materials.
-
-
-
-
- The physics layers this SoftBody is in.
- Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.
- A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The physics layers this SoftBody scans for collisions. See Collision layers and masks in the documentation for more information.
-
-
-
-
- to a this SoftBody should avoid clipping.
-
-
-
-
- Increasing this value will improve the resulting simulation, but can affect performance. Use with care.
-
-
-
-
- The SoftBody's mass.
-
-
-
-
- If true, the will respond to s.
-
-
-
-
- Sets individual bits on the collision mask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the collision mask.
-
-
-
-
- Sets individual bits on the layer mask. Use this if you only need to change one layer's value.
-
-
-
-
- Returns an individual bit on the collision mask.
-
-
-
-
- Returns an array of nodes that were added as collision exceptions for this body.
-
-
-
-
- Adds a body to the list of bodies that this body can't collide with.
-
-
-
-
- Removes a body from the list of bodies that this body can't collide with.
-
-
-
-
- Most basic 3D game object, with a 3D and visibility settings. All other 3D game objects inherit from Spatial. Use as a parent node to move, scale, rotate and show/hide children in a 3D project.
- Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the object is set as top-level. Affine operations in this coordinate system correspond to direct affine operations on the 's transform. The word local below refers to this coordinate system. The coordinate system that is attached to the object itself is referred to as object-local coordinate system.
- Note: Unless otherwise specified, all methods that have angle parameters must have angles specified as radians. To convert degrees to radians, use @GDScript.deg2rad.
-
-
-
-
- Spatial nodes receives this notification when their global transform changes. This means that either the current or a parent node changed its transform.
- In order for to work, users first need to ask for it, with .
-
-
-
-
- Spatial nodes receives this notification when they are registered to new resource.
-
-
-
-
- Spatial nodes receives this notification when they are unregistered from current resource.
-
-
-
-
- Spatial nodes receives this notification when their visibility changes.
-
-
-
-
- World space (global) of this node.
-
-
-
-
- Local translation of this node.
-
-
-
-
- Rotation part of the local transformation in degrees, specified in terms of YXZ-Euler angles in the format (X angle, Y angle, Z angle).
-
-
-
-
- Rotation part of the local transformation in radians, specified in terms of YXZ-Euler angles in the format (X angle, Y angle, Z angle).
- Note: In the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three independent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a data structure not because the rotation is a vector, but only because exists as a convenient data-structure to store 3 floating-point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful.
-
-
-
-
- Scale part of the local transformation.
-
-
-
-
- Local space of this node, with respect to the parent node.
-
-
-
-
- If true, this node is drawn. The node is only visible if all of its antecedents are visible as well (in other words, must return true).
-
-
-
-
- The for this node. Used for example in as custom visualization and editing handles in Editor.
-
-
-
-
- Returns the parent , or an empty if no parent exists or parent is not of type .
-
-
-
-
- Sets whether the node ignores notification that its transformation (global or local) changed.
-
-
-
-
- Makes the node ignore its parents transformations. Node transformations are only in global space.
-
-
-
-
- Returns whether this node is set as Toplevel, that is whether it ignores its parent nodes transformations.
-
-
-
-
- Sets whether the node uses a scale of (1, 1, 1) or its local transformation scale. Changes to the local transformation scale are preserved.
-
-
-
-
- Returns whether this node uses a scale of (1, 1, 1) or its local transformation scale.
-
-
-
-
- Returns the current resource this node is registered to.
-
-
-
-
- Forces the transform to update. Transform changes in physics are not instant for performance reasons. Transforms are accumulated and then set. Use this if you need an up-to-date transform when doing physics operations.
-
-
-
-
- Updates the of this node.
-
-
-
-
- Returns true if the node is present in the , its property is true and all its antecedents are also visible. If any antecedent is hidden, this node will not be visible in the scene tree.
-
-
-
-
- Enables rendering of this node. Changes to true.
-
-
-
-
- Disables rendering of this node. Changes to false.
-
-
-
-
- Sets whether the node notifies about its local transformation changes. will not propagate this by default.
-
-
-
-
- Returns whether node notifies about its local transformation changes. will not propagate this by default.
-
-
-
-
- Sets whether the node notifies about its global and local transformation changes. will not propagate this by default.
-
-
-
-
- Returns whether the node notifies about its global and local transformation changes. will not propagate this by default.
-
-
-
-
- Rotates the local transformation around axis, a unit , by specified angle in radians.
-
-
-
-
- Rotates the global (world) transformation around axis, a unit , by specified angle in radians. The rotation axis is in global coordinate system.
-
-
-
-
- Scales the global (world) transformation by the given scale factors.
-
-
-
-
- Moves the global (world) transformation by offset. The offset is in global coordinate system.
-
-
-
-
- Rotates the local transformation around axis, a unit , by specified angle in radians. The rotation axis is in object-local coordinate system.
-
-
-
-
- Scales the local transformation by given 3D scale factors in object-local coordinate system.
-
-
-
-
- Changes the node's position by the given offset in local space.
-
-
-
-
- Rotates the local transformation around the X axis by angle in radians.
-
-
-
-
- Rotates the local transformation around the Y axis by angle in radians.
-
-
-
-
- Rotates the local transformation around the Z axis by angle in radians.
-
-
-
-
- Changes the node's position by the given offset .
- Note that the translation offset is affected by the node's scale, so if scaled by e.g. (10, 1, 1), a translation by an offset of (2, 0, 0) would actually add 20 (2 * 10) to the X coordinate.
-
-
-
-
- Resets this node's transformations (like scale, skew and taper) preserving its rotation and translation by performing Gram-Schmidt orthonormalization on this node's .
-
-
-
-
- Reset all transformations for this node (sets its to the identity matrix).
-
-
-
-
- Rotates itself so that the local -Z axis points towards the target position.
- The transform will first be rotated around the given up vector, and then fully aligned to the target by a further rotation around an axis perpendicular to both the target and up vectors.
- Operations take place in global space.
-
-
-
-
- Moves the node to the specified position, and then rotates itself to point toward the target as per . Operations take place in global space.
-
-
-
-
- Transforms global_point from world space to this node's local space.
-
-
-
-
- Transforms local_point from this node's local space to world space.
-
-
-
-
- This provides a default material with a wide variety of rendering features and properties without the need to write shader code. See the tutorial below for details.
-
-
-
-
- Adds the emission color to the color from the emission texture.
-
-
-
-
- Multiplies the emission color by the color from the emission texture.
-
-
-
-
- Default diffuse scattering algorithm.
-
-
-
-
- Diffuse scattering ignores roughness.
-
-
-
-
- Extends Lambert to cover more than 90 degrees when roughness increases.
-
-
-
-
- Attempts to use roughness to emulate microsurfacing.
-
-
-
-
- Uses a hard cut for lighting, with smoothing affected by roughness.
-
-
-
-
- Default specular blob.
-
-
-
-
- Older specular algorithm, included for compatibility.
-
-
-
-
- Older specular algorithm, included for compatibility.
-
-
-
-
- Toon blob which changes size based on roughness.
-
-
-
-
- No specular blob.
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Constant for setting .
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- No lighting is used on the object. Color comes directly from ALBEDO.
-
-
-
-
- Lighting is calculated per-vertex rather than per-pixel. This can be used to increase the speed of the shader at the cost of quality.
-
-
-
-
- Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it.
-
-
-
-
- Set ALBEDO to the per-vertex color specified in the mesh.
-
-
-
-
- Vertex color is in sRGB space and needs to be converted to linear. Only applies in the GLES3 renderer.
-
-
-
-
- Uses point size to alter the size of primitive points. Also changes the albedo texture lookup to use POINT_COORD instead of UV.
-
-
-
-
- Object is scaled by depth so that it always appears the same size on screen.
-
-
-
-
- Shader will keep the scale set for the mesh. Otherwise the scale is lost when billboarding. Only applies when is .
-
-
-
-
- Use triplanar texture lookup for all texture lookups that would normally use UV.
-
-
-
-
- Use triplanar texture lookup for all texture lookups that would normally use UV2.
-
-
-
-
- Use UV2 coordinates to look up from the .
-
-
-
-
- Use UV2 coordinates to look up from the .
-
-
-
-
- Use alpha scissor. Set by .
-
-
-
-
- Use world coordinates in the triplanar texture lookup instead of local coordinates.
-
-
-
-
- Forces the shader to convert albedo from sRGB space to linear space.
-
-
-
-
- Disables receiving shadows from other objects.
-
-
-
-
- Disables receiving ambient light.
-
-
-
-
- Ensures that normals appear correct, even with non-uniform scaling.
-
-
-
-
- Enables the shadow to opacity feature.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Default cull mode. The back of the object is culled when not visible.
-
-
-
-
- The front of the object is culled when not visible.
-
-
-
-
- No culling is performed.
-
-
-
-
- Use UV with the detail texture.
-
-
-
-
- Use UV2 with the detail texture.
-
-
-
-
- Do not use distance fade.
-
-
-
-
- Smoothly fades the object out based on each pixel's distance from the camera using the alpha channel.
-
-
-
-
- Smoothly fades the object out based on each pixel's distance from the camera using a dither approach. Dithering discards pixels based on a set pattern to smoothly fade without enabling transparency. On certain hardware this can be faster than .
-
-
-
-
- Smoothly fades the object out based on the object's distance from the camera using a dither approach. Dithering discards pixels based on a set pattern to smoothly fade without enabling transparency. On certain hardware this can be faster than .
-
-
-
-
- Billboard mode is disabled.
-
-
-
-
- The object's Z axis will always face the camera.
-
-
-
-
- The object's X axis will always face the camera.
-
-
-
-
- Used for particle systems when assigned to and nodes. Enables particles_anim_* properties.
- The or should also be set to a positive value for the animation to play.
-
-
-
-
- Default depth draw mode. Depth is drawn only for opaque objects.
-
-
-
-
- Depth draw is calculated for both opaque and transparent objects.
-
-
-
-
- No depth draw.
-
-
-
-
- For transparent objects, an opaque pass is made first with the opaque parts, then transparency is drawn.
-
-
-
-
- Used to read from the red channel of a texture.
-
-
-
-
- Used to read from the green channel of a texture.
-
-
-
-
- Used to read from the blue channel of a texture.
-
-
-
-
- Used to read from the alpha channel of a texture.
-
-
-
-
- Currently unused.
-
-
-
-
- Default blend mode. The color of the object is blended over the background based on the object's alpha value.
-
-
-
-
- The color of the object is added to the background.
-
-
-
-
- The color of the object is subtracted from the background.
-
-
-
-
- The color of the object is multiplied by the background.
-
-
-
-
- Texture specifying per-pixel color.
-
-
-
-
- Texture specifying per-pixel metallic value.
-
-
-
-
- Texture specifying per-pixel roughness value.
-
-
-
-
- Texture specifying per-pixel emission color.
-
-
-
-
- Texture specifying per-pixel normal vector.
-
-
-
-
- Texture specifying per-pixel rim value.
-
-
-
-
- Texture specifying per-pixel clearcoat value.
-
-
-
-
- Texture specifying per-pixel flowmap direction for use with .
-
-
-
-
- Texture specifying per-pixel ambient occlusion value.
-
-
-
-
- Texture specifying per-pixel depth.
-
-
-
-
- Texture specifying per-pixel subsurface scattering.
-
-
-
-
- Texture specifying per-pixel transmission color.
-
-
-
-
- Texture specifying per-pixel refraction strength.
-
-
-
-
- Texture specifying per-pixel detail mask blending value.
-
-
-
-
- Texture specifying per-pixel detail color.
-
-
-
-
- Texture specifying per-pixel detail normal.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If true, transparency is enabled on the body. See also .
-
-
-
-
- If true, enables the "shadow to opacity" render mode where lighting modifies the alpha so shadowed areas are opaque and non-shadowed areas are transparent. Useful for overlaying shadows onto a camera feed in AR.
-
-
-
-
- If true, the object is unaffected by lighting.
-
-
-
-
- If true, lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices.
-
-
-
-
- If true, depth testing is disabled and the object will be drawn in render order.
-
-
-
-
- If true, render point size can be changed.
- Note: this is only effective for objects whose geometry is point-based rather than triangle-based. See also .
-
-
-
-
- If true, triplanar mapping is calculated in world space rather than object local space. See also .
-
-
-
-
- If true, the object is rendered at the same size regardless of distance.
-
-
-
-
- Forces a conversion of the from sRGB space to linear space.
-
-
-
-
- If true, the object receives no shadow that would otherwise be cast onto it.
-
-
-
-
- If true, the object receives no ambient light.
-
-
-
-
- If true, the shader will compute extra operations to make sure the normal stays correct when using a non-uniform scale. Only enable if using non-uniform scaling.
-
-
-
-
- If true, the vertex color is used as albedo color.
-
-
-
-
- If true, the model's vertex colors are processed as sRGB mode.
-
-
-
-
- The algorithm used for diffuse light scattering. See .
-
-
-
-
- The method for rendering the specular blob. See .
-
-
-
-
- The material's blend mode.
- Note: Values other than Mix force the object into the transparent pipeline. See .
-
-
-
-
- Which side of the object is not drawn when backfaces are rendered. See .
-
-
-
-
- Determines when depth rendering takes place. See . See also .
-
-
-
-
- Currently unimplemented in Godot.
-
-
-
-
- The point size in pixels. See .
-
-
-
-
- Controls how the object faces the camera. See .
-
-
-
-
- If true, the shader will keep the scale set for the mesh. Otherwise the scale is lost when billboarding. Only applies when is .
-
-
-
-
- If true, enables the vertex grow setting. See .
-
-
-
-
- Grows object vertices in the direction of their normals.
-
-
-
-
- If true, the shader will discard all pixels that have an alpha value less than .
-
-
-
-
- Threshold at which the alpha scissor will discard values.
-
-
-
-
- The number of horizontal frames in the particle sprite sheet. Only enabled when using . See .
-
-
-
-
- The number of vertical frames in the particle sprite sheet. Only enabled when using . See .
-
-
-
-
- If true, particle animations are looped. Only enabled when using . See .
-
-
-
-
- The material's base color.
-
-
-
-
- Texture to multiply by . Used for basic texturing of objects.
-
-
-
-
- A high value makes the material appear more like a metal. Non-metals use their albedo as the diffuse color and add diffuse to the specular reflection. With non-metals, the reflection appears on top of the albedo color. Metals use their albedo as a multiplier to the specular reflection and set the diffuse color to black resulting in a tinted reflection. Materials work better when fully metal or fully non-metal, values between 0 and 1 should only be used for blending between metal and non-metal sections. To alter the amount of reflection use .
-
-
-
-
- Sets the size of the specular lobe. The specular lobe is the bright spot that is reflected from light sources.
- Note: unlike , this is not energy-conserving, so it should be left at 0.5 in most cases. See also .
-
-
-
-
- Texture used to specify metallic for an object. This is multiplied by .
-
-
-
-
- Specifies the channel of the in which the metallic information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use.
-
-
-
-
- Surface reflection. A value of 0 represents a perfect mirror while a value of 1 completely blurs the reflection. See also .
-
-
-
-
- Texture used to control the roughness per-pixel. Multiplied by .
-
-
-
-
- Specifies the channel of the in which the ambient occlusion information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use.
-
-
-
-
- If true, the body emits light. Emitting light makes the object appear brighter. The object can also cast light on other objects if a or is used and this object is used in baked lighting.
-
-
-
-
- The emitted light's color. See .
-
-
-
-
- The emitted light's strength. See .
-
-
-
-
- Sets how interacts with . Can either add or multiply. See for options.
-
-
-
-
- Use UV2 to read from the .
-
-
-
-
- Texture that specifies how much surface emits light at a given point.
-
-
-
-
- If true, normal mapping is enabled.
-
-
-
-
- The strength of the normal map's effect.
-
-
-
-
- Texture used to specify the normal at a given pixel. The normal_texture only uses the red and green channels. The normal read from normal_texture is oriented around the surface normal provided by the .
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- If true, rim effect is enabled. Rim lighting increases the brightness at glancing angles on an object.
-
-
-
-
- Sets the strength of the rim lighting effect.
-
-
-
-
- The amount of to blend light and albedo color when rendering rim effect. If 0 the light color is used, while 1 means albedo color is used. An intermediate value generally works best.
-
-
-
-
- Texture used to set the strength of the rim lighting effect per-pixel. Multiplied by .
-
-
-
-
- If true, clearcoat rendering is enabled. Adds a secondary transparent pass to the lighting calculation resulting in an added specular blob. This makes materials appear as if they have a clear layer on them that can be either glossy or rough.
-
-
-
-
- Sets the strength of the clearcoat effect. Setting to 0 looks the same as disabling the clearcoat effect.
-
-
-
-
- Sets the roughness of the clearcoat pass. A higher value results in a smoother clearcoat while a lower value results in a rougher clearcoat.
-
-
-
-
- Texture that defines the strength of the clearcoat effect and the glossiness of the clearcoat. Strength is specified in the red channel while glossiness is specified in the green channel.
-
-
-
-
- If true, anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space. Mesh tangents are needed for this to work. If the mesh does not contain tangents the anisotropy effect will appear broken.
-
-
-
-
- The strength of the anisotropy effect.
-
-
-
-
- Texture that offsets the tangent map for anisotropy calculations.
-
-
-
-
- If true, ambient occlusion is enabled. Ambient occlusion darkens areas based on the .
-
-
-
-
- Amount that ambient occlusion affects lighting from lights. If 0, ambient occlusion only affects ambient light. If 1, ambient occlusion affects lights just as much as it affects ambient light. This can be used to impact the strength of the ambient occlusion effect, but typically looks unrealistic.
-
-
-
-
- Texture that defines the amount of ambient occlusion for a given point on the object.
-
-
-
-
- If true, use UV2 coordinates to look up from the .
-
-
-
-
- Specifies the channel of the in which the ambient occlusion information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use.
-
-
-
-
- If true, depth mapping is enabled (also called "parallax mapping" or "height mapping"). See also .
-
-
-
-
- Scales the depth offset effect. A higher number will create a larger depth.
-
-
-
-
- If true, the shader will read depth texture at multiple points along the view ray to determine occlusion and parrallax. This can be very performance demanding, but results in more realistic looking depth mapping.
-
-
-
-
- Number of layers to use when using and the view direction is parallel to the surface of the object. A higher number will be more performance demanding while a lower number may not look as crisp.
-
-
-
-
- Number of layers to use when using and the view direction is perpendicular to the surface of the object. A higher number will be more performance demanding while a lower number may not look as crisp.
-
-
-
-
- If true, direction of the tangent is flipped before using in the depth effect. This may be necessary if you have encoded your tangents in a way that is conflicting with the depth effect.
-
-
-
-
- If true, direction of the binormal is flipped before using in the depth effect. This may be necessary if you have encoded your binormals in a way that is conflicting with the depth effect.
-
-
-
-
- Texture used to determine depth at a given pixel. Depth is always stored in the red channel.
-
-
-
-
- If true, subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges.
-
-
-
-
- The strength of the subsurface scattering effect.
-
-
-
-
- Texture used to control the subsurface scattering strength. Stored in the red texture channel. Multiplied by .
-
-
-
-
- If true, the transmission effect is enabled.
-
-
-
-
- The color used by the transmission effect. Represents the light passing through an object.
-
-
-
-
- Texture used to control the transmission effect per-pixel. Added to .
-
-
-
-
- If true, the refraction effect is enabled. Distorts transparency based on light from behind the object.
-
-
-
-
- The strength of the refraction effect.
-
-
-
-
- Texture that controls the strength of the refraction per-pixel. Multiplied by .
-
-
-
-
- Specifies the channel of the in which the ambient occlusion information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use.
-
-
-
-
- If true, enables the detail overlay. Detail is a second texture that gets mixed over the surface of the object based on . This can be used to add variation to objects, or to blend between two different albedo/normal textures.
-
-
-
-
- Texture used to specify how the detail textures get blended with the base textures.
-
-
-
-
- Specifies how the should blend with the current ALBEDO. See for options.
-
-
-
-
- Specifies whether to use UV or UV2 for the detail layer. See for options.
-
-
-
-
- Texture that specifies the color of the detail overlay.
-
-
-
-
- Texture that specifies the per-pixel normal of the detail overlay.
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- How much to scale the UV coordinates. This is multiplied by UV in the vertex function.
-
-
-
-
- How much to offset the UV coordinates. This amount will be added to UV in the vertex function. This can be used to offset a texture.
-
-
-
-
- If true, instead of using UV textures will use a triplanar texture lookup to determine how to apply textures. Triplanar uses the orientation of the object's surface to blend between texture coordinates. It reads from the source texture 3 times, once for each axis and then blends between the results based on how closely the pixel aligns with each axis. This is often used for natural features to get a realistic blend of materials. Because triplanar texturing requires many more texture reads per-pixel it is much slower than normal UV texturing. Additionally, because it is blending the texture between the three axes, it is unsuitable when you are trying to achieve crisp texturing.
-
-
-
-
- A lower number blends the texture more softly while a higher number blends the texture more sharply.
-
-
-
-
- How much to scale the UV2 coordinates. This is multiplied by UV2 in the vertex function.
-
-
-
-
- How much to offset the UV2 coordinates. This amount will be added to UV2 in the vertex function. This can be used to offset a texture.
-
-
-
-
- If true, instead of using UV2 textures will use a triplanar texture lookup to determine how to apply textures. Triplanar uses the orientation of the object's surface to blend between texture coordinates. It reads from the source texture 3 times, once for each axis and then blends between the results based on how closely the pixel aligns with each axis. This is often used for natural features to get a realistic blend of materials. Because triplanar texturing requires many more texture reads per-pixel it is much slower than normal UV texturing. Additionally, because it is blending the texture between the three axes, it is unsuitable when you are trying to achieve crisp texturing.
-
-
-
-
- A lower number blends the texture more softly while a higher number blends the texture more sharply.
-
-
-
-
- If true, the proximity fade effect is enabled. The proximity fade effect fades out each pixel based on its distance to another object.
-
-
-
-
- Distance over which the fade effect takes place. The larger the distance the longer it takes for an object to fade.
-
-
-
-
- Specifies which type of fade to use. Can be any of the s.
-
-
-
-
- Distance at which the object starts to fade. If the object is less than this distance away it will appear normal.
-
-
-
-
- Distance at which the object fades fully and is no longer visible.
-
-
-
-
- If true, enables the specified flag. Flags are optional behaviour that can be turned on and off. Only one flag can be enabled at a time with this function, the flag enumerators cannot be bit-masked together to enable or disable multiple flags at once. Flags can also be enabled by setting the corresponding member to true. See enumerator for options.
-
-
-
-
- Returns true, if the specified flag is enabled. See enumerator for options.
-
-
-
-
- If true, enables the specified . Many features that are available in s need to be enabled before use. This way the cost for using the feature is only incurred when specified. Features can also be enabled by setting the corresponding member to true.
-
-
-
-
- Returns true, if the specified is enabled.
-
-
-
-
- Sets the to be used by the specified . This function is called when setting members ending in *_texture.
-
-
-
-
- Returns the associated with the specified .
-
-
-
-
- Class representing a spherical .
-
-
-
-
- Radius of sphere.
-
-
-
-
- Full height of the sphere.
-
-
-
-
- Number of radial segments on the sphere.
-
-
-
-
- Number of segments along the height of the sphere.
-
-
-
-
- If true, a hemisphere is created rather than a full sphere.
- Note: To get a regular hemisphere, the height and radius of the sphere must be equal.
-
-
-
-
- Sphere shape for 3D collisions, which can be set into a or . This shape is useful for modeling sphere-like 3D objects.
-
-
-
-
- The sphere's radius. The shape's diameter is double the radius.
-
-
-
-
- SpinBox is a numerical input text field. It allows entering integers and floats.
- Example:
-
- var spin_box = SpinBox.new()
- add_child(spin_box)
- var line_edit = spin_box.get_line_edit()
- line_edit.context_menu_enabled = false
- spin_box.align = LineEdit.ALIGN_RIGHT
-
- The above code will create a , disable context menu on it and set the text alignment to right.
- See class for more options over the .
-
-
-
-
- Sets the text alignment of the .
-
-
-
-
- If true, the will be editable. Otherwise, it will be read only.
-
-
-
-
- Adds the specified prefix string before the numerical value of the .
-
-
-
-
- Adds the specified suffix string after the numerical value of the .
-
-
-
-
- Applies the current value of this .
-
-
-
-
- Returns the instance from this . You can use it to access properties and methods of .
-
-
-
-
- Container for splitting two s vertically or horizontally, with a grabber that allows adjusting the split offset or ratio.
-
-
-
-
- The split dragger is visible when the cursor hovers it.
-
-
-
-
- The split dragger is never visible.
-
-
-
-
- The split dragger is never visible and its space collapsed.
-
-
-
-
- The initial offset of the splitting between the two s, with 0 being at the end of the first .
-
-
-
-
- If true, the area of the first will be collapsed and the dragger will be disabled.
-
-
-
-
- Determines the dragger's visibility. See for details.
-
-
-
-
- Clamps the value to not go outside the currently possible minimal and maximum values.
-
-
-
-
- A Spotlight is a type of node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance. This attenuation can be configured by changing the energy, radius and attenuation parameters of .
-
-
-
-
- The maximal range that can be reached by the spotlight. Note that the effectively lit area may appear to be smaller depending on the in use. No matter the in use, the light will never reach anything outside this range.
-
-
-
-
- The spotlight's light energy attenuation curve.
-
-
-
-
- The spotlight's angle in degrees.
-
-
-
-
- The spotlight's angular attenuation curve.
-
-
-
-
- The SpringArm node is a node that casts a ray (or collision shape) along its z axis and moves all its direct children to the collision point, minus a margin.
- The most common use case for this is to make a 3rd person camera that reacts to collisions in the environment.
- The SpringArm will either cast a ray, or if a shape is given, it will cast the shape in the direction of its z axis.
- If you use the SpringArm as a camera controller for your player, you might need to exclude the player's collider from the SpringArm's collision check.
-
-
-
-
- The layers against which the collision check shall be done. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The to use for the SpringArm.
- When the shape is set, the SpringArm will cast the on its z axis instead of performing a ray cast.
-
-
-
-
- The maximum extent of the SpringArm. This is used as a length for both the ray and the shape cast used internally to calculate the desired position of the SpringArm's child nodes.
- To know more about how to perform a shape cast or a ray cast, please consult the documentation.
-
-
-
-
- When the collision check is made, a candidate length for the SpringArm is given.
- The margin is then subtracted to this length and the translation is applied to the child objects of the SpringArm.
- This margin is useful for when the SpringArm has a as a child node: without the margin, the would be placed on the exact point of collision, while with the margin the would be placed close to the point of collision.
-
-
-
-
- Returns the spring arm's current length.
-
-
-
-
- Adds the object with the given to the list of objects excluded from the collision check.
-
-
-
-
- Removes the given from the list of objects excluded from the collision check.
-
-
-
-
- Clears the list of objects excluded from the collision check.
-
-
-
-
- A node that displays a 2D texture. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation.
-
-
-
-
- object to draw.
-
-
-
-
- The normal map gives depth to the Sprite.
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- If true, texture is centered.
-
-
-
-
- The texture's drawing offset.
-
-
-
-
- If true, texture is flipped horizontally.
-
-
-
-
- If true, texture is flipped vertically.
-
-
-
-
- The number of rows in the sprite sheet.
-
-
-
-
- The number of columns in the sprite sheet.
-
-
-
-
- Current frame to display from sprite sheet. or must be greater than 1.
-
-
-
-
- Coordinates of the frame to display from sprite sheet. This is as an alias for the property. or must be greater than 1.
-
-
-
-
- If true, texture is cut from a larger atlas texture. See .
-
-
-
-
- The region of the atlas texture to display. must be true.
-
-
-
-
- If true, the outermost pixels get blurred out.
-
-
-
-
- Returns true, if the pixel at the given position is opaque and false in other case.
- Note: It also returns false, if the sprite's texture is null or if the given position is invalid.
-
-
-
-
- Returns a representing the Sprite's boundary in local coordinates. Can be used to detect if the Sprite was clicked. Example:
-
- func _input(event):
- if event is InputEventMouseButton and event.pressed and event.button_index == BUTTON_LEFT:
- if get_rect().has_point(to_local(event.position)):
- print("A click!")
-
-
-
-
-
- A node that displays a 2D texture in a 3D environment. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation.
-
-
-
-
- object to draw. If is used, this will be overridden.
-
-
-
-
- The number of rows in the sprite sheet.
-
-
-
-
- The number of columns in the sprite sheet.
-
-
-
-
- Current frame to display from sprite sheet. or must be greater than 1.
-
-
-
-
- Coordinates of the frame to display from sprite sheet. This is as an alias for the property. or must be greater than 1.
-
-
-
-
- If true, texture will be cut from a larger atlas texture. See .
-
-
-
-
- The region of the atlas texture to display. must be true.
-
-
-
-
- A node that displays 2D texture information in a 3D environment.
-
-
-
-
- If set, the texture's transparency and the opacity are used to make those parts of the sprite invisible.
-
-
-
-
- If set, lights in the environment affect the sprite.
-
-
-
-
- If set, texture can be seen from the back as well, if not, it is invisible when looking at it from behind.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If true, texture will be centered.
-
-
-
-
- The texture's drawing offset.
-
-
-
-
- If true, texture is flipped horizontally.
-
-
-
-
- If true, texture is flipped vertically.
-
-
-
-
- A color value that gets multiplied on, could be used for mood-coloring or to simulate the color of light.
-
-
-
-
- The objects visibility on a scale from 0 fully invisible to 1 fully visible.
-
-
-
-
- The size of one pixel's width on the sprite to scale it in 3D.
-
-
-
-
- The direction in which the front of the texture faces.
-
-
-
-
- If true, the texture's transparency and the opacity are used to make those parts of the sprite invisible.
-
-
-
-
- If true, the in the has effects on the sprite.
-
-
-
-
- If true, texture can be seen from the back as well, if false, it is invisible when looking at it from behind.
-
-
-
-
- If true, the specified flag will be enabled.
-
-
-
-
- Returns the value of the specified flag.
-
-
-
-
- Returns the rectangle representing this sprite.
-
-
-
-
- Sprite frame library for . Contains frames and animation data for playback.
- Note: You can associate a set of normal maps by creating additional resources with a _normal suffix. For example, having 2 resources run and run_normal will make it so the run animation uses the normal map.
-
-
-
-
- Compatibility property, always equals to an empty array.
-
-
-
-
- Adds a new animation to the library.
-
-
-
-
- If true, the named animation exists.
-
-
-
-
- Removes the given animation.
-
-
-
-
- Changes the animation's name to newname.
-
-
-
-
- Returns an array containing the names associated to each animation. Values are placed in alphabetical order.
-
-
-
-
- The animation's speed in frames per second.
-
-
-
-
- The animation's speed in frames per second.
-
-
-
-
- If true, the animation will loop.
-
-
-
-
- If true, the given animation will loop.
-
-
-
-
- Adds a frame to the given animation.
-
-
-
-
- Returns the number of frames in the animation.
-
-
-
-
- Returns the animation's selected frame.
-
-
-
-
- Sets the texture of the given frame.
-
-
-
-
- Removes the animation's selected frame.
-
-
-
-
- Removes all frames from the given animation.
-
-
-
-
- Removes all animations. A "default" animation will be created.
-
-
-
-
- Static body for 3D physics. A static body is a simple body that is not intended to move. In contrast to , they don't consume any CPU resources as long as they don't move.
- Additionally, a constant linear or angular velocity can be set for the static body, so even if it doesn't move, it affects other bodies as if it was moving (this is useful for simulating conveyor belts or conveyor wheels).
-
-
-
-
- The body's friction, from 0 (frictionless) to 1 (full friction).
- Deprecated, use instead via .
-
-
-
-
- The body's bounciness. Values range from 0 (no bounce) to 1 (full bounciness).
- Deprecated, use instead via .
-
-
-
-
- The physics material override for the body.
- If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one.
-
-
-
-
- The body's constant linear velocity. This does not move the body, but affects other bodies that touch it, as if it was in a state of movement.
-
-
-
-
- The body's constant angular velocity. This does not rotate the body, but affects other bodies that touch it, as if it was in a state of rotation.
-
-
-
-
- Static body for 2D physics. A StaticBody2D is a body that is not intended to move. It is ideal for implementing objects in the environment, such as walls or platforms.
- Additionally, a constant linear or angular velocity can be set for the static body, which will affect colliding bodies as if it were moving (for example, a conveyor belt).
-
-
-
-
- The body's constant linear velocity. This does not move the body, but affects colliding bodies, as if it were moving.
-
-
-
-
- The body's constant angular velocity. This does not rotate the body, but affects colliding bodies, as if it were rotating.
-
-
-
-
- The body's friction. Values range from 0 (no friction) to 1 (full friction).
- Deprecated, use instead via .
-
-
-
-
- The body's bounciness. Values range from 0 (no bounce) to 1 (full bounciness).
- Deprecated, use instead via .
-
-
-
-
- The physics material override for the body.
- If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one.
-
-
-
-
- StreamPeer is an abstraction and base class for stream-based protocols (such as TCP or UNIX sockets). It provides an API for sending and receiving data through streams as raw data or strings.
-
-
-
-
- If true, this will using big-endian format for encoding and decoding.
-
-
-
-
- Sends a chunk of data through the connection, blocking if necessary until the data is done sending. This function returns an code.
-
-
-
-
- Sends a chunk of data through the connection. If all the data could not be sent at once, only part of it will. This function returns two values, an code and an integer, describing how much data was actually sent.
-
-
-
-
- Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the bytes argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an code and a data array.
-
-
-
-
- Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an code, and a data array.
-
-
-
-
- Returns the amount of bytes this has available.
-
-
-
-
- Puts a signed byte into the stream.
-
-
-
-
- Puts an unsigned byte into the stream.
-
-
-
-
- Puts a signed 16-bit value into the stream.
-
-
-
-
- Puts an unsigned 16-bit value into the stream.
-
-
-
-
- Puts a signed 32-bit value into the stream.
-
-
-
-
- Puts an unsigned 32-bit value into the stream.
-
-
-
-
- Puts a signed 64-bit value into the stream.
-
-
-
-
- Puts an unsigned 64-bit value into the stream.
-
-
-
-
- Puts a single-precision float into the stream.
-
-
-
-
- Puts a double-precision float into the stream.
-
-
-
-
- Puts a zero-terminated ASCII string into the stream prepended by a 32-bit unsigned integer representing its size.
- Note: To put an ASCII string without prepending its size, you can use :
-
- put_data("Hello world".to_ascii())
-
-
-
-
-
- Puts a zero-terminated UTF-8 string into the stream prepended by a 32 bits unsigned integer representing its size.
- Note: To put an UTF-8 string without prepending its size, you can use :
-
- put_data("Hello world".to_utf8())
-
-
-
-
-
- Puts a Variant into the stream. If full_objects is true encoding objects is allowed (and can potentially include code).
-
-
-
-
- Gets a signed byte from the stream.
-
-
-
-
- Gets an unsigned byte from the stream.
-
-
-
-
- Gets a signed 16-bit value from the stream.
-
-
-
-
- Gets an unsigned 16-bit value from the stream.
-
-
-
-
- Gets a signed 32-bit value from the stream.
-
-
-
-
- Gets an unsigned 32-bit value from the stream.
-
-
-
-
- Gets a signed 64-bit value from the stream.
-
-
-
-
- Gets an unsigned 64-bit value from the stream.
-
-
-
-
- Gets a single-precision float from the stream.
-
-
-
-
- Gets a double-precision float from the stream.
-
-
-
-
- Gets a string with byte-length bytes from the stream. If bytes is negative (default) the length will be read from the stream using the reverse process of .
-
-
-
-
- Gets an UTF-8 string with byte-length bytes from the stream (this decodes the string sent as UTF-8). If bytes is negative (default) the length will be read from the stream using the reverse process of .
-
-
-
-
- Gets a Variant from the stream. If allow_objects is true, decoding objects is allowed.
- Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
-
-
-
-
- SSL stream peer. This object can be used to connect to an SSL server or accept a single SSL client connection.
-
-
-
-
- A status representing a that is disconnected.
-
-
-
-
- A status representing a during handshaking.
-
-
-
-
- A status representing a that is connected to a host.
-
-
-
-
- A status representing a in error state.
-
-
-
-
- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
-
-
-
-
- Poll the connection to check for incoming bytes. Call this right before for it to work properly.
-
-
-
-
- Accepts a peer connection as a server using the given private_key and providing the given certificate to the client. You can pass the optional chain parameter to provide additional CA chain information along with the certificate.
-
-
-
-
- Connects to a peer using an underlying stream. If validate_certs is true, will validate that the certificate presented by the peer matches the for_hostname.
- Note: Specifying a custom valid_certificate is not supported in HTML5 exports due to browsers restrictions.
-
-
-
-
- Returns the status of the connection. See for values.
-
-
-
-
- Disconnects from host.
-
-
-
-
- TCP stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server.
-
-
-
-
- The initial status of the . This is also the status after disconnecting.
-
-
-
-
- A status representing a that is connecting to a host.
-
-
-
-
- A status representing a that is connected to a host.
-
-
-
-
- A status representing a in error state.
-
-
-
-
- Connects to the specified host:port pair. A hostname will be resolved if valid. Returns on success or on failure.
-
-
-
-
- Returns true if this peer is currently connected to a host, false otherwise.
-
-
-
-
- Returns the status of the connection, see .
-
-
-
-
- Returns the IP of this peer.
-
-
-
-
- Returns the port of this peer.
-
-
-
-
- Disconnects from host.
-
-
-
-
- Disables Nagle's algorithm to improve latency for small packets.
- Note: For applications that send large packets or need to transfer a lot of data, this can decrease the total available bandwidth.
-
-
-
-
- A texture that is loaded from a .stex file.
-
-
-
-
- The StreamTexture's file path to a .stex file.
-
-
-
-
- Loads the texture from the given path.
-
-
-
-
- StyleBox is that provides an abstract base class for drawing stylized boxes for the UI. StyleBoxes are used for drawing the styles of buttons, line edit backgrounds, tree backgrounds, etc. and also for testing a transparency mask for pointer signals. If mask test fails on a StyleBox assigned as mask to a control, clicks and motion signals will go through it to the one below.
-
-
-
-
- The left margin for the contents of this style box.Increasing this value reduces the space available to the contents from the left.
- Refer to for extra considerations.
-
-
-
-
- The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.
- Refer to for extra considerations.
-
-
-
-
- The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.
- Refer to for extra considerations.
-
-
-
-
- The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.
- If this value is negative, it is ignored and a child-specific margin is used instead. For example for the border thickness (if any) is used instead.
- It is up to the code using this style box to decide what these contents are: for example, a respects this content margin for the textual contents of the button.
- should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.
-
-
-
-
- Test a position in a rectangle, return whether it passes the mask test.
-
-
-
-
- Sets the default value of the specified to given offset in pixels.
-
-
-
-
- Returns the default value of the specified .
-
-
-
-
- Returns the content margin offset for the specified .
- Positive values reduce size inwards, unlike 's margin values.
-
-
-
-
- Returns the minimum size that this stylebox can be shrunk to.
-
-
-
-
- Returns the size of this without the margins.
-
-
-
-
- Returns the "offset" of a stylebox. This helper function returns a value equivalent to Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP)).
-
-
-
-
- Returns the that handles its or callback at this moment.
-
-
-
-
- Draws this stylebox using a with given .
- You can get a value using on a -derived node.
-
-
-
-
- Empty stylebox (really does not display anything).
-
-
-
-
- This can be used to achieve all kinds of looks without the need of a texture. Those properties are customizable:
- - Color
- - Border width (individual width for each border)
- - Rounded corners (individual radius for each corner)
- - Shadow (with blur and offset)
- Setting corner radius to high values is allowed. As soon as corners would overlap, the stylebox will switch to a relative system. Example:
-
- height = 30
- corner_radius_top_left = 50
- corner_radius_bottom_left = 100
-
- The relative system now would take the 1:2 ratio of the two left corners to calculate the actual corner width. Both corners added will never be more than the height. Result:
-
- corner_radius_top_left: 10
- corner_radius_bottom_left: 20
-
-
-
-
-
- The background color of the stylebox.
-
-
-
-
- Toggles drawing of the inner part of the stylebox.
-
-
-
-
- Border width for the left border.
-
-
-
-
- Border width for the top border.
-
-
-
-
- Border width for the right border.
-
-
-
-
- Border width for the bottom border.
-
-
-
-
- Sets the color of the border.
-
-
-
-
- If true, the border will fade into the background color.
-
-
-
-
- The top-left corner's radius. If 0, the corner is not rounded.
-
-
-
-
- The top-right corner's radius. If 0, the corner is not rounded.
-
-
-
-
- The bottom-right corner's radius. If 0, the corner is not rounded.
-
-
-
-
- The bottom-left corner's radius. If 0, the corner is not rounded.
-
-
-
-
- This sets the amount of vertices used for each corner. Higher values result in rounder corners but take more processing power to compute. When choosing a value, you should take the corner radius () into account.
- For corner radii smaller than 10, 4 or 5 should be enough. For corner radii smaller than 30, values between 8 and 12 should be enough.
- A corner detail of 1 will result in chamfered corners instead of rounded corners, which is useful for some artistic effects.
-
-
-
-
- Expands the stylebox outside of the control rect on the left edge. Useful in combination with to draw a border outside the control rect.
-
-
-
-
- Expands the stylebox outside of the control rect on the right edge. Useful in combination with to draw a border outside the control rect.
-
-
-
-
- Expands the stylebox outside of the control rect on the top edge. Useful in combination with to draw a border outside the control rect.
-
-
-
-
- Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with to draw a border outside the control rect.
-
-
-
-
- The color of the shadow. This has no effect if is lower than 1.
-
-
-
-
- The shadow size in pixels.
-
-
-
-
- The shadow offset in pixels. Adjusts the position of the shadow relatively to the stylebox.
-
-
-
-
- Antialiasing draws a small ring around the edges, which fades to transparency. As a result, edges look much smoother. This is only noticeable when using rounded corners.
-
-
-
-
- This changes the size of the faded ring. Higher values can be used to achieve a "blurry" effect.
-
-
-
-
- Sets the border width to width pixels for all margins.
-
-
-
-
- Returns the smallest border width out of all four borders.
-
-
-
-
- Sets the border width to width pixels for the given margin. See for possible values.
-
-
-
-
- Returns the given margin's border width. See for possible values.
-
-
-
-
- Sets the corner radius for each corner to radius_top_left, radius_top_right, radius_bottom_right, and radius_bottom_left pixels.
-
-
-
-
- Sets the corner radius to radius pixels for all corners.
-
-
-
-
- Sets the corner radius to radius pixels for the given corner. See for possible values.
-
-
-
-
- Returns the given corner's radius. See for possible values.
-
-
-
-
- Sets the expand margin to size pixels for the given margin. See for possible values.
-
-
-
-
- Sets the expand margin to size pixels for all margins.
-
-
-
-
- Sets the expand margin for each margin to size_left, size_top, size_right, and size_bottom pixels.
-
-
-
-
- Returns the size of the given margin's expand margin. See for possible values.
-
-
-
-
- that displays a single line of a given color and thickness. It can be used to draw things like separators.
-
-
-
-
- The line's color.
-
-
-
-
- The number of pixels the line will extend before the 's bounds. If set to a negative value, the line will begin inside the 's bounds.
-
-
-
-
- The number of pixels the line will extend past the 's bounds. If set to a negative value, the line will end inside the 's bounds.
-
-
-
-
- The line's thickness in pixels.
-
-
-
-
- If true, the line will be vertical. If false, the line will be horizontal.
-
-
-
-
- Texture-based nine-patch , in a way similar to . This stylebox performs a 3×3 scaling of a texture, where only the center cell is fully stretched. This makes it possible to design bordered styles regardless of the stylebox's size.
-
-
-
-
- Stretch the stylebox's texture. This results in visible distortion unless the texture size matches the stylebox's size perfectly.
-
-
-
-
- Repeats the stylebox's texture to match the stylebox's size according to the nine-patch system.
-
-
-
-
- Repeats the stylebox's texture to match the stylebox's size according to the nine-patch system. Unlike , the texture may be slightly stretched to make the nine-patch texture tile seamlessly.
-
-
-
-
- The texture to use when drawing this style box.
-
-
-
-
- The normal map to use when drawing this style box.
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- Species a sub-region of the texture to use.
- This is equivalent to first wrapping the texture in an with the same region.
-
-
-
-
- Increases the left margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the left border of the 3×3 box.
- This is also the value used as fallback for if it is negative.
-
-
-
-
- Increases the right margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the right border of the 3×3 box.
- This is also the value used as fallback for if it is negative.
-
-
-
-
- Increases the top margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the top border of the 3×3 box.
- This is also the value used as fallback for if it is negative.
-
-
-
-
- Increases the bottom margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the bottom border of the 3×3 box.
- This is also the value used as fallback for if it is negative.
-
-
-
-
- Expands the left margin of this style box when drawing, causing it to be drawn larger than requested.
-
-
-
-
- Expands the right margin of this style box when drawing, causing it to be drawn larger than requested.
-
-
-
-
- Expands the top margin of this style box when drawing, causing it to be drawn larger than requested.
-
-
-
-
- Expands the bottom margin of this style box when drawing, causing it to be drawn larger than requested.
-
-
-
-
- Controls how the stylebox's texture will be stretched or tiled horizontally. See for possible values.
-
-
-
-
- Controls how the stylebox's texture will be stretched or tiled vertically. See for possible values.
-
-
-
-
- Modulates the color of the texture when this style box is drawn.
-
-
-
-
- If true, the nine-patch texture's center tile will be drawn.
-
-
-
-
- Sets the margin to size pixels for the given margin. See for possible values.
-
-
-
-
- Returns the size of the given margin. See for possible values.
-
-
-
-
- Sets the expand margin to size pixels for the given margin. See for possible values.
-
-
-
-
- Sets the expand margin to size pixels for all margins.
-
-
-
-
- Sets the expand margin for each margin to size_left, size_top, size_right, and size_bottom pixels.
-
-
-
-
- Returns the size of the given margin's expand margin. See for possible values.
-
-
-
-
- The is used to construct a by specifying vertex attributes individually. It can be used to construct a from a script. All properties except indices need to be added before calling . For example, to add vertex colors and UVs:
-
- var st = SurfaceTool.new()
- st.begin(Mesh.PRIMITIVE_TRIANGLES)
- st.add_color(Color(1, 0, 0))
- st.add_uv(Vector2(0, 0))
- st.add_vertex(Vector3(0, 0, 0))
-
- The above now contains one vertex of a triangle which has a UV coordinate and a specified . If another vertex were added without calling or , then the last values would be used.
- Vertex attributes must be passed before calling . Failure to do so will result in an error when committing the vertex information to a mesh.
- Additionally, the attributes used before the first vertex is added determine the format of the mesh. For example, if you only add UVs to the first vertex, you cannot add color to any of the subsequent vertices.
- See also , and for procedural geometry generation.
- Note: Godot uses clockwise winding order for front faces of triangle primitive modes.
-
-
-
-
- Called before adding any vertices. Takes the primitive type as an argument (e.g. ).
-
-
-
-
- Specifies the position of current vertex. Should be called after specifying other vertex properties (e.g. Color, UV).
-
-
-
-
- Specifies a for the next vertex to use.
-
-
-
-
- Specifies a normal for the next vertex to use.
-
-
-
-
- Specifies a tangent for the next vertex to use.
-
-
-
-
- Specifies a set of UV coordinates to use for the next vertex.
-
-
-
-
- Specifies an optional second set of UV coordinates to use for the next vertex.
-
-
-
-
- Adds an array of bones for the next vertex to use. bones must contain 4 integers.
-
-
-
-
- Specifies weight values for next vertex to use. weights must contain 4 values.
-
-
-
-
- Specifies whether the current vertex (if using only vertex arrays) or current index (if also using index arrays) should use smooth normals for normal calculation.
-
-
-
-
- Inserts a triangle fan made of array data into being constructed.
- Requires the primitive type be set to .
-
- If the parameter is null, then the default value is new Vector2[] {}
- If the parameter is null, then the default value is new Color[] {}
- If the parameter is null, then the default value is new Vector2[] {}
- If the parameter is null, then the default value is new Vector3[] {}
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Adds an index to index array if you are using indexed vertices. Does not need to be called before adding vertices.
-
-
-
-
- Shrinks the vertex array by creating an index array (avoids reusing vertices).
-
-
-
-
- Removes the index array by expanding the vertex array.
-
-
-
-
- Generates normals from vertices so you do not have to do it manually. If flip is true, the resulting normals will be inverted.
- Requires the primitive type to be set to .
-
-
-
-
- Generates a tangent vector for each vertex. Requires that each vertex have UVs and normals set already.
-
-
-
-
- Sets to be used by the you are constructing.
-
-
-
-
- Clear all information passed into the surface tool so far.
-
-
-
-
- Creates a vertex array from an existing .
-
-
-
-
- Creates a vertex array from the specified blend shape of an existing . This can be used to extract a specific pose from a blend shape.
-
-
-
-
- Append vertices from a given surface onto the current vertex array with specified .
-
-
-
-
- Returns a constructed from current information passed in. If an existing is passed in as an argument, will add an extra surface to the existing .
- Default flag is . See ARRAY_COMPRESS_* constants in for other flags.
-
-
-
-
- Commits the data to the same format used by . This way you can further process the mesh data using the API.
-
-
-
-
- A TCP server. Listens to connections on a port and returns a when it gets an incoming connection.
-
-
-
-
- Listen on the port binding to bind_address.
- If bind_address is set as "*" (default), the server will listen on all available addresses (both IPv4 and IPv6).
- If bind_address is set as "0.0.0.0" (for IPv4) or "::" (for IPv6), the server will listen on all available addresses matching that IP type.
- If bind_address is set to any valid address (e.g. "192.168.1.101", "::1", etc), the server will only listen on the interface with that addresses (or fail if no interface with the given address exists).
-
-
-
-
- Returns true if a connection is available for taking.
-
-
-
-
- Returns true if the server is currently listening for connections.
-
-
-
-
- If a connection is available, returns a StreamPeerTCP with the connection.
-
-
-
-
- Stops listening.
-
-
-
-
- Sets the active tab's visible property to the value true. Sets all other children's to false.
- Ignores non- children.
- Individual tabs are always visible unless you use and to hide it.
- To hide only a tab's content, nest the content inside a child , so it receives the 's visibility setting instead.
-
-
-
-
- Align the tabs to the left.
-
-
-
-
- Align the tabs to the center.
-
-
-
-
- Align the tabs to the right.
-
-
-
-
- The alignment of all tabs in the tab container. See the constants for details.
-
-
-
-
- The current tab index. When set, this index's node's visible property is set to true and all others are set to false.
-
-
-
-
- If true, tabs are visible. If false, tabs' content and titles are hidden.
-
-
-
-
- If true, tabs can be rearranged with mouse drag.
-
-
-
-
- If true, children nodes that are hidden have their minimum size take into account in the total, instead of only the currently visible one.
-
-
-
-
- Returns the number of tabs.
-
-
-
-
- Returns the previously active tab index.
-
-
-
-
- Returns the child node located at the active tab index.
-
-
-
-
- Returns the node from the tab at index tab_idx.
-
-
-
-
- Sets a title for the tab at index tab_idx. Tab titles default to the name of the indexed child node, but this can be overridden with .
-
-
-
-
- Returns the title of the tab at index tab_idx. Tab titles default to the name of the indexed child node, but this can be overridden with .
-
-
-
-
- Sets an icon for the tab at index tab_idx.
-
-
-
-
- Returns the for the tab at index tab_idx or null if the tab has no .
-
-
-
-
- If disabled is false, hides the tab at index tab_idx.
- Note: Its title text will remain, unless also removed with .
-
-
-
-
- Returns true if the tab at index tab_idx is disabled.
-
-
-
-
- If set on a node instance, a popup menu icon appears in the top-right corner of the . Clicking it will expand the node.
-
-
-
-
- Returns the node instance if one has been set already with .
-
-
-
-
- Defines rearrange group id, choose for each the same value to enable tab drag between . Enable drag with set_drag_to_rearrange_enabled(true).
-
-
-
-
- Returns the rearrange group id.
-
-
-
-
- Simple tabs control, similar to but is only in charge of drawing tabs, not interact with children.
-
-
-
-
- Never show the close buttons.
-
-
-
-
- Only show the close button on the currently active tab.
-
-
-
-
- Show the close button on all tabs.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Align the tabs to the left.
-
-
-
-
- Align the tabs to the center.
-
-
-
-
- Align the tabs to the right.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Select tab at index tab_idx.
-
-
-
-
- The alignment of all tabs. See for details.
-
-
-
-
- Sets when the close button will appear on the tabs. See for details.
-
-
-
-
- if true, the mouse's scroll wheel cab be used to navigate the scroll view.
-
-
-
-
- If true, tabs can be rearranged with mouse drag.
-
-
-
-
- Returns the number of tabs.
-
-
-
-
- Sets a title for the tab at index tab_idx.
-
-
-
-
- Returns the title of the tab at index tab_idx. Tab titles default to the name of the indexed child node, but this can be overridden with .
-
-
-
-
- Sets an icon for the tab at index tab_idx.
-
-
-
-
- Returns the for the tab at index tab_idx or null if the tab has no .
-
-
-
-
- If disabled is false, hides the tab at index tab_idx.
- Note: Its title text will remain unless it is also removed with .
-
-
-
-
- Returns true if the tab at index tab_idx is disabled.
-
-
-
-
- Removes the tab at index tab_idx.
-
-
-
-
- Adds a new tab.
-
-
-
-
- Returns the number of hidden tabs offsetted to the left.
-
-
-
-
- Returns true if the offset buttons (the ones that appear when there's not enough space for all tabs) are visible.
-
-
-
-
- Moves the scroll view to make the tab visible.
-
-
-
-
- Returns tab with local position and size.
-
-
-
-
- Moves a tab from from to to.
-
-
-
-
- Defines the rearrange group ID. Choose for each the same value to dragging tabs between . Enable drag with set_drag_to_rearrange_enabled(true).
-
-
-
-
- Returns the ' rearrange group ID.
-
-
-
-
- If true, enables selecting a tab with the right mouse button.
-
-
-
-
- Returns true if select with right mouse button is enabled.
-
-
-
-
- TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo.
-
-
-
-
- Match case when searching.
-
-
-
-
- Match whole words when searching.
-
-
-
-
- Search from end to beginning.
-
-
-
-
- Used to access the result column from .
-
-
-
-
- Used to access the result line from .
-
-
-
-
- Cuts (copies and clears) the selected text.
-
-
-
-
- Copies the selected text.
-
-
-
-
- Pastes the clipboard text over the selected text (or at the cursor's position).
-
-
-
-
- Erases the whole text.
-
-
-
-
- Selects the whole text.
-
-
-
-
- Undoes the previous action.
-
-
-
-
- Redoes the previous action.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- String value of the .
-
-
-
-
- If true, read-only mode is enabled. Existing text cannot be modified and new text cannot be added.
-
-
-
-
- If true, the line containing the cursor is highlighted.
-
-
-
-
- If true, any custom color properties that have been set for this will be visible.
-
-
-
-
- If true, line numbers are displayed to the left of the text.
-
-
-
-
- If true, the "tab" character will have a visible representation.
-
-
-
-
- If true, the "space" character will have a visible representation.
-
-
-
-
- If true, the breakpoint gutter is visible.
-
-
-
-
- If true, the fold gutter is visible. This enables folding groups of indented lines.
-
-
-
-
- If true, all occurrences of the selected text will be highlighted.
-
-
-
-
- If true, custom font_color_selected will be used for selected text.
-
-
-
-
- If true, a right-click displays the context menu.
-
-
-
-
- If true, shortcut keys for context menu items are enabled, even if the context menu is disabled.
-
-
-
-
- If true, the native virtual keyboard is shown when focused on platforms that support it.
-
-
-
-
- If true, text can be selected.
- If false, text can not be selected by the user or by the or methods.
-
-
-
-
- If true, sets the step of the scrollbars to 0.25 which results in smoother scrolling.
-
-
-
-
- Vertical scroll sensitivity.
-
-
-
-
- If true, all lines that have been set to hidden by , will not be visible.
-
-
-
-
- If true, enables text wrapping when it goes beyond the edge of what is visible.
-
-
-
-
- The current vertical scroll value.
-
-
-
-
- The current horizontal scroll value.
-
-
-
-
- If true, a minimap is shown, providing an outline of your source code.
-
-
-
-
- The width, in pixels, of the minimap.
-
-
-
-
- If true, the caret displays as a rectangle.
- If false, the caret displays as a bar.
-
-
-
-
- If true, the caret (visual cursor) blinks.
-
-
-
-
- Duration (in seconds) of a caret's blinking cycle.
-
-
-
-
- If true, a right-click moves the cursor at the mouse position before displaying the context menu.
- If false, the context menu disregards mouse location.
-
-
-
-
- Insert the specified text at the cursor position.
-
-
-
-
- Returns the amount of total lines in the text.
-
-
-
-
- Returns the text of a specific line.
-
-
-
-
- Sets the text for a specific line.
-
-
-
-
- Centers the viewport on the line the editing cursor is at. This also resets the value to 0.
-
-
-
-
- Moves the cursor at the specified column index.
- If adjust_viewport is set to true, the viewport will center at the cursor position after the move occurs.
-
-
-
-
- Moves the cursor at the specified line index.
- If adjust_viewport is set to true, the viewport will center at the cursor position after the move occurs.
- If can_be_hidden is set to true, the specified line can be hidden using .
-
-
-
-
- Returns the column the editing cursor is at.
-
-
-
-
- Returns the line the editing cursor is at.
-
-
-
-
- Cut's the current selection.
-
-
-
-
- Copy's the current text selection.
-
-
-
-
- Paste the current selection.
-
-
-
-
- Perform selection, from line/column to line/column.
- If is false, no selection will occur.
-
-
-
-
- Select all the text.
- If is false, no selection will occur.
-
-
-
-
- Deselects the current selection.
-
-
-
-
- Returns true if the selection is active.
-
-
-
-
- Returns the selection begin line.
-
-
-
-
- Returns the selection begin column.
-
-
-
-
- Returns the selection end line.
-
-
-
-
- Returns the selection end column.
-
-
-
-
- Returns the text inside the selection.
-
-
-
-
- Returns a text with the word under the mouse cursor location.
-
-
-
-
- Perform a search inside the text. Search flags can be specified in the enum.
- Returns an empty PoolIntArray if no result was found. Otherwise, the result line and column can be accessed at indices specified in the enum, e.g:
-
- var result = search(key, flags, line, column)
- if result.size() > 0:
- # Result found.
- var res_line = result[TextEdit.SEARCH_RESULT_LINE]
- var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]
-
-
-
-
-
- Perform undo operation.
-
-
-
-
- Perform redo operation.
-
-
-
-
- Clears the undo history.
-
-
-
-
- If true, hides the line of the specified index.
-
-
-
-
- Returns whether the line at the specified index is hidden or not.
-
-
-
-
- Folds all lines that are possible to be folded (see ).
-
-
-
-
- Unhide all lines that were previously set to hidden by .
-
-
-
-
- Folds the given line, if possible (see ).
-
-
-
-
- Unfolds the given line, if folded.
-
-
-
-
- Toggle the folding of the code block at the given line.
-
-
-
-
- Returns if the given line is foldable, that is, it has indented lines right below it.
-
-
-
-
- Returns whether the line at the specified index is folded or not.
-
-
-
-
- Adds a keyword and its .
-
-
-
-
- Returns whether the specified keyword has a color set to it or not.
-
-
-
-
- Returns the of the specified keyword.
-
-
-
-
- Adds color region (given the delimiters) and its colors.
-
-
-
-
- Clears all custom syntax coloring information previously added with or .
-
-
-
-
- Triggers a right-click menu action by the specified index. See for a list of available indexes.
-
-
-
-
- Returns the of this . By default, this menu is displayed when right-clicking on the .
-
-
-
-
- Returns an array containing the line number of each breakpoint.
-
-
-
-
- Removes all the breakpoints. This will not fire the breakpoint_toggled signal.
-
-
-
-
- A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D or GUI .
- Textures are often created by loading them from a file. See @GDScript.load.
- is a base for other resources. It cannot be used directly.
-
-
-
-
- Default flags. , and are enabled.
-
-
-
-
- Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
-
-
-
-
- Repeats the texture (instead of clamp to edge).
-
-
-
-
- Uses a magnifying filter, to enable smooth zooming in of the texture.
-
-
-
-
- Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
- This results in better-looking textures when viewed from oblique angles.
-
-
-
-
- Converts the texture to the sRGB color space.
-
-
-
-
- Repeats the texture with alternate sections mirrored.
-
-
-
-
- Texture is a video surface.
-
-
-
-
- The texture's . are used to set various properties of the .
-
-
-
-
- Returns the texture width.
-
-
-
-
- Returns the texture height.
-
-
-
-
- Returns the texture size.
-
-
-
-
- Returns true if this has an alpha channel.
-
-
-
-
- Draws the texture using a with the API at the specified position. Equivalent to with a rect at position and the size of this .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws the texture using a with the API. Equivalent to .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Draws a part of the texture using a with the API. Equivalent to .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Returns an that is a copy of data from this . s can be accessed and manipulated directly.
-
-
-
-
- Texture3D is a 3-dimensional texture that has a width, height, and depth.
-
-
-
-
- s store an array of images in a single primitive. Each layer of the texture array has its own mipmap chain. This makes it is a good alternative to texture atlases.
-
-
-
-
- has the same functionality as , except it uses sprites instead of Godot's resource. It is faster to create, but it doesn't support localization like more complex s.
- The "normal" state must contain a texture (); other textures are optional.
-
-
-
-
- Scale to fit the node's bounding rectangle.
-
-
-
-
- Tile inside the node's bounding rectangle.
-
-
-
-
- The texture keeps its original size and stays in the bounding rectangle's top-left corner.
-
-
-
-
- The texture keeps its original size and stays centered in the node's bounding rectangle.
-
-
-
-
- Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio.
-
-
-
-
- Scale the texture to fit the node's bounding rectangle, center it, and maintain its aspect ratio.
-
-
-
-
- Scale the texture so that the shorter side fits the bounding rectangle. The other side clips to the node's limits.
-
-
-
-
- Texture to display by default, when the node is not in the disabled, focused, hover or pressed state.
-
-
-
-
- Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the key.
-
-
-
-
- Texture to display when the mouse hovers the node.
-
-
-
-
- Texture to display when the node is disabled. See .
-
-
-
-
- Texture to display when the node has mouse or keyboard focus.
-
-
-
-
- Pure black and white image to use for click detection. On the mask, white pixels represent the button's clickable area. Use it to create buttons with curved shapes.
-
-
-
-
- If true, the texture stretches to the edges of the node's bounding rectangle using the . If false, the texture will not scale with the node.
-
-
-
-
- Controls the texture's behavior when you resize the node's bounding rectangle, only if is true. Set it to one of the constants. See the constants to learn more.
-
-
-
-
- Base class for and . Cannot be used directly, but contains all the functions necessary for accessing and using and . Data is set on a per-layer basis. For s, the layer sepcifies the depth or Z-index, they can be treated as a bunch of 2D slices. Similarly, for s, the layer specifies the array layer.
-
-
-
-
- Texture will generate mipmaps on creation.
-
-
-
-
- Texture will repeat when UV used is outside the 0-1 range.
-
-
-
-
- Use filtering when reading from texture. Filtering smooths out pixels. Turning filtering off is slightly faster and more appropriate when you need access to individual pixels.
-
-
-
-
- Equivalent to .
-
-
-
-
- Specifies which apply to this texture.
-
-
-
-
- Returns a dictionary with all the data used by this texture.
-
-
-
-
- Returns the current format being used by this texture. See for details.
-
-
-
-
- Returns the width of the texture. Width is typically represented by the X-axis.
-
-
-
-
- Returns the height of the texture. Height is typically represented by the Y-axis.
-
-
-
-
- Returns the depth of the texture. Depth is the 3rd dimension (typically Z-axis).
-
-
-
-
- Creates the or with specified width, height, and depth. See for format options. See enumerator for flags options.
-
-
-
-
- Sets the data for the specified layer. Data takes the form of a 2-dimensional resource.
-
-
-
-
- Returns an resource with the data from specified layer.
-
-
-
-
- Partially sets the data for a specified layer by overwriting using the data of the specified image. x_offset and y_offset determine where the is "stamped" over the texture. The image must fit within the texture.
-
-
-
-
- TextureProgress works like , but uses up to 3 textures instead of Godot's resource. It can be used to create horizontal, vertical and radial progress bars.
-
-
-
-
- The fills from left to right.
-
-
-
-
- The fills from right to left.
-
-
-
-
- The fills from top to bottom.
-
-
-
-
- The fills from bottom to top.
-
-
-
-
- Turns the node into a radial bar. The fills clockwise. See , and to control the way the bar fills up.
-
-
-
-
- Turns the node into a radial bar. The fills counterclockwise. See , and to control the way the bar fills up.
-
-
-
-
- The fills from the center, expanding both towards the left and the right.
-
-
-
-
- The fills from the center, expanding both towards the top and the bottom.
-
-
-
-
- Turns the node into a radial bar. The fills radially from the center, expanding both clockwise and counterclockwise. See , and to control the way the bar fills up.
-
-
-
-
- that draws under the progress bar. The bar's background.
-
-
-
-
- that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of .
-
-
-
-
- that clips based on the node's value and . As value increased, the texture fills up. It shows entirely when value reaches max_value. It doesn't show at all if value is equal to min_value.
- The value property comes from . See , , .
-
-
-
-
- The fill direction. See for possible values.
-
-
-
-
- Multiplies the color of the bar's texture_under texture.
-
-
-
-
- Multiplies the color of the bar's texture_over texture. The effect is similar to , except it only affects this specific texture instead of the entire node.
-
-
-
-
- Multiplies the color of the bar's texture_progress texture.
-
-
-
-
- Starting angle for the fill of if is or . When the node's value is equal to its min_value, the texture doesn't show up at all. When the value increases, the texture fills and tends towards .
-
-
-
-
- Upper limit for the fill of if is or . When the node's value is equal to its max_value, the texture fills up to this angle.
- See , .
-
-
-
-
- Offsets if is or .
-
-
-
-
- If true, Godot treats the bar's textures like in . Use the stretch_margin_* properties like to set up the nine patch's 3×3 grid. When using a radial , this setting will enable stretching.
-
-
-
-
- The width of the 9-patch's left column.
-
-
-
-
- The height of the 9-patch's top row.
-
-
-
-
- The width of the 9-patch's right column.
-
-
-
-
- The height of the 9-patch's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
-
-
-
-
- Used to draw icons and sprites in a user interface. The texture's placement can be controlled with the property. It can scale, tile, or stay centered inside its bounding rectangle.
- Note: You should enable when using a TextureRect to display a . Alternatively, you can enable on the Viewport. Otherwise, the image will appear upside down.
-
-
-
-
- Scale to fit the node's bounding rectangle, only if expand is true. Default stretch_mode, for backwards compatibility. Until you set expand to true, the texture will behave like .
-
-
-
-
- Scale to fit the node's bounding rectangle.
-
-
-
-
- Tile inside the node's bounding rectangle.
-
-
-
-
- The texture keeps its original size and stays in the bounding rectangle's top-left corner.
-
-
-
-
- The texture keeps its original size and stays centered in the node's bounding rectangle.
-
-
-
-
- Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio.
-
-
-
-
- Scale the texture to fit the node's bounding rectangle, center it and maintain its aspect ratio.
-
-
-
-
- Scale the texture so that the shorter side fits the bounding rectangle. The other side clips to the node's limits.
-
-
-
-
- The node's resource.
-
-
-
-
- If true, the texture scales to fit its bounding rectangle.
-
-
-
-
- Controls the texture's behavior when resizing the node's bounding rectangle. See .
-
-
-
-
- If true, texture is flipped horizontally.
-
-
-
-
- If true, texture is flipped vertically.
-
-
-
-
- A theme for skinning controls. Controls can be skinned individually, but for complex applications, it's more practical to just create a global theme that defines everything. This theme can be applied to any ; the Control and its children will automatically use it.
- Theme resources can alternatively be loaded by writing them in a .theme file, see the documentation for more information.
-
-
-
-
- The theme's default font.
-
-
-
-
- Sets the theme's icon to texture at name in type.
- Does nothing if the theme does not have type.
-
-
-
-
- Returns the icon at name if the theme has type.
-
-
-
-
- Returns true if icon with name is in type.
- Returns false if the theme does not have type.
-
-
-
-
- Clears the icon at name if the theme has type.
-
-
-
-
- Returns all the icons as a filled with each 's name, for use in , if the theme has type.
-
-
-
-
- Sets theme's to stylebox at name in type.
- Does nothing if the theme does not have type.
-
-
-
-
- Returns the icon at name if the theme has type.
-
-
-
-
- Returns true if with name is in type.
- Returns false if the theme does not have type.
-
-
-
-
- Clears at name if the theme has type.
-
-
-
-
- Returns all the s as a filled with each 's name, for use in , if the theme has type.
-
-
-
-
- Returns all the types as a filled with each 's type, for use in and/or , if the theme has type.
-
-
-
-
- Sets the theme's to font at name in type.
- Does nothing if the theme does not have type.
-
-
-
-
- Returns the at name if the theme has type.
-
-
-
-
- Returns true if with name is in type.
- Returns false if the theme does not have type.
-
-
-
-
- Clears the at name if the theme has type.
-
-
-
-
- Returns all the s as a filled with each 's name, for use in , if the theme has type.
-
-
-
-
- Sets the theme's to color at name in type.
- Does nothing if the theme does not have type.
-
-
-
-
- Returns the at name if the theme has type.
-
-
-
-
- Returns true if with name is in type.
- Returns false if the theme does not have type.
-
-
-
-
- Clears the at name if the theme has type.
-
-
-
-
- Returns all the s as a filled with each 's name, for use in , if the theme has type.
-
-
-
-
- Sets the theme's constant to constant at name in type.
- Does nothing if the theme does not have type.
-
-
-
-
- Returns the constant at name if the theme has type.
-
-
-
-
- Returns true if constant with name is in type.
- Returns false if the theme does not have type.
-
-
-
-
- Clears the constant at name if the theme has type.
-
-
-
-
- Returns all the constants as a filled with each constant's name, for use in , if the theme has type.
-
-
-
-
- Clears all values on the theme.
-
-
-
-
- Returns all the types in type as a for use in any of the get_* functions, if the theme has type.
-
-
-
-
- Sets the theme's values to a copy of the default theme values.
-
-
-
-
- Sets the theme's values to a copy of a given theme.
-
-
-
-
- Node for 2D tile-based maps. Tilemaps use a which contain a list of tiles (textures plus optional collision, navigation, and/or occluder shapes) which are used to create grid-based maps.
-
-
-
-
- Returned when a cell doesn't exist.
-
-
-
-
- Orthogonal orientation mode.
-
-
-
-
- Isometric orientation mode.
-
-
-
-
- Custom orientation mode.
-
-
-
-
- Tile origin at its top-left corner.
-
-
-
-
- Tile origin at its center.
-
-
-
-
- Tile origin at its bottom-left corner.
-
-
-
-
- Half offset on the X coordinate.
-
-
-
-
- Half offset on the Y coordinate.
-
-
-
-
- Half offset disabled.
-
-
-
-
- Half offset on the X coordinate (negative).
-
-
-
-
- Half offset on the Y coordinate (negative).
-
-
-
-
- The TileMap orientation mode. See for possible values.
-
-
-
-
- The assigned .
-
-
-
-
- The TileMap's cell size.
-
-
-
-
- The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size.
-
-
-
-
- The custom to be applied to the TileMap's cells.
-
-
-
-
- Amount to offset alternating tiles. See for possible values.
-
-
-
-
- Position for tile origin. See for possible values.
-
-
-
-
- If true, the TileMap's children will be drawn in order of their Y coordinate.
-
-
-
-
- If true, the compatibility with the tilemaps made in Godot 3.1 or earlier is maintained (textures move when the tile origin changes and rotate if the texture size is not homogeneous). This mode presents problems when doing flip_h, flip_v and transpose tile operations on non-homogeneous isometric tiles (e.g. 2:1), in which the texture could not coincide with the collision, thus it is not recommended for isometric or non-square tiles.
- If false, the textures do not move when doing flip_h, flip_v operations if no offset is used, nor when changing the tile origin.
- The compatibility mode doesn't work with the option, because displacing textures with the option or in irregular tiles is not relevant when centering those textures.
-
-
-
-
- If true, the textures will be centered in the middle of each tile. This is useful for certain isometric or top-down modes when textures are made larger or smaller than the tiles (e.g. to avoid flickering on tile edges). The offset is still applied, but from the center of the tile. If used, is ignored.
- If false, the texture position start in the top-left corner unless is enabled.
-
-
-
-
- If true, the cell's UVs will be clipped.
-
-
-
-
- If true, this tilemap's collision shape will be added to the collision shape of the parent. The parent has to be a .
-
-
-
-
- If true, TileMap collisions will be handled as a kinematic body. If false, collisions will be handled as static body.
-
-
-
-
- Friction value for static body collisions (see collision_use_kinematic).
-
-
-
-
- Bounce value for static body collisions (see collision_use_kinematic).
-
-
-
-
- The collision layer(s) for all colliders in the TileMap. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The collision mask(s) for all colliders in the TileMap. See Collision layers and masks in the documentation for more information.
-
-
-
-
- The light mask assigned to all light occluders in the TileMap. The TileSet's light occluders will cast shadows only from Light2D(s) that have the same light mask(s).
-
-
-
-
- Sets the given collision layer bit.
-
-
-
-
- Returns true if the given collision layer bit is set.
-
-
-
-
- Sets the given collision mask bit.
-
-
-
-
- Returns true if the given collision mask bit is set.
-
-
-
-
- Sets the tile index for the cell given by a Vector2.
- An index of -1 clears the cell.
- Optionally, the tile can also be flipped, transposed, or given autotile coordinates. The autotile coordinate refers to the column and row of the subtile.
- Note: Data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
- If you need these to be immediately updated, you can call .
- Overriding this method also overrides it internally, allowing custom logic to be implemented when tiles are placed/removed:
-
- func set_cell(x, y, tile, flip_x=false, flip_y=false, transpose=false, autotile_coord=Vector2())
- # Write your custom logic here.
- # To call the default method:
- .set_cell(x, y, tile, flip_x, flip_y, transpose, autotile_coord)
-
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Sets the tile index for the given cell.
- An index of -1 clears the cell.
- Optionally, the tile can also be flipped or transposed.
- Note: Data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
- If you need these to be immediately updated, you can call .
-
-
-
-
- Returns the tile index of the given cell. If no tile exists in the cell, returns .
-
-
-
-
- Returns the tile index of the cell given by a Vector2. If no tile exists in the cell, returns .
-
-
-
-
- Returns true if the given cell is flipped in the X axis.
-
-
-
-
- Returns true if the given cell is flipped in the Y axis.
-
-
-
-
- Returns true if the given cell is transposed, i.e. the X and Y axes are swapped.
-
-
-
-
- Returns the coordinate (subtile column and row) of the autotile variation in the tileset. Returns a zero vector if the cell doesn't have autotiling.
-
-
-
-
- Clears cells that do not exist in the tileset.
-
-
-
-
- Clears all cells.
-
-
-
-
- Returns a array with the positions of all cells containing a tile from the tileset (i.e. a tile index different from -1).
-
-
-
-
- Returns an array of all cells with the given tile index specified in id.
-
-
-
-
- Returns a rectangle enclosing the used (non-empty) tiles of the map.
-
-
-
-
- Returns the global position corresponding to the given tilemap (grid-based) coordinates.
- Optionally, the tilemap's half offset can be ignored.
-
-
-
-
- Returns the tilemap (grid-based) coordinates corresponding to the given local position.
-
-
-
-
- Updates the tile map's quadrants, allowing things such as navigation and collision shapes to be immediately used if modified.
-
-
-
-
- Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates.
-
-
-
-
- Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates).
- Calling with invalid (or missing) parameters applies autotiling rules for the entire tilemap.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- A TileSet is a library of tiles for a . It contains a list of tiles, each consisting of a sprite and optional collision shapes.
- Tiles are referenced by a unique integer ID.
-
-
-
-
- Determines when the auto-tiler should consider two different auto-tile IDs to be bound together.
- Note: neighbor_id will be -1 () when checking a tile against an empty neighbor tile.
-
-
-
-
- Creates a new tile with the given ID.
-
-
-
-
- Clears all bitmask information of the autotile.
-
-
-
-
- Sets the subtile that will be used as an icon in an atlas/autotile given its coordinates.
- The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask information is incomplete. It will also be used to represent it in the TileSet editor.
-
-
-
-
- Returns the subtile that's being used as an icon in an atlas/autotile given its coordinates.
- The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask information is incomplete. It will also be used to represent it in the TileSet editor.
-
-
-
-
- Sets the priority of the subtile from an autotile given its coordinates.
- When more than one subtile has the same bitmask value, one of them will be picked randomly for drawing. Its priority will define how often it will be picked.
-
-
-
-
- Returns the priority of the subtile from an autotile given its coordinates.
- When more than one subtile has the same bitmask value, one of them will be picked randomly for drawing. Its priority will define how often it will be picked.
-
-
-
-
- Sets the drawing index of the subtile from an atlas/autotile given its coordinates.
-
-
-
-
- Returns the drawing index of the subtile from an atlas/autotile given its coordinates.
-
-
-
-
- Sets the light occluder of the subtile from an atlas/autotile given its coordinates.
-
-
-
-
- Returns the light occluder of the subtile from an atlas/autotile given its coordinates.
-
-
-
-
- Sets the navigation polygon of the subtile from an atlas/autotile given its coordinates.
-
-
-
-
- Returns the navigation polygon of the subtile from an atlas/autotile given its coordinates.
-
-
-
-
- Sets the bitmask of the subtile from an autotile given its coordinates.
- The value is the sum of the values in present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).
-
-
-
-
- Returns the bitmask of the subtile from an autotile given its coordinates.
- The value is the sum of the values in present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).
-
-
-
-
- Sets the of the autotile.
-
-
-
-
- Returns the of the autotile.
-
-
-
-
- Sets the spacing between subtiles of the atlas/autotile.
-
-
-
-
- Returns the spacing between subtiles of the atlas/autotile.
-
-
-
-
- Sets the size of the subtiles in an atlas/autotile.
-
-
-
-
- Returns the size of the subtiles in an atlas/autotile.
-
-
-
-
- Sets the tile's name.
-
-
-
-
- Returns the tile's name.
-
-
-
-
- Sets the tile's texture.
-
-
-
-
- Returns the tile's texture.
-
-
-
-
- Sets the tile's normal map texture.
- Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
-
-
-
-
- Returns the tile's normal map texture.
-
-
-
-
- Sets the tile's material.
-
-
-
-
- Returns the tile's material.
-
-
-
-
- Sets the tile's modulation color.
-
-
-
-
- Returns the tile's modulation color.
-
-
-
-
- Sets the tile's texture offset.
-
-
-
-
- Returns the texture offset of the tile.
-
-
-
-
- Sets the tile's sub-region in the texture. This is common in texture atlases.
-
-
-
-
- Returns the tile sub-region in the texture.
-
-
-
-
- Sets a shape for the tile, enabling collision.
-
-
-
-
- Returns a tile's given shape.
-
-
-
-
- Sets the offset of a tile's shape.
-
-
-
-
- Returns the offset of a tile's shape.
-
-
-
-
- Sets a on a tile's shape.
-
-
-
-
- Returns the of a tile's shape.
-
-
-
-
- Enables one-way collision on a tile's shape.
-
-
-
-
- Returns the one-way collision value of a tile's shape.
-
-
-
-
- Adds a shape to the tile.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Returns the number of shapes assigned to a tile.
-
-
-
-
- Sets an array of shapes for the tile, enabling collision.
-
-
-
-
- Returns an array of dictionaries describing the tile's shapes.
- Dictionary structure in the array returned by this method:
-
- {
- "autotile_coord": Vector2,
- "one_way": bool,
- "one_way_margin": int,
- "shape": CollisionShape2D,
- "shape_transform": Transform2D,
- }
-
-
-
-
-
- Sets the tile's .
-
-
-
-
- Returns the tile's .
-
-
-
-
- Sets the tile's navigation polygon.
-
-
-
-
- Returns the navigation polygon of the tile.
-
-
-
-
- Sets an offset for the tile's navigation polygon.
-
-
-
-
- Returns the offset of the tile's navigation polygon.
-
-
-
-
- Sets a light occluder for the tile.
-
-
-
-
- Returns the tile's light occluder.
-
-
-
-
- Sets an offset for the tile's light occluder.
-
-
-
-
- Returns the offset of the tile's light occluder.
-
-
-
-
- Sets the tile's drawing index.
-
-
-
-
- Returns the tile's Z index (drawing layer).
-
-
-
-
- Removes the given tile ID.
-
-
-
-
- Clears all tiles.
-
-
-
-
- Returns the ID following the last currently used ID, useful when creating a new tile.
-
-
-
-
- Returns the first tile matching the given name.
-
-
-
-
- Returns an array of all currently used tile IDs.
-
-
-
-
- Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or "one-shot" mode.
- Note: To create an one-shot timer without instantiating a node, use .
-
-
-
-
- Update the timer during the physics step at each frame (fixed framerate processing).
-
-
-
-
- Update the timer during the idle time at each frame.
-
-
-
-
- Processing mode. See .
-
-
-
-
- Wait time in seconds.
-
-
-
-
- If true, the timer will stop when reaching 0. If false, it will restart.
-
-
-
-
- If true, the timer will automatically start when entering the scene tree.
- Note: This property is automatically set to false after the timer enters the scene tree and starts.
-
-
-
-
- If true, the timer is paused and will not process until it is unpaused again, even if is called.
-
-
-
-
- The timer's remaining time in seconds. Returns 0 if the timer is inactive.
- Note: You cannot set this value. To change the timer's remaining time, use .
-
-
-
-
- Starts the timer. Sets wait_time to time_sec if time_sec > 0. This also resets the remaining time to wait_time.
- Note: this method will not resume a paused timer. See .
-
-
-
-
- Stops the timer.
-
-
-
-
- Returns true if the timer is stopped.
-
-
-
-
- This is a helper class to generate a flat (see ), creating a is equivalent to:
-
- var btn = Button.new()
- btn.flat = true
-
-
-
-
-
- TouchScreenButton allows you to create on-screen buttons for touch devices. It's intended for gameplay use, such as a unit you have to touch to move.
- This node inherits from . Unlike with nodes, you cannot set anchors on it. If you want to create menus or user interfaces, you may want to use nodes instead. To make button nodes react to touch events, you can enable the Emulate Mouse option in the Project Settings.
- You can configure TouchScreenButton to be visible only on touch devices, helping you develop your game both for desktop and mobile devices.
-
-
-
-
- Always visible.
-
-
-
-
- Visible on touch screens only.
-
-
-
-
- The button's texture for the normal state.
-
-
-
-
- The button's texture for the pressed state.
-
-
-
-
- The button's bitmask.
-
-
-
-
- The button's shape.
-
-
-
-
- If true, the button's shape is centered in the provided texture. If no texture is used, this property has no effect.
-
-
-
-
- If true, the button's shape is visible.
-
-
-
-
- If true, pass-by presses are enabled.
-
-
-
-
- The button's action. Actions can be handled with .
-
-
-
-
- The button's visibility mode. See for possible values.
-
-
-
-
- Returns true if this button is currently pressed.
-
-
-
-
- Translations are resources that can be loaded and unloaded on demand. They map a string to another string.
-
-
-
-
- The locale of the translation.
-
-
-
-
- Adds a message if nonexistent, followed by its translation.
-
-
-
-
- Returns a message's translation.
-
-
-
-
- Erases a message.
-
-
-
-
- Returns all the messages (keys).
-
-
-
-
- Returns the number of existing messages.
-
-
-
-
- Server that manages all translations. Translations can be set to it and removed from it.
-
-
-
-
- Sets the locale of the game.
-
-
-
-
- Returns the current locale of the game.
-
-
-
-
- Returns a locale's language and its variant (e.g. "en_US" would return "English (United States)").
-
-
-
-
- Returns the current locale's translation for the given message (key).
-
-
-
-
- Adds a resource.
-
-
-
-
- Removes the given translation from the server.
-
-
-
-
- Clears the server from all translations.
-
-
-
-
- Returns an Array of all loaded locales of the game.
-
-
-
-
- This shows a tree of items that can be selected, expanded and collapsed. The tree can have multiple columns with custom controls like text editing, buttons and popups. It can be useful for structured displays and interactions.
- Trees are built via code, using objects to create the structure. They have a single root but multiple roots can be simulated if a dummy hidden root is added.
-
- func _ready():
- var tree = Tree.new()
- var root = tree.create_item()
- tree.set_hide_root(true)
- var child1 = tree.create_item(root)
- var child2 = tree.create_item(root)
- var subchild1 = tree.create_item(child1)
- subchild1.set_text(0, "Subchild1")
-
- To iterate over all the objects in a object, use and after getting the root through . You can use on a to remove it from the .
-
-
-
-
- Allows selection of a single cell at a time. From the perspective of items, only a single item is allowed to be selected. And there is only one column selected in the selected item.
- The focus cursor is always hidden in this mode, but it is positioned at the current selection, making the currently selected item the currently focused item.
-
-
-
-
- Allows selection of a single row at a time. From the perspective of items, only a single items is allowed to be selected. And all the columns are selected in the selected item.
- The focus cursor is always hidden in this mode, but it is positioned at the first column of the current selection, making the currently selected item the currently focused item.
-
-
-
-
- Allows selection of multiple cells at the same time. From the perspective of items, multiple items are allowed to be selected. And there can be multiple columns selected in each selected item.
- The focus cursor is visible in this mode, the item or column under the cursor is not necessarily selected.
-
-
-
-
- Disables all drop sections, but still allows to detect the "on item" drop section by .
- Note: This is the default flag, it has no effect when combined with other flags.
-
-
-
-
- Enables the "on item" drop section. This drop section covers the entire item.
- When combined with , this drop section halves the height and stays centered vertically.
-
-
-
-
- Enables "above item" and "below item" drop sections. The "above item" drop section covers the top half of the item, and the "below item" drop section covers the bottom half.
- When combined with , these drop sections halves the height and stays on top / bottom accordingly.
-
-
-
-
- The number of columns.
-
-
-
-
- If true, the currently selected cell may be selected again.
-
-
-
-
- If true, a right mouse button click can select items.
-
-
-
-
- If true, the folding arrow is hidden.
-
-
-
-
- If true, the tree's root is hidden.
-
-
-
-
- The drop mode as an OR combination of flags. See constants. Once dropping is done, reverts to . Setting this during is recommended.
- This controls the drop sections, i.e. the decision and drawing of possible drop locations based on the mouse position.
-
-
-
-
- Allows single or multiple selection. See the constants.
-
-
-
-
- Clears the tree. This removes all items.
-
-
-
-
- Creates an item in the tree and adds it as a child of parent.
- If parent is null, the root item will be the parent, or the new item will be the root itself if the tree is empty.
- The new item will be the idxth child of parent, or it will be the last child if there are not enough siblings.
-
-
-
-
- Returns the tree's root item, or null if the tree is empty.
-
-
-
-
- Sets the minimum width of a column. Columns that have the "Expand" flag will use their "min_width" in a similar fashion to .
-
-
-
-
- If true, the column will have the "Expand" flag of . Columns that have the "Expand" flag will use their "min_width" in a similar fashion to .
-
-
-
-
- Returns the column's width in pixels.
-
-
-
-
- Returns the next selected item after the given one, or null if the end is reached.
- If from is null, this returns the first selected item.
-
-
-
-
- Returns the currently focused item, or null if no item is focused.
- In and modes, the focused item is same as the selected item. In mode, the focused item is the item under the focus cursor, not necessarily selected.
- To get the currently selected item(s), use .
-
-
-
-
- Returns the currently focused column, or -1 if no column is focused.
- In mode, the focused column is the selected column. In mode, the focused column is always 0 if any item is selected. In mode, the focused column is the column under the focus cursor, and there are not necessarily any column selected.
- To tell whether a column of an item is selected, use .
-
-
-
-
- Returns the last pressed button's index.
-
-
-
-
- Returns the currently edited item. This is only available for custom cell mode.
-
-
-
-
- Returns the column for the currently edited item. This is only available for custom cell mode.
-
-
-
-
- Returns the rectangle for custom popups. Helper to create custom cell controls that display a popup. See .
-
-
-
-
- Returns the rectangle area for the specified item. If column is specified, only get the position and size of that column, otherwise get the rectangle containing all columns.
-
-
-
-
- Returns the tree item at the specified position (relative to the tree origin position).
-
-
-
-
- Returns the column index at position, or -1 if no item is there.
-
-
-
-
- Returns the drop section at position, or -100 if no item is there.
- Values -1, 0, or 1 will be returned for the "above item", "on item", and "below item" drop sections, respectively. See for a description of each drop section.
- To get the item which the returned drop section is relative to, use .
-
-
-
-
- Makes the currently focused cell visible.
- This will scroll the tree if necessary. In mode, this will not do horizontal scrolling, as all the cells in the selected row is focused logically.
- Note: Despite the name of this method, the focus cursor itself is only visible in mode.
-
-
-
-
- If true, column titles are visible.
-
-
-
-
- Returns true if the column titles are being shown.
-
-
-
-
- Sets the title of a column.
-
-
-
-
- Returns the column's title.
-
-
-
-
- Returns the current scrolling position.
-
-
-
-
- Control for a single item inside a . May have child s and be styled as well as contain buttons.
- You can remove a by using .
-
-
-
-
- Cell contains a string.
-
-
-
-
- Cell can be checked.
-
-
-
-
- Cell contains a range.
-
-
-
-
- Cell contains an icon.
-
-
-
-
- Align text to the left. See set_text_align().
-
-
-
-
- Center text. See set_text_align().
-
-
-
-
- Align text to the right. See set_text_align().
-
-
-
-
- If true, the TreeItem is collapsed.
-
-
-
-
- If true, folding is disabled for this TreeItem.
-
-
-
-
- The custom minimum height.
-
-
-
-
- Sets the given column's cell mode to mode. See constants.
-
-
-
-
- Returns the column's cell mode.
-
-
-
-
- If true, the column column is checked.
-
-
-
-
- Returns true if the given column is checked.
-
-
-
-
- Returns the given column's text.
-
-
-
-
- Sets the given column's icon .
-
-
-
-
- Returns the given column's icon . Error if no icon is set.
-
-
-
-
- Sets the given column's icon's texture region.
-
-
-
-
- Returns the icon region as .
-
-
-
-
- Sets the given column's icon's maximum width.
-
-
-
-
- Returns the column's icon's maximum width.
-
-
-
-
- Modulates the given column's icon with modulate.
-
-
-
-
- Returns the modulating the column's icon.
-
-
-
-
- Sets the given column's custom draw callback to callback method on object.
- The callback should accept two arguments: the that is drawn and its position and size as a .
-
-
-
-
- Returns the next TreeItem in the tree or a null object if there is none.
-
-
-
-
- Returns the previous TreeItem in the tree or a null object if there is none.
-
-
-
-
- Returns the parent TreeItem or a null object if there is none.
-
-
-
-
- Returns the TreeItem's first child item or a null object if there is none.
-
-
-
-
- Returns the next visible TreeItem in the tree or a null object if there is none.
- If wrap is enabled, the method will wrap around to the first visible element in the tree when called on the last visible element, otherwise it returns null.
-
-
-
-
- Returns the previous visible TreeItem in the tree or a null object if there is none.
- If wrap is enabled, the method will wrap around to the last visible element in the tree when called on the first visible element, otherwise it returns null.
-
-
-
-
- Removes the given child and all its children from the . Note that it doesn't free the item from memory, so it can be reused later. To completely remove a use .
-
-
-
-
- If true, the given column is selectable.
-
-
-
-
- Returns true if column column is selectable.
-
-
-
-
- Returns true if column column is selected.
-
-
-
-
- Selects the column column.
-
-
-
-
- Deselects the given column.
-
-
-
-
- If true, column column is editable.
-
-
-
-
- Returns true if column column is editable.
-
-
-
-
- Sets the given column's custom color.
-
-
-
-
- Resets the color for the given column to default.
-
-
-
-
- Returns the custom color of column column.
-
-
-
-
- Sets the given column's custom background color and whether to just use it as an outline.
-
-
-
-
- Resets the background color for the given column to default.
-
-
-
-
- Returns the custom background color of column column.
-
-
-
-
- Adds a button with button at column column. The button_idx index is used to identify the button when calling other methods. If not specified, the next available index is used, which may be retrieved by calling immediately after this method. Optionally, the button can be disabled and have a tooltip.
-
-
-
-
- Returns the number of buttons in column column. May be used to get the most recently added button's index, if no index was specified.
-
-
-
-
- Returns the tooltip string for the button at index button_idx in column column.
-
-
-
-
- Returns the of the button at index button_idx in column column.
-
-
-
-
- Sets the given column's button at index button_idx to button.
-
-
-
-
- Removes the button at index button_idx in column column.
-
-
-
-
- If true, disables the button at index button_idx in column column.
-
-
-
-
- Returns true if the button at index button_idx for the given column is disabled.
-
-
-
-
- If true, column column is expanded to the right.
-
-
-
-
- Returns true if expand_right is set.
-
-
-
-
- Sets the given column's tooltip text.
-
-
-
-
- Returns the given column's tooltip.
-
-
-
-
- Sets the given column's text alignment. See for possible values.
-
-
-
-
- Returns the given column's text alignment.
-
-
-
-
- Moves this TreeItem to the top in the hierarchy.
-
-
-
-
- Moves this TreeItem to the bottom in the hierarchy.
-
-
-
-
- Calls the method on the actual TreeItem and its children recursively. Pass parameters as a comma separated list.
-
-
-
-
- Mesh type used internally for collision calculations.
-
-
-
-
- Tweens are useful for animations requiring a numerical property to be interpolated over a range of values. The name tween comes from in-betweening, an animation technique where you specify keyframes and the computer interpolates the frames that appear between them.
- is more suited than for animations where you don't know the final values in advance. For example, interpolating a dynamically-chosen camera zoom value is best done with a node; it would be difficult to do the same thing with an node.
- Here is a brief usage example that makes a 2D node move smoothly between two positions:
-
- var tween = get_node("Tween")
- tween.interpolate_property($Node2D, "position",
- Vector2(0, 0), Vector2(100, 100), 1,
- Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
- tween.start()
-
- Many methods require a property name, such as "position" above. You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using "property:component" (eg. position:x), where it would only apply to that particular component.
- Many of the methods accept trans_type and ease_type. The first accepts an constant, and refers to the way the timing of the animation is handled (see easings.net for some examples). The second accepts an constant, and controls where the trans_type is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different constants with , and use the one that looks best.
- Tween easing and transition types cheatsheet
-
-
-
-
- The animation is interpolated linearly.
-
-
-
-
- The animation is interpolated using a sine function.
-
-
-
-
- The animation is interpolated with a quintic (to the power of 5) function.
-
-
-
-
- The animation is interpolated with a quartic (to the power of 4) function.
-
-
-
-
- The animation is interpolated with a quadratic (to the power of 2) function.
-
-
-
-
- The animation is interpolated with an exponential (to the power of x) function.
-
-
-
-
- The animation is interpolated with elasticity, wiggling around the edges.
-
-
-
-
- The animation is interpolated with a cubic (to the power of 3) function.
-
-
-
-
- The animation is interpolated with a function using square roots.
-
-
-
-
- The animation is interpolated by bouncing at the end.
-
-
-
-
- The animation is interpolated backing out at ends.
-
-
-
-
- The tween updates with the _physics_process callback.
-
-
-
-
- The tween updates with the _process callback.
-
-
-
-
- The interpolation starts slowly and speeds up towards the end.
-
-
-
-
- The interpolation starts quickly and slows down towards the end.
-
-
-
-
- A combination of and . The interpolation is slowest at both ends.
-
-
-
-
- A combination of and . The interpolation is fastest at both ends.
-
-
-
-
- If true, the tween loops.
-
-
-
-
- The tween's animation process thread. See .
-
-
-
-
- The tween's speed multiplier. For example, set it to 1.0 for normal speed, 2.0 for two times normal speed, or 0.5 for half of the normal speed. A value of 0 pauses the animation, but see also or for this.
-
-
-
-
- Returns true if any tweens are currently running.
- Note: This method doesn't consider tweens that have ended.
-
-
-
-
- Activates/deactivates the tween. See also and .
-
-
-
-
- Starts the tween. You can define animations both before and after this.
-
-
-
-
- Resets a tween to its initial value (the one given, not the one before the tween), given its object and property/method pair. By default, all tweens are removed, unless key is specified.
-
-
-
-
- Resets all tweens to their initial values (the ones given, not those before the tween).
-
-
-
-
- Stops a tween, given its object and property/method pair. By default, all tweens are stopped, unless key is specified.
-
-
-
-
- Stops animating all tweens.
-
-
-
-
- Continues animating a stopped tween, given its object and property/method pair. By default, all tweens are resumed, unless key is specified.
-
-
-
-
- Continues animating all stopped tweens.
-
-
-
-
- Stops animation and removes a tween, given its object and property/method pair. By default, all tweens are removed, unless key is specified.
-
-
-
-
- Stops animation and removes all tweens.
-
-
-
-
- Sets the interpolation to the given time in seconds.
-
-
-
-
- Returns the current time of the tween.
-
-
-
-
- Returns the total time needed for all tweens to end. If you have two tweens, one lasting 10 seconds and the other 20 seconds, it would return 20 seconds, as by that time all tweens would have finished.
-
-
-
-
- Animates property of object from initial_val to final_val for duration seconds, delay seconds later. Setting the initial value to null uses the current value of the property.
- Use for trans_type and for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information.
-
-
-
-
- Animates method of object from initial_val to final_val for duration seconds, delay seconds later. Methods are called with consecutive values.
- Use for trans_type and for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information.
-
-
-
-
- Calls callback of object after duration. arg1-arg5 are arguments to be passed to the callback.
-
-
-
-
- Calls callback of object after duration on the main thread (similar to ). arg1-arg5 are arguments to be passed to the callback.
-
-
-
-
- Follows property of object and applies it on target_property of target, beginning from initial_val for duration seconds, delay seconds later.
- Use for trans_type and for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information.
-
-
-
-
- Follows method of object and applies the returned value on target_method of target, beginning from initial_val for duration seconds, delay later. Methods are called with consecutive values.
- Use for trans_type and for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information.
-
-
-
-
- Animates property of object from the current value of the initial_val property of initial to final_val for duration seconds, delay seconds later.
- Use for trans_type and for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information.
-
-
-
-
- Animates method of object from the value returned by initial_method to final_val for duration seconds, delay seconds later. Methods are animated by calling them with consecutive values.
- Use for trans_type and for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information.
-
-
-
-
- A simple server that opens a UDP socket and returns connected upon receiving new packets. See also .
- After starting the server (), you will need to it at regular intervals (e.g. inside ) for it to process new packets, delivering them to the appropriate , and taking new connections.
- Below a small example of how it can be used:
-
- # server.gd
- extends Node
-
- var server := UDPServer.new()
- var peers = []
-
- func _ready():
- server.listen(4242)
-
- func _process(delta):
- server.poll() # Important!
- if server.is_connection_available():
- var peer : PacketPeerUDP = server.take_connection()
- var pkt = peer.get_packet()
- print("Accepted peer: %s:%s" % [peer.get_packet_ip(), peer.get_packet_port()])
- print("Received data: %s" % [pkt.get_string_from_utf8()])
- # Reply so it knows we received the message.
- peer.put_packet(pkt)
- # Keep a reference so we can keep contacting the remote peer.
- peers.append(peer)
-
- for i in range(0, peers.size()):
- pass # Do something with the connected peers.
-
-
-
- # client.gd
- extends Node
-
- var udp := PacketPeerUDP.new()
- var connected = false
-
- func _ready():
- udp.connect_to_host("127.0.0.1", 4242)
-
- func _process(delta):
- if !connected:
- # Try to contact server
- udp.put_packet("The answer is... 42!".to_utf8())
- if udp.get_available_packet_count() > 0:
- print("Connected: %s" % udp.get_packet().get_string_from_utf8())
- connected = true
-
-
-
-
-
- Define the maximum number of pending connections, during , any new pending connection exceeding that value will be automatically dropped. Setting this value to 0 effectively prevents any new pending connection to be accepted (e.g. when all your players have connected).
-
-
-
-
- Starts the server by opening a UDP socket listening on the given port. You can optionally specify a bind_address to only listen for packets sent to that address. See also .
-
-
-
-
- Call this method at regular intervals (e.g. inside ) to process new packets. And packet from known address/port pair will be delivered to the appropriate , any packet received from an unknown address/port pair will be added as a pending connection (see , ). The maximum number of pending connection is defined via .
-
-
-
-
- Returns true if a packet with a new address/port combination was received on the socket.
-
-
-
-
- Returns true if the socket is open and listening on a port.
-
-
-
-
- Returns the first pending connection (connected to the appropriate address/port). Will return null if no new connection is available. See also , .
-
-
-
-
- Stops the server, closing the UDP socket if open. Will close all connected accepted via (remote peers will not be notified).
-
-
-
-
- Provides UPNP functionality to discover s on the local network and execute commands on them, like managing port mappings (port forwarding) and querying the local and remote network IP address. Note that methods on this class are synchronous and block the calling thread.
- To forward a specific port:
-
- const PORT = 7777
- var upnp = UPNP.new()
- upnp.discover(2000, 2, "InternetGatewayDevice")
- upnp.add_port_mapping(port)
-
- To close a specific port (e.g. after you have finished using it):
-
- upnp.delete_port_mapping(port)
-
-
-
-
-
- UPNP command or discovery was successful.
-
-
-
-
- Not authorized to use the command on the . May be returned when the user disabled UPNP on their router.
-
-
-
-
- No port mapping was found for the given port, protocol combination on the given .
-
-
-
-
- Inconsistent parameters.
-
-
-
-
- No such entry in array. May be returned if a given port, protocol combination is not found on an .
-
-
-
-
- The action failed.
-
-
-
-
- The does not allow wildcard values for the source IP address.
-
-
-
-
- The does not allow wildcard values for the external port.
-
-
-
-
- The does not allow wildcard values for the internal port.
-
-
-
-
- The remote host value must be a wildcard.
-
-
-
-
- The external port value must be a wildcard.
-
-
-
-
- No port maps are available. May also be returned if port mapping functionality is not available.
-
-
-
-
- Conflict with other mechanism. May be returned instead of if a port mapping conflicts with an existing one.
-
-
-
-
- Conflict with an existing port mapping.
-
-
-
-
- External and internal port values must be the same.
-
-
-
-
- Only permanent leases are supported. Do not use the duration parameter when adding port mappings.
-
-
-
-
- Invalid gateway.
-
-
-
-
- Invalid port.
-
-
-
-
- Invalid protocol.
-
-
-
-
- Invalid duration.
-
-
-
-
- Invalid arguments.
-
-
-
-
- Invalid response.
-
-
-
-
- Invalid parameter.
-
-
-
-
- HTTP error.
-
-
-
-
- Socket error.
-
-
-
-
- Error allocating memory.
-
-
-
-
- No gateway available. You may need to call first, or discovery didn't detect any valid IGDs (InternetGatewayDevices).
-
-
-
-
- No devices available. You may need to call first, or discovery didn't detect any valid s.
-
-
-
-
- Unknown error.
-
-
-
-
- Multicast interface to use for discovery. Uses the default multicast interface if empty.
-
-
-
-
- If 0, the local port to use for discovery is chosen automatically by the system. If 1, discovery will be done from the source port 1900 (same as destination port). Otherwise, the value will be used as the port.
-
-
-
-
- If true, IPv6 is used for discovery.
-
-
-
-
- Returns the number of discovered s.
-
-
-
-
- Returns the at the given index.
-
-
-
-
- Adds the given to the list of discovered devices.
-
-
-
-
- Sets the device at index from the list of discovered devices to device.
-
-
-
-
- Removes the device at index from the list of discovered devices.
-
-
-
-
- Clears the list of discovered devices.
-
-
-
-
- Returns the default gateway. That is the first discovered that is also a valid IGD (InternetGatewayDevice).
-
-
-
-
- Discovers local s. Clears the list of previously discovered devices.
- Filters for IGD (InternetGatewayDevice) type devices by default, as those manage port forwarding. timeout is the time to wait for responses in milliseconds. ttl is the time-to-live; only touch this if you know what you're doing.
- See for possible return values.
-
-
-
-
- Returns the external address of the default gateway (see ) as string. Returns an empty string on error.
-
-
-
-
- Adds a mapping to forward the external port (between 1 and 65535) on the default gateway (see ) to the internal_port on the local machine for the given protocol proto (either TCP or UDP, with UDP being the default). If a port mapping for the given port and protocol combination already exists on that gateway device, this method tries to overwrite it. If that is not desired, you can retrieve the gateway manually with and call on it, if any.
- If internal_port is 0 (the default), the same port number is used for both the external and the internal port (the port value).
- The description (desc) is shown in some router UIs and can be used to point out which application added the mapping. The mapping's lease duration can be limited by specifying a duration (in seconds). However, some routers are incompatible with one or both of these, so use with caution and add fallback logic in case of errors to retry without them if in doubt.
- See for possible return values.
-
-
-
-
- Deletes the port mapping for the given port and protocol combination on the default gateway (see ) if one exists. port must be a valid port between 1 and 65535, proto can be either TCP or UDP. See for possible return values.
-
-
-
-
- UPNP device. See for UPNP discovery and utility functions. Provides low-level access to UPNP control commands. Allows to manage port mappings (port forwarding) and to query network information of the device (like local and external IP address and status). Note that methods on this class are synchronous and block the calling thread.
-
-
-
-
- OK.
-
-
-
-
- HTTP error.
-
-
-
-
- Empty HTTP response.
-
-
-
-
- Returned response contained no URLs.
-
-
-
-
- Not a valid IGD.
-
-
-
-
- Disconnected.
-
-
-
-
- Unknown device.
-
-
-
-
- Invalid control.
-
-
-
-
- Memory allocation error.
-
-
-
-
- Unknown error.
-
-
-
-
- URL to the device description.
-
-
-
-
- Service type.
-
-
-
-
- IDG control URL.
-
-
-
-
- IGD service type.
-
-
-
-
- Address of the local machine in the network connecting it to this .
-
-
-
-
- IGD status. See .
-
-
-
-
- Returns true if this is a valid IGD (InternetGatewayDevice) which potentially supports port forwarding.
-
-
-
-
- Returns the external IP address of this or an empty string.
-
-
-
-
- Adds a port mapping to forward the given external port on this for the given protocol to the local machine. See .
-
-
-
-
- Deletes the port mapping identified by the given port and protocol combination on this device. See .
-
-
-
-
- Helper to manage undo/redo operations in the editor or custom tools. It works by registering methods and property changes inside "actions".
- Common behavior is to create an action, then add do/undo calls to functions or property changes, then committing the action.
- Here's an example on how to add an action to the Godot editor's own , from a plugin:
-
- var undo_redo = get_undo_redo() # Method of EditorPlugin.
-
- func do_something():
- pass # Put your code here.
-
- func undo_something():
- pass # Put here the code that reverts what's done by "do_something()".
-
- func _on_MyButton_pressed():
- var node = get_node("MyNode2D")
- undo_redo.create_action("Move the node")
- undo_redo.add_do_method(self, "do_something")
- undo_redo.add_undo_method(self, "undo_something")
- undo_redo.add_do_property(node, "position", Vector2(100,100))
- undo_redo.add_undo_property(node, "position", node.position)
- undo_redo.commit_action()
-
- , , , , , and should be called one after the other, like in the example. Not doing so could lead to crashes.
- If you don't need to register a method, you can leave and out; the same goes for properties. You can also register more than one method/property.
-
-
-
-
- Makes "do"/"undo" operations stay in separate actions.
-
-
-
-
- Makes so that the action's "do" operation is from the first action created and the "undo" operation is from the last subsequent action with the same name.
-
-
-
-
- Makes subsequent actions with the same name be merged into one.
-
-
-
-
- Create a new action. After this is called, do all your calls to , , , and , then commit the action with .
- The way actions are merged is dictated by the merge_mode argument. See for details.
-
-
-
-
- Commit the action. All "do" methods/properties are called/set when this function is called.
-
-
-
-
- Returns true if the is currently committing the action, i.e. running its "do" method or property change (see ).
-
-
-
-
- Register a method that will be called when the action is committed.
-
-
-
-
- Register a method that will be called when the action is undone.
-
-
-
-
- Register a property value change for "do".
-
-
-
-
- Register a property value change for "undo".
-
-
-
-
- Register a reference for "do" that will be erased if the "do" history is lost. This is useful mostly for new nodes created for the "do" call. Do not use for resources.
-
-
-
-
- Register a reference for "undo" that will be erased if the "undo" history is lost. This is useful mostly for nodes removed with the "do" call (not the "undo" call!).
-
-
-
-
- Clear the undo/redo history and associated references.
- Passing false to increase_version will prevent the version number to be increased from this.
-
-
-
-
- Gets the name of the current action.
-
-
-
-
- Returns true if an "undo" action is available.
-
-
-
-
- Returns true if a "redo" action is available.
-
-
-
-
- Gets the version. Every time a new action is committed, the 's version number is increased automatically.
- This is useful mostly to check if something changed from a saved version.
-
-
-
-
- Redo the last action.
-
-
-
-
- Undo the last action.
-
-
-
-
- Vertical box container. See .
-
-
-
-
- Vertical version of , which goes from top (min) to bottom (max).
-
-
-
-
- Vertical version of . Even though it looks vertical, it is used to separate objects horizontally.
-
-
-
-
- Vertical slider. See . This one goes from bottom (min) to top (max).
- Note: The Range.changed and Range.value_changed signals are part of the class which this class inherits from.
-
-
-
-
- Vertical split container. See . This goes from top to bottom.
-
-
-
-
- This node implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a for the main body of your vehicle and add nodes for the wheels. You should also add a to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the , , and properties and not change the position or orientation of this node directly.
- Note: The origin point of your VehicleBody will determine the center of gravity of your vehicle so it is better to keep this low and move the and upwards.
- Note: This class has known issues and isn't designed to provide realistic 3D vehicle physics. If you want advanced vehicle physics, you will probably have to write your own physics integration using another class.
-
-
-
-
- Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have set to true and are in contact with a surface. The of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration.
- Note: The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.
- A negative value will result in the vehicle reversing.
-
-
-
-
- Slows down the vehicle by applying a braking force. The vehicle is only slowed down if the wheels are in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking.
-
-
-
-
- The steering angle for the vehicle. Setting this to a non-zero value will result in the vehicle turning when it's moving. Wheels that have set to true will automatically be rotated.
-
-
-
-
- This node needs to be used as a child node of and simulates the behavior of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface.
- Note: This class has known issues and isn't designed to provide realistic 3D vehicle physics. If you want advanced vehicle physics, you will probably have to write your own physics integration using another class.
-
-
-
-
- Accelerates the wheel by applying an engine force. The wheel is only speed up if it is in contact with a surface. The of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration.
- Note: The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.
- A negative value will result in the wheel reversing.
-
-
-
-
- Slows down the wheel by applying a braking force. The wheel is only slowed down if it is in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking.
-
-
-
-
- The steering angle for the wheel. Setting this to a non-zero value will result in the vehicle turning when it's moving.
-
-
-
-
- If true, this wheel transfers engine force to the ground to propel the vehicle forward. This value is used in conjunction with and ignored if you are using the per-wheel value instead.
-
-
-
-
- If true, this wheel will be turned when the car steers. This value is used in conjunction with and ignored if you are using the per-wheel value instead.
-
-
-
-
- This value affects the roll of your vehicle. If set to 1.0 for all wheels, your vehicle will be prone to rolling over, while a value of 0.0 will resist body roll.
-
-
-
-
- The radius of the wheel in meters.
-
-
-
-
- This is the distance in meters the wheel is lowered from its origin point. Don't set this to 0.0 and move the wheel into position, instead move the origin point of your wheel (the gizmo in Godot) to the position the wheel will take when bottoming out, then use the rest length to move the wheel down to the position it should be in when the car is in rest.
-
-
-
-
- This determines how much grip this wheel has. It is combined with the friction setting of the surface the wheel is in contact with. 0.0 means no grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the rear wheels slightly lower than the front wheels, or use a lower value to simulate tire wear.
- It's best to set this to 1.0 when starting out.
-
-
-
-
- This is the distance the suspension can travel. As Godot units are equivalent to meters, keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car.
-
-
-
-
- This value defines the stiffness of the suspension. Use a value lower than 50 for an off-road car, a value between 50 and 100 for a race car and try something around 200 for something like a Formula 1 car.
-
-
-
-
- The maximum force the spring can resist. This value should be higher than a quarter of the of the or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3× to 4× this number.
-
-
-
-
- The damping applied to the spring when the spring is being compressed. This value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the car will keep bouncing as the spring keeps its energy. A good value for this is around 0.3 for a normal car, 0.5 for a race car.
-
-
-
-
- The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slightly higher than the property. For a value of 0.3, try a relaxation value of 0.5.
-
-
-
-
- Returns true if this wheel is in contact with a surface.
-
-
-
-
- Returns a value between 0.0 and 1.0 that indicates whether this wheel is skidding. 0.0 is skidding (the wheel has lost grip, e.g. icy terrain), 1.0 means not skidding (the wheel has full grip, e.g. dry asphalt road).
-
-
-
-
- Returns the rotational speed of the wheel in revolutions per minute.
-
-
-
-
- Control node for playing video streams using resources.
- Supported video formats are WebM (), Ogg Theora (), and any format exposed via a GDNative plugin using .
-
-
-
-
- The embedded audio track to play.
-
-
-
-
- The assigned video stream. See description for supported formats.
-
-
-
-
- Audio volume in dB.
-
-
-
-
- Audio volume as a linear value.
-
-
-
-
- If true, playback starts when the scene loads.
-
-
-
-
- If true, the video is paused.
-
-
-
-
- If true, the video scales to the control size. Otherwise, the control minimum size will be automatically adjusted to match the video stream's dimensions.
-
-
-
-
- Amount of time in milliseconds to store in buffer while playing.
-
-
-
-
- The current position of the stream, in seconds.
-
-
-
-
- Audio bus to use for sound playback.
-
-
-
-
- Starts the video playback from the beginning. If the video is paused, this will not unpause the video.
-
-
-
-
- Stops the video playback and sets the stream position to 0.
- Note: Although the stream position will be set to 0, the first frame of the video stream won't become the current frame.
-
-
-
-
- Returns true if the video is playing.
- Note: The video is still considered playing if paused during playback.
-
-
-
-
- Returns the video stream's name, or "<No Stream>" if no video stream is assigned.
-
-
-
-
- Returns the current frame as a .
-
-
-
-
- Base resource type for all video streams. Classes that derive from can all be used as resource types to play back videos in .
-
-
-
-
- resource for for video formats implemented via GDNative.
- It can be used via godot-videodecoder which uses the FFmpeg library.
-
-
-
-
- Sets the video file that this resource handles. The supported extensions depend on the GDNative plugins used to expose video formats.
-
-
-
-
- Returns the video file handled by this .
-
-
-
-
- resource handling the Ogg Theora video format with .ogv extension.
-
-
-
-
- Sets the Ogg Theora video file that this resource handles. The file name should have the .o extension.
-
-
-
-
- Returns the Ogg Theora video file handled by this .
-
-
-
-
- resource handling the WebM video format with .webm extension.
-
-
-
-
- Sets the WebM video file that this resource handles. The file name should have the .webm extension.
-
-
-
-
- Returns the WebM video file handled by this .
-
-
-
-
- A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera 3D nodes will render on it too.
- Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports.
- If a viewport is a child of a , it will automatically take up its size, otherwise it must be set manually.
- Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it.
- Also, viewports can be assigned to different screens in case the devices have multiple screens.
- Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw.
-
-
-
-
- Always clear the render target before drawing.
-
-
-
-
- Never clear the render target.
-
-
-
-
- Clear the render target next frame, then switch to .
-
-
-
-
- Amount of objects in frame.
-
-
-
-
- Amount of vertices in frame.
-
-
-
-
- Amount of material changes in frame.
-
-
-
-
- Amount of shader changes in frame.
-
-
-
-
- Amount of surface changes in frame.
-
-
-
-
- Amount of draw calls in frame.
-
-
-
-
- Amount of items or joined items in frame.
-
-
-
-
- Amount of draw calls in frame.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Allocates all buffers needed for drawing 2D scenes. This takes less VRAM than the 3D usage modes. Note that 3D rendering effects such as glow and HDR are not available when using this mode.
-
-
-
-
- Allocates buffers needed for 2D scenes without allocating a buffer for screen copy. Accordingly, you cannot read from the screen. Of the types, this requires the least VRAM. Note that 3D rendering effects such as glow and HDR are not available when using this mode.
-
-
-
-
- Allocates full buffers for drawing 3D scenes and all 3D effects including buffers needed for 2D scenes and effects.
-
-
-
-
- Allocates buffers needed for drawing 3D scenes. But does not allocate buffers needed for reading from the screen and post-processing effects. Saves some VRAM.
-
-
-
-
- Objects are displayed normally.
-
-
-
-
- Objects are displayed without light information.
-
-
-
-
- Objected are displayed semi-transparent with additive blending so you can see where they intersect.
-
-
-
-
- Objects are displayed in wireframe style.
-
-
-
-
- This quadrant will not be used.
-
-
-
-
- This quadrant will only be used by one shadow map.
-
-
-
-
- This quadrant will be split in 4 and used by up to 4 shadow maps.
-
-
-
-
- This quadrant will be split 16 ways and used by up to 16 shadow maps.
-
-
-
-
- This quadrant will be split 64 ways and used by up to 64 shadow maps.
-
-
-
-
- This quadrant will be split 256 ways and used by up to 256 shadow maps. Unless the is very high, the shadows in this quadrant will be very low resolution.
-
-
-
-
- This quadrant will be split 1024 ways and used by up to 1024 shadow maps. Unless the is very high, the shadows in this quadrant will be very low resolution.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Do not update the render target.
-
-
-
-
- Update the render target once, then switch to .
-
-
-
-
- Update the render target only when it is visible. This is the default value.
-
-
-
-
- Always update the render target.
-
-
-
-
- Multisample anti-aliasing mode disabled. This is the default value.
-
-
-
-
- Use 2x Multisample Antialiasing.
-
-
-
-
- Use 4x Multisample Antialiasing.
-
-
-
-
- Use 8x Multisample Antialiasing. Likely unsupported on low-end and older hardware.
-
-
-
-
- Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end hardware.
-
-
-
-
- If true, the viewport will be used in AR/VR process.
-
-
-
-
- The width and height of viewport.
-
-
-
-
- If true, the size override affects stretch as well.
-
-
-
-
- If true, the viewport will use defined in world property.
-
-
-
-
- The custom which can be used as 3D environment source.
-
-
-
-
- The custom which can be used as 2D environment source.
-
-
-
-
- If true, the viewport should render its background as transparent.
-
-
-
-
- The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 4 is best unless targeting very high-end systems.
-
-
-
-
- If true, the viewport rendering will receive benefits from High Dynamic Range algorithm. High Dynamic Range allows the viewport to receive values that are outside the 0-1 range. In Godot HDR uses 16 bits, meaning it does not store the full range of a floating point number.
- Note: Requires to be set to or , since HDR is not supported for 2D.
-
-
-
-
- If true, the viewport will disable 3D rendering. For actual disabling use usage.
-
-
-
-
- If true, the result after 3D rendering will not have a linear to sRGB color conversion applied. This is important when the viewport is used as a render target where the result is used as a texture on a 3D object rendered in another viewport. It is also important if the viewport is used to create data that is not color based (noise, heightmaps, pickmaps, etc.). Do not enable this when the viewport is used as a texture on a 2D object or if the viewport is your final output.
-
-
-
-
- The rendering mode of viewport.
-
-
-
-
- If true, renders the Viewport directly to the screen instead of to the root viewport. Only available in GLES2. This is a low-level optimization and should not be used in most cases. If used, reading from the Viewport or from SCREEN_TEXTURE becomes unavailable. For more information see .
-
-
-
-
- The overlay mode for test rendered geometry in debug purposes.
-
-
-
-
- If true, the result of rendering will be flipped vertically.
-
-
-
-
- The clear mode when viewport used as a render target.
- Note: This property is intended for 2D usage.
-
-
-
-
- The update mode when viewport used as a render target.
-
-
-
-
- If true, the viewport will process 2D audio streams.
-
-
-
-
- If true, the viewport will process 3D audio streams.
-
-
-
-
- If true, the objects rendered by viewport become subjects of mouse picking process.
-
-
-
-
- If true, the viewport will not receive input event.
-
-
-
-
- If true, the GUI controls on the viewport will lay pixel perfectly.
-
-
-
-
- The shadow atlas' resolution (used for omni and spot lights). The value will be rounded up to the nearest power of 2.
- Note: If this is set to 0, shadows won't be visible. Since user-created viewports default to a value of 0, this value must be set above 0 manually.
-
-
-
-
- The subdivision amount of the first quadrant on the shadow atlas.
-
-
-
-
- The subdivision amount of the second quadrant on the shadow atlas.
-
-
-
-
- The subdivision amount of the third quadrant on the shadow atlas.
-
-
-
-
- The subdivision amount of the fourth quadrant on the shadow atlas.
-
-
-
-
- The canvas transform of the viewport, useful for changing the on-screen positions of all child s. This is relative to the global canvas transform of the viewport.
-
-
-
-
- The global canvas transform of the viewport. The canvas transform is relative to this.
-
-
-
-
- Returns the 2D world of the viewport.
-
-
-
-
- Returns the 3D world of the viewport, or if none the world of the parent viewport.
-
-
-
-
- Returns the total transform of the viewport.
-
-
-
-
- Returns the visible rectangle in global screen coordinates.
-
-
-
-
- Sets the size override of the viewport. If the enable parameter is true the override is used, otherwise it uses the default size. If the size parameter is (-1, -1), it won't update the size.
-
- If the parameter is null, then the default value is new Vector2(-1, -1)
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Returns the size override set with .
-
-
-
-
- Returns true if the size override is enabled. See .
-
-
-
-
- Returns information about the viewport from the rendering pipeline.
-
-
-
-
- Returns the viewport's texture.
- Note: Due to the way OpenGL works, the resulting is flipped vertically. You can use on the result of to flip it back, for example:
-
- var img = get_viewport().get_texture().get_data()
- img.flip_y()
-
-
-
-
-
- Returns the viewport's RID from the .
-
-
-
-
- Forces update of the 2D and 3D worlds.
-
-
-
-
- Returns the active 3D camera.
-
-
-
-
- Attaches this to the root with the specified rectangle. This bypasses the need for another node to display this but makes you responsible for updating the position of this manually.
-
-
-
-
- Returns the mouse position relative to the viewport.
-
-
-
-
- Warps the mouse to a position relative to the viewport.
-
-
-
-
- Returns true if there are visible modals on-screen.
-
-
-
-
- Returns the drag data from the GUI, that was previously returned by .
-
-
-
-
- Returns true if the viewport is currently performing a drag operation.
-
-
-
-
- Returns the topmost modal in the stack.
-
-
-
-
- Sets the number of subdivisions to use in the specified quadrant. A higher number of subdivisions allows you to have more shadows in the scene at once, but reduces the quality of the shadows. A good practice is to have quadrants with a varying number of subdivisions and to have as few subdivisions as possible.
-
-
-
-
- Returns the of the specified quadrant.
-
-
-
-
- Stops the input from propagating further down the .
-
-
-
-
- A node that holds a , automatically setting its size.
- Note: Changing a ViewportContainer's will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
-
-
-
-
- If true, the viewport will be scaled to the control's size.
-
-
-
-
- Divides the viewport's effective resolution by this value while preserving its scale. This can be used to speed up rendering.
- For example, a 1280×720 viewport with set to 2 will be rendered at 640×360 while occupying the same size in the container.
- Note: must be true for this property to work.
-
-
-
-
- Displays the content of a node as a dynamic . This can be used to mix controls, 2D, and 3D elements in the same scene.
- To create a ViewportTexture in code, use the method on the target viewport.
-
-
-
-
- The path to the node to display. This is relative to the scene root, not to the node which uses the texture.
-
-
-
-
- The VisibilityEnabler will disable and nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself.
- If you just want to receive notifications, use instead.
- Note: VisibilityEnabler uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account. The heuristic is an implementation detail and may change in future versions. If you need precise visibility checking, use another method such as adding an node as a child of a node and/or Vector3.dot.
- Note: VisibilityEnabler will not affect nodes added after scene initialization.
-
-
-
-
- This enabler will pause nodes.
-
-
-
-
- This enabler will freeze nodes.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If true, nodes will be paused.
-
-
-
-
- If true, nodes will be paused.
-
-
-
-
- Sets active state of the enabler identified by given constant.
-
-
-
-
- Returns whether the enabler identified by given constant is active.
-
-
-
-
- The VisibilityEnabler2D will disable , , and other nodes when they are not visible. It will only affect nodes with the same root node as the VisibilityEnabler2D, and the root node itself.
- If you just want to receive notifications, use instead.
- Note: For performance reasons, VisibilityEnabler2D uses an approximate heuristic with precision determined by . If you need precise visibility checking, use another method such as adding an node as a child of a node.
- Note: VisibilityEnabler2D will not affect nodes added after scene initialization.
-
-
-
-
- This enabler will pause nodes.
-
-
-
-
- This enabler will freeze nodes.
-
-
-
-
- This enabler will stop nodes.
-
-
-
-
- This enabler will stop the parent's _process function.
-
-
-
-
- This enabler will stop the parent's _physics_process function.
-
-
-
-
- This enabler will stop nodes animations.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If true, nodes will be paused.
-
-
-
-
- If true, nodes will be paused.
-
-
-
-
- If true, nodes will be paused.
-
-
-
-
- If true, nodes will be paused.
-
-
-
-
- If true, the parent's will be stopped.
-
-
-
-
- If true, the parent's will be stopped.
-
-
-
-
- Sets active state of the enabler identified by given constant.
-
-
-
-
- Returns whether the enabler identified by given constant is active.
-
-
-
-
- The VisibilityNotifier detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a 's view.
- If you want nodes to be disabled automatically when they exit the screen, use instead.
- Note: VisibilityNotifier uses an approximate heuristic for performance reasons. It does't take walls and other occlusion into account. The heuristic is an implementation detail and may change in future versions. If you need precise visibility checking, use another method such as adding an node as a child of a node and/or Vector3.dot.
-
-
-
-
- The VisibilityNotifier's bounding box.
-
-
-
-
- If true, the bounding box is on the screen.
- Note: It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return false right after it is instantiated, even if it will be on screen in the draw pass.
-
-
-
-
- The VisibilityNotifier2D detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a viewport.
- If you want nodes to be disabled automatically when they exit the screen, use instead.
- Note: For performance reasons, VisibilityNotifier2D uses an approximate heuristic with precision determined by . If you need precise visibility checking, use another method such as adding an node as a child of a node.
-
-
-
-
- The VisibilityNotifier2D's bounding rectangle.
-
-
-
-
- If true, the bounding rectangle is on the screen.
- Note: It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return false right after it is instantiated, even if it will be on screen in the draw pass.
-
-
-
-
- The is used to connect a resource to a visual representation. All visual 3D nodes inherit from the . In general, you should not access the properties directly as they are accessed and managed by the nodes that inherit from . is the node representation of the instance.
-
-
-
-
- The render layer(s) this is drawn on.
- This object will only be visible for s whose cull mask includes the render object this is set to.
-
-
-
-
- Sets the resource that is instantiated by this , which changes how the engine handles the under the hood. Equivalent to .
-
-
-
-
- Returns the RID of the resource associated with this . For example, if the Node is a , this will return the RID of the associated .
-
-
-
-
- Returns the RID of this instance. This RID is the same as the RID returned by . This RID is needed if you want to call functions directly on this .
-
-
-
-
- Enables a particular layer in .
-
-
-
-
- Returns true when the specified layer is enabled in and false otherwise.
-
-
-
-
- Returns the transformed (also known as the bounding box) for this .
- Transformed in this case means the plus the position, rotation, and scale of the 's . See also .
-
-
-
-
- Returns the (also known as the bounding box) for this . See also .
-
-
-
-
- A script implemented in the Visual Script programming environment. The script extends the functionality of all objects that instance it.
- extends an existing object, if that object's class matches one of the script's base classes.
- You are most likely to use this class via the Visual Script editor or when writing plugins for it.
-
-
-
-
- Add a function with the specified name to the VisualScript.
-
-
-
-
- Returns whether a function exists with the specified name.
-
-
-
-
- Remove a specific function and its nodes from the script.
-
-
-
-
- Change the name of a function.
-
-
-
-
- Position the center of the screen for a function.
-
-
-
-
- Returns the position of the center of the screen for a given function.
-
-
-
-
- Add a node to a function of the VisualScript.
-
- If the parameter is null, then the default value is new Vector2(0, 0)
-
-
-
- Remove a specific node.
-
-
-
-
- Returns the id of a function's entry point node.
-
-
-
-
- Returns a node given its id and its function.
-
-
-
-
- Returns whether a node exists with the given id.
-
-
-
-
- Position a node on the screen.
-
-
-
-
- Returns a node's position in pixels.
-
-
-
-
- Connect two sequence ports. The execution will flow from of from_node's from_output into to_node.
- Unlike , there isn't a to_port, since the target node can have only one sequence port.
-
-
-
-
- Disconnect two sequence ports previously connected with .
-
-
-
-
- Returns whether the specified sequence ports are connected.
-
-
-
-
- Connect two data ports. The value of from_node's from_port would be fed into to_node's to_port.
-
-
-
-
- Disconnect two data ports previously connected with .
-
-
-
-
- Returns whether the specified data ports are connected.
-
-
-
-
- Add a variable to the VisualScript, optionally giving it a default value or marking it as exported.
-
-
-
-
- Returns whether a variable exists with the specified name.
-
-
-
-
- Remove a variable with the given name.
-
-
-
-
- Change the default (initial) value of a variable.
-
-
-
-
- Returns the default (initial) value of a variable.
-
-
-
-
- Set a variable's info, using the same format as .
-
-
-
-
- Returns the information for a given variable as a dictionary. The information includes its name, type, hint and usage.
-
-
-
-
- Change whether a variable is exported.
-
-
-
-
- Returns whether a variable is exported.
-
-
-
-
- Change the name of a variable.
-
-
-
-
- Add a custom signal with the specified name to the VisualScript.
-
-
-
-
- Returns whether a signal exists with the specified name.
-
-
-
-
- Add an argument to a custom signal added with .
-
-
-
-
- Change the type of a custom signal's argument.
-
-
-
-
- Get the type of a custom signal's argument.
-
-
-
-
- Rename a custom signal's argument.
-
-
-
-
- Get the name of a custom signal's argument.
-
-
-
-
- Remove a specific custom signal's argument.
-
-
-
-
- Get the count of a custom signal's arguments.
-
-
-
-
- Swap two of the arguments of a custom signal.
-
-
-
-
- Remove a custom signal with the given name.
-
-
-
-
- Change the name of a custom signal.
-
-
-
-
- Set the base type of the script.
-
-
-
-
- A Visual Script node representing a constant from base types, such as .
-
-
-
-
- The type to get the constant from.
-
-
-
-
- The name of the constant to return.
-
-
-
-
- A built-in function used inside a . It is usually a math function or an utility function.
- See also @GDScript, for the same functions in the GDScript language.
-
-
-
-
- Return the sine of the input.
-
-
-
-
- Return the cosine of the input.
-
-
-
-
- Return the tangent of the input.
-
-
-
-
- Return the hyperbolic sine of the input.
-
-
-
-
- Return the hyperbolic cosine of the input.
-
-
-
-
- Return the hyperbolic tangent of the input.
-
-
-
-
- Return the arc sine of the input.
-
-
-
-
- Return the arc cosine of the input.
-
-
-
-
- Return the arc tangent of the input.
-
-
-
-
- Return the arc tangent of the input, using the signs of both parameters to determine the exact angle.
-
-
-
-
- Return the square root of the input.
-
-
-
-
- Return the remainder of one input divided by the other, using floating-point numbers.
-
-
-
-
- Return the positive remainder of one input divided by the other, using floating-point numbers.
-
-
-
-
- Return the input rounded down.
-
-
-
-
- Return the input rounded up.
-
-
-
-
- Return the input rounded to the nearest integer.
-
-
-
-
- Return the absolute value of the input.
-
-
-
-
- Return the sign of the input, turning it into 1, -1, or 0. Useful to determine if the input is positive or negative.
-
-
-
-
- Return the input raised to a given power.
-
-
-
-
- Return the natural logarithm of the input. Note that this is not the typical base-10 logarithm function calculators use.
-
-
-
-
- Return the mathematical constant e raised to the specified power of the input. e has an approximate value of 2.71828.
-
-
-
-
- Return whether the input is NaN (Not a Number) or not. NaN is usually produced by dividing 0 by 0, though other ways exist.
-
-
-
-
- Return whether the input is an infinite floating-point number or not. Infinity is usually produced by dividing a number by 0, though other ways exist.
-
-
-
-
- Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-in, 1+ is ease out. Negative values are in-out/out in.
-
-
-
-
- Return the number of digit places after the decimal that the first non-zero digit occurs.
-
-
-
-
- Return the input snapped to a given step.
-
-
-
-
- Return a number linearly interpolated between the first two inputs, based on the third input. Uses the formula a + (a - b) * t.
-
-
-
-
- Moves the number toward a value, based on the third input.
-
-
-
-
- Return the result of value decreased by step * amount.
-
-
-
-
- Randomize the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
-
-
-
-
- Return a random 32 bits integer value. To obtain a random value between 0 to N (where N is smaller than 2^32 - 1), you can use it with the remainder function.
-
-
-
-
- Return a random floating-point value between 0 and 1. To obtain a random value between 0 to N, you can use it with multiplication.
-
-
-
-
- Return a random floating-point value between the two inputs.
-
-
-
-
- Set the seed for the random number generator.
-
-
-
-
- Return a random value from the given seed, along with the new seed.
-
-
-
-
- Convert the input from degrees to radians.
-
-
-
-
- Convert the input from radians to degrees.
-
-
-
-
- Convert the input from linear volume to decibel volume.
-
-
-
-
- Convert the input from decibel volume to linear volume.
-
-
-
-
- Converts a 2D point expressed in the polar coordinate system (a distance from the origin r and an angle th) to the cartesian coordinate system (X and Y axis).
-
-
-
-
- Converts a 2D point expressed in the cartesian coordinate system (X and Y axis) to the polar coordinate system (a distance from the origin and an angle).
-
-
-
-
- Return the greater of the two numbers, also known as their maximum.
-
-
-
-
- Return the lesser of the two numbers, also known as their minimum.
-
-
-
-
- Return the input clamped inside the given range, ensuring the result is never outside it. Equivalent to min(max(input, range_low), range_high).
-
-
-
-
- Return the nearest power of 2 to the input.
-
-
-
-
- Create a from the input.
-
-
-
-
- Create a from the input.
-
-
-
-
- Convert between types.
-
-
-
-
- Return the type of the input as an integer. Check for the integers that might be returned.
-
-
-
-
- Checks if a type is registered in the .
-
-
-
-
- Return a character with the given ascii value.
-
-
-
-
- Convert the input to a string.
-
-
-
-
- Print the given string to the output window.
-
-
-
-
- Print the given string to the standard error output.
-
-
-
-
- Print the given string to the standard output, without adding a newline.
-
-
-
-
- Serialize a Variant to a string.
-
-
-
-
- Deserialize a Variant from a string serialized using .
-
-
-
-
- Serialize a Variant to a .
-
-
-
-
- Deserialize a Variant from a serialized using .
-
-
-
-
- Return the with the given name and alpha ranging from 0 to 1.
- Note: Names are defined in color_names.inc.
-
-
-
-
- Return a number smoothly interpolated between the first two inputs, based on the third input. Similar to , but interpolates faster at the beginning and slower at the end. Using Hermite interpolation formula:
-
- var t = clamp((weight - from) / (to - from), 0.0, 1.0)
- return t * t * (3.0 - 2.0 * t)
-
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The function to be executed.
-
-
-
-
- This node returns a constant from a given class, such as . See the given class' documentation for available constants.
- Input Ports:
- none
- Output Ports:
- - Data (variant): value
-
-
-
-
- The constant's parent class.
-
-
-
-
- The constant to return. See the given class for its available constants.
-
-
-
-
- A Visual Script node used to display annotations in the script, so that code may be documented.
- Comment nodes can be resized so they encompass a group of nodes.
-
-
-
-
- The comment node's title.
-
-
-
-
- The text inside the comment node.
-
-
-
-
- The comment node's size (in pixels).
-
-
-
-
- A Visual Script Node used to compose array from the list of elements provided with custom in-graph UI hard coded in the VisualScript Editor.
-
-
-
-
- A Visual Script node that checks a input port. If true, it will exit via the "true" sequence port. If false, it will exit via the "false" sequence port. After exiting either, it exits via the "done" port. Sequence ports may be left disconnected.
- Input Ports:
- - Sequence: if (cond) is
- - Data (boolean): cond
- Output Ports:
- - Sequence: true
- - Sequence: false
- - Sequence: done
-
-
-
-
- This node returns a constant's value.
- Input Ports:
- none
- Output Ports:
- - Data (variant): get
-
-
-
-
- The constant's type.
-
-
-
-
- The constant's value.
-
-
-
-
- A Visual Script node which calls a base type constructor. It can be used for type conversion as well.
-
-
-
-
- A custom Visual Script node which can be scripted in powerful ways.
-
-
-
-
- Hint used by to tell that control should return to it when there is no other node left to execute.
- This is used by to redirect the sequence to the "Done" port after the true/false branch has finished execution.
-
-
-
-
- Hint used by to tell that control should return back, either hitting a previous or exiting the function.
-
-
-
-
- Hint used by to tell that control should stop and exit the function.
-
-
-
-
- Hint used by to tell that the function should be yielded.
- Using this requires you to have at least one working memory slot, which is used for the .
-
-
-
-
- The start mode used the first time when is called.
-
-
-
-
- The start mode used when is called after coming back from a .
-
-
-
-
- The start mode used when is called after resuming from .
-
-
-
-
- Return the node's title.
-
-
-
-
- Return the node's category.
-
-
-
-
- Return the count of input value ports.
-
-
-
-
- Return the specified input port's name.
-
-
-
-
- Return the specified input port's type. See the values.
-
-
-
-
- Return the amount of output sequence ports.
-
-
-
-
- Return the specified sequence output's name.
-
-
-
-
- Return the amount of output value ports.
-
-
-
-
- Return the specified output's name.
-
-
-
-
- Return the specified output's type. See the values.
-
-
-
-
- Return the custom node's text, which is shown right next to the input sequence port (if there is none, on the place that is usually taken by it).
-
-
-
-
- Return the size of the custom node's working memory. See for more details.
-
-
-
-
- Return whether the custom node has an input sequence port.
-
-
-
-
- Execute the custom node's logic, returning the index of the output sequence port to use or a when there is an error.
- The inputs array contains the values of the input ports.
- outputs is an array whose indices should be set to the respective outputs.
- The start_mode is usually , unless you have used the STEP_* constants.
- working_mem is an array which can be used to persist information between runs of the custom node.
- When returning, you can mask the returned value with one of the STEP_* constants.
-
-
-
-
- A Visual Script node which deconstructs a base type instance into its parts.
-
-
-
-
- The type to deconstruct.
-
-
-
-
- Emits a specified signal when it is executed.
- Input Ports:
- - Sequence: emit
- Output Ports:
- - Sequence
-
-
-
-
- The signal to emit.
-
-
-
-
- A Visual Script node returning a singleton from @GlobalScope.
-
-
-
-
- The singleton's name.
-
-
-
-
- This node steps through each item in a given input. Input can be any sequence data type, such as an or . When each item has been processed, execution passed out the exit Sequence port.
- Input Ports:
- - Sequence: for (elem) in (input)
- - Data (variant): input
- Output Ports:
- - Sequence: each
- - Sequence: exit
- - Data (variant): elem
-
-
-
-
- A Visual Script virtual class that defines the shape and the default behaviour of the nodes that have to be in-graph editable nodes.
-
-
-
-
- Returns a local variable's value. "Var Name" must be supplied, with an optional type.
- Input Ports:
- none
- Output Ports:
- - Data (variant): get
-
-
-
-
- The local variable's name.
-
-
-
-
- The local variable's type.
-
-
-
-
- Changes a local variable's value to the given input. The new value is also provided on an output Data port.
- Input Ports:
- - Sequence
- - Data (variant): set
- Output Ports:
- - Sequence
- - Data (variant): get
-
-
-
-
- The local variable's name.
-
-
-
-
- The local variable's type.
-
-
-
-
- Provides common math constants, such as Pi, on an output Data port.
- Input Ports:
- none
- Output Ports:
- - Data (variant): get
-
-
-
-
- Unity: 1.
-
-
-
-
- Pi: 3.141593.
-
-
-
-
- Pi divided by two: 1.570796.
-
-
-
-
- Tau: 6.283185.
-
-
-
-
- Mathematical constant e, the natural log base: 2.718282.
-
-
-
-
- Square root of two: 1.414214.
-
-
-
-
- Infinity: inf.
-
-
-
-
- Not a number: nan.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The math constant.
-
-
-
-
- A node which is part of a . Not to be confused with , which is a part of a .
-
-
-
-
- Returns the instance the node is bound to.
-
-
-
-
- Change the default value of a given port.
-
-
-
-
- Returns the default value of a given port. The default value is used when nothing is connected to the port.
-
-
-
-
- Notify that the node's ports have changed. Usually used in conjunction with .
-
-
-
-
- Input Ports:
- - Data (variant): A
- - Data (variant): B
- Output Ports:
- - Data (variant): result
-
-
-
-
- Creates a new or loads one from the filesystem.
- Input Ports:
- none
- Output Ports:
- - Data (object): res
-
-
-
-
- The to load.
-
-
-
-
- Ends the execution of a function and returns control to the calling function. Optionally, it can return a Variant value.
- Input Ports:
- - Sequence
- - Data (variant): result (optional)
- Output Ports:
- none
-
-
-
-
- If true, the return input port is available.
-
-
-
-
- The return value's data type.
-
-
-
-
- A direct reference to a node.
- Input Ports:
- none
- Output Ports:
- - Data: node (obj)
-
-
-
-
- The node's path in the scene tree.
-
-
-
-
- Chooses between two input values based on a Boolean condition.
- Input Ports:
- - Data (boolean): cond
- - Data (variant): a
- - Data (variant): b
- Output Ports:
- - Data (variant): out
-
-
-
-
- The input variables' type.
-
-
-
-
- Provides a reference to the node running the visual script.
- Input Ports:
- none
- Output Ports:
- - Data (object): instance
-
-
-
-
- Steps through a series of one or more output Sequence ports. The current data port outputs the currently executing item.
- Input Ports:
- - Sequence: in order
- Output Ports:
- - Sequence: 1
- - Sequence: 2 - n (optional)
- - Data (int): current
-
-
-
-
- The number of steps in the sequence.
-
-
-
-
- Branches the flow based on an input's value. Use Case Count in the Inspector to set the number of branches and each comparison's optional type.
- Input Ports:
- - Sequence: 'input' is
- - Data (variant): =
- - Data (variant): = (optional)
- - Data (variant): input
- Output Ports:
- - Sequence
- - Sequence (optional)
- - Sequence: done
-
-
-
-
- Returns a variable's value. "Var Name" must be supplied, with an optional type.
- Input Ports:
- none
- Output Ports:
- - Data (variant): value
-
-
-
-
- The variable's name.
-
-
-
-
- Changes a variable's value to the given input.
- Input Ports:
- - Sequence
- - Data (variant): set
- Output Ports:
- - Sequence
-
-
-
-
- The variable's name.
-
-
-
-
- Loops while a condition is true. Execution continues out the exit Sequence port when the loop terminates.
- Input Ports:
- - Sequence: while(cond)
- - Data (bool): cond
- Output Ports:
- - Sequence: repeat
- - Sequence: exit
-
-
-
-
- Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display.
- The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
- The visual server can be used to bypass the scene system entirely.
- Resources are created using the *_create functions.
- All objects are drawn to a viewport. You can use the attached to the or you can create one yourself with . When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using or .
- In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the visual server from a running game, the scenario can be accessed from the scene tree from any node with . Otherwise, a scenario can be created with .
- Similarly in 2D, a canvas is needed to draw all canvas items.
- In 3D, all visible objects are comprised of a resource and an instance. A resource can be a mesh, a particle system, a light, or any other 3D object. In order to be visible resources must be attached to an instance using . The instance must also be attached to the scenario using in order to be visible.
- In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas.
-
-
-
-
- Marks an error that shows that the index array is empty.
-
-
-
-
- Number of weights/bones per vertex.
-
-
-
-
- The minimum Z-layer for canvas items.
-
-
-
-
- The maximum Z-layer for canvas items.
-
-
-
-
- Max number of glow levels that can be used with glow post-process effect.
-
-
-
-
- Unused enum in Godot 3.x.
-
-
-
-
- The minimum renderpriority of all materials.
-
-
-
-
- The maximum renderpriority of all materials.
-
-
-
-
- Reflection probe will update reflections once and then stop.
-
-
-
-
- Reflection probe will update each frame. This mode is necessary to capture moving objects.
-
-
-
-
- Keeps shadows stable as camera moves but has lower effective resolution.
-
-
-
-
- Optimize use of shadow maps, increasing the effective resolution. But may result in shadows moving or flickering slightly.
-
-
-
-
- Blend shapes are normalized.
-
-
-
-
- Blend shapes are relative to base weight.
-
-
-
-
- Primitive to draw consists of points.
-
-
-
-
- Primitive to draw consists of lines.
-
-
-
-
- Primitive to draw consists of a line strip from start to end.
-
-
-
-
- Primitive to draw consists of a line loop (a line strip with a line between the last and the first vertex).
-
-
-
-
- Primitive to draw consists of triangles.
-
-
-
-
- Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle).
-
-
-
-
- Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle).
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Normal texture with 2 dimensions, width and height.
-
-
-
-
- Texture made up of six faces, can be looked up with a vec3 in shader.
-
-
-
-
- An array of 2-dimensional textures.
-
-
-
-
- A 3-dimensional texture with width, height, and depth.
-
-
-
-
- Lowest quality of screen space ambient occlusion.
-
-
-
-
- Medium quality screen space ambient occlusion.
-
-
-
-
- Highest quality screen space ambient occlusion.
-
-
-
-
- Use lowest blur quality. Fastest, but may look bad.
-
-
-
-
- Use medium blur quality.
-
-
-
-
- Used highest blur quality. Looks the best, but is the slowest.
-
-
-
-
- The amount of objects in the frame.
-
-
-
-
- The amount of vertices in the frame.
-
-
-
-
- The amount of modified materials in the frame.
-
-
-
-
- The amount of shader rebinds in the frame.
-
-
-
-
- The amount of surface changes in the frame.
-
-
-
-
- The amount of draw calls in frame.
-
-
-
-
- The amount of 2d items in the frame.
-
-
-
-
- The amount of 2d draw calls in frame.
-
-
-
-
- Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
-
-
-
-
- The amount of video memory used, i.e. texture and vertex memory combined.
-
-
-
-
- The amount of texture memory used.
-
-
-
-
- The amount of vertex memory used.
-
-
-
-
- The nine patch gets stretched where needed.
-
-
-
-
- The nine patch gets filled with tiles where needed.
-
-
-
-
- The nine patch gets filled with tiles where needed and stretches them a bit if needed.
-
-
-
-
- Number of objects drawn in a single frame.
-
-
-
-
- Number of vertices drawn in a single frame.
-
-
-
-
- Number of material changes during this frame.
-
-
-
-
- Number of shader changes during this frame.
-
-
-
-
- Number of surface changes during this frame.
-
-
-
-
- Number of draw calls during this frame.
-
-
-
-
- Number of 2d items drawn this frame.
-
-
-
-
- Number of 2d draw calls during this frame.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The viewport is always cleared before drawing.
-
-
-
-
- The viewport is never cleared before drawing.
-
-
-
-
- The viewport is cleared once, then the clear mode is set to .
-
-
-
-
- Use more detail vertically when computing shadow map.
-
-
-
-
- Use more detail horizontally when computing shadow map.
-
-
-
-
- Shader is a 3D shader.
-
-
-
-
- Shader is a 2D shader.
-
-
-
-
- Shader is a particle shader.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Use to store MultiMesh transform.
-
-
-
-
- Use to store MultiMesh transform.
-
-
-
-
- Disable shadows from this instance.
-
-
-
-
- Cast shadows from this instance.
-
-
-
-
- Disable backface culling when rendering the shadow of the object. This is slightly slower but may result in more correct shadows.
-
-
-
-
- Only render the shadows from the object. The object itself will not be drawn.
-
-
-
-
- Debug draw is disabled. Default setting.
-
-
-
-
- Debug draw sets objects to unshaded.
-
-
-
-
- Overwrites clear color to (0,0,0,0).
-
-
-
-
- Debug draw draws objects in wireframe.
-
-
-
-
- The Viewport does not render 3D but samples.
-
-
-
-
- The Viewport does not render 3D and does not sample.
-
-
-
-
- The Viewport renders 3D with effects.
-
-
-
-
- The Viewport renders 3D but without effects.
-
-
-
-
- Use the clear color as background.
-
-
-
-
- Use a specified color as the background.
-
-
-
-
- Use a sky resource for the background.
-
-
-
-
- Use a custom color for background, but use a sky for shading and reflections.
-
-
-
-
- Use a specified canvas layer as the background. This can be useful for instantiating a 2D scene in a 3D world.
-
-
-
-
- Do not clear the background, use whatever was rendered last frame as the background.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- MultiMesh does not use custom data.
-
-
-
-
- MultiMesh custom data uses 8 bits per component. This packs the 4-component custom data into a single float.
-
-
-
-
- MultiMesh custom data uses a float per component.
-
-
-
-
- Use a dual paraboloid shadow map for omni lights.
-
-
-
-
- Use a cubemap shadow map for omni lights. Slower but better quality than dual paraboloid.
-
-
-
-
- Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
-
-
-
-
- Repeats the texture (instead of clamp to edge).
-
-
-
-
- Uses a magnifying filter, to enable smooth zooming in of the texture.
-
-
-
-
- Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
- This results in better-looking textures when viewed from oblique angles.
-
-
-
-
- Converts the texture to the sRGB color space.
-
-
-
-
- Repeats the texture with alternate sections mirrored.
-
-
-
-
- Texture is a video surface.
-
-
-
-
- Default flags. , and are enabled.
-
-
-
-
- Hardware supports shaders. This enum is currently unused in Godot 3.x.
-
-
-
-
- Hardware supports multithreading. This enum is currently unused in Godot 3.x.
-
-
-
-
- The instance does not have a type.
-
-
-
-
- The instance is a mesh.
-
-
-
-
- The instance is a multimesh.
-
-
-
-
- The instance is an immediate geometry.
-
-
-
-
- The instance is a particle emitter.
-
-
-
-
- The instance is a light.
-
-
-
-
- The instance is a reflection probe.
-
-
-
-
- The instance is a GI probe.
-
-
-
-
- The instance is a lightmap capture.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
-
-
-
-
- Disables the blur set for SSAO. Will make SSAO look noisier.
-
-
-
-
- Perform a 1x1 blur on the SSAO output.
-
-
-
-
- Performs a 2x2 blur on the SSAO output.
-
-
-
-
- Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO.
-
-
-
-
- Output color as they came in.
-
-
-
-
- Use the Reinhard tonemapper.
-
-
-
-
- Use the filmic tonemapper.
-
-
-
-
- Use the ACES tonemapper.
-
-
-
-
- Add the effect of the glow on top of the scene.
-
-
-
-
- Blends the glow effect with the screen. Does not get as bright as additive.
-
-
-
-
- Produces a subtle color disturbance around objects.
-
-
-
-
- Shows the glow effect by itself without the underlying scene.
-
-
-
-
- MultiMesh does not use per-instance color.
-
-
-
-
- MultiMesh color uses 8 bits per component. This packs the color into a single float.
-
-
-
-
- MultiMesh color uses a float per channel.
-
-
-
-
- Do not apply a filter to canvas light shadows.
-
-
-
-
- Use PCF3 filtering to filter canvas light shadows.
-
-
-
-
- Use PCF5 filtering to filter canvas light shadows.
-
-
-
-
- Use PCF7 filtering to filter canvas light shadows.
-
-
-
-
- Use PCF9 filtering to filter canvas light shadows.
-
-
-
-
- Use PCF13 filtering to filter canvas light shadows.
-
-
-
-
- Do not use a debug mode.
-
-
-
-
- Draw all objects as wireframe models.
-
-
-
-
- Draw all objects in a way that displays how much overdraw is occurring. Overdraw occurs when a section of pixels is drawn and shaded and then another object covers it up. To optimize a scene, you should reduce overdraw.
-
-
-
-
- Draw all objects without shading. Equivalent to setting all objects shaders to unshaded.
-
-
-
-
- Do not update the viewport.
-
-
-
-
- Update the viewport once then set to disabled.
-
-
-
-
- Update the viewport whenever it is visible.
-
-
-
-
- Always update the viewport.
-
-
-
-
- Flag used to mark a vertex array.
-
-
-
-
- Flag used to mark a normal array.
-
-
-
-
- Flag used to mark a tangent array.
-
-
-
-
- Flag used to mark a color array.
-
-
-
-
- Flag used to mark an UV coordinates array.
-
-
-
-
- Flag used to mark an UV coordinates array for the second UV coordinates.
-
-
-
-
- Flag used to mark a bone information array.
-
-
-
-
- Flag used to mark a weights array.
-
-
-
-
- Flag used to mark an index array.
-
-
-
-
- Flag used to mark a compressed (half float) vertex array.
-
-
-
-
- Flag used to mark a compressed (half float) normal array.
-
-
-
-
- Flag used to mark a compressed (half float) tangent array.
-
-
-
-
- Flag used to mark a compressed (half float) color array.
-
-
-
-
- Flag used to mark a compressed (half float) UV coordinates array.
-
-
-
-
- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
-
-
-
-
- Flag used to mark a compressed bone array.
-
-
-
-
- Flag used to mark a compressed (half float) weight array.
-
-
-
-
- Flag used to mark a compressed index array.
-
-
-
-
- Flag used to mark that the array contains 2D vertices.
-
-
-
-
- Flag used to mark that the array uses 16-bit bones instead of 8-bit.
-
-
-
-
- Used to set flags , , , , and quickly.
-
-
-
-
- Draw particles in the order that they appear in the particles array.
-
-
-
-
- Sort particles based on their lifetime.
-
-
-
-
- Sort particles based on their distance to the camera.
-
-
-
-
- Adds light color additive to the canvas.
-
-
-
-
- Adds light color subtractive to the canvas.
-
-
-
-
- The light adds color depending on transparency.
-
-
-
-
- The light adds color depending on mask.
-
-
-
-
- Use orthogonal shadow projection for directional light.
-
-
-
-
- Use 2 splits for shadow projection when using directional light.
-
-
-
-
- Use 4 splits for shadow projection when using directional light.
-
-
-
-
- The light's energy.
-
-
-
-
- The light's influence on specularity.
-
-
-
-
- The light's range.
-
-
-
-
- The light's attenuation.
-
-
-
-
- The spotlight's angle.
-
-
-
-
- The spotlight's attenuation.
-
-
-
-
- Scales the shadow color.
-
-
-
-
- Max distance that shadows will be rendered.
-
-
-
-
- Proportion of shadow atlas occupied by the first split.
-
-
-
-
- Proportion of shadow atlas occupied by the second split.
-
-
-
-
- Proportion of shadow atlas occupied by the third split. The fourth split occupies the rest.
-
-
-
-
- Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts.
-
-
-
-
- Bias the shadow lookup to fix self-shadowing artifacts.
-
-
-
-
- Increases bias on further splits to fix self-shadowing that only occurs far away from the camera.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Array is a vertex array.
-
-
-
-
- Array is a normal array.
-
-
-
-
- Array is a tangent array.
-
-
-
-
- Array is a color array.
-
-
-
-
- Array is an UV coordinates array.
-
-
-
-
- Array is an UV coordinates array for the second UV coordinates.
-
-
-
-
- Array contains bone information.
-
-
-
-
- Array is weight information.
-
-
-
-
- Array is index array.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Culling of the canvas occluder is disabled.
-
-
-
-
- Culling of the canvas occluder is clockwise.
-
-
-
-
- Culling of the canvas occluder is counterclockwise.
-
-
-
-
- Allows the instance to be used in baked lighting.
-
-
-
-
- When set, manually requests to draw geometry on next frame.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Multisample antialiasing is disabled.
-
-
-
-
- Multisample antialiasing is set to 2×.
-
-
-
-
- Multisample antialiasing is set to 4×.
-
-
-
-
- Multisample antialiasing is set to 8×.
-
-
-
-
- Multisample antialiasing is set to 16×.
-
-
-
-
- Multisample antialiasing is set to 2× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
-
-
-
-
- Multisample antialiasing is set to 4× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
-
-
-
-
- Is a directional (sun) light.
-
-
-
-
- Is an omni light.
-
-
-
-
- Is a spot light.
-
-
-
-
- Marks the left side of a cubemap.
-
-
-
-
- Marks the right side of a cubemap.
-
-
-
-
- Marks the bottom side of a cubemap.
-
-
-
-
- Marks the top side of a cubemap.
-
-
-
-
- Marks the front side of a cubemap.
-
-
-
-
- Marks the back side of a cubemap.
-
-
-
-
- If false, disables rendering completely, but the engine logic is still being processed. You can call to draw a frame even with rendering disabled.
-
-
-
-
- Synchronizes threads.
-
-
-
-
- Forces a frame to be drawn when the function is called. Drawing a frame updates all s that are set to update. Use with extreme caution.
-
-
-
-
- Not implemented in Godot 3.x.
-
-
-
-
- Draws a frame. This method is deprecated, please use instead.
-
-
-
-
- Creates an empty texture and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all texture_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Creates a texture, allocates the space for an image, and fills in the image.
-
-
-
-
- Allocates the GPU memory for the texture.
-
-
-
-
- Sets the texture's image data. If it's a CubeMap, it sets the image data at a cube side.
-
-
-
-
- Sets a part of the data for a texture. Warning: this function calls the underlying graphics API directly and may corrupt your texture if used improperly.
-
-
-
-
- Returns a copy of a texture's image unless it's a CubeMap, in which case it returns the of the image at one of the cubes sides.
-
-
-
-
- Sets the texture's flags. See for options.
-
-
-
-
- Returns the flags of a texture.
-
-
-
-
- Returns the format of the texture's image.
-
-
-
-
- Returns the type of the texture, can be any of the .
-
-
-
-
- Returns the opengl id of the texture's image.
-
-
-
-
- Returns the texture's width.
-
-
-
-
- Returns the texture's height.
-
-
-
-
- Returns the depth of the texture.
-
-
-
-
- Resizes the texture to the specified dimensions.
-
-
-
-
- Sets the texture's path.
-
-
-
-
- Returns the texture's path.
-
-
-
-
- If true, sets internal processes to shrink all image data to half the size.
-
-
-
-
- Binds the texture to a texture slot.
-
-
-
-
- Returns a list of all the textures and their information.
-
-
-
-
- If true, the image will be stored in the texture's images array if overwritten.
-
-
-
-
- Creates an empty sky and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all sky_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets a sky's texture.
-
-
-
-
- Creates an empty shader and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all shader_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets a shader's code.
-
-
-
-
- Returns a shader's code.
-
-
-
-
- Returns the parameters of a shader.
-
-
-
-
- Sets a shader's default texture. Overwrites the texture given by name.
-
-
-
-
- Returns a default texture from a shader searched by name.
-
-
-
-
- Creates an empty material and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all material_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets a shader material's shader.
-
-
-
-
- Returns the shader of a certain material's shader. Returns an empty RID if the material doesn't have a shader.
-
-
-
-
- Sets a material's parameter.
-
-
-
-
- Returns the value of a certain material's parameter.
-
-
-
-
- Returns the default value for the param if available. Otherwise returns an empty Variant.
-
-
-
-
- Sets a material's render priority.
-
-
-
-
- Sets a material's line width.
-
-
-
-
- Sets an object's next material.
-
-
-
-
- Creates a new mesh and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all mesh_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this mesh to an instance using using the returned RID.
-
-
-
-
- Function is unused in Godot 3.x.
-
-
-
-
- Function is unused in Godot 3.x.
-
-
-
-
- Adds a surface generated from the Arrays to a mesh. See constants for types.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Sets a mesh's blend shape count.
-
-
-
-
- Returns a mesh's blend shape count.
-
-
-
-
- Sets a mesh's blend shape mode.
-
-
-
-
- Returns a mesh's blend shape mode.
-
-
-
-
- Updates a specific region of a vertex buffer for the specified surface. Warning: this function alters the vertex buffer directly with no safety mechanisms, you can easily corrupt your mesh.
-
-
-
-
- Sets a mesh's surface's material.
-
-
-
-
- Returns a mesh's surface's material.
-
-
-
-
- Returns a mesh's surface's amount of vertices.
-
-
-
-
- Returns a mesh's surface's amount of indices.
-
-
-
-
- Returns a mesh's surface's vertex buffer.
-
-
-
-
- Returns a mesh's surface's index buffer.
-
-
-
-
- Returns a mesh's surface's buffer arrays.
-
-
-
-
- Returns a mesh's surface's arrays for blend shapes.
-
-
-
-
- Returns the format of a mesh's surface.
-
-
-
-
- Returns the primitive type of a mesh's surface.
-
-
-
-
- Returns a mesh's surface's aabb.
-
-
-
-
- Returns the aabb of a mesh's surface's skeleton.
-
-
-
-
- Removes a mesh's surface.
-
-
-
-
- Returns a mesh's number of surfaces.
-
-
-
-
- Sets a mesh's custom aabb.
-
-
-
-
- Returns a mesh's custom aabb.
-
-
-
-
- Removes all surfaces from a mesh.
-
-
-
-
- Creates a new multimesh on the VisualServer and returns an handle. This RID will be used in all multimesh_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this multimesh to an instance using using the returned RID.
-
-
-
-
- Allocates space for the multimesh data. Format parameters determine how the data will be stored by OpenGL. See , , and for usage. Equivalent to .
-
-
-
-
- Returns the number of instances allocated for this multimesh.
-
-
-
-
- Sets the mesh to be drawn by the multimesh. Equivalent to .
-
-
-
-
- Sets the for this instance. Equivalent to .
-
-
-
-
- Sets the for this instance. For use when multimesh is used in 2D. Equivalent to .
-
-
-
-
- Sets the color by which this instance will be modulated. Equivalent to .
-
-
-
-
- Sets the custom data for this instance. Custom data is passed as a , but is interpreted as a vec4 in the shader. Equivalent to .
-
-
-
-
- Returns the RID of the mesh that will be used in drawing this multimesh.
-
-
-
-
- Calculates and returns the axis-aligned bounding box that encloses all instances within the multimesh.
-
-
-
-
- Returns the of the specified instance.
-
-
-
-
- Returns the of the specified instance. For use when the multimesh is set to use 2D transforms.
-
-
-
-
- Returns the color by which the specified instance will be modulated.
-
-
-
-
- Returns the custom data associated with the specified instance.
-
-
-
-
- Sets the number of instances visible at a given time. If -1, all instances that have been allocated are drawn. Equivalent to .
-
-
-
-
- Returns the number of visible instances for this multimesh.
-
-
-
-
- Sets all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.
-
- All data is packed in one large float array. An array may look like this: Transform for instance 1, color data for instance 1, custom data for instance 1, transform for instance 2, color data for instance 2, etc.
-
- is stored as 12 floats, is stored as 8 floats, COLOR_8BIT / CUSTOM_DATA_8BIT is stored as 1 float (4 bytes as is) and COLOR_FLOAT / CUSTOM_DATA_FLOAT is stored as 4 floats.
-
-
-
-
- Creates an immediate geometry and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all immediate_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this immediate geometry to an instance using using the returned RID.
-
-
-
-
- Sets up internals to prepare for drawing. Equivalent to .
-
-
-
-
- Adds the next vertex using the information provided in advance. Equivalent to .
-
-
-
-
- Adds the next vertex using the information provided in advance. This is a helper class that calls under the hood. Equivalent to .
-
-
-
-
- Sets the normal to be used with next vertex. Equivalent to .
-
-
-
-
- Sets the tangent to be used with next vertex. Equivalent to .
-
-
-
-
- Sets the color to be used with next vertex. Equivalent to .
-
-
-
-
- Sets the UV to be used with next vertex. Equivalent to .
-
-
-
-
- Sets the UV2 to be used with next vertex. Equivalent to .
-
-
-
-
- Ends drawing the and displays it. Equivalent to .
-
-
-
-
- Clears everything that was set up between and . Equivalent to .
-
-
-
-
- Sets the material to be used to draw the .
-
-
-
-
- Returns the material assigned to the .
-
-
-
-
- Creates a skeleton and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all skeleton_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Allocates the GPU buffers for this skeleton.
-
-
-
-
- Returns the number of bones allocated for this skeleton.
-
-
-
-
- Sets the for a specific bone of this skeleton.
-
-
-
-
- Returns the set for a specific bone of this skeleton.
-
-
-
-
- Sets the for a specific bone of this skeleton.
-
-
-
-
- Returns the set for a specific bone of this skeleton.
-
-
-
-
- Creates a directional light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most light_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this directional light to an instance using using the returned RID.
-
-
-
-
- Creates a new omni light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most light_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this omni light to an instance using using the returned RID.
-
-
-
-
- Creates a spot light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most light_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this spot light to an instance using using the returned RID.
-
-
-
-
- Sets the color of the light. Equivalent to .
-
-
-
-
- Sets the specified light parameter. See for options. Equivalent to .
-
-
-
-
- If true, light will cast shadows. Equivalent to .
-
-
-
-
- Sets the color of the shadow cast by the light. Equivalent to .
-
-
-
-
- Not implemented in Godot 3.x.
-
-
-
-
- If true, light will subtract light instead of adding light. Equivalent to .
-
-
-
-
- Sets the cull mask for this Light. Lights only affect objects in the selected layers. Equivalent to .
-
-
-
-
- If true, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double sided shadows with . Equivalent to .
-
-
-
-
- Sets whether GI probes capture light information from this light.
-
-
-
-
- Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to .
-
-
-
-
- Sets whether to use vertical or horizontal detail for this omni light. This can be used to alleviate artifacts in the shadow map. Equivalent to .
-
-
-
-
- Sets the shadow mode for this directional light. Equivalent to . See for options.
-
-
-
-
- If true, this directional light will blend between shadow map splits resulting in a smoother transition between them. Equivalent to .
-
-
-
-
- Sets the shadow depth range mode for this directional light. Equivalent to . See for options.
-
-
-
-
- Creates a reflection probe and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all reflection_probe_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this reflection probe to an instance using using the returned RID.
-
-
-
-
- Sets how often the reflection probe updates. Can either be once or every frame. See for options.
-
-
-
-
- Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to .
-
-
-
-
- Sets the ambient light color for this reflection probe when set to interior mode. Equivalent to .
-
-
-
-
- Sets the energy multiplier for this reflection probes ambient light contribution when set to interior mode. Equivalent to .
-
-
-
-
- Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to interior mode. Useful so that ambient light matches the color of the room. Equivalent to .
-
-
-
-
- Sets the max distance away from the probe an object can be before it is culled. Equivalent to .
-
-
-
-
- Sets the size of the area that the reflection probe will capture. Equivalent to .
-
-
-
-
- Sets the origin offset to be used when this reflection probe is in box project mode. Equivalent to .
-
-
-
-
- If true, reflections will ignore sky contribution. Equivalent to .
-
-
-
-
- If true, uses box projection. This can make reflections look more correct in certain situations. Equivalent to .
-
-
-
-
- If true, computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to .
-
-
-
-
- Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to .
-
-
-
-
- Creates a GI probe and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all gi_probe_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this GI probe to an instance using using the returned RID.
-
-
-
-
- Sets the axis-aligned bounding box that covers the extent of the GI probe.
-
-
-
-
- Returns the axis-aligned bounding box that covers the full extent of the GI probe.
-
-
-
-
- Sets the size of individual cells within the GI probe.
-
-
-
-
- Returns the cell size set by .
-
-
-
-
- Sets the to cell for this GI probe.
-
-
-
-
- Returns the Transform set by .
-
-
-
-
- Sets the data to be used in the GI probe for lighting calculations. Normally this is created and called internally within the node. You should not try to set this yourself.
-
-
-
-
- Returns the data used by the GI probe.
-
-
-
-
- Sets the dynamic range of the GI probe. Dynamic range sets the limit for how bright lights can be. A smaller range captures greater detail but limits how bright lights can be. Equivalent to .
-
-
-
-
- Returns the dynamic range set for this GI probe. Equivalent to .
-
-
-
-
- Sets the energy multiplier for this GI probe. A higher energy makes the indirect light from the GI probe brighter. Equivalent to .
-
-
-
-
- Returns the energy multiplier for this GI probe. Equivalent to .
-
-
-
-
- Sets the bias value to avoid self-occlusion. Equivalent to .
-
-
-
-
- Returns the bias value for the GI probe. Bias is used to avoid self occlusion. Equivalent to .
-
-
-
-
- Sets the normal bias for this GI probe. Normal bias behaves similar to the other form of bias and may help reduce self-occlusion. Equivalent to .
-
-
-
-
- Returns the normal bias for this GI probe. Equivalent to .
-
-
-
-
- Sets the propagation of light within this GI probe. Equivalent to .
-
-
-
-
- Returns the propagation value for this GI probe. Equivalent to .
-
-
-
-
- Sets the interior value of this GI probe. A GI probe set to interior does not include the sky when calculating lighting. Equivalent to .
-
-
-
-
- Returns true if the GI probe is set to interior, meaning it does not account for sky light. Equivalent to .
-
-
-
-
- Sets the compression setting for the GI probe data. Compressed data will take up less space but may look worse. Equivalent to .
-
-
-
-
- Returns true if the GI probe data associated with this GI probe is compressed. Equivalent to .
-
-
-
-
- Creates a lightmap capture and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all lightmap_capture_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach this lightmap capture to an instance using using the returned RID.
-
-
-
-
- Sets the size of the area covered by the lightmap capture. Equivalent to .
-
-
-
-
- Returns the size of the lightmap capture area.
-
-
-
-
- Sets the octree to be used by this lightmap capture. This function is normally used by the node. Equivalent to .
-
-
-
-
- Sets the octree cell transform for this lightmap capture's octree. Equivalent to .
-
-
-
-
- Returns the cell transform for this lightmap capture's octree.
-
-
-
-
- Sets the subdivision level of this lightmap capture's octree. Equivalent to .
-
-
-
-
- Returns the cell subdivision amount used by this lightmap capture's octree.
-
-
-
-
- Returns the octree used by the lightmap capture.
-
-
-
-
- Sets the energy multiplier for this lightmap capture. Equivalent to .
-
-
-
-
- Returns the energy multiplier used by the lightmap capture.
-
-
-
-
- Creates a particle system and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all particles_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- To place in a scene, attach these particles to an instance using using the returned RID.
-
-
-
-
- If true, particles will emit over time. Setting to false does not reset the particles, but only stops their emission. Equivalent to .
-
-
-
-
- Returns true if particles are currently set to emitting.
-
-
-
-
- Sets the number of particles to be drawn and allocates the memory for them. Equivalent to .
-
-
-
-
- Sets the lifetime of each particle in the system. Equivalent to .
-
-
-
-
- If true, particles will emit once and then stop. Equivalent to .
-
-
-
-
- Sets the preprocess time for the particles animation. This lets you delay starting an animation until after the particles have begun emitting. Equivalent to .
-
-
-
-
- Sets the explosiveness ratio. Equivalent to .
-
-
-
-
- Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to .
-
-
-
-
- Sets a custom axis-aligned bounding box for the particle system. Equivalent to .
-
-
-
-
- Sets the speed scale of the particle system. Equivalent to .
-
-
-
-
- If true, particles use local coordinates. If false they use global coordinates. Equivalent to .
-
-
-
-
- Sets the material for processing the particles. Note: this is not the material used to draw the materials. Equivalent to .
-
-
-
-
- Sets the frame rate that the particle system rendering will be fixed to. Equivalent to .
-
-
-
-
- If true, uses fractional delta which smooths the movement of the particles. Equivalent to .
-
-
-
-
- Returns true if particles are not emitting and particles are set to inactive.
-
-
-
-
- Add particle system to list of particle systems that need to be updated. Update will take place on the next frame, or on the next call to , , or .
-
-
-
-
- Reset the particles on the next update. Equivalent to .
-
-
-
-
- Sets the draw order of the particles to one of the named enums from . See for options. Equivalent to .
-
-
-
-
- Sets the number of draw passes to use. Equivalent to .
-
-
-
-
- Sets the mesh to be used for the specified draw pass. Equivalent to , , , and .
-
-
-
-
- Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to .
-
-
-
-
- Sets the that will be used by the particles when they first emit.
-
-
-
-
- Creates a camera and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all camera_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets camera to use perspective projection. Objects on the screen becomes smaller when they are far away.
-
-
-
-
- Sets camera to use orthogonal projection, also known as orthographic projection. Objects remain the same size on the screen no matter how far away they are.
-
-
-
-
- Sets camera to use frustum projection. This mode allows adjusting the offset argument to create "tilted frustum" effects.
-
-
-
-
- Sets of camera.
-
-
-
-
- Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to .
-
-
-
-
- Sets the environment used by this camera. Equivalent to .
-
-
-
-
- If true, preserves the horizontal aspect ratio which is equivalent to . If false, preserves the vertical aspect ratio which is equivalent to .
-
-
-
-
- Creates an empty viewport and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all viewport_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- If true, the viewport uses augmented or virtual reality technologies. See .
-
-
-
-
- Sets the viewport's width and height.
-
-
-
-
- If true, sets the viewport active, else sets it inactive.
-
-
-
-
- Sets the viewport's parent to another viewport.
-
-
-
-
- Copies viewport to a region of the screen specified by rect. If is true, then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to.
- For example, you can set the root viewport to not render at all with the following code:
-
- func _ready():
- get_viewport().set_attach_to_screen_rect(Rect2())
- $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
-
- Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For a further optimization see, .
-
- If the parameter is null, then the default value is new Rect2(0, 0, 0, 0)
-
-
-
- If true, render the contents of the viewport directly to screen. This allows a low-level optimization where you can skip drawing a viewport to the root viewport. While this optimization can result in a significant increase in speed (especially on older devices), it comes at a cost of usability. When this is enabled, you cannot read from the viewport or from the SCREEN_TEXTURE. You also lose the benefit of certain window settings, such as the various stretch modes. Another consequence to be aware of is that in 2D the rendering happens in window coordinates, so if you have a viewport that is double the size of the window, and you set this, then only the portion that fits within the window will be drawn, no automatic scaling is possible, even if your game scene is significantly larger than the window size.
-
-
-
-
- Detaches the viewport from the screen.
-
-
-
-
- Sets when the viewport should be updated. See constants for options.
-
-
-
-
- If true, the viewport's rendering is flipped vertically.
-
-
-
-
- Sets the clear mode of a viewport. See for options.
-
-
-
-
- Returns the viewport's last rendered frame.
-
-
-
-
- Currently unimplemented in Godot 3.x.
-
-
-
-
- If true, the viewport's canvas is not rendered.
-
-
-
-
- If true, rendering of a viewport's environment is disabled.
-
-
-
-
- If true, a viewport's 3D rendering is disabled.
-
-
-
-
- Sets a viewport's camera.
-
-
-
-
- Sets a viewport's scenario.
- The scenario contains information about the , environment information, reflection atlas etc.
-
-
-
-
- Sets a viewport's canvas.
-
-
-
-
- Detaches a viewport from a canvas and vice versa.
-
-
-
-
- Sets the transformation of a viewport's canvas.
-
-
-
-
- If true, the viewport renders its background as transparent.
-
-
-
-
- Sets the viewport's global transformation matrix.
-
-
-
-
- Sets the stacking order for a viewport's canvas.
- layer is the actual canvas layer, while sublayer specifies the stacking order of the canvas among those in the same layer.
-
-
-
-
- Sets the size of the shadow atlas's images (used for omni and spot lights). The value will be rounded up to the nearest power of 2.
-
-
-
-
- Sets the shadow atlas quadrant's subdivision.
-
-
-
-
- Sets the anti-aliasing mode. See for options.
-
-
-
-
- If true, the viewport renders to hdr.
-
-
-
-
- Sets the viewport's 2D/3D mode. See constants for options.
-
-
-
-
- Returns a viewport's render information. For options, see the constants.
-
-
-
-
- Sets the debug draw mode of a viewport. See for options.
-
-
-
-
- Creates an environment and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all environment_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets the BGMode of the environment. Equivalent to .
-
-
-
-
- Sets the to be used as the environment's background when using BGMode sky. Equivalent to .
-
-
-
-
- Sets a custom field of view for the background . Equivalent to .
-
-
-
-
- Sets the rotation of the background expressed as a . Equivalent to .
-
-
-
-
- Color displayed for clear areas of the scene (if using Custom color or Color+Sky background modes).
-
-
-
-
- Sets the intensity of the background color.
-
-
-
-
- Sets the maximum layer to use if using Canvas background mode.
-
-
-
-
- Sets the ambient light parameters. See for more details.
-
-
-
-
- Sets the values to be used with the "DoF Near Blur" post-process effect. See for more details.
-
-
-
-
- Sets the values to be used with the "DoF Far Blur" post-process effect. See for more details.
-
-
-
-
- Sets the variables to be used with the "glow" post-process effect. See for more details.
-
-
-
-
- Sets the variables to be used with the "tonemap" post-process effect. See for more details.
-
-
-
-
- Sets the values to be used with the "Adjustment" post-process effect. See for more details.
-
-
-
-
- Sets the variables to be used with the "screen space reflections" post-process effect. See for more details.
-
-
-
-
- Sets the variables to be used with the "Screen Space Ambient Occlusion (SSAO)" post-process effect. See for more details.
-
-
-
-
- Sets the variables to be used with the scene fog. See for more details.
-
-
-
-
- Sets the variables to be used with the fog depth effect. See for more details.
-
-
-
-
- Sets the variables to be used with the fog height effect. See for more details.
-
-
-
-
- Creates a scenario and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all scenario_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- The scenario is the 3D world that all the visual instances exist in.
-
-
-
-
- Sets the for this scenario. See for options.
-
-
-
-
- Sets the environment that will be used with this scenario.
-
-
-
-
- Sets the size of the reflection atlas shared by all reflection probes in this scenario.
-
-
-
-
- Sets the fallback environment to be used by this scenario. The fallback environment is used if no environment is set. Internally, this is used by the editor to provide a default environment.
-
-
-
-
- Creates a visual instance, adds it to the VisualServer, and sets both base and scenario. It can be accessed with the RID that is returned. This RID will be used in all instance_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Creates a visual instance and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all instance_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
- An instance is a way of placing a 3D object in the scenario. Objects like particles, meshes, and reflection probes need to be associated with an instance to be visible in the scenario using .
-
-
-
-
- Sets the base of the instance. A base can be any of the 3D objects that are created in the VisualServer that can be displayed. For example, any of the light types, mesh, multimesh, immediate geometry, particle system, reflection probe, lightmap capture, and the GI probe are all types that can be set as the base of an instance in order to be displayed in the scenario.
-
-
-
-
- Sets the scenario that the instance is in. The scenario is the 3D world that the objects will be displayed in.
-
-
-
-
- Sets the render layers that this instance will be drawn to. Equivalent to .
-
-
-
-
- Sets the world space transform of the instance. Equivalent to .
-
-
-
-
- Attaches a unique Object ID to instance. Object ID must be attached to instance for proper culling with , , and .
-
-
-
-
- Sets the weight for a given blend shape associated with this instance.
-
-
-
-
- Sets the material of a specific surface. Equivalent to .
-
-
-
-
- Sets whether an instance is drawn or not. Equivalent to .
-
-
-
-
- Sets the lightmap to use with this instance.
-
-
-
-
- Sets a custom AABB to use when culling objects from the view frustum. Equivalent to .
-
-
-
-
- Attaches a skeleton to an instance. Removes the previous skeleton from the instance.
-
-
-
-
- Function not implemented in Godot 3.x.
-
-
-
-
- Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you avoid culling objects that fall outside the view frustum. Equivalent to .
-
-
-
-
- Sets the flag for a given . See for more details.
-
-
-
-
- Sets the shadow casting setting to one of . Equivalent to .
-
-
-
-
- Sets a material that will override the material for all surfaces on the mesh associated with this instance. Equivalent to .
-
-
-
-
- Not implemented in Godot 3.x.
-
-
-
-
- Not implemented in Godot 3.x.
-
-
-
-
- Returns an array of object IDs intersecting with the provided AABB. Only visual 3D nodes are considered, such as or . Use @GDScript.instance_from_id to obtain the actual nodes. A scenario RID must be provided, which is available in the you want to query. This forces an update for all resources queued to update.
- Warning: This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
-
-
-
-
- Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as or . Use @GDScript.instance_from_id to obtain the actual nodes. A scenario RID must be provided, which is available in the you want to query. This forces an update for all resources queued to update.
- Warning: This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
-
-
-
-
- Returns an array of object IDs intersecting with the provided convex shape. Only visual 3D nodes are considered, such as or . Use @GDScript.instance_from_id to obtain the actual nodes. A scenario RID must be provided, which is available in the you want to query. This forces an update for all resources queued to update.
- Warning: This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
-
-
-
-
- Creates a canvas and returns the assigned . It can be accessed with the RID that is returned. This RID will be used in all canvas_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- A copy of the canvas item will be drawn with a local offset of the mirroring .
-
-
-
-
- Modulates all colors in the given canvas.
-
-
-
-
- Creates a new and returns its . It can be accessed with the RID that is returned. This RID will be used in all canvas_item_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets the parent for the . The parent can be another canvas item, or it can be the root canvas that is attached to the viewport.
-
-
-
-
- Sets if the canvas item (including its children) is visible.
-
-
-
-
- The light mask. See for more information on light masks.
-
-
-
-
- Sets the 's .
-
-
-
-
- Sets clipping for the .
-
-
-
-
- Enables the use of distance fields for GUI elements that are rendering distance field based fonts.
-
-
-
-
- Defines a custom drawing rectangle for the .
-
- If the parameter is null, then the default value is new Rect2(0, 0, 0, 0)
-
-
-
- Sets the color that modulates the and its children.
-
-
-
-
- Sets the color that modulates the without children.
-
-
-
-
- Sets to be drawn behind its parent.
-
-
-
-
- Adds a line command to the 's draw commands.
-
-
-
-
- Adds a polyline, which is a line from multiple points with a width, to the 's draw commands.
-
-
-
-
- Adds a rectangle to the 's draw commands.
-
-
-
-
- Adds a circle command to the 's draw commands.
-
-
-
-
- Adds a textured rect to the 's draw commands.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Adds a texture rect with region setting to the 's draw commands.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Adds a nine patch image to the 's draw commands.
- See for more explanation.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Adds a primitive to the 's draw commands.
-
-
-
-
- Adds a polygon to the 's draw commands.
-
- If the parameter is null, then the default value is new Vector2[] {}
-
-
-
- Adds a triangle array to the 's draw commands.
-
- If the parameter is null, then the default value is new Vector2[] {}
- If the parameter is null, then the default value is new int[] {}
- If the parameter is null, then the default value is new float[] {}
-
-
-
- Adds a mesh command to the 's draw commands.
-
- If the parameter is null, then the default value is Transform2D.Identity
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Adds a to the 's draw commands. Only affects its aabb at the moment.
-
-
-
-
- Adds a particle system to the 's draw commands.
-
-
-
-
- Adds a command to the 's draw commands.
- This sets the extra_matrix uniform when executed. This affects the later commands of the canvas item.
-
-
-
-
- If ignore is true, the VisualServer does not perform clipping.
-
-
-
-
- Sets if 's children should be sorted by y-position.
-
-
-
-
- Sets the 's Z index, i.e. its draw order (lower indexes are drawn first).
-
-
-
-
- If this is enabled, the Z index of the parent will be added to the children's Z index.
-
-
-
-
- Sets the to copy a rect to the backbuffer.
-
-
-
-
- Clears the and removes all commands in it.
-
-
-
-
- Sets the index for the .
-
-
-
-
- Sets a new material to the .
-
-
-
-
- Sets if the uses its parent's material.
-
-
-
-
- Creates a canvas light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all canvas_light_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Attaches the canvas light to the canvas. Removes it from its previous canvas.
-
-
-
-
- Enables or disables a canvas light.
-
-
-
-
- Sets the texture's scale factor of the light. Equivalent to .
-
-
-
-
- Sets the canvas light's .
-
-
-
-
- Sets texture to be used by light. Equivalent to .
-
-
-
-
- Sets the offset of the light's texture. Equivalent to .
-
-
-
-
- Sets the color for a light.
-
-
-
-
- Sets a canvas light's height.
-
-
-
-
- Sets a canvas light's energy.
-
-
-
-
- Sets the Z range of objects that will be affected by this light. Equivalent to and .
-
-
-
-
- The layer range that gets rendered with this light.
-
-
-
-
- The light mask. See for more information on light masks.
-
-
-
-
- The binary mask used to determine which layers this canvas light's shadows affects. See for more information on light masks.
-
-
-
-
- The mode of the light, see constants.
-
-
-
-
- Enables or disables the canvas light's shadow.
-
-
-
-
- Sets the width of the shadow buffer, size gets scaled to the next power of two for this.
-
-
-
-
- Sets the length of the shadow's gradient.
-
-
-
-
- Sets the canvas light's shadow's filter, see constants.
-
-
-
-
- Sets the color of the canvas light's shadow.
-
-
-
-
- Smoothens the shadow. The lower, the smoother.
-
-
-
-
- Creates a light occluder and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all canvas_light_ocluder_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Attaches a light occluder to the canvas. Removes it from its previous canvas.
-
-
-
-
- Enables or disables light occluder.
-
-
-
-
- Sets a light occluder's polygon.
-
-
-
-
- Sets a light occluder's .
-
-
-
-
- The light mask. See for more information on light masks.
-
-
-
-
- Creates a new light occluder polygon and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all canvas_occluder_polygon_* VisualServer functions.
- Once finished with your RID, you will want to free the RID using the VisualServer's static method.
-
-
-
-
- Sets the shape of the occluder polygon.
-
-
-
-
- Sets the shape of the occluder polygon as lines.
-
-
-
-
- Sets an occluder polygons cull mode. See constants.
-
-
-
-
- Sets margin size, where black bars (or images, if was used) are rendered.
-
-
-
-
- Sets images to be rendered in the window margin.
-
-
-
-
- Tries to free an object in the VisualServer.
-
-
-
-
- Schedules a callback to the corresponding named method on where after a frame has been drawn.
- The callback method must use only 1 argument which will be called with userdata.
-
-
-
-
- Returns true if changes have been made to the VisualServer's data. is usually called if this happens.
-
-
-
-
- Initializes the visual server. This function is called internally by platform-dependent code during engine initialization. If called from a running game, it will not do anything.
-
-
-
-
- Removes buffers and clears testcubes.
-
-
-
-
- Returns a certain information, see for options.
-
-
-
-
- Returns the name of the video adapter (e.g. "GeForce GTX 1080/PCIe/SSE2").
- Note: When running a headless or server binary, this function returns an empty string.
-
-
-
-
- Returns the vendor of the video adapter (e.g. "NVIDIA Corporation").
- Note: When running a headless or server binary, this function returns an empty string.
-
-
-
-
- Returns a mesh of a sphere with the given amount of horizontal and vertical subdivisions.
-
-
-
-
- Returns the id of the test cube. Creates one if none exists.
-
-
-
-
- Returns the id of the test texture. Creates one if none exists.
-
-
-
-
- Returns the id of a white texture. Creates one if none exists.
-
-
-
-
- Sets a boot image. The color defines the background color. If scale is true, the image will be scaled to fit the screen size. If use_filter is true, the image will be scaled with linear interpolation. If use_filter is false, the image will be scaled with nearest-neighbor interpolation.
-
-
-
-
- Sets the default clear color which is used when a specific clear color has not been selected.
-
-
-
-
- Sets the scale to apply to the passage of time for the shaders' TIME builtin.
- The default value is 1.0, which means TIME will count the real time as it goes by, without narrowing or stretching it.
-
-
-
-
- Not yet implemented. Always returns false.
-
-
-
-
- Returns true if the OS supports a certain feature. Features might be s3tc, etc, etc2 and pvrtc.
-
-
-
-
- If true, the engine will generate wireframes for use with the wireframe debug mode.
-
-
-
-
- This class allows you to define a custom shader program that can be used for various materials to render objects.
- The visual shader editor creates the shader.
-
-
-
-
- A vertex shader, operating on vertices.
-
-
-
-
- A fragment shader, operating on fragments (pixels).
-
-
-
-
- A shader for light calculations.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- The offset vector of the whole graph.
-
-
-
-
- Sets the mode of this shader.
-
-
-
-
- Adds the specified node to the shader.
-
-
-
-
- Returns the shader node instance with specified type and id.
-
-
-
-
- Sets the position of the specified node.
-
-
-
-
- Returns the position of the specified node within the shader graph.
-
-
-
-
- Returns the list of all nodes in the shader with the specified type.
-
-
-
-
- Removes the specified node from the shader.
-
-
-
-
- Returns true if the specified node and port connection exist.
-
-
-
-
- Returns true if the specified nodes and ports can be connected together.
-
-
-
-
- Connects the specified nodes and ports.
-
-
-
-
- Connects the specified nodes and ports.
-
-
-
-
- Connects the specified nodes and ports, even if they can't be connected. Such connection is invalid and will not function properly.
-
-
-
-
- Returns the list of connected nodes with the specified type.
-
-
-
-
- Floating-point scalar. Translated to float type in shader code.
-
-
-
-
- 3D vector of floating-point values. Translated to vec3 type in shader code.
-
-
-
-
- Boolean type. Translated to bool type in shader code.
-
-
-
-
- Transform type. Translated to mat4 type in shader code.
-
-
-
-
- Sampler type. Translated to reference of sampler uniform in shader code. Can only be used for input ports in non-uniform nodes.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- Sets the output port index which will be showed for preview. If set to -1 no port will be open for preview.
-
-
-
-
- Sets the default value for the selected input port.
-
-
-
-
- Returns the default value of the input port.
-
-
-
-
- Sets the default input ports values using an of the form [index0, value0, index1, value1, ...]. For example: [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)].
-
-
-
-
- Returns an containing default values for all of the input ports of the node in the form [index0, value0, index1, value1, ...].
-
-
-
-
- Has only one output port and no inputs.
- Translated to bool in the shader language.
-
-
-
-
- A boolean constant which represents a state of this node.
-
-
-
-
- Translated to uniform bool in the shader language.
-
-
-
-
- Has two output ports representing RGB and alpha channels of .
- Translated to vec3 rgb and float alpha in the shader language.
-
-
-
-
- A constant which represents a state of this node.
-
-
-
-
- Accept a to the input port and transform it according to .
-
-
-
-
- Converts the color to grayscale using the following formula:
-
- vec3 c = input;
- float max1 = max(c.r, c.g);
- float max2 = max(max1, c.b);
- float max3 = max(max1, max2);
- return vec3(max3, max3, max3);
-
-
-
-
-
- Applies sepia tone effect using the following formula:
-
- vec3 c = input;
- float r = (c.r * 0.393) + (c.g * 0.769) + (c.b * 0.189);
- float g = (c.r * 0.349) + (c.g * 0.686) + (c.b * 0.168);
- float b = (c.r * 0.272) + (c.g * 0.534) + (c.b * 0.131);
- return vec3(r, g, b);
-
-
-
-
-
- A function to be applied to the input color. See for options.
-
-
-
-
- Applies to two color inputs.
-
-
-
-
- Produce a screen effect with the following formula:
-
- result = vec3(1.0) - (vec3(1.0) - a) * (vec3(1.0) - b);
-
-
-
-
-
- Produce a difference effect with the following formula:
-
- result = abs(a - b);
-
-
-
-
-
- Produce a darken effect with the following formula:
-
- result = min(a, b);
-
-
-
-
-
- Produce a lighten effect with the following formula:
-
- result = max(a, b);
-
-
-
-
-
- Produce an overlay effect with the following formula:
-
- for (int i = 0; i < 3; i++) {
- float base = a[i];
- float blend = b[i];
- if (base < 0.5) {
- result[i] = 2.0 * base * blend;
- } else {
- result[i] = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);
- }
- }
-
-
-
-
-
- Produce a dodge effect with the following formula:
-
- result = a / (vec3(1.0) - b);
-
-
-
-
-
- Produce a burn effect with the following formula:
-
- result = vec3(1.0) - (vec3(1.0) - a) / b;
-
-
-
-
-
- Produce a soft light effect with the following formula:
-
- for (int i = 0; i < 3; i++) {
- float base = a[i];
- float blend = b[i];
- if (base < 0.5) {
- result[i] = base * (blend + 0.5);
- } else {
- result[i] = 1.0 - (1.0 - base) * (1.0 - (blend - 0.5));
- }
- }
-
-
-
-
-
- Produce a hard light effect with the following formula:
-
- for (int i = 0; i < 3; i++) {
- float base = a[i];
- float blend = b[i];
- if (base < 0.5) {
- result[i] = base * (2.0 * blend);
- } else {
- result[i] = 1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5));
- }
- }
-
-
-
-
-
- An operator to be applied to the inputs. See for options.
-
-
-
-
- Translated to uniform vec4 in the shader language.
-
-
-
-
- Compares a and b of by . Returns a boolean scalar. Translates to if instruction in shader code.
-
-
-
-
- A floating-point scalar.
-
-
-
-
- A 3D vector type.
-
-
-
-
- A boolean type.
-
-
-
-
- A transform (mat4) type.
-
-
-
-
- Comparison for equality (a == b).
-
-
-
-
- Comparison for inequality (a != b).
-
-
-
-
- Comparison for greater than (a > b). Cannot be used if set to or .
-
-
-
-
- Comparison for greater than or equal (a >= b). Cannot be used if set to or .
-
-
-
-
- Comparison for less than (a < b). Cannot be used if set to or .
-
-
-
-
- Comparison for less than or equal (a < b). Cannot be used if set to or .
-
-
-
-
- The result will be true if all of component in vector satisfy the comparison condition.
-
-
-
-
- The result will be true if any of component in vector satisfy the comparison condition.
-
-
-
-
- The type to be used in the comparison. See for options.
-
-
-
-
- A comparison function. See for options.
-
-
-
-
- Extra condition which is applied if is set to .
-
-
-
-
- Translated to texture(cubemap, vec3) in the shader language. Returns a color vector and alpha channel as scalar.
-
-
-
-
- No hints are added to the uniform declaration.
-
-
-
-
- Adds hint_albedo as hint to the uniform declaration for proper sRGB to linear conversion.
-
-
-
-
- Adds hint_normal as hint to the uniform declaration, which internally converts the texture for proper usage as normal map.
-
-
-
-
- Use the set via . If this is set to , the samplerCube port is ignored.
-
-
-
-
- Use the sampler reference passed via the samplerCube port. If this is set to , the texture is ignored.
-
-
-
-
- Defines which source should be used for the sampling. See for options.
-
-
-
-
- The texture to sample when using as .
-
-
-
-
- Defines the type of data provided by the source texture. See for options.
-
-
-
-
- Translated to uniform samplerCube in the shader language. The output value can be used as port for .
-
-
-
-
- By inheriting this class you can create a custom script addon which will be automatically added to the Visual Shader Editor. The 's behavior is defined by overriding the provided virtual methods.
- In order for the node to be registered as an editor addon, you must use the tool keyword and provide a class_name for your custom script. For example:
-
- tool
- extends VisualShaderNodeCustom
- class_name VisualShaderNodeNoise
-
-
-
-
-
- Override this method to define the category of the associated custom node in the Visual Shader Editor's members dialog.
- Defining this method is optional. If not overridden, the node will be filed under the "Custom" category.
-
-
-
-
- Override this method to define the actual shader code of the associated custom node. The shader code should be returned as a string, which can have multiple lines (the """ multiline string construct can be used for convenience).
- The input_vars and output_vars arrays contain the string names of the various input and output variables, as defined by _get_input_* and _get_output_* virtual methods in this class.
- The output ports can be assigned values in the shader code. For example, return output_vars[0] + " = " + input_vars[0] + ";".
- You can customize the generated code based on the shader mode (see ) and/or type (see ).
- Defining this method is required.
-
-
-
-
- Override this method to define the description of the associated custom node in the Visual Shader Editor's members dialog.
- Defining this method is optional.
-
-
-
-
- Override this method to add shader code on top of the global shader, to define your own standard library of reusable methods, varyings, constants, uniforms, etc. The shader code should be returned as a string, which can have multiple lines (the """ multiline string construct can be used for convenience).
- Be careful with this functionality as it can cause name conflicts with other custom nodes, so be sure to give the defined entities unique names.
- You can customize the generated code based on the shader mode (see ).
- Defining this method is optional.
-
-
-
-
- Override this method to define the amount of input ports of the associated custom node.
- Defining this method is required. If not overridden, the node has no input ports.
-
-
-
-
- Override this method to define the names of input ports of the associated custom node. The names are used both for the input slots in the editor and as identifiers in the shader code, and are passed in the input_vars array in .
- Defining this method is optional, but recommended. If not overridden, input ports are named as "in" + str(port).
-
-
-
-
- Override this method to define the returned type of each input port of the associated custom node (see for possible types).
- Defining this method is optional, but recommended. If not overridden, input ports will return the type.
-
-
-
-
- Override this method to define the name of the associated custom node in the Visual Shader Editor's members dialog and graph.
- Defining this method is optional, but recommended. If not overridden, the node will be named as "Unnamed".
-
-
-
-
- Override this method to define the amount of output ports of the associated custom node.
- Defining this method is required. If not overridden, the node has no output ports.
-
-
-
-
- Override this method to define the names of output ports of the associated custom node. The names are used both for the output slots in the editor and as identifiers in the shader code, and are passed in the output_vars array in .
- Defining this method is optional, but recommended. If not overridden, output ports are named as "out" + str(port).
-
-
-
-
- Override this method to define the returned type of each output port of the associated custom node (see for possible types).
- Defining this method is optional, but recommended. If not overridden, output ports will return the type.
-
-
-
-
- Override this method to define the return icon of the associated custom node in the Visual Shader Editor's members dialog.
- Defining this method is optional. If not overridden, no return icon is shown.
-
-
-
-
- Override this method to define the subcategory of the associated custom node in the Visual Shader Editor's members dialog.
- Defining this method is optional. If not overridden, the node will be filed under the root of the main category (see ).
-
-
-
-
- Translates to deteminant(x) in the shader language.
-
-
-
-
- Translates to dot(a, b) in the shader language.
-
-
-
-
- Custom Godot Shading Language expression, with a custom amount of input and output ports.
- The provided code is directly injected into the graph's matching shader function (vertex, fragment, or light), so it cannot be used to to declare functions, varyings, uniforms, or global constants. See for such global definitions.
-
-
-
-
- An expression in Godot Shading Language, which will be injected at the start of the graph's matching shader function (vertex, fragment, or light), and thus cannot be used to declare functions, varyings, uniforms, or global constants.
-
-
-
-
- Translates to faceforward(N, I, Nref) in the shader language. The function has three vector parameters: N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned.
-
-
-
-
- Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it).
-
-
-
-
- Custom Godot Shader Language expression, which is placed on top of the generated shader. You can place various function definitions inside to call later in s (which are injected in the main shader functions). You can also declare varyings, uniforms and global constants.
-
-
-
-
- Currently, has no direct usage, use the derived classes instead.
-
-
-
-
- The size of the node in the visual shader graph.
-
-
-
-
- Defines all input ports using a formatted as a colon-separated list: id,type,name; (see ).
-
-
-
-
- Returns a description of the input ports as as colon-separated list using the format id,type,name; (see ).
-
-
-
-
- Defines all output ports using a formatted as a colon-separated list: id,type,name; (see ).
-
-
-
-
- Returns a description of the output ports as as colon-separated list using the format id,type,name; (see ).
-
-
-
-
- Returns true if the specified port name does not override an existed port name and is valid within the shader.
-
-
-
-
- Adds an input port with the specified type (see ) and name.
-
-
-
-
- Removes the specified input port.
-
-
-
-
- Returns the number of input ports in use. Alternative for .
-
-
-
-
- Returns true if the specified input port exists.
-
-
-
-
- Removes all previously specified input ports.
-
-
-
-
- Adds an output port with the specified type (see ) and name.
-
-
-
-
- Removes the specified output port.
-
-
-
-
- Returns the number of output ports in use. Alternative for .
-
-
-
-
- Returns true if the specified output port exists.
-
-
-
-
- Removes all previously specified output ports.
-
-
-
-
- Renames the specified input port.
-
-
-
-
- Sets the specified input port's type (see ).
-
-
-
-
- Renames the specified output port.
-
-
-
-
- Sets the specified output port's type (see ).
-
-
-
-
- Returns a free input port ID which can be used in .
-
-
-
-
- Returns a free output port ID which can be used in .
-
-
-
-
- Gives access to input variables (built-ins) available for the shader. See the shading reference for the list of available built-ins for each shader type (check Tutorials section for link).
-
-
-
-
- One of the several input constants in lower-case style like: "vertex"(VERTEX) or "point_size"(POINT_SIZE).
-
-
-
-
- Returns the boolean result of the comparison between INF or NaN and a scalar parameter.
-
-
-
-
- Comparison with INF (Infinity).
-
-
-
-
- Comparison with NaN (Not a Number; denotes invalid numeric results, e.g. division by zero).
-
-
-
-
- The comparison function. See for options.
-
-
-
-
- OuterProduct treats the first parameter c as a column vector (matrix with one column) and the second parameter r as a row vector (matrix with one row) and does a linear algebraic matrix multiply c * r, yielding a matrix whose number of rows is the number of components in c and whose number of columns is the number of components in r.
-
-
-
-
- This visual shader node is present in all shader graphs in form of "Output" block with mutliple output value ports.
-
-
-
-
- Constrains a value to lie between min and max values.
-
-
-
-
- This node is only available in Fragment and Light visual shaders.
-
-
-
-
- Sum of absolute derivative in x and y.
-
-
-
-
- Derivative in x using local differencing.
-
-
-
-
- Derivative in y using local differencing.
-
-
-
-
- The derivative type. See for options.
-
-
-
-
- Translates to mix(a, b, weight) in the shader language.
-
-
-
-
- Translates to smoothstep(edge0, edge1, x) in the shader language.
- Returns 0.0 if x is smaller than edge0 and 1.0 if x is larger than edge1. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials.
-
-
-
-
- Returns an associated scalar if the provided boolean value is true or false.
-
-
-
-
- Returns an associated vector if the provided boolean value is true or false.
-
-
-
-
- Performs a lookup operation on the provided texture, with support for multiple texture sources to choose from.
-
-
-
-
- No hints are added to the uniform declaration.
-
-
-
-
- Adds hint_albedo as hint to the uniform declaration for proper sRGB to linear conversion.
-
-
-
-
- Adds hint_normal as hint to the uniform declaration, which internally converts the texture for proper usage as normal map.
-
-
-
-
- Use the texture given as an argument for this function.
-
-
-
-
- Use the current viewport's texture as the source.
-
-
-
-
- Use the texture from this shader's texture built-in (e.g. a texture of a ).
-
-
-
-
- Use the texture from this shader's normal map built-in.
-
-
-
-
- Use the depth texture available for this shader.
-
-
-
-
- Use the texture provided in the input port for this function.
-
-
-
-
- Determines the source for the lookup. See for options.
-
-
-
-
- The source texture, if needed for the selected .
-
-
-
-
- Specifies the type of the texture if is set to . See for options.
-
-
-
-
- Performs a lookup operation on the texture provided as a uniform for the shader.
-
-
-
-
- No hints are added to the uniform declaration.
-
-
-
-
- Adds hint_albedo as hint to the uniform declaration for proper sRGB to linear conversion.
-
-
-
-
- Adds hint_normal as hint to the uniform declaration, which internally converts the texture for proper usage as normal map.
-
-
-
-
- Adds hint_aniso as hint to the uniform declaration to use for a flowmap.
-
-
-
-
- Defaults to white color.
-
-
-
-
- Defaults to black color.
-
-
-
-
- Defines the type of data provided by the source texture. See for options.
-
-
-
-
- Sets the default color if no texture is assigned to the uniform.
-
-
-
-
- Performs a lookup operation on the texture provided as a uniform for the shader, with support for triplanar mapping.
-
-
-
-
- Creates a 4x4 transform matrix using four vectors of type vec3. Each vector is one row in the matrix and the last column is a vec4(0, 0, 0, 1).
-
-
-
-
- A constant , which can be used as an input node.
-
-
-
-
- A constant which represents the state of this node.
-
-
-
-
- Takes a 4x4 transform matrix and decomposes it into four vec3 values, one from each row of the matrix.
-
-
-
-
- Computes an inverse or transpose function on the provided .
-
-
-
-
- Perform the inverse operation on the matrix.
-
-
-
-
- Perform the transpose operation on the matrix.
-
-
-
-
- The function to be computed. See for options.
-
-
-
-
- A multiplication operation on two transforms (4x4 matrices), with support for different multiplication operators.
-
-
-
-
- Multiplies transform a by the transform b.
-
-
-
-
- Multiplies transform b by the transform a.
-
-
-
-
- Performs a component-wise multiplication of transform a by the transform b.
-
-
-
-
- Performs a component-wise multiplication of transform b by the transform a.
-
-
-
-
- The multiplication type to be performed on the transforms. See for options.
-
-
-
-
- Translated to uniform mat4 in the shader language.
-
-
-
-
- A multiplication operation on a transform (4x4 matrix) and a vector, with support for different multiplication operators.
-
-
-
-
- Multiplies transform a by the vector b.
-
-
-
-
- Multiplies vector b by the transform a.
-
-
-
-
- Multiplies transform a by the vector b, skipping the last row and column of the transform.
-
-
-
-
- Multiplies vector b by the transform a, skipping the last row and column of the transform.
-
-
-
-
- The multiplication type to be performed. See for options.
-
-
-
-
- A uniform represents a variable in the shader which is set externally, i.e. from the . Uniforms are exposed as properties in the and can be assigned from the inspector or from a script.
-
-
-
-
- Name of the uniform, by which it can be accessed through the properties.
-
-
-
-
- A constant , which can be used as an input node.
-
-
-
-
- A constant which represents the state of this node.
-
-
-
-
- Translated to uniform vec3 in the shader language.
-
-
-
-
- Constrains a value to lie between min and max values. The operation is performed on each component of the vector individually.
-
-
-
-
- Creates a vec3 using three scalar values that can be provided from separate inputs.
-
-
-
-
- Takes a vec3 and decomposes it into three scalar values that can be used as separate inputs.
-
-
-
-
- This node is only available in Fragment and Light visual shaders.
-
-
-
-
- Sum of absolute derivative in x and y.
-
-
-
-
- Derivative in x using local differencing.
-
-
-
-
- Derivative in y using local differencing.
-
-
-
-
- A derivative type. See for options.
-
-
-
-
- Calculates distance from point represented by vector p0 to vector p1.
- Translated to distance(p0, p1) in the shader language.
-
-
-
-
- A visual shader node able to perform different functions using vectors.
-
-
-
-
- Normalizes the vector so that it has a length of 1 but points in the same direction.
-
-
-
-
- Clamps the value between 0.0 and 1.0.
-
-
-
-
- Returns the opposite value of the parameter.
-
-
-
-
- Returns 1/vector.
-
-
-
-
- Converts RGB vector to HSV equivalent.
-
-
-
-
- Converts HSV vector to RGB equivalent.
-
-
-
-
- Returns the absolute value of the parameter.
-
-
-
-
- Returns the arc-cosine of the parameter.
-
-
-
-
- Returns the inverse hyperbolic cosine of the parameter.
-
-
-
-
- Returns the arc-sine of the parameter.
-
-
-
-
- Returns the inverse hyperbolic sine of the parameter.
-
-
-
-
- Returns the arc-tangent of the parameter.
-
-
-
-
- Returns the inverse hyperbolic tangent of the parameter.
-
-
-
-
- Finds the nearest integer that is greater than or equal to the parameter.
-
-
-
-
- Returns the cosine of the parameter.
-
-
-
-
- Returns the hyperbolic cosine of the parameter.
-
-
-
-
- Converts a quantity in radians to degrees.
-
-
-
-
- Base-e Exponential.
-
-
-
-
- Base-2 Exponential.
-
-
-
-
- Finds the nearest integer less than or equal to the parameter.
-
-
-
-
- Computes the fractional part of the argument.
-
-
-
-
- Returns the inverse of the square root of the parameter.
-
-
-
-
- Natural logarithm.
-
-
-
-
- Base-2 logarithm.
-
-
-
-
- Converts a quantity in degrees to radians.
-
-
-
-
- Finds the nearest integer to the parameter.
-
-
-
-
- Finds the nearest even integer to the parameter.
-
-
-
-
- Extracts the sign of the parameter, i.e. returns -1 if the parameter is negative, 1 if it's positive and 0 otherwise.
-
-
-
-
- Returns the sine of the parameter.
-
-
-
-
- Returns the hyperbolic sine of the parameter.
-
-
-
-
- Returns the square root of the parameter.
-
-
-
-
- Returns the tangent of the parameter.
-
-
-
-
- Returns the hyperbolic tangent of the parameter.
-
-
-
-
- Returns a value equal to the nearest integer to the parameter whose absolute value is not larger than the absolute value of the parameter.
-
-
-
-
- Returns 1.0 - vector.
-
-
-
-
- The function to be performed. See for options.
-
-
-
-
- Translates to mix(a, b, weight) in the shader language, where weight is a with weights for each component.
-
-
-
-
- Translated to length(p0) in the shader language.
-
-
-
-
- A visual shader node for use of vector operators. Operates on vector a and vector b.
-
-
-
-
- Adds two vectors.
-
-
-
-
- Subtracts a vector from a vector.
-
-
-
-
- Multiplies two vectors.
-
-
-
-
- Divides vector by vector.
-
-
-
-
- Returns the remainder of the two vectors.
-
-
-
-
- Returns the value of the first parameter raised to the power of the second, for each component of the vectors.
-
-
-
-
- Returns the greater of two values, for each component of the vectors.
-
-
-
-
- Returns the lesser of two values, for each component of the vectors.
-
-
-
-
- Calculates the cross product of two vectors.
-
-
-
-
- Returns the arc-tangent of the parameters.
-
-
-
-
- Returns the vector that points in the direction of reflection. a is incident vector and b is the normal vector.
-
-
-
-
- Vector step operator. Returns 0.0 if a is smaller than b and 1.0 otherwise.
-
-
-
-
- The operator to be used. See for options.
-
-
-
-
- Translated to refract(I, N, eta) in the shader language, where I is the incident vector, N is the normal vector and eta is the ratio of the indicies of the refraction.
-
-
-
-
- Translates to mix(a, b, weight) in the shader language, where a and b are vectors and weight is a scalar.
-
-
-
-
- Translates to smoothstep(edge0, edge1, x) in the shader language, where x is a scalar.
- Returns 0.0 if x is smaller than edge0 and 1.0 if x is larger than edge1. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials.
-
-
-
-
- Translates to step(edge, x) in the shader language.
- Returns 0.0 if x is smaller than edge and 1.0 otherwise.
-
-
-
-
- Translates to smoothstep(edge0, edge1, x) in the shader language, where x is a vector.
- Returns 0.0 if x is smaller than edge0 and 1.0 if x is larger than edge1. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials.
-
-
-
-
- A weakref can hold a , without contributing to the reference counter. A weakref can be created from an using @GDScript.weakref. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to each other. Without weakrefs, using these classes could lead to memory leaks, since both references keep each other from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
-
-
-
-
- Returns the this weakref is referring to.
-
-
-
-
- Tells the channel to send data over this channel as text. An external peer (non-Godot) would receive this as a string.
-
-
-
-
- Tells the channel to send data over this channel as binary. An external peer (non-Godot) would receive this as array buffer or blob.
-
-
-
-
- The channel was created, but it's still trying to connect.
-
-
-
-
- The channel is currently open, and data can flow over it.
-
-
-
-
- The channel is being closed, no new messages will be accepted, but those already in queue will be flushed.
-
-
-
-
- The channel was closed, or connection failed.
-
-
-
-
- The transfer mode to use when sending outgoing packet. Either text or binary.
-
-
-
-
- Reserved, but not used for now.
-
-
-
-
- Closes this data channel, notifying the other peer.
-
-
-
-
- Returns true if the last received packet was transferred as text. See .
-
-
-
-
- Returns the current state of this channel, see .
-
-
-
-
- Returns the label assigned to this channel during creation.
-
-
-
-
- Returns true if this channel was created with ordering enabled (default).
-
-
-
-
- Returns the id assigned to this channel during creation (or auto-assigned during negotiation).
- If the channel is not negotiated out-of-band the id will only be available after the connection is established (will return 65535 until then).
-
-
-
-
- Returns the maxPacketLifeTime value assigned to this channel during creation.
- Will be 65535 if not specified.
-
-
-
-
- Returns the maxRetransmits value assigned to this channel during creation.
- Will be 65535 if not specified.
-
-
-
-
- Returns the sub-protocol assigned to this channel during creation. An empty string if not specified.
-
-
-
-
- Returns true if this channel was created with out-of-band configuration.
-
-
-
-
- This class constructs a full mesh of (one connection for each peer) that can be used as a .
- You can add each via or remove them via . Peers must be added in state to allow it to create the appropriate channels. This class will not create offers nor set descriptions, it will only poll them, and notify connections and disconnections.
- NetworkedMultiplayerPeer.connection_succeeded and NetworkedMultiplayerPeer.server_disconnected will not be emitted unless server_compatibility is true in . Beside that data transfer works like in a .
-
-
-
-
- Initialize the multiplayer peer with the given peer_id (must be between 1 and 2147483647).
- If server_compatibilty is false (default), the multiplayer peer will be immediately in state and NetworkedMultiplayerPeer.connection_succeeded will not be emitted.
- If server_compatibilty is true the peer will suppress all NetworkedMultiplayerPeer.peer_connected signals until a peer with id connects and then emit NetworkedMultiplayerPeer.connection_succeeded. After that the signal NetworkedMultiplayerPeer.peer_connected will be emitted for every already connected peer, and any new peer that might connect. If the server peer disconnects after that, signal NetworkedMultiplayerPeer.server_disconnected will be emitted and state will become .
-
-
-
-
- Add a new peer to the mesh with the given peer_id. The must be in state .
- Three channels will be created for reliable, unreliable, and ordered transport. The value of unreliable_lifetime will be passed to the maxPacketLifetime option when creating unreliable and ordered channels (see ).
-
-
-
-
- Remove the peer with given peer_id from the mesh. If the peer was connected, and NetworkedMultiplayerPeer.peer_connected was emitted for it, then NetworkedMultiplayerPeer.peer_disconnected will be emitted.
-
-
-
-
- Returns true if the given peer_id is in the peers map (it might not be connected though).
-
-
-
-
- Return a dictionary representation of the peer with given peer_id with three keys. connection containing the to this peer, channels an array of three , and connected a boolean representing if the peer connection is currently connected (all three channels are open).
-
-
-
-
- Returns a dictionary which keys are the peer ids and values the peer representation as in .
-
-
-
-
- Close all the add peer connections and channels, freeing all resources.
-
-
-
-
- A WebRTC connection between the local computer and a remote peer. Provides an interface to connect, maintain and monitor the connection.
- Setting up a WebRTC connection between two peers from now on) may not seem a trivial task, but it can be broken down into 3 main steps:
- - The peer that wants to initiate the connection (A from now on) creates an offer and send it to the other peer (B from now on).
- - B receives the offer, generate and answer, and sends it to A).
- - A and B then generates and exchange ICE candidates with each other.
- After these steps, the connection should become connected. Keep on reading or look into the tutorial for more information.
-
-
-
-
- The connection is new, data channels and an offer can be created in this state.
-
-
-
-
- The peer is connecting, ICE is in progress, none of the transports has failed.
-
-
-
-
- The peer is connected, all ICE transports are connected.
-
-
-
-
- At least one ICE transport is disconnected.
-
-
-
-
- One or more of the ICE transports failed.
-
-
-
-
- The peer connection is closed (after calling for example).
-
-
-
-
- Re-initialize this peer connection, closing any previously active connection, and going back to state . A dictionary of options can be passed to configure the peer connection.
- Valid options are:
-
- {
- "iceServers": [
- {
- "urls": [ "stun:stun.example.com:3478" ], # One or more STUN servers.
- },
- {
- "urls": [ "turn:turn.example.com:3478" ], # One or more TURN servers.
- "username": "a_username", # Optional username for the TURN server.
- "credential": "a_password", # Optional password for the TURN server.
- }
- ]
- }
-
-
- If the parameter is null, then the default value is new Godot.Collections.Dictionary()
-
-
-
- Returns a new (or null on failure) with given label and optionally configured via the options dictionary. This method can only be called when the connection is in state .
- There are two ways to create a working data channel: either call on only one of the peer and listen to data_channel_received on the other, or call on both peers, with the same values, and the negotiated option set to true.
- Valid options are:
-
- {
- "negotiated": true, # When set to true (default off), means the channel is negotiated out of band. "id" must be set too. data_channel_received will not be called.
- "id": 1, # When "negotiated" is true this value must also be set to the same value on both peer.
-
- # Only one of maxRetransmits and maxPacketLifeTime can be specified, not both. They make the channel unreliable (but also better at real time).
- "maxRetransmits": 1, # Specify the maximum number of attempt the peer will make to retransmits packets if they are not acknowledged.
- "maxPacketLifeTime": 100, # Specify the maximum amount of time before giving up retransmitions of unacknowledged packets (in milliseconds).
- "ordered": true, # When in unreliable mode (i.e. either "maxRetransmits" or "maxPacketLifetime" is set), "ordered" (true by default) specify if packet ordering is to be enforced.
-
- "protocol": "my-custom-protocol", # A custom sub-protocol string for this channel.
- }
-
- Note: You must keep a reference to channels created this way, or it will be closed.
-
- If the parameter is null, then the default value is new Godot.Collections.Dictionary()
-
-
-
- Creates a new SDP offer to start a WebRTC connection with a remote peer. At least one must have been created before calling this method.
- If this functions returns , session_description_created will be called when the session is ready to be sent.
-
-
-
-
- Sets the SDP description of the local peer. This should be called in response to session_description_created.
- After calling this function the peer will start emitting ice_candidate_created (unless an different from is returned).
-
-
-
-
- Sets the SDP description of the remote peer. This should be called with the values generated by a remote peer and received over the signaling server.
- If type is offer the peer will emit session_description_created with the appropriate answer.
- If type is answer the peer will start emitting ice_candidate_created.
-
-
-
-
- Add an ice candidate generated by a remote peer (and received over the signaling server). See ice_candidate_created.
-
-
-
-
- Call this method frequently (e.g. in or ) to properly receive signals.
-
-
-
-
- Close the peer connection and all data channels associated with it. Note, you cannot reuse this object for a new connection unless you call .
-
-
-
-
- Returns the connection state. See .
-
-
-
-
- This class implements a WebSocket client compatible with any RFC 6455-compliant WebSocket server.
- This client can be optionally used as a network peer for the .
- After starting the client (), you will need to it at regular intervals (e.g. inside ).
- You will receive appropriate signals when connecting, disconnecting, or when new data is available.
-
-
-
-
- If true, SSL certificate verification is enabled.
- Note: You must specify the certificates to be used in the Project Settings for it to work when exported.
-
-
-
-
- If specified, this will be the only one accepted when connecting to an SSL host. Any other certificate provided by the server will be regarded as invalid.
- Note: Specifying a custom trusted_ssl_certificate is not supported in HTML5 exports due to browsers restrictions.
-
-
-
-
- Connects to the given URL requesting one of the given protocols as sub-protocol. If the list empty (default), no sub-protocol will be requested.
- If true is passed as gd_mp_api, the client will behave like a network peer for the , connections to non-Godot servers will not work, and data_received will not be emitted.
- If false is passed instead (default), you must call functions (put_packet, get_packet, etc.) on the returned via get_peer(1) and not on this object directly (e.g. get_peer(1).put_packet(data)).
- You can optionally pass a list of custom_headers to be added to the handshake HTTP request.
- Note: Specifying custom_headers is not supported in HTML5 exports due to browsers restrictions.
-
- If the parameter is null, then the default value is new string[] {}
- If the parameter is null, then the default value is new string[] {}
-
-
-
- Disconnects this client from the connected host. See for more information.
-
-
-
-
- Return the IP address of the currently connected host.
-
-
-
-
- Return the IP port of the currently connected host.
-
-
-
-
- Base class for WebSocket server and client, allowing them to be used as network peer for the .
-
-
-
-
- Configures the buffer sizes for this WebSocket peer. Default values can be specified in the Project Settings under network/limits. For server, values are meant per connected peer.
- The first two parameters define the size and queued packets limits of the input buffer, the last two of the output buffer.
- Buffer sizes are expressed in KiB, so 4 = 2^12 = 4096 bytes. All parameters will be rounded up to the nearest power of two.
- Note: HTML5 exports only use the input buffer since the output one is managed by browsers.
-
-
-
-
- Returns the associated to the given peer_id.
-
-
-
-
- This class represent a specific WebSocket connection, you can do lower level operations with it.
- You can choose to write to the socket in binary or text mode, and you can recognize the mode used for writing by the other peer.
-
-
-
-
- Specifies that WebSockets messages should be transferred as text payload (only valid UTF-8 is allowed).
-
-
-
-
- Specifies that WebSockets messages should be transferred as binary payload (any byte combination is allowed).
-
-
-
-
- Gets the current selected write mode. See .
-
-
-
-
- Sets the socket to use the given .
-
-
-
-
- Returns true if this peer is currently connected.
-
-
-
-
- Returns true if the last received packet was sent as a text payload. See .
-
-
-
-
- Closes this WebSocket connection. code is the status code for the closure (see RFC 6455 section 7.4 for a list of valid status codes). reason is the human readable reason for closing the connection (can be any UTF-8 string that's smaller than 123 bytes).
- Note: To achieve a clean close, you will need to keep polling until either WebSocketClient.connection_closed or WebSocketServer.client_disconnected is received.
- Note: The HTML5 export might not support all status codes. Please refer to browser-specific documentation for more details.
-
-
-
-
- Returns the IP address of the connected peer.
- Note: Not available in the HTML5 export.
-
-
-
-
- Returns the remote port of the connected peer.
- Note: Not available in the HTML5 export.
-
-
-
-
- Disable Nagle's algorithm on the underling TCP socket (default). See for more information.
- Note: Not available in the HTML5 export.
-
-
-
-
- This class implements a WebSocket server that can also support the high-level multiplayer API.
- After starting the server (), you will need to it at regular intervals (e.g. inside ). When clients connect, disconnect, or send data, you will receive the appropriate signal.
- Note: Not available in HTML5 exports.
-
-
-
-
- When not set to * will restrict incoming connections to the specified IP address. Setting bind_ip to 127.0.0.1 will cause the server to listen only to the local host.
-
-
-
-
- When set to a valid (along with ) will cause the server to require SSL instead of regular TCP (i.e. the wss:// protocol).
-
-
-
-
- When set to a valid (along with ) will cause the server to require SSL instead of regular TCP (i.e. the wss:// protocol).
-
-
-
-
- When using SSL (see and ), you can set this to a valid to be provided as additional CA chain information during the SSL handshake.
-
-
-
-
- Returns true if the server is actively listening on a port.
-
-
-
-
- Starts listening on the given port.
- You can specify the desired subprotocols via the "protocols" array. If the list empty (default), no sub-protocol will be requested.
- If true is passed as gd_mp_api, the server will behave like a network peer for the , connections from non-Godot clients will not work, and data_received will not be emitted.
- If false is passed instead (default), you must call functions (put_packet, get_packet, etc.), on the returned via get_peer(id) to communicate with the peer with given id (e.g. get_peer(id).get_available_packet_count).
-
- If the parameter is null, then the default value is new string[] {}
-
-
-
- Stops the server and clear its state.
-
-
-
-
- Returns true if a peer with the given ID is connected.
-
-
-
-
- Returns the IP address of the given peer.
-
-
-
-
- Returns the remote port of the given peer.
-
-
-
-
- Disconnects the peer identified by id from the server. See for more information.
-
-
-
-
- Windowdialog is the base class for all window-based dialogs. It's a by-default toplevel that draws a window decoration and allows motion and resizing.
-
-
-
-
- The text displayed in the window's title bar.
-
-
-
-
- If true, the user can resize the window.
-
-
-
-
- Returns the close .
-
-
-
-
- Class that has everything pertaining to a world. A physics space, a visual scenario and a sound space. Spatial nodes register their resources into the current world.
-
-
-
-
- The World's .
-
-
-
-
- The World's fallback_environment will be used if the World's fails or is missing.
-
-
-
-
- The World's physics space.
-
-
-
-
- The World's visual scenario.
-
-
-
-
- Direct access to the world's physics 3D space state. Used for querying current and potential collisions. Must only be accessed from within _physics_process(delta).
-
-
-
-
- Class that has everything pertaining to a 2D world. A physics space, a visual scenario and a sound space. 2D nodes register their resources into the current 2D world.
-
-
-
-
- The of this world's canvas resource. Used by the for 2D drawing.
-
-
-
-
- The of this world's physics space resource. Used by the for 2D physics, treating it as both a space and an area.
-
-
-
-
- Direct access to the world's physics 2D space state. Used for querying current and potential collisions. Must only be accessed from the main thread within _physics_process(delta).
-
-
-
-
- The node is used to configure the default for the scene.
- The parameters defined in the can be overridden by an node set on the current . Additionally, only one may be instanced in a given scene at a time.
- The allows the user to specify default lighting parameters (e.g. ambient lighting), various post-processing effects (e.g. SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, skybox). Usually, these are added in order to improve the realism/color balance of the scene.
-
-
-
-
- The resource used by this , defining the default properties.
-
-
-
-
- The X509Certificate class represents an X509 certificate. Certificates can be loaded and saved like any other .
- They can be used as the server certificate in (along with the proper ), and to specify the only certificate that should be accepted when connecting to an SSL server via .
- Note: Not available in HTML5 exports.
-
-
-
-
- Saves a certificate to the given path (should be a "*.crt" file).
-
-
-
-
- Loads a certificate from path ("*.crt" file).
-
-
-
-
- This class can serve as base to make custom XML parsers. Since XML is a very flexible standard, this interface is low-level so it can be applied to any possible schema.
-
-
-
-
- There's no node (no file or buffer opened).
-
-
-
-
- Element (tag).
-
-
-
-
- End of element.
-
-
-
-
- Text node.
-
-
-
-
- Comment node.
-
-
-
-
- CDATA content.
-
-
-
-
- Unknown node.
-
-
-
-
- Reads the next node of the file. This returns an error code.
-
-
-
-
- Gets the type of the current node. Compare with constants.
-
-
-
-
- Gets the name of the current element node. This will raise an error if the current node type is neither nor .
-
-
-
-
- Gets the contents of a text node. This will raise an error in any other type of node.
-
-
-
-
- Gets the byte offset of the current node since the beginning of the file or buffer.
-
-
-
-
- Gets the amount of attributes in the current element.
-
-
-
-
- Gets the name of the attribute specified by the index in idx argument.
-
-
-
-
- Gets the value of the attribute specified by the index in idx argument.
-
-
-
-
- Check whether the current element has a certain attribute.
-
-
-
-
- Gets the value of a certain attribute of the current element by name. This will raise an error if the element has no such attribute.
-
-
-
-
- Gets the value of a certain attribute of the current element by name. This will return an empty if the attribute is not found.
-
-
-
-
- Check whether the current element is empty (this only works for completely empty tags, e.g. <element \>).
-
-
-
-
- Gets the current line in the parsed file (currently not implemented).
-
-
-
-
- Skips the current section. If the node contains other elements, they will be ignored and the cursor will go to the closing of the current element.
-
-
-
-
- Moves the buffer cursor to a certain offset (since the beginning) and read the next node there. This returns an error code.
-
-
-
-
- Opens an XML file for parsing. This returns an error code.
-
-
-
-
- Opens an XML raw buffer for parsing. This returns an error code.
-
-
-
-
- Sort all child nodes based on their Y positions. The child node must inherit from for it to be sorted. Nodes that have a higher Y position will be drawn later, so they will appear on top of nodes that have a lower Y position.
- Nesting of YSort nodes is possible. Children YSort nodes will be sorted in the same space as the parent YSort, allowing to better organize a scene or divide it in multiple ones, yet keep the unique sorting.
-
-
-
-
- If true, child nodes are sorted, otherwise sorting is disabled.
-
-
-
-
- Provides access to metadata stored for every available class.
-
-
-
-
- Returns the names of all the classes available.
-
-
-
-
- Returns the names of all the classes that directly or indirectly inherit from class.
-
-
-
-
- Returns the parent class of class.
-
-
-
-
- Returns whether the specified class is available or not.
-
-
-
-
- Returns whether inherits is an ancestor of class or not.
-
-
-
-
- Returns true if you can instance objects from the specified class, false in other case.
-
-
-
-
- Creates an instance of class.
-
-
-
-
- Returns whether class or its ancestry has a signal called signal or not.
-
-
-
-
- Returns the signal data of class or its ancestry. The returned value is a with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
-
-
-
-
- Returns an array with all the signals of class or its ancestry if no_inheritance is false. Every element of the array is a as described in .
-
-
-
-
- Returns an array with all the properties of class or its ancestry if no_inheritance is false.
-
-
-
-
- Returns the value of property of class or its ancestry.
-
-
-
-
- Sets property value of class to value.
-
-
-
-
- Returns whether class (or its ancestry if no_inheritance is false) has a method called method or not.
-
-
-
-
- Returns an array with all the methods of class or its ancestry if no_inheritance is false. Every element of the array is a with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
-
-
-
-
- Returns an array with the names all the integer constants of class or its ancestry.
-
-
-
-
- Returns whether class or its ancestry has an integer constant called name or not.
-
-
-
-
- Returns the value of the integer constant name of class or its ancestry. Always returns 0 when the constant could not be found.
-
-
-
-
- Returns a category associated with the class for use in documentation and the Asset Library. Debug mode required.
-
-
-
-
- Returns whether this class is enabled or not.
-
-
-
-
- Directory type. It is used to manage directories and their content (not restricted to the project folder).
- When creating a new , its default opened directory will be res://. This may change in the future, so it is advised to always use to initialize your where you want to operate, with explicit error checking.
- Here is an example on how to iterate through the files of a directory:
-
- func dir_contents(path):
- var dir = Directory.new()
- if dir.open(path) == OK:
- dir.list_dir_begin()
- var file_name = dir.get_next()
- while file_name != "":
- if dir.current_is_dir():
- print("Found directory: " + file_name)
- else:
- print("Found file: " + file_name)
- file_name = dir.get_next()
- else:
- print("An error occurred when trying to access the path.")
-
-
-
-
-
- Opens an existing directory of the filesystem. The path argument can be within the project tree (res://folder), the user directory (user://folder) or an absolute path of the user filesystem (e.g. /tmp/folder or C:\tmp\folder).
- Returns one of the code constants (OK on success).
-
-
-
-
- Initializes the stream used to list all files and directories using the function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with .
- If skip_navigational is true, . and .. are filtered out.
- If skip_hidden is true, hidden files are filtered out.
-
-
-
-
- Returns the next element (file or directory) in the current directory (including . and .., unless skip_navigational was given to ).
- The name of the file or directory is returned (and not its full path). Once the stream has been fully processed, the method returns an empty String and closes the stream automatically (i.e. would not be mandatory in such a case).
-
-
-
-
- Returns whether the current item processed with the last call is a directory (. and .. are considered directories).
-
-
-
-
- Closes the current stream opened with (whether it has been fully processed with or not does not matter).
-
-
-
-
- On Windows, returns the number of drives (partitions) mounted on the current filesystem. On other platforms, the method returns 0.
-
-
-
-
- On Windows, returns the name of the drive (partition) passed as an argument (e.g. C:). On other platforms, or if the requested drive does not existed, the method returns an empty String.
-
-
-
-
- Returns the currently opened directory's drive index. See to convert returned index to the name of the drive.
-
-
-
-
- Changes the currently opened directory to the one passed as an argument. The argument can be relative to the current directory (e.g. newdir or ../newdir), or an absolute path (e.g. /tmp/newdir or res://somedir/newdir).
- Returns one of the code constants (OK on success).
-
-
-
-
- Returns the absolute path to the currently opened directory (e.g. res://folder or C:\tmp\folder).
-
-
-
-
- Creates a directory. The argument can be relative to the current directory, or an absolute path. The target directory should be placed in an already existing directory (to create the full path recursively, see ).
- Returns one of the code constants (OK on success).
-
-
-
-
- Creates a target directory and all necessary intermediate directories in its path, by calling recursively. The argument can be relative to the current directory, or an absolute path.
- Returns one of the code constants (OK on success).
-
-
-
-
- Returns whether the target file exists. The argument can be relative to the current directory, or an absolute path.
-
-
-
-
- Returns whether the target directory exists. The argument can be relative to the current directory, or an absolute path.
-
-
-
-
- On UNIX desktop systems, returns the available space on the current directory's disk. On other platforms, this information is not available and the method returns 0 or -1.
-
-
-
-
- Copies the from file to the to destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
- Returns one of the code constants (OK on success).
-
-
-
-
- Renames (move) the from file to the to destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
- Returns one of the code constants (OK on success).
-
-
-
-
- Deletes the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
- Returns one of the code constants (OK on success).
-
-
-
-
- The singleton allows you to query and modify the project's run-time parameters, such as frames per second, time scale, and others.
-
-
-
-
- If true, it is running inside the editor. Useful for tool scripts.
-
-
-
-
- The number of fixed iterations per second. This controls how often physics simulation and methods are run. This value should generally always be set to 60 or above, as Godot doesn't interpolate the physics step. As a result, values lower than 60 will look stuttery. This value can be increased to make input more reactive or work around tunneling issues, but keep in mind doing so will increase CPU usage.
-
-
-
-
- The desired frames per second. If the hardware cannot keep up, this setting may not be respected. A value of 0 means no limit.
-
-
-
-
- Controls how fast or slow the in-game clock ticks versus the real life one. It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, whilst a value of 0.5 means the game moves at half the regular speed.
-
-
-
-
- Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows to smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
-
-
-
-
- Returns the fraction through the current physics tick we are at the time of rendering the frame. This can be used to implement fixed timestep interpolation.
-
-
-
-
- Returns the total number of frames drawn. If the render loop is disabled with --disable-render-loop via command line, this returns 0. See also .
-
-
-
-
- Returns the frames per second of the running game.
-
-
-
-
- Returns the total number of frames passed since engine initialization which is advanced on each physics frame.
-
-
-
-
- Returns the total number of frames passed since engine initialization which is advanced on each idle frame, regardless of whether the render loop is enabled. See also .
-
-
-
-
- Returns the main loop object (see and ).
-
-
-
-
- Returns the current engine version information in a Dictionary.
- major - Holds the major version number as an int
- minor - Holds the minor version number as an int
- patch - Holds the patch version number as an int
- hex - Holds the full version number encoded as a hexadecimal int with one byte (2 places) per number (see example below)
- status - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
- build - Holds the build name (e.g. "custom_build") as a String
- hash - Holds the full Git commit hash as a String
- year - Holds the year the version was released in as an int
- string - major + minor + patch + status + build in a single String
- The hex value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, "3.1.12" would be 0x03010C. Note: It's still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code:
-
- if Engine.get_version_info().hex >= 0x030200:
- # Do things specific to version 3.2 or later
- else:
- # Do things specific to versions before 3.2
-
-
-
-
-
- Returns engine author information in a Dictionary.
- lead_developers - Array of Strings, lead developer names
- founders - Array of Strings, founder names
- project_managers - Array of Strings, project manager names
- developers - Array of Strings, developer names
-
-
-
-
- Returns an Array of copyright information Dictionaries.
- name - String, component name
- parts - Array of Dictionaries {files, copyright, license} describing subsections of the component
-
-
-
-
- Returns a Dictionary of Arrays of donor names.
- {platinum_sponsors, gold_sponsors, silver_sponsors, bronze_sponsors, mini_sponsors, gold_donors, silver_donors, bronze_donors}
-
-
-
-
- Returns Dictionary of licenses used by Godot and included third party components.
-
-
-
-
- Returns Godot license text.
-
-
-
-
- Returns true if the game is inside the fixed process and physics phase of the game loop.
-
-
-
-
- Returns true if a singleton with given name exists in global scope.
-
-
-
-
- Returns a global singleton with given name. Often used for plugins, e.g. GodotPayment on Android.
-
-
-
-
- File type. This is used to permanently store data into the user device's file system and to read from it. This can be used to store game save data or player configuration files, for example.
- Here's a sample on how to write and read from a file:
-
- func save(content):
- var file = File.new()
- file.open("user://save_game.dat", File.WRITE)
- file.store_string(content)
- file.close()
-
- func load():
- var file = File.new()
- file.open("user://save_game.dat", File.READ)
- var content = file.get_as_text()
- file.close()
- return content
-
- In the example above, the file will be saved in the user data folder as specified in the Data paths documentation.
-
-
-
-
- Uses the FastLZ compression method.
-
-
-
-
- Uses the DEFLATE compression method.
-
-
-
-
- Uses the Zstandard compression method.
-
-
-
-
- Uses the gzip compression method.
-
-
-
-
- Opens the file for read operations. The cursor is positioned at the beginning of the file.
-
-
-
-
- Opens the file for write operations. The file is created if it does not exist, and truncated if it does.
-
-
-
-
- Opens the file for read and write operations. Does not truncate the file. The cursor is positioned at the beginning of the file.
-
-
-
-
- Opens the file for read and write operations. The file is created if it does not exist, and truncated if it does. The cursor is positioned at the beginning of the file.
-
-
-
-
- If true, the file's endianness is swapped. Use this if you're dealing with files written on big-endian machines.
- Note: This is about the file format, not CPU type. This is always reset to false whenever you open the file.
-
-
-
-
- Opens an encrypted file in write or read mode. You need to pass a binary key to encrypt/decrypt it.
- Note: The provided key must be 32 bytes long.
-
-
-
-
- Opens an encrypted file in write or read mode. You need to pass a password to encrypt/decrypt it.
-
-
-
-
- Opens a compressed file for reading or writing.
-
-
-
-
- Opens the file for writing or reading, depending on the flags.
-
-
-
-
- Closes the currently opened file.
-
-
-
-
- Returns the path as a for the current open file.
-
-
-
-
- Returns the absolute path as a for the current open file.
-
-
-
-
- Returns true if the file is currently opened.
-
-
-
-
- Changes the file reading/writing cursor to the specified position (in bytes from the beginning of the file).
-
-
-
-
- Changes the file reading/writing cursor to the specified position (in bytes from the end of the file).
- Note: This is an offset, so you should use negative numbers or the cursor will be at the end of the file.
-
-
-
-
- Returns the file cursor's position.
-
-
-
-
- Returns the size of the file in bytes.
-
-
-
-
- Returns true if the file cursor has read past the end of the file.
- Note: This function will still return false while at the end of the file and only activates when reading past it. This can be confusing but it conforms to how low-level file access works in all operating systems. There is always and to implement a custom logic.
-
-
-
-
- Returns the next 8 bits from the file as an integer. See for details on what values can be stored and retrieved this way.
-
-
-
-
- Returns the next 16 bits from the file as an integer. See for details on what values can be stored and retrieved this way.
-
-
-
-
- Returns the next 32 bits from the file as an integer. See for details on what values can be stored and retrieved this way.
-
-
-
-
- Returns the next 64 bits from the file as an integer. See for details on what values can be stored and retrieved this way.
-
-
-
-
- Returns the next 32 bits from the file as a floating-point number.
-
-
-
-
- Returns the next 64 bits from the file as a floating-point number.
-
-
-
-
- Returns the next bits from the file as a floating-point number.
-
-
-
-
- Returns next len bytes of the file as a .
-
-
-
-
- Returns the next line of the file as a .
- Text is interpreted as being UTF-8 encoded.
-
-
-
-
- Returns the next value of the file in CSV (Comma-Separated Values) format. You can pass a different delimiter delim to use other than the default "," (comma). This delimiter must be one-character long.
- Text is interpreted as being UTF-8 encoded.
-
-
-
-
- Returns the whole file as a .
- Text is interpreted as being UTF-8 encoded.
-
-
-
-
- Returns an MD5 String representing the file at the given path or an empty on failure.
-
-
-
-
- Returns a SHA-256 representing the file at the given path or an empty on failure.
-
-
-
-
- Returns the last error that happened when trying to perform operations. Compare with the ERR_FILE_* constants from .
-
-
-
-
- Returns the next Variant value from the file. If allow_objects is true, decoding objects is allowed.
- Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
-
-
-
-
- Stores an integer as 8 bits in the file.
- Note: The value should lie in the interval [0, 255]. Any other value will overflow and wrap around.
- To store a signed integer, use , or convert it manually (see for an example).
-
-
-
-
- Stores an integer as 16 bits in the file.
- Note: The value should lie in the interval [0, 2^16 - 1]. Any other value will overflow and wrap around.
- To store a signed integer, use or store a signed integer from the interval [-2^15, 2^15 - 1] (i.e. keeping one bit for the signedness) and compute its sign manually when reading. For example:
-
- const MAX_15B = 1 << 15
- const MAX_16B = 1 << 16
-
- func unsigned16_to_signed(unsigned):
- return (unsigned + MAX_15B) % MAX_16B - MAX_15B
-
- func _ready():
- var f = File.new()
- f.open("user://file.dat", File.WRITE_READ)
- f.store_16(-42) # This wraps around and stores 65494 (2^16 - 42).
- f.store_16(121) # In bounds, will store 121.
- f.seek(0) # Go back to start to read the stored value.
- var read1 = f.get_16() # 65494
- var read2 = f.get_16() # 121
- var converted1 = unsigned16_to_signed(read1) # -42
- var converted2 = unsigned16_to_signed(read2) # 121
-
-
-
-
-
- Stores an integer as 32 bits in the file.
- Note: The value should lie in the interval [0, 2^32 - 1]. Any other value will overflow and wrap around.
- To store a signed integer, use , or convert it manually (see for an example).
-
-
-
-
- Stores an integer as 64 bits in the file.
- Note: The value must lie in the interval [-2^63, 2^63 - 1] (i.e. be a valid value).
-
-
-
-
- Stores a floating-point number as 32 bits in the file.
-
-
-
-
- Stores a floating-point number as 64 bits in the file.
-
-
-
-
- Stores a floating-point number in the file.
-
-
-
-
- Stores the given array of bytes in the file.
-
-
-
-
- Stores the given as a line in the file.
- Text will be encoded as UTF-8.
-
-
-
-
- Store the given in the file as a line formatted in the CSV (Comma-Separated Values) format. You can pass a different delimiter delim to use other than the default "," (comma). This delimiter must be one-character long.
- Text will be encoded as UTF-8.
-
-
-
-
- Stores the given in the file.
- Text will be encoded as UTF-8.
-
-
-
-
- Stores any Variant value in the file. If full_objects is true, encoding objects is allowed (and can potentially include code).
-
-
-
-
- Stores the given as a line in the file in Pascal format (i.e. also store the length of the string).
- Text will be encoded as UTF-8.
-
-
-
-
- Returns a saved in Pascal format from the file.
- Text is interpreted as being UTF-8 encoded.
-
-
-
-
- Returns true if the file exists in the given path.
- Note: Many resources types are imported (e.g. textures or sound files), and that their source asset will not be included in the exported game, as only the imported version is used (in the res://.import folder). To check for the existence of such resources while taking into account the remapping to their imported location, use . Typically, using File.file_exists on an imported resource would work while you are developing in the editor (the source asset is present in res://, but fail when exported).
-
-
-
-
- Returns the last time the file was modified in unix timestamp format or returns a "ERROR IN file". This unix timestamp can be converted to datetime by using .
-
-
-
-
- Geometry provides users with a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations.
-
-
-
-
- Endpoints are joined using the value and the path filled as a polygon.
-
-
-
-
- Endpoints are joined using the value and the path filled as a polyline.
-
-
-
-
- Endpoints are squared off with no extension.
-
-
-
-
- Endpoints are squared off and extended by delta units.
-
-
-
-
- Endpoints are rounded off and extended by delta units.
-
-
-
-
- Create regions where either subject or clip polygons (or both) are filled.
-
-
-
-
- Create regions where subject polygons are filled except where clip polygons are filled.
-
-
-
-
- Create regions where both subject and clip polygons are filled.
-
-
-
-
- Create regions where either subject or clip polygons are filled but not where both are filled.
-
-
-
-
- Squaring is applied uniformally at all convex edge joins at 1 * delta.
-
-
-
-
- While flattened paths can never perfectly trace an arc, they are approximated by a series of arc chords.
-
-
-
-
- There's a necessary limit to mitered joins since offsetting edges that join at very acute angles will produce excessively long and narrow "spikes". For any given edge join, when miter offsetting would exceed that maximum distance, "square" joining is applied.
-
-
-
-
- Returns an array with 6 s that describe the sides of a box centered at the origin. The box size is defined by extents, which represents one (positive) corner of the box (i.e. half its actual size).
-
-
-
-
- Returns an array of s closely bounding a faceted cylinder centered at the origin with radius radius and height height. The parameter sides defines how many planes will be generated for the round part of the cylinder. The parameter axis describes the axis along which the cylinder is oriented (0 for X, 1 for Y, 2 for Z).
-
-
-
-
- Returns an array of s closely bounding a faceted capsule centered at the origin with radius radius and height height. The parameter sides defines how many planes will be generated for the side part of the capsule, whereas lats gives the number of latitudinal steps at the bottom and top of the capsule. The parameter axis describes the axis along which the capsule is oriented (0 for X, 1 for Y, 2 for Z).
-
-
-
-
- Returns true if point is inside the circle or if it's located exactly on the circle's boundary, otherwise returns false.
-
-
-
-
- Given the 2D segment (segment_from, segment_to), returns the position on the segment (as a number between 0 and 1) at which the segment hits the circle that is located at position circle_position and has radius circle_radius. If the segment does not intersect the circle, -1 is returned (this is also the case if the line extending the segment would intersect the circle, but the segment does not).
-
-
-
-
- Checks if the two segments (from_a, to_a) and (from_b, to_b) intersect. If yes, return the point of intersection as . If no intersection takes place, returns an empty Variant.
-
-
-
-
- Checks if the two lines (from_a, dir_a) and (from_b, dir_b) intersect. If yes, return the point of intersection as . If no intersection takes place, returns an empty Variant.
- Note: The lines are specified using direction vectors, not end points.
-
-
-
-
- Given the two 2D segments (p1, p2) and (q1, q2), finds those two points on the two segments that are closest to each other. Returns a that contains this point on (p1, p2) as well the accompanying point on (q1, q2).
-
-
-
-
- Given the two 3D segments (p1, p2) and (q1, q2), finds those two points on the two segments that are closest to each other. Returns a that contains this point on (p1, p2) as well the accompanying point on (q1, q2).
-
-
-
-
- Returns the 2D point on the 2D segment (s1, s2) that is closest to point. The returned point will always be inside the specified segment.
-
-
-
-
- Returns the 3D point on the 3D segment (s1, s2) that is closest to point. The returned point will always be inside the specified segment.
-
-
-
-
- Returns the 2D point on the 2D line defined by (s1, s2) that is closest to point. The returned point can be inside the segment (s1, s2) or outside of it, i.e. somewhere on the line extending from the segment.
-
-
-
-
- Returns the 3D point on the 3D line defined by (s1, s2) that is closest to point. The returned point can be inside the segment (s1, s2) or outside of it, i.e. somewhere on the line extending from the segment.
-
-
-
-
- Used internally by the engine.
-
-
-
-
- Tests if the 3D ray starting at from with the direction of dir intersects the triangle specified by a, b and c. If yes, returns the point of intersection as . If no intersection takes place, an empty Variant is returned.
-
-
-
-
- Tests if the segment (from, to) intersects the triangle a, b, c. If yes, returns the point of intersection as . If no intersection takes place, an empty Variant is returned.
-
-
-
-
- Checks if the segment (from, to) intersects the sphere that is located at sphere_position and has radius sphere_radius. If no, returns an empty . If yes, returns a containing the point of intersection and the sphere's normal at the point of intersection.
-
-
-
-
- Checks if the segment (from, to) intersects the cylinder with height height that is centered at the origin and has radius radius. If no, returns an empty . If an intersection takes place, the returned array contains the point of intersection and the cylinder's normal at the point of intersection.
-
-
-
-
- Given a convex hull defined though the s in the array planes, tests if the segment (from, to) intersects with that hull. If an intersection is found, returns a containing the point the intersection and the hull's normal. If no intersecion is found, an the returned array is empty.
-
-
-
-
- Returns if point is inside the triangle specified by a, b and c.
-
-
-
-
- Returns true if polygon's vertices are ordered in clockwise order, otherwise returns false.
-
-
-
-
- Returns true if point is inside polygon or if it's located exactly on polygon's boundary, otherwise returns false.
-
-
-
-
- Triangulates the polygon specified by the points in polygon. Returns a where each triangle consists of three consecutive point indices into polygon (i.e. the returned array will have n * 3 elements, with n being the number of found triangles). If the triangulation did not succeed, an empty is returned.
-
-
-
-
- Triangulates the area specified by discrete set of points such that no point is inside the circumcircle of any resulting triangle. Returns a where each triangle consists of three consecutive point indices into points (i.e. the returned array will have n * 3 elements, with n being the number of found triangles). If the triangulation did not succeed, an empty is returned.
-
-
-
-
- Given an array of s, returns the convex hull as a list of points in counterclockwise order. The last point is the same as the first one.
-
-
-
-
- Clips the polygon defined by the points in points against the plane and returns the points of the clipped polygon.
-
-
-
-
- Merges (combines) polygon_a and polygon_b and returns an array of merged polygons. This performs between polygons.
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling .
-
-
-
-
- Clips polygon_a against polygon_b and returns an array of clipped polygons. This performs between polygons. Returns an empty array if polygon_b completely overlaps polygon_a.
- If polygon_b is enclosed by polygon_a, returns an outer polygon (boundary) and inner polygon (hole) which could be distiguished by calling .
-
-
-
-
- Intersects polygon_a with polygon_b and returns an array of intersected polygons. This performs between polygons. In other words, returns common area shared by polygons. Returns an empty array if no intersection occurs.
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling .
-
-
-
-
- Mutually excludes common area defined by intersection of polygon_a and polygon_b (see ) and returns an array of excluded polygons. This performs between polygons. In other words, returns all but common area between polygons.
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling .
-
-
-
-
- Clips polyline against polygon and returns an array of clipped polylines. This performs between the polyline and the polygon. This operation can be thought of as cutting a line with a closed shape.
-
-
-
-
- Intersects polyline with polygon and returns an array of intersected polylines. This performs between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape.
-
-
-
-
- Inflates or deflates polygon by delta units (pixels). If delta is positive, makes the polygon grow outward. If delta is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if delta is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon.
- Each polygon's vertices will be rounded as determined by join_type, see .
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling .
- Note: To translate the polygon's vertices specifically, use the Transform2D.xform method:
-
- var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)])
- var offset = Vector2(50, 50)
- polygon = Transform2D(0, offset).xform(polygon)
- print(polygon) # prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)]
-
-
-
-
-
- Inflates or deflates polyline by delta units (pixels), producing polygons. If delta is positive, makes the polyline grow outward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. If delta is negative, returns an empty array.
- Each polygon's vertices will be rounded as determined by join_type, see .
- Each polygon's endpoints will be rounded as determined by end_type, see .
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling .
-
-
-
-
- Given an array of s representing tiles, builds an atlas. The returned dictionary has two keys: points is a vector of that specifies the positions of each tile, size contains the overall size of the whole atlas as .
-
-
-
-
- This class is a bridge between Godot and the Mono runtime. It exposes several low-level operations and is only available in Mono-enabled Godot builds.
- See also .
-
-
-
-
- Attaches the current thread to the Mono runtime.
-
-
-
-
- Detaches the current thread from the Mono runtime.
-
-
-
-
- Returns the current MonoDomain ID.
- Note: The Mono runtime must be initialized for this method to work (use to check). If the Mono runtime isn't initialized at the time this method is called, the engine will crash.
-
-
-
-
- Returns the scripts MonoDomain's ID. This will be the same MonoDomain ID as , unless the scripts domain isn't loaded.
- Note: The Mono runtime must be initialized for this method to work (use to check). If the Mono runtime isn't initialized at the time this method is called, the engine will crash.
-
-
-
-
- Returns true if the scripts domain is loaded, false otherwise.
-
-
-
-
- Returns true if the domain is being finalized, false otherwise.
-
-
-
-
- Returns true if the Mono runtime is shutting down, false otherwise.
-
-
-
-
- Returns true if the Mono runtime is initialized, false otherwise.
-
-
-
-
- Helper class for parsing JSON data. For usage example and other important hints, see .
-
-
-
-
- Converts a Variant var to JSON text and returns the result. Useful for serializing data to store or send over the network.
- Note: The JSON specification does not define integer or float types, but only a number type. Therefore, converting a Variant to JSON text will convert all numerical values to types.
- Use indent parameter to pretty print the output.
- Example output:
-
- ## JSON.print(my_dictionary)
- {"name":"my_dictionary","version":"1.0.0","entities":[{"name":"entity_0","value":"value_0"},{"name":"entity_1","value":"value_1"}]}
-
- ## JSON.print(my_dictionary, "\t")
- {
- "name": "my_dictionary",
- "version": "1.0.0",
- "entities": [
- {
- "name": "entity_0",
- "value": "value_0"
- },
- {
- "name": "entity_1",
- "value": "value_1"
- }
- ]
- }
-
-
-
-
-
- Parses a JSON-encoded string and returns a containing the result.
-
-
-
-
- Provides data transformation and encoding utility functions.
-
-
-
-
- Returns a Base64-encoded string of the Variant variant. If full_objects is true, encoding objects is allowed (and can potentially include code).
-
-
-
-
- Returns a decoded Variant corresponding to the Base64-encoded string base64_str. If allow_objects is true, decoding objects is allowed.
- Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
-
-
-
-
- Returns a Base64-encoded string of a given .
-
-
-
-
- Returns a decoded corresponding to the Base64-encoded string base64_str.
-
-
-
-
- Returns a Base64-encoded string of the UTF-8 string utf8_str.
-
-
-
-
- Returns a decoded string corresponding to the Base64-encoded string base64_str.
-
-
-
-
- A synchronization mutex (mutual exclusion). This is used to synchronize multiple s, and is equivalent to a binary . It guarantees that only one thread can ever acquire the lock at a time. A mutex can be used to protect a critical section; however, be careful to avoid deadlocks.
-
-
-
-
- Locks this , blocks until it is unlocked by the current owner.
-
-
-
-
- Tries locking this , but does not block. Returns on success, otherwise.
-
-
-
-
- Unlocks this , leaving it to other threads.
-
-
-
-
- Operating System functions. OS wraps the most common functionality to communicate with the host operating system, such as the clipboard, video driver, date and time, timers, environment variables, execution of binaries, command line, etc.
-
-
-
-
- The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL 2.1 on desktop platforms and WebGL 1.0 on the web.
-
-
-
-
- The GLES3 rendering backend. It uses OpenGL ES 3.0 on mobile devices, OpenGL 3.3 on desktop platforms and WebGL 2.0 on the web.
-
-
-
-
- Desktop directory path.
-
-
-
-
- DCIM (Digital Camera Images) directory path.
-
-
-
-
- Documents directory path.
-
-
-
-
- Downloads directory path.
-
-
-
-
- Movies directory path.
-
-
-
-
- Music directory path.
-
-
-
-
- Pictures directory path.
-
-
-
-
- Ringtones directory path.
-
-
-
-
- Landscape screen orientation.
-
-
-
-
- Portrait screen orientation.
-
-
-
-
- Reverse landscape screen orientation.
-
-
-
-
- Reverse portrait screen orientation.
-
-
-
-
- Uses landscape or reverse landscape based on the hardware sensor.
-
-
-
-
- Uses portrait or reverse portrait based on the hardware sensor.
-
-
-
-
- Uses most suitable orientation based on the hardware sensor.
-
-
-
-
- Unknown powerstate.
-
-
-
-
- Unplugged, running on battery.
-
-
-
-
- Plugged in, no battery available.
-
-
-
-
- Plugged in, battery charging.
-
-
-
-
- Plugged in, battery fully charged.
-
-
-
-
- January.
-
-
-
-
- February.
-
-
-
-
- March.
-
-
-
-
- April.
-
-
-
-
- May.
-
-
-
-
- June.
-
-
-
-
- July.
-
-
-
-
- August.
-
-
-
-
- September.
-
-
-
-
- October.
-
-
-
-
- November.
-
-
-
-
- December.
-
-
-
-
- Sunday.
-
-
-
-
- Monday.
-
-
-
-
- Tuesday.
-
-
-
-
- Wednesday.
-
-
-
-
- Thursday.
-
-
-
-
- Friday.
-
-
-
-
- Saturday.
-
-
-
-
- The current tablet drvier in use.
-
-
-
-
- The clipboard from the host OS. Might be unavailable on some platforms.
-
-
-
-
- The current screen index (starting from 0).
-
-
-
-
- The exit code passed to the OS when the main loop exits. By convention, an exit code of 0 indicates success whereas a non-zero exit code indicates an error. For portability reasons, the exit code should be set between 0 and 125 (inclusive).
- Note: This value will be ignored if using with an exit_code argument passed.
-
-
-
-
- If true, vertical synchronization (Vsync) is enabled.
-
-
-
-
- If true and vsync_enabled is true, the operating system's window compositor will be used for vsync when the compositor is enabled and the game is in windowed mode.
- Note: This option is experimental and meant to alleviate stutter experienced by some users. However, some users have experienced a Vsync framerate halving (e.g. from 60 FPS to 30 FPS) when using it.
- Note: This property is only implemented on Windows.
-
-
-
-
- If true, the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile.
-
-
-
-
- The amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU usage.
-
-
-
-
- If true, the engine tries to keep the screen on while the game is running. Useful on mobile.
-
-
-
-
- The minimum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to (0, 0) to reset to the system default value.
-
-
-
-
- The maximum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to (0, 0) to reset to the system default value.
-
-
-
-
- The current screen orientation.
-
-
-
-
- If true, removes the window frame.
- Note: Setting window_borderless to false disables per-pixel transparency.
-
-
-
-
- If true, the window background is transparent and window frame is removed.
- Use get_tree().get_root().set_transparent_background(true) to disable main viewport background rendering.
- Note: This property has no effect if Project > Project Settings > Display > Window > Per-pixel transparency > Allowed setting is disabled.
- Note: This property is implemented on HTML5, Linux, macOS and Windows.
-
-
-
-
- If true, the window is fullscreen.
-
-
-
-
- If true, the window is maximized.
-
-
-
-
- If true, the window is minimized.
-
-
-
-
- If true, the window is resizable by the user.
-
-
-
-
- The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right.
-
-
-
-
- The size of the window (without counting window manager decorations).
-
-
-
-
- Add a new item with text "label" to global menu. Use "_dock" menu to add item to the macOS dock icon menu.
- Note: This method is implemented on macOS.
-
-
-
-
- Add a separator between items. Separators also occupy an index.
- Note: This method is implemented on macOS.
-
-
-
-
- Removes the item at index "idx" from the global menu. Note that the indexes of items after the removed item are going to be shifted by one.
- Note: This method is implemented on macOS.
-
-
-
-
- Clear the global menu, in effect removing all items.
- Note: This method is implemented on macOS.
-
-
-
-
- Returns the number of video drivers supported on the current platform.
-
-
-
-
- Returns the name of the video driver matching the given driver index. This index is a value from , and you can use to get the current backend's index.
-
-
-
-
- Returns the currently used video driver, using one of the values from .
-
-
-
-
- Returns the total number of available audio drivers.
-
-
-
-
- Returns the audio driver name for the given index.
-
-
-
-
- Returns an array of MIDI device names.
- The returned array will be empty if the system MIDI driver has not previously been initialised with .
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Initialises the singleton for the system MIDI driver.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Shuts down system MIDI driver.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns the number of displays attached to the host machine.
-
-
-
-
- Returns the position of the specified screen by index. If screen is [/code]-1[/code] (the default value), the current screen will be used.
-
-
-
-
- Returns the dimensions in pixels of the specified screen. If screen is [/code]-1[/code] (the default value), the current screen will be used.
-
-
-
-
- Returns the dots per inch density of the specified screen. If screen is [/code]-1[/code] (the default value), the current screen will be used.
- On Android devices, the actual screen densities are grouped into six generalized densities:
-
- ldpi - 120 dpi
- mdpi - 160 dpi
- hdpi - 240 dpi
- xhdpi - 320 dpi
- xxhdpi - 480 dpi
- xxxhdpi - 640 dpi
-
- Note: This method is implemented on Android, Linux, macOS and Windows. Returns 72 on unsupported platforms.
-
-
-
-
- Return the scale factor of the specified screen by index. If screen is [/code]-1[/code] (the default value), the current screen will be used.
- Note: On macOS returned value is 2.0 for hiDPI (Retina) screen, and 1.0 for all other cases.
- Note: This method is implemented on macOS.
-
-
-
-
- Return the greatest scale factor of all screens.
- Note: On macOS returned value is 2.0 if there is at least one hiDPI (Retina) screen in the system, and 1.0 in all other cases.
- Note: This method is implemented on macOS.
-
-
-
-
- Returns unobscured area of the window where interactive controls should be rendered.
-
-
-
-
- Sets whether the window should always be on top.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns true if the window should always be on top of other windows.
-
-
-
-
- Returns true if the window is currently focused.
- Note: Only implemented on desktop platforms. On other platforms, it will always return true.
-
-
-
-
- Request the user attention to the window. It'll flash the taskbar button on Windows or bounce the dock icon on OSX.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns the window size including decorations like window borders.
-
-
-
-
- Centers the window on the screen if in windowed mode.
-
-
-
-
- Moves the window to the front.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Sets whether IME input mode should be enabled.
- If active IME handles key events before the application and creates an composition string and suggestion list.
- Application can retrieve the composition status by using and functions.
- Completed composition string is committed when input is finished.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Sets position of IME suggestion list popup (in window coordinates).
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns the IME cursor position (the currently-edited portion of the string) relative to the characters in the composition string.
- is sent to the application to notify it of changes to the IME cursor position.
- Note: This method is implemented on macOS.
-
-
-
-
- Returns the IME intermediate composition string.
- is sent to the application to notify it of changes to the IME composition string.
- Note: This method is implemented on macOS.
-
-
-
-
- Returns true if the device has a touchscreen or emulates one.
-
-
-
-
- Sets the window title to the specified string.
- Note: This should be used sporadically. Don't set this every frame, as that will negatively affect performance on some window managers.
- Note: This method is implemented on HTML5, Linux, macOS and Windows.
-
-
-
-
- Returns the number of threads available on the host machine.
-
-
-
-
- Returns the path to the current engine executable.
-
-
-
-
- Execute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable.
- The arguments are used in the given order and separated by a space, so OS.execute("ping", ["-w", "3", "godotengine.org"], false) will resolve to ping -w 3 godotengine.org in the system's shell.
- This method has slightly different behavior based on whether the blocking mode is enabled.
- If blocking is true, the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the output array as a single string. When the process terminates, the Godot thread will resume execution.
- If blocking is false, the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so output will be empty.
- The return value also depends on the blocking mode. When blocking, the method will return an exit code of the process. When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with ). If the process forking (non-blocking) or opening (blocking) fails, the method will return -1 or another exit code.
- Example of blocking mode and retrieving the shell output:
-
- var output = []
- var exit_code = OS.execute("ls", ["-l", "/tmp"], true, output)
-
- Example of non-blocking mode, running another instance of the project and storing its process ID:
-
- var pid = OS.execute(OS.get_executable_path(), [], false)
-
- If you wish to access a shell built-in or perform a composite command, a platform-specific shell can be invoked. For example:
-
- OS.execute("CMD.exe", ["/C", "cd %TEMP% && dir"], true, output)
-
- Note: This method is implemented on Android, iOS, Linux, macOS and Windows.
-
- If the parameter is null, then the default value is new Godot.Collections.Array {}
-
-
-
- Kill (terminate) the process identified by the given process ID (pid), e.g. the one returned by in non-blocking mode.
- Note: This method can also be used to kill processes that were not spawned by the game.
- Note: This method is implemented on Android, iOS, Linux, macOS and Windows.
-
-
-
-
- Requests the OS to open a resource with the most appropriate program. For example:
- - OS.shell_open("C:\\Users\name\Downloads") on Windows opens the file explorer at the user's Downloads folder.
- - OS.shell_open("https://godotengine.org") opens the default web browser on the official Godot website.
- - OS.shell_open("mailto:example@example.com") opens the default email client with the "To" field set to example@example.com. See Customizing mailto: Links for a list of fields that can be added.
- Use to convert a res:// or user:// path into a system path for use with this method.
- Note: This method is implemented on Android, iOS, HTML5, Linux, macOS and Windows.
-
-
-
-
- Returns the project's process ID.
- Note: This method is implemented on Android, iOS, Linux, macOS and Windows.
-
-
-
-
- Returns an environment variable.
-
-
-
-
- Returns true if an environment variable exists.
-
-
-
-
- Returns the name of the host OS. Possible values are: "Android", "iOS", "HTML5", "OSX", "Server", "Windows", "UWP", "X11".
-
-
-
-
- Returns the command-line arguments passed to the engine.
- Command-line arguments can be written in any form, including both --key value and --key=value forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.
- You can also incorporate environment variables using the method.
- You can set editor/main_run_args in the Project Settings to define command-line arguments to be passed by the editor when running the project.
- Here's a minimal example on how to parse command-line arguments into a dictionary using the --key=value form for arguments:
-
- var arguments = {}
- for argument in OS.get_cmdline_args():
- if argument.find("=") > -1:
- var key_value = argument.split("=")
- arguments[key_value[0].lstrip("--")] = key_value[1]
-
-
-
-
-
- Returns current datetime as a dictionary of keys: year, month, day, weekday, dst (Daylight Savings Time), hour, minute, second.
-
-
-
-
- Returns current date as a dictionary of keys: year, month, day, weekday, dst (Daylight Savings Time).
-
-
-
-
- Returns current time as a dictionary of keys: hour, minute, second.
-
-
-
-
- Returns the current time zone as a dictionary with the keys: bias and name.
-
-
-
-
- Returns the current UNIX epoch timestamp.
-
-
-
-
- Gets a dictionary of time values corresponding to the given UNIX epoch time (in seconds).
- The returned Dictionary's values will be the same as , with the exception of Daylight Savings Time as it cannot be determined from the epoch.
-
-
-
-
- Gets an epoch time value from a dictionary of time values.
- datetime must be populated with the following keys: year, month, day, hour, minute, second.
- You can pass the output from directly into this function. Daylight Savings Time (dst), if present, is ignored.
-
-
-
-
- Returns the epoch time of the operating system in seconds.
-
-
-
-
- Returns the epoch time of the operating system in milliseconds.
-
-
-
-
- Sets the game's icon using a multi-size platform-specific icon file (*.ico on Windows and *.icns on macOS).
- Appropriate size sub-icons are used for window caption, taskbar/dock and window selection dialog.
- Note: This method is implemented on macOS and Windows.
-
-
-
-
- Sets the game's icon using an resource.
- The same image is used for window caption, taskbar/dock and window selection dialog. Image is scaled as needed.
- Note: This method is implemented on HTML5, Linux, macOS and Windows.
-
-
-
-
- Delay execution of the current thread by usec microseconds.
-
-
-
-
- Delay execution of the current thread by msec milliseconds.
-
-
-
-
- Returns the amount of time passed in milliseconds since the engine started.
-
-
-
-
- Returns the amount of time passed in microseconds since the engine started.
-
-
-
-
- Returns the amount of time in milliseconds it took for the boot logo to appear.
-
-
-
-
- Returns the host OS locale.
-
-
-
-
- Returns the current latin keyboard variant as a String.
- Possible return values are: "QWERTY", "AZERTY", "QZERTY", "DVORAK", "NEO", "COLEMAK" or "ERROR".
- Note: This method is implemented on Linux, macOS and Windows. Returns "QWERTY" on unsupported platforms.
-
-
-
-
- Returns the model name of the current device.
- Note: This method is implemented on Android and iOS. Returns "GenericDevice" on unsupported platforms.
-
-
-
-
- Returns the number of keyboard layouts.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns active keyboard layout index.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Sets active keyboard layout.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns the ISO-639/BCP-47 language code of the keyboard layout at position index.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns the localized name of the keyboard layout at position index.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns true if the host OS allows drawing.
-
-
-
-
- If true, the user:// file system is persistent, so that its state is the same after a player quits and starts the game again. Relevant to the HTML5 platform, where this persistence may be unavailable.
-
-
-
-
- Returns true if the engine was executed with -v (verbose stdout).
-
-
-
-
- Returns true if the current host platform is using multiple threads.
-
-
-
-
- Returns true if the Godot binary used to run the project is a debug export template, or when running in the editor.
- Returns false if the Godot binary used to run the project is a release export template.
- To check whether the Godot binary used to run the project is an export template (debug or release), use OS.has_feature("standalone") instead.
-
-
-
-
- Dumps the memory allocation ringlist to a file (only works in debug).
- Entry format per line: "Address - Size - Description".
-
-
-
-
- Dumps all used resources to file (only works in debug).
- Entry format per line: "Resource Type : Resource Location".
- At the end of the file is a statistic of all used Resource Types.
-
-
-
-
- Returns true if the platform has a virtual keyboard, false otherwise.
-
-
-
-
- Shows the virtual keyboard if the platform has one.
- The existing_text parameter is useful for implementing your own or , as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).
- The multiline parameter needs to be set to true to be able to enter multiple lines of text, as in .
- Note: This method is implemented on Android, iOS and UWP.
-
-
-
-
- Hides the virtual keyboard if it is shown, does nothing otherwise.
-
-
-
-
- Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or if it is currently hidden.
-
-
-
-
- Shows all resources currently used by the game.
-
-
-
-
- Shows all resources in the game. Optionally, the list can be written to a file by specifying a file path in tofile.
-
-
-
-
- Returns the amount of static memory being used by the program in bytes.
-
-
-
-
- Returns the maximum amount of static memory used (only works in debug).
-
-
-
-
- Returns the total amount of dynamic memory used (only works in debug).
-
-
-
-
- Returns the absolute directory path where user data is written (user://).
- On Linux, this is ~/.local/share/godot/app_userdata/[project_name], or ~/.local/share/[custom_name] if use_custom_user_dir is set.
- On macOS, this is ~/Library/Application Support/Godot/app_userdata/[project_name], or ~/Library/Application Support/[custom_name] if use_custom_user_dir is set.
- On Windows, this is %APPDATA%\Godot\app_userdata\[project_name], or %APPDATA%\[custom_name] if use_custom_user_dir is set. %APPDATA% expands to %USERPROFILE%\AppData\Roaming.
- If the project name is empty, user:// falls back to res://.
-
-
-
-
- Returns the actual path to commonly used folders across different platforms. Available locations are specified in .
- Note: This method is implemented on Android, Linux, macOS and Windows.
-
-
-
-
- Returns a string that is unique to the device.
- Note: Returns an empty string on HTML5 and UWP, as this method isn't implemented on those platforms yet.
-
-
-
-
- Returns true if the OK button should appear on the left and Cancel on the right.
-
-
-
-
- Shows the list of loaded textures sorted by size in memory.
-
-
-
-
- Shows the number of resources loaded by the game of the given types.
-
-
-
-
- Plays native video from the specified path, at the given volume and with audio and subtitle tracks.
- Note: This method is implemented on Android and iOS, and the current Android implementation does not support the volume, audio_track and subtitle_track options.
-
-
-
-
- Returns true if native video is playing.
- Note: This method is implemented on Android and iOS.
-
-
-
-
- Stops native video playback.
- Note: This method is implemented on Android and iOS.
-
-
-
-
- Pauses native video playback.
- Note: This method is implemented on Android and iOS.
-
-
-
-
- Resumes native video playback.
- Note: This method is implemented on Android and iOS.
-
-
-
-
- Returns the given scancode as a string (e.g. Return values: "Escape", "Shift+Escape").
- See also and .
-
-
-
-
- Returns true if the input scancode corresponds to a Unicode character.
-
-
-
-
- Returns the scancode of the given string (e.g. "Escape").
-
-
-
-
- Enables backup saves if enabled is true.
-
-
-
-
- Displays a modal dialog box using the host OS' facilities. Execution is blocked until the dialog is closed.
-
-
-
-
- Sets the name of the current thread.
-
-
-
-
- Returns true if the feature for the given feature tag is supported in the currently running instance, depending on platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. Refer to the Feature Tags documentation for more details.
- Note: Tag names are case-sensitive.
-
-
-
-
- Returns the current state of the device regarding battery and power. See constants.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns an estimate of the time left in seconds before the device runs out of battery. Returns -1 if power state is unknown.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- Returns the amount of battery left in the device as a percentage. Returns -1 if power state is unknown.
- Note: This method is implemented on Linux, macOS and Windows.
-
-
-
-
- At the moment this function is only used by AudioDriverOpenSL to request permission for RECORD_AUDIO on Android.
-
-
-
-
- With this function you can request dangerous permissions since normal permissions are automatically granted at install time in Android application.
- Note: This method is implemented on Android.
-
-
-
-
- With this function you can get the list of dangerous permissions that have been granted to the Android application.
- Note: This method is implemented on Android.
-
-
-
-
- Returns the total number of available tablet drivers.
- Note: This method is implemented on Windows.
-
-
-
-
- Returns the tablet driver name for the given index.
- Note: This method is implemented on Windows.
-
-
-
-
- Singleton for saving Godot-specific resource types to the filesystem.
- It uses the many classes registered in the engine (either built-in or from a plugin) to save engine-specific resource data to text-based (e.g. .tres or .tscn) or binary files (e.g. .res or .scn).
-
-
-
-
- Save the resource with a path relative to the scene which uses it.
-
-
-
-
- Bundles external resources.
-
-
-
-
- Changes the of the saved resource to match its new location.
-
-
-
-
- Do not save editor-specific metadata (identified by their __editor prefix).
-
-
-
-
- Save as big endian (see ).
-
-
-
-
- Compress the resource on save using . Only available for binary resource types.
-
-
-
-
- Take over the paths of the saved subresources (see ).
-
-
-
-
- Saves a resource to disk to the given path, using a that recognizes the resource object.
- The flags bitmask can be specified to customize the save behavior.
- Returns on success.
-
-
-
-
- Returns the list of extensions available for saving a resource of a given type.
-
-
-
-
- A synchronization semaphore which can be used to synchronize multiple s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see .
-
-
-
-
- Tries to wait for the , if its value is zero, blocks until non-zero. Returns on success, otherwise.
-
-
-
-
- Lowers the , allowing one more thread in. Returns on success, otherwise.
-
-
-
-
- A unit of execution in a process. Can run methods on s simultaneously. The use of synchronization via or is advised if working with shared objects.
- Note: Breakpoints won't break on code if it's running in a thread. This is a current limitation of the GDScript debugger.
-
-
-
-
- A thread running with lower priority than normally.
-
-
-
-
- A thread with a standard priority.
-
-
-
-
- A thread running with higher priority than normally.
-
-
-
-
- Starts a new that runs method on object instance with userdata passed as an argument. Even if no userdata is passed, method must accept one argument and it will be null. The priority of the can be changed by passing a value from the enum.
- Returns on success, or on failure.
-
-
-
-
- Returns the current 's ID, uniquely identifying it among all threads. If the is not running this returns an empty string.
-
-
-
-
- Returns true if this is currently active. An active cannot start work on a new method but can be joined with .
-
-
-
-
- Joins the and waits for it to finish. Returns what the method called returned.
-
-
-
-
diff --git a/.mono/assemblies/Debug/GodotSharpEditor.dll b/.mono/assemblies/Debug/GodotSharpEditor.dll
deleted file mode 100755
index 033fa4187..000000000
Binary files a/.mono/assemblies/Debug/GodotSharpEditor.dll and /dev/null differ
diff --git a/.mono/assemblies/Debug/GodotSharpEditor.pdb b/.mono/assemblies/Debug/GodotSharpEditor.pdb
deleted file mode 100755
index fff4d6ea6..000000000
Binary files a/.mono/assemblies/Debug/GodotSharpEditor.pdb and /dev/null differ
diff --git a/.mono/assemblies/Debug/GodotSharpEditor.xml b/.mono/assemblies/Debug/GodotSharpEditor.xml
deleted file mode 100755
index bcc9532ea..000000000
--- a/.mono/assemblies/Debug/GodotSharpEditor.xml
+++ /dev/null
@@ -1,1651 +0,0 @@
-
-
-
- GodotSharpEditor
-
-
-
-
- Virtual method to be overridden by the user. It is called when the export starts and provides all information about the export.
-
-
-
-
- Virtual method to be overridden by the user. Called when the export is finished.
-
-
-
-
- Adds a static library (*.a) or dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project.
-
-
-
-
- Adds a dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project and embeds it into resulting binary.
- Note: For static libraries (*.a) works in same way as .
- This method should not be used for System libraries as they are already present on the device.
-
-
-
-
- An editor feature profile can be used to disable specific features of the Godot editor. When disabled, the features won't appear in the editor, which makes the editor less cluttered. This is useful in education settings to reduce confusion or when working in a team. For example, artists and level designers could use a feature profile that disables the script editor to avoid accidentally making changes to files they aren't supposed to edit.
- To manage editor feature profiles visually, use Editor > Manage Feature Profiles... at the top of the editor window.
-
-
-
-
- The 3D editor. If this feature is disabled, the 3D editor won't display but 3D nodes will still display in the Create New Node dialog.
-
-
-
-
- The Script tab, which contains the script editor and class reference browser. If this feature is disabled, the Script tab won't display.
-
-
-
-
- The AssetLib tab. If this feature is disabled, the AssetLib tab won't display.
-
-
-
-
- Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only.
-
-
-
-
- The Import dock. If this feature is disabled, the Import dock won't be visible.
-
-
-
-
- The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor.
-
-
-
-
- The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- If disable is true, disables the class specified by class_name. When disabled, the class won't appear in the Create New Node dialog.
-
-
-
-
- Returns true if the class specified by class_name is disabled. When disabled, the class won't appear in the Create New Node dialog.
-
-
-
-
- If disable is true, disables editing for the class specified by class_name. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class.
-
-
-
-
- Returns true if editing for the class specified by class_name is disabled. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class.
-
-
-
-
- If disable is true, disables editing for property in the class specified by class_name. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by class_name.
-
-
-
-
- Returns true if property is disabled in the class specified by class_name. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by class_name.
-
-
-
-
- If disable is true, disables the editor feature specified in feature. When a feature is disabled, it will disappear from the editor entirely.
-
-
-
-
- Returns true if the feature is disabled. When a feature is disabled, it will disappear from the editor entirely.
-
-
-
-
- Returns the specified feature's human-readable name.
-
-
-
-
- Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's Import button or the button.
-
-
-
-
- Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's Export button or the method.
-
-
-
-
- The displays resources as thumbnails.
-
-
-
-
- The displays resources as a list of filenames.
-
-
-
-
- The can select only one file. Accepting the window will open the file.
-
-
-
-
- The can select multiple files. Accepting the window will open all files.
-
-
-
-
- The can select only one directory. Accepting the window will open the directory.
-
-
-
-
- The can select a file or directory. Accepting the window will open it.
-
-
-
-
- The can select only one file. Accepting the window will save the file.
-
-
-
-
- The can only view res:// directory contents.
-
-
-
-
- The can only view user:// directory contents.
-
-
-
-
- The can view the entire local file system.
-
-
-
-
- The location from which the user may select a file, including res://, user://, and the local file system.
-
-
-
-
- The view format in which the displays resources to the user.
-
-
-
-
- The purpose of the , which defines the allowed behaviors.
-
-
-
-
- The currently occupied directory.
-
-
-
-
- The currently selected file.
-
-
-
-
- The file system path in the address bar.
-
-
-
-
- If true, hidden files and directories will be visible in the .
-
-
-
-
- If true, the will not warn the user before overwriting files.
-
-
-
-
- Removes all filters except for "All Files (*)".
-
-
-
-
- Adds a comma-delimited file extension filter option to the with an optional semi-colon-delimited label.
- For example, "*.tscn, *.scn; Scenes" results in filter text "Scenes (*.tscn, *.scn)".
-
-
-
-
- Returns the VBoxContainer used to display the file system.
-
-
-
-
- Notify the that its view of the data is no longer accurate. Updates the view contents on next view update.
-
-
-
-
- This object holds information of all resources in the filesystem, their types, etc.
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- Gets the root directory object.
-
-
-
-
- Returns true of the filesystem is being scanned.
-
-
-
-
- Returns the scan progress for 0 to 1 if the FS is being scanned.
-
-
-
-
- Scan the filesystem for changes.
-
-
-
-
- Check if the source of any imported resource changed.
-
-
-
-
- Update a file information. Call this if an external program (not Godot) modified the file.
-
-
-
-
- Returns a view into the filesystem at path.
-
-
-
-
- Gets the type of the file, given the full path.
-
-
-
-
- Scans the script files and updates the list of custom class names.
-
-
-
-
- A more generalized, low-level variation of the directory concept.
-
-
-
-
- Returns the number of subdirectories in this directory.
-
-
-
-
- Returns the subdirectory at index idx.
-
-
-
-
- Returns the number of files in this directory.
-
-
-
-
- Returns the name of the file at index idx.
-
-
-
-
- Returns the path to the file at index idx.
-
-
-
-
- Returns the file extension of the file at index idx.
-
-
-
-
- Returns the name of the script class defined in the file at index idx. If the file doesn't define a script class using the class_name syntax, this will return an empty string.
-
-
-
-
- Returns the base class of the script class defined in the file at index idx. If the file doesn't define a script class using the class_name syntax, this will return an empty string.
-
-
-
-
- Returns true if the file at index idx imported properly.
-
-
-
-
- Returns the name of this directory.
-
-
-
-
- Returns the path to this directory.
-
-
-
-
- Returns the parent directory for this directory or null if called on a directory at res:// or user://.
-
-
-
-
- Returns the index of the file with name name or -1 if not found.
-
-
-
-
- Returns the index of the directory with name name or -1 if not found.
-
-
-
-
- EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. Register your with .
- EditorImportPlugins work by associating with specific file extensions and a resource type. See and . They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the .import directory.
- Below is an example EditorImportPlugin that imports a from a file with the extension ".special" or ".spec":
-
- tool
- extends EditorImportPlugin
-
- func get_importer_name():
- return "my.special.plugin"
-
- func get_visible_name():
- return "Special Mesh Importer"
-
- func get_recognized_extensions():
- return ["special", "spec"]
-
- func get_save_extension():
- return "mesh"
-
- func get_resource_type():
- return "Mesh"
-
- func get_preset_count():
- return 1
-
- func get_preset_name(i):
- return "Default"
-
- func get_import_options(i):
- return [{"name": "my_option", "default_value": false}]
-
- func import(source_file, save_path, options, platform_variants, gen_files):
- var file = File.new()
- if file.open(source_file, File.READ) != OK:
- return FAILED
-
- var mesh = Mesh.new()
- # Fill the Mesh with data read in "file", left as an exercise to the reader
-
- var filename = save_path + "." + get_save_extension()
- ResourceSaver.save(filename, mesh)
- return OK
-
-
-
-
-
- Gets the options and default values for the preset at this index. Returns an Array of Dictionaries with the following keys: name, default_value, property_hint (optional), hint_string (optional), usage (optional).
-
-
-
-
- Gets the order of this importer to be run when importing resources. Higher values will be called later. Use this to ensure the importer runs after the dependencies are already imported.
-
-
-
-
- Gets the unique name of the importer.
-
-
-
-
- This method can be overridden to hide specific import options if conditions are met. This is mainly useful for hiding options that depend on others if one of them is disabled. For example:
-
- func get_option_visibility(option, options):
- # Only show the lossy quality setting if the compression mode is set to "Lossy".
- if option == "compress/lossy_quality" and options.has("compress/mode"):
- return int(options["compress/mode"]) == COMPRESS_LOSSY
-
- return true
-
- Return true to make all options always visible.
-
-
-
-
- Gets the number of initial presets defined by the plugin. Use to get the default options for the preset and to get the name of the preset.
-
-
-
-
- Gets the name of the options preset at this index.
-
-
-
-
- Gets the priority of this plugin for the recognized extension. Higher priority plugins will be preferred. The default priority is 1.0.
-
-
-
-
- Gets the list of file extensions to associate with this loader (case-insensitive). e.g. ["obj"].
-
-
-
-
- Gets the Godot resource type associated with this loader. e.g. "Mesh" or "Animation".
-
-
-
-
- Gets the extension used to save this resource in the .import directory.
-
-
-
-
- Gets the name to display in the import window.
-
-
-
-
- Imports source_file into save_path with the import options specified. The platform_variants and gen_files arrays will be modified by this function.
- This method must be overridden to do the actual importing work. See this class' description for an example of overriding this method.
-
-
-
-
- The editor inspector is by default located on the right-hand side of the editor. It's used to edit the properties of the selected node. For example, you can select a node such as then edit its transform through the inspector tool. The editor inspector is an essential tool in the game development workflow.
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- Refreshes the inspector.
- Note: To save on CPU resources, calling this method will do nothing if the time specified in docks/property_editor/auto_refresh_interval editor setting hasn't passed yet since this method was last called. (By default, this interval is set to 0.3 seconds.)
-
-
-
-
- This plugins allows adding custom property editors to .
- Plugins are registered via .
- When an object is edited, the function is called and must return true if the object type is supported.
- If supported, the function will be called, allowing to place custom controls at the beginning of the class.
- Subsequently, the and are called for every category and property. They offer the ability to add custom controls to the inspector too.
- Finally will be called.
- On each of these calls, the "add" functions can be called.
-
-
-
-
- Returns true if this object can be handled by this plugin.
-
-
-
-
- Called to allow adding controls at the beginning of the list.
-
-
-
-
- Called to allow adding controls at the beginning of the category.
-
-
-
-
- Called to allow adding controls at the end of the list.
-
-
-
-
- Called to allow adding property specific editors to the inspector. Usually these inherit . Returning true removes the built-in editor for this property, otherwise allows to insert a custom editor before the built-in one.
-
-
-
-
- Adds a custom control, not necessarily a property editor.
-
-
-
-
- Adds a property editor, this must inherit .
-
-
-
-
- Adds an editor that allows modifying multiple properties, this must inherit .
-
-
-
-
- EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to , , , , the editor viewport, and information about scenes.
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- If true, enables distraction-free mode which hides side docks to increase the space available for the main view.
-
-
-
-
- Shows the given property on the given object in the editor's Inspector dock.
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly.
-
-
-
-
- Edits the given .
-
-
-
-
- Opens the scene at the given path.
-
-
-
-
- Reloads the scene at the given path.
-
-
-
-
- Plays the main scene.
-
-
-
-
- Plays the currently active scene.
-
-
-
-
- Plays the scene specified by its filepath.
-
-
-
-
- Stops the scene that is currently playing.
-
-
-
-
- Returns true if a scene is currently being played, false otherwise. Paused scenes are considered as being played.
-
-
-
-
- Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string.
-
-
-
-
- Returns an with the file paths of the currently opened scenes.
-
-
-
-
- Returns the edited (current) scene's root .
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Returns the main editor control. Use this as a parent for main screens.
- Note: This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically.
-
-
-
-
- Returns mesh previews rendered at the given size as an of s.
-
-
-
-
- Selects the file, with the path provided by file, in the FileSystem dock.
-
-
-
-
- Returns the path of the directory currently selected in the . If a file is selected, its base directory will be returned using String.get_base_dir instead.
-
-
-
-
- Returns the current path being viewed in the .
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Sets the enabled status of a plugin. The plugin name is the same as its directory name.
-
-
-
-
- Returns true if the specified plugin is enabled. The plugin name is the same as its directory name.
-
-
-
-
- Returns the editor's instance.
-
-
-
-
- Saves the scene. Returns either OK or ERR_CANT_CREATE (see @GlobalScope constants).
-
-
-
-
- Saves the scene as a file at path.
-
-
-
-
- Sets the editor's current main screen to the one specified in name. name must match the text of the tab in question exactly (2D, 3D, Script, AssetLib).
-
-
-
-
- Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. See also to add functions to the editor.
-
-
-
-
- Represents the size of the enum.
-
-
-
-
- This method is called when the editor is about to save the project, switch to another tab, etc. It asks the plugin to apply any pending state changes to ensure consistency.
- This is used, for example, in shader editors to let the plugin know that it must apply the shader code being written by the user to the object.
-
-
-
-
- Clear all the state and reset the object being edited to zero. This ensures your plugin does not keep editing a currently existing node, or a node from the wrong scene.
-
-
-
-
- Called by the engine when the user disables the in the Plugin tab of the project settings window.
-
-
-
-
- This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.
-
-
-
-
- Called by the engine when the user enables the in the Plugin tab of the project settings window.
-
-
-
-
- Called when there is a root node in the current edited scene, is implemented and an happens in the 2D viewport. Intercepts the , if return true consumes the event, otherwise forwards event to other Editor classes. Example:
-
- # Prevents the InputEvent to reach other Editor classes
- func forward_canvas_gui_input(event):
- var forward = true
- return forward
-
- Must return false in order to forward the to other Editor classes. Example:
-
- # Consumes InputEventMouseMotion and forwards other InputEvent types
- func forward_canvas_gui_input(event):
- var forward = false
- if event is InputEventMouseMotion:
- forward = true
- return forward
-
-
-
-
-
- Called when there is a root node in the current edited scene, is implemented and an happens in the 3D viewport. Intercepts the , if return true consumes the event, otherwise forwards event to other Editor classes. Example:
-
- # Prevents the InputEvent to reach other Editor classes
- func forward_spatial_gui_input(camera, event):
- var forward = true
- return forward
-
- Must return false in order to forward the to other Editor classes. Example:
-
- # Consumes InputEventMouseMotion and forwards other InputEvent types
- func forward_spatial_gui_input(camera, event):
- var forward = false
- if event is InputEventMouseMotion:
- forward = true
- return forward
-
-
-
-
-
- This is for editors that edit script-based objects. You can return a list of breakpoints in the format (script:line), for example: res://path_to_script.gd:25.
-
-
-
-
- Override this method in your plugin to return a in order to give it an icon.
- For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons.
- Ideally, the plugin icon should be white with a transparent background and 16x16 pixels in size.
-
- func get_plugin_icon():
- # You can use a custom icon:
- return preload("res://addons/my_plugin/my_plugin_icon.svg")
- # Or use a built-in icon:
- return get_editor_interface().get_base_control().get_icon("Node", "EditorIcons")
-
-
-
-
-
- Override this method in your plugin to provide the name of the plugin when displayed in the Godot editor.
- For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons.
-
-
-
-
- Gets the state of your plugin editor. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns).
-
-
-
-
- Gets the GUI layout of the plugin. This is used to save the project's editor layout when is called or the editor layout was changed(For example changing the position of a dock).
-
-
-
-
- Implement this function if your plugin edits a specific type of object (Resource or Node). If you return true, then you will get the functions and called when the editor requests them. If you have declared the methods and these will be called too.
-
-
-
-
- Returns true if this is a main screen editor plugin (it goes in the workspace selector together with 2D, 3D, Script and AssetLib).
-
-
-
-
- This function will be called when the editor is requested to become visible. It is used for plugins that edit a specific object type.
- Remember that you have to manage the visibility of all your editor controls manually.
-
-
-
-
- This method is called after the editor saves the project or when it's closed. It asks the plugin to save edited external scenes/resources.
-
-
-
-
- Restore the state saved by .
-
-
-
-
- Restore the plugin GUI layout saved by .
-
-
-
-
- Adds a custom control to a container (see ). There are many locations where custom controls can be added in the editor UI.
- Please remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it).
- When your plugin is deactivated, make sure to remove your custom control with and free it with .
-
-
-
-
- Adds a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with and free it with .
-
-
-
-
- Adds the control to a specific dock slot (see for options).
- If the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions.
- When your plugin is deactivated, make sure to remove your custom control with and free it with .
-
-
-
-
- Removes the control from the dock. You have to manually the control.
-
-
-
-
- Removes the control from the bottom panel. You have to manually the control.
-
-
-
-
- Removes the control from the specified container. You have to manually the control.
-
-
-
-
- Adds a custom menu item to Project > Tools as name that calls callback on an instance of handler with a parameter ud when user activates it.
-
-
-
-
- Adds a custom submenu under Project > Tools > name. submenu should be an object of class . This submenu should be cleaned up using remove_tool_menu_item(name).
-
-
-
-
- Removes a menu name from Project > Tools.
-
-
-
-
- Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.
- When given node or resource is selected, the base type will be instanced (ie, "Spatial", "Control", "Resource"), then the script will be loaded and set to this object.
- You can use the virtual method to check if your custom object is being edited by checking the script or using the is keyword.
- During run-time, this will be a simple object with a script so this function does not need to be called then.
-
-
-
-
- Removes a custom type added by .
-
-
-
-
- Adds a script at path to the Autoload list as name.
-
-
-
-
- Removes an Autoload name from the list.
-
-
-
-
- Updates the overlays of the editor (2D/3D) viewport.
-
-
-
-
- Gets the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it.
-
-
-
-
- Queue save the project's editor layout.
-
-
-
-
- Use this method if you always want to receive inputs from 3D view screen inside . It might be especially usable if your plugin will want to use raycast in the scene.
-
-
-
-
- Returns the object that gives you control over Godot editor's window and its functionalities.
-
-
-
-
- Gets the Editor's dialogue used for making scripts.
- Note: Users can configure it before use.
-
-
-
-
- This control allows property editing for one or multiple properties into . It is added via .
-
-
-
-
- Set this property to change the label (if you want to show one).
-
-
-
-
- Used by the inspector, set to true when the property is read-only.
-
-
-
-
- Used by the inspector, set to true when the property is checkable.
-
-
-
-
- Used by the inspector, set to true when the property is checked.
-
-
-
-
- Used by the inspector, set to true when the property must draw with error color. This is used for editable children's properties.
-
-
-
-
- Used by the inspector, set to true when the property can add keys for animation.
-
-
-
-
- When this virtual function is called, you must update your editor.
-
-
-
-
- Gets the edited property. If your editor is for a single property (added via ), then this will return the property.
-
-
-
-
- Gets the edited object.
-
-
-
-
- Override if you want to allow a custom tooltip over your property.
-
-
-
-
- If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed.
-
-
-
-
- Adds controls with this function if you want them on the bottom (below the label).
-
-
-
-
- If one or several properties have changed, this must be called. field is used in case your editor can modify fields separately (as an example, Vector3.x). The changing argument avoids the editor requesting this property to be refreshed (leave as false if unsure).
-
-
-
-
- This object is used to generate previews for resources of files.
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- Queue a resource file for preview (using a path). Once the preview is ready, your receiver.receiver_func will be called either containing the preview texture or an empty texture (if no preview was possible). Callback must have the format: (path,texture,userdata). Userdata can be anything.
-
-
-
-
- Queue a resource being edited for preview (using an instance). Once the preview is ready, your receiver.receiver_func will be called either containing the preview texture or an empty texture (if no preview was possible). Callback must have the format: (path,texture,userdata). Userdata can be anything.
-
-
-
-
- Create an own, custom preview generator.
-
-
-
-
- Removes a custom preview generator.
-
-
-
-
- Check if the resource changed, if so, it will be invalidated and the corresponding signal emitted.
-
-
-
-
- Custom code to generate previews. Please check file_dialog/thumbnail_size in to find out the right size to do previews at.
-
-
-
-
- If this function returns true, the generator will call or for small previews as well.
- By default, it returns false.
-
-
-
-
- Generate a preview from a given resource with the specified size. This must always be implemented.
- Returning an empty texture is an OK way to fail and let another generator take care.
- Care must be taken because this function is always called from a thread (not the main thread).
-
-
-
-
- Generate a preview directly from a path with the specified size. Implementing this is optional, as default code will load and call .
- Returning an empty texture is an OK way to fail and let another generator take care.
- Care must be taken because this function is always called from a thread (not the main thread).
-
-
-
-
- If this function returns true, the generator will automatically generate the small previews from the normal preview texture generated by the methods or .
- By default, it returns false.
-
-
-
-
- Returns true if your generator supports the resource of type type.
-
-
-
-
- This is an FBX 3D asset importer based on Assimp. It currently has many known limitations and works best with static meshes. Most animated meshes won't import correctly.
- If exporting a FBX scene from Autodesk Maya, use these FBX export settings:
-
- - Smoothing Groups
- - Smooth Mesh
- - Triangluate (for meshes with blend shapes)
- - Bake Animation
- - Resample All
- - Deformed Models
- - Skins
- - Blend Shapes
- - Curve Filters
- - Constant Key Reducer
- - Auto Tangents Only
- - *Do not check* Constraints (as it will break the file)
- - Can check Embed Media (embeds textures into the exported FBX file)
- - Note that when importing embedded media, the texture and mesh will be a single immutable file.
- - You will have to re-export then re-import the FBX if the texture has changed.
- - Units: Centimeters
- - Up Axis: Y
- - Binary format in FBX 2017
-
-
-
-
-
- Imported scenes can be automatically modified right after import by setting their Custom Script Import property to a tool script that inherits from this class.
- The callback receives the imported scene's root node and returns the modified version of the scene. Usage example:
-
- tool # Needed so it runs in editor
- extends EditorScenePostImport
-
- # This sample changes all node names
-
- # Called right after the scene is imported and gets the root node
- func post_import(scene):
- # Change all node names to "modified_[oldnodename]"
- iterate(scene)
- return scene # Remember to return the imported scene
-
- func iterate(node):
- if node != null:
- node.name = "modified_" + node.name
- for child in node.get_children():
- iterate(child)
-
-
-
-
-
- Called after the scene was imported. This method must return the modified version of the scene.
-
-
-
-
- Returns the resource folder the imported scene file is located in.
-
-
-
-
- Returns the source file path which got imported (e.g. res://scene.dae).
-
-
-
-
- Scripts extending this class and implementing its method can be executed from the Script Editor's File > Run menu option (or by pressing Ctrl+Shift+X) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using s instead.
- Note: Extending scripts need to have tool mode enabled.
- Example script:
-
- tool
- extends EditorScript
-
- func _run():
- print("Hello from the Godot Editor!")
-
- Note: The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot Output dock.
-
-
-
-
- This method is executed by the Editor when File > Run is used.
-
-
-
-
- Adds node as a child of the root node in the editor context.
- Warning: The implementation of this method is currently disabled.
-
-
-
-
- Returns the Editor's currently active scene.
-
-
-
-
- Returns the singleton instance.
-
-
-
-
- This object manages the SceneTree selection in the editor.
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- Clear the selection.
-
-
-
-
- Adds a node to the selection.
-
-
-
-
- Removes a node from the selection.
-
-
-
-
- Gets the list of selected nodes.
-
-
-
-
- Gets the list of selected nodes, optimized for transform operations (i.e. moving them, rotating, etc). This list avoids situations where a node is selected and also child/grandchild.
-
-
-
-
- Object that holds the project-independent editor settings. These settings are generally visible in the Editor > Editor Settings menu.
- Property names use slash delimiters to distinguish sections. Setting values can be of any Variant type. It's recommended to use snake_case for editor settings to be consistent with the Godot editor itself.
- Accessing the settings can be done using the following methods, such as:
-
- # `settings.set("some/property", value)` also works as this class overrides `_set()` internally.
- settings.set_setting("some/property",value)
-
- # `settings.get("some/property", value)` also works as this class overrides `_get()` internally.
- settings.get_setting("some/property")
-
- var list_of_settings = settings.get_property_list()
-
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes.
-
-
-
-
- Returns true if the setting specified by name exists, false otherwise.
-
-
-
-
- Sets the value of the setting specified by name. This is equivalent to using on the EditorSettings instance.
-
-
-
-
- Returns the value of the setting specified by name. This is equivalent to using on the EditorSettings instance.
-
-
-
-
- Erases the setting whose name is specified by property.
-
-
-
-
- Sets the initial value of the setting specified by name to value. This is used to provide a value for the Revert button in the Editor Settings. If update_current is true, the current value of the setting will be set to value as well.
-
-
-
-
- Returns true if the setting specified by name can have its value reverted to the default value, false otherwise. When this method returns true, a Revert button will display next to the setting in the Editor Settings.
-
-
-
-
- Returns the default value of the setting specified by name. This is the value that would be applied when clicking the Revert button in the Editor Settings.
-
-
-
-
- Adds a custom property info to a property. The dictionary must contain:
- - name: (the name of the property)
- - type: (see )
- - optionally hint: (see ) and hint_string:
- Example:
-
- editor_settings.set("category/property_name", 0)
-
- var property_info = {
- "name": "category/property_name",
- "type": TYPE_INT,
- "hint": PROPERTY_HINT_ENUM,
- "hint_string": "one,two,three"
- }
-
- editor_settings.add_property_info(property_info)
-
-
-
-
-
- Gets the global settings path for the engine. Inside this path, you can find some standard paths such as:
- settings/tmp - Used for temporary storage of files
- settings/templates - Where export templates are located
-
-
-
-
- Returns the project-specific settings path. Projects all have a unique subdirectory inside the settings path where project-specific settings are saved.
-
-
-
-
- Sets project-specific metadata with the section, key and data specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also .
-
-
-
-
- Returns project-specific metadata for the section and key specified. If the metadata doesn't exist, default will be returned instead. See also .
-
-
-
-
- Sets the list of favorite files and directories for this project.
-
-
-
-
- Returns the list of favorite files and directories for this project.
-
-
-
-
- Sets the list of recently visited folders in the file dialog for this project.
-
-
-
-
- Returns the list of recently visited folders in the file dialog for this project.
-
-
-
-
- Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. See for more information.
-
-
-
-
- Commit a handle being edited (handles must have been previously added by ).
- If the cancel parameter is true, an option to restore the edited value to the original is provided.
-
-
-
-
- Gets the name of an edited handle (handles must have been previously added by ).
- Handles can be named for reference to the user when editing.
-
-
-
-
- Gets actual value of a handle. This value can be anything and used for eventually undoing the motion when calling .
-
-
-
-
- Returns true if the handle at index index is highlighted by being hovered with the mouse.
-
-
-
-
- This function is called when the this gizmo refers to changes (the is called).
-
-
-
-
- This function is used when the user drags a gizmo handle (previously added with ) in screen coordinates.
- The is also provided so screen coordinates can be converted to raycasts.
-
-
-
-
- Adds lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this function during .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Adds a mesh to the gizmo with the specified billboard state, skeleton and material. If billboard is true, the mesh will rotate to always face the camera. Call this function during .
-
-
-
-
- Adds the specified segments to the gizmo's collision shape for picking. Call this function during .
-
-
-
-
- Adds collision triangles to the gizmo for picking. A can be generated from a regular too. Call this function during .
-
-
-
-
- Adds an unscaled billboard for visualization. Call this function during .
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Adds a list of handles (points) which can be used to deform the object being edited.
- There are virtual functions which will be called upon editing of these handles. Call this function during .
-
-
-
-
- Sets the reference node for the gizmo. node must inherit from .
-
-
-
-
- Returns the Spatial node associated with this gizmo.
-
-
-
-
- Returns the that owns this gizmo. It's useful to retrieve materials using .
-
-
-
-
- Removes everything in the gizmo including meshes, collisions and handles.
-
-
-
-
- Sets the gizmo's hidden state. If true, the gizmo will be hidden. If false, it will be shown.
-
-
-
-
- EditorSpatialGizmoPlugin allows you to define a new type of Gizmo. There are two main ways to do so: extending for the simpler gizmos, or creating a new type. See the tutorial in the documentation for more info.
-
-
-
-
- Override this method to define whether the gizmo can be hidden or not. Returns true if not overridden.
-
-
-
-
- Override this method to commit gizmo handles. Called for this plugin's active gizmos.
-
-
-
-
- Override this method to return a custom for the spatial nodes of your choice, return null for the rest of nodes. See also .
-
-
-
-
- Override this method to provide gizmo's handle names. Called for this plugin's active gizmos.
-
-
-
-
- Gets actual value of a handle from gizmo. Called for this plugin's active gizmos.
-
-
-
-
- Override this method to provide the name that will appear in the gizmo visibility menu.
-
-
-
-
- Override this method to set the gizmo's priority. Higher values correspond to higher priority. If a gizmo with higher priority conflicts with another gizmo, only the gizmo with higher priority will be used.
- All built-in editor gizmos return a priority of -1. If not overridden, this method will return 0, which means custom gizmos will automatically override built-in gizmos.
-
-
-
-
- Override this method to define which Spatial nodes have a gizmo from this plugin. Whenever a node is added to a scene this method is called, if it returns true the node gets a generic assigned and is added to this plugin's list of active gizmos.
-
-
-
-
- Gets whether a handle is highlighted or not. Called for this plugin's active gizmos.
-
-
-
-
- Override this method to define whether Spatial with this gizmo should be selecteble even when the gizmo is hidden.
-
-
-
-
- Callback to redraw the provided gizmo. Called for this plugin's active gizmos.
-
-
-
-
- Update the value of a handle after it has been updated. Called for this plugin's active gizmos.
-
-
-
-
- Creates an unshaded material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with and used in and . Should not be overridden.
-
-
-
-
- Creates an icon material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with and used in . Should not be overridden.
-
- If the parameter is null, then the default value is new Color(1, 1, 1, 1)
-
-
-
- Creates a handle material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with and used in . Should not be overridden.
-
-
-
-
- Adds a new material to the internal material list for the plugin. It can then be accessed with . Should not be overridden.
-
-
-
-
- Gets material from the internal list of materials. If an is provided, it will try to get the corresponding variant (selected and/or editable).
-
-
-
-
- Used by the editor to display VCS extracted information in the editor. The implementation of this API is included in VCS addons, which are essentially GDNative plugins that need to be put into the project folder. These VCS addons are scripts which are attached (on demand) to the object instance of EditorVCSInterface. All the functions listed below, instead of performing the task themselves, they call the internally defined functions in the VCS addons to provide a plug-n-play experience.
-
-
-
-
- Returns true if the addon is ready to respond to function calls, else returns false.
-
-
-
-
- Initializes the VCS addon if not already. Uses the argument value as the path to the working directory of the project. Creates the initial commit if required. Returns true if no failure occurs, else returns false.
-
-
-
-
- Returns true if the VCS addon has been initialized, else returns false.
-
-
-
-
- Returns a containing the path of the detected file change mapped to an integer signifying what kind of a change the corresponding file has experienced.
- The following integer values are being used to signify that the detected file is:
- - 0: New to the VCS working directory
- - 1: Modified
- - 2: Renamed
- - 3: Deleted
- - 4: Typechanged
-
-
-
-
- Stages the file which should be committed when is called. Argument should contain the absolute path.
-
-
-
-
- Unstages the file which was staged previously to be committed, so that it is no longer committed when is called. Argument should contain the absolute path.
-
-
-
-
- Creates a version commit if the addon is initialized, else returns without doing anything. Uses the files which have been staged previously, with the commit message set to a value as provided as in the argument.
-
-
-
-
- Returns an of objects containing the diff output from the VCS in use, if a VCS addon is initialized, else returns an empty object. The diff contents also consist of some contextual lines which provide context to the observed line change in the file.
- Each object has the line diff contents under the keys:
- - "content" to store a containing the line contents
- - "status" to store a which contains "+" in case the content is a line addition but it stores a "-" in case of deletion and an empty string in the case the line content is neither an addition nor a deletion.
- - "new_line_number" to store an integer containing the new line number of the line content.
- - "line_count" to store an integer containing the number of lines in the line content.
- - "old_line_number" to store an integer containing the old line number of the line content.
- - "offset" to store the offset of the line change since the first contextual line content.
-
-
-
-
- Shuts down the VCS addon to allow cleanup code to run on call. Returns true is no failure occurs, else returns false.
-
-
-
-
- Returns the project name of the VCS working directory.
-
-
-
-
- Returns the name of the VCS if the VCS has been initialized, else return an empty string.
-
-
-
-
- The creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the methods.
-
- func _ready():
- dialog.config("Node", "res://new_node.gd") # For in-engine types
- dialog.config("\"res://base_node.gd\"", "res://derived_node.gd") # For script types
- dialog.popup_centered()
-
-
-
-
-
- Prefills required fields to configure the ScriptCreateDialog for use.
-
-
-
-
- Note: This class shouldn't be instantiated directly. Instead, access the singleton using .
-
-
-
-
- Goes to the specified line in the current script.
-
-
-
-
- Returns a that is currently active in editor.
-
-
-
-
- Returns an array with all objects which are currently open in editor.
-
-
-
-
- Add a custom Visual Script node to the editor. It'll be placed under "Custom Nodes" with the category as the parameter.
-
-
-
-
- Remove a custom Visual Script node from the editor. Custom nodes already placed on scripts won't be removed.
-
-
-
-
diff --git a/.mono/assemblies/Debug/api_hash_cache.cfg b/.mono/assemblies/Debug/api_hash_cache.cfg
deleted file mode 100755
index 9b764f69a..000000000
--- a/.mono/assemblies/Debug/api_hash_cache.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-[core]
-
-modified_time=1609029739
-bindings_version=11
-cs_glue_version=1600269155
-api_hash=-5330460140078207281
-
-[editor]
-
-modified_time=1609029739
-bindings_version=11
-cs_glue_version=1600269155
-api_hash=6348957170305068143
diff --git a/.mono/metadata/ide_messaging_meta.txt b/.mono/metadata/ide_messaging_meta.txt
deleted file mode 100755
index 0b2772c53..000000000
--- a/.mono/metadata/ide_messaging_meta.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-65462
-C:\Users\L Lawliet\Downloads\Godot_v3.2.3-stable_mono_win64\Godot_v3.2.3-stable_mono_win64\Godot_v3.2.3-stable_mono_win64.exe
diff --git a/addons/create_pokemon/create_pokemon.gd b/Addons/CreatePokemon/create_pokemon.gd
old mode 100755
new mode 100644
similarity index 90%
rename from addons/create_pokemon/create_pokemon.gd
rename to Addons/CreatePokemon/create_pokemon.gd
index adb70552e..e4aff14f7
--- a/addons/create_pokemon/create_pokemon.gd
+++ b/Addons/CreatePokemon/create_pokemon.gd
@@ -1,4 +1,4 @@
-tool
+@tool
extends EditorPlugin
var open = false
@@ -13,8 +13,8 @@ func _ready():
func _input(event):
if Input.is_key_pressed(KEY_F12) && !open:
open = true
- r = load("res://addons/create_pokemon/interface.tscn").instance()
- r.get_node("ColorRect").get_node("Button").connect("pressed", self, "_on_pressed", [r])
+ r = load("res://Addons/CreatePokemon/interface.tscn").instantiate()
+ r.get_node("ColorRect").get_node("Button").pressed.connect(_on_pressed.bind(r))
add_child(r)
pass
elif Input.is_key_pressed(KEY_F12) && open:
@@ -51,7 +51,7 @@ func _on_pressed(interface):
res.evolution_level = int(interface.get_node("ColorRect").get_node("Evolution").get_node("Level").value)
res.evolution_ID = int(interface.get_node("ColorRect").get_node("Evolution").get_node("ID").value)
- ResourceSaver.save("res://Utilities/Battle/Database/Pokemon/" + res.name + ".tres", res)
+ ResourceSaver.save(res, "res://Utilities/Battle/Database/Pokemon/" + res.name + ".tres")
# remove interface
interface.queue_free()
diff --git a/Addons/CreatePokemon/create_pokemon.gd.uid b/Addons/CreatePokemon/create_pokemon.gd.uid
new file mode 100644
index 000000000..29e336357
--- /dev/null
+++ b/Addons/CreatePokemon/create_pokemon.gd.uid
@@ -0,0 +1 @@
+uid://bsngw2bskebll
diff --git a/Addons/CreatePokemon/interface.tscn b/Addons/CreatePokemon/interface.tscn
new file mode 100644
index 000000000..f5bd84259
--- /dev/null
+++ b/Addons/CreatePokemon/interface.tscn
@@ -0,0 +1,407 @@
+[gd_scene load_steps=3 format=2]
+
+[ext_resource path="res://Fonts/NotoSansCJKsc-Medium.otf" type="FontFile" id=1]
+
+[sub_resource type="StyleBoxFlat" id=1]
+bg_color = Color( 0.12549, 0.145098, 0.192157, 1 )
+
+
+[node name="Control" type="Control"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="ColorRect2" type="ColorRect" parent="."]
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -204.5
+offset_top = -199.0
+offset_right = 200.5
+offset_bottom = 279.0
+color = Color( 0.12549, 0.145098, 0.192157, 1 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="ColorRect" type="ColorRect" parent="."]
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -195.0
+offset_top = -190.0
+offset_right = 190.0
+offset_bottom = 269.0
+color = Color( 0.2, 0.231373, 0.309804, 1 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Name_Label" type="Label" parent="ColorRect"]
+offset_left = 14.6611
+offset_top = 73.3055
+offset_right = 54.6611
+offset_bottom = 87.3055
+text = "Name"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="ID_Label" type="Label" parent="ColorRect"]
+offset_left = 14.6611
+offset_top = 104.305
+offset_right = 54.6611
+offset_bottom = 118.305
+text = "ID"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Exp_yield_Label" type="Label" parent="ColorRect"]
+offset_left = 230.661
+offset_top = 104.305
+offset_right = 288.661
+offset_bottom = 118.305
+text = "EXP yield"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Name" type="LineEdit" parent="ColorRect"]
+offset_left = 60.8004
+offset_top = 67.9619
+offset_right = 254.8
+offset_bottom = 91.9619
+
+[node name="ID" type="SpinBox" parent="ColorRect"]
+offset_left = 61.0606
+offset_top = 99.9665
+offset_right = 135.061
+offset_bottom = 123.966
+
+[node name="Exp_yield" type="SpinBox" parent="ColorRect"]
+offset_left = 299.061
+offset_top = 99.9665
+offset_right = 373.061
+offset_bottom = 123.966
+max_value = 65000.0
+
+[node name="Stats" type="Control" parent="ColorRect"]
+offset_right = 40.0
+offset_bottom = 40.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="HP" type="SpinBox" parent="ColorRect/Stats"]
+offset_left = 101.061
+offset_top = 131.966
+offset_right = 175.061
+offset_bottom = 155.966
+max_value = 65000.0
+
+[node name="Attack" type="SpinBox" parent="ColorRect/Stats"]
+offset_left = 101.061
+offset_top = 163.966
+offset_right = 175.061
+offset_bottom = 187.966
+max_value = 65000.0
+
+[node name="Defense" type="SpinBox" parent="ColorRect/Stats"]
+offset_left = 101.061
+offset_top = 195.966
+offset_right = 175.061
+offset_bottom = 219.966
+max_value = 65000.0
+
+[node name="Sp Attack" type="SpinBox" parent="ColorRect/Stats"]
+offset_left = 101.061
+offset_top = 227.966
+offset_right = 175.061
+offset_bottom = 251.966
+max_value = 65000.0
+
+[node name="Sp Defense" type="SpinBox" parent="ColorRect/Stats"]
+offset_left = 101.061
+offset_top = 259.966
+offset_right = 175.061
+offset_bottom = 283.966
+max_value = 65000.0
+
+[node name="Speed" type="SpinBox" parent="ColorRect/Stats"]
+offset_left = 101.061
+offset_top = 291.966
+offset_right = 175.061
+offset_bottom = 315.966
+max_value = 65000.0
+
+[node name="HP_Label" type="Label" parent="ColorRect/Stats"]
+offset_left = 14.6611
+offset_top = 136.305
+offset_right = 54.6611
+offset_bottom = 150.305
+text = "HP"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Attack_Label" type="Label" parent="ColorRect/Stats"]
+offset_left = 14.6611
+offset_top = 168.305
+offset_right = 54.6611
+offset_bottom = 182.305
+text = "Attack"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Defense_Label" type="Label" parent="ColorRect/Stats"]
+offset_left = 14.6611
+offset_top = 200.305
+offset_right = 54.6611
+offset_bottom = 214.305
+text = "Defense"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Sp Attack_Label" type="Label" parent="ColorRect/Stats"]
+offset_left = 14.6611
+offset_top = 232.305
+offset_right = 54.6611
+offset_bottom = 246.305
+text = "Sp. Attack"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Sp Defense_Label" type="Label" parent="ColorRect/Stats"]
+offset_left = 14.6611
+offset_top = 264.305
+offset_right = 54.6611
+offset_bottom = 278.305
+text = "Sp. Defense"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Speed_Label" type="Label" parent="ColorRect/Stats"]
+offset_left = 14.6611
+offset_top = 296.305
+offset_right = 54.6611
+offset_bottom = 310.305
+text = "Speed"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="EV yield" type="Control" parent="ColorRect"]
+offset_right = 40.0
+offset_bottom = 40.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="EV HP" type="SpinBox" parent="ColorRect/EV yield"]
+offset_left = 300.061
+offset_top = 131.966
+offset_right = 374.061
+offset_bottom = 155.966
+max_value = 31.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="EV Attack" type="SpinBox" parent="ColorRect/EV yield"]
+offset_left = 300.061
+offset_top = 163.966
+offset_right = 374.061
+offset_bottom = 187.966
+max_value = 31.0
+
+[node name="EV Defense" type="SpinBox" parent="ColorRect/EV yield"]
+offset_left = 300.061
+offset_top = 195.966
+offset_right = 374.061
+offset_bottom = 219.966
+max_value = 31.0
+
+[node name="EV Sp Attack" type="SpinBox" parent="ColorRect/EV yield"]
+offset_left = 300.061
+offset_top = 227.966
+offset_right = 374.061
+offset_bottom = 251.966
+max_value = 31.0
+
+[node name="EV Sp Defense" type="SpinBox" parent="ColorRect/EV yield"]
+offset_left = 300.061
+offset_top = 259.966
+offset_right = 374.061
+offset_bottom = 283.966
+max_value = 31.0
+
+[node name="EV Speed" type="SpinBox" parent="ColorRect/EV yield"]
+offset_left = 300.061
+offset_top = 291.966
+offset_right = 374.061
+offset_bottom = 315.966
+max_value = 31.0
+
+[node name="HP_Label2" type="Label" parent="ColorRect/EV yield"]
+offset_left = 190.661
+offset_top = 136.305
+offset_right = 230.661
+offset_bottom = 150.305
+text = "EV HP"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Attack_Label2" type="Label" parent="ColorRect/EV yield"]
+offset_left = 190.661
+offset_top = 168.305
+offset_right = 230.661
+offset_bottom = 182.305
+text = "EV Attack"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Defense_Label2" type="Label" parent="ColorRect/EV yield"]
+offset_left = 190.661
+offset_top = 200.305
+offset_right = 243.661
+offset_bottom = 214.305
+text = "EV Defense"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Sp Attack_Label2" type="Label" parent="ColorRect/EV yield"]
+offset_left = 190.661
+offset_top = 232.305
+offset_right = 253.661
+offset_bottom = 246.305
+text = "EV Sp. Attack"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Sp Defense_Label2" type="Label" parent="ColorRect/EV yield"]
+offset_left = 190.661
+offset_top = 264.305
+offset_right = 266.661
+offset_bottom = 278.305
+text = "EV Sp. Defense"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Speed_Label2" type="Label" parent="ColorRect/EV yield"]
+offset_left = 190.661
+offset_top = 296.305
+offset_right = 230.661
+offset_bottom = 310.305
+text = "EV Speed"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Evolution" type="Control" parent="ColorRect"]
+offset_right = 40.0
+offset_bottom = 40.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Level_Label" type="Label" parent="ColorRect/Evolution"]
+offset_left = 195.368
+offset_top = 344.721
+offset_right = 292.368
+offset_bottom = 358.721
+text = "Evolution Level"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Level" type="SpinBox" parent="ColorRect/Evolution"]
+offset_left = 301.0
+offset_top = 340.0
+offset_right = 375.0
+offset_bottom = 364.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="ID_Label" type="Label" parent="ColorRect/Evolution"]
+offset_left = 195.368
+offset_top = 376.721
+offset_right = 292.368
+offset_bottom = 390.721
+text = "Evolution ID"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="ID" type="SpinBox" parent="ColorRect/Evolution"]
+offset_left = 301.061
+offset_top = 371.966
+offset_right = 375.061
+offset_bottom = 395.966
+max_value = 200.0
+
+[node name="Male_Rate_Label" type="Label" parent="ColorRect"]
+offset_left = 14.2
+offset_top = 377.3
+offset_right = 77.2
+offset_bottom = 391.3
+text = "Male Rate"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="Male_Rate" type="SpinBox" parent="ColorRect"]
+offset_left = 100.0
+offset_top = 372.0
+offset_right = 174.0
+offset_bottom = 397.0
+step = 0.5
+value = 87.5
+
+[node name="Button" type="Button" parent="ColorRect"]
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -53.8649
+offset_top = 182.304
+offset_right = 58.1351
+offset_bottom = 218.304
+text = "Add"
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="leveling_Rate" type="OptionButton" parent="ColorRect"]
+offset_left = 45.5999
+offset_top = 329.65
+offset_right = 155.6
+offset_bottom = 349.65
+theme_override_styles/normal = SubResource( 1 )
+text = "SLOW"
+items = [ "SLOW", null, false, 0, null, "MEDIUM_SLOW", null, false, 1, null, "MEDIUM_FAST", null, false, 2, null, "FAST", null, false, 3, null, "ERRATIC", null, false, 4, null, "FLUCTUATING", null, false, 5, null ]
+selected = 0
+
+[node name="RichTextLabel" type="RichTextLabel" parent="ColorRect"]
+offset_left = 11.9507
+offset_top = 7.89461
+offset_right = 302.951
+offset_bottom = 47.8946
+theme_override_fonts/normal_font = ExtResource( 1 )
+theme_override_font_sizes/normal_font_size = 30
+text = "CREATE POKEMON"
+scroll_active = false
diff --git a/addons/create_pokemon/plugin.cfg b/Addons/CreatePokemon/plugin.cfg
old mode 100755
new mode 100644
similarity index 100%
rename from addons/create_pokemon/plugin.cfg
rename to Addons/CreatePokemon/plugin.cfg
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
old mode 100755
new mode 100644
diff --git a/Dialogue/Battle.pot b/Dialogue/Battle.pot
old mode 100755
new mode 100644
diff --git a/Dialogue/Cutscenes.pot b/Dialogue/Cutscenes.pot
old mode 100755
new mode 100644
diff --git a/Dialogue/Events.pot b/Dialogue/Events.pot
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/de/GenMaps.po b/Dialogue/Generated/de/GenMaps.po
new file mode 100644
index 000000000..c105adddb
--- /dev/null
+++ b/Dialogue/Generated/de/GenMaps.po
@@ -0,0 +1,4123 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "MAP001_NPC_1"
+msgstr "Ich weiß, ich bin ein Camper, aber es fühlt sich gut an nach vielen Kämpfen wieder in einer Stadt zu sein!"
+
+msgid "MAP001_NPC_2"
+msgstr "Burole ist wunderschön. Ich kenne dich zwar nicht, aber ich bin sicher, du wirst mir zustimmen!"
+
+msgid "MAP002_NPC_1"
+msgstr "Hey. Nein, ich werde nicht gegen dich kämpfen, aber höre mir zu. Dieser Arenaleiter? Er ist schwerer zu besiegen als Maria aus Nowtoch. Dave verwendet Boden, Wasser, Gestein und Unlicht. Es ist schwer sich gegen ihn vorzubereiten. Ich wurde in der Arena gerade gründlich fertig gemacht. Fülle deine Vorräte im Markt auf bevor du es versuchst."
+
+msgid "MAP002_NPC_2"
+msgstr "Ich mag das Pokémon Eulzchen! Eulzchen, Eulzchen, Eulzchen! Es ist so süß! Eulzchen entwickelt sich auf Level 21 zu einem flauschigeren, katzeneulenhaften Pokémon!"
+
+msgid "MAP003_NPC_1"
+msgstr "Tandors neue U-Bahn ist ein Wunderwerk der Moderne! Ich kann es nicht mehr erwarten, damit zu fahren!"
+
+msgid "MAP004_NPC_1"
+msgstr "Das ist ziemlich traurig... Es gibt so viel Zeug hier, aber man kann nur um die 8 verschiedene Items an der Kasse kaufen. Wo ist der Spaß darin?"
+
+msgid "MAP004_NPC_2"
+msgstr "Ich hab ein Lied über Superbälle und wie super sie sind geschrieben. Willst du es hören? ...Nein?"
+
+msgid "MAP006_NPC_1"
+msgstr "Manchmal frage ich mich...\nWorauf warte ich eigentlich?\nUnd dann erinnere ich mich: Ich warte auf diesen Zug!"
+
+msgid "MAP007_SIGN_1"
+msgstr "Kometenhöhle, Schroffsteintunnel geradeaus."
+
+msgid "MAP007_TRAINER_1"
+msgstr "Ooooh, diese hier sehen fast komplett erhalten aus! Sie müssen die Rückstände von einem Lava-Strom sein, der von den Gezeiten abgetragen wurde. Du kannst Abdrücke sehen, die von Fell hinterlassen wurden. Was tust du hier? Das hier ist eine unglaublich wichtige Entdeckung im Gebiet der Paläontologie, und alles hier ist meins!!!! ...\n...Naja, ich bin dir ja quasi hierher gefolgt... Ich sag dir was: Wenn du mich in einem Pokémon-Kampf schlagen kannst, geb ich dir eins dieser Fossilien. ...Na gut. Du hast mich geschlagen.\nDiese Fossilien sind zwei verschiedene Arten von Säugetier-Pokémon, die vor 50.000 Jahren gelebt haben.\nDas Erste war für seine blitzschnellen Angriffe bekannt. Und das Zweite hat die Stärke und Kraft eines gewaltigen Gletschers. Wenn du dein Fossil ins Labor in Schroffstein bringst, kann es wieder zum Leben erweckt werden.\nIch denke, ich werde in dieser Höhle bei meinem Fossil bleiben... Für immer. Jaaaaa, meeeein Schatzzz, wir werden von nun an für immer zusammen sein..."
+
+msgid "MAP007_TRAINER_1_DEFEAT"
+msgstr "Meine Fossilien..."
+
+msgid "MAP008_NPC_1"
+msgstr "Ich schulde dir etwas, {Kleiner|Kleine|Kind}. Aber du solltest vorsichtig sein. Ich denke, es könnte mehr von diesen Dingern da draußen geben..."
+
+msgid "MAP008_NPC_2"
+msgstr "Warte{, Trainer!|, Trainerin!|!} Siehst du, wie diese Route von Sand überdeckt wird? Lass deine Deckung nicht fallen - die Pokémon verstecken sich hier überall! Du wirst im Sand wie im hohen Gras angegriffen, daher wirst du eins von denen haben wollen, wenn du es eilig hast!"
+
+msgid "MAP008_NPC_3"
+msgstr "Es wird Zeit!\nLass uns anfangen!"
+
+msgid "MAP008_NPC_4"
+msgstr "Es wird Zeit!\nLass uns anfangen!"
+
+msgid "MAP008_SIGN_1"
+msgstr "Fähre nach Vinoville."
+
+msgid "MAP008_SIGN_2"
+msgstr "Supertrainingszelt. Tutor: Ayumi"
+
+msgid "MAP008_TRAINER_1"
+msgstr "Hey n00b! Willst du meine krassen 1337 Fähigkeiten sehen? Lass uns kämpfen!"
+
+msgid "MAP008_TRAINER_1_DEFEAT"
+msgstr "...Hax!"
+
+msgid "MAP008_TRAINER_2"
+msgstr "Der Ozean beheimatet viele verschiedene Spezies von Pokémon. Lass mich dir ein paar davon zeigen!"
+
+msgid "MAP008_TRAINER_2_DEFEAT"
+msgstr "D-Die, die du hast sind auch gut..."
+
+msgid "MAP008_TRAINER_3"
+msgstr "Jo! Der Strand ist ziemlich nett, nicht wahr? Er ist ziemlich malerisch und hat darüber hinaus viele verschiedene Arten von interessanten Pokémon! Lass uns kämpfen!"
+
+msgid "MAP008_TRAINER_3_DEFEAT"
+msgstr "Guter Kampf{, Alter.|, Mädel.|.}"
+
+msgid "MAP008_TRAINER_4"
+msgstr "Ich möchte keinen Konflikt beginnen. Deshalb werde ich dir die Wahl lassen. Willst du kämpfen? Sehr wohl, lass uns kämpfen! Das ist okay. Ich werde warten, für den Fall, dass du mich später herausfordern möchtest."
+
+msgid "MAP008_TRAINER_4_DEFEAT"
+msgstr "Wie es scheint, habe ich viel zu lernen."
+
+msgid "MAP008_TRAINER_5"
+msgstr "Hiyah! Ich benutze meine Judo-Fähigkeiten, um deine Pokémon in Stücke zu zerreißen!"
+
+msgid "MAP008_TRAINER_5_DEFEAT"
+msgstr "W-was? Aber ich besitze den schwarzen Gürtel! Wie konnte ich verlieren?"
+
+msgid "MAP008_TRAINER_6"
+msgstr "Im Wasser heißt es sinken oder schwimmen. Genau so ist es bei Pokémon-Kämpfen!"
+
+msgid "MAP008_TRAINER_6_DEFEAT"
+msgstr "Glub glub!"
+
+msgid "MAP008_TRAINER_7"
+msgstr "Theo: Hey! Ist das, {von dem ich denke, dass er es ist|von der ich denke, dass sie es ist|wer ich denke}? Ja! Es ist PN! So... Du hast also die Reise bis hierhin überlebt? Was hast du denn da? Das ist das bSprachübersetzer-Ding/b, richtig? Ja! Bamb'u hat mich angerufen, um mir davon zu erzählen und hat mir daraufhin einen zugeschickt! Nun können wir beide Pokémon verstehen! Nett, nicht wahr? W-wie auch immer. Ich bin durch Schroffstein gerast. Was für eine langweilige Stadt! Und ich habe seitdem trainiert. Ich werde die Arenaleiterin besiegen, bevor du es tust, PN! Aber dich werde ich zuerst besiegen! Glaub bloß nicht, dass ich dich wegen der Sache in der Kometenhöhle schonen werde! *schnief*| A.-ach... I.-- I.-- Ist mir doch egal! Meine Pokémon sind die stärksten, sie sind nur von all den Kämpfen, die wir vorher ausgetragen haben, erschöpft! J.-jedenfalls haben sie in diesem Kampf einige Erfahrungen gewonnen... Ich weiß! Ich werde die Arena jetzt herausfordern! Und ich werde dich überholen, PN! Warte es nur ab! *schnief*| A.-ach... I.-- I.-- Ist mir doch egal! Meine Pokémon sind die stärksten, sie sind nur von all den Kämpfen, die wir vorher ausgetragen haben, erschöpft! J.-jedenfalls haben sie in diesem Kampf einige Erfahrungen gewonnen... Ich weiß! Ich werde die Arena jetzt herausfordern! Und ich werde dich überholen, PN! Warte es nur ab! *schnief*| A.-ach... I.-- I.-- Ist mir doch egal! Meine Pokémon sind die stärksten, sie sind nur von all den Kämpfen, die wir vorher ausgetragen haben, erschöpft! J.-jedenfalls haben sie in diesem Kampf einige Erfahrungen gewonnen... Ich weiß! Ich werde die Arena jetzt herausfordern! Und ich werde dich überholen, PN! Warte es nur ab!"
+
+msgid "MAP008_TRAINER_7_DEFEAT"
+msgstr "Ahhh! Ich habe das falsche Starter-Pokémon genommen!"
+
+msgid "MAP012_NPC_1"
+msgstr "Die Tür ist verschlossen.\nDa hängt eine Notiz...\n\"Temporär wegen Notfall geschlossen\""
+
+msgid "MAP012_NPC_2"
+msgstr "Vielen der hier umliegenden Berge wird nachgesagt unpassierbar zu sein. Wie auch immer, ich bin entschlossen sie zu vermessen!"
+
+msgid "MAP012_NPC_3"
+msgstr "Wusstest du, dass Tandor von zwei Vulkanen geformt wurde? Beide sind im Moment inaktiv, aber über einem von ihnen finden die regionalen Meisterschaften statt."
+
+msgid "MAP012_NPC_4"
+msgstr "Es ist erstaunlich, dass die Wirtschaft funktioniert, obwohl die Hälfte der Bevölkerung Trainer sind. Trainer, die nicht arbeiten! Wie würden wir uns jemals selbst ernähren, wenn wir keine Pokémon hätten, die uns helfen?"
+
+msgid "MAP012_NPC_5"
+msgstr "Als ich noch jung war, lebte ich in der großen Stadt. Jetzt möchte ich einfach hier, in der ruhigen Landschaft, leben."
+
+msgid "MAP012_NPC_6"
+msgstr "Ich lebe in Schroffstein, seit ich ein kleines Mädchen war. Das Leben in den Bergen ist zwar hart, aber ich bin noch genauso gesund und munter wie ein junges Mädchen, ufufu!"
+
+msgid "MAP012_NPC_7"
+msgstr "Professor Zypress lebt hier in Schroffstein. Ich habe gehört, dass sie alle möglichen Projekte durchführt, um die Kommunikation zwischen Mensch und Pokémon zu verbessern. Das ist beeindruckend!"
+
+msgid "MAP012_NPC_8"
+msgstr "Luuuooooooo!"
+
+msgid "MAP012_SIGN_1"
+msgstr "Route 6. Vergiss nicht ein paar Tränke mitzubringen! Sie ist sehr lang!"
+
+msgid "MAP012_SIGN_2"
+msgstr "Zypress' Pokémon-Labor"
+
+msgid "MAP012_SIGN_3"
+msgstr "Willkommen in Schroffstein. Pass auf fallende Gesteinsbrocken auf!"
+
+msgid "MAP013_NPC_1"
+msgstr "Hi! Ich bin eine angehende Krankenschwester. Ich mache ein Praktikum in diesem Pokécenter, um mehr über die Behandlung von Pokémon zu lernen. Sorge dich gut um deine Pokémon. Wir können die meisten Verletzungen heilen, aber es gibt auch Dinge, die unsere Maschinen nicht heilen können."
+
+msgid "MAP013_NPC_2"
+msgstr "Diese Stadt ist so ruhig, es ist beinahe unheimlich. Manche finden Einsamkeit entspannend. Ich möchte nur zu Sonnenstrand und zur nächsten Arena."
+
+msgid "MAP017_TRAINER_1"
+msgstr "Hoy! Kleines Würstchen! Interesse an einem Kampf mit Köpfchen? Nein? Wie wäre es mit einem Pokémonkampf?"
+
+msgid "MAP017_TRAINER_1_DEFEAT"
+msgstr "...Gute Arbeit."
+
+msgid "MAP017_TRAINER_2"
+msgstr "Weißt du, wie diese Höhle entstanden ist? Wen interessiert es, lass uns kämpfen!"
+
+msgid "MAP017_TRAINER_2_DEFEAT"
+msgstr "Gute Vorführung, {Söhnchen|Kleines|Kumpel}."
+
+msgid "MAP017_TRAINER_3"
+msgstr "Hey! Ich grabe hier! Such dir deine eigene Höhle!"
+
+msgid "MAP017_TRAINER_3_DEFEAT"
+msgstr "Dann wiederum nehme ich an, dass das eine Höhle ist, die jedem zugänglich ist..."
+
+msgid "MAP017_TRAINER_4"
+msgstr "Man sagt, das Trainieren an extremen Orten macht dich zäher. Zieh es durch!"
+
+msgid "MAP017_TRAINER_4_DEFEAT"
+msgstr "Hmm, vielleicht ist Höhlen-Training nicht genug..."
+
+msgid "MAP018_NPC_1"
+msgstr "Melde dich bei Kellyn für Missionsdetails."
+
+msgid "MAP018_NPC_2"
+msgstr "Melde dich bei Kellyn für Missionsdetails."
+
+msgid "MAP018_NPC_3"
+msgstr "Es ist wichtig deine Pokémon gesund zu halten, wenn du gegen Nukleare Typen kämpfst. Schnitte und Kratzer können sich einfacher infizieren."
+
+msgid "MAP018_NPC_4"
+msgstr "Unser Ziel ist es die wilden nuklearen Pokémon zu überwältigen und sie davon abzuhalten die Barriere zu durchbrechen. Außerdem haben wir von Rangern erfahren, dass es noch Menschen und Pokémon gibt, die in Gefahr sind. Wir müssen sie retten.\nImperilla und ich werden vorangehen. Lasst uns losgehen!"
+
+msgid "MAP018_NPC_5"
+msgstr "Wir haben Medizin dabei um die zu behandeln, die von radioaktiver Strahlung betroffen sind."
+
+msgid "MAP018_NPC_6"
+msgstr "Meine Stahl-Pokémon und ich werden helfen gegen diese Nuklear-Pokémon zu kämpfen. Stahl ist der einzige Typ außer Nuklear selbst, der gegen Nuklearattacken resistent ist."
+
+msgid "MAP018_NPC_7"
+msgstr "Die Bestimmung eines Pokémon-Rangers ist es die Natur, die Pokémon und die Menschen zu beschützen. Wir sind dazu bereit unsere Leben aufs Spiel zu setzen um das zu schaffen."
+
+msgid "MAP018_NPC_8"
+msgstr "Halte deine Pokémon gesund, okay? Oh, die hier kannst du auch haben. Sei vorsichtig da draußen!"
+
+msgid "MAP018_NPC_9"
+msgstr "Eulzchen!"
+
+msgid "MAP020_NPC_1"
+msgstr "Herzlichen Glückwunsch zum Sammeln aller 8 Orden.\nDie Siegesstraße und die Meisterschaften warten!"
+
+msgid "MAP020_NPC_2"
+msgstr "Die Siegesstraße ist im Moment geschlossen. Sie wird geöffnet sobald die Tandor Meisterschaften beginnen."
+
+msgid "MAP020_SIGN_1"
+msgstr "Herzlichen Glückwunsch zum Sammeln aller 8 Orden.\nDie Siegesstraße und die Meisterschaften warten!"
+
+msgid "MAP021_NPC_1"
+msgstr "Ah, du bist es! Wir haben deine Pokémon aufgezogen, und du meine Güte, wir waren überrascht! Dein Pokémon hat ein Ei bekommen! Wir wissen nicht, wie es da hingekommen ist, aber dein Pokémon hatte es. Du willst es haben, ja? Du hast keinen Platz dafür. Komm wieder, wenn du Platz geschaffen hast. PN hat das Ei vom Pensionsleiter erhalten. Sorge dich gut um es. Ich werde es wirklich behalten. Du willst es haben, ja? Na gut, dann werde ich es behalten. Danke! Ich bin der Pensionsleiter. Ich kümmere mich um die wertvollen Pokémon der Trainer. Wenn du möchtest, dass ich dein Pokémon großziehe, sprich mit meiner Frau. Ah, du bist es! Schön dich zu sehen. Deinem geht es gut. Ah, du bist es! Deinem und geht es gut. Die beiden spielen lieber mit anderen Pokémon als miteinander. Die beiden mögen sich nicht sehr. Die beiden scheinen sich zu vertragen. Die beiden scheinen sich sehr zu mögen."
+
+msgid "MAP021_SIGN_1"
+msgstr "- LegenstadtrRoute 9 -\nrRoute 6 -\nrSchroffstein -"
+
+msgid "MAP021_SIGN_2"
+msgstr "Pension von West Tandor."
+
+msgid "MAP021_TRAINER_1"
+msgstr "Huch! Spürst du die Hitze?"
+
+msgid "MAP021_TRAINER_1_DEFEAT"
+msgstr "Was für eine Hitze!"
+
+msgid "MAP021_TRAINER_2"
+msgstr "Hey, {Trainer|Trainerin|Trainer}! Meine Pokémon wollen mit dir kämpfen!"
+
+msgid "MAP021_TRAINER_2_DEFEAT"
+msgstr "Wow! Stark!"
+
+msgid "MAP021_TRAINER_3"
+msgstr "Ahh... Ich liebe einen entspannenden Kampf in der Sonne."
+
+msgid "MAP021_TRAINER_3_DEFEAT"
+msgstr "Au weia..."
+
+msgid "MAP021_TRAINER_4"
+msgstr "Bleib sofort stehen! Bist du{ derjenige, der| diejenige, die|, wer} meine Forschungsausrüstung gestohlen hat?"
+
+msgid "MAP021_TRAINER_4_DEFEAT"
+msgstr "Oh, du warst es nicht? Ich bitte um Entschuldigung!"
+
+msgid "MAP022_NPC_1"
+msgstr "Keine Sorge, ich bin nicht auf einen Kampf aus! Ich? Ich wandere hier draußen! Ist die frische Bergluft nicht belebend?"
+
+msgid "MAP022_NPC_10"
+msgstr "Eulzchen! Eul! c3=F89818,F8C898Kannst hier nicht durch!\nMenschen... böse!/c3 iSie scheinen sich nicht bewegen zu wollen./i"
+
+msgid "MAP022_NPC_2"
+msgstr "Aah, Mist... Ich wurde in einem Kampf besiegt und versuche nun zurück zum Pokémon-Center zu gelangen... Aber ich finde den Weg nicht mehr!"
+
+msgid "MAP022_NPC_3"
+msgstr "Eul! Eulzchen! c3=F89818,F8C898Du willst mich entführen? Wie kannst du es wagen!/c3 c3=F89818,F8C898Nimm das!/c3"
+
+msgid "MAP022_NPC_4"
+msgstr "Entschuldigung, aber der Zugang zu diesem Gebiet ist untersagt, solange die Tandor Pokémon Liga gebaut wird."
+
+msgid "MAP022_NPC_5"
+msgstr "Entschuldigung, aber der Zugang zu diesem Gebiet ist untersagt, solange die Tandor Pokémon Liga gebaut wird."
+
+msgid "MAP022_NPC_6"
+msgstr "Entschuldigung, aber der Zugang zu diesem Gebiet ist untersagt, solange die Tandor Pokémon Liga gebaut wird."
+
+msgid "MAP022_NPC_7"
+msgstr "Eulzchen! Eul! c3=F89818,F8C898Kannst hier nicht durch!\nMenschen... böse!/c3 iSie scheinen sich nicht bewegen zu wollen./i"
+
+msgid "MAP022_NPC_8"
+msgstr "Eulzchen! Eul! c3=F89818,F8C898Kannst hier nicht durch!\nMenschen... böse!/c3 iSie scheinen sich nicht bewegen zu wollen./i"
+
+msgid "MAP022_NPC_9"
+msgstr "Eulzchen! Eul! c3=F89818,F8C898Kannst hier nicht durch!\nMenschen... böse!/c3 iSie scheinen sich nicht bewegen zu wollen./i"
+
+msgid "MAP022_SIGN_1"
+msgstr "- Legenstadt & Mt. Actinite Tandor Regional Meisterschaften"
+
+msgid "MAP022_SIGN_2"
+msgstr "Schroffstein Tunnel zu Tandorstraße, Sonnenstrand"
+
+msgid "MAP022_TRAINER_1"
+msgstr "Nichts geht über einen schnellen Kampf am Morgen, oder? Los geht's!"
+
+msgid "MAP022_TRAINER_10"
+msgstr "He{, Bruder!|, Schwester!|!} Ich sags dir, du musst dein Bestes geben, hörst du?"
+
+msgid "MAP022_TRAINER_10_DEFEAT"
+msgstr "Whoooo! Genial, Mann! Total aufregend."
+
+msgid "MAP022_TRAINER_11"
+msgstr "Komm, mein Kind. Ich werde dir eine Lektion in Körper und Geist geben."
+
+msgid "MAP022_TRAINER_11_DEFEAT"
+msgstr "Das war ein sehr wertvoller Schritt in deiner Entwicklung."
+
+msgid "MAP022_TRAINER_12"
+msgstr "...Nein, nichts beißt an. Pah. Ich werde meine plötzliche irrationale Wut an DIR auslassen!"
+
+msgid "MAP022_TRAINER_12_DEFEAT"
+msgstr "Ich denke, ich habe mich nun beruhigt."
+
+msgid "MAP022_TRAINER_13"
+msgstr "Welchen Köder verwendest du, wenn du am Angeln bist? Komm schon, lass uns einen Angelwettkampf machen!"
+
+msgid "MAP022_TRAINER_13_DEFEAT"
+msgstr "Holzkopf, ich sagte ANGELN!"
+
+msgid "MAP022_TRAINER_14"
+msgstr "Ich liebe es Vogelpokémon aufzuziehen. Macht mich das zu einem Vogelsammler? Sag es mir."
+
+msgid "MAP022_TRAINER_14_DEFEAT"
+msgstr "Aww, ich habe verloren. Hey, du hast nicht auf meine Frage geantwortet!"
+
+msgid "MAP022_TRAINER_15"
+msgstr "Ich habe eine neue kleine Schwester bekommen! Hier, willst du ein Bild von ihr sehen?"
+
+msgid "MAP022_TRAINER_15_DEFEAT"
+msgstr "Was zur Hölle?"
+
+msgid "MAP022_TRAINER_16"
+msgstr "Wir haben eine endlose Zeitschleife betreten."
+
+msgid "MAP022_TRAINER_16_DEFEAT"
+msgstr "Wir haben eine endlose Zeitschleife betreten."
+
+msgid "MAP022_TRAINER_17"
+msgstr "Ich habe gerade einen Auftrag über zwei Millionen Schottenröcke erhalten, die in die Andromeda-Galaxie geliefert werden sollen. Bitte was?"
+
+msgid "MAP022_TRAINER_17_DEFEAT"
+msgstr "S-Sie versuchen Wimbledon zu gewinnen!"
+
+msgid "MAP022_TRAINER_1_DEFEAT"
+msgstr "Obwohl mir das vielleicht den Tag verdorben hat..."
+
+msgid "MAP022_TRAINER_2"
+msgstr "Ich bin draußen auf dem Feld und fange für den Professor Pokémon. Aber das ist langweilig. Willst du kämpfen?"
+
+msgid "MAP022_TRAINER_2_DEFEAT"
+msgstr "Aww. Ich sollte zum Heilen zurück in die Stadt."
+
+msgid "MAP022_TRAINER_3"
+msgstr "Ich bin ein Holzfäller, und fühl mich stark! Ich schlaf des Nachts, und kämpf am Tag!"
+
+msgid "MAP022_TRAINER_3_DEFEAT"
+msgstr "Und jetzt der Chor! 'Er ist ein Holzfäller...'"
+
+msgid "MAP022_TRAINER_4"
+msgstr "Hey{, komischer Trainer!|, komische Trainerin!|!} In der Sekunde, als wir uns in die Augen sahen, wusste ich... Wir sind dazu bestimmt gegeneinander zu kämpfen!"
+
+msgid "MAP022_TRAINER_4_DEFEAT"
+msgstr "Wahrscheinlich war ich dazu bestimmt zu verlieren."
+
+msgid "MAP022_TRAINER_5"
+msgstr "Ich suche nach einem Boxsack, um meine Pokémon zu trainieren. Du solltest das selbe tun.."
+
+msgid "MAP022_TRAINER_5_DEFEAT"
+msgstr "Wie... Wie kannst du es wagen?!"
+
+msgid "MAP022_TRAINER_6"
+msgstr "Wie, wer bist du? Du bist irgendwie ~süß~. Ich LIEBE dein Shirt, ich LIEBE es einfach. Oh, willst du kämpfen?"
+
+msgid "MAP022_TRAINER_6_DEFEAT"
+msgstr "Ah! ~Ich wurde übertroffen!~"
+
+msgid "MAP022_TRAINER_7"
+msgstr "Ich liebe es Videospiele zu spielen. Pokémon ist ein richtig Spaßiges.\nWillst du spielen?"
+
+msgid "MAP022_TRAINER_7_DEFEAT"
+msgstr "Wow, du bist gut in Pokémon."
+
+msgid "MAP022_TRAINER_8"
+msgstr "Oh heyyyyy Liebling! Wie geht es dir? Warte, du siehst nicht--"
+
+msgid "MAP022_TRAINER_8_DEFEAT"
+msgstr "Guter Kampf, aber..."
+
+msgid "MAP022_TRAINER_9"
+msgstr "Hehe. Käfer sind cool. Hehe."
+
+msgid "MAP022_TRAINER_9_DEFEAT"
+msgstr "Was. Zur. Hölle."
+
+msgid "MAP024_NPC_1"
+msgstr "Ich habe gehört, dass der Weg zur Schneeufer-Arena lang und gefährlich ist ... Ich sollte mich besser mit Vorräten eindecken. Du wirst etwas wärmere Kleidung brauchen, wenn du vorhast, die eisige Tundra der Route 16 zu bewältigen."
+
+msgid "MAP024_NPC_2"
+msgstr "Ich habe gehört, dass ein legendäres Pokémon im Kern des eisigen Berges Lanthanit lebt! Ich habe vor, es zu fangen. Route 16 ist an den Hängen des Berges Lanthanit, einer der zwei größten Berge in Tandor."
+
+msgid "MAP024_NPC_3"
+msgstr "Ich überwache diese Stadt auf verdächtige Aktivitäten der Person oder Gruppe, die für die Angriffe auf das Kernkraftwerk verantwortlich ist. Ost Tandor hat ein eigenes Kernkraftwerk. Wir glauben, dieser Reaktor ist gefährdet seit die anderen beiden in West Tandor zerstört wurden. Die ganze Rangertruppe in dieser Region ist in höchster Alarmbereitschaft."
+
+msgid "MAP025_NPC_1"
+msgstr "Hallo! Ich glaube nicht, dass ich dich hier schon einmal gesehen habe. Du {bist ein Trainer|bist eine Trainerin|trainierst Pokémon}, oder? Na dann, bist du am richtigen Ort. Du siehst, wir geben auf die Pokémon der Trainer acht. Lass sie bei uns, und wenn du zurückkommst, werden sie stärker sein! Wenn du zwei zueinander passende Pokémon hier lässt, bekommen sie vielleicht ein Ei. Also dann..."
+
+msgid "MAP026_NPC_1"
+msgstr "Ich bin ein Rettungssanitäter. Ich reagiere auf Notfälle am Berg, um Menschen vor Erdrutschen zu retten und so. Wenn du eine Lawinenwarnung hörst, achte darauf, an einen sicheren Ort zu kommen!"
+
+msgid "MAP026_NPC_2"
+msgstr "Mega Evolution ... Ich habe versucht, die Arena zu schlagen, aber sie sagten mir, ich hätte nicht genug Weisheit oder so etwas. Ich hörte, dass es fünf Herausforderungen gibt, die man in der Arena schlagen muss. Aber ich komme nicht über die erste hinaus!"
+
+msgid "MAP026_NPC_3"
+msgstr "- Oh je... Die Arena hat mir in den Hintern getreten!\nAls ob die eisigen Winde nicht genug wären, die Trainer sind brutal hart!"
+
+msgid "MAP027_NPC_1"
+msgstr "Ich ließ ein Pokémon in der Pension und vergaß es für eine Weile. Als ich zurückkam, hatte es eine Menge Level gewonnen!"
+
+msgid "MAP027_NPC_2"
+msgstr "Die Bergkette schützt diese Route vor radioaktivem Niederschlag. Was immer passiert ist, ist eine Katastrophe ..."
+
+msgid "MAP029_NPC_1"
+msgstr "Wir lernen gerade etwas über Entwicklungen. Wusstest du, dass sich die offiziellen Tandor-Starter nur einmal entwickeln, im Gegensatz zu den meisten anderen Startern, die zwei Entwicklungen haben? Ich habe gehört, dass es einen Professor gab, der irgendwo Entwicklung studiert hat. Wie Professor Bamb'u, richtig? Wie war sein Name? Fichte oder so..."
+
+msgid "MAP029_NPC_2"
+msgstr "Sag mal, hast du schon vom Debattieren gehört? Das ist eine coole Sache! Dieses Jahr debattieren wir darüber, ob eine Altersbeschränkung für Pokémon-Trainer eingeführt werden soll oder nicht. Ich denke, es ist gefährlich für junge Kinder einfach das Zuhause zu verlassen und auf Abenteuerreise zu gehen."
+
+msgid "MAP029_NPC_3"
+msgstr "Ich bin die Lehrerin dieser Schule. Es ist wirklich interessant, wie vertieft die Kinder Lernen. So habe ich sie noch nie gesehen. Ich hoffe, du bleibst mit deinem Studium auf dem Laufenden, auch wenn du auf Abenteuern unterwegs bist."
+
+msgid "MAP029_NPC_4"
+msgstr "Die Sport-Teams unserer Schule sind die stärksten der Region! Wir können Mokistadt und Kevlar mit verbundenen Augen schlagen! Hat Mokistadt überhaupt eine Schule?"
+
+msgid "MAP029_NPC_5"
+msgstr "Hey{, Trainer!|, Trainerin!|!} Diese Kinder brauchen Hilfe beim Lernen! Wenn du sie alle besiegen kannst, bekommst du eine besondere Belohnung!"
+
+msgid "MAP029_TRAINER_1"
+msgstr "Oh hallo! W-Würde es dir etwas ausmachen, ähm, zu kämpfen? Nur zum Üben, weißt du? D-das ist schade."
+
+msgid "MAP029_TRAINER_1_DEFEAT"
+msgstr "I- ich hoffe, dass meine Pokémon nicht verletzt wurden oder so..."
+
+msgid "MAP029_TRAINER_2"
+msgstr "Ich übe für den Kampfunterricht! Denkst du, du könntest mir beim Lernen helfen? Also gut, hier komme ich! Es ist deine Schuld, wenn ich versage, weißt du das?"
+
+msgid "MAP029_TRAINER_2_DEFEAT"
+msgstr "...Beeindruckend! Das... war wunderbar."
+
+msgid "MAP029_TRAINER_3"
+msgstr "Ich denke, wenn ich lerne, wie man mit Pokémon gut kämpft, kann ich die rote Edition einfach schlagen! Willst du kämpfen? Also gut, hier komme ich! ... Gut, was auch immer, Punk. N-nicht, dass es mich interessiert oder so."
+
+msgid "MAP029_TRAINER_3_DEFEAT"
+msgstr "... Kämpfen ist in den Spielen einfacher ..."
+
+msgid "MAP033_NPC_1"
+msgstr "Schif... Schif!"
+
+msgid "MAP033_NPC_2"
+msgstr "Weißt du, dass dieser Fluss hauptsächlich von Froxig bewohnt wird? Sie sind giftige Pokémon! Wenn ich du wäre, würde ich Gegengifte mitnehmen."
+
+msgid "MAP033_TRAINER_1"
+msgstr "Ich stimme zu! Wasser Pokémon sind überlegendär!"
+
+msgid "MAP033_TRAINER_1_DEFEAT"
+msgstr "Okay, vielleicht nicht NUR Wasser Pokémon."
+
+msgid "MAP033_TRAINER_2"
+msgstr "Ich sollte mit Freunden spielen anstatt den ganzen Tag hier zu sein."
+
+msgid "MAP033_TRAINER_2_DEFEAT"
+msgstr "Ich denke, ich werde ein paar neue Spiele ausprobieren."
+
+msgid "MAP033_TRAINER_3"
+msgstr "Hey! Du! Ja, du, da drüben! Wir werden jetzt kämpfen, 'kay?"
+
+msgid "MAP033_TRAINER_3_DEFEAT"
+msgstr "Wooow! Das war stark!"
+
+msgid "MAP033_TRAINER_4"
+msgstr "Oh! Hey! PN! Ich habe gerade ein neues Pokémon gefangen und möchte sehen wie es sich schlägt!"
+
+msgid "MAP033_TRAINER_4_DEFEAT"
+msgstr "Ah, es ist nicht so stark wie ich gehofft hatte..."
+
+msgid "MAP033_TRAINER_5"
+msgstr "Geh mir aus dem Weg!"
+
+msgid "MAP033_TRAINER_5_DEFEAT"
+msgstr "Rennen, rennen, rennen!"
+
+msgid "MAP033_TRAINER_6"
+msgstr "Wasser Pokémon sind die besten."
+
+msgid "MAP033_TRAINER_6_DEFEAT"
+msgstr "Erh... Andere Typen sind auch gut..."
+
+msgid "MAP033_TRAINER_7"
+msgstr "Auch Frauen können gute Trainer sein!"
+
+msgid "MAP033_TRAINER_7_DEFEAT"
+msgstr "Du bist ein starkes Kind..."
+
+msgid "MAP033_TRAINER_8"
+msgstr "Lauf nicht vor mir weg!"
+
+msgid "MAP033_TRAINER_8_DEFEAT"
+msgstr "Oh, verdammt! Ich habe verloren!"
+
+msgid "MAP033_TRAINER_9"
+msgstr "Du bist ein neuer Trainer, nicht wahr? Ich habe auch erst angefangen!"
+
+msgid "MAP033_TRAINER_9_DEFEAT"
+msgstr "Jeder kann ein Trainer sein, aber manche eignen sich einfach besser dafür als andere, meinst du nicht?"
+
+msgid "MAP037_NPC_1"
+msgstr "Ich vermesse das Gebiet, um einen Wanderpfad anzulegen. Es ist so mühsam durch diese Höhle zu gehen um irgendwohin zu gelangen.... Viel Glück, {Kleiner|Kleines|Kiddo}. Nimm dies, du wirst es brauchen."
+
+msgid "MAP037_TRAINER_1"
+msgstr "Irgendwie finde ich es lustig, wahllos unschuldige Trainer zu verprügeln!"
+
+msgid "MAP037_TRAINER_1_DEFEAT"
+msgstr "...Ich nehme an, dass alle Rüpel irgendwann ihre wohlverdiente Strafe erhalten..."
+
+msgid "MAP042_NPC_1"
+msgstr "Howdy{, Trainer!|, Trainerin!|!}\nIst dies deine erste Arena?\nDu musst aufgeregt sein! Ich werde Guido genannt. Ich bin hier um aufsteigenden Trainern wie dir Tipps zu geben, um die Tandor Liga zu erobern! Maria hier ist eine Normal-Typ-Expertin.\nNormal-Typen sind nicht besonders effektiv gegen andere Typen, aber sie haben auch nur wenige Schwächen. Kampf-Typen wie Menki sind hier stark, und Stahl-Typen wie Orchiluks und Erzel sind auch eine gute Wahl, weil sie ihren Attacken widerstehen. Ansonsten sollte ein voller Angriff deines stärksten Pokémon wahrscheinlich auch funktionieren.\nViel Glück! Ich werde dich anfeuern!\n...Oh, und nimm dies!"
+
+msgid "MAP042_TRAINER_1"
+msgstr "Maria mag zwar die erste Arenaleiterin sein,\naber sie war ein Champion!\nDu bist noch Lichtjahre entfernt sie zu besiegen!"
+
+msgid "MAP042_TRAINER_1_DEFEAT"
+msgstr "Lichtjahre messen die Entfernung und nicht die Zeit..."
+
+msgid "MAP042_TRAINER_2"
+msgstr "Hah! Du denkst du hast was es braucht um Maria zu schlagen?\nErlaube mir das zu beurteilen!"
+
+msgid "MAP042_TRAINER_2_DEFEAT"
+msgstr "Hmm. Dieser hat Potential."
+
+msgid "MAP042_TRAINER_3"
+msgstr "Hallo nochmal~\nAlso, ich glaube wir haben uns noch nicht richtig vorgestellt. Wie ist dein Name? ... PN?. Gefällt mir~\nWillkommen in der Nowtoch City Pokémon Arena!~ Ich bin Maria, Normal-Typ-Spezialistin...\naber das weißt du ja schon!\nNatürlich kennen mich die meisten als \"Maria, Meisterin von Tandor\"...\nAllerdings sind diese Tage meines Lebens vorbei. Jetzt unterweise ich junge Trainer wie dich auf ihrem Weg an die Spitze. Es ist ein langer, schwieriger Kampf, den ganzen Weg rauf {zum Meister|zur Meisterin|bis Meister}... Hast du was es dafür braucht? Dein erster Test in der Tandor Liga... beginnt jetzt! Glückwunsch!~ Ich muss sagen, das Temperament, dass du im Kampf gezeigt hast....\nDu erinnerst mich an mich als ich angefangen habe.\nVersuche diese Entschlossenheit beizubehalten und du wirst es noch weit bringen!~ Außerdem, nimm noch diese TM!~ Während du zusammen mit deinen Pokémon reist, wird das Band zwischen euch stärker. Je tiefer eure Freundschaft ist, desto stärker seid ihr im Kampf! TMs können beliebig oft eingesetzt werden, also bring sie so vielen Pokémon bei wie du möchtest! Fast alle können diese erlernen.~ Es hat Spaß gemacht gegen dich zu kämpfen, PN. Viel Glück auf deiner Reise!~"
+
+msgid "MAP042_TRAINER_3_DEFEAT"
+msgstr "Da!\nDas ist der Kampfgeist den ich sehen will!\nDu hast dir diesen Normal-Orden verdient!"
+
+msgid "MAP043_NPC_1"
+msgstr "Es braucht viel Arbeit, um ein cooler Trainer zu sein. Du musst dich cool verhalten, dich cool anziehen und cool sein. Oh, und coole Pokémon großziehen. Diese Stadt entzieht mir meine Coolness. Ich verschwinde von hier sobald meine Pokémon stark genug sind, um wieder durch die Höhle zu kommen."
+
+msgid "MAP043_NPC_2"
+msgstr "Das Schöne an Pokémon-Centern ist, dass sie jedem einen freien Platz zum Schlafen geben. Es ist wie ein kostenloses Hotel, außer, dass niemand Minzbonbons auf deinem Kopfkissen liegen lässt. Wer zahlt überhaupt für den Bau und Unterhalt von Pokémon-Centern? Es ist ja nicht so, dass sie eigenständig Profit machen...."
+
+msgid "MAP043_NPC_3"
+msgstr "Heile deine Pokémon, bevor du die Stadt verlässt! Vertrau mir! Man weiß nie wann ein Rivale einen herausfordern könnte, besonders wenn man geschwächt ist, zum Beispiel nach einem Arenakampf."
+
+msgid "MAP044_NPC_1"
+msgstr "Meine Großmutter lebt in Legenstadt.\nJetzt wo die U-Bahn geöffnet ist, kann ich sie jedes Wochenende besuchen."
+
+msgid "MAP045_NPC_1"
+msgstr "Ich warte auf den Zug.\nAber es fühlt sich schon wie eine Ewigkeit an!"
+
+msgid "MAP046_NPC_1"
+msgstr "Hi, hi! Ich bin der Namenbewerter! Ich bin der Wahrsager der Namen! Ich würde mich freuen, den Spitznamen deines Pokémon zu bewerten. Den Namen wessen Pokémon soll ich prüfen? Ich verstehe. Komm mich wieder besuchen. Na, na, na... Das ist nur ein Ei! Hmmm... Dann ist es ! Das ist ein großartiger Spitzname! Er ist über jeden Vorwurf erhaben! Du wirst gut daran tun, dein jetzt und darüber hinaus zu pflegen. Hmmm... , nicht wahr? Das ist ein ziemlich guter Name. Aber! Was sagst du, wenn ich ihm einen besseren Namen gebe? Ah, gut. Sodann, wie soll der neue Spitzname lauten? Erledigt! Von nun an soll dieses Pokémon bekannt sein als ! Es sieht nicht anders aus als vorher, und doch ist es deutlich besser! Wie schön für dich! Erledigt! Von nun an soll dieses Pokémon bekannt sein als ! Der Name ist besser als vorher! Wie schön für dich! Ich verstehe. Komm mich wieder besuchen. Ich verstehe. Komm mich wieder besuchen."
+
+msgid "MAP046_NPC_10"
+msgstr "Hallo{, Trainer!|, Trainerin!|!} \nHey, kennst du dich mit TMs und VMs aus? TMs, oder Technische Maschinen, sind sehr nützliche Items die benutzt werden können, um Pokémon Attacken beizubringen. VMs, oder Versteckte Maschinen, sind eine besondere Art von TM die dir helfen kann Hindernisse auf deinem Weg zu überwinden! Hier, warum probierst du nicht diese TM aus? Diese TM beinhaltet Anziehung. Die meisten Pokémon können sie lernen! Warum probierst du nicht aus es einem deiner Pokémon beizubringen?"
+
+msgid "MAP046_NPC_11"
+msgstr "Ich liebe es Pokémonspiele zu spielen!\nIch have die Blaue Edition und meine Schwester die Rote. So können wir sie alle fangen!"
+
+msgid "MAP046_NPC_12"
+msgstr "Mama sagt ich kann kein Pokémon haben bis ich älter bin.\nAlso hat sie mir stattdessen ein Videospiel gegeben!"
+
+msgid "MAP046_NPC_13"
+msgstr "Die Tandor Region ist in zwei Teile unterteilt, West und Ost. Wir sind im Moment in Tandor West."
+
+msgid "MAP046_NPC_2"
+msgstr "Hallo! Bist du {ein Pokémon-Trainer|eine Pokémon-Trainerin|Pokémon-Trainer}? Ich sehe, du hast eine glänzende Zukunft vor dir! Komm wieder her, wenn du mehr Erfahrung hast, und ich kann deinen Pokémon ein paar starke Attacken lehren."
+
+msgid "MAP046_NPC_3"
+msgstr "Meine Verlobte will Kinder, aber ich bin mir nicht so sicher.\nIch weiß einfach nicht ob ich ein guter Vater bin, weißt du?"
+
+msgid "MAP046_NPC_4"
+msgstr "Ich bin nach Nowtoch City gezogen, weil ich mit meiner Verlobten eine Familie gründen wollte. Aber er hat Bedenken..."
+
+msgid "MAP046_NPC_5"
+msgstr "Hey! Du siehst aus wie {ein Trainer|eine Trainerin|ein Trainer}, das bedeutet du sammelst Pokémon! Ich such nach Froxig. Wenn du eines besitzt, tausche ich es gegen mein Bäshaun. Du hast keine Pokémon... Kümmere dich gut um ihn! Wohoo, Ich habe jetzt ein glückliches Froxig! Du hast kein Froxig, schätze ich... Komm erst wieder wenn du ein Froxig hast!"
+
+msgid "MAP046_NPC_6"
+msgstr "Hallo und Willkommen im Nowtoch City Pokémon Ranger HQ. Bist du auf der Suche nach einer Mission? Tut mir Leid, aber diesmal akzeptieren wir keine Hilfe von Bürgern."
+
+msgid "MAP046_NPC_7"
+msgstr "Du beginnst deine Reise als {Pokémon-Trainer|Pokémon-Trainerin|Pokémon-Trainer}? Dann solltest du das hier nehmen! Der Hyperheiler heilt jede Statusveränderung. Es heilt sogar Verwirrung.\nBenutze es, wenn dein Pokémon sich in einer Notsituation befindet."
+
+msgid "MAP046_NPC_8"
+msgstr "Wir Pokémon-Ranger sind Tandors Strafverfolgung.\nDie meisten großen Städte haben ein Ranger-Center, aber das Hauptquartier ist in Sonnenstrand."
+
+msgid "MAP046_NPC_9"
+msgstr "Hast du genug Heilitems für dein Pokémon?\nHier, du solltest einige mehr nehmen. Ein Trank ist eine großartige Möglichkeit KP in einer Notlage wiederherzustellen.\nAllerdings solltest du trotzdem darauf achten, dass du sie in einem Pokémon-Center heilst."
+
+msgid "MAP046_SIGN_1"
+msgstr "Es gibt einen Wetterbericht im Fernsehen.\nEs sieht so aus, als ob der Himmel morgen klar ist. Eine Talkshow läuft im Fernsehen.\nSieht ziemlich langweilig aus."
+
+msgid "MAP046_SIGN_10"
+msgstr "Das Fernsehen zeigt gerade einen Zeichentrickfilm, \"Pokémon Universum\"."
+
+msgid "MAP046_SIGN_11"
+msgstr "Das Fernsehen zeigt gerade einen Zeichentrickfilm, \"Pokémon Universum\"."
+
+msgid "MAP046_SIGN_12"
+msgstr "Es sind auch einige Pokémonspiele auf dem Computer."
+
+msgid "MAP046_SIGN_13"
+msgstr "Das Bücherregal hat viele großformatige Bücher und Familienfotoalben."
+
+msgid "MAP046_SIGN_2"
+msgstr "Es gibt einen Wetterbericht im Fernsehen.\nEs sieht so aus, als ob der Himmel morgen klar ist. Eine Talkshow läuft im Fernsehen.\nSieht ziemlich langweilig aus."
+
+msgid "MAP046_SIGN_3"
+msgstr "Der Computer zeigt den Titelbildschirm eines beliebten Spiels, \"Ursprung des Dragorans\"."
+
+msgid "MAP046_SIGN_4"
+msgstr "Hallo und Willkommen im Nowtoch City Pokémon Ranger HQ. Bist du auf der Suche nach einer Mission? Tut mir Leid, aber diesmal akzeptieren wir keine Hilfe von Bürgern."
+
+msgid "MAP046_SIGN_5"
+msgstr "Es hat verschiedene Wildtierführer, topographische Karten und Infobroschüren."
+
+msgid "MAP046_SIGN_6"
+msgstr "Es hat verschiedene Wildtierführer, topographische Karten und Infobroschüren."
+
+msgid "MAP046_SIGN_7"
+msgstr "Der Monitor ist ausgeschaltet."
+
+msgid "MAP046_SIGN_8"
+msgstr "Der Monitor ist ausgeschaltet."
+
+msgid "MAP046_SIGN_9"
+msgstr "Nimm kein Essen aus dem Kühlschrank der netten Dame."
+
+msgid "MAP047_NPC_1"
+msgstr "Maruki: Grrwuff!"
+
+msgid "MAP047_NPC_2"
+msgstr "Seit ich Maruki getroffen habe, ist mein Leben viel schöner geworden!\nIch kann ein Leben ohne Pokémon nicht vorstellen."
+
+msgid "MAP047_SIGN_1"
+msgstr "Was bewahrt eine Arenaleiterin in ihrem Kühlschrank auf? ...Ew, verdorbene Milch!"
+
+msgid "MAP047_SIGN_2"
+msgstr "Bücher stehen willkürlich auf einem Regal, darunter auch Marias Autobiographie: \"Der Weg zur Meisterschaft!\""
+
+msgid "MAP047_SIGN_3"
+msgstr "Bücher stehen willkürlich auf einem Regal, darunter auch Marias Autobiographie: \"Der Weg zur Meisterschaft!\""
+
+msgid "MAP047_SIGN_4"
+msgstr "Der Fernseher zeigt eine Nachrichtensendung.\n...Es ist ziemlich langweilig."
+
+msgid "MAP047_SIGN_5"
+msgstr "Der Fernseher zeigt eine Nachrichtensendung.\n...Es ist ziemlich langweilig."
+
+msgid "MAP047_SIGN_6"
+msgstr "Es ist im Allgemeinen keine gute Idee einen fremden Kühlschrank zu durchwühlen."
+
+msgid "MAP047_SIGN_7"
+msgstr "Es ist voller Bücher über Pokémonpflege."
+
+msgid "MAP047_SIGN_8"
+msgstr "Es ist voller Bücher über Pokémonpflege."
+
+msgid "MAP048_SIGN_1"
+msgstr "Es ist eine Nintendo Wii U.\nAber ich habe gehört, es kommt bald eine neue Konsole raus."
+
+msgid "MAP048_SIGN_2"
+msgstr "Es ist mein Bett.\nIch brauche gerade kein Nickerchen."
+
+msgid "MAP048_SIGN_3"
+msgstr "Es ist mein Bett.\nIch brauche gerade kein Nickerchen."
+
+msgid "MAP048_SIGN_4"
+msgstr "Es ist vollgestopft mit Büchern über Pokémon. \"Ich und mein Eulzchen\",\n\"Jerboltas großes Abenteuer\",\n\"Die Suche nach den Legenden\". Ich habe das alles schon oft gelesen."
+
+msgid "MAP048_SIGN_5"
+msgstr "Im Fernsehen wird ein Pokémonkampf gezeigt.\nWow! Eines der Pokémon hat gerade eine Mega-Entwicklung vollzogen! Im Fernsehen wird eine Werbung für ein neues Videospiel gezeigt.\nEs ist ein Spiel über Pokémonkampfsimulation names \"Rote und Blaue Edition\". Im Fernsehen wird ein Bericht gezeigt.\nAnscheinend wird ein neues Kernkraftwerk in Tandor gebaut. ...Okay, Zeit zu gehen!"
+
+msgid "MAP048_SIGN_6"
+msgstr "Es ist vollgestopft mit Büchern über Pokémon. \"Ich und mein Eulzchen\",\n\"Jerboltas großes Abenteuer\",\n\"Die Suche nach den Legenden\". Ich habe das alles schon oft gelesen."
+
+msgid "MAP049_NPC_1"
+msgstr "PN, Liebling!\nHeute ist dein großer Tag, nicht wahr? Ich kann nicht anders, als bedrückt zu sein, wenn ich sehe, wie mei{n|ne|n} Klein{er|e|es} erwachsen wird und das Haus verlässt. Oh, wenn diese alten Knochen doch nur mehr leisten könnten und ich uns beide versorgen könnte! Aber wir wissen beide, dass du dazu bereit bist. Du, und dieser Junge, .Theo....\nEr ist dir stets in deinen Fußstapfen gefolgt. Du warst immer so fähig, aber ich frage mich was mit ihm ist. Er ist schließlich jünger. Ich bin sicher, sein Vater, Cameron würde ihm nicht erlauben zu gehen, wenn er sich nicht sicher wäre..\nWie dem auch sei, um deinen großen Tag zu feiern habe ich ein Geschenk für dich. Na los, mach schon auf! PN hat Laufschuhe erhalten! (Es ist eine Anleitung dabei: Halte Z zum Rennen. Du kannst die Taste und Auto-Rennen im Menü umstellen.) *schnüff* O-oh, nimm's mir nicht übel, Liebling....\nIch bin nur eine emotionale alte Dame.\nWenn nur dein Vater jetzt hier wäre....\nNun, ich bin sicher, er ist auch stolz auf dich. Und du wirst ihm auf deinem Abenteuer sicher über dem Weg laufen. So, ich sollte dich nicht länger aufhalten.\nGrüß den netten Professor von mir, ja? Und wenn es dir nichts ausmacht, wieder vorbeizuschauen, nachdem du dein erstes Pokémon bekommen hast, würde ich es liebend gerne sehen. Viel Glück, Liebling!"
+
+msgid "MAP049_NPC_2"
+msgstr "... (Sie antwortet nicht.) (Ihre Atmung ist langsam und gleichmäßig, als ob sie in einem tiefen Schlaf ist.)"
+
+msgid "MAP049_NPC_3"
+msgstr "Ich werde nicht ruhen bis ein Heilmittel für Lucilles Zustand gefunden wurde. Aber. nur an ihrer Seite zu stehen,\nsie in meinen Armen zu halten...\nDas ist fürs Erste genug. Aber ich bin natürlich unglaublich stolz auf dich, dass du der Champ von Tandor geworden bist. Du hast so viel erreicht wie ich in meiner Blütezeit als Pokémon-Ranger-Kadett und dann als vollwertiger Ranger. Heldentum liegt in der Familie, nehme ich an. Diese Art von Leben...\nIch hatte vergessen, wie es war..\nIch verbrachte so viele Jahre in Eile,.\nvon Krise zu Krise jagend. Und... wenn ich ehrlich bin...\nmein Alter hat mich eingeholt.\nIch bin 45 Jahre alt.\nIch bin nicht so lebhaft wie damals, als ich jünger war. Eine Pause von der Action wie dieser ist... nett. Imperilla ist nicht mehr bei mir.\nEs kehrte zum Baykal-Wald zurück, es ist zuhause. Weißt du, trotz unserer Partnerschaft war es nie wirklich mein Pokémon. Es stand mir zur Seite, weil es sich so entschieden hat. Und es war auch seine Entscheidung zu gehen. Aber ich weiß, dass wir uns wiedersehen werden."
+
+msgid "MAP049_SIGN_1"
+msgstr "Es ist ein Breitbildfernseher. Ich mag es, während des Abendessen fernzusehen."
+
+msgid "MAP049_SIGN_10"
+msgstr "Skandalös!\nEs ist die Sockenschublade der Tante."
+
+msgid "MAP049_SIGN_11"
+msgstr "Skandalös!\nEs ist die Sockenschublade der Tante."
+
+msgid "MAP049_SIGN_12"
+msgstr "Es ist mit Pokémon Büchern voll gepackt.\n\"Pokémon Leben\" ... \"Pokémon Entwicklung\" ... \"Philosophie der Pokémon\" ..."
+
+msgid "MAP049_SIGN_13"
+msgstr "Dieses Bücherregal enthält Tantes heimliches Lesevergnügen.\n\"Der Arkani Prinz: Eine feurige Romanze!\""
+
+msgid "MAP049_SIGN_2"
+msgstr "Es ist ein Breitbildfernseher. Ich mag es, während des Abendessen fernzusehen."
+
+msgid "MAP049_SIGN_3"
+msgstr "Da ist eine gerahmte Stickerei.\n \"Zuhause ist, wo das Herz ist!\"\nUnd darunter ist ein Herz."
+
+msgid "MAP049_SIGN_4"
+msgstr "Dieser Schrank ist mit antiken Porzellanplatten gefüllt."
+
+msgid "MAP049_SIGN_5"
+msgstr "Dieser Schrank ist mit antiken Porzellanplatten gefüllt."
+
+msgid "MAP049_SIGN_6"
+msgstr "Der Kühlschrank. Ich hoffe ihr macht es nichts aus, wenn ich mich bediene..."
+
+msgid "MAP049_SIGN_7"
+msgstr "Der Ofen und die Spüle. Es ist sauber, weil wir normalerweise bestellen."
+
+msgid "MAP049_SIGN_8"
+msgstr "Eine Tasse Kaffee ist auf dem Tisch. Er ist kalt."
+
+msgid "MAP049_SIGN_9"
+msgstr "Aus dem Fenster kann ich Professor Bamb'us Labor sehen. Ich frage mich, warum er ein Apostroph in seinem Namen hat."
+
+msgid "MAP050_NPC_1"
+msgstr "Der bPokémon-Trainer-Eignungstest/b unterteilt Trainer in einen der drei Typen:\nDefensiv, c2=043c3affOffensiv/c2, undc2=65467b14 Ausgewogen. Der Professor wird dir dann ein Starter\nPokémon geben, das deinem Kampfstil am besten entspricht. Defensive Trainer erhalten\ndas Pflanzen-Pokémon Orchiluks.\nEs ist zahm, kühn, und leicht zu trainieren. c2=043c3affOffensive/c2 Trainer erhalten\ndas Feuer-Pokémon c2=043c3affGlutino/c2.\nEs ist stark und schnell, kann aber schwer zu kontrollieren sein. c2=65467b14Ausgewogene/c2 Trainer erhalten\ndas Wasser-Pokémon c2=65467b14Voltus/c2.\nEs ist ruhig und seine Natur erlaubt es ihm, sich jeder Situation anzupassen. Wähle weise - ein Starter ist dein Hauptpartner auf deiner Reise!"
+
+msgid "MAP050_NPC_2"
+msgstr "Komm' schon PN, lass uns endlich loslegen!! Diese Spannung bringt mich noch um!"
+
+msgid "MAP050_NPC_3"
+msgstr "Ich bin ein Experte in Nuklearer Reinigung. \nHast du irgendwelche Nukleare-Pokémon, die ich heilen kann? Ihr Aussehen und ihre Typen bleiben bestehen, sie werden dir nur nicht mehr ungehorsam sein oder dich angreifen. Okay! Ich behandle dein . Es wird nicht lange dauern. Und, fertig! Dein ist komplett geheilt! Stell sicher, dass du alle verstrahlten Pokémon die du hast zu mir bringst, damit ich Sie heilen kann. Wenn du ein krankes Pokémon hast, bring sie zu mir und ich heile sie. Denk daran, dies betrifft nur normale Pokémon die von radioaktiver Strahlung verseucht wurden. Reine Nuklear-Typen wie zum Beispiel Radiana und Fermi können nicht geheilt werden. Wenn du verstrahlte Pokémon hast, bringe sie zu mir und ich heile sie."
+
+msgid "MAP050_NPC_4"
+msgstr "Geee-faa!"
+
+msgid "MAP050_SIGN_1"
+msgstr "Es ist eine Topfpflanze. Sieht gut gewässert aus."
+
+msgid "MAP050_SIGN_10"
+msgstr "Pokémon-Bücher in einer Vitrine. ...Hey! \"Das Mysterium der Elemente!\" -Ernest Bamb'u\nDer Professor hat das geschrieben!"
+
+msgid "MAP050_SIGN_11"
+msgstr "Es ist eine Maschine, welche Pokémon heilt."
+
+msgid "MAP050_SIGN_2"
+msgstr "Es ist eine Topfpflanze. Sieht gut gewässert aus."
+
+msgid "MAP050_SIGN_3"
+msgstr "Es ist eine Maschine, welche Pokémon heilt."
+
+msgid "MAP050_SIGN_4"
+msgstr "Pokémon-Bücher in einer Vitrine. ...Hey! \"Das Mysterium der Elemente!\" -Ernest Bamb'u\nDer Professor hat das geschrieben!"
+
+msgid "MAP050_SIGN_5"
+msgstr "Pokémon-Bücher in einer Vitrine. ...Hey! \"Das Mysterium der Elemente!\" -Ernest Bamb'u\nDer Professor hat das geschrieben!"
+
+msgid "MAP050_SIGN_6"
+msgstr "Pokémon-Bücher in einer Vitrine. ...Hey! \"Das Mysterium der Elemente!\" -Ernest Bamb'u\nDer Professor hat das geschrieben!"
+
+msgid "MAP050_SIGN_7"
+msgstr "Es ist eine Topfpflanze. Sieht gut gewässert aus."
+
+msgid "MAP050_SIGN_8"
+msgstr "Einige Artikel sind an die Wand gepinnt... \"Schütze deine Pokémon, benutze Tränke!\" \"Pokédex: Die einzig wahre Quelle für Pokémon-Infos!\""
+
+msgid "MAP050_SIGN_9"
+msgstr "Das Fenster gibt einen schönen Blick auf die Felswand. Es gibt da nichts zu sehen."
+
+msgid "MAP050_TRAINER_1"
+msgstr "Oh, ich muss etwas verwechselt haben... Uh... HEY! ICH BIN ES LEID ZU WARTEN! PN hat {seinen Starter schon|ihren Starter schon|schon einen Starter}!\nWann bekomme ich meinen? Ich bin fertig mit deiner Analyse, Theo. Hmm... Ja!!\nMein erstes Pokémon! Uhm, das sieht nicht aus wie ein Voltus. Uhm, das sieht nicht aus wie ein Glutino. Uhm, das sieht nicht aus wie ein Orchiluks. Was zum... .Ähm., ich meine., ja, ich habe mich nur entschieden... ein bisschen vom gewöhnlichen Starter-Auswahl-Prozess abzuweichen. Ja., das ist es. Ihr zwei, habt Spaß mit euren neuen Pokémon! PN... Du hast ein Pokémon.\nUnd nun habe ich auch ein Pokémon.\nDu weißt was das bedeutet?\nLass uns kämpfen! Oh nein, bitte, nicht im Labor... A-aber.... Wie....\nIch bin dazu bestimmt der b-beste Trainer zu sein... Das ist u-unmöglich...\nGute Trainer verlieren nie... I.... Ich.... *sniff*\nWaaaaaaaahhh!! Bitte nicht weinen Theo... Hier, ich heile eure Pokémon. Deine Pokémon wurden geheilt... Ich w-wollte ein u-unbesiegbarer Trainer sein...\nWarum konnte ich nicht gewinnen?\nIch wollte wirklich gewinnen... Nun.... Zwischen deinem Starter und dem von PN, hat {seines|ihres|deren} einen Typvorteil. Wasser schlägt Feuer, Feuer schlägt Pflanze, Pflanze schlägt Wasser. Das ist das Dreieck der Elemente..\nNun, eines von ihnen jedenfalls..\nZu lernen wie Typen interagieren ist ein wichtiger Teil des Trainerdaseins. N-nicht möglich! Ich könnte durchdrehen!\nWieso bekommt PN den besseren Starter?!\nUuuuaaaaahhhhh! Das ist nicht faaaaair!!\nI-Ich gehe nach Hause!! Schade...\nEr hat das schwerer genommen, als ich gehofft habe. Aber, du solltest ihn nicht so schnell verurteilen.\nEr ist immer noch ein Kind.\nIch vermute er wird schnell merken, dass ein Pokémon zu trainieren nicht so einfach ist, wie er es sich vorgestellt hat... Ja!! Mein erster Sieg!\nMeine Pokémon und ich werden\ndas beste und coolste Team in Tandor!PN, du bist nichts im Vergleich zu mir.\nNichts!!\nHahaha!\nIch muss das Vater zeigen! PN...\nIch bin überrascht, dass du es geschafft hast zu verlieren,. Du musst erkannt haben, dass dein Starter\neinen Typvorteil gegenüber Theos hat.\nWasser schlägt Feuer, Feuer schlägt Grass, und Grass schlägt Wasser. Das ist das Dreieck der Elemente..\nNun, zumindest einer von ihnen. Normalerweise, in einem Kampf wie diesem,\nist es eine klare Sache...\nOder vielleicht hast du Ihn gewinnen lassen?\nWenn du das hast, war das nett von dir.. Er hat grosse Töne gespuckt, aber ich habe das Gefühl,\ner hätte es nicht so gut aufgenommen, wenn er seinen ersten Kampf verloren hätte.. Du scheinst dich gut zu halten.\nHier, lass mich deine Pokémon heilen. Deine Pokémon wurden geheilt... Ich gehe zum Eingang der Route 1 am Stadtrand. Bring Theo mit und ich werde dir beibringen, wie man Pokémon fängt. Wir sehen uns später, PN."
+
+msgid "MAP050_TRAINER_1_DEFEAT"
+msgstr "Was? A-aber ich sollte doch gewinnen!"
+
+msgid "MAP052_NPC_1"
+msgstr "Willkommen im weltberühmten Strand Resort und Casino! Wie kann ich dir behilflich sein? Das Strand Resort ist ein 5-Sterne Lokal bekannt auf der ganzen Welt für hochqualitatives Entertainment, Unterkunft und Essen, ansässig in Sonnenstrand. Alle Kunden können gerne an unserer täglichen Lottoziehung an der Theke teilnehmen, um Preise zu gewinnen. Du bist auch herzlich eingeladen die große Auswahl an Entertainment in unserem Kasino zu genießen, mit der Chance seltene und wertvolle Items und sogar noch selteneren Pokémon zu gewinnen! Zu deiner Rechten ist das Kasino, wo du eine Vielfalt an aufregenden Glücksspielen spielen kannst, bei denen du die Möglichkeit hast, große Preise zu gewinnen. Zu deiner Linken ist unser 5-Sterne Restaurant und Bar, welche auch ein Pokémon Pflegecenter beinhaltet, wo unsere Spezialisten deine Pokémon verwöhnen und erfrischen. Der Aufzug führt in das Hotel. Wir bieten eine große Auswahl an Raumtypen an: Einzel, Doppel, Suite, Deluxe Suite und Penthouse. Mein Beileid, aber du musst 18 Jahre oder älter sein, um einen Raum in unserem Luxushotel zu reservieren. Genieße deine Zeit im Strand Resort!"
+
+msgid "MAP052_NPC_10"
+msgstr "Es tut mir leid, aber der Zugang zum Hotel ist auf Hotelgäste und deren Gäste beschränkt."
+
+msgid "MAP052_NPC_11"
+msgstr "Ich liebe es in die Bar zu kommen und mich nach einem langen Tag am Strand zu entspannen! Das Wichtigste als Rettungsschwimmer ist, gut auszusehen, während man dieses weiße Zeug auf der Nase trägt.\nWas? Da steckt noch mehr dahinter?"
+
+msgid "MAP052_NPC_12"
+msgstr "Es wäre romantischer, wenn er\nnicht die andere Frau da drüben begaffen würde..."
+
+msgid "MAP052_NPC_13"
+msgstr "Wir sind zusammen auf einem romantischen Date."
+
+msgid "MAP052_NPC_14"
+msgstr "Yo! Ich habe gehört, dass die Arenaleiterin eine echt heiße Schnitte ist! Ich werde Pokémon trainieren, damit ich gut genug bin, um gegen sie zu kämpfen, und dann werde ich sie um ein Date bitten!"
+
+msgid "MAP052_NPC_15"
+msgstr "Hallo{, Trainer!|, Trainerin!|!}\nIch bin der bPokémonfriseur/b. Gegen eine geringe Gebühr kann ich aus deinen Pokémon das Beste herausholen. Mein Terminkalender ist allerdings ziemlich voll, ich habe nur Zeit für ein Pokémon am Tag.\nWelches Pokémon soll ich behandeln? GWelche Art von Behandlung möchtest du für es? sieht glücklich aus.\nDie Zuneigung von ist gestiegen! Komm morgen wieder! Scheinbar ist das zu viel für dich. Welchen Wert soll ich frisieren? bewundert den neuen Look.\nFleiß-Punkte für von wurden erhöht! Komm morgen wieder! Scheinbar ist das zu viel für dich. Hm? That Pokémon cannot benefit from Rare Grooming. fühlt sich wie ein neues Pokémon.\n ist ein Level gestiegen! Komm morgen wieder! Scheinbar ist das zu viel für dich. Komm zurück, wenn du deine Pokémon behandeln lassen möchtest! Komm zurück, wenn du deine Pokémon behandeln lassen möchtest!"
+
+msgid "MAP052_NPC_16"
+msgstr "Genieße deinen Aufenthalt im Sonnenstrand-Casino! Glückliches Spiel!"
+
+msgid "MAP052_NPC_17"
+msgstr "Voltofalle ist ein Spiel mit niedrigem Einsatz und niedrigem Gewinn. Ich finde es tatsächlich ziemlich entspannend zu spielen. Schau mal, ob du eine gute Serie hinbekommst!"
+
+msgid "MAP052_NPC_18"
+msgstr "Heheheheh! Man nennt mich Lucky Jack! Jede Nacht fahre ich Touristen in einer Limousine umher. Jeden Tag bringe ich meine Gewinne in dieses Casino hier und spielen den ganzen Tag lang! Ich hab am Ende auch immer mehr als ich am Anfang hatte! Ich mag deinen Stil, {Kleiner|Kleine|Kind}! Hier ist ein kleines Geschenk, von mir für dich. pn erhält 100 Münzen! Vielleicht färbt ja etwas von meinem Glück auf dich ab, hm?"
+
+msgid "MAP052_NPC_19"
+msgstr "Hier sind keine Uhren oder Fenster... Wie lange bin ich schon hier? Naja, dann kann ich auch noch eine Runde spielen..."
+
+msgid "MAP052_NPC_2"
+msgstr "c3=E82010,F8A8B8Dies ist die Pokémon-Lotterie. Ich bin Felicitas, deine Bedienung für heute./c3 c3=E82010,F8A8B8Wenn die gezogene Zahl mit der ID-Nummer eines deiner Pokémon übereinstimmt, kannst du fantastische Preise gewinnen./c3 c3=E82010,F8A8B8Möchtest du die Glückszahl von heute überprüfen?/c3 c3=E82010,F8A8B8Zuerst werde ich die Glückszahl der heutigen Pokémon-Lotterie nachschlagen./c3 ... c3=E82010,F8A8B8Deine Lotterie-Nummer ist/c3 b/bc3=E82010,F8A8B8./c3 c3=E82010,F8A8B8Lass uns nun sehen, ob es mit der ID-Nummer eines deiner Pokémon übereinstimmt./c3 c3=E82010,F8A8B8Es tut mir Leid. Keine der Ziffern stimmt überein.../c3 c3=E82010,F8A8B8Bitte besuche uns später erneut./c3 c3=E82010,F8A8B8Glückwunsch!/c3 c3=E82010,F8A8B8Die ID-Nummer von entspricht der Lotterie Nummer!/c3 c3=E82010,F8A8B8Glückwunsch!/c3 c3=E82010,F8A8B8Die ID-Nummer deines Pokémon in der Box entspricht der Lotterie Nummer!/c3 c3=E82010,F8A8B8Oh mein Gott, alle fünf Ziffern stimmen überein!/c3 c3=E82010,F8A8B8Du hast den Jackpot gewonnen!/c3 c3=E82010,F8A8B8Bitte besuche uns bald wieder! Auf Wiedersehen von Felicitas, deiner Bedienung!/c3 c3=E82010,F8A8B8Du hast keinen Platz übrig. Schaffe Platz und komm dann zurück./c3 c3=E82010,F8A8B8Die letzten vier Ziffern stimmen überein, also gewinnst du den ersten Preis!/c3 c3=E82010,F8A8B8Bitte besuche uns bald wieder! Auf Wiedersehen von Felicitas, deiner Bedienung!/c3 c3=E82010,F8A8B8Du hast keinen Platz übrig. Schaffe Platz und komm dann zurück./c3 c3=E82010,F8A8B8Die letzten drei Ziffern stimmen überein, also gewinnst du den zweiten Preis!/c3 c3=E82010,F8A8B8Bitte besuche uns bald wieder! Auf Wiedersehen von Felicitas, deiner Bedienung!/c3 c3=E82010,F8A8B8Du hast keinen Platz übrig. Schaffe Platz und komm dann zurück./c3 c3=E82010,F8A8B8Die letzten beiden Ziffern stimmen überein, also gewinnst du den dritten Preis!/c3 c3=E82010,F8A8B8Bitte besuche uns bald wieder! Auf Wiedersehen von Felicitas, deiner Bedienung!/c3 c3=E82010,F8A8B8Du hast keinen Platz übrig. Schaffe Platz und komm dann zurück./c3 c3=E82010,F8A8B8Die letzte Ziffer stimmt überein, also gewinnst du den vierten Preis!/c3 c3=E82010,F8A8B8Bitte besuche uns bald wieder! Auf Wiedersehen von Felicitas, deiner Bedienung!/c3 c3=E82010,F8A8B8Du hast keinen Platz übrig. Schaffe Platz und komm dann zurück./c3 c3=E82010,F8A8B8Oh, ich verstehe.\nBitte besuche uns bald wieder./c3"
+
+msgid "MAP052_NPC_20"
+msgstr "Dreh, dreh, dreh!\nDreh, dreh, dreh!\nGewinnen, gewinnen, gewinnen!"
+
+msgid "MAP052_NPC_21"
+msgstr "Keine krummen Geschäfte, hörst du? Die Kamera hat dich im Blick."
+
+msgid "MAP052_NPC_22"
+msgstr "Oh! Ich habe heute einen großen Gewinn gemacht! Ich werde mir ein süßes Pokémon kaufen!"
+
+msgid "MAP052_NPC_23"
+msgstr "cnc3=E8D020,F8E888Wir tauschen deine Münzen gegen Preise ein./c3 CNc3=E8D020,F8E888Welchen Preis möchtest du?/c3 CNc3=E8D020,F8E888Du möchtest also ?/c3 CNc3=E8D020,F8E888Tut mir leid, aber du brauchst mehr Münzen./c3 CNc3=E8D020,F8E888Du hast keinen Platz in deiner Tasche./c3"
+
+msgid "MAP052_NPC_3"
+msgstr "Ich warte darauf, dass meine Freunde ihre Badeanzüge anziehen, damit wir den Strand stürmen können! Achte darauf viel Sonnencreme zu tragen. Ein Sonnenbrand kann dich wirklich stressen."
+
+msgid "MAP052_NPC_4"
+msgstr "Ich habe eine permanente Penthouse-Suite in der obersten Etage. Es hat einen Blick auf die ganze Stadt. Jedes Jahr macht meine Familie hier Urlaub für mehrere Wochen. Ich werde mich mit nichts geringerem zufrieden geben."
+
+msgid "MAP052_NPC_5"
+msgstr "Die Qualität des Service ist hier sehr gut. Sie haben sogar ein spezielles Pflegezentrum für Pokémon! Ich will nur hier bleiben und niemals gehen ... Bis meine Taschen leer sind!"
+
+msgid "MAP052_NPC_6"
+msgstr "c3=E8D020,F8E888Willkommen!/c3 c3=E8D020,F8E888Oh, du hast keinen Münzkorb? Hier./c3 c3=E8D020,F8E888Du kannst deine Münzen gegen fabelhafte Preise nebenan tauschen./c3 c3=E8D020,F8E888Du hast keinen Platz dafür. Komm zurück, wenn du Platz geschaffen hast./c3 c3=E8D020,F8E888Du kannst deine Münzen gegen fabelhafte Preise nebenan tauschen./c3"
+
+msgid "MAP052_NPC_7"
+msgstr "GCNc3=E8D020,F8E888Willkomen im Sonnenstrand Casino!/c3 GCNc3=E8D020,F8E888Brauchst du Spielmünzen?\nWillst du welche kaufen?/c3 GCNc3=E8D020,F8E888Du hast keinen Münzkorb./c3 GCNc3=E8D020,F8E888Brauchst du Spielmünzen?\nWillst du welche kaufen?/c3 GCNc3=E8D020,F8E888Hoppla!\nDein Münzkorb ist voll../c3 GCNc3=E8D020,F8E888Du kannst dir die Münzen nicht leisten./c3 GCNc3=E8D020,F8E888Danke\nHier sind deine Münzen!/c3 GCNc3=E8D020,F8E888Hoppla!\nDein Münzkorb ist voll../c3 GCNc3=E8D020,F8E888Du kannst dir die Münzen nicht leisten./c3 GCNc3=E8D020,F8E888Danke\nHier sind deine Münzen!/c3 GCNc3=E8D020,F8E888Nein?\nBitte komm irgendwann zum Spielen!/c3"
+
+msgid "MAP052_NPC_8"
+msgstr "cnc3=E8D020,F8E888Wir tauschen deine Münzen gegen Preise ein./c3 CNc3=E8D020,F8E888Welchen Preis möchtest du?/c3 CNc3=E8D020,F8E888Du möchtest also ?/c3 CNc3=E8D020,F8E888Tut mir leid, aber du brauchst mehr Münzen./c3 CNc3=E8D020,F8E888Du hast keinen Platz in deiner Tasche./c3"
+
+msgid "MAP052_NPC_9"
+msgstr "CNc3=E8D020,F8E888Wir tauschen deine Münzen gegen Preise ein./c3 CNc3=E8D020,F8E888Welchen Preis möchtest du haben?/c3 CNc3=E8D020,F8E888Du möchtest also ?/c3 CNc3=E8D020,F8E888Tut mir leid, aber du brauchst mehr Münzen./c3"
+
+msgid "MAP053_NPC_1"
+msgstr "Oh, deine Pokémon sehen so süß aus! Hier, gibt ihnen etwas davon. Ich liebe es einfach Pokémon zu sehen, die glücklich mit ihren Trainern sind. Kümmere dich gut um sie!"
+
+msgid "MAP053_NPC_2"
+msgstr "Brr! Mir ist so kalt!\nSag, hast du ein Pokémon, das die Attacke rHitzekoller beherrscht? Das würde definitiv für Wärme sorgen. Oh, danke dir! Das ist viel besser!\nHier, nimm dies als Dank. Brr... Kein Pokémon in deinem Team scheint die Attacke zu kennen... Brr... Das ist schade..."
+
+msgid "MAP053_NPC_3"
+msgstr "Meine Frau ist sehr großzügig zu Trainern. So schwierig wie die Arena ist, brauchen sie jede Hilfe, die sie bekommen können."
+
+msgid "MAP053_NPC_4"
+msgstr "Ich liebe Pufluff! Es ist so... Pufluffig!!!! Fafurr haben einen flaumigen Fellmantel, um sich warm zu halten. Ich will sie umarmen, aber immer wenn ich sie fast habe, rennen sie weg!"
+
+msgid "MAP053_NPC_5"
+msgstr "Hallo! Ich bin ein Pokémon-Zahnarzt! Ja, selbst Pokémon müssen ihre Zähne sauber halten... Abgesehen davon gibt es viele Attacken, die einen starken Biss benötigen! GWenn du möchtest, kann ich deinen Pokémon diese Attacken beibringen. Ich stelle nur eine bescheidene Rechnung. Es kostet jedes Mal $5000. Welche soll ich beibringen? GBitte schön! Das macht $5000. Soll ich noch einem anderen Pokémon eine Spezialattacke beibringen? Das ist es also. Nimm dir Zahnpasta und eine Bürste. Willst du auch einen Ballon haben? GBitte schön! Das macht $5000. Soll ich noch einem anderen Pokémon eine Spezialattacke beibringen? Das ist es also. Nimm dir Zahnpasta und eine Bürste. Willst du auch einen Ballon haben? GBitte schön! Das macht $5000. Soll ich noch einem anderen Pokémon eine Spezialattacke beibringen? Das ist es also. Nimm dir Zahnpasta und eine Bürste. Willst du auch einen Ballon haben? GBitte schön! Das macht $5000. Soll ich noch einem anderen Pokémon eine Spezialattacke beibringen? Das ist es also. Nimm dir Zahnpasta und eine Bürste. Willst du auch einen Ballon haben? GBitte schön! Das macht $5000. Soll ich noch einem anderen Pokémon eine Spezialattacke beibringen? Das ist es also. Nimm dir Zahnpasta und eine Bürste. Willst du auch einen Ballon haben? GBitte schön! Das macht $5000. GSoll ich einem anderen Pokémon eine Attacke für $5000 beibringen? Das ist es also. Nimm dir Zahnpasta und eine Bürste. Willst du auch einen Ballon haben? Das ist schade... Nutze die Zahnseide regelmäßig! Das ist schade... Nutze die Zahnseide regelmäßig!"
+
+msgid "MAP053_NPC_6"
+msgstr "Mein Boss schaut sich den ganzen Tag Pokémonzähne an. Er hat sogar mal seinen Kopf in den Mund eines Fafninter gesteckt! Pokémon-Center können Kratzer, Brandwunden und ähnliches versorgen, aber für Zahnhohlräume benötigt es einen Experten."
+
+msgid "MAP053_NPC_7"
+msgstr "Eh... Du da.\nDu bist {ein Trainer|eine Trainerin|Trainer}, nicht wahr? Das bedeutet, dass du die Arena herausfordern wirst. Vielleicht möchtest du ein paar Ratschläge haben. Um die Schneeufer-Arena herausfordern zu können, musst du eine Reihe von Prüfungen bestehen. Diese sind dazu gedacht deine Stärke als Trainer zu testen, und deine Weisheit die richtige Entscheidung zu treffen, wenn es zählt. Deine Fähigkeit sich verschiedenen Gegebenheiten anzupassen, das Vertrauen deiner Pokémon in dich und dein Vertrauen in deine Pokémon, und deine Stärke die Wahrheit von Lügen zu trennen. Wenn du einen der Tests nicht bestehst, musst du wieder von vorne anfangen. {Junge, l|Mädchen, l|L}ass mich dir sagen, es ist nicht leicht wieder aufzustehen, wenn du zu Boden gegangen bist. Aber versuch's weiter. Das ist es was man zum Gewinnen braucht. Denn nur wenn du die Prüfungen bestehst und den Arenaleiter Vaeryn besiegst kannst du die wahre Macht in deinen Pokémon freisetzen: Die Macht der Mega-Entwicklung. Wie ein alter Mann wie ich das alles wissen kann? Naja... Um die Wahrheit zu sagen, ich war mal selbst ein Acolyth des Drachen. Jetzt bringt die Winterkälte auf dem Berg meine alten Knochen zum Ächzen und eine steife Brise könnte mich entzweibrechen. Also bleibe ich hier beim Feuer, Trainern Ratschläge gebend. Als Dank fürs Zuhören will ich, dass du dies hier hast. ...Eh? Was dieser Stein ist fragst du?\nNaja, du kannst ihn jetzt noch nicht benutzen, aber sobald du die Prüfungen überstanden hast, kannst du ihn benutzen, um die Mega-Entwicklung bei einem Pokémon auszulösen. Viel Glück... Du wirst es brauchen! Sei's drum... Du hast keine Zeit, dir die Geschichten eines alten Kauzes anzuhören. Ich verstehe schon."
+
+msgid "MAP054_NPC_1"
+msgstr "Ich kann es nicht glauben! Wir leben am Strand und alle meine Kinder wollen drinnen bleiben! Sei es Videospiele spielen oder Bücher lesen, sie wollen nie raus und spielen gehen!"
+
+msgid "MAP054_NPC_2"
+msgstr "Mama versteht einfach nicht, warum ich Sand hasse. Er ist grob, und rau... und er kommt überall hin!"
+
+msgid "MAP054_NPC_3"
+msgstr "Mein Bruder und ich bleiben lieber hier drinnen. Du kannst drinnen auch viel Abenteuer erleben!"
+
+msgid "MAP058_NPC_1"
+msgstr "In welches Stockwerk willst du fahren?"
+
+msgid "MAP060_NPC_1"
+msgstr "Hey... willst du ein Pokémon kaufen? Welches Pokémon hättest du gerne? GbSo, du willst also ein Voltilamm für ? CNbEs tut mir leid, aber du wirst mehr Geld brauchen. Das macht . Nein? Okay, du bist {ein harter Verhandlungspartner|eine harte Verhandlungspartnerin|gut im Handeln}. Also dann . GbSo, du willst also ein Pahara für ? CNbEs tut mir leid, aber du wirst mehr Geld brauchen. Das macht . Nein? Okay, du bist {ein harter Verhandlungspartner|eine harte Verhandlungspartnerin|gut im Handeln}. Also dann . GbSo, du willst also ein Karpador für ? CNbEs tut mir leid, aber du wirst mehr Geld brauchen. Das macht . Nein? Okay, du bist {ein harter Verhandlungspartner|eine harte Verhandlungspartnerin|gut im Handeln}. Also dann ."
+
+msgid "MAP060_NPC_10"
+msgstr "Die U-Bahn von Burole befindet sich immer noch im Bau. Du kannst sie noch nicht benutzen."
+
+msgid "MAP060_NPC_11"
+msgstr "Hallo! Ich bin ein hervorragender Beurteiler der Freundschaft zwischen Pokémon und Trainer! Kann ich deine Pokémon für dich bewerten? Welches Pokémon soll ich bewerten? Dann vielleicht beim nächsten Mal. Ist es möglich, dass du... Bist du ein sehr strenger Mensch? Ich habe das Gefühl, dass dein dich nicht wirklich mag... Hmmm... Dein mag dich nicht besonders. Die Beziehung ist weder gut noch schlecht... Dein sieht neutral aus. Dein ist ein wenig freundlich zu dir... Das ist das, was ich erkenne. Ihr ist freundlich zu dir. Es muss mit dir glücklich sein. Dein ist sehr freundlich zu dir! Du musst ein netter Mensch sein! Also, ist so glücklich wie ein Glüchsur! Dein ist super freundlich zu dir! Ich bin ein bisschen neidisch! Dann vielleicht beim nächsten Mal."
+
+msgid "MAP060_NPC_12"
+msgstr "Nun gut, {ein Außenseiter|eine Außenseiterin|ein Außenseiter}! Willkommen in Burole, einer richtigen Stadt! Dies hier ist eine alte Bergbaustadt - und die beste und größte Mine ist unten in der örtlichen Arena!"
+
+msgid "MAP060_NPC_13"
+msgstr "Seit ich meine Kinder hier in der Schule eingeschrieben habe, hatte ich Frieden und Ruhe! Meine Seifenopern laufen jetzt - ich muss herausfinden, ob Louis' Verschwörung, sich als sein Zwilling Lewis zu verkleiden, aufgedeckt wird oder nicht!"
+
+msgid "MAP060_NPC_2"
+msgstr "Jeder Tag ist ein schöner Tag hier ... Es ist fast unmöglich, Pokémon auf dem See zu finden! Die meisten von ihnen sind am Boden des Sees."
+
+msgid "MAP060_NPC_3"
+msgstr "Du bist wahrscheinlich aus Mokistadt. Dieser Ort ist so furchtbar... Deshalb bist du auch so fasziniert von Burole. Ich kann es in deinen Augen sehen!"
+
+msgid "MAP060_NPC_4"
+msgstr "Du fragst dich vielleicht, was ein Polizist hier macht außer Blumen anzuschauen? Diese Stadt ist so friedlich und perfekt, sodass ich, während ich arbeite, nichts zu tun habe!\nUnd ich werde dafür noch bezahlt. Die Arena? Geh gerade aus und du wirst sie finden!\nOh, und sie befindet sich in einer Höhle."
+
+msgid "MAP060_NPC_5"
+msgstr "Super! Die Beerenpflanzsaison hat angefangen. Warte, wieso erzähle ich dir das? In Wahrheit ist diese Stadt so friedlich, dass ich nichts zu tun habe!"
+
+msgid "MAP060_NPC_6"
+msgstr "Du hast keine Ahnung wie tief dieser See ist! Niemand weiß wirklich, was am Grund zu finden ist. Siehst du das neue Gebäude? Das ist die Tandor U-Bahn. Sie haben es vor Kurzem hier und in Nowtoch fertig gebaut. \n Das ist der beste Weg, um zu entfernte Städte zu reisen."
+
+msgid "MAP060_NPC_7"
+msgstr "Ich passe heute auf die U-Bahn-Station auf. Das ist ein bisschen interessanter, was mein Kollege macht. Ich hoffe, dass diese Hinterwälder von Nowtoch und Kevlar aufhören Burole zu besuchen! Sie sind so nervig!"
+
+msgid "MAP060_NPC_8"
+msgstr "Willkommen in Burole! Ich bin der örtliche Stadtbegrüßer. Ja, es ist eine richtige Arbeit und ich werde dafür bezahlt. Natürlich kann es manchmal langweilig werden... Du bist der erste Mensch, der hier seit einer Woche durchgekommen ist."
+
+msgid "MAP060_NPC_9"
+msgstr "Pst... Sei still! Ich spiele ein neues Spiel, Pokémon Silber. Ich habe gerade ein Ledyba gefangen. Mist! Team Rocket hat den Flegmon-Brunnen angegriffen! Kurt stellt für mich einen Pokéball her! Ich muss jetzt für Ampharos Medizin holen!"
+
+msgid "MAP060_SIGN_1"
+msgstr "Burole Arena Arenaleiter: Dave\n\"Der Höhlenausgrabungsmeister!\""
+
+msgid "MAP060_SIGN_2"
+msgstr "\"Burole, Stadt der Höhlen. Nehmt uns beim Wort und reist nicht nach Westen.\""
+
+msgid "MAP060_SIGN_3"
+msgstr "\"Burole, Stadt der Höhlen. Nehmt uns beim Wort und reist nicht nach Westen.\""
+
+msgid "MAP060_SIGN_4"
+msgstr "Akademie der jungen Trainer."
+
+msgid "MAP062_SIGN_1"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP064_NPC_1"
+msgstr "Du stürzt dich also endlich in ein Abenteuer, huh?\nDa kommst du ganz nach deinem alten Herrn. Dein Vater Kellyn ist in manchen Gegenden berühmt. Dieser Mann ist ein echter Held!"
+
+msgid "MAP064_NPC_2"
+msgstr "Weißt du, mein Mann hat deinen Vater schon lange verehrt. Kellyn macht seinen Job als Chef der Ranger in Tandor gut.\nEr beschützt das Leben der Menschen, Pokémon und Umwelt."
+
+msgid "MAP064_NPC_3"
+msgstr "Schif...Schif!"
+
+msgid "MAP065_NPC_1"
+msgstr "Hör mal, hast du von diesem neuen Videospiel gehört? Es heißt 'Pokémon: Rote Edition'. Pokémon Rote Edition lässt mich die Kanto Region erforschen, ein Pokémon-Team trainieren und ein Meistertrainer werden.... Alles zu Hause!"
+
+msgid "MAP065_NPC_2"
+msgstr "Ich habe für meinen Sohn das neue Videospiel gekauft, das alle Kinder heutzutage spielen.\nAber jetzt legt er es nicht mal für eine Sekunde aus der Hand! Der Nachwuchs macht seine Hausarbeiten nicht und sein Zimmer ist unordentlich. Oh je, was mache ich nur mit ihm?"
+
+msgid "MAP066_NPC_1"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_10"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_11"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_12"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_13"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_14"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_15"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_16"
+msgstr "Hallo, Jungspund! Wenn du hier bist, um den Arenaleiter herauszufordern, solltest du besser vorbereitet sein! Dave verwendet hier eine Vielzahl von Pokémon, die in Höhlen zu finden sind. Sei bereit, um Gestein, Boden und Gift Typen zu begegnen. Wenn du einen Wasser- oder Kampftyp hast, ist das sicher nützlich für diesen Kampf. Hier, nimm das! Viel Glück da draußen! Ich feuere dich an!"
+
+msgid "MAP066_NPC_17"
+msgstr "PN legt das Scheinjuwel hinein. Es sieht so aus, als ob dort ein Platz ist, um einen Gegenstand hinein zu legen. Vielleicht ein Juwel oder sowas ähnliches?"
+
+msgid "MAP066_NPC_2"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_3"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_4"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_5"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_6"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_7"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_8"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_NPC_9"
+msgstr "Da liegt etwas auf dem Boden... Es ist ein Scheinjuwel!"
+
+msgid "MAP066_TRAINER_1"
+msgstr "In einer Höhle können wilde Pokémon von überall kommen! Pass auf!"
+
+msgid "MAP066_TRAINER_1_DEFEAT"
+msgstr "Du bist stark."
+
+msgid "MAP066_TRAINER_2"
+msgstr "Ich stärkte mich, indem ich mit meinen Fäusten Felsbrocken zerschmettere!"
+
+msgid "MAP066_TRAINER_2_DEFEAT"
+msgstr "Wir wurden geschlagen!"
+
+msgid "MAP066_TRAINER_3"
+msgstr "Ich grabe seit Jahren Tunnel! Was hast du erreicht?"
+
+msgid "MAP066_TRAINER_3_DEFEAT"
+msgstr "Ich sehe ein Licht am Ende des Tunnels ..."
+
+msgid "MAP066_TRAINER_4"
+msgstr "Hey{, Trainer!|, Trainerin!|!}\nIch bin mir sicher, du weißt es bereits,\naber ich bin Dave, der Arenaleiter von Burole. Ich ziehe Pokémon auf, die in Höhlen gefunden werden können.\nDie meisten Leute finden Höhlen angsteinflößend, aber für mich fühlten sie sich schon seit Kindertagen wie Zuhause an. Deswegen habe ich diese verlassene Mine ausgegraben und sie in eine Arena umgewandelt.\nMeine Pokémon sind durch harte Arbeit\nund Kämpfe hart geworden!\nKannst du dich unserer Stärke entgegenstellen?\nZeig mir, dass du keine Angst hast! Gut gekämpft, {Junge|Mädchen|Kleines}.\nIch bin beeindruckt!\nNun, kannst du mir das Juwel übergeben, das du vorhin gefunden hast? -klick-!\nUnd, ta-da! Hier ist dein Orden! PN erhält den Scheinjuwelorden! Ich hoffe, dass dich der Orden an all die harte Arbeit erinnert, die du aufgebracht hast, um ihn zu verdienen. Und nimm bitte diese TM an! Durchbruch ist eine Kampf-Attacke, die ich nutze um Tunnel auszugraben.\nEs ist nicht nur stark, es kann auch Reflektor und Lichtschild zerstören. Nutze sie auf deiner Reise weise."
+
+msgid "MAP066_TRAINER_4_DEFEAT"
+msgstr "Das war ein wohlverdienter Sieg. Du hast diesen Scheinjuwelorden mehr als verdient!"
+
+msgid "MAP067_NPC_1"
+msgstr "Verflucht! Ich habe letzte Woche eine Bestellung für Superbälle eingereicht, und sie sind immer noch nicht gekommen! Wir brauchen sie; vorbeikommende Trainer haben sie gefordert. Es muss eine Qual sein, in Mokistadt zu leben, da es keinen Markt gibt.... Vielleicht sollten wir dorthin expandieren."
+
+msgid "MAP067_SIGN_1"
+msgstr "Supertränke, Hypertränke, Top Beleber... Warte, warum verkauft man die nicht an der Kasse?"
+
+msgid "MAP067_SIGN_2"
+msgstr "Supertränke, Hypertränke, Top Beleber... Warte, warum verkauft man die nicht an der Kasse?"
+
+msgid "MAP067_SIGN_3"
+msgstr "Da ist ein buntes Poster: \"50% Rabatt Freitag!\" Welcher Freitag?"
+
+msgid "MAP068_NPC_1"
+msgstr "Sag, Trainer, welches Anfangspokémon hast du genommen? Gute Wahl! Orchiluks' Stahltyp gibt viele Resistenzen, aber pass auf Amauchs Glut auf! Sehr cool! Glutinos Glut zerfetzt Stahl- und Käfertypen, aber Glutino erleidet großen Schaden durch Wasserattacken! Gute Entscheidung! Voltus ist vielseitig und kann verschiedene Typen schlagen, aber nimm dich vor Erdechs' Intensität in Acht."
+
+msgid "MAP068_NPC_2"
+msgstr "Wenn du vorhast nach Nowtoch City zu gehen, wäre es eine gute Idee einige Tränke zu kaufen. Sie können dich aus einer brenzligen Lage retten. Es gibt auf dem Weg nach Nowtoch City eine Höhle in der starke Pokémon hausen. Sei vorsichtig. Weißt du, was ich gehört habe? Im Norden gibt es eine eigenartige Krankheit, die durch Pokémon verbreitet wird. Sei vorsichtig."
+
+msgid "MAP068_NPC_3"
+msgstr "Wir haben ein Obergeschoss für das Pokécenter gebaut, aber wir wissen nicht was dort hin soll... Oh warte, das Tandor Netzwerk ist dort!"
+
+msgid "MAP068_NPC_4"
+msgstr "Ich hoffe, unsere Pokémon-Centren sind dir auf deiner Reise nützlich!"
+
+msgid "MAP068_TRAINER_1"
+msgstr "Ich ziehe meine besonderen Schiflink auf! Aber obwohl sie mächtige Attacken haben, verlieren wir immer wieder!\nWillst du kämpfen? Ok, los geht's! Schwester! Kannst du meine Schiflink heilen?\n...\nDanke! Nun sind sie wieder fit! Oh, ok. Ich denke, das ist okay."
+
+msgid "MAP068_TRAINER_1_DEFEAT"
+msgstr "Siehst du? Wir verlieren ständig!"
+
+msgid "MAP069_NPC_1"
+msgstr "Hallo, hallo!\nDer Arenaleiter hier ist Tiko! Er ist ein Tänzer, dessen flammende Schritte und sausende Röcke sich in dein Gedächtnis brennen werden! ...Ja, er mag es sehr Röcke zu tragen. Sie zeigen auf nette Weise seine Waden, nicht wahr?"
+
+msgid "MAP069_TRAINER_1"
+msgstr "Tiko: Hallo, pn!\nIch kann dir nicht oft genug danken, dass du mir in der Ameisenhölle aus der Patsche geholfen hast. Das hätte für uns alle eine sehr unangenehme Situation werden können! Ich bereue, dass ich damals nicht genug Kraft hatte. Aber jetzt bin ich bereit deine Herausforderung anzunehmen.\n...Ein Kampf ist wie ein Tanz. Genau wie ein Tänzer im Takt sein muss, so muss auch ein Trainer mit seinem Pokémon synchronisiert sein. Du hast große Stärke bewiesen, als du dich Seikamater entgegengestellt hast. Jetzt werde ich, Tiko, der Meistertänzer, deinen Eifer testen! Ein höllischer Kampf! Meine Augen tränen immer noch! Hier bitteschön. Du hast es dir verdient. PN erhält den Salsa-Orden! Tiko: Mein Orden ermöglicht es dir Surfer außerhalb eines Kampfes zu benutzen. Noch dazu macht es dein Pokémon traumhaft schön! Hier, nimm auch diese TM. Diese TM enthält Hitzekoller! Es ist eine gewaltig starke Feuer-Attacke, die den Benutzer ein wenig ausbrennt. Benutze sie weise!"
+
+msgid "MAP069_TRAINER_1_DEFEAT"
+msgstr "Fabelhaft! Diese Bewegungen waren einfach atemberaubend!"
+
+msgid "MAP069_TRAINER_2"
+msgstr "Ich war nie ein großer Tänzer. Aber ich kann gut mit Pokémon kämpfen!"
+
+msgid "MAP069_TRAINER_2_DEFEAT"
+msgstr "Abgefackelt!"
+
+msgid "MAP069_TRAINER_3"
+msgstr "Lass mich sehen, ob du meine lodernden Attacken kontern kannst!"
+
+msgid "MAP069_TRAINER_3_DEFEAT"
+msgstr "Aua, ich habe mich verbrannt!"
+
+msgid "MAP069_TRAINER_4"
+msgstr "Wer mit dem Feuer spielt, wird sich auch verbrennen!"
+
+msgid "MAP069_TRAINER_4_DEFEAT"
+msgstr "Autsch!"
+
+msgid "MAP069_TRAINER_5"
+msgstr "Mal schauen, ob du gegen meine Schritte ankommst!"
+
+msgid "MAP069_TRAINER_5_DEFEAT"
+msgstr "Ich habe einen Fehler gemacht!"
+
+msgid "MAP070_SIGN_1"
+msgstr "Wenn du dies siehst, reiche einen Fehlerbericht ein."
+
+msgid "MAP071_NPC_1"
+msgstr "Du hast eine plötzliche Vision, dass sich im Venesi-Park etwas verändert."
+
+msgid "MAP071_NPC_10"
+msgstr "Auch wenn das Gedächtnis in den Träumen zerfleddert sein mag, können die stärksten Erinnerungen die Schwächeren verankern. Erinnerungen an sichere Zeiten. Glückliche Zeiten. Unbeschwerte Zeiten. Inspiration. Kindheit. Die Dinge, die uns zu dem machen, was wir sind."
+
+msgid "MAP071_NPC_2"
+msgstr "Warum sticht Skorgla? Weil es seine Natur ist.\nHier in der Traumwelt wird die wahre Natur der Dinge enthüllt. Das kann gut oder schlecht sein."
+
+msgid "MAP071_NPC_3"
+msgstr "Ich wurde von fiebrigen, brennenden Träumen gestört. Es ist noch jemand hier... Es ist noch jemand hier. . ."
+
+msgid "MAP071_NPC_4"
+msgstr "Herzlich willkommen! Wie kann ich dienen? Ich kann dir eine Sternenhafenkarte für den Preis von zwei wertvollen Erinnerungen verkaufen. Was? Du willst nicht tauschen?\nDas ist schade. Ich kann dir einen verzauberten Prinzen in einer Flasche verkaufen, für den geringen Preis einer seltenen Technologie - hast du zufällig einen dieser \"Tintenschreiber\"? Hast du nicht? Das ist schade."
+
+msgid "MAP071_NPC_5"
+msgstr "Als ich die Treppe hinaufging, begegnete ich einem Mann, der nicht da war. Er war heute auch nicht da. Ich wünschte, er würde verschwinden."
+
+msgid "MAP071_NPC_6"
+msgstr "Als ich die Treppe hinaufging, begegnete ich einem Mann, der nicht da war. Er war heute auch nicht da. Ich wünschte, er würde verschwinden."
+
+msgid "MAP071_NPC_7"
+msgstr "Er vernebelt dir den Weg mit seinem schrecklichen Blick.\nEs ist immer schwer, in der Dunkelheit der Träume zu reisen, wenn du den Weg nicht kennst."
+
+msgid "MAP071_NPC_8"
+msgstr "Hast du dich jemals gefragt, warum es so viele Lieder und Geschichten über Träume gibt? Das liegt daran, dass die Traumwelt riesig ist und das ganze Universum umspannt, ein Eingang hinter jedem Augenpaar. Menschen und Pokémon gleichermaßen. Es ist leicht, sich hier zu verirren. Die meisten von uns haben es aufgegeben, jemals zurückzukehren. Bald werden wir uns iihm/i anschließen."
+
+msgid "MAP071_NPC_9"
+msgstr "Was für ein Traum, nicht wahr? Ist es deiner?"
+
+msgid "MAP071_SIGN_1"
+msgstr "Du kannst jeden Buchstaben sehen, aber dennoch nicht die Botschaft lesen, die hier geschrieben steht."
+
+msgid "MAP071_SIGN_2"
+msgstr "\"Arena - Süden\nNestlande - Nordwest\""
+
+msgid "MAP071_SIGN_3"
+msgstr "Du klopfst, aber es ist kein Ton zu hören."
+
+msgid "MAP071_SIGN_4"
+msgstr "Der Türknauf schnappt nach dir, aber du springst weg."
+
+msgid "MAP071_SIGN_5"
+msgstr "Es gefällt dir nicht, wie diese Tür dich angesehen hat."
+
+msgid "MAP071_TRAINER_1"
+msgstr "iWaaa. . . hehehehe. . ./i Du hast es weit gebracht in dieser Stadt am Rande des Traums! \nSeine Form wurde von einem neuen Spielgefährten geliehen. . . dem Träumer! Warum dringst du in seinen Traum ein? Uuhh... Sie gehört mir.\nSie WILL hier sein!\niSie /iLIEBT mich! Jeder liebt mich! Du nimmst mir mein schönes Schmuckstück nicht weg! Jeder liebt mich! Du wagst es, mich anzugreifen? Ach! Na schön, na schön. Bleib noch ein bisschen. Das macht doch nichts.\nEh? Die Gargreif haben beschlossen, dich in Ruhe zu lassen. Dann verschwinde!"
+
+msgid "MAP071_TRAINER_1_DEFEAT"
+msgstr "Du wagst es, mich anzugreifen? Ach! Na schön, na schön."
+
+msgid "MAP073_NPC_1"
+msgstr "Hey, Kleines! Du bist zu Fuß hierher gekommen, was sicher bedeutet, dass du ein Fahrrad reparieren lassen musst! ... Oh, es sieht so aus als hättest du ein C[3]FahrradreifenC[0] dabei! Das ist genau was ich brauchte, um dieses Fahrrad zu reparieren. Warte eine Sekunde! .... Bitte sehr! Ein brandneues Fahrrad für umsonst! Um es zu fahren musst du es aus deiner Tasche auswählen. Oh, du hast keines? Na ja, das passt schon... Ich habe in letzter Zeit nicht viele Kunden bekommen, nachdem ich schon jedem in Kevlarstadt ein Fahrrad verkauft habe....\nAber wenn du mir ein C[3]FahrradreifenC[0] bringst, könnte ich ein altes Fahrrad reparieren und es dir geben."
+
+msgid "MAP073_NPC_2"
+msgstr "Maury: *schnief*\nHast du meinen kostbaren Gegenstand schon zurückbekommen? Ich warte hier, bis du ihn hast..."
+
+msgid "MAP073_NPC_3"
+msgstr "Willkommen in Kevlars Beerenmarkt! Nimm eine Kostprobe von Tandors leckersten Beeren. Deine Pokémon werden sie lieben!"
+
+msgid "MAP073_NPC_4"
+msgstr "Meine Freundin ist sauer auf mich, also kaufe ich ihr Blumen, um sie dazu zu bringen mir zu vergeben."
+
+msgid "MAP073_NPC_5"
+msgstr "Wir sind gerade erst hierher gezogen. Es ist klein, aber heimisch. Ich denke es wird ein guter Ort sein, um eines Tages eine Familie zu gründen."
+
+msgid "MAP073_NPC_6"
+msgstr "Sie redet schon von Kindern... Warum können wir nicht ein paar Pokémon aufziehen?"
+
+msgid "MAP074_TRAINER_1"
+msgstr "Hi, du!\nDu siehst aber süß aus...\nund so stark!\nWie wär's mit einem Kämpfchen, {Süßer|Süße|Zuckerstück}?"
+
+msgid "MAP074_TRAINER_1_DEFEAT"
+msgstr "Aww, warum musstest du mich besiegen?"
+
+msgid "MAP074_TRAINER_2"
+msgstr "Hast du von den Mythen der legendären Pokémon dieser Region gehört?"
+
+msgid "MAP074_TRAINER_2_DEFEAT"
+msgstr "Ich glaube meine Chancen standen schon am Anfang schlecht."
+
+msgid "MAP074_TRAINER_3"
+msgstr "Unsere überlegene Strategie wird dich elektrisieren!"
+
+msgid "MAP074_TRAINER_3_DEFEAT"
+msgstr "Kämpfe wieder irgendwann mit uns. Es ist nicht immer schlimm zu verlieren..."
+
+msgid "MAP074_TRAINER_4"
+msgstr "Haha! Ich habe meine Pokémon mit TMs und kompetetiven Attackensets ausgestattet! Du wirst niemals gewinnen!"
+
+msgid "MAP074_TRAINER_4_DEFEAT"
+msgstr "Aw, was?"
+
+msgid "MAP074_TRAINER_5"
+msgstr "Ich probiere eine neue Aufstellung von Pokémon aus. Willst du mir helfen? Halte dich nicht zurück!"
+
+msgid "MAP074_TRAINER_5_DEFEAT"
+msgstr "Danke für den Kampf! Ich kenne mich jetzt besser mit meinen Schwächen aus."
+
+msgid "MAP074_TRAINER_6"
+msgstr "...Willst du kämpfen?\nIch vermute..."
+
+msgid "MAP074_TRAINER_6_DEFEAT"
+msgstr "...Du hast gewonnen."
+
+msgid "MAP074_TRAINER_7"
+msgstr "So... heiß...\nLass uns mit einem erfrischendem Kampf abkühlen!"
+
+msgid "MAP074_TRAINER_7_DEFEAT"
+msgstr "Das war nicht sehr erfrischend."
+
+msgid "MAP074_TRAINER_8"
+msgstr "Phew! Es ist so angenehm warm!\nPerfekt für einen feurigen Pokémon Kampf!"
+
+msgid "MAP074_TRAINER_8_DEFEAT"
+msgstr "Ich schwitze heftigst..."
+
+msgid "MAP074_TRAINER_9"
+msgstr "Feuer ist mein Element! Ich lebe und atme es! In dieser Umgebung hast du keine Chance!"
+
+msgid "MAP074_TRAINER_9_DEFEAT"
+msgstr "Ausgebrannt!"
+
+msgid "MAP075_NPC_1"
+msgstr "...Äh? Was macht ein Kind wie du im Labor? Oh, ich verstehe, du bist {ein Pokémon-Trainer|eine Pokémon-Trainerin|Pokémon-Trainer}. Ich nehme an, du führst Nachforschungen für einen Professor durch. Sag mir, wer ist es für den du arbeitest? ... Bamb'u, oder? Oh, dieser Ernest... Ich hätte nie gedacht, dass er es als Akademiker schaffen würde, aber diese Welt ist einfach voller Überraschungen. Weißt du, er und ich waren damals auf der gleichen Universität. Bis jemand falsche Gerüchte verbreitete, dass meine Arbeiten abgeschrieben seien... Ich! Ein Genie wie ich, schreibt die Arbeiten eines anderen ab? Die Idee ist absurd! Ich konnte sowieso nichts mehr von dieser verflixten Universität lernen. Deswegen gründete ich mein eigenes privates Forschungsunternehmen. Wenn man so brilliant ist wie ich, kann man diese Begabung nicht einfach verkümmern lassen. Da du Bamb'us Schützling bist, werde ich dich nicht davon abhalten, unsere Laboreinrichtungen zu besichtigen... Beeindruckend, nicht wahr? Ich bin sicher es ist allem weit voraus, was du in deinem Provinznest je gesehen hast. Nur... fass' nichts an. Ich bin sicher du hast noch anderes zu tun."
+
+msgid "MAP075_NPC_2"
+msgstr "Um ein Pokémon einen neuen Pokéball zuzuordnen musst du es freilassen und erneut fangen. Das ist so unpraktisch. Wäre da nur ein Weg ein Pokémon zu fangen, welches schon in einem Ball ist..."
+
+msgid "MAP075_NPC_3"
+msgstr "Mit Technologie können wir ein neues Pokémon von nur einem winzigen Fetzen DNA klonen. Diese Methode kann benutzt werden, um ausgestorbene Pokémon wieder zum Leben zu erwecken."
+
+msgid "MAP075_NPC_4"
+msgstr "{Ein Trainer|Eine Trainerin|Ein Trainer} aus Mokistadt, hm? Bamb'u sollte wissen, dass man seine Nase besser nicht in anderer Leute Angelegenheiten steckt. Mach keinen Ärger, Winzling."
+
+msgid "MAP075_NPC_5"
+msgstr "Wir erforschen Methoden um Pokémon zu zähmen."
+
+msgid "MAP075_NPC_6"
+msgstr "Es ist von außen verriegelt. Es bewegt sich nicht, egal wie sehr du es versuchst. Knobikid: Knobi... (Es scheint enttäuscht zu sein...)"
+
+msgid "MAP075_NPC_7"
+msgstr "Du hast Pokédex, Tasche and Pokébälle wieder! Hurra!"
+
+msgid "MAP075_NPC_8"
+msgstr "Du hast Pokédex, Tasche and Pokébälle wieder! Hurra!"
+
+msgid "MAP075_SIGN_1"
+msgstr "Es ist klein und schmutzig. Du willst das nicht wirklich benutzen..."
+
+msgid "MAP075_SIGN_2"
+msgstr "Das Wasser ist kühl, aber du würdest nicht versuchen wollen, es zu trinken."
+
+msgid "MAP075_SIGN_3"
+msgstr "Genau wie es auf der Notiz stand, die Wand scheint hohl zu sein. Dagegen stoßen? Diese Wand sieht seltsam aus..."
+
+msgid "MAP075_TRAINER_1"
+msgstr "Hey, du! Was tust du außerhalb deiner Zelle?! Und was ist das... Ding, das du bei dir hast?!"
+
+msgid "MAP075_TRAINER_1_DEFEAT"
+msgstr "Uff!"
+
+msgid "MAP075_TRAINER_2"
+msgstr "Was zur Hölle? Es ist dieses Kind! Und das Pokémon! Wie sind sie ausgebrochen? Wie kann dieses Pokémon so stark sein??"
+
+msgid "MAP075_TRAINER_2_DEFEAT"
+msgstr "Mist..."
+
+msgid "MAP076_NPC_1"
+msgstr "Hey! Halt dich von der Kometenhöhle fern.\nPokémon greifen dort in Gruppen an...\nEs ist wirklich gefährlich, dort alleine durchzugehen."
+
+msgid "MAP076_NPC_2"
+msgstr "Wie nervig... diese Felsbrocken blockieren den Weg zum Wald. Ich muss dahin..."
+
+msgid "MAP076_NPC_3"
+msgstr "Ach, wie ich es liebe zu segeln! Vom Westen Tandors nach Osten und wieder zurück! Der Ozean ist meine einzig wahre Liebe."
+
+msgid "MAP076_NPC_4"
+msgstr "Die Pokémon sind in dieser Höhle besonders feindselig! Sie rotten sich gegen Trainer zusammen! Zu deiner eigenen Sicherheit werde ich dich nicht vorbeilassen."
+
+msgid "MAP076_SIGN_1"
+msgstr "- Baykal-Wald Kometenhöhle voraus"
+
+msgid "MAP076_SIGN_2"
+msgstr "Kometenhöhle - Eingang."
+
+msgid "MAP076_SIGN_3"
+msgstr "BAYKAL-REGENWALD\nSüdeh: BUROLE Norden: AMABAUM"
+
+msgid "MAP076_TRAINER_1"
+msgstr "Puuh, ich hab's satt zu rennen, lass uns kämpfen!"
+
+msgid "MAP076_TRAINER_1_DEFEAT"
+msgstr "Das war nicht fair, ich bin doch müde..."
+
+msgid "MAP076_TRAINER_2"
+msgstr "Ich lasse dich nicht den Baykal-Wald verschmutzen!"
+
+msgid "MAP076_TRAINER_2_DEFEAT"
+msgstr "Durch den Wald wurde mir ganz schwindelig, deswegen habe ich verloren!"
+
+msgid "MAP076_TRAINER_3"
+msgstr "Psst... Ich liebe es mich in hohem Gras zu verstecken!"
+
+msgid "MAP076_TRAINER_3_DEFEAT"
+msgstr "Oh nein, jetzt muss ich zurück zu Mama..."
+
+msgid "MAP076_TRAINER_4"
+msgstr "Ich habe schon in ganz Tandor geangelt, aber diese Brücke hier? Das ist die verdammt nochmal beste Angelstelle in der ganzen Region!"
+
+msgid "MAP076_TRAINER_4_DEFEAT"
+msgstr "Tja, was solls."
+
+msgid "MAP076_TRAINER_5"
+msgstr "Ich trainiere, um Comedian zu werden! Hier ein guter Witz für dich: Was ist weiß und stört beim Essen?\nEINE LAWINE!"
+
+msgid "MAP076_TRAINER_5_DEFEAT"
+msgstr "...War der Witz nicht gut?"
+
+msgid "MAP076_TRAINER_6"
+msgstr "Shorts sind richtig bequem! Du solltest irgendwann mal versuchen welche zu tragen."
+
+msgid "MAP076_TRAINER_6_DEFEAT"
+msgstr "Ich muss zurück nach Burole und mehr Shorts kaufen..."
+
+msgid "MAP076_TRAINER_7"
+msgstr "Es ist immer gut morgens etwas zu trainieren... Mal sehen, ob es seinen Nutzen hatte!"
+
+msgid "MAP076_TRAINER_7_DEFEAT"
+msgstr "Näh, das Training funktioniert so nicht..."
+
+msgid "MAP076_TRAINER_8"
+msgstr "Das ist ein perfekter Platz für einen Kampf."
+
+msgid "MAP076_TRAINER_8_DEFEAT"
+msgstr "Ahh... du hast meinen Spaziergang ruiniert."
+
+msgid "MAP078_NPC_1"
+msgstr "Der Arenaleiter ist angeblich ein Meister der Täuschung und Verkleidung. Es scheint zu funktionieren, denn ich habe keine Ahnung wer sie sind! Die Venesi Pokémon Arena ist der letzte Orden, den ich brauche, um in der Tandor Liga zu kämpfen."
+
+msgid "MAP078_NPC_2"
+msgstr "Eine Arena in einem Opernhaus, hmm... auf diesen rutschigen Böden kommt man kaum voran! Du kannst in der Venesi Arena deinen Augen nicht trauen, es ist ein einziger Irrgarten."
+
+msgid "MAP078_NPC_3"
+msgstr "Ich bin besorgt wegen der Kernschmelzen, die in Tandor aufgetreten sind. Hast du gehört, dass sie Vinoville evakuieren mussten? Zwei Kernkraftwerke, die so schnell hintereinander ausfallen... Das kann einfach kein Zufall sein."
+
+msgid "MAP079_NPC_1"
+msgstr "Ich decke mich vor meinem Venesi-Urlaub mit Items ein! Gondelfahrten, Theater... diese Stadt hat alles."
+
+msgid "MAP080_TRAINER_1"
+msgstr "Diese Höhle ist als das \"Labyrinth\" bekannt. Lass mal sehen, ob du damit fertig wirst..."
+
+msgid "MAP080_TRAINER_1_DEFEAT"
+msgstr "Geh immer nach rechts!"
+
+msgid "MAP080_TRAINER_2"
+msgstr "Ich und mein Pokémon schlagen zum Training gegen Felsen!"
+
+msgid "MAP080_TRAINER_2_DEFEAT"
+msgstr "Doch wieder der Boxsack!"
+
+msgid "MAP080_TRAINER_3"
+msgstr "Diese Höhle ist so dunkel! Glücklicherweise hab' ich eine Nachtsichtbrille!"
+
+msgid "MAP080_TRAINER_3_DEFEAT"
+msgstr "Die Brille bringt ja gar nichts!!"
+
+msgid "MAP080_TRAINER_4"
+msgstr "Ich trainiere, damit ich Rosalind herausfordern kann! Lass uns kämpfen!"
+
+msgid "MAP080_TRAINER_4_DEFEAT"
+msgstr "Bin wohl noch nicht bereit!"
+
+msgid "MAP080_TRAINER_5"
+msgstr "Achtung! Gefahr voraus!"
+
+msgid "MAP080_TRAINER_5_DEFEAT"
+msgstr "Du wirst sehen!"
+
+msgid "MAP081_NPC_1"
+msgstr "Ich sehe, du bist ein starkes Kind! Du hast sogar einen Orden! Bitte nimm dies und gebrauche es gut. PN erhält ANGEL. Hey, ich bin ein Angler. In den Teichen neben meinem Haus lebt eine Vielzahl verschiedener Pokémon. Wenn du mir zeigst, wie stark du bist, gebe ich dir vielleicht meine alte Angel. Aber zuerst musst du Maria besiegen, die Arenaleiterin von Nowtoch City."
+
+msgid "MAP081_NPC_2"
+msgstr "Mein Bruder ist ein richtig guter Angler. Er liebt Wasser Pokémon. Es ist echt praktisch zwischen Kevlar und Mokistadt zu leben."
+
+msgid "MAP081_SIGN_1"
+msgstr "Auf dem Schild an der Wand steht: \"Angel: Jetzt nicht mehr nur für Karpador (trotzdem noch größtenteils für Karpador)!\""
+
+msgid "MAP082_NPC_1"
+msgstr "Man braucht ordentliche Bälle, um sie sich alle zu schnappen!\n...Pokébälle meine ich natürlich!"
+
+msgid "MAP082_NPC_2"
+msgstr "Ahoi{, Trainer.|, Trainerin.|.} Du wirst 'ne Menge Vorräte brauchen, um es über Route 16 zum Schneeufer zu schaffen. Um starke Pokémon auf Route 16 zu fangen, werden einfache Pokébälle nicht reichen. Du brauchst ein paar Hyperbälle."
+
+msgid "MAP082_NPC_3"
+msgstr "Ich hoffe dieser Laden verkauft Schale und Jacken. Mir ist kalt! Was, die verkaufen hier nur Kram für Pokémon? Oh man, ich wollte mir doch Winterklamotten kaufen."
+
+msgid "MAP083_TRAINER_1"
+msgstr "Sie kommt! Sie kommt!"
+
+msgid "MAP083_TRAINER_1_DEFEAT"
+msgstr "Aaaaaaugh! Sie kommt, um mich zu holen!"
+
+msgid "MAP083_TRAINER_2"
+msgstr "Yieeeee! Ein Eindringling!"
+
+msgid "MAP083_TRAINER_2_DEFEAT"
+msgstr "Aiyiyiyiyi!!!"
+
+msgid "MAP083_TRAINER_3"
+msgstr "So... hungrig..."
+
+msgid "MAP083_TRAINER_3_DEFEAT"
+msgstr "Aaaaugh!"
+
+msgid "MAP083_TRAINER_4"
+msgstr "...Du!\nSofort raus!"
+
+msgid "MAP083_TRAINER_4_DEFEAT"
+msgstr "Nein...!"
+
+msgid "MAP083_TRAINER_5"
+msgstr "Ich werde für meine Mutter kämpfen!"
+
+msgid "MAP083_TRAINER_5_DEFEAT"
+msgstr "Mutter, vergib mir!"
+
+msgid "MAP084_NPC_1"
+msgstr "Ich sehe die Augen und die Augen sehen mich. Die Augen sehen dich und du wirst bald wie wir sein."
+
+msgid "MAP084_SIGN_1"
+msgstr "Es ist ein großer Schleim. Du bist nicht stark genug, um mehr zu tun, als ihn zum Wackeln zu bringen."
+
+msgid "MAP084_SIGN_2"
+msgstr "Es ist ein großer Schleim. Du bist nicht stark genug, um mehr zu tun, als ihn zum Wackeln zu bringen."
+
+msgid "MAP084_SIGN_3"
+msgstr "Es ist ein großer Schleim. Du bist nicht stark genug, um mehr zu tun, als ihn zum Wackeln zu bringen."
+
+msgid "MAP084_SIGN_4"
+msgstr "Dein Finger versinkt in der gallertartigen Masse. Warum hast du es überhaupt angefasst? Wirklich. Selbst im Traum, was dachtest du denn, was dabei herauskommen würde?"
+
+msgid "MAP084_SIGN_5"
+msgstr "Dein Finger versinkt in der gallertartigen Masse. Warum hast du es überhaupt angefasst? Wirklich. Selbst im Traum, was dachtest du denn, was dabei herauskommen würde?"
+
+msgid "MAP084_SIGN_6"
+msgstr "\"Cucurigu! Bate frigu!\" Du verstehst nicht, was Masking sagt."
+
+msgid "MAP085_NPC_1"
+msgstr "Yeahh! Pokémon Blau! Bestes Spiel überhaupt! Ich habe gerade die Bösen aus ihrem Unterschlupf in der Spielhalle geworfen! Wenn es so böse Leute wie Team Rocket tatsächlich geben würde, hätten sie nicht den Hauch einer Chance gegen mich!"
+
+msgid "MAP085_NPC_2"
+msgstr "Ich mach mir ehrlich gesagt schon ein wenig Sorgen über diese ganze Videospiel-Sache. Junior bleibt immer so lange wach und spielt sein Spiel... aber immerhin erledigt er seine Hausaufgaben, also kann ich mich eigentlich nicht beschweren."
+
+msgid "MAP086_NPC_1"
+msgstr "Wenn der Winter kommt esse ich 'ne Menge. Das eingelagerte Fett hält mich schön warm! Meine Lieblingsferien sind... eben die, in denen man ganz viel essen kann!"
+
+msgid "MAP086_NPC_2"
+msgstr "Mama sagt, ich soll nicht mehr kaufen als ich brauche. Aber ich BRAUCHE doch 20 Poképuppen!!!! Ich hab' Mamas Kreditkarte gemopst, als sie nicht hingesehen hat. Ich werde damit SO VIEL ZEUG kaufen."
+
+msgid "MAP087_SIGN_1"
+msgstr "Maskara Insel\nIm Osten von Venesi"
+
+msgid "MAP087_SIGN_2"
+msgstr "Supertrainingszelt. Tutor: Tarou"
+
+msgid "MAP087_TRAINER_1"
+msgstr "Schwimmen ist eine tolle Möglichkeit in Form zu kommen!"
+
+msgid "MAP087_TRAINER_1_DEFEAT"
+msgstr "Au, ich hab' mir 'nen Muskel gezerrt!"
+
+msgid "MAP087_TRAINER_2"
+msgstr "Dies sind gefährliche Gewässer!"
+
+msgid "MAP087_TRAINER_2_DEFEAT"
+msgstr "Keuch! Irgendetwas hat in meinen Fuß gebissen!"
+
+msgid "MAP087_TRAINER_3"
+msgstr "Bist du bereit meilenweit über das offene Meer zu schwimmen?"
+
+msgid "MAP087_TRAINER_3_DEFEAT"
+msgstr "Das Wasser ist richtig kalt."
+
+msgid "MAP087_TRAINER_4"
+msgstr "Cowabunga! Wass'er geht{, Alter!|, Mädel!|!}"
+
+msgid "MAP087_TRAINER_4_DEFEAT"
+msgstr "Plattgemacht!"
+
+msgid "MAP087_TRAINER_5"
+msgstr "Alle sagen es schwimmen viele Fische im Meer, aber irgendwie fange ich keine!"
+
+msgid "MAP087_TRAINER_5_DEFEAT"
+msgstr "Verflixt, noch einer davongekommen!"
+
+msgid "MAP087_TRAINER_6"
+msgstr "Der Ozean ist so warm und salzig, fühlt sich gut an!"
+
+msgid "MAP087_TRAINER_6_DEFEAT"
+msgstr "Glubglubglub!"
+
+msgid "MAP087_TRAINER_7"
+msgstr "???: Hiyah! Genin: Du hast einen Riesenfehler gemacht! Juunin: Nun ist unser ganzer Clan hier! Chuunin: Unser Boss wird dich versenken! Ronin: Boss Hokage ist unschlagbar! Hokage: ... Ah. Das ist also der fremde Eindringling, der es wagte unser Gebiet zu betreten. Chuunin: Zeig was du kannst, Boss! Hokage: Unterbrecht uns nicht. Also. Du bist {ein starker Pokémon-Trainer|eine starke Pokémon-Trainerin|ganz schön stark}. Aber mittlerweile bist du schwach und müde. Meine Pokémon sind stark. Schnell. Listig. Wir herrschen über diesen Teil des Meeres. Bei der Ehre meines Clans, wir bestrafen dich! Hokage: Nein... Das kann nicht sein...\nIst die Prophezeiung wahr?! Dass jemand kommen wird, der stärker ist als ich...? Meine Ninja Ehre verlangt es von mir... Ich muss mich \nvor deiner Stärke verneigen. Ronin: Boss! Hokage: Fortan... bist du {der Hokage|die Hokage|Hokage}. Diese Gewässer sind nun dein. Ich werde gehen... Chuunin: ... Juunin: ... Ronin: ... Genin: Tja, dann bist du jetzt wohl unser neuer Boss. Juunin: Heil dem neuen Hokage! Chuunin: Heil dem Ninja Clan! Ronin: Ninjas hinfort! Alle: HIYAH!"
+
+msgid "MAP087_TRAINER_7_DEFEAT"
+msgstr "Hokage: Hrk...!"
+
+msgid "MAP087_TRAINER_8"
+msgstr "???: Hiyah! ???: Du bist{ derjenige, der| diejenige, die|, wer} unsere Brüder entehrt hat! ???: Niemand darf unseren Ninja Clan im Kampf schlagen! ???: Bereite dich auf eine Abreibung vor! Chuunin: Diese Ungerechtigkeit kann so nicht stehen gelassen werden! Genin: Wir müssen es dem Boss berichten! Chuunin: Ja, der Boss wird es {dem Fremdländer|der Fremdländerin|dem Fremdländer} schon zeigen! Genin: Du wirst den Tag bereuen, an dem du es mit uns aufgenommen hast!"
+
+msgid "MAP087_TRAINER_8_DEFEAT"
+msgstr "Chuunin: {Dieser Fremdländer|Diese Fremdländerin|Dieser Fremdländer} ist stark!"
+
+msgid "MAP089_SIGN_1"
+msgstr "Eine Geschichte, die auf dem Computer geschrieben wurde...\n\"Der Allerbeste Krasseste Pokémon-Trainer Auf Der Welt!\"\nVon Theo Caine, 11 Jahre alt Sieht ziemlich schlecht geschrieben aus...\nLesen? \"Der Allerbeste Krasseste Pokémon-Trainer War Der Champion Von Kanto Johto Und Tandor. Er Hat Kein Einziges Mal Verlort. Seine Pokémon Waren Stark Und Kräftig. Sie Waren So Krass Dass Sie Sich Neu Entwickeln Konnten. Das War Die SuperMega Entwicklung. Jeder Dachte Dass Er Cool War Vor Allem {Sein Bester Freund|Seine Beste Freundin|Sein Bestie} PN.\nDer Name Des Trainers...\nWar...\nTheo!!!!\" Wäre besser nicht herum zu schnüffeln."
+
+msgid "MAP089_SIGN_2"
+msgstr "Eine Zeichentrickserie läuft im Fernsehen.\nPokémon tragen Kleidung und reden wie Menschen. ...Wird Zeit zu gehen!"
+
+msgid "MAP089_SIGN_3"
+msgstr "Theo hat anscheinend nur eine Wii, keine Wii U.\nKein Wunder, dass er immer zum Spielen rüber kommen wollte."
+
+msgid "MAP090_NPC_1"
+msgstr "Ich arbeite für den Arenaleiter, Dave. Meine Pokémon und ich schachten die umliegenden Höhlen aus, um sie als Wege und Wohnräume zugänglich zu machen. Ausgrabungen vorzunehmen ist gefährlich. Zum Glück spüren meine Pokémon bevorstehende Einstürze, sodass wir rechtzeitig evakuieren können."
+
+msgid "MAP090_NPC_2"
+msgstr "Dave liebt Höhlen. Offenbar, weil er in einer aufgewachsen ist. Deswegen hat er seine Arena auch in einer Höhle gebaut und benutzt dazu passende Pokémon zum Kämpfen."
+
+msgid "MAP091_NPC_1"
+msgstr "Ich kenne Leute, die nur Pokémon aus Kanto, Johto, oder anderen Regionen trainieren wollen. Warum ist das so? Sind Pokémon aus Tandor nicht auch gut? Hör mir bloß auf mit dieser Abneigung gegenüber Sinnoh Pokémon... das ist fast schon rassistisch, sag ich dir!"
+
+msgid "MAP091_NPC_2"
+msgstr "Hyperheiler? Die sind doch viel zu wertvoll für gewöhnliche Statusveränderungen. Deswegen benutze ich sie auch nie... Pokébälle... Tränke... Gegengifte... was könnte ein Trainer wohl noch brauchen?"
+
+msgid "MAP092_NPC_1"
+msgstr "...Hm? Dein Vater ist ein Ranger, sagst du?\nWenn das so ist, richte ihm ein Dankeschön von mir aus. Die Tandor Ranger arbeiten unermüdlich am Erhalt unserer Umwelt und zum Schutz der Bürger dieser Region."
+
+msgid "MAP092_NPC_2"
+msgstr "Du bist {ein Trainer|eine Trainerin|Trainer}, oder?\nDu erinnerst mich an meinen Sohn. Er ist auch ein Trainer. Denk immer daran wo du herkommst, egal wie weit weg du von Zuhause bist."
+
+msgid "MAP092_NPC_3"
+msgstr "Eulzchen! U-uu!"
+
+msgid "MAP093_NPC_1"
+msgstr "Bam! Kapow! Wenn ich groß bin, will ich ein Superheld sein! Ein wahrer Held kommt immer in der letzten Sekunde zur Rettung!"
+
+msgid "MAP093_NPC_2"
+msgstr "Unser Weluna bewacht ganz treu jede Nacht unser Haus.\nAllerdings hört es bei Vollmond gar nicht mehr auf zu heulen! Mein Sohn ist besessen von Comics und Filmen über Superhelden. Es ist immer gut, einen Helden zu haben, den man verehren kann."
+
+msgid "MAP093_NPC_3"
+msgstr "Nalpe! Nalpe!"
+
+msgid "MAP093_SIGN_1"
+msgstr "Im Fernsehen läuft ein Pokémon Kampf.\nZwei stark aussehende Trainer treten sich auf dem Feld entgegen."
+
+msgid "MAP093_SIGN_2"
+msgstr "Im Fernsehen läuft ein Pokémon Kampf.\nZwei stark aussehende Trainer treten sich auf dem Feld entgegen."
+
+msgid "MAP094_NPC_1"
+msgstr "Ich hab' immer davon geträumt ein Froxig zu besitzen... Dafür würde ich auch mein Bäschaun tauschen. Hast du eins? Bitte pass gut auf Bäschaun auf! Wohoo, endlich hab' ich ein glückliches Froxig!"
+
+msgid "MAP094_NPC_10"
+msgstr "Ach, wie lästig... Diese Felsbrocken blockieren den Weg zum Wald. Und ich muss genau dorthin..."
+
+msgid "MAP094_NPC_2"
+msgstr "Ich frage mich, was wohl für Pokémon in diesem Teich leben? Wahrscheinlich eh nur Karpador... Professor Bamb'u hat sein Labor im Haus auf der Klippe. Warum er wohl ausgerechnet in Mokistadt lebt?"
+
+msgid "MAP094_NPC_3"
+msgstr "Mokistadt ist so schön und friedlich und jeder kennt jeden. Ich lebe viel lieber hier als in einer Großstadt. Wusstest du schon, dass meine Tochter jetzt eine Trainerin ist? Sie trainiert ihr Schiflink auf Route 1. Grüß sie, wenn du sie siehst. Heute ist ein schöner Tag, findest du nicht? Wirkt so, als wäre das hier immer der Fall."
+
+msgid "MAP094_NPC_4"
+msgstr "Hähähä! Die Arenaleiterin ist noch nicht angekommen! Sie ist immer noch Zuhause! Hähähä!"
+
+msgid "MAP094_NPC_5"
+msgstr "Die Nowtoch U-Bahn-Station eröffnet heute!"
+
+msgid "MAP094_NPC_6"
+msgstr "Ich wünschte ich hätte für heute ein Ticket..."
+
+msgid "MAP094_NPC_7"
+msgstr "Ich hab' mir ein Ticket für die allererste U-Bahn-Fahrt in ganz Tandor gekauft!"
+
+msgid "MAP094_NPC_8"
+msgstr "Machollo..."
+
+msgid "MAP094_NPC_9"
+msgstr "Hach, das wunderschöne Meer von Tandor... Mein Leben besteht darin, die Inseln um Tandor zu besegeln. Ich liebe das, was ich tue. Ich sollte zurück zur Arbeit in XXX Stadt."
+
+msgid "MAP094_SIGN_1"
+msgstr "Nowtoch U-Bahn-Station."
+
+msgid "MAP094_TRAINER_1"
+msgstr "Puuh, ich hab's satt zu rennen, lass uns kämpfen!"
+
+msgid "MAP094_TRAINER_1_DEFEAT"
+msgstr "Das ist nicht fair, ich bin doch müde..."
+
+msgid "MAP094_TRAINER_2"
+msgstr "Shorts sind echt bequem! Du solltest sie irgendwann auch mal anprobieren."
+
+msgid "MAP094_TRAINER_2_DEFEAT"
+msgstr "Ich muss zurück nach Burole und noch mehr Shorts kaufen..."
+
+msgid "MAP094_TRAINER_3"
+msgstr "Es ist immer gut morgens ein wenig zu trainieren... Mal sehen, ob es seinen Zweck erfüllt hat!"
+
+msgid "MAP094_TRAINER_3_DEFEAT"
+msgstr "Näh, das Training funktioniert so nicht..."
+
+msgid "MAP094_TRAINER_4"
+msgstr "Das ist ein perfekter Platz für einen Kampf."
+
+msgid "MAP094_TRAINER_4_DEFEAT"
+msgstr "Ahh... du hast meinen Spaziergang ruiniert."
+
+msgid "MAP097_NPC_1"
+msgstr "Na, also du siehst mir wie ein kluger {junger Trainer|junge Trainerin|junger Trainer} aus. Ich betrachte mich als ein Experte der Mythen und Legenden Tandors. Möchtest du etwas über die legendären Pokémon der Tandor Region erfahren? Ah, Baitatao! Es ist gut dokumentiert. Baitatao sagt man nach ein großes Schlangenpokémon zu sein, das auf dem Grund des Flusses in Ost-Tandor lebt, obwohl es auch nach West-Tandor reist. Es soll ein Feuer- und Wasserpokémon sein. Die Hitze seiner Schuppen haucht dem Fluss Leben ein und nachts kann man das Wasser hell erstrahlen sehen. Wobei es auch einige Geschichten von Booten gibt, die des Nachts verschwinden, wenn es hungrig wird... Möchtest du noch eine Geschichte hören? Lanthan und Actan! Die seltenen Metall-Pokémon sind Zwillinge. Beide sind angeblich 1000 Jahre alt. Die Legende besagt, dass sie aus der Erdkruste gekrochen kamen, um dem Menschen den Nutzen von Metallen beizubringen. Anscheinend lebt ein ähnliches Pokémon in der Sinnoh Region, welches als Heatran bekannt ist. Heutzutage, so sagt man, leben sie in den Vulkanen von Tandor. Daher hat auch der Berg von Actinite seinen Namen. Möchtest du noch eine Geschichte hören? ... Von einem solchen Pokémon hab' ich noch nie gehört... Möchtest du noch eine Geschichte hören?"
+
+msgid "MAP097_NPC_10"
+msgstr "Alle sagen, der Arenaleiter ist außerdem eine Ikone des Theaters! Obwohl ich nicht weiß, wer es ist..."
+
+msgid "MAP097_NPC_11"
+msgstr "Sie sagten immer, dass Frauen, die in der Oper aufgetreten sind, \"unanständig\" seien... Wie unfair!"
+
+msgid "MAP097_NPC_12"
+msgstr "Du siehst wie ein freundlicher Trainer aus. Ich habe vor kurzem dieses Evoli von der Straße gerettet, aber ich bin eine alte Frau und kann mich nicht darum kümmern. Kannst du ihm ein neues Zuhause geben? Du bist eine gütige und großzügige Seele. Was für eine Schande..."
+
+msgid "MAP097_NPC_13"
+msgstr "Evoli ist ein Pokémon mit großem Potenzial. Es kann sich in sieben... nein, acht... Vielleicht sogar neun verschiedene Formen entwickeln?"
+
+msgid "MAP097_NPC_14"
+msgstr "Hier{, Trainer,|, Trainerin,|,} die sind für dich! Lass dein Evoli einen Level aufsteigen, während es eins dieser Items trägt. Dann entwickelt es sich!"
+
+msgid "MAP097_NPC_15"
+msgstr "Steine! Ich hab' so viele Steine! Sieh dir nur all meine Steine an! Ich teile meine Steine mit dir, falls du es schaffst mein Rätsel zu lösen! Wasser, Donner, Feuer, Dunkelheit, Licht, Kälte, Wärme, Liebe, Und noch eines. Was bin ich? Ganz genau!\nSehr gut! Evoli ist ein Pokémon, das die Steine gut gebrauchen kann. Komm wieder, wenn du dich an einem weiteren Rätsel versuchen willst. Nein...\nDas ist nicht das, was ich meinte. Keine Steine für dich!"
+
+msgid "MAP097_NPC_16"
+msgstr "Ich würde alles dafür geben, dass meine\nTochter wieder die Augen öffnet."
+
+msgid "MAP097_NPC_17"
+msgstr "Nikki! Süße, kannst du mich hören? ... Es bringt nichts... Sie wacht einfach nicht auf, selbst wenn ich sie schüttle... Manchmal wälzt sie sich hin und her und redet im Schlaf. Ich glaube, sie hat irgendeinen bestimmten Traum... Wenn es nur einen Weg gäbe in ihren Traum einzudringen und herauszufinden, warum sie nicht aufwacht."
+
+msgid "MAP097_NPC_18"
+msgstr "... Ähm...\n... ... ... Wer war ich nochmal?\n...Ach ja. Ich bin der Attacken-Verlerner. Falls deine Pokémon... äh... eine Attacke vergessen müssen, dann lass es mich wissen. Ich mache es kostenlos. Oh... eh... okay. \nWelches Pokémon soll eine Attacke... öh... vergessen? Komm wieder, wenn es Attacken gibt, die... äh... vergessen werden sollen. Was? Kein Ei sollte irgendwelche Attacken kennen. Was? Ich kann Crypto-Pokémon keine Attacken verlernen lassen. scheint nur eine Attacke zu kennen... Welche Attacke soll vergessen werden? Hm! 's ? Diese Attacke soll vergessen werden? Hat perfekt geklappt! hat komplett vergessen. Worüber haben wir nochmal gesprochen? Worüber haben wir nochmal gesprochen?"
+
+msgid "MAP097_NPC_19"
+msgstr "Ich bin der Attacken-Erinnerer. Ich kenne jede einzelne Attacke, die ein Pokémon lernen kann. Ich bin außerdem ein Sammler von Herzschuppen. Wenn du mir eine bringst, lehre ich deinem Pokémon eine Attacke. Lass mich raten... Ich soll einem Pokémon eine alte Attacke beibringen? Welches Pokémon soll sich wieder an eine Attacke erinnern? Wenn dein Pokémon eine Attacke lernen soll, komm jederzeit wieder. Hö? Es gibt keine Attacken, die ich einem Ei beibringen könnte. Kommt nicht in Frage, dass ich in die Nähe eines Crypto-Pokémon komme.. Sorry... Es sieht nicht so aus, als könnte ich deinem noch eine Attacke beibringen. An welche Attacke soll sich erinnern? Wenn dein Pokémon eine Attacke lernen soll, komm jederzeit wieder. Wenn dein Pokémon eine Attacke lernen soll, komm jederzeit wieder. Wenn dein Pokémon eine Attacke lernen soll, komm jederzeit wieder. Falls eines deiner Pokémon eine Attacke lernen soll, komm mit einer Herzschuppe wieder."
+
+msgid "MAP097_NPC_2"
+msgstr "Welcher ist dein Lieblingstyp? Ich finde Fee am besten!"
+
+msgid "MAP097_NPC_20"
+msgstr "Hallo! Ich bin der Attacken-Lehrer! Hast du immer noch ein Metaluks, Brandillo, oder Ampuxo? Falls ja, kann ich einem davon eine hammermäßige Attacke beibringen - und zwar kostenlos. Soll ich einem anderen Pokémon eine spezielle Attacke beibringen? Soll ich einem anderen Pokémon eine spezielle Attacke beibringen? Soll ich einem anderen Pokémon eine spezielle Attacke beibringen? Komm jederzeit wieder vorbei!"
+
+msgid "MAP097_NPC_21"
+msgstr "Möchtest du was trinken? ...Warte mal, du bist doch noch viel zu jung zum Trinken."
+
+msgid "MAP097_NPC_22"
+msgstr "Ich hab's gesehen! Warum glaubt mir denn keiner? ...Hör zu, Winzling, du siehst aus, als würdest du 'ner verrückten Geschichte Glauben schenken. Da bin ich also letzte Nacht am Hafen rum geschlendert und, naja, ich hatte ehrlich gesagt auch schon ein paar Drinks intus. Als ich plötzlich im Augenwinkel gesehen hab', wie sich was bewegt. Hab's rascheln gehört und so. Dann höre ich das Geräusch kleiner Füße, so als würde es weglaufen. Also hab ich's natürlich verfolgt! Und ganz plötzlich stehe ich in einer dunklen Gasse, in der ich noch nie zuvor gewesen bin. Aber von dem Ding fehlt jede Spur! Auf einmal höre ich ein Knurren hinter mir. Es war ein wildes Marduskur und ich schwöre bei meinem Leben, das Ding war SO groß! Ich dachte, ich wäre mit Sicherheit dem Tod geweiht, als dieses... große pinke Ding... mit Flügeln un' Hörnern und Hasenohren und Schwimmfüßen wie ein Enton aus dem Nichts auftaucht und dem Köter eins vor'n Latz gibt, sodass es winselnd weggelaufen ist! Dann dreht sich das Ding zu mir. Und, bei Arceus, es war dunkel und ich hab' nur noch verschwommen gesehen, aber dieses Ding, es öffnet seinen Mund und sagt zu mir... es sagt: \"Jim, du bist betrunken.\" Un' das nächste, an das ich mich erinnern kann ist, dass ich in meinem eigenen Bett aufgewacht bin. Aber es war kein Traum! Dafür war's viel zu real! Ich wünschte nur, ich wüsste, was dieses Ding war... Kannst du mir helfen? Weiß' du, was es war? Das...\nDas isses! Das ist das pinke Ding! Ich wusste, ich bin nicht verrückt! Oh, Arceus sei Dank, die Erleichterung fühlt sich so gut an. Irgendwie muss ich mich bei dir revanchieren... was hälste davon? Nein, das war's nicht... Du nimmst mich auf den Arm{, Kumpel!|!|, Kumpel!} ...Pah. Glaubt mir ja sowieso keiner..."
+
+msgid "MAP097_NPC_23"
+msgstr "Warum solltest du ein anderes Pokémon als dein Starter-Pokémon trainieren? Wo liegt da der Sinn?"
+
+msgid "MAP097_NPC_24"
+msgstr "Meine Kinder wollen einfach nicht aufhören diese Videospiele zu spielen. Ich muss sie dazu zwingen auch mal draußen zu spielen."
+
+msgid "MAP097_NPC_25"
+msgstr "Ich hab' die allerneusten Pokémonspiele, Gold und Silber! Meine Freunde sind total neidisch, weil sie keinen Game Boy Color haben."
+
+msgid "MAP097_NPC_26"
+msgstr "Hmm. Wie sich gezeigt hat sind Träume von Menschen viel komplexer als Träume von Pokémon.\nIch werde einige Zeit brauchen, um an meiner Traumwelt-Technologie zu arbeiten, bevor ich es zum Laufen bekomme.\nAber wenn ich es schaffe, und verspreche ich dir, werden wir dieses Mädchen heilen!"
+
+msgid "MAP097_NPC_27"
+msgstr "Sooom-ni!"
+
+msgid "MAP097_NPC_3"
+msgstr "Also Fee ist stark gegen Kampf, Unlicht und Drache und widerstandsfähig gegen Käfer, Unlicht und Kampf und ist immun gegen Drachen... okay!"
+
+msgid "MAP097_NPC_4"
+msgstr "Hier{, Trainer,|, Trainerin,|,} diese TM ist für dich. Die TM ist Zauberschein. Eine Feen-Attacke, die Gegner mit einem Lichtschwall Schaden zufügt. Gebrauche sie weise!"
+
+msgid "MAP097_NPC_5"
+msgstr "Anscheinend gibt es manche Pokémon, die sich während des Kampfes entwickeln! Wie cool ist das denn? Es gibt eine Art der Entwicklung, die lediglich temporär ist... Aber nur manche Pokémon sind dazu in der Lage."
+
+msgid "MAP097_NPC_6"
+msgstr "Hast du schon von der neuen Art der Evolution gehört? Irgendein Wissenschaftler aus der Kalos Region hat sie entdeckt."
+
+msgid "MAP097_NPC_7"
+msgstr "Können Tandor Pokémon auch die Mega-Entwicklung durchführen? Ich denke schon..."
+
+msgid "MAP097_NPC_8"
+msgstr "Dieses Haus ist voll von Theaterliebhabern! Wir alle leben in Venesi, weil wir die Bühne lieben."
+
+msgid "MAP097_NPC_9"
+msgstr "Vor fünf Jahren hätte ich nicht einmal davon träumen können, Schauspielerin zu sein. Frauen waren auf der Bühne nicht erlaubt. Allerdings hat sich das mittlerweile geändert."
+
+msgid "MAP097_TRAINER_1"
+msgstr "Hey, du Balg! Was schaust du mich so schräg an? Ich lass mich von Gören wie dir doch nicht beleidigen!"
+
+msgid "MAP097_TRAINER_1_DEFEAT"
+msgstr "Besiegt von einem Kind?"
+
+msgid "MAP097_TRAINER_2"
+msgstr "Du glaubst wirklich, du hättest was es braucht, um so 'nen krassen Typen wie mich herauszufordern?"
+
+msgid "MAP097_TRAINER_2_DEFEAT"
+msgstr "Betrunken!"
+
+msgid "MAP097_TRAINER_3"
+msgstr "Ew! Du hast versucht meinen Rock anzufassen! Na warte, dir zeig' ich's!"
+
+msgid "MAP097_TRAINER_3_DEFEAT"
+msgstr "Iiiih!"
+
+msgid "MAP097_TRAINER_4"
+msgstr "Wehe, du sagst meinen Eltern, dass ich hier bin!"
+
+msgid "MAP097_TRAINER_4_DEFEAT"
+msgstr "Mamiiii!"
+
+msgid "MAP098_NPC_1"
+msgstr "Eulzchen zufolge versteckt sich der Dieb in der Berghöhle auf Route 6.\nBitte finde ihn so schnell es geht!\nUnsere weitere Forschung hängt davon ab!"
+
+msgid "MAP098_NPC_2"
+msgstr "Shhhh, Eulzchen, es ist alles okay... Eulzchen ist immer noch ängstlich nach der ganzen Tortur. Ich beruhige es."
+
+msgid "MAP098_NPC_3"
+msgstr "Ich bin Experte für die Wiederbelebung von Fossilien.\nDafür ist jetzt allerdings keine Zeit!\nWir befinden uns gerade in einer Notsituation!"
+
+msgid "MAP098_NPC_4"
+msgstr "Keine Panik, keine Panik...\nAlles wird gut! ...Oder?"
+
+msgid "MAP098_NPC_5"
+msgstr "Eulzchen! U-uu! c3=F89818,F8C898Bin Zuhause... aber... Freunde fehlen.\nWo sind Freunde? Unheimlich.../c3"
+
+msgid "MAP099_NPC_1"
+msgstr "GILLIAN: Wenn du irgendwelche Hinweise auf den Verbleib von c3=48D8D8,A8E0E0Zephy/c3 findest, sagst du mir bitte bescheid? Als Heilerin, Forscher und Musiker ist Inspiration für mich sehr wichtig."
+
+msgid "MAP099_SIGN_1"
+msgstr "Als du über die Glocke streichst, um ihren Ton zu hören, spürst du ein leises Flattern im Inneren! Du greifst nach hinten und findest ein kleines Stück Papier. Hm?"
+
+msgid "MAP099_TRAINER_1"
+msgstr "Meine Muskeln sind so kräftig, ich könnte tagelang schwimmen!"
+
+msgid "MAP099_TRAINER_1_DEFEAT"
+msgstr "So... müde..."
+
+msgid "MAP099_TRAINER_2"
+msgstr "Sei wachsam im Ozean!"
+
+msgid "MAP099_TRAINER_2_DEFEAT"
+msgstr "Du warst bereit!"
+
+msgid "MAP099_TRAINER_3"
+msgstr "Oh! Welch Überraschung!\nDurchaus ein seltener Anblick, jemanden so weit im Osten anzutreffen.\nDu musst wahrhaftig ziemlich stark sein. Für mich persönlich hat dieses Gebiet eine ganz besondere Bedeutung. Tatsächlich kam ich auf diese ganz bestimmte Insel, um den mythischen Kräften dieser Gewässer eine Opfergabe zu bringen. Wenn du willst, kannst du dich beteiligen, aber zunächst...\nbin ich neugierig, wie stark du und die Bande zwischen dir und deinen Pokémon sind. Bitte halte dich nicht zurück und schlag mit aller Kraft zu! Ich möchte dir nochmals dafür danken, dass du meiner Bitte nachgekommen bist.\nEs braucht genau die Güte im Herzen und den aufgeweckten Verstand, um das zu erreichen, was du mit deinen lieben Pokémon gemeinsam geschafft hast. Als Andenken an diese erfrischende Vorstellung und unser schicksalhaftes Treffen an diesem Tag, gebe ich dir jenes... Nun denn, ich glaube ich sollte mit meinem Ritual fortfahren. Solltest du ihnen vor deiner Abreise noch einmal Respekt zollen wollen, tue dies wie es dir beliebt. Ansonsten hoffe ich,\ndass wir uns zukünftig noch einmal begegnen."
+
+msgid "MAP099_TRAINER_3_DEFEAT"
+msgstr "Die Bindung zu deinen Pokémon ist gewiss eine übermächtige."
+
+msgid "MAP100_NPC_1"
+msgstr "Meine Frau ist immer nett zu reisenden Trainern. Sie backt auch die besten Kekse. Hier, nimm einen auf den Weg!"
+
+msgid "MAP101_NPC_1"
+msgstr "Ich muss jeden Tag Sonnenschutz auftragen, oder ich bekomme einen Sonnenbrand! Du wirst auch an deinen denken, okay? Schwimmen hält mich in Form. Somit kann ich nachts so viel trinken wie ich möchte!"
+
+msgid "MAP101_NPC_10"
+msgstr "Euuuul-zchen! Möchtest du den bPokémon-Sprachübersetzer/b benutzen? PN benutzt den bPokémon-Sprachübersetzer/b.... c3=F89818,F8C898Ich liebe meinen Menschen so sehr! Sie gibt mir Leckereien! Im Gegenzug bringe ich ihr glänzende Sachen!/c3"
+
+msgid "MAP101_NPC_11"
+msgstr "Mein Eulzchen findet oft glänzende Gegenstände und bringt sie mir.\nDieses hier bringt Glück!\nMöchtest du es haben? Ich hoffe dieses Münzamulett bringt dir Glück."
+
+msgid "MAP101_NPC_12"
+msgstr "Wow! Sonnenstrand ist grösser als ich mir jemals hätte erträumen können... Die Lichter, die Geräusche! Ich habe keine Ahnung, was ich als Erstes tun soll!"
+
+msgid "MAP101_NPC_13"
+msgstr "Hey{, Kumpel!|!|, Kumpel!} Möchtest du eine Armbanduhr kaufen? ...Oh, du hast schon einen PokéPod? Ähm... sage den Rangern nicht, dass ich hier bin, okay? Äh, noch einen schönen Tag."
+
+msgid "MAP101_NPC_2"
+msgstr "Dieser Typ schaut mich immer so seltsam an. Bäh! Ich bin mit meiner Familie hierher gezogen, aber meine Großeltern haben sich diesen Ort nur einmal angeschaut und sind wieder zurückgezogen! Aber ich bin hier, um zu bleiben."
+
+msgid "MAP101_NPC_3"
+msgstr "Bin ich gestorben und in den Himmel gefahren? Weil ich im Paradies bin. Der Himmel ist blau, das Meer ist warm und die Mädchen sind heiss! Ich denke ich werde heute ins Kasino gehen. Vielleicht werd ich heute so richtig absahnen!"
+
+msgid "MAP101_NPC_4"
+msgstr "So viele heiße Mädchen... So wenig Zeit. He, bist du neu hier, oder was? Was sollen die ganzen Klamotten? Zieh sie aus! Zieh Badesachen an oder so was."
+
+msgid "MAP101_NPC_5"
+msgstr "Entschuldige bitte, aber der Bau der Tandor U-Bahn ist noch nicht fertiggestellt."
+
+msgid "MAP101_NPC_6"
+msgstr "Entschuldige bitte, aber der Bau der Tandor U-Bahn ist noch nicht fertiggestellt."
+
+msgid "MAP101_NPC_7"
+msgstr "Jaaaaaa! Jaaaaa! Wuiiiiii!\nDu wirst mich nie kriegen!"
+
+msgid "MAP101_NPC_8"
+msgstr "Mein Kind hat so viel Energie. Ich hoffe er wird bald müde..."
+
+msgid "MAP101_NPC_9"
+msgstr "Ich bin obdachlos. Hier schlafe ich.\nRunter von meinem Rasen! Ich habe mir die Obdachlosigkeit ausgesucht.\nWer sagt man müsse ein Haus haben?\nEin solches Leben bedeutet mir nichts."
+
+msgid "MAP101_SIGN_1"
+msgstr "Sonnenstrand: Alter, das ist der angesagteste Ort, Mann!"
+
+msgid "MAP101_SIGN_2"
+msgstr "West-Tandors Ranger HQ."
+
+msgid "MAP101_SIGN_3"
+msgstr "Strand Resort & Casino"
+
+msgid "MAP101_SIGN_4"
+msgstr "Sonnenstrands Kaufhaus"
+
+msgid "MAP101_SIGN_5"
+msgstr "- Sonnenstrands öffentlicher Park"
+
+msgid "MAP101_TRAINER_1"
+msgstr "Urgh... Auf festen Boden zu stehen macht mich landkrank..."
+
+msgid "MAP101_TRAINER_1_DEFEAT"
+msgstr "Urp..."
+
+msgid "MAP102_TRAINER_1"
+msgstr "Cali: Hey! Hattest du Spaß bisher? Ich bin Cali, Arenaleiterin von Sonnenstrand! Es ist wohl offensichtlich, dass ich Strand-Pokémon benutze, oder? Lass mich dir ein wenig über mich erzählen. Als ich klein war, dachte ich, es wäre eine gute Idee ohne einen Bademeister in der Nähe schwimmen zu gehen. Auf einmal zog mich die reißende Flut komplett unter Wasser! Ich dachte, ich würde ertrinken. Aber dann spürte ich, wie sich unter mir etwas bewegte! Es war ein Welsirn und es brachte mich in Sicherheit. Von diesem Tag an beschloss ich Pokémon-Trainerin und Rettungsschwimmerin zu werden. Meine Pokémon haben schon unzählige Leben gerettet, weshalb sie ziemlich stark sind! Aber genug geredet.\nLass uns kämpfen! Cali: Tolles Match! Du bist echt stark!, Hier, nimm den Gezeitenorden! PN erhält den Gezeitenorden von Cali! Diese TM enthält Aquawelle! Eine mächtige Wasser-Attacke, die Verwirrung verursachen kann. Benutze sie so oft du willst!"
+
+msgid "MAP102_TRAINER_1_DEFEAT"
+msgstr "Du hast es dir verdient."
+
+msgid "MAP102_TRAINER_2"
+msgstr "Jetzt gibt es Ärger!!... Ich meine... lass uns kämpfen!"
+
+msgid "MAP102_TRAINER_2_DEFEAT"
+msgstr "Naja, ich habe mein Bestes gegeben."
+
+msgid "MAP102_TRAINER_3"
+msgstr "Du wirst genauso untergehen wie die Titanic!"
+
+msgid "MAP102_TRAINER_3_DEFEAT"
+msgstr "Ich habe losgelassen und ich bin untergegangen..."
+
+msgid "MAP102_TRAINER_4"
+msgstr "Oh, besitzt du Wasser-Pokémon?"
+
+msgid "MAP102_TRAINER_4_DEFEAT"
+msgstr "Mensch, ich hab' verloren..."
+
+msgid "MAP102_TRAINER_5"
+msgstr "Du bist {ein mangelhafter Trainer|eine mangelhafte Trainerin|mangelhafter Trainer}!"
+
+msgid "MAP102_TRAINER_5_DEFEAT"
+msgstr "Bin trotzdem besser als du~"
+
+msgid "MAP102_TRAINER_6"
+msgstr "Später werde ich frittierte Karpador essen."
+
+msgid "MAP102_TRAINER_6_DEFEAT"
+msgstr "Ich werde alle meine Pokémon frittieren..."
+
+msgid "MAP102_TRAINER_7"
+msgstr "Dieser Raum ist eine Sackgasse!"
+
+msgid "MAP102_TRAINER_7_DEFEAT"
+msgstr "Ich habe einen schlechten Tag."
+
+msgid "MAP104_NPC_1"
+msgstr "Ich spiele mit meinem Bruder. Stör uns nicht!"
+
+msgid "MAP104_NPC_2"
+msgstr "Hallo! Ich bin ein Pokémonfreak! Ich sehe, du bist {ein Trainer|eine Trainerin|Trainer}. Eventuell kannst du mir helfen... Ich suche nach einem ganz bestimmten Pokémon. Ich kann mich nur nicht daran erinnern, wie es hieß. Wenn du mir helfen kannst, gebe ich dir eine Belohnung. Es war so eine Art dicke, gelbe Schlange... was war es nochmal? Ach ja! Dummisel! Das war's!\nWow, es ist so niedlich! Das macht mich so glücklich. Der beste Tag meines Lebens! Wie kann ich mich jemals dafür revanchieren?\nDas muss wohl reichen. Nein... ich denke nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist ein schwaches Wasser-Pokémon, das aber sehr stark wird, wenn es sich entwickelt. Ach ja! Karpador! Das war's!\nEs sieht momentan zwar nicht nach viel aus, aber es sprudelt nur so vor Potenzial.\nWarte nur, kleiner Fisch! Eine strahlende Zukunft erwartet dich! Hier{, Trainer,|, Trainerin,|,} nimm dies als Zeichen meiner Dankbarkeit. Nein... ich denke nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist ein Feuervogel-Pokémon und ich glaube, es hat eine Vorentwicklung. Ach ja! Pakamin war's. Was für ein Prachtexemplar!\nWie das Feuer seinen Flügeln folgt, wenn es durch die Lüfte schwingt... ein unvergesslicher Anblick.\nIch hätte gerne eins als Haustier, aber wahrscheinlich würde es mein Haus abfackeln. Du bist hilfreich wie immer{, Trainer!|, Trainerin!|!} Bitte, akzeptiere das als Belohnung. Nein... ich denke nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist ein Elektro-Pokémon, das rosa ist, mit einem blauen Juwel auf seinem Schwanz. Ach ja! Waaty! Wie konnte ich das nur vergessen?\nEs umgibt eine sanfte und doch königliche Aura. Ich glaube mein Onkel hat welche auf seiner Farm in Vinoville. Wie immer, Trainer, bitte akzeptiere diese Belohnung als mein Dankeschön! Nein... ich denke nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist ein Pokémon, welchem man in Höhlen begegnen kann und das einem leicht entwischt. Ach ja! Giffind!\nWelch reizendes Geschöpf! Wie fliegt es überhaupt mit diesen winzigen Flügelchen? Das ist wohl eins der größten Geheimnisse des Lebens. Davon abgesehen kann es sich in das furchteinflößende Toxanell entwickeln. Unterschätze es nicht! Hier ist eine Belohnung für dich. Nein... ich denke nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist ein Pokémon, das nur die männlichsten aller Männer trainieren können. Gute Güte! Es ist Erzel!\nIch höre, wie Wanderer oft damit angeben, wie sie ein Erzel stemmen können. Wenn ich das versuchen würde... ich glaube meine Arme würden brechen! Nimm das hier doch als Belohnung{, Trainer.|, Trainerin.|.} N-nein... ich glaube nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist struppig und sehr schnell verärgert. Ach ja, Menki natürlich!\nIch wünschte, ich könnte es streicheln... aber es würde mit Sicherheit wütend auf mich werden. Bitte, nimm dies als Belohnung. N-nein... ich glaube nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Bei Nacht tritt es deutlich häufiger auf, als am Tag und es sieht einem Waaty sehr ähnlich. Ach ja, es ist Bäschaf! Wie wundevoll.\nOffenbar ist seine Wolle bei Kunsthandwerkern sehr geschätzt, um robuste Kleidung herzustellen.\nSie sind anscheinend viel schwieriger aufzuziehen als Waaty. Du hast mir sehr geholfen. Ich danke dir! Nein... ich denke nicht, dass ich danach gesucht habe. Oh, willkommen zurück{, Trainer!|, Trainerin!|!} Du kommst gerade richtig. Ich habe noch nach diesem anderen Pokémon gesucht. Es ist extrem intelligent, aber sehr selten. Ich glaube, es war ein Wasser-Pokémon...? ...Oh. Es ist Hirlip.\n...Uff. Das ist irgendwie ekelig... bitte, nimm es weg. Ich habe keine Steine mehr, also... ist das hier deine Belohnung. Nein... ich denke nicht, dass ich danach gesucht habe."
+
+msgid "MAP104_NPC_3"
+msgstr "Ich trainiere meine Pokémon in meinem Spiel. Eines Tages werde ich meine Schwester besiegen! Denkst du, irgendwann gibt's ein Spiel, das in Tandor spielt?"
+
+msgid "MAP104_NPC_4"
+msgstr "Ich für meinen Teil denke, dieser \"Pokémon Rot\" Unsinn verdirbt meine Kinder. Einmal hat mein Sohn versucht in die Kometenhöhle zu gehen und seine eigenen Pokémon zu fangen! Ich musste ihn zurück schleifen."
+
+msgid "MAP104_NPC_5"
+msgstr "Diese Kinder und ihre Videospiele.\nAls ich ein Kind war, haben wir draußen im Dreck gespielt! Und es hat uns gefallen!"
+
+msgid "MAP104_NPC_6"
+msgstr "Hallihallo, Fremder~ Wie geht es dir? Das ist eine hübsche... Tasche, die du da hast. Bist du {ein Trainer|eine Trainerin|Trainer}? Hast du Pokémon in deinen Pokébällen?"
+
+msgid "MAP104_NPC_7"
+msgstr "Ich mache mir Sorgen um meine Schwester. Sie geht ein wenig zu freundlich mit Fremden um. Mein Cousin dort drüben ist verrückt nach Pokémon, würde das Haus aber nie verlassen.\nIch wünschte, er würde sich einen Job suchen..."
+
+msgid "MAP105_TRAINER_1"
+msgstr "... Knobikid! Kno! Knobi! PN benutzt den bPokémon-Sprachübersetzer/b.... c3=60B048,B0D090Was tust du hier, Mensch?\nVersuchst du erneut diese Pokémon zu versklaven? Sie wurden aus euren Fängen befreit!\nSie sind nicht mehr eure Gefangene!/c3 c3=60B048,B0D090Knobikid ist hier! Der Held der Pokémon!\nIch habe sie hier an diesem schrecklichen Menschenort gefunden und befreit!\nWir werden für unsere Freiheit kämpfen!/c3 Kno... bi... c3=60B048,B0D090Wir.... wir haben verloren?. Aber wie?!\nWarum kämpfen diese Pokémon für euch Menschen?\nWollen sie nicht in Freiheit leben?\nSie.... sind deine Freunde...?\nUnmöglich!\nPokémon und Menschen können nicht zusammenleben!/c3 c3=60B048,B0D090Kameraden!\nIhr geht an diesen Ort zurück?. Warum?!\nGrr... dafür wirst du bezahlen, Mensch!\nSolange es Pokémon gibt, die gegen ihren Willen fest gehalten werden...\nKnobikid, der Held der Pokémon,\nwird da sein, um sie zu retten!\nIch werde wiederkommen!/c3"
+
+msgid "MAP105_TRAINER_1_DEFEAT"
+msgstr "c3=60B048,B0D090Mach dich bereit, vernichtet zu werden!/c3"
+
+msgid "MAP106_NPC_1"
+msgstr "Also, was hältst du davon? Lass uns zusammen gehen. (Adam schließt sich dir an!) Okay!\nIch werde dafür sorgen, dass unsere Pokémon geheilt werden. Der Eingang zur Höhle ist genau dort..... Woah! Hast du das gehört?\nSieht so aus, als wären wir nicht alleine hier.\nNaja... was soll's, lass uns gehen! Schon ok.\nIch glaub', ich werde diese Runen noch etwas genauer untersuchen.\nWenn du deine Meinung ändern solltest, ich bin hier."
+
+msgid "MAP108_NPC_1"
+msgstr "Willkommen in Sonnenstrands berühmtem Kaufhaus! Hier kannst du alle möglichen Dinge von allen möglichen Leuten finden. Brauchst du mehr Informationen über die einzelnen Stockwerke? Super! Auf dem ersten Stockwerk wirst du Items finden, die man als Trainer eben so braucht, also Pokébälle und Tränke. Auf dem zweiten Stockwerk wirst du auf Evolutionssteine und TMs treffen. Das dritte Stockwerk versorgt dich mit Items, die die Statuswerte deines Pokémon verbessern."
+
+msgid "MAP108_NPC_10"
+msgstr "Entwicklungssteine sind unersetzbar, um Pokémon wie Evoli, Lakiau, oder Weluna zu entwickeln! Gut, dass sie hier alle Steine verkaufen!"
+
+msgid "MAP108_NPC_11"
+msgstr "Diese Technischen Maschinen sind so teuer! Ich erinnere mich noch daran, als sie günstiger waren... allerdings konnte man sie damals nur einmal benutzen, also sind die neueren wohl besser."
+
+msgid "MAP108_NPC_12"
+msgstr "Ich mag es mich durch meine Kämpfe zu powern! Deswegen benutze ich X-Items!"
+
+msgid "MAP108_NPC_13"
+msgstr "Ich habe mein Pokémon mit Protein vollgepumpt, um seine Angriffsstärke zu sprengen. Aber jetzt sieht es irgendwie krank aus..."
+
+msgid "MAP108_NPC_14"
+msgstr "Ahh... was für eine Wohltat von der ganzen Schnäppchenjagd ein Päuschen zu nehmen."
+
+msgid "MAP108_NPC_15"
+msgstr "Der Raritätenladen ist auf diesem Stockwerk. Der Vorrat ändert sich täglich, aber am Wochenende haben sie geschlossen."
+
+msgid "MAP108_NPC_2"
+msgstr "So viele Möglichkeiten... ich bin durch die Unentschlossenheit wie paralysiert. Sieht so aus, als bräuchte ich einen Para-Heiler."
+
+msgid "MAP108_NPC_3"
+msgstr "Shoppen bis zum Umfallen! Das ist mein Motto! Ich höre nicht auf, bis ich mehr habe, als ich tragen kann!"
+
+msgid "MAP108_NPC_4"
+msgstr "Papa, kauf mir eine Poképuppe! Na gut Kleines, aber das war es dann für heute!"
+
+msgid "MAP108_NPC_5"
+msgstr "Papa, kauf mir eine Poképuppe! Na gut Kleines, aber das war es dann für heute!"
+
+msgid "MAP108_NPC_6"
+msgstr "Ich bereite mich auf eine große Expedition vor, deswegen decke ich mich mit Vorräten ein, bevor ich gehe. Dieses Kaufhaus hat einfach alles, was das Trainerherz begehrt."
+
+msgid "MAP108_NPC_7"
+msgstr "Es ist wichtig Statusheiler zu haben, wenn man als Pokémon Ranger arbeitet. Manche wilde Pokémon werden von Trainern paralysiert oder vergiftet und es ist unsere Aufgabe, sie zu heilen!"
+
+msgid "MAP108_NPC_8"
+msgstr "Ich fange keine Pokémon, ich sammle einfach gern Pokébälle."
+
+msgid "MAP108_NPC_9"
+msgstr "Hyperstrahl, los! NEEEEOOOOWWWMM!!"
+
+msgid "MAP109_NPC_1"
+msgstr "Trittst du gegen die Arenaleiterin an? Sie ist stärker als sie aussieht. Ihre Pokémon sind auch nicht nur vom Typ Wasser. Also denk nicht, dass du mit Elektro-Pokémon ein leichtes Spiel hast! Wenn du am Strand spazieren gehst, gib Acht vor Palmen, die dir komisch vorkommen. Das könnten Pokémon sein!"
+
+msgid "MAP109_TRAINER_1"
+msgstr "Ich habe mit Cali, der Leiterin, gekämpft, aber sie hat mich fertiggemacht. Da muss ich wohl noch ein bisschen trainieren... \n Hey du, willste kämpfen? Okay, na dann los! O-oh, wie schade."
+
+msgid "MAP109_TRAINER_1_DEFEAT"
+msgstr "Mann, ich sollte wirklich trainieren."
+
+msgid "MAP111_NPC_1"
+msgstr "Der orangefarbene Feling hat sich zusammengerollt und beobachtet das Feuer."
+
+msgid "MAP111_SIGN_1"
+msgstr "Traumgeschichten voraus"
+
+msgid "MAP111_TRAINER_1"
+msgstr "Ich habe auf einen starken Gegner gewartet - ich habe auf dich gewartet."
+
+msgid "MAP111_TRAINER_1_DEFEAT"
+msgstr "Ich schlafe im Traum."
+
+msgid "MAP112_NPC_1"
+msgstr "Auf dieser Insel wimmelt es von Nuklear-Pokémon! PN, du weißt, was zu tun ist.... Geh und zeig ihnen, wer der Boss ist!"
+
+msgid "MAP112_NPC_10"
+msgstr "*Schnauf*...\nDiese Pokémon... sie werden nie müde."
+
+msgid "MAP112_NPC_11"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_12"
+msgstr "Liebes, du musst entschlossen bleiben. Wir werden das Böse mit der Kraft der Götter besiegen! Mein Ehemann ist bereits müde und dennoch hören diese Pokémon nicht auf. Wir mögen Inkarnationen sein, aber wir sind einfache Sterbliche. PN, bitte hilf uns diese Bedrohung zu bewältigen. ...Ich denke, ich kann noch weitermachen, Liebes. Die Götter verleihen uns Kraft. ...Ich denke, ich kann noch weitermachen, Liebes. Die Götter verleihen uns Kraft."
+
+msgid "MAP112_NPC_13"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_2"
+msgstr "Die Nuklear-Pokémon kommen von allen Seiten! Überwältige so viele wie du kannst! Wir schaffen das!"
+
+msgid "MAP112_NPC_3"
+msgstr "Hiisssssssssss..."
+
+msgid "MAP112_NPC_4"
+msgstr "Nein! Mein Partner-Pokémon wurde besiegt... Ugh, jetzt bin ich schutzlos... Hilfe, PN, rette mich!"
+
+msgid "MAP112_NPC_5"
+msgstr "Marrrrr..."
+
+msgid "MAP112_NPC_6"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_7"
+msgstr "Weg mit euch! Mal sehen, wie euch meine Klinge schmeckt! ... Hey, du! Ich könnte ein bisschen Unterstützung gebrauchen. Sie sind mir alleine zu stark!"
+
+msgid "MAP112_NPC_8"
+msgstr "Gyaaaaaa..."
+
+msgid "MAP112_NPC_9"
+msgstr "Gut gemacht, PN!\nDu und ich bilden ein echt gutes Team, meinst du nicht auch? Hey, PN!\nDiese nuklearen Naturfreaks\nhaben keine Chance gegen mein Pokémon!\n...Hey, jetzt komm'n schon zwei von denen.\nWas hältst du davon, dass wir gemeinsam gegen sie kämpfen und ihnen zeigen, aus welchem Holz wir geschnitzt sind! Gut gemacht, PN!\nDu und ich bilden ein echt gutes Team, meinst du nicht auch?"
+
+msgid "MAP113_NPC_1"
+msgstr "Hey! Du siehst wie {ein Trainer|eine Trainerin|ein Trainer} aus!\nHör mal, kannst du mir einen Gefallen tun? \nIch habe dieses Ei von einem Freund aus einer weit entfernten Region erhalten, kann aber nicht drauf aufpassen. \nKannst du es mir abnehmen? PN erhielt ein Ei! Oh, äh, dein Team ist voll. Komm wieder, wenn du Platz geschaffen hast. ...Oh, schade."
+
+msgid "MAP113_NPC_2"
+msgstr "Ich war auch mal ein Pokémon-Trainer wie du, aber... Als ich in Sonnenstrand eintraf, dachte ich mir so: \"Warum Pokémon trainieren, wenn ich auch Party machen kann?\" Kennst du die Arenaleiterin, Cali?\nOh Mann, was eine heiße Schnitte.\n...Du bist zu jung, um das zu verstehen."
+
+msgid "MAP114_NPC_1"
+msgstr "Du hast keins bekommen? Naja, kein Thema, ich hab' noch eins. Hier, nimm es. Das ist unglaublich... PN, wir müssen Kellyn von diesem Pokémon erzählen! ...... ...... Kellyn: Hier spricht Kellyn. Ist irgendwas Schlimmes passiert? Nein, aber...\nWir haben etwas Unglaubliches entdeckt! Du wirst das nicht glauben, Boss! Kellyn: ...\n...Tatsächlich? Nur weiter. Oh! Ähm...\nEs ist ein Pokémon! Eine neue Pokémon-Art! Es ist vom Typ Nuklear, aber... es ist nicht feindselig. Nicht einmal radioaktiv. Das ist jetzt nur 'ne Vermutung, aber... ich denke, es isst die Strahlung! Wir sind in diesem Gebiet innerhalb der Gefahrenzone und sie ist komplett sauber. Ich muss hier noch nichtmal meine Maske tragen. Kellyn: Theo! Das ist gefährlich. Zieh deine Maske sofort wieder an! Selbst wenn du keine Anzeichen dafür siehst, könnte es dort immer noch Radioaktivität geben. Gibt es aber nicht, versprochen! Wir haben auf dem Geigerzähler des Schutzanzuges nachgesehen. Hier ist es komplett strahlungsfrei! Total merkwürdig! Kellyn: Wenn das, was du sagst, wahr ist, dann... Das könnte unsere Strategie grundlegend ändern. Exzellente Arbeit, Theo und PN. Haltet mich über neue Entdeckungen auf dem Laufenden. Aber denkt daran, euer primäres Ziel bleibt dasselbe... Wenn wir CURIE nicht aufhalten, können wir den Wiederherstellungsprozess nicht in Gang setzen. Eure Ortungsgeräte besagen, dass ihr nicht weit vom Atomkraftwerk entfernt seid. Es ist weiter im Norden. CURIE wird dort sein. Findet CURIE und beendet die Sache ein für allemal! Für Tandor! ...... ...... Dein Papa weiß, sich auf ein einziges Ziel zu konzentrieren... Aber er hat Recht. Echt cool, dass wir das herausgefunden haben, aber es gibt einen größeren Fisch zu grillen. Lass uns gehen! Haha, du hast es nicht bekommen? PN, du hast acht Orden. Du kriegst das hin. Hier, nimm noch einen Nuklearball. Jetzt geh und schnapp dir das Ding! Ich hab' meins schon."
+
+msgid "MAP114_NPC_2"
+msgstr "Feeermm..."
+
+msgid "MAP114_NPC_3"
+msgstr "Feeermm..."
+
+msgid "MAP114_NPC_4"
+msgstr "Feeermm..."
+
+msgid "MAP114_NPC_5"
+msgstr "Feeermm..."
+
+msgid "MAP117_NPC_1"
+msgstr "Gib dem Matrosen neben mir dein Ticket. Er wird dir alle Informationen geben, die du brauchst!"
+
+msgid "MAP117_NPC_2"
+msgstr "Das Kraftwerk nördlich von hier genießt nur die höchsten Sicherheitsstandards! Man müsste sich schon teleportieren können, um hinein zu gelangen. Nicht, dass das irgendjemand wollen würde. Ich mache mir Sorgen um meine Rangerkollegen am Kraftwerk bei Sonnenstrand, aber ich wurde hier postiert um sicherzugehen, dass beim Kraftwerk im Norden nichts schief geht."
+
+msgid "MAP117_NPC_3"
+msgstr "Woah! Bist du {ein echter Pokémon-Trainer|eine echte Pokémon-Trainerin|wirklich Pokémon-Trainer}? Schau mal, das hab ich hier bei den Büschen gefunden, es könnte nützlich sein!"
+
+msgid "MAP117_NPC_4"
+msgstr "Oy! Freundchen. Du siehst aus wie jemand, der gern angelt. Ich sehe diesen Glanz in deinen Augen, genau dort. Diesen GLANZ. Diese HOFFNUNG. Du scheinst mir die Art von Mensch zu sein, die bereit ist STUNDENLANG ZU WARTEN, bis etwas anbeißt. Habe ich Recht? {Braver Junge|Braves Mädchen|Braves Kind}! *brumm*\nKinder heutzutage..."
+
+msgid "MAP117_NPC_5"
+msgstr "Früher war ich ein anerkannter Trainer, aber nun bin ich zur Ruhe gekommen. Meine Kinder haben meine Pokémon, während ich ein ruhiges Leben genieße."
+
+msgid "MAP117_NPC_6"
+msgstr "Hier in der Gegend arbeiten die meisten von uns auf den Feldern. Ist harte Arbeit, aber genug, um ganz Tandor mit Essen zu versorgen."
+
+msgid "MAP117_NPC_7"
+msgstr "Laaaaaaammm!"
+
+msgid "MAP117_NPC_8"
+msgstr "Lamm! Voltilaaaaammm!"
+
+msgid "MAP117_SIGN_1"
+msgstr "Route 8 - Weizenfelder\n- Vinoville"
+
+msgid "MAP117_SIGN_2"
+msgstr "Trainer Tips!\nBeim Fischen brauchst du\nGeduld und schnelle Reflexe.\nWarte bis die Nachricht\n\"Oh! Da hat etwas angebissen!\"\nerscheint, dann hole die\nAngel schnell ein."
+
+msgid "MAP117_SIGN_3"
+msgstr "Westen nach Vinoville."
+
+msgid "MAP117_SIGN_4"
+msgstr "Tipps für Trainer!\nFür's Fischen braucht man schnelle Reflexe.\nDrücke A, wenn die Nachricht \"Oh! Da hat etwas angebissen!\" erscheint.\nVersuche es einfach so lange, bis du ein Pokémon angelst."
+
+msgid "MAP117_TRAINER_1"
+msgstr "Excuse moi!"
+
+msgid "MAP117_TRAINER_10"
+msgstr "Alles, was ich mache, ist trainieren, trainieren, trainieren, den ganzen Tag lang! Hilf mir beim Trainieren!"
+
+msgid "MAP117_TRAINER_10_DEFEAT"
+msgstr "Puh! Du musst mir deine Trainingstipps verraten!"
+
+msgid "MAP117_TRAINER_1_DEFEAT"
+msgstr "Meine Pokémon sind so fit wie ich!"
+
+msgid "MAP117_TRAINER_2"
+msgstr "Nichts als ein paar lausige Froxig in diesen alten Farmtümpeln, aber manchmal fische ich was echt Gutes."
+
+msgid "MAP117_TRAINER_2_DEFEAT"
+msgstr "Ziemlich gut, siehste?"
+
+msgid "MAP117_TRAINER_3"
+msgstr "Ich hörte, dass hier in der Gegend UFOs entdeckt wurden, also halte ich Wache."
+
+msgid "MAP117_TRAINER_3_DEFEAT"
+msgstr "Ich glaube, ich verschwende nur meine Zeit..."
+
+msgid "MAP117_TRAINER_4"
+msgstr "Hiyah! Kämpfe mit mir! Na los, kämpfe!"
+
+msgid "MAP117_TRAINER_4_DEFEAT"
+msgstr "Grr..."
+
+msgid "MAP117_TRAINER_5"
+msgstr "Mann, dieser Ort ist soooooo langweilig! Hier gibt es nur Weizen und sowas. Ich kann es kaum erwarten zu gehen."
+
+msgid "MAP117_TRAINER_5_DEFEAT"
+msgstr "Aww..."
+
+msgid "MAP117_TRAINER_6"
+msgstr "Käfer-Pokémon sind am Vielfältigsten. Sie haben die größte Auswahl an Attacken!"
+
+msgid "MAP117_TRAINER_6_DEFEAT"
+msgstr "Ich sollte meinen Pokémon andere Attacken beibringen."
+
+msgid "MAP117_TRAINER_7"
+msgstr "Oh, wie war das, Sweetie? Du willst kämpfen? Ach, was soll's, warum nicht?"
+
+msgid "MAP117_TRAINER_7_DEFEAT"
+msgstr "Na, du hast aber ganz schön Mumm!"
+
+msgid "MAP117_TRAINER_8"
+msgstr "Hab' dich gefunden!"
+
+msgid "MAP117_TRAINER_8_DEFEAT"
+msgstr "Ich wollte doch nur Verstecken spielen..."
+
+msgid "MAP117_TRAINER_9"
+msgstr "Es wäre besser, wenn du nicht versuchst, eins meiner Herdentiere zu stehlen, haste verstanden?"
+
+msgid "MAP117_TRAINER_9_DEFEAT"
+msgstr "Warst wohl sowieso kein Dieb."
+
+msgid "MAP118_TRAINER_1"
+msgstr "(Hey! Du störst meinen Alleingang im Tauchen!)"
+
+msgid "MAP118_TRAINER_1_DEFEAT"
+msgstr "(Brummen...)"
+
+msgid "MAP118_TRAINER_2"
+msgstr "(Krrrack!!! Das ist das Geräusch von zerbrechenden Korallen!)"
+
+msgid "MAP118_TRAINER_2_DEFEAT"
+msgstr "(...Ich wurde zerbrochen!)"
+
+msgid "MAP118_TRAINER_3"
+msgstr "(Ich wollte nach Schätzen tauchen, aber stattdessen hab' ich {einen Trainer|eine Trainerin|einen Trainer} gefunden!)"
+
+msgid "MAP118_TRAINER_3_DEFEAT"
+msgstr "(Blub!!)"
+
+msgid "MAP121_NPC_1"
+msgstr "Ich habe mein ganzen Leben in Vinoville verbracht, so wie meine Eltern und ihre Eltern davor. Lord Aotius sei gepriesen, denn durch isein/i Licht können wir den iWeg/i erleuchten."
+
+msgid "MAP121_NPC_10"
+msgstr "Wirst du der Predigt in der Kirche beiwohnen? Der Vater empfängt jene, die lernen wollen, mit offenen Armen."
+
+msgid "MAP121_NPC_2"
+msgstr "An manchen Tagen gehe ich hinaus und arbeite auf den Feldern. An anderen verkaufe ich das, was wir anpflanzen, auf dem Marktplatz. Gepriesen sei Lord Mutios, denn durch iihren/i Schatten können wir die Lebenden vom Bösen beschützen."
+
+msgid "MAP121_NPC_3"
+msgstr "Ich will zur Arena gehen! Da haben sie WLAN drin. Aber meine Mama lässt mich nicht. Wirst du den Arenaleiter herausfordern? Er benutzt starke Stahl-Pokémon!"
+
+msgid "MAP121_NPC_4"
+msgstr "Jeden Tag ist es das Gleiche. Mit der Sonne aufwachen, bis mittags auf der Farm arbeiten, nach Hause gehen und mit der Familie Zeit verbringen. Ich würde es gar nicht anders haben wollen. Landwirtschaft ist harte Arbeit, aber ein ehrliches Leben."
+
+msgid "MAP121_NPC_5"
+msgstr "Eeeep! Du hast mich gefunden!\nIch spiele Verstecken mit meinem Bruder. Sag ihm nicht, dass ich hier bin, ok? Ich geb' dir eine Beere, also bitte sag nichts!"
+
+msgid "MAP121_NPC_6"
+msgstr "Ich spiele mit meiner Schwester Verstecken! Jetzt bin ich dran, sie zu suchen! Wenn ich dir eine Beere gebe, hilfst du mir dann, sie zu suchen?"
+
+msgid "MAP121_NPC_7"
+msgstr "Boll! Waumboll!"
+
+msgid "MAP121_NPC_8"
+msgstr "Das Leben ist am Schönsten, wenn Menschen und Pokémon zusammen in Harmonie leben. So lautet Gottes Wille."
+
+msgid "MAP121_NPC_9"
+msgstr "In Tandor gibt es zwei Schaf-Pokémon, die für ihre Wolle geschoren werden: Voltilamm und Bäshaun. Allerdings sind Bäshaun viel temperamentvoller und schwer zu erziehen."
+
+msgid "MAP121_SIGN_1"
+msgstr "Vinoville - Ein Paradies der Nostalgie"
+
+msgid "MAP121_SIGN_2"
+msgstr "Vinoville Arena - Arenaleiter: Sheldon \"Das Technikgenie\""
+
+msgid "MAP121_SIGN_3"
+msgstr "Vinoville Kirche\nAlle sind willkommen! (Wöchentliche Predigten)"
+
+msgid "MAP122_NPC_1"
+msgstr "Du hast vermutlich schon gehört, dass etwas an den Pokémon auf dieser Insel merkwürdig ist. Sie ähneln den typischen Tandor-Arten, nur, dass ihre Farben unüblich sind... Ihre Attacken sind anders und sie gehorchen den Befehlen ihrer Trainer nicht! Könnte der Unfall von vor zehn Jahren damit zu tun haben?"
+
+msgid "MAP122_NPC_2"
+msgstr "Cam ist unser Boss und er ist ein guter Kerl. Er mag Pokémon wirklich gern und sorgt sich um seinen Sohn, Theo. Ich respektiere Männer wie ihn. Gerüchte besagen, Cam war früher mal ein Pokémon-Trainer. Ein verdammt guter noch dazu. Man sagt, er bevorzugte Elektro-Pokémon."
+
+msgid "MAP122_NPC_3"
+msgstr "Cameron? Ja, er ist hier der Boss. Ein netter Kerl. Jeder nennt ihn 'Cam'. Aber irgendwie ist er auch seltsam, weißt du? Ich habe schon monatelang mit ihm zusammen gearbeitet und doch weiß ich nichts über ihn. Cam ist der Aufseher für den Bau des neuen Atomkraftwerks. Offenbar hat er sich für den Job beworben, direkt nachdem das Gebiet für strahlungsfrei erklärt wurde. Irgendwie komisch, oder?"
+
+msgid "MAP122_NPC_4"
+msgstr "Es ist hart hier zu arbeiten, mit dem Wissen, was vor zehn Jahren auf dieser Insel passierte. Fühlt sich manchmal so an, als würde ich auf einem Friedhof umherlaufen... Dieses neue Atomkraftwerk wurde mit den höchsten Sicherheitsstandards gebaut, die überhaupt möglich sind. Nach dem Unfall vor zehn Jahren wollte der Boss sichergehen, dass so etwas nie wieder passiert."
+
+msgid "MAP122_NPC_5"
+msgstr "Es zahlt sich aus, vorbereitet zu sein. Du solltest dich vor den wilden Pokémon hier in Acht nehmen. Nimm das, das sollte sich als nützlich erweisen. Es zahlt sich aus, vorbereitet zu sein."
+
+msgid "MAP122_NPC_6"
+msgstr "Hey! Der Boss sagt, niemand darf mehr nach hinten. Der Platz wird bald abgerissen."
+
+msgid "MAP122_NPC_7"
+msgstr "Hey! Der Boss sagt, niemand darf mehr nach hinten. Der Platz wird bald abgerissen."
+
+msgid "MAP122_TRAINER_1"
+msgstr "Hey, diese Insel ist kein Spielplatz für Kinder!"
+
+msgid "MAP122_TRAINER_1_DEFEAT"
+msgstr "Du bist kein gewöhnliches Kind!"
+
+msgid "MAP122_TRAINER_2"
+msgstr "Hast du herausgefunden, was mit den Pokémon hier los ist?"
+
+msgid "MAP122_TRAINER_2_DEFEAT"
+msgstr "Da bin ich überfragt!"
+
+msgid "MAP122_TRAINER_3"
+msgstr "Hey, du! Hilf mir meine Pokémon zu trainieren!"
+
+msgid "MAP122_TRAINER_3_DEFEAT"
+msgstr "Meine Pokémon brauchen noch etwas mehr Motivation."
+
+msgid "MAP123_SIGN_1"
+msgstr "Sieht aus, als wäre dies ein Teil des verbrannten Notizbuches, die Überschrift lautet \"Bericht Nr. 1\", lesen? --- -rbei--- -- --dename 092 schr----- --- -ora-. --- ----- ------- aus strahlen-------läss---- Biofasern. --- --ne- Beschädigung ---- --- si-- sel--- wiederhers------. [Die Seite wurde dem Notizbuch hinzugefügt.] [Die Seite wurde dem Notizbuch hinzugefügt.]"
+
+msgid "MAP123_SIGN_2"
+msgstr "Sieht aus, als wäre dies ein Teil des verbrannten Notizbuches, die Überschrift lautet \"Bericht Nr. 4\", lesen? --- -------- -- der Schnittstelle ------ heute ----schlossen. De- --diener ---- -- --- ---- ----, --- volle Kontrolle ---- --s Ex-mplar -- ----nehmen. ----- leitender Forscher, Dr. -------, --t --- Freigabe erhalten. [Die Seite wurde dem Notizbuch hinzugefügt.]"
+
+msgid "MAP123_SIGN_3"
+msgstr "Sieht aus, als wäre dies ein Teil des verbrannten Notizbuches, die Überschrift lautet \"Bericht Nr. 3\", lesen? D-- MRT --- anomale Gehirnwellen----er ------------. --- Exem--ar ------ nic-- -n --r Lage ----, selb-----ndig -- denk--. Wir -----ten -- ----- Unterdrückung-------. [Die Seite wurde dem Notizbuch hinzugefügt.]"
+
+msgid "MAP123_SIGN_4"
+msgstr "Sieht aus, als wäre dies ein Teil des verbrannten Notizbuches, die Überschrift lautet \"Bericht Nr. 2\", lesen? --- Energiekern ----- aus Über--- ----------. Er -------- -ine große ----- -- nuklearem Brennstoff, um ----viert -- ------. ------ -- ----------- aktiviert ---- ---- -- ------ unbegrenzt Energ-- --zeu--- ------. [Die Seite wurde dem Notizbuch hinzugefügt.]"
+
+msgid "MAP123_SIGN_5"
+msgstr "Sieht aus, als wäre dies ein Teil des verbrannten Notizbuches, die Überschrift lautet \"Bericht Nr. 5\", lesen? -- gab ---- Verletzung --- Vertraulich----. --- nun -n werden ---- -------- --- -----irdisch- ----sicher-----server verlager-. Projekt 092 muss --------- terminiert ------. [Die Seite wurde dem Notizbuch hinzugefügt.]"
+
+msgid "MAP125_NPC_1"
+msgstr "Was auch immer mit den Pokémon hier vor sich geht, es ist faszinierend! Ich meine, es ist fast sicher nicht gut. Aber es ist wirklich interessant!"
+
+msgid "MAP125_NPC_2"
+msgstr "Die Pokémon hier sind so beunruhigend... Es liegt an diesen ausdruckslosen Augen... es wirkt, als wären sie komplett leer. Und dann hat mich auch noch eins von ihnen ohne Grund angegriffen! Ich würde diesen Ort ja verlassen, wenn die Bezahlung nicht so gut wäre."
+
+msgid "MAP125_NPC_3"
+msgstr "Weißt du wie ein Kernreaktor funktioniert? Durch die Spaltung von Atomen im radioaktiven Brennstoff wird Energie generiert, die Unmengen an Hitze erzeugt. Diese Hitze wird genutzt um Wasser zum Kochen zu bringen und es in super heißen Dampf zu verwandeln, welcher eine Turbine in Gang setzt, die wiederum Elektrizität erzeugt. Unterwasserkabel leiten diese Elektrizität dann in die Städte der Region weiter."
+
+msgid "MAP126_NPC_1"
+msgstr "Yo{, Alter,|, Mädel,|,} hast du jemals Pokémon Rot gespielt? Das Spiel ist so krank. Ich werde diesen Kampf gewinnen. Ich habe Glurak. Niemand besiegt Glurak!"
+
+msgid "MAP126_NPC_2"
+msgstr "Hey, Mann, hast du ein Menki?\nWillst du es gegen mein Nidoran tauschen?\n...Oh, sorry, ich meinte im Spiel. NEEEEEEEEIN!!!!!!\nGlumanda ist vergiftet und ich bin mitten im Vertania-Wald ohne Gegenmittel!\nWarum habe ich diese dumme Herausforderung überhaupt gemacht?"
+
+msgid "MAP126_NPC_3"
+msgstr "Bin ich es nur, oder ist dieses Spiel wirklich kaputt? Statistisch gesehen ist Mewtwo im Grunde unschlagbar. Dieses Spiel ist so kaputt! Hyperstrahl ist wie ein sofortiger KO. So funktioniert das im wirklichen Leben nicht, oder?"
+
+msgid "MAP127_TRAINER_1"
+msgstr "Das ist es! Nach monatelangem Training haben wir es endlich bis zur Siegesstraße geschafft! Wir werden jetzt nicht verlieren!"
+
+msgid "MAP127_TRAINER_1_DEFEAT"
+msgstr "Unser eisiger Angriff hat nicht funktioniert?!"
+
+msgid "MAP127_TRAINER_2"
+msgstr "Hmmmmm! Meine Vorahnungen sagen mir, dass du es nicht weiter als hier schaffen wirst!"
+
+msgid "MAP127_TRAINER_2_DEFEAT"
+msgstr "Das Auge meines Geistes hat mich enttäuscht!"
+
+msgid "MAP127_TRAINER_3"
+msgstr "Um die Tandor Liga zu erreichen, musst du zuerst die Siegesstraße überwinden. Hast du das Zeug dazu{, Trainer?|, Trainerin?|?}"
+
+msgid "MAP127_TRAINER_3_DEFEAT"
+msgstr "Ich schätze, ich habe nicht das Zeug dazu....."
+
+msgid "MAP127_TRAINER_4"
+msgstr "Kannst du meinen Ansturm von 50.000 Volt überleben?!"
+
+msgid "MAP127_TRAINER_4_DEFEAT"
+msgstr "Du scheinst gut geerdet zu sein."
+
+msgid "MAP127_TRAINER_5"
+msgstr "Warum sich auf einen Typ spezialisieren? Ich würde sie lieber alle benutzen!"
+
+msgid "MAP127_TRAINER_5_DEFEAT"
+msgstr "Das war nur ein Probelauf."
+
+msgid "MAP128_NPC_1"
+msgstr "Diese Stadt riecht nach Herausforderung! Bis Ende des Jahres wird die Siegesstrasse für die Liga wieder eröffnet."
+
+msgid "MAP128_NPC_2"
+msgstr "Ich mache mir Sorgen um Vinovilles Bibliothek.... einige dieser Bücher waren unbezahlbare Artefakte aus der Zeit der Gründung von Tandor."
+
+msgid "MAP128_NPC_3"
+msgstr "Wir müssen zu Aotius und Mutios um eine sichere Führung beten. Nur sie werden uns durch diese dunklen Zeiten helfen können."
+
+msgid "MAP128_NPC_4"
+msgstr "Komm, Kind. Du machst dir Sorgen. Es sind dunkle Zeiten. Wir müssen zum Licht schauen, um einen Weg zu finden. Möchtest du meine Predigt hören? Sehr gut. Wir leben in einer Welt, in der wir ständig vor Entscheidungen stehen. Einige wichtige, andere kleine. Manchmal haben diese kleinen Entscheidungen große Auswirkungen. Es ist unsere Macht zu wählen, die uns besonders macht. Es ist ein Geschenk von Aotius, dass es uns erlaubt, unsere eigenen Wege zu gehen. Es gibt jedoch bei jeder Wahl eine dunkle Seite. Das ist Mutios' Geschenk. Maßnahmen, bevor wir sie ergreifen. Du wirst dich vielleicht fragen, warum das ein Geschenk ist? Wäre es nicht besser, wenn wir frei und ohne Auswirkungen handeln könnten? Aber dann konnten wir nicht wissen, ob unsere Handlungen andere verletzen. So ist das Leben ein ständiges Gleichgewicht. ...Damit es Freude in der Welt gibt, muss es auch Leiden geben. Um der aller Beste zu sein, muss es diejenigen geben, die die Schlechtesten sind. Aber wir müssen auf die Macht der Götter vertrauen. Sie sind liebevoll und freundlich, ich versichere es. Danke, dass du zugehört hast, Kind. Möge der Segen der Götter mit dir sein. Wissen wird immer für diejenigen da sein, die sie suchen."
+
+msgid "MAP128_NPC_5"
+msgstr "Schnüff...\nWenn ich zu Aotius bete, wird ier/i die Dinge wieder in Ordnung bringen?"
+
+msgid "MAP128_SIGN_1"
+msgstr "Legenstadt: Der Geburtsort der Helden!"
+
+msgid "MAP128_SIGN_2"
+msgstr "Legenstadt U-Bahn-Station.."
+
+msgid "MAP128_SIGN_3"
+msgstr "West Tandor Siegesstrasse voraus."
+
+msgid "MAP128_SIGN_4"
+msgstr "Supertrainingszelt. Tutor: Kenichi"
+
+msgid "MAP128_SIGN_5"
+msgstr "Route 9 - Weg nach Schroffstein"
+
+msgid "MAP129_NPC_1"
+msgstr "Endlich kann ich überall hingehen, wo ich in West Tandor hin will! Aber ich will nirgendwo hin. Ich bin zu faul."
+
+msgid "MAP129_NPC_2"
+msgstr "Die Tandor Rangers verschenken T.U.B. Tickets an die von der Katastrophe in Vinoville Betroffenen. Bitteschön, nimm eine."
+
+msgid "MAP130_NPC_1"
+msgstr "Hey, bist du {ein Pokémon-Trainer|eine Pokémon-Trainerin|Pokémon-Trainer}? Super! Hör zu, wärst du an einem Tausch interessiert? Ich suche ein Toxanell. Wenn du eines hast, tausche ich es dir gegen mein Pakamin. Ich glaube nicht, dass das ein Toxanell ist{, Kumpel!|, Mädel!|, Freundchen!}"
+
+msgid "MAP131_NPC_1"
+msgstr "Turnierteilnehmer können den Wartebereich nicht verlassen, bis sie entweder verlieren, oder Champion werden. Wenn du für dein nächstes Match bereit bist, sprich mit dem anderen Teilnehmer am Eingang der Arena."
+
+msgid "MAP132_SIGN_1"
+msgstr "Tunnel zur Lanthanithöhle."
+
+msgid "MAP132_SIGN_2"
+msgstr "Tipps für Trainer!\nDie Fähigkeiten Speckschicht und Fellkleid sind defensiv ausgelegt. Speckschicht halbiert den Schaden von Feuer- und Eis-Attacken. Fellkleid halbiert den Schaden von physischen Attacken. Denke strategisch, wenn du Pokémon angreifst, die diese Fähigkeiten besitzen!"
+
+msgid "MAP132_SIGN_3"
+msgstr "LANTHANITHÖHLE WARNUNG: DÜNNES EIS - EINSTURZGEFAHR"
+
+msgid "MAP132_TRAINER_1"
+msgstr "Woah, Alter, dieses Eis ist voll rutschig!"
+
+msgid "MAP132_TRAINER_1_DEFEAT"
+msgstr "Autsch!"
+
+msgid "MAP132_TRAINER_2"
+msgstr "Sind deine Pokémon an die eisige Umgebung angepasst? Meine schon!"
+
+msgid "MAP132_TRAINER_2_DEFEAT"
+msgstr "Ihr seht auf jeden Fall bereit aus."
+
+msgid "MAP132_TRAINER_3"
+msgstr "Nur die Stärksten können es über den Berg schaffen!"
+
+msgid "MAP132_TRAINER_3_DEFEAT"
+msgstr "Das war eine verdiente Niederlage!"
+
+msgid "MAP132_TRAINER_4"
+msgstr "Nur die Stärksten können es über den Berg schaffen!"
+
+msgid "MAP132_TRAINER_4_DEFEAT"
+msgstr "Das war eine verdiente Niederlage!"
+
+msgid "MAP132_TRAINER_5"
+msgstr "Brr! Mir ist kalt. Lass uns bei einem Pokémon Kampf aufwärmen!"
+
+msgid "MAP132_TRAINER_5_DEFEAT"
+msgstr "Frostig!"
+
+msgid "MAP132_TRAINER_6"
+msgstr "Auf diesen verschneiten Bergen wimmelt es nur so von gefährlichen Dingen."
+
+msgid "MAP132_TRAINER_6_DEFEAT"
+msgstr "Du kommst ganz klar allein zurecht."
+
+msgid "MAP132_TRAINER_7"
+msgstr "Nur die Stärksten können es über den Berg schaffen!"
+
+msgid "MAP132_TRAINER_7_DEFEAT"
+msgstr "Das war eine verdiente Niederlage!"
+
+msgid "MAP132_TRAINER_8"
+msgstr "Hey, du! Auf welcher Seite stehst du?"
+
+msgid "MAP132_TRAINER_8_DEFEAT"
+msgstr "Offenbar nicht auf meiner Seite..."
+
+msgid "MAP133_NPC_1"
+msgstr "Ich bin schon den ganzen Tag hier und habe immer noch nichts... nicht einmal ein kleines Knabbern! Ich hasse es einfach nur, das immer und immer wieder in meinem Kopf zu hören. Was soll's, Kind, vielleicht kannst du es besser. Ich mein', du kannst gar nicht schlechter sein als ich... Ich nehme an, deswegen bin ich auch Matrose und kein Angler! Hier, nimm dies. Ich werd's definitiv nicht brauchen! Für mich heißt es wohl zurück zum Schifffahrtsleben... Oder vielleicht werde ich diese Piraten finden, von denen man sagt, dass sie in der Nähe von Angelurestadt herumlungern!"
+
+msgid "MAP133_SIGN_1"
+msgstr "Supertrainingszelt. Tutor: Hitomi"
+
+msgid "MAP133_TRAINER_1"
+msgstr "Ich war den ganzen Tag fischen, aber alles, was ich zu fangen scheine, sind alte Stiefel!"
+
+msgid "MAP133_TRAINER_1_DEFEAT"
+msgstr "Aw, die Leine ist gerissen.."
+
+msgid "MAP133_TRAINER_2"
+msgstr "Ich stamme einer großen Familie von Anglern ab. Fischen ist mein Vermächtnis!"
+
+msgid "MAP133_TRAINER_2_DEFEAT"
+msgstr "Verflixt, meine Schnur ist gerissen."
+
+msgid "MAP133_TRAINER_3"
+msgstr "Falls du die VM Taucher besitzt, kannst du den Meeresboden erforschen."
+
+msgid "MAP133_TRAINER_3_DEFEAT"
+msgstr "Sinken oder schwimmen!"
+
+msgid "MAP133_TRAINER_4"
+msgstr "Wenn du Blasen direkt unter dir siehst, bedeutet das, dass dort ein Pokémon ist!"
+
+msgid "MAP133_TRAINER_4_DEFEAT"
+msgstr "Glub!"
+
+msgid "MAP133_TRAINER_5"
+msgstr "Familie, Pflicht, Ehre, Fischen."
+
+msgid "MAP133_TRAINER_5_DEFEAT"
+msgstr "Ich wurde ehrenhaft geschlagen!"
+
+msgid "MAP133_TRAINER_6"
+msgstr "Mein Lebensziel ist es, auf dem Cover des Pokémon Illustrierten Magazin zu sein."
+
+msgid "MAP133_TRAINER_6_DEFEAT"
+msgstr "Aaaaah! Echt nicht cool!"
+
+msgid "MAP133_TRAINER_7"
+msgstr "Du störst meine ruhige Meditation!"
+
+msgid "MAP133_TRAINER_7_DEFEAT"
+msgstr "Meine Konzentration ist gestört!"
+
+msgid "MAP133_TRAINER_8"
+msgstr "Fakt! Garnole können Salven von kochend heißem Wasser aus ihren Klauen schießen!"
+
+msgid "MAP133_TRAINER_8_DEFEAT"
+msgstr "Aaauuu! Das brennt!"
+
+msgid "MAP133_TRAINER_9"
+msgstr "Schwimmen ist das Beste, um in Form zu bleiben!"
+
+msgid "MAP133_TRAINER_9_DEFEAT"
+msgstr "Meine Arme sind müde..."
+
+msgid "MAP134_NPC_1"
+msgstr "Im Norden ist es kälter. Ich kann meinen Minirock nicht mehr jeden Tag tragen."
+
+msgid "MAP134_NPC_2"
+msgstr "Was macht {ein Trainer|eine Trainerin|ein Trainer} wie du in Silberhafen? Du musst nach der nächsten Arena suchen. Das ist in Schneeufer, im Osten."
+
+msgid "MAP134_NPC_3"
+msgstr "Hast du Silberhafens Pokémon-Labor gesehen? Sie machen dort eine Art wichtige Forschung, schätze ich."
+
+msgid "MAP134_NPC_4"
+msgstr "Silberhafen wurde als Fischerei-Außenposten gegründet. Die meisten Bewohner segeln jeden Tag aufs Meer, um zu fischen, auch mein Mann."
+
+msgid "MAP134_SIGN_1"
+msgstr "Silberhafen: Eine frische Meeresbrise bringt neue Versprechen!"
+
+msgid "MAP134_SIGN_2"
+msgstr "Larkspur Pokémon-Forschungslabor"
+
+msgid "MAP134_TRAINER_1"
+msgstr "Ehhh? Du da....\nDu bist nicht zufällig {ein Pokémon-Trainer|eine Pokémon-Trainerin|Pokémon-Trainer}, na bist du?\nHarharharhar! Das merke ich schon, wenn ich dich ansehe! Hör zu, ich besegele diese Ozeane, seit ich ein kleiner Junge war. In letzter Zeit ist eine böse Flut zu verzeichnen....\nDu magst es gehört haben, aber es gibt c3=9040E8,B8A8E0Piraten/c3 in diesen Gewässern! Ein gebrechlicher alter Fischer wie ich hat keine Chance gegen sie. Aber mit {einem starken Trainer|einer starken Trainerin|einem starken Trainer} an Bord, denke ich, dass sie uns in Ruhe lassen werden. Bist du vielleicht auf dem Weg nach Venesi? Yarharharhar! Anker lichten, Skorbut Landratte!\n....Ä, ich meine....\nArrrgh, ich habe es vermasselt! Arrrr, du skorbut artige Landratte!\n...Äh, ich meine...\nArrgh, ich habe es vermasselt! Arrrr... Ich habe mich als alter Mann verkleidet! Ich hatte geplant, all deine Pokémon zu stehlen, während wir auf See sind. Aber dann schlüpfte mein Piratenkommentar heraus. Ich schätze, wir müssen das auf die harte Tour machen! Gib mir dein Pokémon, sonst gehst du über die Planke! Arrrghh...\nSilva wird deswegen sauer auf mich sein...\nMerk dir meine Worte, Landratte!\nDu hast Pirat Jack nicht das letzte Mal gesehen!\nAnker lichten! Entschuldige! Ich habe deinen Kampf aus der Ferne beobachtet... Dieser Typ war ein Pirat, richtig? Ich dachte, er könnte es sein. Normalerweise streunen die c3=9040E8,B8A8E0Schwarzflaggen-Piraten/c3 nicht so weit im Norden umher. Sie werden in letzter Zeit immer rüpelhafter. Wie auch immer, ich wollte dir danken. Du hast ihm eine Lektion erteilt. Hoffentlich wird er nicht wieder in Silberhafen herumschnüffeln. Wenn es etwas gibt, was ich tun kann, um dir zu danken... \nOh! Ich kann dich nach Venesi auf meinem Boot fahren, wenn du willst. Was sagst du dazu? Alle an Bord! Nein? Ich verspreche, ich bin kein Pirat! Nun, wenn du deine Meinung änderst, sprich mit mir."
+
+msgid "MAP134_TRAINER_1_DEFEAT"
+msgstr "Arrrrrghhh!"
+
+msgid "MAP135_NPC_1"
+msgstr "Ich habe heute einige starke Pisten gefahren!"
+
+msgid "MAP135_NPC_2"
+msgstr "Brr! Du hast das kühle Schneeufer erreicht!"
+
+msgid "MAP135_NPC_3"
+msgstr "In dieser Stadt ist es immer so still, wegen des fallenden Schnees. Nimm dir einen Moment Zeit, um dich auszuruhen und die Schneeflocken beim Fallen zu beobachten."
+
+msgid "MAP135_NPC_4"
+msgstr "Yo, Alter, diese Strecken sind total hart!"
+
+msgid "MAP135_NPC_5"
+msgstr "Kennst du das Pokémon Alpico? Wenn du eines hast, willst du ihn gegen meine Andelar tauschen? Du hast kein Pokémon... Okay, Süß! Das ist zu schade."
+
+msgid "MAP135_SIGN_1"
+msgstr "Schneeufer: Ein Dorf, das von pulvrigem Schnee umgeben ist."
+
+msgid "MAP136_NPC_1"
+msgstr "Du solltest mit deinem Freund sprechen, damit du mit der Arena beginnen kannst.."
+
+msgid "MAP136_SIGN_1"
+msgstr "Schneeufer Arena Arena Leiter: Vaeryn, der Drachenmeister der Mega-Entwicklung."
+
+msgid "MAP137_NPC_1"
+msgstr "Viel Glück euch beiden für euren Kampf!"
+
+msgid "MAP137_NPC_2"
+msgstr "Vaeryn: Eine ausgezeichnete Wahl."
+
+msgid "MAP137_SIGN_1"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP137_SIGN_2"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP137_TRAINER_1"
+msgstr "Sehr gut. Du hast den ersten Teil der Prüfung bestanden. Jetzt schau, ob du meine Macht im Kampf überwinden kannst! Gut gemacht. Du hast die Prüfung der Stärke bestanden. Geh weiter."
+
+msgid "MAP137_TRAINER_1_DEFEAT"
+msgstr "Du hast deine Stärke gezeigt."
+
+msgid "MAP137_TRAINER_2"
+msgstr "Sehr gut. Ich sehe, du hast deinen Verstand benutzt, um kritisch zu denken und durch diesen Raum zu navigieren. Jetzt beweise deine Weisheit, indem du erfolgreich gegen meine Strategien vorgehst! Du hast die Prüfung der Weisheit abgeschlossen. Folgt mir und ich werde dich zu deiner nächsten Prüfung führen."
+
+msgid "MAP137_TRAINER_2_DEFEAT"
+msgstr "Gut gemacht."
+
+msgid "MAP137_TRAINER_3"
+msgstr "Ausgezeichnete Arbeit. Du hast gezeigt, dass du an deine eigenen Fähigkeiten glaubst. Aber hast du Vertrauen in deinen Pokémon? Indem du auf die Intuition deiner Pokémon vertraut hast, hast du es ihnen erlaubt, sich dir gegenüber zu beweisen. Du hast die Prüfung des Glaubens bestanden. Folgt mir."
+
+msgid "MAP137_TRAINER_3_DEFEAT"
+msgstr "Gut gemacht."
+
+msgid "MAP139_NPC_1"
+msgstr "Ich weiche deinen Attacken mit meinen Ninja-Techniken aus! Rasch und schnell schleiche ich hinter dich und lege dich mit meinem Schlafgas lahm."
+
+msgid "MAP139_NPC_2"
+msgstr "Ich bin ein grimmiger Pirat des Meeres! Y'arr Freundchen! Du glitschiger Fisch! Ich werde dich mit meinem Entersäbel zerschneiden!"
+
+msgid "MAP139_NPC_3"
+msgstr "Ich lasse die Kinder Piraten und Ninjas spielen... Aber um die Wahrheit zu sagen, ich wünschte sie würden es sein lassen. Hier in Ost-Tandor sind Piraten über die ganzen Ozeane verteilt und niemand weiß, was die Ninjas vorhaben..."
+
+msgid "MAP139_NPC_4"
+msgstr "Daikatuna ist ein, von den Ninja-Klans, favorisiertes Pokémon. Um ein seltenes Daikatuna zu fangen, musst du eine metallene Angelschnur und einen speziellen Köder verwenden, ansonsten wird ihr Schwert hindurch schneiden."
+
+msgid "MAP139_NPC_5"
+msgstr "Manchmal wenn ich zu lange um die Meere gesegelt bin, hörte ich die süße Stimme einer Frau, die nach mir rief. Sajade hat einen menschenähnlichen Ruf und ein weibliches Aussehen. Sie lockt abwegige Segler in ihr Verderben."
+
+msgid "MAP139_NPC_6"
+msgstr "Kennst du die Attacke Kraftreserve? In Tandor hat sie immer eine Stärke von 60, aber ihr Typ ist für jedes Pokémon, das sie einsetzt, unterschiedlich. Ich besitze die Fähigkeit mir ein Pokémon anzuschauen und zu sagen, von welchem Typ seine Kraftreserve sein wird. Welches Pokémon soll ich mir anschauen? Soll ich mir noch ein weiteres Pokémon ansehen? Zeig mir ein Pokémon, wenn du wissen willst, von welchem Typ seine Kraftreserve ist. Zeig mir ein Pokémon, wenn du wissen willst, von welchem Typ seine Kraftreserve ist."
+
+msgid "MAP140_NPC_1"
+msgstr "Sorry, aber es ist noch nicht sicher alleine auf diese Route zu gehen."
+
+msgid "MAP140_NPC_2"
+msgstr "Sorry, aber es ist noch nicht sicher alleine auf diese Route zu gehen."
+
+msgid "MAP140_NPC_3"
+msgstr "Wir arbeiten daran gefahrlos näher an den Standort des zerstörten Atomkraftwerks zu gelangen. Dafür bräuchten wir einen Ganzkörper-Schutzanzug. Unsere Top-Wissenschaftler sind gerade dabei, einen zu entwickeln."
+
+msgid "MAP140_NPC_4"
+msgstr "Nie im Leben war das nur ein Unfall... Das Vinoville-Atomkraftwerk war vor ein paar Tagen noch vollständig betriebsbereit und so bald nach dem Kraftwerk in Sonnenstrand... Unsere Agenten in Sonnenstrand arbeiten gerade auch ziemlich hart. Wir mussten von den Ost-Tandor Rangern Verstärkung anfordern."
+
+msgid "MAP140_NPC_5"
+msgstr "Mann... wir Ranger waren zu schlecht ausgerüstet, um damit fertig zu werden... Normalerweise können wir randalierende Pokémon mit unseren FangKoms beruhigen und uns ihre Kärfte nutzbar machen, um die Natur zu beschützen. Aber auf Nuklear-Pokémon haben sie überhaupt keine Wirkung! Wir waren auf unsere Begleiter-Pokémon und freiwillige Trainer angewiesen, uns zu helfen."
+
+msgid "MAP140_NPC_6"
+msgstr "Du hast uns gerettet! Vielen Dank! Ich hatte große Angst... Ich habe etwas gehört, das nach einem Erdbeben, oder einer Explosion klang, also hab' ich mich versteckt... Als ich begriffen hatte, was passierte, wurde die Stadt bereits evakuiert. Ich bin froh, dass die Ranger noch rechtzeitig gekommen sind."
+
+msgid "MAP140_NPC_7"
+msgstr "Woooow! Du warst so cool! Bist du {ein Pokémon-Meister|eine Pokémon-Meisterin|Pokémon-Meister}? Wenn ich groß bin, will ich Pokémon-Ranger werden!"
+
+msgid "MAP140_NPC_8"
+msgstr "Lass mich deine Gesundheit auf Zeichen von radioaktiver Strahlung checken. ... Du wirkst gesund. Du warst der Strahlenbelastung nur ein paar Minuten ausgesetzt und weit genug vom Epizentrum entfernt, als dass du große Mengen an kontaminierter Luft eingeatmet hättest. Nimm diese Jodtabletten. Sie werden dafür sorgen, dass keine Langzeitwirkungen von der Strahlung auftreten."
+
+msgid "MAP141_NPC_1"
+msgstr "Ich hab seit Jahren keinen so intensiven Kampf mehr gesehen. Es ist klar, dass ihr beide eine unglaubliche Reise gemacht habt. Jetzt wird die Kraft der Mega-Entwicklung euch gehören. Gebraucht sie klug und erinnert euch an das, was ihr in euren Prüfungen gelernt habt."
+
+msgid "MAP141_SIGN_1"
+msgstr "Akolyth: Diese Prüfung wird deine Fähigkeit testen, dich an schnelle Wechsel anzupassen. Für einen guten Trainer sollten die Elemente keine Gefahr für den Weg zur Perfektion darstellen."
+
+msgid "MAP141_TRAINER_1"
+msgstr "Du hast gezeigt, dass die Kräfte von Mutter Natur nicht ausreichen, um dich aufzuhalten. Besiege mich, um zu beweisen, dass sich diese Anpassungsfähigkeit auch auf deinen Kampfstil auswirkt! Du hast die Prüfung der Anpassungsfähigkeit gemeistert. Folge mir und ich werde dich zu deiner nächsten Prüfung führen."
+
+msgid "MAP141_TRAINER_1_DEFEAT"
+msgstr "Gut gemacht."
+
+msgid "MAP141_TRAINER_2"
+msgstr "Ihr seid vorangekommen, habt viele mühsame Aufgaben übernommen und seid endlich zur Wahrheit gelangt. Das wird deine letzte Prüfung sein. Es ist dir nicht erlaubt, Gegenstände zu benutzen, wenn wir kämpfen. Vertraue einfach auf die Fähigkeiten deiner Pokémon und mache ohne zu zögern weiter! Du hast alle fünf Prüfungen abgeschlossen. Du bist jetzt bereit, dich dem Arenaleiter Vaeryn zu stellen. Komm."
+
+msgid "MAP141_TRAINER_2_DEFEAT"
+msgstr "Gut gemacht."
+
+msgid "MAP141_TRAINER_3"
+msgstr "Vaeryn: Herausforderer.\nMeine Akolythen erzählen mir, dass ihr die fünf Prüfungen bestanden habt. Ihr habt große Willenskraft bewiesen, um so weit zu kommen. Stärke, Weisheit, Anpassungsfähigkeit, Glaube und den Willen, sich um die Wahrheit zu bemühen... Dies sind alles Charakteristika eines aufrichtigen Trainers. Nur jene, die reinen Herzens sind und Entschlossenheit zeigen, sind der Kraft der Mega-Entwicklung würdig. Theo: So ist es!\nUnd nun werden ich und PN mit dir kämpfen! Vaeryn: ICH BIN VAERYN DER DRACHE! Gebieter der Mega-Entwicklung in Tandor! Ihr mögt die Prüfungen bestanden haben, aber ein letzter Test erwartet euch! Beweist mir, dass ihr es wert seid! PN und Theo erhalten den Gipfelorden! Theo: Whoooooooop!!!! Vaeryn: Ich sollte euch außerdem diese TM geben. Vaeryn: Diese TM enthält Ätzodem. Es handelt sich dabei um eine kraftvolle Drachen-Attacke, die die Verteidigung eurer Gegner demontiert. Wohlan... Theo: Können wir jetzt Mega-Evolutionen kriegen?? Vaeryn: Ja, es ist Zeit. Zeigt mir eure Handgelenke, ihr beide. PN und Theo erhalten Mega-Armreife! Vaeryn: Ich sollte euch ein wenig über die Mega-Entwicklung aufklären. Der Schlüsselstein in eurem Armband ist ein Katalysator. Wenn ein Pokémon, das der Mega-Entwicklung fähig ist, den entsprechenden Mega-Stein trägt, werden beide Steine in der Hitze des Gefechts aufeinander reagieren. Das Band mit euren Pokémon erlaubt es ihnen, ihr volles Potenzial auszuschöpfen. Nun, verfügt ihr über Pokémon, die imstande sind, die Mega-Entwicklung durchzuführen? Theo: Ja! Ich werde die Mega-Entwicklung mit meinem treuen Ampuxo ausführen! Theo erhält Ampuxolit! Theo: Ja! Ich werde die Mega-Entwicklung mit meinem treuen Brandillo ausführen! Theo erhält Brandilloit! Theo: Ja! Ich werde die Mega-Entwicklung mit meinem treuen Metaluks ausführen! Theo erhält Metaluksit! Vaeryn: Sehr gut. Wie steht es mit dir, PN? Vaeryn: Eine exzellente Wahl. PN rüstet mit dem Mega-Stein aus. Das zuvor getragene Item wurde in PNs Tasche gesteckt. [Das Pokémon wurde an die Spitze des Teams gesetzt.] Vaeryn: Oh, kein Pokémon, mit dem du gerne die Mega-Entwicklung durchführen möchtest? Schade... Aber du musst für deinen ersten Kampf einfach ein Pokémon haben, das eine Mega-Entwicklung ermöglicht. Mein Ampharos stellt sich dafür bestimmt zur Verfügung. Ich werde es dir für den Kampf leihen. Bitte wähle ein Pokémon, das du auf die Bank setzen willst. [Ampharos wurde an die Spitze des Teams gesetzt.] Theo: Lass es uns tun!\nPN, ich werde mit all meiner Kraft mithilfe der Mega-Entwicklung angreifen! Sei besser vorbereitet! Nun.... es sieht aus, als hätte ich wieder verloren! Haha! Einige Dinge ändern sich wohl nie, nicht einmal mit der Kraft der Mega-Entwicklung. Natürlich hattest du auch einen Mega auf deiner Seite, also bin ich nicht überrascht! Theo: ...Ich habe es geschafft! Ich habe PN geschlagen! Oh, du hast auch wirklich gut gekämpft. ...ich kann es nicht glauben! Ich habe gewonnen! Und das alles dank Ampuxo! Nun.... es sieht aus, als hätte ich wieder verloren! Haha! Einige Dinge ändern sich wohl nie, nicht einmal mit der Kraft der Mega-Entwicklung. Natürlich hattest du auch einen Mega auf deiner Seite, also bin ich nicht überrascht! Theo: ...Ich habe es geschafft! Ich habe PN geschlagen! Oh, du hast auch wirklich gut gekämpft. ...ich kann es nicht glauben! Ich habe gewonnen! Und das alles dank Brandillo! Nun.... es sieht aus, als hätte ich wieder verloren! Haha! Einige Dinge ändern sich wohl nie, nicht einmal mit der Kraft der Mega-Entwicklung. Natürlich hattest du auch einen Mega auf deiner Seite, also bin ich nicht überrascht! Theo: ...Ich habe es geschafft! Ich habe PN geschlagen! Oh, du hast auch wirklich gut gekämpft. ...ich kann es nicht glauben! Ich habe gewonnen! Und das alles dank Metaluks! Vaeryn: Gut gekämpft, ihr beide. Ich habe seit vielen Jahren keinen so fesselnden Kampf mehr gesehen. Es ist klar, dass ihr beide eine unglaubliche Reise gemacht habt. Nun, die Macht der Mega-Entwicklung liegt auf eurer Seite. Nutze es weise und erinnere dich an das, was du in deinen Prüfungen gelernt hast. Theo: Das werde ich! Vaeryn: Gut. Ich wünsche euch beiden viel Glück auf euren Reisen. [Ampharos hat PNs Team verlassen.] Theo: PN, ich denke, wir sollten dem Prof erzählen, wie wir beide die Mega-Evolution bekommen haben. Er wird begeistert sein! Ich werde ihn jetzt auf meinem PokéPod anrufen. Bamb'u: Hallo? ...Theo? Theo: Prof! Ich bin mit PN hier! Bamb'u: Oh, was ist das, PN hat ja auch einen! Also, was ist das! Theo: Du wirst es nicht glauben! PN und ich haben gerade den Arenaleiter Vaeryn geschlagen! Und er gab uns diese Mega-Ringe! Jetzt können wir die Kraft der Mega-Entwicklung nutzen. Bamb'u: Mega-Entwicklung? Das sind fantastische Neuigkeiten! Es klingt, als müsste ich euch ein Upgrade für eure Pokédexes geben. Sieht so aus, als wärst du noch in Schneeufer, also fliege ich im Handumdrehen dorthin. Theo: Alles klar!\nWir sehen uns bald, Prof! ...... ...... Nun, dann, PN....\nWir werden bald wieder reden! Bis später!"
+
+msgid "MAP141_TRAINER_3_DEFEAT"
+msgstr "Ihr beide habt euch der Kraft der Mega-Entwicklung als würdig erwiesen."
+
+msgid "MAP142_SIGN_1"
+msgstr "Kometenhöhle"
+
+msgid "MAP142_SIGN_2"
+msgstr " Schroffstein"
+
+msgid "MAP142_TRAINER_1"
+msgstr "Hey hey! Wo willst du hin?"
+
+msgid "MAP142_TRAINER_1_DEFEAT"
+msgstr "Nun, ich hätte nicht fragen sollen....."
+
+msgid "MAP142_TRAINER_2"
+msgstr "Fallende Blätter sind cool, aber ich vermisse die Strände von Sonnenstrand..."
+
+msgid "MAP142_TRAINER_2_DEFEAT"
+msgstr "Oh, du kannst eine Lady nicht so behandeln!"
+
+msgid "MAP142_TRAINER_3"
+msgstr "Hey, verschwinde von meinem Strand!"
+
+msgid "MAP142_TRAINER_3_DEFEAT"
+msgstr "Warum bist du in meinen Strand eingedrungen?"
+
+msgid "MAP142_TRAINER_4"
+msgstr "Wenn du mich fragst, ist dies die schönste Route in Tandor!"
+
+msgid "MAP142_TRAINER_4_DEFEAT"
+msgstr "Die Menschen nehmen uns Camper als Kämpfer nicht ernst, aber wir lieben es, die Natur zu erforschen und zu genießen. Du solltest dir die Zeit nehmen, Tandors Schönheit zu schätzen!"
+
+msgid "MAP142_TRAINER_5"
+msgstr "Hey, kann ich eine Wegbeschreibung bekommen? Ich glaube, ich bin bei Vinoville falsch abgebogen......"
+
+msgid "MAP142_TRAINER_5_DEFEAT"
+msgstr "Zuerst verlaufe ich mich, dann verliere ich einen Pokémon-Kampf.... vielleicht sollte ich stattdessen ein Super-Nerd werden und einfach drinnen bleiben!"
+
+msgid "MAP142_TRAINER_6"
+msgstr "???: Hiyah! ???: Wer ist da? ???: Du bist jetzt in unserem Revier! ???: Eindringlinge aufgepasst! ???: Surfende Ninjas werden dich fertig machen! Ronin: Du hast diesmal vielleicht gewonnen, aber mach keinen Fehler..... Jonin: Unser Clan wird uns rächen! Ronin: Schlaft mit einem offenen Auge!"
+
+msgid "MAP142_TRAINER_6_DEFEAT"
+msgstr "Ronin: Bruder, du bist stark!"
+
+msgid "MAP143_NPC_1"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_10"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_2"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_3"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_4"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_5"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_6"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_7"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_8"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_NPC_9"
+msgstr "Möchtest du die Beeren von diesem Baum pflücken?"
+
+msgid "MAP143_SIGN_1"
+msgstr "Trainer tips!\nDie Insekten sind gefräßig. V RSICHT OR EIKA ATER ...\nEs ist zu zerkratzt, um es lesen zu können..."
+
+msgid "MAP143_SIGN_2"
+msgstr "Supertrainingszelt. Tutor: Daichi"
+
+msgid "MAP143_TRAINER_1"
+msgstr "Willkommen im Baykal-Regenwald{, Reisender!|, Reisende!|!} Bist du zum ersten Mal hier? Zeit für einen Kampf!"
+
+msgid "MAP143_TRAINER_1_DEFEAT"
+msgstr "Aua! Das nennt man wohl natürliche Selektion!"
+
+msgid "MAP143_TRAINER_2"
+msgstr "Oh, du hast bestimmt Pokémon aus der ganzen Region! Lass mich mal sehen!"
+
+msgid "MAP143_TRAINER_2_DEFEAT"
+msgstr "Verstehe, verstehe!"
+
+msgid "MAP143_TRAINER_3"
+msgstr "Es ist ein weiter Weg bis nach Amabaumstadt. Ich weiß nicht, ob ich es bis dahin schaffe..."
+
+msgid "MAP143_TRAINER_3_DEFEAT"
+msgstr "Ich werde in diesem Wald umkommen."
+
+msgid "MAP143_TRAINER_4"
+msgstr "Theo: Hey!\n... Ich habe Sheldon besiegt! War ganz einfach. Sieht aus, als hättest du hier schon alles gesäubert. Wie auch immer. Ich werde aufholen! Ich habe Bamb'u getroffen. Er hat mir diese VM gegeben und mir gesagt, ich soll dir eine Kopie geben... Aber ich will nicht! Zuerst kämpfen wir!"
+
+msgid "MAP143_TRAINER_4_DEFEAT"
+msgstr "Nein! Das ist nicht faaaaaair!"
+
+msgid "MAP143_TRAINER_5"
+msgstr "Theo: Hey!\n... Ich habe Sheldon besiegt! War ganz einfach. Sieht aus, als hättest du hier schon alles gesäubert. Wie auch immer. Ich werde aufholen! Ich habe Bamb'u getroffen. Er hat mir diese VM gegeben und mir gesagt, ich soll dir eine Kopie geben... Aber ich will nicht! Zuerst kämpfen wir!"
+
+msgid "MAP143_TRAINER_5_DEFEAT"
+msgstr "Nein! Das ist nicht faaaaaair!"
+
+msgid "MAP143_TRAINER_6"
+msgstr "Les parfums de Kalos sont les meilleur!"
+
+msgid "MAP143_TRAINER_6_DEFEAT"
+msgstr "Das riecht gar nicht gut!"
+
+msgid "MAP143_TRAINER_7"
+msgstr "Wenn ich den Wald betrete, fühle ich mich, als wäre ich in einer ganz anderen Welt."
+
+msgid "MAP143_TRAINER_7_DEFEAT"
+msgstr "Bwaaaaaah!"
+
+msgid "MAP143_TRAINER_8"
+msgstr "Oh, ich hoffe diese wilden Fisch-Pokémon beißen mich nicht! Sie haben scharfe Zähne."
+
+msgid "MAP143_TRAINER_8_DEFEAT"
+msgstr "Ich wollte nur mit dir reden{, Kumpel,|,|,} wieso greifst du mich plötzlich an?"
+
+msgid "MAP144_NPC_1"
+msgstr "Jeden Tag wache ich auf und fahre mit der Gondel zur Arbeit. Hier zu leben ist klasse!"
+
+msgid "MAP144_NPC_10"
+msgstr "Habe ich hier nicht schon mal einen Gargreif gesehen? Die machen mir keine Angst."
+
+msgid "MAP144_NPC_11"
+msgstr "Warum ist Wasser so blau? In meinem Traum war es lila, rosa und mehr!"
+
+msgid "MAP144_NPC_12"
+msgstr "Schnurr..."
+
+msgid "MAP144_NPC_2"
+msgstr "Hast du das Opernhaus gesehen? Es ist eins unserer größten Wahrzeichen."
+
+msgid "MAP144_NPC_3"
+msgstr "Ich hab's gesehen! Ich hab ein weißes Vogel-Pokémon gesehen! Aber dann ist es verschwunden..."
+
+msgid "MAP144_NPC_4"
+msgstr "Sieht es nicht so aus, als würden diese Statuen manchmal blinzeln?"
+
+msgid "MAP144_NPC_5"
+msgstr "Siehst du diese Statuen? Man munkelt, sie seien die Wächter der Stadt."
+
+msgid "MAP144_NPC_6"
+msgstr "Bist du schon mit der Gondel gefahren? Musst du machen."
+
+msgid "MAP144_NPC_7"
+msgstr "Verdammte Ratten... sie verseuchen die ganze Stadt! Sie schmieren die ganzen Wände voll!"
+
+msgid "MAP144_NPC_8"
+msgstr "Sag, kennst du ein Pokémon mit dem Namen Frostanic? Ich habe schon überall danach gesucht. Ich würde es gegen ein Gargreif tauschen. Du hast dieses Pokémon nicht... Okay, was hast du so? Pass gut auf ihn auf! Wohoo, jetzt habe ich ein glückliches Frostanic! Das ist kein Frostanic... komm schon, du veräppelst mich!"
+
+msgid "MAP144_NPC_9"
+msgstr "Venesi ist für viele Dinge bekannt.\nKunst, Theater und am wichtigsten, die Kanäle!"
+
+msgid "MAP144_SIGN_1"
+msgstr "Willkommen in Venesi\nDie wunderschöne Wasserstadt"
+
+msgid "MAP144_SIGN_2"
+msgstr "Das Mollige Maruki\nVenesis berühmtester Pub!"
+
+msgid "MAP144_SIGN_3"
+msgstr "Venesi Opernhaus und Arena."
+
+msgid "MAP145_NPC_1"
+msgstr "Jemand hat sein Evoli im Labyrinth verloren und die Tandor-Polizei führt eine Durchsuchung durch. Du kannst jetzt nicht in die Höhle hineingehen."
+
+msgid "MAP145_SIGN_1"
+msgstr "Venesi voraus."
+
+msgid "MAP145_TRAINER_1"
+msgstr "Deine Niederlage... Ich kann sie in den Karten sehen!"
+
+msgid "MAP145_TRAINER_1_DEFEAT"
+msgstr "Ich sehe, ich sehe!"
+
+msgid "MAP145_TRAINER_2"
+msgstr "Geh beiseite, {Bauer|Weib|Pöbel}! Du blockierst meinen Weg!"
+
+msgid "MAP145_TRAINER_2_DEFEAT"
+msgstr "Geschlagen von {einem einfachen Bürger|einer einfachen Bürgerin|einem einfachen Bürger}?!"
+
+msgid "MAP145_TRAINER_3"
+msgstr "Hey, du! Auf welcher Seite stehst du?"
+
+msgid "MAP145_TRAINER_3_DEFEAT"
+msgstr "Offenbar nicht auf meiner Seite..."
+
+msgid "MAP145_TRAINER_4"
+msgstr "Oh, du hast mich in der Sonne badend gefunden! Schätze, es ist Zeit zu kämpfen."
+
+msgid "MAP145_TRAINER_4_DEFEAT"
+msgstr "Dieser ganze Stress ist schlecht für meine Haut."
+
+msgid "MAP145_TRAINER_5"
+msgstr "Hey, willste 'nen coolen Trick sehen? Ich kann Feuer schlucken!"
+
+msgid "MAP145_TRAINER_5_DEFEAT"
+msgstr "Au, ich hab' mir die Zunge verbrannt!"
+
+msgid "MAP145_TRAINER_6"
+msgstr "Siehst du was ich sehe?"
+
+msgid "MAP145_TRAINER_6_DEFEAT"
+msgstr "Ich glaub's nicht!"
+
+msgid "MAP145_TRAINER_7"
+msgstr "Ich komme aus den Bergen im Norden und trachte danach, starke Trainer herauszufordern!"
+
+msgid "MAP145_TRAINER_7_DEFEAT"
+msgstr "Man hat mir aufgelauert!"
+
+msgid "MAP145_TRAINER_8"
+msgstr "Du erinnerst mich an jemanden aus dem Fernsehen!"
+
+msgid "MAP145_TRAINER_8_DEFEAT"
+msgstr "Schätze ich hab' wieder Fiktion mit Realität verwechselt..."
+
+msgid "MAP145_TRAINER_9"
+msgstr "Theo: Du bist das, PN. Ich nehme an, Bamb'u hat dich geschickt. Ich trainiere, um die Arena von Venesi herauszuforden, die du vermutlich bereits erledigt hast. ...Ja, dachte ich mir. Vor kurzem hätte ich mich deswegen noch aufgeregt und geweint. Aber... ich schätze andere Dinge lassen mich nun anders denken. Im Moment versuche ich einfach, der beste Trainer zu sein, der ich sein kann. Also, willst du kämpfen? Oookay, dann los! Schon ok, meine Pokémon sind vom Training sowieso müde. Lass mich einfach wissen, wenn du kämpfen willst! Sie könnten die Herausforderung brauchen! Oh, übrigens, Professer Bamb'u bat mich, dich daran zu erinneren Richtung Norden durch die Höhle da drüben zu gehen. Ich werde dich später einholen!"
+
+msgid "MAP145_TRAINER_9_DEFEAT"
+msgstr "Du bist immer so viel besser..."
+
+msgid "MAP146_NPC_1"
+msgstr "Dieses Dorf steht als Symbol der Harmonie zwischen unserem Volk. Wir haben es zusammen erbaut, als Zeichen des Friedens nach Hunderten von Jahren des Krieges."
+
+msgid "MAP146_NPC_2"
+msgstr "Ich trainiere, um Ninja-Meister zu werden! Ich habe schon meine eigene Technik entwickelt! Ninja-Spuckball!\n*Pftuuu*!"
+
+msgid "MAP146_NPC_3"
+msgstr "Es geht nichts darüber, nachts die Gelassenheit des Ozeans zu beobachten.\nDie sanfte Reflektion des Monds und der Sterne.... Das ist wie Balsam für diese alte Seele."
+
+msgid "MAP146_NPC_4"
+msgstr "Zu jeder Zeit sind in diesem Dorf mindestens 10 Ninjas unterwegs.. Du kannst uns die meiste Zeit bloß nicht sehen."
+
+msgid "MAP146_NPC_5"
+msgstr "Dieses Dorf hat den größten Schrein für Götter in ganz Tandor. Er dient dem Dorf auch als Pokémon-Arena."
+
+msgid "MAP146_NPC_6"
+msgstr "Warum wir immer nur schwarz tragen? Naja... Weil's cool ist, ok! Außerdem sieht man den Dreck darauf nicht."
+
+msgid "MAP146_NPC_7"
+msgstr "Wir Ninjas arbeiten an unserem Image.. Dieses ganze \"mysteriös und tödlich\" spricht nicht gerade für gute PR."
+
+msgid "MAP146_NPC_8"
+msgstr "Es werden hier so viele verschiedene Kampfstile praktiziert! Ich werde jahrelang trainieren müssen, wenn ich sie alle meistern will."
+
+msgid "MAP146_NPC_9"
+msgstr "Diese Statue stellt das Pokémon Yatagaryu dar. Es ist selten und heilig für die Ninja-Klans. Nur die Auserwählten dürfen sie trainieren. Man sagt, Yatagaryu hat die Kraft Gewitterstürme heraufzubeschwören. Daher nennt man es auch \"Das Sturmbringer-Pokémon\"."
+
+msgid "MAP146_SIGN_1"
+msgstr "Legenden-Museum: Schätze und Artefakte von Kulturen vergangener Zeit."
+
+msgid "MAP146_SIGN_2"
+msgstr "Legenden-Museum: Schätze und Artefakte von Kulturen vergangener Zeit."
+
+msgid "MAP146_SIGN_3"
+msgstr "Der hell erstrahlende Mond \nVom Meerwasser reflektiert Tsukinami"
+
+msgid "MAP146_SIGN_4"
+msgstr "Statue des mächtigen Daikatuna"
+
+msgid "MAP146_SIGN_5"
+msgstr "Statue des großen Yatagaryu"
+
+msgid "MAP146_SIGN_6"
+msgstr "Statue des mächtigen Daikatuna"
+
+msgid "MAP146_SIGN_7"
+msgstr "Seltene Feinkost und Schätze \nVon überall, wo der Wind sie herweht Du kannst sie hier kaufen!"
+
+msgid "MAP146_SIGN_8"
+msgstr "Heiliger Tempel von Tsukinami \nund Pokémon-Arena"
+
+msgid "MAP147_NPC_1"
+msgstr "Heda{, Kumpel!|!|!}\nDies ist die sechste Arena, die du im Zuge der Arenameisterschaften meistern musst und Junge, Junge, die hier ist wirklich erste Sahne! Hier musst du dich deines Verstandes bedienen. Diese rutschig polierten Fliesen lassen dich über die ganze Arena gleiten. Nicht nur das, aber du musst vor den zahlreichen Falltüren und Verkleidungen in Acht nehmen! Und dann wäre da noch der Arenaleiter... Niemand weiß, wer er wirklich ist! Aber angeblich macht man hier von einer Menge Psycho-Pokémon Gebrauch... Viel Glück!"
+
+msgid "MAP147_TRAINER_1"
+msgstr "Liebe sieht nicht mit den Augen, sondern mit dem Verstand."
+
+msgid "MAP147_TRAINER_1_DEFEAT"
+msgstr "Oh, mein wundes Herz!"
+
+msgid "MAP147_TRAINER_2"
+msgstr "Dies über alles: Sei dir selber treu!"
+
+msgid "MAP147_TRAINER_2_DEFEAT"
+msgstr "Wirklich gewaltig."
+
+msgid "MAP147_TRAINER_3"
+msgstr "Der Narr hält sich für weise, aber der Weise weiß, daß er ein Narr ist."
+
+msgid "MAP147_TRAINER_3_DEFEAT"
+msgstr "Besiegt!"
+
+msgid "MAP147_TRAINER_4"
+msgstr "Bei des Däumchens Juckerei,\nJemand Böses kommt vorbei."
+
+msgid "MAP147_TRAINER_4_DEFEAT"
+msgstr "Öhh... Zeile?"
+
+msgid "MAP147_TRAINER_5"
+msgstr "Ich würde dich gerne zu einem geistigen Kampf herausfordern, aber ich sehe, dass du unbewaffnet bist!"
+
+msgid "MAP147_TRAINER_5_DEFEAT"
+msgstr "Ich wurde überlistet!"
+
+msgid "MAP147_TRAINER_6"
+msgstr "Aha! {Ein Herausforderer|Eine Herausforderin|Ein Herausforderer} nähert sich! So, ich sehe du hast mein hinterhältiges Rätsel gemeistert und meine Stellvertreter übertroffen. Aber hast du die Weisheit das letzte Rätsel zu lösen? Zeige es mir im Kampf! Gut gemacht. Du hast jetzt sicherlich schon meinen Trick durchschaut. Ja, es ist wahr! Ich bin nicht der Arenaleiter, den du suchst. Aber hast du DAS erwartet?"
+
+msgid "MAP147_TRAINER_6_DEFEAT"
+msgstr "Aha! Sehr klug! Sicherlich hast du schon bemerkt, dass etwas nicht stimmt..."
+
+msgid "MAP147_TRAINER_7"
+msgstr "\"Die ganze Welt ist eine Bühne und alle Menschen bloße Spieler; Sie treten auf und gehen wieder ab; Sein Leben lang spielt einer manche Rollen, Durch sieben Akte hin.\" ???: Lass mich dir eine Geschichte erzählen. Es war einmal ein kleines Mädchen, das davon träumte ein Star der Oper zu werden. Aber das Theater vertrat alte traditionelle Ansichten und demnach war Schauspielerei nicht für Frauen erlaubt. Darum schmiedete sie einen Plan. Sie schnitt ihre Haare kurz, hat sich Jungenkleider angezogen und sich beim Vorsprechen als Junge ausgegeben. Es klappte. Sie erhielt die Rolle, und wenn sie schauspielerte, beeindruckte und verzauberte sie alle die ihre Aufführungen sahen. Aber das war ihr noch nicht genug. In einer Welt voller Lügen und Betrug war sie es Leid, das größte Missverständnis weiterhin zu vertreten. Eines Tages ließ sie ihre Jungenkleider und Make-up zurück. Als der Vorhang aufging sah das Publikum wer sie wirklich war: Ihr geliebter Star, eine Frau. Das Publikum war verblüfft, da sie nicht abstreiten konnten was sie in ihrem Herzen schon wussten: Dass sie, eine Frau, genau so gut schauspielern kann wie jeder Mann. Damit änderte sich alles. Das Theater überarbeitete seine Politik, sodass Frauen nun vorsprechen konnten. Was das kleine Mädchen angeht, nun ja... das Mädchen bin ich. Ich bin Rosalind, Star der Bühne und Arenaleiterin von Venesi. Du hast dich gut dabei geschlagen, Schwindel und Täuschung zu überwinden und deinen Weg hierher zu finden. Aber hast du auch das Zeug mich zu besiegen? Lasst den finalen Akt beginnen! PN erhält den Dramaorden! Rosalind: Hab keine Angst vor wahrer Größe. Manche sind groß geboren, andere erarbeiten sich ihre Größe, und wieder andere haben sich ihre Größe selbst aufgedrängt. Ich weiß zwar nicht, zu welcher dieser Kategorien du zählst, aber du hast auf jeden Fall wahre Größe gezeigt. Ich hege keinerlei Zweifel, dass du mit deinem Verstand und deiner Stärke zu den Sternen greifen kannst! Und vor allem: Stehe zu dir selbst. Nimm diese TM als Andenken an unseren Kampf. Bizarroraum ist eine verschlagene Attacke, die zu einem Meister der Illusion, wie ich es nunmal bin, sehr gut passt! Es bewirkt, dass die langsamen Pokémon zuerst angreifen können - zumindest eine Zeit lang. Gebrauche sie klug!"
+
+msgid "MAP147_TRAINER_7_DEFEAT"
+msgstr "Spektakulär gemacht! Du verdienst den Dramaorden!"
+
+msgid "MAP148_NPC_1"
+msgstr "pn! Wie schön dich hier in Vinoville zu sehen. Der Arenaleiter ist Sheldon. Er benutzt Stahl-Pokémon und Technologie! Ist schon ziemlich befremdlich hier inmitten diesen wunderschönen Ackerflächen, aber erzähl ihm nicht, dass ich das gesagt hab'. Stahl ist gegen eine Menge Typen resistent, aber vergiss nicht, dass es im Feuer schmilzt, sich unter Fäusten verbiegt und im Boden auseinanderbricht. In der Regel ist Wasser \nauch eine gute Wahl. Viel Glück!"
+
+msgid "MAP148_SIGN_1"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP148_SIGN_2"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP148_SIGN_3"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP148_SIGN_4"
+msgstr "Den Knopf drücken?"
+
+msgid "MAP148_TRAINER_1"
+msgstr "Was weißt du über Computer?"
+
+msgid "MAP148_TRAINER_1_DEFEAT"
+msgstr "Offenbar weißt du mehr als ich..."
+
+msgid "MAP148_TRAINER_2"
+msgstr "Schau dir das an! Ich kann den Legend of Zelda-Titelsong auf meiner Gitarre spielen! Krass, 'ne?"
+
+msgid "MAP148_TRAINER_2_DEFEAT"
+msgstr "Game over..."
+
+msgid "MAP148_TRAINER_3"
+msgstr "Lololol ich bin ein girrrrl gamer! Ya, ich bin ein Mädchen und zocke Videogamezzz! o3o"
+
+msgid "MAP148_TRAINER_3_DEFEAT"
+msgstr "Auweia!"
+
+msgid "MAP148_TRAINER_4"
+msgstr "Experten glauben, dass wir irgendwann einen Punkt erreichen, an dem die Technologie die Menschen in Sachen Intelligenz übertreffen und in der Lage sein wird sich rekursiv selbst zu verbessern."
+
+msgid "MAP148_TRAINER_4_DEFEAT"
+msgstr "Wenn man mir nur einfach erlauben würde die räumlichen Kontrollmechaniken anzupassen..."
+
+msgid "MAP148_TRAINER_5"
+msgstr "pn. Ich habe auf dich gewartet. Das war schon 'ne große Nummer, die du da beim Getreidefeld abgezogen hast. Ich bin fast beeindruckt! Naja, aber mit Ripley herumzualbern wurde langsam langweilig. Alles in dieser Stadt langweilt mich. Lass mal sehen, ob du so stark bist, wie S51-A es vermutet! Oh... du hast meine Puzzle gelöst. Naja, was soll's. Es wurde langsam langweilig nur zu warten. Diese Stadt ist so langweilig. Es gibt einfach nichts zu tun. Die Leute hier sind so glücklich mit ihrer Landwirtschaft und Beten und all so'n Zeug. Sie verstehen nicht! Wissen sie denn nicht, dass ihre Leben absolut sinn- und belanglos sind? Argh! Das macht mich so wütend! Meine Stahl-Pokémon haben diese blöde Stadt sowas von satt. Wir werden unsere Wut an DIR auslassen! Wie...\nWie kannst du so stark sein? Ich verstehe das nicht. Alles was ich den Tag über mache ist zu trainieren und trotzdem kommt so'n Balg wie du einfach so hier rein... Ach, wie auch immer. Du hast meinen Tag ein bisschen weniger langweilig gestaltet. Ich schätze, das hier gehört dir. pn erhält den Pixelorden! Und das hier kriegst du für deinen Sieg noch dazu. Diese TM enthält Gyroball. Es ist eine Stahl-Attacke, die stärker wird, je langsamer der Anwender ist. Daher ist sie gut für Erzrawel, aber nutzlos für Drachtor. Solange du sie nicht wie ein Volldepp einsetzt, ist sie eine starke Attacke."
+
+msgid "MAP148_TRAINER_5_DEFEAT"
+msgstr "WAS?!"
+
+msgid "MAP150_NPC_1"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Sie sind davon gehastet.\nSieht so aus, als hättest du sie verärgert... Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_2"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Sie sind davon gehastet.\nSieht so aus, als hättest du sie verärgert... Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_3"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_4"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_5"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_6"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_7"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_NPC_8"
+msgstr "Ein Schwarm Käfer-Pokémon versperrt den Weg! ... ...Das Käferspray einsetzen? pn benutzt Käferspray. Wäre besser, sie nicht zu verärgern. Ein Schwarm Käfer-Pokémon versperrt den Weg, es wäre besser, sie nicht weiter zu verärgern..."
+
+msgid "MAP150_TRAINER_1"
+msgstr "Bwahahaha! Kümmerlicher Mensch! Du bist jetzt in der Ameisenhölle!"
+
+msgid "MAP150_TRAINER_1_DEFEAT"
+msgstr "Zerquetscht!"
+
+msgid "MAP150_TRAINER_2"
+msgstr "Heehee... Die gewundenen, verbogenen Höhlen der Ameisenhölle... Wo kommt man wohl als nächstes aus?"
+
+msgid "MAP150_TRAINER_2_DEFEAT"
+msgstr "Eh??"
+
+msgid "MAP150_TRAINER_3"
+msgstr "Dieser Ort ist der Traum eines jeden Käfersammlers!"
+
+msgid "MAP150_TRAINER_3_DEFEAT"
+msgstr "Was für ein Reinfall..."
+
+msgid "MAP150_TRAINER_4"
+msgstr "Dieser Ort ist der Traum eines jeden Käfersammlers!"
+
+msgid "MAP150_TRAINER_4_DEFEAT"
+msgstr "Was für ein Reinfall..."
+
+msgid "MAP151_NPC_1"
+msgstr "Bist du {ein Herausforderer|eine Herausforderin|ein Herausforderer}? Der Arenaleiter ist nicht hier. Tatsächlich ist er nicht zurückgekehrt, seit er zum Trainieren in den Wald gegangen ist... ...\nDas ist schon eine ganze Weile her. Sieh mal, du bist doch {ein starker Trainer|eine starke Trainerin|stark}, oder? Tiko ist ein meisterhafter Feuer-Pokémon-Trainer, also wird er für's Training vermutlich in die tieferen Ebenen der Ameisenhölle gegangen sein. Sieh es als Verdienst für deinen Orden an, ihn zu holen. Das nenn ich ein gutes Kind. Ein Spritzer von diesem Käferspray funktioniert besser als jeglicher Schutz, um sie zum Schwirren zu bringen."
+
+msgid "MAP151_NPC_2"
+msgstr "Willkommen in Amabaum.\nNicht viele Menschen schaffen es in einem Stück durch Baykal, also herzlichen Glückwunsch."
+
+msgid "MAP151_NPC_3"
+msgstr "Amabaum ist vom Rest der Region abgeschnitten. Wir haben hier noch nicht einmal Elektrizität."
+
+msgid "MAP151_NPC_4"
+msgstr "Um ehrlich zu sein, mögen wir Technologien nicht besonders. Manche hier benutzen immer noch Aprikokos, um Pokémon zu fangen."
+
+msgid "MAP151_NPC_5"
+msgstr "Hast du schon mal gesehen, wie Tiko tanzt? Nein? Teehee! Es sieht wirklich anmutig aus."
+
+msgid "MAP151_NPC_6"
+msgstr "Gwahahaha! Hier regnet es immer! Aber das ist schon okay! Ich mag den Regen!"
+
+msgid "MAP151_NPC_7"
+msgstr "Hier in Amabaum musst du dir keine Gedanken um Verkehrslärm machen, der dich nachts wachhält. Allerdings musst du dir um die Käfer Sorgen machen!"
+
+msgid "MAP151_NPC_8"
+msgstr "Amabaumstadt hat keinen üblichen Poké-Markt. Allerdings kannst du im Austausch für Beeren seltene Items und Pokémon erhalten, drüben am Handelsposten."
+
+msgid "MAP151_SIGN_1"
+msgstr "Amabaumstadt: Wow, du hast diesen Ort echt gefunden, Respekt."
+
+msgid "MAP151_SIGN_2"
+msgstr "Amabaum Arena.\nArenaleiter: Tiko \"Der Flammende Tänzer\""
+
+msgid "MAP152_NPC_1"
+msgstr "Ich bin hergekommen, um die Wege des Ninjas zu erlernen. Aber ich wurde in der Arena gründlich vermöbelt... ich muss weiter trainieren. Man sagt, dass nur jene, die alle Ninja-Techniken erlernt haben, das heilige Pokémon von Tsukinami trainieren können. Ich muss es fangen, wenn ich sie mir alle schnappen will!"
+
+msgid "MAP152_NPC_2"
+msgstr "Ich bin in die Stadt gekommen, um das Museum der Legenden zu besichtigen. Dort gibt es Artefakte, dessen Existenz auf die Gründung von Tandor datiert sind! Das Legenden-Museum im Nordwesten hat alle möglichen interessanten Dinge für einen Ruinenmaniac wie mich. Allerlei Arten von antiken Mythen und sowas!"
+
+msgid "MAP152_NPC_3"
+msgstr "Das einzige Kernkraftwerk von Ost-Tandor liegt westlich gegenüber dem Meer. Es ist das letzte, das noch in Tandor steht..."
+
+msgid "MAP152_SIGN_1"
+msgstr "Diese Tür ist verschlossen."
+
+msgid "MAP152_SIGN_2"
+msgstr "Diese Tür ist verschlossen."
+
+msgid "MAP152_SIGN_3"
+msgstr "Diese Tür ist verschlossen."
+
+msgid "MAP153_NPC_1"
+msgstr "Diese Stadt ist meine letzte Station vor der Pokémon-Liga! Vielleicht besuche ich Angelurestadt bevor ich gehe um ein starkes Wasser-Pokémon für mein Team zu fangen. Alles was ich brauche ist dieser Orden und ich bin dann bereit mich der Pokémon-Liga zu stellen! Diese Arena ist wirklich hart..."
+
+msgid "MAP155_NPC_1"
+msgstr "Willkommen auf der Luxusreise! Hier kannst du dich entspannen und musst dir um Dinge wie Kernschmelzen keine Gedanken machen. Dein Zimmer ist das letzte auf der rechten Seite. Erkunde das Schiff und rede mit den anderen Passagieren, wenn du magst."
+
+msgid "MAP155_NPC_2"
+msgstr "Ich muss von diesem Boot runter, sobald es anhält! Durch die Krise am Kernkraftwerk könnten Leute verletzt worden sein! Wenn ich nur so schnell wie diese Flinkklaue wäre. Mir hilft sie allerdings nicht weiter, also warum nimmst du sie nicht? Ich muss gehen und den armen Leuten helfen, die in Gefahr schweben. Wenn diese Kreuzfahrt zur Entspannung gedacht war, macht sie ihren Job ganz schlecht!"
+
+msgid "MAP155_NPC_3"
+msgstr "Hallo, {mein Lieber|meine Liebe|Schätzchen}. Ich war auch mal Trainerin. Ahh, welch schöne Zeiten das waren! Aber jetzt bin ich alt und schrullig und kann diese TM nicht mehr gebrauchen. Aber du schon, oder? So ist es recht. Oh, nun gut, ich bin mir sicher, ich werde einen Trainer finden, der sie will."
+
+msgid "MAP155_NPC_4"
+msgstr "Hallihallo{, kleiner Trainer!|, kleine Trainerin!|!} Ich bin der Kapitän dieses Schiffs! ...Urgh, aber ich bin seekrank... und wir sind nichtmal auf dem Ozean unterwegs! Was tun, was tun? Ich habe gehört, eine Rückenmassage kann helfen... tu diesem alten Knaben einen Gefallen, ja? Ahh... das ist schon viel besser. Was, du willst etwas dafür? Ich habe nichts für dich. Hau ab! Urgh... *grummel*"
+
+msgid "MAP155_TRAINER_1"
+msgstr "Ich versuche eine entspannte Fahrt zu haben... Aber ich kann einfach nicht aufhören, an das Atomkraftwerk zu denken! Vielleicht kann ein Kampf mich davon ablenken."
+
+msgid "MAP155_TRAINER_1_DEFEAT"
+msgstr "Ugh! Ich konnte mich einfach nicht konzentrieren!"
+
+msgid "MAP155_TRAINER_2"
+msgstr "Ich bin eher ein Mann der Berge! Auf einem Schiff zu sein macht mich irgendwie krank... Und trotzdem kämpfe ich weiter!"
+
+msgid "MAP155_TRAINER_2_DEFEAT"
+msgstr "Mir wird übel..."
+
+msgid "MAP155_TRAINER_3"
+msgstr "Hey hey! Wo willst du hin?"
+
+msgid "MAP155_TRAINER_3_DEFEAT"
+msgstr "Nyoooo! Wir haben verloren. :(("
+
+msgid "MAP155_TRAINER_4"
+msgstr "Ich mache nur von den STÄRKSTEN Pokémon Gebrauch. Deine Pokémon werden vor ihrer Macht erzittern."
+
+msgid "MAP155_TRAINER_4_DEFEAT"
+msgstr "Ich... ich denke, ich benötige ein Handtuch."
+
+msgid "MAP155_TRAINER_5"
+msgstr "pn.\nDas mag albern klingen, aber ich habe irgendwie Angst.\nHalt., nein!. Das habe ich nicht gesagt. Ich habe niemals Angst! Ich werde der beste Trainer überhaupt! ...Trotzdem, Papa...\n...Ich... ... Paps ist stark. Er hat starke Pokémon. Dein Papa ist ein Ranger, oder? Er wird allen helfen. Da.-das sollte er besser! Ich meine, äh... b.-bloß,. willst du kämpfen? Mir egal was am Kraftwerk passiert ist! Alles was ich gerade will, ist, dich zu besiegen!"
+
+msgid "MAP155_TRAINER_5_DEFEAT"
+msgstr "Nein! Das ist nicht faaaaaair!"
+
+msgid "MAP156_NPC_1"
+msgstr "Ich habe Kellyn noch nie sprachlos erlebt. Ich... habe nicht gewusst, dass er einen Sohn hat. Er ist so fokussiert auf seine Arbeit, er hat noch nie etwas von einer Familie erwähnt. Ich... habe nicht gewusst, dass er eine Tochter hat. Er ist so fokussiert auf seine Arbeit, er hat noch nie etwas von einer Familie erwähnt."
+
+msgid "MAP156_NPC_10"
+msgstr "Wir haben Route 11 als Naturschutzgebiet ausgewählt, um den gefährdeten Spezies von Tandor einen Ort zu bieten, an dem sie sich wieder vermehren können. Trainer dürfen dort ohne Erlaubnis keine Pokémon fangen."
+
+msgid "MAP156_NPC_11"
+msgstr "Wir Ranger machen eine ganze Menge Arbeit hier in Tandor. Wir sind eine Kombination aus Verbrechensbekämpfung, Rettungsteam und Umweltschutz."
+
+msgid "MAP156_NPC_12"
+msgstr "Ich bin ein neuer Ranger-Kadett! Kellyn ist mein Vorbild!"
+
+msgid "MAP156_NPC_13"
+msgstr "PN, du musst diesen Brief zu Cameron bringen. Er ist auf der Insel des Atomkraftwerkes. Du kannst dorthin gelangen, indem du mit dem Schiff fährst, welches sich südlich von hier, am Hafen von Route 7, befindet."
+
+msgid "MAP156_NPC_14"
+msgstr "Dies ist eine Notfallunterkunft für verletzte Menschen und Pokémon. Bitte nimm etwas Desinfektionsgel. Wir wollen nicht, dass hier jemand krank wird."
+
+msgid "MAP156_NPC_15"
+msgstr "Viele unserer Patienten erholen sich noch. Bitte lasst sie ruhen."
+
+msgid "MAP156_NPC_16"
+msgstr "*Hust* *Hust*\n Ich fühle mich ekelhaft..."
+
+msgid "MAP156_NPC_17"
+msgstr "Schon gut, Liebling. Ich habe dir etwas Suppe gebracht."
+
+msgid "MAP156_NPC_18"
+msgstr "Ich habe gestern meinen Sohn mit einem Fieber von 38°C hierher gebracht. Ihm geht es, dank der Schwestern, nun viel besser."
+
+msgid "MAP156_NPC_19"
+msgstr "Dies ist die Intensivpflegestation. Es tut mir Leid, aber ich kann dich nicht durchlassen."
+
+msgid "MAP156_NPC_2"
+msgstr "Die Aufgabe eines Pokémon Ranger ist es, die natürliche Schönheit von Tandor zu beschützen und erhalten! Dein Vater ist einer der-- nein, DER Top-Ranger hier! Jeder sieht zu ihm auf."
+
+msgid "MAP156_NPC_20"
+msgstr "Es ist klug immer ein paar heilende Items dabei zu haben. Obwohl es in der Not wohl auch Beeren tun. Nimm bitte diese Gegengifte für deine Reise mit."
+
+msgid "MAP156_NPC_21"
+msgstr "Eul... zchen..."
+
+msgid "MAP156_NPC_22"
+msgstr "Wir haben diesen kleinen Racker auf Route 3 gefunden. Irgendein Trainer hat ihn vergiftet und einfach dort gelassen..."
+
+msgid "MAP156_NPC_23"
+msgstr "Dieses Gebäude hat einen Landeplatz auf dem Dach. Dadurch können wir diejenigen auf dem Luftweg transportieren, die unter schweren Verletzungen leiden."
+
+msgid "MAP156_NPC_24"
+msgstr "Ich habe eine solche Krankheit noch nie zuvor gesehen... Könnte dies mit der Kernschmelze zusammenhängen?"
+
+msgid "MAP156_NPC_25"
+msgstr "Grrrr! Snarrrrrl! Möchtest du den bPokémon-Sprachübersetzer/b benutzen? PN benutzt den bPokémon-Sprachübersetzer/b.... GRRR ZERFETZEN ZERREISSEN ZERSTÖREN GRRRR"
+
+msgid "MAP156_NPC_26"
+msgstr "Diese Maschine überwacht das Wettergeschehen der ganzen Region. In jeder Ranger-Basis gibt es so eine. Mithilfe dieser Maschine können wir das Wetter voraussagen und somit auch Stürme und Hurrikane, noch bevor sie eintreffen."
+
+msgid "MAP156_NPC_27"
+msgstr "Dies ist das Forschungs- und Entwicklungslabor. Die Tandor Ranger arbeiten mit Wissenschaftlern und Experten zusammen an Lösungen für die Probleme in der Region."
+
+msgid "MAP156_NPC_28"
+msgstr "Wir Ranger sind auf hochmoderne Technologie angewiesen, um unsere Jobs zu erledigen. Genauer gesagt benutzen wir FangKoms als gewaltloses Mittel, um Pokémon zu beruhigen und zu kontrollieren. Ein gut trainiertes Pokémon kann der Kraft des FangKoms allerdings widerstehen. Anscheinend spielt die Stärke des Bandes mit seinem Trainer eine Rolle."
+
+msgid "MAP156_NPC_29"
+msgstr "PN, du bist also Kellyns Kind? Ehrlich gesagt bin ich überrascht, dass er überhaupt ein Kind hat. Während der Arbeit redet er nie über seine Familie."
+
+msgid "MAP156_NPC_3"
+msgstr "Wir schließen keine engen Bande mit unseren Pokémon. Diejenigen, die ein Partner-Pokémon haben allerdings schon."
+
+msgid "MAP156_NPC_30"
+msgstr "Wir arbeiten daran, eine Heilung für dieses Maruki zu finden. Es scheint, als hätte das konstante Einwirken von menschlicher Nähe seine Grausamkeit abgemildert. Jedoch enthalten Speichel und Fell noch immer Spuren von Radioaktivität. Bamb'u: So ist es. Wir müssen einen Weg finden die Strahlung abzuzapfen. Sobald es aufhört radioaktive Energie zu produzieren, werden sich seine Zellen auf normale Weise regenerieren. Ich bin mir sicher, es gibt einen Weg, aber bisher hat keine unserer Technologien diesen Erfolg erzielt... Grrrowf!"
+
+msgid "MAP156_NPC_31"
+msgstr "Ich verpasse dem Schutzanzug gerade den letzten Feinschliff. Für die nächste Mission sollte er bereit sein."
+
+msgid "MAP156_NPC_32"
+msgstr "Ich darf präsentieren: Die krönende Errungenschaft nach monatelanger Forschung: Der Schutzanzug! Auf Entwürfen aus Hoenn basierend sorgt dieser Anzug für die komplette Undurchdringlichkeit gegenüber Strahlung. Er enthält zusätzlich ein Luftfiltrierungssystem, ein eingebautes Funksprechgerät und noch mehr. Das ist zunächst einmal der erste Prototyp. Wir hoffen, dass wir irgendwann genug Exemplare für die ganze Ranger-Kompanie entwickeln können."
+
+msgid "MAP156_NPC_33"
+msgstr "Professor Zypresse: Oh, Ernest! Ich ahnte dich hier zu finden. Professor Bamb'u: Schön dich zu sehen Lily. Wie geht es mit der Forschung voran? Zypresse: Sie geht gut voran. Wir machen Fortschritte mit der Schutzkleidung. Das neue Nuklear resistente FangKom kommt auch gut voran, obwohl dieses schwieriger zu benutzen ist als das gewöhnliche FangKom. Im Bezug auf die Entwicklung eines Heilmittels für Nuklear-Pokémon waren deine Notizen sehr hilfreich. Bamb'u: Ich bin froh, dass ich behilflich sein konnte. PN, lass mich dir erzählen, was wir über den Nuklear-Typ herausgefunden haben. Also, du weißt ja wie Evolutionssteine funktionieren, richtig? Jeder Stein strahlt eine gewisse Frequenz elektromagnetischer Radiation aus. Manche Pokémon vollziehen eine Entwicklung, wenn sie dieser Art von Strahlung in einer konzentrierten Dosis ausgesetzt sind. Jedes Element scheint zu einer bestimmten Frequenz zu gehören. Und nukleare Strahlung hat eine viel höhere Frequenz. Kurzum sorgt nukleare Strahlung für eine partielle Entwicklung in dem Pokémon. Ihre Spezies ändert sich nicht, dafür aber ihre Färbung, Attacken und ihr Typ. Und da ihre Körper nicht darauf ausgelegt sind einer solchen Entwicklung standzuhalten, drehen sie ein bisschen durch. Deswegen sind sie so wild und brutal. Allerdings denke ich, dass man sie mit einer bestimmten therapeutischen Behandlung heilen kann. Nicht vollständig zwar, sie werden ihre veränderten Farben beibehalten, aber sie werden deinen Befehlen gehorchen und dich nicht angreifen. Hervorragende Arbeit, so wie immer, Ernest. Bamb'u: Danke, Lily. Ich gebe mein Bestes."
+
+msgid "MAP156_NPC_34"
+msgstr "Es scheint als seien manche Pokémon-Typen anfälliger für nukleare Infektionen als andere. Normal, Gift, Unlicht und Flug-Typen sind am verletzbarsten. Käfer, Stahl und Geist-Typen sind dafür sehr resistent."
+
+msgid "MAP156_NPC_35"
+msgstr "Wie du weißt nutzen Pokémon Ranger FangKoms um randalierende wilde Pokémon zu unterdrücken. Allerdings haben sie bislang nicht bei Nuklear-Pokémon funktioniert. Jetzt haben wir jedoch eine neue Sorte entwickelt, die deutlich effektiver ist. Es wird den Rangern zwar nicht erlauben, Nuklear-Pokémon zu befehligen, aber sie werden sich zumindest beruhigen und einschlafen."
+
+msgid "MAP156_NPC_36"
+msgstr "Am Kernkraftwerk wurden wir Zeugen einer komplett unbekannten Pokémon-Art! Zumindest denken wir, dass es ein Pokémon ist. Sein Name ist Uratom und es scheint vom Typ Nuklear zu sein. Ein legendäres Pokémon vom Typ Nuklear... Und dieser CURIE muss sein Trainer sein. Wir versuchen noch immer herauszufinden, was seine Kräfte sind, oder wo sie möglicherweise herkommen. Wenn nur Cameron wach wäre... Er könnte uns einen Hinweis liefern."
+
+msgid "MAP156_NPC_37"
+msgstr "... [Diese Rangerin wurde direkt von Uratoms Attacke Halbwertszeit getroffen. Sie ist in einem schlechten Zustand...]"
+
+msgid "MAP156_NPC_38"
+msgstr "PN?. Bist du das?\nUnd Theo und Professor Bamb'u sind auch da.\nIch bin froh, dass ihr alle hier seid. Wir sind so schnell gekommen, wie wir konnten.\nWie fühlst du dich, Kellyn? Mir geht's soweit gut. Die Bestrahlung war gar nicht so schlimm-\n*hust*. *hust*. Bitte versuchen Sie sich nicht zu überanstrengen.\nIn Ihre Lungen ist radioaktiv verseuchte Luft gedrungen.\nSie müssen ihren Puls unten halten. Wie soll ich denn ruhig bleiben, wenn Bürger und Pokémon in Gefahr schweben?!\n*hust*. *hust* Hört zu.. Jetzt, da wir etwas besser darüber Bescheid wissen, womit wir es zu tun haben, hab' ich mir einen Plan ausgedacht.\nIch bin mir sicher, dass CURIE der Grund für die ganzen Kernschmelzen ist.\nWenn wir CURIE ausschalten könnten, würden die Angriffe auf die Kraftwerke nachlassen und wir könnten anfangen die betroffenen Gebiete wieder zu bereinigen.\nNatürlich müssten wir dafür erstmal herausfinden, wo CURIE sich versteckt hält... Zum Glück war Cameron diesbezüglich sehr hilfreich. Papa...?\nAber, er ist doch bewusstlos, seitdem er... Es sieht so aus, als hätte Cam erwartet, dass so etwas passieren würde.\nAls wir ihn hergebracht haben, haben wir diese Dokumente in der Innentasche seiner Jacke gefunden. Er hat scheinbar schon eine ganze Weile lang Informationen über Curie und Uratom gesammelt.\nDort war auch dieser Brief dabei. An Kellyn und die Ranger von Tandor, ihr kennt mich als Cameron Caine, Ingenieur, privater Bauunternehmer und Vater.\nAllerdings ist das nicht die ganze Wahrheit.\nMein echter Name lautet Cameron Stormbringer. Ich bin ein Agent von Interpol.\nVor elf Jahren wurde ich nach Tandor gesandt, um Nachforschungen zu Berichten über gefährliche und illegale Experimente an Pokémon anzustellen.\nWährend meiner verdeckten Ermittlungen,. wurde ich entdeckt,. und die Kriminellen flohen und verwischten ihre Spuren. Menschen sind daraufhin gestorben.\nDas ist das Einzige, was ich wirklich bereue.\nNach meinem Scheitern entließ mich Interpol in einen vorzeitigen Ruhestand. Aber ich habe nie vergessen, was ich auf der Insel herausfand... Papa war ein Geheimagent? Woah! WIE GEIL IST DAS DENN! Er war schon immer eher reserviert.\nIst einfach eines Tages mit einem Kind in der Stadt aufgetaucht...\nHat nie wirklich über sich, oder seine Herkunft gesprochen. ... Also wusste Cam mehr über die Explosion von vor zehn Jahren...\nAn dem Tag hat auch Lucille ihr Leben verloren.\nWarum hat er mir denn nichts erzählt? ... In dem Brief steht noch mehr. Obwohl ich außer Dienst war, konnte ich nicht ruhen, ehe diese Kriminellen nicht zur Rechenschaft gezogen wurden.\nIch wusste, dass ein Beweis dafür noch immer existierte...\nAlso wurde ich Bauunternehmer für das neue Kernkraftwerk Epsilon. Als Vorwand, die Konstruktion eines neuen Kraftwerks zu beaufsichtigen, hatte ich geplant das Gelände des eingestürzten Kraftwerks zu untersuchen, um Dokumente zu finden, die beweisen konnten, dass es sich dabei nicht um einen Unfall handelte.\nStattdessen fand ich etwas anderes, etwas noch viel Unheilvolleres... Entwürfe und Schaubilder, die die Erschaffung eines künstlichen Pokémon detailliert darstellten!\nIch war so kurz davor alles zu bekommen, was ich brauchte, um einen Bericht an Interpol zu senden, als das Unvorstellbare geschah.\nEine riesige Detonation erschütterte die Insel.\nIn diesem Moment wusste ich, die ganze Sache war noch lange nicht vorbei. Ich bin der Explosion gerade noch so entkommen, dank meines Yatagaryu.\nVon hoch oben im Himmel konnte ich sie sehen...\nEine einzelne Gestalt tauchte vom Trümmerhaufen des eingestürzten Kraftwerks auf, begleitet von einem Pokémon. Ich habe die Maske von den Schaubildern wiedererkannt, die die Gestalt trug.\nDas CURIE Interface. Ein hoch technologisiertes Gerät, das in den Laboren entwickelt wurde.\nEs scheint eine Art mentaler Verstärker zu sein.\nEs übermittelt die Gedanken und Befehle des Trägers an sein Pokémon... Uratom. Ein menschengemachtes Pokémon.\nErschaffen, um eine Quelle unerschöpflicher Energie zu sein.\nSchöpft man sein volles Potenzial aus, ist es in der Lage Atome zu spalten.\nUm dieses Potenzial zu erreichen, muss es allerdings eine riesige Menge an nuklearem Treibstoff konsumieren. Damit dies möglich werden kann, hat es die Fähigkeit Radioaktivität aufzuspüren:. Ein \"Geigersinn\".\nIch denke, Uratom wurde auf der Insel erschaffen und verharrte dort jahrelang in tiefem Schlummer. Als neuer nuklearer Treibstoff auf die Insel gebracht wurde, ist es wieder erwacht. Aber.... Uratom war nicht alleine. Diese Gestalt.\nIch habe nicht die leiseste Ahnung, wer sie ist, oder was ihre Ziele sein mögen.\nSie besitzt das CURIE-Interface und scheint Uratoms Trainer zu sein. Außerdem verhält sie sich so, als wolle sie nicht gesehen werden. Sie bleibt durch den Gebrauch von Uratoms Teleportationskraft, Quantensprung, unentdeckt. Allerdings bleibt jedes Mal eine schwache radioaktive Spur zurück, wenn es diese Fähigkeit einsetzt.\nSomit konnte ich sie im Geheimen verfolgen. Über die ganze Region. Monatelang. Die Tatsache, dass jeder dachte, ich sei tot, machte es einfacher unentdeckt zu bleiben.\nUnd doch kann ich mir kaum vorstellen, wie sehr Theo am Boden zerstört sein muss... \nAber so sehr ich mich auch um meinen Sohn sorge, Tandor zu beschützen hat eine höhere Priorität. Also hast du uns alle glauben lassen, du seist tot?! Wie ikonntest/i du nur, Papa? Ich war am Ende!\nIch meine, ich weiß zwar, dass du diese Geheimagentensache tun musstest, aber...\nDu hättest mir wenigstens ein Zeichen senden können!. Oder sonst irgendwas! Ja.... Cameron zu verlieren war für uns alle unglaublich schwer. Besonders für dich, Theo.\nAber während er verschwunden blieb, war er auf der Suche nach CURIE.\nDiese Information könnte uns ermöglichen diese Person zu stoppen und dieser Sache ein Ende zu bereiten! Letztendlich, scheinen sie sich im zerstörten Kernkraftwerk im Norden Vinovilles niedergelassen zu haben.\nEs ist abgelegen und die Strahlung hält Eindringlinge fern.\nDort gibt es einen großen Vorrat an Kernbrennstoff. Aber er wird nicht ewig halten. Irgendwann wird der Vorrat zu neige gehen und sie sind gezwungen sich auf die Suche nach mehr Brennstoff zu begeben.\nDas letzte verbleibende Versteck von Uran ist in Ost Tandor. Dort werden sie sein.\nIch glaube, es ist Zeit für meinen Zug. Ich werde den Rangern vorher über den Angriff alarmieren und den Kernbrennstoff woanders deponieren.\nSollte Uratom mehr Brennstoff bekommen, so wird er vielleicht seine wahre Gestalt annehmen.... Ein Pokémon mit unglaublichen Kräften. Ich muss alles in meiner Macht stehende tun, um es zu verhindern.\nDie Ranger werden eine Falle für Uratom und CURIE in Ost Tandor aufstellen. Dort werden sie gezwungen sein sich selbst zu enthüllen.\nWenn es ihnen gelingt zu entkommen, werden sie wieder zum Kraftwerk nördlich Vinoville fliehen. In diesem Fall werde ich den Rangern helfen und sie dort konfrontieren. Ich muss sie zur Rechenschaft ziehen. Für mich und für alle anderen!\n\n\n- Cameron Stormbringer Das ist also das Ende des Briefes? Ja, ist es.\nObwohl es nicht alles ist, was Cam uns hinterlassen hat.\nEr scheint ziemlich viele Daten über CURIE und Uratom gesammelt zu haben.... Dateien, die ihre Fähigkeiten und Schwächen ausführlich beschreiben.... Er scheint ziemlich fixiert darauf zu sein. Das kennst du auch, oder Kellyn? ... *hust*. *hust* ...Abgesehen davon,. könnten Camerons Informationen von unschätzbarem Wert sein.\nEin Ortungssignal gehört dazu.\nAnscheinend hat er es während des Kampfes geschafft, an CURIE und Uratom ein Ortungsgerät anzubringen.\nMeine Ranger tasten momentan ihre Frequenz ab. Boss!\nWir haben das Verfolgungssignal geortet!\nEs kommt aus dem Westen, so wie Sie sagten.... Es scheint aus den Tiefen der Vinoville-Gefahrenzone zu stammen. Also hatte Cam recht.\nSie sind im Inneren des Kernkraftwerks Zeta.\nSind die Schutzanzüge bereit? Sind einsatzbereit, Sir! Das sind gute Nachrichten. Dieses Mal sitzen die Ranger am längeren Hebel. Wir werden diese Kriminellen aufspüren und stoppen!\nIch wünschte, ich könnte diese Mission anführen.... Aber...... PN. Normalerweise gibt es einen Eid und eine Zeremonie, aber.... Die Zeit drängt, also komme ich gleich zum Punkt.\nIch verleihe dir den vollständigen Ranger-Status.. Ich will, dass du diese Mission an meiner statt führst. Ich weiß, du schaffst das. Du hast jede Herausforderung auf deinem Weg gemeistert. Du hast nun alle acht Orden. Du bist eine starke, mutige, unabhängige Person geworden. Ich will nur, dass du weißt....\nIch bin so stolz auf dich, PN.\nIch hätte mir kein besseres Kind wünschen können.\nIch wünschte nur, ich wäre ein besserer Vater gewesen. Ich hoffe, dass ich es eines Tages wieder gut machen kann. Nachdem das hier alles vorbei ist... *schnüff* I|-Ich bin so froh, dass Papa noch lebt....\nIch w|-will ihn nie wieder verlassen...\nAber ich muss diese CURIE-Person für das büßen lassen, was sie getan hat!\nKellyn!. Ich will auch ein Ranger sein! Natürlich, Theo.. Du bekommst eine Beförderung für diese Mission. Je mehr starke Trainer wir haben, desto höher ist die Chance, dass wir CURIE aufhalten können. Ich werde hier beim HQ bleiben und für Unterstützung sorgen. Wir werden eure Position aus der Ferne überwachen.\nProfessor, wir brauchen Sie im Labor. Aber selbstverstädnlich! Wir sind so nah dran am Durchbruch für die Heilung. Ich weiß es einfach! Hey, PN!\nWir werden echte Ranger! Das ist voll super, oder? Ihr zwei habt euch mehr als nur würdig erwiesen.\nTheo, deine Aktionen CURIE die Stirn zu bieten waren.... Naja, sie waren tollkühn.\nAber dein Wagemut ist bewundernswert. ...Hey, kleinen Moment mal! Ich hab' gerade erst 'rausgefunden, dass Papa am Leben und in Not war! Ich konnte nicht einfach 'rumstehen und nichts tun. Papa.... Ich werde dafür sorgen, dass dein Opfer die Sache wert war.\nUnd wenn du dann endlich aufwachst.... Ich werde da sein und dir sagen können, dass du geholfen hast Tandor zu retten. Eine Gruppe Ranger wartet am westlichen Hafen auf Route 7.\nDort werdet ihr mit dem Boot über den See bis nach Route 8, den Weizenfeldern, fahren.\nDieses Gebiet ist als \"Gefahrenzone\" eingestuft. Ihr werdet Schutzausrüstung brauchen.\nZum Glück haben unsere Wissenschaftler den Schutzanzug entwickelt, der euch vor der Strahlung schützt. Jenseits der Route gibt es eine Straße, die zum Kernkraftwerk Zeta führt. Das Verfolgungssignal kommt vom tiefsten Inneren des Kraftwerks.\nIhr werdet vorbereitet sein müssen. Wir wissen nicht, was wir zu erwarten haben."
+
+msgid "MAP156_NPC_39"
+msgstr "... [Cameron ist bewusstlos und antwortet nicht.]"
+
+msgid "MAP156_NPC_4"
+msgstr "Kellyn: Fiore, dann Almia, dann Tandor... Was? Oh, Ich schwelge nur in Erinnerungen. Kellyn: H-hör zu, vielleicht kann ich dir Mittagessen kaufen? Nein, warte, ich muss arbeiten. Tut mir leid. Kellyn: Wie geht es meiner älteren Schwester? ...Sie spielt Wii? Alles klar. Kellyn: Weißt du, deine Mutter war... Ich wünschte du hättest sie kennenlernen dürfen. Kellyn: *seufz*"
+
+msgid "MAP156_NPC_40"
+msgstr "Kellyns Imperilla bleibt an seiner Seite. Die beiden haben definitiv ein starkes Band zueinander."
+
+msgid "MAP156_NPC_41"
+msgstr "Imper... PN benutzt den bPokémon-Sprachübersetzer/b.... c3=C7A981,FCBB79Boss ist verletzt. Muss Boss beschützen!/c3"
+
+msgid "MAP156_NPC_42"
+msgstr "Papa... Ich bin bei dir, also halt' durch, okay?"
+
+msgid "MAP156_NPC_43"
+msgstr "Ich bin noch nie so schnell geflogen wie mit Camerons Yatagaryu, als es uns hierhin befördert hat. Es ist auf dem Landeplatz, oben auf dem Dach. Um hier rein zu kommen ist es zu groß. Obwohl es immer wieder versucht hat nach innen zu gelangen, damit es bei seinem Trainer sein kann. Das ist mal ein loyales Pokémon."
+
+msgid "MAP156_NPC_44"
+msgstr "Ich bin ein Sanitäter, der sich auf die Pflege von verletzten Rangern spezialisiert hat. Heiteira ist mein Partner-Pokémon aus der Almia-Region."
+
+msgid "MAP156_NPC_45"
+msgstr "Hei! Heiteira!"
+
+msgid "MAP156_NPC_46"
+msgstr "Ich muss sagen.... So furchteinflößend Uratom auch ist, es ist faszinierend eine unentdeckte Pokémon-Art zu sehen. Mein Gott.... Sagte er, dass Uratom NOCH stärker werden würde, wenn es mehr Treibstoff hätte? Es sah so schon furchteinflößend aus.... Ich will gar nicht dran denken, wie viel stärker es noch werden kann! Wir werden alles in unserer Macht stehende tun, um zu verhindern, dass es noch stärker wird. Unser Ziel sollte es sein, Uratom zu neutralisieren und seinen Trainer, CURIE, einzusperren. Camerons Notizen nach zu urteilen, tritt Uratom in eine Art Energiesparmodus ein, wenn es geschwächt wird. Sobald wir seine Zerstörungskapazität eingedämmt haben, werden wir entscheiden, was wir mit ihm anfangen. Experimente mit Pokémon und Versuche, künstliches Leben zu erschaffen sind illegal, seit dieser Mewtu-Geschichte in Kanto.... aber das heißt nicht, dass sie aufgehört haben.\nObwohl ich glaube, dass die Umstände, unter denen jemanden geboren wurde, nicht dessen Schicksal bestimmen sollte, müssen wir unsere Optionen überdenken. Wenn Uratom so ist wie andere Nuklear-Pokémon, nämlich nur eine willenlose Zerstörungsmaschine.... dann haben wir, zum Wohlergehen der Region, keine andere Wahl, als es für immer zu terminieren. Allerdings.... möchte ich nicht, dass es so weit kommt. Warte mal....es terminieren?\nIhr werdet es töten? -seufz- Ich habe gerade gesagt, dass ich das nicht möchte.\nAber etwas, das nach Belieben Kernexplosionen hervorrufen kann, ist eine Bedrohung für alle.\nIch bin ein Ranger und das Leben der Menschen und der Pokémon zu erhalten, ist meine Arbeit. \nUratom hat Menschen angegriffen und verletzt. Unter denen waren einige meiner besten Ranger, und- *hust*. *hust* ...und du auch. Ich.... schätze ja. Ich vertraue deinem Urteil als Chef.\nAls Wissenschaftler würde ich es jedoch vorziehen, wenn Uratom am Leben gelassen würde. Ein komplett unentdecktes Pokémon könnte bahnbrechend sein.\nEs könnte sogar die Lösung zur Heilung von Nuklear-Pokémon sein. Wir können erstmal nur abwarten und sehen, was passiert."
+
+msgid "MAP156_NPC_47"
+msgstr "Hallo, PN! Hast du ein Nuklear-Pokémon, das geheilt werden muss? Okay! Ich werde die Behandlung an deinem durchführen. Wird nicht lange dauern. Und fertig! Dein ist komplett geheilt! Bringe mir noch mehr bestrahlte Pokémon, sodass ich sie heilen kann. Wenn du irgendwelche verstrahlten Pokémon hast, bring sie zu mir und ich heile sie dann. Denk dran, dass es nur bei gewöhnlichen Pokémon funktioniert, die sich erst durch die Strahlung infiziert haben. Ursprüngliche Nuklear-Pokémon, wie Radiana oder Fermi benötigen keine Heilung. Wenn du irgendwelche verstrahlten Pokémon hast, bring sie zu mir und ich heile sie dann."
+
+msgid "MAP156_NPC_48"
+msgstr "Feeer-mi! Möchtest du den bPokémon-Sprachübersetzer/b benutzen? PN benutzt den bPokémon-Sprachübersetzer/b.... Glücklich! Glücklich zu helfen!"
+
+msgid "MAP156_NPC_5"
+msgstr "Unser Boss, Kellyn, ist seit dem Unfall von vor zehn Jahren nicht mehr derselbe... Der Unfall, an dem er seine Frau verlor."
+
+msgid "MAP156_NPC_6"
+msgstr "Willkommen im West-Tandor Pokémon Ranger HQ. Dies ist die Basis für all unsere Operationen rund um West-Tandor. Hast du irgendwelche Anliegen? Die Tandor Pokémon Ranger sind dazu bestimmt den Frieden und die Umwelt in Tandor zu bewahren. Wir sind da, um die Menschen und Pokémon vor dem zu beschützen, was ihnen schaden könnte. Von Verbrechen bis hin zu Naturkatastrophen, du kannst auf den Schutz der Pokémon Ranger zählen! Wir unterscheiden uns von Pokémon-Trainern, weil wir keine Pokébälle benutzen um Pokémon zu fangen. Wir gebrauchen FangKoms, um uns die Kräfte der wilden Pokémon nutzbar zu machen. Dies verringert die Auswirkungen auf die Umwelt. Gibt es noch etwas, das du gern wissen würdest? Manchmal bitten die Tandor Ranger zivile Pokémon-Trainer auf ihren Missionen um Hilfe. Dafür benötigt man jedoch eine spezielle Erlaubnis vom Ranger-Chef persönlich. Für Informationen über derzeitige Missionen, sprich bitte mit dem Ranger zu meiner Rechten. Gibt es noch etwas, das du gern wissen würdest? Die Tandor Ranger sind derzeit als Katastrophenhilfe tätig, nachdem sich eine Explosion aus einer unbekannten Quelle auf der Insel des Atomkraftwerkes im Südosten ereignet hat. Viele unserer Ranger sind zur Zeit damit beschäftigt, die Insel zu evakuieren. Jedoch treffen Wellen der Strahlung auch auf das Festland, was seltsame Auswirkungen auf die wilden Pokémon hat. Bitte verhalte dich ruhig und bleib drinnen, oder gehe an einen Ort der sich weit vom Epizentrum der Explosion entfernt befindet. Alles ist gut hier in West-Tandor. Es ist derzeit ein großes Bauprojekt im Gange, bei dem ein neues Atomkraftwerk auf der Insel im Südosten errichtet werden soll. Seitdem das alte vor zehn Jahren weggeschmolzen ist, musste West-Tandor auf weniger nachhaltige Energiequellen zurückgreifen, wie Kohle und Öl. Diese verschmutzen die Umwelt. Sobald das neue Kernkraftwerk erbaut ist, planen wir, fossile Brennstoffe in ganz West-Tandor abzuschaffen. Gibt es noch etwas, das du gern wissen würdest? Dein Vater führt derzeit eine Rettungsmission auf der Kernkraftwerks-Insel im Südwesten an.\nDu solltest so weit wie möglich von diesem Gebiet weg bleiben. ...Hö? Dein Vater...?\nOh! Du meinst wohl Kellyn! Ich wusste nicht, dass er ein Kind hat.\nDu findest ihn oben.\nEr wird wahrscheinlich überrascht sein, dich zu sehen. Kann ich dir noch mit etwas anderem helfen?"
+
+msgid "MAP156_NPC_7"
+msgstr "Der Grund für die Explosionen der Kernkraftwerke war ein Mensch mit dem Namen CURIE... Ist es überhaupt ein Mensch? Es trug einen merkwürdigen Helm. Und dieses Ding an seiner Seite-- 'Uratom'. Ich habe ein solches Pokémon noch nie gesehen, geschweige denn davon gehört."
+
+msgid "MAP156_NPC_8"
+msgstr "Dieses Gebäude ist die größte Operationsbasis für die Pokémon Ranger aus West-Tandor. Wir haben einen kleineren Außenposten in Nowtoch City und Ost-Tandor hat ebenfalls sein eigenes Hauptquartier. Die Ranger Union hier ist relativ jung im Gegensatz zu der aus Almia. Tatsächlich wurde Chef Kellyn mit anderen Rangern aus Almia vor dreißig Jahren hierher gesandt, um die Operation zum Laufen zu bringen!"
+
+msgid "MAP156_NPC_9"
+msgstr "Wir fangen Pokémon nicht so wie Trainer es tun, aber manche von uns besitzen ein Partner-Pokémon. Mein Partner, Staraptor, kam von der Almia-Region aus den ganzen Weg mit mir."
+
+msgid "MAP157_NPC_1"
+msgstr "Bist du mit dem Schiff hergekommen? Das bin ich auch. Angeblich gebraucht man in der Arena hier Stahl-Pokémon und Technologien. In einer solchen Stadt, wer hätte das gedacht? Diese ganze Stille macht mein Pokémon hibbelig. Es ist zu gemächlich hier für einen ernstzunehmenden Trainer wie mich. Ich werde einfach den Arenaleiter besiegen und wieder abhauen."
+
+msgid "MAP157_NPC_2"
+msgstr "Wenn du W-LAN willst, gibt es nur zwei Orte in der Stadt, in denen du es kriegen kannst: Hier und in der Arena. Ich glaube nur, dass Sheldon sein Passwort mit niemandem teilen wird... und die Bitrate hier ist echt schlecht! Ich bin nach Vinoville gekommen, weil ich hörte, dass es hier Technologie gibt, die auf dem neuesten Stand ist. Aber wie sich herausstellt, gibt's die nur in der Arena und der Rest der Stadt besteht aus Feldern und religiösen Irren!"
+
+msgid "MAP157_NPC_3"
+msgstr "Nachdem was am Kernkraftwerk nahe Sonnenstrand passiert ist, befinden sich die Tandor Ranger im Alarmzustand. Ich bin auf Beobachtungsposten, aber es scheint, als würde hier nie etwas passieren... *seufz* Warum konnte ich keinen aufregenderen Posten bekommen?"
+
+msgid "MAP158_NPC_1"
+msgstr "Alles was dieser Supermarkt anbietet ist Pokémon-Zeugs! Ich will doch nur ein Sandwich! Ist das zuviel verlangt? Mach mir ein Sandwich."
+
+msgid "MAP158_NPC_2"
+msgstr "Die Leute aus Vinoville würden eher ihr eigenes Essen anbauen, als es sich von einem Supermarkt zu kaufen. Daher gibt es hier auch nicht so viele Kunden."
+
+msgid "MAP159_NPC_1"
+msgstr "Pastor: Hallo, Jungspund! Ich kann dieses Funkeln in deinen Augen sehen. Du bist neugierig, nicht wahr? Der Glaube ist kein Element, der im tandorianischen Leben oft ausgedrückt wird. Nichtsdestotrotz beten die meisten Tandorianer auf ihre eigene Art. Soll ich dir etwas über die Legenden von Tandor erzählen? Sehr schön. Wir Tandorianer glauben nicht an einen einzelnen Gott, so wie den tausendarmigen Schöpfer von Sinnoh. Wir glauben viel eher, dass das Universum mit dem Nichts begann. Aus diesem Nichts wuchsen zwei andere Wesenheiten. Weiß und schwarz, positiv und negativ, Vergangenheit und Zukunft, Wind und Wasser, Feuer und Blitz, Druck und Zug. Sie haben in der Welt viele Namen. Hier in Tandor lauten unsere Namen für sie Aotius und Mutios. Sie nehmen viele Formen an. Einige, menschlich. Andere, pokémon. Zusammen zogen sie die Pokémon des Metalls groß, Lanthan und Actan. Und an die Menschen in Tandor, gaben sie fünf Gebote. 1. Gebrauche keine Gewalt gegenüber deinen Feinden und sie werden auch dir keine Gewalt antun. 2. Füge den Pokémon von Tandor kein Leid zu und auch sie werden dir kein Leid antun. 3. Bestelle das Land, um reichhaltigen Ertrag zu ernten. 4. Verlangen ist der Pfad ins Verderben. 5. Lehre jene, die gewillt sind zu lernen. So lauten die Gebote und so werden wir nach ihnen leben. Das Band zwischen der Menschheit und Aotius und Mutios ist ähnlich mit dem zwischen Pokémon und Trainern: So wie Pokémon hören, gehorchen und beschützen auch wir. Wir beschützen. Ich danke dir dafür, dass du meiner Geschichte gelauscht hast, mein Kind. Hier ist eine Belohnung für deine Geduld. Wissen wird immer für jene da sein, die danach streben."
+
+msgid "MAP159_NPC_10"
+msgstr "Teilweise wird der Wert einer TM dadurch festgelegt, wieviele Pokémon sie lernen können. TMs wie Rückkehr, Doppelteam, Kraftreserve, Toxin, Schutzschild und Anziehung können von vielen Pokémon gelernt werden."
+
+msgid "MAP159_NPC_11"
+msgstr "Vom demütigsten Kind bis zum mächtigsten König, vom bescheidensten Karpador bis zum großen Lord Arceus: jeder hat die Fähigkeit in den Genuss des Lebens und der Existenz zu kommen."
+
+msgid "MAP159_NPC_12"
+msgstr "Ich habe die Geschichten der Legenden von Tandor nie geglaubt. Aber ich war im Publikum bei den Meisterschaften und konnte einen flüchtigen Blick auf Actan werfen, als wir evakuiert wurden. Wenn eine Legende wahr ist, können sie alle wahr sein! Gepriesen sei Arceus!"
+
+msgid "MAP159_NPC_13"
+msgstr "Ich war früher ein schlechter Mensch. Selbst als Vinoville in Aufruhr war, verbrachte ich meine Zeit mit plündern und stehlen. Dann traf ich auf ein kleines Kind, rußbeschmutzt und hungernd, das einem verletzten Waumboll eine Beere anbot. Das hat mich dazu gebracht in diese Kirche zu kommen und um Erlösung zu bitten."
+
+msgid "MAP159_NPC_14"
+msgstr "... [Sie flüstert ein religiöses Gebet. Es wäre besser, sie in Ruhe zu lassen.]"
+
+msgid "MAP159_NPC_15"
+msgstr "Ich weiß um die Angst zu sterben, hab's durch die Explosion der Kernschmelze erfahren!"
+
+msgid "MAP159_NPC_16"
+msgstr "Ich habe noch nie zuvor von diesem Nuklear-Typ gehört bis die Katastrophe passierte!"
+
+msgid "MAP159_NPC_2"
+msgstr "Schau doch mal in die Bücher neben dem Altar, mein Kind. Vielleicht können sie dich etwas über unsere Sitten lehren."
+
+msgid "MAP159_NPC_3"
+msgstr "Aotius, der für den klaren, reinigenden Wind steht! Mutios, die für das klare, reinigende Wasser steht! Und über ihnen, der große Arceus!"
+
+msgid "MAP159_NPC_4"
+msgstr "Pokémon. Menschen. Götter. Legenden. Alle zelebrieren die Herrlichkeit des Lebens."
+
+msgid "MAP159_NPC_5"
+msgstr "Das Wissen um die Landwirtschaft wurde von meiner Familie Generation für Generation weitergegeben. Unsere Wurzeln verlaufen tief, wie bei einem riesigen Baum. Ein Leben ohne Pokémon wäre ertraglos. Die Götter haben Menschen und Pokémon erschaffen, damit sie zusammen arbeiten."
+
+msgid "MAP159_NPC_6"
+msgstr "Vinoville ist für sein Brot und seinen Wein bekannt. Sie sind so lecker, weil sie mit Liebe zum Land angebaut wurden. Tandor hat so ein wunderbares Klima... wir können fast das ganze Jahr lang anbauen."
+
+msgid "MAP159_NPC_7"
+msgstr "Du siehst hungrig aus! Hier, nimm diese Beeren. Sei nicht schüchtern! Hier hast du noch mehr! Beeren sind für Pokémon gedacht, aber mal unter uns, sie sind für Menschen ebenso gut!"
+
+msgid "MAP159_NPC_8"
+msgstr "Ich liebe die Provinz! Ich kann hier halt frei sein und im Einklang mit der Natur und sowas, yo. Ach, manchmal mag ich's einfach nur draußen zu sitzen... die frische Luft zu atmen, die Saiten anzuhauen... halt zu sehen, wie's Mutter Natur heute so geht. Weißt du was ich meine?"
+
+msgid "MAP159_NPC_9"
+msgstr "In Unova gibt es ein Dorf, in dem vier berühmte Künstler zusammenarbeiten, um jeden einzelnen Tag Musik zu machen. Eines Tages will ich dorthin. Willst du Gesangsstunden nehmen? Lass mich deine Stimme hören. ... Komm schon, sei nicht schüchtern. ... Hey, hast du mir zugehört? Ich will dich singen hören! ... Na gut, schätze du willst nicht lernen."
+
+msgid "MAP159_SIGN_1"
+msgstr "Hier ist ein Buch mit dem Namen \"Die Legenden des Ozeans aus Ost-Tandor\". Lesen? --Legende aus Ost-Tandor-- In Ost-Tandor liegt ein riesiger Abgrund im Ozean. Manchmal, wenn man das Meer des nachts besegelt, kann man die Lichter sehen, die tief unter der Meeresoberfläche erstrahlen.\nDabei handelt es sich um das legendäre Pokémon Baitatao. Manche sagen, dass es versucht, ahnungslose Schwimmer unter Wasser zu locken, wo es ihnen das Augenlicht nimmt. Andere sagen, dass es den Reisenden durch sein Licht eine sichere Reise ermöglichen will. Baitataos Hitze ist, was das Meer warm hält, sodass das Leben darin gedeihen kann. Es wäre weise, jene Orte zu meiden, an denen das Meer nachts hell erleuchtet ist. Lesen ist für Dummköpfe."
+
+msgid "MAP159_SIGN_2"
+msgstr "Hier ist ein Buch mit dem Namen \"Die drei Pokémon des Metalls\". Lesen? Als die Welt geboren wurde, neu geformt durch Arceus' tausend Arme, gab es kein Metall. Dann hat Groudon, Lord der Erde und des Tages, die Erde mit seiner mächtigen Klaue gespalten, aber das Metall darunter erwies sich als dünnes Bronze. Es hat sich tief in das Magma bis zum Erdkern gegraben und legte dort drei Eier. Das, was aus dem ersten Ei schlüpfte, war der Bruder des Feuers, Heatran. Er erschuf die weit verbreiteten Erze: Eisen, Silber, Gold und Titan. Aus den Lavaströmen am Kahlberg flossen all die reichhaltigen und wertvollen Metalle, von denen die Menschen Gebrauch machen konnten. Aus dem zweiten Ei schlüpfte Lanthan. Als Pokémon der Erde nahm Lanthan die seltenen und schlüpfrigen Erze ohne Namen an sich, und befestigte sie im tiefsten Untergrund. Es erschuf den Lanthanitberg in Ost-Tandor und legte sich darin zur Ruhe. Aus dem letzten Ei schlüpfte Actan. Als Pokémon der Dunkelheit, nahm Actan die seltensten und mächtigsten Erze, die vor gefährlicher Energie brannten und summten, und erhob sich aus dem Actinitberg, um den Menschen ihren Nutzen zu lehren. Und so verfügten wir über Energie, die weder von Pokémon gestohlen noch durch Feuer gespeist wird, sondern aus der grenzenlosen Quelle des Metalls selbst stammt. Und Actan sah, dass die Menschen gelernt haben und verfiel zurück in seinen Schlummer. Lesen ist für Dummköpfe."
+
+msgid "MAP159_SIGN_3"
+msgstr "Hier ist ein Buch mit dem Namen \"Glaubensarten der ganzen Welt\". Lesen? Auf meinen Reisen durch viele Regionen, habe ich ähnliche Glaubenssysteme in diversen Kulturen beobachten können. Die auffälligste Ähnlichkeit besteht zwischen den Glaubensarten in Unova und Tandor. Trotz der enormen Distanz zwischen den beiden Regionen, haben ihre religiösen Ansichten viele Gemeinsamkeiten. Unovaner glauben an zwei himmlische Wesen, Schwarz und Weiß, welche sich in den legendären Pokémon Reshiram und Zekrom manifestieren. Diese sind ihrer Meinung nach die Schöpfer von allem... Glaube ist in Unova nicht so weit verbreitet wie in Tandor. Auch Tandorianer glauben an zwei Wesenheiten, dessen Namen Aotius und Mutios lauten. Jedoch sind diese mehr als nur legendäre Pokémon. Sie werden als unsterbliche, astrale Wesen dargestellt, die Erscheinungen als Menschen und Pokémon annehmen können,. Interessanterweise vermuten viele Religionsexperten in Tandor, dass Reshiram und Zekrom Erscheinungen von Aotius und Mutios sein könnten. Der Rest des Buches dient dazu, die Symboliken zu analysieren und bla bla bla... ...Es ist ein sehr langes Buch. Interessant zwar, aber du hast nicht die Zeit alles zu lesen. Lesen ist für Dummköpfe."
+
+msgid "MAP159_SIGN_4"
+msgstr "Hier ist ein Buch mit dem Namen \"Die Schöpfung aller Dinge\". Lesen? Am Anfang war das Nichts. Ein Riss tat sich im Universum auf und heraus traten ein weißer Nebel und eine schwarze Flüssigkeit. Sie breiteten sich aus, um jeden leeren Raum zu füllen und das Gefüge des Universums zu bilden. Nebel und Flüssigkeit bildeten Gegensätze. Sie sehnten sich nach Nähe, konnten sich aber nie berühren, da sie sonst ihre Auslöschung riskierten. Aus diesem explosiven Konflikt heraus, bildete sich alle Materie. Die Planeten, Monde und alle Sterne am Himmel. Und durch ihre überwältigende Liebe, erschufen sie das Leben. Sein Atem füllt unsere Lungen. Ihr Blut fließt durch unsere Adern. Aufgrund ihrer gewaltigen Kräfte wurde unsere Welt geboren. Lesen ist für Dummköpfe."
+
+msgid "MAP160_NPC_1"
+msgstr "In diesem Teil der Region sind die Menschen sehr religiös. Sei bitte gegenüber anderen Glauben tolerant."
+
+msgid "MAP161_SIGN_1"
+msgstr "Es ist keine gute Idee von einer netten alten Dame zu stehlen."
+
+msgid "MAP161_SIGN_2"
+msgstr "Auf dem Laptop ist eine Sammlung verschwommener Bilder von merkwürdigen Formen und Lichtern im Himmel zu sehen."
+
+msgid "MAP162_TRAINER_1"
+msgstr "Hehehe! Diese Puzzle müssen ziemlich verwirrend für dich sein! Nein?"
+
+msgid "MAP162_TRAINER_1_DEFEAT"
+msgstr "Autsch!"
+
+msgid "MAP162_TRAINER_2"
+msgstr "Mein Geist zeigte mir dein Versagen beim Versuch mich zu besiegen!"
+
+msgid "MAP162_TRAINER_2_DEFEAT"
+msgstr "Viel Glück auf deiner jämmerlichen Reise."
+
+msgid "MAP162_TRAINER_3"
+msgstr "Zu guter letzt... habe ich... Leben erschaffen!"
+
+msgid "MAP162_TRAINER_3_DEFEAT"
+msgstr "Du hast mein Reagenzglas zerbrochen!"
+
+msgid "MAP165_NPC_1"
+msgstr "Bist du mit dem Schiff hergekommen? Das bin ich auch. Diese ganze Stille macht mein Pokémon hibbelig. Ich werde einfach den Arenaleiter besiegen und wieder abhauen."
+
+msgid "MAP165_NPC_2"
+msgstr "Ich bin auf dem Beobachtungsposten. Die gesamte Region steht in Alarmbereitschaft. *seufz* Ich wünschte, ich müsste das nicht tun... Ranger können Pokémon nicht fangen und trainieren, aber die meisten von uns behalten sich ein Pokémon als Gefährten vor."
+
+msgid "MAP166_NPC_1"
+msgstr "Alles was dieser Supermarkt anbietet ist Pokémon-Zeugs! Ich will doch nur ein Sandwich! Ist das zuviel verlangt? Mach mir ein Sandwich."
+
+msgid "MAP167_NPC_1"
+msgstr "Sheldon: Ich...\nIch habe immer gesagt, dass ich es lieber hätte, wenn Vinoville von der Bildfläche verschwinden würde.... aber ich habe es nicht wortwörtlich gemeint!\nWas ist los?"
+
+msgid "MAP167_NPC_10"
+msgstr "Papa: Woah, zum Glück haben wir es noch rechtzeitig geschafft! PN, ich sollte dir wohl erzählen, was hier los ist, nach all der Aufregung. Papa: Das nordwestliche Atomkraftwerk erlitt eine Kernschmelze. Wir sind nicht sicher, was sie ausgelöst haben könnte, aber wir vermuten, dass es sich dabei nicht um einen Unfall gehandelt hat. Vinoville wurde komplett evakuiert und glücklicherweise ist dort niemand gestorben. Allerdings sind wir uns nicht sicher, wie es den wilden Pokémon dort geht... Trotzdem wird die Stadt verriegelt, bis es von der Strahlung bereinigt ist. Papa: Jetzt befinden wir uns in Legenstadt, was relativ nah bei Vinoville ist, aber hier ist es zumindest sicher... Dad: Wie ich sehe, hast du Sheldon als geschlagen, hmm? Gut gemacht, nur noch zwei Orden und du kannst dich bei der West-Liga registrieren lassen! Du solltest vielleicht auch nach Amabaumstadt gehen, dort befindet sich eine Arena. Wenn du mit der U-Bahn nach Burole fährst, solltest du am schnellsten dorthin gelangen! Papa: Wir sehen uns, PN!"
+
+msgid "MAP167_NPC_11"
+msgstr "Ich habe Hunger... wann bringen sie uns Essen?"
+
+msgid "MAP167_NPC_12"
+msgstr "Ich konnte die Vinoville-Arena nicht schlagen... aber ich schätze, es gibt gerade wichtigere Dinge, als Pokémon-Training."
+
+msgid "MAP167_NPC_13"
+msgstr "Das ist eine Katastrophe... Meine gesamte Ernte ist ruiniert..."
+
+msgid "MAP167_NPC_14"
+msgstr "Ugh, meine Stimme ist ganz kratzig. Das kommt aber nicht davon, dass ich kontaminierte Luft geatmet habe, oder?"
+
+msgid "MAP167_NPC_15"
+msgstr "Der Atomschutzbunker in Legen wurde kurz nach der Errichtung der Kernkraftwerke in Tandor gebaut. Wir haben natürlich gehofft, dass so etwas nie passieren würde, aber man muss eben auf das Schlimmste gefasst sein. Die Wahrscheinlichkeit, dass sowohl die Sonnenstrand- und Vinoville-Atomkraftwerke eine Kernschmelze erleiden würden, ist unerhört niedrig... jedenfalls solange es dafür nicht einen tieferen Grund gibt."
+
+msgid "MAP167_NPC_16"
+msgstr "Wenn man mit einer solchen Katastrophe konfrontiert wird, kann unsere Sprache das wahre Ausmaß der Geschehnisse kaum in Worte fassen. Wir denken am Besten gar nicht erst daran, und so gelingt es uns, nicht durchzudrehen. Überall auf der Welt gibt es Leid. Jedoch macht der Schmerz von anderen unsere missliche Lage nicht besser."
+
+msgid "MAP167_NPC_17"
+msgstr "Die Regional-Meisterschaften von Tandor sind weltweit bekannt dafür, eine der schwierigsten Herausforderungen für Trainer zu sein. Jeder, der sie meistert, ist vorübergehend berühmt. Der Champion von letztem Jahr war ein Mädchen namens Maria. Ich glaube, sie hat jetzt eine Arena."
+
+msgid "MAP167_NPC_18"
+msgstr "Theo: ...\n... Ich kann's nicht glauben... ...Papa..."
+
+msgid "MAP167_NPC_19"
+msgstr "Ja! Du wirst es nicht glauben! Es ist eine neue Erfindung!\nSie ist äußerst grandios! Sag mir, ob es funktioniert! Das ist ein Krafthandschuh!\nDamit bewegst du massive Felsbrocken, als wären sie Luft! Das ist die Magie der Technologie!\nNun geh! Schiebe Felsbrocken für die ganze Welt! Nun geh weg, ich bin beschäftigt. Aber bald! Bald werde ich mehr Geräte für dich haben! Geh weg, ich bin beschäftigt. Aber bald! Bald werde ich mehr Geräte für dich haben!"
+
+msgid "MAP167_NPC_2"
+msgstr "Theo: *schnüff*\nA-.alle behandeln mich immer wie ein Kind. Papa würde das n-.nicht tun. Papa g-.glaubt an mich... *schluchz* Ripley: Na, na.... shhh, ist schon okay. Er steht unter Schock. Er braucht gerade jemanden. Ist schon okay. Ich kümmere mich um ihn. Geh und hilf den Rangern, sie brauchen dich."
+
+msgid "MAP167_NPC_20"
+msgstr "Willkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Kenichi und ich bin ein Ninja aus Tsukinami und biete spezielles Training in der rVerteidigung an. Hast du Interesse? Oh... Mein Großvater will, dass ich zum Dojo zurückkehre? Ok! Bitte akzeptiere dieses Geschenk als Zeichen meiner Wertschätzung für deine Mühe. Wir sehen uns! NINJA HINFORT! Du hast keinen Platz für das Item, bitte sprich wieder mit mir, wenn du Platz geschaffen hast. GWillkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Kenichi und ich bin ein Ninja aus Tsukinami und biete spezielles Training in der rVerteidigung an. Hast du Interesse? Welches Pokémon soll trainiert werden? Komm wieder, wenn du richtig durchtrainiert werden willst! Dein hat seine FP um erhöht! Komm wieder, wenn du deine Pokémon stärker machen willst! Ich fürchte, du hast nicht genug Geld, um deine Pokémon zu trainieren. Komm wieder, wenn du deine Pokémon stärker machen willst! Ohhh yeah!\nAlso, weißt du, was Fleiß-Punkte sind? Natürlich tust du das! Du kannst sie auf dem Statusbildschirm deines Pokémon nachgucken! Fleiß-Punkte entsprechen einem bestimmten Statuswert. Es gibt sechs Arten: KP, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung, und Initiative. Pokémon können ihre FP erhöhen, indem sie bestimmte Typen von Pokémon im Kampf besiegen. Wenn man zum Beispiel viele defensiv starke Gegner besiegt, erhöht sich dadurch auch der Verteidigungs-Wert deines Pokémon. Hier im Trainingszelt bieten wir eine Abkürzung an, um dieses Training noch weiter zu vereinfachen! Drücke A, wenn der Anzeiger auf dem grünen Teil des Balkens landet, um den Boxsack zu vermöbeln! Es macht auch echt Spaß und macht dein Pokémon MEGA STARK! Also, bist du bereit?"
+
+msgid "MAP167_NPC_21"
+msgstr "Dies ist die Ranger-Station von Legenstadt und das Safe House. Gerade sind all unsere Ranger mit der Evakuierung des Vinoville-Gebietes beschäftigt. Wenn du {ein starker Trainer|eine starke Trainerin|stark} bist, hilf uns bitte im Kampf gegen die Nuklear-Pokémon auf Route 11!"
+
+msgid "MAP167_NPC_3"
+msgstr "Ich mache mir darüber Sorgen, wie sich das auf unser Ökosystem auswirkt... Strahlung verwandelt Pokémon, wenn sie sie berührt, oder?"
+
+msgid "MAP167_NPC_4"
+msgstr "Meine Beeren...\nIch habe das ganze Jahr welche angebaut. Was essen wir denn jetzt?"
+
+msgid "MAP167_NPC_5"
+msgstr "Vinoville...\nWir haben dort seit unserer Kindheit gelebt, hab ich nicht Recht? Ja, genauso wie unsere Eltern.\nWo sollen wir denn jetzt nur hin...?"
+
+msgid "MAP167_NPC_6"
+msgstr "Alter Mann: Vinoville... Wir haben dort seit unserer Kindheit gelebt, hab ich nicht Recht? Alte Frau: Ja, genauso wie unsere Eltern. Wo sollen wir denn jetzt nur hin...?"
+
+msgid "MAP167_NPC_7"
+msgstr "Das ist gar nicht cool..."
+
+msgid "MAP167_NPC_8"
+msgstr "Wäääääääääääh!\nWääääääääääääääääh! Mamaaaaa!"
+
+msgid "MAP167_NPC_9"
+msgstr "Shh, Liebling, shhhh.\nEs wird alles wieder gut. ...Denke ich."
+
+msgid "MAP170_NPC_1"
+msgstr "Amabaum ist mit dem Internet nicht verbunden, also hat dieses Rasthaus auch keinen PC... ...Verflixt! Darauf befindet sich mein stärkstes Pokémon!"
+
+msgid "MAP170_NPC_2"
+msgstr "Kein PC und kein Supermarkt... Verdammt! Ich bin erledigt! Ich schätze, ich muss mich auf die natürliche Begabung meiner Pokémon verlassen um das durchzustehen..."
+
+msgid "MAP171_NPC_1"
+msgstr "Vor vielen Jahren, bevor wir von anderen Regionen wussten, gab es viele Stämme von Einheimischen, die im Baykal lebten, der auch einen Großteil der Region bedeckte."
+
+msgid "MAP171_NPC_2"
+msgstr "Wusstest du, dass die antiken Völker dachten, das Pokémon Quetzalith sei legendär? Nun, es sieht schon ganz schön eindrucksvoll aus, wie es so durch die Bäume gleitet..."
+
+msgid "MAP171_NPC_3"
+msgstr "Sieh nur, was ich im Wald gefunden hab'! Im Wald zu leben kann angsteinflößend sein, aber zumindest kann man auf dem Boden coole Sachen finden."
+
+msgid "MAP171_NPC_4"
+msgstr "Lass mich dir von der Ameisenhölle erzählen. Nein, der Name stimmt schon so. Und den verdient dieser Ort auch. Interessiert? Die Ameisenhölle ist ein kolossales Netzwerk von Tunneln, die von Käfer-Pokémon gegraben wurden. Sie wird vor allem von Amauch, Poriflo und Amaja bewohnt, aber auf tieferen Ebenen kannst du auf ihre entwickelten Formen treffen, Amafera, Schakade und Heleksekt. Und im tiefsten Inneren, so sagt man, lebt ihre Königin, die Seikamater. Ihr wird nachgesagt, sie sei die Mutter aller Amauch, Floswarm und Amaja in Tandor -- nicht, dass das jeder wirklich glaubt, aber so lautet die Legende. Die Käfer sind gefräßig. Der Baykal wächst schnell und die\nKäfer-Pokémon schnippeln ihn genauso schnell weg.\nAllerdings wird ihr Hunger dadurch nicht immer gestillt. ...\nDer nächste Teil ist ein bisschen beängstigend für ein Kind wie dich. Willst du trotzdem weiter zuhören? Hin und wieder verschwindet auch ein Mensch in der Ameisenhölle. Das ist letztlich auch der Kreislauf des Lebens. Je früher wir alle erkennen, dass wir den Wald niemals übermannen können, desto besser. Trotzdem ist das auch der Grund, warum wir jedem empfehlen mindestens ein Pokémon in den Wald mitzunehmen. Die Gefahren des Waldes sind nur allzu real. Selbst schwache Pokémon können in Scharen von Hundert überwältigend sein und Schutz wirkt nicht immer. Ich hoffe, ich habe dich ausreichend gewarnt. Also gut. Aber falls du es doch wissen willst, werde ich hier sein. Also gut. Aber falls du es doch wissen willst, werde ich hier sein."
+
+msgid "MAP171_NPC_5"
+msgstr "Papa redet immer wiede rüber die Ameisenhölle. Einmal wurde er sogar fast entführt! Hat er dir das schon erzählt?"
+
+msgid "MAP171_NPC_6"
+msgstr "Diese Menschen hier in Amabaum werden kein Geld von dir nehmen! Sie interessieren sich nur für Beeren, die hier an speziellen Bäumen im Baykal-Wald wachsen."
+
+msgid "MAP171_NPC_7"
+msgstr "Hallo! Wir kriegen manchmal Lieferungen von Heilitems vom Hauptland. Ich tausche sie in großen Mengen für Beeren. Möchtest du tauschen? Komm bald wieder vorbei!"
+
+msgid "MAP171_NPC_8"
+msgstr "Hallihallo! Ich tausche seltene Items gegen Beeren ein. Möchtest du gern tauschen? Komm bald wieder vorbei!"
+
+msgid "MAP171_NPC_9"
+msgstr "Hallihallo! Ich habe viele seltene Pokémon, die wir hier in Baykal gefangen haben! Ich tausche sie für Beeren ein. Möchtest du gerne tauschen? Komm bald wieder vorbei!"
+
+msgid "MAP172_NPC_1"
+msgstr "Hallo, PN.\nHeute ist der Tag, an dem du und Theo euer erstes Pokémon erhaltet, nicht wahr? Theo war auf jeden Fall aufgeregt.\nIch kann mir vorstellen, dass es bei dir nicht anders ist.\nAhh, ich erinnere mich noch gut an diesen Tag, nach all den Jahren... Ja, auch ich war einmal ein Pokémon-Trainer, genauso wie du. Nun befinde ich mich natürlich im Ruhestand, aber noch immer erinnere ich mich daran, wie's war.\nEs ist wahrhaftig ein verheißungsvoller Tag.\n...Wenn du nach Theo suchst,. ich fürchte, er ist nicht hier.\nEr ist bereits zum Pokémon-Labor im Norden der Stadt aufgebrochen. Er ist.... nicht gerade geduldig, also solltest du dich eventuell beeilen und dich ihm anschließen."
+
+msgid "MAP173_NPC_1"
+msgstr "Willkommen{, Trainer!|, Trainerin!|!} Mein Name ist Daichi, und ich bin ein Ninja aus dem Tsukinami Dorf und ich biete ein spezielles Training in rSpezial-Angriff an. Bist du daran interessiert? Oh... Mein Großvater möchte, dass ich zum Dojo zurückkehre? Ok! Bitte nimm dieses Geschenk als Anerkennung für deine Mühen an. Bis bald! NINJA HINFORT! Du hast keinen Platz für das Item, bitte sprich wieder mit mir, wenn du Platz geschaffen hast. GWillkommen{, Trainer!|, Trainerin!|!} Mein Name ist Daichi, und ich bin ein Ninja aus dem Tsukinami Dorf und ich biete ein spezielles Training in rVerteidigung an. Bist du daran interessiert? Welches Pokémon soll trainiert werden? Komm wieder, wenn du richtig durchtrainiert werden willst! Dein hat seine FP um erhöht! Komm wieder, wenn du deine Pokémon stärker machen willst! Ich fürchte, du hast nicht genug Geld, um deine Pokémon zu trainieren. Komm wieder, wenn du deine Pokémon stärker machen willst! Ohhh yeah!\nAlso, weißt du, was Fleiß-Punkte sind? Natürlich tust du das! Du kannst sie auf dem Statusbildschirm deines Pokémon nachgucken! Fleiß-Punkte entsprechen einem bestimmten Statuswert. Es gibt sechs Arten: KP, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung, und Initiative. Pokémon können ihre FP erhöhen, indem sie bestimmte Typen von Pokémon im Kampf besiegen. Wenn man zum Beispiel viele defensiv starke Gegner besiegt, erhöht sich dadurch auch der Verteidigungs-Wert deines Pokémon. Hier im Trainingszelt bieten wir eine Abkürzung an, um dieses Training noch weiter zu vereinfachen! Drücke A, wenn der Anzeiger auf dem grünen Teil des Balkens landet, um den Boxsack zu vermöbeln! Es macht auch echt Spaß und macht dein Pokémon MEGA STARK! Also, bist du bereit?"
+
+msgid "MAP174_NPC_1"
+msgstr "Vor vielen Jahren, als uns andere Regionen noch gänzlich unbekannt waren, gab es viele Stämme von Einheimischen, die im Baykal lebten, welcher die Region größtenteils bedeckte."
+
+msgid "MAP174_NPC_10"
+msgstr "Früher war es so, dass niemand die Clans über die Herrschaft des Ozeans herausfordern konnte. Sicher, es war eine Zeit der gewaltsamen Kriegstreiberei. Aber es wurde auch dafür gesorgt, dass Händler einen sicheren Reiseweg hatten. Jetzt, da die Clans weg sind, gibt es hier überall Piraten."
+
+msgid "MAP174_NPC_11"
+msgstr "Was denkst du, ist mit den Menschen passiert, die im Baykal-Regenwald lebten? Glaubst du, sie sind einfach... verschwunden?"
+
+msgid "MAP174_NPC_12"
+msgstr "Mann... ich hätte so gern ein Yatagaryu! Wo kann ich mir eins fangen?"
+
+msgid "MAP174_NPC_13"
+msgstr "...Du willst wissen, wie man Aotius und Mutios fängt? Hahaha! Hör mal, hast du schon von den Pokémon Ho-oh und Lugia gehört? Latias und Latios? Xerneas und Yveltal? Reshiram und Zekrom? Sie sind alle Erscheinungen der zwei großen Geister. Glaubst du mir nicht? Frag die Arenaleiter Hinata und Kaito. Sie sind schließlich die sterblichen Avatare der Götter..."
+
+msgid "MAP174_NPC_14"
+msgstr "... Sanftmütig, schützend, und doch so kraftvoll... Das perfekte Pokémon..."
+
+msgid "MAP174_NPC_15"
+msgstr "H-hey! Was guckst'n so{, Kumpel?|?|?} Ich mach' hier keenen Quatsch, hasse verstanden? Guck mir einfach nur diese großen Statuen an... Uff keenen Fall sammel ich hier irgendwelche Beweise für'n Käpt'n. Nee, du."
+
+msgid "MAP174_NPC_16"
+msgstr "Yoshitaka: Um meine Schüler davon zu überzeugen, zurückzukehren, wirst du dich ihnen im Kampf als würdig erweisen müssen. Jeder von ihnen ist auf eine der sechs Künste spezialisiert: Ausdauer, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung und Initiative. Mir wurde zugetragen, dass sie in ganz Tandor zu finden sind. Also, du hast noch keinen der Meister davon überzeugen können, zurückzukehren. Ich verstehe das. Die Gefahr ist immer noch fern... Ich werde meine Fähigkeiten verbessern, während ich auf ihre Rückkehr warte."
+
+msgid "MAP174_NPC_17"
+msgstr "Danke, dass du mich wieder zurückgerufen hast! Ich kann dein Pokémon wieder trainieren, sobald meine Brüder zurück sind."
+
+msgid "MAP174_NPC_18"
+msgstr "Danke, dass du mich wieder zurückgerufen hast! Ich kann dein Pokémon wieder trainieren, sobald meine Brüder zurück sind."
+
+msgid "MAP174_NPC_19"
+msgstr "Danke, dass du mich wieder zurückgerufen hast! Ich kann dein Pokémon wieder trainieren, sobald meine Brüder zurück sind."
+
+msgid "MAP174_NPC_2"
+msgstr "Wusstest du, dass die Menschen aus der Antike dachten Quetzalith sei ein legendäres Pokémon? Naja, ich muss zugeben es sieht sehr beeindruckend aus, wie es durch die Bäume gleitet..."
+
+msgid "MAP174_NPC_20"
+msgstr "Danke, dass du mich wieder zurückgerufen hast! Ich kann dein Pokémon wieder trainieren, sobald meine Brüder zurück sind."
+
+msgid "MAP174_NPC_21"
+msgstr "Danke, dass du mich wieder zurückgerufen hast! Ich kann dein Pokémon wieder trainieren, sobald meine Brüder zurück sind."
+
+msgid "MAP174_NPC_3"
+msgstr "Im Wald zu leben kann angsteinflößend sein, aber zumindest kann man auf dem Boden coole Sachen finden."
+
+msgid "MAP174_NPC_4"
+msgstr "Lass mich dir von der Ameisenhölle erzählen. Nein, der Name stimmt schon so. Und den verdient dieser Ort auch. Interessiert? Die Ameisenhölle ist ein kolossales Netzwerk von Tunneln, die von Käfer-Pokémon gegraben wurden. Sie wird vor allem von Amauch, Poriflo und Amaja bewohnt, aber auf tieferen Ebenen kannst du auf ihre entwickelten Formen treffen, Amafera, Schakade und Heleksekt. Und im tiefsten Inneren, so sagt man, lebt ihre Königin, Die Seikamater.\nIhr wird nachgesagt, sie sei die Mutter aller Amauch, Floswarm und Amaja in Tandor-- nicht, dass das jeder wirklich glaubt, aber so lautet die Legende. Die Käfer sind gefräßig. Der Baykal wächst schnell und die Käfer-Pokémon schnippeln ihn genauso schnell weg. Allerdings wird ihr Hunger dadurch nicht immer gestillt. ...\nDer nächste Teil ist ein bisschen beängstigend für ein Kind wie dich. Willst du trotzdem weiter zuhören? Hin und wieder verschwindet auch ein Mensch in der Ameisenhölle. Das ist letztlich auch der Kreislauf des Lebens. Je früher wir alle erkennen, dass wir den Wald niemals übermannen können, desto besser. Trotzdem ist das auch der Grund, warum wir jedem empfehlen mindestens ein Pokémon in den Wald mitzunehmen. Am besten Feuer-Typen. Die Gefahren des Waldes sind nur allzu real, nimm dich vor der Ameisenhölle in Acht. Selbst schwache Pokémon können in Scharen von Hundert überwältigend sein und Schutz wirkt nicht immer. Ich hoffe, ich habe dich ausreichend gewarnt. Also gut. Aber falls du es doch wissen willst, werde ich hier sein. Also gut. Aber falls du es doch wissen willst, werde ich hier sein."
+
+msgid "MAP174_NPC_5"
+msgstr "Papa redet immer wieder über die Ameisenhölle. Einmal wurde er sogar fast entführt! Hat er dir das schon erzählt?"
+
+msgid "MAP174_NPC_6"
+msgstr "Bitte fass die Ausstellungsobjekte nicht an. Viele von ihnen sind unbezahlbare Antiquitäten."
+
+msgid "MAP174_NPC_7"
+msgstr "Nachdem unsere Clans zusammen kamen, bauten wir dieses Museum, um unserer Kultur zu gedenken. Und dann haben wir es um andere Kulturen in Tandor erweitert!"
+
+msgid "MAP174_NPC_8"
+msgstr "Unter den alten Königen war es nur dem Adel erlaubt Pokémon zu halten. Jeder Bauer der erwischt wurde wie er Pokémon trainierte, wurde ins Gefängnis geworfen oder zum Tode verurteilt. Ich kann mir gar nicht vorstellen, wie das Leben ohne Pokémon wäre..."
+
+msgid "MAP174_NPC_9"
+msgstr "Ich kann nicht fassen, dass das Venesi-Theater über 200 Jahre alt ist! Dann ist es ja auch kein Wunder, dass sie solch traditionelle Ansichten haben... Dennoch ist es schön zu sehen, dass die moderne Generation neue Innovationen auf den Tisch bringt."
+
+msgid "MAP174_SIGN_1"
+msgstr "Baitatao: \"Die Kochende Wut\" Diese mächtige Seeschlange ist vermutlich die bekannteste der drei legendären Meeres-Kreaturen. Dies liegt eines berühmten Schiffsunglücks zugrunde, das sich vor 45 Jahren ereignete. Ein Frachter wurde vermisst und ist einige Wochen später mit einem halb geschmolzenen Rumpf wieder aufgetaucht. Nicht eine einzige Seele war noch an Bord. Viele glaubten, dies sei ein Zeichen dafür, dass Baitatao aus seinem Winterschlaf erwacht war. Seitdem konnte es allerdings kein Wissenschaftler ausfindig machen."
+
+msgid "MAP174_SIGN_10"
+msgstr "Aotius & Mutios - Die Götter aus Tandor - Aotius und Mutios werden auf mehreren Arten in Tandor verehrt. Manche sagen, sie seien Pokémon, andere sagen sie seien Geister ohne Form. Es gibt Berichte, dass sie sich Körper nahmen um Kraft und Visionen zu gewähren."
+
+msgid "MAP174_SIGN_11"
+msgstr "Auf dieser Schriftrolle ist ein unbekanntes legendäres Pokémon abgebildet, irgendeine Art Vogel..."
+
+msgid "MAP174_SIGN_12"
+msgstr "Auf dieser Schriftrolle ist ein unbekanntes legendäres Pokémon abgebildet, irgendeine Art Vogel..."
+
+msgid "MAP174_SIGN_13"
+msgstr "Modell eines Langschiffs der Nami. Um die Meere und Inseln in der Region zu kontrollieren, benötigten die Clane eine starke Flotte. Die Schiffe waren mit Spitzentechnologie und Waffen ausgestattet. Alle horteten Armeen von Kampfpokémon für einen Krieg auf dem Ozean."
+
+msgid "MAP174_SIGN_14"
+msgstr "Modell eines Langschiffs der Nami. Um die Meere und Inseln in der Region zu kontrollieren, benötigten die Clane eine starke Flotte. Die Schiffe waren mit Spitzentechnologie und Waffen ausgestattet. Alle horteten Armeen von Kampfpokémon für einen Krieg auf dem Ozean."
+
+msgid "MAP174_SIGN_15"
+msgstr "Modell eines Langschiffs der Nami. Um die Meere und Inseln in der Region zu kontrollieren, benötigten die Clane eine starke Flotte. Die Schiffe waren mit Spitzentechnologie und Waffen ausgestattet. Alle horteten Armeen von Kampfpokémon für einen Krieg auf dem Ozean."
+
+msgid "MAP174_SIGN_16"
+msgstr "Traditionelle Waffen, die im Krieg zwischen den Ninja-Clans benutzt wurden. Dieser Speer wurde aus dem Schweif eines Metaluks angefertigt. Es wird vermutet, dass die Wilderei für die Anfertigung von Waffen und Rüstung der Grund ist, warum Metaluks in Tandor heute so selten sind."
+
+msgid "MAP174_SIGN_17"
+msgstr "Eine 200 Jahre alte Karte von Tandor. Tandor wurde von einem Lehnswesen begleitet das von ständigen territorialen Kämpfen zwischen den Tsuki und den Nami geprägt war. Tsuki regierte über einen Großteil des Festlandes von West-Tandor, während Nami die Inseln und den Osten kontrollierte. Die Oberhäupter dieser Clans verlangten nach Steuern von den Leuten, die unter ihrer Herrschaft standen. Zudem waren diese Herrscher auch bekannt dafür, Mäzen der Künste zu sein. Damit begann auch die Tradition des Theaters in dem Ort, der heute als Venesi bekannt ist."
+
+msgid "MAP174_SIGN_18"
+msgstr "Leporitera: Das Erdbeben Pokémon. Dieses Pokémon verbreitete Angst und Schrecken unter den früheren Tendorianern, indem es Erdbeben mit seinen massiven Schweifen auslöste. Unter den Einheimischen wurde es \"Das Biest mit den 1000 Hörnern\" genannt."
+
+msgid "MAP174_SIGN_19"
+msgstr "Leporitera: Das Erdbeben Pokémon. Dieses Pokémon verbreitete Angst und Schrecken unter den früheren Tendorianern, indem es Erdbeben mit seinen massiven Schweifen auslöste. Unter den Einheimischen wurde es \"Das Biest mit den 1000 Hörnern\" genannt."
+
+msgid "MAP174_SIGN_2"
+msgstr "Baitatao: \"Die Kochende Wut\" Diese mächtige Seeschlange ist vermutlich die bekannteste der drei legendären Meeres-Kreaturen. Dies liegt eines berühmten Schiffsunglücks zugrunde, das sich vor 45 Jahren ereignete. Ein Frachter wurde vermisst und ist einige Wochen später mit einem halb geschmolzenen Rumpf wieder aufgetaucht. Nicht eine einzige Seele war noch an Bord. Viele glaubten, dies sei ein Zeichen dafür, dass Baitatao aus seinem Winterschlaf erwacht war. Seitdem konnte es allerdings kein Wissenschaftler ausfindig machen."
+
+msgid "MAP174_SIGN_20"
+msgstr "Yatagaryu: Das Sturmbringer-Pokémon Dieses seltene Pokémon ist den Ninja-Clans heilig. Es kann nach Belieben Stürme heraufbeschwören. Oft wird abgebildet, wie es mit Coalith kämpft."
+
+msgid "MAP174_SIGN_21"
+msgstr "Yatagaryu: Das Sturmbringer-Pokémon Dieses seltene Pokémon ist den Ninja-Clans heilig. Es kann nach Belieben Stürme heraufbeschwören. Oft wird abgebildet, wie es mit Coalith kämpft."
+
+msgid "MAP174_SIGN_22"
+msgstr "Steingravuren von einheimischen Stämmen in Baykal Über die einheimischen Gruppen, die im Baykal-Regenwald lebten, ist nicht viel bekannt. Sie sind 300 Jahre älter als die Tsuki- und Nami-Kultur. Allerdings sind sie vor circa 400 Jahren aus unbekannten Gründen aus der Region verschwunden. Alles was wir von ihnen wissen, haben wir von den Artefakten und Ruinen gelernt, die sie zurückließen."
+
+msgid "MAP174_SIGN_23"
+msgstr "Pfeilspitzen, die an der Baykal-Grabungsstätte gefunden wurden. Beweise sprechen dafür, dass die einheimischen Gruppen des Baykals für ihre Nahrung gejagt und geplündert haben. Sie lebten in aus Holz und getrockneten Palmenblättern gefertigten Hütten. Allerdings bauten sie auch große Steintempel. Gravuren innerhalb der Tempel deuten darauf hin, dass es eine andere Verteilung der Pokémon-Spezies gab, zu der Zeit, in der sie die Region besiedelten."
+
+msgid "MAP174_SIGN_24"
+msgstr "Traditionelle Kriegshelme der Tsuki und Nami. Die Helme wurden so gestaltet, dass sie Pokémon wie Chupador ähneln. Sie wurden im Kampf benutzt, um den Trägern einen einschüchternden Eindruck zu verpassen."
+
+msgid "MAP174_SIGN_3"
+msgstr "Leviathao: \"Der gefrorene Speer\" Das zweite der drei legendären Seekreaturen hatte ein scharfes und tödliches Horn aus Eis auf seinem Kopf. Es gibt Berichte, dass es einst für eine gewisse Zeit im Besitz der Tsuki war. Nachdem sie die Kontrolle verloren, fiel kurz darauf das Imperium. Es wird erzählt, dass es immer noch in einer vereisten Höhle auf dem Meeresgrund überwintert."
+
+msgid "MAP174_SIGN_4"
+msgstr "Leviathao: \"Der gefrorene Speer\" Das zweite der drei legendären Seekreaturen hatte ein scharfes und tödliches Horn aus Eis auf seinem Kopf. Es gibt Berichte, dass es einst für eine gewisse Zeit im Besitz der Tsuki war. Nachdem sie die Kontrolle verloren, fiel kurz darauf das Imperium. Es wird erzählt, dass es immer noch in einer vereisten Höhle auf dem Meeresgrund überwintert."
+
+msgid "MAP174_SIGN_5"
+msgstr "Krakanao: \"Der Rachsüchtige Mahlstrom\" Die dritte und gefürchtetste der Meeres-Legenden, Krakanao nutzte ihre vielen Arme, um Menschen in ihr wässriges Verderben zu ziehen. Es taucht in Kindergeschichten und -liedern auf. Es wurde vom Nami-Clan kontrolliert und konnte einen Strudel erzeugen, der groß genug war, um ein Kriegsschiff zu versenken. Berichten zufolge wurde es im Kampf erlegt, aber es gibt Gerüchte darüber, dass es vor kurzem gesehen wurde."
+
+msgid "MAP174_SIGN_6"
+msgstr "Krakanao: \"Der Rachsüchtige Mahlstrom\" Die dritte und gefürchtetste der Meeres-Legenden, Krakanao nutzte ihre vielen Arme, um Menschen in ihr wässriges Verderben zu ziehen. Es taucht in Kindergeschichten und -liedern auf. Es wurde vom Nami-Clan kontrolliert und konnte einen Strudel erzeugen, der groß genug war, um ein Kriegsschiff zu versenken. Berichten zufolge wurde es im Kampf erlegt, aber es gibt Gerüchte darüber, dass es vor kurzem gesehen wurde."
+
+msgid "MAP174_SIGN_7"
+msgstr "Aotius & Mutios - Die Götter aus Tandor - Aotius und Mutios werden auf mehreren Arten in Tandor verehrt. Manche sagen, sie seien Pokémon, andere sagen sie seien Geister ohne Form. Es gibt Berichte, dass sie sich Körper nahmen um Kraft und Visionen zu gewähren."
+
+msgid "MAP174_SIGN_8"
+msgstr "Aotius & Mutios - Die Götter aus Tandor - Aotius und Mutios werden auf mehreren Arten in Tandor verehrt. Manche sagen, sie seien Pokémon, andere sagen sie seien Geister ohne Form. Es gibt Berichte, dass sie sich Körper nahmen um Kraft und Visionen zu gewähren."
+
+msgid "MAP174_SIGN_9"
+msgstr "Aotius & Mutios - Die Götter aus Tandor - Aotius und Mutios werden auf mehreren Arten in Tandor verehrt. Manche sagen, sie seien Pokémon, andere sagen sie seien Geister ohne Form. Es gibt Berichte, dass sie sich Körper nahmen um Kraft und Visionen zu gewähren."
+
+msgid "MAP175_NPC_1"
+msgstr "Hey! Gibts denn sowas? Du hast es endlich hierher geschafft! Dies ist die 8. und letzte Arena in Tandor. Dieses Gebäude ist ein Schrein für die Götter Aotius and Mutios. Und die Arenaleiter sind der Prinz und die Prinzessin des Ninja-Klans! Und nicht nur das, man sagt, sie seien die sterbliche Stimme der Götter selbst! Um sie zu erreichen, musst du ein Rätsel lösen. Denk dran, Aotius und Mutios verkörpern Balance! ...Keine Panik, okay? Du schaffst das! Ich glaube an dich!"
+
+msgid "MAP175_SIGN_1"
+msgstr "AOTIUS\nGOTT DES HELLEN HIMMELS"
+
+msgid "MAP175_SIGN_2"
+msgstr "MUTIOS\nGÖTTIN DES DUNKLEN MEERES"
+
+msgid "MAP175_TRAINER_1"
+msgstr "So, du hast dich entschieden dich der aufsteigenden Sonne zu stellen. Du bist mutig. Meine Pokémon sind im Sonnenlicht am stärksten. Vorsicht, schau sie nicht direkt an oder du wirst geblendet. Bereite dich vor von der Kraft von Aotius getestet zu werden! Du hast über mich triumphiert. Aber wie die Nacht auf den Tag folgt, so musst du dich auch gegen meinen Ehemann beweisen. Es ist Zeit dich der finsteren Angst der Nacht zu stellen. Ich benutze Pokémon die sich in Schatten verstecken und darauf warten ihre Gegner nichtsahnend anzugreifen. Wir verkörpern die Essenz der Ninjas! Mit Mutios' Klugheit, werden wir dich testen! Gratulation. Ich muss zugeben, ich bin beeindruckt. Du hast den Segen von Aotius und Mutios. Seine mächtige Kraft und ihre heitere Klarheit werden dich führen. Als ein Zeichen ihrer Liebe, hast du dir diesen Orden verdient. PN erhält den Zen-Orden! Aufgrund ihres Segens werder dir alle Pokémon gehorchen, sogar wenn du sie tauschst. Du hast dir auch diese TM verdient. Solarstrahl ist eine kraftvolle Attacke bei welcher Sonnenenergie absorbiert wird um deine Gegner zu überwinden. Gebrauche sie weise und sie wird dir von ausserordentlicher Hilfe auf deiner Reise sein. Und auch diese, immerhin hast du uns beide besiegt: Mit dieser Attacke bist du fähig die Wut deines Gegners gegen ihn zu benutzen. Bei weisem Gebrauch sollten sich während eines Kampfes Gelegenheiten für dich eröffnen."
+
+msgid "MAP175_TRAINER_1_DEFEAT"
+msgstr "Du hast direkt in die Sonne gesehen ohne zu blinzeln."
+
+msgid "MAP175_TRAINER_2"
+msgstr "Also hast du entschieden dich der dunklen Angst der Nacht zu stellen. Sehr mutig. Ich nutze Pokémon die sich in den Schatten verstecken und darauf warten anzugreifen wenn es ihre Gegner am wenigsten erwarten. Wir verkörpern die Essenz der Ninja! Mit all der Weißheit von Mutios testen wir dich! Du hast es tatsächlich geschafft mein Team zu besiegen. Aber so wie der Tag auf die Nacht folgt musst du dich auch gegen meine Frau beweisen! Es wird Zeit dich der aufgehenden Sonne zu stellen. Meine Pokémon sind am stärksten im Sonnenlicht. Versuch sie nicht direkt anzusehen, damit du nicht geblendet wirst. Bereite dich vor um von der Kraft von Aotius getestet zu werden! Gratulation. Ich muss zugeben, ich bin beeindruckt. Du hast den Segen von Aotius und Mutios. Seine mächtige Kraft und ihre heitere Klarheit werden dich führen. Als ein Zeichen ihrer Liebe, hast du dir diesen Orden verdient. PN erhält den Zen-Orden! Aufgrund ihres Segens werder dir alle Pokémon gehorchen, sogar wenn du sie tauschst. Du hast dir auch diese TM verdient. Solarstrahl ist eine kraftvolle Attacke bei welcher Sonnenenergie absorbiert wird um deine Gegner zu überwinden. Gebrauche sie weise und sie wird dir von ausserordentlicher Hilfe auf deiner Reise sein. Und auch diese, immerhin hast du uns beide besiegt: Mit dieser Attacke bist du fähig die Wut deines Gegners gegen ihn zu benutzen. Bei weisem Gebrauch sollten sich während eines Kampfes Gelegenheiten für dich eröffnen."
+
+msgid "MAP175_TRAINER_2_DEFEAT"
+msgstr "Du hast in die Dunkelheit gesehen und deine Angst überwunden."
+
+msgid "MAP175_TRAINER_3"
+msgstr "Grollender Donner.\nDann, Blitz! Der ganze Himmel ist erhellt!\nBlitze spalten die Luft."
+
+msgid "MAP175_TRAINER_3_DEFEAT"
+msgstr "Zzzzap! Aua!"
+
+msgid "MAP175_TRAINER_4"
+msgstr "Hör zu! Hör den Klang\nvon tausend Vögeln singen.\nSie singen für dich!"
+
+msgid "MAP175_TRAINER_4_DEFEAT"
+msgstr "Du hast mich umgehauen..."
+
+msgid "MAP175_TRAINER_5"
+msgstr "Des Schwertes Schneide.\nNoch feiner als ein Faden.\nScharf wie der Tod selbst."
+
+msgid "MAP175_TRAINER_5_DEFEAT"
+msgstr "In Stücke zerschnitten!"
+
+msgid "MAP175_TRAINER_6"
+msgstr "Ein Vollmond steigt auf\nÜber den schwarzen Wellen des Ozeans.\nTsuki and Nami."
+
+msgid "MAP175_TRAINER_6_DEFEAT"
+msgstr "Dein Schicksal ruft dich!"
+
+msgid "MAP175_TRAINER_7"
+msgstr "Ein winziger Tropfen\nVerbindet sich mit anderen\nFormt einen tosenden Wasserfall."
+
+msgid "MAP175_TRAINER_7_DEFEAT"
+msgstr "Ich hoffe, du bist zufrieden."
+
+msgid "MAP175_TRAINER_8"
+msgstr "Bumm! Peng! Eine Blume blüht am verdunkelten Himmel. Es ist ein Feuerwerk!"
+
+msgid "MAP175_TRAINER_8_DEFEAT"
+msgstr "Ausgebrannt..."
+
+msgid "MAP177_NPC_1"
+msgstr "Willkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Miki und ich bin ein Ninja aus Tsukinami und biete spezielles Training im rAngriff an. Hast du Interesse? Oh... Mein Großvater will, dass ich zum Dojo zurückkehre? Ok! Bitte akzeptiere dieses Geschenk als Zeichen meiner Wertschätzung für deine Mühe. Wir sehen uns! NINJA HINFORT! Du hast keinen Platz für das Item, bitte sprich wieder mit mir, wenn du Platz geschaffen hast. GWillkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Miki und ich bin ein Ninja aus Tsukinami und biete spezielles Training im rAngriff an. Hast du Interesse? Welches Pokémon soll trainiert werden? Komm wieder, wenn du richtig durchtrainiert werden willst! Dein hat seine FP um erhöht! Komm wieder, wenn du deine Pokémon stärker machen willst! Ich fürchte, du hast nicht genug Geld, um deine Pokémon zu trainieren. Komm wieder, wenn du deine Pokémon stärker machen willst! Ohhh yeah!\nAlso, weißt du, was Fleiß-Punkte sind? Natürlich tust du das! Du kannst sie auf dem Statusbildschirm deines Pokémon nachgucken! Fleiß-Punkte entsprechen einem bestimmten Statuswert. Es gibt sechs Arten: KP, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung, und Initiative. Pokémon können ihre FP erhöhen, indem sie bestimmte Typen von Pokémon im Kampf besiegen. Wenn man zum Beispiel viele defensiv starke Gegner besiegt, erhöht sich dadurch auch der Verteidigungs-Wert deines Pokémon. Hier im Trainingszelt bieten wir eine Abkürzung an, um dieses Training noch weiter zu vereinfachen! Drücke A, wenn der Anzeiger auf dem grünen Teil des Balkens landet, um den Boxsack zu vermöbeln! Es macht auch echt Spaß und macht dein Pokémon MEGA STARK! Also, bist du bereit?"
+
+msgid "MAP178_NPC_1"
+msgstr "Willkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Ayumi und ich bin ein Ninja aus Tsukinami und biete spezielles Training in der rInitiative an. Hast du Interesse? Oh... Mein Großvater will, dass ich zum Dojo zurückkehre? Ok! Bitte akzeptiere dieses Geschenk als Zeichen meiner Wertschätzung für deine Mühe. Wir sehen uns! NINJA HINFORT! Du hast keinen Platz für das Item, bitte sprich wieder mit mir, wenn du Platz geschaffen hast. GWillkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Ayumi und ich bin ein Ninja aus Tsukinami und biete spezielles Training in der rInitiative an. Hast du Interesse? Welches Pokémon soll trainiert werden? Komm wieder, wenn du richtig durchtrainiert werden willst! Dein hat seine FP um erhöht! Komm wieder, wenn du deine Pokémon stärker machen willst! Ich fürchte, du hast nicht genug Geld, um deine Pokémon zu trainieren. Komm wieder, wenn du deine Pokémon stärker machen willst! Ohhh yeah!\nAlso, weißt du, was Fleiß-Punkte sind? Natürlich tust du das! Du kannst sie auf dem Statusbildschirm deines Pokémon nachgucken! Fleiß-Punkte entsprechen einem bestimmten Statuswert. Es gibt sechs Arten: KP, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung, und Initiative. Pokémon können ihre FP erhöhen, indem sie bestimmte Typen von Pokémon im Kampf besiegen. Wenn man zum Beispiel viele defensiv starke Gegner besiegt, erhöht sich dadurch auch der Verteidigungs-Wert deines Pokémon. Hier im Trainingszelt bieten wir eine Abkürzung an, um dieses Training noch weiter zu vereinfachen! Drücke A, wenn der Anzeiger auf dem grünen Teil des Balkens landet, um den Boxsack zu vermöbeln! Es macht auch echt Spaß und macht dein Pokémon MEGA STARK! Also, bist du bereit?"
+
+msgid "MAP179_NPC_1"
+msgstr "Willkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Tarou und ich bin ein Ninja aus Tsukinami und biete spezielles Training in rKP an. Hast du Interesse? Oh... Mein Großvater will, dass ich zum Dojo zurückkehre? Ok! Bitte akzeptiere dieses Geschenk als Zeichen meiner Wertschätzung für deine Mühe. Wir sehen uns! NINJA HINFORT! Du hast keinen Platz für das Item, bitte sprich wieder mit mir, wenn du Platz geschaffen hast. GWillkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Tarou und ich bin ein Ninja aus Tsukinami und biete spezielles Training in rKP an. Hast du Interesse? Welches Pokémon soll trainiert werden? Komm wieder, wenn du richtig durchtrainiert werden willst! Dein hat seine FP um erhöht! Komm wieder, wenn du deine Pokémon stärker machen willst! Ich fürchte, du hast nicht genug Geld, um deine Pokémon zu trainieren. Komm wieder, wenn du deine Pokémon stärker machen willst! Ohhh yeah!\nAlso, weißt du, was Fleiß-Punkte sind? Natürlich tust du das! Du kannst sie auf dem Statusbildschirm deines Pokémon nachgucken! Fleiß-Punkte entsprechen einem bestimmten Statuswert. Es gibt sechs Arten: KP, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung, und Initiative. Pokémon können ihre FP erhöhen, indem sie bestimmte Typen von Pokémon im Kampf besiegen. Wenn man zum Beispiel viele defensiv starke Gegner besiegt, erhöht sich dadurch auch der Verteidigungs-Wert deines Pokémon. Hier im Trainingszelt bieten wir eine Abkürzung an, um dieses Training noch weiter zu vereinfachen! Drücke A, wenn der Anzeiger auf dem grünen Teil des Balkens landet, um den Boxsack zu vermöbeln! Es macht auch echt Spaß und macht dein Pokémon MEGA STARK! Also, bist du bereit?"
+
+msgid "MAP180_NPC_1"
+msgstr "Willkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Hitomi und ich bin ein Ninja aus Tsukinami und biete spezielles Training in der rSpezial-Verteidigung an. Hast du Interesse? Oh... Mein Großvater will, dass ich zum Dojo zurückkehre? Ok! Bitte akzeptiere dieses Geschenk als Zeichen meiner Wertschätzung für deine Mühe. Wir sehen uns! NINJA HINFORT! Du hast keinen Platz für das Item, bitte sprich wieder mit mir, wenn du Platz geschaffen hast. GWillkommen{, Trainer!|, Trainerin!|!} Mein Name lautet Hitomi und ich bin ein Ninja aus Tsukinami und biete spezielles Training in rSpezial-Verteidigung an. Hast du Interesse? Welches Pokémon soll trainiert werden? Komm wieder, wenn du richtig durchtrainiert werden willst! Dein hat seine FP um erhöht! Komm wieder, wenn du deine Pokémon stärker machen willst! Ich fürchte, du hast nicht genug Geld, um deine Pokémon zu trainieren. Komm wieder, wenn du deine Pokémon stärker machen willst! Ohhh yeah!\nAlso, weißt du, was Fleiß-Punkte sind? Natürlich tust du das! Du kannst sie auf dem Statusbildschirm deines Pokémon nachgucken! Fleiß-Punkte entsprechen einem bestimmten Statuswert. Es gibt sechs Arten: KP, Angriff, Verteidigung, Spezial-Angriff, Spezial-Verteidigung, und Initiative. Pokémon können ihre FP erhöhen, indem sie bestimmte Typen von Pokémon im Kampf besiegen. Wenn man zum Beispiel viele defensiv starke Gegner besiegt, erhöht sich dadurch auch der Verteidigungs-Wert deines Pokémon. Hier im Trainingszelt bieten wir eine Abkürzung an, um dieses Training noch weiter zu vereinfachen! Drücke A, wenn der Anzeiger auf dem grünen Teil des Balkens landet, um den Boxsack zu vermöbeln! Es macht auch echt Spaß und macht dein Pokémon MEGA STARK! Also, bist du bereit?"
+
+msgid "MAP181_NPC_1"
+msgstr "Ich habe all meinen Pokémon Items zum Tragen gegeben, um ihre Stärke im Kampf zu erhöhen. Du darfst keine Items in der Arena benutzen, also sind Items wie Beeren unentbehrlich. Die Tandor-Meisterschaften sind in Einzelausscheidungen strukturiert. 32 Trainer kommen rein... und ein Champion tritt hervor."
+
+msgid "MAP181_NPC_10"
+msgstr "Ich bin Marias größter Fan.\nEinmal hat sie auf meinem Arm unterschrieben... \nDas war der beste Tag meines Lebens."
+
+msgid "MAP181_NPC_2"
+msgstr "Dieses Funkeln in deinen Augen... Du gedenkst, Champion zu werden, nicht wahr?\nOhohoho. Ich wünsche dir viel Glück."
+
+msgid "MAP181_NPC_3"
+msgstr "Ich hörte, dass sie die Meisterschaften für dieses Jahr fast abgesagt hätten, wegen den Kernschmelzen bei den Atomkraftwerken. Gut, dass sie's nicht getan haben! Ich frage mich ob... wir wohl irgendwelche Nuklear-Pokémon in der Arena sehen werden?"
+
+msgid "MAP181_NPC_4"
+msgstr "Wie viele Arenaorden hast du?\nIch habe 16.\nBevor ich nach Tandor gekommen bin, habe ich die Kalos-Liga gemeistert. Tandors Liga ist schon anders, oder?\nWelcher Arenaleiter war für dich am schwierigsten?\nIch hatte mit Rosalind meine Probleme. Ihre Verkleidungen haben mein Team ordentlich zu Fall gebracht!"
+
+msgid "MAP181_NPC_5"
+msgstr "Ich bin so nervös...\nAber solange ich an meine Pokémon glaube, vertraue ich darauf, dass wir es schaffen! Ich habe noch nie so viele starke Trainer an einem Ort gesehen."
+
+msgid "MAP181_NPC_6"
+msgstr "Hyah! Bei der Ehre meines Dorfes kämpfe ich in den Tandor-Meisterschaften!\nDie Götter werden mich zum Sieg führen!"
+
+msgid "MAP181_NPC_7"
+msgstr "Dass du es durch die Siegesstraße geschafft hast ist beachtlich!\nAber die größte Herausforderung liegt noch vor dir... Jeder, der an den Meisterschaften teilnehmen möchte, muss es zuerst einmal durch die Siegesstraße schaffen."
+
+msgid "MAP181_NPC_8"
+msgstr "Wer denkst du wird dieses Jahr die Meisterschaft gewinnen?\nIch wette, es wird Maria! Sie hat es letztes Jahr schließlich auch geschafft."
+
+msgid "MAP181_NPC_9"
+msgstr "Ich denke nicht, dass Maria dieses Jahr wieder gewinnen wird. Da ist doch dieser neue Trainer und jeder sagt, er oder sie sei beängstigend stark. Wenn du mich fragst, ist das doch ein garantierter Sieger! Weißt du, worauf sich der neue Trainer spezialisiert? Ich konnte darüber keine Info in der Datenbank finden. ...Hey, warte mal. Du kommst mir bekannt vor... Ach du meine Güte! Du bist das!!!! Wow!!!"
+
+msgid "MAP183_NPC_1"
+msgstr "Einige der Berge in der Gegend sind anscheinend unbegehbar. Ich bin jedoch fest entschlossen, sie zu erklimmen!"
+
+msgid "MAP183_NPC_2"
+msgstr "Wusstest du, dass Tandor von zwei Vulkanen gebildet wurde? Beide sind nun inaktiv, aber die regionalen Meisterschaften finden auf einem von ihnen statt."
+
+msgid "MAP183_NPC_3"
+msgstr "Es ist erstaunlich, dass die Wirtschaft funktioniert, obwohl die Hälfte der Bevölkerung Trainer sind. Trainer, die nicht arbeiten! Wie würden wir uns jemals selbst ernähren, wenn wir keine Pokémon hätten, die uns helfen?"
+
+msgid "MAP183_NPC_4"
+msgstr "Als ich noch jung war, lebte ich in einer Großstadt. Jetzt mag ich es einfach hier in der ruhigen Provinz zu leben."
+
+msgid "MAP183_SIGN_1"
+msgstr "Route 6. Vergiss nicht, einige Tränke mitzunehmen! Sie ist sehr lang!"
+
+msgid "MAP183_SIGN_2"
+msgstr "Labor von Professor Zypresse."
+
+msgid "MAP183_SIGN_3"
+msgstr "Willkommen in Schroffstein. Vorsicht vor fallenden Felsen!"
+
+msgid "MAP184_NPC_1"
+msgstr "(Mensch...)\n(du bist also zurückgekommen, um in meinem Unterschlupf gegen mich anzutreten)\n(ich habe viele Jahrhunderte lang geschlafen...)\n(auf eine Seele wartend, die meiner Kraft würdig ist.)\n(nun... ist diese Zeit gekommen.) (Lass uns diesen schicksalhaften Kampf austragen!) GYAAAROOOOOHHHHH!!!"
+
+msgid "MAP184_TRAINER_1"
+msgstr "Du hast mich nicht gesehen, weil ich mich versteckt habe! Ich liebe es, mich hinter großen Felsen zu verstecken!"
+
+msgid "MAP184_TRAINER_1_DEFEAT"
+msgstr "Schätze, ich war nicht schnell genug..."
+
+msgid "MAP184_TRAINER_2"
+msgstr "Die Legenden berichten von einem großen Kampf auf der Spitze von Berg Actinite. Könnte es dieser sein?"
+
+msgid "MAP184_TRAINER_2_DEFEAT"
+msgstr "Das hatte etwas von einem Tiefpunkt."
+
+msgid "MAP185_TRAINER_1"
+msgstr "Hörst du das?\nDas zornige Heulen des Windes!"
+
+msgid "MAP185_TRAINER_1_DEFEAT"
+msgstr "Wir... sind gefallen..."
+
+msgid "MAP185_TRAINER_2"
+msgstr "Der Berg unter uns erzittert.\nDeine Prüfung beginnt jetzt!"
+
+msgid "MAP185_TRAINER_2_DEFEAT"
+msgstr "Es war... Schicksal..."
+
+msgid "MAP185_TRAINER_3"
+msgstr "Owei, oweh!\nDu kommst mir ganz schön bekannt vor.\nSollen wir uns an einen furiosen Kampf wagen, altes Haus?"
+
+msgid "MAP185_TRAINER_3_DEFEAT"
+msgstr "Ach du lieber Himmel!"
+
+msgid "MAP185_TRAINER_4"
+msgstr "Ich werde dich mit den Kräften schlagen, die jenseits des Irdischen heraufbeschwört wurden!"
+
+msgid "MAP185_TRAINER_4_DEFEAT"
+msgstr "Ihr Geister, wieso habt ihr mich verlassen?"
+
+msgid "MAP186_SIGN_1"
+msgstr "Tandor Elite Meisterschaft"
+
+msgid "MAP187_NPC_1"
+msgstr "Hah!\nBeruhige dich, verdammt! Hey, diese neuen FangKoms funktionieren! Ich schaff' das hier draußen alleine. PN, du solltest zum Kernkraftwerk gehen."
+
+msgid "MAP187_NPC_2"
+msgstr "Arrrr... Arrr..."
+
+msgid "MAP187_NPC_3"
+msgstr "Wie läuft's mit dem Schutzanzug? Es ist ein bisschen schwieriger, sich zu bewegen, aber in dem Ding bist du von der Strahlung komplett abgeschirmt. Diese Masken beschützen uns, aber wir sind immer noch für hohe Strahlung angreifbar."
+
+msgid "MAP187_NPC_4"
+msgstr "Falls ich dieses Pokémon bezwinge und zum HQ zurückbringe, könnten wir es behandeln. Eine ambulante Behandlung wäre jetzt ideal..."
+
+msgid "MAP187_NPC_5"
+msgstr "Mar... rrrrr...."
+
+msgid "MAP187_SIGN_1"
+msgstr "Tipps für Trainer!\nFür's Fischen braucht man schnelle Reflexe.\nDrücke A, wenn die Nachricht \"Oh! Da hat etwas angebissen!\" erscheint.\nVersuche es einfach so lange, bis du ein Pokémon angelst."
+
+msgid "MAP187_TRAINER_1"
+msgstr "Hey, PN, da bist du ja! Heh, du bist ja wie ein Flegmon in diesem Ding. Aber du siehst zugegebenermaßen auch ganz schön cool aus. ...Wie auch immer. Ich glaube, ich habe etwas Cooles gefunden... Folge mir. Aber bleib leise! Dieses Pokémon... Hast du so eines schonmal gesehen? Es scheint mir nicht zu sein wie die anderen Nuklear-Pokémon. Ich habe es jedenfalls noch nie zuvor gesehen. Wir sollten versuchen- ???: KNNNNURRRRRR! Theo: Mist, es ist weg. Was hat es nur verjagt? Ich wollte gerade versuchen, es zu fangen... Mach dich zum Kampf bereit, PN! *schnauf* *schnauf* Mann... hier draußen kann man nicht mal für eine Sekunde seine Deckung fallen lassen... Und überhaupt, bilde ich mir das nur ein, oder sind diese Nuklear-Pokémon organisierter als sonst? Ich schätze, dass Uratom sie befehligt. Also wissen sie, dass wir hier sind. Das Element der Überraschung können wir in die Tonne kloppen... Naja, ist auch nicht so wichtig. CURIE kann uns nicht ewig davonlaufen! Wir werden dem ganzen ein Ende setzen! Und wenn ich dieses seltsame Pokémon nochmal sehe, werde ich nicht zögern, es zu fangen!"
+
+msgid "MAP187_TRAINER_10"
+msgstr "GRRRRRRR! .......\nVERNICHTEN VERNICHTEN VERNICHTEN"
+
+msgid "MAP187_TRAINER_10_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_11"
+msgstr "GRRRRRRR! .......\nVERNICHTEN VERNICHTEN VERNICHTEN"
+
+msgid "MAP187_TRAINER_11_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_12"
+msgstr "GRRRRRRR! .......\nVERNICHTEN VERNICHTEN VERNICHTEN"
+
+msgid "MAP187_TRAINER_12_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_13"
+msgstr "GRRRRRRR! .......\nVERNICHTEN VERNICHTEN VERNICHTEN"
+
+msgid "MAP187_TRAINER_13_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_14"
+msgstr "GRRRRRRR! .......\nVERNICHTEN VERNICHTEN VERNICHTEN"
+
+msgid "MAP187_TRAINER_14_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_1_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_2"
+msgstr "KNNNNuuuRRRRRRRRR .......\nEINDRINGLING EINDRINGLING"
+
+msgid "MAP187_TRAINER_2_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_3"
+msgstr "KNNNNuuuRRRRRRRRR .......\nEINDRINGLING EINDRINGLING"
+
+msgid "MAP187_TRAINER_3_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_4"
+msgstr "KNNNNuuuRRRRRRRRR .......\nEINDRINGLING EINDRINGLING"
+
+msgid "MAP187_TRAINER_4_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_5"
+msgstr "HIIISSSSSS! .......\nZERSTÖREN ZERSTÖREN ZERSTÖREN"
+
+msgid "MAP187_TRAINER_5_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_6"
+msgstr "HIIISSSSSS! .......\nZERSTÖREN ZERSTÖREN ZERSTÖREN"
+
+msgid "MAP187_TRAINER_6_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_7"
+msgstr "HIIISSSSSS! .......\nZERSTÖREN ZERSTÖREN ZERSTÖREN"
+
+msgid "MAP187_TRAINER_7_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_8"
+msgstr "Eeep! Mehr Pokémon! Lass es uns angehen, PN! Nun, das war ein Erlebnis... Unsere Befehle sind klar. Es ist Zeit zum Kernkraftwerk zu gehen! Lass es uns zusammen schaffen! (Theo schließt sich dir an!)"
+
+msgid "MAP187_TRAINER_8_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_9"
+msgstr "GRRRRRRR! .......\nVERNICHTEN VERNICHTEN VERNICHTEN"
+
+msgid "MAP187_TRAINER_9_DEFEAT"
+msgstr "..."
+
+msgid "MAP188_NPC_1"
+msgstr "Wir sind auf dem Weg nach Route 08, zu den Weizenfeldern. Früher war das hier eine makellose Gegend, voller natürlicher Schönheit. Jetzt ist es der verstrahlteste Ort in Tandor... Wir müssen CURIE aufhalten, und ihn dafür zahlen lassen, was er getan hat!"
+
+msgid "MAP188_NPC_2"
+msgstr "Den Schutzanzug ausrüsten? PN ist in den Schutzanzug geschlüpft."
+
+msgid "MAP188_NPC_3"
+msgstr "Ich weiß ich kann mich eigentlich nicht beschweren, aber... Wieso darf ich nicht den Anzug tragen? Er ist so cool..."
+
+msgid "MAP188_NPC_4"
+msgstr "PN, mach' dir keine Sorgen um uns. Wir haben diese neuen FangKoms, die bei den Nuklear-Pokémon funktionieren. Deshalb werden wir die Stellung hier schon halten... Denke ich..."
+
+msgid "MAP188_NPC_5"
+msgstr "Mff mmmf mffff! ...Nah, ich mach' nur Spaß. Ich kann gut sprechen, auch wenn ich die Maske trage. Trotzdem juckt's schon ein wenig... Wäre aber wohl eine schlechte Idee, sie abzunehmen."
+
+msgid "MAP189_NPC_1"
+msgstr "Am Hebel ziehen?"
+
+msgid "MAP189_NPC_2"
+msgstr "Am Hebel ziehen?"
+
+msgid "MAP189_NPC_3"
+msgstr "Am Hebel ziehen?"
+
+msgid "MAP189_NPC_4"
+msgstr "Die Bezeichnung auf dem Schalter lautet, \"Trennschalter\". Er scheint an zu sein. Den Trennschalter lösen? Dein Team und du wurden von einer Entladung getroffen... Die anderen Hebel sind zu ihren ursprünglichen Positionen zurückgekehrt."
+
+msgid "MAP189_SIGN_1"
+msgstr "Das ist eine Maschine um Pokémon zu heilen. Ohne Elektrizität wird sie nicht funktionieren."
+
+msgid "MAP189_SIGN_10"
+msgstr "Hö? Erschreckenderweise ist der Kaffee noch immer warm..."
+
+msgid "MAP189_SIGN_2"
+msgstr "Das ist eine Maschine um Pokémon zu heilen. Ohne Elektrizität wird sie nicht funktionieren."
+
+msgid "MAP189_SIGN_3"
+msgstr "Das ist eine Maschine um Pokémon zu heilen. Ohne Elektrizität wird sie nicht funktionieren."
+
+msgid "MAP189_SIGN_4"
+msgstr "Das ist eine Maschine um Pokémon zu heilen. Ohne Elektrizität wird sie nicht funktionieren."
+
+msgid "MAP189_SIGN_5"
+msgstr "- Notstromversorgung - Befolge diese Anleitung, um den Notstromgenerator zu aktivieren. Im Technik-Raum musst du zuerst die Schalter in folgender Reihenfolge betätigen: [06644bd2]Grün, [043c3aff]Rot, [65467b14]Blau. Dann löse den Trennschalter. Das wird die Elektrizität im südlichen Sektor wiederherstellen."
+
+msgid "MAP189_SIGN_6"
+msgstr "- Notiz -\nWer hat das Handbuch zur Aktivierung des Notstromgenerators schon wieder mitgenommen?"
+
+msgid "MAP189_SIGN_7"
+msgstr "Das Essen im Kühlschrank ist schlecht geworden."
+
+msgid "MAP189_SIGN_8"
+msgstr "- Pausenraum - Pausen dürfen nicht länger als 15 Minuten gehen. Falls Mangel an Kaffee besteht, sprecht mit Craig im HR. - Das Management"
+
+msgid "MAP189_SIGN_9"
+msgstr "(Vielleicht kann ich dieses Radio benutzen, um das HQ zu erreichen...?) ....... Irgendetwas blockiert das Signal."
+
+msgid "MAP189_TRAINER_1"
+msgstr "Bluuuugggg!"
+
+msgid "MAP191_NPC_1"
+msgstr "Sieht so aus als wäre es mit dem elektrischen System verbunden. Schalter benutzen?"
+
+msgid "MAP191_TRAINER_1"
+msgstr "Kkkssshhhttt!!"
+
+msgid "MAP192_NPC_1"
+msgstr "Er scheint mit dem elektrischen System verbunden zu sein. Den Schalter betätigen?"
+
+msgid "MAP193_TRAINER_1"
+msgstr "Traaaawrrrr!"
+
+msgid "MAP193_TRAINER_2"
+msgstr "...\nTörichtes Kind. Es war amüsant, dir zuzusehen...\nAber hier endet deine Geschichte. Was für ein Glück.\nDer Sohn des Mannes, der uns heimgesucht hat.. und {der Sohn|die Tochter|das Kind} vom Anführer der Ranger.\nUnd nun befinden sich beide in unserer Gewalt. Wir gehen davon aus, dass die Ranger eher bereit sein werden zu gehorchen, wenn sie hören, dass wir ihre Kinder als Geiseln haben. Sag mir, {Junge|Mädchen|Kleines}... Wie fühlt es sich an?\nSo nahe zu kommen, nur damit deine Träume letztlich doch zerschlagen werden? Tut es weh? Das sollte es.\nWir wollen, dass du leidest, so wie wir leiden mussten. Dein Freund... Er befindet sich in Stase. Weder ist er wach, noch schläft er.\nSeine Gedanken wurden in dem Moment gefangen, als er die Kapsel betrat. Was könnte er wohl fühlen?\nSchmerz? Angst? Verwirrung? Kummer? Ein einziger, elender Moment, in die Ewigkeit gezogen. Was er gerade fühlt...... ist nur ein Bruchteil von dem, was wir gefühlt haben. Und nun. Wirst du dich ihm anschließen. Sobald wir einmal Geiseln haben, werden die Ranger keine andere Wahl haben, als aufzugeben. Dann wird uns auf dem Weg zur ultimativen Macht nichts mehr im Wege stehen! ...Oh? Selbst jetzt, nach allem was passiert ist, willst du noch immer gegen uns kämpfen? Huhuhuhu... Wie amüsant.\nNun gut. Wir akzeptieren deine Herausforderung... Sieh die Macht der Kernenergie, und verzweifle!! ...Was?\nNein! Nein, nein, NEIN! Das kann... nicht passieren...! Wir waren doch dafür auserkoren, unbesiegbar zu sein!\nUratom!! Wie... konntest du...\nNur ein Kind... Ich verstehe nicht...\nAlles, wonach wir gestrebt haben, all diese Kraft... Fort. Uratom! Antworte mir, Uratom! ...\nNein... Ich habe versagt...\nIch habe versagt, dich zu beschützen.\nDie Ranger werden uns nun holen...\nSie werden dich bestimmt zerstören.\nEs tut mir Leid... Du bist noch am Leben...!\nObwohl du das meiste deiner Kraft verloren hast... Das ist es! Das ist alles, was wir brauchen!\nUratom, benutze Quantensprung! -kshhht-\nKellyn: PN? PN, hörst du mich? ...Oh, Arceus sei Dank, dir geht es gut.\nIrgendetwas hat das Signal blockiert...\nIch konnte überhaupt nicht durchkommen. PN... Ich hatte solche Angst...\nIch dachte, ich hätte dich für immer verloren. Also, was ist passiert? Hast du CURIE gefunden? ...\nIch verstehe. Also hast du gegen die beiden gekämpft und gewonnen, aber sie konnten fliehen... Nun, da Uratom in einer schwächeren Form ist, sind sie wohl keine so große Bedrohung mehr. Außerdem scheint es, als hätte die Strahlung, die aus dem Kernkraftwerk 02 austrat, abgenommen. Mit unserem Rangerkorps sollten wir in der Lage sein, CURIE zu lokalisieren und festzunehmen. Und alles dank dir... PN.\nWeil du so mutig und entschlossen vorgegangen bist, konnte Tandor gerettet werden. ...Aber... Was ist mit Theo? Ist er... du weißt schon...\nAm Leben? *hust* *hust* ...Ugh... Was... ist passiert?\nPN? Bist du das? Wo sind CURIE und Uratom?\nDas letzte, an das ich mich erinnere, ist, dass sie mich in diesen Tank geschoben haben... Kellyn: Theo! Dir geht es gut?! Ist doch klar wie Kloßbrühe, Chef...\nHaha... ugh.... In diesem Ding zu sein... Es war schrecklich. Ich weiß gar nicht, wie lange ich dort drin war. PN... Ich weiß nicht, wie ich das sagen soll... Aber ich bin mir ziemlich sicher, dass ich dir mein Leben schulde. Also hast du.... nun.... es geschafft?. Hast du CURIE besiegt? Wow. So kenne ich PN. Verlieren ist für dich keine Option. Mann, das muss ein atemberaubender Kampf gewesen sein.... Ich kann nicht glauben, dass ich direkt dabei war, aber das ganze Spektakel trotzdem verpasst hab'. Kellyn: Ich bin froh, dass es dir gut geht, Theo.\nIch schicke Ranger vorbei, um dich und PN sofort abzuholen. Danke, Boss.\nMir tut es Leid, dass ich deine Befehle missachtet hab'.\nIch war dumm und habe die ganze Mission gefährdet. Ich glaube.... hiernach werde ich erstmal eine Pause von Abenteuern nehmen.. Ich werde bei Papa im Krankenhaus bleiben.. Ich werde dort sein, wenn er aufwacht. Kellyn: Diese Entscheidung liegt ganz bei dir.\nIch werde euch beide bald sehen.\nKellyn over and out. ...Phew.\nIch bin müde, PN.\nWir sollten hier raus.\nKomm, ich kenne da eine Abkürzung. Und so...\nkehrten PN und Theo zum Ranger-HQ zurück.\nAls sie dort ankamen, wurden sie als Helden begrüßt...\nUnd die Neuigkeit von PNs Sieg über CURIE verbreitete sich wie ein Lauffeuer in Tandor. HuhuhuhuhahahahaHAHAHAHAHA!\nJA! GENAU DAS!\nDAS IST DER BLICK DER VERZWEIFLUNG, NACH DEM WIR UNS SO SEHR SEHNEN! Du bist machtlos! Deine Freunde können dich nicht retten! All das ist jetzt vorbei! Unser Herrschaft beginnt ab heute! HAHAHAHAHAHAHA! Und so...\n versank Tandor in 100 Jahren des nuklearen Winters. Von PN und Theo hat man nie wieder etwas gehört... GAME OVER"
+
+msgid "MAP193_TRAINER_2_DEFEAT"
+msgstr "...Was? Nein! Nein, nein, NEIN!"
+
+msgid "MAP195_TRAINER_1"
+msgstr "Nun.... Hier sind wir wieder.\nWir beide konkurrieren miteinander um den Titel des Champions. Genau so sollte es ein, richtig?\nIch, der dir gegenüber steht,\nmit ganz Tandor als Zuschauer.\nEs fühlt sich richtig an.. Weißt du?\nEs fühlt sich an wie.... Schicksal.\n ... Es gibt jetzt nichts mehr, das uns\nin die Quere kommt.\nKeine legendären Pokémon, keine nukleare Apokalypse. Nur du, ich... und der Kampfgeist unserer Pokémon. PN, ich habe eine lange Zeit hierauf gewartet... Lass uns herausfinden, wer von uns beiden Champion wird! Die Regeln des Champion-Finales sind die gleichen wie auch vorher. Keine Items, außer denen, die die Pokémon bereits tragen, dürfen eingesetzt werden. Der Kampf wird fortgeführt, bis eine Seite keine kampfbereiten Pokémon mehr zur Verfügung hat. Wenn beide Trainer bereit sind, dann... beginnt der Kampf um die Entscheidung des Gewinners der Meisterschaft...... ...Jetzt! Und der Gewinner lautet.... PN! Wow...\nDu bist so brilliant wie immer, PN.\nDas war ein spannender Kampf, um es milde auszudrücken. Ich bin nicht einmal wütend, dass ich verloren habe.\nWenn es eine Sache gibt, auf die ich immer zählen kann, dann auf deinen unerschütterlichen Geist! PN...... Ich gratuliere dir zu deinem Sieg, dem\nneuesten Champion von Tandor! Wenn du mir nun bitte folgen würdest..."
+
+msgid "MAP195_TRAINER_1_DEFEAT"
+msgstr "Wow... Dieser Kampf war... genau so, wie ich es mir erhofft hatte."
+
+msgid "MAP196_TRAINER_1"
+msgstr "DAS IST ES!\nDIES IST DAS ENDE! NUN...\nWERDE ICH...\nZUM...\nTOD! NEEEEEEEEEIN!!!\nU.-unmöglich...!!!\nDu...\nWie kannst... du... stärker sein... als wir? Du...\nIch werde dich töten... ganz alleine...\nIch werde--\nAGH! UGH--\nGYAAAAAARRRGHHHH! MUHUHUHAHAHAHAHA!!\nUNSERE KRÄFTE SIND NICHT AUFZUHALTEN!\nJETZT... VERNICHTE SIE ALLE!! Du bist machtlos! Deine Freunde können dich nicht retten! Es ist alles vorbei! Unsere Herrschaft beginnt ab heute! HAHAHAHAHAHAHA! Gamma-Uratom war zu mächtig, um es aufzuhalten. Es hat eine gewaltige, atomare Explosion erzeugt...\nAlles, was von der Pokémon-Liga übrig blieb, waren glimmende Ruinen. Jene, die die ursprüngliche Explosion überlebten, wurden bald Opfer der Nuklear-Pokémon, die daraufhin erwachten. Die Pokémon Ranger von Tandor versuchten, sie zu bezwingen, waren aber bereits nach kurzer Zeit zahlenmäßig unterlegen. Jeder, der fliehen konnte, ist in andere Regionen gezogen... Sie beklagten den Verlust all jener, die sie kannten und liebten. Und so wurde Tandor in ein Jahrhundert des nuklearen Winters gestürzt. Wenn du nur stärker gewesen wärst....Vielleicht...\nhättest du es verhindern können... GAME OVER"
+
+msgid "MAP196_TRAINER_1_DEFEAT"
+msgstr "...Was? Nein! Nein, nein, NEIN!"
+
+msgid "MAP201_NPC_1"
+msgstr "Dieses Shuttle bringt dich zur\nPokémon-Liga von Tandor.\nAllerdings ist es für die Öffentlichkeit derzeit geschlossen."
+
+msgid "MAP201_NPC_2"
+msgstr "Dies ist ein spezielles Shuttle, das zur Pokémon Liga von Tandor führt.\nAllerdings ist es für die Öffentlichkeit derzeit nicht zugänglich, deswegen fährt es nicht."
+
+msgid "MAP202_NPC_1"
+msgstr "Lanthan wartet auf dich!\nJetzt gibt es kein Zurück mehr!"
+
+msgid "MAP202_TRAINER_1"
+msgstr "Halt! Ihr zwei betretet\ngeheiligten Boden!\nAls Monk des Lanthanite ist es meine Aufgabe die Unwürdigen fernzuhalten!"
+
+msgid "MAP202_TRAINER_1_DEFEAT"
+msgstr "D-der Champion von Tandor!\nBitte vergib mir meine Unverfrorenheit!"
+
+msgid "MAP202_TRAINER_2"
+msgstr "Um geheiligt zu werden..."
+
+msgid "MAP202_TRAINER_2_DEFEAT"
+msgstr "Brennt ein Feuer in dir, dass selbst das kälteste Eis niederbrennt."
+
+msgid "MAP202_TRAINER_3"
+msgstr "Du wirst in Eis und Feuer gebadet!"
+
+msgid "MAP202_TRAINER_3_DEFEAT"
+msgstr "Brennt ein Feuer in dir, dass selbst das kälteste Eis niederbrennt."
+
+msgid "MAP202_TRAINER_4"
+msgstr "Mit schierem Frieden und purer Gelassenheit werden wir euch zerstören!"
+
+msgid "MAP202_TRAINER_4_DEFEAT"
+msgstr "Diese Kraft... Unfassbar!"
+
+msgid "MAP202_TRAINER_5"
+msgstr "Ich sah es in einem Traum...\nDas legendäre Pokémon erwacht!"
+
+msgid "MAP202_TRAINER_5_DEFEAT"
+msgstr "Ja... Wie erwartet bist du wahrlich überragend."
+
+msgid "MAP202_TRAINER_6"
+msgstr "Whoa...\nEinen Ort wie diesen habe ich noch nie zuvor gesehen!\nWow.... das muss also Lanthans Versteck sein.\nDiese legendären Pokémon sind viel stärker\nals die gewöhnlichen, oder?\nUnd doch sind sie einfach nur Pokémon.\nDas bedeutet, auch sie kann man fangen. ...PN.. Ich denke, du weißt, was wir nun tun müssen. Wir kämpfen um das Recht, zu entscheiden,\nwer Lanthan fangen darf.\nIch habe dein Team vollkommen geheilt,\n von daher weiß ich, dass sie in Spitzenform sind.\nIch erwarte von dir nichts, als maximale Stärke. Ich werde auch alles geben.\nAlso, Champion.... Zeig mir deine Kraft!! Ich... hab' verloren?\nWow...\nDu bist wahrhaft überragend, PN.\nIch akzeptiere meine Niederlage mit Anmut.\nNun da du mich geschlagen hast, darfst du auch gegen Lanthan kämpfen. Nun denn...\nWo ist es? Es sollte doch hier sein. Dort ist es!\nDas legendäre Pokémon! Also, \"Champion von Tandor\"...\nDu hast dich wacker geschlagen, aber es scheint\nals seist du letztendlich doch nicht der Stärkste. Und jetzt... der wahre Grund, warum ich hier bin.\nLanthan! Zeig dich!! Ich bin hier, um gegen dich anzutreten! Kämpfe gegen mich, jetzt! Lanthan...\nEs..... hat zu mir gesprochen.....\nEs sagt..... Ich habe es mir nicht verdient?!\nD-Das ist unmöglich!\nIch war der Champion von zwei Regionen!\nIch habe den Kampf gewonnen! Das sollte bedeuten... \nNein...!! (Mensch...) (Du bist noch nicht stark genug, um gegen mich anzutreten.) (Ich erwarte dich, und nur dich...) (Wenn du stärker geworden bist, werden wir uns noch einmal begegnen.)"
+
+msgid "MAP202_TRAINER_6_DEFEAT"
+msgstr "Ich... hab' verloren?"
+
+msgid "MAP203_NPC_1"
+msgstr "Oh, bist du hier, um uns bei unserem Garten zu helfen? Mal sehen, was du tun kannst! Danke nochmal, dass du meiner Bitte nachkommst.\nEs braucht genau jenes gütige Herz und diesen aufgeweckten Verstand, um die Stufe zu erreichen, auf der du dich mit deinen Pokémon befindest. Als Erinnerung an diese erfrischende Vorstellung und unser schicksalhaftes Treffen heute, gebe ich dir dieses..."
+
+msgid "MAP203_NPC_2"
+msgstr "Oh, bist du hier, um uns bei unserem Garten zu helfen? Mal sehen, was du tun kannst! Danke nochmal, dass du meiner Bitte nachkommst.\nEs braucht genau jenes gütige Herz und diesen aufgeweckten Verstand, um die Stufe zu erreichen, auf der du dich mit deinen Pokémon befindest. Als Erinnerung an diese erfrischende Vorstellung und unser schicksalhaftes Treffen heute, gebe ich dir dieses..."
+
+msgid "MAP204_NPC_1"
+msgstr "Ich stamme vom Tsuki-Clan ab\nund meine Frau vom Nami-Clan.\nWenn unsere Anführer Hinata und Kaito nicht mit gutem Beispiel voran gegangen wären, hätte eine Liebe, wie die unsere, nie existiert. Ich schätze, das zeigt, wie stark Liebe sein kann!"
+
+msgid "MAP204_NPC_10"
+msgstr "Prinzessin Hinata scheint hell wie die Sonne!\nWir neigen unsere Köpfe, um unsere Augen vor ihrem Leuchten zu schützen!"
+
+msgid "MAP204_NPC_11"
+msgstr "Du bist {ein Trainer|eine Trainerin|Trainer}, richtig?\nDann solltest du wissen, dass Kaito und Hinata die Arenaleiter von Tsukinami sind.\nSie nutzen keinen bestimmten Pokémon-Typ, aber ihr Thema ist \"Nacht und Tag\"."
+
+msgid "MAP204_NPC_12"
+msgstr "Der Tempel von Aotius und Mutios\nist das größte Gebäude in unserem Dorf.\nEs wurde erbaut, um das Ende des Krieges\nzu signalisieren, welcher mehr als hundert Jahre andauerte.\nWeil der Tempel außerdem eine Arena ist,\nsind alle Kämpfe dort drin heilige Rituale."
+
+msgid "MAP204_NPC_13"
+msgstr "Ich bin der Pokémon Spezialattacken-Lerner. Ich kenne jede Spezialattacke, die ein Pokémon lernen kann, indem ich mir ihre antiken Geheimnisse vertraut mache. Wenn du mir vier Indigostücke bringst, kann ich einem deiner Pokémon eine neue Attacke beibringen! Wow, da sind ja die Indigostücke! Alles klar! Ich kann einem deiner Pokémon eine Attacke beibringen. Möchtest du das? Welches Pokémon soll eine Attacke lernen? Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Hä? Einem Ei kann ich keine Attacke beibringen. Keine Chance, ich will nicht in die Nähe eines Schatten-Pokémon kommen... Sorry... Es scheint, als könnte ich deinem keine Attacke beibringen. Welche Attacke soll ich deinem beibringen? PN übergibt die Indigostücke. Danke! Falls deine Pokémon noch mehr Attacken lernen sollen, komm' mit mehr Scherben wieder! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn du vier Stücke einer Scherbe hast und ich werde deinen Pokémon helfen!"
+
+msgid "MAP204_NPC_14"
+msgstr "Sooom-ni!"
+
+msgid "MAP204_NPC_15"
+msgstr "Oh, hallo!\nIch bin Fenchel, eine Wissenschaftlerin aus der Unova-Region. Ich wollte hier Urlaub machen,\nda diese Region über eine interessante\nund einzigartige Kultur verfügt.\nUnd das hier ist Dream, mein Somnivora. Sooom-ni! Ich bin auf die Wissenschaft der Pokémon-Träume spezialisiert. Ich habe sogar an einem Gerät mitgearbeitet, welches man den Traum-Visualisierer nennt. Mithilfe von Somnivoras Kraft, kann ich in das Innere der Träume von Pokémon gucken.\nEs ist wirklich faszinierend! Hö?. Du sagst, dass da ein kleines Mädchen\nin Venesi ist, die in einem Traum feststeckt?\nDas ist ein wenig außerhalb meiner Fachkenntnis.\nIch bin hauptsächlich auf Pokémon-Träume spezialisiert.\nTrotzdem.... Es muss etwas geben, dass ich tun kann. Okay! Mein Entschluss steht fest! Ich gehe nach Venesi und schaue, ob ich diesem Mädchen helfen kann.\nWissenschaft ist schließich genau dafür da, um das Leben der Menschen zu verbessern.\nIch hoffe, wir sehen uns dort!"
+
+msgid "MAP204_NPC_16"
+msgstr "Meine Tochter ist besessen von Spielzeugen des Pokémon Kleinhorn.\nFür sie würde ein Traum in Erfüllung gehen, wenn sie ein echtes zu Gesicht bekäme.\nFalls du ihr eins zeigen könntest, wäre sie mit Sicherheit überglücklich."
+
+msgid "MAP204_NPC_17"
+msgstr "Kleinhorn! Ich will ein Kleinhorn sehen!\nHast du ein Kleinhorn? OMG!!!! DU HAST EIN KLEINHORN!\n*KREISCH*\nES IST SO FLAUSCHIG!\nAAAAAAAAAAHHH!!! Ich bin so, so, so glücklich!\nDas ist der beste Tag ALLER ZEITEN!\nHier, ich will, dass du diesen funkelnden Stein bekommst! Aww...\nWieso sollte man überhaupt Trainer werden,\nwenn man sich keine süßen Pokémon fängt?"
+
+msgid "MAP204_NPC_18"
+msgstr "Ich bin der Pokémon-Attackenlerner für physische Stärke. Ich kenne jede Attacke, die auf physischer Stärke basiert und die ein Pokémon lernen kann, indem ich mir ihre antiken Geheimnisse vertraut mache. Wenn du mir vier Purpurstücke bringst, kann ich einem deiner Pokémon eine neue Attacke beibringen! Wow, da sind ja die Indigostücke! Alles klar! Ich kann einem deiner Pokémon eine Attacke beibringen. Möchtest du das? Welches Pokémon soll eine Attacke lernen? Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Hä? Einem Ei kann ich keine Attacke beibringen. Keine Chance, ich will nicht in die Nähe eines Schatten-Pokémon kommen... Sorry... Es scheint, als könnte ich deinem keine Attacke beibringen. Welche Attacke soll ich deinem beibringen? PN übergibt die Indigostücke. Danke! Falls deine Pokémon noch mehr Attacken lernen sollen, komm' mit mehr Scherben wieder! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn du vier Stücke einer Scherbe hast und ich werde deinen Pokémon helfen!"
+
+msgid "MAP204_NPC_19"
+msgstr "Ich bin der Pokémon Schwächungs-Attackenlerner. Ich kenne jede Attacke, die auf der Schwächung von Statuswerten basiert und die ein Pokémon lernen kann, indem ich mir ihre antiken Geheimnisse vertraut mache. Wenn du mir vier Grünstücke bringst, kann ich einem deiner Pokémon eine neue Attacke beibringen! Wow, da sind ja die Indigostücke! Alles klar! Ich kann einem deiner Pokémon eine Attacke beibringen. Möchtest du das? Welches Pokémon soll eine Attacke lernen? Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Hä? Einem Ei kann ich keine Attacke beibringen. Keine Chance, ich will nicht in die Nähe eines Schatten-Pokémon kommen... Sorry... Es scheint, als könnte ich deinem keine Attacke beibringen. Welche Attacke soll ich deinem beibringen? PN übergibt die Indigostücke. Danke! Falls deine Pokémon noch mehr Attacken lernen sollen, komm' mit mehr Scherben wieder! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn du vier Stücke einer Scherbe hast und ich werde deinen Pokémon helfen!"
+
+msgid "MAP204_NPC_2"
+msgstr "Ich bin Genin.\nDas Pokémon Saidine ist meine Geheimwaffe! Wir sind die Nachfahren des Nami Clans.\nUnser Geheimnis ist die Kontrolle über die Wellen.\nDeswegen benutzen wir Surfer."
+
+msgid "MAP204_NPC_3"
+msgstr "Ich für meinen Teil heiße Chuunin.\nIch reite die Wellen so rasch wie der Wind! Unsere glorreichen Anführer wünschen\neine Ära des Friedens und Wohlstands einzuleiten.\nDas ist schwer umzusetzen mit den Piraten, die auf unserer Türschwelle stehen!"
+
+msgid "MAP204_NPC_4"
+msgstr "Mein Haus hat viele Zimmer,\ndaher habe ich ein Hotel daraus gemacht.\nBitte nimm auf unsere Gäste Rücksicht."
+
+msgid "MAP204_NPC_5"
+msgstr "Ich bin der Pokémon Stärkungs-Attackenlerner. Ich kenne jede Attacke, die auf der Stärkung von Statuswerten basiert und die ein Pokémon lernen kann, indem ich mir ihre antiken Geheimnisse vertraut mache. Wenn du mir vier Gelbstücke bringst, kann ich einem deiner Pokémon eine neue Attacke beibringen! Wow, da sind ja die Indigostücke! Alles klar! Ich kann einem deiner Pokémon eine Attacke beibringen. Möchtest du das? Welches Pokémon soll eine Attacke lernen? Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Hä? Einem Ei kann ich keine Attacke beibringen. Keine Chance, ich will nicht in die Nähe eines Schatten-Pokémon kommen... Sorry... Es scheint, als könnte ich deinem keine Attacke beibringen. Welche Attacke soll ich deinem beibringen? PN übergibt die Indigostücke. Danke! Falls deine Pokémon noch mehr Attacken lernen sollen, komm' mit mehr Scherben wieder! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn ich einem deiner Pokémon eine Attacke beibringen soll! Komm wieder, wenn du vier Stücke einer Scherbe hast und ich werde deinen Pokémon helfen!"
+
+msgid "MAP204_NPC_6"
+msgstr "Ich bin der, den man Juunin nennt.\nIch attackiere, indem ich Brunai, wie Messer, werfe! Unser ehemaliger Boss Hokage ist oben.\nSeitdem er gegen dich verloren hat, trainiert er unablässig. Ich denke, er will dich übertreffen."
+
+msgid "MAP204_NPC_7"
+msgstr "Hallo. Ich bin Ronin.\nDer Wellen-Clan ist wie meine Familie. In vergangenen Zeiten hat der Nami-Clan ganz Ost-Tandor beherrscht.\nHeute ist der Ozean ein Zufluchtsort für Piraten... Vielleicht wären die Dinge besser,\nwenn wir wieder die Kontrolle hätten?"
+
+msgid "MAP204_NPC_8"
+msgstr "...Also. Du bist gekommen, um mich\nan meinem Tiefpunkt zu sehen.\nGeplagt von meiner beschämenden Niederlage... So einfach von einem Kind überwältigt zu werden...\nIch kann dem Dorf mein Gesicht nicht zeigen bis ich die sechs geheiligten Künste von Großmeister Yoshitaka beherrsche. Aber solange seine besten Schüler in alle Winde verstreut sind, bleibt mein Training unvollständig. Ich muss stärker werden...! Du und ich werden unser schicksalhaftes Rematch austragen.\nEines Tages..."
+
+msgid "MAP204_NPC_9"
+msgstr "Wie ich die obersten Anführer beschreiben soll?\nNun, um es einfach auszudrücken...\nSie sind das spirituelle, politische und historische Fundament von Tsukinami. Ohne sie würden wir keinen Frieden kennen. Sie sind wahrlich von den Göttern gesegnet."
+
+msgid "MAP206_SIGN_1"
+msgstr "Theo: Brrrrr!\nSo sieht es aus, PN! Wir müssen einfach weiter gehen und die Prüfung abschließen! Na los, lass uns gehen!"
+
+msgid "MAP206_TRAINER_1"
+msgstr "Du bist vorangeschritten, hast viele beschwerliche Aufgaben bewältigt und bist schließlich bei der Wahrheit angekommen. Dies wird dein letzter Test sein. Du darfst keine Items einsetzen, während wir kämpfen. Du musst einfach den Fähigkeiten deiner Pokémon vertrauen und ohne zu zögern vorankommen! Du hast alle fünf Prüfungen gemeistert. Du bist nun bereit, Arenaleiter Vaeryn gegenüber zu treten. Komm."
+
+msgid "MAP206_TRAINER_1_DEFEAT"
+msgstr "Gut gemacht."
+
+msgid "MAP207_NPC_1"
+msgstr "bCICERO:/b Wie können wir zwischen Realität und Traum unterscheiden?"
+
+msgid "MAP207_NPC_2"
+msgstr "bANTIPHON:/b Wusstest du: Im Traum verlässt die Seele den schlafenden Körper?"
+
+msgid "MAP207_NPC_3"
+msgstr "bARISTOTELES:/b Nützlichkeit. Vergnügen. Tugend.\nDies sind die Eigenschaften der Freundschaft. PN erhielt. . . etwas. . . aber es wird zu Staub in deinen Händen. Du hast eine plötzliche Vision von etwas, das sich hinter Rosalinds Arena verändert."
+
+msgid "MAP207_SIGN_1"
+msgstr "Da schläft ein Schiflink im Tee."
+
+msgid "MAP207_SIGN_2"
+msgstr "^^^"
+
+msgid "MAP208_NPC_1"
+msgstr "Du hast eine plötzliche Vision, dass sich auf der Route 13 etwas verändert."
+
+msgid "MAP209_NPC_1"
+msgstr "Willkommen in der Ferienanlage! Und du bist der Star! Bleib eine Weile... Oder bleib für immer. Puste einfach in die Muschel, wenn du etwas brauchst."
+
+msgid "MAP209_SIGN_1"
+msgstr "Der Sand der Zeit läuft für dich ab..."
+
+msgid "MAP210_NPC_1"
+msgstr "Manchmal müssen Opfer gebracht werden. Manchmal geht harte Arbeit in Flammen auf. Aber manchmal können die Flammen des Todes zum Licht der Erlösung werden. Wenn du ein Pokémon namens Antarki triffst, kannst du ihm vertrauen."
+
+msgid "MAP212_SIGN_1"
+msgstr "Die eine Seite lässt dich größer werden, die andere Seite lässt dich kleiner werden."
+
+msgid "MAP213_NPC_1"
+msgstr "Etwas erhellte die Szene!"
+
+msgid "MAP213_NPC_2"
+msgstr "Etwas erhellte die Szene!"
+
+msgid "MAP213_NPC_3"
+msgstr "Etwas erhellte die Szene!"
+
+msgid "MAP213_NPC_4"
+msgstr "Etwas erhellte die Szene!"
+
+msgid "MAP213_NPC_5"
+msgstr "Du hast eine plötzliche Vision, wie sich etwas auf der Route 13 verändert."
+
+msgid "MAP213_NPC_6"
+msgstr "Vereine die Visionen. Vereine Wind und Wasser. Vereine Träumer und Blut, Träumer und Atem."
+
+msgid "MAP213_NPC_7"
+msgstr "Vereine die Erinnerungen. Vereine Ost und West. Vereine Träumer und Familie."
+
+msgid "MAP213_NPC_8"
+msgstr "Du hast eine plötzliche Vision, wie sich etwas auf der Route 13 verändert."
+
+msgid "MAP213_NPC_9"
+msgstr "Somnivora macht Geräusche des Unbehagens."
+
+msgid "MAP213_SIGN_1"
+msgstr ""
+
+msgid "MAP213_SIGN_2"
+msgstr "Ein Auge starrt dich an, wo kein Auge gemeißelt ist."
+
+msgid "MAP213_SIGN_3"
+msgstr "\"Komm! Hierher, Masking! Hiiieerher, Masking!\""
+
+msgid "MAP214_NPC_1"
+msgstr "Sie ist da drin gefangen!\nWenn du versuchst, das Glas einzuschlagen, fühlt sich dein Arm extrem langsam und schwer an. Du kannst nicht richtig zuschlagen."
+
+msgid "MAP214_SIGN_1"
+msgstr "Es gibt keine funktionierenden Knöpfe. Es gibt keine Möglichkeit, Fenchel zu befreien."
+
+msgid "MAP214_SIGN_2"
+msgstr "Die Buchstaben sind unleserlich, aber du kannst dich an alles erinnern."
+
+msgid "MAP216_NPC_1"
+msgstr "Du hast eine plötzliche Vision von etwas, das sich hinter Rosalinds Arena verändert."
+
+msgid "MAP216_NPC_2"
+msgstr "Du hast eine plötzliche Vision von etwas, das sich in der Nähe von Fenchels Hotelzimmer in Tsukinami verändert."
+
+msgid "MAP216_SIGN_1"
+msgstr "Ein Nachttisch mit einem Buch. Der größte Teil des Textes ist verstümmelt, aber man kann eine Zeile erkennen: \n\"Denn das ganze Leben ist ein Traum, und die Träume selbst sind nur Träume.\""
+
+msgid "MAP216_SIGN_2"
+msgstr "Der Kaminsims leuchtet sanft. Darunter befindet sich eine Inschrift: c3=48D8D8,A8E0E0\"Der Zenit hängt von einem sehr vielversprechenden Stern ab.\"/c3 c3=48D8D8,A8E0E0\"Führe mich, wie eine Fackel in der Dunkelheit.\"/c3"
+
+msgid "MAP216_SIGN_3"
+msgstr "Der Kaminsims leuchtet sanft. Darunter befindet sich eine Inschrift: c3=48D8D8,A8E0E0\"Führe mich, wie eine Fackel in der Dunkelheit.\"/c3 c3=48D8D8,A8E0E0\"Der Zenit hängt von einem sehr vielversprechenden Stern ab.\"/c3"
+
+msgid "MAP216_SIGN_4"
+msgstr "Der Kaminsims leuchtet sanft. Darunter befindet sich eine Inschrift: c3=48D8D8,A8E0E0\"Führe mich, wie eine Fackel in der Dunkelheit.\"/c3 c3=48D8D8,A8E0E0\"Der Zenit hängt von einem sehr vielversprechenden Stern ab.\"/c3"
+
+msgid "MAP216_SIGN_5"
+msgstr "Der Kaminsims leuchtet sanft. Darunter befindet sich eine Inschrift: c3=48D8D8,A8E0E0\"Der Zenit hängt von einem sehr vielversprechenden Stern ab.\"/c3 c3=48D8D8,A8E0E0\"Führe mich, wie eine Fackel in der Dunkelheit.\"/c3"
+
+msgid "MAP217_SIGN_1"
+msgstr "Der Text ändert sich sogar, während du auf ihn starrst. Deine Augen tränen. Du glaubst, du kannst ein großes T ausmachen"
diff --git a/Dialogue/Generated/de/HandFixes.po b/Dialogue/Generated/de/HandFixes.po
new file mode 100644
index 000000000..11df776dd
--- /dev/null
+++ b/Dialogue/Generated/de/HandFixes.po
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "PASSAGE_CAVE_TRAINER_1_DEFEATED"
+msgstr "Auuuu!"
+
+msgid "PASSAGE_CAVE_TRAINER_2_DEFEATED"
+msgstr "Urgh...!"
+
+msgid "PASSAGE_CAVE_TRAINER_3_DEFEATED"
+msgstr "Aaaaargh!"
diff --git a/Dialogue/Generated/de/OfficialItems.po b/Dialogue/Generated/de/OfficialItems.po
new file mode 100644
index 000000000..7f790a1fb
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialItems.po
@@ -0,0 +1,3256 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "Repel"
+msgstr "Schutz"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 100 steps after its use."
+msgstr "Hält 100 Schritte lang schwache, wilde Pokémon ab."
+
+msgid "Super Repel"
+msgstr "Superschutz"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 200 steps after its use."
+msgstr "Hält 200 Schritte lang schwache, wilde Pokémon ab."
+
+msgid "Max Repel"
+msgstr "Top-Schutz"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 250 steps after its use."
+msgstr "Hält 250 Schritte lang schwache, wilde Pokémon ab."
+
+msgid "Black Flute"
+msgstr "Schwarze Flöte"
+
+msgid "A black flute made from blown glass. Its melody makes wild Pokémon less likely to appear."
+msgstr "Eine schwarze, gläserne Flöte, die wilde Pokémon vom Angriff abhalten kann."
+
+msgid "White Flute"
+msgstr "Weiße Flöte"
+
+msgid "A white flute made from blown glass. Its melody makes wild Pokémon more likely to appear."
+msgstr "Eine durchsichtige, gläserne Flöte, die wilde Pokémon anziehen kann."
+
+msgid "Honey"
+msgstr "Honig"
+
+msgid "A sweet honey with an aroma that attracts wild Pokémon when used in grass, caves or on special trees."
+msgstr "Der Duft dieses Honigs lockt wilde Pokémon an. Verwende ihn in hohem Gras oder an besonderen Bäumen."
+
+msgid "Escape Rope"
+msgstr "Fluchtseil"
+
+msgid "A long, durable rope. Use it to escape instantly from a cave or a dungeon."
+msgstr "Ein langes, festes Seil, das die sofortige Flucht aus Höhlen oder Ähnlichem ermöglicht."
+
+msgid "Red Shard"
+msgstr "Purpurstück"
+
+msgid "A small red shard. It appears to be from some sort of implement made long ago."
+msgstr "Eine rote Scherbe eines antiken Werkzeugs, das vor langer Zeit angefertigt wurde."
+
+msgid "Blue Shard"
+msgstr "Indigostück"
+
+msgid "A small blue shard. It appears to be from some sort of implement made long ago."
+msgstr "Eine blaue Scherbe eines antiken Werkzeugs, das vor langer Zeit angefertigt wurde."
+
+msgid "Yellow Shard"
+msgstr "Gelbstück"
+
+msgid "A small yellow shard. It appears to be from some sort of implement made long ago."
+msgstr "Eine gelbe Scherbe eines antiken Werkzeugs, das vor langer Zeit angefertigt wurde."
+
+msgid "Green Shard"
+msgstr "Grünstück"
+
+msgid "A small green shard. It appears to be from some sort of implement made long ago."
+msgstr "Eine grüne Scherbe eines antiken Werkzeugs, das vor langer Zeit angefertigt wurde."
+
+msgid "Fire Stone"
+msgstr "Feuerstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is colored orange."
+msgstr "Dieser spezielle Stein löst bei bestimmten Pokémon die Entwicklung aus. Er ist orange."
+
+msgid "Water Stone"
+msgstr "Wasserstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is a clear, light blue."
+msgstr "Dieser spezielle Stein löst bei bestimmten Pokémon die Entwicklung aus. Er ist hellblau."
+
+msgid "Thunderstone"
+msgstr "Donnerstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It has a thunderbolt pattern."
+msgstr "Dieser spezielle Stein löst bei bestimmten Pokémon die Entwicklung aus. Er hat ein Blitzmuster."
+
+msgid "Leaf Stone"
+msgstr "Blattstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It has a leaf pattern."
+msgstr "Dieser spezielle Stein löst bei bestimmten Pokémon die Entwicklung aus. Er hat ein Blattmuster."
+
+msgid "Moon Stone"
+msgstr "Mondstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as black as the night sky."
+msgstr "Dieser spezielle Stein löst bei bestimmten Pokémon die Entwicklung aus. Er ist schwarz wie die Nacht."
+
+msgid "Sun Stone"
+msgstr "Sonnenstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as red as the sun."
+msgstr "Dieser spezielle Stein löst bei bestimmten Pokémon die Entwicklung aus. Er ist rot wie die Sonne."
+
+msgid "Shiny Stone"
+msgstr "Leuchtstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It shines with a dazzling light."
+msgstr "Dieser besondere, hell leuchtende Stein hilft manchen Pokémon bei ihrer Evolution."
+
+msgid "Dusk Stone"
+msgstr "Finsterstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as dark as dark can be."
+msgstr "Dieser besondere, düstere Stein hilft manchen Pokémon bei ihrer Evolution."
+
+msgid "Dawn Stone"
+msgstr "Funkelstein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It sparkles like eyes."
+msgstr "Dieser besondere, glitzernde Stein hilft manchen Pokémon bei ihrer Evolution."
+
+msgid "Oval Stone"
+msgstr "Ovaler Stein"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is shaped like an egg."
+msgstr "Dieser besondere, eiförmige Stein hilft manchen Pokémon bei ihrer Evolution."
+
+msgid "Helix Fossil"
+msgstr "Helixfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a seashell."
+msgstr "Das Fossil eines antiken Pokémon, das in der Tiefsee lebte. Es sieht wie ein Muschelstück aus."
+
+msgid "Dome Fossil"
+msgstr "Domfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a shell."
+msgstr "Das Fossil eines antiken Pokémon, das in der Tiefsee lebte. Es sieht wie das Stück einer Muschel aus."
+
+msgid "Old Amber"
+msgstr "Altbernstein"
+
+msgid "A piece of clear amber that contains the genetic material of an ancient Pokémon."
+msgstr "Ein Stück Bernstein, in dem die Gene eines antiken Pokémon enthalten sind. Es ist durchsichtig!"
+
+msgid "Root Fossil"
+msgstr "Wurzelfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a plant root."
+msgstr "Das Fossil eines uralten Pokémon, das in der Tiefsee lebte. Es sieht wie eine Pflanzenwurzel aus."
+
+msgid "Claw Fossil"
+msgstr "Klauenfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a claw."
+msgstr "Das Fossil eines uralten Pokémon, das in der Tiefsee lebte. Es sieht wie eine Klaue aus."
+
+msgid "Armor Fossil"
+msgstr "Panzerfossil"
+
+msgid "A fossil from a prehistoric Pokémon that lived on the land. It appears to be part of a collar."
+msgstr "Das Fossil eines antiken Pokémon, das an Land lebte. Es sieht wie ein Schlüsselbein aus."
+
+msgid "Skull Fossil"
+msgstr "Kopffossil"
+
+msgid "A fossil from a prehistoric Pokémon that lived on the land. It appears to be part of a head."
+msgstr "Das Fossil eines antiken Pokémon, das an Land lebte. Es sieht wie ein Schädel aus."
+
+msgid "TinyMushroom"
+msgstr "Minipilz"
+
+msgid "A small and rare mushroom. It is quite popular among certain maniacal fan segments."
+msgstr "Ein kleiner und seltener Pilz. Seine Fans sind ganz aus dem Häuschen, wenn sie einen finden."
+
+msgid "Big Mushroom"
+msgstr "Riesenpilz"
+
+msgid "A large and rare mushroom. It is very popular among certain maniacal fan segments."
+msgstr "Ein großer und seltener Pilz. Liebhaber dieses Pilzes freuen sich ein Loch in den Bauch, wenn sie einen finden."
+
+msgid "Pearl"
+msgstr "Perle"
+
+msgid "A somewhat-small pearl that sparkles in a pretty silver color. It can be sold cheaply to shops."
+msgstr "Eine relativ kleine Perle, die in schönem Silber funkelt. Sie ist von geringem Wert."
+
+msgid "Big Pearl"
+msgstr "Riesenperle"
+
+msgid "A quite-large pearl that sparkles in a pretty silver color. It can be sold at a high price to shops."
+msgstr "Eine relativ große Perle, die in schönem Silber funkelt. Sie ist von hohem Wert."
+
+msgid "Stardust"
+msgstr "Sternenstaub"
+
+msgid "Lovely, red-colored sand with a loose, silky feel. It can be sold at a high price to shops."
+msgstr "Schöner, roter Sand, der sich seidenweich anfühlt. Er ist von hohem Wert."
+
+msgid "Star Piece"
+msgstr "Sternenstück"
+
+msgid "A shard of a pretty gem that sparkles in a red color. It can be sold at a high price to shops."
+msgstr "Teil eines hübschen Edelsteins, der in rötlicher Farbe schimmert. Erzielt einen hohen Preis, wenn man ihn verkauft."
+
+msgid "A nugget of pure gold that gives off a lustrous gleam. It can be sold at a high price to shops."
+msgstr "Ein Nugget aus purem Gold, das einen schimmernden Glanz besitzt. Es ist von großem Wert."
+
+msgid "Heart Scale"
+msgstr "Herzschuppe"
+
+msgid "A pretty, heart-shaped scale that is extremely rare. It glows faintly in the colors of the rainbow."
+msgstr "Eine hübsche, herzförmige, sehr seltene Schuppe. Sie erstrahlt in den Farben des Regenbogens."
+
+msgid "Rare Bone"
+msgstr "Steinknochen"
+
+msgid "A bone that is extremely valuable for Pokémon archaeology. It can be sold for a high price to shops."
+msgstr "Dieser Knochen erfreut jeden Pokémon-Archäologen. Er ist von hohem Wert."
+
+msgid "Shoal Salt"
+msgstr "Küstensalz"
+
+msgid "Pure salt that was discovered deep inside the Shoal Cave. It is extremely salty."
+msgstr "Salz, das sich tief in der Küstenhöhle befand. Es ist extrem salzig!"
+
+msgid "Shoal Shell"
+msgstr "Küstenschale"
+
+msgid "A pretty seashell that was found deep inside the Shoal Cave. It is striped in blue and white."
+msgstr "Eine schöne Muschelschale, die sich in der Küstenhöhle befand. Sie ist blauweiß gestreift."
+
+msgid "Odd Keystone"
+msgstr "Spiritkern"
+
+msgid "A vital item that is needed to keep a stone tower from collapsing. Voices can be heard from it occasionally."
+msgstr "Ein wichtiges Item, mit dem ein Steinturm repariert werden kann."
+
+msgid "Growth Mulch"
+msgstr "Wachsmulch"
+
+msgid "A plant fertilizer. It speeds up the growth of Berries. However, it also dries the soil faster."
+msgstr "Ein Dünger für weichen Boden. Die Beeren wachsen schneller, aber die Erde trocknet aus."
+
+msgid "Damp Mulch"
+msgstr "Feuchtmulch"
+
+msgid "A plant fertilizer. It slows the growth of Berries and causes the soil to dry slower."
+msgstr "Ein Dünger für weichen Boden. Die Beeren wachsen langsamer, aber die Erde bleibt feuchter."
+
+msgid "Stable Mulch"
+msgstr "Stabilmulch"
+
+msgid "A plant fertilizer. It extends the time ripened Berries remain on their plants before falling."
+msgstr "Ein Dünger für weichen Boden. Die Beeren halten länger, bevor sie zu Boden fallen."
+
+msgid "Gooey Mulch"
+msgstr "Neumulch"
+
+msgid "A plant fertilizer. It ups the number of times new plants grow where mature plants withered."
+msgstr "Ein Dünger für weichen Boden. Erhöht die Rate neuer Pflanzen, nachdem alte verwelkt sind."
+
+msgid "Red Apricorn"
+msgstr "Aprikoko Rot"
+
+msgid "A red Apricorn. It assails your nostrils."
+msgstr "Eine rote Aprikoko. Besitzt einen stechenden Geruch."
+
+msgid "Ylw Apricorn"
+msgstr "Aprikoko Glb"
+
+msgid "A yellow Apricorn. It has an invigorating scent."
+msgstr "Eine gelbe Aprikoko. Sie riecht ein wenig unreif."
+
+msgid "Blu Apricorn"
+msgstr "Aprikoko Blu"
+
+msgid "A blue Apricorn. It smells a bit like grass."
+msgstr "Eine blaue Aprikoko. Ein frischer Geruch geht von ihr aus."
+
+msgid "Grn Apricorn"
+msgstr "Aprikoko Grn"
+
+msgid "A green Apricorn. It has a mysterious, aromatic scent."
+msgstr "Eine grüne Aprikoko. Sie verströmt einen seltsam aromatischen Duft."
+
+msgid "Pnk Apricorn"
+msgstr "Aprikoko Pnk"
+
+msgid "A pink Apricorn. It has a nice, sweet scent."
+msgstr "Eine pinkfarbene Aprikoko. Sie duftet süß und appetitanregend."
+
+msgid "Wht Apricorn"
+msgstr "Aprikoko Wss"
+
+msgid "A white Apricorn. It doesn't smell like anything."
+msgstr "Eine weiße Aprikoko. Riecht nach überhaupt nichts."
+
+msgid "Blk Apricorn"
+msgstr "Aprikoko Swz"
+
+msgid "A black Apricorn. It has an indescribable scent."
+msgstr "Eine schwarze Aprikoko. Sie riecht irgendwie unbeschreiblich."
+
+msgid "BrightPowder"
+msgstr "Blendpuder"
+
+msgid "An item to be held by a Pokémon. It casts a tricky glare that lowers the opponent's accuracy."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es senkt die Genauigkeit des Gegners."
+
+msgid "White Herb"
+msgstr "Schlohkraut"
+
+msgid "An item to be held by a Pokémon. It restores any lowered stat in battle. It can be used only once."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es hebt jede negative Statuswertveränderung auf."
+
+msgid "Exp. Share"
+msgstr "EP-Teiler"
+
+msgid "An item to be held by a Pokémon. The holder gets a share of a battle's Exp. Points without battling."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es teilt die Erfahrungs-Punkte aus einem Kampf auf."
+
+msgid "Quick Claw"
+msgstr "Flinkklaue"
+
+msgid "An item to be held by a Pokémon. A light, sharp claw that lets the bearer move first occasionally."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es hebt die Erstschlagquote."
+
+msgid "Soothe Bell"
+msgstr "Sanftglocke"
+
+msgid "An item to be held by a Pokémon. It is a bell with a comforting chime that calms the holder."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es besänftigt und fördert Sympathie."
+
+msgid "Mental Herb"
+msgstr "Mentalkraut"
+
+msgid "An item to be held by a Pokémon. It snaps the holder out of infatuation, just once."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es erlöst Pokémon von Anziehung."
+
+msgid "King's Rock"
+msgstr "King-Stein"
+
+msgid "An item to be held by a Pokémon. It may cause the foe to flinch when the holder inflicts damage."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es kann den Gegner zurückweichen lassen."
+
+msgid "SilverPowder"
+msgstr "Silberstaub"
+
+msgid "An item to be held by a Pokémon. It is a shiny, silver powder that ups the power of Bug-type moves."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es verbessert Attacken vom Typ Käfer."
+
+msgid "Amulet Coin"
+msgstr "Münzamulett"
+
+msgid "An item to be held by a Pokémon. It doubles a battle's prize money if the holding Pokémon joins in."
+msgstr "Ein Item, das ein Pokémon trägt und das doppeltes Preisgeld bringt, wenn der Träger am Kampf teilnimmt."
+
+msgid "Cleanse Tag"
+msgstr "Schutzband"
+
+msgid "An item to be held by a Pokémon. It helps keep wild Pokémon away if the holder is the first one in the party."
+msgstr "Ein Item zum Tragen. Reduziert Begegnungen mit wilden Pokémon, wenn der Träger an erster Stelle steht."
+
+msgid "Smoke Ball"
+msgstr "Rauchball"
+
+msgid "An item to be held by a Pokémon. It enables the holder to flee from any wild Pokémon without fail."
+msgstr "Ein Pokémon kann dieses Item tragen. Es erhöht die Chance, aus einem Kampf mit einem wilden Pokémon zu fliehen."
+
+msgid "Everstone"
+msgstr "Ewigstein"
+
+msgid "An item to be held by a Pokémon. The Pokémon holding this peculiar stone is prevented from evolving."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es bewirkt einen Entwicklungsstopp."
+
+msgid "Focus Band"
+msgstr "Fokus-Band"
+
+msgid "An item to be held by a Pokémon. The holder may endure a potential KO attack, leaving it with just 1 HP."
+msgstr "Ein Item, das die Kampfunfähigkeit verhindern kann, da dem Träger 1 KP bleibt."
+
+msgid "Lucky Egg"
+msgstr "Glücks-Ei"
+
+msgid "An item to be held by a Pokémon. It is an egg filled with happiness that earns extra Exp. Points in battle."
+msgstr "Ein getragenes Item, das mit Glück gefüllt ist und für zusätzliche E.-Punkte im Kampf sorgt."
+
+msgid "Scope Lens"
+msgstr "Scope-Linse"
+
+msgid "An item to be held by a Pokémon. It is a lens that boosts the holder's critical-hit ratio."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es erhöht die Volltrefferquote."
+
+msgid "Wide Lens"
+msgstr "Großlinse"
+
+msgid "An item to be held by a Pokémon. It is a magnifying lens that slightly boosts the accuracy of moves."
+msgstr "Ein Item zum Tragen. Dieses Vergrößerungsglas erhöht die Genauigkeit etwas."
+
+msgid "Zoom Lens"
+msgstr "Zoomlinse"
+
+msgid "An item to be held by a Pokémon. If the holder moves after the foe, its critical-hit ratio will be boosted."
+msgstr "Ein Item zum Tragen. Agiert das Ziel zuerst, erhöht sich die Genauigkeit des Trägers."
+
+msgid "Metal Coat"
+msgstr "Metallmantel"
+
+msgid "An item to be held by a Pokémon. It is a special metallic film that ups the power of Steel-type moves."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es verstärkt Attacken vom Typ Stahl."
+
+msgid "Leftovers"
+msgstr "Überreste"
+
+msgid "An item to be held by a Pokémon. The holder's HP is gradually restored during battle."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Es füllt im Kampf stetig KP auf."
+
+msgid "Dragon Scale"
+msgstr "Drachenhaut"
+
+msgid "A thick and tough scale. Dragon-type Pokémon may be holding this item when caught."
+msgstr "Eine dicke und starke Haut. Drachen-Pokémon tragen dieses Item gerne bei sich."
+
+msgid "Shell Bell"
+msgstr "Seegesang"
+
+msgid "An item to be held by a Pokémon. The holder's HP is restored a little every time it inflicts damage."
+msgstr "Ein Item zum Tragen. Es stellt einige KP des Trägers immer dann wieder her, wenn dieser dem Ziel Schaden zufügt."
+
+msgid "Muscle Band"
+msgstr "Muskelband"
+
+msgid "An item to be held by a Pokémon. It is a headband that slightly boosts the power of physical moves."
+msgstr "Ein Item zum Tragen. Dieses Stirnband verstärkt physische Attacken etwas."
+
+msgid "Wise Glasses"
+msgstr "Schlauglas"
+
+msgid "An item to be held by a Pokémon. It is a thick pair of glasses that boosts the power of special moves."
+msgstr "Ein Item zum Tragen. Diese dicke Brille verstärkt auf Spezial-Angriff basierende Attacken."
+
+msgid "Expert Belt"
+msgstr "Expertengurt"
+
+msgid "An item to be held by a Pokémon. It is a well-worn belt that boosts the power of supereffective moves."
+msgstr "Ein Item zum Tragen. Dieser alte Gürtel verstärkt sehr effektive Attacken."
+
+msgid "Life Orb"
+msgstr "Leben-Orb"
+
+msgid "An item to be held by a Pokémon. It boosts the power of moves, but at the cost of some HP on each hit."
+msgstr "Ein Item zum Tragen. Verstärkt Attacken, aber jede Attacke kostet den Träger KP."
+
+msgid "Power Herb"
+msgstr "Energiekraut"
+
+msgid "A single-use item to be held by a Pokémon. It allows the immediate use of a move that charges."
+msgstr "Ein Item zum einmaligen Tragen. Der Träger kann dadurch eine Attacke sofort einsetzen, die sonst aufgeladen werden muss."
+
+msgid "Toxic Orb"
+msgstr "Toxik-Orb"
+
+msgid "An item to be held by a Pokémon. It is a bizarre orb that badly poisons the holder in battle."
+msgstr "Ein Item zum Tragen. Dieser bizarre Orb vergiftet seinen Träger im Kampf schwer."
+
+msgid "Flame Orb"
+msgstr "Heiß-Orb"
+
+msgid "An item to be held by a Pokémon. It is a bizarre orb that inflicts a burn on the holder in battle."
+msgstr "Ein Item zum Tragen. Dieser bizarre Orb fügt seinem Träger Verbrennungen zu."
+
+msgid "Focus Sash"
+msgstr "Fokusgurt"
+
+msgid "An item to be held by a Pokémon. If it has full HP, the holder will endure a potential KO attack."
+msgstr "Ein Item zum Tragen. Bei vollen KP bleibt der Träger nach einer K.O.-Attacke einmalig mit 1 KP im Kampf."
+
+msgid "Metronome"
+msgstr "Metronom"
+
+msgid "A Pokémon hold item that boosts a move used consecutively."
+msgstr "Ein Item zum Tragen. Verstärkt eine Attacke, je öfter sie in Folge ausgeführt wird."
+
+msgid "Iron Ball"
+msgstr "Eisenkugel"
+
+msgid "A Pokémon hold item that cuts Speed. It makes airborne holders susceptible to Ground moves."
+msgstr "Ein Item zum Tragen, das Flug-Pokémon anfällig für Attacken vom Typ Boden macht. Senkt den Initiative-Wert."
+
+msgid "Lagging Tail"
+msgstr "Schwerschweif"
+
+msgid "An item to be held by a Pokémon. It is tremendously heavy and makes the holder move slower than usual."
+msgstr "Ein Item zum Tragen. Es ist immens schwer und senkt die Geschwindigkeit des Trägers."
+
+msgid "Destiny Knot"
+msgstr "Fatumknoten"
+
+msgid "A long, bright red string to be held by a Pokémon. If the holder becomes infatuated, the foe does too."
+msgstr "Ein Item zum Tragen. Wird der Träger betört, gilt dies auch für den Angreifer."
+
+msgid "Black Sludge"
+msgstr "Giftschleim"
+
+msgid "A hold item that gradually restores the HP of Poison-type Pokémon. It inflicts damage on all other types."
+msgstr "Ein Item zum Tragen, das einem Gift-Pokémon KP zurückgibt, anderen Pokémon aber Schaden zufügt."
+
+msgid "Grip Claw"
+msgstr "Griffklaue"
+
+msgid "A Pokémon hold item that extends the duration of multiturn attacks like Bind and Wrap."
+msgstr "Ein Item zum Tragen. Verlängert die Dauer von Klammergriff, Wickel etc."
+
+msgid "Sticky Barb"
+msgstr "Klettdorn"
+
+msgid "A hold item that damages the holder on every turn. It may latch on to foes that touch the holder."
+msgstr "Dieses Item (Tragen) schadet dem Träger in jeder Runde und eventuell dem Gegner, wenn der den Träger berührt."
+
+msgid "Shed Shell"
+msgstr "Wechselhülle"
+
+msgid "A tough, discarded carapace to be held by a Pokémon. It enables the holder to switch out of battle."
+msgstr "Ein Item zum Tragen. Dieser harte Panzer ermöglicht den Austausch des Trägers gegen ein wartendes Pokémon."
+
+msgid "Big Root"
+msgstr "Großwurzel"
+
+msgid "A Pokémon hold item that boosts the power of HP-stealing moves to let the holder recover more HP."
+msgstr "Ein Item zum Tragen. Verstärkt KP-stehlende Attacken."
+
+msgid "Choice Band"
+msgstr "Wahlband"
+
+msgid "An item to be held by a Pokémon. This headband ups Attack, but allows the use of only one kind of move."
+msgstr "Ein Item, das ein Pokémon tragen kann. Es stärkt den Angriffs-Wert. Aber nur eine Attacke ist einsetzbar."
+
+msgid "Choice Specs"
+msgstr "Wahlglas"
+
+msgid "A Pokémon hold item. These distinctive glasses boost Sp. Atk, but allow only one move to be used."
+msgstr "Ein Item zum Tragen. Die Brille erhöht den Spezial-Angriff, erlaubt aber nur eine Attackenart."
+
+msgid "Choice Scarf"
+msgstr "Wahlschal"
+
+msgid "An item to be held by a Pokémon. This scarf boosts Speed, but allows the use of only one kind of move."
+msgstr "Ein Item zum Tragen. Der Schal erhöht den Initiative-Wert, erlaubt aber nur eine Attackenart."
+
+msgid "Light Clay"
+msgstr "Lichtlehm"
+
+msgid "A Pokémon hold item that extends the duration of barrier moves like Light Screen and Reflect."
+msgstr "Ein Item zum Tragen. Verlängert die Dauer von Lichtschild, Reflektor etc."
+
+msgid "Icy Rock"
+msgstr "Eisbrocken"
+
+msgid "A Pokémon hold item that extends the duration of the move Hail used by the holder."
+msgstr "Ein Item zum Tragen. Verlängert die Dauer von Hagelsturm."
+
+msgid "Smooth Rock"
+msgstr "Glattbrocken"
+
+msgid "A Pokémon hold item that extends the duration of the move Sandstorm used by the holder."
+msgstr "Ein Item zum Tragen. Verlängert die Dauer von Sandsturm."
+
+msgid "Heat Rock"
+msgstr "Heißbrocken"
+
+msgid "A Pokémon hold item that extends the duration of the move Sunny Day used by the holder."
+msgstr "Ein Item zum Tragen. Verlängert die Dauer von Sonnentag."
+
+msgid "Damp Rock"
+msgstr "Nassbrocken"
+
+msgid "A Pokémon hold item that extends the duration of the move Rain Dance used by the holder."
+msgstr "Ein Item zum Tragen. Verlängert die Dauer von Regentanz."
+
+msgid "Macho Brace"
+msgstr "Machoband"
+
+msgid "A Pokémon hold item that is a stiff and heavy brace that promotes strong growth but lowers Speed."
+msgstr "Ein Item, das einem Pokémon zum Tragen gegeben werden kann. Fördert Wachstum, senkt Initiative."
+
+msgid "Power Bracer"
+msgstr "Machtreif"
+
+msgid "A Pokémon hold item that promotes Attack gain on leveling, but reduces the Speed stat."
+msgstr "Ein Item zum Tragen. Erhöht beim Levelaufstieg den Angriffs-Wert, senkt aber die Initiative."
+
+msgid "Power Belt"
+msgstr "Machtgurt"
+
+msgid "A Pokémon hold item that promotes Defense gain on leveling, but reduces the Speed stat."
+msgstr "Ein Item zum Tragen. Erhöht beim Levelaufstieg den Verteidigungs-Wert, senkt aber die Initiative."
+
+msgid "Power Lens"
+msgstr "Machtlinse"
+
+msgid "A Pokémon hold item that promotes Sp. Atk gain on leveling, but reduces the Speed stat."
+msgstr "Ein Item zum Tragen. Erhöht beim Levelaufstieg den Spezial-Angriff, senkt aber die Initiative."
+
+msgid "Power Band"
+msgstr "Machtband"
+
+msgid "A Pokémon hold item that promotes Sp. Def gain on leveling, but reduces the Speed stat."
+msgstr "Ein Item zum Tragen. Erhöht beim Levelaufstieg die Spezial-Verteidigung, senkt aber die Initiative."
+
+msgid "Power Anklet"
+msgstr "Machtkette"
+
+msgid "A Pokémon hold item that promotes Speed gain on leveling, but reduces the Speed stat."
+msgstr "Ein Item zum Tragen. Erhöht beim Levelaufstieg den Initiative-Wert, senkt aber die Initiative allgemein."
+
+msgid "Power Weight"
+msgstr "Machtgewicht"
+
+msgid "A Pokémon hold item that promotes HP gain on leveling, but reduces the Speed stat."
+msgstr "Ein Item zum Tragen. Erhöht beim Levelaufstieg die maximalen KP, senkt aber die Initiative."
+
+msgid "Sea Incense"
+msgstr "Seerauch"
+
+msgid "A Pokémon hold item. It is incense with a curious aroma that boosts the power of Water-type moves."
+msgstr "Ein Item zum Tragen. Sein ausgefallenes Aroma verstärkt Attacken vom Typ Wasser."
+
+msgid "Lax Incense"
+msgstr "Laxrauch"
+
+msgid "A Pokémon hold item. The tricky aroma of this incense lowers the foe's accuracy."
+msgstr "Ein Item zum Tragen. Das komplizierte Aroma senkt die Genauigkeit des Gegners."
+
+msgid "Odd Incense"
+msgstr "Schrägrauch"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Psychic-type moves."
+msgstr "Ein Item zum Tragen. Dieses exotische Duftkraut verstärkt Attacken vom Typ Psycho."
+
+msgid "Rock Incense"
+msgstr "Steinrauch"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Rock-type moves."
+msgstr "Ein Item zum Tragen. Dieses exotische Duftkraut verstärkt Attacken vom Typ Gestein."
+
+msgid "Full Incense"
+msgstr "Lahmrauch"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that makes the holder bloated and slow moving."
+msgstr "Ein Item zum Tragen. Dieses exotische Duftkraut macht den Träger benommen und langsam."
+
+msgid "Wave Incense"
+msgstr "Wellenrauch"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Water-type moves."
+msgstr "Ein Item zum Tragen. Dieses exotische Duftkraut verstärkt Attacken vom Typ Wasser."
+
+msgid "Rose Incense"
+msgstr "Rosenrauch"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Grass-type moves."
+msgstr "Ein Item zum Tragen. Dieses exotische Duftkraut verstärkt Attacken vom Typ Pflanze."
+
+msgid "Luck Incense"
+msgstr "Glücksrauch"
+
+msgid "Pure Incense"
+msgstr "Scheuchrauch"
+
+msgid "Soft Sand"
+msgstr "Pudersand"
+
+msgid "An item to be held by a Pokémon. It is a loose, silky sand that boosts the power of Ground-type moves."
+msgstr "Ein Item zum Tragen. Samtiger Sand, der Attacken vom Typ Boden verstärkt."
+
+msgid "Hard Stone"
+msgstr "Granitstein"
+
+msgid "An item to be held by a Pokémon. It is an unbreakable stone that ups the power of Rock-type moves."
+msgstr "Ein Item zum Tragen. Ein unzerbrechlicher Stein, der Attacken vom Typ Gestein verstärkt."
+
+msgid "Miracle Seed"
+msgstr "Wundersaat"
+
+msgid "An item to be held by a Pokémon. It is a seed imbued with life that ups the power of Grass-type moves."
+msgstr "Ein Item zum Tragen. Ein Samen voller Lebenskraft der Attacken vom Typ Pflanze verstärkt."
+
+msgid "BlackGlasses"
+msgstr "Schattenglass"
+
+msgid "An item to be held by a Pokémon. It is a shady-looking pair of glasses that boosts Dark-type moves."
+msgstr "Ein Item zum Tragen. Eine dunkle Brille, die Attacken vom Typ Unlicht verstärkt."
+
+msgid "Black Belt"
+msgstr "Schwarzgurt"
+
+msgid "An item to be held by a Pokémon. It is a belt that boosts determination and Fighting-type moves."
+msgstr "Ein Item zum Tragen. Der Gürtel verstärkt die Entschlossenheit und Attacken vom Typ Kampf."
+
+msgid "An item to be held by a Pokémon. It is a powerful magnet that boosts the power of Electric-type moves."
+msgstr "Ein Item zum Tragen, dessen magnetische Kraft Attacken vom Typ Elektro verstärkt."
+
+msgid "Mystic Water"
+msgstr "Zauberwasser"
+
+msgid "An item to be held by a Pokémon. It is a teardrop-shaped gem that ups the power of Water-type moves."
+msgstr "Ein Item zum Tragen. Ein tränenförmiger Edelstein, der Attacken vom Typ Wasser verstärkt."
+
+msgid "Sharp Beak"
+msgstr "Hackattack"
+
+msgid "An item to be held by a Pokémon. It is a long, sharp beak that boosts the power of Flying-type moves."
+msgstr "Ein Item zum Tragen. Ein langer, scharfer Schnabel verstärkt Attacken vom Typ Flug."
+
+msgid "Poison Barb"
+msgstr "Giftstich"
+
+msgid "An item to be held by a Pokémon. It is a small, poisonous barb that ups the power of Poison-type moves."
+msgstr "Ein Item zum Tragen. Ein schmaler und giftiger Widerhaken, der Attacken vom Typ Gift verstärkt."
+
+msgid "NeverMeltIce"
+msgstr "Ewiges Eis"
+
+msgid "An item to be held by a Pokémon. It is a piece of ice that repels heat and boosts Ice-type moves."
+msgstr "Ein Item zum Tragen. Ein Stück Eis, das Hitze fernhält und Attacken vom Typ Eis verstärkt."
+
+msgid "Spell Tag"
+msgstr "Bannsticker"
+
+msgid "An item to be held by a Pokémon. It is a sinister, eerie tag that boosts the power of Ghost-type moves."
+msgstr "Ein Item zum Tragen. Ein fieser, unheimlicher Sticker, der Attacken vom Typ Geist verstärkt."
+
+msgid "TwistedSpoon"
+msgstr "Krummlöffel"
+
+msgid "A Pokémon hold item. It is a spoon imbued with telekinetic power that boosts Psychic-type moves."
+msgstr "Ein Item zum Tragen. Ein Löffel voll mit telekinetischer Energie, der Attacken vom Typ Psycho verstärkt."
+
+msgid "Charcoal"
+msgstr "Holzkohle"
+
+msgid "An item to be held by a Pokémon. It is a combustible fuel that boosts the power of Fire-type moves."
+msgstr "Ein Item zum Tragen. Ein Heizmittel, das Attacken vom Typ Feuer verstärkt."
+
+msgid "Dragon Fang"
+msgstr "Drachenzahn"
+
+msgid "An item to be held by a Pokémon. It is a hard and sharp fang that ups the power of Dragon-type moves."
+msgstr "Ein Item zum Tragen. Ein harter und scharfer Reißzahn, der Attacken vom Typ Drache verstärkt."
+
+msgid "Silk Scarf"
+msgstr "Seidenschal"
+
+msgid "An item to be held by a Pokémon. It is a sumptuous scarf that boosts the power of Normal-type moves."
+msgstr "Ein Item zum Tragen. Ein kostbarer Schal, der Attacken vom Typ Normal verstärkt."
+
+msgid "Flame Plate"
+msgstr "Feuertafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fire-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Feuer."
+
+msgid "Splash Plate"
+msgstr "Wassertafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Water-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Wasser."
+
+msgid "Zap Plate"
+msgstr "Blitztafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Electric-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Elektro."
+
+msgid "Meadow Plate"
+msgstr "Wiesentafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Grass-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Pflanze."
+
+msgid "Icicle Plate"
+msgstr "Frosttafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ice-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Eis."
+
+msgid "Fist Plate"
+msgstr "Fausttafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fighting-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Kampf."
+
+msgid "Toxic Plate"
+msgstr "Gifttafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Poison-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Gift."
+
+msgid "Earth Plate"
+msgstr "Erdtafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ground-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Boden."
+
+msgid "Sky Plate"
+msgstr "Wolkentafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Flying-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Flug."
+
+msgid "Mind Plate"
+msgstr "Hirntafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Psychic-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Psycho."
+
+msgid "Insect Plate"
+msgstr "Käfertafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Bug-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Käfer."
+
+msgid "Stone Plate"
+msgstr "Steintafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Rock-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Gestein."
+
+msgid "Spooky Plate"
+msgstr "Spuktafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ghost-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Geist."
+
+msgid "Draco Plate"
+msgstr "Dracotafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Dragon-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Drache"
+
+msgid "Dread Plate"
+msgstr "Furchttafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Dark-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Unlicht."
+
+msgid "Iron Plate"
+msgstr "Eisentafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Steel-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Stahl."
+
+msgid "Light Ball"
+msgstr "Kugelblitz"
+
+msgid "An item to be held by Pikachu. It is a puzzling orb that raises the Sp. Atk stat."
+msgstr "Ein Item, das von Pikachu getragen werden kann. Es erhöht den Angriffs-Wert und Spezial-Angriff."
+
+msgid "An item to be held by Chansey. It is a pair of gloves that boosts CHANSEY's critical-hit ratio."
+msgstr "Ein Item, das von Chaneira getragen werden kann. Diese Handschuhe erhöhen die Volltrefferquote von Chaneira."
+
+msgid "Metal Powder"
+msgstr "Metallstaub"
+
+msgid "An item to be held by Ditto. Extremely fine yet hard, this odd powder boosts the Defense stat."
+msgstr "Ein Item, das von Ditto getragen werden kann. Es erhöht seinen Verteidigungs-Wert."
+
+msgid "Quick Powder"
+msgstr "Flottstaub"
+
+msgid "An item to be held by Ditto. Extremely fine yet hard, this odd powder boosts the Speed stat."
+msgstr "Ein Item, das Ditto zum Tragen gegeben werden kann. Fein und doch hart, erhöht es den Initiative-Wert."
+
+msgid "Thick Club"
+msgstr "Kampfknochen"
+
+msgid "An item to be held by Cubone or Marowak. It is a hard bone of some sort that boosts the Attack stat."
+msgstr "Ein harter Knochen, der den Angriffs-Wert von Tragosso oder Knogga erhöht, wenn sie ihn tragen."
+
+msgid "Stick"
+msgstr "Lauchstange"
+
+msgid "An item to be held by Farfetch'd. It is a long and stiff leek stalk that boosts the critical-hit ratio."
+msgstr "Ein Item, das von Porenta getragen werden kann. Diese lange Lauchstange erhöht die Volltrefferquote."
+
+msgid "Soul Dew"
+msgstr "Seelentau"
+
+msgid "A wondrous orb to be held by Latios or Latias. It raises both the Sp. Atk and Sp. Def stats."
+msgstr "Ein Item, das von Latios oder Latias getragen werden kann. Es hebt Spezial-Angriff und Spezial-Verteidigung."
+
+msgid "DeepSeaTooth"
+msgstr "Abysszahn"
+
+msgid "An item to be held by Clamperl. A fang that gleams a sharp silver, it raises the Sp. Atk stat."
+msgstr "Ein Item, das von Perlu getragen werden kann. Es schimmert silbern und hebt den Spezial-Angriff."
+
+msgid "DeepSeaScale"
+msgstr "Abyssplatte"
+
+msgid "An item to be held by Clamperl. A scale that shines a faint pink, it raises the Sp. Def stat."
+msgstr "Ein Item, das von Perlu getragen werden kann. Es schimmert pink und hebt die Spezial-Verteidigung."
+
+msgid "Adamant Orb"
+msgstr "Adamant-Orb"
+
+msgid "A brightly gleaming orb to be held by Dialga. It boosts the power of Dragon- and Steel-type moves."
+msgstr "Ein hell leuchtender Orb. Verstärkt Attacken vom Typ Drachen und Stahl, wenn Dialga ihn trägt."
+
+msgid "Lustrous Orb"
+msgstr "Weiß-Orb"
+
+msgid "A beautifully glowing orb to be held by Palkia. It boosts the power of Dragon- and Water-type moves."
+msgstr "Ein hell leuchtender Orb. Verstärkt Attacken vom Typ Drachen und Wasser, wenn Palkia ihn trägt."
+
+msgid "Griseous Orb"
+msgstr "Platinum-Orb"
+
+msgid "A glowing orb to be held by Giratina. It boosts the power of Dragon- and Ghost-type moves."
+msgstr "Ein glühender Orb. Verstärkt Attacken vom Typ Drachen und Geist, wenn Giratina ihn trägt."
+
+msgid "A transparent device filled with all sorts of data. It was produced by Silph Co."
+msgstr "Ein durchsichtiges Gerät. Es enthält jede Menge Daten der Silph Co."
+
+msgid "Dubious Disc"
+msgstr "Dubiosdisc"
+
+msgid "A transparent device overflowing with dubious data. Its producer is unknown."
+msgstr "Eine Scheibe voller seltsamer Daten. Ihr Ursprung ist unbekannt."
+
+msgid "Protector"
+msgstr "Schützer"
+
+msgid "A protective item of some sort. It is extremely stiff and heavy. It is loved by a certain Pokémon."
+msgstr "Eine Art Schutzvorrichtung. Steif und schwer. Das Lieblingsstück eines bestimmten Pokémon."
+
+msgid "Electirizer"
+msgstr "Stromisierer"
+
+msgid "A box packed with a tremendous amount of electric energy. It is loved by a certain Pokémon."
+msgstr "Eine Schachtel voller elektrischer Energie. Das Lieblingsstück eines bestimmten Pokémon."
+
+msgid "Magmarizer"
+msgstr "Magmaisierer"
+
+msgid "A box packed with a tremendous amount of magma energy. It is loved by a certain Pokémon."
+msgstr "Eine Schachtel voller Magmaenergie. Das Lieblingsstück eines bestimmten Pokémon."
+
+msgid "Reaper Cloth"
+msgstr "Düsterumhang"
+
+msgid "A cloth imbued with horrifyingly strong spiritual energy. It is loved by a certain Pokémon."
+msgstr "Ein Stoffumhang voller geistiger Energie. Das Lieblingsstück eines bestimmten Pokémon."
+
+msgid "Razor Claw"
+msgstr "Scharfklaue"
+
+msgid "An item to be held by a Pokémon. It is a sharply hooked claw that ups the holder's critical-hit ratio."
+msgstr "Ein Item zum tragen. Die scharfe Klaue erhöht die Volltrefferquote des Trägers."
+
+msgid "Razor Fang"
+msgstr "Scharfzahn"
+
+msgid "Red Scarf"
+msgstr "Roter Schal"
+
+msgid "An item to be held by a Pokémon. It boosts the “Cool” aspect of the holder in a Contest."
+msgstr "Ein Item zum Tragen. Trainer erhöhen damit in Wettbewerben die \"Coolness\" ihres Pokémon."
+
+msgid "Blue Scarf"
+msgstr "Blauer Schal"
+
+msgid "An item to be held by a Pokémon. It boosts the “Beauty” aspect of the holder in a Contest."
+msgstr "Ein Item zum Tragen. Trainer erhöhen damit in Wettbewerben die \"Schönheit\" ihres Pokémon."
+
+msgid "Pink Scarf"
+msgstr "Rosa Schal"
+
+msgid "An item to be held by a Pokémon. It boosts the “Cute” aspect of the holder in a Contest."
+msgstr "Ein Item zum Tragen. Trainer erhöhen damit in Wettbewerben die \"Anmut\" ihres Pokémon."
+
+msgid "Green Scarf"
+msgstr "Grüner Schal"
+
+msgid "An item to be held by a Pokémon. It boosts the “Smart” aspect of the holder in a Contest."
+msgstr "Ein Item zum Tragen. Trainer erhöhen damit in Wettbewerben die \"Klugheit\" ihres Pokémon."
+
+msgid "Yellow Scarf"
+msgstr "Gelber Schal"
+
+msgid "An item to be held by a Pokémon. It boosts the “Tough” aspect of the holder in a Contest."
+msgstr "Ein Item zum Tragen. Trainer erhöhen damit in Wettbewerben die \"Stärke\" ihres Pokémon."
+
+msgid "Potion"
+msgstr "Trank"
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by just 20 points."
+msgstr "Hilft bei Wunden. Füllt die KP eines Pokémon um 20 Punkte auf."
+
+msgid "Super Potion"
+msgstr "Supertrank"
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by 50 points."
+msgstr "Hilft bei Wunden. Füllt die KP eines Pokémon um 50 Punkte auf."
+
+msgid "Hyper Potion"
+msgstr "Hypertrank"
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by 200 points."
+msgstr "Hilft bei Wunden. Füllt die KP eines Pokémon um 200 Punkte auf."
+
+msgid "Max Potion"
+msgstr "Top-Trank"
+
+msgid "A spray-type medicine for wounds. It completely restores the HP of a single Pokémon."
+msgstr "Hilft bei Wunden. Füllt die KP eines Pokémon wieder vollständig auf."
+
+msgid "Full Restore"
+msgstr "Top-Genesung"
+
+msgid "A medicine that fully restores the HP and heals any status problems of a single Pokémon."
+msgstr "Dieses Item stellt alle KP eines Pokémon wieder her und behebt alle Statusprobleme."
+
+msgid "Sacred Ash"
+msgstr "Zauberasche"
+
+msgid "It revives all fainted Pokémon. In doing so, it also fully restores their HP."
+msgstr "Belebt und erfrischt alle besiegten Pokémon und füllt deren KP vollständig wieder auf."
+
+msgid "Antidote"
+msgstr "Gegengift"
+
+msgid "A spray-type medicine. It lifts the effect of poison from one Pokémon."
+msgstr "Ein Spray, das Vergiftungen eines Pokémon heilt."
+
+msgid "Burn Heal"
+msgstr "Feuerheiler"
+
+msgid "A spray-type medicine. It heals a single Pokémon that is suffering from a burn."
+msgstr "Ein Spray, das Verbrennungen eines Pokémon heilt."
+
+msgid "Ice Heal"
+msgstr "Eisheiler"
+
+msgid "A spray-type medicine. It defrosts a Pokémon that has been frozen solid."
+msgstr "Ein Spray, das ein eingefrorenes Pokémon auftaut."
+
+msgid "Awakening"
+msgstr "Aufwecker"
+
+msgid "A spray-type medicine. It awakens a Pokémon from the clutches of sleep."
+msgstr "Ein Spray, das ein schlafendes Pokémon aufweckt."
+
+msgid "Parlyz Heal"
+msgstr "Para-Heiler"
+
+msgid "A spray-type medicine. It eliminates paralysis from a single Pokémon."
+msgstr "Ein Spray, das ein Pokémon von Paralyse heilt."
+
+msgid "Full Heal"
+msgstr "Hyperheiler"
+
+msgid "A spray-type medicine. It heals all the status problems of a single Pokémon."
+msgstr "Ein Spray, das alle Statusprobleme eines Pokémon behebt."
+
+msgid "Lava Cookie"
+msgstr "Lavakeks"
+
+msgid "Lavaridge Town's local specialty. It heals all the status problems of one Pokémon."
+msgstr "Eine Spezialität aus Bad Lavastadt, die alle Statusprobleme eines Pokémon heilt."
+
+msgid "Old Gateau"
+msgstr "Spezialität"
+
+msgid "Old Chateau's hidden specialty. It heals all the status problems of a single Pokémon."
+msgstr "Eine gut versteckte Spezialität aus Ewigenau. Sie behebt alle Statusprobleme eines Pokémon."
+
+msgid "Revive"
+msgstr "Beleber"
+
+msgid "A medicine that revives a fainted Pokémon. It restores half the Pokémon's maximum HP."
+msgstr "Eine Medizin, die ein kampfunfähiges Pokémon wiederbelebt. Die Hälfte der maximalen KP wird wiederhergestellt."
+
+msgid "Max Revive"
+msgstr "Top-Beleber"
+
+msgid "A medicine that revives a fainted Pokémon. It fully restores the Pokémon's HP."
+msgstr "Eine Medizin, die ein kampfunfähiges Pokémon wiederbelebt. Die KP werden vollständig wiederhergestellt."
+
+msgid "Berry Juice"
+msgstr "Beerensaft"
+
+msgid "A 100% pure juice made of Berries. It restores the HP of one Pokémon by just 20 points."
+msgstr "Hundertprozentiger Fruchtsaft, aus Beeren gekeltert. Füllt die KP eines Pokémon um 20 Punkte auf."
+
+msgid "Fresh Water"
+msgstr "Tafelwasser"
+
+msgid "Water with a high mineral content. It restores the HP of one Pokémon by 50 points."
+msgstr "Ein stilles Wasser mit hohem Mineralienanteil, das die KP eines Pokémon um 50 Punkte auffüllt."
+
+msgid "Soda Pop"
+msgstr "Sprudel"
+
+msgid "A fizzy soda drink. It restores the HP of one Pokémon by 60 points."
+msgstr "Ein sprudelndes Mineralwasser, das die KP eines Pokémon um 60 Punkte auffüllt."
+
+msgid "Lemonade"
+msgstr "Limonade"
+
+msgid "A very sweet drink. It restores the HP of one Pokémon by 80 points."
+msgstr "Ein sehr süßes Getränk, das die KP eines Pokémon um 80 Punkte auffüllt."
+
+msgid "Moomoo Milk"
+msgstr "Kuhmuh-Milch"
+
+msgid "Milk with a very high nutrition content. It restores the HP of one Pokémon by 100 points."
+msgstr "Eine äußerst nährstoffreiche Milch, die die KP eines Pokémon um 100 Punkte auffüllt."
+
+msgid "EnergyPowder"
+msgstr "Energiestaub"
+
+msgid "A very bitter medicine powder. It restores the HP of one Pokémon by 50 points."
+msgstr "Ein bitteres medizinisches Pulver, das die KP eines Pokémon um 50 Punkte auffüllt."
+
+msgid "Energy Root"
+msgstr "Kraftwurzel"
+
+msgid "A very bitter root. It restores the HP of one Pokémon by 200 points."
+msgstr "Eine bittere Wurzel. Sie füllt die KP eines Pokémon um 200 Punkte auf."
+
+msgid "Heal Powder"
+msgstr "Heilpuder"
+
+msgid "A very bitter medicine powder. It heals all the status problems of a single Pokémon."
+msgstr "Ein bitteres medizinisches Pulver, das alle Statusprobleme eines Pokémon aufhebt."
+
+msgid "Revival Herb"
+msgstr "Vitalkraut"
+
+msgid "A very bitter medicinal herb. It revives a fainted Pokémon, fully restoring its HP."
+msgstr "Ein bitteres medizinisches Kraut, das kampfunfähige Pokémon belebt und die KP vollständig auffüllt."
+
+msgid "Ether"
+msgstr "Äther"
+
+msgid "It restores the PP of a Pokémon's selected move by a maximum of 10 points."
+msgstr "Füllt die AP einer ausgewählten Attacke eines Pokémon um 10 Punkte auf."
+
+msgid "Max Ether"
+msgstr "Top-Äther"
+
+msgid "It fully restores the PP of a single selected move that has been learned by the target Pokémon."
+msgstr "Füllt die AP einer ausgewählten Attacke eines Pokémon vollständig auf."
+
+msgid "Elixir"
+msgstr "Elixier"
+
+msgid "It restores the PP of all the moves learned by the targeted Pokémon by 10 points each."
+msgstr "Füllt die AP aller Attacken eines Pokémon um 10 Punkte auf."
+
+msgid "Max Elixir"
+msgstr "Top-Elixier"
+
+msgid "It fully restores the PP of all the moves learned by the targeted Pokémon."
+msgstr "Füllt alle AP aller Attacken eines Pokémon vollständig auf."
+
+msgid "HP Up"
+msgstr "KP-Plus"
+
+msgid "A nutritious drink for Pokémon. It raises the base HP of a single Pokémon."
+msgstr "Ein gehaltvolles Getränk, das den KP-Basiswert eines Pokémon dauerhaft erhöht."
+
+msgid "A nutritious drink for Pokémon. It raises the base Attack stat of a single Pokémon."
+msgstr "Ein gehaltvolles Getränk, das den Angriffs-Basiswert eines Pokémon dauerhaft erhöht."
+
+msgid "Iron"
+msgstr "Eisen"
+
+msgid "A nutritious drink for Pokémon. It raises the base Defense stat of a single Pokémon."
+msgstr "Ein gehaltvolles Getränk, das den Verteidigungs-Basiswert eines Pokémon dauerhaft erhöht."
+
+msgid "Carbos"
+msgstr "Carbon"
+
+msgid "A nutritious drink for Pokémon. It raises the base Speed stat of a single Pokémon."
+msgstr "Ein gehaltvolles Getränk, das den Initiative-Basiswert eines Pokémon dauerhaft erhöht."
+
+msgid "Calcium"
+msgstr "Kalzium"
+
+msgid "A nutritious drink for Pokémon. It raises the base Sp. Atk (Special Attack) stat of a single Pokémon."
+msgstr "Ein gehaltvolles Getränk, das den Spezial-Angriffs-Basiswert eines Pokémon dauerhaft erhöht."
+
+msgid "Zinc"
+msgstr "Zink"
+
+msgid "A nutritious drink for Pokémon. It raises the base Sp. Def (Special Defense) stat of a single Pokémon."
+msgstr "Ein gehaltvolles Getränk, das den Spezial-Verteidigungs-Basiswert eines Pokémon dauerhaft erhöht."
+
+msgid "PP Up"
+msgstr "AP-Plus"
+
+msgid "It slightly raises the maximum PP of a selected move that has been learned by the target Pokémon."
+msgstr "Erhöht die maximale Anzahl der AP einer Attacke eines Pokémon."
+
+msgid "PP Max"
+msgstr "AP-Top"
+
+msgid "It maximally raises the top PP of a selected move that has been learned by the target Pokémon."
+msgstr "Maximiert die Anzahl der AP einer Attacke eines Pokémon."
+
+msgid "Rare Candy"
+msgstr "Sonderbonbon"
+
+msgid "A candy that is packed with energy. It raises the level of a single Pokémon by one."
+msgstr "Ein energiereiches Bonbon, das den Level eines Pokémon dauerhaft um eins erhöht."
+
+msgid "Master Ball"
+msgstr "Meisterball"
+
+msgid "The best Ball with the ultimate level of performance. It will catch any wild Pokémon without fail."
+msgstr "Der beste Ball! Damit fängst du garantiert jedes wilde Pokémon."
+
+msgid "Ultra Ball"
+msgstr "Hyperball"
+
+msgid "An ultra-performance Ball that provides a higher Pokémon catch rate than a Great Ball."
+msgstr "Ein Ball mit hoher Erfolgsquote. Dem Superball in allen Punkten überlegen."
+
+msgid "Great Ball"
+msgstr "Superball"
+
+msgid "A good, high-performance Ball that provides a higher Pokémon catch rate than a standard Poké Ball."
+msgstr "Ein Ball mit guter Erfolgsquote. Dem Pokéball in allen Punkten überlegen."
+
+msgid "Poké Ball"
+msgstr "Pokéball"
+
+msgid "A device for catching wild Pokémon. A capsule system that is thrown like a ball at the target."
+msgstr "Damit fängst du wilde Pokémon. Du wirfst ihn wie einen normalen Ball. Das Design ähnelt dem einer Kapsel."
+
+msgid "Safari Ball"
+msgstr "Safariball"
+
+msgid "A special Poké Ball that is used only in the Great Marsh. It is decorated in a camouflage pattern."
+msgstr "Ein Ball, der nur in der Safarizone eingesetzt wird. Er besticht durch sein Tarnfarbenmuster."
+
+msgid "Net Ball"
+msgstr "Netzball"
+
+msgid "A somewhat different Poké Ball that works especially well on Water- and Bug-type Pokémon."
+msgstr "Ein Ball, der sich besonders gut eignet, um Wasser- und Käfer-Pokémon zu fangen."
+
+msgid "Dive Ball"
+msgstr "Tauchball"
+
+msgid "A somewhat different Poké Ball that works especially well on Pokémon that live in the sea."
+msgstr "Ein Ball, mit dem sich Pokémon, die auf dem Meeresgrund leben, besser fangen lassen."
+
+msgid "Nest Ball"
+msgstr "Nestball"
+
+msgid "A somewhat different Poké Ball that works especially well on weaker Pokémon in the wild."
+msgstr "Ein Ball, dessen Erfolgsquote besonders bei schwächeren Pokémon sehr hoch ist."
+
+msgid "Repeat Ball"
+msgstr "Wiederball"
+
+msgid "A somewhat different Poké Ball that works especially well on Pokémon species that were previously caught."
+msgstr "Ein Ball, der besonders dann sehr gut ist, wenn man ein Pokémon fängt, dessen Art bereits gefangen wurde."
+
+msgid "Timer Ball"
+msgstr "Timerball"
+
+msgid "A somewhat different Ball that becomes progressively better the more turns there are in a battle."
+msgstr "Ein Ball, der mit zunehmender Kampfdauer effektiver wird."
+
+msgid "Luxury Ball"
+msgstr "Luxusball"
+
+msgid "A comfortable Poké Ball that makes a caught wild Pokémon quickly grow friendly."
+msgstr "Ein behaglicher Ball, der Pokémon veranlasst, nach dem Fang schneller freundlicher zu werden."
+
+msgid "Premier Ball"
+msgstr "Premierball"
+
+msgid "A somewhat rare Poké Ball that has been specially made to commemorate an event of some sort."
+msgstr "Ein eher seltener Ball, der als Reminiszenz an irgendein Ereignis hergestellt wurde."
+
+msgid "Dusk Ball"
+msgstr "Finsterball"
+
+msgid "A somewhat different Poké Ball that can easily catch wild Pokémon at night or in dark places."
+msgstr "Ein mysteriöser Ball, geeignet für Einsätze in der Nacht oder an dunklen Orten."
+
+msgid "Heal Ball"
+msgstr "Heilball"
+
+msgid "A remedial Poké Ball that restores the caught Pokémon's HP and eliminates any status problem."
+msgstr "Ein wohltuender Ball. Er füllt alle KP des gefangenen Pokémon auf und hebt alle Statusprobleme auf."
+
+msgid "Quick Ball"
+msgstr "Flottball"
+
+msgid "A somewhat different Poké Ball that works better at the start of a wild encounter."
+msgstr "Ein ungewöhnlicher Ball, der zu Beginn eines Kampfes am wirkungsvollsten ist."
+
+msgid "Cherish Ball"
+msgstr "Jubelball"
+
+msgid "A quite rare Poké Ball that has been specially crafted to commemorate an occasion of some sort."
+msgstr "Ein seltener Ball, der als Reminiszenz an irgendein Ereignis hergestellt wurde."
+
+msgid "Fast Ball"
+msgstr "Turboball"
+
+msgid "A Poké Ball that makes it easier to catch Pokémon which are quick to run away."
+msgstr "Ein Ball, der sich besonders gut eignet, um flinke Pokémon zu fangen."
+
+msgid "Level Ball"
+msgstr "Levelball"
+
+msgid "A Poké Ball for catching Pokémon that are a lower level than your own."
+msgstr "Ein Ball, mit dem sich Pokémon umso leichter fangen lassen, je niedriger ihr Level im Vergleich zu deinem Team ist."
+
+msgid "Lure Ball"
+msgstr "Köderball"
+
+msgid "A Poké Ball for catching Pokémon hooked by a Rod when fishing."
+msgstr "Ein Ball, der sich besonders gut eignet, um Pokémon zu fangen, die an deiner Angel hängen."
+
+msgid "Heavy Ball"
+msgstr "Schwerball"
+
+msgid "A Poké Ball for catching very heavy Pokémon."
+msgstr "Ein Ball, der sich besonders gut eignet, um Pokémon mit hohem Körpergewicht zu fangen."
+
+msgid "Love Ball"
+msgstr "Sympaball"
+
+msgid "A Poké Ball for catching Pokémon that are the opposite gender of your Pokémon."
+msgstr "Ein Ball, der sich besonders gut eignet, um Pokémon zu fangen, die ein anderes Geschlecht haben als dein Pokémon."
+
+msgid "Friend Ball"
+msgstr "Freundesball"
+
+msgid "A Poké Ball that makes caught Pokémon more friendly."
+msgstr "Ein besonderer Ball, der die Sympathie von gefangen Pokémon schneller ansteigen lässt."
+
+msgid "Moon Ball"
+msgstr "Mondball"
+
+msgid "A Poké Ball for catching Pokémon that evolve using the Moon Stone."
+msgstr "Ein Ball, der sich besonders gut eignet, um Pokémon zu fangen, die sich durch einen Mondstein weiterentwickeln."
+
+msgid "Sport Ball"
+msgstr "Turnierball"
+
+msgid "A special Poké Ball for the Bug-Catching Contest."
+msgstr "EIn Ball, der nur beim Käfertunier eingesetzt wird."
+
+msgid "Park Ball"
+msgstr "Parkball"
+
+msgid "A special Poké Ball for the Pal Park."
+msgstr "Ein Ball, der nur im Park der Freude eingesetzt wird."
+
+msgid "The user focuses its mind before launching this attack. It will fail if the user is hit before it is used."
+msgstr "Anwender konzentriert sich, bevor er angreift. Wird er vorher getroffen, ist die Attacke erfolglos."
+
+msgid "Sharp, huge claws hook and slash the foe quickly and with great power."
+msgstr "Der Gegner wird mit langen, scharfen Krallen brutal attackiert."
+
+msgid "The foe is hit with a pulsing blast of water. It may also confuse the target."
+msgstr "Der Gegner wird von einer kräftigen Wasserwelle getroffen. Diese kann ihn eventuell verwirren."
+
+msgid "The user quietly focuses its mind and calms its spirit to raise its Sp. Atk and Sp. Def stats."
+msgstr "Der Anwender konzentriert und beruhigt sich. So werden Spezial-Angriff und Spezial-Verteidigung verstärkt."
+
+msgid "The foe is scared off, to be replaced by another Pokémon in its party. In the wild, the battle ends."
+msgstr "Der Brüller schlägt das Ziel in die Flucht. Ein Kampf gegen ein wildes Pokémon wird beendet."
+
+msgid "A move that leaves the foe badly poisoned. This poison damage worsens every turn."
+msgstr "Das Ziel wird schwer vergiftet. Der Schaden durch das Gift wird in jeder Runde stärker."
+
+msgid "Summons a hailstorm that lasts for five turns. The hailstorm damages all types except Ice."
+msgstr "Der verursachte Hagelsturm hält 5 Runden an und schadet allen Pokémon, außer denen des Typs Eis."
+
+msgid "The user tenses its muscles to bulk up its body, boosting both its Attack and Defense stats."
+msgstr "Der Anwender spannt seine Muskeln an und steigert damit den Angriffs- und den Verteidigungs-Wert."
+
+msgid "The user forcefully shoots seeds at the foe. Two to five seeds are shot in rapid succession."
+msgstr "Der Anwender bewirft den Gegner in schneller Folge 2- bis 5-mal mit Samen."
+
+msgid "A variable move that changes type and power depending on the hidden ability of the Pokémon using it."
+msgstr "Die Stärke und der Typ dieser Attacke hängen vom jeweiligen Pokémon ab."
+
+msgid "The user intensifies the sun for five turns, powering up Fire-type moves."
+msgstr "Die Sonne brennt unbarmherzig 5 Runden lang. Dadurch werden Attacken vom Typ Feuer verstärkt."
+
+msgid "The target is taunted into a rage that allows it to use only attack moves for three turns."
+msgstr "Der Gegner wird so gereizt, dass er über 2 - 4 Runden nur Angriffsattacken einsetzt."
+
+msgid "The foe is struck with an icy-cold beam of energy. It may also freeze the target solid."
+msgstr "Der Gegner wird von einem eiskalten Energiestrahl getroffen. Dieser friert ihn eventuell ein."
+
+msgid "A howling blizzard is summoned to strike the foe. It may also freeze the target solid."
+msgstr "Eine gnadenlose Eis- und Schnee-Attacke, die alle Gegner trifft und sie eventuell einfrieren kann."
+
+msgid "The foe is attacked with a powerful beam. The user must rest on the next turn to regain its energy."
+msgstr "Eine äußerst starke Attacke, die viel Schaden anrichtet. Anwender muss sich in der nächsten Runde ausruhen."
+
+msgid "A wondrous wall of light is put up to suppress damage from special attacks for five turns."
+msgstr "Eine Wand aus Licht wird für 5 Runden errichtet. Sie senkt den durch Spezial-Angriffe herbeigeführten Schaden."
+
+msgid "It enables the user to evade all attacks. Its chance of failing rises if it is used in succession."
+msgstr "Garantierter Schutz in der Runde, in der die Attacke eingesetzt wird. Könnte bei häufigem Einsatz versagen."
+
+msgid "The user summons a heavy rain that falls for five turns, powering up Water-type moves."
+msgstr "Schwerer Niederschlag setzt für 5 Runden ein. Attacken vom Typ Wasser werden verstärkt."
+
+msgid "A nutrient-draining attack. The user's HP is restored by half the damage taken by the target."
+msgstr "Das Ziel wird angegriffen und die Hälfte des zugefügten Schadens dem Angreifer als KP gutgeschrieben."
+
+msgid "The user creates a protective field that prevents status problems like poison, paralysis, burn, and sleep."
+msgstr "Ein Schild schützt das Team 5 Runden lang vor Statusproblemen jeglicher Art."
+
+msgid "A full-power attack that grows more powerful the less the user likes its Trainer."
+msgstr "Je unbeliebter der Trainer bei seinem Pokémon ist, desto größer ist die Wirkung."
+
+msgid "A two-turn attack. The user gathers light, then blasts a bundled beam on the second turn."
+msgstr "Eine Attacke über 2 Runden. Zunächst wird Sonnenlicht absorbiert, anschließend erfolgt der Angriff."
+
+msgid "The foe is slammed with a sturdy tail of steel. It may also lower the target's Defense stat if it hits."
+msgstr "Der Gegner wird mit der harten Rute attackiert. Gleichzeitig kann sein Verteidigungs-Wert sinken."
+
+msgid "A strong electric blast is loosed at the foe. It may also leave the foe paralyzed."
+msgstr "Das Ziel wird von einem verheerenden Stromschlag getroffen. Kann eventuell Paralyse bewirken."
+
+msgid "A wicked thunderbolt is dropped on the foe to inflict damage. It may also leave the target paralyzed."
+msgstr "Das Ziel wird von einem mächtigen Donnerschlag, der Paralyse bewirken kann, heimgesucht."
+
+msgid "The user sets off an earthquake that hits all the Pokémon in the battle."
+msgstr "Ein mächtiges Beben, das die anderen Pokémon in der Nähe des Anwenders trifft."
+
+msgid "A full-power attack that grows more powerful the more the user likes its Trainer."
+msgstr "Je beliebter der Trainer bei seinem Pokémon ist, desto größer ist die Wirkung."
+
+msgid "The user burrows, then attacks on the second turn. It can also be used to exit dungeons."
+msgstr "In Runde 1 gräbt sich der Anwender ein und in Runde 2 greift er an. Macht Flucht aus Höhlen möglich."
+
+msgid "The foe is hit by a strong telekinetic force. It may also reduce the foe's Sp. Def stat."
+msgstr "Ein mächtiger Strahl telekinetischer Energie trifft das Ziel. Die Spezial-Verteidigung des Zieles sinkt eventuell."
+
+msgid "The user hurls a shadowy blob at the foe. It may also lower the foe's Sp. Def stat."
+msgstr "Das Ziel wird mit einem dunklen Klumpen attackiert, der eventuell die Spezial-Verteidigung senkt."
+
+msgid "The user attacks with tough fists, etc. It can also break any barrier such as Light Screen and Reflect."
+msgstr "Das Ziel wird mit der Handkante angegriffen. Barrieren wie Lichtschild oder Reflektor werden zerstört."
+
+msgid "The user begins moving so quickly that it creates illusory copies to raise its evasiveness."
+msgstr "Der Angreifer ist so schnell, dass virtuelle Abbilder generiert werden, die den Fluchtwert erhöhen."
+
+msgid "A wondrous wall of light is put up to suppress damage from physical attacks for five turns."
+msgstr "Eine Wand aus Licht wird für 5 Runden errichtet, die den Schaden physischer Attacken reduziert."
+
+msgid "The user strikes the foe with a quick jolt of electricity. This attack cannot be evaded."
+msgstr "Angriff mit schnellem Elektro-Schlag. Ausweichen nicht möglich."
+
+msgid "The foe is scorched with an intense blast of fire. The target may also be left with a burn."
+msgstr "Das Ziel wird in ein Flammenmeer gehüllt. Verursacht eventuell Verbrennungen."
+
+msgid "Unsanitary sludge is hurled at the foe. It may also poison the target."
+msgstr "Das Ziel wird mit Giftschlamm beworfen. Kann eventuell Vergiftungen hervorrufen."
+
+msgid "A five-turn sandstorm is summoned to hurt all combatants except the Rock, Ground, and Steel types."
+msgstr "Ein Sandsturm trifft für 5 Runden alle Pokémon, außer die vom Typ Boden, Gestein und Stahl."
+
+msgid "The foe is attacked with an intense blast of all-consuming fire. It may also leave the target with a burn."
+msgstr "Dem Ziel wird ordentlich eingeheizt. Kann eventuell Verbrennungen hervorrufen."
+
+msgid "Large boulders are hurled at the foe to inflict damage. It may also make the target flinch."
+msgstr "Das Ziel wird mit Felsen beworfen. Kann Initiative-Wert senken."
+
+msgid "The user confounds the foe with speed, then strikes. The attack lands without fail."
+msgstr "Der Anwender irritiert das Ziel durch Schnelligkeit, bevor er angreift. Diese Attacke trifft ihr Ziel immer."
+
+msgid "The user torments and enrages the foe, making it incapable of using the same move twice in a row."
+msgstr "Der Anwender bringt das Ziel in Rage. Dieses ist nicht mehr in der Lage, eine Attacke zweimal hintereinander anzuwenden."
+
+msgid "An attack move that doubles its power if the user is poisoned, paralyzed, or has a burn."
+msgstr "Ist der Anwender vergiftet, paralysiert oder leidet er unter Verbrennungen, verdoppelt sich die Kraft der Attacke."
+
+msgid "An attack move with effects that vary depending on the user's environment."
+msgstr "Angriff, der abhängig vom Ort noch einen Zusatzeffekt hat."
+
+msgid "The user goes to sleep for two turns. It fully restores the user's HP and heals any status problem."
+msgstr "Der Angreifer schläft 2 Runden. Dabei werden die KP aufgefüllt und die Statusprobleme behoben."
+
+msgid "If it is the opposite gender of the user, the foe becomes infatuated and less likely to attack."
+msgstr "Gehört das Ziel dem anderen Geschlecht an, verliebt es sich und greift eventuell nicht an."
+
+msgid "The user attacks and steals the foe's held item simultaneously. It can't steal if the user holds an item."
+msgstr "Der Anwender greift an und stiehlt dem Ziel gleichzeitig ein Item, sofern er selbst gerade kein Item trägt."
+
+msgid "The foe is hit with wings of steel. It may also raise the user's Defense stat."
+msgstr "Trifft das Ziel mit Stahlflügeln. Verteidigungs-Wert des Anwenders steigt eventuell."
+
+msgid "The user employs its psychic power to exchange abilities with the foe."
+msgstr "Anwender tauscht Fähigkeit mit dem Ziel."
+
+msgid "The user steals the effects of any healing or status-changing move the foe attempts to use."
+msgstr "Raubt den Effekt heilender oder Werte verändernder Attacken des Zieles."
+
+msgid "The user attacks the foe at full power using fiery energy. It also sharply reduces the user's Sp. Atk."
+msgstr "Angriff mit maximaler Kraft und feuriger Energie, der gleichzeitig den Spezial-Angriff des Angreifers stark senkt."
+
+msgid "The user lands and rests its body. It restores the user's HP by up to half of its top HP."
+msgstr "Anwender landet und ruht sich aus. KP des Anwenders werden um 50 % der maximalen KP aufgefüllt."
+
+msgid "The user attacks at full power. It may also lower the foe's Sp. Def stat if it hits."
+msgstr "Ein Angriff mit aller Macht. Die Spezial-Verteidigung des Zieles sinkt eventuell."
+
+msgid "The user draws power from nature and fires it at the foe. It may also lower the target's Sp. Def."
+msgstr "Anwender zieht Kraft aus der Natur und feuert sie auf das Ziel. Senkt eventuell Spezial-Verteidigung des Zieles."
+
+msgid "A restrained attack that prevents the foe from fainting. The target is left with at least 1 HP."
+msgstr "Eine zurückhaltende Attacke, die eine Kampfunfähigkeit des Zieles verhindert, dem mindestens 1 KP bleibt."
+
+msgid "If the foe's HP is down to under half, this attack will hit with double the power."
+msgstr "Hat das Ziel die Hälfte oder weniger seiner maximalen KP, trifft diese Attacke mit doppelter Kraft."
+
+msgid "The user flings its held item at the foe to attack. Its power and effects depend on the item."
+msgstr "Der Anwender wirft sein Item auf das Ziel. Die Kraft und die Wirkung hängen vom jeweiligen Item ab."
+
+msgid "The user attacks with an electric charge. The user uses the remaining electricity to up its Sp. Atk."
+msgstr "Greift mit einer elektrischen Entladung an. Der Spezial-Angriff des Anwenders steigt eventuell."
+
+msgid "The user endures any attack, leaving 1 HP. Its chance of failing rises if it is used in succession."
+msgstr "Der Anwender übersteht auch starke Attacken mit mindestens 1 KP. Kann bei häufigem Einsatz versagen."
+
+msgid "The foe is attacked with a shock wave generated by the user's gaping mouth."
+msgstr "Das Ziel wird mit einer Schockwelle angegriffen, die aus dem offenen Maul des Anwenders kommt."
+
+msgid "An energy-draining punch. The user's HP is restored by half the damage taken by the target."
+msgstr "Entzieht dem Ziel Energie. Die Hälfte des Schadens wird den KP des Anwenders zugerechnet."
+
+msgid "The user shoots a sinister, bluish white flame at the foe to inflict a burn."
+msgstr "Feuert eine fiese, blauweiße Flamme auf das Ziel ab, um Verbrennungen zu verursachen."
+
+msgid "The foe is attacked with powdery scales blown by wind. It may also raise all the user's stats."
+msgstr "Angriff mit Silberstaub. Eventuell werden alle Statuswerte des Anwenders erhöht."
+
+msgid "It prevents the foe from using its held item. Its Trainer is also prevented from using items on it."
+msgstr "Das Ziel kann weder getragene Items nutzen, noch kann sein Trainer Items auf es anwenden."
+
+msgid "The user explodes to inflict damage on all Pokémon in battle. The user faints upon using this move."
+msgstr "Anwender explodiert, richtet bei allen Pokémon in seiner Umgebung großen Schaden an und wird selbst kampfunfähig."
+
+msgid "The user slashes with a sharp claw made from shadows. It has a high critical-hit ratio."
+msgstr "Eine Klaue aus Schatten greift das Ziel an. Die Volltrefferquote ist dabei sehr hoch."
+
+msgid "The user stores power, then attacks. Its power is doubled if used after the foe."
+msgstr "Der Anwender lädt die Attacke auf. Handelt das Ziel vor dem Anwender, verdoppelt sich die Stärke der Attacke."
+
+msgid "The user recycles a single-use item that has been used in battle so it can be used again."
+msgstr "Recycling eines getragenen Items, das zuvor im Kampf verwendet wurde."
+
+msgid "The user charges the foe using every bit of its power. It must rest on the next turn to recover."
+msgstr "Ein harter Angriff mit aller Energie. Danach muss der Anwender sich ausruhen und neue Energie sammeln."
+
+msgid "The user polishes its body to reduce drag. It sharply raises the Speed stat."
+msgstr "Der Anwender poliert seinen Körper. Erhöht den Initiative-Wert deutlich."
+
+msgid "The user flashes a light that cuts the foe's accuracy. It can also be used to illuminate caves."
+msgstr "Erzeugt helles Licht, das die Genauigkeit des Zieles senkt. Erhellt dunkle Orte."
+
+msgid "The user stabs the foe with a sharpened stone from below. It has a high critical-hit ratio."
+msgstr "Angriff mit spitzen Steinen. Besitzt eine hohe Volltrefferquote."
+
+msgid "An attack move that inflicts double the damage if the user has been hurt by the foe in the same turn."
+msgstr "Wurde der Anwender in dieser Runde vom Ziel getroffen, macht diese Attacke doppelten Schaden."
+
+msgid "A weak electric charge is launched at the foe. It causes paralysis if it hits."
+msgstr "Das Ziel wird mit einem schwachen elektrischen Schlag angegriffen. Wird es getroffen, wird es paralysiert."
+
+msgid "The user tackles the foe from a high-speed spin. The slower the user, the greater the damage."
+msgstr "Eine verzerrte Drehattacke. Je langsamer der Anwender, desto mehr Schaden fügt er zu."
+
+msgid "A frenetic dance to uplift the fighting spirit. It sharply raises the user's Attack stat."
+msgstr "Ein wilder Tanz, der den Kampfgeist erhöhen soll. Der Angriffs-Wert des Anwenders steigt deutlich."
+
+msgid "The user lays a trap of levitating stones around the foe. The trap hurts foes that switch into battle."
+msgstr "Falle mit schwebenden Steinen. In den Kampf eingewechselte Ziele nehmen Schaden."
+
+msgid "The user hypnotizes itself into copying any stat change made by the foe."
+msgstr "Der Anwender hypnotisiert sich selbst, um die Statusveränderungen des Zieles zu kopieren."
+
+msgid "If it is the opposite gender of the user, the foe is charmed into sharply lowering its Sp. Atk stat."
+msgstr "Charme-Attacke, die den Spezial-Angriff des Zieles stark senkt, falls es dem anderen Geschlecht angehört."
+
+msgid "The user releases a horrible aura imbued with dark thoughts. It may also make the target flinch."
+msgstr "Anwender greift mit fürchterlicher Aura schlechter Gedanken an. Ziel schreckt eventuell zurück."
+
+msgid "The user slashes at the foe by crossing its scythes or claws as if they were a pair of scissors."
+msgstr "Der Anwender greift mit gekreuzten Scheren oder Klauen an, als wären diese eine normale Schere."
+
+msgid "While it is asleep, the user randomly uses one of the moves it knows."
+msgstr "Anwender setzt per Zufall eine ihm bekannte Attacke im Schlaf ein."
+
+msgid "The user draws power from the Berry it is holding to attack. The Berry determines its type and power."
+msgstr "Anwender zieht aus seiner derzeitigen Beere Kraft. Sie bestimmt Typ und Stärke der Attacke."
+
+msgid "The foe is stabbed with a tentacle or arm seeped with poison. It may also poison the foe."
+msgstr "Der Anwender greift mit giftigen Gliedmaßen wie Tentakeln oder Armen an. Das Ziel wird dabei eventuell vergiftet."
+
+msgid "An attack that works only on a sleeping foe. It absorbs half the damage caused to heal the user's HP."
+msgstr "Wirkt nur auf schlafende Gegner. Anwender erhält 50 % des Schadens als KP."
+
+msgid "The user snares the foe with grass and trips it. The heavier the foe, the greater the damage."
+msgstr "Gegner wird durch Gras ins Straucheln gebracht. Je schwerer der Gegner, desto mehr Schaden."
+
+msgid "The user enrages the foe into confusion. However, it also sharply raises the foe's Attack stat."
+msgstr "Reizt den Gegner und verursacht Verwirrung. Erhöht jedoch den gegnerischen Angriffswert."
+
+msgid "The user pecks the foe. If the foe is holding a Berry, the user plucks it and gains its effect."
+msgstr "Anwender pickt das Ziel, nimmt die Beere, falls das Ziel eine hält, und erhält ihren Effekt."
+
+msgid "After making its attack, the user rushes back to switch places with a party Pokémon in waiting."
+msgstr "Direkt nach der Attacke tauscht der Angreifer mit einem wartenden Pokémon den Platz."
+
+msgid "The user makes a copy of itself using some of its HP. The copy serves as the user's decoy."
+msgstr "Der Angreifer erschafft aus ein paar eigenen KP einen Klon, der als Ablenkung dient."
+
+msgid "The user gathers all its light energy and releases it in one shot. It may also lower the foe's Sp. Def stat."
+msgstr "Anwender sammelt Lichtenergie und feuert sie auf einmal ab. Senkt eventuell Spezial-Verteidigung des Zieles."
+
+msgid "The user creates a bizarre space in which slower Pokémon get to move first for five turns."
+msgstr "Anwender erzeugt einen bizarren Raum, in dem langsame Pokémon fünf Runden lang zuerst agieren."
+
+msgid "HM01"
+msgstr "VM01"
+
+msgid "The foe is cut with a scythe or a claw. It can also be used to cut down thin trees."
+msgstr "Der Gegner wird mit scharfen Klingen attackiert. Außerhalb des Kampfes werden damit kleine Bäume gefällt."
+
+msgid "HM02"
+msgstr "VM02"
+
+msgid "The user soars, then strikes on the second turn. It can also be used to fly to any familiar town."
+msgstr "In Runde 1 fliegt der Angreifer empor und attackiert in Runde 2. Man kann damit zu jedem bekannten Ort fliegen."
+
+msgid "HM03"
+msgstr "VM03"
+
+msgid "It swamps the entire battlefield with a giant wave. It can also be used to cross water."
+msgstr "Eine riesige Flutwelle ergießt sich über alle, außer den Anwender. Damit kann man auch auf dem Wasser surfen."
+
+msgid "HM04"
+msgstr "VM04"
+
+msgid "The foe is slugged with a punch thrown at maximum power. It can also be used to move boulders."
+msgstr "Den Gegner trifft ein energiegeladener Kraftschlag. Außerdem lassen sich mit der Attacke schwere Felsen bewegen."
+
+msgid "HM05"
+msgstr "VM05"
+
+msgid "Obstacles are moved, reducing the foe's evasion stat. It can also be used to clear deep fog."
+msgstr "Fluchtwert des Gegners wird durch Hindernisse gesenkt. Löst zudem Nebel auf."
+
+msgid "HM06"
+msgstr "VM06"
+
+msgid "The user slugs the foe with a shattering punch. It can also smash cracked boulders."
+msgstr "Zertrümmernder Angriff auf den Gegner. Kann auch Steine zertrümmern."
+
+msgid "HM07"
+msgstr "VM07"
+
+msgid "The user charges the foe at an awesome speed. It can also be used to climb a waterfall."
+msgstr "Eine mächtige Attacke, die den Gegner mit rasender Geschwindigkeit angreift. Sie macht Wasserfälle bezwingbar."
+
+msgid "HM08"
+msgstr "VM08"
+
+msgid "Diving on the first turn, the user floats up and attacks on the second turn."
+msgstr "Taucht in Runde 1 ab und greift in Runde 2 aus der Tiefe an. Ermöglicht Tauchgänge zum Meeresgrund."
+
+msgid "Cheri Berry"
+msgstr "Amrenabeere"
+
+msgid "It may be used or held by a Pokémon to recover from paralysis."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, heilt diese es von Paralyse."
+
+msgid "Chesto Berry"
+msgstr "Maronbeere"
+
+msgid "It may be used or held by a Pokémon to recover from sleep."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, erwacht es dadurch aus dem Schlaf."
+
+msgid "Pecha Berry"
+msgstr "Pirsifbeere"
+
+msgid "It may be used or held by a Pokémon to recover from poison."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, heilt diese es von Vergiftung."
+
+msgid "Rawst Berry"
+msgstr "Fragiabeere"
+
+msgid "It may be used or held by a Pokémon to recover from a burn."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, heilt diese es von Verbrennung."
+
+msgid "Aspear Berry"
+msgstr "Wilbirbeere"
+
+msgid "It may be used or held by a Pokémon to defrost it."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, heilt diese es von Frost."
+
+msgid "Leppa Berry"
+msgstr "Jonagobeere"
+
+msgid "It may be used or held by a Pokémon to restore a move's PP by 10."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, füllt sie die AP einer Attacke um 10 Punkte auf."
+
+msgid "Oran Berry"
+msgstr "Sinelbeere"
+
+msgid "It may be used or held by a Pokémon to heal the user by just 10 HP."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, füllt sie seine KP um 10 Punkte auf."
+
+msgid "Persim Berry"
+msgstr "Persimbeere"
+
+msgid "It may be used or held by a Pokémon to recover from confusion."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, heilt diese es von Verwirrung."
+
+msgid "Lum Berry"
+msgstr "Prunusbeere"
+
+msgid "It may be used or held by a Pokémon to recover from any status problem."
+msgstr "Gibst du diese Beere einem Pokémon zum Tragen, hebt sie alle seine Statusprobleme auf."
+
+msgid "Sitrus Berry"
+msgstr "Tsitrubeere"
+
+msgid "It may be used or held by a Pokémon to heal the user's HP a little."
+msgstr "Gibst du die Beere einem Pokémon zum Tragen, füllt diese seine KP ein wenig auf."
+
+msgid "Figy Berry"
+msgstr "Giefebeere"
+
+msgid "If held by a Pokémon, it restores the user's HP in a pinch, but may also cause confusion."
+msgstr "Als getragenes Item füllt die Beere im Notfall die KP eines Pokémon auf, doch ihr Aroma verwirrt jene, die es nicht mögen."
+
+msgid "Wiki Berry"
+msgstr "Wikibeere"
+
+msgid "Mago Berry"
+msgstr "Magobeere"
+
+msgid "Aguav Berry"
+msgstr "Gauvebeere"
+
+msgid "Iapapa Berry"
+msgstr "Yapabeere"
+
+msgid "Razz Berry"
+msgstr "Himmihbeere"
+
+msgid "Bury it in soft soil to grow a Razz Plant."
+msgstr "Eine Beerensorte, die in der Einall-Region ganz besonders selten ist."
+
+msgid "Bluk Berry"
+msgstr "Morbbeere"
+
+msgid "Bury it in soft soil to grow a Bluk Plant."
+msgstr "Eine Beerensorte, die in der Einall-Region ganz besonders selten ist."
+
+msgid "Nanab Berry"
+msgstr "Nanabbeere"
+
+msgid "Bury it in soft soil to grow a Nanab Plant."
+msgstr "Eine Beerensorte, die in der Einall-Region ganz besonders selten ist."
+
+msgid "Wepear Berry"
+msgstr "Nirbebeere"
+
+msgid "Bury it in soft soil to grow a Wepear Plant."
+msgstr "Eine Beerensorte, die in der Einall-Region ganz besonders selten ist."
+
+msgid "Pinap Berry"
+msgstr "Sananabeere"
+
+msgid "Bury it in soft soil to grow a Pinap Plant."
+msgstr "Eine Beerensorte, die in der Einall-Region ganz besonders selten ist."
+
+msgid "Pomeg Berry"
+msgstr "Granabeere"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base HP."
+msgstr "Isst ein Pokémon diese Beere, stärkt dies eure Freundschaft, verringert aber seinen KP-Basiswert."
+
+msgid "Kelpsy Berry"
+msgstr "Setangbeere"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Attack stat."
+msgstr "Isst ein Pokémon diese Beere, stärkt dies eure Freundschaft, verringert aber seinen Angriffs-Basiswert."
+
+msgid "Qualot Berry"
+msgstr "Qualotbeere"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Defense stat."
+msgstr "Isst ein Pokémon diese Beere, stärkt dies eure Freundschaft, verringert aber seinen Verteidigungs-Basiswert."
+
+msgid "Hondew Berry"
+msgstr "Honmelbeere"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Sp. Atk stat."
+msgstr "Isst ein Pokémon diese Beere, stärkt dies eure Freundschaft, verringert aber seinen Spezial-Angriffs-Basiswert."
+
+msgid "Grepa Berry"
+msgstr "Labrusbeere"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Sp. Def stat."
+msgstr "Isst ein Pokémon diese Beere, stärkt dies eure Freundschaft, verringert aber seinen Spezial-Verteidigungs-Basiswert."
+
+msgid "Tamato Berry"
+msgstr "Tamotbeere"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Speed stat."
+msgstr "Isst ein Pokémon diese Beere, stärkt dies eure Freundschaft, verringert aber seinen Initiative-Basiswert."
+
+msgid "Cornn Berry"
+msgstr "Saimbeere"
+
+msgid "Bury it in soft soil to grow a Cornn Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Saimbeeren wachsen."
+
+msgid "Magost Berry"
+msgstr "Magostbeere"
+
+msgid "Bury it in soft soil to grow a Magost Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Magostbeeren wachsen."
+
+msgid "Rabuta Berry"
+msgstr "Rabutabeere"
+
+msgid "Bury it in soft soil to grow a Rabuta Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Rabutabeeren wachsen."
+
+msgid "Nomel Berry"
+msgstr "Tronzibeere"
+
+msgid "Bury it in soft soil to grow a Nomel Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Tronzibeeren wachsen."
+
+msgid "Spelon Berry"
+msgstr "Kiwanbeere"
+
+msgid "Bury it in soft soil to grow a Spelon Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Kiwanbeeren wachsen."
+
+msgid "Pamtre Berry"
+msgstr "Pallmbeere"
+
+msgid "Bury it in soft soil to grow a Pamtre Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Pallmbeeren wachsen."
+
+msgid "Watmel Berry"
+msgstr "Wasmelbeere"
+
+msgid "Bury it in soft soil to grow a Watmel Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Wasmelbeeren wachsen."
+
+msgid "Durin Berry"
+msgstr "Durinbeere"
+
+msgid "Bury it in soft soil to grow a Durin Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Durinbeeren wachsen."
+
+msgid "Belue Berry"
+msgstr "Myrtilbeere"
+
+msgid "Bury it in soft soil to grow a Belue Plant."
+msgstr "Pflanze sie in Erde ein, damit neue Myrtilbeeren wachsen."
+
+msgid "Occa Berry"
+msgstr "Koakobeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Fire-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Feuer."
+
+msgid "Passho Berry"
+msgstr "Foepasbeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Water-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Wasser."
+
+msgid "Wacan Berry"
+msgstr "Kerzalbeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Electric-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Elektro."
+
+msgid "Rindo Berry"
+msgstr "Grindobeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Grass-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Pflanze."
+
+msgid "Yache Berry"
+msgstr "Kiroyabeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ice-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Eis."
+
+msgid "Chople Berry"
+msgstr "Rospelbeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Fighting-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Kampf."
+
+msgid "Kebia Berry"
+msgstr "Grarzbeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Poison-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Gift."
+
+msgid "Shuca Berry"
+msgstr "Schukebeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ground-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Boden."
+
+msgid "Coba Berry"
+msgstr "Kobabeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Flying-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Flug."
+
+msgid "Payapa Berry"
+msgstr "Pyapabeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Psychic-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Psycho."
+
+msgid "Tanga Berry"
+msgstr "Tanigabeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Bug-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Käfer."
+
+msgid "Charti Berry"
+msgstr "Chiaribeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Rock-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Gestein."
+
+msgid "Kasib Berry"
+msgstr "Zitarzbeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ghost-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Geist."
+
+msgid "Haban Berry"
+msgstr "Terirobeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Dragon-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Drache."
+
+msgid "Colbur Berry"
+msgstr "Burleobeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Dark-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Unlicht."
+
+msgid "Babiri Berry"
+msgstr "Babiribeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Steel-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Stahl."
+
+msgid "Chilan Berry"
+msgstr "Latchibeere"
+
+msgid "If held by a Pokémon, it weakens a foe's Normal-type attack."
+msgstr "Als getragenes Item schwächt diese Beere gegnerische Attacken vom Typ Normal."
+
+msgid "Liechi Berry"
+msgstr "Lydzibeere"
+
+msgid "If held by a Pokémon, it raises its Attack stat in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere den Angriffs-Wert eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Ganlon Berry"
+msgstr "Linganbeere"
+
+msgid "If held by a Pokémon, it raises its Defense stat in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere den Verteidigungs-Wert eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Salac Berry"
+msgstr "Salkabeere"
+
+msgid "If held by a Pokémon, it raises its Speed stat in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere den Initiative-Wert eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Petaya Berry"
+msgstr "Tahaybeere"
+
+msgid "If held by a Pokémon, it raises its Sp. Atk stat in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere den Spezial-Angriffs-Wert eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Apicot Berry"
+msgstr "Apikobeere"
+
+msgid "If held by a Pokémon, it raises its Sp. Def stat in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere den Spezial-Verteidigungs-Wert eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Lansat Berry"
+msgstr "Lansatbeere"
+
+msgid "If held by a Pokémon, it raises its critical-hit ratio in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere die Volltrefferquote eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Starf Berry"
+msgstr "Krambobeere"
+
+msgid "If held by a Pokémon, it sharply raises one of its stats in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere einen Statuswert des Pokémon stark, sobald es in einer Notlage steckt."
+
+msgid "Enigma Berry"
+msgstr "Enigmabeere"
+
+msgid "If held by a Pokémon, it restores its HP if it is hit by a foe's supereffective attack."
+msgstr "Als getragenes Item füllt diese Beere die KP eines Pokémon auf, wenn es von sehr effektiven Attacken getroffen wird."
+
+msgid "Micle Berry"
+msgstr "Wunfrubeere"
+
+msgid "If held by a Pokémon, it raises the accuracy of a move just once in a pinch."
+msgstr "Als getragenes Item erhöht diese Beere die Genauigkeit eines Pokémon, sobald es in einer Notlage steckt."
+
+msgid "Custap Berry"
+msgstr "Eipfelbeere"
+
+msgid "If held by a Pokémon, it gets to move first just once in a pinch."
+msgstr "Als getragenes Item ermöglicht diese Beere dem Träger in einer Notlage den Erstschlag."
+
+msgid "Jaboca Berry"
+msgstr "Jabocabeere"
+
+msgid "If held by a Pokémon, and if a foe's physical attack lands, the foe also takes damage."
+msgstr "Als getragenes Item bewirkt diese Beere Schaden bei jenen, die den Träger mit einer physischen Attacke treffen."
+
+msgid "Rowap Berry"
+msgstr "Roselbeere"
+
+msgid "If held by a Pokémon, and if a foe's special attack lands, the foe also takes damage."
+msgstr "Als getragenes Item bewirkt diese Beere Schaden bei jenen, die den Träger mit einer Spezial-Attacke treffen."
+
+msgid "Orange Mail"
+msgstr "Zigzagbrief"
+
+msgid "A piece of mail featuring a cute Zigzagoon print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Zigzachs-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Harbor Mail"
+msgstr "Hafenbrief"
+
+msgid "A piece of mail featuring a cute Wingull print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Wingull-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Glitter Mail"
+msgstr "Glitzerbrief"
+
+msgid "A piece of mail featuring a cute Pikachu print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Pikachu-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Mech Mail"
+msgstr "Eilbiref"
+
+msgid "A piece of mail featuring a cute Magnemite print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Magnetilo-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Wood Mail"
+msgstr "Waldbrief"
+
+msgid "A piece of mail featuring a cute Slakoth print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Bummelz-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Wave Mail"
+msgstr "Wellenbrief"
+
+msgid "A piece of mail featuring a cute Wailmer print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Wailmer-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Bead Mail"
+msgstr "Perlenbrief"
+
+msgid "A piece of mail to be held by a Pokémon. It will bear the print of the Pokémon holding it."
+msgstr "Gib das Briefpapier einem Pokémon mit. Es wird den Abdruck des Pokémon haben, das es trägt."
+
+msgid "Shadow Mail"
+msgstr "Dunkelbrief"
+
+msgid "A piece of mail featuring a cute Duskull print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Zwirrlicht-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Tropic Mail"
+msgstr "Tropenbrief"
+
+msgid "A piece of mail featuring a cute Bellossom print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen süßen Blubella-Abdruck. Gib es einem Pokémon mit."
+
+msgid "Dream Mail"
+msgstr "Traumbrief"
+
+msgid "Fab Mail"
+msgstr "Edelbrief"
+
+msgid "A piece of mail featuring a gorgeous, extravagant print. It is to be held by a Pokémon."
+msgstr "Das Briefpapier hat einen wunderschönen und extravaganten Hintergrund. Gib es einem Pokémon mit."
+
+msgid "Retro Mail"
+msgstr "Retrobrief"
+
+msgid "A piece of mail featuring a print of three cute Pokémon. It is to be held by a Pokémon."
+msgstr "Das Briefpapier mit einem süßen Bild von drei Pokémon besteht. Gib es einem Pokémon mit."
+
+msgid "X Attack"
+msgstr "X-Angriff"
+
+msgid "An item that raises the Attack stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Hebt den Angriffs-Wert eines Pokémon im Kampf. Die Wirkung wird mit dem Austausch des Pokémon beendet."
+
+msgid "X Defend"
+msgstr "X-Abwehr"
+
+msgid "An item that raises the Defense of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Hebt den Verteidigungs-Wert eines Pokémon im Kampf. Die Wirkung wird mit dem Austausch des Pokémon beendet."
+
+msgid "X Special"
+msgstr "X-Spezial"
+
+msgid "An item that raises the Sp. Atk stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Hebt den Spezial-Angriff eines Pokémon im Kampf. Die Wirkung wird mit dem Austausch des Pokémon beendet."
+
+msgid "X Sp. Def"
+msgstr "X-SpezialVer"
+
+msgid "An item that raises the Sp. Def stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Hebt die Spezial-Verteidigung eines Pokémon im Kampf. Die Wirkung wird mit dem Austausch des Pokémon beendet."
+
+msgid "X Speed"
+msgstr "X-Tempo"
+
+msgid "An item that raises the Speed stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Hebt den Initiative-Wert eines Pokémon im Kampf. Die Wirkung wird mit dem Austausch des Pokémon beendet."
+
+msgid "X Accuracy"
+msgstr "X-Treffer"
+
+msgid "An item that raises the accuracy of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Hebt die Genauigkeit eines Pokémon im Kampf. Die Wirkung wird mit dem Austausch des Pokémon beendet."
+
+msgid "Dire Hit"
+msgstr "Angriffplus"
+
+msgid "An item that raises the critical-hit ratio of a Pokémon in battle."
+msgstr "Hebt die Volltrefferquote eines Pokémon im Kampf. Die Wirkung wird mit dem Tausch des Pokémon beendet."
+
+msgid "Guard Spec."
+msgstr "Megablock"
+
+msgid "An item that prevents stat reduction among the Trainer's party Pokémon for five turns after use."
+msgstr "Eine mögliche Statusveränderung der Pokémon im Team wird für 5 Runden verhindert."
+
+msgid "Poké Doll"
+msgstr "Poképuppe"
+
+msgid "A doll that attracts Pokémon. Use it to flee from any battle with a wild Pokémon."
+msgstr "Eine hübsche Puppe. Sie ermöglicht die Flucht im Kampf gegen wilde Pokémon."
+
+msgid "Fluffy Tail"
+msgstr "Eneco-Rute"
+
+msgid "An item that attracts Pokémon. Use it to flee from any battle with a wild Pokémon."
+msgstr "Ein hübsches Item. Es ermöglicht die Flucht im Kampf gegen wilde Pokémon."
+
+msgid "Blue Flute"
+msgstr "Blaue Flöte"
+
+msgid "A blue flute made from blown glass. Its melody awakens a single Pokémon from sleep."
+msgstr "Eine blaue, gläserne Flöte, die ein schlafendes Pokémon weckt."
+
+msgid "Yellow Flute"
+msgstr "Gelbe Flöte"
+
+msgid "A yellow flute made from blown glass. Its melody snaps a single Pokémon out of confusion."
+msgstr "Eine gelbe, gläserne Flöte, die ein Pokémon von Verwirrung heilt."
+
+msgid "Red Flute"
+msgstr "Rote Flöte"
+
+msgid "A red flute made from blown glass. Its melody snaps a single Pokémon out of infatuation."
+msgstr "Eine rote, gläserne Flöte, die ein Pokémon von Anziehung heilt."
+
+msgid "Bicycle"
+msgstr "Fahrrad"
+
+msgid "A folding Bicycle that enables much faster movement than the Running Shoes."
+msgstr "Ein Klapprad, mit dem man schneller als mit Turbotretern ist."
+
+msgid "Old Rod"
+msgstr "Angel"
+
+msgid "An old and beat-up fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Eine alte, abgenutzte Angel. Damit kannst du in jedem Gewässer nach Pokémon angeln."
+
+msgid "Good Rod"
+msgstr "Profiangel"
+
+msgid "A new, good-quality fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Eine recht gute Angel. Damit kannst du in jedem Gewässer nach Pokémon angeln."
+
+msgid "Super Rod"
+msgstr "Superangel"
+
+msgid "An awesome, high-tech fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Eine wundervoll gefertigte Angel. Die beste Angel, um nach Pokémon zu fischen."
+
+msgid "Dowsing MCHN"
+msgstr "Itemradar"
+
+msgid "It checks for unseen items in the area and makes noise and lights when it finds something."
+msgstr "Scannt die Umgebung nach unsichtbaren Items. Es blinkt und piept, sobald es etwas findet."
+
+msgid "The user creates shockwaves to attack the target. This attack does physical damage."
+msgstr "Der Anwender erschafft Wellen im Wasser um sein Ziel anzugreifen. Diese Attacke richtet physischen Schaden an."
+
+msgid "Town Map"
+msgstr "Karte"
+
+msgid "A very convenient map that can be viewed anytime. It even shows your present location."
+msgstr "Eine praktische Karte, die jederzeit aufgerufen werden kann. Dein aktueller Standort wird auch angezeigt."
+
+msgid "Coin Case"
+msgstr "Münzkorb"
+
+msgid "A case for holding Coins obtained at the Game Corner. It holds up to 99,999 Coins."
+msgstr "Im Korb finden bis zu 50 000 Münzen der Spielhalle Platz."
+
+msgid "A flower sometimes bundled in bouquets to convey gratitude on special occasions like birthdays."
+msgstr "Mit dieser Blume, manchmal auch als Teil eines Bouquets, kann man an speziellen Tagen seine Dankbarkeit ausdrücken."
+
+msgid "Soot Sack"
+msgstr "Aschetasche"
+
+msgid "A sack used to gather and hold volcanic ash."
+msgstr "Beutel zum Sammeln und Aufbewahren von Vulkanasche."
+
+msgid "Explorer Kit"
+msgstr "Forschersack"
+
+msgid "A bag filled with convenient tools for exploring. It provides access to the Underground."
+msgstr "Ein Beutel voller nützlicher Entdeckungsutensilien. Öffnet den Untergrund."
+
+msgid "Loot Sack"
+msgstr "Beutesack"
+
+msgid "A sturdy, spacious bag that is used to carry loot obtained in the coal mine."
+msgstr "Ein fester Sack. Wird verwendet, um Beute aus der Kohlemine zu transportieren."
+
+msgid "Rule Book"
+msgstr "Regelbuch"
+
+msgid "It lists the rules for holding battles. For linked battles, you may choose which rules to use."
+msgstr "Enthält die Kampfregeln. Bei Link-Kämpfen kannst du daraus die gewünschten Regeln wählen."
+
+msgid "Point Card"
+msgstr "Punktekarte"
+
+msgid "A card that lists the Battle Points you have earned."
+msgstr "Auf dieser Karte werden deine bisher erhaltenen Gewinnpunkte festgehalten."
+
+msgid "Journal"
+msgstr "Tagebuch"
+
+msgid "A notebook that keeps a day-to-day record of your adventure so far."
+msgstr "In diesem Tagebuch steht, was du in den letzten Tagen erlebt hast."
+
+msgid "Seal Case"
+msgstr "Stickerkoffer"
+
+msgid "A case for storing Seals that can be applied to the capsule cases of Poké Balls."
+msgstr "In diesem Koffer kannst du die Sticker für die Ballkapseln der Pokébälle aufbewahren."
+
+msgid "Fashion Case"
+msgstr "Modekoffer"
+
+msgid "A fancy case for the tidy and organized storage of colorful Pokémon Accessories."
+msgstr "Ein schicker Koffer für alle Accessoires für deine Pokémon. Da knittert nichts."
+
+msgid "Seal Bag"
+msgstr "Stickertasche"
+
+msgid "A tiny bag that can hold ten Seals for decorating Poké Balls."
+msgstr "Ein kleines Tütchen. Es bietet Platz für bis zu zehn Sticker für die Pokébälle."
+
+msgid "Pal Pad"
+msgstr "Adressbuch"
+
+msgid "A convenient notepad that is used for registering your friends and keeping a record of game play."
+msgstr "In diesem praktischen Buch kannst du die Freundescodes deiner Freunde aufbewahren."
+
+msgid "Works Key"
+msgstr "K-Schlüssel"
+
+msgid "A large key for operating the doors of the Valley Windworks. It was held by a Team Galactic Grunt."
+msgstr "Ein großer Schlüssel, der zum Windkraftwerk gehört. Einer der Rüpel vom Team Galaktik hatte ihn im Besitz."
+
+msgid "Old Charm"
+msgstr "Talisman"
+
+msgid "An ancient good-luck charm made of Pokémon bones to be taken to the elder of Celestic Town."
+msgstr "Ein antiker Glücksbringer. Soll der Ältesten in Elyses überbracht werden."
+
+msgid "Galactic Key"
+msgstr "G-Schlüssel"
+
+msgid "A card key for disengaging security systems in the Galactic HQ. Losing it can result in punishment, apparently."
+msgstr "Diese Schlüsselkarte deaktiviert die Sicherheitssysteme im Hauptquartier von Team Galaktik."
+
+msgid "Red Chain"
+msgstr "Rote Kette"
+
+msgid "A mythical chain that is said to link the legendary Pokémon that created the Sinnoh region."
+msgstr "Diese mythische Kette ist angeblich die Verbindung zu einem Legendären Pokémon."
+
+msgid "Sprayduck"
+msgstr "Entonkanne"
+
+msgid "A watering can shaped like a Psyduck. It helps promote healthy growth of planted Berries."
+msgstr "Eine Gießkanne in Form von Enton. Gieße gepflanzte Beeren, damit sie besser wachsen."
+
+msgid "Poffin Case"
+msgstr "Knurspbox"
+
+msgid "A case for storing Poffin cooked from Berries."
+msgstr "Eine Box für leckere Knurspe."
+
+msgid "Suite Key"
+msgstr "B-Schlüssel"
+
+msgid "A key to one of the suites at the luxury hotel by a lake. For some odd reason, it often disappears."
+msgstr "Schlüssel zu einer Hotelsuite. Verschwindet seltsamerweise immer wieder mal."
+
+msgid "Oak's Letter"
+msgstr "Eichs Brief"
+
+msgid "A letter from Prof. Oak. Written in it is a request for you to go to Rt. 224."
+msgstr "Ein Brief von Prof. Eich. Er bittet dich, zur Route 224 zu gehen."
+
+msgid "Lunar Wing"
+msgstr "Lunarfeder"
+
+msgid "A feather that glows like the moon. It is said to possess the power to dispel nightmares."
+msgstr "Diese Feder leuchtet wie der Mond. Kann angeblich Alpträume vertreiben."
+
+msgid "Member Card"
+msgstr "Mitgl.Karte"
+
+msgid "A card needed for entering the inn in Canalave City. Oddly, the last date marked on it was 50 years ago."
+msgstr "Eine Eintrittskarte für den Gasthof in Fleetburg. Sie ist über 50 Jahre alt..."
+
+msgid "Azure Flute"
+msgstr "Azurflöte"
+
+msgid "A flute that puts out echoing sounds that do not seem to be of this world. It is unknown who made it."
+msgstr "Eine Flöte, deren Töne nicht von dieser Welt zu sein scheinen. Ihr Erschaffer ist nicht bekannt."
+
+msgid "BBFerry Ticket"
+msgstr "Fährenticket"
+
+msgid "The ticket required for sailing on the ferry on Bealbeach Lake. It has a drawing of a ship on it."
+msgstr "Ein Ticket, um mit der Fähre am Sonnenstrandsee fahren zu können. Die Zeichnung eines Schiffes ist aufgedruckt."
+
+msgid "Contest Pass"
+msgstr "Wettbewerbskarte"
+
+msgid "The pass required for entering Pokémon Contests. It has a drawing of an award ribbon on it."
+msgstr "Ausweis zur Teilnahme an Pokémon-Wettbewerben. Die Zeichnung eines Bandes ist aufgedruckt."
+
+msgid "Magma Stone"
+msgstr "Magmastein"
+
+msgid "A stone formed when boulders melted in intensely hot magma. Magma remains sealed inside."
+msgstr "Ein Stein aus gehärtetem Magma. Sein innerer Kern ist noch flüssig und heiß."
+
+msgid "Parcel"
+msgstr "Paket"
+
+msgid "A parcel that you are supposed to deliver to your childhood friend who left Twinleaf Town."
+msgstr "Ein Paket, das dir anvertraut wurde. Du sollst es deinem besten Freund geben, der Zweiblattdorf verließ."
+
+msgid "Coupon 1"
+msgstr "Kupon 1"
+
+msgid "A coupon to be exchanged for a Pokémon Watch (Pokétch for short). Three coupons are needed."
+msgstr "Einer der drei Kupons, die du für den Pokétch benötigst."
+
+msgid "Coupon 2"
+msgstr "Kupon 2"
+
+msgid "Coupon 3"
+msgstr "Kupon 3"
+
+msgid "Storage Key"
+msgstr "Lagerschlüssel"
+
+msgid "The key to Team Galactic's sinister warehouse located at the edge of Veilstone City."
+msgstr "Der Schlüssel zur Lagerhalle des Teams Galaktik am Rande von Schleiede."
+
+msgid "SecretPotion"
+msgstr "Geheimtrank"
+
+msgid "A fantastic medicine dispensed by the pharmacy in Cianwood City. It fully heals a Pokémon of any ailment."
+msgstr "Eine fantastische Medizin aus Anemonia City. Heilt und kuriert ein Pokémon vollständig."
+
+msgid "Vs. Seeker"
+msgstr "Kampffahnder"
+
+msgid "A device that indicates Trainers who want to battle. Its battery charges while you walk."
+msgstr "Ein Gerät, das rückkampfwillige Trainer ausfindig macht. Die Batterie lädt sich beim Reisen auf."
+
+msgid "Vs. Recorder"
+msgstr "Kampfkamera"
+
+msgid "An amazing device that can record a battle either between friends or at a special battle facility."
+msgstr "Ein tolles Gerät, mit dem man Kämpfe zw. Freunden oder Kämpfe in einer speziellen Kampfeinrichtung aufzeichnen kann."
+
+msgid "Secret Key"
+msgstr "?-Öffner"
+
+msgid "A high-tech key to be used at a specific location. It emits a special electric signal to open a door."
+msgstr "Ein besonderer Schlüssel, der an einem speziellen Ort verwendet werden muss. Öffnet Türen durch ein elektr. Signal."
+
+msgid "Apricorn Box"
+msgstr "Aprikokobox"
+
+msgid "A handy box where you can store up to 99 Apricorns of each kind."
+msgstr "Eine praktische Tragebox, in der du bis zu 99 Aprikokos jeder Sorte transportieren kannst."
+
+msgid "Unown Report"
+msgstr "Icognitoheft"
+
+msgid "A report of all the discovered kinds of Unown."
+msgstr "Ein Heft, in dem automatisch Daten zu bereits gefangenen Icognito aufgezeichnet werden."
+
+msgid "Berry Pots"
+msgstr "Pflanzset"
+
+msgid "Handy containers for cultivating Berries wherever you go."
+msgstr "Ein tragbares Utensil, das die Aufzucht von Pflanzen aus Beeren ermöglicht, wo immer du auch gerade bist."
+
+msgid "Blue Card"
+msgstr "Blaue Karte"
+
+msgid "A card to save points for the Buena's Password show."
+msgstr "Eine Karte, auf der die Punkte für \"Passwort mit Buena\" festgehalten werden."
+
+msgid "SlowpokeTail"
+msgstr "Flegmon-Rute"
+
+msgid "A very tasty tail of something. It sells for a high price."
+msgstr "Die Rute eines unbestimmten Wesens. Extrem schmackhaft. Lässt sich teuer verkaufen."
+
+msgid "Clear Bell"
+msgstr "Klarglocke"
+
+msgid "A very old-fashioned bell that makes a gentle ringing."
+msgstr "Eine altehrwürdige Glocke, deren Läuten alle besänftigt, die es hören."
+
+msgid "Card Key"
+msgstr "Türöffner"
+
+msgid "A card key that opens a shutter in the Radio Tower."
+msgstr "Eine Schlüsselkarte, die eine Tür im Radioturm öffnet."
+
+msgid "Basement Key"
+msgstr "Kelleröffner"
+
+msgid "A key that opens a door in the Goldenrod Tunnel."
+msgstr "Ein Schlüssel, der eine Tür in der Dukatia-Passage von Dukatia City öffnet."
+
+msgid "Squirtbottle"
+msgstr "Schiggykanne"
+
+msgid "A bottle used for watering plants in the Berry Pots."
+msgstr "Eine Gießkanne, durch deren Wasser Beeren im Pflanzset umso rascher wachsen."
+
+msgid "Red Scale"
+msgstr "Rote Haut"
+
+msgid "A scale from the red Gyarados. It glows red like a flame."
+msgstr "Eine Schuppe des roten Garados, das im See des Zorns erschienen ist. Sie glänzt rot wie Feuer."
+
+msgid "Lost Item"
+msgstr "Fundsache"
+
+msgid "The Poké Doll lost by the Copycat."
+msgstr "Eine Puppe, welche der Nachahmer verloren hat."
+
+msgid "Pass"
+msgstr "Fahrschein"
+
+msgid "A ticket to ride the Magnet Train, whenever and however much you like."
+msgstr "Eine Fahrkarte, die einem die Reise mit dem Magnetzug ermöglicht. Gilt für beliebig viele Fahrten."
+
+msgid "Machine Part"
+msgstr "Spule"
+
+msgid "An important machine part for the Power Plant that was stolen."
+msgstr "Ein unentbehrliches Maschinenteil, das aus dem Kraftwerk entwendet wurde."
+
+msgid "Silver Wing"
+msgstr "Silberflügel"
+
+msgid "A strange, silvery feather that sparkles."
+msgstr "Eine silberne Feder, die von einem seltsamen Leuchten erfüllt ist."
+
+msgid "Rainbow Wing"
+msgstr "Buntschwinge"
+
+msgid "A mystical rainbow feather that sparkles."
+msgstr "Eine mystische Feder, die von einem regenbogenfarbenen Leuchten erfüllt ist."
+
+msgid "Mystery Egg"
+msgstr "Rätsel-Ei"
+
+msgid "A mysterious Egg obtained from Mr. Pokémon. What's in the Egg is unknown."
+msgstr "Ein seltsam gemustertes Ei, das du von Mr. Pokémon erhalten hast. Sein Inhalt liegt im Dunklen."
+
+msgid "Photo Album"
+msgstr "Fotoalbum"
+
+msgid "A nice photo album for storing all the photos taken along your adventure."
+msgstr "Ein Album, in dem du Erinnerungsfotos aufbewahren kannst, die du auf deinen Reisen geschossen hast."
+
+msgid "GB Sounds"
+msgstr "GB-Player"
+
+msgid "A music player that allows you to listen to nostalgic songs. It's operated with a single switch."
+msgstr "Ein Abspielgerät, das Musik aus einer längst vergangenen Zeit spielt. Lässt sich durch simplen Knopfdruck bedienen."
+
+msgid "Tidal Bell"
+msgstr "Gischtglocke"
+
+msgid "RageCandyBar"
+msgstr "Wutkeks"
+
+msgid "A famous candy in Mahogany Town. Many tourists like to buy them to take home."
+msgstr "Eine Spezialität aus Mahagonia City. Sie wird gern als Souvenir gekauft."
+
+msgid "Jade Orb"
+msgstr "Grüne Kugel"
+
+msgid "A shiny green orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Eine grün schimmernde Kugel, von der in den Legenden der Hoenn-Region berichtet wird."
+
+msgid "Lock Capsule"
+msgstr "Tresorkapsel"
+
+msgid "A sturdy Capsule that can only be opened with a special key."
+msgstr "Eine äußerst robuste Kapsel, die sich nur mit einem ganz speziellen Schlüssel öffnen lässt."
+
+msgid "Red Orb"
+msgstr "Rote Kugel"
+
+msgid "A shiny red orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Eine rot schimmernde Kugel, von der in den Legenden der Hoenn-Region berichtet wird."
+
+msgid "Blue Orb"
+msgstr "Blaue Kugel"
+
+msgid "A shiny blue orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Eine blau schimmernde Kugel, von der in den Legenden der Hoenn-Region berichtet wird."
+
+msgid "Enigma Stone"
+msgstr "Mytokristall"
+
+msgid "A crystal ball from an excavation. A very beautiful stone that is covered with bits of rock and earth."
+msgstr "Eine kristallene Kugel, die aus der Erde geborgen wurde. Schmutz und Gestein konnten ihrer Schönheit nichts anhaben."
+
+msgid "A scope that makes unseeable Pokémon visible. It is made by Silph Co."
+msgstr "Eine Linse, mit der unsichtbare PKMN sichtbar werden. Sie wurde von der SILPH CO. hergestellt."
+
+msgid "LAB KEY"
+msgstr "Laborschlüssel"
+
+msgid "This is a custom Key Item."
+msgstr "Dies ist ein Schlüssel, der speziell angefertigt wurde."
+
+msgid "Poké Radar"
+msgstr "Pokéradar"
+
+msgid "A tool that can search out Pokémon that are hiding in grass. Its battery is recharged as you walk."
+msgstr "Findet Pokémon, die sich im Gras verstecken. Die Batterie lädt sich beim Reisen auf."
+
+msgid "Sticker Case"
+msgstr "Aufkleberbuch"
+
+msgid "This device helps you find a defeated wild Pokemon more easily."
+msgstr "Dieses Gerät hilft dir leichter ein bereits besiegtes und wildes Pokémon zu finden."
+
+msgid "Atom Ball"
+msgstr "Atomball"
+
+msgid "A special Poké Ball created to contain Urayne. You should not have this."
+msgstr "Ein für Urayne speziell angefertigter Pokéball. Dieser sollte nicht in deinem Besitz sein."
+
+msgid "T.U.R Ticket"
+msgstr "T.U.B Ticket"
+
+msgid "A ticket for the Tandor Underground Railway."
+msgstr "Ein Ticket für die Tandor U-Bahn."
+
+msgid "PST"
+msgstr "Übersetzer"
+
+msgid "Pokémon Speech Translator. Can help you understand some Pokémon. It's still a prototype."
+msgstr "Pokémon-Sprachübersetzer. Kann dir dabei helfen einige Pokémon zu verstehen. Er ist noch ein Prototyp."
+
+msgid "Coconut Milk"
+msgstr "Kokosmilch"
+
+msgid "Fresh Coconut milk. Heals 50 HP and cures status effects."
+msgstr "Frische Kokosmilch. Es stellt 50 KP eines Pokémon wieder her und behebt alle Statusprobleme."
+
+msgid "Jungle's Crown"
+msgstr "Dschungelkrone"
+
+msgid "An item to be held by a Pokémon. It belongs to the king of the jungle. Boosts Fighting attacks."
+msgstr "Ein Item zum Tragen. Es gehört dem König des Dschungels und verstärkt Attacken vom Typ Kampf."
+
+msgid "Royal Jelly"
+msgstr "Gelée Royale"
+
+msgid "An item to be held by a Pokémon. A mysterious goo left behind by Seikamater."
+msgstr "Ein Item zum Tragen. Geheimnisvolles Gelee, das von Seikamater hinterlassen wird."
+
+msgid "Bug Spray"
+msgstr "Insektenspray"
+
+msgid "Bug spray. Works better than any Repel to get bugs scurrying!"
+msgstr "Insektenspray, der besser wirkt als jeder Schutz um Insekten zu vertreiben."
+
+msgid "Acai Berry"
+msgstr "Acaibeere"
+
+msgid "Bacu Berry"
+msgstr "Bacubeere"
+
+msgid "Cupu Berry"
+msgstr "Cupubeere"
+
+msgid "Guara Berry"
+msgstr "Guarabeere"
+
+msgid "Hair Fossil"
+msgstr "Haarfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in the Mountains. It appears to be a wisp of Hair."
+msgstr "Das Fossil eines uralten Pokémon, das in den Bergen lebte. Es sieht wie ein Haarbüschel aus."
+
+msgid "Tusk Fossil"
+msgstr "Hauerfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in the Plains. It appears to be part of a Tusk."
+msgstr "Das Fossil eines uralten Pokémon, das in den Ebenen lebte. Es sieht wie ein Teil eines Hauers aus."
+
+msgid "Moss Shard"
+msgstr "Moosscherbe"
+
+msgid "Ice Shard"
+msgstr "Eisscherbe"
+
+msgid "Pretty Ribbon"
+msgstr "Hübsche Schleife"
+
+msgid "An item to be held by a Pokémon. It is an elegant pink ribbon that boosts Fairy-type moves."
+msgstr "Ein Item zum Tragen. Ein elegantes pinkes Band, das Attacken vom Typ Fee verstärkt."
+
+msgid "Mega Bracelet"
+msgstr "Mega-Armreif"
+
+msgid "This bracelet contains an untold power that somehow enables Pokémon carrying a Mega Stone to Mega Evolve in battle."
+msgstr "Ein Armreif mit geheimnisvollen Kräften. Er ermöglicht Pokémon, die einen Mega-Stein tragen, eine Mega-Entwicklung durchzuführen."
+
+msgid "Metalynxite"
+msgstr "Metaluksit"
+
+msgid "One variety of the mysterious Mega Stones. Have Metalynx hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem METALUKS getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Archillesite"
+msgstr "Brandillonit"
+
+msgid "One variety of the mysterious Mega Stones. Have Archilles hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem BRANDILLO getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Electruxolite"
+msgstr "Ampuxonit"
+
+msgid "One variety of the mysterious Mega Stones. Have Electruxo hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem AMPUXO getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Gyaradosite"
+msgstr "Garadosnit"
+
+msgid "One variety of the mysterious Mega Stones. Have Gyarados hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem GARADOS getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Ampharosite"
+msgstr "Ampharosnit"
+
+msgid "One variety of the mysterious Mega Stones. Have Ampharos hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem AMPHAROS getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Baariettite"
+msgstr "Bäphometit"
+
+msgid "One variety of the mysterious Mega Stones. Have Baariette hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem BÄPHOMET getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Drilgannite"
+msgstr "Borgannit"
+
+msgid "One variety of the mysterious Mega Stones. Have Drilgann hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem BORGANN getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Sableyeite"
+msgstr "Zobirisnit"
+
+msgid "One variety of the mysterious Mega Stones. Have Sableye hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem ZOBIRIS getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Inflagetite"
+msgstr "Gepernit"
+
+msgid "One variety of the mysterious Mega Stones. Have Inflagetah hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem GEPERNO getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Dramsamaite"
+msgstr "Dramsamanit"
+
+msgid "One variety of the mysterious Mega Stones. Have Dramsama hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem DRAMSAMA getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Daikatunite"
+msgstr "Daikatunit"
+
+msgid "One variety of the mysterious Mega Stones. Have Daikatuna hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem DAIKATUNA getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "The target is infested and attacked for four to five turns. The target can't flee during this time."
+msgstr "Der Anwender fällt 4 bis 5 Runden lang wie eine Plage über das Ziel her und greift es an. In diesem Zeitraum kann es nicht fliehen."
+
+msgid "The user damages opposing Pokémon by emitting a powerful flash."
+msgstr "Angriff mit einem starken Lichtstrahl, der dem Gegner Schaden zufügt."
+
+msgid "Bike Wheel"
+msgstr "Fahrradreifen"
+
+msgid "This bike wheel can be used to fix a bicycle."
+msgstr "Dieser Fahrradreifen kann für die Reparatur eines Fahrrad benutzt werden."
+
+msgid "Carrot Wine"
+msgstr "Karottenwein"
+
+msgid "Delicious Carrot Wine, be careful to not drink too much! Heals 100 HP and cures status effects."
+msgstr "Schmackhafter Karottenwein von dem man nicht zu viel trinken sollte. Es stellt 100 KP her und behebt alle Statusprobleme."
+
+msgid "Secret Note"
+msgstr "Geheimnotiz"
+
+msgid "You don't know who gave you this. It says that the password is 092."
+msgstr "Du weißt nicht, wer dir diese Notiz gegeben hat. Auf der Notiz steht, dass das Passwort 092 ist."
+
+msgid "Syrentideite"
+msgstr "Sajadeit"
+
+msgid "One variety of the mysterious Mega Stones. Have Syrentide hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem SYRENTIDE getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Unidentified Fallen Object"
+msgstr "Unbekanntes Fallobjekt"
+
+msgid "One variety of the mysterious Mega Stones. Have s51-A hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem S51-A getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "The user damages opposing Pokémon and lowers it's defense and special defense."
+msgstr "Der Anwender richtet beim gegnerischen Pokémon Schaden an und senkt dessen Verteidigung und Spezial-Verteidigung."
+
+msgid "Boxing Gloves"
+msgstr "Boxhandschuhe"
+
+msgid "This device given to you by the Tinkerer allows you to easily smash rugged rocks in your way."
+msgstr "Dieses Gerät vom Bastler erlaubt es dir, rissige Felsen in deinem Weg zu zerschmettern."
+
+msgid "Eviolite"
+msgstr "Evolith"
+
+msgid "A mysterious evolutionary lump. When held, it raises the Defense and Sp. Def of a Pokémon that can still evolve."
+msgstr "Ein mysteriöser Klumpen, der die Verteidigung und Spezial-Verteidigung von Pokémon erhöht, die sich noch entwickeln können."
+
+msgid "Fire Gem"
+msgstr "Feuerjuwel"
+
+msgid "A gem with an essence of fire. When held, it strengthens the power of a Fire-type move only once."
+msgstr "Ein Juwel vom Typ Feuer. Es erhöht einmalig die Stärke einer Attacke vom Typ Feuer."
+
+msgid "Water Gem"
+msgstr "Wasserjuwel"
+
+msgid "A gem with an essence of water. When held, it strengthens the power of a Water-type move only once."
+msgstr "Ein Juwel vom Typ Wasser. Es erhöht einmalig die Stärke einer Attacke vom Typ Wasser."
+
+msgid "Electric Gem"
+msgstr "Elektrojuwel"
+
+msgid "A gem with an essence of electricity. When held, it strengthens the power of an Electric-type move only once."
+msgstr "Ein Juwel vom Typ Elektro. Es erhöht einmalig die Stärke einer Attacke vom Typ Elektro."
+
+msgid "Grass Gem"
+msgstr "Pflanzenjuwel"
+
+msgid "A gem with an essence of nature. When held, it strengthens the power of a Grass-type move only once."
+msgstr "Ein Juwel vom Typ Pflanze. Es erhöht einmalig die Stärke einer Attacke vom Typ Pflanze."
+
+msgid "Ice Gem"
+msgstr "Eisjuwel"
+
+msgid "A gem with an essence of ice. When held, it strengthens the power of an Ice-type move only once."
+msgstr "Ein Juwel vom Typ Eis. Es erhöht einmalig die Stärke einer Attacke vom Typ Eis."
+
+msgid "Fighting Gem"
+msgstr "Kampfjuwel"
+
+msgid "A gem with an essence of combat. When held, it strengthens the power of a Fighting-type move only once."
+msgstr "Ein Juwel vom Typ Kampf. Es erhöht einmalig die Stärke einer Attacke vom Typ Kampf."
+
+msgid "Poison Gem"
+msgstr "Giftjuwel"
+
+msgid "A gem with an essence of poison. When held, it strengthens the power of a Poison-type move only once."
+msgstr "Ein Juwel vom Typ Gift. Es erhöht einmalig die Stärke einer Attacke vom Typ Gift."
+
+msgid "Ground Gem"
+msgstr "Bodenjuwel"
+
+msgid "A gem with an essence of land. When held, it strengthens the power of a Ground-type move only once."
+msgstr "Ein Juwel vom Typ Boden. Es erhöht einmalig die Stärke einer Attacke vom Typ Boden."
+
+msgid "Flying Gem"
+msgstr "Flugjuwel"
+
+msgid "A gem with an essence of air. When held, it strengthens the power of a Flying-type move only once."
+msgstr "Ein Juwel vom Typ Flug. Es erhöht einmalig die Stärke einer Attacke vom Typ Flug."
+
+msgid "Psychic Gem"
+msgstr "Psychojuwel"
+
+msgid "A gem with an essence of the mind. When held, it strengthens the power of a Psychic-type move only once."
+msgstr "Ein Juwel vom Typ Psycho. Es erhöht einmalig die Stärke einer Attacke vom Typ Psycho."
+
+msgid "Bug Gem"
+msgstr "Käferjuwel"
+
+msgid "A gem with an insect-like essence. When held, it strengthens the power of a Bug-type move only once."
+msgstr "Ein Juwel vom Typ Käfer. Es erhöht einmalig die Stärke einer Attacke vom Typ Käfer."
+
+msgid "Rock Gem"
+msgstr "Gesteinjuwel"
+
+msgid "A gem with an essence of rock. When held, it strengthens the power of a Rock-type move only once."
+msgstr "Ein Juwel vom Typ Gestein. Es erhöht einmalig die Stärke einer Attacke vom Typ Gestein."
+
+msgid "Ghost Gem"
+msgstr "Geistjuwel"
+
+msgid "A gem with a spectral essence. When held, it strengthens the power of a Ghost-type move only once."
+msgstr "Ein Juwel vom Typ Geist. Es erhöht einmalig die Stärke einer Attacke vom Typ Geist."
+
+msgid "Dragon Gem"
+msgstr "Drachenjuwel"
+
+msgid "A gem with a draconic essence. When held, it strengthens the power of a Dragon-type move only once."
+msgstr "Ein Juwel vom Typ Drache. Es erhöht einmalig die Stärke einer Attacke vom Typ Drache."
+
+msgid "Dark Gem"
+msgstr "Unlichtjuwel"
+
+msgid "A gem with an essence of darkness. When held, it strengthens the power of a Dark-type move only once."
+msgstr "Ein Juwel vom Typ Unlicht. Es erhöht einmalig die Stärke einer Attacke vom Typ Unlicht."
+
+msgid "Steel Gem"
+msgstr "Stahljuwel"
+
+msgid "A gem with an essence of steel. When held, it strengthens the power of a Steel-type move only once."
+msgstr "Ein Juwel vom Typ Stahl. Es erhöht einmalig die Stärke einer Attacke vom Typ Stahl."
+
+msgid "Normal Gem"
+msgstr "Normaljuwel"
+
+msgid "A gem with an ordinary essence. When held, it strengthens the power of a Normal-type move only once."
+msgstr "Ein Juwel vom Typ Normal. Es erhöht einmalig die Stärke einer Attacke vom Typ Normal."
+
+msgid "Whimsicottite"
+msgstr "Elfunit"
+
+msgid "One variety of the mysterious Mega Stones. Have Whimsicott hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem ELFUN getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Arbokite"
+msgstr "Arbokit"
+
+msgid "One variety of the mysterious Mega Stones. Have Arbok hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem ARBOK getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Yoshitaka's Letter"
+msgstr "Yoshitakas Brief"
+
+msgid "A letter from the great Yoshitaka, show it to his grandsons."
+msgstr "Ein Brief von dem großen Yoshitaka. Zeig ihn seinen Enkeln."
+
+msgid "Rocky Helmet"
+msgstr "Beulenhelm"
+
+msgid "If the holder of this item takes damage, the attacker will also be damaged upon contact."
+msgstr "Wird der Träger von einer physischen Attacke getroffen, erleidet der Angreifer ebenfalls Schaden."
+
+msgid "Eject Button"
+msgstr "Fluchtknopf"
+
+msgid "If the holder is hit by an attack, it will switch with another Pokémon in your party."
+msgstr "Wird der Träger getroffen, flieht er aus dem Kampf und wird mit einem Team-Pokémon ausgetauscht."
+
+msgid "Red Card"
+msgstr "Rote Karte"
+
+msgid "A card with a mysterious power. When the holder is struck by a foe, the attacker is removed from battle."
+msgstr "Eine Karte mit mysteriösen Kräften. Wird der Träger getroffen, wird der Angreifer des Platzes verwiesen."
+
+msgid "Float Stone"
+msgstr "Leichtstein"
+
+msgid "A very light stone. It reduces the weight of a Pokémon when held."
+msgstr "Ein federleichter Stein, der das Gewicht des Trägers verringert."
+
+msgid "Binding Band"
+msgstr "Klammerband"
+
+msgid "A band that increases the power of binding moves when held."
+msgstr "Ein Band, das die Stärke aller Klammerattacken des Trägers erhöht."
+
+msgid "Absorb Bulb"
+msgstr "Knolle"
+
+msgid "A consumable bulb. If the holder is hit by a Water-type move, its Sp. Atk will rise."
+msgstr "Eine einmalig einsetzbare Knolle. Erhöht den Spezial-Angriff des Trägers, wenn ihn eine Wasser-Attacke trifft."
+
+msgid "Cell Battery"
+msgstr "Akku"
+
+msgid "A consumable battery. If the holder is hit by an Electric-type move, its Attack will rise."
+msgstr "Ein einmalig aufladbarer Akku. Erhöht den Angriff des Trägers, wenn ihn eine Elektro-Attacke trifft."
+
+msgid "Ring Target"
+msgstr "Zielscheibe"
+
+msgid "Moves that would otherwise have no effect will land on the Pokémon that holds it."
+msgstr "Attacken, die aufgrund der Wechselwirkungen zwischen den Typen keine Wirkung haben, treffen den Träger."
+
+msgid "Air Balloon"
+msgstr "Luftballon"
+
+msgid "When held by a Pokémon, the Pokémon will float into the air. When the holder is attacked, this item will burst."
+msgstr "Gibt man ihn einem Pokémon zum Tragen, fängt es an zu schweben. Wird es getroffen, platzt der Luftballon."
+
+msgid "Assault Vest"
+msgstr "Offensivweste"
+
+msgid "An item to be held by a Pokémon. This offensive vest raises Sp. Def but prevents the use of status moves."
+msgstr "Trägt ein Pokémon diese Weste, erhöht sich seine Spezial-Verteidigung, aber es kann keine Status-Attacken mehr einsetzen."
+
+msgid "Fairy Gem"
+msgstr "Feenjuwel"
+
+msgid "A gem with an essence of nature. When held, it strengthens the power of a Fairy-type move one time."
+msgstr "Ein Juwel vom Typ Fee. Es erhöht einmalig die Stärke einer Attacke vom Typ Fee."
+
+msgid "Prison Bottle"
+msgstr "Banngefäß"
+
+msgid "A bottle believed to have been used to seal away the power of a certain Pokémon long, long ago."
+msgstr "Ein Gefäß, mit dem vor langer, langer Zeit die Macht eines gewissen Pokémon versiegelt wurde."
+
+msgid "Luminous Moss"
+msgstr "Leuchtmoos"
+
+msgid "An item to be held by a Pokémon. It boosts Sp. Def if hit with a Water-type attack. It can only be used once."
+msgstr "Wird der Träger von einer Wasser-Attacke getroffen, steigt seine Spezial-Verteidigung und das Item verschwindet."
+
+msgid "Weakness Policy"
+msgstr "Schwächenschutz"
+
+msgid "An item to be held by a Pokémon. Attack and Sp. Atk sharply increase if the holder is hit with a move it's weak to."
+msgstr "Erhöht den Angriff und den Spezial-Angriff des Trägers stark, wenn er von einer sehr effektiven Attacke getroffen wird."
+
+msgid "Pixie Plate"
+msgstr "Feentafel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fairy-type moves."
+msgstr "Ein Item zum Tragen. Diese Steintafel verstärkt Attacken vom Typ Fee."
+
+msgid "Roseli Berry"
+msgstr "Hibisbeere"
+
+msgid "Weakens a supereffective Fairy-type attack against the holding Pokémon."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Fee."
+
+msgid "Kee Berry"
+msgstr "Akibeere"
+
+msgid "If held by a Pokémon, this Berry will increase the Pokémon's Defense stat when hit by a physical attack."
+msgstr "Als getragenes Item erhöht diese Beere die Verteidigung des Trägers, wenn dieser von physischen Attacken getroffen wird."
+
+msgid "Maranga Berry"
+msgstr "Tarabeere"
+
+msgid "If held by a Pokémon, this Berry will increase the Pokémon's Special Defense stat when hit by a special attack."
+msgstr "Als getragenes Item erhöht diese Beere die Spezial-Verteidigung des Trägers, wenn dieser von Spezial-Attacken getroffen wird."
+
+msgid "Snowball"
+msgstr "Schneeball"
+
+msgid "An item to be held by a Pokémon. It boosts Attack if hit with an Ice-type attack. It can only be used once."
+msgstr "Wird der Träger von einer Eis-Attacke getroffen, steigt sein Angriff und das Item verschwindet."
+
+msgid "Safety Goggles"
+msgstr "Schutzbrille"
+
+msgid "An item to be held by a Pokémon. These goggles protect the holder from both weather-related damage and powder."
+msgstr "Diese Brille schützt ihren Träger nicht nur vor wetterbedingtem Schaden, sondern auch vor vielen Attacken, bei denen Puder eingesetzt wird."
+
+msgid "Hafli Berry"
+msgstr "Haflibeere"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Nuclear-type attack."
+msgstr "Als getragenes Item schwächt diese Beere sehr effektive gegnerische Attacken vom Typ Nuklear."
+
+msgid "Kellyn's Letter"
+msgstr "Kellyns Brief"
+
+msgid "A letter from Kellyn. Deliver it to Cameron on the Power Plant Island."
+msgstr "Ein Brief von Kellyn. Bring ihn zu Cameron auf der Kraftwerkinsel."
+
+msgid "Burnt Notebook"
+msgstr "Verbranntes Notizbuch"
+
+msgid "A burnt notebook found in the power plant, it's pages seem to be scattered about."
+msgstr "Ein verbranntes Notizbuch aus dem Kraftwerk. Seine Seiten scheinen in der Umgebung verstreut zu sein."
+
+msgid "Rusty Key"
+msgstr "Rostiger Schlüssel"
+
+msgid "A rusty key found in the power plant."
+msgstr "Ein rostiger Schlüssel aus dem Kraftwerk."
+
+msgid "Power Glove"
+msgstr "Krafthandschuh"
+
+msgid "This device given to you by the Tinkerer allows you to push boulders on your own as if you had super-strength."
+msgstr "Dieses Gerät vom Bastler erlaubt es dir, wie mit Stärke Felsen zu schieben."
+
+msgid "Nuclear Ball"
+msgstr "Nuklearball"
+
+msgid "A new kind of Poké Ball that works especially well on Nuclear-type Pokémon."
+msgstr "Ein Ball, mit dem sich Pokémon vom Typ Nuklear besser fangen lassen."
+
+msgid "Sachet"
+msgstr "Duftbeutel"
+
+msgid "A sachet filled with fragrant perfumes that are just slightly too overwhelming. Yet it's loved by a certain Pokémon."
+msgstr "Ein mit Parfüm gefüllter Beutel, der einen penetranten Duft verströmt und bei einer bestimmten Pokémon-Art sehr beliebt ist."
+
+msgid "Power Cell"
+msgstr "Energiezelle"
+
+msgid "A power cell used to power up advanced electrical equipments."
+msgstr "Eine Energiezelle, die für's Einschalten von fortgeschrittenen und elektrischen Ausrüstungen benutzt wird."
+
+msgid "Maria's Key"
+msgstr "Marias Schlüssel"
+
+msgid "A key given by a creepy guy that unlocks Gym Leader Maria's house."
+msgstr "Ein Schlüssel, der Arenaleiter Marias Haus öffnet."
+
+msgid "Oval Charm"
+msgstr "Ovalpin"
+
+msgid "An oval charm said to increase the chance of Eggs being found at the Day Care."
+msgstr "Ein mysteriöser, ovaler Glücksbringer, der die Wahrscheinlichkeit erhöht, in der Pension Eier zu finden."
+
+msgid "Shiny Charm"
+msgstr "Schillerpin"
+
+msgid "A shiny charm said to increase the chance of finding a Shiny Pokémon."
+msgstr "Ein mysteriöser, schillernder Glücksbringer, der die Wahrscheinlichkeit erhöht, Schillernde Pokémon zu finden."
+
+msgid "Aromatic Herb"
+msgstr "Aromakraut"
+
+msgid "A herb filled with fragrant perfumes that are just slightly too overwhelming. Yet it's loved by a certain Pokémon."
+msgstr "Ein Kraut, das Parfüm beinhaltet, einen penetranten Duft verströmt und bei einer bestimmten Pokémon-Art sehr beliebt ist."
+
+msgid "Air Mail"
+msgstr "Luftbrief"
+
+msgid "Stationery featuring a print of colorful letter sets. Let a Pokémon hold it for delivery."
+msgstr "Das Briefpapier hat bunte Streifen als Hintergrund. Gib es einem Pokémon mit."
+
+msgid "Gengarite"
+msgstr "Gengarnit"
+
+msgid "One of the mysterious Mega Stones. Have Gengar hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem Gengar getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Uranium Core"
+msgstr "Uran-Kern"
+
+msgid "Concentrated nuclear fuel used to power Nuclear Plants."
+msgstr "Konzentrierter Kernbrennstoff, der benutzt wird, um Kraftwerke mit Energie zu versorgen."
+
+msgid "Kiricornite"
+msgstr "Kirihornit"
+
+msgid "One of the mysterious Mega Stones. Have Kiricorn hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Einer der mysteriösen Mega-Steine. Wird er von einem Kirihorn getragen, kann es im Kampf eine Mega-Entwicklung durchführen."
+
+msgid "Gold Fossil"
+msgstr "Goldfossil"
+
+msgid "A fossil of an ancient Pokémon that lived in Islands. It appears to be a golden bone."
+msgstr "Das Fossil eines uralten Pokémon, das auf Inseln lebte. Es sieht wie ein goldener Knochen aus."
+
+msgid "The user chomps hard on the target with its sharp front fangs. It cuts the target's HP to half."
+msgstr "Greift mit scharfen Reißzähnen an. KP des Zieles werden halbiert."
+
+msgid "This move can be used only after the user has used all the other moves it knows in the battle."
+msgstr "Diese Attacke kann nur eingesetzt werden, nachdem alle verfügbaren Attacken ausgeführt worden sind."
+
+msgid "An attack move that cuts down the target's HP to equal the user's HP."
+msgstr "Trifft nur, wenn KP des Anwenders geringer als KP des Zieles sind. Senkt dessen KP auf die Höhe der KP des Anwenders."
+
+msgid "The user focuses its willpower to its head and attacks the foe. It may also make the target flinch."
+msgstr "Anwender konzentriert seinen Willen und rammt das Ziel. Dieses schreckt eventuell zurück."
+
+msgid "Surfboard"
+msgstr "Surfbrett"
+
+msgid "This device given to you by the Tinkerer makes it possible to surf on water without the help of a Pokémon. Cowabunga!"
+msgstr "Dieses Gerät vom Bastler macht es möglich, ohne die Hilfe eines Pokémons übers Wasser zu surfen. Yippie!"
+
+msgid "Scuba Gear"
+msgstr "Tauchausrüstung"
+
+msgid "This device given to you by the Tinkerer allows you to dive underwater on your own. Who ever used Dive anyways?"
+msgstr "Dieses Gerät vom Bastler erlaubt es dir zu tauchen. Wer braucht schon Taucher?"
+
+msgid "Climbing Pick"
+msgstr "Kletterpickel"
+
+msgid "This device given to you by the Tinkerer allows you to climb up waterfalls while using your surfboard. Extreme sports are fun!"
+msgstr "Dieses Gerät vom Bastler lässt dich von deinem Surfbrett aus Wasserfälle erklettern. Extremsport macht Spaß!"
+
+msgid "Rich Mulch"
+msgstr "Sprießmulch"
+
+msgid "A plant fertilizer. It increases Berry harvest without the need for particularly diligent care."
+msgstr "Mulch zur Nutzung auf Beerenfeldern. Ohne viel Zutun erhöht er die Ausbeute bei der Beerenernte."
+
+msgid "Sprinklotad"
+msgstr "Loturzelkanne"
+
+msgid "A watering can shaped like a Lotad. It helps promote healthy growth of planted Berries."
+msgstr "Eine Gießkanne in Form von Loturzel. Gieße gepflanzte Beeren, damit sie besser wachsen."
+
+msgid "Quadcopter"
+msgstr "Quadrocopter"
+
+msgid "Final device created by the Tinkerer. Use this remote-controlled drone to Fly anywhere without the help of a Pokémon!"
+msgstr "Das letzte Gerät des Bastlers. Benutze diese ferngesteuerte Drohne, um ohne die Hilfe eines Pokémon überall hin zu Fliegen!"
+
+msgid "Ferry Pass"
+msgstr "Fährenpass"
+
+msgid "A Frequent Sailor card for the Venesi Ferry to Bealbeach and Silverport."
+msgstr "Eine Vielsegler-Karte für die Venesi-Fähre nach Sonnenstrand und Silberhafen."
+
+msgid "Dark Dramsamaite"
+msgstr "Dunkler Dramsamanit"
+
+msgid "A disturbing variety of the mysterious Mega Stones. Have Dramsama hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Eine beunruhigende Variante der mysteriösen Mega-Steine. Lass Dramsama ihn halten, und dieser Stein ermöglicht während des Kampfes die Mega-Entwicklung."
+
+msgid "Map Scrap 1"
+msgstr "Kartenschrott 1"
+
+msgid "A torn piece of an ancient sea map. This item refers to a quest that is not yet implemented."
+msgstr "Ein zerrissenes Stück einer alten Seekarte. Dieser Gegenstand bezieht sich auf eine Quest, die noch nicht implementiert ist."
+
+msgid "Map Scrap 2"
+msgstr "Kartenschrott 2"
+
+msgid "Map Scrap 3"
+msgstr "Kartenschrott 3"
+
+msgid "Map Scrap 4"
+msgstr "Kartenschrott 4"
+
+msgid "Map Scrap 5"
+msgstr "Kartenschrott 5"
+
+msgid "Map Scrap 6"
+msgstr "Kartenschrott 6"
+
+msgid "Exp. All"
+msgstr "Exp. Alle"
+
+msgid "Turning on this special device will allow all the Pokémon on your team to receive Exp. Points from battles."
+msgstr "Ein zerrissenes Stück einer alten Seekarte. Dieser Gegenstand bezieht sich auf eine Quest, die noch nicht implementiert ist."
+
+msgid "Oblivicornite"
+msgstr "Fatalihornit"
+
+msgid "One of the mysterious Mega Stones. Have Oblivicorn hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Ein zerrissenes Stück einer alten Seekarte. Dieser Gegenstand bezieht sich auf eine Quest, die noch nicht implementiert ist."
diff --git a/Dialogue/Generated/de/OfficialLocations.po b/Dialogue/Generated/de/OfficialLocations.po
new file mode 100644
index 000000000..6f868c51a
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialLocations.po
@@ -0,0 +1,155 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "01- Lakeside Path"
+msgstr "1- Seeuferpfad"
+
+msgid "02- Owten Nook"
+msgstr "2- Eulzchennest"
+
+msgid "03- Seabreeze Way"
+msgstr "3- Seebrisenweg"
+
+msgid "04- Baa Grassland"
+msgstr "4- Bäwiese"
+
+msgid "05- Tancoon Way"
+msgstr "5- Marukiweg"
+
+msgid "06- Pahar Hills"
+msgstr "6- Paharahügel"
+
+msgid "07- Tandor Sheets"
+msgstr "7- Tandorstraße"
+
+msgid "08- Vinoville Lake"
+msgstr "8- Vinovillesee"
+
+msgid "09- FireValley"
+msgstr "9- Feuertal"
+
+msgid "10- Baykal Forest"
+msgstr "10- Baykal-Wald"
+
+msgid "11- Nature Preserve"
+msgstr "11- Naturresort"
+
+msgid "12- Maskara Channel"
+msgstr "12- Maskarakanal"
+
+msgid "13- Maskara Island"
+msgstr "13- Maskarainsel"
+
+msgid "14- Maskara Sea"
+msgstr "14- Maskarameer"
+
+msgid "15- Shallow Channel"
+msgstr "15- Seichter Kanal"
+
+msgid "Amatree Town"
+msgstr "Amabaumstadt"
+
+msgid "Anthell"
+msgstr "Ameisenhölle"
+
+msgid "Bealbeach City"
+msgstr "Sonnenstrand"
+
+msgid "Berry Traders"
+msgstr "Beerenhändler"
+
+msgid "Bike Shop"
+msgstr "Fahrradladen"
+
+msgid "Burole Town"
+msgstr "Burole"
+
+msgid "Championship Site"
+msgstr "Pokémon-Liga"
+
+msgid "Church"
+msgstr "Kirche"
+
+msgid "Comet Cave"
+msgstr "Kometenhöhle"
+
+msgid "Dpt. Store, Casino"
+msgstr "Kaufhaus, Kasino"
+
+msgid "Kevlar Town"
+msgstr "Kevlarstadt"
+
+msgid "Lanthanite Tunnel"
+msgstr "Lanthanittunnel"
+
+msgid "Larkspur's Lab"
+msgstr "Larkspurs Labor"
+
+msgid "Legen Town"
+msgstr "Legenstadt"
+
+msgid "Moki Town"
+msgstr "Mokistadt"
+
+msgid "Name Rater"
+msgstr "Namensbewerter"
+
+msgid "Nuclear Plant Epsilon"
+msgstr "Kernkraftwerk Epsilon"
+
+msgid "Nuclear Plant Omicron"
+msgstr "Kernkraftwerk Omicron"
+
+msgid "Nuclear Plant Zeta"
+msgstr "Kernkraftwerk Zeta"
+
+msgid "Passage Cave"
+msgstr "Höhlenpassage"
+
+msgid "Pokemon School"
+msgstr "Pokémon-Schule"
+
+msgid "Professor Bambo Lab"
+msgstr "Professor Bamb'us Labor"
+
+msgid "Professor Cypress Lab"
+msgstr "Professor Zypress' Labor"
+
+msgid "Rochfale Town"
+msgstr "Schroffstein"
+
+msgid "Rochfale Tunnel"
+msgstr "Schroffsteintunnel"
+
+msgid "Silverport Town"
+msgstr "Silberhafen"
+
+msgid "Snowbank Town"
+msgstr "Schneeufer"
+
+msgid "The Labyrinth"
+msgstr "Das Labyrinth"
+
+msgid "The Tipsy Tancoon, etc"
+msgstr "Das beschwipste Maruki, etc"
+
+msgid "Tinkerer's Workshop"
+msgstr "Bastlers Werkstatt"
+
+msgid "Training Dojo"
+msgstr "Trainingsdojo"
+
+msgid "Tsukinami Village"
+msgstr "Tsukinami"
+
+msgid "Venesi City"
+msgstr "Venesi"
+
+msgid "Victory Road"
+msgstr "Siegesstraße"
+
+msgid "Vinoville Town"
+msgstr "Vinoville"
+
diff --git a/Dialogue/Generated/de/OfficialMoves.po b/Dialogue/Generated/de/OfficialMoves.po
new file mode 100644
index 000000000..38422f121
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialMoves.po
@@ -0,0 +1,1864 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "Megahorn"
+msgstr "Vielender"
+
+msgid "Attack Order"
+msgstr "Schlagbefehl"
+
+msgid "Bug Buzz"
+msgstr "Käfergebrumm"
+
+msgid "X-Scissor"
+msgstr "Kreuzschere"
+
+msgid "Signal Beam"
+msgstr "Ampelleuchte"
+
+msgid "U-turn"
+msgstr "Kehrtwende"
+
+msgid "Steamroller"
+msgstr "Quetschwalze"
+
+msgid "Bug Bite"
+msgstr "Käferbiss"
+
+msgid "Silver Wind"
+msgstr "Silberhauch"
+
+msgid "Struggle Bug"
+msgstr "Käfertrutz"
+
+msgid "Twineedle"
+msgstr "Duonadel"
+
+msgid "Fury Cutter"
+msgstr "Zornklinge"
+
+msgid "Leech Life"
+msgstr "Blutsauger"
+
+msgid "Pin Missile"
+msgstr "Nadelrakete"
+
+msgid "Defend Order"
+msgstr "Blockbefehl"
+
+msgid "Heal Order"
+msgstr "Heilbefehl"
+
+msgid "Quiver Dance"
+msgstr "Falterreigen"
+
+msgid "Rage Powder"
+msgstr "Wutpulver"
+
+msgid "Spider Web"
+msgstr "Spinnennetz"
+
+msgid "String Shot"
+msgstr "Fadenschuss"
+
+msgid "Tail Glow"
+msgstr "Schweifglanz"
+
+msgid "Foul Play"
+msgstr "Schmarotzer"
+
+msgid "Night Daze"
+msgstr "Nachtflut"
+
+msgid "Crunch"
+msgstr "Knirscher"
+
+msgid "Dark Pulse"
+msgstr "Finsteraura"
+
+msgid "Sucker Punch"
+msgstr "Tiefschlag"
+
+msgid "Night Slash"
+msgstr "Nachthieb"
+
+msgid "Bite"
+msgstr "Biss"
+
+msgid "Feint Attack"
+msgstr "Finte"
+
+msgid "Snarl"
+msgstr "Standpauke"
+
+msgid "Assurance"
+msgstr "Gewissheit"
+
+msgid "Payback"
+msgstr "Gegenstoß"
+
+msgid "Pursuit"
+msgstr "Verfolgung"
+
+msgid "Thief"
+msgstr "Raub"
+
+msgid "Knock Off"
+msgstr "Abschlag"
+
+msgid "Beat Up"
+msgstr "Prügler"
+
+msgid "Fling"
+msgstr "Schleuder"
+
+msgid "Punishment"
+msgstr "Strafattacke"
+
+msgid "Dark Void"
+msgstr "Schlummerort"
+
+msgid "Embargo"
+msgstr "Itemsperre"
+
+msgid "Fake Tears"
+msgstr "Trugträne"
+
+msgid "Flatter"
+msgstr "Schmeichler"
+
+msgid "Hone Claws"
+msgstr "Klauenwetzer"
+
+msgid "Memento"
+msgstr "Memento-Mori"
+
+msgid "Nasty Plot"
+msgstr "Ränkeschmied"
+
+msgid "Quash"
+msgstr "Verzögerung"
+
+msgid "Snatch"
+msgstr "Übernahme"
+
+msgid "Switcheroo"
+msgstr "Wechseldich"
+
+msgid "Taunt"
+msgstr "Verhöhner"
+
+msgid "Torment"
+msgstr "Folterknecht"
+
+msgid "Roar of Time"
+msgstr "Zeitenlärm"
+
+msgid "Outrage"
+msgstr "Wutanfall"
+
+msgid "Dragon Rush"
+msgstr "Drachenstoss"
+
+msgid "Spacial Rend"
+msgstr "Raumschlag"
+
+msgid "Dragon Pulse"
+msgstr "Drachenpuls"
+
+msgid "Dragon Claw"
+msgstr "Drachenklaue"
+
+msgid "Dragon Tail"
+msgstr "Drachenrute"
+
+msgid "Dragon Breath"
+msgstr "Feuerodem"
+
+msgid "Dual Chop"
+msgstr "Doppelhieb"
+
+msgid "Twister"
+msgstr "Windhose"
+
+msgid "Dragon Rage"
+msgstr "Drachenwut"
+
+msgid "Dragon Dance"
+msgstr "Drachentanz"
+
+msgid "Bolt Strike"
+msgstr "Blitzschlag"
+
+msgid "Thunder"
+msgstr "Donner"
+
+msgid "Volt Tackle"
+msgstr "Volttackle"
+
+msgid "Zap Cannon"
+msgstr "Blitzkanone"
+
+msgid "Fusion Bolt"
+msgstr "Kreuzdonner"
+
+msgid "Thunderbolt"
+msgstr "Donnerblitz"
+
+msgid "Wild Charge"
+msgstr "Stromstoss"
+
+msgid "Discharge"
+msgstr "Ladungsstoss"
+
+msgid "Thunder Punch"
+msgstr "Donnerschlag"
+
+msgid "Volt Switch"
+msgstr "Voltwechsel"
+
+msgid "Spark"
+msgstr "Funkensprung"
+
+msgid "Thunder Fang"
+msgstr "Donnerzahn"
+
+msgid "Shock Wave"
+msgstr "Schockwelle"
+
+msgid "Electroweb"
+msgstr "Elektronetz"
+
+msgid "Charge Beam"
+msgstr "Ladestrahl"
+
+msgid "Thunder Shock"
+msgstr "Donnerschock"
+
+msgid "Electro Ball"
+msgstr "Elektroball"
+
+msgid "Charge"
+msgstr "Ladevorgang"
+
+msgid "Magnet Rise"
+msgstr "Magnetflug"
+
+msgid "Thunder Wave"
+msgstr "Donnerwelle"
+
+msgid "Focus Punch"
+msgstr "Power-Punch"
+
+msgid "High Jump Kick"
+msgstr "Turmkick"
+
+msgid "Close Combat"
+msgstr "Nahkampf"
+
+msgid "Focus Blast"
+msgstr "Fokusstoß"
+
+msgid "Superpower"
+msgstr "Kraftkoloss"
+
+msgid "Cross Chop"
+msgstr "Kreuzhieb"
+
+msgid "Dynamic Punch"
+msgstr "Wuchtschlag"
+
+msgid "Hammer Arm"
+msgstr "Hammerarm"
+
+msgid "Jump Kick"
+msgstr "Sprungkick"
+
+msgid "Aura Sphere"
+msgstr "Aurasphäre"
+
+msgid "Sacred Sword"
+msgstr "Sanctoklinge"
+
+msgid "Secret Sword"
+msgstr "Mystoschwert"
+
+msgid "Sky Uppercut"
+msgstr "Himmelhieb"
+
+msgid "Submission"
+msgstr "Überroller"
+
+msgid "Brick Break"
+msgstr "Durchbruch"
+
+msgid "Drain Punch"
+msgstr "Ableithieb"
+
+msgid "Vital Throw"
+msgstr "Überwurf"
+
+msgid "Circle Throw"
+msgstr "Überkopfwurf"
+
+msgid "Force Palm"
+msgstr "Kraftwelle"
+
+msgid "Low Sweep"
+msgstr "Fußtritt"
+
+msgid "Revenge"
+msgstr "Vergeltung"
+
+msgid "Rolling Kick"
+msgstr "Fegekick"
+
+msgid "Wake-Up Slap"
+msgstr "Weckruf"
+
+msgid "Karate Chop"
+msgstr "Karateschlag"
+
+msgid "Mach Punch"
+msgstr "Tempohieb"
+
+msgid "Rock Smash"
+msgstr "Zertrümmerer"
+
+msgid "Storm Throw"
+msgstr "Bergsturm"
+
+msgid "Vacuum Wave"
+msgstr "Vakuumwelle"
+
+msgid "Double Kick"
+msgstr "Doppelkick"
+
+msgid "Arm Thrust"
+msgstr "Armstoß"
+
+msgid "Triple Kick"
+msgstr "Dreifachkick"
+
+msgid "Counter"
+msgstr "Konter"
+
+msgid "Final Gambit"
+msgstr "Wagemut"
+
+msgid "Low Kick"
+msgstr "Fußkick"
+
+msgid "Reversal"
+msgstr "Gegenschlag"
+
+msgid "Seismic Toss"
+msgstr "Geowurf"
+
+msgid "Bulk Up"
+msgstr "Protzer"
+
+msgid "Detect"
+msgstr "Scanner"
+
+msgid "Quick Guard"
+msgstr "Rapidschutz"
+
+msgid "V-create"
+msgstr "V-Generator"
+
+msgid "Blast Burn"
+msgstr "Lohekanonade"
+
+msgid "Overheat"
+msgstr "Hitzekoller"
+
+msgid "Blue Flare"
+msgstr "Blauflammen"
+
+msgid "Fire Blast"
+msgstr "Feuersturm"
+
+msgid "Flare Blitz"
+msgstr "Flammenblitz"
+
+msgid "Magma Storm"
+msgstr "Lavasturm"
+
+msgid "Fusion Flare"
+msgstr "Kreuzflamme"
+
+msgid "Heat Wave"
+msgstr "Hitzewelle"
+
+msgid "Sacred Fire"
+msgstr "Läuterfeuer"
+
+msgid "Searing Shot"
+msgstr "Flammenball"
+
+msgid "Flamethrower"
+msgstr "Flammenwurf"
+
+msgid "Blaze Kick"
+msgstr "Feuerfeger"
+
+msgid "Fiery Dance"
+msgstr "Feuerreigen"
+
+msgid "Lava Plume"
+msgstr "Flammensturm"
+
+msgid "Fire Punch"
+msgstr "Feuerschlag"
+
+msgid "Flame Burst"
+msgstr "Funkenflug"
+
+msgid "Fire Fang"
+msgstr "Feuerzahn"
+
+msgid "Flame Wheel"
+msgstr "Flammenrad"
+
+msgid "Fire Pledge"
+msgstr "Feuersäulen"
+
+msgid "Flame Charge"
+msgstr "Nitroladung"
+
+msgid "Ember"
+msgstr "Glut"
+
+msgid "Fire Spin"
+msgstr "Feuerwirbel"
+
+msgid "Incinerate"
+msgstr "Einäschern"
+
+msgid "Heat Crash"
+msgstr "Brandstempel"
+
+msgid "Sunny Day"
+msgstr "Sonnentag"
+
+msgid "Will-O-Wisp"
+msgstr "Irrlicht"
+
+msgid "Sky Attack"
+msgstr "Himmelsfeger"
+
+msgid "Brave Bird"
+msgstr "Sturzflug"
+
+msgid "Hurricane"
+msgstr "Orkan"
+
+msgid "Aeroblast"
+msgstr "Luftstoß"
+
+msgid "Fly"
+msgstr "Fliegen"
+
+msgid "Bounce"
+msgstr "Sprungfeder"
+
+msgid "Drill Peck"
+msgstr "Bohrschnabel"
+
+msgid "Air Slash"
+msgstr "Luftschnitt"
+
+msgid "Aerial Ace"
+msgstr "Aero-Ass"
+
+msgid "Chatter"
+msgstr "Geschwätz"
+
+msgid "Pluck"
+msgstr "Pflücker"
+
+msgid "Sky Drop"
+msgstr "Freier Fall"
+
+msgid "Wing Attack"
+msgstr "Flügelschlag"
+
+msgid "Acrobatics"
+msgstr "Akrobatik"
+
+msgid "Air Cutter"
+msgstr "Windschnitt"
+
+msgid "Gust"
+msgstr "Windstoß"
+
+msgid "Peck"
+msgstr "Schnabel"
+
+msgid "Defog"
+msgstr "Auflockern"
+
+msgid "Feather Dance"
+msgstr "Daunenreigen"
+
+msgid "Mirror Move"
+msgstr "Spiegeltrick"
+
+msgid "Roost"
+msgstr "Ruheort"
+
+msgid "Tailwind"
+msgstr "Rückenwind"
+
+msgid "Shadow Force"
+msgstr "Schemenkraft"
+
+msgid "Shadow Ball"
+msgstr "Spukball"
+
+msgid "Shadow Claw"
+msgstr "Dunkelklaue"
+
+msgid "Ominous Wind"
+msgstr "Unheilböen"
+
+msgid "Shadow Punch"
+msgstr "Finsterfaust"
+
+msgid "Hex"
+msgstr "Bürde"
+
+msgid "Shadow Sneak"
+msgstr "Schattenstoß"
+
+msgid "Astonish"
+msgstr "Erstauner"
+
+msgid "Lick"
+msgstr "Schlecker"
+
+msgid "Night Shade"
+msgstr "Nachtnebel"
+
+msgid "Confuse Ray"
+msgstr "Konfustrahl"
+
+msgid "Curse"
+msgstr "Fluch"
+
+msgid "Destiny Bond"
+msgstr "Abgangsbund"
+
+msgid "Grudge"
+msgstr "Nachspiel"
+
+msgid "Nightmare"
+msgstr "Nachtmahr"
+
+msgid "Spite"
+msgstr "Groll"
+
+msgid "Frenzy Plant"
+msgstr "Flora-Statue"
+
+msgid "Leaf Storm"
+msgstr "Blättersturm"
+
+msgid "Petal Dance"
+msgstr "Blättertanz"
+
+msgid "Power Whip"
+msgstr "Blattgeißel"
+
+msgid "Seed Flare"
+msgstr "Schocksamen"
+
+msgid "Solar Beam"
+msgstr "Solarstrahl"
+
+msgid "Wood Hammer"
+msgstr "Holzhammer"
+
+msgid "Leaf Blade"
+msgstr "Laubklinge"
+
+msgid "Energy Ball"
+msgstr "Energieball"
+
+msgid "Seed Bomb"
+msgstr "Samenbomben"
+
+msgid "Giga Drain"
+msgstr "Gigasauger"
+
+msgid "Horn Leech"
+msgstr "Holzgeweih"
+
+msgid "Leaf Tornado"
+msgstr "Grasmixer"
+
+msgid "Magical Leaf"
+msgstr "Zauberblatt"
+
+msgid "Needle Arm"
+msgstr "Nietenranke"
+
+msgid "Razor Leaf"
+msgstr "Rasierblatt"
+
+msgid "Grass Pledge"
+msgstr "Pflanzsäulen"
+
+msgid "Mega Drain"
+msgstr "Megasauger"
+
+msgid "Vine Whip"
+msgstr "Rankenhieb"
+
+msgid "Bullet Seed"
+msgstr "Kugelsaat"
+
+msgid "Absorb"
+msgstr "Absorber"
+
+msgid "Grass Knot"
+msgstr "Strauchler"
+
+msgid "Aromatherapy"
+msgstr "Aromakur"
+
+msgid "Cotton Guard"
+msgstr "Watteschild"
+
+msgid "Cotton Spore"
+msgstr "Baumwollsaat"
+
+msgid "Grass Whistle"
+msgstr "Grasflöte"
+
+msgid "Ingrain"
+msgstr "Verwurzler"
+
+msgid "Leech Seed"
+msgstr "Egelsamen"
+
+msgid "Sleep Powder"
+msgstr "Schlafpuder"
+
+msgid "Spore"
+msgstr "Pilzspore"
+
+msgid "Stun Spore"
+msgstr "Stachelspore"
+
+msgid "Synthesis"
+msgstr "Synthese"
+
+msgid "Worry Seed"
+msgstr "Sorgensamen"
+
+msgid "Earthquake"
+msgstr "Erdbeben"
+
+msgid "Earth Power"
+msgstr "Erdkräfte"
+
+msgid "Dig"
+msgstr "Schaufler"
+
+msgid "Drill Run"
+msgstr "Schlagbohrer"
+
+msgid "Bone Club"
+msgstr "Knochenkeule"
+
+msgid "Mud Bomb"
+msgstr "Schlammbombe"
+
+msgid "Bulldoze"
+msgstr "Dampfwalze"
+
+msgid "Mud Shot"
+msgstr "Lehmschuss"
+
+msgid "Bonemerang"
+msgstr "Knochmerang"
+
+msgid "Sand Tomb"
+msgstr "Sandgrab"
+
+msgid "Bone Rush"
+msgstr "Knochenhatz"
+
+msgid "Mud-Slap"
+msgstr "Lehmschelle"
+
+msgid "Fissure"
+msgstr "Geofissur"
+
+msgid "Magnitude"
+msgstr "Intensität"
+
+msgid "Mud Sport"
+msgstr "Lehmsuhler"
+
+msgid "Sand Attack"
+msgstr "Sandwirbel"
+
+msgid "Spikes"
+msgstr "Stachler"
+
+msgid "Freeze Shock"
+msgstr "Frostvolt"
+
+msgid "Ice Burn"
+msgstr "Frosthauch"
+
+msgid "Ice Beam"
+msgstr "Eisstrahl"
+
+msgid "Icicle Crash"
+msgstr "Eiszapfhagel"
+
+msgid "Ice Punch"
+msgstr "Eishieb"
+
+msgid "Aurora Beam"
+msgstr "Aurorastrahl"
+
+msgid "Glaciate"
+msgstr "Eiszeit"
+
+msgid "Ice Fang"
+msgstr "Eiszahn"
+
+msgid "Avalanche"
+msgstr "Lawine"
+
+msgid "Icy Wind"
+msgstr "Eissturm"
+
+msgid "Frost Breath"
+msgstr "Eisesodem"
+
+msgid "Ice Shard"
+msgstr "Eissplitter"
+
+msgid "Powder Snow"
+msgstr "Pulverschnee"
+
+msgid "Ice Ball"
+msgstr "Frostbeule"
+
+msgid "Icicle Spear"
+msgstr "Eisspeer"
+
+msgid "Sheer Cold"
+msgstr "Eiseskälte"
+
+msgid "Hail"
+msgstr "Hagelsturm"
+
+msgid "Haze"
+msgstr "Dunkelnebel"
+
+msgid "Mist"
+msgstr "Weißnebel"
+
+msgid "Self-Destruct"
+msgstr "Finale"
+
+msgid "Giga Impact"
+msgstr "Gigastoß"
+
+msgid "Hyper Beam"
+msgstr "Hyperstrahl"
+
+msgid "Last Resort"
+msgstr "Zuflucht"
+
+msgid "Double-Edge"
+msgstr "Risikotackle"
+
+msgid "Head Charge"
+msgstr "Steinschädel"
+
+msgid "Mega Kick"
+msgstr "Megakick"
+
+msgid "Thrash"
+msgstr "Fuchtler"
+
+msgid "Egg Bomb"
+msgstr "Eierbombe"
+
+msgid "Judgment"
+msgstr "Urteilskraft"
+
+msgid "Skull Bash"
+msgstr "Schädelwumme"
+
+msgid "Hyper Voice"
+msgstr "Schallwelle"
+
+msgid "Rock Climb"
+msgstr "Kraxler"
+
+msgid "Take Down"
+msgstr "Bodycheck"
+
+msgid "Uproar"
+msgstr "Aufruhr"
+
+msgid "Body Slam"
+msgstr "Bodyslam"
+
+msgid "Techno Blast"
+msgstr "Techblaster"
+
+msgid "Extreme Speed"
+msgstr "Turbotempo"
+
+msgid "Hyper Fang"
+msgstr "Hyperzahn"
+
+msgid "Mega Punch"
+msgstr "Megahieb"
+
+msgid "Razor Wind"
+msgstr "Klingensturm"
+
+msgid "Strength"
+msgstr "Stärke"
+
+msgid "Tri Attack"
+msgstr "Triplette"
+
+msgid "Crush Claw"
+msgstr "Zermalmklaue"
+
+msgid "Relic Song"
+msgstr "Urgesang"
+
+msgid "Chip Away"
+msgstr "Zermürben"
+
+msgid "Dizzy Punch"
+msgstr "Irrschlag"
+
+msgid "Facade"
+msgstr "Fassade"
+
+msgid "Headbutt"
+msgstr "Kopfnuss"
+
+msgid "Retaliate"
+msgstr "Heimzahlung"
+
+msgid "Secret Power"
+msgstr "Geheimpower"
+
+msgid "Slash"
+msgstr "Schlitzer"
+
+msgid "Horn Attack"
+msgstr "Hornattacke"
+
+msgid "Stomp"
+msgstr "Stampfer"
+
+msgid "Covet"
+msgstr "Bezirzer"
+
+msgid "Round"
+msgstr "Kanon"
+
+msgid "Smelling Salts"
+msgstr "Riechsalz"
+
+msgid "Swift"
+msgstr "Sternschauer"
+
+msgid "Vice Grip"
+msgstr "Klammer"
+
+msgid "Cut"
+msgstr "Zerschneider"
+
+msgid "Struggle"
+msgstr "Verzweifler"
+
+msgid "Weather Ball"
+msgstr "Meteorologe"
+
+msgid "Echoed Voice"
+msgstr "Widerhall"
+
+msgid "Fake Out"
+msgstr "Mogelhieb"
+
+msgid "False Swipe"
+msgstr "Trugschlag"
+
+msgid "Golden Fist"
+msgstr "Goldfaust"
+
+msgid "Pound"
+msgstr "Pfund"
+
+msgid "Quick Attack"
+msgstr "Ruckzuckhieb"
+
+msgid "Scratch"
+msgstr "Kratzer"
+
+msgid "Snore"
+msgstr "Schnarcher"
+
+msgid "Double Hit"
+msgstr "Doppelschlag"
+
+msgid "Feint"
+msgstr "Offenlegung"
+
+msgid "Tail Slap"
+msgstr "Kehrschelle"
+
+msgid "Rage"
+msgstr "Raserei"
+
+msgid "Rapid Spin"
+msgstr "Turbodreher"
+
+msgid "Spike Cannon"
+msgstr "Dornkanone"
+
+msgid "Comet Punch"
+msgstr "Kometenhieb"
+
+msgid "Fury Swipes"
+msgstr "Kratzfurie"
+
+msgid "Barrage"
+msgstr "Stakkato"
+
+msgid "Bind"
+msgstr "Klammergriff"
+
+msgid "Double Slap"
+msgstr "Duplexhieb"
+
+msgid "Fury Attack"
+msgstr "Furienschlag"
+
+msgid "Wrap"
+msgstr "Wickel"
+
+msgid "Constrict"
+msgstr "Umklammerung"
+
+msgid "Bide"
+msgstr "Geduld"
+
+msgid "Crush Grip"
+msgstr "Quetschgriff"
+
+msgid "Endeavor"
+msgstr "Notsituation"
+
+msgid "Flail"
+msgstr "Dreschflegel"
+
+msgid "Hidden Power"
+msgstr "Kraftreserve"
+
+msgid "Horn Drill"
+msgstr "Hornbohrer"
+
+msgid "Natural Gift"
+msgstr "Beerenkräfte"
+
+msgid "Present"
+msgstr "Geschenk"
+
+msgid "Return"
+msgstr "Rückkehr"
+
+msgid "Sonic Boom"
+msgstr "Ultraschall"
+
+msgid "Spit Up"
+msgstr "Entfessler"
+
+msgid "Super Fang"
+msgstr "Superzahn"
+
+msgid "Trump Card"
+msgstr "Trumpfkarte"
+
+msgid "Wring Out"
+msgstr "Auswringen"
+
+msgid "Acupressure"
+msgstr "Akupressur"
+
+msgid "After You"
+msgstr "Galanterie"
+
+msgid "Assist"
+msgstr "Zuschuss"
+
+msgid "Attract"
+msgstr "Anziehung"
+
+msgid "Baton Pass"
+msgstr "Stafette"
+
+msgid "Belly Drum"
+msgstr "Bauchtrommel"
+
+msgid "Bestow"
+msgstr "Offerte"
+
+msgid "Block"
+msgstr "Rückentzug"
+
+msgid "Camouflage"
+msgstr "Tarnung"
+
+msgid "Captivate"
+msgstr "Liebreiz"
+
+msgid "Charm"
+msgstr "Charme"
+
+msgid "Conversion"
+msgstr "Umwandlung"
+
+msgid "Conversion 2"
+msgstr "Umwandlung2"
+
+msgid "Copycat"
+msgstr "Imitator"
+
+msgid "Defense Curl"
+msgstr "Einigler"
+
+msgid "Disable"
+msgstr "Aussetzer"
+
+msgid "Double Team"
+msgstr "Doppelteam"
+
+msgid "Encore"
+msgstr "Zugabe"
+
+msgid "Endure"
+msgstr "Ausdauer"
+
+msgid "Entrainment"
+msgstr "Zwango"
+
+msgid "Flash"
+msgstr "Blitz"
+
+msgid "Focus Energy"
+msgstr "Energiefokus"
+
+msgid "Follow Me"
+msgstr "Spotlight"
+
+msgid "Foresight"
+msgstr "Gesichte"
+
+msgid "Glare"
+msgstr "Giftblick"
+
+msgid "Growl"
+msgstr "Heuler"
+
+msgid "Growth"
+msgstr "Wachstum"
+
+msgid "Harden"
+msgstr "Härtner"
+
+msgid "Heal Bell"
+msgstr "Vitalglocke"
+
+msgid "Helping Hand"
+msgstr "Rechte Hand"
+
+msgid "Howl"
+msgstr "Jauler"
+
+msgid "Leer"
+msgstr "Silberblick"
+
+msgid "Lock-On"
+msgstr "Zielschuss"
+
+msgid "Lovely Kiss"
+msgstr "Todeskuss"
+
+msgid "Lucky Chant"
+msgstr "Beschwörung"
+
+msgid "Me First"
+msgstr "Egotrip"
+
+msgid "Mean Look"
+msgstr "Horrorblick"
+
+msgid "Metronome"
+msgstr "Metronom"
+
+msgid "Milk Drink"
+msgstr "Milchgetränk"
+
+msgid "Mimic"
+msgstr "Mimikry"
+
+msgid "Mind Reader"
+msgstr "Willensleser"
+
+msgid "Minimize"
+msgstr "Komprimator"
+
+msgid "Moonlight"
+msgstr "Mondschein"
+
+msgid "Morning Sun"
+msgstr "Morgengrauen"
+
+msgid "Nature Power"
+msgstr "Natur-Kraft"
+
+msgid "Odor Sleuth"
+msgstr "Schnüffler"
+
+msgid "Pain Split"
+msgstr "Leidteiler"
+
+msgid "Perish Song"
+msgstr "Abgesang"
+
+msgid "Protect"
+msgstr "Schutzschild"
+
+msgid "Psych Up"
+msgstr "Psycho-Plus"
+
+msgid "Recover"
+msgstr "Genesung"
+
+msgid "Recycle"
+msgstr "Aufbereitung"
+
+msgid "Reflect Type"
+msgstr "Typenspiegel"
+
+msgid "Refresh"
+msgstr "Heilung"
+
+msgid "Roar"
+msgstr "Brüller"
+
+msgid "Safeguard"
+msgstr "Bodyguard"
+
+msgid "Scary Face"
+msgstr "Grimasse"
+
+msgid "Screech"
+msgstr "Kreideschrei"
+
+msgid "Sharpen"
+msgstr "Schärfer"
+
+msgid "Shell Smash"
+msgstr "Hausbruch"
+
+msgid "Simple Beam"
+msgstr "Wankelstrahl"
+
+msgid "Sing"
+msgstr "Gesang"
+
+msgid "Sketch"
+msgstr "Nachahmer"
+
+msgid "Slack Off"
+msgstr "Tagedieb"
+
+msgid "Sleep Talk"
+msgstr "Schlafrede"
+
+msgid "Smoke Screen"
+msgstr "Rauchwolke"
+
+msgid "Soft-Boiled"
+msgstr "Weichei"
+
+msgid "Splash"
+msgstr "Platscher"
+
+msgid "Stockpile"
+msgstr "Horter"
+
+msgid "Substitute"
+msgstr "Delegator"
+
+msgid "Supersonic"
+msgstr "Superschall"
+
+msgid "Swagger"
+msgstr "Angeberei"
+
+msgid "Swallow"
+msgstr "Verzehrer"
+
+msgid "Sweet Kiss"
+msgstr "Bitterkuss"
+
+msgid "Sweet Scent"
+msgstr "Lockduft"
+
+msgid "Swords Dance"
+msgstr "Schwerttanz"
+
+msgid "Tail Whip"
+msgstr "Rutenschlag"
+
+msgid "Teeter Dance"
+msgstr "Taumeltanz"
+
+msgid "Tickle"
+msgstr "Spaßkanone"
+
+msgid "Transform"
+msgstr "Wandler"
+
+msgid "Whirlwind"
+msgstr "Wirbelwind"
+
+msgid "Wish"
+msgstr "Wunschtraum"
+
+msgid "Work Up"
+msgstr "Kraftschub"
+
+msgid "Yawn"
+msgstr "Gähner"
+
+msgid "Gunk Shot"
+msgstr "Mülltreffer"
+
+msgid "Sludge Wave"
+msgstr "Schlammwoge"
+
+msgid "Sludge Bomb"
+msgstr "Matschbombe"
+
+msgid "Poison Jab"
+msgstr "Gifthieb"
+
+msgid "Cross Poison"
+msgstr "Giftstreich"
+
+msgid "Sludge"
+msgstr "Schlammbad"
+
+msgid "Venoshock"
+msgstr "Giftschock"
+
+msgid "Clear Smog"
+msgstr "Klärsmog"
+
+msgid "Poison Fang"
+msgstr "Giftzahn"
+
+msgid "Poison Tail"
+msgstr "Giftschweif"
+
+msgid "Acid"
+msgstr "Säure"
+
+msgid "Acid Spray"
+msgstr "Säurespeier"
+
+msgid "Poison Sting"
+msgstr "Giftstachel"
+
+msgid "Acid Armor"
+msgstr "Säurepanzer"
+
+msgid "Coil"
+msgstr "Einrollen"
+
+msgid "Gastro Acid"
+msgstr "Magensäfte"
+
+msgid "Poison Gas"
+msgstr "Giftwolke"
+
+msgid "Poison Powder"
+msgstr "Giftpuder"
+
+msgid "Toxic"
+msgstr "Toxin"
+
+msgid "Toxic Spikes"
+msgstr "Giftspitzen"
+
+msgid "Psycho Boost"
+msgstr "Psyschub"
+
+msgid "Dream Eater"
+msgstr "Traumfresser"
+
+msgid "Future Sight"
+msgstr "Seher"
+
+msgid "Psystrike"
+msgstr "Psychostoß"
+
+msgid "Psychic"
+msgstr "Psychokinese"
+
+msgid "Extrasensory"
+msgstr "Sondersensor"
+
+msgid "Psyshock"
+msgstr "Psychoschock"
+
+msgid "Zen Headbutt"
+msgstr "Zen-Kopfstoß"
+
+msgid "Luster Purge"
+msgstr "Scheinwerfer"
+
+msgid "Mist Ball"
+msgstr "Nebelball"
+
+msgid "Psycho Cut"
+msgstr "Psychoklinge"
+
+msgid "Synchronoise"
+msgstr "Synchrolärm"
+
+msgid "Psybeam"
+msgstr "Psystrahl"
+
+msgid "Heart Stamp"
+msgstr "Herzstempel"
+
+msgid "Confusion"
+msgstr "Konfusion"
+
+msgid "Mirror Coat"
+msgstr "Spiegelcape"
+
+msgid "Psywave"
+msgstr "Psywelle"
+
+msgid "Stored Power"
+msgstr "Kraftvorrat"
+
+msgid "Agility"
+msgstr "Agilität"
+
+msgid "Ally Switch"
+msgstr "Seitentausch"
+
+msgid "Amnesia"
+msgstr "Amnesie"
+
+msgid "Barrier"
+msgstr "Barriere"
+
+msgid "Calm Mind"
+msgstr "Gedankengut"
+
+msgid "Cosmic Power"
+msgstr "Kosmik-Kraft"
+
+msgid "Gravity"
+msgstr "Erdanziehung"
+
+msgid "Guard Split"
+msgstr "Schutzteiler"
+
+msgid "Guard Swap"
+msgstr "Schutztausch"
+
+msgid "Heal Block"
+msgstr "Heilblockade"
+
+msgid "Heal Pulse"
+msgstr "Heilwoge"
+
+msgid "Healing Wish"
+msgstr "Heilopfer"
+
+msgid "Heart Swap"
+msgstr "Statustausch"
+
+msgid "Hypnosis"
+msgstr "Hypnose"
+
+msgid "Imprison"
+msgstr "Begrenzer"
+
+msgid "Kinesis"
+msgstr "Psykraft"
+
+msgid "Light Screen"
+msgstr "Lichtschild"
+
+msgid "Lunar Dance"
+msgstr "Lunartanz"
+
+msgid "Magic Coat"
+msgstr "Magiemantel"
+
+msgid "Magic Room"
+msgstr "Magieraum"
+
+msgid "Meditate"
+msgstr "Meditation"
+
+msgid "Miracle Eye"
+msgstr "Wunderauge"
+
+msgid "Power Split"
+msgstr "Kraftteiler"
+
+msgid "Power Swap"
+msgstr "Krafttausch"
+
+msgid "Power Trick"
+msgstr "Krafttrick"
+
+msgid "Psycho Shift"
+msgstr "Psybann"
+
+msgid "Reflect"
+msgstr "Reflektor"
+
+msgid "Rest"
+msgstr "Erholung"
+
+msgid "Role Play"
+msgstr "Rollentausch"
+
+msgid "Skill Swap"
+msgstr "Wertewechsel"
+
+msgid "Telekinesis"
+msgstr "Telekinese"
+
+msgid "Trick"
+msgstr "Trickbetrug"
+
+msgid "Trick Room"
+msgstr "Bizarroraum"
+
+msgid "Wonder Room"
+msgstr "Wunderraum"
+
+msgid "Head Smash"
+msgstr "Kopfstoß"
+
+msgid "Rock Wrecker"
+msgstr "Felswerfer"
+
+msgid "Stone Edge"
+msgstr "Steinkante"
+
+msgid "Rock Slide"
+msgstr "Steinhagel"
+
+msgid "Power Gem"
+msgstr "Juwelenkraft"
+
+msgid "Ancient Power"
+msgstr "Antik-Kraft"
+
+msgid "Rock Throw"
+msgstr "Steinwurf"
+
+msgid "Rock Tomb"
+msgstr "Felsgrab"
+
+msgid "Smack Down"
+msgstr "Katapult"
+
+msgid "Rollout"
+msgstr "Walzer"
+
+msgid "Rock Blast"
+msgstr "Felswurf"
+
+msgid "Rock Polish"
+msgstr "Steinpolitur"
+
+msgid "Sandstorm"
+msgstr "Sandsturm"
+
+msgid "Stealth Rock"
+msgstr "Tarnsteine"
+
+msgid "Wide Guard"
+msgstr "Rundumschutz"
+
+msgid "Doom Desire"
+msgstr "Kismetwunsch"
+
+msgid "Iron Tail"
+msgstr "Eisenschweif"
+
+msgid "Meteor Mash"
+msgstr "Sternenhieb"
+
+msgid "Flash Cannon"
+msgstr "Lichtkanone"
+
+msgid "Iron Head"
+msgstr "Eisenschädel"
+
+msgid "Steel Wing"
+msgstr "Stahlflügel"
+
+msgid "Mirror Shot"
+msgstr "Spiegelsalve"
+
+msgid "Magnet Bomb"
+msgstr "Magnetbombe"
+
+msgid "Gear Grind"
+msgstr "Klikkdiskus"
+
+msgid "Metal Claw"
+msgstr "Metallklaue"
+
+msgid "Bullet Punch"
+msgstr "Patronenhieb"
+
+msgid "Gyro Ball"
+msgstr "Gyroball"
+
+msgid "Heavy Slam"
+msgstr "Rammboss"
+
+msgid "Metal Burst"
+msgstr "Metallstoß"
+
+msgid "Autotomize"
+msgstr "Autotomie"
+
+msgid "Iron Defense"
+msgstr "Eisenabwehr"
+
+msgid "Metal Sound"
+msgstr "Metallsound"
+
+msgid "Shift Gear"
+msgstr "Gangwechsel"
+
+msgid "Hydro Cannon"
+msgstr "Aquahaubitze"
+
+msgid "Water Spout"
+msgstr "Fontränen"
+
+msgid "Hydro Pump"
+msgstr "Hydropumpe"
+
+msgid "Muddy Water"
+msgstr "Lehmbrühe"
+
+msgid "Surf"
+msgstr "Surfer"
+
+msgid "Aqua Tail"
+msgstr "Nassschweif"
+
+msgid "Crabhammer"
+msgstr "Krabbhammer"
+
+msgid "Dive"
+msgstr "Taucher"
+
+msgid "Scald"
+msgstr "Siedewasser"
+
+msgid "Waterfall"
+msgstr "Kaskade"
+
+msgid "Razor Shell"
+msgstr "Kalkklinge"
+
+msgid "Brine"
+msgstr "Lake"
+
+msgid "Bubble Beam"
+msgstr "Blubbstrahl"
+
+msgid "Water Pulse"
+msgstr "Aquawelle"
+
+msgid "Water Pledge"
+msgstr "Wassersäulen"
+
+msgid "Aqua Jet"
+msgstr "Wasserdüse"
+
+msgid "Water Gun"
+msgstr "Aquaknarre"
+
+msgid "Clamp"
+msgstr "Schnapper"
+
+msgid "Bubble"
+msgstr "Blubber"
+
+msgid "Aqua Ring"
+msgstr "Wasserring"
+
+msgid "Rain Dance"
+msgstr "Regentanz"
+
+msgid "Soak"
+msgstr "Überflutung"
+
+msgid "Water Sport"
+msgstr "Nassmacher"
+
+msgid "Withdraw"
+msgstr "Panzerschutz"
+
+msgid "Coral Break"
+msgstr "Korallenbrecher"
+
+msgid "Atomic Punch"
+msgstr "Atomschlag"
+
+msgid "Metal Whip"
+msgstr "Metallpeitsche"
+
+msgid "Shuffle"
+msgstr "Mischer"
+
+msgid "Nuclear Waste"
+msgstr "Atommüll"
+
+msgid "Gamma Ray"
+msgstr "Gammastrahl"
+
+msgid "Radioacid"
+msgstr "Radiosäure"
+
+msgid "Sky Fall"
+msgstr "Himmelsfall"
+
+msgid "Flame Impact"
+msgstr "Flammenstoß"
+
+msgid "Draining Kiss"
+msgstr "Diebeskuss"
+
+msgid "Eerie Impulse"
+msgstr "Mystowellen"
+
+msgid "Electric Terrain"
+msgstr "Elektrofeld"
+
+msgid "Electrify"
+msgstr "Elektrifizierung"
+
+msgid "Fairy Lock"
+msgstr "Feenschloss"
+
+msgid "Fairy Wind"
+msgstr "Feenbrise"
+
+msgid "Fell Stinger"
+msgstr "Stachelfinale"
+
+msgid "Flower Shield"
+msgstr "Floraschutz"
+
+msgid "Forest's Curse"
+msgstr "Waldesfluch"
+
+msgid "Freeze-Dry"
+msgstr "Gefriertrockner"
+
+msgid "Geomancy"
+msgstr "Geokontrolle"
+
+msgid "Grassy Terrain"
+msgstr "Grasfeld"
+
+msgid "Infestation"
+msgstr "Plage"
+
+msgid "Ion Deluge"
+msgstr "Plasmaschauer"
+
+msgid "King's Shield"
+msgstr "Königsschild"
+
+msgid "Land's Wrath"
+msgstr "Bodengewalt"
+
+msgid "Magnetic Flux"
+msgstr "Magnetregler"
+
+msgid "Mat Block"
+msgstr "Tatami-Schild"
+
+msgid "Misty Terrain"
+msgstr "Nebelfeld"
+
+msgid "Moonblast"
+msgstr "Mondgewalt"
+
+msgid "Mystical Fire"
+msgstr "Magieflamme"
+
+msgid "Noble Roar"
+msgstr "Kampfgebrüll"
+
+msgid "Nuzzle"
+msgstr "Wangenrubbler"
+
+msgid "Oblivion Wing"
+msgstr "Unheilsschwingen"
+
+msgid "Parabolic Charge"
+msgstr "Parabolladung"
+
+msgid "Parting Shot"
+msgstr "Abgangstirade"
+
+msgid "Petal Blizzard"
+msgstr "Blütenwirbel"
+
+msgid "Phantom Force"
+msgstr "Phantomkraft"
+
+msgid "Play Nice"
+msgstr "Kameradschaft"
+
+msgid "Play Rough"
+msgstr "Knuddler"
+
+msgid "Powder"
+msgstr "Pulverschleuder"
+
+msgid "Power-Up Punch"
+msgstr "Steigerungshieb"
+
+msgid "Rototiller"
+msgstr "Pflüger"
+
+msgid "Spiky Shield"
+msgstr "Schutzstacheln"
+
+msgid "Sticky Web"
+msgstr "Klebenetz"
+
+msgid "Topsy-Turvy"
+msgstr "Invertigo"
+
+msgid "Trick-or-Treat"
+msgstr "Halloween"
+
+msgid "Venom Drench"
+msgstr "Giftfalle"
+
+msgid "Water Shuriken"
+msgstr "Wasser-Shuriken"
+
+msgid "Aromatic Mist"
+msgstr "Duftwolke"
+
+msgid "Baby-Doll Eyes"
+msgstr "Kulleraugen"
+
+msgid "Belch"
+msgstr "Rülpser"
+
+msgid "Boomburst"
+msgstr "Überschallknall"
+
+msgid "Confide"
+msgstr "Vertrauenssache"
+
+msgid "Crafty Shield"
+msgstr "Trickschutz"
+
+msgid "Dazzling Gleam"
+msgstr "Zauberschein"
+
+msgid "Disarming Voice"
+msgstr "Säuselstimme"
+
+msgid "Subduction"
+msgstr "Subduktion"
+
+msgid "Laser Pulse"
+msgstr "Laserwelle"
+
+msgid "Gemstone Glimmer"
+msgstr "Edelsteinschimmern"
+
+msgid "Half-life"
+msgstr "Halbwertszeit"
+
+msgid "Ocean's Wrath"
+msgstr "Meereszorn"
+
+msgid "Fission Burst"
+msgstr "Kernspaltung"
+
+msgid "Caustic Breath"
+msgstr "Ätzodem"
+
+msgid "Nuclear Slash"
+msgstr "Atomschlitzer"
+
+msgid "Thunderstorm"
+msgstr "Gewitter"
+
+msgid "Sudden Strike"
+msgstr "Unerwarteter Schlag"
+
+msgid "Expunge"
+msgstr "Kernsäuberung"
+
+msgid "Proton Beam"
+msgstr "Protonenstrahl"
+
+msgid "Infernal Blade"
+msgstr "Höllenklinge"
+
+msgid "Quantum Leap"
+msgstr "Quantensprung"
+
+msgid "Metal Cruncher"
+msgstr "Metallknirscher"
+
+msgid "Drain Life"
+msgstr "Lebenssauger"
+
+msgid "Sticky Terrain"
+msgstr "Klebefeld"
+
+msgid "Nuclear Wind"
+msgstr "Partikelsturm"
diff --git a/Dialogue/Generated/de/OfficialNames.po b/Dialogue/Generated/de/OfficialNames.po
new file mode 100644
index 000000000..d10869dda
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialNames.po
@@ -0,0 +1,26 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "Davern"
+msgstr "Dave"
+
+msgid "Dick"
+msgstr "Richard"
+
+msgid "Garlikid"
+msgstr "Knobikid"
+
+msgid "OF DREAMS"
+msgstr "DER TRÄUME"
+
+msgid "Sack"
+msgstr "Zach"
+
+msgid "Tod"
+msgstr "Todd"
+
+msgid "URAYNE"
+msgstr "URAMOK"
+
diff --git a/Dialogue/Generated/de/OfficialPhone.po b/Dialogue/Generated/de/OfficialPhone.po
new file mode 100644
index 000000000..a3b1627d8
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialPhone.po
@@ -0,0 +1,128 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "Buenas noches, \\PN!\\mThis is \\TN!"
+msgstr "Buenas noches, \\PN!\\mHier ist \\TN!"
+
+msgid "Did you hear about Nuclear Pokemon?\\mI hope I don't run into one of those, they sound scary.\\mBe careful out there, ok?"
+msgstr "Hast du von den Nuklear-Pokémon gehört?\\mIch hoffe, dass ich keine von denen treffe. Hört sich gruselig an.\\mSei vorsichtig da draußen, ok?"
+
+msgid "Do you remember my \\TP?\\m My \\TP is awesome. It's so cool.\\m I'd even say my \\TP is in the top percentage of \\TPs."
+msgstr "Erinnerst du dich an mein \\TP?\\m Mein \\TP ist super. Es ist so cool.\\m Ich würde sogar sagen, dass mein \\TP unter den Top \\TPs ist."
+
+msgid "Do you want to battle? I'm going to win this time!\\mI'll be waiting for you around \\TM.\\mLook for me, OK? My \\TP will be expecting you."
+msgstr "Willst du kämpfen? Dieses Mal werde ich gewinnen!\\mIch warte auf dich in \\TM.\\mSchau nach, OK? Mein \\TP wird dich erwarten."
+
+msgid "Good day, \\PN! Hi. This is \\TN."
+msgstr "Guten Tag, \\PN! Hi. Hier ist \\TN."
+
+msgid "Good morning!\\m This is \\PN, right? It's me, \\TN."
+msgstr "Guten Morgen!\\m Ich spreche mit \\PN, oder? Ich bin's, \\TN."
+
+msgid "Good morning, \\PN.\\mThis is \\TN. Did I wake you?"
+msgstr "Guten Morgen, \\PN.\\m Hier ist \\TN. Habe ich dich geweckt?"
+
+msgid "Good morning, \\PN.\\mThis is \\TN. Rise and shine!"
+msgstr "Guten Morgen, \\PN.\\m Hier ist \\TN. Raus aus den Federn!"
+
+msgid "Guess what happened the other day. I missed catching \\TE again.\\mMaybe I'm not very good at this."
+msgstr "Rate mal was letztens passiert ist. Ich habe es wieder verpasst ein \\TE zu fangen.\\mVielleicht bin ich einfach nicht sonderlich gut darin."
+
+msgid "Have you ever hatched a Pokemon Egg?\\mI raised my \\TP from an egg."
+msgstr "Hast du jemals ein Pokémon-Ei ausgebrütet?\\mIch habe mein \\TP aus einem Ei großgezogen."
+
+msgid "Have you seen the \\TEs around \\TM?\\mThey scare me so much! I always run away!"
+msgstr "Hast du \\TEs in der Nähe von \\TM gesehen?\\mSie jagen mir solche Angst ein! Ich renne immer weg!"
+
+msgid "Have you tried trading with your friends?\\mI got my \\TP in a trade, and it grows so fast!\\mTrades can be an awesome way to get strong Pokemon."
+msgstr "Hast du versucht, mit deinen Freunden zu tauschen?\\mIch habe mein \\TP in einem Tausch bekommen, und es wächst so schnell!\\mTauschen kann ein toller Weg sein starke Pokémon zu bekommen."
+
+msgid "Hello, \\PN. This is \\TN. How are things?"
+msgstr "Hallo, \\PN. Hier ist \\TN. Wie läufts?"
+
+msgid "Hello. This is \\TN."
+msgstr "Hallo. Hier ist \\TN."
+
+msgid "Hey, \\PN! Good evening!\\mThis is \\TN."
+msgstr "Hey, \\PN! Guten Abend!\\mHier ist \\TN."
+
+msgid "Hey, \\PN, wassup? It's \\TN."
+msgstr "Hey, \\PN, was geht? Hier ist \\TN."
+
+msgid "Hey, are you ready for another throw-down?\\mYou, me, battle. Place, \\TM.\\mTime, whenever you want! Let's do it!"
+msgstr "Hey, bist du bereit für einen weiteren Kampf?\\mIch, du, Kampf. Ort, \\TM.\\mZeit, wann du willst! Lass uns anfangen!"
+
+msgid "Hey, listen! I almost caught \\TE the other day.\\mOh, it was sooooooo close, too!"
+msgstr "Hey, hör mal! Ich habe letztens beinahe ein \\TE gefangen.\\mOh, es war auch sooooooo knapp!"
+
+msgid "How are you doing? \\PN, howdy! This is \\TN. Isn't it nice out?"
+msgstr "\\PN, howdy! Wie geht es dir? Hier ist \\TN. Ist es draußen nicht schön?"
+
+msgid "How are your Pokemon doing?\\mI always keep my \\TP in top shape by going to Pokemon Centers."
+msgstr "Wie geht es deinen Pokémon?\\mMein \\TP halte ich immer in Topform, indem ich mit ihm viele Pokémon Center besuche."
+
+msgid "How are your Pokemon doing?\\mMy \\TP's really energetic. It's a handful!"
+msgstr "Wie geht es deinen Pokémon?\\mMein \\TP ist immer sehr energetisch. Es ist anstrengend!"
+
+msgid "How are your Pokemon doing?\\mMy \\TP's really energetic. It's a handful!\\mOh yeah, I managed to beat a tough \\TE.\\mI need to make my party stronger."
+msgstr "Wie geht es deinen Pokémon?\\mMein \\TP ist voller Energie und anstrenged!\\mAch ja, ich habe es geschafft ein \\TE zu besiegen.\\mIch muss mein Team stärker machen."
+
+msgid "I dressed my \\TP and it looks even cuter than before."
+msgstr "Ich hab mein \\TP verkleidet und jetzt sieht es noch süßer aus als vorher!"
+
+msgid "I painted a portrait of my beloved \\TP.\\mIt didn't like sitting still though."
+msgstr "Ich habe ein Portrait von meinem geliebten \\TP gemalt.\\mEs mochte jedoch nicht still sitzen bleiben."
+
+msgid "I spent all day hunting for a shiny \\TE.\\mI didn't manage to find any, though."
+msgstr "Ich habe den ganzen Tag verbracht, schillernde \\TE zu suchen.\\mIch habe allerdings keine finden können."
+
+msgid "I tried to use the Wonder Trade today.\\mAll I got was a Lv.3 Chyinmunk though.\\mWhy do people put up such lame Pokemon for trade?"
+msgstr "Ich habe heute versucht, Wundertausch zu benutzen, aber alles was ich bekommen habe war ein Lv.3 Schiflink.\\mWarum tauschen Leute solche lahmen Pokémon?"
+
+msgid "Let's have a battle! I want to see how much you've grown!\\mI'm still hanging around \\TM.\\mCome see if you can beat my \\TP!"
+msgstr "Lass uns kämpfen! Ich will sehen, wie viel stärker ich geworden bin!\\mIch hänge immer noch in \\TM ab.\\mKomm her und versuche mein \\TP zu schlagen!"
+
+msgid "My \\TP and I love playing games.\\m Its favorite game is fetch."
+msgstr "Mein \\TP und ich lieben es, Spiele zu spielen.\\m Sein Lieblingsspiel ist Fangen."
+
+msgid "My \\TP is fantastic.\\mI'd say it's even in the top percentage of \\TPs."
+msgstr "Mein \\TP ist fantastisch.\\mIch würde sagen, dass es eines der besten \\TPs ist."
+
+msgid "My \\TP's looking really awesome. I wish I could show you."
+msgstr "Mein \\TP sieht wirklich super aus. Ich wünschte, ich könnte es dir zeigen."
+
+msgid "My \\TP's looking really awesome.\\mI wish I could show you.\\mHey, listen! I almost caught a \\TE the other day.\\mOh, it was sooooooo close, too!"
+msgstr "Mein \\TP sieht wirklich cool aus.\\mIch wünschte, ich könnte es dir zeigen.\\mHey, hör zu! Ich hatte vor Kurzem fast ein \\TE gefangen.\\mEs war auch sooooooo knapp!"
+
+msgid "Oh yeah, I managed to beat a tough \\TE.\\mI need to make my party stronger."
+msgstr "Oh yeah, ich habe es geschafft ein hartnäckiges \\TE zu schlagen.\\mIch muss mein Team stärker machen."
+
+msgid "Ready for a rematch? \\TP and I have been training hard!\\mI'll be waiting for you around \\TM where we met.\\mCome find me and let's battle!"
+msgstr "Bereit, unseren Kampf zu wiederholen? \\TP und ich haben viel trainiert!\\mIch werde auf dich in \\TM warten, wo wir uns zuerst getroffen haben.\\mFind mich und lass uns kämpfen!"
+
+msgid "Remember the last time we battled? Let's rematch!\\mI promise it won't be a repeat of last time.\\mCome find me around \\TM!"
+msgstr "Erinnerst du dich noch an das letzte Mal, als wir gekämpft haben? Lass uns das wiederholen!\\mIch verspreche, dass es nicht wie letztes Mal laufen wird.\\mKomm auf \\TM vorbei!"
+
+msgid "Top of the morning, \\PN!\\m\\TN here, at your service."
+msgstr "Einen wunderschönen guten Morgen, \\PN!\\mHier ist \\TN. Zu deinen Diesten."
+
+msgid "Want to battle? It's not going to be a repeat of the last time we met.\\mI'll be waiting for you around \\TM."
+msgstr "Willst du kämpfen? Es wird nicht nur einfach eine Wiederholung vom letzten Mal.\\mIch werde auf dich in \\TM warten."
+
+msgid "What did you eat for lunch today? I had a grilled \\TE.\\mI don't think I cooked it well enough.\\mOr did you not eat lunch at all?"
+msgstr "Was hast du heute zu Mittag gegessen? Ich hatte ein gegrilltes \\TE.\\mIch glaube, dass ich es nicht lange genug gekocht habe.\\mOder hattest du gar kein Mittagessen?"
+
+msgid "Yo, \\PN, my main homie! This is \\TN!"
+msgstr "Yo, \\PN! Hier ist \\TN!"
+
+msgid "You have to hear this! I battled \\TE the other day.\\mIt was easy! I had a type advantage."
+msgstr "Das musst du dir anhören! Ich habe letztens gegen ein \\TE gekämpft.\\mEs war einfach! Ich hatte einen Typen-Vorteil."
+
+msgid "\\PN, good day! It's me, \\TN. Got a minute?"
+msgstr "\\PN, guten Tag! Ich bin's, \\TN. Hast du 'ne Minute?"
+
+msgid "\\PN, good evening! Hi.\\mThis is \\TN."
+msgstr "\\PN, guten Abend! Hi.\\mHier ist \\TN."
+
diff --git a/Dialogue/Generated/de/OfficialPokemonNames.po b/Dialogue/Generated/de/OfficialPokemonNames.po
new file mode 100644
index 000000000..18f7a9ee0
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialPokemonNames.po
@@ -0,0 +1,475 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "Orchynx"
+msgstr "Orchiluks"
+
+msgid "Metalynx"
+msgstr "Metaluks"
+
+msgid "Raptorch"
+msgstr "Glutino"
+
+msgid "Archilles"
+msgstr "Brandillo"
+
+msgid "Eletux"
+msgstr "Voltus"
+
+msgid "Electruxo"
+msgstr "Ampuxo"
+
+msgid "Chyinmunk"
+msgstr "Schiflink"
+
+msgid "Kinetmunk"
+msgstr "Schiflör"
+
+msgid "Aveden"
+msgstr "Feradie"
+
+msgid "Splendifowl"
+msgstr "Paradieh"
+
+msgid "Cubbug"
+msgstr "Knuddelurm"
+
+msgid "Cubblfly"
+msgstr "Knuddeling"
+
+msgid "Barewl"
+msgstr "Erzel"
+
+msgid "dearewl"
+msgstr "Bamberz"
+
+msgid "Gararewl"
+msgstr "Erzrawel"
+
+msgid "Grozard"
+msgstr "Erdechs"
+
+msgid "Terlard"
+msgstr "Naterra"
+
+msgid "Tonemy"
+msgstr "Giffind"
+
+msgid "Tofurang"
+msgstr "Toxanell"
+
+msgid "Dunsparce"
+msgstr "Dummisel"
+
+msgid "Dunseraph"
+msgstr "Dummago"
+
+msgid "Fortog"
+msgstr "Froxig"
+
+msgid "Folerog"
+msgstr "Froxor"
+
+msgid "Blubelrog"
+msgstr "Frochillox"
+
+msgid "Magikarp"
+msgstr "Karpador"
+
+msgid "Gyarados"
+msgstr "Garados"
+
+msgid "Feleng"
+msgstr "Feling"
+
+msgid "Felunge"
+msgstr "Felung"
+
+msgid "Mankey"
+msgstr "Menki"
+
+msgid "Primeape"
+msgstr "Rasaff"
+
+msgid "Empirilla"
+msgstr "Imperilla"
+
+msgid "Owten"
+msgstr "Eulzchen"
+
+msgid "Eshouten"
+msgstr "Eultze"
+
+msgid "Lotad"
+msgstr "Loturzel"
+
+msgid "Lombre"
+msgstr "Lombrero"
+
+msgid "Ludicolo"
+msgstr "Kappalores"
+
+msgid "Smore"
+msgstr "Amauch"
+
+msgid "Firoke"
+msgstr "Amafera"
+
+msgid "Brailip"
+msgstr "Hirlip"
+
+msgid "Brainoar"
+msgstr "Welsirn"
+
+msgid "Ekans"
+msgstr "Rettan"
+
+msgid "Tancoon"
+msgstr "Maruki"
+
+msgid "Tanscure"
+msgstr "Marduskur"
+
+msgid "Sponee"
+msgstr "Poriflo"
+
+msgid "Sponaree"
+msgstr "Schakade"
+
+msgid "Pahar"
+msgstr "Pahara"
+
+msgid "Palij"
+msgstr "Pakamin"
+
+msgid "Panjay"
+msgstr "Pahäher"
+
+msgid "Jerbolta"
+msgstr "Jebitza"
+
+msgid "Comite"
+msgstr "Komerit"
+
+msgid "Cometeor"
+msgstr "Kometeor"
+
+msgid "Astronite"
+msgstr "Komenaut"
+
+msgid "Mareep"
+msgstr "Voltilamm"
+
+msgid "Flaaffy"
+msgstr "Waaty"
+
+msgid "Baashaun"
+msgstr "Bäshaun"
+
+msgid "Baaschaf"
+msgstr "Bäschaf"
+
+msgid "Baariette"
+msgstr "Bäphomet"
+
+msgid "Tricwe"
+msgstr "Amaja"
+
+msgid "Harylect"
+msgstr "Heleksekt"
+
+msgid "Costraw"
+msgstr "Säugel"
+
+msgid "Trawpint"
+msgstr "Blugegel"
+
+msgid "Lunapup"
+msgstr "Weluna"
+
+msgid "Herolune"
+msgstr "Heluno"
+
+msgid "Minyan"
+msgstr "Lakiau"
+
+msgid "Vilucard"
+msgstr "Halukard"
+
+msgid "Buizel"
+msgstr "Bamelin"
+
+msgid "Floatzel"
+msgstr "Bojelin"
+
+msgid "Modrille"
+msgstr "Mawore"
+
+msgid "Drilgann"
+msgstr "Borgann"
+
+msgid "Gligar"
+msgstr "Skorgla"
+
+msgid "Gliscor"
+msgstr "Skorgro"
+
+msgid "Sableye"
+msgstr "Zobiris"
+
+msgid "Cocaran"
+msgstr "Kokoran"
+
+msgid "Cararalm"
+msgstr "Kokoralm"
+
+msgid "Cocancer"
+msgstr "Kokorebs"
+
+msgid "Corsola"
+msgstr "Corasonn"
+
+msgid "Corsoreef"
+msgstr "Corariff"
+
+msgid "Tubjaw"
+msgstr "Tubarahn"
+
+msgid "Tubareel"
+msgstr "Tubaraal"
+
+msgid "Cassnail"
+msgstr "Schnurg"
+
+msgid "Escartress"
+msgstr "Fescargot"
+
+msgid "Nupin"
+msgstr "Caulerpi"
+
+msgid "Gellin"
+msgstr "Geleria"
+
+msgid "Cottonee"
+msgstr "Waumboll"
+
+msgid "Whimsicott"
+msgstr "Elfun"
+
+msgid "Misdreavus"
+msgstr "Traunfugil"
+
+msgid "Mismagius"
+msgstr "Traunmagil"
+
+msgid "Barand"
+msgstr "Manyrm"
+
+msgid "Glaslug"
+msgstr "Firneck"
+
+msgid "Glavinug"
+msgstr "Glawikus"
+
+msgid "Paraboom"
+msgstr "Parawumm"
+
+msgid "Flager"
+msgstr "Felitze"
+
+msgid "Inflagetah"
+msgstr "Geperno"
+
+msgid "Chimical"
+msgstr "Chimikal"
+
+msgid "Chimaconda"
+msgstr "Chimakonda"
+
+msgid "Unymph"
+msgstr "Nimphe"
+
+msgid "Chicoatl"
+msgstr "Kükoatl"
+
+msgid "Quetzoral"
+msgstr "Quetzora"
+
+msgid "Coatlith"
+msgstr "Quetzalith"
+
+msgid "Tracton"
+msgstr "Drachtor"
+
+msgid "Snopach"
+msgstr "Pachynee"
+
+msgid "Slothohm"
+msgstr "Faulohm"
+
+msgid "Titanice"
+msgstr "Frostanic"
+
+msgid "Frynai"
+msgstr "Brunai"
+
+msgid "Syrentide"
+msgstr "Sajade"
+
+msgid "Spritzee"
+msgstr "Parfi"
+
+msgid "Aromatisse"
+msgstr "Parfinesse"
+
+msgid "Miasmedic"
+msgstr "Miasani"
+
+msgid "Jackdeary"
+msgstr "Wolpereh"
+
+msgid "Winotinger"
+msgstr "Saufotinger"
+
+msgid "Duplicat"
+msgstr "Duplikatz"
+
+msgid "Eevee"
+msgstr "Evoli"
+
+msgid "Vaporeon"
+msgstr "Aquana"
+
+msgid "Jolteon"
+msgstr "Blitza"
+
+msgid "Flareon"
+msgstr "Flamara"
+
+msgid "Espeon"
+msgstr "Psiana"
+
+msgid "Umbreon"
+msgstr "Nachtara"
+
+msgid "Leafeon"
+msgstr "Folipurba"
+
+msgid "Glaceon"
+msgstr "Glaziola"
+
+msgid "Sylveon"
+msgstr "Feelinara"
+
+msgid "Nucleon"
+msgstr "Radiana"
+
+msgid "Gargryph"
+msgstr "Gargreif"
+
+msgid "Luchabra"
+msgstr "Chupador"
+
+msgid "Linkite"
+msgstr "Spukett"
+
+msgid "Chainite"
+msgstr "Poltett"
+
+msgid "Anderind"
+msgstr "Andelar"
+
+msgid "Colarva"
+msgstr "Kalarva"
+
+msgid "Frosulo"
+msgstr "Frokon"
+
+msgid "Frosthra"
+msgstr "Frostra"
+
+msgid "Fafurr"
+msgstr "Fafnell"
+
+msgid "Shrimputy"
+msgstr "Garnole"
+
+msgid "Lavent"
+msgstr "Lavalt"
+
+msgid "Swabone"
+msgstr "Semanoch"
+
+msgid "Skelerogue"
+msgstr "Skelunke"
+
+msgid "Navighast"
+msgstr "Navigeist"
+
+msgid "Jungore"
+msgstr "Jungerz"
+
+msgid "Hagoop"
+msgstr "Schlebri"
+
+msgid "Haagross"
+msgstr "Schlekel"
+
+msgid "Xenomite"
+msgstr "Xenomilb"
+
+msgid "Hazma"
+msgstr "Fermi"
+
+msgid "Geigeroach"
+msgstr "Geigerlake"
+
+msgid "Minicorn"
+msgstr "Kleinhorn"
+
+msgid "Kiricorn"
+msgstr "Kirihorn"
+
+msgid "Oblivicorn"
+msgstr "Fatalihorn"
+
+msgid "Luxi"
+msgstr "Glüchsi"
+
+msgid "Luxor"
+msgstr "Glüchsur"
+
+msgid "Luxelong"
+msgstr "Glüchselong"
+
+msgid "Sheebit"
+msgstr "Schaase"
+
+msgid "Terrabit"
+msgstr "Kaniterra"
+
+msgid "Laissure"
+msgstr "Leporitera"
+
+msgid "Volchik"
+msgstr "Voltuk"
+
+msgid "Devimp"
+msgstr "Kofel"
+
+msgid "Fallengel"
+msgstr "Grausengel"
+
+msgid "Belliadon"
+msgstr "Beliadon"
+
+msgid "Garlikid"
+msgstr "Knobikid"
+
+msgid "Urayne"
+msgstr "Uratom"
+
+msgid "Gastly"
+msgstr "Gengar"
diff --git a/Dialogue/Generated/de/OfficialSystem.po b/Dialogue/Generated/de/OfficialSystem.po
new file mode 100644
index 000000000..26fb58403
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialSystem.po
@@ -0,0 +1,7922 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "$ENABLE_NEUTRAL_PRONOUN"
+msgstr "true"
+
+msgid "$ENABLE_PRONOUN_SELECTION"
+msgstr "true"
+
+msgid "$INTERNAL flag was deactivated. Debug logs will not be made."
+msgstr "$INTERNAL flag wurde deaktiviert. Es werden keine Debug-Logs geschrieben"
+
+msgid "$INTERNAL flag was set. Debug logs will be made in the Data folder."
+msgstr "$INTERNAL flag wurde gesetzt. Debug-Logs werden in den Data-Ordner geschrieben"
+
+msgid "(Default)"
+msgstr "(Standard)"
+
+msgid "(this map)"
+msgstr "(diese Karte)"
+
+msgid "({1}) PP: {2}/{3}"
+msgstr "({1}) AP: {2}/{3}"
+
+msgid "--- power core ------ from over----. It ---- ------ a large ---- -- nuclear fuel to -------. ---- ---- activated- -- --- -- prod--- ---- limitless energy."
+msgstr "--- Energiekern ----- aus Über--- ----------. Er -------- -ine große ----- -- nuklearem Brennstoff, um ----viert -- ------. ------ -- ----------- aktiviert ---- ---- -- ------ unbegrenzt Energ-- --zeu--- ------."
+
+msgid "---- -- the Interface --- final---- today. Th- -erator - -- ---- - ----- full control -- --e Sp-cimen. ---- chief reseacher, Dr. ----- --s ---- granted clearance."
+msgstr "--- -------- -- der Schnittstelle ------ heute ----schlossen. De- --diener ---- -- --- ---- ----, --- volle Kontrolle ---- --s Ex-mplar -- ----nehmen. ----- leitender Forscher, Dr. -------, --t --- Freigabe erhalten."
+
+msgid "---- has been - breach -- confidential--. ----- --- ------ shall -- relocate --- undergr-- --. Project 092 --- have -- -- --rminated."
+msgstr "-- gab ---- Verletzung --- Vertraulich----. --- nun -n werden ---- -------- --- -----irdisch- ----sicher-----server verlager-. Projekt 092 muss --------- terminiert ------."
+
+msgid "... ... ... ...Nope!\nThere's no response."
+msgstr "... ... ... ...Nichts!\nKeine Antwort."
+
+msgid "...Oh. It's you.\nListen, I might've been a jerk to you back in Vinoville Town.\nBut, well, what you did, it kind of saved my family and my town.\nWhen the Rangers are done cleaning the area, I'll have a home again.\nSo... I guess... What I'm trying to say is...\nI owe you. We all do.\nBut I'm not going easy on you because of it.\nI've been training non-stop since you beat me!\nMy team will crush anybody that stands in our way...\nEven the Hero of Tandor!!"
+msgstr "...Oh.Du bist es.\nHör mal, ich war vielleicht etwas gemein zu dir in Vinoville.\nAber, nun ja, was du getan hast, hat wohl meine Familie und meine Stadt gerettet.\nWenn die Ranger fertig aufgeräumt haben, werde ich wieder ein Zuhause haben.\nAlso... Was ich sagen will...\nIch schulde dir was. Wir alle schulden dir was.\nAber darum werde ich es dir nicht einfacher machen.\nSeit du mich geschlagen hast, habe ich pausenlos trainiert!\nMein Team wird jeden, der uns im Weg steht, besiegen...\nSelbst den Helden von Tandor!!"
+
+msgid "...Pfeh. I guess you win.\nThat's embarrassing... But whatever.\nIf there's anyone I'll allow to beat me, it should be you."
+msgstr "...Pah. Ich schätze du hast gewonnen.\n Das ist peinlich... Wie auch immer.\n Falls es jemanden geben sollte, dem ich es erlaube, mich zu besiegen, solltest du diese Person sein."
+
+msgid "1, 2, and... ... ..."
+msgstr "Eins, zwei und..."
+
+msgid "<<"
+msgstr " <<"
+
+msgid "Search Mode"
+msgstr "Suchmodus"
+
+msgid "{1} nature."
+msgstr "{1} Wesen."
+
+msgid "Egg hatched."
+msgstr "Ei geschlüpft."
+
+msgid "Egg obtained."
+msgstr "Ei erhalten."
+
+msgid "Had a fateful encounter at Lv. {1}."
+msgstr "Schicksalhafte Begegnung mit Lv. {1}."
+
+msgid "Met at Lv. {1}."
+msgstr "Erhalten mit Lv. {1}."
+
+msgid "Traded at Lv. {1}."
+msgstr "Getauscht mit Lv. {1}."
+
+msgid "Faraway place"
+msgstr "Entfernter Ort"
+
+msgid "\"The Egg Watch\""
+msgstr "Eiprüfer:"
+
+msgid "A mysterious Pokémon\nEgg received from\n{1}."
+msgstr " Ein mysteriöses Pokémon\nEi. Erhalten bei\n{1}.\n"
+
+msgid "{1}/{2}/{3}"
+msgstr "{1}. {2} {3}"
+
+msgid "{1}
"
+msgstr " {1}
"
+
+msgid ">>"
+msgstr " >>"
+
+msgid "????.? kg"
+msgstr "????,? kg"
+
+msgid "????.? m"
+msgstr "????,? m"
+
+msgid "A Key Item in the Bag can be registered to this key for instant use."
+msgstr "Ein Basis-Item in der Tasche kann dieser Taste zugewiesen werden, um dieses sofort benutzen zu können."
+
+msgid "A Map\nShows visited Places."
+msgstr "Eine Karte\nZeigt besuchte Orte."
+
+msgid "A Nuclear Horde appeared!"
+msgstr "Eine Nuklearhorde erscheint!"
+
+msgid "A Phone\nUsed to call People."
+msgstr "Ein Telefon\nUm Leute anzurufen."
+
+msgid "A Pokémon could be in this tree. Maybe a Pokémon could shake it."
+msgstr "Ein mannshoher Baum. Ein Pokémon könnte ihn vielleicht schütteln."
+
+msgid "A Pokémon could be in this tree. Want to headbutt it?"
+msgstr "Ein mannshoher Baum. Möchtest du Kopfnuss einsetzen?"
+
+msgid "A Radio\nUsed to listen to Music."
+msgstr "Ein Radio\nUm Musik zu hören."
+
+msgid "A Toxic Fallout has set in!"
+msgstr "Radioaktiver Regen beginnt zu fallen!"
+
+msgid "A bell chimed!"
+msgstr "Eine Glocke läutet!"
+
+msgid "A critical hit!"
+msgstr "Ein Volltreffer!"
+
+msgid "A glint appears in {1}'s eyes!"
+msgstr "Ein Glitzern erscheint in den Augen von {1}!"
+
+msgid "A heavy rain began to fall!"
+msgstr "Es fängt an, in Strömen zu regnen!"
+
+msgid "A little quick tempered."
+msgstr "Besitzt Temperament."
+
+msgid "A mysterious air current is protecting Flying-type Pokémon!"
+msgstr "Alle Flug-Pokémon werden von rätselhaften Luftströmungen geschützt."
+
+msgid "A nuclear fallout has hit!"
+msgstr "Ein nuklearer Niederschlag beginnt zu fallen!"
+
+msgid "A sandstorm brewed!"
+msgstr "Der Sandsturm tobt!"
+
+msgid "A sandstorm is raging."
+msgstr "Ein Sandsturm tobt!"
+
+msgid "A sandstorm kicked up!"
+msgstr "Ein Sandsturm kommt auf!"
+
+msgid "A shadow sky appeared!"
+msgstr "Der Himmel verdunkelt sich!"
+
+msgid "A soothing aroma wafted through the area!"
+msgstr "Ein wohltuendes Aroma breitet sich aus!"
+
+msgid "A sticky ooze covers the battlefield!"
+msgstr "Ein klebriger Schlamm bedeckt das Schlachtfeld!"
+
+msgid "A sticky web has been laid out beneath the opposing team's feet!"
+msgstr "Am Boden um die Pokémon auf der gegnerischen Seite entspinnt sich ein Klebenetz!"
+
+msgid "A sticky web has been laid out beneath your team's feet!"
+msgstr "Am Boden um die Pokémon auf deiner Seite entspinnt sich ein Klebenetz!"
+
+msgid "A thrilling display from trainers and Pokémon alike!"
+msgstr "Ein spannendes Schauspiel von Trainern und Pokémon gleichermaßen!"
+
+msgid "A thunderstorm is raging."
+msgstr "Ein Gewitter tobt!"
+
+msgid "A thunderstorm started!"
+msgstr "Ein Gewitter zieht auf!"
+
+msgid "A to Z"
+msgstr "A bis Z"
+
+msgid "A wall of water is crashing down with a mighty roar."
+msgstr "Eine Wand aus Wasser strömt donnernd herunter."
+
+msgid "A {1} was planted here."
+msgstr "Hier hast du eine {1} eingepflanzt."
+
+msgid "A: Add map to canvas"
+msgstr "A: Add map to canvas\n"
+
+msgid "ABLE"
+msgstr "O.K."
+
+msgid "ACCURACY"
+msgstr "GENAUIGKEIT"
+
+msgid "ADD ITEM"
+msgstr "ITEM HINZUFÜGEN"
+
+msgid "AFTER LOSING..."
+msgstr "NACH DER NIEDERLAGE"
+
+msgid "Aargh! Almost had it!"
+msgstr "Mist! Das war knapp!"
+
+msgid "Ability"
+msgstr "Fähigkeit"
+
+msgid "Ability {1} is being forced."
+msgstr "Fähigkeit {1} ist erzwungen"
+
+msgid "Ability {1} is natural."
+msgstr "Fähigkeit {1} ist natürlich"
+
+msgid "Acai Berries"
+msgstr "Acaibeeren"
+
+msgid "Accept this Pokémon?"
+msgstr "Dieses Pokémon wählen?"
+
+msgid "Adamant"
+msgstr "Hart"
+
+msgid "Add"
+msgstr "Addieren"
+
+msgid "Add Item"
+msgstr "Item hinzufügen"
+
+msgid "Add Pokémon"
+msgstr "Pokémon hinzufügen"
+
+msgid "Add another Pokémon?"
+msgstr "Ein anderes Pokémon hinzufügen?"
+
+msgid "Add new battle {1} (of {2}) for ({3}, {4})?"
+msgstr "Ein neuer Kampf {1} (von {2}) für ({3}, {4}) hinzufügen?"
+
+msgid "Add new trainer ({1}, {2})?"
+msgstr "Neuen Trainer ({1}, {2}) hinzufügen?"
+
+msgid "Add new trainer ({1}, {2}, ID {3})?"
+msgstr "Neuen Trainer ({1}, {2}, ID {3}) hinzufügen?"
+
+msgid "Add new trainer type {1}?"
+msgstr "Neue Trainerklasse {1} hinzufügen?"
+
+msgid "Advance Roaming"
+msgstr "Wandern fortschreiten"
+
+msgid "Advanced to Game Lv. {1}!"
+msgstr "Lv. {1} erreicht!"
+
+msgid "After translating, choose \"Compile Text.\""
+msgstr "Wählen Sie nach dem Übersetzen \"Text kompilieren\"."
+
+msgid "Aguav Berries"
+msgstr "Gauvebeeren"
+
+msgid "Aha! It is the \\PN!\nWe fight before. I lose in disgrace.\nMy Ninja clan forsake me. So I train.\nI train and train, in hopes to encounter \\PN again.\nIn this arena, we fight to regain honor!\nI will defeat you, and restore glory to my Ninja Clan!"
+msgstr "Aha! Es ist \\PN!\nWir haben schonmal gekämpft. Ich habe mit Schande verloren.\nMein Ninja Clan hat mich verlassen. Also habe ich trainiert.\nIch habe trainiert und trainiert in der Hoffnung wieder gegen \\PN kämpfen zu können.\nIn dieser Arena kämpfen wir, um die Ehre wieder zu erlangen!\nIch werde dich besiegen und den Ruhm meines Ninja Clans wiederherstellen!"
+
+msgid "Alas, the final curtain falls...\nThe result is clear:\nYour victory was written in the stars!"
+msgstr "Ach, der letzte Vorhang fällt...\nDas Ergebnis ist klar:\nDein Sieg stand in den Sternen!"
+
+msgid "Alert to sounds."
+msgstr "Achtet auf Geräusche."
+
+msgid "All Pokémon hearing the song will faint in three turns!"
+msgstr "Alle Pokémon, die dem Abgesang gelauscht haben, gehen nach drei Runden K.O.!"
+
+msgid "All Pokémon in this box have been released."
+msgstr "Alle Pokémon in dieser Box wurden freigelassen."
+
+msgid "All Trainers on this map were reset."
+msgstr "Alle Trainer auf dieser Karte wurden zurückgesetzt"
+
+msgid "All data will be lost. Confirm once more to proceed."
+msgstr "Alle Daten werden weg sein. Bestätige, um fortzufahren."
+
+msgid "All eggs on your party now require one step to hatch."
+msgstr "Alle Eier in deinem Team benötigen nun nur einen Schritt zum schlüpfen"
+
+msgid "All game data was compiled."
+msgstr "Alle Spieldaten wurden kompiliert"
+
+msgid "All recording devices are in use. Recording is not possible now."
+msgstr "All recording devices are in use. Recording is not possible now."
+
+msgid "All stat changes were eliminated!"
+msgstr "Alle Statusveränderungen wurden aufgehoben!"
+
+msgid "All text in the game was extracted and saved to intl.txt."
+msgstr "Der gesamte Text im Spiel wurde extrahiert und in der Datei intl.txt gespeichert."
+
+msgid "All the world's a stage... and we play the leading role! Can you see past our splendid masquerade?"
+msgstr "Die Welt ist eine Bühne... und wir spielen die Hauptrolle! Kannst du unsere prachtvolle Maskerade durchschauen?"
+
+msgid "All trainers in the Phone are now ready to rebattle."
+msgstr "Alle Trainer im Telefon sind nun bereit zu kämpfen"
+
+msgid "Also, look for a special NPC in Kevlar Town!"
+msgstr "Halte nach einem besonderen NPC in Kevlarstadt Ausschau!"
+
+msgid "An Egg can't battle!"
+msgstr "Ein Ei kann nicht kämpfen!"
+
+msgid "An egg can't be an active Pokémon"
+msgstr "Ein Ei kann kein aktives Pokémon sein."
+
+msgid "An egg is already waiting."
+msgstr "Es wartet bereits ein Ei"
+
+msgid "An egg is now waiting in the Day Care."
+msgstr "Es wartet nun ein Ei in der Pension"
+
+msgid "An egg is waiting to be picked up."
+msgstr "Ein Ei wartet darauf abgeholt zu werden"
+
+msgid "An electric current runs across the battlefield!"
+msgstr "Elektrische Energie fließt durch den Boden!"
+
+msgid "And now, their battling skills will determine which of them get to move on to the Champion's Arena after this match."
+msgstr "Und jetzt werden ihre Kampffähigkeiten entscheiden, wer von ihnen weiter zur Champion-Arena darf."
+
+msgid "And the winner is \\PN!"
+msgstr "Und der Sieger ist \\PN!"
+
+msgid "And..."
+msgstr "Und..."
+
+msgid "And..."
+msgstr "Und..."
+
+msgid "Animation Editor"
+msgstr "Animationseditor"
+
+msgid "Announcer: You're out of Safari Balls! Game over!"
+msgstr "Ansage: Du hast keine Safaribälle mehr! Game over!"
+
+msgid "Apicot Berries"
+msgstr "Apikobeeren"
+
+msgid "Aqua Ring restored {1}'s HP!"
+msgstr "Der Wasserring stellt KP von {1} wieder her!"
+
+msgid "Are these three Pokémon OK?"
+msgstr "Zufrieden mit diesen drei Pokémon?"
+
+msgid "Are you sure you want to change it?"
+msgstr "Möchtest du ihn wirklich ändern?"
+
+msgid "Are you sure you want to copy this Pokémon?"
+msgstr "Bist du sicher, dass du dieses Pokémon kopieren willst?"
+
+msgid "Are you sure you want to delete this Pokémon?"
+msgstr "Bist du sicher, dass du dieses Pokémon löschen willst?"
+
+msgid "Are you sure you want to delete this gift?"
+msgstr "Bist du sicher, dass du dieses Geschenk löschen möchtest?"
+
+msgid "Are you sure you want to delete this save file?"
+msgstr "Bist du sicher, dass du diesen Spielstand löschen willst?"
+
+msgid "Are you sure you want to give up?"
+msgstr "Möchtest du wirklich aufgeben?"
+
+msgid "Are you sure you want to play on this mode?"
+msgstr "Bist du sicher, dass du in diesem Modus spielen willst?"
+
+msgid "Are you sure you want to play with these settings?"
+msgstr "Bist du sicher, dass du mit diesen Einstellungen spielen möchtest?"
+
+msgid "Are you sure you want to release all Pokémon in this box?"
+msgstr "Bist du sicher, dass du alle Pokémon in dieser Box freilassen willst?"
+
+msgid "Are you sure?"
+msgstr "Bist du dir sicher?"
+
+msgid "Area Unknown"
+msgstr "Gebiet unbekannt"
+
+msgid "Aspear Berries"
+msgstr "Wilbirbeeren"
+
+msgid "Attack"
+msgstr "Angriff"
+
+msgid "Autosave"
+msgstr "Autospeichern"
+
+msgid "Autosave failed. t(-.-t)"
+msgstr "Autospeichern schlug fehl. t(-.-t)"
+
+msgid "Autumn"
+msgstr "Herbst"
+
+msgid "Aww... It appeared to be caught!"
+msgstr "Oh! Fast hätte es geklappt!"
+
+msgid "BAG"
+msgstr "TASCHE"
+
+msgid "BANNED"
+msgstr "VERBOTEN"
+
+msgid "BATTLE MOVES"
+msgstr "ATTACKEN"
+
+msgid "Babiri Berries"
+msgstr "Babiribeeren"
+
+msgid "Back"
+msgstr "Zurück"
+
+msgid "Backspace"
+msgstr "Rücktaste"
+
+msgid "Backup Autosave"
+msgstr "Auto-Speicherstand sichern"
+
+msgid "Backup Save"
+msgstr "Speicherstand sichern"
+
+msgid "Bacu Berries"
+msgstr "Bacubeeren"
+
+msgid "Bad IV: {1} (must be from 0-31)\n{2}"
+msgstr "Bad IV: {1} (must be from 0-31)\n{2}"
+
+msgid "Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}"
+msgstr "Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}"
+
+msgid "Bad form: {1} (must be 0 or greater)\n{2}"
+msgstr "Bad form: {1} (must be 0 or greater)\n{2}"
+
+msgid "Bad genderflag: {1} (must be M or F, or 0 or 1)\n{2}"
+msgstr "Bad genderflag: {1} (must be M or F, or 0 or 1)\n{2}"
+
+msgid "Bad happiness: {1} (must be from 0-255)\n{2}"
+msgstr "Bad happiness: {1} (must be from 0-255)\n{2}"
+
+msgid "Bad level: {1} (must be from 1-{2})\n{3}"
+msgstr "Bad level: {1} (must be from 1-{2})\n{3}"
+
+msgid "Bad line syntax (expected syntax like XXX=YYY)\n{1}"
+msgstr "Bad line syntax (expected syntax like XXX=YYY)\n{1}"
+
+msgid "Bad money amount (must be from 0 through 255)\n{1}"
+msgstr "Bad money amount (must be from 0 through 255)\n{1}"
+
+msgid "Bad nickname: {1} (must be 1-20 characters)\n{2}"
+msgstr "Bad nickname: {1} (must be 1-20 characters)\n{2}"
+
+msgid "Bad skill value (must be from 0 through 255)\n{1}"
+msgstr "Bad skill value (must be from 0 through 255)\n{1}"
+
+msgid "Badges:"
+msgstr "Orden:"
+
+msgid "Badges{2}
"
+msgstr "Orden{2}
"
+
+msgid "Bag"
+msgstr "Beutel"
+
+msgid "Bag Access Disabled."
+msgstr "Tasche deaktiviert"
+
+msgid "Bag Access Enabled."
+msgstr "Tasche aktiviert"
+
+msgid "Bait"
+msgstr "Köder"
+
+msgid "Bashful"
+msgstr "Zaghaft"
+
+msgid "Battle Items"
+msgstr "Kampfitems"
+
+msgid "Battle Scene"
+msgstr "Animation"
+
+msgid "Battle Style"
+msgstr "Kampfstil"
+
+msgid "Battle... start!"
+msgstr "Startet den Kampf!"
+
+msgid "Beach"
+msgstr "Strand"
+
+msgid "Begin your game."
+msgstr "Beginne dein Spiel."
+
+msgid "Behold! The power of Mega Evolution!"
+msgstr "Seht her! Die Kraft der Mega-Entwicklung!"
+
+msgid "Belue Berries"
+msgstr "Myrtilbeeren"
+
+msgid "Berries"
+msgstr "Beeren"
+
+msgid "Berry"
+msgstr "Beere"
+
+msgid "Black"
+msgstr "Schwarz"
+
+msgid "Black Tiles: {1}"
+msgstr "Schwarze Kacheln: {1}"
+
+msgid "Blue"
+msgstr "Blau"
+
+msgid "Bluk Berries"
+msgstr "Morbbeeren"
+
+msgid "Body"
+msgstr "Körper"
+
+msgid "Bold"
+msgstr "Kühn"
+
+msgid "Boost PP of which move?"
+msgstr "AP welcher Attacke erhöhen?"
+
+msgid "Both of these trainers took home a win in the previous round."
+msgstr "Beide Trainer haben in der letzten Runde den Sieg davongetragen."
+
+msgid "Box \"{1}\" on someone's PC was full."
+msgstr "Box \"{1}\" auf jemandes PC war voll."
+
+msgid "Box \"{1}\" on {2}'s PC was full."
+msgstr "Box \"{1}\" auf PC von {2} war voll."
+
+msgid "Box name?"
+msgstr "Name der Box?"
+
+msgid "Boxes were filled with one Pokémon of each species."
+msgstr "Boxen wurden mit einem Pokémon jeder Art gefüllt"
+
+msgid "Brave"
+msgstr "Mutig"
+
+msgid "Brown"
+msgstr "Braun"
+
+msgid "Bug"
+msgstr "Käfer"
+
+msgid "Bug Catcher Benny"
+msgstr "Käfersammler Benny"
+
+msgid "Bug Catcher Ed"
+msgstr "Käfersammler Ed"
+
+msgid "Bug Catcher Josh"
+msgstr "Käfersammler Josh"
+
+msgid "But I sense something else in you...\\^"
+msgstr "Aber ich spüre etwas anderes in dir...\\^"
+
+msgid "But it failed to spit up a thing!"
+msgstr "Es schlug fehl!"
+
+msgid "But it failed to swallow a thing!"
+msgstr "Es ist fehlgeschlagen!"
+
+msgid "But it failed!"
+msgstr "Es schlug fehl!"
+
+msgid "But it had no effect!"
+msgstr "Es hat keine Wirkung!"
+
+msgid "But nothing happened!"
+msgstr "Nichts geschieht!"
+
+msgid "But the effects of a Repel lingered from earlier."
+msgstr "Aber Schutz wirkt noch."
+
+msgid "But there was no PP left for the move!"
+msgstr "Es sind keine AP mehr für diese Attacke übrig!"
+
+msgid "But there was no target..."
+msgstr "Aber es ist gar nicht dort!"
+
+msgid "But {1} already caught a Pokémon in this area!"
+msgstr "Aber {1} hat bereits ein Pokémon in diesem Areal gefangen!"
+
+msgid "But {1} already fought a wild Pokémon in this area!"
+msgstr "Aber {1} hat bereits gegen ein wildes Pokémon in diesem Areal gekämpft!"
+
+msgid "But {1} can't learn more than four moves."
+msgstr "Aber {1} kann nicht mehr als vier Attacken erlernen."
+
+msgid "But {1} can't learn more than four moves."
+msgstr "Aber {1} kann nicht mehr als vier Attacken erlernen."
+
+msgid "But {1} can't sleep in an uproar!"
+msgstr "{1} kann bei dem Aufruhr nicht schlafen!"
+
+msgid "But {1} couldn't sleep!"
+msgstr "Aber {1} konnte nicht schlafen!"
+
+msgid "But, only one will be crowned Champion today."
+msgstr "Aber nur einer kann heute der Champ werden."
+
+msgid "But,\\. don't worry!\\nYour Pokémon are safe and sound."
+msgstr "Aber,\\. mach dir keine Sorgen!\nDeine Pokémon sind gesund und munter."
+
+msgid "Buy"
+msgstr "Kaufen"
+
+msgid "By the blessing of Aotius!"
+msgstr "Bei Aotius' Segen!"
+
+msgid "Bye-bye, {1}!"
+msgstr "Tschüss, {1}!"
+
+msgid "CANCEL"
+msgstr "ABBRECHEN"
+
+msgid "CATEGORY"
+msgstr "KATEGORIE"
+
+msgid "CLOSE BAG"
+msgstr "TASCHE SCHLIEẞEN"
+
+msgid "CONFIRM"
+msgstr "Bestätigen"
+
+msgid "Call"
+msgstr "Rufen"
+
+msgid "Calm"
+msgstr "Still"
+
+msgid "Can't catch any more..."
+msgstr "Kann keine Weiteren fangen..."
+
+msgid "Can't deposit from box..."
+msgstr "Kann nicht abgelegt werden..."
+
+msgid "Can't deposit the last Pokémon!"
+msgstr "Du kannst dein letztes Pokémon nicht ablegen!"
+
+msgid "Can't escape!"
+msgstr "Flucht unmöglich!"
+
+msgid "Can't find deposited Pokémon"
+msgstr "Kann verstautes Pokémon nicht finden"
+
+msgid "Can't find the map 'Map{1:03d}' in the Data folder. The game will resume at the player's position."
+msgstr "Konnte die Karte 'Map{1:03d}' nicht in dem Ordner finden. Das Spiel wird an der Stelle des Spielers fortgesetzt."
+
+msgid "Can't find trainer ({1}, {2}, ID {3})"
+msgstr "Kann den Trainer ({1}, {2}, ID {3}) nicht finden"
+
+msgid "Can't place a Shadow Pokemon there."
+msgstr "Ein Crypto-Pokémon kann hier nicht abgelegt werden."
+
+msgid "Can't place an egg there."
+msgstr "Ein Ei kann hier nicht abgelegt werden."
+
+msgid "Can't re-store deleted item in bag"
+msgstr "Konnte das gelöschte Item in der Tasche nicht wiederherstellen"
+
+msgid "Can't save. No name was entered."
+msgstr "Can't save. No name was entered."
+
+msgid "Can't save. The Pokémon list is empty."
+msgstr "Can't save. The Pokémon list is empty."
+
+msgid "Can't store the Pokémon..."
+msgstr "Kann Pokémon nicht verstauen..."
+
+msgid "Can't store the egg"
+msgstr "Kann Ei nicht verstauen"
+
+msgid "Can't store the {1}."
+msgstr "Kann {1} nicht verstauen."
+
+msgid "Can't use that here."
+msgstr "Das lässt sich hier nicht einsetzen."
+
+msgid "Can't use that while on a bicycle."
+msgstr "Es ist nicht auf dem Fahrrad nicht einsetzbar."
+
+msgid "Can't withdraw from party..."
+msgstr "Kann nicht mitgenommen werden..."
+
+msgid "Cancel"
+msgstr "Zurück"
+
+msgid "Cancel?"
+msgstr "Abbrechen?"
+
+msgid "Capable of taking hits."
+msgstr "Kann Treffer gut verkraften."
+
+msgid "Caps Lock"
+msgstr "Feststelltaste"
+
+msgid "Careful"
+msgstr "Sacht"
+
+msgid "Caught {1}!"
+msgstr "{1} gefangen!"
+
+msgid "Cave"
+msgstr "Höhle"
+
+msgid "Certainly. You want {1}.\nThat will be ${2}. OK?"
+msgstr "Aber gerne. Du möchtest {1}.\nDas macht dann ${2}. Ja?"
+
+msgid "Certainly. You want {2} {1}(s)?"
+msgstr "Aber gerne. Du möchtest {2}x {1}?"
+
+msgid "Challenge Mode"
+msgstr "Herausforderungsmodus"
+
+msgid "Change Game Ruleset"
+msgstr "Ändere Regelset"
+
+msgid "Change Player Outfit"
+msgstr "Ändere Spieler-Outfit"
+
+msgid "Change which EV?"
+msgstr "Welche FP ändern?"
+
+msgid "Changed to Blade Forme!"
+msgstr "Formwechsel zur Klingenform!"
+
+msgid "Changed to Shield Forme!"
+msgstr "Formwechsel zur Schildform!"
+
+msgid "Changes have been saved to MysteryGiftMaster.txt."
+msgstr "Die Änderungen wurden in der Datei MysteryGiftMaster.txt gespeichert."
+
+msgid "Charti Berries"
+msgstr "Chiaribeeren"
+
+msgid "Check Sprite Animtaions"
+msgstr "Sprite-Animationen prüfen"
+
+msgid "Check for Updates"
+msgstr "Nach Updates suchen"
+
+msgid "Check opponent's cards."
+msgstr "Karten des Gegners überprüfen."
+
+msgid "Checks"
+msgstr "Kariert"
+
+msgid "Cheri Berries"
+msgstr "Amrenabeeren"
+
+msgid "Chesto Berries"
+msgstr "Maronbeeren"
+
+msgid "Chilan Berries"
+msgstr "Latchibeeren"
+
+msgid "Choose Pokémon and confirm."
+msgstr "Wähle Pokémon u. bestätige."
+
+msgid "Choose Pokémon or cancel."
+msgstr "Wähle Pokémon oder breche ab."
+
+msgid "Choose a Pokémon."
+msgstr "Wähle ein Pokémon"
+
+msgid "Choose a battle."
+msgstr "Wähle einen Kampf."
+
+msgid "Choose a card, or check opponent with Z."
+msgstr "Wähle eine Karte oder überprüfe den Gegner mit Z."
+
+msgid "Choose a card."
+msgstr "Wähle eine Karte."
+
+msgid "Choose a challenge."
+msgstr "Wähle eine Herausforderung."
+
+msgid "Choose a command."
+msgstr "Wähle einen Befehl."
+
+msgid "Choose a phrase to be where the gift Pokémon was obtained from."
+msgstr "Schreibe eine Erklärung welche beschreibt von wo du das geschenkte Pokémon erhalten hast."
+
+msgid "Choose a quantity."
+msgstr "Wie viele?"
+
+msgid "Choose a unique ID for this gift."
+msgstr "Wähle eine eindeutige ID für dieses Geschenk."
+
+msgid "Choose move to forget."
+msgstr "Wähle Attacke zum vergessen"
+
+msgid "Choose save file to be loaded"
+msgstr "Zu ladenden Speicherstand auswählen"
+
+msgid "Choose the first Pokémon."
+msgstr "Wähle das erste Pokémon."
+
+msgid "Choose the gift you want to receive.\\wtnp[0]"
+msgstr "Wähle ein Geschenk, welches du erhalten möchtest.\\wtnp[0]"
+
+msgid "Choose the new player character."
+msgstr "Wähle den neuen Spielercharacter."
+
+msgid "Choose the number of items."
+msgstr "Wähle die Anzahl"
+
+msgid "Choose the second Pokémon."
+msgstr "Wähle das zweite Pokémon."
+
+msgid "Choose the third Pokémon."
+msgstr "Wähle das dritte Pokémon."
+
+msgid "Choose your game mode:"
+msgstr "Wähle deinen Spielmodus:"
+
+msgid "Choose {1} cards to use for this duel."
+msgstr "Wähle {1} Karte für dieses Duell."
+
+msgid "Choosing the starting player..."
+msgstr "Wähle den Spieler, der anfängt..."
+
+msgid "Chople Berries"
+msgstr "Rospelbeeren"
+
+msgid "City"
+msgstr "Mauer"
+
+msgid "Clear Pokérus"
+msgstr "Pokérus entfernen"
+
+msgid "Clear Storage Boxes"
+msgstr "Lagerboxen leeren"
+
+msgid "Click to select a map"
+msgstr "Click to select a map\n"
+
+msgid "Click!\n...... ......"
+msgstr "Klick!\n...... ......"
+
+msgid "Close bag."
+msgstr "Tasche schließen."
+
+msgid "Close storage."
+msgstr "Lager schließen."
+
+msgid "Closes the PokéPod and returns to the game."
+msgstr "Schließt das PokéPod und kehre zum Spiel zurück."
+
+msgid "Coba Berries"
+msgstr "Kobabeeren"
+
+msgid "Coins were scattered everywhere!"
+msgstr "Es sind überall Münzen verstreut!"
+
+msgid "Coins:\n{1}"
+msgstr "Münzen:\n{1}"
+
+msgid "Coins: {1}"
+msgstr "Münzen: {1}"
+
+msgid "Colbur Berries"
+msgstr "Burleobeeren"
+
+msgid "Collect egg"
+msgstr "Ei sammeln"
+
+msgid "Collected the {1} egg."
+msgstr "{1}-Ei eingesammelt"
+
+msgid "Compete"
+msgstr "Rivale"
+
+msgid "Competitive sharply raised {1}'s Special Attack!"
+msgstr "Spezial-Angriff von {1} steigt durch Unbeugsamkeit stark!"
+
+msgid "Compile Data"
+msgstr "Daten kompilieren"
+
+msgid "Compile Text"
+msgstr "Text kompilieren"
+
+msgid "Congratulations on advancing to the final round!\nThe final battle will take place in the Champion's Arena. Its winner will be crowned Champion of Tandor!"
+msgstr "Glückwunsch zum Erreichen der letzten Runde!\nDer letzte Kampf wird in der Championsarena stattfinden. Der Sieger ist der Champ von Tandor!"
+
+msgid "Congratulations!"
+msgstr "Glückwunsch!"
+
+msgid "Congratulations!\nYour {1} evolved into {2}!"
+msgstr "Glückwunsch!\nDein {1} wurde zu {2}!"
+
+msgid "Congratulations, {1}!"
+msgstr "Glückwunsch, {1}!"
+
+msgid "Continue"
+msgstr "Fortfahren"
+
+msgid "Continue Box operations?"
+msgstr "Die Box weiter bearbeiten?"
+
+msgid "Continue the game with those options permanently disabled?"
+msgstr "Das Spiel mit diesen permanent deaktivierten Optionen fortfahren?"
+
+msgid "Controls"
+msgstr "Steuerung"
+
+msgid "Cool Trainer Nick"
+msgstr "Ass-Trainer Nick"
+
+msgid "Cornn Berries"
+msgstr "Saimbeeren"
+
+msgid "Corrupted Save File"
+msgstr "Beschädigter Speicherstand"
+
+msgid "Could it be the seed of greatness?\\.\nThe potential to transform yourself completely?\\^"
+msgstr "Kann es die Saat der Großartigkeit sein?\\.\nDas Potenzial sich komplett zu verändern?\\^"
+
+msgid "Could not reach server to determine if your game is up-to-date. \\wtnp[40]"
+msgstr "Konnte keinen Server zur Versionsüberprüfung erreichen. \\wtnp[40]"
+
+msgid "Couldn't edit the gift."
+msgstr "Das Geschenk konnte nicht bearbeitet werden."
+
+msgid "Couldn't find an unclaimed Mystery Gift with ID {1}."
+msgstr "Es konnte kein unbeanspruchtes Geheimgeschehen mit der ID {1} gefunden werden."
+
+msgid "Couldn't return unusable item to Bag somehow."
+msgstr "Das unbrauchbare Item lässt sich nicht in der Tasche verstauen."
+
+msgid "Couldn't return unused item to Bag somehow."
+msgstr "Das ungenutzte Item lässt sich nicht in der Tasche verstauen."
+
+msgid "Couldn't save the gift to MysteryGiftMaster.txt."
+msgstr "Das Geschenk konnte nicht im MysteryGiftMaster.txt abgespeichert werden."
+
+msgid "Couldn't save the gifts to MysteryGift.txt."
+msgstr "Die Geschenke konnten nicht im MysteryGift.txt abgespeichert werden."
+
+msgid "Crafty Shield protected your team!"
+msgstr "Die Pokémon auf deiner Seite werden von Trickschutz behütet!"
+
+msgid "Crafty Shield protected {1}!"
+msgstr "{1} wird durch Trickschutz geschützt!"
+
+msgid "Crag"
+msgstr "Geröll"
+
+msgid "Ctrl"
+msgstr "Strg"
+
+msgid "Cupu Berries"
+msgstr "Cupubeeren"
+
+msgid "Current Version = {1} \\wtnp[30]"
+msgstr "Lokale Version = {1} \\wtnp[30]"
+
+msgid "Custap Berries"
+msgstr "Eipfelbeeren"
+
+msgid "Custom"
+msgstr "Benutzerdefiniert"
+
+msgid "Custom Game Settings"
+msgstr "Benutzerdefinierte Spieleinstellungen"
+
+msgid "Custom/Nuzlocke Mode"
+msgstr "Benutzerdefinierter/Nuzlocke Modus"
+
+msgid "DEFEND"
+msgstr "VERTEIDIGEN"
+
+msgid "DEL: Delete map from canvas"
+msgstr "DEL: Delete map from canvas\n"
+
+msgid "DEPOSIT POKéMON"
+msgstr "POKéMON ABLEGEN"
+
+msgid "DESELECT"
+msgstr "ABWÄHLEN"
+
+msgid "DOUBLE Cup"
+msgstr "DOPPEL Cup"
+
+msgid "DOUBLE TRAINER 1"
+msgstr "DOPPEL-TRAINER 1"
+
+msgid "DOUBLE TRAINER 2"
+msgstr "DOPPEL-TRAINER 2"
+
+msgid "DS BORDER"
+msgstr "DS RAND"
+
+msgid "Dark"
+msgstr "Unlicht"
+
+msgid "Dark Mega Dramsama"
+msgstr "Dunkles Mega Dramsama"
+
+msgid "Day Care Options..."
+msgstr "Day Care Optionen"
+
+msgid "Day-Care Couple"
+msgstr "Tagespflegepaar"
+
+msgid "Debug Console"
+msgstr "Debug-Konsole"
+
+msgid "Dec."
+msgstr "Dez."
+
+msgid "December"
+msgstr "Dezember"
+
+msgid "Decimal"
+msgstr "Dezimal"
+
+msgid "Default"
+msgstr "Zurücksetzen"
+
+msgid "Defense"
+msgstr "Verteidigung"
+
+msgid "Defiant sharply raised {1}'s Attack!"
+msgstr "Angriff von {1} steigt durch Siegeswile stark!"
+
+msgid "Delete"
+msgstr "Löschen"
+
+msgid "Delete This Save File"
+msgstr "Diesen Spielstand löschen"
+
+msgid "Delete a move to make\nroom for {1}?"
+msgstr "Soll eine andere Attacke durch\n{1} ersetzt werden?"
+
+msgid "Delete a move to make room for {1}?"
+msgstr "Soll eine andere Attacke durch {1} ersetzt werden?"
+
+msgid "Dependent events removed."
+msgstr "Abhängigkeiten wurden entfernt"
+
+msgid "Deposit Item"
+msgstr "Item ablegen"
+
+msgid "Deposit Pokémon"
+msgstr "Pokémon ablegen"
+
+msgid "Deposit in which Box?"
+msgstr "In welche Box ablegen?"
+
+msgid "Deposited {1} {2}(s)."
+msgstr "{1}x {2} deponiert."
+
+msgid "Deposited {1}."
+msgstr "{1} hinterlegt"
+
+msgid "Deselect"
+msgstr "Aufheben"
+
+msgid "Desert"
+msgstr "Wüste"
+
+msgid "Dex List Accessibility"
+msgstr "Dex-Liste Zugänglichkeit"
+
+msgid "Dex No."
+msgstr "Pokédex Nr."
+
+msgid "Didn't create a gift."
+msgstr "Das Geschenk konnte nicht erstellt werden."
+
+msgid "Disable Healing In Battle"
+msgstr "Heilung im Kampf deaktivieren"
+
+msgid "Disable Pokémarts"
+msgstr "Pokémon-Märkte deaktivieren"
+
+msgid "Dispose egg"
+msgstr "Ei entfernen"
+
+msgid "Disposed of the egg."
+msgstr "Ei entsorgt"
+
+msgid "Divide"
+msgstr "Teilen"
+
+msgid "Do it! {1}!"
+msgstr "Du schaffst es, {1}!"
+
+msgid "Do not underestimate the might of Dragons!"
+msgstr "Unterschätze nicht die Macht der Drachen!"
+
+msgid "Do what with an item?"
+msgstr "Was mit dem Item tun?"
+
+msgid "Do what with the mail?"
+msgstr "Was mit dem Brief tun?"
+
+msgid "Do what with {1}?"
+msgstr "Was soll mit {1} geschehen?"
+
+msgid "Do you want to change its song now?"
+msgstr "Möchtest du seinen Gesang ändern?"
+
+msgid "Do you want to change {1}'s ability to {2}?"
+msgstr "Möchtest du die Fähigkeit von {1} zu {2} ändern?"
+
+msgid "Do you want to delete the save file and start anew?"
+msgstr "Möchtest du den Spielstand löschen und von vorne anfangen?"
+
+msgid "Do you want to run the patcher now?"
+msgstr "Möchtest du den Patcher jetzt ausführen?"
+
+msgid "Do you want to try and run the patcher anyway?"
+msgstr "Möchtest du den Patcher trotzdem ausführen?"
+
+msgid "Do you want to use another Repel?"
+msgstr "Möchtest du einen weiteren Schutz verwenden?"
+
+msgid "Docile"
+msgstr "Sanft"
+
+msgid "Does this gift need a plural form of its name?"
+msgstr "Braucht dieses Geschenk einen Plural von seinem Namen?"
+
+msgid "Done!"
+msgstr "Fertig!"
+
+msgid "Done! All your converted sprites are saved in the Graphics/Battlers/Cut/ folder."
+msgstr "Erledigt! Deine konvertierten Sprites befinden sich in dem Ordner Graphics/Battlers/Cut/"
+
+msgid "Double-click: Edit map's metadata"
+msgstr "Double-click: Edit map's metadata\n"
+
+msgid "Down"
+msgstr "Runter"
+
+msgid "Drag map to move it"
+msgstr "Drag map to move it\n"
+
+msgid "Dragon"
+msgstr "Drache"
+
+msgid "Dreams"
+msgstr "Träume"
+
+msgid "Dupes Clause"
+msgstr "Duplikate-Regelung"
+
+msgid "Duplicate"
+msgstr "Duplikat"
+
+msgid "Durin Berries"
+msgstr "Durinbeeren"
+
+msgid "E: Edit map's encounters"
+msgstr "E: Edit map's encounters\n"
+
+msgid "EDIT"
+msgstr "BEARBEITEN"
+
+msgid "EV/IV/pID"
+msgstr "FP/DV/pID"
+
+msgid "EXCHANGE"
+msgstr "TAUSCHEN"
+
+msgid "EXIT"
+msgstr "VERLASSEN"
+
+msgid "Each Pokemon's HP was halved!"
+msgstr "Die KP von jedem Pokémon wurde halbiert!"
+
+msgid "Earned coins"
+msgstr "Gewonnene Münzen"
+
+msgid "East side of first map must connect with west side of second map\n{1}"
+msgstr "East side of first map must connect with west side of second map\n{1}"
+
+msgid "Edit"
+msgstr "Bearbeiten"
+
+msgid "Edit Trainer Types"
+msgstr "Trainer-Typen editieren"
+
+msgid "Egg"
+msgstr "Ei"
+
+msgid "Egg is available, can't deposit Pokémon."
+msgstr "Ein Ei ist verfügbar, kann Pokémon nicht hinterlegen"
+
+msgid "Egg is available, can't withdraw Pokémon."
+msgstr "Ein ist verfügbar, kann Pokémon nicht zurücknehmen"
+
+msgid "Egg with eggsteps: {1}."
+msgstr "Ei mit {1} Schritten"
+
+msgid "Eggs can't hold items."
+msgstr "Eier können keine Items tragen."
+
+msgid "Eggs can't hold mail."
+msgstr "Eier können keine Briefe tragen."
+
+msgid "Electric"
+msgstr "Elektro"
+
+msgid "Electricity's power was weakened!"
+msgstr "Die Stärke aller Elektro-Attacken wurde reduziert!"
+
+msgid "Eletux is the best pick!\\wtnp[160]"
+msgstr "...ist Voltus die beste Wahl!\\wtnp[160]"
+
+msgid "Em"
+msgstr "Sm"
+
+msgid "Empty Bag"
+msgstr "Tasche leeren"
+
+msgid "End"
+msgstr "Ende"
+
+msgid "Enigma Berries"
+msgstr "Enigmabeeren"
+
+msgid "Enter a name for the gift."
+msgstr "Gib einen Namen für dieses Geschenk ein."
+
+msgid "Enter a phrase."
+msgstr "Gib eine Formulierung ein."
+
+msgid "Enter a plural form of {1}."
+msgstr "Gib einen Plural für {1} ein."
+
+msgid "Enter text using the keyboard. Press ENTER to confirm."
+msgstr "Benutze die Tastatur zum schreiben. Drücke ENTER zur Bestätigung."
+
+msgid "Enter text using the keyboard. Press ESC to cancel, or ENTER to confirm."
+msgstr "Benutze die Tastatur zum schreiben. Bestätige mit ENTER, ESC zum Abbrechen."
+
+msgid "Enter {1}'s name."
+msgstr "Gib einen Namen für {1} ein."
+
+msgid "Entry"
+msgstr "Eintragen"
+
+msgid "Enumeration not defined\n{1}"
+msgstr "Enumeration not defined\n{1}"
+
+msgid "Erase name"
+msgstr "Namen entfernen"
+
+msgid "Error extracting text. No text found."
+msgstr "Fehler beim Extrahieren von Text. Kein Text gefunden."
+
+msgid "Everything was dug up!"
+msgstr "Alles wurde ausgegraben!"
+
+msgid "Execute"
+msgstr "Ausführen"
+
+msgid "Execute search."
+msgstr "Führe Suche aus."
+
+msgid "Execute sort."
+msgstr "Suche"
+
+msgid "Exit"
+msgstr "Beenden"
+
+msgid "Exit To Desktop"
+msgstr "Spiel beenden"
+
+msgid "Exit To Menu"
+msgstr "Zum Hauptmenü"
+
+msgid "Exit from the Box?"
+msgstr "Die Box verlassen?"
+
+msgid "Exit from the map?"
+msgstr "Karte verlassen?"
+
+msgid "Exp. Points"
+msgstr "Erfahrungspunkte"
+
+msgid "Expected a number for the number of Pokémon\n{1}"
+msgstr "Expected a number for the number of Pokémon\n{1}"
+
+msgid "Expected a number for the trainer battle ID\n{1}"
+msgstr "Expected a number for the trainer battle ID\n{1}"
+
+msgid "Expected a section at the beginning of the file\n{1}"
+msgstr "Expected a section at the beginning of the file\n{1}"
+
+msgid "Expected a section at the beginning of the file. This error may also occur if the file was not saved in UTF-8.\n{1}"
+msgstr "Expected a section at the beginning of the file. This error may also occur if the file was not saved in UTF-8.\n{1}"
+
+msgid "Expected a species name: {1}\n{2}"
+msgstr "Expected a species name: {1}\n{2}"
+
+msgid "Export"
+msgstr "Exportieren"
+
+msgid "Export selected to file"
+msgstr "Exportiere die Selektion in eine Datei"
+
+msgid "Extract Text"
+msgstr "Text extrahieren"
+
+msgid "F"
+msgstr "VB"
+
+msgid "FANCY Cup"
+msgstr "SCHICKER Cup"
+
+msgid "FIERCE ATTACK"
+msgstr "STARKE ATTACKE"
+
+msgid "FIFTH"
+msgstr "FÜNFTES"
+
+msgid "FIRST"
+msgstr "ERSTES"
+
+msgid "FLOW"
+msgstr "FLUSS"
+
+msgid "FORMS"
+msgstr "FORMEN"
+
+msgid "FORMS SEEN"
+msgstr "GES. FORMEN"
+
+msgid "FOURTH"
+msgstr "VIERTES"
+
+msgid "FRLG"
+msgstr "FRBG"
+
+msgid "Failed to compile text: {1}"
+msgstr "Failed to compile text: {1}"
+
+msgid "Failed to connect, the servers may be experiencing problems. Please try again later."
+msgstr "Verbindung fehlgeschlagen. Bitte versuche es später wieder."
+
+msgid "Failed to create the trainer type. Choose a different name."
+msgstr "Failed to create the trainer type. Choose a different name."
+
+msgid "Failed to delete stored items"
+msgstr "Abgelegte Items konnten nicht gelöscht werden"
+
+msgid "Failed to load data from server!"
+msgstr "Laden der Serverdaten fehlgeschlagen!"
+
+msgid "Failed to save changes to MysteryGiftMaster.txt."
+msgstr "Änderungen an MysteryGiftMaster.txt konnten nicht gespeichert werden."
+
+msgid "Fainted"
+msgstr "Kampfunfähig"
+
+msgid "Fainted Pokémon are considered dead and only one can be caught per route."
+msgstr "Besiegte Pokémon bleiben tot und man kann nur ein Pokémon pro Route fangen."
+
+msgid "Fairy"
+msgstr "Fee"
+
+msgid "False"
+msgstr "Nein"
+
+msgid "Faraway place"
+msgstr "Entfernter Ort"
+
+msgid "Fast"
+msgstr "Schnell"
+
+msgid "February"
+msgstr "Februar"
+
+msgid "Female"
+msgstr "Weiblich"
+
+msgid "Female Shiny"
+msgstr "Weiblich schillernd"
+
+msgid "Feminine"
+msgstr "Weiblich"
+
+msgid "Fertilize"
+msgstr "Düngen"
+
+msgid "Field '{1}' is not a hexadecimal number\n{2}"
+msgstr "Field '{1}' is not a hexadecimal number\n{2}"
+
+msgid "Field '{1}' must be 0 or greater\n{2}"
+msgstr "Field '{1}' must be 0 or greater\n{2}"
+
+msgid "Field '{1}' must be greater than 0\n{2}"
+msgstr "Field '{1}' must be greater than 0\n{2}"
+
+msgid "Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.\n{2}"
+msgstr "Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.\n{2}"
+
+msgid "Field {1} is not a Boolean value (true, false, 1, 0)\n{2}"
+msgstr "Field {1} is not a Boolean value (true, false, 1, 0)\n{2}"
+
+msgid "Field {1} is not a number\n{2}"
+msgstr "Field {1} is not a number\n{2}"
+
+msgid "Field {1} is not a positive integer\n{2}"
+msgstr "Field {1} is not a positive integer\n{2}"
+
+msgid "Field {1} is not an integer\n{2}"
+msgstr "Field {1} is not an integer\n{2}"
+
+msgid "Fight"
+msgstr "Kampf"
+
+msgid "Fighting"
+msgstr "Kampf"
+
+msgid "Figy Berries"
+msgstr "Giefebeeren"
+
+msgid "File {1}, line {2}\n{3}"
+msgstr "File {1}, line {2}\n{3}\n"
+
+msgid "File {1}, section {2}, key {3}\n{4}"
+msgstr "File {1}, section {2}, key {3}\n{4}\n"
+
+msgid "Fill Bag"
+msgstr "Tasche füllen"
+
+msgid "Fill Storage Boxes"
+msgstr "Lagerboxen füllen"
+
+msgid "Fill all fields!"
+msgstr "Alle Aktionen müssen eine Taste zugewiesen haben!"
+
+msgid "Filled party with demo Pokémon."
+msgstr "Team mit Beispiel-Pokémon gefüllt"
+
+msgid "Finally someone worth battling!"
+msgstr "Endlich jemand, gegen den es sich zu kämpfen lohnt!"
+
+msgid "Fire"
+msgstr "Feuer"
+
+msgid "Fire's power was weakened!"
+msgstr "Die Stärke aller Feuer-Attacken wurde reduziert!"
+
+msgid "First move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "First move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "Flying"
+msgstr "Flug"
+
+msgid "Folks, we're back with Round 2!"
+msgstr "Okay Leute, es geht weiter mit Runde 2!"
+
+msgid "Font Style"
+msgstr "Schriftart"
+
+msgid "For a Balanced trainer like you...\\^"
+msgstr "Für {einen ausgeglichenen Trainer|eine ausgeglichene Trainerin|einen ausgeglichenen Trainer} wie dich...\\^"
+
+msgid "For a Defensive trainer like you...\\^"
+msgstr "Für {einen defensiven Trainer|eine defensive Trainerin|einen defensiven Trainer} wie dich...\\^"
+
+msgid "For an Offensive trainer like you...\\^"
+msgstr "Für {einen offensiven Trainer|eine offensive Trainerin|einen offensiven Trainer} wie dich...\\^"
+
+msgid "For some reason this Pokémon can't be caught!"
+msgstr "Aus irgendeinem Grund kann dieses Pokémon nicht gefangen werden!"
+
+msgid "For {1}'s {2},\n{3} sends {4}."
+msgstr "Für {2} von {1},\nschickt {3} {4}."
+
+msgid "For {1}'s {2},\n{3} sends {4}."
+msgstr "Für {2} von {1},\nschickt {3} {4}."
+
+msgid "For {1}, the {2} was too bitter!"
+msgstr "{2} war für {1} zu bitter!"
+
+msgid "For {1}, the {2} was too dry!"
+msgstr "{2} war für {1} zu trocken!"
+
+msgid "For {1}, the {2} was too sour!"
+msgstr "{2} war für {1} zu sauer!"
+
+msgid "For {1}, the {2} was too spicy!"
+msgstr "{2} war für {1} zu scharf!"
+
+msgid "For {1}, the {2} was too sweet!"
+msgstr "{2} war für {1} zu süß!"
+
+msgid "Foreign Pokémon\n{1}\n{2}\n{3} ({4})"
+msgstr "Fremdes Pokémon\n{1}\n{2}\n{3} ({4})"
+
+msgid "Forest"
+msgstr "Wald"
+
+msgid "Forget move"
+msgstr "Attacke vergessen"
+
+msgid "Fourth move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Fourth move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "Frame:"
+msgstr "Rahmen"
+
+msgid "Friday"
+msgstr "Freitag"
+
+msgid "Fuse with which Pokémon?"
+msgstr "Mit welchem Pokémon fusionieren?"
+
+msgid "Game Version: {1}\nServer Version: {2}"
+msgstr "Spielversion: {1}\nServerversion: {2}"
+
+msgid "Ganlon Berries"
+msgstr "Linganbeeren"
+
+msgid "Gave Mega Ring."
+msgstr "Mega-Ring erhalten"
+
+msgid "Gave Pokédex."
+msgstr "Pokédex erhalten"
+
+msgid "Gave Pokégear."
+msgstr "PokéGear erhalten"
+
+msgid "Gave Running Shoes."
+msgstr "Schuhe erhalten"
+
+msgid "Gender"
+msgstr "Geschlecht"
+
+msgid "Gender override removed."
+msgstr "Geschlechtsüberschreibung entfernt"
+
+msgid "Gender {1} is being forced."
+msgstr "Geschlecht {1} ist erzwungen"
+
+msgid "Gender {1} is natural."
+msgstr "Geschlecht {1} ist natürlich"
+
+msgid "Genderless Shiny"
+msgstr "Geschlechtlos schillernd"
+
+msgid "Generate Pokemon teams for this challenge?"
+msgstr "Soll für diese Herausforderung Teams erstellt werden?"
+
+msgid "Generate egg"
+msgstr "Ei generieren"
+
+msgid "Generating teams ({1} of {2})"
+msgstr "Erstelle Teams ({1} von {2})"
+
+msgid "Gentle"
+msgstr "Zart"
+
+msgid "Ghost"
+msgstr "Geist"
+
+msgid "Give"
+msgstr "Geben"
+
+msgid "Give Demo Party"
+msgstr "Gib Demo-Team"
+
+msgid "Give random strain"
+msgstr "Gebe zufälligen Stamm"
+
+msgid "Give to which Pokémon?"
+msgstr "Welchem Pokémon geben?"
+
+msgid "Give up trying to teach a new move to {1}?"
+msgstr "Soll {1} aufgeben und sich nicht an eine Attacke erinnern?"
+
+msgid "Go back to the previous menu."
+msgstr "Kehre zum vorherigen Menü zurück."
+
+msgid "Go for it, {1}!"
+msgstr "Streng dich an, {1}!"
+
+msgid "Go! {1} and {2}!"
+msgstr "Los! {1} und {2}!"
+
+msgid "Go! {1}!"
+msgstr "Los, {1}!"
+
+msgid "Good endurance."
+msgstr "Hat eine gute Ausdauer."
+
+msgid "Good perseverance."
+msgstr "Ist beharrlich."
+
+msgid "Goodness! That was quite a thorough rout.\nI may require some tea and\nbiscuits after this match.\nIf you like, you would be welcome to join me."
+msgstr "Gute Güte! Das war eine gründliche Niederlage.\nNach so einem Kampf könnte ich einen Tee und Kekse gebrauchen.\nDu bist auch eingeladen, wenn du möchtest."
+
+msgid "Goodness, you are really quite strong."
+msgstr "Güte, du bist wirklich ziemlich stark."
+
+msgid "Got all opponent's cards."
+msgstr "Alle Karten des Gegners erhalten."
+
+msgid "Got away safely!"
+msgstr "Du bist entkommen!"
+
+msgid "Got opponent's {1} card."
+msgstr "Karte {1} des Gegners erhalten."
+
+msgid "Gotcha! {1} was caught!"
+msgstr "Klasse! {1} wurde gefangen!"
+
+msgid "Graphics/Pictures/BATTLE/battleBagChoices"
+msgstr "Graphics/Translations/German/battleBagChoices_de"
+
+msgid "Graphics/Pictures/BATTLE/battleBagLast"
+msgstr "Graphics/Translations/German/battleBagLast_de"
+
+msgid "Graphics/Pictures/BATTLE/battleItemConfirm"
+msgstr "Graphics/Translations/German/battleItemConfirm_de"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerBoxS"
+msgstr "Graphics/Translations/German/battlePlayerBoxS_de"
+
+msgid "Graphics/Pictures/BATTLE/moveSelButtons"
+msgstr "Graphics/Translations/German/moveSelButtons_de"
+
+msgid "Graphics/Pictures/Pokedex/dexentrybars"
+msgstr "Graphics/Translations/German/dexentrybars_de"
+
+msgid "Graphics/Pictures/Pokedex/entryicons"
+msgstr "Graphics/Translations/German/entryicons_de"
+
+msgid "Graphics/Pictures/Summary/summary2text"
+msgstr "Graphics/Translations/German/summary2text_de"
+
+msgid "Graphics/Pictures/Summary/summary3text"
+msgstr "Graphics/Translations/German/summary3text_de"
+
+msgid "Graphics/Pictures/Summary/summary4text"
+msgstr "Graphics/Translations/German/summary4text_de"
+
+msgid "Graphics/Pictures/battleMegaEvo"
+msgstr "Graphics/Translations/German/battleMegaEvo_de"
+
+msgid "Graphics/Pictures/battleStatuses"
+msgstr "Graphics/Translations/German/battleStatuses_de"
+
+msgid "Graphics/Pictures/boxpartytab"
+msgstr "Graphics/Translations/German/boxpartytab_de"
+
+msgid "Graphics/Pictures/boxsides"
+msgstr "Graphics/Translations/German/boxsides_de"
+
+msgid "Graphics/Pictures/jukeboxbg"
+msgstr "Graphics/Translations/German/jukeboxbg_de"
+
+msgid "Graphics/Pictures/statuses"
+msgstr "Graphics/Translations/German/statuses_de"
+
+msgid "Graphics/Pictures/trcard.png"
+msgstr "Graphics/Translations/German/trcard_de.png"
+
+msgid "Graphics/Pictures/types"
+msgstr "Graphics/Translations/German/types_de"
+
+msgid "Graphics/Pictures/typesbw"
+msgstr "Graphics/Translations/German/typesbw_de"
+
+msgid "Graphics/Titles/Start"
+msgstr "Graphics/Translations/German/Start_de"
+
+msgid "Graphics/Titles/pic_4"
+msgstr "Graphics/Translations/German/pic_4_de"
+
+msgid "Grass"
+msgstr "Pflanze"
+
+msgid "Grass grew to cover the battlefield!"
+msgstr "Dichtes Gras schießt aus dem Boden!"
+
+msgid "Gravity intensified!"
+msgstr "Die Erdanziehung wurde verstärkt!"
+
+msgid "Gravity returned to normal!"
+msgstr "Die Erdanziehung ist wieder normal!"
+
+msgid "Gray"
+msgstr "Grau"
+
+msgid "Green"
+msgstr "Grün"
+
+msgid "Grepa Berries"
+msgstr "Labrusbeeren"
+
+msgid "Ground"
+msgstr "Boden"
+
+msgid "Guara Berries"
+msgstr "Guarabeeren"
+
+msgid "Gyahahaha! I expected nothing less from you! Go on to the next round, then. You deserve it!"
+msgstr "Muahahaha! Ich habe nichts anderes von dir erwartet! Auf zur nächsten Runde mit dir. Du hast es verdient!"
+
+msgid "HALL OF FAME No."
+msgstr "RUHMESHALLE NR."
+
+msgid "HM moves can't be forgotten now."
+msgstr "VM Attacken können jetzt nicht vergessen werden."
+
+msgid "HP"
+msgstr "KP"
+
+msgid "HP greater than total HP"
+msgstr "KP größer als die gesamte KP"
+
+msgid "HP less than 0"
+msgstr "KP weniger als 0"
+
+msgid "HP/Status"
+msgstr "KP/Status"
+
+msgid "HT"
+msgstr "GR."
+
+msgid "Haban Berries"
+msgstr "Terirobeeren"
+
+msgid "Hafli Berries"
+msgstr "Haflibeeren"
+
+msgid "Hail continues to fall."
+msgstr "Es hagelt weiter!"
+
+msgid "Hail is falling."
+msgstr "Es hagelt!"
+
+msgid "Hall of Fame"
+msgstr "Ruhmeshalle"
+
+msgid "Hall of Fame No."
+msgstr "Ruhmeshalle Nr."
+
+msgid "Happiness"
+msgstr "Freundschaft"
+
+msgid "Hardy"
+msgstr "Robust"
+
+msgid "Has strain {1}, infectious for {2} more days."
+msgstr "Hat Stamm {1}, ansteckend für {2} weitere Tage"
+
+msgid "Has strain {1}, not infectious."
+msgstr "Hat Stamm {1}, nicht ansteckend"
+
+msgid "Hasty"
+msgstr "Hastig"
+
+msgid "Hates to lose."
+msgstr "Hasst Niederlagen."
+
+msgid "HeL̳ o-f FAmr"
+msgstr "Ruh̳m s hAl̳e"
+
+msgid "Heal"
+msgstr "Heilen"
+
+msgid "Heal Party"
+msgstr "Team Heilen"
+
+msgid "Healing in-battle is disabled by your custom game settings!"
+msgstr "Heilung während des Kampfes ist in deinen benutzerdefinierten Einstellungen deaktiviert!"
+
+msgid "Heart gauge is {1}."
+msgstr "Puls ist {1}"
+
+msgid "Heavy to Light"
+msgstr "Schwerstes"
+
+msgid "Helloooooo ladies, gentlemen,\npeople of Tandor!"
+msgstr "Halloooooo Ladies and Gentlemen,\nMenschen von Tandor!"
+
+msgid "Help"
+msgstr "Hilfe"
+
+msgid "Here I come!"
+msgstr "Hier bin ich!"
+
+msgid "Here we are! Round 4, the semifinals!"
+msgstr "Da sind wir! Runde 4, das Halbfinale!"
+
+msgid "Here you are!\nThank you!"
+msgstr "Hier, bitte schön!\nVielen Dank!"
+
+msgid "Here you go!"
+msgstr "Bitte schön!"
+
+msgid "Hi there, \\PN!\nI wanted to thank you for stopping the Power Plant attacks.\nYou really did a good thing for Bealbeach City, and for all of Tandor!\nEver since I heard about that, I've been itching for a rematch.\nThis time, my team and I are going all-out!\nI hope you'll go all-out, too!"
+msgstr "Hallo, \\PN!\nIch möchte dir dafür danken, dass du die Angriffe auf die Kraftwerke gestoppt hast.\nDu hast für Sonnenstrand und ganz Tandor Großes geleistet. Seit ich davon gehört habe, konnte ich einen Rückkampf kaum erwarten.\nDieses Mal werden mein Team und ich alles geben!\nIch hoffe, du wirst es auch tun!"
+
+msgid "Hidden Power:\n{1}, power {2}."
+msgstr "Kraftreserve:\n{1}, Stärke {2}"
+
+msgid "Highly curious."
+msgstr "Sehr neugrierig."
+
+msgid "Highly persistent."
+msgstr "Äußerst ausdauernd."
+
+msgid "Hit {1} time!"
+msgstr "{1}-mal getroffen!"
+
+msgid "Hit {1} times!"
+msgstr "{1}-mal getroffen!"
+
+msgid "Hiyah! I have honed my skills as a Surfer and a Ninja! We command mastery over the waves!"
+msgstr "Hiyah! Ich habe meine Fähigkeiten als Surfer und Ninja perfektioniert! Wir herrschen über die Wellen!"
+
+msgid "Hmm... impressive."
+msgstr "Hmm... Beeindruckend."
+
+msgid "Hmph."
+msgstr "Hmpf."
+
+msgid "Hold down while walking to run."
+msgstr "Rennen"
+
+msgid "Home"
+msgstr "Pos1"
+
+msgid "Hondew Berries"
+msgstr "Honmelbeeren"
+
+msgid "Honored \\PN,\nThere is a stirring in the wind.\nThe Gods murmur in the deep.\nA storm brews on the horizon.\nOur Village will soon be in danger.\nWithout your help, Tsukinami will fall."
+msgstr "{Ehrenvoller \\PN|Ehrenvolle \\PN|\\PN},\nEin Wind zieht auf.\nDie Götter murmeln in der Tiefe.\nEin Sturm braut sich zusammen.\nUnser Dorf wird bald in Gefahr sein.\nOhne deine Hilfe wird Tsukinami fallen."
+
+msgid "How many do you want to deposit?"
+msgstr "Wie viele willst du deponieren?"
+
+msgid "How many do you want to withdraw?"
+msgstr "Wie viele willst du zurücknehmen?"
+
+msgid "Huh?"
+msgstr "Wie?"
+
+msgid "Huh?\nThe {1}'s responding!"
+msgstr "Huh?\n[1} reagiert!"
+
+msgid "Huh?\n{1} stopped evolving!"
+msgstr "Hm?\nDie Entwicklung von {1} wurde abgebrochen!"
+
+msgid "I alone command the incredible power of Dragons! Fear our unstoppable might!"
+msgstr "Nur ich verfüge über die unglaubliche Stärke der Drachen! Fürchtet euch vor unserer unaufhaltsamen Macht!"
+
+msgid "I am a fossil revivification expert."
+msgstr "Ich bin ein Experte in der Wiederbelebung von Fossilien."
+
+msgid "I can feel the anticipation in the air.\nThese trainers have spent their entire lives preparing for this moment!"
+msgstr "Ich kann die Spannung in der Luft spüren.\nDiese Trainer haben ihr ganzes Leben verbracht sich für diesen Moment vorzubereiten."
+
+msgid "I can feel the tension crackling in the air."
+msgstr "Ich kann die Spannung in der Luft fühlen."
+
+msgid "I can pay ${1}.\nWould that be OK?"
+msgstr "Ich gebe dir ${1}.\nBist du damit einverstanden?"
+
+msgid "I can pay ${1}. Would that be OK?"
+msgstr "Ich gebe dir ${1}.\nBist du damit einverstanden?"
+
+msgid "I can tell that they both are itching for another fight!"
+msgstr "Sie können den Kampf kaum erwarten, das kann ich euch sagen!"
+
+msgid "I can tell the crowd is loving this! It only gets more intense from here on out, folks!"
+msgstr "Das Publikum liebt es hier zu sein! Von nun an wird es noch intensiver, Leute!"
+
+msgid "I do say!\nHave we perchance met before?\nI am certain we have.\nYou do leave quite an impression, indeed.\nHowever, allow me to reintroduce myself:\nI am Sr. Goldkorn.\nI represent a refined style of battle.\nA tradition which is sadly going away, it seems... But, I shall prove that refinement still has a place in the arena.\nPlease allow us to have a clean, civil match."
+msgstr "Mit Verlaub!\nHaben wir uns vielleicht schon mal gesehen?\nIch bin mir sicher, das haben wir.\nGewiss, du hinterlässt wirklich Eindruck.\nJedoch, erlaube mir mich erneut vorzustellen:\nIch bin Senior Goldkorn.\nIch vertrete einen eleganteren Stil, wenn es ums Kämpfen geht.\nEine Tradition, welche traurigerweise nicht mehr so häufig vorkommt, so scheint es... Aber lass' mich dir beweisen, dass Eleganz noch immer seinen Platz in der Arena findet.\nBitte lass uns einen sauberen, zivilisierten Kampf vollbringen."
+
+msgid "I have created... life!"
+msgstr "Ich habe Leben... erschaffen!"
+
+msgid "I kept the best for last!"
+msgstr "Ich habe das Beste bis zum Schluss aufgehoben."
+
+msgid "I know I look cute, but you shouldn't underestimate me! I won last year and I'll do it again!"
+msgstr "Ich mag niedlich sein, aber du solltest mich nicht unterschätzen! Ich habe letztes Jahr gewonnen und werde es wieder tun!"
+
+msgid "I say!"
+msgstr "Mit Verlaub!"
+
+msgid "I see a great future ahead of you, but are you ready for this?"
+msgstr "Ich sehe eine großartige Zukunft für dich, aber bist du bereit hierfür?"
+
+msgid "I see you command your Pokémon with great intelligence and respect. A lesser trainer could not have triumphed against us. I must bow to your superiority."
+msgstr "Ich sehe, dass du mit Weisheit und Respekt über deine Pokémon verfügst. Ein schlechterer Trainer wäre gegen uns nicht siegreich gewesen. Ich beuge mich deiner Überlegenheit."
+
+msgid "I specialize in the mysterious and mystical Fairy type. Soon, you'll be under our spell."
+msgstr "Ich habe mich auf den mysteriösen und mystischen Feen-Typen spezialisiert. Bald wirst du auch von ihnen bezaubert sein."
+
+msgid "I use only the most perfect mechanical Pokémon. Your puny team won't stand a chance."
+msgstr "Ich benutze nur die stärksten mechanischen Pokémon. Dein jämmerliches Team wird keine Chance haben."
+
+msgid "I will bring your Pokémon back to life in just a moment."
+msgstr "Ich werde dein Pokémon wiederbeleben."
+
+msgid "I'd like to know your name.\nPlease tell me."
+msgstr "Ich würde gerne deinen Namen wissen.\nBitte verrat ihn mir."
+
+msgid "I'll throw in a Premier Ball, too."
+msgstr "Du bekommst als Bonus noch einen Premierball dazu."
+
+msgid "I've done it!"
+msgstr "Ich habe es geschafft!"
+
+msgid "ID No."
+msgstr "ID Nr."
+
+msgid "ID No. {1}"
+msgstr "ID Nr. {1}"
+
+msgid "IDNo. {1}"
+msgstr "Id.Nr. {1}"
+
+msgid "IDNo.{1}
"
+msgstr "IDNr.{1}
"
+
+msgid "IDNo.{1}"
+msgstr "IDNr.{1}"
+
+msgid "INELIGIBLE"
+msgstr "UNZULÄSSIG"
+
+msgid "Iapapa Berries"
+msgstr "Yapabeeren"
+
+msgid "Ice"
+msgstr "Eis"
+
+msgid "If both trainers are ready, then..."
+msgstr "Wenn dann beide Trainer bereit sind..."
+
+msgid "If the mail is removed, the message will be lost. OK?"
+msgstr "Wird der Brief entfernt, geht der Inhalt verloren, okay?"
+
+msgid "If true, this map is part of the Safari Zone (both indoor and outdoor). Not to be used in the reception desk."
+msgstr "If true, this map is part of the Safari Zone (both indoor and outdoor). Not to be used in the reception desk."
+
+msgid "If you bring me a Pokémon fossil, I can restore it to life."
+msgstr "Wenn du mir ein Pokémon-Fossil bringst, kann ich es wiederbeleben."
+
+msgid "If you quit now, you will recieve {1} Coin(s). Will you quit?"
+msgstr "Wenn du jetzt aufhörst, erhälst du {1} Münze(n). Möchtest du aufhören?"
+
+msgid "If you see one, bring it to me."
+msgstr "Wenn du eins siehst, bringe es zu mir."
+
+msgid "Impetuous and silly."
+msgstr "Ungestüm und einfältig."
+
+msgid "Impish"
+msgstr "Pfiffig"
+
+msgid "Import Pokémon Data"
+msgstr "Importiere Pokémon Daten"
+
+msgid "In Bag:{1:d}"
+msgstr "Besitz:{1:d}"
+
+msgid "In encounters.txt, expected a species entry line,\ngot \"{1}\" instead (probably too few entries in an encounter type).\nPlease check the format of the section numbered {2},\nwhich is just before this line.\n{3}"
+msgstr "In encounters.txt, expected a species entry line,\ngot \"{1}\" instead (probably too few entries in an encounter type).\nPlease check the format of the section numbered {2},\nwhich is just before this line.\n{3}"
+
+msgid "In the spirit of fairness all online features will be disabled on this save."
+msgstr "Um fair zu sein werden für diesen Spielstand alle Online-Funktionen deaktiviert."
+
+msgid "Incorrect value {1} in {2}\n{3}"
+msgstr "Incorrect value {1} in {2}\n{3}"
+
+msgid "Insert"
+msgstr "Einfügen"
+
+msgid "Invalid pocket: {1}"
+msgstr "Ungültige Tasche: {1}"
+
+msgid "Invalid quoted field (in: {1})\n{2}"
+msgstr "Invalid quoted field (in: {1})\n{2}"
+
+msgid "Is it OK to throw away {1} {2}(s)?"
+msgstr "{1}x {2} wegwerfen?"
+
+msgid "Is there anything else I can help you with?"
+msgstr "Gibt es noch etwas, womit ich dienen kann?"
+
+msgid "It appears to move occasionally. It may be close to hatching."
+msgstr "Manchmal bewegt es sich! Bald ist es so weit!"
+
+msgid "It broke all barriers!"
+msgstr "Es durchbrach alle Barrieren!"
+
+msgid "It can't be used when you have someone with you."
+msgstr "Das kann nicht eingesetzt werden, wenn dir jemand folgt."
+
+msgid "It can't be used while in the Hazard Suit."
+msgstr "Du kannst es im Schutzanzug nicht benutzen."
+
+msgid "It contained {1}."
+msgstr "Sie enthält {1}."
+
+msgid "It created a bizarre area in which Pokémon's held items lose their effects!"
+msgstr "Es entsteht ein Raum, in dem getragene Items ihre Wirkung verlieren!"
+
+msgid "It created a bizarre area in which the Defense and Sp. Def stats are swapped!"
+msgstr "Es entsteht ein Raum, in dem Verteidigung und Spezial-Verteidigung miteinander vertauscht sind!"
+
+msgid "It doesn't affect\n{1}..."
+msgstr "Es hat keine Wirkung auf\n{1}..."
+
+msgid "It doesn't affect {1}.."
+msgstr "Es hat keine Wirkung auf {1}.."
+
+msgid "It doesn't affect {1}..."
+msgstr "Es hat keine Wirkung auf {1}..."
+
+msgid "It had no effect."
+msgstr "Es hatte keine Wirkung."
+
+msgid "It hurt itself from its confusion!"
+msgstr "Es hat sich vor Verwirrung selbst verletzt!"
+
+msgid "It hurt itself in its confusion!"
+msgstr "Es hat sich vor Verwirrung selbst verletzt!"
+
+msgid "It is not often that we come down from the peak of Mt. Lanthanite. But, this region deserves a reminder of the power of dragons! You, who have proved yourself in the Five Trials... Have you what it takes to defeat us at our full strength?\nWRRRROOOAAAAARRRR!\nHear our battle cry!"
+msgstr "Es kommt nicht häufig vor, dass wir vom Gipfel des Lanthanitberges runterkommen. Aber diese Region verdient es an die Stärke der Drachen erinnert zu werden! Du, der sich in den fünf Prüfungen als würdig erwiesen hast... Hast du das Zeug uns zu besiegen?\nWRRRROOOAAAAARRRR!\nHöre unseren Schlachtruf!"
+
+msgid "It is raining."
+msgstr "Es regnet."
+
+msgid "It looks like this Egg will take a long time to hatch."
+msgstr "Dieses Ei braucht sicher noch sehr viel Zeit."
+
+msgid "It poisoned {1}!"
+msgstr "Es hat {1} vergiftet!"
+
+msgid "It reduced the PP of {1}'s {2} by {3}!"
+msgstr "{2} von {1} wird um {3} AP reduziert!"
+
+msgid "It started to hail!"
+msgstr "Es fängt an zu hageln!"
+
+msgid "It started to rain!"
+msgstr "Es fängt an zu regnen!"
+
+msgid "It stole {1}'s {2}!"
+msgstr "Es hat {2} von {1} gestohlen!"
+
+msgid "It was alerted to {1}'s {2}!"
+msgstr "{2} von {1} wurde durschaut!"
+
+msgid "It was stored in box \"{1}\"."
+msgstr "Es wurde in die Box \"{1}\" geschickt."
+
+msgid "It was stored in box \"{1}.\""
+msgstr "Es wurde in die Box \"{1}\" geschickt."
+
+msgid "It was too weak to make a substitute!"
+msgstr "Es ist zu schwach, um einen Delegator einzusetzen!"
+
+msgid "It will forget the song it knows."
+msgstr "Es wird den Gesang, den es kennt, vergessen."
+
+msgid "It won't have any effect"
+msgstr "Es wird keine Wirkung haben."
+
+msgid "It won't have any effect."
+msgstr "Es hat keinen Effekt."
+
+msgid "It's a Slot Machine."
+msgstr "Das ist ein Glücksspielautomat."
+
+msgid "It's a big boulder, but a Pokémon may be able to push it aside."
+msgstr "Ein großer Felsen. Ein Pokémon könnte ihn vielleicht bewegen."
+
+msgid "It's a dead coral, but a Pokémon may be able to smash it."
+msgstr "Eine tote Koralle. Ein Pokémon könnte sie vielleicht zerstören."
+
+msgid "It's a large waterfall. Would you like to climb it?"
+msgstr "Ein riesiger Wasserfall. Möchtest du Kaskade einsetzen?"
+
+msgid "It's a one-hit KO!"
+msgstr "Ein K.O.-Treffer!"
+
+msgid "It's a rugged rock, but a Pokémon may be able to smash it."
+msgstr "Ein rissiger Felsen. Ein Pokémon könnte ihn vielleicht zerstören."
+
+msgid "It's empty."
+msgstr "Es ist leer."
+
+msgid "It's impossible to aim without being focused!"
+msgstr "Das klappt nicht! Man kann nicht zielen, wenn mehr als ein Pokémon da ist."
+
+msgid "It's no good! It's impossible to aim when there are two Pokémon!"
+msgstr "Das klappt nicht! Man kann nicht zielen, wenn mehr als ein Pokémon da ist."
+
+msgid "It's not very effective..."
+msgstr "Das ist nicht sehr effektiv!"
+
+msgid "It's soft, earthy soil."
+msgstr "Der Lehmboden ist weich."
+
+msgid "It's soft, loamy soil.\nPlant a berry?"
+msgstr "Der Lehmboden ist weich.\nMöchtest du eine Beere pflanzen?"
+
+msgid "It's super effective!"
+msgstr "Das ist sehr effektiv!"
+
+msgid "It's too dangerous to fly to this location!"
+msgstr "Es ist zu gefährlich dorthin zu fliegen!"
+
+msgid "Item Storage"
+msgstr "Itemlager"
+
+msgid "Items aren't allowed in Tandor Championship battles."
+msgstr "Es ist nicht erlaubt, Items in Kämpfe in der Tandor Pokémon-Liga zu benutzen."
+
+msgid "Items aren't allowed in the Trial of Truth."
+msgstr "Es ist nicht erlaubt, Items in der Prüfung der Wahrheit zu benutzen."
+
+msgid "Items can't be used here."
+msgstr "Items können hier nicht benutzt werden."
+
+msgid "Its hyper mode attack hurt {1}!"
+msgstr "Sein Furyo-Modus verletzt {1}!"
+
+msgid "Jaboca Berries"
+msgstr "Jabocabeeren"
+
+msgid "January"
+msgstr "Januar"
+
+msgid "Jolly"
+msgstr "Froh"
+
+msgid "Judgment"
+msgstr "Bewertung"
+
+msgid "July"
+msgstr "Juli"
+
+msgid "Jump"
+msgstr "Springen"
+
+msgid "Jump to which Box?"
+msgstr "Zu welcher Box wechseln?"
+
+msgid "June"
+msgstr "Juni"
+
+msgid "Kasib Berries"
+msgstr "Zitarzbeeren"
+
+msgid "Kebia Berries"
+msgstr "Grarzbeeren"
+
+msgid "Kelpsy Berries"
+msgstr "Setangbeeren"
+
+msgid "Kept all cards of your color."
+msgstr "Alle Karten in deiner Farbe behalten."
+
+msgid "Key Items"
+msgstr "Basis-Items"
+
+msgid "Kimono Girl"
+msgstr "Kimono-Girl"
+
+msgid "L"
+msgstr "4x"
+
+msgid "LEARNED"
+msgstr "GELERNT"
+
+msgid "LIGHT Cup"
+msgstr "LEICHTER Cup"
+
+msgid "LITTLE Cup"
+msgstr "KLEINER Cup"
+
+msgid "Landed a Pokémon!"
+msgstr "Du hast ein Pokémon geangelt!"
+
+msgid "Language"
+msgstr "Sprache"
+
+msgid "Lansat Berries"
+msgstr "Lansatbeeren"
+
+msgid "Lass Abby"
+msgstr "Göre Abby"
+
+msgid "Latest Version = {1} \\wtnp[30]"
+msgstr "Neueste Version = {1} \\wtnp[30]"
+
+msgid "Lax"
+msgstr "Lasch"
+
+msgid "Lazy made {1} sleep!"
+msgstr "Faulheit lässt {1} einschlafen!"
+
+msgid "League Champion! Congratulations!"
+msgstr "Liga Champion! Herzlichen Glückwunsch!"
+
+msgid "League champion!\nCongratulations!\\^"
+msgstr "Liga-Meister!\nHerzlichen Glückwunsch!\\^"
+
+msgid "Left"
+msgstr "Links"
+
+msgid "Left: {1}"
+msgstr "Vorrat: {1}"
+
+msgid "Leppa Berries"
+msgstr "Janogabeeren"
+
+msgid "Let me register you."
+msgstr "Lass mich dich registrieren."
+
+msgid "Let me tell you a story.\nThere once was a girl who dreamed of being a star in the Opera. ...Oh? You have heard this before? Alas... I was looking forward to my monologue.\nNow, I recall... you are \\PN.\nOn ye of great destiny... have your dreams become reality?\nOr are they still dreams?\nCan you tell the difference?\nCome, let us captivate the audience with our spectacular act!"
+msgstr "Lass mich dir eine Geschichte erzählen.\nEs war einmal ein Mädchen, das träumte davon, ein Opernstar zu werden. ...Oh? Du hast das schon gehört? Schade... Ich hatte mich schon auf meinen Monolog gefreut.\nJetzt erinnere ich mich... Du bist \\PN.\n{Der|Die|Das Kind} von großem Schicksal... Sind deine Träume wahr geworden?\nOder sind es immer noch Träume?\nKennst du den Unterschied?\nKomm, lass uns das Publikum mit unserem spektakulären Auftritt fesseln!"
+
+msgid "Let's enjoy cycling!"
+msgstr "Lass uns Spaß beim Fahrrad fahren haben!"
+
+msgid "Let's go!"
+msgstr "Auf gehts!"
+
+msgid "Let's make this battle one to remember!"
+msgstr "Lasst diesen Kampf niemanden vergessen!"
+
+msgid "Let's see how you fare against this final dance move!"
+msgstr "Lass uns sehen, wie du gegen diese letzte Tanzbewegung bestehst!"
+
+msgid "Level number is not valid: {1}\n{2}"
+msgstr "Level number is not valid: {1}\n{2}"
+
+msgid "Liechi Berries"
+msgstr "Lydzibeeren"
+
+msgid "Light"
+msgstr "Licht"
+
+msgid "Light Screen raised the opposing team's Special Defense!"
+msgstr "Lichtschild stärkt gegnerische Pokémon gegen Spezial-Attacken!"
+
+msgid "Light Screen raised your team's Special Defense!"
+msgstr "Lichtschild stärkt Pokémon, die auf deiner Seite kämpfen, gegen Spezial-Attacken!"
+
+msgid "Light is filtering down from above. A Pokémon may be able to surface here."
+msgstr "Licht schimmert von oben herab. Ein Pokémon könnte hier an die Oberfläche gehen."
+
+msgid "Light is filtering down from above. Would you like to surface?"
+msgstr "Licht schimmert von oben herab. Möchtest du Taucher einsetzen?"
+
+msgid "Light to Heavy"
+msgstr "Leichtestes"
+
+msgid "Likes to fight."
+msgstr "Liebt Kämpfe."
+
+msgid "Likes to relax."
+msgstr "Mag es, zu entspannen."
+
+msgid "Likes to run."
+msgstr "Liebt es, zu rennen."
+
+msgid "Likes to thrash about."
+msgstr "Prügelt sich gerne."
+
+msgid "List by body color.\nSpotted Pokémon only."
+msgstr "Nach Körperform auflisten.\nNur gesehene Pokémon."
+
+msgid "List by the first letter in the name.\nSpotted Pokémon only."
+msgstr "Nach dem ersten Buchstaben des Namens auflisten.\nNur gesehene Pokémon."
+
+msgid "List by type.\nOwned Pokémon only."
+msgstr "Nach Typ auflisten.\nNur gefangene Pokémon."
+
+msgid "Log Off"
+msgstr "Abmelden"
+
+msgid "Log O̳f"
+msgstr "Au-S lO̳gen"
+
+msgid "Lonely"
+msgstr "Solo"
+
+msgid "Look like the innocent flower, but be the serpent under it."
+msgstr "Sehe wie eine unschuldige Blume aus, aber sei darunter eine Schlange."
+
+msgid "Lost Mega Ring."
+msgstr "Mega-Ring entfernt"
+
+msgid "Lost Pokédex."
+msgstr "Pokédex entfernt"
+
+msgid "Lost Pokégear."
+msgstr "PokéGear entfernt"
+
+msgid "Lost Running Shoes."
+msgstr "Schuhe entfernt"
+
+msgid "Loves to eat."
+msgstr "Liebt es, zu essen."
+
+msgid "Lower heart gauge"
+msgstr "Puls senken"
+
+msgid "Lucky Chant shielded the opposing team from critical hits!"
+msgstr "Beschwörung schützt das gegnerische Team vor Volltreffern!"
+
+msgid "Lucky Chant shielded your team from critical hits!"
+msgstr "Beschwörung schützt dein Team vor Volltreffern!"
+
+msgid "Lullaby"
+msgstr "Schlaflied"
+
+msgid "Lum Berries"
+msgstr "Prunusbeeren"
+
+msgid "M"
+msgstr "2x"
+
+msgid "MONEY:"
+msgstr "GELD:"
+
+msgid "MOVE"
+msgstr "BEWEGEN"
+
+msgid "MOVE ITEMS"
+msgstr "ITEMS BEWEGEN"
+
+msgid "MOVE POKéMON"
+msgstr "POKéMON BEWEGEN"
+
+msgid "Machine"
+msgstr "Metall"
+
+msgid "Magic Room wore off, and held items' effects returned to normal!"
+msgstr "Der Magieraum verpufft. Getragene Items erhalten ihre Wirkung zurück!"
+
+msgid "Magnificent! A flawless performance!"
+msgstr "Herrlich! Eine makellose Vorführung!"
+
+msgid "Magnitude {1}!"
+msgstr "Intensität {1}!"
+
+msgid "Mago Berries"
+msgstr "Magobeeren"
+
+msgid "Magost Berries"
+msgstr "Magostbeeren"
+
+msgid "Mail"
+msgstr "Briefe"
+
+msgid "Mail must be removed before holding an item."
+msgstr "Der Brief muss entfernt werden, um ein Item tragen zu können."
+
+msgid "Mail was taken from the Pokémon."
+msgstr "Der Brief wurde dem Pokémon abgenommen."
+
+msgid "Mail was transferred from the Mailbox."
+msgstr "Der Brief wurde von deinem PC heruntergeladen."
+
+msgid "Mailbox"
+msgstr "Briefbox"
+
+msgid "Main Save"
+msgstr "Haupt-Speicherstand"
+
+msgid "Main version is up-to-date however, there MAY be a new minor patch available.\\wtnp[30]"
+msgstr "Hauptversion ist aktuell, es könnte jedoch einen weiteren kleinen Patch geben.\\wtnp[30]"
+
+msgid "Main version is up-to-date however, there is a new minor patch available.\\wtnp[30]"
+msgstr "Hauptversion ist aktuell, aber es gibt einen weiteren kleinen Patch.\\wtnp[30]"
+
+msgid "Make MGift"
+msgstr "Erstelle Geschenke"
+
+msgid "Make Mystery Gift"
+msgstr "Wundergabe erstellen"
+
+msgid "Make Pokémon"
+msgstr "Zu Pokémon machen"
+
+msgid "Make Shadow"
+msgstr "Zu Schatten machen"
+
+msgid "Make egg"
+msgstr "Zu Ei machen"
+
+msgid "Make female"
+msgstr "Mache weiblich"
+
+msgid "Make male"
+msgstr "Mache männlich"
+
+msgid "Make normal"
+msgstr "Mache normal"
+
+msgid "Make not infectious"
+msgstr "Mache nicht ansteckend"
+
+msgid "Make player's"
+msgstr "Mache Spielerpokémon"
+
+msgid "Make rental"
+msgstr "Mache Leihpokémon"
+
+msgid "Make shiny"
+msgstr "Mache schillernd"
+
+msgid "Male"
+msgstr "Männlich"
+
+msgid "Male Shiny"
+msgstr "Männlich schillernd"
+
+msgid "Man, I lost!"
+msgstr "Mann, ich habe verloren!"
+
+msgid "Manage Mystery Gifts"
+msgstr "Geheimgeschenke managen"
+
+msgid "Map"
+msgstr "Karte"
+
+msgid "Map Connections"
+msgstr "Karten-Verbindungen"
+
+msgid "Map {1} was not found."
+msgstr "Karte {1} konnte nicht gefunden werden."
+
+msgid "Mar."
+msgstr "Mär."
+
+msgid "March"
+msgstr "März"
+
+msgid "Mark"
+msgstr "Markieren"
+
+msgid "Mark your Pokemon."
+msgstr "Markiere dein Pokémon."
+
+msgid "Masculine"
+msgstr "Männlich"
+
+msgid "Max. HP+{1}\nAttack+{2}\nDefense+{3}\nSp. Atk+{4}\nSp. Def+{5}\nSpeed+{6}"
+msgstr "Max. KP+{1}\nAngriff+{2}\nVerteidigung+{3}\nSp.- Ang.+{4}\nSp.-Vert.+{5}\nInitiative+{6}"
+
+msgid "Max. HP{1}\nAttack{2}\nDefense{3}\nSp. Atk{4}\nSp. Def{5}\nSpeed{6}"
+msgstr "Max. KP{1}\nAttack{2}\nVerteidigung{3}\nSp.- Ang.{4}\nSp.-Vert.{5}\nInitiative{6}"
+
+msgid "Maximum level must be 0 through 9."
+msgstr "Das höchste Level muss zwischen 9 liegen."
+
+msgid "Maximum level shouldn't be less than the minimum level."
+msgstr "Das höchste Level sollte nicht kleiner als das kleinste Level sein."
+
+msgid "May"
+msgstr "Mai"
+
+msgid "Medicine"
+msgstr "Medizin"
+
+msgid "Mega Ampharos"
+msgstr "Mega-Ampharos"
+
+msgid "Mega Arbok"
+msgstr "Mega-Arbok"
+
+msgid "Mega Archilles"
+msgstr "Mega-Brandillo"
+
+msgid "Mega Baariette"
+msgstr "Mega-Bäphomet"
+
+msgid "Mega Daikatuna"
+msgstr "Mega-Daikatuna"
+
+msgid "Mega Dramsama"
+msgstr "Mega-Dramsama"
+
+msgid "Mega Drilgann"
+msgstr "Mega-Borgann"
+
+msgid "Mega Electruxo"
+msgstr "Mega-Ampuxo"
+
+msgid "Mega Gengar"
+msgstr "Mega-Gengar"
+
+msgid "Mega Gyarados"
+msgstr "Mega-Garados"
+
+msgid "Mega Inflagetah"
+msgstr "Mega-Geperno"
+
+msgid "Mega Kiricorn"
+msgstr "Mega-Kirihorn"
+
+msgid "Mega Metalynx"
+msgstr "Mega-Metaluks"
+
+msgid "Mega Oblivicorn"
+msgstr "Mega-Fatalihorn"
+
+msgid "Mega S51-A T"
+msgstr "Mega-S51-A T"
+
+msgid "Mega Sableye"
+msgstr "Mega-Zobiris"
+
+msgid "Mega Syrentide"
+msgstr "Mega-Sajade"
+
+msgid "Mega Whimsicott"
+msgstr "Mega-Elfun"
+
+msgid "Mega {1}"
+msgstr "Mega-{1}"
+
+msgid "Micle Berries"
+msgstr "Wunfrubeeren"
+
+msgid "Mid"
+msgstr "Normal"
+
+msgid "Mind"
+msgstr "Verstand"
+
+msgid "Minimum level is greater than maximum level: {1}\n{2}"
+msgstr "Minimum level is greater than maximum level: {1}\n{2}"
+
+msgid "Minimum level must be 0 through 9."
+msgstr "Das niedrigste Level muss zwischen 9 liegen."
+
+msgid "Mischievous."
+msgstr "Hinterhältig."
+
+msgid "Mist swirled about the battlefield!"
+msgstr "Am Boden breitet sich dichter Nebel aus!"
+
+msgid "Modest"
+msgstr "Mäßig"
+
+msgid "Monday"
+msgstr "Montag"
+
+msgid "Money:\n{1}"
+msgstr "Geld:\n{1}"
+
+msgid "Money:\n${1}"
+msgstr "Geld:\n${1}"
+
+msgid "Money:\n{1}"
+msgstr "Geld:\n{1}"
+
+msgid "Most of it is illegible, I can only make out a few words."
+msgstr "Das meiste ist unleserlich. Ich kann nur ein paar Wörter entziffern."
+
+msgid "Most of the pages are missing. I can't make out anything."
+msgstr "Die meisten Seiten fehlen. Ich verstehe nichts."
+
+msgid "Move"
+msgstr "Tauschen"
+
+msgid "Move Pokémon"
+msgstr "Pokémon bewegen"
+
+msgid "Move Pokémon stored in Boxes to your party."
+msgstr "Nehme Pokémon, die in den Boxen abgelegt wurden, in deinem Team auf."
+
+msgid "Move Pokémon stored in boxes to your party."
+msgstr "Nehme Pokémon, die in den Boxen abgelegt wurden, in deinem Team auf."
+
+msgid "Move items held by any Pokémon in a Box and your party."
+msgstr "Bewege Items, die von irgendeinem Pokémon in einer Box oder in deinem Team gehalten wird."
+
+msgid "Move to Bag"
+msgstr "In die Tasche"
+
+msgid "Move to where?"
+msgstr "Mit wem tauschen?"
+
+msgid "Moves"
+msgstr "Attacken"
+
+msgid "Moves the main character. Also used to scroll through list entries."
+msgstr "Charakter bewegen und durch das Menü navigieren"
+
+msgid "Multiply"
+msgstr "Multiplizieren"
+
+msgid "Music Volume"
+msgstr "Musiklautstärke"
+
+msgid "My Pokémon have saved countless lives on the sea. We're ready for any challenge!"
+msgstr "Meine Pokémon haben auf dem Meer zahllose Leben gerettet. Wir sind bereit für jede Herausforderung!"
+
+msgid "My Pokémon's fiery dance moves will ignite the battlefield!"
+msgstr "Die feurigen Tanzbewegungen meiner Pokémon werden das Kampffeld in Flammen aufgehen lassen!"
+
+msgid "Mystery Gift"
+msgstr "Geheimgeschehen"
+
+msgid "NO"
+msgstr "NEIN"
+
+msgid "NOT ABLE"
+msgstr "NEIN"
+
+msgid "NOT ENTERED"
+msgstr "AUSGETRAGEN"
+
+msgid "NOW RECORDING\nPress ESC to stop recording."
+msgstr "NEHME AUF\nDrücke ESC um abzubrechen."
+
+msgid "Naive"
+msgstr "Naiv"
+
+msgid "Nanab Berries"
+msgstr "Nanabbeeren"
+
+msgid "National Pokédex"
+msgstr "Nationaler Pokédex"
+
+msgid "Nature"
+msgstr "Wesen"
+
+msgid "Nature {1} is being forced."
+msgstr "Wesen {1} ist erzwungen"
+
+msgid "Nature {1} is natural."
+msgstr "Wesen {1} ist natürlich"
+
+msgid "Naughty"
+msgstr "Frech"
+
+msgid "New Game"
+msgstr "Neues Spiel"
+
+msgid "Newer"
+msgstr "Neuer"
+
+msgid "Nickname"
+msgstr "Spitzname"
+
+msgid "No"
+msgstr "Nein"
+
+msgid "No Data in PokeData.txt"
+msgstr "Keine Daten in PokeData.txt"
+
+msgid "No Entry"
+msgstr "Austragen"
+
+msgid "No Pokemon was found."
+msgstr "Es konnten keine Pokémon gefunden werden."
+
+msgid "No Pokémon are in the Day Care."
+msgstr "Es sind keine Pokémon in der Pension"
+
+msgid "No ability"
+msgstr "Keine Fähigkeit"
+
+msgid "No encounters for map {1}, so can't judge contest"
+msgstr "Keine Begegnungen für die Karte {1}. Der Wettbewerb kann nicht beurteilt werden."
+
+msgid "No identical hold items."
+msgstr "Keine identische getragene Items."
+
+msgid "No identical nicknames."
+msgstr "Keine identischen Spitznamen."
+
+msgid "No item"
+msgstr "Kein Item"
+
+msgid "No items may be used other than what the Pokémon already hold."
+msgstr "Ihr könnt keine Items einsetzen, außer die, die euer Pokémon bereits trägt."
+
+msgid "No matching Pokémon were found."
+msgstr "Keine passenden Pokémon gefunden."
+
+msgid "No more than {1} Pokémon may enter."
+msgstr "Es können nicht mehr als {1} Pokémon teilnehmen."
+
+msgid "No new gifts are available."
+msgstr "Es sind keine neuen Geschenke verfügbar."
+
+msgid "No online Mystery Gifts found.\\wtnp[20]"
+msgstr "Keine Online-Geheimgeschehen gefunden.\\wtnp[20]"
+
+msgid "No options have been disabled."
+msgstr "Es wurden keine Optionen deaktiviert."
+
+msgid "No roaming Pokémon defined."
+msgstr "Keine wandernden Pokémon definiert"
+
+msgid "No room to deposit a Pokémon"
+msgstr "Kein Platz, um ein Pokémon zu verstauen"
+
+msgid "No starting position was set in the map editor."
+msgstr "Es wurde im Karteneditor kein Startpunkt gesetzt."
+
+msgid "No supported recording device was found. Recording is not possible."
+msgstr "No supported recording device was found. Recording is not possible."
+
+msgid "No surfing here!"
+msgstr "Surfen ist hier nicht erlaubt!"
+
+msgid "No targets somehow..."
+msgstr "Keine Ziele..."
+
+msgid "No trainer data file given in section {1}\n{2}"
+msgstr "No trainer data file given in section {1}\n{2}"
+
+msgid "No! There's no running from a Nuclear Horde!"
+msgstr "Du kannst nicht von einer Nuklearherde nicht fliehen!"
+
+msgid "No! There's no running from a Trainer battle!"
+msgstr "Du kannst aus Trainer-Kämpfen nicht fliehen!"
+
+msgid "No. ???"
+msgstr "Nr. ???"
+
+msgid "No. {1:03d}"
+msgstr "Nr. {1:03d}"
+
+msgid "Nomel Berries"
+msgstr "Tronzibeeren"
+
+msgid "None"
+msgstr "Nicht gesetzt"
+
+msgid "Nope. Nothing..."
+msgstr "Nein. Nichts..."
+
+msgid "Normal Save"
+msgstr "Speicherpunkt"
+
+msgid "North side of first map must connect with south side of second map\n{1}"
+msgstr "North side of first map must connect with south side of second map\n{1}"
+
+msgid "Not a Shadow Pokémon."
+msgstr "Kein Schattenpokémon"
+
+msgid "Not an egg"
+msgstr "Kein Ei"
+
+msgid "Not enough HP..."
+msgstr "Nicht genug KP..."
+
+msgid "Not even a nibble..."
+msgstr "Da beißt nichts an..."
+
+msgid "Not... strong enough..."
+msgstr "Nicht... stark genug..."
+
+msgid "Note: The number of storage spaces ({1} boxes of 30) is less than the number of species."
+msgstr "Notiz: Die Anzahl der Lagerplätze ({1} Boxen von 30) ist kleiner als die Anzahl der Arten."
+
+msgid "Note: You will NOT be able to change these later!"
+msgstr "Hinweis: Du wirst NICHT in der Lage sein diese später zu ändern!"
+
+msgid "Nuclear"
+msgstr "Nuklear"
+
+msgid "Number"
+msgstr "Numerisch"
+
+msgid "Number of rounds is 0 or less."
+msgstr "Anzahl von Runden ist 0 oder weniger."
+
+msgid "OBTAINED{1:d}"
+msgstr "Gefangen{1:d}"
+
+msgid "OFF"
+msgstr "AUS"
+
+msgid "ON"
+msgstr "AN"
+
+msgid "OPTIONS"
+msgstr "EINSTELLUNGEN"
+
+msgid "OTHERS"
+msgstr "ANDERE"
+
+msgid "Oak"
+msgstr "Eich"
+
+msgid "Occa Berries"
+msgstr "Koakobeeren"
+
+msgid "Oct."
+msgstr "Okt."
+
+msgid "October"
+msgstr "Oktober"
+
+msgid "Of the 32 trainers that entered the arena today, only 8 remain!"
+msgstr "Von den angetretenen 32 Trainern sind nur noch 8 übrig!"
+
+msgid "Off"
+msgstr "Aus"
+
+msgid "Often dozes off."
+msgstr "Nickt oft ein."
+
+msgid "Often lost in thought."
+msgstr "Ist oft in Gedanken."
+
+msgid "Often scatters things."
+msgstr "Schläft gerne."
+
+msgid "Oh no! The Pokémon broke free!"
+msgstr "Mist! Das Pokémon hat sich befreit!"
+
+msgid "Oh!\nA Shadow Pokemon!"
+msgstr "Oh!\nEin Crypto-Pokémon!"
+
+msgid "Oh! A bite!"
+msgstr "Oh! Es hat etwas angebissen!"
+
+msgid "Oh! \\PN, it is good to see you again.\nI'll never forget how you rescued me from the clutches of the Seikamater.\nIn my Gym, you dazzled us with your flawless coordinated moves.\nI can see you have gotten far stronger. But so have we!\nCan you keep up with our fast footwork?\nLet our beautiful dance moves set this arena aflame!"
+msgstr "Oh! \\PN, schön dich wieder zu sehen.\nIch werde nie vergessen, wie du mich aus den Klauen des Seikamaters gerettet hast.\nIn meiner Arena hast du uns mit deinen makellos koordinierten Attacken verblüfft.\nIch kann sehen, dass du viel stärker geworden bist. Aber so auch wir!\nKannst du mit unseren schnellen Schritten mithalten?\nLass uns die Arena mit unseren schönen Tanzschritten in Flammen aufgehen lassen!"
+
+msgid "Oh, marvelous! And in such good condition too."
+msgstr "Oh, großartig! Und dazu noch in einem guten Zustand."
+
+msgid "Oh, your {1}... It's Hidden Power is {2} type with a base power of {3}."
+msgstr "Oh, dein {1}... Seine Kraftreserve ist vom Typ {2}!"
+
+msgid "Oh... my... GOSH!!\nCan it be? Is it \\PN?\nI totally remember you!\nIt feels like forever ago that you challenged my gym.\nYou know, I totally went easy on you back then, right?~\nBut here in the arena, I won't hold back at all!\nI didn't win the Championship one time by slacking off, ya know?"
+msgstr "Oh...mein...GOTT!!\nKann es sein? Ist es \\PN?\nIch erinnere mich an dich!\nSeit du meine Arena herausgefordert hattest ist es eine gefühlte Ewigkeit her.\nDu weißt, dass ich damals Rücksicht auf dich genommen habe, oder?~\nAber hier in der Arena, werde ich mich nicht zurückhalten!\nIch habe die Liga nicht durchs Nichtstun gewonnen, weißt du?"
+
+msgid "Old School Poison"
+msgstr "Traditionelle Vergiftung"
+
+msgid "Omigosh! You're totally incredible!~"
+msgstr "Oh mein Gott! Du bist unglaublich!~"
+
+msgid "On"
+msgstr "An"
+
+msgid "Once again...\nI am shown defeat.\nHow can I cope with such disgrace?\nTo my home village, I return once again."
+msgstr "Und wieder...\nwurde ich besiegt.\nWie kann ich solch eine Schande verkraften?\nIch werde zu meinem Heimatdorf zurückkehren."
+
+msgid "One or more fonts used in this game do not exist on the system."
+msgstr "Eine oder mehrere Schriftarten, die dieses Spiel verwendet existiert auf dem System nicht."
+
+msgid "One {1} was found, but you have no room for it."
+msgstr "Ein {1} gefunden, aber du hast keinen Platz dafür."
+
+msgid "One {1} was obtained.\\se[itemlevel]\\wtnp[30]"
+msgstr "Ein {1} erhalten.\\se[itemlevel]\\wtnp[30]"
+
+msgid "Online ID set to {1}."
+msgstr "Online-ID geändert in {1}."
+
+msgid "Online Mystery Gifts found.\\wtnp[20]"
+msgstr "Online-Geheimgeschehen gefunden.\\wtnp[20]"
+
+msgid "Only a Shadow Pokémon can go there."
+msgstr "Nur Crypto-Pokémon können hier abgelegt werden."
+
+msgid "Only four trainers remain in the arena. They are Tandor's best and brightest!"
+msgstr "Es sind nur noch vier Teilnehmer übrig. Sie sind Tandors beste und aufgeweckteste Trainer!"
+
+msgid "Only one or two wild Pokémon are allowed"
+msgstr "Nur ein oder zwei wilde Pokémon sind erlaubt."
+
+msgid "Only one wild Pokémon is allowed in single battles"
+msgstr "Nur ein wildes Pokémon ist in einem Einzelkampf erlaubt."
+
+msgid "Only two wild Pokémon are allowed in double battles"
+msgstr "Nur zwei wilde Pokémon sind in Doppelkämpfen erlaubt."
+
+msgid "Ooh, I'm so excited!"
+msgstr "Ooh, ich bin so aufgeregt!"
+
+msgid "Opponent 1 doesn't have any eligible pokemon for a sky battle"
+msgstr "Gegner 1 hat kein geeignetes Pokémon für den Himmelskampf"
+
+msgid "Opponent 1 has no unfainted Pokémon"
+msgstr "Gegner 1 hat keine unbesiegten Pokémon"
+
+msgid "Opponent 1's party has more than three Pokémon, which is not allowed"
+msgstr "Das Team des Gegners 1 hat mehr als drei Pokémon, was nicht erlaubt ist."
+
+msgid "Opponent 2 doesn't have any eligible pokemon for a sky battle"
+msgstr "Gegner 2 hat kein geeignetes Pokémon für den Himmelskampf"
+
+msgid "Opponent 2 has no unfainted Pokémon"
+msgstr "Gegner 2 hat keine unbesiegten Pokémon"
+
+msgid "Opponent 2's party has more than three Pokémon, which is not allowed"
+msgstr "Das Team des Gegners 2 hat mehr als drei Pokémon, was nicht erlaubt ist."
+
+msgid "Opponent doesn't have two unfainted Pokémon"
+msgstr "Gegner hat keine zwei unbesiegten Pokémon"
+
+msgid "Opponent has an illegal card, \"{1}\"."
+msgstr "Der Gegner hat eine illegale Karte, \"{1}\"."
+
+msgid "Opponent trainer must be only one person in single battles"
+msgstr "Es kann nur ein Gegner an einem Einzelkampf teilnehmen"
+
+msgid "Opponent won all your cards."
+msgstr "Der Gegner hat all deine Karten gewonnen."
+
+msgid "Opponent won your {1} card."
+msgstr "Gegner hat deine Karte {1} gewonnen."
+
+msgid "Opponents with zero or more than two people are not allowed"
+msgstr "Gegner mit keine oder mehr als zwei Personen sind nicht erlaubt."
+
+msgid "Options"
+msgstr "Einstellungen"
+
+msgid "Or maybe it's just that you're so young, I can't tell.\\^"
+msgstr "Oder vielleicht bist du lediglich jung, ich kann es nicht sagen.\\^"
+
+msgid "Oran Berries"
+msgstr "Sinelbeeren"
+
+msgid "Orchynx is the best pick!\\wtnp[160]"
+msgstr "...ist Orchiluks die beste Wahl!\\wtnp[160]"
+
+msgid "Organize the Pokémon in Boxes and in your party."
+msgstr "Organisiere die Pokémon, die in den Boxen und in deinem Team sind."
+
+msgid "Other Save Files"
+msgstr "Andere Spielstände"
+
+msgid "Our sophisticated strategy will overcome trainers of a lower class."
+msgstr "Unsere hochentwickelte Strategie wird Trainer aus der Unterschicht überwinden."
+
+msgid "Owned Pokémon are listed from heaviest to lightest."
+msgstr "Gefangene Pokémon werden vom Schwersten bis zum Leichtesten aufgelistet."
+
+msgid "Owned Pokémon are listed from lightest to heaviest."
+msgstr "Gefangene Pokémon werden vom Leichtesten bis zum Schwersten aufgelistet."
+
+msgid "Owned Pokémon are listed from smallest to tallest."
+msgstr "Gefangene Pokémon werden vom Kleinsten bis zum Größten aufgelistet."
+
+msgid "Owned Pokémon are listed from tallest to smallest."
+msgstr "Gefangene Pokémon werden vom Größten bis zum Kleinsten aufgelistet."
+
+msgid "Ownership"
+msgstr "Besitz"
+
+msgid "PA: Ding-dong!"
+msgstr "PA: Ding-dong!"
+
+msgid "PA: You have no Safari Balls left! Game over!"
+msgstr "Du hast keine Safaribälle mehr übrig!"
+
+msgid "PA: Your safari game is over!"
+msgstr "PA: Deine Safari ist vorbei!"
+
+msgid "PKMN FOR SWAP"
+msgstr "PKMN FÜR TAUSCH"
+
+msgid "PLACE"
+msgstr "ABLEGEN"
+
+msgid "PLAYING BACK..."
+msgstr "SPULE ZURÜCK..."
+
+msgid "POKeDEX:"
+msgstr "POKÉDEX:"
+
+msgid "POKéMON SWAP"
+msgstr "POKéMON TAUSCH"
+
+msgid "POWER"
+msgstr "STÄRKE"
+
+msgid "PP"
+msgstr "AP"
+
+msgid "PP was restored."
+msgstr "AP wurden aufgefüllt."
+
+msgid "PP: {1}/{2}"
+msgstr "AP: {1}/{2}"
+
+msgid "PRECISE ATTACK"
+msgstr "GENAUE ATTACKE"
+
+msgid "PU-Intro1"
+msgstr "../Translations/German/PU-Intro1_de"
+
+msgid "Page Down"
+msgstr "Bild ab"
+
+msgid "Page Up"
+msgstr "Bild auf"
+
+msgid "Pamtre Berries"
+msgstr "Pallmbeeren"
+
+msgid "Party 1 has more than {1} Pokémon."
+msgstr "Team 1 hat mehr als {1} Pokémon."
+
+msgid "Party 1 has no Pokémon."
+msgstr "Team 1 hat keine Pokémon."
+
+msgid "Party 2 has more than {1} Pokémon."
+msgstr "Team 2 hat mehr als {1} Pokémon."
+
+msgid "Party 2 has no Pokémon."
+msgstr "Team 2 hat keine Pokémon."
+
+msgid "Party is empty, can't desposit Pokémon."
+msgstr "Team ist leer, kann Pokémon nicht hinterlegen"
+
+msgid "Party is full, can't collect the egg."
+msgstr "Team ist voll, kann Ei nicht einsammeln"
+
+msgid "Party is full, can't withdraw Pokémon."
+msgstr "Team ist voll, kann Pokémon nicht zurücknehmen"
+
+msgid "Passho Berries"
+msgstr "Foepasbeeren"
+
+msgid "Patience and endurance are your biggest assets.\\^"
+msgstr "Geduld und Ausdauer sind deine größten Stärken.\\^"
+
+msgid "Payapa Berries"
+msgstr "Payapabeeren"
+
+msgid "Pecha Berries"
+msgstr "Pirsifbeeren"
+
+msgid "Performance Mode"
+msgstr "Performance Modus"
+
+msgid "Permanently disable the options you unchecked."
+msgstr "Deaktiviere permanent die Optionen, die du abgewählt hast."
+
+msgid "Persim Berries"
+msgstr "Persimbeeren"
+
+msgid "Personal ID is {1}.\nOIVs are {2}"
+msgstr "Persönliche ID: {1}.\nOIVs sind {2}"
+
+msgid "Petaya Berries"
+msgstr "Tahaybeeren"
+
+msgid "Phew! That was fun!"
+msgstr "Puh! Das hat Spaß gemacht!"
+
+msgid "Phone"
+msgstr "Telefon"
+
+msgid "Pick the wallpaper."
+msgstr "Wähle ein Hintergrundmotiv."
+
+msgid "Picnicker Cindy"
+msgstr "Pfadfinderin Cindy"
+
+msgid "Pinap Berries"
+msgstr "Sananabeeren"
+
+msgid "Place"
+msgstr "Absetzen"
+
+msgid "Place the card."
+msgstr "Lege die Karte hin."
+
+msgid "Plant Berry"
+msgstr "Beere pflanzen"
+
+msgid "Play Credits"
+msgstr "Credits abspielen"
+
+msgid "Play Voltorb Flip Lv. {1}?"
+msgstr "Voltofalle Lv. {1} spielen?"
+
+msgid "Play the game in {1}?"
+msgstr "Das Spiel in {1} spielen?"
+
+msgid "Play the game in..."
+msgstr "Spiel das Spiel in..."
+
+msgid "Play the game with a custom ruleset for increased difficulty.\nNot recommended for new players."
+msgstr "Spiele das Spiel mit eigenen Regeln für eine größere Herausforderung.\nNicht empfohlen für neue Spieler."
+
+msgid "Player 1 has no unfainted Pokémon"
+msgstr "Spieler 1 hat keine unbesiegten Pokémon"
+
+msgid "Player 2 has no unfainted Pokémon"
+msgstr "Spieler 2 hat keine unbesiegten Pokémon"
+
+msgid "Player doesn't have two unfainted Pokémon"
+msgstr "Spieler hat keine zwei unbesiegten Pokémon"
+
+msgid "Player has no unfainted Pokémon"
+msgstr "Spieler hat keine unbesiegten Pokémon"
+
+msgid "Player trainer must be only one person in single battles"
+msgstr "Es kann nur ein Spieler an einem Einzelkampf teilnehmen"
+
+msgid "Player trainers with zero or more than two people are not allowed"
+msgstr "Spieler mit keine oder mehr als zwei Personen sind nicht erlaubt."
+
+msgid "Player's Pokémon\n{1}\n{2}\n{3} ({4})"
+msgstr "Spieler Pokémon\n{1}\n{2}\n{3} ({4})"
+
+msgid "Player's outfit was changed."
+msgstr "Spieleroutfit wurde geändert."
+
+msgid "Player{2}
"
+msgstr "Spieler{2}
"
+
+msgid "Please choose the new settings for your Nuzlocke game."
+msgstr "Bitte wähle neue Einstellungen für dein Nuzlocke-Spiel."
+
+msgid "Please come again!"
+msgstr "Bitte komm bald wieder!"
+
+msgid "Please enter a message (max. 256 characters)."
+msgstr "Gib eine Nachricht ein (max. 256 Charakter(e))."
+
+msgid "Please enter a message (max. {1} characters)."
+msgstr "Gib eine Nachricht ein (max. {1} Charakter(e))."
+
+msgid "Please enter the first Pokémon."
+msgstr "Bitte trage das erste Pokémon ein."
+
+msgid "Please enter the search criteria."
+msgstr "Gebe ein Suchkriterium ein."
+
+msgid "Please pick up your gift from the deliveryman in any Poké Mart."
+msgstr "Bitte hole dein Geschenk vom Boten in irgendeinem Pokémon-Markt ab."
+
+msgid "Please remove the Mail."
+msgstr "Brief bitte entfernen."
+
+msgid "Please remove the mail."
+msgstr "Brief bitte entfernen."
+
+msgid "Please, run the patcher.exe on your game folder."
+msgstr "Bitte führe patcher.exe in deinem Spielordner aus."
+
+msgid "Pointed stones dug into {1}!"
+msgstr "{1} wird von spitzen Steinen getroffen!"
+
+msgid "Pointed stones float in the air around your foe's team!"
+msgstr "Um die Pokémon auf gegnerischer Seite schweben spitze Steine!"
+
+msgid "Pointed stones float in the air around your team!"
+msgstr "Um die Pokémon auf deiner Seite schweben spitze Steine!"
+
+msgid "Poison"
+msgstr "Gift"
+
+msgid "Poison spikes were scattered all around the opposing team's feet!"
+msgstr "Die Pokémon auf gegnerischer Seite sind überall von giftigen Stacheln umgeben!"
+
+msgid "Poison spikes were scattered all around your team's feet!"
+msgstr "Die Pokémon auf deiner Seite sind überall von giftigen Stacheln umgeben!"
+
+msgid "PokeData.txt not found."
+msgstr "PokeData.txt nicht gefunden"
+
+msgid "Pokedex/dex_discover"
+msgstr "../Translations/German/dex_discover_de"
+
+msgid "Pokedex/searchdex"
+msgstr "../Translations/German/searchdex_de"
+
+msgid "Pokedex/selectdex"
+msgstr "../Translations/German/selectdex_de"
+
+msgid "Pokemon"
+msgstr "Pokémon"
+
+msgid "Pokemon Box data is corrupt and can not be automatically recovered."
+msgstr "Daten des Pokémon Box waren beschädigt und konnten nicht automatisch wiederhergestellt werden."
+
+msgid "Pokemon Box data was corrupt and has been automatically recovered."
+msgstr "Daten des Pokémon Box waren beschädigt und wurden automatisch wiederhergestellt."
+
+msgid "Pokemon data imported."
+msgstr "Pokémon-Daten importiert"
+
+msgid "Poké Ball"
+msgstr "Pokéball"
+
+msgid "Poké Balls"
+msgstr "Pokébälle"
+
+msgid "Poké Center"
+msgstr "Poké-Center"
+
+msgid "Poké Marts are disabled by your custom game settings!"
+msgstr "Pokémon-Märkte sind in deinen benutzerdefinierten Einstellungen deaktiviert!"
+
+msgid "Pokédex registration completed."
+msgstr "NEU"
+
+msgid "Pokémon already has mail"
+msgstr "Pokémon trägt schon einen Brief"
+
+msgid "Pokémon are listed according to their number."
+msgstr "Pokémon werden nach ihrer Nummer aufgelistet."
+
+msgid "Pokémon can be killed by poison outside of battle as in the first three gens."
+msgstr "Pokémon können außerhalb eines Kampfes durch Gift sterben."
+
+msgid "Pokémon can't be the same."
+msgstr "Es können nicht die gleichen Pokémon sein."
+
+msgid "Pokémon have roamed."
+msgstr "Pokémon sind gewandert"
+
+msgid "Pokémon of a species you already caught don't count as an encounter if you run."
+msgstr "Bereits gefangene Pokémon zählen nicht als Begegnung, wenn du davonläufst."
+
+msgid "Pomeg Berries"
+msgstr "Granabeeren"
+
+msgid "Poof!"
+msgstr "Schwupp!"
+
+msgid "Position {1},{2} is empty..."
+msgstr "Position {1},{2} ist leer..."
+
+msgid "Position {1},{2} is not empty..."
+msgstr "Position {1},{2} ist nicht leer..."
+
+msgid "Preparing to generate teams"
+msgstr "Bereite die Erstellung der Teams vor"
+
+msgid "Press a new key."
+msgstr "Drücke eine Taste.."
+
+msgid "Press to use a registered Key Item."
+msgstr "Registriertes Basis-Item verwenden"
+
+msgid "Prevents Pokémarts from being used."
+msgstr "Verhindert die Nutzung von Pokémon-Märkten."
+
+msgid "Prevents the player from using healing items in battle."
+msgstr "Hält den Spieler davon ab, im Kampf heilende Items zu benutzen."
+
+msgid "Print"
+msgstr "Drucken"
+
+msgid "Print Screen"
+msgstr "Drucken"
+
+msgid "Proceed anyway?"
+msgstr "Trotzdem fortfahren?"
+
+msgid "Processing common events"
+msgstr "Verarbeite häufige Ereignisse"
+
+msgid "Processing map {1} ({2})"
+msgstr "Verarbeite Karte {1} ({2})"
+
+msgid "Processing moves {1}..."
+msgstr "Verarbeite Attacken {1}..."
+
+msgid "Professor Bamb'o"
+msgstr "Professor Bamb'u"
+
+msgid "Prog--- is ---- --- -- --dename 092. --- ----- --- from radiation-----s biofiber. It ---- -- ---- to reconstru-- --- -- damage-"
+msgstr "--- -rbei--- -- --dename 092 schr----- --- -ora-. --- ----- ------- aus strahlen-------läss---- Biofasern. --- --ne- Beschädigung ---- --- si-- -elbs- wiederhers------."
+
+msgid "Pronouns"
+msgstr "Geschlecht"
+
+msgid "Proud of its power."
+msgstr "Stolz auf seine Stärke."
+
+msgid "Psychic"
+msgstr "Psycho"
+
+msgid "Purify Chamber"
+msgstr "Cryptorbis"
+
+msgid "Purple"
+msgstr "Violet"
+
+msgid "Qualot Berries"
+msgstr "Qualotbeeren"
+
+msgid "Quick Guard protected your team!"
+msgstr "Die Pokémon auf deiner Seite werden von Rapidschutz behütet!"
+
+msgid "Quick Guard protected {1}!"
+msgstr "{1} wird durch Rapidschutz geschützt!"
+
+msgid "Quick Hatch"
+msgstr "Schnell schlüpfen"
+
+msgid "Quick tempered."
+msgstr "Impulsiv."
+
+msgid "Quick to flee."
+msgstr "Flüchtet schnell."
+
+msgid "Quiet"
+msgstr "Ruhig"
+
+msgid "Quirky"
+msgstr "Kauzig"
+
+msgid "Quit"
+msgstr "Beenden"
+
+msgid "Quit shopping."
+msgstr "Aufhören einzukaufen."
+
+msgid "Quit swapping?"
+msgstr "Tauschen beenden?"
+
+msgid "R/S"
+msgstr "Ru/Sa"
+
+msgid "RECHOOSE"
+msgstr "NOCHMAL WÄHLEN"
+
+msgid "REFEREE: Judging category 1, Mind!\nThe Pokemon showing the most guts!\\wtnp[40]"
+msgstr "REFEREE: 1.Kategorie: Verstand!\nDas mutigste Pokémon wird gekürt!\\wtnp[40]"
+
+msgid "REFEREE: Judging category 2, Skill!\nThe Pokemon using moves the best!\\wtnp[40]"
+msgstr "REFEREE: 2. Kategorie, Geschick!\nBester Attackeneinsatz wird gekürt!\\wtnp[40]"
+
+msgid "REFEREE: Judging category 3, Body!\nThe Pokemon with the most vitality!\\wtnp[40]"
+msgstr "REFEREE: 3. Kategorie, Körper!\nDas vitalste Pokémon wird gekürt!\\wtnp[40]"
+
+msgid "REFEREE: Judgment: {1} to {2}!\nThe winner is {3}!\\wtnp[40]"
+msgstr "REFEREE: Bewertung: {1} to {2}!\nSieger ist {3}!\\wtnp[40]"
+
+msgid "REFEREE: Judgment: {1} to {2}!\nThe winner is {3}'s {4}!\\wtnp[40]"
+msgstr "REFEREE: Bewertung: {1} zu {2}!\nSieger ist: {4} von {3}!\\wtnp[40]"
+
+msgid "REFEREE: Judgment: {1} to {2}!\nWe have a draw!\\wtnp[40]"
+msgstr "REFEREE: Bewertung: {1} zu {2}!\nWir haben ein Unentschieden!\\wtnp[40]"
+
+msgid "REFEREE: That's it! We will now go to judging to determine the winner!\\wtnp[20]"
+msgstr "REFEREE: Ok! Die Bewertung wird den Sieger bestimmen!\\wtnp[20]"
+
+msgid "REFEREE: {1} VS {2}!\nCommence battling!\\wtnp[20]"
+msgstr "REFEREE: {1} VS {2}!\nMöge der Bessere gewinnen!\\wtnp[20]"
+
+msgid "RENT"
+msgstr "LEIHEN"
+
+msgid "RENTAL"
+msgstr "GEMIETET"
+
+msgid "RENTAL POKéMON"
+msgstr "LEIH-POKéMON"
+
+msgid "REPLACE"
+msgstr "ERSETZEN"
+
+msgid "RESULTS{1:d}"
+msgstr "Ergebnisse{1:d}"
+
+msgid "ROTATE"
+msgstr "DREHEN"
+
+msgid "Rabuta Berries"
+msgstr "Rabutabeeren"
+
+msgid "Rain continues to fall."
+msgstr "Es regnet weiter!"
+
+msgid "Raises trainer's Pokémon levels while keeping the same EXP yields."
+msgstr "Erhöht Level von gegnerischen Pokémon, bei gleichen Erfahrungspunkte."
+
+msgid "Random foreign ID"
+msgstr "Zufällige Fremden-ID"
+
+msgid "Randomise Player's ID"
+msgstr "Zufällige Spieler-ID"
+
+msgid "Randomise all"
+msgstr "Alle zufällig"
+
+msgid "Randomise pID"
+msgstr "Generiere zufällige pID"
+
+msgid "Randomizer"
+msgstr "Zufallsgenerator"
+
+msgid "Raptorch is the best pick!\\wtnp[160]"
+msgstr "...ist Glutino die beste Wahl!\\wtnp[160]"
+
+msgid "Rash"
+msgstr "Hitzig"
+
+msgid "Rawst Berries"
+msgstr "Fragiabeeren"
+
+msgid "Razz Berries"
+msgstr "Himmihbeeren"
+
+msgid "Reached end of file unexpectedly. There were too few entries in the last section, expected {1} entries.\nPlease check the format of the section numbered {2}.\n{3}"
+msgstr "Reached end of file unexpectedly. There were too few entries in the last section, expected {1} entries.\nPlease check the format of the section numbered {2}.\n{3}"
+
+msgid "Read"
+msgstr "Lesen"
+
+msgid "Ready Phone Rematches"
+msgstr "Phone-Matches bereitmachen"
+
+msgid "Receive"
+msgstr "Erhalten"
+
+msgid "Received the {1} from {2}."
+msgstr "{1} von {2} erhalten."
+
+msgid "Recording in {1:d} second(s)...\nPress ESC to cancel."
+msgstr "Nehme auf in {1:d} Sekunde(n)...\nDrücke ESC um abzubrechen."
+
+msgid "Red"
+msgstr "Rot"
+
+msgid "Reflect raised the opposing team's Defense!"
+msgstr "Reflektor stärkt gegnerische Pokémon gegen physische Attacken!"
+
+msgid "Reflect raised your team's Defense!"
+msgstr "Reflektor stärkt Pokémon auf deiner Seite gegen physische Attacken!"
+
+msgid "Refresh Map"
+msgstr "Map neu laden"
+
+msgid "Regardless...\\. For a Trainer like you...\\^"
+msgstr "Jedenfalls...\\. Für einen Trainer wie dich...\\^"
+
+msgid "Register"
+msgstr "Wählen"
+
+msgid "Registered {1} in the Poképod."
+msgstr "{1} wurde im Poképod registriert."
+
+msgid "Registered
"
+msgstr "Registriert
"
+
+msgid "Regular Mode"
+msgstr "Normaler Modus"
+
+msgid "Relaxed"
+msgstr "Locker"
+
+msgid "Release"
+msgstr "Entlassen"
+
+msgid "Release All"
+msgstr "Alle freilassen"
+
+msgid "Release this Pokémon?"
+msgstr "Dieses Pokémon freilassen?"
+
+msgid "Relic Stone"
+msgstr "Reliktstein"
+
+msgid "Remap controls to any other keys."
+msgstr "Ändere die Tastenbelegung."
+
+msgid "Remember Save"
+msgstr "Spielstand merken"
+
+msgid "Remove Dependent Events"
+msgstr "Abhängige Events entfernen"
+
+msgid "Remove override"
+msgstr "Entferne Überschreibung"
+
+msgid "Removes some details to improve performance, specially in battle."
+msgstr "Entferne einige Details um die Leistung, insbesondere die im Kampf, zu steigern."
+
+msgid "Rename"
+msgstr "Umbenennen"
+
+msgid "Rename Player"
+msgstr "Spieler umbenennen"
+
+msgid "Repel isn't working in this location!"
+msgstr "Schutz wirkt hier nicht!"
+
+msgid "Repel's effect wore off..."
+msgstr "Schutz wirkt nicht mehr..."
+
+msgid "Report #01"
+msgstr "Bericht #01"
+
+msgid "Report #01:"
+msgstr "Bericht Nr.1:"
+
+msgid "Report #02"
+msgstr "Bericht #02"
+
+msgid "Report #02:"
+msgstr "Bericht Nr.2:"
+
+msgid "Report #03"
+msgstr "Bericht #03"
+
+msgid "Report #03:"
+msgstr "Bericht Nr.3:"
+
+msgid "Report #04"
+msgstr "Bericht #04"
+
+msgid "Report #04:"
+msgstr "Bericht Nr.4:"
+
+msgid "Report #05"
+msgstr "Bericht #05"
+
+msgid "Report #05:"
+msgstr "Bericht Nr.5:"
+
+msgid "Required value '{1}' not given in section '{2}'\n{3}"
+msgstr "Required value '{1}' not given in section '{2}'\n{3}"
+
+msgid "Reset Trainers"
+msgstr "Trainer zurücksetzen"
+
+msgid "Reset movelist"
+msgstr "Attacken zurücksetzen"
+
+msgid "Restore which move?"
+msgstr "Welche Attacke auffüllen?"
+
+msgid "Return To Game"
+msgstr "Fortfahren"
+
+msgid "Return To Menu"
+msgstr "Zurück zum Hauptmenü"
+
+msgid "Return to game mode selection menu?"
+msgstr "Zurück zum Auswahlmenü der Spielmodi?"
+
+msgid "Return to previous menu."
+msgstr "Speichere die Einstellungen und kehre zum vorherigen Menü zurück."
+
+msgid "Return to the previous menu."
+msgstr "Kehre zum vorherigen Menü zurück."
+
+msgid "Ribbons"
+msgstr "Bänder"
+
+msgid "Right"
+msgstr "Rechts"
+
+msgid "Rindo Berries"
+msgstr "Grindobeeren"
+
+msgid "River"
+msgstr "Fluss"
+
+msgid "Roaming Pokémon Status"
+msgstr "Wandernde Pokémon Status"
+
+msgid "Rock"
+msgstr "Stein"
+
+msgid "Rocket"
+msgstr "Team Rocket"
+
+msgid "Rowap Berries"
+msgstr "Roselbeeren"
+
+msgid "Run"
+msgstr "Flucht"
+
+msgid "S"
+msgstr "1x"
+
+msgid "S: Go to another map"
+msgstr "S: Go to another map\n"
+
+msgid "SAVE"
+msgstr "SPEICHERN"
+
+msgid "SE Volume"
+msgstr "Effektlautstärke"
+
+msgid "SECOND"
+msgstr "ZWEITES"
+
+msgid "SEE YA!"
+msgstr "BIS DANN!"
+
+msgid "SEEN{1:d}"
+msgstr "Gesehen{1:d}"
+
+msgid "SET ENCOUNTERS"
+msgstr "SETZE BEGEGNUNGEN"
+
+msgid "SHINY SEEN"
+msgstr "SCHILLERND GES."
+
+msgid "SINGLE TRAINER"
+msgstr "EINZELNER TRAINER"
+
+msgid "SIXTH"
+msgstr "SECHSTES"
+
+msgid "SKIPPING BATTLE..."
+msgstr "ÜBERSPRINGE KAMPF..."
+
+msgid "SPECIAL ATTACK"
+msgstr "SPEZIELLE ATTACKE"
+
+msgid "STOCK POKéMON:\n{1} Lv{2} MaxHP: {3}\nTHIS POKéMON:\n{4} Lv{5} MaxHP: {6}"
+msgstr "GELAGERTES POKéMON:\n {1} Lv{2} MaxKP: {3}\nDIESES POKéMON:\n {4} Lv{5} MaxKP: {6}"
+
+msgid "STYLE"
+msgstr "STIL"
+
+msgid "SUMMARY"
+msgstr "BERICHT"
+
+msgid "SWAP"
+msgstr "TAUSCH"
+
+msgid "SWITCH"
+msgstr "TAUSCHEN"
+
+msgid "Safari Balls"
+msgstr "Safaribälle"
+
+msgid "Safari Balls: {1}"
+msgstr "Safaribälle: {1}"
+
+msgid "Salac Berries"
+msgstr "Salkabeeren"
+
+msgid "Sassy"
+msgstr "Forsch"
+
+msgid "Saturday"
+msgstr "Samstag"
+
+msgid "Savanna"
+msgstr "Steppe"
+
+msgid "Save changes?"
+msgstr "Änderungen speichern?"
+
+msgid "Save files from BETA 4.3 and earlier are no longer compatible with Uranium 1.0."
+msgstr "Spielstände von BETA 4.3 und früher sind nicht mehr mit Uran 1.0 kompatibel."
+
+msgid "Scatters things often."
+msgstr "Macht oft Unordnung."
+
+msgid "Score: {1}\nHits: {2}/{3}"
+msgstr "Punkte: {1}\nHits: {2}/{3}"
+
+msgid "Screen Size"
+msgstr "Bildschirmgröße"
+
+msgid "Scroll Lock"
+msgstr "Rollen"
+
+msgid "Seafloor"
+msgstr "Tiefsee"
+
+msgid "Search"
+msgstr "Suche"
+
+msgid "Search Mode"
+msgstr "Suchmodus"
+
+msgid "Search for Pokémon based on selected parameters."
+msgstr "Suche Pokémon mithilfe der ausgewählten Parametern."
+
+msgid "Searching for a gift.\nPlease wait...\\wtnp[0]"
+msgstr "Suche nach einem Geschenk..\nBitte warten...\\wtnp[0]"
+
+msgid "Searching for online gifts...\\wtnp[0]"
+msgstr "Suche nach Online-Geschenken...\\wtnp[0]"
+
+msgid "Second move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Second move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "See ya!"
+msgstr "Bis dann!"
+
+msgid "Select"
+msgstr "Auswählen"
+
+msgid "Select Level (Max 20)"
+msgstr "Wähle das Level (Max 20)"
+
+msgid "Select Pokémon to accept."
+msgstr "Wähle Pokémon um zu bestätigen."
+
+msgid "Select Pokémon to swap."
+msgstr "Wähle Pokémon um zu tauschen."
+
+msgid "Select the Pokédex listing mode."
+msgstr "Listen-Modus für den Pokédex auswählen"
+
+msgid "Select the online ID."
+msgstr "Wähle die Online-ID."
+
+msgid "Sell"
+msgstr "Verkaufen"
+
+msgid "Send the removed mail to your PC?"
+msgstr "Den abgenommenen Brief auf deinen PC übertragen?"
+
+msgid "Serious"
+msgstr "Ernst"
+
+msgid "Set"
+msgstr "Folge"
+
+msgid "Set Badges"
+msgstr "Setze Orden"
+
+msgid "Set Coins"
+msgstr "Setzte Münzen"
+
+msgid "Set Controls"
+msgstr "Steuerung einstellen"
+
+msgid "Set EVs"
+msgstr "Setze FPs"
+
+msgid "Set Encounters"
+msgstr "Begegnungen setzen"
+
+msgid "Set HP"
+msgstr "Setze KP"
+
+msgid "Set IVs"
+msgstr "Setze DVs"
+
+msgid "Set Metadata"
+msgstr "Metadata setzen"
+
+msgid "Set Money"
+msgstr "Setze Geld"
+
+msgid "Set OT's gender"
+msgstr "Setze OTs Geschlecht"
+
+msgid "Set OT's gender."
+msgstr "OTs Geschlecht gesetzt"
+
+msgid "Set OT's name"
+msgstr "Setze OTs Name"
+
+msgid "Set Player Character"
+msgstr "Spielercharacter setzen"
+
+msgid "Set Player's Online ID"
+msgstr "Setze Spieler-ID"
+
+msgid "Set Terrain Tags"
+msgstr "Gelände-Tags setzen"
+
+msgid "Set eggsteps to 1"
+msgstr "Setze Ei-Schritte auf 1"
+
+msgid "Set foreign ID"
+msgstr "Setze Fremden-ID"
+
+msgid "Set how often the game will autosave in minutes."
+msgstr "In welchen Abständen (Minuten) soll das Spiel automatisch speichern?"
+
+msgid "Set the EV for {1} (max. 255)."
+msgstr "Setze FP für {1} (max. 255)"
+
+msgid "Set the IV for {1} (max. 31)."
+msgstr "Setze die DV für {1} (max. 31)"
+
+msgid "Set the Pokémon's HP (max. {1})."
+msgstr "Setze die KP des Pokémon (max. {1})"
+
+msgid "Set the Pokémon's form."
+msgstr "Setze Form des Pokémon"
+
+msgid "Set the Pokémon's happiness (max. 255)."
+msgstr "Setze die Freundschaft des Pokémon (max. 255)"
+
+msgid "Set the Pokémon's language (max. 20)."
+msgstr "Setze die Sprache des Pokémon (max. 20)"
+
+msgid "Set the Pokémon's level (max. {1})."
+msgstr "Setze das level des Pokémon (max. {1})."
+
+msgid "Set the Pokémon's level."
+msgstr "Setze Level des Pokémon"
+
+msgid "Set the Pokémon's sleep count."
+msgstr "Setze den Schlaf-Counter des Pokémon"
+
+msgid "Set the first Pokémon's level."
+msgstr "Setze das Level des ersten Pokémon"
+
+msgid "Set the level for {1}."
+msgstr "Setze das Level für {1}."
+
+msgid "Set the name for this point."
+msgstr "Setze für diesen Punkt einen Namen."
+
+msgid "Set the new ID (max. 65535)."
+msgstr "Setze die neue ID (max. 65535)"
+
+msgid "Set the player's Coin amount."
+msgstr "Setze Münzen"
+
+msgid "Set the player's money."
+msgstr "Setzte Geld."
+
+msgid "Set the player's outfit."
+msgstr "Setzte das Spileroutfit."
+
+msgid "Set the second Pokémon's level."
+msgstr "Setze das Level des zweiten Pokémon"
+
+msgid "Set variable {1}."
+msgstr "Setze Variable {1}"
+
+msgid "Shade"
+msgstr "Schatten"
+
+msgid "Shadow Pokémon"
+msgstr "Schattenpokémon"
+
+msgid "Shadow Pokémon can't be taught any moves."
+msgstr "Du kannst Crypto-Pokémon keine Attacken beibringen."
+
+msgid "Shift"
+msgstr "Wechsel"
+
+msgid "Shininess"
+msgstr "Schillerndhaftigkeit"
+
+msgid "Shininess ({1}) is being forced."
+msgstr "Schillerndhaftigkeit {1} ist erzwungen"
+
+msgid "Shininess ({1}) is natural."
+msgstr "Schillerndhaftigkeit {1} ist natürlich"
+
+msgid "Shiny Clause"
+msgstr "Schillernde-Pokémon-Regelung"
+
+msgid "Shoot! It was so close, too!"
+msgstr "Verflixt! Es hätte beinahe geklappt!"
+
+msgid "Short to Tall"
+msgstr "Kleinstes"
+
+msgid "Should {1} stop learning {2}?"
+msgstr "Soll {1} die neue Attacke {2} nicht erlernen?"
+
+msgid "Shuca Berries"
+msgstr "Schukebeeren"
+
+msgid "Simple"
+msgstr "Simpel"
+
+msgid "Simply stunning!"
+msgstr "Einfach atemberaubend!"
+
+msgid "Simulating battles ({1} of {2})"
+msgstr "Simuliere Kämpfe ({1} von {2})"
+
+msgid "Sitrus Berries"
+msgstr "Tsitrubeeren"
+
+msgid "Skill"
+msgstr "Geschick"
+
+msgid "Skip intro?"
+msgstr "Intro überspringen?"
+
+msgid "Sky"
+msgstr "Himmel"
+
+msgid "Slot Machine/bg"
+msgstr "../Translations/German/bg_de"
+
+msgid "Slow"
+msgstr "Langsam"
+
+msgid "Snow"
+msgstr "Schnee"
+
+msgid "Some of the fonts were successfully installed."
+msgstr "Einige Schriftarten wurden erfolgreich installiert."
+
+msgid "Someone's PC"
+msgstr "Jemandes PC"
+
+msgid "Something pinged in the wall!\n{1} confirmed!"
+msgstr "Etwas klingelt in der Wand!\n{1} bestätigt!"
+
+msgid "Somewhat of a clown."
+msgstr "Ist fast wie ein Clown."
+
+msgid "Somewhat stubborn."
+msgstr "Dickköpfig."
+
+msgid "Somewhat vain."
+msgstr "Irgendwie eitel."
+
+msgid "Sorry, a new Badge is required."
+msgstr "Sorry, ein neuer Orden wird benötigt."
+
+msgid "Sorry, but you're stuck with this one."
+msgstr "Tut mir leid, aber du steckst mit diesem fest."
+
+msgid "Sounds can be heard coming from inside! It will hatch soon!"
+msgstr "Man kann schon etwas hören! Bald wird es schlüpfen!"
+
+msgid "South side of first map must connect with north side of second map\n{1}"
+msgstr "South side of first map must connect with north side of second map\n{1}"
+
+msgid "Sp. Atk."
+msgstr "Sp. Angr."
+
+msgid "Sp. Attack"
+msgstr "Sp. Angriff"
+
+msgid "Sp. Def"
+msgstr "Sp. Vert."
+
+msgid "Sp. Defense"
+msgstr "Sp. Verteidigung"
+
+msgid "Space"
+msgstr "Leertaste"
+
+msgid "Special Attack"
+msgstr "Spezial-Angriff"
+
+msgid "Special Defense"
+msgstr "Spezial-Verteidigung"
+
+msgid "Species"
+msgstr "Art"
+
+msgid "Specifies the underwater layer of this map. Use only if this map has deep water."
+msgstr "Specifies the underwater layer of this map. Use only if this map has deep water."
+
+msgid "Speed"
+msgstr "Initiative"
+
+msgid "Spelon Berries"
+msgstr "Kiwanbeeren"
+
+msgid "Spikes were scattered all around the feet of the opposing team!"
+msgstr "Die Pokémon auf gegnerischer Seite sind von Stacheln umgeben!"
+
+msgid "Spikes were scattered all around the feet of your team!"
+msgstr "Die Pokémon auf deiner Seite sind von Stacheln umgeben!"
+
+msgid "Splendid!\nYou battle with great finesse and expertise.\nLet us tango together again sometime!"
+msgstr "Großartig!\nDu kämpfst mit großem Geschick und Verstand.\nLass uns bald wieder zusammen Tango tanzen!"
+
+msgid "Sport Balls: {1}"
+msgstr "Sportbälle: {1}"
+
+msgid "Spotted and owned Pokémon are listed alphabetically."
+msgstr "Gesehene und gefangene Pokémon werden alphabetisch aufgelistet."
+
+msgid "Spring"
+msgstr "Frühling"
+
+msgid "Starf Berries"
+msgstr "Krambobeeren"
+
+msgid "Start Game"
+msgstr "Spiel starten"
+
+msgid "Status moves must have a base damage of 0, use either Physical or Special\n{1}"
+msgstr "Status moves must have a base damage of 0, use either Physical or Special\n{1}"
+
+msgid "Status: Burn"
+msgstr "Status: Brennend"
+
+msgid "Status: Frozen"
+msgstr "Status: Gefroren"
+
+msgid "Status: Paralysis"
+msgstr "Status: Paralisiert"
+
+msgid "Status: Poison"
+msgstr "Status: Vergiftet"
+
+msgid "Status: Sleep"
+msgstr "Staus: Schlafend"
+
+msgid "Steel"
+msgstr "Stahl"
+
+msgid "Stop editng this gift?"
+msgstr "Aufhören das Geschenk zu bearbeiten?"
+
+msgid "Stop giving the Pokémon Mail?"
+msgstr "Aktion abbrechen?"
+
+msgid "Store"
+msgstr "Lagern"
+
+msgid "Store Pokémon in your party in Boxes."
+msgstr "Lege Pokémon, die in deinem Team sind in Boxen ab."
+
+msgid "Store items in the PC."
+msgstr "Items im PC lagern."
+
+msgid "Strength is already being used."
+msgstr "Stärke wird bereits genutzt."
+
+msgid "Strength made it possible to move boulders around."
+msgstr "Stärke ermöglicht es Felsen zu bewegen."
+
+msgid "Strong willed."
+msgstr "Besitzt einen starken Willen."
+
+msgid "Strongly defiant."
+msgstr "Sehr aufsässig."
+
+msgid "Sturdy body."
+msgstr "Hat einen robusten Körper."
+
+msgid "Subtract"
+msgstr "Subtrahieren"
+
+msgid "Summary"
+msgstr "Bericht"
+
+msgid "Summer"
+msgstr "Sommer"
+
+msgid "Sunday"
+msgstr "Sonntag"
+
+msgid "Switch"
+msgstr "Tauschen"
+
+msgid "Switch In"
+msgstr "Tauschen"
+
+msgid "Switch Pokédex listings."
+msgstr "Wechsle die Pokédex-Auflistung."
+
+msgid "Switch Pokémon?"
+msgstr "Pokémon wechseln?"
+
+msgid "Switched the Experience Share {1}."
+msgstr "Erfahrungsteiler {1} ausgetauscht."
+
+msgid "Switches"
+msgstr "Schalter"
+
+msgid "TEMPO"
+msgstr "GESCHWINDIGKEIT"
+
+msgid "THIRD"
+msgstr "DRITTES"
+
+msgid "TIME:"
+msgstr "ZEIT:"
+
+msgid "TMs & HMs"
+msgstr "TMs & VMs"
+
+msgid "TYPE"
+msgstr "TYP"
+
+msgid "Take"
+msgstr "Nehmen"
+
+msgid "Take good care of {1}."
+msgstr "Kümmere dich gut um {1}."
+
+msgid "Take out items from the PC."
+msgstr "Items vom PC nehmen."
+
+msgid "Take this {1}?"
+msgstr "{1} nehmen?"
+
+msgid "Tall to Short"
+msgstr "Größtes"
+
+msgid "Tamato Berries"
+msgstr "Tamotbeeren"
+
+msgid "Tanga Berries"
+msgstr "Tanigabeeren"
+
+msgid "Teach move"
+msgstr "Attacke beibringen"
+
+msgid "Teach which Pokémon?"
+msgstr "Welchem Pokémon beibringen?"
+
+msgid "Teach which move to {1}?"
+msgstr "Welche Attacke soll {1} beigebracht werden?"
+
+msgid "Teach {1} to a Pokémon?"
+msgstr "{1} einem Pokémon beibringen?"
+
+msgid "Teach {1} to {2}?"
+msgstr "{1} {2} beibringen?"
+
+msgid "Teach {1}?"
+msgstr "{1} beibringen?"
+
+msgid "Team generation complete."
+msgstr "Team-Erstellung abgeschlossen."
+
+msgid "Test Double Trainer Battle"
+msgstr "Doppel-Trainerkampf testen"
+
+msgid "Test Double Wild Battle"
+msgstr "Wilden Doppel-Kampf testen"
+
+msgid "Test Trainer Battle"
+msgstr "Trainerkampf testen"
+
+msgid "Test Vibration"
+msgstr "Teste Vibration"
+
+msgid "Test Wild Battle"
+msgstr "Wilden Kampf testen"
+
+msgid "Test if controller vibration is working."
+msgstr "Teste ob die Controller-Vibration funktioniert."
+
+msgid "Text Speed"
+msgstr "Text-Tempo"
+
+msgid "Th- MRI ------ anomalous brainwave ------ns. --- specim-n ----- -- inca----e -- indep---ent thoug--. We --- ---ing -- - suppress---."
+msgstr "D-- MRT --- anomale Gehirnwellen----er ------------. --- Exem--ar ------ nic-- -n --r Lage ----, selb-----ndig -- denk--. Wir -----ten -- ----- Unterdrückung-------."
+
+msgid "That ID is already used by a Mystery Gift."
+msgstr "Diese ID wird bereits von einem Geheimgeschehen benutzt."
+
+msgid "That Pokémon can't be placed there."
+msgstr "Dieses Pokémon kann hier nicht abgelegt werden."
+
+msgid "That won't fertilize the soil!"
+msgstr "Dies wird den Lehmboden nicht düngen!"
+
+msgid "That's not Mulch."
+msgstr "Das ist kein Mulch."
+
+msgid "That's not a Berry."
+msgstr "Das ist keine Beere."
+
+msgid "That's not the right item."
+msgstr "Das ist nicht das richtige Item."
+
+msgid "That's too important to toss out!"
+msgstr "Das ist zu wichtig, um es wegzuwerfen!"
+
+msgid "That's your last Pokémon!"
+msgstr "Dein letztes Pokémon!"
+
+msgid "The Bag is full."
+msgstr "Der Beutel ist voll."
+
+msgid "The Bag is full. The Pokémon's item could not be removed."
+msgstr "Der Beutel ist voll. Das Item vom Pokémon konnte nicht abgelegt werden."
+
+msgid "The Bag was cleared."
+msgstr "Die Tasche wurde geleert"
+
+msgid "The Bag was filled with {1} of each item."
+msgstr "Die Tasche wurde mit {1} von jedem Item gefüllt"
+
+msgid "The Box is full."
+msgstr "Die Box ist voll."
+
+msgid "The Boxes were cleared."
+msgstr "Die Boxen wurden geleert."
+
+msgid "The Fire-type attack fizzled out in the heavy rain!"
+msgstr "Der strömende Regen löscht die Feuer-Attacke und macht sie wirkungslos!"
+
+msgid "The Hall Of Fame!"
+msgstr "Die Ruhmeshalle!"
+
+msgid "The Happy Hour started!"
+msgstr "Goldene Zeiten sind angebrochen!"
+
+msgid "The Ion Deluge started!"
+msgstr "Ein elektrisch geladener Niederschlag regnet auf das Kampffeld herab!"
+
+msgid "The Mail was returned to the Bag with its message erased."
+msgstr "Der Brief mit gelöschtem Inhalt wurde im Beutel gelagert."
+
+msgid "The Pokémon got away..."
+msgstr "Das Pokémon ist entwischt..."
+
+msgid "The Pokémon in the Day Care can't breed."
+msgstr "Die Pokémon in der Pension können sich nicht paaren"
+
+msgid "The Pokémon was deleted."
+msgstr "Das Pokémon wurde gelöscht"
+
+msgid "The Pokémon was duplicated."
+msgstr "Das Pokémon wurde dupliziert"
+
+msgid "The Power Glove made it possible to move boulders around!"
+msgstr "Der Krafthandschuh macht es möglich die Felsblöcke zu bewegen."
+
+msgid "The Tailwind blew from behind the opposing team!"
+msgstr "Die gegnerischen Pokémon erhalten Rückenwind!"
+
+msgid "The Tailwind blew from behind your team!"
+msgstr "Die Pokémon, die auf deiner Seite kämpfen erhalten Rückenwind!"
+
+msgid "The Trainer blocked the Ball!\nDon't be a thief!"
+msgstr "Der Trainer hat den Ball abgeblockt!\nSei kein Dieb!"
+
+msgid "The Trainer is close by.\nTalk to the Trainer in person!"
+msgstr "Der Trainer ist in der Nähe.\nSprich mit ihm persönlich!"
+
+msgid "The Trainer is out of range."
+msgstr "Der Trainer ist außer Reichweite."
+
+msgid "The Trainer's data was added to the list of battles and at PBS/trainers.txt."
+msgstr "Die Daten des Trainers wurde zu der Kampfliste und in PBS/trainers.txt hinzugefügt."
+
+msgid "The Water-type attack evaporated in the harsh sunlight!"
+msgstr "Das intensive Sonnenlicht lässt die Wasser-Attacke verdampfen und macht sie wirkungslos!"
+
+msgid "The Weakness Policy raised {1}'s Attack!"
+msgstr "Schwächenschutz von {1} erhöht seinen Angriff stark!"
+
+msgid "The Weakness Policy raised {1}'s Special Attack!"
+msgstr "Schwächenschutz von {1} erhöht seinen Spezial-Angriff stark!"
+
+msgid "The air is clean again."
+msgstr "Die Luft ist wieder rein!"
+
+msgid "The air is filled with toxicity."
+msgstr "Die Luft ist verseucht!"
+
+msgid "The ally {1}"
+msgstr "Das Verbündete {1}"
+
+msgid "The animation file {1} was not found. The animation will load anyway."
+msgstr "The animation file {1} was not found. The animation will load anyway."
+
+msgid "The battery has run dry!\nFor it to recharge, you need to walk another {1} steps."
+msgstr "Die Batterie ist leer!\nUm sie aufzuladen, musst du noch {1} Schritt(e) laufen."
+
+msgid "The battle will continue until either side has no Pokémon left that can fight."
+msgstr "Der Kampf geht so lange weiter, bis einer von beiden kein kampffähiges Pokémon mehr hat."
+
+msgid "The battlers shared their pain!"
+msgstr "Die Kontrahenten teilen sich ihre KP!"
+
+msgid "The boxes are full! You can't catch any more Pokémon!"
+msgstr "Alle PC-Boxen sind voll! Du kannst keine weiteren Pokémon mehr fangen!"
+
+msgid "The bursting flame hit the opposing {2}!"
+msgstr "{2} wurde ebenfalls vom Funkenflug erfasst!"
+
+msgid "The bursting flame hit {2}!"
+msgstr "{2} wurde ebenfalls vom Funkenflug erfasst!"
+
+msgid "The combined levels exceed {1:d}."
+msgstr "Die kombinierten Level übersteigen {1:d}."
+
+msgid "The current map has no region set. Please set the MapPosition metadata setting for this map."
+msgstr "The current map has no region set. Please set the MapPosition metadata setting for this map."
+
+msgid "The darkness of caves is my home. My Pokémon team knows no fear!"
+msgstr "Die Dunkelheit der Höhlen ist mein Zuhause. Mein Pokémon-Team kennt keine Angst!"
+
+msgid "The deposited Pokémon can breed."
+msgstr "Die hinterlegten Pokémon können sich paaren"
+
+msgid "The deposited Pokémon can't breed."
+msgstr "Die hinterlegten Pokémon können sich nicht paaren"
+
+msgid "The effects of Mud Sport have faded."
+msgstr "Lehmsuhler hört auf zu wirken!"
+
+msgid "The effects of Water Sport have faded."
+msgstr "Nassmacher hört auf zu wirken!"
+
+msgid "The effects of the weather disappeared!"
+msgstr "Die Wetter-Effekte wurden aufgehoben!"
+
+msgid "The effects of the {1} prevent status moves from being used!"
+msgstr "{1} verhindert den Einsatz von Status-Attacken!"
+
+msgid "The electricity disappeared from the battlefield."
+msgstr "Das Elektrofeld ist wieder verschwunden!"
+
+msgid "The foe {1}"
+msgstr "Das gegnerische {1}"
+
+msgid "The fonts were successfully installed."
+msgstr "Die Schriftarten wurden erfolgreich installiert."
+
+msgid "The future is a blank slate.\\. You, together with your Pokémon, are going to fill it. There will be challenges and thrills, and you're bound to make exciting discoveries."
+msgstr "Die Zukunft ist ein unbeschriebenes Blatt.\\.Du, zusammen mit deinen Pokémon, wirst es füllen. Du wirst auf Herausforderungen und Überraschungen stoßen, und aufregende Entdeckungen machen."
+
+msgid "The game can be played, but the look of the game's text will not be optimal."
+msgstr "Das Spiel ist spielbar, aber Texte werden nicht optimal angezeigt werden."
+
+msgid "The game cannot continue."
+msgstr "Das Spiel kann nicht fortgesetzt werden."
+
+msgid "The game has detected that the battery is low. You should save soon to avoid losing your progress."
+msgstr "Das Spiel hat erkannt, dass dein Akku schwach ist. Du solltest bald speichern um den Verlust deines Fortschritts zu vermeiden."
+
+msgid "The game is a draw."
+msgstr "Das Spiel endet in unentschieden."
+
+msgid "The gift has been received!"
+msgstr "Das Geschenk ist angekommen!"
+
+msgid "The gift was saved to MysteryGiftMaster.txt."
+msgstr "Das Geschenk wurde im MysteryGiftMaster.txt abgespeichert."
+
+msgid "The gifts were saved to MysteryGift.txt."
+msgstr "Die Geschenke wurden im MysteryGift.txt abgespeichert."
+
+msgid "The grass disappeared from the battlefield."
+msgstr "Das Grasfeld ist wieder verschwunden!"
+
+msgid "The grassy patch remained quiet..."
+msgstr "Im Gras ist alles ruhig..."
+
+msgid "The hail stopped."
+msgstr "Es hört auf zu hageln!"
+
+msgid "The healing wish came true for {1}!"
+msgstr "Wunschtraum von {1} erfüllt sich!"
+
+msgid "The item number is invalid."
+msgstr "Die Anzahl der Items ist ungültig."
+
+msgid "The item was added."
+msgstr "Das Item wurde hinzugefügt"
+
+msgid "The level number ({1}) is invalid."
+msgstr "Das Level ({1}) ist ungültig."
+
+msgid "The mail was sent to your PC."
+msgstr "Der Brief wurde auf deinen PC übertragen."
+
+msgid "The map data cannot be found."
+msgstr "Die Kartendaten konnten nicht gefunden werden."
+
+msgid "The map is corrupt. The game cannot continue."
+msgstr "Die Karte ist korrupt. Das Spiel kann nicht fortgesetzt werden."
+
+msgid "The map was not found. The game cannot continue."
+msgstr "Die Karte konnte nicht gefunden werden. Das Spiel kann nicht fortgesetzt werden."
+
+msgid "The map will refresh."
+msgstr "Die Karte wird neu laden"
+
+msgid "The message will be lost. Is that OK?"
+msgstr "Der Inhalt geht verloren. Ist das in Ordnung für dich?"
+
+msgid "The mirror move failed!"
+msgstr "Es ist fehlgeschlagen!"
+
+msgid "The mist disappeared from the battlefield."
+msgstr "Das Nebelfeld ist wieder verschwunden!"
+
+msgid "The new level ({1}) is less than the Pokémon's\ncurrent level ({2}), which shouldn't happen.\n[Debug: {3}]"
+msgstr "The new level ({1}) is less than the Pokémon's\ncurrent level ({2}), which shouldn't happen.\n[Debug: {3}]"
+
+msgid "The opponent pierces through your defenses!"
+msgstr "Der Gegner durchbricht deine Verteidigung!"
+
+msgid "The opponents don't have any eligible pokemon for a sky battle"
+msgstr "Die Gegner haben keine geeigneten Pokémon für den Himmelskampf"
+
+msgid "The opposing team became cloaked in a mystical veil!"
+msgstr "Das gegnerische Team wird von einem Schleier umhüllt!"
+
+msgid "The opposing team became shrouded in mist!"
+msgstr "Das gegnerische Team wird von einem Schleier umhüllt!"
+
+msgid "The opposing team is no longer protected by Safeguard!"
+msgstr "Der mystische Schleier, der das gegnerische Team umgab, hat sich gelüftet!"
+
+msgid "The opposing team is no longer protected by mist!"
+msgstr "Der Weißnebel, der die gegnerischen Pokémon umgab, hat sich gelichtet!"
+
+msgid "The opposing team is too nervous to eat Berries!"
+msgstr "Die Pokémon auf deiner Seite kriegen vor Anspannung keine Beeren mehr runter!"
+
+msgid "The opposing team's Light Screen faded!"
+msgstr "Lichtschild der gegnerischen Pokémon hört auf zu wirken!"
+
+msgid "The opposing team's Light Screen wore off!"
+msgstr "Lichtschild der gegnerischen Pokémon hört auf zu wirken!"
+
+msgid "The opposing team's Lucky Chant wore off!"
+msgstr "Beschwörung des gegnerischen Teams hört auf zu wirken!"
+
+msgid "The opposing team's Mist faded!"
+msgstr "Der mystische Schleier, der das gegnerische Team umgab, hat sich gelüftet!"
+
+msgid "The opposing team's Reflect faded!"
+msgstr "Reflektor der gegnerischen Pokémon hört auf zu wirken!"
+
+msgid "The opposing team's Reflect wore off!"
+msgstr "Reflektor der gegnerischen Pokémon hört auf zu wirken!"
+
+msgid "The opposing team's Tailwind petered out!"
+msgstr "Der Rückenwind auf gegnerischer Seite hat sich gelegt!"
+
+msgid "The opposing {1}"
+msgstr "Das gegnerische {1}"
+
+msgid "The options you unchecked can't be turned back on."
+msgstr "Die Optionen, die du abgewählt hast, können nicht wieder ausgewählt werden."
+
+msgid "The phone is not working."
+msgstr "Das Telefon funktioniert nicht."
+
+msgid "The plant seemed to be delighted."
+msgstr "Die Pflanze scheint froh zu sein."
+
+msgid "The player character was changed."
+msgstr "Der Spielercharacter wurde geändert."
+
+msgid "The player is not on a map, so the region could not be determined."
+msgstr "Der Spieler ist nicht auf der Karte. Die Region konnte nicht ermittelt werden."
+
+msgid "The player's ID was changed to {1} (2)."
+msgstr "Die Spieler-ID wurde geändert in {1} (2)."
+
+msgid "The player's name was changed to {1}."
+msgstr "Der Spielername wurde in {1} geändert."
+
+msgid "The pointed stones disappeared from around the opposing team!"
+msgstr "Die spitzen Steine um die Pokémon auf der gegnerischen Seite sind verschwunden!"
+
+msgid "The pointed stones disappeared from around your team!"
+msgstr "Die spitzen Steine um die Pokémon auf deiner Seite sind verschwunden!"
+
+msgid "The poisoned spikes disappeared from around the opposing team's feet!"
+msgstr "Die giftigen Stacheln, die um die Pokémon auf der gegnerischen Seite lagen, sind verschwunden!"
+
+msgid "The poisoned spikes disappeared from around the your team's feet!"
+msgstr "Die giftigen Stacheln, die um die Pokémon auf deiner Seite lagen, sind verschwunden!"
+
+msgid "The poisoned spikes disappeared from around your team's feet!"
+msgstr "Die giftigen Stacheln, die um die Pokémon auf deiner Seite lagen, sind verschwunden!"
+
+msgid "The poisoned spikes disappeared from around {1}'s feet!"
+msgstr "Die giftigen Stacheln, die um die Pokémon von {1} sind verschwunden!"
+
+msgid "The power of {1}'s Fire-type moves rose!"
+msgstr "Die Stärke der Feuer-Attacken von {1} wurde erhöht!"
+
+msgid "The rain stopped."
+msgstr "Es hört auf zu regnen!"
+
+msgid "The rainbow faded."
+msgstr "Der Regenbogen ist verschwunden!"
+
+msgid "The rules of battle will be as follows:"
+msgstr "Kommen wir zu den Regeln:"
+
+msgid "The sandstorm rages."
+msgstr "Der Sandsturm tobt!"
+
+msgid "The sandstorm subsided."
+msgstr "Der Sandsturm legt sich!"
+
+msgid "The save file was deleted."
+msgstr "Der Spielstand wurde gelöscht."
+
+msgid "The saying \"the best defense is a good offense\" is probably your mantra.\\^"
+msgstr "Das Sprichwort \"Angriff ist die beste Verteidigung\" ist wahrscheinlich dein Motto.\\^"
+
+msgid "The sea is deep here. A Pokémon may be able to go underwater."
+msgstr "Das Meer scheint hier sehr tief zu sein. Ein Pokémon könnte unter Wasser gehen."
+
+msgid "The sea is deep here. Would you like to go underwater?"
+msgstr "Das Meer scheint hier sehr tief zu sein. Möchtest du Taucher einsetzen?"
+
+msgid "The sea of fire faded."
+msgstr "Das Meer aus Feuer ist verschwunden!"
+
+msgid "The settings file is corrupt and could not be loaded.\nSettings have been reset to default."
+msgstr "Die Einstellungsdatei ist beschädigt und konnte nicht geladen werden.\nDie Einstellungen wurden auf die Standardeinstellungen zurückgesetzt."
+
+msgid "The shadow sky continues."
+msgstr "Das Crypto-Wetter dauert an."
+
+msgid "The shadow sky faded."
+msgstr "Das Crypto-Wetter verschwindet."
+
+msgid "The soil returned to its soft and earthy state."
+msgstr "Der Lehmboden ist wieder weich."
+
+msgid "The soil returned to its soft and loamy state."
+msgstr "Der Lehmboden ist wieder weich."
+
+msgid "The species number (no. {1} of {2}) is invalid."
+msgstr "Die Artennummer (Nr. {1} von {2}) ist ungültig."
+
+msgid "The spikes disappeared from around the opposing team's feet!"
+msgstr "Die Stacheln, die auf der gegnerischen Seite herumlagen, sind verschwunden!"
+
+msgid "The spikes disappeared from around your team's feet!"
+msgstr "Die Stacheln, die auf deiner Seite herumlagen, sind verschwunden!"
+
+msgid "The stickiness disappeared from the battlefield."
+msgstr "Die Klebrigkeit verschwand vom Schlachtfeld."
+
+msgid "The sticky web has disappeared from beneath the opposing team's feet!"
+msgstr "Das Klebenetz auf der gegnerischen Seite ist wieder verschwunden!"
+
+msgid "The sticky web has disappeared from beneath your team's feet!"
+msgstr "Das Klebenetz auf deiner Seite ist wieder verschwunden!"
+
+msgid "The substitute took damage for {1}!"
+msgstr "Der Delegator steckt den Schlag für {1} ein!"
+
+msgid "The sunlight faded."
+msgstr "Das Sonnenlicht verliert wieder an Intensität!"
+
+msgid "The sunlight is strong."
+msgstr "Gleißendes Sonnenlicht."
+
+msgid "The sunlight turned extremely harsh!"
+msgstr "Das Sonnenlicht wird sehr viel stärker!"
+
+msgid "The sunlight turned harsh!"
+msgstr "Das Sonnenlicht wird stärker!"
+
+msgid "The swamp faded."
+msgstr "Der Sumpf ist verschwunden!"
+
+msgid "The thunderstorm rages."
+msgstr "Das Gewitter tobt!"
+
+msgid "The thunderstorm subsided."
+msgstr "Das Gewitter legt sich!"
+
+msgid "The twisted dimensions returned to normal!"
+msgstr "Die verdrehte Dimension ist wieder normal!"
+
+msgid "The value \"{1}\" must be from -128 through 127, got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from -128 through 127, got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from -32768 through 32767, got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from -32768 through 32767, got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from 0 through 255 (0x00-0xFF in hex), got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from 0 through 255 (0x00-0xFF in hex), got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from 0 through 65535 (0x0000-0xFFFF in hex), got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from 0 through 65535 (0x0000-0xFFFF in hex), got a value of {2}\n{3}"
+
+msgid "The wall collapsed!"
+msgstr "Die Wand ist eingestürzt!"
+
+msgid "The water is dyed a deep blue...\nWould you like to surf?"
+msgstr "Das Wasser ist tiefblau.\nMöchtest du Surfer einsetzen?"
+
+msgid "The wild {1}"
+msgstr "Das wilde {1}"
+
+msgid "The {1} can't be held."
+msgstr "{1} kann nicht gehalten werden."
+
+msgid "The {1} card? Certainly.\nHow many would you like?"
+msgstr "Die Karte {1}? Aber gerne.\nWie viele möchtest du?"
+
+msgid "The {1} card? How many would you like to sell?"
+msgstr "Die Karte {1}? Wie viele würdest du verkaufen?"
+
+msgid "The {1} card? Oh, no.\nI can't buy that."
+msgstr "Die Karte {1}? Es tut mir leid, aber das kann ich nicht kaufen."
+
+msgid "The {1} has sprouted."
+msgstr "Die {1} keimt."
+
+msgid "The {1} only allows the use of {2}!"
+msgstr "Wegen {1} darf nur {2} eingesetzt werden!"
+
+msgid "The {1} plant is growing bigger."
+msgstr "Der {1}-Strauch wächst."
+
+msgid "The {1} strengthened {2}'s power!"
+msgstr "{1} erhöht die Stärke von {2}!"
+
+msgid "The {1} was planted in the soft, earthy soil."
+msgstr "Eine {1} wurde eingepflanzt."
+
+msgid "The {1} was scattered on the soil."
+msgstr "{1} wurde auf dem Lehmboden verteilt."
+
+msgid "The {1} was taken and replaced with the {2}."
+msgstr "{1} wurde gegen {2} ausgetauscht."
+
+msgid "The {1} weakened the damage to {2}!"
+msgstr "{1} schwächt die Stärke von {2}"
+
+msgid "The {1}'s indicating something right underfoot!"
+msgstr "{1} zeigt an, dass etwas unter dir ist!"
+
+msgid "The {2} raised {1}'s Attack!"
+msgstr "{2} erhöht den Angriff von {1}!"
+
+msgid "The {2} raised {1}'s Defense!"
+msgstr "{2} von {1} erhöht seine Verteidigung!"
+
+msgid "The {2} raised {1}'s Special Attack!"
+msgstr "{2} erhöht den Spezial-Angriff von {1}!"
+
+msgid "The {2} raised {1}'s Special Defense!"
+msgstr "{2} von {1} erhöht seine Spezial-Verteidigung!"
+
+msgid "Their strength is no joke!"
+msgstr "Ihre Stärke ist nicht zu unterschätzen!"
+
+msgid "There appears to be nothing here..."
+msgstr "Hier scheint nichts zu sein..."
+
+msgid "There are no Mystery Gifts defined."
+msgstr "Es sind keine Geheimgeschehen definiert."
+
+msgid "There are no cards that you can buy."
+msgstr "Da sind keine Karten, welche du kaufen könntest."
+
+msgid "There are no items."
+msgstr "Hier sind keine Items."
+
+msgid "There are no phone numbers stored."
+msgstr "Es wurden keine Telefonnummern gespeichert."
+
+msgid "There are no trainers in the Phone."
+msgstr "Es gibt keine Trainer im Telefon"
+
+msgid "There are {1} {2}!\nWant to pick them?"
+msgstr "Da sind {1} {2}!\nMöchtest du sie pflücken?"
+
+msgid "There aren't 2 Pokémon in the Day Care."
+msgstr "Es sein keine 2 Pokémon in der Pension"
+
+msgid "There is 1 {1}!\nWant to pick it?"
+msgstr "Da ist 1 {1}!\nMöchtest du sie pflücken?"
+
+msgid "There is a Pokemon that is ready to open its heart!"
+msgstr "Es gibt ein Pokémon, das bereit ist sein Herz zu öffnen!"
+
+msgid "There is a gift for you there!"
+msgstr "Dort wartet ein Geschenk auf dich!"
+
+msgid "There is a more recent update available."
+msgstr "Es gibt ein aktuelleres Update."
+
+msgid "There is a total of #{@files.length} PNG(s) available for conversion. Would you like to begin the process?"
+msgstr "Für die Konvertierung sind #{@files.length} PNG(s) verfügbar. Möchtest du mit der Konvertierung anfangen?"
+
+msgid "There is already a saved file. Is it OK to overwrite it?"
+msgstr "Es gibt bereits einen Spielstand. Spielstand überschreiben?"
+
+msgid "There is another Pokemon that is ready to open its heart!"
+msgstr "Es gibt ein anderes Pokémon, das bereit ist sein Herz zu öffnen!"
+
+msgid "There is no Pokémon."
+msgstr "Da ist kein Pokémon."
+
+msgid "There is no egg available."
+msgstr "Es ist kein Ei verfügbar"
+
+msgid "There is no room left in the PC!"
+msgstr "Alle Boxen im PC sind voll."
+
+msgid "There is only one player defined."
+msgstr "Es ist nur ein Spieler definiert."
+
+msgid "There was no sound in the recording. Please ensure that a microphone is attached to the computer and is ready."
+msgstr "There was no sound in the recording. Please ensure that a microphone is attached to the computer and is ready."
+
+msgid "There! All happy!"
+msgstr "So! Alles gut!"
+
+msgid "There's a Pokemon that may open the door to its heart!"
+msgstr "Es gibt Pokémon, das die Tür zu seinem Herzen öffnen kann!"
+
+msgid "There's an item buried around here!"
+msgstr "Ein Item liegt hier vergraben!"
+
+msgid "There's no Mail here."
+msgstr "Hier sind keine Briefe."
+
+msgid "There's no PP left for this move!"
+msgstr "Es sind keine AP mehr für diese Attacke übrig!"
+
+msgid "There's no Pokémon here..."
+msgstr "Hier ist kein Pokémon..."
+
+msgid "There's no more room in the Bag."
+msgstr "In deiner Tasche ist kein Platz mehr."
+
+msgid "There's no room to store items."
+msgstr "Es gibt keinen Platz, um Items zu lagern."
+
+msgid "These are among the toughest of Tandor! The paragons of our region!"
+msgstr "Sie gehören zu den Stärksten von Tandor! Der Inbegriff unserer Region!"
+
+msgid "These pokemon can't fight in a sky battle!"
+msgstr "Diese Pokémon können nicht an einem Himmelskampf teilnehmen!"
+
+msgid "These trainers' skill in battle will determine that answer!"
+msgstr "Die Fähigkeiten der Trainer im Kampf werden diese Antwort liefern!"
+
+msgid "They can be transferred over and will be deposited in your PC."
+msgstr "Sie können übertragen und in deinem PC abgelegt werden."
+
+msgid "Third move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Third move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "This Pokémon can't be chosen."
+msgstr "Dieses Pokémon kann nicht ausgewählt werden."
+
+msgid "This Pokémon is holding an item. It can't hold mail."
+msgstr "Dieses Pokémon trägt ein Item. Es kann nicht noch mehr tragen."
+
+msgid "This box is already empty."
+msgstr "Diese Box ist bereits leer."
+
+msgid "This challenge will use the Pokemon list from {1}."
+msgstr "Diese Herausforderung wird die Pokémon-Liste von {1} benutzen."
+
+msgid "This command can't be used here."
+msgstr "Dieser Befehl kann hier nicht verwendet werden"
+
+msgid "This is in use already."
+msgstr "Es wird bereits benutzt."
+
+msgid "This isn't a fossil!"
+msgstr "Das ist kein Fossil!"
+
+msgid "This isn't over yet!"
+msgstr "Das hier ist noch nicht vorbei!"
+
+msgid "This item can't be used on that Pokemon."
+msgstr "Dieses Item kann nicht auf dieses Pokémon angewendet werden."
+
+msgid "This item can't be used on that Pokémon."
+msgstr "Dieses Item kann nicht auf das Pokémon verwendet werden."
+
+msgid "This may take a long time. Are you sure?"
+msgstr "Dies könnte einige Zeit dauern. Bist du dir sicher?"
+
+msgid "This means you've found all the Coins in this game, so the game is now over."
+msgstr "Das bedeutet, du hast alle Münzen in diesem Spiel gefunden. Das Spiel ist folglich vorüber."
+
+msgid "This old, dead coral looks like it can be broken. Would you like to use Coral Break?"
+msgstr "Diese alte, tote Koralle sieht zerbrechlich aus. Möchtest du Korallenbrecher einsetzen?"
+
+msgid "This pokemon can't fight in a sky battle!"
+msgstr "Dieses Pokémon kann nicht an einem Himmelskampf teilnehmen!"
+
+msgid "This rock appears breakable. Would you like to smash it?"
+msgstr "Dieser Fels sieht zerbrechlich aus. Möchtest du Zertrümmerer einsetzen?"
+
+msgid "This save file is corrupt or incompatible with this game."
+msgstr "Dieser Spielstand ist entweder korrupt oder mit diesem Spiel inkompatibel."
+
+msgid "This save file is corrupt, but an automatic backup has been found and will be loaded instead."
+msgstr "Der Spielstand ist korrupt. Ein automatisches Backup wurde gefunden, welches geladen wird."
+
+msgid "This save file is corrupt, but another working file in this slot has been found and will be loaded instead."
+msgstr "Dieser Speicherstand ist beschädigt, aber eine andere funktionierende Datei in diesem Slot wurde gefunden und wird stattdessen geladen."
+
+msgid "This save file is corrupt, but other working files in this slot were found."
+msgstr "Dieser Speicherstand ist beschädigt, aber es wurden andere funktionierende Dateien in diesem Slot gefunden."
+
+msgid "This team is not allowed."
+msgstr "Dieses Team ist nicht zugelassen."
+
+msgid "This trainer must have at least 1 Pokémon!"
+msgstr "Dieser Trainer muss mindestens 1 Pokémon haben!"
+
+msgid "This tree looks like it can be cut down!"
+msgstr "Der Baum sieht aus, als ob er zerschnitten werden könnte."
+
+msgid "This tree looks like it can be cut down."
+msgstr "Der Baum sieht aus, als ob er zerschnitten werden könnte."
+
+msgid "This {1} is ready to open its heart. However, there must be at least one regular Pokémon in the set to perform a purification ceremony."
+msgstr "{1} ist bereit sein Herz zu öffnen. Allerdings muss in dieser Zusammenstellung mindestens ein reguläres Pokémon sein, um die Erlösungszeremonie durchzuführen"
+
+msgid "This {1} plant is blooming cutely!"
+msgstr "Dieser {1}-Strauch blüht nett!"
+
+msgid "This {1} plant is blooming prettily!"
+msgstr "Dieser {1}-Strauch blüht hübsch!"
+
+msgid "This {1} plant is blooming very beautifully!"
+msgstr "Dieser {1}-Strauch blüht wunderschön!"
+
+msgid "This {1} plant is in bloom!"
+msgstr "Dieser {1}-Strauch steht in Blüte!"
+
+msgid "This {1} plant is in fabulous bloom!"
+msgstr "Dieser {1}-Strauch steht in voller Blüte!"
+
+msgid "Thoroughly cunning."
+msgstr "Äußerst gerissen."
+
+msgid "Threw away {1} {2}(s)."
+msgstr "{1}x {2} weggeworfen."
+
+msgid "Throw away items stored in the PC."
+msgstr "Werfe Items, die im PC gelagert sind, weg."
+
+msgid "Thursday"
+msgstr "Donnerstag"
+
+msgid "Time:"
+msgstr "Zeit:"
+
+msgid "Time{2:02d}:{3:02d}
"
+msgstr "Zeit{2:02d}:{3:02d}
"
+
+msgid "Time{1:02d}:{2:02d}
"
+msgstr "Zeit{1:02d}:{2:02d}
"
+
+msgid "Timid"
+msgstr "Scheu"
+
+msgid "To Next Lv."
+msgstr "Bis nächsten Lv."
+
+msgid "To install the other fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel."
+msgstr "Um andere Schriftarten zu installieren, kopiere die Dateien in dem Schriftarten-Ordner von diesem Spiel in dem vom Systemsteuerung."
+
+msgid "To localize the text for a particular language, translate every second line in the file."
+msgstr "Um den Text für eine bestimmte Sprache zu lokalisieren, übersetzen Sie jede zweite Zeile der Datei."
+
+msgid "Toggle Bag Access"
+msgstr "Taschen-Zugriff umschalten"
+
+msgid "Toggle Mega Ring Ownership"
+msgstr "Mega-Ring-Besitz umschalten"
+
+msgid "Toggle Pokédex Ownership"
+msgstr "Pokédex-Besitz umschalten"
+
+msgid "Toggle Pokégear Ownership"
+msgstr "Pokégear-Besitz umschalten"
+
+msgid "Toggle Running Shoes Ownership"
+msgstr "Renn-Schuh-Besitz umschalten"
+
+msgid "Toggle on/offline"
+msgstr "Schalte auf on/offline"
+
+msgid "Too bad...\nThe bag is full."
+msgstr "Schade...\nDie Tasche ist voll."
+
+msgid "Too bad... The Bag is full..."
+msgstr "Oh? Dein Beutel ist voll."
+
+msgid "Too few bug catching contestants"
+msgstr "Zu wenige Wettkampfteilnehmer, die Käfer sammeln"
+
+msgid "Took the {1}."
+msgstr "Nahm das Item {1}."
+
+msgid "Toss"
+msgstr "Müll"
+
+msgid "Toss\nItem"
+msgstr "Item\nwegwerfen"
+
+msgid "Toss Item"
+msgstr "Item wegwerfen"
+
+msgid "Toss out how many {1}(s)?"
+msgstr "Wie viele {1} willst du wegwerfen?"
+
+msgid "Trainer has no unfainted Pokémon"
+msgstr "Trainer hat keine unbesiegten Pokémon"
+
+msgid "Trainer name too long\n{1}"
+msgstr "Trainer name too long\n{1}"
+
+msgid "Trainer type does not exist ({1}, {2}, ID {3})"
+msgstr "Trainerklasse existiert nicht ({1}, {2}, ID {3})"
+
+msgid "Transferring\\wt[8].\\wt[8].\\wt[8].\\wtnp[18]"
+msgstr "Übetrage\\wt[8].\\wt[8].\\wt[8].\\wtnp[18]"
+
+msgid "Treat this battle as a loss?"
+msgstr "Diesen Kampf als eine Niederlage werten?"
+
+msgid "Treat this battle as a win?"
+msgstr "Diesen Kampf als einen Sieg werten?"
+
+msgid "Tuesday"
+msgstr "Dienstag"
+
+msgid "Turn Off"
+msgstr "Ausschalten"
+
+msgid "Turned over the {1} and received ${2}."
+msgstr "{1} wurde(n) im Tausch gegen ${2} übergeben."
+
+msgid "Turned over the {1} card and received ${2}."
+msgstr "Karte {1} übergeben und ${2} erhalten."
+
+msgid "Two Pokémon are deposited already."
+msgstr "Es sind bereits zwei Pokémon hinterlegt"
+
+msgid "Two trainer types ({1} and {2}) have the same ID ({3}), which is not allowed.\n{4}"
+msgstr "Two trainer types ({1} and {2}) have the same ID ({3}), which is not allowed.\n{4}"
+
+msgid "Type"
+msgstr "Typ"
+
+msgid "UPPER"
+msgstr "Groß"
+
+msgid "Undefined Trainer constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nIn addition, the name must be defined\nin trainertypes.txt.\n{1}"
+msgstr "Undefined Trainer constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nIn addition, the name must be defined\nin trainertypes.txt.\n{1}"
+
+msgid "Undefined encounter type {1}, expected one of the following:\n{2}\n{3}"
+msgstr "Undefined encounter type {1}, expected one of the following:\n{2}\n{3}"
+
+msgid "Undefined item constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the item is defined in\nPBS/items.txt.\n{1}"
+msgstr "Undefined item constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the item is defined in\nPBS/items.txt.\n{1}"
+
+msgid "Undefined move constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/moves.txt.\n{1}"
+msgstr "Undefined move constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/moves.txt.\n{1}"
+
+msgid "Undefined nature constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nthe script section PBNatures.\n{1}"
+msgstr "Undefined nature constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nthe script section PBNatures.\n{1}"
+
+msgid "Undefined species constant name: [%s]\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/pokemon.txt.\n{1}"
+msgstr "Undefined species constant name: [%s]\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/pokemon.txt.\n{1}"
+
+msgid "Undefined value {1} (expected one of: {2})\n{3}"
+msgstr "Undefined value {1} (expected one of: {2})\n{3}"
+
+msgid "Undefined value {1} in {2}\n{3}"
+msgstr "Undefined value {1} in {2}\n{3}"
+
+msgid "Unknown"
+msgstr "Unbekannt"
+
+msgid "Unknown happiness-changing method."
+msgstr "Unbekannte zuneigungsändere Methode."
+
+msgid "Up"
+msgstr "Hoch"
+
+msgid "Up next:\\wt[20] Round {1}\\wt[25]\n\\PN versus {2}!"
+msgstr "Als Nächstes:\\wt[20] Runde {1}\\wt[25]\n\\PN gegen {2}!"
+
+msgid "Updating game maps, you will be sent to the nearest Pokémon Center"
+msgstr "Aktualisiere Spielkarten, du wirst zum nächsten Pokémon Center geschickt."
+
+msgid "Upload MysteryGift.txt to the Internet."
+msgstr "Lade den MysteryGift.txt ins Internet hoch."
+
+msgid "Upon this consecrated ground, I shall invoke the blessings of the sea!"
+msgstr "Auf diesem gesegneten Boden, erbitte ich den Segen der Meere!"
+
+msgid "Use"
+msgstr "Einsetzen"
+
+msgid "Use PC"
+msgstr "PC nutzen"
+
+msgid "Use next Pokémon?"
+msgstr "Nächstes Pokémon einsetzen?"
+
+msgid "Use on which Pokémon?"
+msgstr "Auf welches Pokémon anwenden?"
+
+msgid "Use the patcher.exe in your game folder to check for patches!\\wtnp[40]"
+msgstr "Benutze patcher.exe im Ordner des Spiels um auf Updates zu prüfen!\\wtnp[40]"
+
+msgid "Used to confirm a choice, check things, and talk to people."
+msgstr "Bestätigen, Gegenstände untersuchen und Leute ansprechen"
+
+msgid "Used to exit, cancel a choice or mode, and open the pause menu."
+msgstr "Verlassen, Abbrechen und Pause-Menü öffnen"
+
+msgid "Using item..."
+msgstr "Benutze Item..."
+
+msgid "Using its {1}, the Attack of {2} rose!"
+msgstr "{1} von {2} erhöht seinen Angriff!"
+
+msgid "Using its {1}, the Defense of {2} rose!"
+msgstr "{1} von {2} erhöht seine Verteidigung!"
+
+msgid "Using its {1}, the Special Attack of {2} rose!"
+msgstr "{1} von {2} erhöht seinen Spezial-Angriff!"
+
+msgid "Using its {1}, the Special Defense of {2} rose!"
+msgstr "{1} von {2} erhöht seine Spezial-Verteidigung!"
+
+msgid "Using its {1}, the Speed of {2} rose!"
+msgstr "{1} von {2} erhöht seine Initiative!"
+
+msgid "Using {1}, the Attack of {2} rose sharply!"
+msgstr "{1} von {2} erhöht seinen Angriff stark!"
+
+msgid "Using {1}, the Defense of {2} rose sharply!"
+msgstr "{1} von {2} erhöht seine Verteidigung stark!"
+
+msgid "Using {1}, the Special Attack of {2} rose sharply!"
+msgstr "{1} von {2} erhöht seinen Spezial-Angriff stark!"
+
+msgid "Using {1}, the Special Defense of {2} rose sharply!"
+msgstr "{1} von {2} erhöht seine Spezial-Verteidigung stark!"
+
+msgid "Using {1}, the Speed of {2} rose sharply!"
+msgstr "{1} von {2} erhöht seine Initiative stark!"
+
+msgid "VT data imported."
+msgstr "VT-Daten importiert"
+
+msgid "Variables"
+msgstr "Variablen"
+
+msgid "Version is up-to-date, no update needed! \\wtnp[30]"
+msgstr "Version ist aktuell, kein Update nötig! \\wtnp[30]"
+
+msgid "Very finicky."
+msgstr "Sehr pedantisch."
+
+msgid "Volcano"
+msgstr "Vulkan"
+
+msgid "WARP TO MAP"
+msgstr "WARPE ZU KARTE"
+
+msgid "WITHDRAW"
+msgstr "NEHMEN"
+
+msgid "WITHDRAW POKéMON"
+msgstr "POKéMON NEHMEN"
+
+msgid "WT"
+msgstr "GEW."
+
+msgid "Wacan Berries"
+msgstr "Kerzalbeeren"
+
+msgid "Waiting for a rematch{1}"
+msgstr "Auf einen Rückkampf wartend{1}"
+
+msgid "Wallpaper"
+msgstr "Motiv"
+
+msgid "Want to escape from here and return to {1}?"
+msgstr "Möchtest du von hier fliehen und zu {1} zurückkehren?"
+
+msgid "Want to plant a Berry?"
+msgstr "Möchtest du eine Beere pflanzen?"
+
+msgid "Want to return to the healing spot used last in {1}?"
+msgstr "Möchtest du zum zuletzt benutzten Heilort {1} zurückkehren?"
+
+msgid "Want to sprinkle some water with the {1}?"
+msgstr "Möchtest du {1} bewässern?"
+
+msgid "Warning: Map {1}, as mentioned in the map\nconnection data, was not found.\n{2}"
+msgstr "Warning: Map {1}, as mentioned in the map\nconnection data, was not found.\n{2}"
+
+msgid "Warning: Physical and special moves can't have a base damage of 0, changing to a Status move\n{1}"
+msgstr "Warning: Physical and special moves can't have a base damage of 0, changing to a Status move\n{1}"
+
+msgid "Warning: Randomizer Mode greatly affects the balance of the game."
+msgstr "Warnung: Der Zufallsmodus beeinflusst das Gleichgewicht des Spiels stark."
+
+msgid "Warp to Map"
+msgstr "Warpe zu Karte"
+
+msgid "Water"
+msgstr "Wasser"
+
+msgid "Watmel Berries"
+msgstr "Wasmelbeeren"
+
+msgid "We have some of Tandor's best and brightest here to dazzle you with their spectacular battling skills!"
+msgstr "Wir haben die besten aus Tandor hier, um euch mit ihren spektakulären Kampffähigkeiten zu blenden!"
+
+msgid "We hope you enjoy playing Pokémon Uranium!"
+msgstr "Wir hoffen, dass es dir Spaß macht Pokémon Uran zu spielen!"
+
+msgid "We tried our hardest in this battle, and that's what counts."
+msgstr "Wir haben unser Bestes gegeben und das ist alles, was zählt."
+
+msgid "We're back with Round 3, the quarterfinals!"
+msgstr "Wir sind zurück für Runde 3, dem Viertelfinale!"
+
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+msgid "Welcome to the Hall of Fame!"
+msgstr "Willkommen in der Ruhmeshalle!"
+
+msgid "Welcome to the first round of the\nPokémon League Tournament!"
+msgstr "Willkommen zur ersten Runde des Turniers der Pokémon-Liga!"
+
+msgid "Welcome!\nHow may I serve you?"
+msgstr "Willkommen!\nKann ich dir helfen?"
+
+msgid "Well fought, indeed! You deserved this victory."
+msgstr "Gut gekämpft, wirklich! Du verdienst diesen Sieg."
+
+msgid "Well, it has been a while, hasn't it?\nWhen I battled you, you were just a naive child, fumbling around in the dark.\nNow, you face me in the arena with confidence!\nYour fighting spirit is like a bright, shining light!\nI can tell you are no longer afraid.\nGyahahaha!! That's what I like to see!\nShow me your fearlessness in battle!"
+msgstr "Es ist ziemlich lange her, nicht wahr?\nBeim letzten Kampf warst du noch ein naives Kind, welches im Dunkeln herumtastete.\nJetzt ist dein Kampfgeist wie ein helles, leuchtendes Licht!\nIch merke, dass du keine Angst mehr hast.\nMuahahaha!! Das wollte ich sehen!\nZeig' mir deine Furchtlosigkeit im Kampf!"
+
+msgid "Well, let's not delay... on with the match!"
+msgstr "Nun, Schluss mit den Verzögerungen... Lasst den Kampf beginnen!"
+
+msgid "Well, you certainly know what you want out of life.\\^"
+msgstr "Nun, du weißt, was du vom Leben erwartest.\\^"
+
+msgid "Wepear Berries"
+msgstr "Nirbebeeren"
+
+msgid "West side of first map must connect with east side of second map\n{1}"
+msgstr "West side of first map must connect with east side of second map\n{1}"
+
+msgid "What a match!"
+msgstr "Was für ein Kampf!"
+
+msgid "What could be in store for us this round?"
+msgstr "Was könnte uns in dieser Runde bevorstehen?"
+
+msgid "What do you want to do with {1}'s Mail?"
+msgstr "Was möchtest du mit dem Brief von {1} tun?"
+
+msgid "What do you want to do?"
+msgstr "Was möchtest du tun?"
+
+msgid "What shall I do with this {1}?"
+msgstr "Was soll ich mit {1} tun?"
+
+msgid "What will\n{1} do?"
+msgstr "Was soll\n{1} tun?"
+
+msgid "What will\n{1} throw?"
+msgstr "Was wird\n{1} werfen?"
+
+msgid "What will hatch from this? It doesn't seem close to hatching."
+msgstr "Was da wohl schlüpfen wird? Es wird sicher noch lange dauern."
+
+msgid "What will {1} do?"
+msgstr "Was wird {1} tun?"
+
+msgid "What?\n{1} is evolving!"
+msgstr "Hey?\n{1} entwickelt sich!"
+
+msgid "When the flame touched the powder on the Pokémon, it exploded!"
+msgstr "Das Feuer bringt das Pulver zum Explodieren!"
+
+msgid "Which PC should be accessed?"
+msgstr "Zugriff auf wessen PC?"
+
+msgid "Which move should be forgotten?"
+msgstr "Welche Attacke soll vergessen werden?"
+
+msgid "Which one do you want back?"
+msgstr "Welches möchtest du?"
+
+msgid "Which one will you take?"
+msgstr "Welches wählst du aus?"
+
+msgid "Which report should I read?"
+msgstr "Welchen Bericht soll ich lesen?"
+
+msgid "White"
+msgstr "Weiß"
+
+msgid "White Tiles: {1}"
+msgstr "Weiße Kacheln: {1}"
+
+msgid "Who are you?\\^"
+msgstr "Wer bist du?\\^"
+
+msgid "Who will it be?"
+msgstr "Wer wird es sein?"
+
+msgid "Wide Guard protected your team!"
+msgstr "Die Pokémon auf deiner Seite werden von Rundumschutz behütet!"
+
+msgid "Wide Guard protected {1}!"
+msgstr "{1} wird durch Rundumschutz geschützt!"
+
+msgid "Wiki Berries"
+msgstr "Wikibeeren"
+
+msgid "Wild Pokémon will be lured."
+msgstr "Wilde Pokémon werden angezogen."
+
+msgid "Wild Pokémon will be repelled."
+msgstr "Wilde Pokémon werden abgehalten."
+
+msgid "Wild battles with more than two Pokémon are not allowed."
+msgstr "Kämpfe gegen wilde Pokémon mit mehr als zwei Pokémons sind nicht erlaubt."
+
+msgid "Wild {1} and\n{2} appeared!"
+msgstr "Ein wildes {1} und\n{2} erscheint!"
+
+msgid "Wild {1} appeared!"
+msgstr "Ein wildes {1} erscheint!"
+
+msgid "Will you switch your Pokémon?"
+msgstr "Möchtest du dein Pokémon wechseln?"
+
+msgid "Withdraw"
+msgstr "Nehmen"
+
+msgid "Withdraw\nItem"
+msgstr "Item\nnehmen"
+
+msgid "Withdraw Item"
+msgstr "Item nehmen"
+
+msgid "Withdraw Pokémon"
+msgstr "Pokémon nehmen"
+
+msgid "Withdrew {1} {2}(s)."
+msgstr "{1}x {2} zurückgenommen."
+
+msgid "Withdrew {1}."
+msgstr "{1} zurückgenommen"
+
+msgid "Wonder Room wore off, and the Defense and Sp. Def stats returned to normal!"
+msgstr "Der Wunderraum verpufft. Verteidigung und Spezial-Verteidigung werden wieder zurückgesetzt!"
+
+msgid "Woooow! Like, that was a totally sweet battle!~ I guess this just isn't my year to win. But now, you'd better win in my stead, okay?~"
+msgstr "Woooow! Das war ein total niedlicher Kampf!~ Ich denke dieses Jahr ist nicht so meins, um zu gewinnen. Gewinne für mich, okay?~"
+
+msgid "Would you like to cut it?"
+msgstr "Möchtest du Zerschneider einsetzen?"
+
+msgid "Would you like to forfeit the match and quit now?"
+msgstr "Möchtest du den Kampf jetzt aufgeben?"
+
+msgid "Would you like to give a nickname to {1}?"
+msgstr "Möchtest du dem {1} einen Spitznamen geben?"
+
+msgid "Would you like to move it?"
+msgstr "Möchtest du Stärke einsetzen?"
+
+msgid "Would you like to nickname the newly hatched {1}?"
+msgstr "Möchtest du dem geschlüpften {1} einen Spitznamen geben?"
+
+msgid "Would you like to restart the game and apply the changes?"
+msgstr "Möchtest du das Spiel neustarten und die Änderungen speichern?"
+
+msgid "Would you like to save the game?"
+msgstr "Möchtest du das Spiel speichern?"
+
+msgid "Would you like to switch the two items?"
+msgstr "Sollen die Items ausgetauscht werden?"
+
+msgid "Wow! That battle was quite a workout, huh?\nI think it's safe to say that you're the stronger among us.\nI'll be cheering you on from here on out!"
+msgstr "Wow! Dieser Kampf war recht anstrengend, hm?\nIch denke, man kann sagen, dass du zwischen uns stärker bist.\nIch werde dich von nun an anfeuern!"
+
+msgid "Wow, you look like a really strong trainer...\nUm. I'm Angelica, and I train Fairy types.\nWe're cute, but don't let it fool you:\nwe're really strong too.\nAfter all, Fairies can stand up to the power of dragons. So we aren't afraid of any tough-looking trainers, either. If you aren't acquainted with the power of fairies, then, you'll know soon enough!"
+msgstr "Wow, du siehst {wie ein wirklich starker Trainer|wie eine wirklich starke Trainerin|wirklich stark} aus...\nÄhm. Ich bin Angelika und ich trainiere Feen-Pokémon.\nWir sind zwar süß, aber lass dich nicht vom Schein trügen:\nWir sind auch sehr stark.\nFeen sind sogar der Stärke von Drachen gewachsen. Also machen uns auch keine stark aussehenden Trainer Angst. Wenn dir die Stärke von Feen noch nicht bekannt ist, wirst du sie schon früh genug kennenlernen!"
+
+msgid "Writing results"
+msgstr "Schreibe Ergebnisse"
+
+msgid "Wrong syntax for densities in encounters.txt; got \"{1}\"\n{2}"
+msgstr "Wrong syntax for densities in encounters.txt; got \"{1}\"\n{2}"
+
+msgid "YES"
+msgstr "JA"
+
+msgid "YES, USE EXISTING"
+msgstr "JA, BENUTZE EIN EXISTIERENDES"
+
+msgid "YES, USE NEW"
+msgstr "JA, BENUTZE EIN NEUES"
+
+msgid "Yache Berries"
+msgstr "Kiroyabeeren"
+
+msgid "Yellow"
+msgstr "Gelb"
+
+msgid "Yes"
+msgstr "Ja"
+
+msgid "Yes, I won!"
+msgstr "Ja, ich habe gewonnen!"
+
+msgid "You already caught a {1}."
+msgstr "Du hast ein {1} schon gefangen."
+
+msgid "You can catch shiny Pokemon even if they aren't your first encounter."
+msgstr "Du kannst schillernde Pokémon auch nach der ersten Begegnung fangen."
+
+msgid "You can choose from three different game screen sizes."
+msgstr "Wähle aus drei verschiedenen Fenstergrößen oder Vollbild."
+
+msgid "You can choose from three different text-scrolling speeds."
+msgstr "Wähle aus drei verschiedenen Textgeschwindigkeiten."
+
+msgid "You can choose if the game should remember the last save you loaded."
+msgstr "Du kannst wählen, ob das Spiel sich den zuletzt geladenen Spielstand merken soll."
+
+msgid "You can choose the style of the game's font."
+msgstr "Wähle die Schriftart des Spiels."
+
+msgid "You can choose to switch Pokémon when an opponent's Pokémon faints."
+msgstr "Wähle, ob du wechseln kannst, wenn das gegnerische Pokémon kampfunfähig ist."
+
+msgid "You can choose whether controller vibration is enabled."
+msgstr "Wähle, ob Controller-Vibration eingeschaltet sein soll."
+
+msgid "You can choose whether to view move animations."
+msgstr "Wähle, ob du Attacken-Animationen sehen willst."
+
+msgid "You can receive even more Coins in the next game!"
+msgstr "Du kannst sogar mehr Münzen im nächsten Spiel erhalten!"
+
+msgid "You can select your preferred pronouns."
+msgstr "Wie möchtest du angesprochen werden? (Melde Fehler: discord.gg/PhBXtnGutw)"
+
+msgid "You can set the game's SFX volume."
+msgstr "Ändere die Effektlautstärke."
+
+msgid "You can set the game's frames per second."
+msgstr "Bilder pro Sekunde. Beeinflusst die Geschwindigkeit des Spiels."
+
+msgid "You can set the game's language."
+msgstr "Wähle die Sprache des Spiels."
+
+msgid "You can set the game's music volume."
+msgstr "Ändere die Musiklautstärke."
+
+msgid "You can use the patcher.exe in your game folder to update! \\wtnp[40]"
+msgstr "Du kannst patcher.exe im Ordner des Spiels verwenden, um zu updaten! \\wtnp[40]"
+
+msgid "You can't dismount your Bike here."
+msgstr "Du kannst hier nicht vom Rad absteigen."
+
+msgid "You can't play unless you have a Coin Case."
+msgstr "Du kannst nicht spielen bis du einen Münzkorb hast."
+
+msgid "You can't release an Egg."
+msgstr "Du kannst kein Ei freilassen."
+
+msgid "You can't release eggs."
+msgstr "Du kannst Eier nicht freilassen."
+
+msgid "You can't switch {1}'s Pokémon with one of yours!"
+msgstr "Du kannst kein Pokémon von {1} mit eins von deinen tauschen!"
+
+msgid "You cross blades with the opponent!"
+msgstr "Eure Klingen kreuzen sich!"
+
+msgid "You don't have any Coins to play!"
+msgstr "Du hast keine Münzen um zu spielen!"
+
+msgid "You don't have any eligible pokemon for a sky battle"
+msgstr "Du besitzt kein geeignetes Pokémon für einen Himmelskampf"
+
+msgid "You don't have any other save files"
+msgstr "Du hast keine anderen Spielstände"
+
+msgid "You don't have enough berries."
+msgstr "Du hast nicht genug Beeren."
+
+msgid "You don't have enough cards."
+msgstr "Du hast nicht genug Karten."
+
+msgid "You don't have enough money."
+msgstr "Du hast nicht genug Geld dabei."
+
+msgid "You don't have your bag."
+msgstr "Du hast deine Tasche nicht dabei."
+
+msgid "You evade the opponent's attack!"
+msgstr "Du weichst dem gegnerischen Angriff aus!"
+
+msgid "You fail to block the opponent's attack!"
+msgstr "Dir ist es nicht gelungen den gegnerischen Angriff zu blocken!"
+
+msgid "You have a burning spirit within you that never ceases!\\^"
+msgstr "Du hast ein Feuer in dir, das nie erlischt!\\^"
+
+msgid "You have a great future ahead, but what about now?"
+msgstr "Du hast eine großartige Zukunft vor dir, aber wie sieht es jetzt aus?"
+
+msgid "You have no Pokemon that can be purified."
+msgstr "Du hast kein Pokémon, das erlöst werden kann."
+
+msgid "You have no cards."
+msgstr "Du hast keine Karten."
+
+msgid "You have no more room in the Bag."
+msgstr "Du hast keinen Platz in der Tasche mehr."
+
+msgid "You have no room for more cards."
+msgstr "Du hast für weitere Karten keinen Platz."
+
+msgid "You have no room left in the Bag."
+msgstr "Du hast keinen Platz in der Tasche mehr."
+
+msgid "You have no usable items in this pocket."
+msgstr "Du hast keine nutzbaren Items in dieser Tasche."
+
+msgid "You haven't found any Coins! Are you sure you want to quit?"
+msgstr "Du hast keine Münzen gefunden! Möchtest du wirklich aufhören?"
+
+msgid "You hit each other!"
+msgstr "Ihr schlagt euch gegenseitig!"
+
+msgid "You know that the best things in life come to those who wait.\\^"
+msgstr "Du weißt, dass die besten Dinge im Leben diejenigen erfahren, die warten.\\^"
+
+msgid "You must choose a move!"
+msgstr "Du musst eine Attacke auswählen!"
+
+msgid "You must choose at least one rule to play a custom game."
+msgstr "Du musst zumindest eine Regel wählen um zu starten."
+
+msgid "You must complete the game at least once to unlock Randomizer."
+msgstr "Du musst das Spiel mindestens einmal abschließen, um den Randomizer freizuschalten."
+
+msgid "You must enable Nuzlocke to select this."
+msgstr "Du musst Nuzlocke aktivieren, um dies auszuwählen."
+
+msgid "You need an internet connection to use the GTS, WT and VT"
+msgstr "Du benötigst für die Benutzung der GTS, WT und VT eine Internetverbindung"
+
+msgid "You now have ${1}."
+msgstr "Du hast nun {1}$"
+
+msgid "You now have {1} Coins."
+msgstr "Du hast nun {1} Münzen"
+
+msgid "You picked the {1} {2}.\\wtnp[30]"
+msgstr "Du hast {1} {2} geerntet.\\wtnp[30]"
+
+msgid "You picked the {1}.\\wtnp[30]"
+msgstr "Du hast {1} geernted.\\wtnp[30]"
+
+msgid "You pierce through the opponent's defenses!"
+msgstr "Du durchbrichst die Verteidigung des Gegners!"
+
+msgid "You prefer to adapt to overcome challenges in your path.\\^"
+msgstr "Du ziehst es vor dich anzupassen, um Herausforderungen zu meistern.\\^"
+
+msgid "You prefer to overwhelm your opponents with sheer force and firepower.\\^"
+msgstr "Du magst es deine Gegner mit Gewalt und Durchsetzungskraft zu überwältigen.\\^"
+
+msgid "You seem to be a Trainer who likes to play it safe.\\^"
+msgstr "Du scheinst {ein Trainer|eine Trainerin|ein Trainer} zu sein, {der|die|der} keine Risiken eingeht.\\^"
+
+msgid "You seem to be a trainer that is capable of many different strategies.\\^"
+msgstr "Du scheinst {ein Trainer|eine Trainerin|ein Trainer} zu sein, {der|die|der} in der Lage ist verschiedene Strategien zu entwickeln.\\^"
+
+msgid "You seem to be a trainer who won't hesitate to go for what you want.\\^"
+msgstr "Du scheinst {ein Trainer|eine Trainerin|ein Trainer} zu sein, {der|die|der} zielstrebig ist.\\^"
+
+msgid "You study each other's movements..."
+msgstr "Ihr schaut euch gegenseitig an..."
+
+msgid "You used your last {1}."
+msgstr "Du hast kein {1} mehr."
+
+msgid "You're already surfing."
+msgstr "Du surfst bereits."
+
+msgid "You're holding a Pokémon!"
+msgstr "In welche Box ablegen?"
+
+msgid "You're impulsive, impatient, and care mostly about your own desires.\\^"
+msgstr "Du bist impulsiv, ungeduldig und kümmerst dich meistens nur um dich.\\^"
+
+msgid "You've found all of the hidden x2 and x3 cards."
+msgstr "Du hast alle versteckten x2 und x3 Karten gefunden."
+
+msgid "You've got 99,999 Coins."
+msgstr "Du hast 99.999 Münzen."
+
+msgid "You've run out of Coins.\nGame over!"
+msgstr "Du hast keine Münzen mehr.\nGame over!"
+
+msgid "Youngster Samuel"
+msgstr "Knirps Samuel"
+
+msgid "Your Coin Case has been filled."
+msgstr "Dein Münzkorb wurde gefüllt."
+
+msgid "Your Coin Case is full!"
+msgstr "Dein Münzkorb ist voll!"
+
+msgid "Your PC's Mailbox is full."
+msgstr "Du kannst keine weiteren Briefe auf deinen PC übertragen."
+
+msgid "Your Pokémon were healed."
+msgstr "Deine Pokémon wurden geheilt"
+
+msgid "Your Pokémon will be waiting for you in the Pokémon Storage System."
+msgstr "Deine Pokémon werden auf dich im Pokémon-Lagerungssystem warten."
+
+msgid "Your attack was evaded!"
+msgstr "Deinem Angriff wurde ausgewichen!"
+
+msgid "Your attack was not blocked!"
+msgstr "Dein Angriff wurde nicht geblockt!"
+
+msgid "Your calm, rational approach will come to aid you in the future.\\^"
+msgstr "Deine ruhige und rationale Herangehensweise wird dir in Zukunft helfen.\\^"
+
+msgid "Your coins"
+msgstr "Deine Münzen"
+
+msgid "Your foe's weak!\nGet 'em, {1}!"
+msgstr "Mach es fertig!\nLos, {1}!"
+
+msgid "Your game is out-of-date!\nUpdate required. \\wtnp[30]"
+msgstr "Dein Spiel ist veraltet! \nUpdate benötigt. \\wtnp[30]"
+
+msgid "Your journey --- your story --- is about to unfold."
+msgstr "Deine Reise --- deine Geschichte --- ist bereit, sich zu entfalten."
+
+msgid "Your name is {1}?"
+msgstr "Dein Name ist {1}?"
+
+msgid "Your name?"
+msgstr "Dein Name?"
+
+msgid "Your old Nuzlocke savefile needs to be converted to the new system."
+msgstr "Dein alter Nuzlocke-Spielstand muss ins neue System konvertiert werden."
+
+msgid "Your party Pokémon and any in the Daycare will be deposited, too."
+msgstr "Deine Pokémon im Team und in den Pensionen werden auch abgelegt."
+
+msgid "Your party is full!"
+msgstr "Dein Team ist voll!"
+
+msgid "Your party is full! You can't unfuse {1}."
+msgstr "Dein Team ist voll! Du kannst die Fusion von {1} nicht auflösen."
+
+msgid "Your party's full!"
+msgstr "Dein Team ist voll!"
+
+msgid "Your philosophy is probably to just \"go with the flow\".\\^"
+msgstr "Deine Philosophie ist wahrscheinlich \"mit dem Strom zu schwimmen\".\\^"
+
+msgid "Your special attacks collide!"
+msgstr "Eure spezielle Attacken treffen aufeinander!"
+
+msgid "Your starter as well as all wild and trainer Pokémon will be randomized."
+msgstr "Dein Starter- und alle wilden und Trainerpokémon werden zufällig sein."
+
+msgid "Your team became cloaked in a mystical veil!"
+msgstr "Das Team des Anwenders wird von einem Schleier umhüllt!"
+
+msgid "Your team became shrouded in mist!"
+msgstr "Das Team des Anwenders wird von einem Schleier umhüllt!"
+
+msgid "Your team is no longer protected by Safeguard!"
+msgstr "Der mystische Schleier, der dein Team umgab, hat sich gelüftet!"
+
+msgid "Your team is no longer protected by mist!"
+msgstr "Der Weißnebel, der die Pokémon auf deiner Seite umgab, hat sich gelüftet!"
+
+msgid "Your team is too nervous to eat Berries!"
+msgstr "Die Pokémon auf der gegnerischen Seite kriegen vor Anspannung keine Beeren mehr runter!"
+
+msgid "Your team's Light Screen faded!"
+msgstr "Lichtschild auf deiner Seite hört auf zu wirken!"
+
+msgid "Your team's Light Screen wore off!"
+msgstr "Lichtschild auf deiner Seite hört auf zu wirken!"
+
+msgid "Your team's Lucky Chant wore off!"
+msgstr "Beschwörung deines Teams hört auf zu wirken!"
+
+msgid "Your team's Mist faded!"
+msgstr "Der mystische Schleier, der dein Team umgab, hat sich gelüftet!"
+
+msgid "Your team's Reflect faded!"
+msgstr "Reflektor auf deiner Seite hört auf zu wirken!"
+
+msgid "Your team's Reflect wore off!"
+msgstr "Reflektor auf deiner Seite hört auf zu wirken!"
+
+msgid "Your team's Tailwind petered out!"
+msgstr "Der Rückenwind auf deiner Seite hat sich gelegt!"
+
+msgid "Your {1} in the Purify Chamber is ready for purification!"
+msgstr "Dein {1} im Cryptorbis ist bereit erlöst zu werden!"
+
+msgid "[Custom]"
+msgstr "[Benutzerdefiniert]"
+
+msgid "\\GHere you go!"
+msgstr "\\GBitte schön!"
+
+msgid "\\GYou don't have enough money."
+msgstr "\\GDu hast nicht genug Geld."
+
+msgid "\\GYou have no room left in the Bag."
+msgstr "\\GDu hast keinen Platz in der Tasche mehr."
+
+msgid "\\PN, are you ready?"
+msgstr "\\PN, bist du bereit?"
+
+msgid "\\c[7]ENGAGEMENT FAILED.\\wt[16]\nA POWER CELL IS NEEDED."
+msgstr "\\c[7]AKTIVIERUNG FEHLGESCHLAGEN.\\wt[16]\nEINE ENERGIEZELLE WIRD BENÖTIGT."
+
+msgid "\\c[7]ENGAGEMENT SUCCESSFUL."
+msgstr "\\c[7]AKTIVIERUNG ERFOLGREICH."
+
+msgid "\\c[7]OBSTACLE DETECTED.\\wt[20]\nENGAGING STRENGTH PROTOCOL\\wt[8].\\wt[8].\\wt[8].\\wt[8]"
+msgstr "\\c[7]HINDERNIS ENTDECKT..\\wt[20]\nAKTIVIERE KRAFTPLAN\\wt[8].\\wt[8].\\wt[8].\\wt[8]"
+
+msgid "\\me[Jingle - HMTM]Obtained \\c[1]{1}\\c[0]!\nIt contained \\c[1]{2}\\c[0].\\wtnp[55]"
+msgstr "\\me[Jingle - HMTM]\\c[1]{1}\\c[0] erhalten!\nSie enthält \\c[1]{2}\\c[0].\\wtnp[55]"
+
+msgid "\\me[Jingle - HMTM]{1} found \\c[1]{2}\\c[0]!\nIt contained \\c[1]{3}\\c[0].\\wtnp[55]"
+msgstr "\\me[Jingle - HMTM]{1} fand \\c[1]{2}\\c[0]!\nSie enthält \\c[1]{3}\\c[0].\\wtnp[55]"
+
+msgid "\\me[Jingle - Regular Item]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]\\c[1]{1}\\c[0] erhalten!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]Obtained \\c[1]{1}s\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]\\c[1]{1}\\c[0] erhalten!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]Obtained some \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]Einige \\c[1]{1}\\c[0] erhalten!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found one \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} findet ein \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} hat \\c[1]{2}\\c[0] gefunden!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} hat \\c[1]{3}\\c[0] gefunden!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} hat {2}x \\c[1]{3}\\c[0] gefunden!\\wtnp[30]"
+
+msgid "\\me[Jinlge - KeyItem]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jinlge - KeyItem]\\c[1]{1}\\c[0] erhalten!\\wtnp[30]"
+
+msgid "\\me[Jinlge - KeyItem]Randomizer Mode has been unlocked!\\wt[30]\nIt will be available when starting a new Custom Game."
+msgstr "\\me[Jinlge - KeyItem]Zufallsmodus wurde freigeschaltet!\\wt[30]\nEr ist nun verfügbar wenn du ein neues Spiel startest."
+
+msgid "\\me[Jinlge - KeyItem]\\sign[sign1]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jinlge - KeyItem]\\sign[sign1]\\c[1]{1}\\c[0] erhalten!\\wtnp[30]"
+
+msgid "\\me[Voltorb Flip Game Over]Oh no! You get 0 Coins!\\wtnp[50]"
+msgstr "\\me[Voltorb Flip Game Over]Oh nein! Du erhältst 0 Münzen!\\wtnp[50]"
+
+msgid "\\me[Voltorb Flip Win]Board clear!\\wtnp[40]"
+msgstr "\\me[Voltorb Flip Win]Brett leergeräumt!\\wtnp[40]"
+
+msgid "\\se[Voltorb Flip Level Dropped]Dropped to Game Lv. {1}!"
+msgstr "\\se[Voltorb Flip Level Dropped]Auf Lv. {1} zurückgefallen!"
+
+msgid "\\se[]1,\\wt[4] 2,\\wt[4] and...\\wt[8] ...\\wt[8] ...\\wt[8] Poof!\\se[balldrop]"
+msgstr "\\se[]1,\\wt[4] 2,\\wt[4] and...\\wt[8] ...\\wt[8] ...\\wt[8] Schwupp!\\se[balldrop]"
+
+msgid "\\se[]Save failed.\\wtnp[30]"
+msgstr "\\se[]Speichern fehlgeschlagen.\\wtnp[30]"
+
+msgid "\\se[]{1} hatched from the Egg!\\wt[80]"
+msgstr "\\se[]{1} schlüpfte aus dem Ei!\\wt[80]"
+
+msgid "\\se[]{1} learned {2}!\\se[itemlevel]"
+msgstr "\\se[]{1} erlernt {2}!\\se[itemlevel]"
+
+msgid "\\se[]{1} saved the game.\\se[save]\\wtnp[30]"
+msgstr "\\se[]{1} hat das Spiel gespeichert.\\se[save]\\wtnp[30]"
+
+msgid "\\se[accesspc]Accessed the Hall of Fame."
+msgstr "\\se[accesspc]Ruhmeshalle betreten."
+
+msgid "\\se[accesspc]Accessed the Purify Chamber."
+msgstr "\\se[accesspc]Cryptorbis geöffnet."
+
+msgid "\\se[accesspc]Accessed {1}'s PC."
+msgstr "\\se[accesspc]Verbindung mit PC von {1}."
+
+msgid "\\se[accesspc]Booted up a TM."
+msgstr "\\se[accesspc]Eine TM wurde aktiviert."
+
+msgid "\\se[accesspc]Booted up an HM."
+msgstr "\\se[accesspc]Eine VM wurde aktiviert."
+
+msgid "\\se[accesspc]The Pokémon Storage System was opened."
+msgstr "\\se[accesspc]Pokémon-Lagerungs-System geöffnet."
+
+msgid "\\se[computeropen]{1} booted up the PC."
+msgstr "\\se[computeropen]{1} schaltet den PC ein."
+
+msgid "\\se[itemlevel]{1} received \\c[1]{2}\\c[0]!\\nIt contained \\c[1]{3}\\c[0].\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} erhalten \\c[1]{2}\\c[0]!\\nEs enthielt \\c[1]{3}\\c[0].\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received a \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} erhielt ein \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received an \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} erhielt ein \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received some \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} erhielt \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} erhielt {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} erhielt {2}x \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\ts[]Manage Mystery Gifts (X=online)."
+msgstr "\\ts[]Verwalte Geheimgeschehen (X=online)."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]After the unfortunate defeat, {1} scurried home."
+msgstr "\\w[]\\wm\\c[8]\\l[3]Nach der Niederlage, rannte {1} nach Hause."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]After the unfortunate defeat, {1} scurried to a Pokémon Center."
+msgstr "\\w[]\\wm\\c[8]\\l[3]Nach der Niederlage rannte {1} zu einem Pokémon Center."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]{1} scurried home, protecting the exhausted and fainted Pokémon from further harm."
+msgstr "\\w[]\\wm\\c[8]\\l[3]{1} rannte nach Hause, um die erschöpften und besiegten Pokémon vor weiterem Schaden zu bewahren."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]{1} scurried to a Pokémon Center, protecting the exhausted and fainted Pokémon from further harm."
+msgstr "\\w[]\\wm\\c[8]\\l[3]{1} rannte zu einem Pokémon-Center, um die erschöpften und besiegten Pokémon vor weiterem Schaden zu bewahren."
+
+msgid "accuracy"
+msgstr "Genauigkeit"
+
+msgid "an egg"
+msgstr "Ein Ei"
+
+msgid "boardbg"
+msgstr "../../Translations/German/boardbg_de"
+
+msgid "egg"
+msgstr "Ei"
+
+msgid "evasiveness"
+msgstr "Fluchtwert"
+
+msgid "female"
+msgstr "weiblich"
+
+msgid "genderless"
+msgstr "geschlechtslos"
+
+msgid "lower"
+msgstr "klein"
+
+msgid "male"
+msgstr "männlich"
+
+msgid "memo"
+msgstr "../../Translations/German/memo_de"
+
+msgid "off"
+msgstr "aus"
+
+msgid "on"
+msgstr "an"
+
+msgid "other"
+msgstr "Andere"
+
+msgid "phonebg"
+msgstr "../Translations/German/phonebg_de"
+
+msgid "pokemon -> tm"
+msgstr "Pokemon -> TM"
+
+msgid "pokemon -> tutor"
+msgstr "Pokémon -> Tutor"
+
+msgid "pokemon <- tm"
+msgstr "Pokemon <- TM"
+
+msgid "pokemon <- tutor"
+msgstr "Pokémon <- Tutor"
+
+msgid "shiny"
+msgstr "schillernd"
+
+msgid "the ally {1}"
+msgstr "dem verbündeten {1}"
+
+msgid "the egg"
+msgstr "Das Ei"
+
+msgid "the foe {1}"
+msgstr "das gegnerische {1}"
+
+msgid "the opposing {1}"
+msgstr "dem gegnerischen {1}"
+
+msgid "the wild {1}"
+msgstr "dem wilden {1}"
+
+msgid "their egg"
+msgstr "Deren Ei"
+
+msgid "wh̳hC PC sHoulD bE̳ acCe̳sEd?̳̳̳"
+msgstr "aUf̳ weCHEen pC m_öChtE̳st du zUgRifen?̳̳̳"
+
+msgid "{1:s}: Search Mode"
+msgstr "{1:s}: Suchmodus"
+
+msgid "{1:s}POWER/{2:s}\nPP/{3:d}ACCURACY/{4:s}"
+msgstr "{1:s}STÄRKE/{2:s}\nAP/{3:d}GENAUIGKEIT/{4:s}"
+
+msgid "{1:s}PP: ---
TYPE/{2:s}"
+msgstr "{1:s}AP: ---
TYP/{2:s}"
+
+msgid "{1:s}PP: {2: 2d}/{3: 2d}
TYPE/{4:s}"
+msgstr "{1:s}AP: {2: 2d}/{3: 2d}
TYP/{4:s}"
+
+msgid "{1}\nwould like to battle!"
+msgstr "{1}\nmöchte kämpfen!"
+
+msgid "{1}\n{2}"
+msgstr "{1}\n{2}"
+
+msgid "{1} (Lv.{2}) caught."
+msgstr "{1} (Lv.{2}) gefangen."
+
+msgid "{1} (Lv.{2}) defeated."
+msgstr "{1} (Lv.{2}) besiegt."
+
+msgid "{1} (Lv.{2}) not roaming (switch {3} is off)."
+msgstr "{1} (Lv.{2}) wandert nicht (Schalter {3} ist aus)"
+
+msgid "{1} (Lv.{2}) roaming (map not set)."
+msgstr "{1} (Lv.{2}) wandert (Karte nicht gesetzt)."
+
+msgid "{1} (Lv.{2}) roaming on map {3} ({4}){5}"
+msgstr "{1} (Lv.{2}) wandert auf Karte {3} ({4}){5}"
+
+msgid "{1} (PP: ---)"
+msgstr "{1} (AP: ---)"
+
+msgid "{1} (PP: {2}/{3})"
+msgstr "{1} (AP: {2}/{3})"
+
+msgid "{1} Badge {2}"
+msgstr "{1} Orden {2}"
+
+msgid "{1} Female"
+msgstr "{1} Weiblich"
+
+msgid "{1} Female Shiny"
+msgstr "{1} Weiblich Schillernd"
+
+msgid "{1} Lv{2} {3}"
+msgstr "{1} Lv{2} {3}"
+
+msgid "{1} Lv{2} {3}/{4}"
+msgstr "{1} Lv{2} {3}/{4}"
+
+msgid "{1} Male"
+msgstr "{1} Männlich"
+
+msgid "{1} Male Shiny"
+msgstr "{1} Männlich Schillernd"
+
+msgid "{1} Pokémon are in the Day Care."
+msgstr "{1} Pokémon sind in der Pension"
+
+msgid "{1} Pokémon are needed."
+msgstr "{1} Pokémon sind notwendig."
+
+msgid "{1} Pokémon will be released, 1 of them is shiny. Are you absolutely certain?"
+msgstr "{1} Pokémon werden freigelassen, 1 davon ist shiny. Bist du dir absolut sicher?"
+
+msgid "{1} Pokémon will be released, {2} of them are shiny. Are you absolutely certain?"
+msgstr "{1} Pokémon werden freigelassen, {2} davon sind shiny. Bist du dir absolut sicher?"
+
+msgid "{1} Pokémon will be released. Are you absolutely certain?"
+msgstr "{1} Pokémon werden freigelassen. Bist du dir absolut sicher?"
+
+msgid "{1} Shiny"
+msgstr "{1} Schillernd"
+
+msgid "{1} absorbed nutrients with its roots!"
+msgstr "{1} nimmt über seine Wurzeln Nährstoffe auf!"
+
+msgid "{1} acquired {2}!"
+msgstr "{1} erhält {2}!"
+
+msgid "{1} adores you!\nThe base Attack fell!"
+msgstr "{1} vergöttert dich!\nDer Grundwert Angriff sinkt!"
+
+msgid "{1} adores you!\nThe base Defense fell!"
+msgstr "{1} vergöttert dich!\nDer Grundwert Verteidigung sinkt!"
+
+msgid "{1} adores you!\nThe base HP fell!"
+msgstr "{1} vergöttert dich!\nDer Grundwert KP sinkt!"
+
+msgid "{1} adores you!\nThe base Special Attack fell!"
+msgstr "{1} vergöttert dich!\nDer Grundwert Spezial-Angriff sinkt!"
+
+msgid "{1} adores you!\nThe base Special Defense fell!"
+msgstr "{1} vergöttert dich!\nDer Grundwert Spezial-Verteidigung sinkt!"
+
+msgid "{1} adores you!\nThe base Speed fell!"
+msgstr "{1} vergöttert dich!\nDer Grundwert Initiative sinkt!"
+
+msgid "{1} adores you!\nThe door to its heart opened a little."
+msgstr "{1} vergöttert dich!\nDie Tür zu seinem Herzen hat sich ein Stück geöffnet."
+
+msgid "{1} already has a burn."
+msgstr "{1} leidet bereits unter Verbrennungen!"
+
+msgid "{1} already has a substitute!"
+msgstr "{1} hat bereits einen Delegator!"
+
+msgid "{1} already knows\n{2}."
+msgstr "{1} kennt bereits\n{2}."
+
+msgid "{1} anchored itself with its roots!"
+msgstr "{1} verankert seine Wurzeln!"
+
+msgid "{1} anchored itself with {2}!"
+msgstr "{1} verankert sich mithilfe von {2}!"
+
+msgid "{1} anchored itself!"
+msgstr "{1} verankert sich!"
+
+msgid "{1} and {2} are attacking!"
+msgstr "{1} und {2} greifen an!"
+
+msgid "{1} and {2} want to battle!"
+msgstr "{1} und {2} möchten kämpfen!"
+
+msgid "{1} appears incapable of using its power!"
+msgstr "{1} ist nicht in der Lage seine Kraft einzusetzen!"
+
+msgid "{1} avoided damage with Wonder Guard!"
+msgstr "{1} verhinderte Schaden mit Wunderwache!"
+
+msgid "{1} avoided the attack!"
+msgstr "{1} wehrt die Attacke ab!"
+
+msgid "{1} avoids attacks by its ally Pokémon!"
+msgstr "{1} nimmt keinen Schaden durch Attacken von Mitstreitern!"
+
+msgid "{1} became cloaked in a freezing light!"
+msgstr "{1} wird von einem kühlen Licht umhüllt!"
+
+msgid "{1} became cloaked in freezing air!"
+msgstr "{1} wird in klirrend kalte Luft gehüllt!"
+
+msgid "{1} became cloaked in mystical moonlight!"
+msgstr "{1} wird in mysteriöses Mondlicht getaucht!"
+
+msgid "{1} became confused due to fatigue!"
+msgstr "{1} ist vor Erschöpfung verwirrt!"
+
+msgid "{1} became confused!"
+msgstr "{1} wurde verwirrt!"
+
+msgid "{1} became healthy!"
+msgstr "{1} erholt sich!"
+
+msgid "{1} became healthy."
+msgstr "{1} erholt sich."
+
+msgid "{1} became nimble!"
+msgstr "{1} ist leichter geworden!"
+
+msgid "{1} became the center of attention!"
+msgstr "{1} zieht alle Aufmerksamkeit auf sich!"
+
+msgid "{1} became trapped by Sand Tomb!"
+msgstr "{1} wurde durch Sandgrab gefangen!"
+
+msgid "{1} became trapped by swirling magma!"
+msgstr "{1} wurde in wirbelndem Feuer eingeschlossen!"
+
+msgid "{1} began charging power!"
+msgstr "{1} lädt sich auf!"
+
+msgid "{1} began growling deeply!"
+msgstr "{1} beginnt zu brummen!"
+
+msgid "{1} began having a nightmare!"
+msgstr "Nachtmahr sucht {1} heim!"
+
+msgid "{1} bids farewell to {2}."
+msgstr "{1} verabschiedet sich von {2}."
+
+msgid "{1} blacked out!"
+msgstr "{1} wird schwarz vor Augen!"
+
+msgid "{1} bounced the {2} back!"
+msgstr "{1} leitet {2} zurück!"
+
+msgid "{1} braced itself!"
+msgstr "{1} macht sich bereit!"
+
+msgid "{1} breaks the mold!"
+msgstr "{1} gelingt es gegnerische Fähigkeiten zu überbrücken!"
+
+msgid "{1} burrowed its way under the ground!"
+msgstr "{1} vergräbt sich in der Erde!"
+
+msgid "{1} called {2}!"
+msgstr "{1} ruft {2}!"
+
+msgid "{1} calmed down."
+msgstr "{1} beruhigt sich!"
+
+msgid "{1} came to its senses from the Trainer's call!"
+msgstr "Durch den Ruf des Trainers kommt es zur Vernunft!"
+
+msgid "{1} came to its senses from the {2}!"
+msgstr "Durch {2} kam {1} wieder zu sich!"
+
+msgid "{1} can now be purified!"
+msgstr "{1} kann nun erlöst werden!"
+
+msgid "{1} can use items again!"
+msgstr "{1} kann wieder Items einsetzen!"
+
+msgid "{1} can't be fused with itself!"
+msgstr "{1} kann nicht mit sich selbst fusionieren!"
+
+msgid "{1} can't be fused with {2}."
+msgstr "{1} kann nicht mit {2} fusioniert werden."
+
+msgid "{1} can't be learned."
+msgstr "{1} kann nicht erlernt werden."
+
+msgid "{1} can't be switched out!"
+msgstr "{1} kann nicht ausgetauscht werden!"
+
+msgid "{1} can't be taught to an Egg."
+msgstr "{1} kann einem Ei nicht beigebracht werden."
+
+msgid "{1} can't be taught to this Pokémon."
+msgstr "{1} kann diesem Pokémon nicht beigebracht werden."
+
+msgid "{1} can't be used in a sky battle!"
+msgstr "{1} kann nicht in einem Himmelskampf eingesetzt werden!"
+
+msgid "{1} can't escape now!"
+msgstr "{1} kann nicht fliehen!"
+
+msgid "{1} can't fight in a sky battle!"
+msgstr "{1} kann nicht am Himmelskampf teilnehmen!"
+
+msgid "{1} can't get it going!"
+msgstr "{1} kommt nicht in Fahrt!"
+
+msgid "{1} can't move somehow..."
+msgstr "{1} kann sich nicht bewegen..."
+
+msgid "{1} can't move!"
+msgstr "{1} kann sich nicht bewegen!"
+
+msgid "{1} can't stockpile any more!"
+msgstr "{1} kann nicht mehr horten!"
+
+msgid "{1} can't use items anymore!"
+msgstr "{1} kann keine Items mehr benutzen!"
+
+msgid "{1} can't use the same move twice in a row due to the torment!"
+msgstr "{1} kann aufgrund von Folterknecht die Attacke nicht zweimal hintereinander einsetzen!"
+
+msgid "{1} can't use the sealed {2}!"
+msgstr "{1} kann die versiegelte Attacke {2} nicht einsetzen!"
+
+msgid "{1} can't use {2} after the taunt!"
+msgstr "{1} kann {2} nach Verhöhner nicht einsetzen!"
+
+msgid "{1} can't use {2} because of Heal Block!"
+msgstr "{1} kann {2} aufgrund der Heilblockade nicht einsetzen!"
+
+msgid "{1} cannot be an egg. Make egg anyway?"
+msgstr "{1} kann kein Ei sein. Trotzdem zu Ei machen?"
+
+msgid "{1} cannot use {2}!"
+msgstr "{1} kann {2} nicht einsetzen!"
+
+msgid "{1} cards have been chosen."
+msgstr "{1} Karten wurden ausgewählt."
+
+msgid "{1} caused an uproar!"
+msgstr "{1} verursacht Aufruhr!"
+
+msgid "{1} changed Forme!"
+msgstr "{1} veränderte seine Form!"
+
+msgid "{1} chose Doom Desire as its destiny!"
+msgstr "{1} äußert einen Kismetwunsch für die Zukunft!"
+
+msgid "{1} clamped {2}!"
+msgstr "{1} wurde von {2} geschnappt!"
+
+msgid "{1} consumed its {2}!"
+msgstr "{1} verbraucht {2}!"
+
+msgid "{1} copied {2}'s stat changes!"
+msgstr "{1} kopiert die Statusveränderungen von {2}"
+
+msgid "{1} copied {2}'s {3}!"
+msgstr "{1} kopiert {3} von {2}!"
+
+msgid "{1} cured its infatuation status using its {2}!"
+msgstr "{2} von {1} bewirkt, dass es nicht mehr verliebt ist!"
+
+msgid "{1} cut its own HP and laid a curse on {2}!"
+msgstr "{1} nimmt einen Teil seiner KP und legt einen Fluch auf {2}!"
+
+msgid "{1} cut its own HP and maximized its Attack!"
+msgstr "{1} nutzt seine KP und maximiert dadurch seinen Angriffs-Wert!"
+
+msgid "{1} defeated\n{2}!"
+msgstr "{1} besiegt\n{2}!"
+
+msgid "{1} defeated the opponent\n{2} in a referee's decision!"
+msgstr "Der REFEREE entscheidet, dass\n{1} {2} schlägt!"
+
+msgid "{1} defeated {2} and {3}!"
+msgstr "{1} besiegst {2} und {3}!"
+
+msgid "{1} did a headbutt!"
+msgstr "{1} setzt Kopfnuss ein!"
+
+msgid "{1} did not learn {2}."
+msgstr "{1} hat {2} nicht erlernt."
+
+msgid "{1} doesn't become confused!"
+msgstr "{1} lässt sich nicht verwirren!"
+
+msgid "{1} doesn't have Pokérus."
+msgstr "{1} hat kein Pokérus"
+
+msgid "{1} endured the hit!"
+msgstr "{1} übersteht die Attacke!"
+
+msgid "{1} evaded the attack!"
+msgstr "{1} ist unversehrt!"
+
+msgid "{1} fainted!"
+msgstr "{1} wurde besiegt!"
+
+msgid "{1} fainted...\\"
+msgstr "{1} wurde besiegt...\\"
+
+msgid "{1} fell asleep!"
+msgstr "{1} ist eingeschlafen!"
+
+msgid "{1} fell for the taunt!"
+msgstr "{1} fällt auf Verhöhner herein!"
+
+msgid "{1} fell in love!"
+msgstr "{1} hat sich verliebt!"
+
+msgid "{1} fell straight down!"
+msgstr "{1} wurde davongeschleudert und ist herabgestürzt!"
+
+msgid "{1} fled from battle!"
+msgstr "{1} ist geflüchtet!"
+
+msgid "{1} fled using Run Away!"
+msgstr "{1} ist mithilfe von Angsthase geflüchtet!"
+
+msgid "{1} fled using its {2}!"
+msgstr "{1} ist mithilfe von {2} geflüchtet!"
+
+msgid "{1} fled!"
+msgstr "{1} ergreift die Flucht!"
+
+msgid "{1} flew up high!"
+msgstr "{1} fliegt hoch empor!"
+
+msgid "{1} flew {2} up into the air!"
+msgstr "{1} entführt {2} in luftige Höhen!"
+
+msgid "{1} flinched and couldn't move!"
+msgstr "{1} ist zurückgeschreckt und kann nicht angreifen!"
+
+msgid "{1} flung its {2}!"
+msgstr "{1} schleudert das Item {2}!"
+
+msgid "{1} foresaw an attack!"
+msgstr "{1} sieht eine Attacke voraus!"
+
+msgid "{1} forfeited the match!"
+msgstr "{1} hat aufgegeben!"
+
+msgid "{1} forgot how to\nuse {2}."
+msgstr "{1} hat\n{2} vergessen."
+
+msgid "{1} forgot {2}."
+msgstr "{1} hat {2} vergessen."
+
+msgid "{1} forgot {2}..."
+msgstr "{1} hat {2} vergessen..."
+
+msgid "{1} found \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "{1} findet \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found one \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "{1} findet ein \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found one {2}!"
+msgstr "{1} hat das Item {2} recycelt!"
+
+msgid "{1} found some \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "{1} findet \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found {2} \\c[1]{3}\\c[0]!\\wtnp[20]"
+msgstr "{1} findet \\c[1]{3}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found {2} \\c[1]{3}s\\c[0]!\\wtnp[20]"
+msgstr "{1} findet {2}x \\c[1]{3}\\c[0]!\\wtnp[20]"
+
+msgid "{1} frisked the foe and found one {2}!"
+msgstr "{1} hat {2} erschnüffelt!"
+
+msgid "{1} frisked the other foe and found one {2}!"
+msgstr "{1} hat {2} erschnüffelt!"
+
+msgid "{1} frisked {2} and found its {3}!"
+msgstr "{1} hat {3} von {2} erschnüffelt!"
+
+msgid "{1} gained a boosted {2} Exp. Points!"
+msgstr "{1} erhält {2} spezielle Erfahrungspunkte!"
+
+msgid "{1} gained {2} Exp. Points!"
+msgstr "{1} erhält {2} Erfahrungspunkte!"
+
+msgid "{1} gave ${2} to the winner..."
+msgstr "{1} gibt ${2} Preisgeld..."
+
+msgid "{1} gave {2} its {3}!"
+msgstr "{1} gab {2} sein {3}!"
+
+msgid "{1} got ${2}\nfor winning!"
+msgstr "{1} gewinnt ${2}!"
+
+msgid "{1} got free of {2}'s {3}!"
+msgstr "{1} wurde von {3} von {2} befreit!"
+
+msgid "{1} got over its infatuation."
+msgstr "{1} ist nicht mehr verliebt!"
+
+msgid "{1} grew to Lv. {2}!"
+msgstr "{1} erreicht Lv. {2}!"
+
+msgid "{1} had its HP restored."
+msgstr "KP von {1} wurden aufgefrischt!"
+
+msgid "{1} had its energy drained!"
+msgstr "{1} hat Energie verloren!"
+
+msgid "{1} harvested one {2}!"
+msgstr "{1} hat {2} geerntet!"
+
+msgid "{1} has Air Lock!"
+msgstr "{1} hat Klimaschutz!"
+
+msgid "{1} has Mega Evolved into {2}!"
+msgstr "{1} hat sich zu {2} entwickelt!"
+
+msgid "{1} has already been selected."
+msgstr "{1} wurde bereits ausgewählt."
+
+msgid "{1} has been afflicted with infestation by {2}!"
+msgstr "{1} plagt {2}!"
+
+msgid "{1} has been laid down."
+msgstr "{1} wurde abgelegt."
+
+msgid "{1} has no energy left to battle!"
+msgstr "{1} ist nicht fit genug, um zu kämpfen!"
+
+msgid "{1} has no more Pokémon that can fight!"
+msgstr "{1} hat kein kampffähiges Pokémon mehr!"
+
+msgid "{1} has no moves left!"
+msgstr "{1} hat keine Attacken mehr übrig!"
+
+msgid "{1} has no nickname."
+msgstr "{1} hat keinen Spitznamen"
+
+msgid "{1} has no usable Pokémon!"
+msgstr "{1} hat keine verwendbaren Pokémon!"
+
+msgid "{1} has the nickname {2}."
+msgstr "{1} hat den Spitznamen {2}"
+
+msgid "{1} held up its Red Card against {2}!"
+msgstr "{1} zeigt {2} die Rote Karte!"
+
+msgid "{1} helped {2} move next!"
+msgstr "{1} will {2} helfen!"
+
+msgid "{1} hid underwater!"
+msgstr "{1} taucht unter!"
+
+msgid "{1} hung on using its Focus Band!"
+msgstr "{1} übersteht die Attacke!"
+
+msgid "{1} hung on using its Focus Sash!"
+msgstr "{1} übersteht die Attacke!"
+
+msgid "{1} hung on with Sturdy!"
+msgstr "{1} übersteht die Attacke!"
+
+msgid "{1} ignored orders while asleep!"
+msgstr "{1} ignoriert die Befehle. Es schläft!"
+
+msgid "{1} ignored orders!"
+msgstr "{1} ignoriert den Befehl!"
+
+msgid "{1} intends to flip up a mat and block incoming attacks!"
+msgstr "{1} bringt seinen Tatami-Schild in Position!"
+
+msgid "{1} is about to send in {2}."
+msgstr "{1} setzt als Nächstes {2} ein."
+
+msgid "{1} is absorbing power!"
+msgstr "{1} lädt sich mit Energie auf!"
+
+msgid "{1} is affected by the radiation!"
+msgstr "Die Strahlung fügt {1} Schaden zu!"
+
+msgid "{1} is afflicted by the curse!"
+msgstr "{1} wurde durch Fluch verletzt!"
+
+msgid "{1} is already a Shadow Pokémon."
+msgstr "{1} ist bereits ein Schattenpokémon"
+
+msgid "{1} is already asleep!"
+msgstr "{1} schläft bereits!"
+
+msgid "{1} is already confused!"
+msgstr "{1} ist bereits verwirrt!"
+
+msgid "{1} is already holding one {2}."
+msgstr "{1} trägt bereits {2}."
+
+msgid "{1} is already in battle!"
+msgstr "{1} kämpft bereits!"
+
+msgid "{1} is already paralyzed!"
+msgstr "{1} ist bereits paralysiert!"
+
+msgid "{1} is already poisoned."
+msgstr "{1} ist bereits vergiftet!"
+
+msgid "{1} is angry!"
+msgstr "{1} ist wütend!"
+
+msgid "{1} is attacking!"
+msgstr "{1} greift an!"
+
+msgid "{1} is badly poisoned!"
+msgstr "{1} wurde schwer vergiftet!"
+
+msgid "{1} is buffeted by the hail!"
+msgstr "{1} wird von Hagelkörnern getroffen!"
+
+msgid "{1} is buffeted by the sandstorm!"
+msgstr "Der Sandsturm fügt {1} Schaden zu!"
+
+msgid "{1} is confused!"
+msgstr "{1} ist verwirrt!"
+
+msgid "{1} is covered in powder!"
+msgstr "Auf {1} wurde Pulver geschleudert!"
+
+msgid "{1} is damaged by the recoil!"
+msgstr "{1} erleidet Schaden durch Rückstoß!"
+
+msgid "{1} is disabled no more!"
+msgstr "{1} ist nicht mehr blockiert!"
+
+msgid "{1} is eager for more!"
+msgstr "{1} möchte mehr!"
+
+msgid "{1} is eating!"
+msgstr "{1} isst!"
+
+msgid "{1} is exerting its Pressure!"
+msgstr "{1} setzt Gegner mit Erzwinger unter Druck!"
+
+msgid "{1} is fast asleep."
+msgstr "{1} schläft tief und fest."
+
+msgid "{1} is frozen solid!"
+msgstr "{1} ist eingefroren!"
+
+msgid "{1} is genderless."
+msgstr "{1} ist geschlechtslos"
+
+msgid "{1} is getting into position!"
+msgstr "{1} macht sich bereit!"
+
+msgid "{1} is getting pumped!"
+msgstr "{1} pumpt sich auf!"
+
+msgid "{1} is glowing!"
+msgstr "{1} leuchtet grell!"
+
+msgid "{1} is having a bad dream!"
+msgstr "Nachtmahr sucht {1} heim!"
+
+msgid "{1} is healed by poison!"
+msgstr "Die Vergiftung heilt {1}!"
+
+msgid "{1} is hit by lightning!"
+msgstr "{1} wird von einem Blitz getroffen!"
+
+msgid "{1} is hurt by its burn!"
+msgstr "Die Verbrennungen schaden {1}!"
+
+msgid "{1} is hurt by its {2}!"
+msgstr "{1} wurde durch {2} verletzt!"
+
+msgid "{1} is hurt by poison!"
+msgstr "{1} wird durch Gift verletzt!"
+
+msgid "{1} is hurt by {2}!"
+msgstr "{1} wurde durch {2} verletzt!"
+
+msgid "{1} is immobilized by love!"
+msgstr "{1} ist starr vor Liebe!"
+
+msgid "{1} is in love with {2}!"
+msgstr "{1} hat sich in {2} verliebt!"
+
+msgid "{1} is loafing around!"
+msgstr "{1} faulenzt"
+
+msgid "{1} is locked in a nightmare!"
+msgstr "{1} ist in einem Alptraum gefangen!"
+
+msgid "{1} is making a move..."
+msgstr "{1} macht einen Zug..."
+
+msgid "{1} is making an uproar!"
+msgstr "{1} verursacht Aufruhr!"
+
+msgid "{1} is not a Shadow Pokémon."
+msgstr "{1} ist kein Schattenpokémon"
+
+msgid "{1} is not affected by {2} thanks to its Safety Goggles!"
+msgstr "{2} hat dank der Schutzbrille keine Wirkung auf {1}!"
+
+msgid "{1} is not allowed."
+msgstr "{1} ist nicht zugelassen."
+
+msgid "{1} is not compatible with {2}."
+msgstr "{1} ist nicht mit {2} kompatibel."
+
+msgid "{1} is now a Shadow Pokémon."
+msgstr "{1} ist jetzt ein Schattenpokémon"
+
+msgid "{1} is now being held."
+msgstr "{1} wird nun gehalten."
+
+msgid "{1} is now female."
+msgstr "{1} ist jetzt weiblich"
+
+msgid "{1} is now male."
+msgstr "{1} ist jetzt männlich"
+
+msgid "{1} is paralyzed! It can't move!"
+msgstr "{1} ist paralysiert! Es kann nicht angreifen!"
+
+msgid "{1} is paralyzed! It may be unable to move!"
+msgstr "{1} ist paralysiert! Es greift eventuell nicht an!"
+
+msgid "{1} is poisoned!"
+msgstr "{1} wurde vergiftet!"
+
+msgid "{1} is protected by Aroma Veil!"
+msgstr "{1} wird von Blütenhülle geschützt!"
+
+msgid "{1} is protected by Mist!"
+msgstr "{1} wird durch Weißnebel geschützt!"
+
+msgid "{1} is protected by Safeguard!"
+msgstr "{1} wird durch Bodyguard geschützt!"
+
+msgid "{1} is protected by the Sticky Terrain!"
+msgstr "{1} wird durch Klebefeld beschützt!"
+
+msgid "{1} is protected by the mist!"
+msgstr "{1} wird durch Weißnebel geschützt!"
+
+msgid "{1} is radiating a blazing aura!"
+msgstr "{1} strahlt eine lodernde Aura aus!"
+
+msgid "{1} is radiating a bursting aura!"
+msgstr "{1} strahlt eine knisternde Aura aus!"
+
+msgid "{1} is radiating a dark aura!"
+msgstr "{1} strahlt eine dunkle Aura aus!"
+
+msgid "{1} is radiating a fairy aura!"
+msgstr "{1} strahlt eine Feenaura aus!"
+
+msgid "{1} is ready to help {2}!"
+msgstr "{1} will {2} helfen!"
+
+msgid "{1} is selected."
+msgstr "{1} wurde ausgewählt."
+
+msgid "{1} is storing energy!"
+msgstr "{1} speichert Energie!"
+
+msgid "{1} is struggling!"
+msgstr "{1} ist verzweifelt!"
+
+msgid "{1} is switched out with the Eject Button!"
+msgstr "{1} kommt dank des Fluchtknopfes zurück!"
+
+msgid "{1} is tightening its focus!"
+msgstr "{1} verstärkt seinen Fokus!"
+
+msgid "{1} is tormented!"
+msgstr "{1} wird der Attacke Folterknecht unterworfen!"
+
+msgid "{1} is trying to\nlearn {2}."
+msgstr "{1} versucht,\n{2} zu erlernen."
+
+msgid "{1} is trying to learn {2}."
+msgstr "{1} versucht, {2} zu erlernen."
+
+msgid "{1} is trying to take its foe down with it!"
+msgstr "{1} versucht, den Angreifer mit sich zu nehmen!"
+
+msgid "{1} is unaffected!"
+msgstr "{1} bleibt unberührt!"
+
+msgid "{1} is waiting for {2}'s move..."
+msgstr "{1} wartet auf einen Angriff von {2}..."
+
+msgid "{1} is watching carefully!"
+msgstr "{1} ist aufmerksam!"
+
+msgid "{1} isn't holding anything."
+msgstr "{1} trägt nichts."
+
+msgid "{1} kept going and crashed!"
+msgstr "{1} macht weiter und bricht zusammen!"
+
+msgid "{1} knocked off {2}'s {3}!"
+msgstr "{1} schnappt sich {3} von {2}!"
+
+msgid "{1} learned a new song!"
+msgstr "{1} hat einen neuen Gesang gelernt!"
+
+msgid "{1} learned {2}!"
+msgstr "{1} erlernt {2}!"
+
+msgid "{1} learned {2}!\\se[itemlevel]"
+msgstr "{1} erlernt {2}!\\se[itemlevel]"
+
+msgid "{1} levitated with electromagnetism!"
+msgstr "{1} schwebt aufgrund von Elektromangentismus!"
+
+msgid "{1} lost against\n{2}!"
+msgstr "{1} verlierst gegen\n{2}!"
+
+msgid "{1} lost against {2} and {3}!"
+msgstr "{1} verlierst gegen {2} und {3}!"
+
+msgid "{1} lost against {2}."
+msgstr "{1} verliert gegen {2}."
+
+msgid "{1} lost its focus and couldn't move!"
+msgstr "{1} hat seinen Fokus verloren und kann sich nicht bewegen!"
+
+msgid "{1} lost some of its HP!"
+msgstr "{1} verliert einige KP!"
+
+msgid "{1} lost to the opponent\n{2} in a referee's decision!"
+msgstr "Der REFEREE entscheidet, dass\n{1} {2} unterliegt!"
+
+msgid "{1} lowered its head!"
+msgstr "{1} zieht seinen Kopf ein!"
+
+msgid "{1} made {2} drowsy!"
+msgstr "{1} hat {2} schläfrig gemacht!"
+
+msgid "{1} makes Fairy-type moves miss with Disenchant!"
+msgstr "{1} macht Attacken vom Typ Fee durch Entzauberung wirkungslos!"
+
+msgid "{1} makes Ground moves miss with Levitate!"
+msgstr "{1} macht Attacken vom Typ Boden durch Schwebe wirkungslos!"
+
+msgid "{1} makes Nuclear-type moves miss with Radiation Proof!"
+msgstr "{1} macht Attacken vom Typ Nuklear durch Bleihaut wirkungslos!"
+
+msgid "{1} maxed its Attack!"
+msgstr "Der Angriffs-Wert von {1} erreicht das Maximum!"
+
+msgid "{1} must recharge!"
+msgstr "{1} kann sich wegen des Rückstoßes durch den Angriff nicht bewegen!"
+
+msgid "{1} obtained {2}!\\me[PU-PokemonObtained]"
+msgstr "{1} erhält {2}!\\me[PU-PokemonObtained]"
+
+msgid "{1} obtained {2}!\\se[itemlevel]"
+msgstr "{1} erhält {2}!\\se[itemlevel]"
+
+msgid "{1} obtained {2}."
+msgstr "{1} erhält das Item {2}."
+
+msgid "{1} opened the door to its heart!"
+msgstr "{1} hat die Tür zu seinem Herzen geöffnet!"
+
+msgid "{1} panicked and dropped\n${2}..."
+msgstr "{1} gerät in Panik und verliert\n${2}..."
+
+msgid "{1} picked up ${2}!"
+msgstr "{1} hebt ${2} auf!"
+
+msgid "{1} picked up {2} from the pokemon!"
+msgstr "{1} hebt ${2} vom Pokémon auf!"
+
+msgid "{1} pickpocketed {2}'s {3}!"
+msgstr "{3} von {2} wurde von {1} gestohlen!"
+
+msgid "{1} planted a {2} in the soft loamy soil."
+msgstr "{1} hat eine {2} eingepflanzt."
+
+msgid "{1} planted its roots!"
+msgstr "{1} pflanzt seine Wurzeln!"
+
+msgid "{1} pretended not to notice!"
+msgstr "{1} gibt vor, nichts zu bemerken!"
+
+msgid "{1} protected itself!"
+msgstr "{1} schützt sich selbst!"
+
+msgid "{1} put away the {2} in the \\c[1]Berries\\c[0] Pocket."
+msgstr "{1} verstaute {2} in der \\c[1]Beeren\\c[0]-Tasche."
+
+msgid "{1} put in a substitute!"
+msgstr "Ein Delegator von {1} ist erschienen!"
+
+msgid "{1} put the \\c[1]{2}\\c[0]\nin the \\c[1]{4}\\c[0] Pocket."
+msgstr "{1} verstaut \\c[1]{2}\\c[0]\nin der \\c[1]{4}\\c[0] Tasche."
+
+msgid "{1} put the \\c[1]{2}s\\c[0]\nin the \\c[1]{4}\\c[0] Pocket."
+msgstr "{1} verstaut \\c[1]{2}\\c[0]\nin der\\c[1]{4}\\c[0] Tasche."
+
+msgid "{1} received an encore!"
+msgstr "{1} gibt eine Zugabe!"
+
+msgid "{1} received {2} Coin(s)!"
+msgstr "{1} hat {2} Münze(n) erhalten!"
+
+msgid "{1} received {2} Coins!"
+msgstr "{1} hat {2} Münzen erhalten!"
+
+msgid "{1} received {2} from {3}!"
+msgstr "{1} erhält {2} von {3}!"
+
+msgid "{1} received {2}!\\se[itemlevel]"
+msgstr "{1} erhielt {2}!\\se[itemlevel]"
+
+msgid "{1} regained the move\n{2}!"
+msgstr "{1} erhält die Attacke\n{2}!"
+
+msgid "{1} regained {2} Exp. Points!"
+msgstr "{1} erhält {2} Erfahrungspunkt(e)!"
+
+msgid "{1} restored a little HP using its Shell Bell!"
+msgstr "Seegesang von {1} füllt einige KP auf!"
+
+msgid "{1} restored a little HP using its {2}!"
+msgstr "{2} von {1} füllt einige KP auf!"
+
+msgid "{1} reversed all other Pokémon's auras!"
+msgstr "{1} kehrt die Wirkung aller Auren um!"
+
+msgid "{1} ribbons."
+msgstr "{1} Bänder"
+
+msgid "{1} sealed the opponent's move(s)!"
+msgstr "{1} versiegelt die Attacke(n) des gegnerischen Teams!"
+
+msgid "{1} sent\nout {2} and {3}!"
+msgstr "{1} schickt\n{2} und {3} in den Kampf!"
+
+msgid "{1} sent\nout {2}!"
+msgstr "{1} schickt\n{2} in den Kampf!"
+
+msgid "{1} sent\nout {2}! Go! {3}!"
+msgstr "{1} setzt {2} ein! Los, {3}!"
+
+msgid "{1} sent\nout {2}! {3} sent\nout {4}!"
+msgstr "{1} schickt {2}!\n{3} schickt {4}!"
+
+msgid "{1} shared its guard with the target!"
+msgstr "{1} teilt Schutzkräfte aus!"
+
+msgid "{1} shared its power with the target!"
+msgstr "{1} teilt Kräfte auf!"
+
+msgid "{1} shrouded itself with Magic Coat!"
+msgstr "{1} hüllt sich selbst in einen Magiemantel!"
+
+msgid "{1} shuddered with anticipation!"
+msgstr "{1} erschaudert aufgrund von Vorahnung!"
+
+msgid "{1} sketched {2}!"
+msgstr "{1} ahmt {2} nach!"
+
+msgid "{1} slept and became healthy!"
+msgstr "{1} hat im Schlaf Energie getankt!"
+
+msgid "{1} snapped out of confusion!"
+msgstr "{1} ist nicht mehr verwirrt!"
+
+msgid "{1} snapped out of confusion."
+msgstr "{1} ist nicht mehr verwirrt."
+
+msgid "{1} snapped out of its confusion."
+msgstr "{1} ist nicht mehr verwirrt!"
+
+msgid "{1} snatched {2}'s move!"
+msgstr "{1} übernimmt Attacke von {2}!"
+
+msgid "{1} sprang up!"
+msgstr "{1} springt hoch in die Luft!"
+
+msgid "{1} stayed awake using its partner's {2}!"
+msgstr "{1} schläft aufgrund von {2} nicht ein!"
+
+msgid "{1} stayed awake using its {2}!"
+msgstr "{1} schläft aufgrund von {2} nicht ein!"
+
+msgid "{1} stockpiled {2}!"
+msgstr "{1} hortet {2}!"
+
+msgid "{1} stole and ate its target's {2}!"
+msgstr "{1} hat dem Ziel das Item {2} gestohlen und es ihm weggegessen!"
+
+msgid "{1} stole {2}'s {3} with Magician!"
+msgstr "{1} schnappt sich {3} von {2}!"
+
+msgid "{1} stole {2}'s {3}!"
+msgstr "{1} stiehlt {3} von {2}!"
+
+msgid "{1} sucked up the liquid ooze!"
+msgstr "{1} saugt Kloakensoße auf!"
+
+msgid "{1} surrounded itself with a veil of petals!"
+msgstr "{1} wird von Blütenhülle geschützt!"
+
+msgid "{1} surrounded itself with a veil of sweetness!"
+msgstr "{1} umgibt sich mit einer Zuckerhülle!"
+
+msgid "{1} surrounded itself with a veil of water!"
+msgstr "{1} umgibt sich mit einem Wasserring!"
+
+msgid "{1} surrounds itself with a protective mist!"
+msgstr "{1} umgibt sich mit einem Nebelfeld!"
+
+msgid "{1} surrounds itself with electrified terrain!"
+msgstr "{1} umgibt sich mit einem Elektrofeld!"
+
+msgid "{1} survived the poisoning.\nThe poison faded away!"
+msgstr "{1} überlebte die Vergiftung.\nDas Gift verschwand!"
+
+msgid "{1} swapped its {2} ability with its target's {3} ability!"
+msgstr "{1} tauscht seine Fähigkeit {2} mit der Fähigkeit {3} des Zieles!"
+
+msgid "{1} switched all changes to its Attack and Sp. Atk with the target!"
+msgstr "{1} tauscht alle Veränderungen seines Angriffs und Spezial-Angriffs mit dem Ziel!"
+
+msgid "{1} switched all changes to its Defense and Sp. Def with the target!"
+msgstr "{1} tauscht alle Veränderungen seiner Verteidigung und Spezial-Verteidigung mit dem Ziel!"
+
+msgid "{1} switched items with its opponent!"
+msgstr "{1} tauscht Items mit dem Ziel!"
+
+msgid "{1} switched its Attack and Defense!"
+msgstr "{1} tauscht angriff und Verteidigung!"
+
+msgid "{1} switched places with its ally!"
+msgstr "{1} und sein Partner haben den Platz getauscht!"
+
+msgid "{1} switched stat changes with the target!"
+msgstr "{1} tauscht die Statusveränderungen mit dem Ziel!"
+
+msgid "{1} thawed out!"
+msgstr "{1} wurde aufgetaut!"
+
+msgid "{1} threw a rock at the {2}!"
+msgstr "{1} wirft einen Stein auf {2}!"
+
+msgid "{1} threw a {2}."
+msgstr "{1} setzt {2} ein!"
+
+msgid "{1} threw some bait at the {2}!"
+msgstr "{1} wirft etwas Köder auf {2}!"
+
+msgid "{1} tied the opponent\n{2} in a referee's decision!"
+msgstr "Der REFEREE entscheidet, dass\n{1} und {2} sich unentschieden trennen!"
+
+msgid "{1} took a nap!"
+msgstr "{1} macht ein Nickerchen!"
+
+msgid "{1} took aim at {2}!"
+msgstr "{1} zielt auf {2}!"
+
+msgid "{1} took in sunlight!"
+msgstr "{1} absorbiert Sonnenlicht!"
+
+msgid "{1} took its attacker down with it!"
+msgstr "{1} nimmt den Gegner mit sich!"
+
+msgid "{1} took the attack!"
+msgstr "{1} zieht den Angriff auf sich!"
+
+msgid "{1} took the {2} attack!"
+msgstr "{1} steckt die Attacke {2} ein!"
+
+msgid "{1} traced {2}'s {3}!"
+msgstr "{3} von {2} wurde per Fährte erkannt!"
+
+msgid "{1} transformed into the {2} type!"
+msgstr "{1} verwandelt sich zu Typ {2}!"
+
+msgid "{1} transformed into {2}!"
+msgstr "{1} verwandelt sich in {2}!"
+
+msgid "{1} transformed!"
+msgstr "{1} verwandelt sich!"
+
+msgid "{1} turned away!"
+msgstr "{1} wendet sich ab!"
+
+msgid "{1} turned friendly."
+msgstr "{1} wird zahm."
+
+msgid "{1} turned friendly.\nThe base Attack can't fall!"
+msgstr "{1} wird zahm!\nGrundwert Angriff sinkt nicht mehr!"
+
+msgid "{1} turned friendly.\nThe base Attack fell!"
+msgstr "{1} wird zahm!\nDer Grundwert Angriff sinkt!"
+
+msgid "{1} turned friendly.\nThe base Defense can't fall!"
+msgstr "{1} wird zahm!\nGrundwert Verteidigung sinkt nicht mehr!"
+
+msgid "{1} turned friendly.\nThe base Defense fell!"
+msgstr "{1} wird zahm!\nDer Grundwert Verteidigung sinkt!"
+
+msgid "{1} turned friendly.\nThe base HP can't fall!"
+msgstr "{1} wird zahm!\nGrundwert KP sinkt nicht mehr!"
+
+msgid "{1} turned friendly.\nThe base HP fell!"
+msgstr "{1} wird zahm!\nDer Grundwert KP sinkt!"
+
+msgid "{1} turned friendly.\nThe base Special Attack can't fall!"
+msgstr "{1} wird zahm!\nGrundwert Spezial-Angriff sinkt nicht mehr!"
+
+msgid "{1} turned friendly.\nThe base Special Attack fell!"
+msgstr "{1} wird zahm!\nDer Grundwert Spezial-Angriff sinkt!"
+
+msgid "{1} turned friendly.\nThe base Special Defense can't fall!"
+msgstr "{1} wird zahm!\nGrundwert Spezial-Verteidigung sinkt nicht mehr!"
+
+msgid "{1} turned friendly.\nThe base Special Defense fell!"
+msgstr "{1} wird zahm!\nDer Grundwert Spezial-Verteidigung sinkt!"
+
+msgid "{1} turned friendly.\nThe base Speed can't fall!"
+msgstr "{1} wird zahm!\nGrundwert Initiative sinkt nicht mehr!"
+
+msgid "{1} turned friendly.\nThe base Speed fell!"
+msgstr "{1} wird zahm!\nDer Grundwert Initiative sinkt!"
+
+msgid "{1} turned friendly.\nThe door to its heart opened a little."
+msgstr "{1} wird zahm.\nDie Tür zu seinem Herzen hat sich ein Stück geöffnet."
+
+msgid "{1} turned into {2}!"
+msgstr "{1} verwandelt sich in {2}!"
+
+msgid "{1} twisted the dimensions!"
+msgstr "{1} hat die Dimensionen verdreht!"
+
+msgid "{1} unleashed energy!"
+msgstr "{1} setzt Energie frei!"
+
+msgid "{1} used\n{2}!"
+msgstr "{1} setzt {2} ein!"
+
+msgid "{1} used Coral Break!"
+msgstr "{1} setzt Korallenbrecher ein!"
+
+msgid "{1} used Cut!"
+msgstr "{1} setzt Zerschneider ein!"
+
+msgid "{1} used Dive."
+msgstr "{1} setzt Taucher ein."
+
+msgid "{1} used Fly!"
+msgstr "{1} setzt Fliegen ein!"
+
+msgid "{1} used Rock Smash!"
+msgstr "{1} setzt Zertrümmerer ein!"
+
+msgid "{1} used Strength!"
+msgstr "{1} setzt Stärke ein!"
+
+msgid "{1} used Surf!"
+msgstr "{1} setzt Surfer ein!"
+
+msgid "{1} used Waterfall."
+msgstr "{1} setzt Kaskade ein."
+
+msgid "{1} used its {2} to get pumped!"
+msgstr "{1} pumpt sich mittels {2} auf!"
+
+msgid "{1} used the\n{2}!"
+msgstr "{1} nutzt\n{2}!"
+
+msgid "{1} used the\n{2}."
+msgstr "{1} nutzt\n{2}."
+
+msgid "{1} used the Boxing Gloves!"
+msgstr "{1} setzt die Boxhandschuhe ein!"
+
+msgid "{1} used the Climbing Pick"
+msgstr "{1} setzt die Kletterpickel ein"
+
+msgid "{1} used the Climbing Pick!"
+msgstr "{1} setzt den Kletterpickel ein!"
+
+msgid "{1} used the Escape Rope."
+msgstr "{1} benutzt den Fluchtseil."
+
+msgid "{1} used the Power Glove!"
+msgstr "{1} setzt den Krafthandschuh ein!"
+
+msgid "{1} used the Scuba Gear"
+msgstr "{1} setzt die Tauchausrüstung ein"
+
+msgid "{1} used the Scuba Gear."
+msgstr "{1} setzt die Tauchausrüstung ein."
+
+msgid "{1} used the Surfboard!"
+msgstr "{1} setzt das Surfbrett ein!"
+
+msgid "{1} used the {2}!"
+msgstr "{1} benutzt {2}!"
+
+msgid "{1} used the {2}."
+msgstr "{1} setzt {2} ein."
+
+msgid "{1} used {2}!"
+msgstr "{1} setzt {2} ein!"
+
+msgid "{1} used."
+msgstr "{1} benutzt"
+
+msgid "{1} vanished instantly!"
+msgstr "{1} verschwindet augenblicklich!"
+
+msgid "{1} waits for a target to make a move!"
+msgstr "{1} wartet auf einen Angriff!"
+
+msgid "{1} wants its target to bear a grudge!"
+msgstr "{1} möchte, dass der Gegner ein Nachspiel erträgt!"
+
+msgid "{1} was Mummified by {2}!"
+msgstr "{1} wurde von {2} mumifiziert!"
+
+msgid "{1} was badly poisoned by its {2}!"
+msgstr "{1} wurde durch das Item {2} schwer vergiftet!"
+
+msgid "{1} was badly poisoned!"
+msgstr "{1} wurde schwer vergiftet!"
+
+msgid "{1} was blocked by the kicked-up mat!"
+msgstr "{1} wurde durch den Tatami-Schild abgewehrt!"
+
+msgid "{1} was burned by its {2}!"
+msgstr "{1} erleidet Verbrennungen durch {2}!"
+
+msgid "{1} was burned!"
+msgstr "{1} erleidet Verbrennungen!"
+
+msgid "{1} was caught in a sticky web!"
+msgstr "{1} ist im Klebenetz gefangen!"
+
+msgid "{1} was caught in the aftermath!"
+msgstr "{1} wurde Schaden zugefügt!"
+
+msgid "{1} was cured of its burn."
+msgstr "Die Verbrennungen von {1} wurden geheilt!"
+
+msgid "{1} was cured of its paralysis."
+msgstr "Die Paralyse von {1} wurde aufgehoben!"
+
+msgid "{1} was cured of its poisoning."
+msgstr "Die Vergiftung von {1} wurde geheilt!"
+
+msgid "{1} was cured of paralysis."
+msgstr "Die Paralyse von {1} wurde aufgehoben!"
+
+msgid "{1} was defrosted by {2}!"
+msgstr "Das Eis wurde durch {2} von {1} aufgetaut!"
+
+msgid "{1} was defrosted."
+msgstr "{1} wurde aufgetaut!"
+
+msgid "{1} was downgraded to Level {2}!"
+msgstr "Das Level von {1} wurde auf {2} gesenkt!"
+
+msgid "{1} was dragged out!"
+msgstr "{1} wurde ausgewählt!"
+
+msgid "{1} was elevated to Level {2}!"
+msgstr "Das Level von {1} wurde auf {2} angehoben!"
+
+msgid "{1} was freed from Leech Seed!"
+msgstr "{1} wurde von Egelsamen befreit!"
+
+msgid "{1} was freed from the telekinesis!"
+msgstr "{1} wurde von der Wirkung von Telekinese befreit!"
+
+msgid "{1} was freed from {2}!"
+msgstr "{1} wurde von {2} befreit!"
+
+msgid "{1} was frisked, revealing its {2}!"
+msgstr "Bei {1} wurde das Item {2} erschnüffelt!"
+
+msgid "{1} was frozen solid!"
+msgstr "{1} erstarrt zu Eis!"
+
+msgid "{1} was fully healed."
+msgstr "{1} wurde vollständig geheilt"
+
+msgid "{1} was given the {2} to hold."
+msgstr "{1} erhält {2} zum Tragen."
+
+msgid "{1} was hurled into the air!"
+msgstr "{1} wurde zum Schweben gebracht!"
+
+msgid "{1} was hurt by its {2}!"
+msgstr "{1} wurde durch {2} verletzt!"
+
+msgid "{1} was hurt by spikes!"
+msgstr "{1} wurde durch Stachler verletzt!"
+
+msgid "{1} was hurt by the shadow sky!"
+msgstr "{1} wurde durch das Crypto-Wetter verletzt!"
+
+msgid "{1} was hurt by the sunlight!"
+msgstr "{1} wurde durch Sonnenlicht verletzt!"
+
+msgid "{1} was hurt by the {2}!"
+msgstr "{1} wurde durch {2} verletzt!"
+
+msgid "{1} was hurt!"
+msgstr "{1} wurde verletzt!"
+
+msgid "{1} was identified!"
+msgstr "{1} wurde erkannt!"
+
+msgid "{1} was paralyzed!"
+msgstr "{1} wurde paralysiert!"
+
+msgid "{1} was paralyzed! It may be unable to move!"
+msgstr "{1} ist paralysiert! Es greift eventuell nicht an!"
+
+msgid "{1} was poisoned!"
+msgstr "{1} wurde vergiftet!"
+
+msgid "{1} was prevented from healing due to Heal Block!"
+msgstr "{1} kann aufgrund von Heilblockade nicht geheilt werden!"
+
+msgid "{1} was prevented from healing!"
+msgstr "Heilung von {1} wurde verhindert!"
+
+msgid "{1} was protected by {2}!"
+msgstr "{1} wird durch {2} geschützt!"
+
+msgid "{1} was quashed!"
+msgstr "{1} muss sich hinten anstellen!"
+
+msgid "{1} was released."
+msgstr "{1} ist wieder frei."
+
+msgid "{1} was seeded!"
+msgstr "{1} wurde bepflanzt!"
+
+msgid "{1} was squeezed by {2}!"
+msgstr "{1} setzt bei {2} Klammergriff ein!"
+
+msgid "{1} was subjected to torment!"
+msgstr "{1} wird von Folterknecht unterworfen!"
+
+msgid "{1} was thawed out."
+msgstr "{1} ist aufgetaut."
+
+msgid "{1} was transferred to box \"{2}\"."
+msgstr "{1} wurde in die Box \"{2}\" geschickt."
+
+msgid "{1} was transferred to someone's PC."
+msgstr "{1} wurde auf jemandes PC übertragen!"
+
+msgid "{1} was transferred to {2}'s PC."
+msgstr "{1} wurde auf PC von {2} übertragen!"
+
+msgid "{1} was transferred to {2}'s PC."
+msgstr "{1} wurde auf PC von {2} übertragen!"
+
+msgid "{1} was trapped in the vortex!"
+msgstr "{1} wird in dem Strudel gefangen!"
+
+msgid "{1} was unaffected!"
+msgstr "{1} ist unversehrt!"
+
+msgid "{1} was woken from its sleep."
+msgstr "{1} ist aufgewacht!"
+
+msgid "{1} was wrapped by {2}!"
+msgstr "{1} wurde von {2} umwickelt!"
+
+msgid "{1} wasn't affected!"
+msgstr "Es hat keine Wirkung auf {1}!"
+
+msgid "{1} watered the plant.\\wtnp[40]"
+msgstr "{1} hat die Pflanze gegossen.\\wtnp[40]"
+
+msgid "{1} went back to {2}!"
+msgstr "{1} kommt zu {2} zurück!"
+
+msgid "{1} went to sleep!"
+msgstr "{1} ist eingeschlafen!"
+
+msgid "{1} whipped up a whirlwind!"
+msgstr "{1} erzeugt eine Windböe!"
+
+msgid "{1} will go first."
+msgstr "{1} fängt an."
+
+msgid "{1} withdrew {2}!"
+msgstr "{1} zieht {2} zurück!"
+
+msgid "{1} woke up in the uproar!"
+msgstr "{1} wird durch Aufruhr wach!"
+
+msgid "{1} woke up!"
+msgstr "{1} ist aufgewacht!"
+
+msgid "{1} woke up."
+msgstr "{1} ist aufgewacht."
+
+msgid "{1} won against {2}."
+msgstr "{1} hat gegen {2} gewonnen."
+
+msgid "{1} won't flinch because of its {2}!"
+msgstr "{1} schreckt wegen {2} nicht zurück!"
+
+msgid "{1} x{2}"
+msgstr "{1}x{2}"
+
+msgid "{1}'s"
+msgstr "{1}s"
+
+msgid "{1}'s AREA"
+msgstr "{1}"
+
+msgid "{1}'s Air Balloon popped!"
+msgstr "Der Luftballon von {1} ist geplatzt!"
+
+msgid "{1}'s Attack fell!"
+msgstr "Angriff von {1} sinkt!"
+
+msgid "{1}'s Attack harshly fell!"
+msgstr "Angriff von {1} sinkt stark!"
+
+msgid "{1}'s Attack increased."
+msgstr "Angriff von {1} wurde erhöht."
+
+msgid "{1}'s Attack rose drastically!"
+msgstr "Angriff von {1} steigt drastisch!"
+
+msgid "{1}'s Attack rose sharply!"
+msgstr "Angriff von {1} steigt stark!"
+
+msgid "{1}'s Attack rose!"
+msgstr "Angriff von {1} steigt!"
+
+msgid "{1}'s Attack sharply rose!"
+msgstr "Angriff von {1} steigt stark!"
+
+msgid "{1}'s Attack was not lowered!"
+msgstr "Angriff von {1} sinkt nicht!"
+
+msgid "{1}'s Attack went way up!"
+msgstr "Angriff von {1} steigt stark!"
+
+msgid "{1}'s Attack won't go any higher!"
+msgstr "Angriff von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s Attack won't go any lower!"
+msgstr "Angriff von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s Attack won't go lower!"
+msgstr "Angriff von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s Chernobyl started a Toxic Fallout!"
+msgstr "Chernobyl von {1} verursacht einen radioaktiven Niederschlag!"
+
+msgid "{1}'s Cloud Nine made the effects of weather disappear."
+msgstr "Wolke Sieben von {1} hebt die Wetter-Effekte auf."
+
+msgid "{1}'s Contrary raised its Attack!"
+msgstr "Angriff von {1} steigt durch Umkehrung!"
+
+msgid "{1}'s Contrary raised its Speed!"
+msgstr "Initiative von {1} steigt durch Umkehrung!"
+
+msgid "{1}'s Defense fell!"
+msgstr "Verteidigung von {1} sinkt!"
+
+msgid "{1}'s Defense harshly fell!"
+msgstr "Verteidigung von {1} sinkt stark!"
+
+msgid "{1}'s Defense increased."
+msgstr "Verteidigung von {1} wurde erhöht."
+
+msgid "{1}'s Defense rose drastically!"
+msgstr "Verteidigung von {1} steigt drastisch!"
+
+msgid "{1}'s Defense rose sharply!"
+msgstr "Verteidigung von {1} steigt stark!"
+
+msgid "{1}'s Defense rose!"
+msgstr "Verteidigung von {1} steigt!"
+
+msgid "{1}'s Defense was lowered!"
+msgstr "Verteidigung von {1} sinkt!"
+
+msgid "{1}'s Defense was not lowered!"
+msgstr "Verteidigung von {1} sinkt nicht!"
+
+msgid "{1}'s Defense went way up!"
+msgstr "Verteidigung von {1} steigt stark!"
+
+msgid "{1}'s Defense won't go any higher!"
+msgstr "Verteidigung von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s Defense won't go any lower!"
+msgstr "Verteidigung von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s Desolate Land made the sun turn harsh!"
+msgstr "Erdland von {1} lässt die Sonne sehr viel stärker scheinen!"
+
+msgid "{1}'s Drizzle made it rain!"
+msgstr "Niesel von {1} lässt es regnen!"
+
+msgid "{1}'s Drought intensified the sun's rays!"
+msgstr "Dürre von {1} intensiviert das Sonnenlicht!"
+
+msgid "{1}'s Dry Skin was healed by the rain!"
+msgstr "Trockenheit von {1} wurde durch den Regen geheilt!"
+
+msgid "{1}'s Dry Skin was hurt by the sunlight!"
+msgstr "Trockenheit von {1} wurde durch das Sonnenlicht verletzt!"
+
+msgid "{1}'s Forewarn alerted it to {2}!"
+msgstr "{2} von {1} wurde durschaut!"
+
+msgid "{1}'s Geiger Sense raised its Attack!"
+msgstr "Geigerzähler von {1} erhöht seinen Angriff!"
+
+msgid "{1}'s Geiger Sense raised its Special Attack!"
+msgstr "Geigerzähler von {1} erhöht seinen Spezial-Angriff!"
+
+msgid "{1}'s HP increased."
+msgstr "KP von {1} wurde erhöht."
+
+msgid "{1}'s HP is full!"
+msgstr "{1} hat volle KP!"
+
+msgid "{1}'s HP was restored by {2} points."
+msgstr "KP von {1} wurden um {2} Punkten aufgefrischt."
+
+msgid "{1}'s HP was restored!"
+msgstr "KP von {1} wurden aufgefrischt!"
+
+msgid "{1}'s HP was restored."
+msgstr "KP von {1} wurden aufgefrischt!"
+
+msgid "{1}'s HP was set to 0."
+msgstr "{1}s KP wurden auf 0 gesetzt"
+
+msgid "{1}'s HP was set to {2}."
+msgstr "{1}s KP wurden auf {2} gesetzt."
+
+msgid "{1}'s Heal Block wore off!"
+msgstr "{1} kann nun wieder geheilt werden!"
+
+msgid "{1}'s Ice Body restored its HP a little!"
+msgstr "Eishaut von {1} stellt einige KP wieder her!"
+
+msgid "{1}'s Kee Berry was activated!"
+msgstr "Akibeere von {1} wurde aktiviert!"
+
+msgid "{1}'s Lightning Rod took the move!"
+msgstr "{1} zieht den Angriff durch Blitzfänger auf sich!"
+
+msgid "{1}'s Maranga Berry was activated!"
+msgstr "Tarabeere von {1} wurde aktiviert!"
+
+msgid "{1}'s Moody lowered its {2}!"
+msgstr "{2} von {1} sinkt durch Gefühlswippe!"
+
+msgid "{1}'s Moody sharply raised its {2}!"
+msgstr "{2} von {1} steigt durch Gefühlswippe stark!"
+
+msgid "{1}'s Moxie raised its Attack!"
+msgstr "Hochmut von {1} erhöht seinen Angriff!"
+
+msgid "{1}'s OT's name?"
+msgstr "{1}s OTs Name?"
+
+msgid "{1}'s Oblivious prevents taunting!"
+msgstr "Dösigkeit von {1} verhindert Verhöhner!"
+
+msgid "{1}'s PC"
+msgstr "PC von {1}"
+
+msgid "{1}'s PP increased."
+msgstr "AP von {1} wurde erhöht."
+
+msgid "{1}'s Perish count fell to {2}!"
+msgstr "Abgesang von {1} steht bei {2}!"
+
+msgid "{1}'s Primal Reversion!\nIt reverted to its Primal Form!"
+msgstr "{1} hat eine Protomorphose \ndurchgeführt und seine urzeitliche Form zurückerlangt!"
+
+msgid "{1}'s Primordial Sea caused a heavy rain to fall."
+msgstr "Urmeer von {1} lässt es in Strömen regnen!"
+
+msgid "{1}'s Rain Dish restored its HP a little!"
+msgstr "Regengenuss von {1} stellt einige KP wieder her!"
+
+msgid "{1}'s Sand Stream whipped up a sandstorm!"
+msgstr "Sandsturm von {1} verursacht einen Sandsturm!"
+
+msgid "{1}'s Snow Warning made it hail!"
+msgstr "Hagelalarm von {1} lässt es hageln!"
+
+msgid "{1}'s Special Attack fell!"
+msgstr "Spezial-Angriff von {1} sinkt!"
+
+msgid "{1}'s Special Attack harshly fell!"
+msgstr "Spezial-Angriff von {1} sinkt stark!"
+
+msgid "{1}'s Special Attack increased."
+msgstr "Spezial-Angriff von {1} wurde erhöht."
+
+msgid "{1}'s Special Attack rose drastically!"
+msgstr "Spezial-Angriff von {1} steigt drastisch!"
+
+msgid "{1}'s Special Attack rose sharply!"
+msgstr "Spezial-Angriff von {1} steigt stark!"
+
+msgid "{1}'s Special Attack rose!"
+msgstr "Spezial-Angriff von {1} steigt!"
+
+msgid "{1}'s Special Attack sharply rose!"
+msgstr "Spezial-Angriff von {1} steigt stark!"
+
+msgid "{1}'s Special Attack went way up!"
+msgstr "Spezial-Angriff von {1} steigt stark!"
+
+msgid "{1}'s Special Attack won't go any higher!"
+msgstr "Spezial-Angriff von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s Special Attack won't go any lower!"
+msgstr "Spezial-Angriff von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s Special Defense fell!"
+msgstr "Spezial-Verteidigung von {1} sinkt!"
+
+msgid "{1}'s Special Defense harshly fell!"
+msgstr "Spezial-Verteidigung von {1} sinkt stark!"
+
+msgid "{1}'s Special Defense increased."
+msgstr "Spezial-Verteidigung von {1} wurde erhöht."
+
+msgid "{1}'s Special Defense rose drastically!"
+msgstr "Spezial-Verteidigung von {1} steigt drastisch!"
+
+msgid "{1}'s Special Defense rose sharply!"
+msgstr "Spezial-Verteidigung von {1} steigt stark!"
+
+msgid "{1}'s Special Defense rose!"
+msgstr "Spezial-Verteidigung von {1} steigt!"
+
+msgid "{1}'s Special Defense went way up!"
+msgstr "Spezial-Verteidigung von {1} steigt stark!"
+
+msgid "{1}'s Special Defense won't go any higher!"
+msgstr "Spezial-Verteidigung von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s Special Defense won't go any lower!"
+msgstr "Spezial-Verteidigung von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s Speed Boost raised its Speed!"
+msgstr "Initiative von {1} steigt durch Temposchub!"
+
+msgid "{1}'s Speed fell!"
+msgstr "Initiative von {1} sinkt!"
+
+msgid "{1}'s Speed harshly fell!"
+msgstr "Initiative von {1} sinkt stark!"
+
+msgid "{1}'s Speed increased."
+msgstr "Initiative von {1} wurde erhöht."
+
+msgid "{1}'s Speed rose drastically!"
+msgstr "Initiative von {1} steigt drastisch!"
+
+msgid "{1}'s Speed rose sharply!"
+msgstr "Initiative von {1} steigt stark!"
+
+msgid "{1}'s Speed rose!"
+msgstr "Initiative von {1} steigt!"
+
+msgid "{1}'s Speed went way up!"
+msgstr "Initiative von {1} steigt stark!"
+
+msgid "{1}'s Speed won't go any higher!"
+msgstr "Initiative von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s Speed won't go any lower!"
+msgstr "Initiative von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s Storm Drain took the move!"
+msgstr "{1} zieht den Angriff durch Sturmsog auf sich!"
+
+msgid "{1}'s Stormbringer whipped up a thunderstorm!"
+msgstr "Sturmbringer von {1} verursacht ein Gewitter!"
+
+msgid "{1}'s Strength made it possible to move boulders around!"
+msgstr "Die Stärke von {1} ermöglicht es Felsen zu bewegen!"
+
+msgid "{1}'s Taunt wore off!"
+msgstr "Verhöhner von {1} hört auf zu wirken!"
+
+msgid "{1}'s ability became Mummy!"
+msgstr "{1} hat die Fähigkeit Mumie angenommen!"
+
+msgid "{1}'s ability was changed to {2}!"
+msgstr "Die Fähigkeit von {1} wurde zu {2} geändert!"
+
+msgid "{1}'s ability was suppressed!"
+msgstr "Die Fähigkeit von {1} wurde unterdrückt!"
+
+msgid "{1}'s accuracy fell!"
+msgstr "Genauigkeit von {1} sinkt!"
+
+msgid "{1}'s accuracy harshly fell!"
+msgstr "Genauigkeit von {1} sinkt stark!"
+
+msgid "{1}'s accuracy rose drastically!"
+msgstr "Genauigkeit von {1} steigt drastisch!"
+
+msgid "{1}'s accuracy rose sharply!"
+msgstr "Genauigkeit von {1} steigt stark!"
+
+msgid "{1}'s accuracy rose!"
+msgstr "Genauigkeit von {1} steigt!"
+
+msgid "{1}'s accuracy was not lowered!"
+msgstr "Genauigkeit von {1} sinkt nicht!"
+
+msgid "{1}'s accuracy went way up!"
+msgstr "Genauigkeit von {1} steigt stark!"
+
+msgid "{1}'s accuracy won't go any higher!"
+msgstr "Genauigkeit von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s accuracy won't go any lower!"
+msgstr "Genauigkeit von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s attack missed!"
+msgstr "{1} hat verfehlt!"
+
+msgid "{1}'s burn was healed."
+msgstr "Die Verbrennungen von {1} wurden geheilt!"
+
+msgid "{1}'s data was added to the Pokédex."
+msgstr "Für {1} wurde ein Eintrag im Pokédex angelegt."
+
+msgid "{1}'s electromagnetism wore off!"
+msgstr "Der Elektromagnetismus von {1} hört auf zu wirken!"
+
+msgid "{1}'s emotions rose to a fever pitch!\nIt entered Hyper Mode!"
+msgstr "{1} ist so aufgewühlt,\n dass es den Furyo-Modus aktiviert!"
+
+msgid "{1}'s encore ended!"
+msgstr "Zugabe von {1} ist beendet!"
+
+msgid "{1}'s evasiveness fell!"
+msgstr "Fluchtwert von {1} sinkt!"
+
+msgid "{1}'s evasiveness harshly fell!"
+msgstr "Fluchtwert von {1} sinkt stark!"
+
+msgid "{1}'s evasiveness rose drastically!"
+msgstr "Fluchtwert von {1} steigt drastisch!"
+
+msgid "{1}'s evasiveness rose sharply!"
+msgstr "Fluchtwert von {1} steigt stark!"
+
+msgid "{1}'s evasiveness rose!"
+msgstr "Fluchtwert von {1} steigt!"
+
+msgid "{1}'s evasiveness went way up!"
+msgstr "Fluchtwert von {1} steigt stark!"
+
+msgid "{1}'s evasiveness won't go any higher!"
+msgstr "Fluchtwert von {1} kann nicht weiter erhöht werden!"
+
+msgid "{1}'s evasiveness won't go any lower!"
+msgstr "Fluchtwert von {1} kann nicht weiter sinken!"
+
+msgid "{1}'s form was set to {2}."
+msgstr "{1}s Form wurde auf {2} gesetzt"
+
+msgid "{1}'s gender couldn't be changed."
+msgstr "{1}s Geschlecht konnte nicht geändert werden"
+
+msgid "{1}'s happiness was set to {2}."
+msgstr "{1}s Freundschaft wurde auf {2} gesetzt"
+
+msgid "{1}'s health was sapped by Leech Seed!"
+msgstr "Egelsamen schadet {1}!"
+
+msgid "{1}'s heart gauge was lowered from {2} to {3} (now stage {4})."
+msgstr "{1}s Puls wurde gesenkt von {2} auf {3} (jetzt Stufe {4})"
+
+msgid "{1}'s language was set to {2}."
+msgstr "{1}s Sprache wurde auf {2} gesetzt"
+
+msgid "{1}'s level remained unchanged."
+msgstr "Das Level von {1} bleibt unverändert."
+
+msgid "{1}'s level was set to {2}."
+msgstr "{1}s Level wurde auf {2} gesetzt"
+
+msgid "{1}'s messages not defined.\nCouldn't call common event {2}."
+msgstr "Nachrichten von {1} wurde nicht definiert.\nDas Ereignis {2} konnte nicht aufgerufen werden."
+
+msgid "{1}'s move is no longer disabled!"
+msgstr "Die Attacke von {1} ist nicht mehr blockiert!"
+
+msgid "{1}'s moves have been electrified!"
+msgstr "Die nächste Attacke von {1} wird elektrifiziert!"
+
+msgid "{1}'s moves were reset."
+msgstr "{1}s Attacken wurden zurückgesetzt"
+
+msgid "{1}'s nest"
+msgstr "{1}"
+
+msgid "{1}'s nickname?"
+msgstr "Spitzname von {1}?"
+
+msgid "{1}'s poisoning was cured."
+msgstr "Die Vergiftung von {1} wurde geheilt!"
+
+msgid "{1}'s rage is building!"
+msgstr "{1} verfällt in Raserei!"
+
+msgid "{1}'s species was changed to {2}."
+msgstr "{1}s Art wurde zu {2} geändert"
+
+msgid "{1}'s stat changes were all reversed!"
+msgstr "Alle Statusveränderungen von {1} wurden invertiert!"
+
+msgid "{1}'s stat changes were removed!"
+msgstr "Die Statusveränderungen von {1} wurden aufgehoben!"
+
+msgid "{1}'s stats were not lowered!"
+msgstr "Statuswerte von {1} sinken nicht!"
+
+msgid "{1}'s stats were not lowered."
+msgstr "Statuswerte von {1} sinken nicht!"
+
+msgid "{1}'s stats won't go any higher!"
+msgstr "Statuswerte von {1} können nicht weiter erhöht werden!"
+
+msgid "{1}'s stats won't go any lower!"
+msgstr "Statuswerte von {1} können nicht weiter sinken!"
+
+msgid "{1}'s status could not be changed."
+msgstr "{1}s Status kann nicht geändert werden"
+
+msgid "{1}'s status was changed."
+msgstr "{1}s Status wurde geändert"
+
+msgid "{1}'s stockpiled effect wore off!"
+msgstr "Der gehortete Effekt von {1} hört auf zu wirken!"
+
+msgid "{1}'s substitute faded!"
+msgstr "Delegator von {1} hört auf zu wirken!"
+
+msgid "{1}'s taunt wore off!"
+msgstr "Verhöhner von {1} hört auf zu wirken!"
+
+msgid "{1}'s team was disqualified!"
+msgstr "Das Team von {1} wurde disqualifiziert!"
+
+msgid "{1}'s torment wore off!"
+msgstr "Folterknecht von {1} hört auf zu wirken!"
+
+msgid "{1}'s type changed to match {2}'s!"
+msgstr "{1} nimmt den Typ {2} an!"
+
+msgid "{1}'s was healed through Rebuild!"
+msgstr "{1} wurde durch Erneuerung geheilt!"
+
+msgid "{1}'s wish came true!"
+msgstr "Wunschtraum von {1} erfüllt sich!"
+
+msgid "{1}'s {2} badly poisoned {3}!"
+msgstr "{2} von {1} vergiftet {3} schwer!"
+
+msgid "{1}'s {2} blocks {3}!"
+msgstr "{2} von {1} verhindert {3}!"
+
+msgid "{1}'s {2} boosted its Attack!"
+msgstr "{2} von {1} erhöht seinen Angriff!"
+
+msgid "{1}'s {2} boosted its Special Attack!"
+msgstr "{2} von {1} erhöht seinen Spezial-Angriff!"
+
+msgid "{1}'s {2} burned {3}!"
+msgstr "{3} erleidet Verbrennungen durch {2} von {1}!"
+
+msgid "{1}'s {2} changed it into the {3} type!"
+msgstr "Durch {2} von {1} nimmt es den Typ {3} an!"
+
+msgid "{1}'s {2} cured its burn problem!"
+msgstr "Die Verbrennungen von {1} wurde durch {2} geheilt!"
+
+msgid "{1}'s {2} cured its confusion problem!"
+msgstr "{1} ist durch {2} nicht mehr verwirrt!"
+
+msgid "{1}'s {2} cured its frozen problem!"
+msgstr "{2} von {1} taut es auf!"
+
+msgid "{1}'s {2} cured its ice problem!"
+msgstr "Das Eis wurde durch {2} von {1} aufgetaut!"
+
+msgid "{1}'s {2} cured its love problem!"
+msgstr "{1} ist durch {2} nicht mehr verliebt!"
+
+msgid "{1}'s {2} cured its paralysis problem!"
+msgstr "Die Paralyse von {1} wurde durch {2} aufgehoben!"
+
+msgid "{1}'s {2} cured its partner's burn problem!"
+msgstr "{2} von {1} heilt die Verbrennung des Partners!"
+
+msgid "{1}'s {2} cured its partner's ice problem!"
+msgstr "{2} von {1} taut den Partner auf!"
+
+msgid "{1}'s {2} cured its partner's paralysis problem!"
+msgstr "{2} von {1} heilt die Paralyse des Partners!"
+
+msgid "{1}'s {2} cured its partner's poison problem!"
+msgstr "{2} von {1} heilt die Vergiftung des Partners!"
+
+msgid "{1}'s {2} cured its partner's sleep problem!"
+msgstr "{2} von {1} weckt den Partner auf!"
+
+msgid "{1}'s {2} cured its poison problem!"
+msgstr "Die Vergiftung von {1} wurde durch {2} geheilt!"
+
+msgid "{1}'s {2} cured its sleep problem!"
+msgstr "{2} wurde durch {1} aufgeweckt!"
+
+msgid "{1}'s {2} cured {3}'s love problem!"
+msgstr "{2} von {1} bewirkt, dass {3} nicht mehr verliebt ist!"
+
+msgid "{1}'s {2} cuts {3}'s Attack!"
+msgstr "{2} von {1} reduziert Angriff von {3}!"
+
+msgid "{1}'s {2} cuts {3}'s Speed!"
+msgstr "{2} von {1} reduziert Initiative von {3}!"
+
+msgid "{1}'s {2} disabled {3}!"
+msgstr "{3} wurde durch {2} von {1} blockiert!"
+
+msgid "{1}'s {2} fell!"
+msgstr "{2} von {1} sinkt!"
+
+msgid "{1}'s {2} had no effect on {3}!"
+msgstr "{2} von {1} hat auf {3} keine Wirkung!"
+
+msgid "{1}'s {2} hurt {3}!"
+msgstr "{3} wurde durch {2} von {1} verletzt!"
+
+msgid "{1}'s {2} infatuated {3}!"
+msgstr "{2} von {1} bewirkt, dass {3} sich verliebt!"
+
+msgid "{1}'s {2} is disabled!"
+msgstr "{2} von {1} wurde blockiert!"
+
+msgid "{1}'s {2} is reacting to {3}'s Mega Ring!"
+msgstr "{2} von {1} reagiert auf den Mega-Ring von {3}!"
+
+msgid "{1}'s {2} lost all its PP due to the grudge!"
+msgstr "{2} von {1} hat aufgrund von Nachspiel alle AP verloren!"
+
+msgid "{1}'s {2} lowered its Defense!"
+msgstr "{2} von {1} lässt seine Verteidigung sinken!"
+
+msgid "{1}'s {2} lowered {3}'s Speed!"
+msgstr "Initiative von {3} wurde durch {2} von {1} gesenkt!"
+
+msgid "{1}'s {2} made it the {3} type!"
+msgstr "{2} von {1} macht es zu Typ {3}"
+
+msgid "{1}'s {2} made {3} ineffective!"
+msgstr "{2} von {1} macht {3} wirkungslos!"
+
+msgid "{1}'s {2} made {3} sleep!"
+msgstr "{2} von {1} lässt {3} einschlafen!"
+
+msgid "{1}'s {2} made {3} useless!"
+msgstr "{2} von {1} macht {3} wirkungslos!"
+
+msgid "{1}'s {2} maxed its Attack!"
+msgstr "{2} von {1} maximiert seinen Angriffs-Wert!"
+
+msgid "{1}'s {2} paralyzed {3}! It may be unable to move!"
+msgstr "{3} wurde durch {2} von {1} paralysiert! Es greift eventuell nicht an!"
+
+msgid "{1}'s {2} poisoned {3}!"
+msgstr "{2} von {1} hat {3} vergiftet!"
+
+msgid "{1}'s {2} prevented {3}'s {4} from working!"
+msgstr "{2} von {1} macht {4} von {3} wirkungslos!"
+
+msgid "{1}'s {2} prevents Attack loss!"
+msgstr "{2} von {1} verhindert, dass sein Angriff sinkt!"
+
+msgid "{1}'s {2} prevents Defense loss!"
+msgstr "{2} von {1} verhindert, dass seine Verteidigung sinkt!"
+
+msgid "{1}'s {2} prevents accuracy loss!"
+msgstr "{2} von {1} verhindert, dass seine Genauigkeit sinkt!"
+
+msgid "{1}'s {2} prevents burns!"
+msgstr "{2} von {1} verhindert, dass es verbrannt wird!"
+
+msgid "{1}'s {2} prevents confusion!"
+msgstr "{2} von {1} verhindert Verwirrung!"
+
+msgid "{1}'s {2} prevents paralysis!"
+msgstr "{2} von {1} verhindert, dass es paralysiert wird!"
+
+msgid "{1}'s {2} prevents poisoning!"
+msgstr "{2} von {1} verhindert, dass es vergiftet wird!"
+
+msgid "{1}'s {2} prevents romance!"
+msgstr "{2} von {1} verhindert Anziehung!"
+
+msgid "{1}'s {2} prevents stat decrease!"
+msgstr "{2} von {1} verhindert Statussenkungen!"
+
+msgid "{1}'s {2} prevents stat loss!"
+msgstr "{2} von {1} verhindert, dass seine Statuswerte sinken!"
+
+msgid "{1}'s {2} prevents switching!"
+msgstr "{2} von {1} verhindert Tausch!"
+
+msgid "{1}'s {2} prevents {3} from using {4}!"
+msgstr "{3} kann {4} aufgrund von {2} von {1} nicht einsetzen!"
+
+msgid "{1}'s {2} prevents {3}'s {4} from working!"
+msgstr "{2} von {1} macht {4} von {3} wirkungslos!"
+
+msgid "{1}'s {2} raised its Attack!"
+msgstr "{2} von {1} erhöht seinen Angriff!"
+
+msgid "{1}'s {2} raised its Fire power!"
+msgstr "{2} von {1} erhöht die Stärke seiner Feuer-Attacken!"
+
+msgid "{1}'s {2} raised its Special Attack!"
+msgstr "Spezial-Angriff von {1} steigt durch {2}!"
+
+msgid "{1}'s {2} raised its Speed!"
+msgstr "{2} von {1} erhöht seine Initiative!"
+
+msgid "{1}'s {2} raised its speed!"
+msgstr "{2} von {1} erhöht seine Initiative!"
+
+msgid "{1}'s {2} raised the power of its Fire-type moves!"
+msgstr "Die Stärke der Feuer-Attacken von {1} wurde durch {2} erhöht!"
+
+msgid "{1}'s {2} restored health!"
+msgstr "{2} füllt KP von {1} auf!"
+
+msgid "{1}'s {2} restored its HP a little!"
+msgstr "{2} von {1} füllt einige KP auf!"
+
+msgid "{1}'s {2} restored its HP!"
+msgstr "{2} füllt KP von {1} auf!"
+
+msgid "{1}'s {2} restored its status!"
+msgstr "{1} von {2} stellt seine Statuswerte wieder her!"
+
+msgid "{1}'s {2} restored {3}'s PP!"
+msgstr "{2} von {1} füllt AP von {3} auf!"
+
+msgid "{1}'s {2} restored {3}'s status!"
+msgstr "{2} von {1} stellt die Statuswerte von {3} wieder her!"
+
+msgid "{1}'s {2} rose sharply!"
+msgstr "{2} von {1} steigt stark!"
+
+msgid "{1}'s {2} was bounced back by Magic Coat!"
+msgstr "{2} von {1} wurde durch Magiemantel zurückgeleitet!"
+
+msgid "{1}'s {2} was broken!"
+msgstr "Das {2} von {1} verschwindet!"
+
+msgid "{1}'s {2} was burned up!"
+msgstr "{2} von {1} ist verbrannt und somit nutzlos geworden!"
+
+msgid "{1}'s {2} was disabled!"
+msgstr "{1} von {2} wurde blockiert!"
+
+msgid "{1}'s {2} was transferred to {3}!"
+msgstr "{2} von {1} wurde an {3} weitergegeben!"
+
+msgid "{1}'s {2} wore off!"
+msgstr "Das {2} von {1} verschwindet!"
+
+msgid "{1}) {2} ({3}), Lv.{4} (deposited at Lv.{5})"
+msgstr "{1}) {2} ({3}), Lv.{4} (hinterlegt bei Lv.{5})"
+
+msgid "{1}, and you want {2}.\nThat will be ${3}. OK?"
+msgstr "{1}, und davon {2}.\nDas macht dann ${3}. Ja?"
+
+msgid "{1}, switch out! Come back!"
+msgstr "Gut gemacht, {1}! Komm zurück!"
+
+msgid "{1}/{2}/{3}"
+msgstr "{1}.{2}.{3}"
+
+msgid "{1}?\nHow many would you like to sell?"
+msgstr "{1}?\nWie viele würdest du verkaufen?"
+
+msgid "{1}? Certainly.\nHow many would you like?"
+msgstr "{1}? Aber gerne.\nWie viele möchtest du?"
+
+msgid "{1}? Oh, no.\nI can't buy that."
+msgstr "{1}? Es tut mir leid, aber das kann ich nicht kaufen."
+
+msgid "{1}{2}\nHP: {3}"
+msgstr "{1}{2}\nKP: {3}"
+
+msgid "{2} type was added to {1}!"
+msgstr "{1} nimmt zusätzlich den Typ {2} an!"
+
diff --git a/Dialogue/Generated/de/OfficialTaunts.po b/Dialogue/Generated/de/OfficialTaunts.po
new file mode 100644
index 000000000..297374f76
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialTaunts.po
@@ -0,0 +1,5 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
diff --git a/Dialogue/Generated/de/OfficialTrainerTypes.po b/Dialogue/Generated/de/OfficialTrainerTypes.po
new file mode 100644
index 000000000..2787d096b
--- /dev/null
+++ b/Dialogue/Generated/de/OfficialTrainerTypes.po
@@ -0,0 +1,220 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: de\n"
+
+msgid "PkMn TRAINER"
+msgstr "POKÉMON-TRAINER"
+
+msgid "LASS"
+msgstr "GÖRE"
+
+msgid "YOUNGSTER"
+msgstr "KNIRPS"
+
+msgid "HIKER"
+msgstr "WANDERER"
+
+msgid "BEAUTY"
+msgstr "SCHÖNHEIT"
+
+msgid "FISHERMAN"
+msgstr "ANGLER"
+
+msgid "TRIATHLETE"
+msgstr "TRIATHLET"
+
+msgid "TWINS"
+msgstr "ZWILLINGE"
+
+msgid "SWIMMER♀"
+msgstr "SCHWIMMERIN"
+
+msgid "BUG CATCHER"
+msgstr "KÄFERSAMMLER"
+
+msgid "SCHOOL KID"
+msgstr "SCHULKIND"
+
+msgid "RICH BOY"
+msgstr "SCHNÖSEL"
+
+msgid "SR. AND JR."
+msgstr "SENIOR&JUNIOR"
+
+msgid "BLACK BELT"
+msgstr "SCHWARZGURT"
+
+msgid "TUBER"
+msgstr "PLANSCHER"
+
+msgid "HEX MANIAC"
+msgstr "HEXE"
+
+msgid "PkMn BREEDER"
+msgstr "POKÉMON-ZÜCHTERIN"
+
+msgid "WORKER"
+msgstr "ARBEITER"
+
+msgid "INTERVIEWERS"
+msgstr "INTERVIEWER"
+
+msgid "YOUNG COUPLE"
+msgstr "JUNGES GLÜCK"
+
+msgid "GUITARIST"
+msgstr "GITARRIST"
+
+msgid "CHAMPION"
+msgstr "CHAMP"
+
+msgid "MAGMA LEADER"
+msgstr "TEAM-MAGMA-BOSS"
+
+msgid "BATTLE GIRL"
+msgstr "KÄMPFERIN"
+
+msgid "SWIMMER♂"
+msgstr "SCHWIMMER"
+
+msgid "EXPERT"
+msgstr "EXPERTE"
+
+msgid "DRAGON TAMER"
+msgstr "DRACHENPROFI"
+
+msgid "BIRD KEEPER"
+msgstr "VOGELFÄNGER"
+
+msgid "NINJA BOY"
+msgstr "NINJAJUNGE"
+
+msgid "PARASOL LADY"
+msgstr "SCHIRMDAME"
+
+msgid "BUG MANIAC"
+msgstr "KÄFERMANIAC"
+
+msgid "SAILOR"
+msgstr "MATROSE"
+
+msgid "COLLECTOR"
+msgstr "POKéMON-SAMMLER"
+
+msgid "PkMn RANGER"
+msgstr "POKéMON-RANGER"
+
+msgid "AROMA LADY"
+msgstr "AROMALADY"
+
+msgid "RUIN MANIAC"
+msgstr "RUINENMANIAC"
+
+msgid "COOLTRAINER"
+msgstr "ASS-TRAINER"
+
+msgid "KINDLER"
+msgstr "HITZKOPF"
+
+msgid "PICNICKER"
+msgstr "PICKNICKERIN"
+
+msgid "PSYCHIC"
+msgstr "PSYCHO"
+
+msgid "SIS AND BRO"
+msgstr "GESCHWISTER"
+
+msgid "OLD COUPLE"
+msgstr "ALTES PAAR"
+
+msgid "AQUA LEADER"
+msgstr "TEAM-AQUA-BOSS"
+
+msgid "LEADER"
+msgstr "ARENALEITERIN"
+
+msgid "LEADERS"
+msgstr "ARENALEITER"
+
+msgid "ELITE FOUR"
+msgstr "TOP VIER"
+
+msgid "ACE TRAINER"
+msgstr "ASS-TRAINERIN"
+
+msgid "ROCKET GRUNT"
+msgstr "ROCKET RÜPEL"
+
+msgid "SCHOOLKIDDO"
+msgstr "PIRAT"
+
+msgid "RIVAL"
+msgstr "RIVALE"
+
+msgid "HERO"
+msgstr "HELD"
+
+msgid "SUPER SCIENTIST"
+msgstr "SPITZENFORSCHER"
+
+msgid "COOL COUPLE"
+msgstr "PRIMAPAAR"
+
+msgid "FARMER"
+msgstr "FARMERIN"
+
+msgid "BIKER"
+msgstr "ROWDY"
+
+msgid "NINJA SURFERS"
+msgstr "NINJA-SURFER"
+
+msgid "NINJA BOSS"
+msgstr "NINJA-BOSS"
+
+msgid "ACTOR"
+msgstr "SCHAUSPIELER"
+
+msgid "ACTRESS"
+msgstr "SCHAUSPIELERIN"
+
+msgid "LEADER?"
+msgstr "ARENALEITER?"
+
+msgid "ACOLYTE"
+msgstr "AKOLYTH"
+
+msgid "DIVER"
+msgstr "TAUCHER"
+
+msgid "TSUKI NINJA"
+msgstr "TSUKI-NINJA"
+
+msgid "NAMI NINJA"
+msgstr "NAMI-NINJA"
+
+msgid "NINJA MASTER"
+msgstr "NINJA-MEISTER"
+
+msgid "NUCLEAR HORDE"
+msgstr "NUKLEARHORDE"
+
+msgid "APOCALYPSE"
+msgstr "APOKALYPSE"
+
+msgid "ELITE TRAINER"
+msgstr "ASS-TRAINER"
+
+msgid "PIRATE"
+msgstr "PIRAT"
+
+msgid "DREAM"
+msgstr "TRAUM"
+
+msgid "KING"
+msgstr "KÖNIG"
+
+msgid "BIOFIBER CONSTRUCT"
+msgstr "BIOFASER-KONSTRUKT"
diff --git a/Dialogue/Generated/en/Battle.po b/Dialogue/Generated/en/Battle.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/en/Cutscenes.po b/Dialogue/Generated/en/Cutscenes.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/en/Events.po b/Dialogue/Generated/en/Events.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/en/GenMaps.po b/Dialogue/Generated/en/GenMaps.po
new file mode 100644
index 000000000..d1436c1e3
--- /dev/null
+++ b/Dialogue/Generated/en/GenMaps.po
@@ -0,0 +1,4196 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: en\n"
+
+msgid "MAP001_NPC_1"
+msgstr "I know I'm a Camper, but it's so good when we get to a town after so many battles!"
+
+msgid "MAP001_NPC_2"
+msgstr "Burole is lovely. I don't know you, but I'm sure you will agree with me!"
+
+msgid "MAP002_NPC_1"
+msgstr "Hey, man. No, I won't battle you, but listen. This Gym Leader? Don't take him for granted; he's much harder than Maria in Nowtoch was. Davern uses Ground, Water, Rock, and Dark-types. It's kind of hard to prepare for him. I just got beaten soundly at the Gym. Stock up on supplies at the mart before you try it."
+
+msgid "MAP002_NPC_2"
+msgstr "I like the Pokémon Owten! Owten Owten Owten! It's so cute! Owten evolves at level 21 into an even fluffier flying cat owl thing!"
+
+msgid "MAP002_NPC_3"
+msgstr "I like the Pokémon Owten! Owten Owten Owten! It's so cute! Owten evolves at level 21 into an even fluffier flying cat owl thing!"
+
+msgid "MAP003_NPC_1"
+msgstr "Tandor's new underground system is a modern marvel! I can't wait to ride the train!"
+
+msgid "MAP003_NPC_2"
+msgstr "Welcome to Tandor Underground Railway.\nHow can I help you? This is the Bealbeach City Train Station.\nDownstairs, you can travel to the stations in Nowtoch, Legen, and Burole.\nRiding the train requires you to have a T.U.R ticket, which you can purchase from me."
+
+msgid "MAP004_NPC_1"
+msgstr "It's rather sad... there's so much stuff here, yet I can only buy eight or so different items at the register. Where's the fun in that?"
+
+msgid "MAP004_NPC_2"
+msgstr "I wrote a song about Great Balls and how excellent they are. Wanna hear it? ...No?"
+
+msgid "MAP005_NPC_1"
+msgstr "Welcome to Tandor Underground Railway.\nHow can I help you? This is the Burole Town Train Station.\nDownstairs, you can travel to the stations in Nowtoch, Legen, and Bealbeach.\nRiding the train requires you to have a T.U.R ticket, which you can purchase from me."
+
+msgid "MAP006_NPC_1"
+msgstr "Sometimes I ask myself...\nWhat am I waiting for?\nAnd then I remember: I'm waiting for this train to arrive.\nDuh!"
+
+msgid "MAP007_NPC_1"
+msgstr "Ooooh, my, this one looks nearly perfectly preserved! This must have been the remnants of a lava flow, carved out by the ocean... I can see the impressions left by its fur. What are you doing here? This is a very important discovery in the field of paleontology, and it's mine, all mine!! ...\n...Well, okay, I did sort of follow you here. I tell you what: if you can beat me in a Pokémon battle, I'll let you take one of these fossils. ...Fine. You win, fair and square. These fossils are of two kinds of mammal Pokémon that lived 50,000 years ago. The first was known for its lightning-fast strikes, and the second had the strength and power of a mighty glacier. If you take that fossil to the lab in Rochfale, they have the technology to bring it back to life. I think I'll stay here in this cave with my fossil... forever. Yeeeesssss, my precioussssss, we shall never again be parted..."
+
+msgid "MAP007_SIGN_1"
+msgstr "Comet Cave, Rochfale City right ahead."
+
+msgid "MAP007_TRAINER_1"
+msgstr "Ooooh, my, this one looks nearly perfectly preserved! This must have been the remnants of a lava flow, carved out by the ocean... I can see the impressions left by its fur. What are you doing here? This is a very important discovery in the field of paleontology, and it's mine, all mine!! ...\n...Well, okay, I did sort of follow you here. I tell you what: if you can beat me in a Pokémon battle, I'll let you take one of these fossils."
+
+msgid "MAP007_TRAINER_1_DEFEAT"
+msgstr "My fossils..."
+
+msgid "MAP008_NPC_1"
+msgstr "I owe you one, kid. But you should be careful. I think there might be more of these things out there..."
+
+msgid "MAP008_NPC_2"
+msgstr "Hold on, Trainer! You see how this route is just sprawling with sand? Don't let your guard up - there's Pokémon hiding all over the place in there! You'll get jumped in the sand just like tall grass, so you might want one of these if you're in a rush!"
+
+msgid "MAP008_NPC_3"
+msgstr "About time!\nLet's do this!"
+
+msgid "MAP008_NPC_4"
+msgstr "About time!\nLet's do this!"
+
+msgid "MAP008_SIGN_1"
+msgstr "Ferry to Vinoville Town."
+
+msgid "MAP008_SIGN_2"
+msgstr "Super Training Tent. Tutor: Ayumi"
+
+msgid "MAP008_TRAINER_1"
+msgstr "Hey n00b! Wanna see my 1337 skills? Let's fight!"
+
+msgid "MAP008_TRAINER_1_DEFEAT"
+msgstr "...Hax!"
+
+msgid "MAP008_TRAINER_2"
+msgstr "The ocean holds different species of Pokémon than fresh water. Let me show you what I caught!"
+
+msgid "MAP008_TRAINER_2_DEFEAT"
+msgstr "T-the ones you have are nice too..."
+
+msgid "MAP008_TRAINER_3"
+msgstr "Yo! The beach is pretty nice, isn't it? It's very scenic, plus it has all sorts of interesting Pokémon! Let's fight!"
+
+msgid "MAP008_TRAINER_3_DEFEAT"
+msgstr "Nice battle, dude."
+
+msgid "MAP008_TRAINER_4"
+msgstr "I do not desire to initiate conflict. Therefore, I shall give you a choice. Would you like to battle? Very well, let us fight!"
+
+msgid "MAP008_TRAINER_4_DEFEAT"
+msgstr "I have much to learn, it seems."
+
+msgid "MAP008_TRAINER_5"
+msgstr "Hiyah! I'ma use my sweet judo skills to chop your Pokemon to bits!"
+
+msgid "MAP008_TRAINER_5_DEFEAT"
+msgstr "W-wha? But I'm a Black Belt! How'd I lose?"
+
+msgid "MAP008_TRAINER_6"
+msgstr "In the ocean, it's sink or swim. It's like that in Pokémon battles, too!"
+
+msgid "MAP008_TRAINER_6_DEFEAT"
+msgstr "Glub glub!"
+
+msgid "MAP008_TRAINER_7"
+msgstr "Theo: Hey! Issat who I think it is? Yeah! It's \PN! So... so you survived the trip here, huh? What's that you've got there? It's that speech translator thingy, right? Yeah! Bamb'o called me to tell me about that, and then he sent me one! Now we both can understand Pokémon! Neat, huh? A-anyway, I blazed straight through Rochfale. What a boring town! An' I've been training ever since. I'm gonna beat that Gym Leader before you do, \PN! But first, I'll beat you! Don't think I'll go easy just 'cause of Comet Cave!"
+
+msgid "MAP008_TRAINER_7_DEFEAT"
+msgstr "Gyaaah! I picked the wrong starter!"
+
+msgid "MAP012_NPC_1"
+msgstr "The door is locked.\nThere's a note on it...\n\"Temporarily Closed Due To Emergency\""
+
+msgid "MAP012_NPC_2"
+msgstr "Much of the mountains around here are said to be impassable. However, I am determined to scale them!"
+
+msgid "MAP012_NPC_3"
+msgstr "Did you know Tandor was formed by two volcanoes? Both are dormant now, but the Regional Championship takes place over one of 'em."
+
+msgid "MAP012_NPC_4"
+msgstr "It's amazing how the economy functions when half the population of a given region are Trainers. Trainers who don't work! How would we ever feed ourselves if we didn't have Pokémon to help?"
+
+msgid "MAP012_NPC_5"
+msgstr "When I was young, I lived in the big city. Now, I just like living here in the quiet countryside."
+
+msgid "MAP012_NPC_6"
+msgstr "I've lived in Rochfale Town since I was a little girl. The mountains are rough to live in, true, but I'm hale and hearty as any young lass, ufufu!"
+
+msgid "MAP012_NPC_7"
+msgstr "Professor Cypress lives here in Rochfale. I hear she does all sorts of projects trying to improve communication between humans and Pokémon. That's impressive!"
+
+msgid "MAP012_NPC_8"
+msgstr "Luuuooooooo!"
+
+msgid "MAP012_SIGN_1"
+msgstr "Route 06. Do not forget to bring some Potions! It's very long!"
+
+msgid "MAP012_SIGN_2"
+msgstr "Cypress Pokémon Lab"
+
+msgid "MAP012_SIGN_3"
+msgstr "Welcome to Rochfale. Watch for falling \nboulders!"
+
+msgid "MAP013_NPC_1"
+msgstr "Hi! I'm a nurse-in-training. I'm interning at this Pokécenter in order to learn more about Pokémon treatment. Make sure to take good care of your Pokémon. We can heal most injuries, but there's some things our machines can't fix."
+
+msgid "MAP013_NPC_2"
+msgstr "This town is so quiet, it's almost eerie. Some find solitude relaxing. Me, I just want to move on to Bealbeach city and the next Gym."
+
+msgid "MAP017_TRAINER_1"
+msgstr "Hoy! Small fry! Care for a battle of wits? No? How about a battle of Pokémon?"
+
+msgid "MAP017_TRAINER_1_DEFEAT"
+msgstr "...Nice job there."
+
+msgid "MAP017_TRAINER_2"
+msgstr "Do you know how this cave came to be? Who cares, let's fight!"
+
+msgid "MAP017_TRAINER_2_DEFEAT"
+msgstr "Good show, sonny."
+
+msgid "MAP017_TRAINER_3"
+msgstr "Hey! I'm digging here! Get your own cave!"
+
+msgid "MAP017_TRAINER_3_DEFEAT"
+msgstr "Then again, I suppose it is a cave open to anyone..."
+
+msgid "MAP017_TRAINER_4"
+msgstr "They say training in extreme locations make you tougher. Bring it on!"
+
+msgid "MAP017_TRAINER_4_DEFEAT"
+msgstr "Hmm, maybe just cave training isn't enough..."
+
+msgid "MAP018_NPC_1"
+msgstr "Report to Kellyn for mission details."
+
+msgid "MAP018_NPC_2"
+msgstr "Report to Kellyn for mission details."
+
+msgid "MAP018_NPC_3"
+msgstr "It's important to keep your Pokémon safe as you battle Nuclear-types. Cuts and scratches can get infected more easily."
+
+msgid "MAP018_NPC_4"
+msgstr "Our goal is to subdue the feral Nuclear Pokémon and prevent them from breaching the barrier. Additionally, we have word from Rangers who have discovered some people and Pokémon that are in danger. We must rescue them.\nEmpirilla and I will go on ahead. Let's move out!"
+
+msgid "MAP018_NPC_5"
+msgstr "We have medicine on hand to treat those who have been affected by radiation."
+
+msgid "MAP018_NPC_6"
+msgstr "My Steel Pokémon and I will help battle these Nuclear Pokémon. Steel is the only type that resists Nuclear attacks other than Nuclear itself."
+
+msgid "MAP018_NPC_7"
+msgstr "A Pokémon Ranger's credo is to protect nature, Pokémon and people. We're willing to put our lives on the line to do so."
+
+msgid "MAP018_NPC_8"
+msgstr "Keep your Pokémon healthy, okay? Oh, you can also have these as well. Be careful out there!"
+
+msgid "MAP018_NPC_9"
+msgstr "Owten!"
+
+msgid "MAP020_NPC_1"
+msgstr "Congratulations on collecting all 8 Badges.\nVictory Road and the Championship awaits!"
+
+msgid "MAP020_NPC_2"
+msgstr "The Victory Road is currently closed. It will be open when the Tandor Championship begins."
+
+msgid "MAP020_SIGN_1"
+msgstr "Congratulations on collecting all 8 Badges.\nVictory Road and the Championship awaits!"
+
+msgid "MAP021_NPC_1"
+msgstr "Ah, it's you! We were raising your Pokémon, and my goodness, were we surprised! Your Pokémon had an Egg! We don't know how it got there, but your Pokémon had it. You do want it, yes? You have no room for it. Come back when you've made room. \PN received the Egg from the Day-Care Man. Take good care of it. I really will keep it. You do want this, yes? Well then, I'll keep it. Thanks! I'm the Day-Care Man. I help take care of the precious Pokémon of Trainers. If you'd like me to raise your Pokémon, have a word with my wife. Ah, it's you! Good to see you. Your 's doing fine. Ah, it's you! Your and are doing fine. The two prefer to play with other Pokémon than each other. The two don't seem to like each other. The two seem to get along. The two seem to get along very well."
+
+msgid "MAP021_SIGN_1"
+msgstr "- Legen Town\nRoute 6, Rochfale Town -"
+
+msgid "MAP021_SIGN_2"
+msgstr "West Tandor's Day-care Center."
+
+msgid "MAP021_TRAINER_1"
+msgstr "Yowza! Are you feeling the heat?"
+
+msgid "MAP021_TRAINER_1_DEFEAT"
+msgstr "What a scorcher!"
+
+msgid "MAP021_TRAINER_2"
+msgstr "Hey, trainer! My Pokémon want to battle you!"
+
+msgid "MAP021_TRAINER_2_DEFEAT"
+msgstr "Wow! Strong!"
+
+msgid "MAP021_TRAINER_3"
+msgstr "Sigh... I love a relaxing battle in the sunshine!"
+
+msgid "MAP021_TRAINER_3_DEFEAT"
+msgstr "Oh, dear..."
+
+msgid "MAP021_TRAINER_4"
+msgstr "Stop right there! Are you the one who is stealing my research equipment?"
+
+msgid "MAP021_TRAINER_4_DEFEAT"
+msgstr "Oh, it wasn't you? My apologies!"
+
+msgid "MAP022_NPC_1"
+msgstr "Don't worry, I'm not looking for a battle! Me? I'm hiking out here! Isn't that crisp mountain air refreshing?"
+
+msgid "MAP022_NPC_10"
+msgstr "Owten! Ow! Cannot go here!\nHuman... bad! (They seem unwilling to budge.)"
+
+msgid "MAP022_NPC_2"
+msgstr "Aw, shucks... I got beat in a battle and now I'm trying to get back to the Pokémon Center... but I can't find my way! "
+
+msgid "MAP022_NPC_3"
+msgstr "Ow! Owten! ...\n\PN used the PST! How dare you try to take me away!\nTake this!"
+
+msgid "MAP022_NPC_4"
+msgstr "Sorry, but access to this area is restricted due to construction of the Tandor Championship site."
+
+msgid "MAP022_NPC_5"
+msgstr "Sorry, but access to this area is restricted due to construction of the Tandor Championship site."
+
+msgid "MAP022_NPC_6"
+msgstr "Sorry, but access to this area is restricted due to construction of the Tandor Championship site."
+
+msgid "MAP022_NPC_7"
+msgstr "Owten! Ow! Cannot go here!\nHuman... bad! (They seem unwilling to budge.)"
+
+msgid "MAP022_NPC_8"
+msgstr "Owten! Ow! Cannot go here!\nHuman... bad! (They seem unwilling to budge.)"
+
+msgid "MAP022_NPC_9"
+msgstr "Owten! Ow! Cannot go here!\nHuman... bad! (They seem unwilling to budge.)"
+
+msgid "MAP022_SIGN_1"
+msgstr "- Legen Town & Mt. Actinite\nTandor Regional Championship"
+
+msgid "MAP022_SIGN_2"
+msgstr "Rochfale Tunnel to Tandor Sheets, Bealbeach City"
+
+msgid "MAP022_TRAINER_1"
+msgstr "Nothing like a quick battle in the morning, right? Let's go!"
+
+msgid "MAP022_TRAINER_10"
+msgstr "Yo, bro! I'm tellin' ya, you've gotta give it your best shot, y'hear?"
+
+msgid "MAP022_TRAINER_10_DEFEAT"
+msgstr "Whoooo! Awesome, man! Totally jacked."
+
+msgid "MAP022_TRAINER_11"
+msgstr "Come, my child. Freely I will give lessons of the mind and body."
+
+msgid "MAP022_TRAINER_11_DEFEAT"
+msgstr "That was a very valuable step in your development."
+
+msgid "MAP022_TRAINER_12"
+msgstr "...Nope, no bites. Bah. I'll take out my sudden irrational rage on YOU!"
+
+msgid "MAP022_TRAINER_12_DEFEAT"
+msgstr "I think I've calmed down now."
+
+msgid "MAP022_TRAINER_13"
+msgstr "When you're fishing, what sort of lure d'you use? Come on, let's have a fishing battle!"
+
+msgid "MAP022_TRAINER_13_DEFEAT"
+msgstr "Numbskull, I said FISHING!"
+
+msgid "MAP022_TRAINER_14"
+msgstr "I like raising Bug Pokémon. Does that make me a Bug Catcher? Tell me."
+
+msgid "MAP022_TRAINER_14_DEFEAT"
+msgstr "Aww, I lost. Hey, you never answered my question!"
+
+msgid "MAP022_TRAINER_15"
+msgstr "I've got a new baby sister! Here, wanna see a picture of her?"
+
+msgid "MAP022_TRAINER_15_DEFEAT"
+msgstr "What the heck, dude?"
+
+msgid "MAP022_TRAINER_16"
+msgstr "We've entered an endless recursion of time."
+
+msgid "MAP022_TRAINER_16_DEFEAT"
+msgstr "We've entered an endless recursion of time."
+
+msgid "MAP022_TRAINER_17"
+msgstr "I just received an order for two million kilts to be delivered to the Andromeda Galaxy. What?"
+
+msgid "MAP022_TRAINER_17_DEFEAT"
+msgstr "T-they're trying to win Wimbledon!"
+
+msgid "MAP022_TRAINER_1_DEFEAT"
+msgstr "Although this might have ruined my day..."
+
+msgid "MAP022_TRAINER_2"
+msgstr "I'm out in the field, catching Pokémon for the professor. But that's boring. Wanna fight?"
+
+msgid "MAP022_TRAINER_2_DEFEAT"
+msgstr "Aww. Back to town to heal, I s'pose."
+
+msgid "MAP022_TRAINER_3"
+msgstr "I'm a lumberjack, and I'm okay! I work all night and battle all day!"
+
+msgid "MAP022_TRAINER_3_DEFEAT"
+msgstr "Cue the chorus! 'He's a lumberjack...'"
+
+msgid "MAP022_TRAINER_4"
+msgstr "Hey, strange Trainer! The minute we met eyes I knew... we were destined to fight!"
+
+msgid "MAP022_TRAINER_4_DEFEAT"
+msgstr "I was probably destined to lose."
+
+msgid "MAP022_TRAINER_5"
+msgstr "I've been looking for a punching bag in order to train my Pokémon. Yours should do nicely."
+
+msgid "MAP022_TRAINER_5_DEFEAT"
+msgstr "How... how dare you?!"
+
+msgid "MAP022_TRAINER_6"
+msgstr "Like, who are you? You're kinda ~cute~. LOVE that shirt, just LOVE it. Oh, wanna battle?"
+
+msgid "MAP022_TRAINER_6_DEFEAT"
+msgstr "Ah!~ I've been bested!~"
+
+msgid "MAP022_TRAINER_7"
+msgstr "I love playing video games. Pokémon's a really fun one. Wanna play?"
+
+msgid "MAP022_TRAINER_7_DEFEAT"
+msgstr "Wow, you're good at Pokémon."
+
+msgid "MAP022_TRAINER_8"
+msgstr "Oh heyyyyy honey! How's it goin'? Wait, you don't look--"
+
+msgid "MAP022_TRAINER_8_DEFEAT"
+msgstr "Good battle, but..."
+
+msgid "MAP022_TRAINER_9"
+msgstr "Hehe. Bugs are cool. Hehe."
+
+msgid "MAP022_TRAINER_9_DEFEAT"
+msgstr "What. The. Heck."
+
+msgid "MAP024_NPC_1"
+msgstr "I hear that the route to Snowbank Gym is long and dangerous... I'd better stock up on supplies. You're gonna need some warmer clothes if you plan on braving the icy tundra of Route 16."
+
+msgid "MAP024_NPC_2"
+msgstr "I hear that there's a legendary Pokémon living at the core of icy Mt. Lanthanite! I plan to catch it. Route 16 is on the slopes of Mt. Lanthanite, one of the two major mountains in Tandor."
+
+msgid "MAP024_NPC_3"
+msgstr "I'm surveilling this town for any sign of suspicious activity from the person or group that's responsible for the attacks on nuclear power plants. East Tandor has a nuclear power plant of its own. We believe this is at risk since the two plants in West Tandor were destroyed. The entire Ranger squad in the area is on high alert."
+
+msgid "MAP025_NPC_1"
+msgstr "Hello! I don't think I've seen your face around these parts before. You must be a trainer, yes? Well then, you've come to the right place! You see, we take care of trainers' Pokémon. Leave them with us, and when you return, they will grow stronger! If you leave two compatible Pokémon, they might even produce an egg! Now, then..."
+
+msgid "MAP026_NPC_1"
+msgstr "I'm an EMT. I respond to emergencies on the mountain, to rescue people from landslides and such. If you hear avalanche warning sirens, make sure to get to a safe place!"
+
+msgid "MAP026_NPC_2"
+msgstr "Mega Evolution... I tried to beat the Gym but they told me I didn't have enough Wisdom, or something. I hear there's five trials you have to beat at the Gym. But I can't get past the first one!"
+
+msgid "MAP026_NPC_3"
+msgstr "- Yeesh... that Gym kicked my butt!\nAs if freezing winds weren't enough, the Trainers are brutally tough!"
+
+msgid "MAP027_NPC_1"
+msgstr "I left a Pokemon at the Daycare and forgot about it for a while. When I came back, it had gained a bunch of levels!"
+
+msgid "MAP027_NPC_2"
+msgstr "The mountain range protects this route from radioactive fallout. Still, what happened is a disaster..."
+
+msgid "MAP029_NPC_1"
+msgstr "We're learning about evolution right now. Did you know that the Tandor official starters only evolve once, unlike most other official starters which evolve twice? I heard there was a professor who studied evolution somewhere. Like Professor Bamb'o, right? What was his name? Spruce, or sommat..."
+
+msgid "MAP029_NPC_2"
+msgstr "Say, have you heard about Debate? It's a cool activity! This year, we're debating whether or not to enact an age requirement for Pokémon Trainers. I think it's dangerous for young kids to just leave home and go adventuring like you do."
+
+msgid "MAP029_NPC_3"
+msgstr "I'm the teacher of this school. It's really interesting how the kids are so into learning. I've never seen them like this before. I hope you're keeping up with your studies, even if you are adventuring."
+
+msgid "MAP029_NPC_4"
+msgstr "Our school's sports teams are the toughest around! We can beat Moki or Kevlar with our hands tied! Does Moki Town even have a school?"
+
+msgid "MAP029_NPC_5"
+msgstr "Hey, Trainer! These kids need help studying! If you can battle 'em all, you'll get a special reward!"
+
+msgid "MAP029_TRAINER_1"
+msgstr "Oh, hey! W-would you mind, um, battling? Jus' for practice, y'know."
+
+msgid "MAP029_TRAINER_1_DEFEAT"
+msgstr "I- I hope my Pokémon weren't hurt or nothin'..."
+
+msgid "MAP029_TRAINER_2"
+msgstr "I'm practicing for battle class! Do you think you could help me study? All right then, here I come!"
+
+msgid "MAP029_TRAINER_2_DEFEAT"
+msgstr "...Wow! That... was awesome."
+
+msgid "MAP029_TRAINER_3"
+msgstr "I figure if I learn how to battle Pokémon good, I can beat Pokémon Red Version easy! Wanna fight? All right then, here I come!"
+
+msgid "MAP029_TRAINER_3_DEFEAT"
+msgstr "...Battling is easier in the games..."
+
+msgid "MAP033_NPC_1"
+msgstr "Chyin.. Chyin!"
+
+msgid "MAP033_NPC_2"
+msgstr "Did you know this river is populated mainly by Fortog? They're poisonous Pokémon! I'd carry Antidotes if I were you."
+
+msgid "MAP033_TRAINER_1"
+msgstr "I concur! Water Pokémon are superior!"
+
+msgid "MAP033_TRAINER_1_DEFEAT"
+msgstr "Okay, so maybe not JUST Water Pokémon."
+
+msgid "MAP033_TRAINER_2"
+msgstr "I should be playing with friends instead of being here all day."
+
+msgid "MAP033_TRAINER_2_DEFEAT"
+msgstr "I guess I'll try out some new games."
+
+msgid "MAP033_TRAINER_3"
+msgstr "Hey! You! Yeah, you, over there! We're gonna battle now, 'kay?"
+
+msgid "MAP033_TRAINER_3_DEFEAT"
+msgstr "Wooow! That was wicked!"
+
+msgid "MAP033_TRAINER_4"
+msgstr "Oh! Hey! \PN! I just got a new Pokémon and I want to see how it fares!"
+
+msgid "MAP033_TRAINER_4_DEFEAT"
+msgstr "Ah, it's not as strong as I'd hoped..."
+
+msgid "MAP033_TRAINER_5"
+msgstr "Get out of my way!"
+
+msgid "MAP033_TRAINER_5_DEFEAT"
+msgstr "Run, run, run!"
+
+msgid "MAP033_TRAINER_6"
+msgstr "Water Pokémon are the best."
+
+msgid "MAP033_TRAINER_6_DEFEAT"
+msgstr "Erh... Other types are good as well..."
+
+msgid "MAP033_TRAINER_7"
+msgstr "Ladies can be good Trainers as well!"
+
+msgid "MAP033_TRAINER_7_DEFEAT"
+msgstr "You're a strong kid..."
+
+msgid "MAP033_TRAINER_8"
+msgstr "Don't run away from me!"
+
+msgid "MAP033_TRAINER_8_DEFEAT"
+msgstr "Oh, crackers! I lost!"
+
+msgid "MAP033_TRAINER_9"
+msgstr "You're a new Trainer, huh? I just started too!"
+
+msgid "MAP033_TRAINER_9_DEFEAT"
+msgstr "Anyone can be a Trainer, but some people definitely seem more suited for it than others, don't you think?"
+
+msgid "MAP037_NPC_1"
+msgstr "I'm surveying the area to build a trail. It's so cumbersome to have to go through this cave in order to get anywhere... Good luck, kid. Take this, you'll need it."
+
+msgid "MAP037_TRAINER_1"
+msgstr "Somehow, I find that it's fun to randomly beat up on innocent Trainers!"
+
+msgid "MAP037_TRAINER_1_DEFEAT"
+msgstr "...I suppose all bullies eventually get their comeuppance..."
+
+msgid "MAP039_TRAINER_1_DEFEAT"
+msgstr "Whimsicottite is a great improvement to my national team."
+
+msgid "MAP042_NPC_1"
+msgstr "Howdy, Trainer!\nIs this your first Gym Challenge?\nYou must be excited! I'm called the Gym Guy, here to deliver tips to aspiring Trainers looking to conquer the Tandor League! Maria here is a Normal type expert.\nNormal-types aren't Super Effective on any other type, but they have very few weaknesses. Fighting-types like Mankey are strong here,\nand Steel-types like Orchynx and Barewl are a good choice as well because they resist their attacks. Otherwise, an all-out attack from\nyour most powerful Pokémon\nwill probably do the trick.\nGood luck! I'll be rooting for you!\n...Oh, and take this, with my regards!"
+
+msgid "MAP042_TRAINER_1"
+msgstr "Maria may be the first Gym Leader,\nbut she used to be Champion!\nYou're still light years away from defeating her!"
+
+msgid "MAP042_TRAINER_1_DEFEAT"
+msgstr "Light years measure distance, not time..."
+
+msgid "MAP042_TRAINER_2"
+msgstr "Hah! You think you have what it takes to beat Maria?\nAllow me to be the judge of that!"
+
+msgid "MAP042_TRAINER_2_DEFEAT"
+msgstr "Hmm. This one has potential."
+
+msgid "MAP042_TRAINER_3"
+msgstr "Hi again~\nSo, I don't think we were ever properly introduced. What's your name? ... \PN?\. I like it~\nWelcome to the Nowtoch City Pokémon Gym!~ I'm Maria, Normal-type specialist...\nbut you know that already!\nOf course, most folks know me\nas \"Maria, Champion of Tandor\"...\nThose days of my life are over, though.\nNow, I supervise young Trainers like you,\non their way to greatness. It's a long, difficult battle, all the way up to Champion... have you got what it takes? Your very first test in the\nTandor League... begins now!"
+
+msgid "MAP042_TRAINER_3_DEFEAT"
+msgstr "There!~\nThat's the fighting spirit I wanted to see!\nYou're deserving of this Normal Badge!"
+
+msgid "MAP043_NPC_1"
+msgstr "Hello, and welcome to the Pokémon Center. We restore your tired Pokémon to full health. Would you like to rest your Pokémon? OK, I'll take your Pokémon for a few seconds. Your Pokémon may be infected by PokeRus. Little is known about the PokeRus except that they are microscopic life-forms that attach to Pokémon. While infected, Pokémon are said to grow exceptionally well. Thank you for waiting. We've restored your Pokémon to full health. We hope to see you again! We hope to see you again!"
+
+msgid "MAP043_NPC_2"
+msgstr "It takes a lot of work to be a Cooltrainer. You've gotta act cool, dress cool, and be cool. Oh, and raise cool Pokémon. This town drains my coolness. I'm getting out of here... as soon as my Pokémon are strong enough to get back through the cave."
+
+msgid "MAP043_NPC_3"
+msgstr "What's nice about Pokécenters is that they give anyone a free place to sleep for the night. It's like a free hotel, except nobody leaves mints on your pillow. Who pays to build and maintain Pokécenters, anyway? It's not like they make any profit on their own..."
+
+msgid "MAP043_NPC_4"
+msgstr "Heal your Pokémon before you decide to leave town! Trust me on this! You never know when some rival might challenge you, especially when you're weak after, say, a Gym battle."
+
+msgid "MAP044_NPC_1"
+msgstr "My grandmother lives in Legen Town.\nNow that the subway is open, I can visit her every weekend."
+
+msgid "MAP044_NPC_2"
+msgstr "Welcome to Tandor Underground Railway.\nHow can I help you? This is the Nowtoch City Train Station.\nDownstairs, you can travel to the stations in Legen, Burole, and Bealbeach.\nRiding the train requires you to have a T.U.R ticket, which you can purchase from me."
+
+msgid "MAP045_NPC_1"
+msgstr "I'm waiting for the train to arrive.\nBut it feels like I've been waiting forever!"
+
+msgid "MAP046_NPC_1"
+msgstr "Hi, hi! I'm the Name Rater! I'm the fortune-teller of names! I shall be pleased to rate your Pokémon's nickname. Which Pokémon's name should I critique? I see. Do come visit again. Now, now... That is merely an Egg! Hmmm... it is! This is a magnificent nickname! It is impeccably beyond reproach! You'll do well to cherish your now and beyond. Hmmm... , is it? That is quite a fine name you bestowed. But! What say you, if I were to give it a better name? Ah, good. Then, what shall the new nickname be? Done! From now on, this Pokémon shall be known as ! It looks no different from before, and yet, this is vastly superior! How fortunate for you! Done! From now on, this Pokémon shall be known as ! It is a better name than before! How fortunate for you! I see. Do come visit again. I see. Do come visit again."
+
+msgid "MAP046_NPC_10"
+msgstr "Hi there, trainer!\nHey, do you know about TMs and HMs? TMs, or Technical Machines, are very useful items that can be used to teach new moves to your Pokemon. HMs, or Hidden Machines, are a special kind of TM that can help you overcome obstacles in your path! Here, why don't you try this TM out? That TM contains Attract. Most Pokemon can learn it! Why don't you try teaching it to one of yours?"
+
+msgid "MAP046_NPC_11"
+msgstr "I love playing Pokémon games!\nI got Blue Version, and my sis got Red. That way, we can catch 'em all!"
+
+msgid "MAP046_NPC_12"
+msgstr "Mama says I can't have a pet Pokémon until I'm older. \nSo she got me a video game, instead!"
+
+msgid "MAP046_NPC_13"
+msgstr "The Tandor region is divided into two parts, west and east. We're in West Tandor right now."
+
+msgid "MAP046_NPC_2"
+msgstr "Hello! Are you a Pokémon trainer? I can see you have a bright future ahead of you! Come back here after you get more experienced and I can teach your Pokémon some strong moves."
+
+msgid "MAP046_NPC_3"
+msgstr "My fiancee wants to have kids, but I'm not so sure.\nI just don't know if I'm daddy material, you know?"
+
+msgid "MAP046_NPC_4"
+msgstr "I moved to Nowtoch City because I wanted to start a family with my fiancee. But he's having doubts..."
+
+msgid "MAP046_NPC_5"
+msgstr "Hey! You look like a trainer, so that means you collect Pokemon! I'm looking for a Fortog. If you've got one, I'll trade you my Baashaun for it. You don't have any Pokémon... Take care of him! Woot, I have a happy Fortog now! You don't have a Fortog, I guess... Don't come back 'til you've got Fortog!"
+
+msgid "MAP046_NPC_6"
+msgstr "Hello, and welcome to the Nowtoch City Pokémon Ranger HQ. Are you looking to take on a mission?\nSorry, but we're not accepting help from civilians at this time."
+
+msgid "MAP046_NPC_7"
+msgstr "Are you a Pokémon trainer starting your journey? Then you should take this! That Full Heal will cure any status condition. It even heals Confusion.\nUse it when your Pokémon is in a pinch."
+
+msgid "MAP046_NPC_8"
+msgstr "We Pokémon Rangers are Tandor's law enforcement.\nMost big cities have a Ranger Center, but the main headquarters is in Bealbeach City."
+
+msgid "MAP046_NPC_9"
+msgstr "Do you have enough healing items for your Pokémon?\nHere, you should take some more. A Potion is a great way to restore HP in a pinch.\nHowever, you should still make sure to heal at a Pokémon Center."
+
+msgid "MAP046_SIGN_1"
+msgstr "There's a weather report on TV.\nLooks like \ntomorrow will have clear skies.\nA talk show is playing on TV.\nLooks pretty boring."
+
+msgid "MAP046_SIGN_10"
+msgstr "The TV is currently showing a children's cartoon, \n"Pokémon Universe"."
+
+msgid "MAP046_SIGN_11"
+msgstr "The TV is currently showing a children's cartoon, \n"Pokémon Universe"."
+
+msgid "MAP046_SIGN_12"
+msgstr "There are some Pokémon games on the computer, \ntoo."
+
+msgid "MAP046_SIGN_13"
+msgstr "The bookshelf has many large-print books and family \nphoto albums."
+
+msgid "MAP046_SIGN_2"
+msgstr "There's a weather report on TV.\nLooks like \ntomorrow will have clear skies.\nA talk show is playing on TV.\nLooks pretty boring."
+
+msgid "MAP046_SIGN_3"
+msgstr "The computer shows the title screen of a popular game, "Dragonite Origins.""
+
+msgid "MAP046_SIGN_4"
+msgstr "Hello, and welcome to the Nowtoch City Pokémon Ranger HQ.\nAre you looking to take on a mission?\nSorry, but we're not accepting help from civilians at this time."
+
+msgid "MAP046_SIGN_5"
+msgstr "It has various wildlife guides, topographical maps and \ninformational pamphlets."
+
+msgid "MAP046_SIGN_6"
+msgstr "It has various wildlife guides, topographical maps and \ninformational pamphlets."
+
+msgid "MAP046_SIGN_7"
+msgstr "The monitor is turned off."
+
+msgid "MAP046_SIGN_8"
+msgstr "The monitor is turned off."
+
+msgid "MAP046_SIGN_9"
+msgstr "Don't take food from the nice lady's fridge."
+
+msgid "MAP047_NPC_1"
+msgstr "Tancoon: Grrrowf!"
+
+msgid "MAP047_NPC_2"
+msgstr "Ever since I met Tancoon, my life has been so much better!\nI can't imagine a life without Pokémon."
+
+msgid "MAP047_SIGN_1"
+msgstr "What does a Gym Leader keep in her fridge? ...Ew, spoiled milk!"
+
+msgid "MAP047_SIGN_2"
+msgstr "Books are lined up haphazardly on a shelf, including Maria's autobiography: "The Road to the Championship!""
+
+msgid "MAP047_SIGN_3"
+msgstr "Books are lined up haphazardly on a shelf, including Maria's autobiography: "The Road to the Championship!""
+
+msgid "MAP047_SIGN_4"
+msgstr "The TV is showing a news show.\n...It's pretty \nboring."
+
+msgid "MAP047_SIGN_5"
+msgstr "The TV is showing a news show.\n...It's pretty \nboring."
+
+msgid "MAP047_SIGN_6"
+msgstr "It's generally not a good idea to go through strangers' \nrefrigerators."
+
+msgid "MAP047_SIGN_7"
+msgstr "It's full of books on Pokémon caretaking."
+
+msgid "MAP047_SIGN_8"
+msgstr "It's full of books on Pokémon caretaking."
+
+msgid "MAP048_SIGN_1"
+msgstr "It's a Nintendo Wii U.\nBut I hear they're coming out with a new system soon."
+
+msgid "MAP048_SIGN_2"
+msgstr "It's my bed.\nI don't need a nap right now."
+
+msgid "MAP048_SIGN_3"
+msgstr "It's my bed.\nI don't need a nap right now."
+
+msgid "MAP048_SIGN_4"
+msgstr "It's crammed full of books about Pokémon.\n"Me and my Owten",\n"Jerbolta's Big Adventure",\n"Quest for the Legends".\nI've read all of these many times."
+
+msgid "MAP048_SIGN_5"
+msgstr "There's a Pokémon Battle showing on TV.\nWhoa! One of the Pokémon just Mega Evolved!\nThere's an ad for a new video game on TV.\nIt's a Pokémon battle simulation game called "Red and Blue Version."\nThere's a news report showing on TV.\nApparently, they're building a new Nuclear Power Plant in Tandor.\n...Okay, time to go!"
+
+msgid "MAP048_SIGN_6"
+msgstr "It's crammed full of books about Pokémon.\n"Me and my Owten",\n"Jerbolta's Big Adventure",\n"Quest for the Legends".\nI've read all of these many times."
+
+msgid "MAP049_NPC_1"
+msgstr "\PN, sweetie!\nToday's your big day, isn't it? I can't help but feel glum, seeing my little one all grown up and leaving home.\nOh, if only these old bones could do more so that I could support us both! But we both know that you're ready for this. You and that boy Theo...\.\nalways following in your footsteps, that one.\nYou've always been so capable,\nbut I wonder about him?\.\nHe is younger after all. I'm sure his father Cameron wouldn't allow him to go unless he was sure.\nAnyway, to celebrate your big day,\nI got you a present. Go ahead and open it! \PN obtained the Running Shoes! (The instructions on them read: \"To run, hold Z. You can toggle auto-run in the Menu.\") *sniffle* O-oh, don't mind me, sweetie...\.\nI'm just an emotional old lady.\nIf only your father were here right now...\nWell, I'm sure he's proud of you too.\.\nAnd I'm positive you'll run into him during your adventure. Now, I shouldn't keep you any longer.\nSay hi to that nice Professor man for me, will you? And if you don't mind stopping by again\nafter you get your first Pokémon,\nI'd love to see it. Good luck, sweetie!"
+
+msgid "MAP049_NPC_2"
+msgstr "... (she doesn't respond.) (her breathing is slow and even, as though in a deep sleep.)"
+
+msgid "MAP049_NPC_3"
+msgstr "I won't rest until a cure is found for Lucille's condition. But,\. just standing by her side,\nable to hold her in my arms...\nThat is enough, for now. Of course I'm incredibly proud of you\nfor becoming Champion of Tandor. You've achieved as much as I did in my heyday as a Pokémon Ranger Cadet and then as a fully-fledged Ranger. Heroism runs in the family, I suppose. This kind of life...\nI'd forgotten what it was like.\nI spent so many years in a hurry,\.\nrushing from crisis to crisis. And... if I'm being honest...\nmy age has been catching up with me.\nI'm 45 years old.\nI'm not as spry as when I was younger. A break from the action like this is... nice. Empirilla's not with me any more.\nIt returned to the Baykal Forest, its home. You know, despite our partnership it was never truly my Pokémon. It stood by my side because of its choice. And it left because of its own choice, too. But I know we'll meet again."
+
+msgid "MAP049_SIGN_1"
+msgstr "It's a wide-screen TV. I like to watch it while eating \ndinner."
+
+msgid "MAP049_SIGN_10"
+msgstr "Scandalous!\nIt's Auntie's sock drawer."
+
+msgid "MAP049_SIGN_11"
+msgstr "Scandalous!\nIt's Auntie's sock drawer."
+
+msgid "MAP049_SIGN_12"
+msgstr "It's crammed full of Pokémon books.\n"Pokémon Life" \n... "Pokémon Evolution" ... "Philosophy of Pokémon" ..."
+
+msgid "MAP049_SIGN_13"
+msgstr "This bookshelf contains Auntie's guilty-pleasure \nreading.\n"The Arcanine Prince: A Fiery Romance!""
+
+msgid "MAP049_SIGN_2"
+msgstr "It's a wide-screen TV. I like to watch it while eating \ndinner."
+
+msgid "MAP049_SIGN_3"
+msgstr "There's a framed embroidery. "Home is where the \nheart is!" And there's a heart underneath it."
+
+msgid "MAP049_SIGN_4"
+msgstr "This cabinet is filled with antique china plates."
+
+msgid "MAP049_SIGN_5"
+msgstr "This cabinet is filled with antique china plates."
+
+msgid "MAP049_SIGN_6"
+msgstr "The fridge. Hope she won't mind if I help myself to a \nsnack..."
+
+msgid "MAP049_SIGN_7"
+msgstr "The stove and sink. It's clean because we usually \norder out."
+
+msgid "MAP049_SIGN_8"
+msgstr "A cup of joe is on the table. It's cold."
+
+msgid "MAP049_SIGN_9"
+msgstr "Out the window I can see Professor Bamb'o's lab. I \nwonder why he has an apostrophe in his name."
+
+msgid "MAP050_NPC_1"
+msgstr "The bPokémon Trainer Aptitude Test/b \nsorts Trainers into three basic types:\nDefensive, c2=043c3affOffensive/c2, andc2=65467b14 Balanced. The professor will then give you a starter\nPokémon that best fits your battling style. Defensive trainers receive\nthe Grass Pokémon Orchynx.\nIt's gentle, hardy, and easy to raise. c2=043c3affOffensive/c2 trainers receive\nthe Fire Pokémon c2=043c3affRaptorch/c2.\nIt's strong and speedy, but can be hard to control. c2=65467b14Balanced/c2 trainers receive\nthe Water Pokémon c2=65467b14Eletux/c2.\nIts calm, collected nature allows it to adapt to any situation. Choose carefully - a starter is your main partner on your journey!"
+
+msgid "MAP050_NPC_2"
+msgstr "C'mon, \PN, let's go already!!\nThe suspense is killing me?"
+
+msgid "MAP050_NPC_3"
+msgstr "I'm an expert on Nuclear Purification.\nDo you have any Nuclear Pokémon that need to be cured? Their appearance and typing will remain, they just won't disobey or attack you any more. Okay! I'll apply the treatment to your . It won't take long. And, done! Your is completely cured! Make sure to bring any more irradiated Pokémon you have to me so that I can cure them. If you have any corrupted Pokémon, bring them to me and I'll cure them. Remember, it's only for regular Pokémon that have been infected by radiation exposure. Native Nuclear-types such as Nucleon and Hazma won't need to be cured. If you have any corrupted Pokémon, bring them to me and I'll cure them."
+
+msgid "MAP050_NPC_4"
+msgstr "Haaz-maa!"
+
+msgid "MAP050_SIGN_1"
+msgstr "It's a potted plant. Looks well-watered."
+
+msgid "MAP050_SIGN_10"
+msgstr "Pokémon books are stored in a glass case. ...Hey! "Ernest Bamb'o: The Mystery of Elements!" The Professor wrote this!"
+
+msgid "MAP050_SIGN_11"
+msgstr "It's a machine for healing Pokémon. "
+
+msgid "MAP050_SIGN_2"
+msgstr "It's a potted plant. Looks well-watered."
+
+msgid "MAP050_SIGN_3"
+msgstr "It's a machine for healing Pokémon. "
+
+msgid "MAP050_SIGN_4"
+msgstr "Pokémon books are stored in a glass case. ...Hey! "Ernest Bamb'o: The Mystery of Elements!" The Professor wrote this!"
+
+msgid "MAP050_SIGN_5"
+msgstr "Pokémon books are stored in a glass case. ...Hey! "Ernest Bamb'o: The Mystery of Elements!" The Professor wrote this!"
+
+msgid "MAP050_SIGN_6"
+msgstr "Pokémon books are stored in a glass case. ...Hey! "Ernest Bamb'o: The Mystery of Elements!" The Professor wrote this!"
+
+msgid "MAP050_SIGN_7"
+msgstr "It's a potted plant. Looks well-watered."
+
+msgid "MAP050_SIGN_8"
+msgstr "Some papers are pinned on the wall... "Protect your Pokémon, use Potions!" "Pokédex: Your one stop source for Pokémon info!""
+
+msgid "MAP050_SIGN_9"
+msgstr "The window gives a lovely view of the rock wall. \nThere's nothing to see."
+
+msgid "MAP050_TRAINER_1"
+msgstr "Oh, I must have gotten something mixed up... Uh... HEY! I'M TIRED OF WAITING! \PN got their starter already!\nWhen do I get mine? I'm done analyzing your results, Theo. Hmm... Yes!!\nMy first Pokémon! Um pops, this doesn't look like an Eletux. Um pops, this doesn't look like a Raptorch. Um pops, this doesn't look like an Orchynx. What th... I mean, yes, I have decided to... deviate a bit from the standard starter selection process. That's it. You two, enjoy your new Pokémon! \PN... you have a Pokémon.\nAnd now I have a Pokémon, too.\nYou know what this means, right?\nWe hafta battle! Oh, please, not in the Lab..."
+
+msgid "MAP050_TRAINER_1_DEFEAT"
+msgstr " What? B-but I was s'posed to win!"
+
+msgid "MAP052_NPC_1"
+msgstr "Welcome to the world famous Beachside Resort and Casino! How may I help you? Beachside is a five-star locale known around the world for the highest quality entertainment, lodging and dining, located in picturesque Bealbeach City. All patrons are welcome to enter our daily lottery drawing at the counter to win prizes. You are also invited to enjoy the wide range of entertainment in our Casino for the chance to win rare and valuable items and even rare Pokémon! To your immediate right is the Casino where you are free to enjoy a variety of exciting games of chance for the opportunity to win prizes. To your left is our five-star restaurant and bar which also contains our Pokémon Care Center, where our specialists will make your Pokémon feel pampered and refreshed. The elevator leads to the hotel. We offer a variety of room types: single, double, suite, deluxe suite and penthouse. I'm sorry, but you need to be 18 years of age or older to reserve a room in our luxury hotel. You are still welcome to partake in the other features of our resort! Enjoy your time at Beachside!"
+
+msgid "MAP052_NPC_10"
+msgstr "I am sorry, but access to the hotel is limited to hotel patrons and their guests only."
+
+msgid "MAP052_NPC_11"
+msgstr "I love coming to the bar to unwind after a long day of sunning myself on the beach! The most important thing about being a lifeguard is looking good while wearing that white stuff on your nose. ...What? There's more to it than that?"
+
+msgid "MAP052_NPC_12"
+msgstr "This would be more romantic if he\nwasn't ogling that other lady over there..."
+
+msgid "MAP052_NPC_13"
+msgstr "We're on a romantic date together."
+
+msgid "MAP052_NPC_14"
+msgstr "Yo! I heard the Gym Leader's a real hottie! I'm gonna train Pokémon so that I'm good enough to battle her, then I'll ask her on a date!"
+
+msgid "MAP052_NPC_15"
+msgstr "Hello there, Trainer! For a small fee, I can make your Pokémon the happiest it can be! I have a very busy schedule however, so I can only do it once a day. What Pokémon wants some grooming? \GWhat kind of treatment would you like for it? seems delighted! Come back tomorrow! Too rich for your blood it seems. Which stat would you like to raise? increased its base ! Come back tomorrow! Too rich for your blood it seems. Hm? That Pokémon cannot benefit from Rare Grooming. gained a level! Come back tomorrow! Too rich for your blood it seems. Come back if you'd like to treat any of your Pokémon! Come back if you'd like to treat any of your Pokémon!"
+
+msgid "MAP052_NPC_16"
+msgstr "Enjoy your stay at the Beachside Casino! Happy gaming!"
+
+msgid "MAP052_NPC_17"
+msgstr "Voltorb Flip is a low-stakes, low-payout game. I actually find it very relaxing to play. See if you can get a good streak going!"
+
+msgid "MAP052_NPC_18"
+msgstr "Heheheheh! They call me Lucky Jack! Every night I drive tourists around in a limousine. Every day I take my winnings to this here casino and gamble all day long! I always end up with more than I started out with, too! I like your style, kid. Here's a little gift, from me to you. \pn got 100 Coins! Maybe some of my good luck will rub off on you, eh?"
+
+msgid "MAP052_NPC_19"
+msgstr "There's no clocks or windows in here... How long have I been at this? Well, might as well go another round..."
+
+msgid "MAP052_NPC_2"
+msgstr "\rThis is the Pokémon Lottery Corner. I'm Felicity, your attendant today. \rIf the drawn number matches the ID No. of any of your Pokémon, you could win fabulous gifts. \rWould you like to check today's lucky number? \rFirst, I'll look up today's Pokémon Lottery Corner lucky number. ... \rYour Lotto Ticket number is . \rNow, let's see if it matches the ID No. of any of your Pokemon. \rI'm sorry. You didn't get a match... \rPlease do visit again. \rCongratulations! \rThe ID number of your team's matches your Lotto Ticket number! \rCongratulations! \rThe ID number of your PC-boxed matches your Lotto Ticket number! \rOh my goodness, all five digits matched! \rYou've won the jackpot prize! \rPlease do visit again! Good-bye from Felicity, your attendant! \rYou have no room left. Make room, then come see me. \rThe last four digits matched, so you win the first prize! \rPlease do visit again! Good-bye from Felicity, your attendant! \rYou have no room left. Make room, then come see me. \rThe last three digits matched, so you win the second prize! \rPlease do visit again! Good-bye from Felicity, your attendant! \rYou have no room left. Make room, then come see me. \rThe last two digits matched, so you win the third prize! \rPlease do visit again! Good-bye from Felicity, your attendant! \rYou have no room left. Make room, then come see me. \rThe last digit matched, so you win the fourth prize! \rPlease do visit again! Good-bye from Felicity, your attendant! \rYou have no room left. Make room, then come see me. \rOh, I see.\nPlease do visit us again."
+
+msgid "MAP052_NPC_20"
+msgstr "Spin, spin, spin!\nSpin, spin, spin! Win, win, win!"
+
+msgid "MAP052_NPC_21"
+msgstr "No funny business, you hear? You're on camera."
+
+msgid "MAP052_NPC_22"
+msgstr "Ooh! I won big today! I'm gonna buy a cute Pokémon! "
+
+msgid "MAP052_NPC_23"
+msgstr "\cn\bWe exchange your coins for prizes. \CN\bWhich prize would you like? \CN\bSo, you want the ? \CN\bSorry, you'll need more coins than that. \CN\bYou have no room in your Bag."
+
+msgid "MAP052_NPC_24"
+msgstr "\cn\bWe exchange your coins for prizes. \CN\bWhich prize would you like? \CN\bSo, you want the ? \CN\bSorry, you'll need more coins than that. \CN\bYou have no room in your Bag."
+
+msgid "MAP052_NPC_3"
+msgstr "I'm waiting for my friends to finish putting on their bathing suits so we can hit the beach! Make sure to wear lots of suntan lotion. A sunburn can really harsh your mellow."
+
+msgid "MAP052_NPC_4"
+msgstr "I have a permanent penthouse suite on the top floor. It has a view of the entire city. Each year, my family vacations here for several weeks. I won't settle for anything less."
+
+msgid "MAP052_NPC_5"
+msgstr "The quality of service here is most excellent. They even have special grooming center for Pokémon! I just want to stay here and never leave... until my pockets are empty that is!"
+
+msgid "MAP052_NPC_6"
+msgstr "\rWelcome! \rOh, you don't have a Coin Case? Here. \rYou can exchange your coins for fabulous prizes next door. \rYou don't have any room for it. Come back when you do. \rYou can exchange your coins for fabulous prizes next door."
+
+msgid "MAP052_NPC_7"
+msgstr "\G\CN\bWelcome to Bealbeach's Casino! \G\CN\bDo you need some game coins?\nWould you like to buy some? \G\CN\bYou don't have a Coin Case. \G\CN\bDo you need some game coins?\nWould you like to buy some? \G\CN\bWhoops!\nYour Coin Case is full. \G\CN\bYou can't afford the coins. \G\CN\bThank you\nHere are your coins! \G\CN\bWhoops!\nYour Coin Case is full. \G\CN\bYou can't afford the coins. \G\CN\bThank you\nHere are your coins! \G\CN\bNo?\nPlease come play sometime!"
+
+msgid "MAP052_NPC_8"
+msgstr "\cn\bWe exchange your coins for prizes. \CN\bWhich prize would you like? \CN\bSo, you want the ? \CN\bSorry, you'll need more coins than that. \CN\bYou have no room in your Bag."
+
+msgid "MAP052_NPC_9"
+msgstr "\CN\bWe exchange your coins for prizes. \CN\bWhich prize would you like? \CN\bSo, you want the ? \CN\bSorry, you'll need more coins than that."
+
+msgid "MAP053_NPC_1"
+msgstr "Oh, your Pokémon look so cute! Here, give them some of these. I just love seeing Pokémon that are happy with their Trainers. You take good care of them, now!"
+
+msgid "MAP053_NPC_2"
+msgstr "Brr! I'm so cold!\nSay, do you have a Pokémon that knows the move \rOverheat? That would definitely warm this place up. Oh, thank you! That's much better!\nHere, take this as thanks. Brr... No Pokémon in your party seems to know the move... Brr... That's too bad..."
+
+msgid "MAP053_NPC_3"
+msgstr "My wife is very generous to passing Trainers. With how difficult the Gym is, they need all the help they can get!"
+
+msgid "MAP053_NPC_4"
+msgstr "I love Pufluff! It's so... Pufluffy!!!!! Fafurr have a fuzzy fur coat to keep them warm. I want to hug them, but they always run away before I get close!"
+
+msgid "MAP053_NPC_5"
+msgstr "Hello there! I am a Pokémon Dentist! Yes, even Pokémon need to keep their teeth clean... Not to mention, there are many attacks that require a strong bite! \GIf you'd like, I can teach those moves to your Pokémon. I only charge a modest fee. It's $5000 each time. Which one would you like me to teach? \GThere you go! That's $5000. Would you like me to teach another Pokémon a special move? That's that, then. Take some toothpaste and a brush to go. Would you like a balloon as well? \GThere you go! That's $5000. Would you like me to teach another Pokémon a special move? That's that, then. Take some toothpaste and a brush to go. Would you like a balloon as well? \GThere you go! That's $5000. Would you like me to teach another Pokémon a special move? That's that, then. Take some toothpaste and a brush to go. Would you like a balloon as well? \GThere you go! That's $5000. Would you like me to teach another Pokémon a special move? That's that, then. Take some toothpaste and a brush to go. Would you like a balloon as well? \GThere you go! That's $5000. Would you like me to teach another Pokémon a special move? That's that, then. Take some toothpaste and a brush to go. Would you like a balloon as well? \GThere you go! That's $5000. \GWould you like me to teach another Pokémon a move for $5000? That's that, then. Take some toothpaste and a brush to go. Would you like a balloon as well? That's a shame... make sure to floss regularly! That's a shame... make sure to floss regularly!"
+
+msgid "MAP053_NPC_6"
+msgstr "My boss looks at Pokémon teeth all day. He even put his head in a Fafninter's mouth once! Pokémon centers will patch up scratches and burns and the like, but tooth cavities require an expert."
+
+msgid "MAP053_NPC_7"
+msgstr "Eh... you there.\nYer a Trainer aren'cha? Meanin' ye'll be challengin' the Gym. Mayhaps ye be wantin' some advice. To challenge the Snowbank Gym ye have to pass a series of trials. These are meant to test yer strength as a Trainer, an' yer wisdom to make the right choice when it counts, Yer ability to adapt to different conditions, yer Pokémon's faith in ye an' yer faith in yer Pokémon, an' yer strength to discern truth from lies. If ye fail any one of the tests, ye'll have to start from square one again. Boy, lemme tell ye, it ain't easy to get up when yer knocked down. But keep on tryin'. That's what it takes to win! Because only when you pass the trials an' defeat the Leader Vaeryn can ye unlock the true power in yer Pokémon: The power of Mega Evolution. How would an old man like me know all this? Well... To tell the truth, I used to be an acolyte of the Dragon meself. Now the winter cold on the mountain causes these old bones to ache an' a stiff breeze could snap me in half. So I stay here by the fire, givin' advice to Trainers. As thanks fer listenin', I want ye to have this. ...Eh? What's that rock, you ask?\nWell, ye can't use it now, but once you\nconquer the trials ye'll be able to use it to trigger Mega Evolution in a Pokémon. Good luck... ye'll need it! So be it... ye don't have time to listen to an old coot's tales. I get it."
+
+msgid "MAP054_NPC_1"
+msgstr "I can't believe it! We live on the beach and all my children want to do is stay inside! Whether they're playing video games or reading books, they never want to go out and play!"
+
+msgid "MAP054_NPC_2"
+msgstr "Mom just doesn't understand why I hate sand. It's coarse, and rough... and it gets everywhere!"
+
+msgid "MAP054_NPC_3"
+msgstr "My bro and I would rather stay in here. You can have plenty of adventure inside!"
+
+msgid "MAP058_NPC_1"
+msgstr "Which floor do you want to go to?"
+
+msgid "MAP060_NPC_1"
+msgstr "Hey... wanna buy a Pokémon? Which Pokémon would you like? \G\bSo, you want the Mareep for ? \CN\bSorry, you'll need more cash than that. That'll be . No? Okay, you drive a hard bargain. it is, then. \G\bSo, you want the Pahar for ? \CN\bSorry, you'll need more cash than that. That'll be . No? Okay, you drive a hard bargain. it is, then. \G\bSo, you want the Magikarp for ? \CN\bSorry, you'll need more cash than that. That'll be . No? Okay, you drive a hard bargain. it is, then."
+
+msgid "MAP060_NPC_10"
+msgstr "Burole's subway is still under construction, however. You can't use it yet."
+
+msgid "MAP060_NPC_11"
+msgstr "Hi! I am a great judge of the friendship between Pokémon and trainer! Can I rate your Pokémon for you? Which Pokémon do you want me to rate? Maybe next time, then. By any chance, you... Are you a very strict person? I feel that your really doesn't like you... Hmmm... Your may not like you very much. The relationship is neither good nor bad... Your looks neutral. Your is a little friendly to you... That's what I'm getting. Your is friendly to you. It must be happy with you. Your is quite friendly to you! You must be a kind person! Why, is as happy as a Luxor! Your is super friendly to you! I'm a bit jealous! Maybe next time, then."
+
+msgid "MAP060_NPC_12"
+msgstr "Well well, an outsider! Welcome to Burole, a real town! This here's an old mining town - and the best and biggest mine is down in the local gym!"
+
+msgid "MAP060_NPC_13"
+msgstr "Ever since I enrolled my kids in the school here, I've had peace and quiet! My soap operas are on today - I need to find out if Louis' plot to disguise himself as his twin Lewis will be busted or not!"
+
+msgid "MAP060_NPC_2"
+msgstr "Every day is a nice day here... It's almost impossible to find Pokémon swimming on the lake surface! Most of them are next to the lake's bottom."
+
+msgid "MAP060_NPC_3"
+msgstr "You are probably from Moki Town. That place is so bad... That's why you are so fascinated with Burole, then. I can just see it in your eyes!"
+
+msgid "MAP060_NPC_4"
+msgstr "You might be asking, what's a policeman doing here just looking at flowers? The thing is that this town is so peaceful and perfect that I don't have anything to do while working!\n I even get paid for that. The Gym? Just go ahead and you'll find it!\n Oh, forgot to tell you, that's in the cave."
+
+msgid "MAP060_NPC_5"
+msgstr "Great! The berry planting season has started. Wait, why am I telling you? The truth is that this town is so peaceful that I don't have anything to do!"
+
+msgid "MAP060_NPC_6"
+msgstr "You don't have any idea just how deep this lake is! No one really knows what can be found on its bottom. You see that new building? Thats the Tandor Subway, they have just finished it here and in Nowtoch as well. \n That's the best way to travel to distant towns now."
+
+msgid "MAP060_NPC_7"
+msgstr "I'm guarding the metro station today. A bit more interesting than what my partner is doing. I hope that those hillbillies from Nowtoch and Kevlar Town stop visiting Burole! They are so annoying."
+
+msgid "MAP060_NPC_8"
+msgstr "Welcome to Burole! I'm the local Town Greeter. Yes it's a real job, and I get paid for it. Of course, it can get kinda boring sometimes... You know, you're the first person to come through here all week?"
+
+msgid "MAP060_NPC_9"
+msgstr "Pshh... Be quiet! I'm playing the new game on the block, Pokémon Silver. I've just caught a Ledyba. Damn! Team Rocket attacked Slowpoke Well! Kurt is making a Poké Ball for me! I need to get Ampharos medicine now!"
+
+msgid "MAP060_SIGN_1"
+msgstr "Burole Gym\nLeader: Davern\n"The Cave Excavation Master!""
+
+msgid "MAP060_SIGN_2"
+msgstr ""Burole Town, City of Caves. Take our word, don't travel west.""
+
+msgid "MAP060_SIGN_3"
+msgstr ""Burole Town, City of Caves. Take our word, don't travel west.""
+
+msgid "MAP060_SIGN_4"
+msgstr "Young Trainer's Academy."
+
+msgid "MAP062_SIGN_1"
+msgstr "Push the button?"
+
+msgid "MAP064_NPC_1"
+msgstr "So you're finally heading out on an adventure, eh?\nYou take after your old man that way. Your dad Kellyn's famous in some parts. That man is a regular hero!"
+
+msgid "MAP064_NPC_2"
+msgstr "My husband's long been an admirer of your father, you know. Kellyn does good work as Tandor's Ranger Chief.\nHe protects the lives of people, Pokémon and the environment."
+
+msgid "MAP064_NPC_3"
+msgstr "Chyin.. Chyin!"
+
+msgid "MAP065_NPC_1"
+msgstr "Listen, have you heard of the new\nvideo game? It's called 'Pokémon: Red Version\". Pokémon Red Version lets me explore the Kanto region, train a team of Pokémon and become a master trainer...\. all from inside of my house!"
+
+msgid "MAP065_NPC_2"
+msgstr "I bought my son the new video game all the children are playing these days.\nBut now he won't put it down for even a second! Junior won't do his chores, and his room is a mess. Oh dear, what am I to do about him?"
+
+msgid "MAP066_NPC_1"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_10"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_11"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_12"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_13"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_14"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_15"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_16"
+msgstr "Howdy, sport!\nIf you're here to face the Gym Leader,\nyou'd better be prepared!\nDavern here uses a variety of\nPokémon which are found in caves.\nBe ready to face Rock, Ground,\nand Poison-types. If you've got a Water- or Fighting-type, it's sure to come in handy for this battle. Here, take this! Good luck out there! I'm rooting for ya!"
+
+msgid "MAP066_NPC_17"
+msgstr "\PN put the Bright Gem inside. It looks like there is a place to put an item in there. Maybe a gem of some kind?"
+
+msgid "MAP066_NPC_2"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_3"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_4"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_5"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_6"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_7"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_8"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_NPC_9"
+msgstr "There is something in the ground... It's a Bright Gem!"
+
+msgid "MAP066_TRAINER_1"
+msgstr "In a cave, Wild Pokémon can jump out from anywhere! Look out!"
+
+msgid "MAP066_TRAINER_1_DEFEAT"
+msgstr "You're certainly strong."
+
+msgid "MAP066_TRAINER_2"
+msgstr "I strengthened myself by crushing boulders with my fists!"
+
+msgid "MAP066_TRAINER_2_DEFEAT"
+msgstr "We got smashed!"
+
+msgid "MAP066_TRAINER_3"
+msgstr "I've been digging tunnels for years!\nWhat have you accomplished?"
+
+msgid "MAP066_TRAINER_3_DEFEAT"
+msgstr "I see a light at the end of the tunnel..."
+
+msgid "MAP066_TRAINER_4"
+msgstr "Hey, Trainer!\nI'm sure you know this by now,\nbut I'm Davern, Gym Leader of Burole Town. I raise Pokémon that are found in caves.\nMost people find caves scary, but ever since I was a kid, they always felt like home. That's why I dug out this abandoned\nmine and converted it into a Gym.\nMy Pokémon are toughened through\nhard work and battle!\nCan you stand up to our strength?\nShow me that you're not afraid!"
+
+msgid "MAP066_TRAINER_4_DEFEAT"
+msgstr "That was a well-earned victory. You're more than deserving of the Bright Gem Badge!"
+
+msgid "MAP067_NPC_1"
+msgstr "Dang! I filed an order for Great Balls last week, and they still haven't come! We need them; passing Trainers have been demanding them. Must be a pain to live in Moki Town, since there isn't a mart... perhaps we should expand to there."
+
+msgid "MAP067_SIGN_1"
+msgstr "Super Potions, Hyper Potions, Max Revives... wait, \nwhy don't they sell any of these at the counter?"
+
+msgid "MAP067_SIGN_2"
+msgstr "Super Potions, Hyper Potions, Max Revives... wait, \nwhy don't they sell any of these at the counter?"
+
+msgid "MAP067_SIGN_3"
+msgstr "There's a colorful poster: "50% off Friday!" Which \nFriday?"
+
+msgid "MAP068_NPC_1"
+msgstr "Hello, and welcome to the Pokémon Center. We restore your tired Pokémon to full health. Would you like to rest your Pokémon? OK, I'll take your Pokémon for a few seconds. Your Pokémon may be infected by PokeRus. Little is known about the PokeRus except that they are microscopic life-forms that attach to Pokémon. While infected, Pokémon are said to grow exceptionally well. Thank you for waiting. We've restored your Pokémon to full health. We hope to see you again! We hope to see you again!"
+
+msgid "MAP068_NPC_2"
+msgstr "Say, Trainer, what starter did you pick? Nice choice! Orchynx's Steel-type gives it lots of resistances, but watch out for Smore's Ember! Very cool! Raptorch's Ember rips through steel- and bug-types, but Water-type moves hit its weak point for massive damage! Good Decision! Eletux is well-rounded and able to beat a lot of different types, but careful of Grozard's Magnitude."
+
+msgid "MAP068_NPC_3"
+msgstr "If you are planning to go to Nowtoch City, it would probably be a good idea to buy some Potions at the mart. They can save you when you would otherwise be done for. There's a cave on the way to Nowtoch City that's infested with strong Pokémon. Be careful. You know what I heard? Don't panic, but I heard that up north, a strange illness has been spreading through Pokémon. Be careful."
+
+msgid "MAP068_NPC_4"
+msgstr "We built a second floor for the Pokécenter, but we don't know what to put here... Oh wait, Tandor Network is up there!"
+
+msgid "MAP068_NPC_5"
+msgstr "I hope our Pokémon Centers are useful to you on your journey!"
+
+msgid "MAP068_TRAINER_1"
+msgstr "I'm raising my special Chyinmunk! But even though they have powerful moves, we keep losing!\n Wanna fight? OK, here we come!"
+
+msgid "MAP068_TRAINER_1_DEFEAT"
+msgstr "See? We keep losing!"
+
+msgid "MAP069_NPC_1"
+msgstr "Hello, hello!\nThe Gym Leader here is Tiko! He is a dancer whose blazing steps and swishing skirts will burn themselves into your memory! ...Yes, he does quite like to wear skirts. They show off his calves quite nicely, don't they?"
+
+msgid "MAP069_TRAINER_1"
+msgstr "Tiko: Hello, \pn!\nI cannot thank you enough for bailing me out in the Anthell. That could have been a very unpleasant situation for all of us! I regret that I couldn't be at my full strength then. But now, I am ready to accept your challenge.\n...A battle is like a dance. Just as a dancer must be in time with the music, so too must a Trainer be synchronized with their Pokémon. You showed great strength in facing down Seikamater. Now I, Tiko, the master dancer, will test your mettle!"
+
+msgid "MAP069_TRAINER_1_DEFEAT"
+msgstr "Marvelous! Those moves were simply stunning!"
+
+msgid "MAP069_TRAINER_2"
+msgstr "I've never been much of a dancer. But I'm good at Pokémon battles!"
+
+msgid "MAP069_TRAINER_2_DEFEAT"
+msgstr "Torched!"
+
+msgid "MAP069_TRAINER_3"
+msgstr "See if you can counter my blazing moves!"
+
+msgid "MAP069_TRAINER_3_DEFEAT"
+msgstr "Ouch, I burned myself!"
+
+msgid "MAP069_TRAINER_4"
+msgstr "If you play with fire, you're gonna get burned!"
+
+msgid "MAP069_TRAINER_4_DEFEAT"
+msgstr "Yeowch!"
+
+msgid "MAP069_TRAINER_5"
+msgstr "See if you can match my steps!"
+
+msgid "MAP069_TRAINER_5_DEFEAT"
+msgstr "I slipped up!"
+
+msgid "MAP070_SIGN_1"
+msgstr "If you're seeing this, file a bug report."
+
+msgid "MAP071_NPC_1"
+msgstr "You have a sudden vision of something changing in Venesi Park."
+
+msgid "MAP071_NPC_10"
+msgstr "Though memory may be tattered in dreams, the strongest memories may anchor the weaker ones. Memories of safe times. Happy times. Carefree times. Inspiration. Childhood. The things that make us who we are."
+
+msgid "MAP071_NPC_2"
+msgstr "Why does the Gligar sting? Because it is his nature.\nHere in the Dream World, the true natures of things are revealed. This can be a good thing or a bad thing."
+
+msgid "MAP071_NPC_3"
+msgstr "I'd been disturbed by fevered, burning dreams. There's somebody else here. . . There's somebody else here. . . "
+
+msgid "MAP071_NPC_4"
+msgstr "Welcome! How may I serve you? I can sell you a starport map, for the price of two treasured memories. What? You don't want to trade?\nThat's too bad. I can sell you an enchanted prince in a bottle, for the low price of a rare technology - do you happen to have one of those \"inkpens\"? You don't? That's too bad."
+
+msgid "MAP071_NPC_5"
+msgstr "While I was walking up the stairs\nI met a man who wasn't there. He wasn't there again today\nI wish, I wish, he'd go away."
+
+msgid "MAP071_NPC_6"
+msgstr "While I was walking up the stairs\nI met a man who wasn't there. He wasn't there again today\nI wish, I wish, he'd go away."
+
+msgid "MAP071_NPC_7"
+msgstr "He's muddling your path with his terrible gaze.\nIt's always hard to travel in the darkness of dreams if you don't know the way."
+
+msgid "MAP071_NPC_8"
+msgstr "Ever wonder why there are so many songs and stories about dreams? It's because the Dream World is vast, spanning the entire universe, an entrance behind every pair of eyes. People and Pokémon alike. It's easy to get lost in here.\nMost of us have given up ever making it back. Soon we'll join Him."
+
+msgid "MAP071_NPC_9"
+msgstr "Some dream, eh? Is it yours?"
+
+msgid "MAP071_SIGN_1"
+msgstr "You can see every letter, but somehow cannot read \nthe message written here."
+
+msgid "MAP071_SIGN_2"
+msgstr ""Gym - South\nNestlands - Northwest""
+
+msgid "MAP071_SIGN_3"
+msgstr "You knock, but there is no sound."
+
+msgid "MAP071_SIGN_4"
+msgstr "The doorknob nips at you, but you leap away."
+
+msgid "MAP071_SIGN_5"
+msgstr "You don't like the way that door looked at you."
+
+msgid "MAP071_TRAINER_1"
+msgstr "iWaaa. . . hehehehe. . ./i You have come far in this city on the edge of Dream! \nIts form was borrowed from a new playmate. . . of the Dreamer! Why do you invade His dream? Coo... She is mine.\nShe WANTS to be here!\n iShe /iLOVES me! Everyone loves me! You won't take my pretty ornament! Everyone loves me!"
+
+msgid "MAP071_TRAINER_1_DEFEAT"
+msgstr "You dare attack me? Ack! Fine, fine."
+
+msgid "MAP073_NPC_1"
+msgstr "Hey, kid! You walked in here, which means that you need a bike repaired! ... Oh it looks like you have a bike wheel with you! This is just what I needed to repair this bike, wait a second! .... There you go! A brand new bicycle for free! To ride on it just use it from your bag. Aww, you don't have one? Well, it figures... Haven't gotten many customers of late, now that I've already sold everyone in Kevlar Town a bike... Actually, if you bring me a \C[3]Bike wheel\C[0] I can fix an old bicycle and give it to you."
+
+msgid "MAP073_NPC_2"
+msgstr "Maury: *sniffle*\nHave you gotten my precious thing back yet? I'll wait here until you do..."
+
+msgid "MAP073_NPC_3"
+msgstr "Welcome to Kevlar's berry shop! Take a free sample of Tandor most delicious berries. Your Pokémon will love them!"
+
+msgid "MAP073_NPC_4"
+msgstr "My girlfriend is mad at me, so I'm buying her flowers to get her to forgive me."
+
+msgid "MAP073_NPC_5"
+msgstr "We just moved to this town. It's small, but homey. I think it'll be a good place to raise a family someday."
+
+msgid "MAP073_NPC_6"
+msgstr "She's talking about kids already... why couldn't we raise some Pokémon instead? "
+
+msgid "MAP074_TRAINER_1"
+msgstr "Hi, you!\nYou sure look cute...\nnot to mention strong!\nHow about a battle, cutie?"
+
+msgid "MAP074_TRAINER_1_DEFEAT"
+msgstr "Aww, why'd you have to beat me?"
+
+msgid "MAP074_TRAINER_2"
+msgstr "Have you heard of this region's Legendary Pokémon myths?"
+
+msgid "MAP074_TRAINER_2_DEFEAT"
+msgstr "I guess my chances were busted from the start."
+
+msgid "MAP074_TRAINER_3"
+msgstr "Our superior strategy will electrify you!"
+
+msgid "MAP074_TRAINER_3_DEFEAT"
+msgstr "Battle us again sometime. Losing isn't always bad..."
+
+msgid "MAP074_TRAINER_4"
+msgstr "Haha! I tricked out my Pokémon with TMs and competitive movesets! You'll never win!"
+
+msgid "MAP074_TRAINER_4_DEFEAT"
+msgstr "Aw, what?"
+
+msgid "MAP074_TRAINER_5"
+msgstr "I'm trying out a new lineup of Pokémon. Want to help me out? Don't hold back!"
+
+msgid "MAP074_TRAINER_5_DEFEAT"
+msgstr "Thanks for the battle! I have a better idea of what my weak points are now."
+
+msgid "MAP074_TRAINER_6"
+msgstr "...You want a battle?\nI suppose..."
+
+msgid "MAP074_TRAINER_6_DEFEAT"
+msgstr "...You won."
+
+msgid "MAP074_TRAINER_7"
+msgstr "So... hot...\nLet's cool off with a refreshing battle!"
+
+msgid "MAP074_TRAINER_7_DEFEAT"
+msgstr "That wasn't very refreshing."
+
+msgid "MAP074_TRAINER_8"
+msgstr "Phew! It's toasty in here!\nPerfect for a fiery-hot Pokémon battle!"
+
+msgid "MAP074_TRAINER_8_DEFEAT"
+msgstr "I'm sweatin' bullets..."
+
+msgid "MAP074_TRAINER_9"
+msgstr "Fire is my element! I live and breathe it! In this environment, you don't stand a chance!"
+
+msgid "MAP074_TRAINER_9_DEFEAT"
+msgstr "Burned out!"
+
+msgid "MAP075_NPC_1"
+msgstr "...Eh? What's a kid like you doing in the lab? Oh, I see, I see, you're a Pokémon Trainer. Doing research for some professor, I imagine. Tell me, who is it that you're working for? ... Bamb'o, is it? Oh, that Ernest... I never would've thought he'd cut it as an academic, but this world is just full of surprises. You know, he and I went to the same university once, until someone spread a false rumor that I was plagiarizing work... Me! A genius like myself, plagiarizing the work of somebody else? The idea is preposterous! I didn't get anything out of that blasted university, anyway. That's why I founded my own private research firm. With a brilliant mind like mine, one cannot let genius go to waste. Since you ARE Bamb'o's protégé, I won't stop you from looking at our lab facilities... Impressive, isn't it? I'm sure it's leagues ahead of whatever you've got in your backwater town. Just... don't touch anything. I expect you'll be on your way shortly."
+
+msgid "MAP075_NPC_2"
+msgstr "To transfer a Pokémon to a new Poké Ball, you have to release it and recapture it. That's too inconvenient. If only there was a way to capture Pokémon who were already in a ball..."
+
+msgid "MAP075_NPC_3"
+msgstr "With technology, we can clone a new Pokémon from just a tiny scrap of DNA. This method can be used to revive Pokémon that have been extinct for centuries."
+
+msgid "MAP075_NPC_4"
+msgstr "A Trainer from Moki Town, eh? Bamb'o should know better than to stick his nose in other people's business. Don't cause any trouble, kid."
+
+msgid "MAP075_NPC_5"
+msgstr "We're doing research on methods of taming Pokémon."
+
+msgid "MAP075_NPC_6"
+msgstr "It's locked from the outside. It won't budge, no matter how hard you try. Garlikid: Garli... (He seems disappointed...)"
+
+msgid "MAP075_NPC_7"
+msgstr "You got your Pokédex, Bag, and Poké Balls back! Hooray!"
+
+msgid "MAP075_NPC_8"
+msgstr "You got your Pokédex, Bag, and Poké Balls back! Hooray!"
+
+msgid "MAP075_SIGN_1"
+msgstr "It's small and grimy. I don't really want to use this..."
+
+msgid "MAP075_SIGN_2"
+msgstr "The water is cold, but I wouldn't try drinking it."
+
+msgid "MAP075_SIGN_3"
+msgstr "Just like the note said, it seems hollow.\nGive it a thump?\nThere's something off about this wall..."
+
+msgid "MAP075_TRAINER_1"
+msgstr "Hey, you! What're you doing out of your cell?! And what is that... thing you've got with you?!"
+
+msgid "MAP075_TRAINER_1_DEFEAT"
+msgstr "Oof!"
+
+msgid "MAP075_TRAINER_2"
+msgstr "What the hell? It's that kid! And that Pokémon! How'd they get loose?"
+
+msgid "MAP075_TRAINER_2_DEFEAT"
+msgstr "Damn..."
+
+msgid "MAP076_NPC_1"
+msgstr "Hey! Keep distance from Comet Cave,\nPokémon there are attacking in groups...\nIt's really dangerous to go through it alone."
+
+msgid "MAP076_NPC_2"
+msgstr "That's annoying... These boulders are blocking my way to the forest. I need to get there..."
+
+msgid "MAP076_NPC_3"
+msgstr "Oh, how I love to sail! From West Tandor to East and back again! The ocean is my one true love."
+
+msgid "MAP076_NPC_4"
+msgstr "The Pokémon are especially hostile in this cave! They're ganging up on Trainers! For your safety, we won't allow you to pass."
+
+msgid "MAP076_SIGN_1"
+msgstr "- Baykal Forest Comet Cave ahead."
+
+msgid "MAP076_SIGN_2"
+msgstr "Comet Cave entrance."
+
+msgid "MAP076_SIGN_3"
+msgstr "BAYKAL RAINFOREST\nSouth: BUROLE\nNorth: AMATREE"
+
+msgid "MAP076_TRAINER_1"
+msgstr "Whoop, I'm tired of running, let's battle!"
+
+msgid "MAP076_TRAINER_1_DEFEAT"
+msgstr "That wasn't fair, I'm tired..."
+
+msgid "MAP076_TRAINER_2"
+msgstr "I won't let you pollute Baykal Forest!"
+
+msgid "MAP076_TRAINER_2_DEFEAT"
+msgstr "The forest made me dizzy, that is why I lost!"
+
+msgid "MAP076_TRAINER_3"
+msgstr "Tsk... I love to hide in this tall grass!"
+
+msgid "MAP076_TRAINER_3_DEFEAT"
+msgstr "No, I have to get back to Momma now.."
+
+msgid "MAP076_TRAINER_4"
+msgstr "I've been fishing all 'round Tandor, but this here bridge? This is the best darn fishing spot in the region!"
+
+msgid "MAP076_TRAINER_4_DEFEAT"
+msgstr "Well, shucks."
+
+msgid "MAP076_TRAINER_5"
+msgstr "I'm training to be a comedian! Here's a good bridge joke for you: what do you call a really short bridge? ABRIDGED!"
+
+msgid "MAP076_TRAINER_5_DEFEAT"
+msgstr "...was that joke a bridge too far?"
+
+msgid "MAP076_TRAINER_6"
+msgstr "Shorts are really comfy! You should try wearing them someday."
+
+msgid "MAP076_TRAINER_6_DEFEAT"
+msgstr "I need to get back to Burole to buy more shorts..."
+
+msgid "MAP076_TRAINER_7"
+msgstr "It's always good to do some training in the morning... Well, it's time to test if it was useful!"
+
+msgid "MAP076_TRAINER_7_DEFEAT"
+msgstr "Nah, the training isn't working..."
+
+msgid "MAP076_TRAINER_8"
+msgstr "That's a perfect place for a battle."
+
+msgid "MAP076_TRAINER_8_DEFEAT"
+msgstr "Ahh... you ruined my walking..."
+
+msgid "MAP078_NPC_1"
+msgstr "The Gym Leader... supposedly they're a master of deception and disguise. I guess it works, because I have no idea who they are! The Venesi Pokémon Gym is the last badge I need in order to compete in the Tandor League."
+
+msgid "MAP078_NPC_2"
+msgstr "A Gym in an opera house, huh... those slippery floors sure are hard to navigate! You can't trust your eyes in the Venesi Gym, it's a regular hall of tricks."
+
+msgid "MAP078_NPC_3"
+msgstr "I'm concerned about the nuclear meltdowns that have been happening around Tandor. Did you hear they had to evacuate Vinoville? Two power plants failing so close together... there's no way that's a coincidence."
+
+msgid "MAP079_NPC_1"
+msgstr "I'm stocking up on items before my Venesi vacation! Gondola rides, theater... this town has everything."
+
+msgid "MAP080_TRAINER_1"
+msgstr "This cave is known as \"The Labyrinth\". Let's see if you can handle it..."
+
+msgid "MAP080_TRAINER_1_DEFEAT"
+msgstr "Always go right!"
+
+msgid "MAP080_TRAINER_2"
+msgstr "I and my pokémon punch rocks for training!"
+
+msgid "MAP080_TRAINER_2_DEFEAT"
+msgstr "Back to the punching bag!"
+
+msgid "MAP080_TRAINER_3"
+msgstr "This cave is dark! Fortunately, I am equipped with night-vision goggles!"
+
+msgid "MAP080_TRAINER_3_DEFEAT"
+msgstr "The goggles! They do nothing!!"
+
+msgid "MAP080_TRAINER_4"
+msgstr "I'm training so I can face Rosalind! Let's battle!"
+
+msgid "MAP080_TRAINER_4_DEFEAT"
+msgstr "I'm not ready yet!"
+
+msgid "MAP080_TRAINER_5"
+msgstr "Beware! Danger lies ahead!"
+
+msgid "MAP080_TRAINER_5_DEFEAT"
+msgstr "You shall see!"
+
+msgid "MAP081_NPC_1"
+msgstr "I see you are a strong kid! You even have a badge! Please, take this and make good use of it. \PN got an OLD ROD! Hey, I am a fisherman. These ponds next to my house have a wide variety of Pokémon. If you prove you are strong, I may give you my old fishing rod. But first you need to defeat Maria, Nowtoch City's Gym Leader."
+
+msgid "MAP081_NPC_2"
+msgstr "My brother is a great fisherman. He loves \nWater Pokémon. It's good living between Kevlar and Moki Town."
+
+msgid "MAP081_SIGN_1"
+msgstr "A sign on the wall reads: "Old Rod: Not just for \nMagikarp anymore! (although still mostly for them)""
+
+msgid "MAP082_NPC_1"
+msgstr "It takes balls to catch 'em all! ...Poké Balls, that is!"
+
+msgid "MAP082_NPC_2"
+msgstr "Ahoy there, Trainer. You'll need plenty of supplies to make it across Route 16 to Snowbank Town. To catch the strong Pokémon found on Route 16, plain Poké Balls won't cut it. You're gonna need some Ultra Balls."
+
+msgid "MAP082_NPC_3"
+msgstr "I hope this mart sells scarves and jackets. I'm cold! What, they only sell Pokémon stuff here? Aww, I wanted to buy some winter clothes."
+
+msgid "MAP083_TRAINER_1"
+msgstr "She comes! She comes!"
+
+msgid "MAP083_TRAINER_1_DEFEAT"
+msgstr "Aaaaaaugh! She's coming for meeee!"
+
+msgid "MAP083_TRAINER_2"
+msgstr "Yieeeee! An intruder!"
+
+msgid "MAP083_TRAINER_2_DEFEAT"
+msgstr "Aiyiyiyiyi!!!"
+
+msgid "MAP083_TRAINER_3"
+msgstr "So... hungry..."
+
+msgid "MAP083_TRAINER_3_DEFEAT"
+msgstr "Aaaaugh!"
+
+msgid "MAP083_TRAINER_4"
+msgstr "...You!\nGet out!"
+
+msgid "MAP083_TRAINER_4_DEFEAT"
+msgstr "No...!"
+
+msgid "MAP083_TRAINER_5"
+msgstr "I must fight for Mother!"
+
+msgid "MAP083_TRAINER_5_DEFEAT"
+msgstr "Mother, forgive me!"
+
+msgid "MAP084_NPC_1"
+msgstr "Chwee chwee,\nI see the eyes and the eyes see me. Chwee Chwoo,\nthe eyes see you and you'll be like us soon."
+
+msgid "MAP084_NPC_2"
+msgstr "Purr..."
+
+msgid "MAP084_SIGN_1"
+msgstr "It's a large slime. You aren't strong enough to do more \nthan make it jiggle."
+
+msgid "MAP084_SIGN_2"
+msgstr "It's a large slime. You aren't strong enough to do more \nthan make it jiggle."
+
+msgid "MAP084_SIGN_3"
+msgstr "It's a large slime. You aren't strong enough to do more \nthan make it jiggle."
+
+msgid "MAP084_SIGN_4"
+msgstr "Your finger sinks into the gelatinous mass. Why did \nyou even touch it?\nReally. Even in a dream, what did you think was \ngoing to come of that?"
+
+msgid "MAP084_SIGN_5"
+msgstr "Your finger sinks into the gelatinous mass. Why did \nyou even touch it?\nReally. Even in a dream, what did you think was \ngoing to come of that?"
+
+msgid "MAP084_SIGN_6"
+msgstr ""Cucurigu! Bate frigu!"\nYou don't understand Masking's speech."
+
+msgid "MAP085_NPC_1"
+msgstr "Yeahh! Pokémon Blue! Best game ever! I just beat the bad guys out of their lair at the Game Corner! If bad guys like Team Rocket actually existed, they wouldn't stand a chance against me!"
+
+msgid "MAP085_NPC_2"
+msgstr "To be honest, I'm a little worried about these video game things. Junior is always staying up late playing his game... but he still gets his homework done, so I suppose I can't complain."
+
+msgid "MAP086_NPC_1"
+msgstr "When winter comes I like to eat a lot of food. The extra fat stores keep me warm and toasty! My favorite holidays are... whichever ones where you get to eat a lot!"
+
+msgid "MAP086_NPC_2"
+msgstr "Mama says I shouldn't buy more than I need. But I NEED 20 Poké Dolls!!!! I swiped Mama's credit card when she wasn't looking. I'm going to buy SO MUCH STUFF."
+
+msgid "MAP087_NPC_1"
+msgstr "Hello! I'm a travelling Pokémon Doctor.\nHere, your Pokemon look a bit worn out. Let me patch them up for you! Your Pokémon were healed! I wish you luck on your journey."
+
+msgid "MAP087_SIGN_1"
+msgstr "Maskara Island\nEast to Venesi City"
+
+msgid "MAP087_SIGN_2"
+msgstr "Super Training Tent. Tutor: Tarou"
+
+msgid "MAP087_TRAINER_1"
+msgstr "Swimming is a great way to get in shape!"
+
+msgid "MAP087_TRAINER_1_DEFEAT"
+msgstr "Ow, I pulled a muscle!"
+
+msgid "MAP087_TRAINER_2"
+msgstr "These are dangerous waters!"
+
+msgid "MAP087_TRAINER_2_DEFEAT"
+msgstr "Yipes! Something bit my foot!"
+
+msgid "MAP087_TRAINER_3"
+msgstr "Are you ready to swim for miles on open sea?"
+
+msgid "MAP087_TRAINER_3_DEFEAT"
+msgstr "This water is really cold."
+
+msgid "MAP087_TRAINER_4"
+msgstr "Cowabunga! Surf's up, dude!"
+
+msgid "MAP087_TRAINER_4_DEFEAT"
+msgstr "Wipe out!"
+
+msgid "MAP087_TRAINER_5"
+msgstr "They say there's plenty of fish in the sea, but I can't seem to catch any!"
+
+msgid "MAP087_TRAINER_5_DEFEAT"
+msgstr "Drat, another one got away!"
+
+msgid "MAP087_TRAINER_6"
+msgstr "The ocean is so warm and salty, it feels nice!"
+
+msgid "MAP087_TRAINER_6_DEFEAT"
+msgstr "Glubglubglub!"
+
+msgid "MAP087_TRAINER_7"
+msgstr "???: Hiyah! Genin: You've made a grave mistake! Juunin: Now our whole clan is here! Chuunin: Our boss will sink you! Ronin: Boss Hokage is unbeatable! Hokage: ... So. This is gaijin trespasser who dare to surf on our turf. Chuunin: Show 'em, boss! Hokage: Do not interrupt. So. You are strong Pokemon trainer. But by now you are weak and tired. My Pokemon are strong. Speedy. Stealthy. We rule this part of sea. For the honor of my clan, we punish you!"
+
+msgid "MAP087_TRAINER_7_DEFEAT"
+msgstr "Hokage: Hrk...!"
+
+msgid "MAP087_TRAINER_8"
+msgstr "???: Hiyah! ???: You are the one who disgraced our brothers! ???: None may defeat our ninja clan in battle! ???: Prepare to be punished!"
+
+msgid "MAP087_TRAINER_8_DEFEAT"
+msgstr "Chuunin: This gaijin is strong!"
+
+msgid "MAP089_SIGN_1"
+msgstr "There's a story typed up on the computer...\n"The Most Awesome Pokémon Trainer In The World!"\nBy Theo Caine, Age 11\nIt looks poorly written...\nRead it?\n"The Best Most Awesome Pokémon Trainer Was The Champion Of Kanto Johto And Tandor. He Never Losted One Single Time. His Pokémon Were Strong And \nPowerful. They Were So Tough That They Got A New Evolution Called SuperMega Evolve. Everyone Thought He Was Cool Including His Best Friend \PN.\nThat \nTrainers Name......\nWas............\nTheo!!!!"\nBetter not snoop."
+
+msgid "MAP089_SIGN_2"
+msgstr "A cartoon is showing on TV.\nThere are Pokémon wearing clothing and talking like humans.\n...Okay, time to go!"
+
+msgid "MAP089_SIGN_3"
+msgstr "It looks like Theo only has a Wii, not a Wii U.\nNo wonder he always wanted to come over to play yours."
+
+msgid "MAP090_NPC_1"
+msgstr "I work for the Gym Leader, Davern. My Pokémon and I constantly excavate the surrounding caves, converting them into pathways and living spaces. Excavation is dangerous work. Fortunately, my Pokémon can sense incoming collapse before I can, so we evacuate in time."
+
+msgid "MAP090_NPC_2"
+msgstr "Davern loves caves; apparently, he grew up in one. So he built his Gym in a cave and uses cave Pokémon to battle."
+
+msgid "MAP091_NPC_1"
+msgstr "I know people that only want to train Pokémon from Kanto, or Johto, or other regions. Why? Aren't Tandor Pokémon good too? Don't get me started on this dislike for Sinnoh Pokémon... it's borderline racist, I tell you!"
+
+msgid "MAP091_NPC_2"
+msgstr "Full Heals? But those end up being too valuable to use for regular status conditions. So I never end up using 'em... Poké Balls... Potions... Antidotes... what more could a Trainer need?"
+
+msgid "MAP092_NPC_1"
+msgstr "...Hm? You say your father is a Ranger?\nWell then, please thank him on my behalf. The Tandor Rangers work tirelessly to protect the environment and citizens of this region."
+
+msgid "MAP092_NPC_2"
+msgstr "You're a Trainer, aren't you?\nYou remind me of my son. He's a trainer, too. Make sure to always remember where you came from, no matter how far away from home you get."
+
+msgid "MAP092_NPC_3"
+msgstr "Owten! Ow!"
+
+msgid "MAP093_NPC_1"
+msgstr "Blam! Kapow! I wanna be a superhero when I gwow up! A true hero always saves the day, just in the nick of time!"
+
+msgid "MAP093_NPC_2"
+msgstr "Our Lunapup faithfully guards our house every night.\nOn full moons, though, it won't stop howling! My son is obsessed with superhero comics and movies. It's always good to have a hero to admire."
+
+msgid "MAP093_NPC_3"
+msgstr "Pup! Pup!"
+
+msgid "MAP093_SIGN_1"
+msgstr "A Pokémon battle is showing on TV.\nTwo strong-\nlooking trainers facing off on the field."
+
+msgid "MAP093_SIGN_2"
+msgstr "A Pokémon battle is showing on TV.\nTwo strong-\nlooking trainers facing off on the field."
+
+msgid "MAP094_NPC_1"
+msgstr "My dream was to have a Fartog... I could trade my Baashaun for one. Do you have one? Take care of him! Woot, I have a happy Fartog now!"
+
+msgid "MAP094_NPC_10"
+msgstr "That's annoying... These boulders are blocking my way to the forest, I need to get there.."
+
+msgid "MAP094_NPC_2"
+msgstr "I wonder what kind of pokemon lives in this pond? Probably just Magikarp... Professor Bamb'o has a lab in that house on the cliff. I wonder why he lives in Moki Town, of all places?"
+
+msgid "MAP094_NPC_3"
+msgstr "Moki Town is so nice and peaceful, and everyone knows one another. I'd much rather live here than in a big city. My daughter is now a trainer, did you know? she is training her CHYINMUNK in Route 01. Say hi to her if you see her. Today is a nice day, isn't it? Seems like it always is around here."
+
+msgid "MAP094_NPC_4"
+msgstr "Fufufu! The gym leader hasn't arrived there yet! She is still at home! Fufufu!"
+
+msgid "MAP094_NPC_5"
+msgstr "Nowtoch subway station is inaugurating today!"
+
+msgid "MAP094_NPC_6"
+msgstr "I wish I had a ticket for today..."
+
+msgid "MAP094_NPC_7"
+msgstr "I have bought a ticket for the first underground travel in all Tandor!"
+
+msgid "MAP094_NPC_8"
+msgstr "Machop..."
+
+msgid "MAP094_NPC_9"
+msgstr "Oh the beaultiful Tandor sea... My life is to sail through the Tandor islands. Thats what I loe to do. I should get back to XXX city to get back to work."
+
+msgid "MAP094_SIGN_1"
+msgstr "Nowtoch Underground Station."
+
+msgid "MAP094_TRAINER_1"
+msgstr "whoop, I'm tired of running, let's battle!"
+
+msgid "MAP094_TRAINER_1_DEFEAT"
+msgstr "That wasn't fair, I'm tired.."
+
+msgid "MAP094_TRAINER_2"
+msgstr "Shorts are really comfy! You should try wearing one someday."
+
+msgid "MAP094_TRAINER_2_DEFEAT"
+msgstr "I need to get back to Burole to buy more shorts..."
+
+msgid "MAP094_TRAINER_3"
+msgstr "It's always good to do some training on the morning... Well it's time to test if it was useful!"
+
+msgid "MAP094_TRAINER_3_DEFEAT"
+msgstr "Nah, the training isn't working..."
+
+msgid "MAP094_TRAINER_4"
+msgstr "Thats a perfect place for a battle."
+
+msgid "MAP094_TRAINER_4_DEFEAT"
+msgstr "Ahh... you ruined my walking..."
+
+msgid "MAP097_NPC_1"
+msgstr "Here now, you look like a bright young Trainer. I consider myself to be an expert on Tandor myths and legends. Would you like to learn about the legendary Pokémon of the Tandor region? Ah, Baitatao! That's a well-documented one. Baitatao is \nsaid to be a giant serpent Pokémon that lives at the bottom of a river in East Tandor, although there are records of it traveling to West Tandor as well. It's supposedly a Fire- and Water-type Pokémon. The heat from its scales gives life to the river and makes the waters glow bright at night. Although there are some tales of boats going missing in the night when it gets hungry... Would you like to hear about another? Lanthan and Actan! Twin brothers, the Rare Metal Pokémon. Each are supposedly a thousand years old. Legend has it they crawled out of the earth's crust and taught Man the use of metals. Supposedly another of their kind lives in the Sinnoh region and is known as Heatran. Nowadays they are said to dwell within the volcanoes of Tandor. That's how Mt. Actinite got its name. Would you like to hear about another? ... I've never heard of any Pokémon with that name... Would you like to hear about another?"
+
+msgid "MAP097_NPC_10"
+msgstr "They say the Gym Leader is also a star in the Theatre! Though I don't know who it is..."
+
+msgid "MAP097_NPC_11"
+msgstr "They used to say that women performing in the opera was \"indecent\"... that's no fair!"
+
+msgid "MAP097_NPC_12"
+msgstr "Here, you look like a kindly Trainer. I recently took this Eevee in off the streets, but I'm an old woman and can't look after it. Will you give it a home? You're a very kind and generous soul. What a shame..."
+
+msgid "MAP097_NPC_13"
+msgstr "Eevee is a Pokémon that's full of potential. It can evolve into seven... no, eight... maybe even nine different forms?"
+
+msgid "MAP097_NPC_14"
+msgstr "Here, Trainer, take these! Level up your Eevee while holding one of these items and it will evolve!"
+
+msgid "MAP097_NPC_15"
+msgstr "Stones! I've got so many stones! Look at all my stones! I'll share my stones with you if you can solve my riddle! Water, Thunder, Fire, Dark, Light, Cold, Warm, Love, And one more. Who am I? Ah yes!\nVery good! Eevee is a Pokémon that can make good use of stones. Come back if you want to try another riddle. No...\nThat's not what I had in mind. No stones for you!"
+
+msgid "MAP097_NPC_16"
+msgstr "I'd sacrifice anything to see my\ndaughter's eyes open again."
+
+msgid "MAP097_NPC_17"
+msgstr "Nikki! Sweetie, can you hear me? ... It's no good... she won't wake up, even when I shake her... Sometimes, she'll toss and turn, and talk in her sleep. I think she's having some kind of dream... If only there was a way to go into that dream and find out why she won't wake up."
+
+msgid "MAP097_NPC_18"
+msgstr "... Um...\n... Who was I again?\n...Ah, yes. I'm the Move Deleter. If your Pokémon need to... uh... forget a move, let me know. I'll do it for free. Oh... um... okay. \nWhat Pokémon should... uh... forget? Come again if there are moves that you need to... uh... forget. What? No Egg should know any moves. What? I can't make Shadow Pokémon forget a move. seems to know only one move... Which move should be forgotten? Hm! 's ? That move should be forgotten? It worked to perfection! has forgotten completely. What were we talking about again? What were we talking about again?"
+
+msgid "MAP097_NPC_19"
+msgstr "I'm the Pokémon Move Maniac. I know every single move that Pokemon learn growing up. I'm also a collector of Heart Scales. If you bring me one, I'll teach a move to one of your Pokemon. Let me guess, you want me to teach one of your Pokémon a move? Which Pokémon needs tutoring? If your Pokémon need to learn a move, come back anytime. Huh? There isn't a single move that I can teach an egg. No way, I don't want to go near a Shadow Pokémon.. Sorry... It doesn't appear as if I have any move I can teach to your . Which move should I teach to your ? If your Pokémon need to learn a move, come back anytime If your Pokémon need to learn a move, come back anytime If your Pokémon need to learn a move, come back anytime If your Pokemon need to learn a move, come back with a Heart Scale."
+
+msgid "MAP097_NPC_2"
+msgstr "What's your favorite Pokémon type? Mine is Fairy!"
+
+msgid "MAP097_NPC_20"
+msgstr "Hello! I'm a Move Tutor! Do you still have a Metalynx, Archilles, or Electruxo? If you do, I can teach it an awesome move for free. Would you like me to teach another Pokémon a special move? Would you like me to teach another Pokémon a special move? Would you like me to teach another Pokémon a special move? Come back any time!"
+
+msgid "MAP097_NPC_21"
+msgstr "Care for a drink? ...Wait a minute, you seem a little too young to be drinkin'."
+
+msgid "MAP097_NPC_22"
+msgstr "I saw it! Why won't anyone believe me? ...Listen, kid, you seem like the type to believe a crazy story. So I was walkin' the pier late last night, and I'll be honest with ya, I'd already had a few. When suddenly, out of the corner of my eye I saw somethin' moving. Heard it rustling an' all that. Then I hear the sound of little feet, like it's running away. So of course I had to chase it! All of a sudden I'm in a dark alley I ain't never seen before. But there's no sign of the thing! And then I hear a growl behind me. It was a feral Tanscure, and I swear it on me life, that thing was THIS big! I thought for sure I was a goner, when this... big pink thing... wif wings an' horns and bunny ears an' webbed feet like a Golduck appears outta nowhere and kicks the mongrel so hard it runs away whimperin'! Then the thing turns to me. And I'll be honest to Arceus, it was dark and I wasn't seeing straight but that thing, it opens its mouth, and it says to me, it says, \"Jim, you're drunk.\" An' the next thing I remember, I was waking up in my own bed. But it wasn't a dream! It was too real! I just wish I knew what that thing was... Can you help me? D'you know what it was? That...\nThat's it! That's the pink thingy! I knew I wasn't crazy! Oh, sweet Arceus, the relief I'm feelin' right now is amazing. I gotta repay you somehow... how's this? No, that weren't it... you're pullin' my leg, chum! ...Fine. Nobody believes me anyway..."
+
+msgid "MAP097_NPC_23"
+msgstr "Why would you train any Pokémon besides your starter? What's the point?"
+
+msgid "MAP097_NPC_24"
+msgstr "My children won't stop playing these video games. I have to force them to play outside."
+
+msgid "MAP097_NPC_25"
+msgstr "I have the new Pokémon games, Gold and Silver! My friends are all jealous because they don't have a Game Boy Color."
+
+msgid "MAP097_NPC_26"
+msgstr "Hmm. It turns out human dreams are far\nmore complex than Pokemon Dreams.\nI'll need some time to work on my\nDream World technology before\nI can get it working right.\nBut when I do, I promise you, we'll cure this girl!"
+
+msgid "MAP097_NPC_27"
+msgstr "Muuu-sha!"
+
+msgid "MAP097_NPC_28"
+msgstr "Muuu-sha!"
+
+msgid "MAP097_NPC_3"
+msgstr "So Fairy is strong against Fighting, Dark, and Dragon, and resists Bug, Dark, and Fighting and is immune to Dragon... okay!"
+
+msgid "MAP097_NPC_4"
+msgstr "Here, Trainer, I want you to have this TM. That TM is Dazzling Gleam. It's a Fairy-type technique that damages opponents with a burst of light. Use it wisely!"
+
+msgid "MAP097_NPC_5"
+msgstr "Apparently there are some Pokémon that can evolve mid-battle! Isn't that cool? There's a type of evolution that's only temporary... but only some Pokémon can do it."
+
+msgid "MAP097_NPC_6"
+msgstr "Have you heard of the new kind of evolution? Some researcher from the Kalos region discovered it."
+
+msgid "MAP097_NPC_7"
+msgstr "Can some Tandor Pokémon Mega Evolve? I think it's possible..."
+
+msgid "MAP097_NPC_8"
+msgstr "This house is full of theatre enthusiasts! We all live in Venesi because we love the stage."
+
+msgid "MAP097_NPC_9"
+msgstr "Five years ago, I could never dream of being an actress. They didn't allow women on stage. Something changed that, though."
+
+msgid "MAP097_TRAINER_1"
+msgstr "Hey kid! You lookin' at me funny? I don't take no disrespect from brats like you!"
+
+msgid "MAP097_TRAINER_1_DEFEAT"
+msgstr "Beaten by a kid?"
+
+msgid "MAP097_TRAINER_2"
+msgstr "You think you have what it takes to challenge a tough guy like me?"
+
+msgid "MAP097_TRAINER_2_DEFEAT"
+msgstr "Wasted!"
+
+msgid "MAP097_TRAINER_3"
+msgstr "Ew! You tried to touch my skirt! I'll teach you a lesson!"
+
+msgid "MAP097_TRAINER_3_DEFEAT"
+msgstr "Eeek!"
+
+msgid "MAP097_TRAINER_4"
+msgstr "Don't tell my parents I'm here, or else!"
+
+msgid "MAP097_TRAINER_4_DEFEAT"
+msgstr "Mommyyy!"
+
+msgid "MAP098_NPC_1"
+msgstr "According to Owten, the thief is hiding\nout in the mountain cave on Route 06.\nPlease, find them quickly!\nOur continuing research depends on it!"
+
+msgid "MAP098_NPC_2"
+msgstr "Shhhh, Owten, it's okay... Owten is still nervous after the whole ordeal. I'm comforting it."
+
+msgid "MAP098_NPC_3"
+msgstr "I'm a fossil revivification expert.\nHowever, now is not the time!\nWe're in a state of emergency!"
+
+msgid "MAP098_NPC_4"
+msgstr "Don't panic, don't panic...\nEverything is going to be fine! ...Right?"
+
+msgid "MAP098_NPC_5"
+msgstr "Owten! Ow! Am home... but... Missing friends.\nWhere are friends? Scary..."
+
+msgid "MAP099_NPC_1"
+msgstr "GILLIAN: If you find any hints about the whereabouts of Zephy, will you please let me know? As a healer, explorer, and musician, inspiration is very important to me."
+
+msgid "MAP099_SIGN_1"
+msgstr "As you brush the bell to hear its tone, you sense a \nfaint fluttering sound within!\nReaching back, you find a small piece of paper.\nHm?"
+
+msgid "MAP099_TRAINER_1"
+msgstr "My swimming muscles are so strong, I can swim for days!"
+
+msgid "MAP099_TRAINER_1_DEFEAT"
+msgstr "So... tired..."
+
+msgid "MAP099_TRAINER_2"
+msgstr "Always be on your guard in the ocean!"
+
+msgid "MAP099_TRAINER_2_DEFEAT"
+msgstr "You were ready!"
+
+msgid "MAP099_TRAINER_3"
+msgstr "Oh? What a surprise!\nIt is a rare sight to have someone come this far east.\nYou must be pretty strong indeed. As for me, this area holds a particularly special meaning. In fact, I came to this island in particular to make an offering to the mythical forces of these waters. You may join in if you'd like, but first...\nI am curious about your strength and your friendship with your precious partners. Please do not hold back and strike with all of your might!"
+
+msgid "MAP099_TRAINER_3_DEFEAT"
+msgstr "Your bonds are overwhelmingly strong for sure!"
+
+msgid "MAP100_NPC_1"
+msgstr "My wife is always kind to passing Trainers. She bakes the best cookies, too. Here, take one for the road!"
+
+msgid "MAP101_NPC_1"
+msgstr "I have to use sunblock every day, or else I'll burn! You remember yours too, okay? Swimming keeps me in shape. That way, I can drink as much as I want to at night!"
+
+msgid "MAP101_NPC_10"
+msgstr "Owwwww-ten! Do you want to use the PST? ...\n \PN uses the PST! I love my human very much! She gives me treats! In return, I bring her shinies!"
+
+msgid "MAP101_NPC_11"
+msgstr "My Owten often finds shiny objects\nand brings them to me.\nThis one is good luck!\nWhy don't you have it? I hope that Amulet Coin brings you good fortune."
+
+msgid "MAP101_NPC_12"
+msgstr "Hoo-ee! Bealbeach is bigger than I ever coulda imagined... the lights, the sounds! I ain't got the first idea what I should do here!"
+
+msgid "MAP101_NPC_13"
+msgstr "Hey, buddy! You wanna buy a watch? ...Oh, you got a PokéPod already? Uhh... look, don't tell the Rangers I'm here, okay? Um, have a nice day."
+
+msgid "MAP101_NPC_14"
+msgstr "Hey, buddy! You wanna buy a watch? ...Oh, you got a PokéPod already? Uhh... look, don't tell the Rangers I'm here, okay? Um, have a nice day."
+
+msgid "MAP101_NPC_2"
+msgstr "I keep getting these skeevy looks from this one dude! Ew! I moved here with my family, but my grandparents took one look at this place and moved back! I'm here to stay, though."
+
+msgid "MAP101_NPC_3"
+msgstr "Did I die and go to heaven? 'Cause I'm in paradise. The sky is blue, the sea is warm, and the girls are smokin'! I think I'm gonna hit the casino tonight. Maybe I'll make it big this time!"
+
+msgid "MAP101_NPC_4"
+msgstr "So many hot girls... So little time. Yo, like, you new here, or something? What's with all those clothes? Take 'em off! Put on a swimsuit or somethin'."
+
+msgid "MAP101_NPC_5"
+msgstr "Sorry, but the construction of the Tandor Subway isn't over."
+
+msgid "MAP101_NPC_6"
+msgstr "Sorry, but the construction of the Tandor Subway isn't over."
+
+msgid "MAP101_NPC_7"
+msgstr "Yaaaaay! Yaaaay! Wheeeee!\nYou'll never catch me!"
+
+msgid "MAP101_NPC_8"
+msgstr "My child has so much energy. Hopefully he will tire himself out soon..."
+
+msgid "MAP101_NPC_9"
+msgstr "I'm homeless. This is where I sleep.\nGet offa my lawn! I chose the homeless life.\nWho says you gotta own a house?\nI ain't about that kinda life."
+
+msgid "MAP101_SIGN_1"
+msgstr "Bealbeach City: Dude, This is Like, the Place to Be, Man!"
+
+msgid "MAP101_SIGN_2"
+msgstr "West Tandor's Ranger HQ."
+
+msgid "MAP101_SIGN_3"
+msgstr "Beachside Resort & Casino"
+
+msgid "MAP101_SIGN_4"
+msgstr "Bealbeach Dept. Store."
+
+msgid "MAP101_SIGN_5"
+msgstr "Bealbeach Public Park"
+
+msgid "MAP101_TRAINER_1"
+msgstr "Urgh... Standing on solid ground makes me landsick..."
+
+msgid "MAP101_TRAINER_1_DEFEAT"
+msgstr "Urp..."
+
+msgid "MAP102_TRAINER_1"
+msgstr "Cali: Hey! Have you been having fun? I'm Cali, Gym Leader of Bealbeach City! It should be pretty obvious that I use beach Pokémon, right? Let me tell you a little about myself. When I was little, I thought it would be a good idea to go out swimming when there wasn't a lifeguard. Suddenly, a riptide swept my feet out from under me! I thought I was going to drown. But then, I felt something underneath me! It was a Brainoar, and it carried me to safety. From then on, I decided to become a Pokémon Trainer and a lifeguard. My Pokémon have saved countless lives, so they're pretty strong! But enough talk. Let's battle!"
+
+msgid "MAP102_TRAINER_1_DEFEAT"
+msgstr "You deserved it."
+
+msgid "MAP102_TRAINER_2"
+msgstr "Prepare for trouble!!... I mean... let's battle!"
+
+msgid "MAP102_TRAINER_2_DEFEAT"
+msgstr "Well, I did my best."
+
+msgid "MAP102_TRAINER_3"
+msgstr "You will be sunk like the Titanic!"
+
+msgid "MAP102_TRAINER_3_DEFEAT"
+msgstr "I let go and sank down..."
+
+msgid "MAP102_TRAINER_4"
+msgstr "Oh, do you have any Water-types?"
+
+msgid "MAP102_TRAINER_4_DEFEAT"
+msgstr "Jeez, I lost..."
+
+msgid "MAP102_TRAINER_5"
+msgstr "You are an inferior Trainer!"
+
+msgid "MAP102_TRAINER_5_DEFEAT"
+msgstr "I'm still better than you~"
+
+msgid "MAP102_TRAINER_6"
+msgstr "I'll eat some fried Magikarp later."
+
+msgid "MAP102_TRAINER_6_DEFEAT"
+msgstr "I will fry all my pokémon..."
+
+msgid "MAP102_TRAINER_7"
+msgstr "This room is a dead end!"
+
+msgid "MAP102_TRAINER_7_DEFEAT"
+msgstr "I'm having a bad day."
+
+msgid "MAP104_NPC_1"
+msgstr "I'm playing with my brother. Don't interrupt!"
+
+msgid "MAP104_NPC_2"
+msgstr "Hello! I'm a Pokémon enthusiast! I see you are a Trainer. Perhaps you can help me... I'm looking for one Pokémon in particular. I just can't remember what it was called. If you can help me, I'll give you a reward. It was a sort of fat, yellow snake... what was it? Oh yes! Dunsparce! That's it!\nWow, it's so cute! I'm so happy. This is the best day of my life! How can I ever repay you?\nThis will have to do. No... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's a weak Water-type that gets really strong when it evolves. Oh yes! Magikarp! That was it!\nIt may not be much to look at now, but it's brimming with potential.\nJust you wait, little fish! A bright future lies ahead of you! Here, Trainer, take this as a sign of my gratitude. No... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's a Fire-type bird, and I think it has one pre-evolved form. Oh yes! Palij, that was it. What a wonderful specimen!\nThe way the fire trails behind its wings as it flies through the air... such a sight to behold.\nI'd love one as a pet, but it would probably set my house on fire. You are ever so helpful, Trainer! Please, accept this as a reward. No... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's an Electric-type that's pink, with a blue jewel on its tail. Oh yes! Flaaffy! How could I forget?\nIt has a gentle yet regal air to it. I think my uncle has some on his farm in Vinoville town. As always, Trainer, please accept this reward with my thanks! No... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's something that you'd encounter in caves, that can run away easily. Of course! Tonemy!\nWhat a delightful creature! How does it fly with those tiny wings? It's one of life's biggest mysteries. Not to mention, it can evolve into the fearsome Tofurang. Don't underestimate it! Here is a reward for you. No... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's a Pokémon only the manliest of men can train. Goodness! It's Barewl!\nI often hear the Hikers bragging about how they can bench-press a Barewl. I think if I tried, my arms would break! Why don't you take this as an award, Trainer? N-no... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's fuzzy, and very easily angered. Why, Mankey, of course!\nI wish I could pet it... but it would almost certainly get mad at me. Please, take this as a reward. N-no... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's much more common at night than during the day, and it looks like a Flaaffy. Oh, it's Baaschaf! How wonderful.\nApparently, its wool is prized by special artisans who use it to make very rugged clothing.\nThey are apparently much more difficult to raise than Flaaffy. You have been so helpful to me. Thank you! No... I don't think that's what I was looking for. Oh, welcome back, Trainer! You're just in time, too. I was looking for this other Pokémon. It's extremely intelligent, but very rare. I think it was a Water-type...? ...Oh. It's Brailip.\n...Uh. This one's kinda gross... please, take it away. I'm out of Stones, so... this is your reward. No... I don't think that's what I was looking for."
+
+msgid "MAP104_NPC_3"
+msgstr "I'm training my Pokémon on my game. I'm gonna beat my sister at it someday! D'you think they'll ever make a game set in Tandor?"
+
+msgid "MAP104_NPC_4"
+msgstr "I, for one, think all this \"Pokémon Red\" nonsense is corrupting my children. One day, my son tried to go into Comet cave to catch his own Pokémon! I had to drag him back."
+
+msgid "MAP104_NPC_5"
+msgstr "Those kids and their video games.\nWhen I was a kid, we played outside in the dirt! And we liked it!"
+
+msgid "MAP104_NPC_6"
+msgstr "Hey there, stranger~ How are you? That's a cute... bag you've got there. Are you a Trainer? Do you have Poké Balls filled with Pokémon?"
+
+msgid "MAP104_NPC_7"
+msgstr "I'm worried about my sister. She's a little too friendly with strangers. My cousin over there is crazy about Pokémon, but he never leaves the house.\nI wish he'd get a job..."
+
+msgid "MAP105_TRAINER_1"
+msgstr "... Garlikid! Gar! Garli! ...\n\PN used the PST! What are you doing here, human?\nAre you trying to enslave\nthese Pokémon again?\nThey have been freed from your clutches! They won't be your prisoners anymore! Garlikid is here! The Pokémon Hero!\nI found them in that horrible\nhuman place, and I liberated them!\nWe'll fight for our freedom!"
+
+msgid "MAP105_TRAINER_1_DEFEAT"
+msgstr "Prepare to be destroyed!"
+
+msgid "MAP106_NPC_1"
+msgstr "So, how about it? Let's team up? (Adam joined you!) Okay!\nI'll keep both our Pokémon healthy. The entrance to the cave is just over.\..\.. Woah! Did you hear that?\nI guess we aren't alone in this place.\nWell... anyway, let's go! That's all right.\nI think I'll study these runes some more.\nCome talk to me if you change your mind."
+
+msgid "MAP108_NPC_1"
+msgstr "Welcome to Bealbeach's famous Department Store! Here you can find all sorts of goods from all sorts of people. Do you want more information about what you can find in each floor? Great! On the second floor you will find items for your general Trainer needs, like Poké Balls and Potions. On the third floor you will encounter evolutionary stones and TMs. On the fourth floor you will find items that increase your Pokémon's stats over time."
+
+msgid "MAP108_NPC_10"
+msgstr "Evolutionary Stones are essential for evolving Pokémon like Eevee, or Minyan and Lunapup! Good thing they have them all here!"
+
+msgid "MAP108_NPC_11"
+msgstr "These Technical Machines are so expensive! I remember when they were cheaper... but then you could only use them once, so I guess these are better."
+
+msgid "MAP108_NPC_12"
+msgstr "I like to power through my battles! That's why I use X items!"
+
+msgid "MAP108_NPC_13"
+msgstr "I pumped my Pokémon full of Protein to supercharge its Attack power. But now it doesn't look so good..."
+
+msgid "MAP108_NPC_14"
+msgstr "Ahh... it sure is nice to take a break from all that furious bargain-hunting."
+
+msgid "MAP108_NPC_15"
+msgstr "The Specials store is up on this level. Their stock changes every day, but they're closed on weekends."
+
+msgid "MAP108_NPC_16"
+msgstr "The Specials store is up on this level. Their stock changes every day, but they're closed on weekends."
+
+msgid "MAP108_NPC_2"
+msgstr "So many choices... I'm paralyzed with indecision...! Guess I need a Paralyz Heal."
+
+msgid "MAP108_NPC_3"
+msgstr "Shop 'til ya drop! That's my motto! I won't stop 'til I have more than I can carry!"
+
+msgid "MAP108_NPC_4"
+msgstr "Daddy, buy me a Poké Doll! All right sweetie, but that's it for today."
+
+msgid "MAP108_NPC_5"
+msgstr "Daddy, buy me a Poké Doll! All right sweetie, but that's it for today."
+
+msgid "MAP108_NPC_6"
+msgstr "I'm about to go out on a big expedition, so I'm stocking up on supplies before I leave. This mall has everything a Trainer could ask for!"
+
+msgid "MAP108_NPC_7"
+msgstr "It's important to have status healing items while working as a Pokémon Ranger. Some Wild Pokémon end up paralyzed or poisoned by passing Trainers, and it's up to us to heal them!"
+
+msgid "MAP108_NPC_8"
+msgstr "I don't catch Pokémon, I just like to collect Poké Balls."
+
+msgid "MAP108_NPC_9"
+msgstr "Hyper Beam, go! NEEEEOOOOWWWMM!!"
+
+msgid "MAP109_NPC_1"
+msgstr "Are you gonna battle the Gym Leader? She's tougher than she looks. Her Pokémon aren't all Water-type, either, so don't go in with Electric Pokémon and expect to sweep! When you're out walking on the beach, be careful of palm trees that look kind of odd. They might be Pokémon!"
+
+msgid "MAP109_TRAINER_1"
+msgstr "I tried to fight Cali, the Leader, but she wiped me out. Gotta train up and try again...\n Hey, wanna battle? Okay, here we go!"
+
+msgid "MAP109_TRAINER_1_DEFEAT"
+msgstr "Man, I really need to train."
+
+msgid "MAP111_NPC_1"
+msgstr "The orange Feleng is curled up, watching the fire."
+
+msgid "MAP111_SIGN_1"
+msgstr "Dream tales ahead"
+
+msgid "MAP111_TRAINER_1"
+msgstr "I have been waiting for a strong opponent - waiting for you."
+
+msgid "MAP111_TRAINER_1_DEFEAT"
+msgstr "I sleep in Dream."
+
+msgid "MAP112_NPC_1"
+msgstr "This island is crawling with Nuclear Pokémon! \PN, you know what to do...\. Go and show them who's boss!"
+
+msgid "MAP112_NPC_10"
+msgstr "Huff...\nThese Pokémon... they never tire."
+
+msgid "MAP112_NPC_11"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_12"
+msgstr "My love, you must remain resolute. We shall defeat this evil with the power of the Gods! My husband has grown weary, and yet these Pokémon do not stop. We may be avatars, but we are also mere mortals. \PN, please help us face this threat! ...I believe I can go on, my love. The Gods lend us their strength. ...I believe I can go on, my love. The Gods lend us their strength."
+
+msgid "MAP112_NPC_13"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_2"
+msgstr "The Nuclear Pokémon are coming in from all sides! Subdue as many of them as you can! I know you can handle this!"
+
+msgid "MAP112_NPC_3"
+msgstr "Hiisssssssssss..."
+
+msgid "MAP112_NPC_4"
+msgstr "No! My partner Pokémon fainted... Ugh, now I'm defenseless... Help, \PN, save me!"
+
+msgid "MAP112_NPC_5"
+msgstr "Tanssss..."
+
+msgid "MAP112_NPC_6"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_7"
+msgstr "Back! Back! Taste the steel of my blade! ...Hey, you! Mind giving a little help over here? They're too tough for me to handle alone!"
+
+msgid "MAP112_NPC_8"
+msgstr "Gyaaaaaa..."
+
+msgid "MAP112_NPC_9"
+msgstr "Good going, \PN!\nYou an' me, we make a good team, don'tcha think? Hey, \PN!\nThese Nuclear freaks of\nnature are no match for my Pokémon!\n...Hey, here comes two of 'em now.\nHow about you an' me team up and\nshow them what we're made of! Good going, \PN!\nYou an' me, we make a good team, don'tcha think?"
+
+msgid "MAP113_NPC_1"
+msgstr "Hey there! You look like a Trainer!\n Listen, can you do me a favor? \nI received this Egg from a friend of mine from a faraway region, but I can't take care of it myself.\n Will you take it off my hands? \PN got an Egg! Oh, uh, your party's full. Come back when you have more room. ...Oh, that's too bad."
+
+msgid "MAP113_NPC_2"
+msgstr "I used to be a Pokémon Trainer like you, but...\n As soon as I reached Bealbeach, I was like, \"why train Pokémon when I can party?\" You know the Gym Leader, Cali?\n Oh man, what a hottie.\n ...You're too young to understand."
+
+msgid "MAP114_NPC_1"
+msgstr "You really didn't get one? Well, no problem, I got an extra one, have it for yourself. This is incredible... \PN, we gotta tell Kellyn about this Pokémon! ...... ...... Kellyn: This is Kellyn. Is something the matter? No, but...\nWe've discovered something amazing! You're not gonna believe this, Boss! Kellyn: ...\n...Well? Go on. Oh! Umm...\nIt's a Pokémon! A new kind of Pokémon! It's a Nuclear type, but... it isn't hostile. It's not even radioactive. This is just a guess, but... I think it eats radiation! We're in this area inside the Hazard Zone, and it's completely cleaned. I don't even need to wear my mask in here. Kellyn: Theo! That's dangerous. Put your mask back on right now! Even if you don't see any evidence, it might still be radioactive. I promise, it isn't! We checked with the Geiger Counter on the Hazard Suit. It's totally radiation free! It's bizarre! Kellyn: If what you're saying is true, then... This could completely change our strategy. Excellent work, Theo, \PN. Keep me posted on any new discoveries you make. But, remember, your primary goal remains the same... If we don't stop CURIE, we can't begin the restoration process. Your geolocators say you are not far from the power plant right now. It's due north. CURIE is there. Find them, and end this once and for all! For Tandor! ...... ...... Your dad sure knows how to stay focused on a singular goal... But he's right. It's cool we discovered this, but we still got a bigger fish to fry. Let's get moving! Haha, you didn't get it? \PN, you've got eight badges. You can handle this. Here, have an extra Nuclear Ball. Now, go out and catch that thing! I've already got mine."
+
+msgid "MAP114_NPC_2"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_3"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_4"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_5"
+msgstr "Haazzzz..."
+
+msgid "MAP117_NPC_1"
+msgstr "Give your tickets to the sailor by my side, he will give all the information you need!"
+
+msgid "MAP117_NPC_2"
+msgstr "The power plant north of here has only the highest security! You'd have to be able to teleport to get inside. Not that anyone would want to. I'm worried about my fellow rangers at the Bealbeach power plant but I'm posted here to ensure that the power plant north of here remains safe, too."
+
+msgid "MAP117_NPC_3"
+msgstr "Woah! Are you a real Pokémon Trainer? Look, I just found this at these bushes, it can be useful!"
+
+msgid "MAP117_NPC_4"
+msgstr "Oy! Sport. You look like you're the kinda type to fish. I see that gleam in your eye, right there. That GLEAM. That HOPE. You \nseem to me like the kind of person who is ready to SIT AND WAIT FOR HOURS for something to bite. Am I right? Good kid! *Grumble*\nKids these days..."
+
+msgid "MAP117_NPC_5"
+msgstr "Once, I was a Trainer of some renown, but now I'm retired. My kids have my Pokémon, now, and I enjoy the quiet life."
+
+msgid "MAP117_NPC_6"
+msgstr "'Round here, most of us folks work on the farms. It's hard work, but it's enough to feed all of Tandor."
+
+msgid "MAP117_NPC_7"
+msgstr "Reeeeeeep!"
+
+msgid "MAP117_NPC_8"
+msgstr "Reep! Mareeeeep!"
+
+msgid "MAP117_SIGN_1"
+msgstr "Route 08 - Wheatfields\n- Vinoville Town"
+
+msgid "MAP117_SIGN_2"
+msgstr "Trainer Tips!\nWhen fishing, you need\npatience and quick reflexes.\nWait until the message "Oh! A bite!"\nappears, then reel it in quick!"
+
+msgid "MAP117_SIGN_3"
+msgstr "West to Vinoville Town."
+
+msgid "MAP117_SIGN_4"
+msgstr "Trainer Tips!\nFishing requires quick reflexes.\nPress A when the message "Oh! A Bite!" appears.\nYou may have to do this several times to land a \nPokemon."
+
+msgid "MAP117_TRAINER_1"
+msgstr "Excuse moi!"
+
+msgid "MAP117_TRAINER_10"
+msgstr "All I do is train, train, train, all day long! Help me do some training!"
+
+msgid "MAP117_TRAINER_10_DEFEAT"
+msgstr "Phew! You've gotta tell me your training tips!"
+
+msgid "MAP117_TRAINER_1_DEFEAT"
+msgstr "My Pokémon are as fit as me!"
+
+msgid "MAP117_TRAINER_2"
+msgstr "Nothin' in these old farm ponds but a coupla lousy Fortogs, but sometimes I fish up somethin' good."
+
+msgid "MAP117_TRAINER_2_DEFEAT"
+msgstr "Real good, y'see?"
+
+msgid "MAP117_TRAINER_3"
+msgstr "I heard there were UFOs spotted around here, so I'm on the lookout."
+
+msgid "MAP117_TRAINER_3_DEFEAT"
+msgstr "I guess I'm wasting my time..."
+
+msgid "MAP117_TRAINER_4"
+msgstr "Hiyah! Fight me! Fight me!"
+
+msgid "MAP117_TRAINER_4_DEFEAT"
+msgstr "Grr..."
+
+msgid "MAP117_TRAINER_5"
+msgstr "Gosh, this place is soooooo boring! It's just wheat and stuff. I can't wait to leave."
+
+msgid "MAP117_TRAINER_5_DEFEAT"
+msgstr "Aww..."
+
+msgid "MAP117_TRAINER_6"
+msgstr "Bug Pokémon are the most diverse type. They got the biggest movepool!"
+
+msgid "MAP117_TRAINER_6_DEFEAT"
+msgstr "I should teach other moves to my Pokémon."
+
+msgid "MAP117_TRAINER_7"
+msgstr "Oh, what's that, sugar? You wanna battle? Well, shucks, I don't see why not."
+
+msgid "MAP117_TRAINER_7_DEFEAT"
+msgstr "Oh, this one's got some spunk!"
+
+msgid "MAP117_TRAINER_8"
+msgstr "I found you!"
+
+msgid "MAP117_TRAINER_8_DEFEAT"
+msgstr "I only wanted to play hide and seek..."
+
+msgid "MAP117_TRAINER_9"
+msgstr "You better not be tryin' to rustle any o' my herd, ya got it?"
+
+msgid "MAP117_TRAINER_9_DEFEAT"
+msgstr "Guess you wasn't a rustler anyhoo."
+
+msgid "MAP118_TRAINER_1"
+msgstr "(Hey! You're interrupting my solo dive time!)"
+
+msgid "MAP118_TRAINER_1_DEFEAT"
+msgstr "(Grumble...)"
+
+msgid "MAP118_TRAINER_2"
+msgstr "(Crash!!! That's the sound coral makes when it shatters!)"
+
+msgid "MAP118_TRAINER_2_DEFEAT"
+msgstr "(...I've been crushed!)"
+
+msgid "MAP118_TRAINER_3"
+msgstr "(I went diving for treasure, but instead I found a Trainer!)"
+
+msgid "MAP118_TRAINER_3_DEFEAT"
+msgstr "(Glub!!)"
+
+msgid "MAP121_NPC_1"
+msgstr "I've lived in Vinoville town my entire life, as have my parents, and their parents before them. Praised be the lord Aotius, because it is by His light that we may illuminate the Way."
+
+msgid "MAP121_NPC_10"
+msgstr "Are you going to go to a sermon at the church? The Father is very welcoming to those who want to learn."
+
+msgid "MAP121_NPC_2"
+msgstr "Some days, I go out and work the fields. Others, I sell what we grow in the town square. Praised be the lord Mutios, because it is by Her shade that we may live protected from evil."
+
+msgid "MAP121_NPC_3"
+msgstr "I want to go to the Gym! They have wireless internet inside the Gym! But my mom won't let me. Are you gonna challenge the Gym Leader? He uses tough Steel Pokémon!"
+
+msgid "MAP121_NPC_4"
+msgstr "Every day it's the same story. Wake up with the sun, work the farm until noon, go home to spend time with my family. I wouldn't have it any other way. Farming's hard work, but it's an honest living."
+
+msgid "MAP121_NPC_5"
+msgstr "Eeeep! You found me!\nI'm playing hide-and-seek with my brother. Don't tell him I'm here, all right? I'll give you a berry, so please keep quiet!"
+
+msgid "MAP121_NPC_6"
+msgstr "I'm playing hide-and-seek with my sister! Now it's my turn to look for her! If I give you a berry, will you help me look for her?"
+
+msgid "MAP121_NPC_7"
+msgstr "Nee! Cottonee!"
+
+msgid "MAP121_NPC_8"
+msgstr "Life is best when people and Pokémon live together in harmony. That's the Gods' will."
+
+msgid "MAP121_NPC_9"
+msgstr "In Tandor, there are 2 sheep Pokemon that can be sheared for their wool: Mareep and Baashaun. However, Baashaun are much more temperamental and hard to raise."
+
+msgid "MAP121_SIGN_1"
+msgstr "Vinoville Town - A Nostalgic Paradise"
+
+msgid "MAP121_SIGN_2"
+msgstr "Vinoville Town Gym\nGym Leader: Sheldon "The Techno Whiz""
+
+msgid "MAP121_SIGN_3"
+msgstr "Vinoville Chapel\nAll are welcome!\n(Sermons weekly. Information provided.)"
+
+msgid "MAP122_NPC_1"
+msgstr "You've probably heard by now that there's something odd about the Pokémon here on this island. They resemble ordinary Tandor species, but their colors are strange... Their attacks are different, and they don't listen to trainer commands! Could it have something to do with the accident ten years ago?"
+
+msgid "MAP122_NPC_2"
+msgstr "Cam's our boss, and he's a nice enough guy. He really likes Pokémon and he cares about his son, Theo. I can respect a man like that. Rumor has it Cam used to be a Pokémon Trainer. A damn good one, too. They say he raised Electric-types."
+
+msgid "MAP122_NPC_3"
+msgstr "Cameron? Yeah, he's the boss around here. He's a nice guy. Everyone calls him 'Cam'. Though, he's kinda strange, you know? I've been working for him for months, but I still don't know a thing about him. Cam is the supervisor for construction on the new Power Plant. Apparently, he applied for it as soon as the area was deemed radiation-free. That's kind of weird, isn't it?"
+
+msgid "MAP122_NPC_4"
+msgstr "It's hard to work here, knowing what happened on this island ten years ago. Feels like I'm walking in a graveyard, sometimes... This new Power Plant has been built with the highest possible safety and security. After the accident ten years ago, the boss wanted to make sure that nothing like that happens ever again."
+
+msgid "MAP122_NPC_5"
+msgstr "It pays to come prepared. You should be careful with the wild Pokémon here. Take this, it should come in handy. It pays to come prepared."
+
+msgid "MAP122_NPC_6"
+msgstr "Hey! The boss says nobody is allowed back here anymore. This place is gonna be demolished soon."
+
+msgid "MAP122_NPC_7"
+msgstr "Hey! The boss says nobody is allowed back here anymore. This place is gonna be demolished soon."
+
+msgid "MAP122_TRAINER_1"
+msgstr "Hey, this island isn't a playground for kids!"
+
+msgid "MAP122_TRAINER_1_DEFEAT"
+msgstr "You're no ordinary kid!"
+
+msgid "MAP122_TRAINER_2"
+msgstr "Have you figured out what's up with the Pokémon here?"
+
+msgid "MAP122_TRAINER_2_DEFEAT"
+msgstr "I've been stumped!"
+
+msgid "MAP122_TRAINER_3"
+msgstr "Hey, you! Help me train my Pokémon!"
+
+msgid "MAP122_TRAINER_3_DEFEAT"
+msgstr "My Pokémon need some more motivation."
+
+msgid "MAP123_SIGN_1"
+msgstr "Some pages seem to be missing, they must be scattered around the place."
+
+msgid "MAP123_SIGN_2"
+msgstr "It looks like this was part of the Burnt Notebook, the headline says "Report #01", read it?\nProg---- is ----- ---- -- --dename 092. --- ----- -- ---- from radiation------vious biofiber. It ---- -- ---- to reconstru-- ------ -- damage--"
+
+msgid "MAP123_SIGN_3"
+msgstr "It looks like this was part of the Burnt Notebook, the headline says "Report #04", read it?\n---- -- the Interface --- final---- today. It- --erator ---- -- ---- -- assume full control -- --e Sp-cimen. --- chief reseacher, Dr. ------- --s ---- granted clearance."
+
+msgid "MAP123_SIGN_4"
+msgstr "It looks like this was part of the Burnt Notebook, the headline says "Report #03", read it?\nTh- MRI -------- anomalous brainwave ------ns. --- specim-n ------ -- inca----e -- indep---ent thoug--. We --- ----ing -- - suppress---."
+
+msgid "MAP123_SIGN_5"
+msgstr "It looks like this was part of the Burnt Notebook, the headline says "Report #02", read it?\n--- power core ------- from over----. It ---- ------- a large ------ -- nuclear fuel to ---tialize. ---- ----- activated- -- ---- -- able to prod--- ------ limitless energy."
+
+msgid "MAP123_SIGN_6"
+msgstr "It looks like this was part of the Burnt Notebook, the headline says "Report #05", read it?\n----- has been - breach -- confidential---. -----forth --- ------ shall -- relocate- -- high secur--- undergr---- servers. Project 092 --- have -- -- --rminated."
+
+msgid "MAP125_NPC_1"
+msgstr "Whatever it is that's going on with the Pokémon here, it's fascinating! I mean, it's almost certainly not good. But it sure is interesting!"
+
+msgid "MAP125_NPC_2"
+msgstr "The Pokémon here are so unsettling... Something about those blank eyes they have... it feels like there's nothing inside. Plus, one of them attacked me for no reason! I'd leave this place if the pay weren't so good."
+
+msgid "MAP125_NPC_3"
+msgstr "Do you know how a nuclear reactor works? Power is generated by splitting atoms in the radioactive fuel, which releases huge amounts of heat. That heat is used to boil water into super-hot steam, which causes a turbine to turn, which produces electricity. Underwater cables then conduct that electricity out to cities across the region."
+
+msgid "MAP125_NPC_4"
+msgstr "Hi, there! You look like a Trainer. I've got some supplies for sale that might come in handy."
+
+msgid "MAP126_NPC_1"
+msgstr "Yo, dude, you ever play, like, Pokémon Red?\nThat game's so sick. I'm gonna win this battle.\nI've got Charizard. Nobody beats Charizard!"
+
+msgid "MAP126_NPC_2"
+msgstr "Hey, man, do you have a Mankey?\nWanna trade for my Nidoran?\n...Oh, sorry, I meant in the game. NOOOOOOOOOOOOOOO!!!!!\nCharmander's poisoned and I'm in the middle of Viridian Forest without Antidotes!\nWhy'd I do this stupid challenge anyway?"
+
+msgid "MAP126_NPC_3"
+msgstr "Is it just me, or is this game really broken? Statistically speaking, Mewtwo is basically unbeatable. This game is so broken! Hyper Beam is like an instant KO. That's not how it works in real life, right?"
+
+msgid "MAP127_TRAINER_1"
+msgstr "This is it! After months of training,\nwe finally made it to Victory Road!\nWe're not about to lose now!"
+
+msgid "MAP127_TRAINER_1_DEFEAT"
+msgstr "Our icy assault didn't work?!"
+
+msgid "MAP127_TRAINER_2"
+msgstr "Hmmmmm!\nMy premonitions are telling me that you won't make it any further than this!"
+
+msgid "MAP127_TRAINER_2_DEFEAT"
+msgstr "My mind's eye failed me!"
+
+msgid "MAP127_TRAINER_3"
+msgstr "In order to reach the Tandor Championship,\nyou first have to overcome Victory Road.\nDo you have what it takes, Trainer?"
+
+msgid "MAP127_TRAINER_3_DEFEAT"
+msgstr "Guess I don't have what it takes..."
+
+msgid "MAP127_TRAINER_4"
+msgstr "Can you survive my onslaught of 50,000 volts?!"
+
+msgid "MAP127_TRAINER_4_DEFEAT"
+msgstr "You seem well-grounded."
+
+msgid "MAP127_TRAINER_5"
+msgstr "Why specialize in one type?\nI'd rather use them all!"
+
+msgid "MAP127_TRAINER_5_DEFEAT"
+msgstr "This was just a trial run."
+
+msgid "MAP128_NPC_1"
+msgstr "This town smells of challenge! By the end of the year, Victory Road will be opened once again for the Championship."
+
+msgid "MAP128_NPC_2"
+msgstr "I am worried for Vinoville's library... some of those books were priceless artifacts dating back to the founding of Tandor."
+
+msgid "MAP128_NPC_3"
+msgstr "We must pray to Aotius and Mutios for safe guidance. Only they will be able to help us through these dark times."
+
+msgid "MAP128_NPC_4"
+msgstr "Come, child.\nYou are worried. These are dark times. We must look to the light to find a way. Would you care to hear my sermon? Very well.\nWe live in a world where we are constantly faced with choices. Some significant, some minor. Sometimes those minor choices have major effects. It is our power to choose that makes us special. It is a gift from Aotius that allows us to forge our own paths. However, there is a dark side to every choice. That is Mutios' gift. Actions before we take them. You may wonder, why is this a gift? Would it not be better if we could act freely, without repercussions? But then we could not know if our actions were hurting others. Thus, life is a constant balance. ...For there to be joy in the world, there must also be suffering. In order to be the very best, there must be those that are the very worst. But we must trust in the power of the Gods. They are loving and kind, I ensure it. Thank you for listening, child. May the blessings of the Gods be with you. Knowledge will always be there for those who seek it."
+
+msgid "MAP128_NPC_5"
+msgstr "Sniffle...\nIf I pray to Aotius, will He make things right again?"
+
+msgid "MAP128_SIGN_1"
+msgstr "Legen Town: The Birthplace of Heroes!"
+
+msgid "MAP128_SIGN_2"
+msgstr "Legen's Subway Station."
+
+msgid "MAP128_SIGN_3"
+msgstr "West Tandor Victory Road ahead."
+
+msgid "MAP128_SIGN_4"
+msgstr "Super Training Tent. Tutor: Kenichi"
+
+msgid "MAP128_SIGN_5"
+msgstr "Route 09 - Way to Rochfale Town"
+
+msgid "MAP129_NPC_1"
+msgstr "Finally, I can get to anywhere I want to go in West Tandor!\n...But I don't want to go anywhere. I'm too lazy."
+
+msgid "MAP129_NPC_2"
+msgstr "The Tandor Rangers are giving away T.U.R Tickets to those affected by the disaster in Vinoville.\nPlease, take one."
+
+msgid "MAP129_NPC_3"
+msgstr "The Tandor Rangers are giving away T.U.R Tickets to those affected by the disaster in Vinoville.\nPlease, take one."
+
+msgid "MAP130_NPC_1"
+msgstr "Hey, are you a Pokémon Trainer? Sweet! Listen, would you be interested in a trade? I'm looking for a Tofurang. If you have one, I'll trade you my Palij for it. I don't think that's a Tofurang, mate!"
+
+msgid "MAP131_NPC_1"
+msgstr "Current tournament competitors cannot leave the waiting area until they either lose or become Champion. When you are ready to start your next match, talk to the other attendant by the Arena entrance."
+
+msgid "MAP132_SIGN_1"
+msgstr "Tunnel to Lanthanite Cave."
+
+msgid "MAP132_SIGN_2"
+msgstr "Trainer Tips!\nThe abilities Thick Fat and Fur Coat are defensive abilities.\nThick Fat halves damage from Fire and Ice-type attacks.\nFur Coat halves damage from physical attacks. Use strategy when attacking Pokémon that have these abilities!"
+
+msgid "MAP132_SIGN_3"
+msgstr "LANTHANITE CAVE\nCAUTION: THIN ICE\nBEWARE OF CAVE-INS"
+
+msgid "MAP132_TRAINER_1"
+msgstr "Woah, dude, this ice is like, totally slippery!"
+
+msgid "MAP132_TRAINER_1_DEFEAT"
+msgstr "Ouch!"
+
+msgid "MAP132_TRAINER_2"
+msgstr "Are your Pokémon adapted to the icy environment? Mine are!"
+
+msgid "MAP132_TRAINER_2_DEFEAT"
+msgstr "You seem ready, all right."
+
+msgid "MAP132_TRAINER_3"
+msgstr "Only the toughest can make it through the mountain!"
+
+msgid "MAP132_TRAINER_3_DEFEAT"
+msgstr "This was a worthy defeat!"
+
+msgid "MAP132_TRAINER_4"
+msgstr "Only the toughest can make it through the mountain!"
+
+msgid "MAP132_TRAINER_4_DEFEAT"
+msgstr "This was a worthy defeat!"
+
+msgid "MAP132_TRAINER_5"
+msgstr "Brr! I'm cold! Let's warm up with a Pokémon battle!"
+
+msgid "MAP132_TRAINER_5_DEFEAT"
+msgstr "Frosty!"
+
+msgid "MAP132_TRAINER_6"
+msgstr "These snowy mountains are full of dangerous things."
+
+msgid "MAP132_TRAINER_6_DEFEAT"
+msgstr "Clearly you can handle yourself."
+
+msgid "MAP132_TRAINER_7"
+msgstr "Only the toughest can make it through the mountain!"
+
+msgid "MAP132_TRAINER_7_DEFEAT"
+msgstr "This was a worthy defeat!"
+
+msgid "MAP132_TRAINER_8"
+msgstr "Hey, you! Which side are you on?"
+
+msgid "MAP132_TRAINER_8_DEFEAT"
+msgstr "Obviously, you're not on my side..."
+
+msgid "MAP133_NPC_1"
+msgstr "I've been here all day and still nothing... not even a bite! I just hate hearing that over and over in my head. Anyway, kid, maybe you could do better. I mean you can't be as bad at this as me ... I guess that's why I'm a sailor and not a fisherman! Here take this. I definitely won't be needing it! Back to the cruise ship life for me I guess...or maybe I'll find those pirates rumored to be near Angelure Town!"
+
+msgid "MAP133_SIGN_1"
+msgstr "Super Training Tent. Tutor: Hitomi"
+
+msgid "MAP133_TRAINER_1"
+msgstr "I've been a-fishin' all day, but all I seem to catch are old boots!"
+
+msgid "MAP133_TRAINER_1_DEFEAT"
+msgstr "Aw, the line broke."
+
+msgid "MAP133_TRAINER_2"
+msgstr "I come from a big family of fishermen. Fishing is my legacy!"
+
+msgid "MAP133_TRAINER_2_DEFEAT"
+msgstr "Drat, my line snapped."
+
+msgid "MAP133_TRAINER_3"
+msgstr "If you've got the HM Dive, you can explore the seafloor."
+
+msgid "MAP133_TRAINER_3_DEFEAT"
+msgstr "Sink or swim!"
+
+msgid "MAP133_TRAINER_4"
+msgstr "If you see bubbles underneath you, it means there's a Pokémon down below!"
+
+msgid "MAP133_TRAINER_4_DEFEAT"
+msgstr "Glub!"
+
+msgid "MAP133_TRAINER_5"
+msgstr "Family, duty, honor, fishing."
+
+msgid "MAP133_TRAINER_5_DEFEAT"
+msgstr "I have been beaten honorably!"
+
+msgid "MAP133_TRAINER_6"
+msgstr "It's my life's goal to be on the cover of Pokémon Illustrated Magazine."
+
+msgid "MAP133_TRAINER_6_DEFEAT"
+msgstr "Aaaaah! That's not cool!"
+
+msgid "MAP133_TRAINER_7"
+msgstr "You are disturbing my serene meditation!"
+
+msgid "MAP133_TRAINER_7_DEFEAT"
+msgstr "My concentration is broken!"
+
+msgid "MAP133_TRAINER_8"
+msgstr "Fact! Shrimputy can shoot bursts of boiling hot water out of their claws!"
+
+msgid "MAP133_TRAINER_8_DEFEAT"
+msgstr "Yeowch! It burns!"
+
+msgid "MAP133_TRAINER_9"
+msgstr "Swimming is the best thing you can do to stay in shape!"
+
+msgid "MAP133_TRAINER_9_DEFEAT"
+msgstr "My arms are tired..."
+
+msgid "MAP134_NPC_1"
+msgstr "It's colder up north. I can't wear my miniskirt every day anymore."
+
+msgid "MAP134_NPC_2"
+msgstr "What's a Trainer like you doing in Silverport? You must be looking for the next Gym. That's in Snowbank Town, to the east."
+
+msgid "MAP134_NPC_3"
+msgstr "Have you seen Silverport's Pokémon Lab? They're doing some sort of important research there, I reckon."
+
+msgid "MAP134_NPC_4"
+msgstr "Silverport was founded as a fishing outpost. Most of the residents sail out to sea each day to fish, including my husband."
+
+msgid "MAP134_SIGN_1"
+msgstr "Silverport Town: A Fresh Sea Breeze Brings New Promise!"
+
+msgid "MAP134_SIGN_2"
+msgstr "Larkspur Pokémon Research Lab"
+
+msgid "MAP134_TRAINER_1"
+msgstr "Ehh? You there...\nYou wouldn't happen to be a\nPokémon Trainer, now would ya?\nHarharhar! I can tell just by looking at ya! Listen, I been a-sailing these\noceans since I were a wee lad.\nAs of late, there's been an ill tide...\nYe might've heard, but there be pirates in these waters! A frail ol' fisherman like me doesn't\nstand a chance against 'em.\nBut, with a strong Trainer on board,\nI reckon they'll leave us alone.\nAre ye perhaps headin' to Venesi City?\nI'd be more'n happy to give ya a lift there. Yarharharhar! Anchors aweigh,\nye scurvy landlubber!\n...Er, I mean...\nArrrgh, I blew it! Arrrr, ye scurvy landlubber!\n...Er, I mean...\nArrgh, I blew it! Arrrr... I disguised meself\nas an old man!\nI was plannin' ta steal all yer\nPokémon while we were at sea.\nBut then me pirate catchphrase slipped out. Guess we gotta do this the harrrrd way! Give me yer Pokémon,\nor ye'll be walkin' the plank!"
+
+msgid "MAP134_TRAINER_1_DEFEAT"
+msgstr "Arrrrrghhh!"
+
+msgid "MAP135_NPC_1"
+msgstr "I carved some wicked edge on the mountain today!"
+
+msgid "MAP135_NPC_2"
+msgstr "Brr! You've reached chilly Snowbank Town!"
+
+msgid "MAP135_NPC_3"
+msgstr "This town is always so quiet because of the falling snow. Take a moment to rest and watch the snowflakes drift down."
+
+msgid "MAP135_NPC_4"
+msgstr "Yo, dude, these runs are mad gnarly!"
+
+msgid "MAP135_NPC_5"
+msgstr "Do you know the Pokémon Alpico? If you've got one, want to trade it for my Anderind? You don't have any Pokémon... Okay, sweet! That's too bad."
+
+msgid "MAP135_SIGN_1"
+msgstr "Snowbank Town: A Village Wreathed in \nPowdery Snow"
+
+msgid "MAP136_NPC_1"
+msgstr "You should talk to your friend so you can go through the Gym."
+
+msgid "MAP136_SIGN_1"
+msgstr "Snowbank Gym Gym Leader: Vaeryn, the Dragon Master of Mega Evolution"
+
+msgid "MAP137_NPC_1"
+msgstr "Good luck to both of you in your battle!"
+
+msgid "MAP137_NPC_2"
+msgstr "Vaeryn: An excellent choice."
+
+msgid "MAP137_SIGN_1"
+msgstr "Push the button?"
+
+msgid "MAP137_SIGN_2"
+msgstr "Push the button?"
+
+msgid "MAP137_TRAINER_1"
+msgstr "Very good. You have surpassed the first part of the trial. Now, see if you can overcome my might in battle!"
+
+msgid "MAP137_TRAINER_1_DEFEAT"
+msgstr "You have shown your strength."
+
+msgid "MAP137_TRAINER_2"
+msgstr "Very well. I see you have used your mind to think critically and navigate this room. Now, prove your wisdom by successfully countering my strategies!"
+
+msgid "MAP137_TRAINER_2_DEFEAT"
+msgstr "Well done."
+
+msgid "MAP137_TRAINER_3"
+msgstr "Excellent work. You have shown that you have faith in your own abilities. But do you have faith in your Pokémon?"
+
+msgid "MAP137_TRAINER_3_DEFEAT"
+msgstr "Well done."
+
+msgid "MAP139_NPC_1"
+msgstr "I dodge your attacks with my Ninja techniques! Swift and quiet, I sneak up behind you and knock you out with my sleeping gas!"
+
+msgid "MAP139_NPC_2"
+msgstr "I'm a fierce pirate of the sea! Y'arr matey! Ye slippery fish! I'll cut you with my cutlass!"
+
+msgid "MAP139_NPC_3"
+msgstr "I let the children play at being pirates and ninjas... but to tell the truth, I wish they wouldn't. Here in East Tandor, pirates are all across the oceans, and no one knows what the ninjas are up to..."
+
+msgid "MAP139_NPC_4"
+msgstr "Daikatuna is a favored Pokémon among the Ninja clans. To catch a rare Daikatuna, you have to use a metal fishing line and special bait, otherwise their sword will cut right through."
+
+msgid "MAP139_NPC_5"
+msgstr "Sometimes, when I've been sailing the seas for too long, I'll hear the sweet voice of a lady calling out to me. The Pokémon Syrentide has a human-like cry and a feminine look. She tempts wayward sailors to their doom."
+
+msgid "MAP139_NPC_6"
+msgstr "Do you know the move Hidden Power? It is different for every Pokémon that uses it. I have the ability to look at a Pokémon and tell what its Hidden Power will be. Who shall I take a look at? Shall I take a look at another Pokémon? Bring a Pokémon to me if you would like to know its Hidden Power. Bring a Pokémon to me if you would\nlike to know its hidden power."
+
+msgid "MAP140_NPC_1"
+msgstr "Sorry, but it's not safe to go into this route by yourself yet."
+
+msgid "MAP140_NPC_2"
+msgstr "Sorry, but it's not safe to go into this route by yourself yet."
+
+msgid "MAP140_NPC_3"
+msgstr "We're working on a way to safely get closer to the site of the destroyed power plant. A full-body protective suit is needed. Our top researchers are developing one right now."
+
+msgid "MAP140_NPC_4"
+msgstr "There's no way this was just an accident... the Vinoville power plant was fully operational just a few days ago, and so soon after the plant in Bealbeach... Our operatives in Bealbeach are hard at work right now as well. We've had to call in reinforcements from the East Tandor Rangers."
+
+msgid "MAP140_NPC_5"
+msgstr "Man... we Rangers were so ill-equipped to handle this... Usually, our Capture Stylers let us calm rampaging Pokémon and harness their powers to protect nature. But they don't work on Nuclear-types at all! We had to rely on our companion Pokémon and volunteer Trainers to help."
+
+msgid "MAP140_NPC_6"
+msgstr "You saved us! Thank you so much! I was so scared... I heard what sounded like an earthquake or explosion, and so I hid... when I figured out what was happening, the town had already been evacuated. I'm glad the Rangers came when they did."
+
+msgid "MAP140_NPC_7"
+msgstr "Woooow! You were so cool! Are you a Pokémon Master? I wanna be a Pokémon Ranger when I grow up!"
+
+msgid "MAP140_NPC_8"
+msgstr "Let me check your physical health for signs of radiation poisoning. ... You seem fine. Your exposure was limited to only a few minutes, at a far enough distance to the epicenter that you weren't breathing much contaminated air. Take these Potassium Iodine tablets. They will help prevent any long-term effects of exposure."
+
+msgid "MAP141_NPC_1"
+msgstr "I haven't seen a battle that climactic in many years. It's clear the two of you have each made an incredible journey. Now, the power of Mega Evolution is yours to keep. Use it wisely, remembering what you learned in your Trials."
+
+msgid "MAP141_SIGN_1"
+msgstr "Acolyte: This trial will test your ability to adapt to rapid change. For a good Trainer, the elements should pose no threat on the way to perfection."
+
+msgid "MAP141_TRAINER_1"
+msgstr "You have shown that the forces of mother Nature are not enough to stop you. Defeat me to prove that this adaptability extends to your battle style, too!"
+
+msgid "MAP141_TRAINER_1_DEFEAT"
+msgstr "Well done."
+
+msgid "MAP141_TRAINER_2"
+msgstr "You have pushed forward, undertaken many arduous tasks, and finally arrived at the truth. This will be your final trial. You are not allowed to use any items when we battle. Simply put your trust in your Pokémon's abilities and move forward without any hesitation!"
+
+msgid "MAP141_TRAINER_2_DEFEAT"
+msgstr "Well done."
+
+msgid "MAP141_TRAINER_3"
+msgstr "Vaeryn: Challengers.\nMy acolytes tell me you have completed the five trials. You have demonstrated great willpower to make it this far. Strength, Wisdom, Adaptability, Faith, and a willingness to seek the Truth... these are all characteristics of a true-hearted Trainer. Only those that are pure of heart and filled with determination can be worthy of the power of Mega Evolution. Theo: That's right!\nAnd now me an' \PN are gonna battle you! Vaeryn: I AM VAERYN THE DRAGON! Arbiter of Mega Evolution in Tandor! You may have passed the trials, but one final test awaits you! Prove to me that you are worthy!"
+
+msgid "MAP141_TRAINER_3_DEFEAT"
+msgstr "The two of you have proved yourselves worthy of the power of Mega Evolution."
+
+msgid "MAP142_SIGN_1"
+msgstr "Comet Cave"
+
+msgid "MAP142_SIGN_2"
+msgstr " Rochfale Town"
+
+msgid "MAP142_TRAINER_1"
+msgstr "Hey hey! Where are you going?"
+
+msgid "MAP142_TRAINER_1_DEFEAT"
+msgstr "Well, I shouldn't have asked..."
+
+msgid "MAP142_TRAINER_2"
+msgstr "Falling leaves are cool, but I miss Bealbeach beaches..."
+
+msgid "MAP142_TRAINER_2_DEFEAT"
+msgstr "Oh, you can't treat a lady like that!"
+
+msgid "MAP142_TRAINER_3"
+msgstr "Hey, get out of my beach!"
+
+msgid "MAP142_TRAINER_3_DEFEAT"
+msgstr "Why did you invade my beach?"
+
+msgid "MAP142_TRAINER_4"
+msgstr "If you ask me, this is the prettiest route in Tandor!"
+
+msgid "MAP142_TRAINER_4_DEFEAT"
+msgstr "People don't take us Campers seriously as battlers, but we love to explore and enjoy natural environments. You should take the time to appreciate Tandor's beauty!"
+
+msgid "MAP142_TRAINER_5"
+msgstr "Hey, can I get some directions? I think I took a wrong turn at Vinoville..."
+
+msgid "MAP142_TRAINER_5_DEFEAT"
+msgstr "First I get lost, then I lose a Pokémon battle... maybe I should become a Super Nerd instead and just stay inside!"
+
+msgid "MAP142_TRAINER_6"
+msgstr "???: Hiyah! ???: Who goes there? ???: You're on our turf now! ???: Trespassers beware! ???: Surfin' ninjas gonna take you down!"
+
+msgid "MAP142_TRAINER_6_DEFEAT"
+msgstr "Ronin: Brother, they are strong!"
+
+msgid "MAP143_NPC_1"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_10"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_2"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_3"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_4"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_5"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_6"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_7"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_8"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_NPC_9"
+msgstr "Do you want to gather the berries from this tree?"
+
+msgid "MAP143_SIGN_1"
+msgstr "Trainer tips!\nThe insects are ravenous.\nB WAR HE EIKA ATER\n...\nIt's too scratched to read..."
+
+msgid "MAP143_SIGN_2"
+msgstr "Super Training Tent. Tutor: Daichi"
+
+msgid "MAP143_TRAINER_1"
+msgstr "Welcome to Baykal Rainforest, traveler! Is this your first time here? Time for a battle!"
+
+msgid "MAP143_TRAINER_1_DEFEAT"
+msgstr "Ouch! That's natural selection for you!"
+
+msgid "MAP143_TRAINER_2"
+msgstr "Oh, you must have Pokémon from all across the region! Let me see!"
+
+msgid "MAP143_TRAINER_2_DEFEAT"
+msgstr "I see, I see!"
+
+msgid "MAP143_TRAINER_3"
+msgstr "It's a long way to Amatree town. I don't know if I can make it..."
+
+msgid "MAP143_TRAINER_3_DEFEAT"
+msgstr "I will perish in these woods."
+
+msgid "MAP143_TRAINER_4"
+msgstr "Theo: Hey!\n... I beat Sheldon! He was easy. Looks like you already cleared this place out. Whatever. I'll catch up! Bamb'o came to see me. He gave me this HM and told me to give a copy to you... But I don't wanna! First, I wanna battle you!"
+
+msgid "MAP143_TRAINER_4_DEFEAT"
+msgstr "No! It's not faaaaaair!"
+
+msgid "MAP143_TRAINER_5"
+msgstr "Theo: Hey!\n... I beat Sheldon! He was easy. Looks like you already cleared this place out. Whatever. I'll catch up! Bamb'o came to see me. He gave me this HM and told me to give a copy to you... But I don't wanna! First, I wanna battle you!"
+
+msgid "MAP143_TRAINER_5_DEFEAT"
+msgstr "No! It's not faaaaaair!"
+
+msgid "MAP143_TRAINER_6"
+msgstr "Les parfums de Kalos sont les meilleur!"
+
+msgid "MAP143_TRAINER_6_DEFEAT"
+msgstr "This isn't smelling good for me!"
+
+msgid "MAP143_TRAINER_7"
+msgstr "When I enter the forest, I feel like I'm in a whole new world."
+
+msgid "MAP143_TRAINER_7_DEFEAT"
+msgstr "Bwaaaaaah!"
+
+msgid "MAP143_TRAINER_8"
+msgstr "Oh, I hope those wild fish Pokémon don't bite me! They have sharp teeth."
+
+msgid "MAP143_TRAINER_8_DEFEAT"
+msgstr "I was just talking to you mate, why that attack all of sudden?"
+
+msgid "MAP144_NPC_1"
+msgstr "Every day I wake up and ride a gondola to work. Living here is great!"
+
+msgid "MAP144_NPC_10"
+msgstr "Didn't I see a Gargryph around here? They don't scare me."
+
+msgid "MAP144_NPC_11"
+msgstr "Why is water so blue? In my dream, it was purple, pink, and more!"
+
+msgid "MAP144_NPC_12"
+msgstr "Purr..."
+
+msgid "MAP144_NPC_2"
+msgstr "Have you seen the Venesi Opera House? It's one of our biggest landmarks."
+
+msgid "MAP144_NPC_3"
+msgstr "I saw it! I saw a white bird Pokemon! But then it disappeared..."
+
+msgid "MAP144_NPC_4"
+msgstr "Doesn't it look like those statues blink sometimes?"
+
+msgid "MAP144_NPC_5"
+msgstr "See those statues? Those are said to be the watchers of the city."
+
+msgid "MAP144_NPC_6"
+msgstr "Have you gone for a ride in a gondola yet? You must try it."
+
+msgid "MAP144_NPC_7"
+msgstr "Darn rats... this city's infested with 'em! They leave their scribbles all over the walls!"
+
+msgid "MAP144_NPC_8"
+msgstr "Say, do you know of a Pokemon called Titanice? I'm searching all over for one. I'll trade you a Gargryph in exchange. You don't have any pokémon... Okay, what have you got? Take care of him! Woot, I have a happy Titanice now! That's not a Titanice... c'mon, you're pulling my leg!"
+
+msgid "MAP144_NPC_9"
+msgstr "Venesi is known for many things.\nArt, theatre, and most importantly, the canals!"
+
+msgid "MAP144_SIGN_1"
+msgstr "Welcome to Venesi\nThe Beautiful Watery \nCity"
+
+msgid "MAP144_SIGN_2"
+msgstr "The Tipsy Tancoon:\n\nVenesi City's famous pub!"
+
+msgid "MAP144_SIGN_3"
+msgstr "Venesi Opera House and Gym."
+
+msgid "MAP145_NPC_1"
+msgstr "Someone has lost their Eevee inside the labyrinth and Tandor Police is doing a search, you can't go inside the cave right now."
+
+msgid "MAP145_SIGN_1"
+msgstr "Venesi City ahead."
+
+msgid "MAP145_TRAINER_1"
+msgstr "Your loss... I can read it in the cards!"
+
+msgid "MAP145_TRAINER_1_DEFEAT"
+msgstr "I see, I see!"
+
+msgid "MAP145_TRAINER_2"
+msgstr "Move aside, peasant! You are blocking my view!"
+
+msgid "MAP145_TRAINER_2_DEFEAT"
+msgstr "Beaten by a mere commoner?!"
+
+msgid "MAP145_TRAINER_3"
+msgstr "Hey, you! Which side are you on?"
+
+msgid "MAP145_TRAINER_3_DEFEAT"
+msgstr "Obviously, you're not on my side..."
+
+msgid "MAP145_TRAINER_4"
+msgstr "Oh, you found me basking in the sunlight! Guess it's time for a battle."
+
+msgid "MAP145_TRAINER_4_DEFEAT"
+msgstr "All this stress is bad for my skin."
+
+msgid "MAP145_TRAINER_5"
+msgstr "Hey, wanna see me do a cool trick? I can swallow fire!"
+
+msgid "MAP145_TRAINER_5_DEFEAT"
+msgstr "Ow, I burned my tongue!"
+
+msgid "MAP145_TRAINER_6"
+msgstr "Do you see what I see?"
+
+msgid "MAP145_TRAINER_6_DEFEAT"
+msgstr "I can't believe it!"
+
+msgid "MAP145_TRAINER_7"
+msgstr "I come from the mountains up north, looking for strong trainers to challenge!"
+
+msgid "MAP145_TRAINER_7_DEFEAT"
+msgstr "I've been waylaid!"
+
+msgid "MAP145_TRAINER_8"
+msgstr "You remind me of somebody I saw on TV!"
+
+msgid "MAP145_TRAINER_8_DEFEAT"
+msgstr "Guess I confused fiction with reality again..."
+
+msgid "MAP145_TRAINER_9"
+msgstr "Theo: It's you, \PN. I guess Bamb'o sent you. I'm training to challenge the Venesi Gym, which I guess you already beat. ...Yeah, I thought so. A little while ago, I'd have gotten upset and started crying about that. But... I guess other stuff put that sorta thing in perspective. So right now, I'm just tryin' to make myself the best trainer I can be. But first, wanna battle? Awright, let's do this!"
+
+msgid "MAP145_TRAINER_9_DEFEAT"
+msgstr "You're always so much better..."
+
+msgid "MAP146_NPC_1"
+msgstr "This village exists as a symbol of harmony between our people. We came together to build this as a sign of peace after hundreds of years of war."
+
+msgid "MAP146_NPC_10"
+msgstr "Hello, hello!\n I sell rare delicacies from all over the world!"
+
+msgid "MAP146_NPC_11"
+msgstr "Are you a Pokémon Collector? Surely, you are searching to capture them all, yes? These items will help you with that!"
+
+msgid "MAP146_NPC_12"
+msgstr "Hiyah! I see you are a trainer! I sell items to give your Pokémon an edge in battle!"
+
+msgid "MAP146_NPC_2"
+msgstr "I'm training to be a Ninja Master! I've already developed my own technique! Ninja Spitball!\n*Ptooey*!"
+
+msgid "MAP146_NPC_3"
+msgstr "There is nothing like watching the serenity of the ocean at night.\n The gentle reflection of the moon and stars...\. It soothes this old soul.."
+
+msgid "MAP146_NPC_4"
+msgstr "At any given moment in this village, there are at least 10 Ninja around.\. You just can't see us most of the time."
+
+msgid "MAP146_NPC_5"
+msgstr "This village holds the biggest shrine to the Gods in all of Tandor. It also serves as this town's Pokémon Gym."
+
+msgid "MAP146_NPC_6"
+msgstr "Why do we wear black all the time? Well... because it's cool, duh! Plus, you can't tell when it gets dirty!"
+
+msgid "MAP146_NPC_7"
+msgstr "We Ninjas are working on our image.\. The whole \"mysterious and deadly\" thing doesn't make for great PR."
+
+msgid "MAP146_NPC_8"
+msgstr "There are so many different fighting styles practiced here! I have years of training ahead of me if I want to master them all."
+
+msgid "MAP146_NPC_9"
+msgstr "That statue depicts the Pokémon Yatagaryu. It is rare and sacred to the ninja clans. Only the proven are allowed to train them. They say Yatagaryu has the power to summon thunderstorms at will. That's why it is called \"The Stormbringer Pokémon\"."
+
+msgid "MAP146_SIGN_1"
+msgstr "Legend Museum: Treasures and Artifacts of Cultures Long Ago."
+
+msgid "MAP146_SIGN_2"
+msgstr "Legend Museum:\nTreasures and Artifacts of Cultures Long Ago."
+
+msgid "MAP146_SIGN_3"
+msgstr "The Bright, Shining Moon\n\nReflected by Ocean Waves\nTsukinami Village"
+
+msgid "MAP146_SIGN_4"
+msgstr "Statue of the mighty Daikatuna"
+
+msgid "MAP146_SIGN_5"
+msgstr "Statue of the great Yatagaryu"
+
+msgid "MAP146_SIGN_6"
+msgstr "Statue of the mighty Daikatuna"
+
+msgid "MAP146_SIGN_7"
+msgstr "Rare Foods and Treasures\n\nFrom as Far as the Wind Blows\nYou Can Buy Them Here!"
+
+msgid "MAP146_SIGN_8"
+msgstr "Tsukinami Holy Temple\n\nAnd Pokémon Gym"
+
+msgid "MAP147_NPC_1"
+msgstr "Hey there, sport! \nThis here's the sixth gym you'll have to beat for the Tandor Gym Challenge, and boy oh boy, is it a doozy! You'll have to rely on your wits for this one. These slippery polished floors make you slide all over the place! Not only that, but you'll have to be wary of trapdoors and disguises aplenty! Then there's the matter of the gym leader... no one knows who they might be! But supposedly they use a lot of psychic types... Good luck!"
+
+msgid "MAP147_TRAINER_1"
+msgstr "Love looks not with the eyes, but with the mind."
+
+msgid "MAP147_TRAINER_1_DEFEAT"
+msgstr "Oh, my aching heart!"
+
+msgid "MAP147_TRAINER_2"
+msgstr "This above all: to thine own self be true!"
+
+msgid "MAP147_TRAINER_2_DEFEAT"
+msgstr "Truly stupendous."
+
+msgid "MAP147_TRAINER_3"
+msgstr "A fool thinks himself to be wise, but a wise man knows himself to be a fool."
+
+msgid "MAP147_TRAINER_3_DEFEAT"
+msgstr "Vanquished!"
+
+msgid "MAP147_TRAINER_4"
+msgstr "By the pricking of my thumbs, Something wicked this way comes."
+
+msgid "MAP147_TRAINER_4_DEFEAT"
+msgstr "Uhh... line?"
+
+msgid "MAP147_TRAINER_5"
+msgstr "I would challenge you to a battle of wits, but I see you are unarmed!"
+
+msgid "MAP147_TRAINER_5_DEFEAT"
+msgstr "I have been outfoxed!"
+
+msgid "MAP147_TRAINER_6"
+msgstr "Aha! A challenger approaches! So, I see you have overcome the devious sliding floor puzzle and surpassed my understudies. But, do you have the wisdom to solve one final puzzle? Show me in battle!"
+
+msgid "MAP147_TRAINER_6_DEFEAT"
+msgstr "Aha! Very clever! Surely you have figured out that something's amiss..."
+
+msgid "MAP147_TRAINER_7"
+msgstr "\"All the world's a stage, And all the men and women merely players; They have their exits and their entrances; And one man in his time plays many parts, His acts being seven ages.\" ???: Let me tell you a story. There was once a little girl who dreamed of being a star in the opera. But the theatre was steeped in old traditional views, and women were not allowed to perform on stage. So she came up with a plan. She cut off all her hair, and put on boy's clothes, and auditioned as a boy. It worked. She got the part, and when she acted on the stage, she dazzled and enchanted everybody that came to see her plays. But this wasn't enough for her. In a world of lies and deception, she grew tired of the biggest misconception of all. So one day, she left her boy's clothes and concealing makeup behind. When the curtain rose up, the audience saw her for who she really was: their beloved star, a woman. The audience was struck dumb, because they could not deny what they knew to be true in their hearts: that she, a woman, could act as well as any man. From then on there was a change. The theatre changed its policies and women could audition. As for the girl, well... that girl is me. I am Rosalind, star of the stage and gym leader of Venesi city. You have done well, overcoming trickery and deception to find your way here. But, have you got what it takes to defeat me? Let the final act begin!"
+
+msgid "MAP147_TRAINER_7_DEFEAT"
+msgstr "Spectacularly done! You deserve this Drama Badge!"
+
+msgid "MAP148_NPC_1"
+msgstr "\pn! Good to see you here in Vinoville. This gym's leader is Sheldon. He uses steel-types and technology! It's all really out-of-place among all this beautiful farmland, but don't tell him I said that. Steel resists a lot of types, but remember that it melts under fire, bends under fists, and fractures in the earth. Water is generally \na good bet, too. Good luck!"
+
+msgid "MAP148_SIGN_1"
+msgstr "Push the button?"
+
+msgid "MAP148_SIGN_2"
+msgstr "Push the button?"
+
+msgid "MAP148_SIGN_3"
+msgstr "Push the button?"
+
+msgid "MAP148_SIGN_4"
+msgstr "Push the button?"
+
+msgid "MAP148_TRAINER_1"
+msgstr "What do you know about computers?"
+
+msgid "MAP148_TRAINER_1_DEFEAT"
+msgstr "Clearly you know better than me..."
+
+msgid "MAP148_TRAINER_2"
+msgstr "Check it out! I can play the Legend of Zelda theme on my guitar! Sick, huh?"
+
+msgid "MAP148_TRAINER_2_DEFEAT"
+msgstr "Game over..."
+
+msgid "MAP148_TRAINER_3"
+msgstr "Lololol im a grrrrl gamer! Ya im a girl and I play video gamezzz! o3o"
+
+msgid "MAP148_TRAINER_3_DEFEAT"
+msgstr "Aieeee!"
+
+msgid "MAP148_TRAINER_4"
+msgstr "Experts theorize that eventually we will reach a point where technology exceeds humans in intelligence and will be able to recursively improve itself."
+
+msgid "MAP148_TRAINER_4_DEFEAT"
+msgstr "If you just allow me to adjust the spacial controls..."
+
+msgid "MAP148_TRAINER_5"
+msgstr "\pn. I've been waiting for you. That sure was some stunt you pulled back there in the cornfield. I'm almost impressed! Ah, but messing with Ripley was getting boring. Everything in this town bores me. Let's see if you're as powerful as S51-A seems to think! Oh... you solved my puzzles. Well, whatever. It was getting boring waiting around. This town is so boring. There's nothing to do. These people are so happy farming and praying and stuff. They don't get it! Don't they know that their lives are pointless and inconsequential? Argh! It makes me so angry! My Steel-types are sick of being in this stupid town. We'll take our anger out on YOU!"
+
+msgid "MAP148_TRAINER_5_DEFEAT"
+msgstr "WHAT?!"
+
+msgid "MAP150_NPC_1"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. They scurried away.\nLooks like you made them angry... Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_2"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. They scurried away.\nLooks like you made them angry... Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_3"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_4"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_5"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_6"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_7"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_NPC_8"
+msgstr "A swarm of Bug Pokémon blocks your path! ... ...Use the Bug Spray? \pn sprayed the bug spray. Better not anger them. A swarm of bug pokémon is blocking the path, better to not anger them anymore..."
+
+msgid "MAP150_TRAINER_1"
+msgstr "Bwahahaha! Puny human! You're in the Anthell now!"
+
+msgid "MAP150_TRAINER_1_DEFEAT"
+msgstr "Squashed!"
+
+msgid "MAP150_TRAINER_2"
+msgstr "Heehee... The twisty, turny caverns of Anthell... Where will they end up next?"
+
+msgid "MAP150_TRAINER_2_DEFEAT"
+msgstr "Eh??"
+
+msgid "MAP150_TRAINER_3"
+msgstr "This place is a bug catcher's dream!"
+
+msgid "MAP150_TRAINER_3_DEFEAT"
+msgstr "Bummer..."
+
+msgid "MAP150_TRAINER_4"
+msgstr "This place is a bug catcher's dream!"
+
+msgid "MAP150_TRAINER_4_DEFEAT"
+msgstr "Bummer..."
+
+msgid "MAP151_NPC_1"
+msgstr "Are you a challenger? The gym leader isn't here. In fact, he hasn't returned since he went into the forest to train... ...\nThat was quite a while ago. Look, you're a strong trainer, aren't you? Tiko's a master Fire Pokémon trainer, so he most likely went into the deeper levels of Anthell to train. Consider it part of your badge to go fetch him. There's a good kid. A spritz of this\nbug spray works better than any\nRepel to get them scurrying."
+
+msgid "MAP151_NPC_2"
+msgstr "Welcome to Amatree.\nNot many people make it through Baykal in one piece, so congratulations."
+
+msgid "MAP151_NPC_3"
+msgstr "Amatree is cut off from the rest of the region. We don't even have electricity."
+
+msgid "MAP151_NPC_4"
+msgstr "Truth be told, we don't much like technology here. Some of us still use apricorns to capture Pokemon."
+
+msgid "MAP151_NPC_5"
+msgstr "Have you ever seen one of Tiko's dances? No? Teehee! They're very lovely."
+
+msgid "MAP151_NPC_6"
+msgstr "Gwahahaha! It's always raining here! But that's okay! I like the rain!"
+
+msgid "MAP151_NPC_7"
+msgstr "Here in Amatree, you don't have to worry about the noise of traffic keeping you up at night. But you do have to worry about the bugs!"
+
+msgid "MAP151_NPC_8"
+msgstr "Amatree town does not have a traditional Poké Mart. However, you can get rare items and Pokémon at the Trading Post, in exchange for berries."
+
+msgid "MAP151_SIGN_1"
+msgstr "Amatree Town: Wow, you found this \nplace, good job."
+
+msgid "MAP151_SIGN_2"
+msgstr "Amatree Gym.\nLeader: Tiko "The Flaming Dancer""
+
+msgid "MAP152_NPC_1"
+msgstr "I came here to see if they would train me in the Ninja ways. But I got thoroughly trounced at the Gym... I gotta train some more. They say that only those who have mastered all the Ninja techniques can train the sacred Pokémon of Tsukinami. I gotta catch it, if I want to catch them all!"
+
+msgid "MAP152_NPC_2"
+msgstr "I came to this town to see the Museum of Legends. They have artifacts that predate the founding of Tandor! The Legend Museum to the northwest has all sorts of interesting things for a Ruin Maniac like me. All kinds of ancient myths and stuff!"
+
+msgid "MAP152_NPC_3"
+msgstr "East Tandor's one Nuclear Power plant is across the sea to the west. It's the last one that's still standing in Tandor..."
+
+msgid "MAP152_SIGN_1"
+msgstr "This door is locked."
+
+msgid "MAP152_SIGN_2"
+msgstr "This door is locked."
+
+msgid "MAP152_SIGN_3"
+msgstr "This door is locked."
+
+msgid "MAP153_NPC_1"
+msgstr "This town is my last stop before the Pokémon League! Maybe I'll visit Angelure Town before I go, to catch a strong Water-type for my team. All I need is this badge and then I'm ready to face the Pokémon League! This Gym is really tough..."
+
+msgid "MAP155_NPC_1"
+msgstr "Welcome to the Luxury Cruise! Here you are free to relax, and not worry about things like nuclear meltdowns. Your room is the last one to the right. Feel free to explore the ship and talk with the other passengers."
+
+msgid "MAP155_NPC_2"
+msgstr "I have to get off this boat once it stops! There might be people who are injured from the crisis at the power plant! If only I could be as speedy as this quick claw. It does me no good though, so why don't you have it? I need to go and help those poor people who may be in danger. If this cruise was supposed to be relaxing, it isn't!"
+
+msgid "MAP155_NPC_3"
+msgstr "Hello, dear. I was a trainer once. Ahh, what a lovely time that was! But now I'm old and crotchety and I have no use for this TM. Will you make good use of it? That's the spirit. Oh, well, I'm sure I'll find some trainer who wants it."
+
+msgid "MAP155_NPC_4"
+msgstr "Hello there, little trainer! I'm the captain of this ship! ...Urgh, but I'm seasick... and we're not even on the ocean! What to do, what to do? I heard backrubs help... do an old chap a favor, would you? Ahh... that's so much better. What, you wanted something? I don't got nothing for ya. Scram! Urgh... *grumble*"
+
+msgid "MAP155_TRAINER_1"
+msgstr "I'm trying to have a relaxing cruise... But I just can't stop thinking about the nuclear plant! Maybe a battle will take my mind off it."
+
+msgid "MAP155_TRAINER_1_DEFEAT"
+msgstr "Ugh! I couldn't concentrate!"
+
+msgid "MAP155_TRAINER_2"
+msgstr "I'm more of a mountain man! Being on a boat makes me sort of sick... And yet, I fight on!"
+
+msgid "MAP155_TRAINER_2_DEFEAT"
+msgstr "I'm getting nauseous..."
+
+msgid "MAP155_TRAINER_3"
+msgstr "Hey hey! Where are you going?"
+
+msgid "MAP155_TRAINER_3_DEFEAT"
+msgstr "Nyoooo! We lost. :(("
+
+msgid "MAP155_TRAINER_4"
+msgstr "I utilize only the STRONGest of Pokémon. Your Pokémon will not stand a chance before their might."
+
+msgid "MAP155_TRAINER_4_DEFEAT"
+msgstr "I... I think I shall require a towel."
+
+msgid "MAP155_TRAINER_5"
+msgstr "\pn.\nThis is dumb, but I'm sorta scared. Wait, no! I didn't say that. I'm never scared! I'm gonna be the best trainer ever! ...Still, dad...\n...I... ... Daddy's strong. He's got strong Pokémon. Your dad's a ranger, right? He'll help everyone. He-he'd better! I mean, uh... J-just, wanna battle? I don't care about what happened at the power plant! Right now, all I care about is beating you!"
+
+msgid "MAP155_TRAINER_5_DEFEAT"
+msgstr "No! It's not faaaaaair!"
+
+msgid "MAP156_NPC_1"
+msgstr "I've never seen Kellyn so tongue-tied. I... didn't know he had a son. He's so dedicated to his work, he never mentioned anything about family. I... didn't know he had a daughter. He's so dedicated to his work, he never mentioned anything about family."
+
+msgid "MAP156_NPC_10"
+msgstr "We designated Route 11 as a nature preserve to help replenish some of Tandor's endangered species. Trainers aren't allowed to catch Pokémon there without a permit."
+
+msgid "MAP156_NPC_11"
+msgstr "We Rangers do a lot of work here in Tandor. We're a combination of crime-fighting, search-and-rescue, and environmental protection."
+
+msgid "MAP156_NPC_12"
+msgstr "I'm a new Ranger Cadet! Kellyn is my idol!"
+
+msgid "MAP156_NPC_13"
+msgstr "\PN, I need you to deliver that letter to Cameron. He is on the Nuclear Plant island. You can get there by taking a boat from the dock on Route 07 to the south."
+
+msgid "MAP156_NPC_14"
+msgstr "This is an emergency care facility for injured people and Pokémon. Please, take some hand sanitizer. We don't want anybody getting sick."
+
+msgid "MAP156_NPC_15"
+msgstr "Many of our patients are still recovering. Please respect their boundaries."
+
+msgid "MAP156_NPC_16"
+msgstr "*Cough* *Cough*\nI feel yucky..."
+
+msgid "MAP156_NPC_17"
+msgstr "There there, sweetheart. I brought you some soup."
+
+msgid "MAP156_NPC_18"
+msgstr "I brought my son in here yesterday with a fever of 101. He's doing a lot better now, thanks to the care of these nurses."
+
+msgid "MAP156_NPC_19"
+msgstr "This is the Intensive Care Unit. I'm sorry, but I can't allow you to enter."
+
+msgid "MAP156_NPC_2"
+msgstr "A Pokemon Ranger's duty is to protect and preserve the natural beauty of Tandor! Your father's one of the-- no, THE top ranger we have here! Everyone looks up to him."
+
+msgid "MAP156_NPC_20"
+msgstr "It is always wise to have some healing items on hand. Although, berries will do too, in a pinch. Please, take these Antidotes to help you with your journey."
+
+msgid "MAP156_NPC_21"
+msgstr "Ow... ten..."
+
+msgid "MAP156_NPC_22"
+msgstr "We found this little guy on Route 03. Some trainer had poisoned him and just left him there..."
+
+msgid "MAP156_NPC_23"
+msgstr "This building has a landing pad on the roof. That way, we can airlift in those with critical injuries."
+
+msgid "MAP156_NPC_24"
+msgstr "I've never seen any affliction like this before... Could this be tied to the radioactive meltdown?"
+
+msgid "MAP156_NPC_25"
+msgstr "Grrrr! Snarrrrrl! Do you want to use the PST? ...\n \PN uses the PST! GRRR RIP TEAR DESTROY GRRRR"
+
+msgid "MAP156_NPC_26"
+msgstr "This machine monitors weather patterns across the region. There is a similar one in all the Ranger bases. By using this machine to predict the weather, we can foresee storms and hurricanes before they happen."
+
+msgid "MAP156_NPC_27"
+msgstr "This is the Research & Development Lab. The Tandor Rangers work with scientists and experts to develop solutions for problems in the region."
+
+msgid "MAP156_NPC_28"
+msgstr "We Rangers rely on cutting-edge technology to do our jobs. In particular, we use Capture Stylers, a non-violent way to calm and control a Pokémon. Capture Stylers are unique because they work on trained and wild Pokémon alike. However a well-trained Pokémon can resist the power of a Capture Styler. It seems like the strength of its bond with its trainer plays a role."
+
+msgid "MAP156_NPC_29"
+msgstr "So, \PN, you're Kellyn's kid, right? To be honest, I was surprised he had one. He never talks about his family when he's on the job."
+
+msgid "MAP156_NPC_3"
+msgstr "We don't form close bonds with our Pokémon. Some of us that have a partner Pokémon do, though."
+
+msgid "MAP156_NPC_30"
+msgstr "We're trying to work on a way to cure this Tancoon. It seems like constant exposure to human beings has lessened its ferocity. However, its fur and saliva still contain trace amounts of radioactivity. Bamb'o: That's right. We need to find a way to siphon off the radiation. Once it stops producing radioactive energy, then its cells will begin to regenerate normally. I'm sure there's a way, but none of our technologies have gotten close enough yet... Grrrowf!"
+
+msgid "MAP156_NPC_31"
+msgstr "I'm putting the finishing touches on the Hazard Suit. It should be ready to go by next mission."
+
+msgid "MAP156_NPC_32"
+msgstr "I present to you, the crowning achievement of months of research: the Hazard Suit! Based on blueprints from Hoenn, this suit renders the wearer totally impervious to radiation. It also contains an air filtration system, a built-in two-way radio, and more. This is just the first prototype. We hope to eventually make enough for the entire Ranger corps."
+
+msgid "MAP156_NPC_33"
+msgstr "Professor Cypress: Oh, Ernest! I thought that I might see you here. Bamb'o: Good to see you, Lily. How goes the research? Cypress: It's going well. We're making lots of progress on the Hazard Suit. The new Nuclear-resistant Capture Stylers are coming along well, too, though they are more difficult to use than ordinary Capture Stylers. As for developing a cure for Nuclear Pokémon, your notes have been very helpful. Bamb'o: I'm happy to oblige. \PN, let me tell you what we discovered about the Nuclear type. So, you know how Evolutionary Stones work, yes? Every stone emits a specific frequency of electromagnetic radiation. Pokémon that can evolve will do so when they are exposed to a concentrated dose of that type of radiation. Every element seems to be associated with a particular frequency. Now, Nuclear radiation, that's at a much higher frequency. So, what happens is, getting exposed to Nuclear radiation triggers a partial evolution in the Pokémon. Their species doesn't change, but their coloration, moves, and types do. And since their bodies aren't equipped to handle that kind of evolution, they kinda go a bit crazy. So, that's why they're savage. But I think through therapy and treatment, we can cure them. Not completely. They'll still have their changed colors. But they won't disobey or attack you. Brilliant work as always, Ernest. Bamb'o: Thanks, Lily. I try."
+
+msgid "MAP156_NPC_34"
+msgstr "It seems some types of Pokémon are more susceptible to being infected than others. Normal, Poison, Dark, and Flying-types are most vulnerable. Bug, Steel, and Ghost types are the least."
+
+msgid "MAP156_NPC_35"
+msgstr "As you know, Pokémon Rangers use Capture Stylers to subdue rampaging wild Pokémon. However, until recently, they didn't work on Nuclear types. Now, though, we've developed a new kind which are much more effective. It won't allow the Ranger to command the Nuclear Pokémon, but it will at least make them calm down and fall asleep."
+
+msgid "MAP156_NPC_36"
+msgstr "At the power plant, we witnessed an entirely unknown kind of Pokémon! At least, we think it's a Pokémon. Its name is Urayne, and it appears to be Nuclear type. A Nuclear-type Legendary Pokémon... and that CURIE person must be its trainer. We're still trying to understand what its powers might be, or where it might have come from. If only Cameron were awake... he could give us a clue."
+
+msgid "MAP156_NPC_37"
+msgstr "... [This Ranger took a direct hit from Urayne's Half-Life attack. She is in bad shape...]"
+
+msgid "MAP156_NPC_38"
+msgstr "\PN?\. Is that you?\nAnd Theo and Professor Bamb'o, too.\nI'm glad you're all here. We came as quickly as we could.\nHow are you feeling, Kellyn? I'm fine. My exposure wasn't all that bad-\n*cough*\. *cough*\. Please, try not to over-exert yourself.\nSome radioactive air has entered your lungs.\nYou need to keep your heart rate down. How can I remain calm when citizens and Pokémon are in danger?!\n*cough*\. *cough* Listen.\. Now that we know some more about what we are up against, I've come up with a plan.\nI'm now positive that this CURIE person is the cause of all the meltdowns.\nIf we can take down CURIE, then the Power Plants will be safe and we can begin restoration.\nOf course, that requires us to find where CURIE is hiding... Fortunately, Cameron has been helpful on that front. Dad...?\nBut he's been out cold ever since he...\n... It seems Cam expected something like this might happen.\nWhen we brought him in, we found these documents on the inside of his jacket. He appears to have been gathering information on CURIE and Urayne for quite some time.\nAlso included was this letter. To Kellyn and the Rangers of Tandor, You know me as Cameron Caine, engineer, private contractor, and father.\nHowever, this is not the truth about who I am.\n My real name is Cameron Stormbringer. I am an agent of Interpol.\nEleven years ago, I returned to Tandor to investigate reports of dangerous and illegal experiments on Pokémon.\nIn the process of my undercover investigation,\. I was discovered,\. and the criminal covered their tracks and fled. People died as a result.\nIt has been my single greatest regret.\nAfter my failure, Interpol released me into an early retirement. But I never forgot what I had discovered on that island... Dad was a secret agent?\nWoah!\. THAT'S AWESOME! He was always a reserved sort of guy.\nJust showed up in town one day after the accident with his kid...\n He never really talked about who he was or where he came from. ... So Cam knew more about the explosion from ten years ago...\nThe one where Lucille lost her life.\nWhy did he not tell me? ... There's more to the letter. Even though I was retired, I would not rest until these criminals were brought to justice.\nI knew that proof was still out there...\nSo, I became a contractor on the new Power Plant Epsilon. Using the construction of the new plant as a cover, I planned to investigate the site of the ruined Plant, to prove that what happened there was no accident.\n Instead, I found something else, something far more sinister... Blueprints and diagrams that detailed the creation of an artificial Pokémon!\nI was on the verge of having everything I needed to send a report in to Interpol, when the unthinkable happened.\nA huge detonation shook the island.\nThat was when I knew that this was far from over. I narrowly escaped the explosion on the back of Yatagaryu.\nFrom high in the sky, that was when I saw them... \nA lone figure emerged from the wreckage of the ruined plant, accompanied by a Pokémon. I recognized the mask that the figure was wearing from the diagrams I had seen.\nThe CURIE Interface. A high-tech device that was made in the labs.\nIts purpose appears to be some type of mental relay.\nIt transmits the wearer's thoughts and commands to the Pokémon... Urayne. A man-made Pokémon.\nBuilt to be a source of unlimited energy.\nAt its full potential, it has the power to split atoms.\nHowever, in order to reach that potential, it needs to consume a large amount of nuclear fuel. To facilitate this, it has the ability to sense radioactivity:\. a \"Geiger Sense.\"\nI believe Urayne was created on that island, and had remained there for years, deep in slumber. It was the arrival of new Uranium fuel on the island that sparked its re-awakening. But...\. Urayne was not alone. This person.\nI have no idea who they are, or what their goals might be.\nThey are in possession of the CURIE Interface, and seem to be Urayne's trainer. Additionally, they seem to want to avoid being seen. They do this by utilizing Urayne's teleportation power, Quantum Leap. However, each time they use this ability, a faint radioactive trace gets left behind.\nFollowing these traces, I secretly tracked them across the region for months. The fact that everybody thought I was dead made it easier to stay undercover.\nI can only imagine how worried Theo must be...\nBut, much as I care about my son, protecting Tandor is more important. So, you just let us all think you were dead?! How icould/i you, dad? I was devastated!\nI mean, I know it was because you had secret agent stuff to do, but... \nYou could have at least sent a sign!\. Anything! Yes...\. losing Cameron was hard on all of us. Especially you, Theo.\nBut, while he was missing, he was secretly tracking CURIE.\nThis information might allow us to finally capture them and put a stop to all this! At last, they seemed to settle down in the ruins of Power Plant Zeta, north of Vinoville.\nIt's remote, and the radiation keeps intruders away.\nThere is a large stockpile of nuclear fuel there. But it's not enough to last them forever. Eventually, they will run out, and they will be forced to move in search of more fuel.\nThe only remaining stash of Uranium is in East Tandor. That is where they will move next.\nI believe it is time for me to make my move. I shall anonymously alert the Rangers before the attack, and have the nuclear fuel relocated elsewhere.\nShould Urayne get ahold of more fuel, it may be able to reach its fully-realized form...\. A Pokémon with unlimited destructive power. I must do whatever it takes to prevent that.\nThe Rangers will set a trap for Urayne and CURIE at Power Plant Omicron. There, they will be forced to reveal themselves.\nIf they manage to escape, then they will flee to Power Plant Zeta again. In that case, I will join with the Rangers and confront them there. I must bring them to justice, for mine and everybody's sakes!\n\n\n- Cameron Stormbringer So, that's the end of the letter? Yes, that's it.\nAlthough, it's not all that Cam left us.\nHe seems to have quite a lot of data gathered about CURIE and Urayne...\. Files detailing their abilities, weaknesses...\. He seems fairly fixated on it. You're no stranger to that, though, are you Kellyn? ... *cough*\. *cough* ...That aside,\. Cameron's information may prove to invaluable.\nIncluded was a tracking signal.\nApparently, during the battle with CURIE and Urayne, he managed to attach a small geolocator to them.\nMy Rangers are scanning for their frequency now. Boss!\nWe traced the tracking signal!\nIt's coming from the west, just like you said...\. It seems to be originating from deep within the Vinoville Hazard Zone. So Cam was right.\nThey are inside of Power Plant Zeta.\nAre the Hazard Suits prepared? Ready to deploy, sir! That's good news.This time, the Rangers have the advantage. We will track down these criminals and stop them!\n I wish that I could lead this mission...\. but\..\..\.. \PN. Normally there is an oath and a ceremony, but...\. Time is of the essence, so I'll get right to the point.\nI'm promoting you to full Ranger status.\. I want you to lead this mission in my stead. I know that you can do it. You've overcome every challenge in your path. You have all eight badges now. You've become a strong, brave, independent person. I just want you to know...\.\nI'm so proud of you, \PN.\nI couldn't have asked for a better child.\n I just wish I'd been a better father. I hope that I can make it up to you someday. After all this is done... *sniff* I-\.I'm so happy Dad is alive...\.\nI n-never wanna leave him again...\nBut also, I gotta make this CURIE person pay for what they did!\nKellyn!\. I wanna be a Ranger, too! Of course, Theo.\. You can get a promotion for this mission. The more strong Trainers we have, the better chance at taking down CURIE. I'll stay here at HQ and provide backup. We'll monitor your position remotely.\nProfessor, we need you in the laboratory. Of course! We're close to a breakthrough on the cure. I just know it! Hey, \PN!\nWe get to be Rangers! That's awesome, isn't it? You two have more than proven yourselves.\nTheo, your actions in standing up to CURIE were...\. Well, it was foolhardy.\nBut your bravery is admirable. ...Hey, give it a rest! I just found out Dad was alive, and he was in trouble! I couldn't just stand by and do nothing. Dad...\. I'll make sure your sacrifice was worthwhile.\nAnd when you finally wake up...\. I'll be there to tell you that you helped save Tandor. A squad of Rangers is waiting at the Western dock on Route 07.\nThere, you will take a boat across the lake and all the way to Route 08, the Wheatfields.\nThat area is designated the \"Hazard Zone.\" You will need protective gear.\n Fortunately, our researchers have developed the Hazard Suit which will protect you from radiation. At the far side of that route is the road leading to Power Plant Zeta. The tracking signal is coming from deep inside of the Plant.\nYou will need to come prepared. We don't know what to expect."
+
+msgid "MAP156_NPC_39"
+msgstr "... [Cameron is unconscious and does not respond.]"
+
+msgid "MAP156_NPC_4"
+msgstr "Kellyn: Fiore, then Almia, then Tandor... What? Oh, I'm just reminiscing. Kellyn: L-listen, maybe I can buy you lunch? No, wait, I have work to do. Sorry. Kellyn: How's my older sister doing? ...Playing the Wii? All right then. Kellyn: You know, your mother was... I wish you could have known her. Kellyn: *sigh*"
+
+msgid "MAP156_NPC_40"
+msgstr "Kellyn's Empirilla won't leave his side. Those two sure have a strong bond."
+
+msgid "MAP156_NPC_41"
+msgstr "Empi.... \PN used the PST! Boss is hurt. Must protect Boss!"
+
+msgid "MAP156_NPC_42"
+msgstr "Dad... I'm here with you, so hang in there, okay?"
+
+msgid "MAP156_NPC_43"
+msgstr "Cameron's Yatagaryu flew us here faster than I've ever flown before. It's on the landing pad on the roof. It's too big to fit indoors. Although, it kept trying to come inside to be with its trainer. That's one loyal Pokémon. "
+
+msgid "MAP156_NPC_44"
+msgstr "I'm a field medic specializing in care of injured Rangers. Blissey is my partner Pokémon from the Almia region."
+
+msgid "MAP156_NPC_45"
+msgstr "Bliss! Blissey!"
+
+msgid "MAP156_NPC_46"
+msgstr "I must say...\. As terrifying as Urayne is, it's also fascinating to see an undiscovered species of Pokémon. Geez...\. He said that Urayne could get even MORE powerful if it had more fuel? It looked scary tough already...\. I don't wanna think how much stronger it could get! We'll do anything in our power to prevent its power from growing. Our goal should be to neutralize Urayne and arrest its trainer, CURIE. According to Cameron's notes, if Urayne is weakened, it enters a low powered state. Once we remove its capacity for destruction, we shall decide what to do with it. Experiments on Pokémon and attempts to create artificial life have been outlawed ever since the Mewtwo incident in Kanto...\. but that doesn't mean they've stopped. \nWhile I believe that the circumstances of one's birth shouldn't determine one's destiny, we need to consider our options. If Urayne is like other Nuclear-types, and is just a mindless machine of destruction...\. Then we may have no choice but to terminate it permanently, for the sake of the region. Though...\. I can't say I want it to come to that. Wait a minute...\. terminate it?\nYou're going to kill it? -sigh- I just said I didn't want to.\nBut something that can create atomic detonations at will is a threat to all life as we know it.\nI'm a Ranger, and preserving the life of people and Pokemon is my job. \nUrayne has attacked and wounded several people, including some of my best Rangers, and- *cough*\. *cough* ...And you, too. I...\. suppose so. I trust your judgment as Chief.\nHowever, as a researcher, I would prefer it if Urayne could be left alive. A totally undiscovered Pokémon could be groundbreaking. \nIt may even have the solution we need to cure afflicted Nuclear-types. We can only wait and see."
+
+msgid "MAP156_NPC_47"
+msgstr "Hello, \PN! Do you have a corrupted Nuclear Pokémon that needs to be cured? Okay! I'll apply the treatment to your . It won't take long. And, done! Your is completely cured! Make sure to bring any more irradiated Pokémon you have to me so that I can cure them. If you have any corrupted Pokémon, bring them to me and I'll cure them. Remember, it's only for regular Pokémon that have been infected by radiation exposure. Native Nuclear-types such as Nucleon and Hazma won't need to be cured. If you have any corrupted Pokémon, bring them to me and I'll cure them."
+
+msgid "MAP156_NPC_48"
+msgstr "Haaaa-zma! Do you want to use the PST? ...\n \PN uses the PST! Happy! Happy to help!"
+
+msgid "MAP156_NPC_5"
+msgstr "Our boss, Kellyn, hasn't been the same since the accident ten years ago... The one where he lost his wife."
+
+msgid "MAP156_NPC_6"
+msgstr "Welcome to the West Tandor Pokemon Ranger HQ. This is the base for all of our operations in West Tandor. Got any questions? The Tandor Pokémon Rangers are dedicated to preserving the peace and protecting the environment of Tandor. We exist to protect people and Pokémon from those that would cause them harm. From crimes to natural disasters, you can count on the Pokémon Rangers to save the day! We are different from Pokemon Trainers because we don't use Poke Balls to capture Pokemon. Rather, we use Capture Stylers to harness the powers of wild Pokemon. This reduces the impact on the local environment. Is there anything else you would like to know? Sometimes The Tandor Rangers request help on missions from civilian Pokemon trainers. However, you need special permission from the Ranger Chief himself. For information on current missions, please talk to the ranger to my right. Is there anything else you would like to know? The Tandor rangers are currently on disaster relief mode after an explosion from an unknown source occurred on the Power Plant island to the southeast. Currently, many of our rangers are busy evacuating the island. However, there are also waves of radiation hitting the mainland, which is having strange effects on the wildlife. Please remain calm and stay indoors, or go someplace far from the epicenter of the explosion. All is going well here in West Tandor. There is currently a large construction project on the island to the southeast to build a new nuclear power plant. Since the old one melted down ten years ago, West Tandor has had to use less sustainable energy sources, like coal and oil. These pollute the environment. Once this new power plant is completed, we plan to get rid of fossil fuels in West Tandor altogether. Is there anything else you would like to know? Your father is currently leading a rescue mission on the power plant island to the southwest.\nYou should get as far away from the area as you can. ...Huh? Your father...?\nOh! You must mean Kellyn! I didn't know he had a kid.\nYou can find him upstairs.\nHe'll probably be surprised to see you. Can I help you with anything else?"
+
+msgid "MAP156_NPC_7"
+msgstr "The reason behind the power plant explosions was a person called CURIE... Are they even a person? They were wearing a weird helmet. And that thing at their side-- 'Urayne'. I've never seen nor heard of any Pokémon like that..."
+
+msgid "MAP156_NPC_8"
+msgstr "This building is this largest base of operations for West Tandor's Pokémon Rangers. We have one smaller outpost in Nowtoch City, and East Tandor has its own headquarters as well. The Ranger Union here is fairly young compared to Almia's. In fact, Chief Kellyn was sent here with some of Almia's other Rangers almost three decades ago to get the operation on its feet!"
+
+msgid "MAP156_NPC_9"
+msgstr "We don't capture Pokémon like trainers do, but some of us keep a partner Pokémon. My Partner, Staraptor, came with me all the way from the Almia region."
+
+msgid "MAP157_NPC_1"
+msgstr "Did you come here on the cruise? So did I. Supposedly the Gym here uses Steel-types and technology. In a town like this, who would have guessed? All this quiet makes my Pokémon antsy. It's too slow-paced for a serious trainer like me. I'm just gonna beat the gym and be on my way."
+
+msgid "MAP157_NPC_2"
+msgstr "If you want wi-fi, there's only two places in town to get it: here, and in the Gym. I don't think Sheldon likes to share his password with just anyone though... and the bitrate here sucks! I came to Vinoville because I heard there was some cutting-edge technology in this place. But it turns out it's only in the Gym, and the rest of this town is just farms and religious nuts!"
+
+msgid "MAP157_NPC_3"
+msgstr "After what happened at the Power Plant near Bealbeach, the Tandor Rangers are on high alert. I'm on stakeout, but it doesn't seem like anything's happening here... *sigh* Why couldn't I get a more exciting post?"
+
+msgid "MAP158_NPC_1"
+msgstr "All this mart sells is Pokémon stuff! I just want a sandwich! Is that too much to ask? Make me a sandwich."
+
+msgid "MAP158_NPC_2"
+msgstr "The folks in Vinoville would rather grow their own food than buy it from a mart. That's why this place doesn't get many customers."
+
+msgid "MAP159_NPC_1"
+msgstr "Pastor: Hello, young child! I see that spark in your eye. You are curious, no? Faith is not an oft-expressed element of Tandorian life. Nevertheless, most Tandorians worship in their own ways. Shall I tell you about the legends of Tandor? Very well. We Tandorians do not believe in a single deity, such as the Thousand-armed Creator of Sinnoh. Rather, we believe that the universe began with nothing. From that nothing came two other beings. White and black, positive and negative, past and future, wind and water, fire and lightning, push and pull. Across the world, they are called many things. Here in Tandor, our names for them are Aotius and Mutios. They take many Aspects. Some, human. Others, Pokémon. Together, they raised Pokémon of Metal, Lanthan and Actan. And unto the humans of Tandor, they gave five Orders. 1. Make no violence unto thy enemies and they will not make violence unto you. 2. Harm not the Pokémon of Tandor and they will not harm you. 3. Cultivate the Land to rich yield. 4. Desire is the pathway to ruin. 5. Bring knowledge to those that seek it. So they have commanded, so we shall live by it. The bond between humankind and Aotius and Mutios is like that between Pokémon and trainers: Like Pokémon, we listen, we obey, we protect. we protect. Thank you for listening to my story, my child. Here is something to award your patience. Knowledge will always be there for those who seek it."
+
+msgid "MAP159_NPC_10"
+msgstr "Part of the value of a TM is determined by how many Pokemon species are capable of learning it. TMs like Return, Double Team, Hidden Power, Toxic, Protect, and Attract can be learned by a great many Pokemon. "
+
+msgid "MAP159_NPC_11"
+msgstr "From the humblest youngster to the mightiest king, from the lowliest Magikarp to the great lord Arceus, everyone has the capacity for delight in life, in existence."
+
+msgid "MAP159_NPC_12"
+msgstr "I didn't believe the stories or the legends of Tandor. But I was in the crowd at the Championship, and I caught a glimpse of Actan as we were being evacuated. If one legend is true, maybe they're all true! Praise Arceus!"
+
+msgid "MAP159_NPC_13"
+msgstr "I used to be a bad person. Even when Vinoville was in turmoil, I spent my time looting and stealing. Then I encountered a little child, sooty and hungry, offering a Berry to a wounded Cottonee. I was moved to come to this church and seek redemption."
+
+msgid "MAP159_NPC_14"
+msgstr "... [She is whispering a devout prayer. Better leave her alone.]"
+
+msgid "MAP159_NPC_15"
+msgstr "I know the fear of dyin', learned it from a meltdown blast!"
+
+msgid "MAP159_NPC_16"
+msgstr "I had never heard of the Uranium type until the disaster happened!"
+
+msgid "MAP159_NPC_2"
+msgstr "Do take a look at the books beside the altar, my child. Perhaps they can teach you something about our ways."
+
+msgid "MAP159_NPC_3"
+msgstr "Aotius, for the clean purifying wind! Mutios, for the clean purifying water! And above them all, the great Arceus!"
+
+msgid "MAP159_NPC_4"
+msgstr "Pokémon. Humans. Gods. Legends. All celebrate the glory of life."
+
+msgid "MAP159_NPC_5"
+msgstr "Farming's been passed down in my family for generations. Our roots run deep, like a giant tree. A life without Pokémon would be fruitless. The gods created Man and Pokémon to work together."
+
+msgid "MAP159_NPC_6"
+msgstr "Vinoville is best known for its bread and wine. They are so delicious because they are grown with love for the land! Tandor has such a beautiful climate... we can grow nearly year-round."
+
+msgid "MAP159_NPC_7"
+msgstr "You look hungry! Here, take these berries. Don't be shy! Have some more! Berries are for Pokémon, but just between you and me, they're good for humans, too!"
+
+msgid "MAP159_NPC_8"
+msgstr "I love the countryside! It means I can be, like, free and in tune with nature and all that, yo. Man, sometimes I like to just sit outdoors... breathe the fresh air and stroke my strings... see how mother nature is up and feeling that day. You know?"
+
+msgid "MAP159_NPC_9"
+msgstr "There's a village in Unova where four famous performers congregate to make music every single day. Someday I want to go there. Want to take singing lessons? Let me hear your voice. ... Come on, don't be shy. ... Hey, you heard me, right? I want to hear you sing! ... Fine, I guess you don't want to learn."
+
+msgid "MAP159_SIGN_1"
+msgstr "There is a book here called "Ocean Legend \nof East Tandor."\nRead it? \n--East Tandor Legend--\nIn East Tandor, there lies a giant chasm in the sea.\nSometimes, when sailing on the sea at night, you can see lights shining from deep under the water.\nThis is the legendary Pokémon Baitatao.\nSome say it tries to lure unsuspecting swimmers \nunder the water, where it steals their eyesight.\nOthers say it wants to light the way so travelers \nmay have a safe journey.\nBaitatao's heat is what keeps the sea warm, \nso that life can flourish within.\nIt is wise to avoid places where the sea glows at night.\nReading's for chumps."
+
+msgid "MAP159_SIGN_2"
+msgstr "There is a book here called "The Three \nPokémon of Metal."\nRead it?\nWhen the world was born, newly sculpted \nby Arceus' Thousand Arms, there was no \nmetal.\nThen Groudon, lord of the Earth and Day, \ncleaved the earth with a mighty claw, but the \nmetal beneath was flimsy bronze.\nHe dug down deep into the lava at the core, and there he lay three eggs.\nThe first one to hatch was the Brother of Fire, Heatran. He created the many common \nores: iron, gold, silver, titanium.\nFrom the lava flows on Stark Mountain came all these rich and \nvaluable metals for humans to use.\nThe second to hatch was Lanthan. A Pokémon \nof Earth, Lanthan took the rare and elusive \nores without any names, and fixed them deep \nunderground. \nIt created the Lanthanite Mountain of East \nTandor and went to sleep inside.\nThe last to hatch was Actan.\nA Pokémon of Darkness, Actan took the scarcest and most \npowerful ores that burn and hum with \ndangerous energy,\nand emerged from Mt. Actinite to teach the humans of their use.\nThus do we have power not stolen from \nPokémon or fueled by fire but drawn from \nthe limitless source of metal itself.\nAnd Actan saw that the humans had learned, and \nreturned to its slumber. \nReading's for chumps."
+
+msgid "MAP159_SIGN_3"
+msgstr "There is a book here called "Beliefs Across The World."\nRead it?\nIn my travels across many regions, I have observed similar belief systems across various cultures.\nThe most remarkable similarity is between Unovan and Tandorian beliefs.\nAlthough the distance between these regions is vast, their religious views have much in common.\nUnovans believe in two celestial beings, black and white, which are manifest as the \nLegendary Pokémon Reshiram and Zekrom.\nwho they claim to be the creators of all...\nFaith is not as prevalent in Unova as it is in Tandor.\nTandorians, too, have dual beings, which they name Aotius and Mutios.\nHowever, these beings are more than mere Legendary Pokémon. They are portrayed as immortal, bodiless beings, capable of taking Aspects, both human and \nPokémon.\nInterestingly, many religious experts of Tandor \nconsider Reshiram and Zekrom to be Aspects \nof Aotius and Mutios.\nThe rest of this book will serve to analyze this symbolism, and blah blah blah...\n...It's a very long book.\nInteresting, but you don't have time to read it all.\nReading's for chumps."
+
+msgid "MAP159_SIGN_4"
+msgstr "There is a book here called "Creation of All Things."\nRead it?\nAt the beginning, there was nothing.\nA crack appeared in the Universe, and from it came a white fog and a black liquid.\nThey expanded to fill every empty space and formed the fabric of the universe.\nEach was the other's opposite. They craved contact but could never touch, or else risk annihilation.\nOut of their explosive conflict came all matter.\nThe planets, the moon, and all the stars in the sky.\nAnd through their overwhelming love they created life.\nHis breath fills our lungs. Her blood flows in our veins.\nBy their vast powers, our world was born.\nReading's for chumps."
+
+msgid "MAP160_NPC_1"
+msgstr "In this part of the region, people are very religious. Please be tolerant of others' beliefs."
+
+msgid "MAP161_SIGN_1"
+msgstr "It's not a good idea to steal food from the nice old \nlady."
+
+msgid "MAP161_SIGN_2"
+msgstr "The laptop has a collection of blurry photos of \nstrange shapes and lights in the sky."
+
+msgid "MAP162_TRAINER_1"
+msgstr "Hehehe! These puzzles must be real confusing to you, right! No?"
+
+msgid "MAP162_TRAINER_1_DEFEAT"
+msgstr "Ouch!"
+
+msgid "MAP162_TRAINER_2"
+msgstr "My mind showed me that you will fail on defeating me!"
+
+msgid "MAP162_TRAINER_2_DEFEAT"
+msgstr "Good luck on your pity journey."
+
+msgid "MAP162_TRAINER_3"
+msgstr "At long last... I have created... life!"
+
+msgid "MAP162_TRAINER_3_DEFEAT"
+msgstr "You shattered my test tube!"
+
+msgid "MAP165_NPC_1"
+msgstr "Did you come here on the cruise? So did I. All this quiet makes my Pokémon antsy. I'm just going to beat the gym and get out of here."
+
+msgid "MAP165_NPC_2"
+msgstr "I'm on stakeout. The entire region is on high alert. *Sigh* I wish I didn't have to do this... Rangers can't catch and train Pokémon, but most of us keep a Pokémon companion with us."
+
+msgid "MAP166_NPC_1"
+msgstr "All this mart sells is Pokémon stuff! I just want a sandwich! Is that too much to ask? Make me a sandwich."
+
+msgid "MAP167_NPC_1"
+msgstr "Sheldon: I...\nI always used to say that I'd rather Vinoville got blasted off the map...\. but I didn't mean it literally!\nWhat gives?!"
+
+msgid "MAP167_NPC_10"
+msgstr "Dad: Woah, I'm glad we made it on time! \PN, I think I should tell you what's going on after all this confusion. Dad: The northwest Nuclear Plant suffered a meltdown. We are not sure what caused it, but we suspect it wasn't an accident. Vinoville was completely evacuated and luckily noone died there, however, we are not sure about the conditions of the wild pokémon... Anyways, the town will be blocked until it gets cleaned from radiaction. Dad: Now we are at Legen Town, it's close to Vinoville, but it's safe here... Dad: So I see you beat Sheldon hmm! Nice job, only more two badges and you can register yourself at the West Conference! You should thinking of heading to Amaztree Town, there is a Gym there. If you take the subway to Burole you should get there quickly! Dad: See you \PN!"
+
+msgid "MAP167_NPC_11"
+msgstr "I'm hungry... when are they bringing food?"
+
+msgid "MAP167_NPC_12"
+msgstr "I couldn't beat the Vinoville gym... but I guess there are things more important than Pokémon training right now."
+
+msgid "MAP167_NPC_13"
+msgstr "This is a disaster... My entire harvest is ruined..."
+
+msgid "MAP167_NPC_14"
+msgstr "Ugh, my voice is all raspy. It can't be from breathing contaminated air, can it?"
+
+msgid "MAP167_NPC_15"
+msgstr "The Fallout Shelter in Legen was built shortly after construction began on the nuclear power plants in Tandor. While we hoped nothing like this would happen, we were prepared for the worst. The chance that both the Bealbeach and Vinoville plants would suffer a meltdown so close to each other is unheard of... unless there was an underlying cause."
+
+msgid "MAP167_NPC_16"
+msgstr "When faced with catastrophe, our language can fail to describe the magnitude of what is going on. We find it best to not think about it, and that is how we are able to stay sane. There is suffering all around the world. However, the pain felt by others doesn't negate the strife we face in our own lives."
+
+msgid "MAP167_NPC_17"
+msgstr "The Tandor Regional Championship is world- renowned for being one of the toughest challenges for trainers to master. Anyone that conquers it is a temporary celebrity. Last year's Champion was a girl named Maria. I think she has a Gym now."
+
+msgid "MAP167_NPC_18"
+msgstr "Theo: ...\n... I can't believe it... ...Dad..."
+
+msgid "MAP167_NPC_19"
+msgstr "Yes! You won't believe this! It's another invention!\nIt's completely fantastic! Tell me if it works! It's a Power Glove!\nYou'll move massive boulders like they're nothing! It's the magic of technology! \nNow go! Push boulders for the world! Now go away, I am busy. But soon! Soon, I will have more tools for you! Go away, I'm busy. But soon! Soon, I will have more tools for you!"
+
+msgid "MAP167_NPC_2"
+msgstr "Theo: *sniffle*\nT-\.they always treat me like a kid. Dad wouldn't d-\.do that. Dad b-\.believes in me... *sob* Ripley: There, there...\. shhh, it's okay. He's in shock. He needs someone right now. It's all right. I'll look after him. Go help the Rangers, they need you."
+
+msgid "MAP167_NPC_20"
+msgstr "Welcome trainer! My name is Kenichi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rDefense stat. Are you interested? Oh... My grandpa wants me to head back to the Dojo? Ok then! Please accept this gift as a token of appreciation for your efforts. See you soon! NINJA AWAY! Couldn't receive item, please talk to me again when you have free space. \GWelcome trainer! My name is Kenichi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rDefense stat. Are you interested? Which Pokemon wants to get buff? Come back if you want to get swole! Your got it's EVs raised by ! Come back again if you want to make your Pokémon stronger! I'm afraid you don't have the money to train your pokémon. Come back again if you want to make your Pokémon stronger! Awww yeah!\nSo, do you know what Effort Values are? Of course you do! You can check them on your Pokémon's Status screen! Effort values are points that correspond to a particular stat. There are 6 kinds: HP, Attack, Defense, Special Attack, Special Defense, and Speed. Pokémon can increase their EVs by defeating certain types of enemies. For instance, beating lots of defensive foes will make your Pokémon's defense higher. Here at the gym, we offer a shortcut to make that training even easier! Simply press A when the indicator is on the green part of the bar to beat up that punching bag! It's pretty fun, too, and it makes your Pokémon MEGA STRONG! So, is your body ready?"
+
+msgid "MAP167_NPC_21"
+msgstr "This is the Legen Town Ranger Station and Safe House. Right now, all our Rangers are busy evacuating the Vinoville area. If you're a strong Trainer, please help us battle the Nuclear Pokémon on Route 11!"
+
+msgid "MAP167_NPC_22"
+msgstr "I'm selling some things I found on Route 08 to raise money for Vinoville's recovery.\nInterested?"
+
+msgid "MAP167_NPC_3"
+msgstr "I'm worried about the effect this will have on the ecosystem... Radiation transforms Pokémon when it touches them, doesn't it?"
+
+msgid "MAP167_NPC_4"
+msgstr "My berries...\nI spent all year growing those. What will we eat now?"
+
+msgid "MAP167_NPC_5"
+msgstr "Vinoville...\nWe lived there since we were children, didn't we? Yes, and so did our parents.\nWhere can we go now...?"
+
+msgid "MAP167_NPC_6"
+msgstr "Old Man: Vinoville... We lived there since we were children, didn't we? Old Woman: Yes, and so did our parents. Where can we go now...?"
+
+msgid "MAP167_NPC_7"
+msgstr "This ain't cool..."
+
+msgid "MAP167_NPC_8"
+msgstr "Waaaaaaaaaaah!\nWaaaaaaaaaaaaaaaah! Mamaaaaa!"
+
+msgid "MAP167_NPC_9"
+msgstr "Shh, honey, shhhh.\nIt's all going to be okay. ...I think."
+
+msgid "MAP170_NPC_1"
+msgstr "Amatree isn't connected to the internet, so this rest house doesn't have a PC... ...drat! I left my strongest Pokémon in there!"
+
+msgid "MAP170_NPC_2"
+msgstr "No PC, and no mart... Dang! I'm screwed! I guess I'll have to rely on my Pokémon's natural talents to help me through..."
+
+msgid "MAP171_NPC_1"
+msgstr "Many years ago, before we knew of other regions, there were many tribes of natives that lived in the Baykal, which used to cover most of the region."
+
+msgid "MAP171_NPC_2"
+msgstr "Did you know that ancient people used to think the Pokémon Coatlith was a legendary? Well, it's true it does look very impressive, gliding through the trees..."
+
+msgid "MAP171_NPC_3"
+msgstr "Look what I found in the woods! Living in the forest is scary sometimes, but at least you can find cool things on the ground."
+
+msgid "MAP171_NPC_4"
+msgstr "Let me tell you about the Anthell. No, I didn't mis-pronounce that. It really does deserve that name. Interested? The Anthell is a massive network of\ntunnels excavated by Bug Pokémon. It is heavily populated by Smore, Sponee, and Tricwe, but also in its deeper levels their evolved forms, Firoke, Sponaree, and Harylect. At its deepest bowels is said to live their queen, the Seikamater. She is said to be the mother of every Smore, Sponee, and Tricwe in Tandor -- not that everyone really believes that, but so goes the legend. The bugs are ravenous. The Baykal grows rapidly, and the\nBug Pokémon pare it down at the same rate.\nSometimes, however, their hunger is not satisfied. ...\nThis next part is a little scary for a kid like you. Do you want to keep listening? Every so often, a human will vanish into the anthell, too.That is part of the circle of life, after all. The sooner we all realize that we will never overpower the forest, the better. Still, that is why we all recommend that one carry Pokémon in this forest. The dangers of the forest are very real. Even weak wild Pokémon can be overwhelming when there are hundreds, and Repel doesn't always work. I hope I have sufficiently warned you. Very well. But should you want to know, I will be here. Very well. But should you want to know, I will be here."
+
+msgid "MAP171_NPC_5"
+msgstr "Papa always goes on about the Anthell. One time he almost got abducted! Did he tell you?"
+
+msgid "MAP171_NPC_6"
+msgstr "These people here in Amatree will not take your money! They are only interested in berries, which grow on special trees in Baykal Forest."
+
+msgid "MAP171_NPC_7"
+msgstr "Hello! We sometimes get shipments of healing items from the mainland. I trade them in bulk, for berries. Would you like to trade? Please come again!"
+
+msgid "MAP171_NPC_8"
+msgstr "Hello, hello! I trade rare items for berries. Would you like to trade? Please come again!"
+
+msgid "MAP171_NPC_9"
+msgstr "Hello, hello! I have many rare Pokémon that were caught here in Baykal! I will trade them for berries. Would you like to trade? Please come again!"
+
+msgid "MAP172_NPC_1"
+msgstr "Hello, \PN.\nToday is the day you and Theo receive your first Pokémon, isn't it? Theo certainly was excited.\nI imagine you must be, too.\nAhh, I remember that day, all those years ago... Yes, I was a Pokémon Trainer just like you, once. I'm retired now, of course, but I still\nremember what it was like.\nIt's an auspicious day, indeed.\n...If you're looking for Theo,\.\nI'm afraid he's not here.\nHe's already gone ahead to the Pokémon Lab in the north of town. He's...\. not very patient, so you should probably hurry along and join him."
+
+msgid "MAP173_NPC_1"
+msgstr "Welcome trainer! My name is Daichi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rSpecial Attack stat. Are you interested? Oh... My grandpa wants me to head back to the Dojo? Ok then! Please accept this gift as a token of appreciation for your efforts. See you soon! NINJA AWAY! Couldn't receive item, please talk to me again when you have free space. \GWelcome trainer! My name is Daichi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rSpecial Attack stat. Are you interested? Which Pokemon wants to get buff? Come back if you want to get swole! Your got it's EVs raised by ! Come back again if you want to make your Pokémon stronger! I'm afraid you don't have the money to train your pokémon. Come back again if you want to make your Pokémon stronger! Awww yeah!\nSo, do you know what Effort Values are? Of course you do! You can check them on your Pokémon's Status screen! Effort values are points that correspond to a particular stat. There are 6 kinds: HP, Attack, Defense, Special Attack, Special Defense, and Speed. Pokémon can increase their EVs by defeating certain types of enemies. For instance, beating lots of defensive foes will make your Pokémon's defense higher. Here at the gym, we offer a shortcut to make that training even easier! Simply press A when the indicator is on the green part of the bar to beat up that punching bag! It's pretty fun, too, and it makes your Pokémon MEGA STRONG! So, is your body ready?"
+
+msgid "MAP174_NPC_1"
+msgstr "Many years ago, before we knew of other regions, there were many tribes of natives that lived in the Baykal, which used to cover most of the region."
+
+msgid "MAP174_NPC_10"
+msgstr "It used to be that no one could challenge the clans for dominance over the sea. Sure, it was a time of violent war. But they also made sure that merchants had safe passage. Now that the clans are gone, there are pirates everywhere."
+
+msgid "MAP174_NPC_11"
+msgstr "What do you think happened to the people who lived in the Baykal Rainforest? Do you think they just... disappeared?"
+
+msgid "MAP174_NPC_12"
+msgstr "Man... I really want a Yatagaryu! Where can I catch one?"
+
+msgid "MAP174_NPC_13"
+msgstr "...You want to know how to catch Aotius and Mutios? Hahaha! Listen, have you heard of the Pokémon Ho-oh and Lugia? Latias and Latios? Xerneas and Yveltal? Reshiram and Zekrom? Those are all aspects of the two Great Spirits. Don't believe me? Ask the Gym Leaders Hinata and Kaito. They are the mortal avatars of the Gods, after all..."
+
+msgid "MAP174_NPC_14"
+msgstr "... Gentle, protective, yet so powerful... The perfect Pokémon..."
+
+msgid "MAP174_NPC_15"
+msgstr "H-hey! What're ye lookin' at, mate? I'm not here fer any malarkey, got it? Jus' lookin' at some big statues... Def'nitely not gatherin' evidence fer the captain. Nope."
+
+msgid "MAP174_NPC_16"
+msgstr "Yoshitaka: To convince my disciples to return home, you will need to prove yourself to them in battle. Each of them specializes in one of the six arts: Endurance, Attack, Defense, Special Attack, Special Defense, and Speed. Word tells me that they are to be found all over Tandor. So, you have not convinced any of the Masters to return yet. I understand. The danger is still far off... I shall hone my skills while I await their return."
+
+msgid "MAP174_NPC_17"
+msgstr "Thanks for telling me to come back home! I can start training your Pokémon again once all my brothers are back."
+
+msgid "MAP174_NPC_18"
+msgstr "Thanks for telling me to come back home! I can start training your Pokémon again once all my brothers are back."
+
+msgid "MAP174_NPC_19"
+msgstr "Thanks for telling me to come back home! I can start training your Pokémon again once all my brothers are back."
+
+msgid "MAP174_NPC_2"
+msgstr "Did you know that ancient people used to think the Pokémon Coatlith was a legendary? Well, it's true it does look very impressive, gliding through the trees..."
+
+msgid "MAP174_NPC_20"
+msgstr "Thanks for telling me to come back home! I can start training your Pokémon again once all my brothers are back."
+
+msgid "MAP174_NPC_21"
+msgstr "Thanks for telling me to come back home! I can start training your Pokémon again once all my brothers are back."
+
+msgid "MAP174_NPC_3"
+msgstr "Living in the forest is scary sometimes, but at least you can find cool things on the ground."
+
+msgid "MAP174_NPC_4"
+msgstr "Let me tell you about the Anthell. No, I didn't mis-pronounce that. It really does deserve that name. Interested? The Anthell is a massive network of tunnels excavated by Bug Pokémon. It is heavily populated by Smore, Sponee, and Tricwe, but also in its deeper levels their evolved forms, Firoke, Sponaree, and Harylect. At its deepest bowels is said to live their queen, The Seikamater.\nShe is said to be the mother of every Smore, Sponaree, and Tricwe in Tandor— not that everyone really believes that, but so goes the legend. The bugs are ravenous. The Baykal \ngrows rapidly, and the Bug Pokémon pare it down at the same rate. Sometimes, however, their hunger is not satisfied. ...\nThis next part is a little scary for a kid like you. Do you want to keep listening? Every so often, a human will vanish into the anthell, too. That is part of the circle of life, after all. The sooner we all realize that we will never overpower the forest, the better. Still, that is why we all recommend that one carry Pokémon in this forest. in Fire-types. The dangers of the forest are a very real beware the Anthell. Even weak wild Pokémon can be overwhelming when there are hundreds, and Repel doesn't always work. I hope I have sufficiently warned you. Very well. But should you want to know, I will be here. Very well. But should you want to know, I will be here."
+
+msgid "MAP174_NPC_5"
+msgstr "Papa always goes on about the Anthell. One time he almost got abducted! Did he tell you?"
+
+msgid "MAP174_NPC_6"
+msgstr "Please don't touch the exhibits. Many of them are priceless antiques."
+
+msgid "MAP174_NPC_7"
+msgstr "After our clans came together, we built this museum to commemorate our culture. And then we expanded to other cultures around Tandor!"
+
+msgid "MAP174_NPC_8"
+msgstr "Under the old Kings, only the nobility were allowed to raise Pokémon. Any peasant who was caught training Pokémon was thrown in jail or sentenced to death. I can't even imagine what life without Pokémon would be..."
+
+msgid "MAP174_NPC_9"
+msgstr "I can't believe the Venesi theatre is over 200 years old! Well, it's no surprise then that they held such traditional views... Still, it's great to see the modern generation bring fresh innovation."
+
+msgid "MAP174_SIGN_1"
+msgstr "Baitatao: "The Boiling Wrath"\nThis mighty serpent is perhaps the best-known of the three Legendary Sea Creatures due to a famous shipwreck that happened 45 years ago.\nA freighter went missing, and turned up several weeks later with its hull partly melted off and not a single soul on board.\nMany believed this to be a sign that Baitatao had emerged from hibernation.\nHowever, scientists have still not been able to locate it since then."
+
+msgid "MAP174_SIGN_10"
+msgstr "Aotius & Mutios\n- The Gods of Tandor -\nAotius and Mutios are worshiped all over Tandor in various ways.\nSome say that they are Pokémon, some that they are spirits without form.\nThere are accounts of them taking on avatars and granting powers and visions."
+
+msgid "MAP174_SIGN_11"
+msgstr "This scroll depicts an unknown Legendary Pokémon, some sort of bird..."
+
+msgid "MAP174_SIGN_12"
+msgstr "This scroll depicts an unknown Legendary Pokémon, some sort of bird..."
+
+msgid "MAP174_SIGN_13"
+msgstr "Model of a Nami clan Longship.\nTo control the seas and islands around the region, the Clans needed a powerful armada.\nThese ships were packed with cutting-edge technology and weapons.\nThey all harbored armies of battle Pokémon equipped for ocean warfare."
+
+msgid "MAP174_SIGN_14"
+msgstr "Model of a Nami clan Longship.\nTo control the seas and islands around the region, the Clans needed a powerful armada.\nThese ships were packed with cutting-edge technology and weapons.\nThey all harbored armies of battle Pokémon equipped for ocean warfare."
+
+msgid "MAP174_SIGN_15"
+msgstr "Model of a Nami clan Longship.\nTo control the seas and islands around the region, the Clans needed a powerful armada.\nThese ships were packed with cutting-edge technology and weapons.\nThey all harbored armies of battle Pokémon equipped for ocean warfare."
+
+msgid "MAP174_SIGN_16"
+msgstr "Traditional weapons used in warfare between the Ninja clans.\nThis spear was made from a Metalynx tail.\nIt is thought that poaching for use in weapons and armor is why Metalynx are so rare in Tandor today."
+
+msgid "MAP174_SIGN_17"
+msgstr "Map of Tandor 200 years ago.\nTandor was ruled by a feudal system of government, with constant battles between Tsuki and Nami over territory. Tsuki ruled much of the mainland in West Tandor, \nwhile Nami controlled the islands in the East.\nThe Kings of these clans demanded taxes from the peoples under their rule. However, these rulers were also known to be patrons of the arts. This is how the \ntradition of Theatre began in what is now Venesi City."
+
+msgid "MAP174_SIGN_18"
+msgstr "Laissure: The Earthshaker Pokémon.\nThis Pokémon struck fear into early Tandorians by causing earthquakes with its massive tails.\nOne particularly fearsome one was called the "Beast of 1,000 Horns" by locals."
+
+msgid "MAP174_SIGN_19"
+msgstr "Laissure: The Earthshaker Pokémon.\nThis Pokémon struck fear into early Tandorians by causing earthquakes with its massive tails.\nOne particularly fearsome one was called the "Beast of 1,000 Horns" by locals."
+
+msgid "MAP174_SIGN_2"
+msgstr "Baitatao: "The Boiling Wrath"\nThis mighty serpent is perhaps the best-known of the three Legendary Sea Creatures due to a famous shipwreck that happened 45 years ago.\nA freighter went missing, and turned up several weeks later with its hull partly melted off and not a single soul on board.\nMany believed this to be a sign that Baitatao had emerged from hibernation.\nHowever, scientists have still not been able to locate it since then."
+
+msgid "MAP174_SIGN_20"
+msgstr "Yatagaryu: The Stormbringer Pokémon\nThis rare Pokémon is sacred to the Ninja clans. It can summon storms at will.\nIt is often depicted fighting with Coatlith."
+
+msgid "MAP174_SIGN_21"
+msgstr "Yatagaryu: The Stormbringer Pokémon\nThis rare Pokémon is sacred to the Ninja clans. It can summon storms at will.\nIt is often depicted fighting with Coatlith."
+
+msgid "MAP174_SIGN_22"
+msgstr "Stone Carving by Indigenous Baykal Tribes\nNot very much is known about the indigenous groups that lived in the Baykal Rainforest.\nThey predate the Tsuki and Nami civilization by 300 years. However, they vanished from the region due to unknown reasons around 400 years ago.\nAll we know about them was learned from observing the artifacts and ruins they left behind."
+
+msgid "MAP174_SIGN_23"
+msgstr "Arrowheads found in Baykal archeological site.\nEvidence indicates that the Baykal indigenous groups hunted and foraged for their food.\nThey lived in huts made from wood and dried palm leaves. However, they also built large stone temples. Carvings in the temples indicate a different distribution of \nPokémon species in the time they settled the region."
+
+msgid "MAP174_SIGN_24"
+msgstr "Traditional war helmets of Tsuki and Nami clans.\nHelmets were often made to resemble Pokémon such as Luchabra.\nThese were used in battle to give the wearer an intimidating look."
+
+msgid "MAP174_SIGN_3"
+msgstr "Leviathao: "The Frozen Spear"\nThe second of the three legendary sea creatures, it had a deadly sharp ice horn on its head.\nThere are records which show it was in the possession of the Tsuki clan for a period of time.\nWhen they lost possession of it, their empire fell apart soon after.\nIt is thought to still hibernate within an icy cavern on the sea floor."
+
+msgid "MAP174_SIGN_4"
+msgstr "Leviathao: "The Frozen Spear"\nThe second of the three legendary sea creatures, it had a deadly sharp ice horn on its head.\nThere are records which show it was in the possession of the Tsuki clan for a period of time.\nWhen they lost possession of it, their empire fell apart soon after.\nIt is thought to still hibernate within an icy cavern on the sea floor."
+
+msgid "MAP174_SIGN_5"
+msgstr "Krakanao: "The Vengeful Maelstrom"\nThe third and most feared of the sea legends, Krakanao would use its many arms to drag people to their watery doom. \nIt is spoken about in children's tales and nursery rhymes.\nIt was controlled by the Nami Clan. It could create a whirlpool big enough to sink a battleship.\nRecords talk of it being slain in battle, but there are rumors of it being sighted in more recent times."
+
+msgid "MAP174_SIGN_6"
+msgstr "Krakanao: "The Vengeful Maelstrom"\nThe third and most feared of the sea legends, Krakanao would use its many arms to drag people to their watery doom. \nIt is spoken about in children's tales and nursery rhymes.\nIt was controlled by the Nami Clan. It could create a whirlpool big enough to sink a battleship.\nRecords talk of it being slain in battle, but there are rumors of it being sighted in more recent times."
+
+msgid "MAP174_SIGN_7"
+msgstr "Aotius & Mutios\n- The Gods of Tandor -\nAotius and Mutios are worshiped all over Tandor in various ways.\nSome say that they are Pokémon, some that they are spirits without form.\nThere are accounts of them taking on avatars and granting powers and visions."
+
+msgid "MAP174_SIGN_8"
+msgstr "Aotius & Mutios\n- The Gods of Tandor -\nAotius and Mutios are worshiped all over Tandor in various ways.\nSome say that they are Pokémon, some that they are spirits without form.\nThere are accounts of them taking on avatars and granting powers and visions."
+
+msgid "MAP174_SIGN_9"
+msgstr "Aotius & Mutios\n- The Gods of Tandor -\nAotius and Mutios are worshiped all over Tandor in various ways.\nSome say that they are Pokémon, some that they are spirits without form.\nThere are accounts of them taking on avatars and granting powers and visions."
+
+msgid "MAP175_NPC_1"
+msgstr "Hey! Would you look at that? You made it here at last! This is the 8th and final gym in Tandor. This building is a shrine to the gods Aotius and Mutios. And the gym leaders are the prince and princess of the Ninja clans! Not only that, but they're said to be the mortal voice of the Gods themselves! To reach them, you'll have to solve a puzzle, remember, Aotius and Mutios are all about balance! ...Don't freak out, okay? You can handle this! I believe in you!"
+
+msgid "MAP175_SIGN_1"
+msgstr "AOTIUS\nGOD OF THE BRIGHT SKY"
+
+msgid "MAP175_SIGN_2"
+msgstr "MUTIOS\nGODDESS OF THE DARK SEA"
+
+msgid "MAP175_TRAINER_1"
+msgstr "So, you choose to face the rising sun. You are a courageous one. My Pokémon are strongest in the sunlight. Careful not to look directly at them, lest they blind you. Prepare to be tested by the power of Aotius!"
+
+msgid "MAP175_TRAINER_1_DEFEAT"
+msgstr "You have faced the bright light and not flinched away."
+
+msgid "MAP175_TRAINER_2"
+msgstr "So, you've chosen to face the dark fear of nighttime. That's brave. I use Pokémon that hide in the shadows and wait to strike when their foes are unaware. We embody the very essence of Ninja! With all of Mutios' cleverness, we will test you!"
+
+msgid "MAP175_TRAINER_2_DEFEAT"
+msgstr "You have looked into the darkness and overcome your fear."
+
+msgid "MAP175_TRAINER_3"
+msgstr "Rumbling thunder,\nThen, flash! The whole sky lights up!\n Lightning cleaves the air."
+
+msgid "MAP175_TRAINER_3_DEFEAT"
+msgstr "Zzzzap! Ouch!"
+
+msgid "MAP175_TRAINER_4"
+msgstr "Listen! Hear the sound\n of one thousand birds singing.\n They all sing for you!"
+
+msgid "MAP175_TRAINER_4_DEFEAT"
+msgstr "You blew me away..."
+
+msgid "MAP175_TRAINER_5"
+msgstr "The edge of a sword,\n Finer than a single thread,\n Sharp as death itself."
+
+msgid "MAP175_TRAINER_5_DEFEAT"
+msgstr "Sliced to pieces!"
+
+msgid "MAP175_TRAINER_6"
+msgstr "A full moon rises\n Over the black ocean waves.\n Tsuki and Nami."
+
+msgid "MAP175_TRAINER_6_DEFEAT"
+msgstr "Your destiny is calling!"
+
+msgid "MAP175_TRAINER_7"
+msgstr "A tiny trickle\n Joins with others to form a\n Raging waterfall."
+
+msgid "MAP175_TRAINER_7_DEFEAT"
+msgstr "I hope you're satisfied."
+
+msgid "MAP175_TRAINER_8"
+msgstr "Boom! Pow! A flower\n blooms across the darkened sky.\n It's a firework!"
+
+msgid "MAP175_TRAINER_8_DEFEAT"
+msgstr "Burned out..."
+
+msgid "MAP177_NPC_1"
+msgstr "Welcome trainer! My name is Miki, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rAttack stat. Are you interested? Oh... My grandpa wants me to head back to the Dojo? Ok then! Please accept this gift as a token of appreciation for your efforts. See you soon! NINJA AWAY! Couldn't receive item, please talk to me again when you have free space. \GWelcome trainer! My name is Miki, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rAttack stat. Are you interested? Which Pokemon wants to get buff? Come back if you want to get swole! Your got it's EVs raised by ! Come back again if you want to make your Pokémon stronger! I'm afraid you don't have the money to train your pokémon. Come back again if you want to make your Pokémon stronger! Awww yeah!\nSo, do you know what Effort Values are? Of course you do! You can check them on your Pokémon's Status screen! Effort values are points that correspond to a particular stat. There are 6 kinds: HP, Attack, Defense, Special Attack, Special Defense, and Speed. Pokémon can increase their EVs by defeating certain types of enemies. For instance, beating lots of defensive foes will make your Pokémon's defense higher. Here at the gym, we offer a shortcut to make that training even easier! Simply press A when the indicator is on the green part of the bar to beat up that punching bag! It's pretty fun, too, and it makes your Pokémon MEGA STRONG! So, is your body ready?"
+
+msgid "MAP178_NPC_1"
+msgstr "Welcome trainer! My name is Ayumi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rSpeed stat. Are you interested? Oh... My grandpa wants me to head back to the Dojo? Ok then! Please accept this gift as a token of appreciation for your efforts. See you soon! NINJA AWAY! Couldn't receive item, please talk to me again when you have free space. \GWelcome trainer! My name is Ayumi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rSpeed stat. Are you interested? Which Pokemon wants to get buff? Come back if you want to get swole! Your got it's EVs raised by ! Come back again if you want to make your Pokémon stronger! I'm afraid you don't have the money to train your pokémon. Come back again if you want to make your Pokémon stronger! Awww yeah!\nSo, do you know what Effort Values are? Of course you do! You can check them on your Pokémon's Status screen! Effort values are points that correspond to a particular stat. There are 6 kinds: HP, Attack, Defense, Special Attack, Special Defense, and Speed. Pokémon can increase their EVs by defeating certain types of enemies. For instance, beating lots of defensive foes will make your Pokémon's defense higher. Here at the gym, we offer a shortcut to make that training even easier! Simply press A when the indicator is on the green part of the bar to beat up that punching bag! It's pretty fun, too, and it makes your Pokémon MEGA STRONG! So, is your body ready?"
+
+msgid "MAP179_NPC_1"
+msgstr "Welcome trainer! My name is Tarou, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rHP stat. Are you interested? Oh... My grandpa wants me to head back to the Dojo? Ok then! Please accept this gift as a token of appreciation for your efforts. See you soon! NINJA AWAY! Couldn't receive item, please talk to me again when you have free space. \GWelcome trainer! My name is Tarou, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rHP stat. Are you interested? Which Pokemon wants to get buff? Come back if you want to get swole! Your got it's EVs raised by ! Come back again if you want to make your Pokémon stronger! I'm afraid you don't have the money to train your pokémon. Come back again if you want to make your Pokémon stronger! Awww yeah!\nSo, do you know what Effort Values are? Of course you do! You can check them on your Pokémon's Status screen! Effort values are points that correspond to a particular stat. There are 6 kinds: HP, Attack, Defense, Special Attack, Special Defense, and Speed. Pokémon can increase their EVs by defeating certain types of enemies. For instance, beating lots of defensive foes will make your Pokémon's defense higher. Here at the gym, we offer a shortcut to make that training even easier! Simply press A when the indicator is on the green part of the bar to beat up that punching bag! It's pretty fun, too, and it makes your Pokémon MEGA STRONG! So, is your body ready?"
+
+msgid "MAP180_NPC_1"
+msgstr "Welcome trainer! My name is Hitomi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rSpecial Defense stat. Are you interested? Oh... My grandpa wants me to head back to the Dojo? Ok then! Please accept this gift as a token of appreciation for your efforts. See you soon! NINJA AWAY! Couldn't receive item, please talk to me again when you have free space. \GWelcome trainer! My name is Hitomi, and I'm a ninja from Tsukinami Village, and I offer specialized training in the \rSpecial Defense stat. Are you interested? Which Pokemon wants to get buff? Come back if you want to get swole! Your got it's EVs raised by ! Come back again if you want to make your Pokémon stronger! I'm afraid you don't have the money to train your pokémon. Come back again if you want to make your Pokémon stronger! Awww yeah!\nSo, do you know what Effort Values are? Of course you do! You can check them on your Pokémon's Status screen! Effort values are points that correspond to a particular stat. There are 6 kinds: HP, Attack, Defense, Special Attack, Special Defense, and Speed. Pokémon can increase their EVs by defeating certain types of enemies. For instance, beating lots of defensive foes will make your Pokémon's defense higher. Here at the gym, we offer a shortcut to make that training even easier! Simply press A when the indicator is on the green part of the bar to beat up that punching bag! It's pretty fun, too, and it makes your Pokémon MEGA STRONG! So, is your body ready?"
+
+msgid "MAP181_NPC_1"
+msgstr "I've equipped all my Pokémon with Held Items to improve their power in battle. You can't use items in the arena, so items like Berries are essential. The Tandor Championship is structured like a single-elimination tournament. 32 Trainers go in... and one Champion emerges."
+
+msgid "MAP181_NPC_10"
+msgstr "I'm Maria's biggest fan.\nOne time, she signed my arm... \nthat was the best day of my life."
+
+msgid "MAP181_NPC_2"
+msgstr "That sparkle in your eye... you're planning to become Champion, aren't you?\nOhohoho. Good luck to you."
+
+msgid "MAP181_NPC_3"
+msgstr "I heard that they almost cancelled the Championship this year because of the Power Plant meltdowns. It's a good thing that they didn't! I wonder... will we see any Nuclear Pokémon in the arena?"
+
+msgid "MAP181_NPC_4"
+msgstr "How many Gym Badges have you got?\nI have sixteen.\nI beat the Kalos league before traveling to Tandor. Tandor's league is quite different, isn't it?\nWhich Gym Leader gave you the most trouble?\nI had a tough time against Rosalind. Her disguises really tripped up my team!"
+
+msgid "MAP181_NPC_5"
+msgstr "I'm so nervous... \nBut, as long as I put my faith in my Pokémon, I trust we can pull through! I've never seen so many strong trainers in one place before."
+
+msgid "MAP181_NPC_6"
+msgstr "Hyah! For the honor of my village, I fight in the Tandor Championship!\nThe Gods will guide me to victory!"
+
+msgid "MAP181_NPC_7"
+msgstr "Good work getting through Victory Road!\nBut the biggest challenge lies ahead of you... Anyone who wishes to challenge the Championship needs to battle their way through Victory Road first."
+
+msgid "MAP181_NPC_8"
+msgstr "Who do you think is gonna win the Championship this year?\nMy bets are on Maria! She won last year after all."
+
+msgid "MAP181_NPC_9"
+msgstr "I don't think Maria is gonna win it again this year. There's this new trainer, and everyone says they're scary strong. If you ask me, they're almost a guarantee! Do you know what the new Trainer's specialty is? I can't find any info on them in the database. ...Hey, wait a sec. You look kinda familiar... Oh my gosh! It's you!!!! Wow!!!"
+
+msgid "MAP183_NPC_1"
+msgstr "Much of the mountains around here are said to be impassable. However, I am determined to scale them!"
+
+msgid "MAP183_NPC_2"
+msgstr "Did you know Tandor was formed by two volcanoes? Both are dormant now, but the Regional Championship takes place over one of 'em."
+
+msgid "MAP183_NPC_3"
+msgstr "It's amazing how the economy functions when half the population of a given region are Trainers. Trainers who don't work! How would we ever feed ourselves if we didn't have Pokémon to help?"
+
+msgid "MAP183_NPC_4"
+msgstr "When I was young, I lived in the big city. Now, I just like living here in the quiet countryside."
+
+msgid "MAP183_SIGN_1"
+msgstr "Route 06. Do not forget to bring some Potions! It's very long!"
+
+msgid "MAP183_SIGN_2"
+msgstr "Professor Cypress' Lab."
+
+msgid "MAP183_SIGN_3"
+msgstr "Welcome to Rochfale. Watch for falling \nboulders!"
+
+msgid "MAP184_NPC_1"
+msgstr "(human...)\n(so... you return to face me in my lair.)\n(i have slept for many centuries...)\n(awaiting a soul worthy of facing me.)\n(now... the time has come.) (let us have our fated battle!) GYAAAROOOOOHHHHH!!!"
+
+msgid "MAP184_TRAINER_1"
+msgstr "You didn't see me, because I was hiding! I love going behind big rocks!"
+
+msgid "MAP184_TRAINER_1_DEFEAT"
+msgstr "Guess I wasn't fast enough..."
+
+msgid "MAP184_TRAINER_2"
+msgstr "The legends tell of a great conflict atop of Mt. Actinite. Could it be this one?"
+
+msgid "MAP184_TRAINER_2_DEFEAT"
+msgstr "That was a bit of an anticlimax."
+
+msgid "MAP185_TRAINER_1"
+msgstr "Do you hear it?\nThe furious howling of the wind!"
+
+msgid "MAP185_TRAINER_1_DEFEAT"
+msgstr "We... have fallen..."
+
+msgid "MAP185_TRAINER_2"
+msgstr "The mountain rumbles underfoot.\nYour trial is now!"
+
+msgid "MAP185_TRAINER_2_DEFEAT"
+msgstr "It was... destiny..."
+
+msgid "MAP185_TRAINER_3"
+msgstr "Oh me oh my!\nYou certainly seem a familiar face.\nShall we have a rousing battle, old sport?"
+
+msgid "MAP185_TRAINER_3_DEFEAT"
+msgstr "Goodness gracious!"
+
+msgid "MAP185_TRAINER_4"
+msgstr "I shall defeat you with powers summoned from beyond this mortal coil!"
+
+msgid "MAP185_TRAINER_4_DEFEAT"
+msgstr "Spirits, why have you forsaken me?"
+
+msgid "MAP186_SIGN_1"
+msgstr "Tandor Elite Championship"
+
+msgid "MAP187_NPC_1"
+msgstr "Hah!\nCalm down, dammit! Hey, these new Capture Stylers work! I can handle myself out here. \PN, you should go to the Power Plant."
+
+msgid "MAP187_NPC_2"
+msgstr "Arrrr... Arrr..."
+
+msgid "MAP187_NPC_3"
+msgstr "How's that Hazard Suit working for you? It's a bit harder to move around, but you're completely shielded from radiation in that thing. These masks protect us, but we're still vulnerable to intense radiation."
+
+msgid "MAP187_NPC_4"
+msgstr "If I subdue this Pokémon and bring it back to HQ, we can treat it. It would be ideal to have a mobile treatment, though..."
+
+msgid "MAP187_NPC_5"
+msgstr "Tans... Rrrrrr..."
+
+msgid "MAP187_SIGN_1"
+msgstr "Trainer Tips!\nFishing requires quick reflexes.\nPress A when the message "Oh! A Bite!" appears.\nYou may have to do this several times to land a \nPokemon."
+
+msgid "MAP187_TRAINER_1"
+msgstr "Hey, \PN, there you are! Heh, you're like a Slowpoke in that thing. But you look pretty cool, I gotta admit. ...Anyway. I think I spotted something cool... Follow me. But keep quiet! That Pokémon... Have you ever seen it before? It doesn't seem like the other Nuclear types... I've never seen anything like it. We should try to- ???: GRRRROWWWWLL! Theo: Crap, it ran away. What scared it off? I was gonna try to catch it.... Get ready to fight, \PN!"
+
+msgid "MAP187_TRAINER_10"
+msgstr "GRRRRRRR! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_10_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_11"
+msgstr "GRRRRRRR! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_11_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_12"
+msgstr "GRRRRRRR! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_12_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_13"
+msgstr "GRRRRRRR! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_13_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_14"
+msgstr "GRRRRRRR! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_14_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_1_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_2"
+msgstr "GRRRRrrrRROOWLLLL INTRUDER. INTRUDER."
+
+msgid "MAP187_TRAINER_2_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_3"
+msgstr "GRRRRrrrRROOWLLLL INTRUDER. INTRUDER."
+
+msgid "MAP187_TRAINER_3_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_4"
+msgstr "GRRRRrrrRROOWLLLL INTRUDER. INTRUDER."
+
+msgid "MAP187_TRAINER_4_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_5"
+msgstr "HIIISSSSSS! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_5_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_6"
+msgstr "HIIISSSSSS! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_6_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_7"
+msgstr "HIIISSSSSS! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_7_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_8"
+msgstr "Eeep! More Pokémon! Let's do this \PN!"
+
+msgid "MAP187_TRAINER_8_DEFEAT"
+msgstr ""
+
+msgid "MAP187_TRAINER_9"
+msgstr "GRRRRRRR! DESTROY DESTROY DESTROY"
+
+msgid "MAP187_TRAINER_9_DEFEAT"
+msgstr ""
+
+msgid "MAP188_NPC_1"
+msgstr "We're headed to Route 8, the Wheatfields. It used to be a pristine area of natural beauty. Now, it's the most irradiated place in Tandor... We've gotta stop CURIE and make them pay for what they've done!"
+
+msgid "MAP188_NPC_2"
+msgstr "Equip the Hazard Suit? \PN changed into the Hazard Suit."
+
+msgid "MAP188_NPC_3"
+msgstr "I know it's not my position to complain, but... How come I don't get to wear the suit? It's so cool..."
+
+msgid "MAP188_NPC_4"
+msgstr "\PN, don't worry about us. We've got these new capture stylers that work on Nuclear Pokémon. So, we'll be able to hold our own out there... I think..."
+
+msgid "MAP188_NPC_5"
+msgstr "Mff mmmf mffff! ...Nah, I'm only messing with you. I can speak just fine through this. Still, it gets kind of itchy... It would be a bad idea to take it off though."
+
+msgid "MAP189_NPC_1"
+msgstr "Pull the lever?"
+
+msgid "MAP189_NPC_2"
+msgstr "Pull the lever?"
+
+msgid "MAP189_NPC_3"
+msgstr "Pull the lever?"
+
+msgid "MAP189_NPC_4"
+msgstr "The label on the switch reads, \"Circuit Breaker\". It appears to be engaged. Disengage the Circuit Breaker? You and your party got hit with a discharge... The other levers returned to their original positions too."
+
+msgid "MAP189_SIGN_1"
+msgstr "It's a machine for healing Pokémon. It won't work without power."
+
+msgid "MAP189_SIGN_10"
+msgstr "Huh? This coffee is alarmingly still warm..."
+
+msgid "MAP189_SIGN_2"
+msgstr "It's a machine for healing Pokémon. It won't work without power."
+
+msgid "MAP189_SIGN_3"
+msgstr "It's a machine for healing Pokémon. It won't work without power."
+
+msgid "MAP189_SIGN_4"
+msgstr "It's a machine for healing Pokémon. It won't work without power."
+
+msgid "MAP189_SIGN_5"
+msgstr "- Emergency Power Control -\nFollow these instructions to activate the backup \ngenerator:\n In the Electrical room, first activate the switches in \nthe following order:\n\n\[06644bd2]Green, \[043c3aff]Red, \[65467b14]Blue.\nThen, disengage the circuit breaker. \nThis will restore power to the South sector."
+
+msgid "MAP189_SIGN_6"
+msgstr "For instructions to activate the backup generator, consult the Manual."
+
+msgid "MAP189_SIGN_7"
+msgstr "The food in the fridge has gone bad."
+
+msgid "MAP189_SIGN_8"
+msgstr "- Break Room -\nBreaks should be no longer than 15 minutes.\nIn case of coffee shortage, talk to Craig in HR.\n- The Management"
+
+msgid "MAP189_SIGN_9"
+msgstr "Maybe I can use this Radio to reach HQ...\.?\n.\..\..\..\nSomething is blocking the signal."
+
+msgid "MAP189_TRAINER_1"
+msgstr "Traaaawrrrr!"
+
+msgid "MAP189_TRAINER_1_DEFEAT"
+msgstr ""
+
+msgid "MAP191_NPC_1"
+msgstr "It appears to be connected to the electrical system. Press the switch?"
+
+msgid "MAP191_TRAINER_1"
+msgstr "Kkkssshhhttt!!"
+
+msgid "MAP191_TRAINER_1_DEFEAT"
+msgstr ""
+
+msgid "MAP192_NPC_1"
+msgstr "It appears to be connected to the electrical system. Press the switch?"
+
+msgid "MAP193_TRAINER_1"
+msgstr "Traaaawrrrr!"
+
+msgid "MAP193_TRAINER_1_DEFEAT"
+msgstr ""
+
+msgid "MAP193_TRAINER_2"
+msgstr "...\nFoolish child. It has been amusing, watching you try...\nBut here is where your story ends. How fortunate.\nThe son of the man who has plagued our existence... and the child of the Rangers' Chief.\nAnd now, both are within our grasp. We expect the Rangers will be more willing to obey when they hear we have their children hostage. Tell me, child... how does it feel?\nTo come so close, only to have your dreams crushed? Does it hurt? It should hurt.\nWe want you to suffer, as we have suffered. Your friend... He is in stasis. Neither awake, nor asleep.\nHis thoughts, trapped at the very moment he entered the capsule. What could he be feeling?\nPain? Fear? Confusion? Anguish? A single miserable moment, drawn out into an eternity. What he is feeling... it is but a fraction of what we felt. And now. You shall join him. Once we have the hostages, the Rangers will have no choice but to surrender. Then, nothing will stand in our way to ultimate power! ...Oh? Even after all that, you still wish to battle us? Huhuhuhu... how amusing.\nVery well. We accept your challenge... Behold the power of Nuclear energy, and despair!!"
+
+msgid "MAP193_TRAINER_2_DEFEAT"
+msgstr "...What? No! No no NO!"
+
+msgid "MAP195_TRAINER_1"
+msgstr "Well...\. Here we are again.\nThe two of us, competing for the title of Champion. That's how it's meant to be, isn't it?\nMe, standing across from you,\nwith all of Tandor watching us.\nIt feels right.\. You know?\nFeels like...\. Destiny.\n ... There's nothing that will\ncome between us, now.\nNo Legendary Pokémon or Nuclear Apocalypse. Just you, me... and the fighting spirit of our Pokémon. \PN, I've waited a long time for this... Let's discover which one of us gets to be Champion! The rules of the Champion round are the same as before. No items may be used other than what the Pokémon already hold. The battle will continue until either side has no Pokémon left that can fight. If both trainers are ready, then... The battle to decide the Championship begins\..\..\.. ...Now!"
+
+msgid "MAP195_TRAINER_1_DEFEAT"
+msgstr "Wow... That battle was... everything I'd hoped it would be."
+
+msgid "MAP196_TRAINER_1"
+msgstr "THIS IS IT!\nTHIS IS THE END! NOW...\nI AM...\nBECOME...\nDEATH!"
+
+msgid "MAP196_TRAINER_1_DEFEAT"
+msgstr "...What? No! No no NO!"
+
+msgid "MAP201_NPC_1"
+msgstr "This shuttle leads to the\nTandor Championship Site.\nHowever, it is currently closed to the public."
+
+msgid "MAP201_NPC_2"
+msgstr "This is a special shuttle that goes to the Tandor Championship Site.\nBut they aren't open to the public now, so that's why it isn't running."
+
+msgid "MAP202_NPC_1"
+msgstr "Lanthan is waiting for you!\nYou can't turn back now!"
+
+msgid "MAP202_TRAINER_1"
+msgstr "Halt! You two are trespassing\non sacred ground!\nAs a Monk of Lanthanite, it is my job to keep out the unworthy!"
+
+msgid "MAP202_TRAINER_1_DEFEAT"
+msgstr "T-the Champion of Tandor!\nPlease forgive my insolence!"
+
+msgid "MAP202_TRAINER_2"
+msgstr "In order to be sanctified..."
+
+msgid "MAP202_TRAINER_2_DEFEAT"
+msgstr "A spirit burns inside of you that can melt even the coldest ice."
+
+msgid "MAP202_TRAINER_3"
+msgstr "You will be bathed in Ice and Fire!"
+
+msgid "MAP202_TRAINER_3_DEFEAT"
+msgstr "A spirit burns inside of you that can melt even the coldest ice."
+
+msgid "MAP202_TRAINER_4"
+msgstr "With utter peace and tranquility, we will destroy you!"
+
+msgid "MAP202_TRAINER_4_DEFEAT"
+msgstr "Such power... incredible!"
+
+msgid "MAP202_TRAINER_5"
+msgstr "I saw it in a dream...\nThe Legendary awakens!"
+
+msgid "MAP202_TRAINER_5_DEFEAT"
+msgstr "Yes... as expected, you are truly formidable."
+
+msgid "MAP202_TRAINER_6"
+msgstr "Whoa...\nI've never seen a place like this!\nWow...\. so this must be Lanthan's lair.\nThese Legendaries are far stronger than\nan ordinary Pokémon, aren't they? \nBut, they are still Pokémon.\nAnd that means they can be captured. ...\PN.\. I believe you know what we must now do. We'll fight for the right to decide\nwho gets to catch Lanthan.\nI kept your team fully healed,\nso I know they're in peak condition.\nI expect nothing but your maximum strength. I'll be going all-out, too.\nSo, Champion...\. Show me your power!!"
+
+msgid "MAP202_TRAINER_6_DEFEAT"
+msgstr "I... lost?"
+
+msgid "MAP203_NPC_1"
+msgstr "Oh are you here to help us with our garden? Let's see what you can do! Thank you again for obliging my request.\nIt is those with kind hearts and astute wills that are able to reach the degree you have with your dear pokemon. As a memento of such a refreshing display and of our fateful meeting this day, I shall give you this..."
+
+msgid "MAP203_NPC_2"
+msgstr "Oh are you here to help us with our garden? Let's see what you can do! Thank you again for obliging my request.\nIt is those with kind hearts and astute wills that are able to reach the degree you have with your dear pokemon. As a memento of such a refreshing display and of our fateful meeting this day, I shall give you this..."
+
+msgid "MAP204_NPC_1"
+msgstr "I am of the Tsuki clan,\nand my wife is of Clan Nami.\nIf not for the example set forth by our leaders Hinata and Kaito, a love such as ours could never have happened. I guess it goes to show how powerful love can be!"
+
+msgid "MAP204_NPC_10"
+msgstr "Princess Hinata is bright like the sun!\nWe bow our heads to shield our eyes from her radiance!"
+
+msgid "MAP204_NPC_11"
+msgstr "You're a Trainer, right?\nThen you should know Kaito and Hinata\nare the Gym Leaders of Tsukinami.\nThey don't use any particular type, but...\nTheir theme is \"Night and Day\"."
+
+msgid "MAP204_NPC_12"
+msgstr "The Temple of Aotius and Mutios\nis the biggest building in our village.\nIt was erected to signal the end of the\nwar that lasted more than a hundred years.\nSince the Temple is also a Gym,\nall battles inside are sacred rituals."
+
+msgid "MAP204_NPC_13"
+msgstr "I'm the Pokémon Special Attack Move Tutor. I know every special attack based move that a Pokémon can learn using ancient secrets. If you have 4 Blue Shards, I may be able to teach your Pokemon a new move! Wow you have the shards! Alright! I can teach your Pokemon a move. Did you want me to teach a move to your Pokemon? Which Pokémon needs tutoring? If your Pokémon need to learn a move, come back to me! Hunh? There isn't a single move that I can teach an egg. No way, I don't want to go near a Shadow Pokémon.. Sorry... It doesn't appear as if I have any move I can teach to your . Which move should I teach to your ? \PN handed over the shards in exchange. Thanks! If you need to learn some more moves, come back with the right amount of shards! If your Pokémon need to learn a move, come back to me! If your Pokémon need to learn a move, come back to me! Come back when you have 4 of each shard and I'll help your Pokemon out!"
+
+msgid "MAP204_NPC_14"
+msgstr "Muuu-sha!"
+
+msgid "MAP204_NPC_15"
+msgstr "Oh, hello there!\nI'm Fennel, a scientist from the Unova region. I decided to come here on vacation,\nsince this region has an interesting\nand unique culture.\nAnd this is Dream, my Musharna. Muuu-sha! I specialize in research on Pokémon Dreams. I even helped build a device called a Dream Visualizer. Using Musharna's power, I can look\ninside the dreams of Pokémon.\nIt truly is fascinating! Huh?\. You're saying there's a little girl\nin Venesi City who's trapped in a dream?\nThat's a little outside my expertise.\nI mostly specialize in Pokémon dreams. \nStill...\. there must be something I can do to help. Okay! I've made up my mind! I'm going to go to Venesi City\nand see if I can help this girl.\nAfter all, what's the point of science\nif it can't make people's lives better?\nI'll see you there, I hope!"
+
+msgid "MAP204_NPC_16"
+msgstr "My daughter is obsessed with\Ncollecting toys of the Pokémon Minicorn.\NIt's her dream to see one in real life.\NIf you showed it to her,\NI'm sure she'd be overjoyed."
+
+msgid "MAP204_NPC_17"
+msgstr "Minicorn! I want to see a Minicorn!\nHave you got a Minicorn? OMG!!!! YOU HAVE A MINICORN!\n*SQUEAL*\nIT'S SO FLUFFY!\nEEEEEEEEEEEEE!!! I'm so, so, so happy!\nThis is the best day EVER!\nHere, I want you to have this sparkly rock! Aww...\nWhat's the point of being a Trainer\nif you don't get cute Pokémon?"
+
+msgid "MAP204_NPC_18"
+msgstr "I'm the Pokémon Physical Attack Move Tutor. I know every physical attack based move that a Pokémon can learn using ancient secrets. If you have 4 Red Shards, I may be able to teach your Pokemon a new move! Wow you have the shards! Alright! I can teach your Pokemon a move. Did you want me to teach a move to your Pokemon? Which Pokémon needs tutoring? If your Pokémon need to learn a move, come back to me! Hunh? There isn't a single move that I can teach an egg. No way, I don't want to go near a Shadow Pokémon.. Sorry... It doesn't appear as if I have any move I can teach to your . Which move should I teach to your ? \PN handed over the shards in exchange. Thanks! If you need to learn some more moves, come back with the right amount of shards! If your Pokémon need to learn a move, come back to me! If your Pokémon need to learn a move, come back to me! Come back when you have 4 of each shard and I'll help your Pokemon out!"
+
+msgid "MAP204_NPC_19"
+msgstr "I'm the Pokémon Debuff Move Tutor. I know every debuff based move that a Pokémon can learn using ancient secrets. If you have 4 Green Shards, I may be able to teach your Pokemon a new move! Wow you have the shards! Alright! I can teach your Pokemon a move. Did you want me to teach a move to your Pokemon? Which Pokémon needs tutoring? If your Pokémon need to learn a move, come back to me! Hunh? There isn't a single move that I can teach an egg. No way, I don't want to go near a Shadow Pokémon.. Sorry... It doesn't appear as if I have any move I can teach to your . Which move should I teach to your ? \PN handed over the shards in exchange. Thanks! If you need to learn some more moves, come back with the right amount of shards! If your Pokémon need to learn a move, come back to me! If your Pokémon need to learn a move, come back to me! Come back when you have 4 of each shard and I'll help your Pokemon out!"
+
+msgid "MAP204_NPC_2"
+msgstr "I am Genin.\nThe Pokémon Saidine is my secret weapon! We are descendants of the Nami Clan.\nOur secret is mastery of the waves.\nThis is why we Surf."
+
+msgid "MAP204_NPC_3"
+msgstr "This one's name is Chuunin.\nI ride the waves as swiftly as the wind! Our Glorious Leaders wish to create\nan era of peace and prosperity.\nThat will be hard to do with pirates knocking on our door!"
+
+msgid "MAP204_NPC_4"
+msgstr "My house has many extra rooms\nso I converted it to a hotel.\nPlease be respectful of our guests."
+
+msgid "MAP204_NPC_5"
+msgstr "I'm the Pokémon Buff Move Tutor. I know every buff based move that a Pokémon can learn using ancient secrets. If you have 4 Yellow Shards, I may be able to teach your Pokemon a new move! Wow you have the shards! Alright! I can teach your Pokemon a move. Did you want me to teach a move to your Pokemon? Which Pokémon needs tutoring? If your Pokémon need to learn a move, come back to me! Hunh? There isn't a single move that I can teach an egg. No way, I don't want to go near a Shadow Pokémon.. Sorry... It doesn't appear as if I have any move I can teach to your . Which move should I teach to your ? \PN handed over the shards in exchange. Thanks! If you need to learn some more moves, come back with the right amount of shards! If your Pokémon need to learn a move, come back to me! If your Pokémon need to learn a move, come back to me! Come back when you have 4 of each shard and I'll help your Pokemon out!"
+
+msgid "MAP204_NPC_6"
+msgstr "I am one that is called Juunin.\nI attack by throwing Frynai, like knives! Our former boss Hokage is upstairs.\nSince losing to you, he has dedicated himself to training. He wishes to surpass you, I think."
+
+msgid "MAP204_NPC_7"
+msgstr "Hello. I am Ronin.\nThe Wave Clan is like my family. In the ancient days, the Nami clan\nruled all of the East Tandor Sea.\nNow, the ocean is a haven for pirates... Perhaps things would be better\nif we were in control again?"
+
+msgid "MAP204_NPC_8"
+msgstr "...So. You have arrived to see me\nat my very lowest point.\nStricken by my shameful defeat...\nso easily overcome by a child...\nI cannot show my face outside\nmy village until I have mastered the\nSix Sacred Arts under Grandmaster Yoshitaka. But, so long as his ace disciples\nare scattered to the winds,\nmy training remains incomplete.\nI must grow stronger...! You and I will have our fated rematch.\nOne day..."
+
+msgid "MAP204_NPC_9"
+msgstr "How am I to describe the\nSupreme Leaders?\nWell, to put it simply...\nThey are the spiritual, political, and historical foundation of Tsukinami. Without them, we would not know peace. They are truly blessed by the Gods."
+
+msgid "MAP206_SIGN_1"
+msgstr "Theo: Brrrrr!\nThis is it, \PN!\nWe've just gotta go straight forward, and we'll complete the trial!\nCome on, let's go!"
+
+msgid "MAP206_TRAINER_1"
+msgstr "You have pushed forward, undertaken many arduous tasks, and finally arrived at the truth. This will be your final trial. You are not allowed to use any items when we battle. Simply put your trust in your Pokémon's abilities and move forward without any hesitation!"
+
+msgid "MAP206_TRAINER_1_DEFEAT"
+msgstr "Well done."
+
+msgid "MAP207_NPC_1"
+msgstr "bCICERO:/b How do we distinguish between reality and Dream?"
+
+msgid "MAP207_NPC_2"
+msgstr "bANTIPHON:/b Did you know: In dream, the soul leaves the sleeping body?"
+
+msgid "MAP207_NPC_3"
+msgstr "bARISTOTLE: /b Utility. Delight. Virtue.\nThese are the traits of friendship. \PN received. . . something. . . but it turns to dust in your hands. You have a sudden vision of something changing behind Rosalind's Gym."
+
+msgid "MAP207_SIGN_1"
+msgstr "There's a Chyinmunk sleeping in the tea."
+
+msgid "MAP207_SIGN_2"
+msgstr "^^^"
+
+msgid "MAP208_NPC_1"
+msgstr "You have a sudden vision of something changing on Route 13."
+
+msgid "MAP209_NPC_1"
+msgstr "Welcome to the holiday resort!\nAnd you're the star! Stay a while...or stay forever. Just blow on the conch shell\nif you need anything."
+
+msgid "MAP209_SIGN_1"
+msgstr "The sands of time are running out for you..."
+
+msgid "MAP210_NPC_1"
+msgstr "Sometimes sacrifices have to be made. Sometimes hard work goes up in flames. But sometimes the flames of death can become the light of salvation. If you meet a Pokémon named Antarki, know that you can trust him."
+
+msgid "MAP212_SIGN_1"
+msgstr "One side will make you grow taller, and the other side \nwill make you grow shorter."
+
+msgid "MAP213_NPC_1"
+msgstr "Something lit up the scene!"
+
+msgid "MAP213_NPC_2"
+msgstr "Something lit up the scene!"
+
+msgid "MAP213_NPC_3"
+msgstr "Something lit up the scene!"
+
+msgid "MAP213_NPC_4"
+msgstr "Something lit up the scene!"
+
+msgid "MAP213_NPC_5"
+msgstr "You have a sudden vision of something changing on Route 13."
+
+msgid "MAP213_NPC_6"
+msgstr "Reunite the visions. Reunite wind and water. Reunite dreamer and blood, dreamer and breath. "
+
+msgid "MAP213_NPC_7"
+msgstr "Reunite the memories. Reunite East and West. Reunite dreamer and family."
+
+msgid "MAP213_NPC_8"
+msgstr "You have a sudden vision of something changing on Route 13."
+
+msgid "MAP213_NPC_9"
+msgstr "Musharna makes noises of discomfort."
+
+msgid "MAP213_SIGN_1"
+msgstr ""
+
+msgid "MAP213_SIGN_2"
+msgstr "An eye stares at you where no eye is sculpted."
+
+msgid "MAP213_SIGN_3"
+msgstr ""Come! Here, Masking! Heeeere, Masking!""
+
+msgid "MAP214_NPC_1"
+msgstr "She's trapped in there!\nWhen you try to break the glass, your arm feels exceedingly slow and heavy. You can't work up a proper strike."
+
+msgid "MAP214_SIGN_1"
+msgstr "There aren't any functioning buttons. There's no way \nto release Fennel."
+
+msgid "MAP214_SIGN_2"
+msgstr "The letters are unreadable, but you remember \neverything."
+
+msgid "MAP216_NPC_1"
+msgstr "You have a sudden vision of something changing behind Rosalind's Gym."
+
+msgid "MAP216_NPC_2"
+msgstr "You have a sudden vision of something changing near Fennel's hotel room in Tsukinami."
+
+msgid "MAP216_SIGN_1"
+msgstr "A nightstand containing one book. Most of the text is \ngarbled, but you make out one line: \n"For all life is a \ndream, and dreams themselves are only dreams.""
+
+msgid "MAP216_SIGN_2"
+msgstr "The mantelpiece glows softly. There is writing \nunderneath:\n"Zenith doth depend upon a most auspicious \nstar."\n"Lead me, like a firebrand in the dark.""
+
+msgid "MAP216_SIGN_3"
+msgstr "The mantelpiece glows softly. There is writing \nunderneath:\n"Lead me, like a firebrand in the dark."\n"Zenith doth depend upon a most auspicious \nstar.""
+
+msgid "MAP216_SIGN_4"
+msgstr "The mantelpiece glows softly. There is writing \nunderneath:\n"Lead me, like a firebrand in the dark."\n"Zenith doth depend upon a most auspicious \nstar.""
+
+msgid "MAP216_SIGN_5"
+msgstr "The mantelpiece glows softly. There is writing \nunderneath:\n"Zenith doth depend upon a most auspicious \nstar."\n"Lead me, like a firebrand in the dark.""
+
+msgid "MAP217_SIGN_1"
+msgstr "The text changes even as you stare at it. Your eyes \nwater.\nYou think you can make out a capital T"
+
diff --git a/Dialogue/Generated/en/HandFixes.po b/Dialogue/Generated/en/HandFixes.po
new file mode 100644
index 000000000..6cd723be1
--- /dev/null
+++ b/Dialogue/Generated/en/HandFixes.po
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: en\n"
+
+msgid "PASSAGE_CAVE_TRAINER_1_DEFEATED"
+msgstr "Owww!"
+
+msgid "PASSAGE_CAVE_TRAINER_2_DEFEATED"
+msgstr "Urk...!"
+
+msgid "PASSAGE_CAVE_TRAINER_3_DEFEATED"
+msgstr "Aaaaargh!"
diff --git a/Dialogue/Generated/en/Maps.po b/Dialogue/Generated/en/Maps.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/en/NPC.po b/Dialogue/Generated/en/NPC.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/en/Objects.po b/Dialogue/Generated/en/Objects.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/en/UI.po b/Dialogue/Generated/en/UI.po
old mode 100755
new mode 100644
diff --git a/Dialogue/Generated/es/GenMaps.po b/Dialogue/Generated/es/GenMaps.po
new file mode 100644
index 000000000..be8b4b662
--- /dev/null
+++ b/Dialogue/Generated/es/GenMaps.po
@@ -0,0 +1,4123 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "MAP001_NPC_1"
+msgstr "Sé que sólo soy un Campista, ¡pero es una gran sensación volver al pueblo después de tantos combates!"
+
+msgid "MAP001_NPC_2"
+msgstr "Barullo es encantador. No te conozco, ¡pero seguro estarás de acuerdo conmigo!"
+
+msgid "MAP002_NPC_1"
+msgstr "Oye, tú. Si, tú. No, no quiero un combate, pero escúchame. El líder de gimnasio de por aquí es muy fuerte. No lo subestimes, no es como María de Ciudad Tecuelo. Davern utiliza los tipo Tierra, Agua, Roca y Siniestro. Es algo difícil prepararse para él. Acabo de perder en el Gimnasio. Recuerda abastecerte bien antes de enfrentarlo."
+
+msgid "MAP002_NPC_2"
+msgstr "¿Por qué se le llama PUEBLO Barullo? ¡Deberíamos ser llamados Ciudad, somos la mejor Ciudad de todas!\n¡Orgullo Barullo! ¡Orgullo Barullo!"
+
+msgid "MAP003_NPC_1"
+msgstr "¡El nuevo tren subterráneo de Tándor es una maravilla moderna! ¡No puedo esperar a pasear en él!"
+
+msgid "MAP004_NPC_1"
+msgstr "Es una lástima... hay tantas cosas aquí, pero solo puedo comprar como ocho objetos distintos. ¿Qué hay de divertido en eso?"
+
+msgid "MAP004_NPC_2"
+msgstr "Escribí una canción acerca de las Superballs y lo geniales que son. ¿Quieres oírla?...\n¿No?"
+
+msgid "MAP006_NPC_1"
+msgstr "A veces me pregunto a mí misma...\n¿Qué estoy esperando?\nY entonces recuerdo: espero a que llegue el tren. ¡Dah!"
+
+msgid "MAP007_SIGN_1"
+msgstr "Cueva Cometa, Pueblo Lionte adelante."
+
+msgid "MAP007_TRAINER_1"
+msgstr "Oooh wow, ¡este está preservado casi a la perfección! Debe ser lo que quedó de un flujo de lava, esculpido por el océano... Puedo ver las marcas que dejó su pelaje. ¿Qué haces aquí? Este es un descubrimiento muy importante para la paleontología, y es mío, ¡¡solo mío!! ...\n...Bueno, aunque, en cierta forma te seguí hasta acá. Te diré algo: Si me puedes vencer en un combate Pokémon, dejaré que te lleves uno de los fósiles. ...De acuerdo, tú ganas. Estos son fósiles de dos Pokémon mamíferos que vivieron hace 50,000 años. El primero era conocido por sus ataques rápidos como el rayo, y el segundo tenía la fuerza y poder de un enorme glaciar. Si lo llevas al laboratorio en Lionte, recuerda que tienen la tecnología para revivirlo. Creo que me quedaré en esta cueva con mi fósil... para siempre. Así eeessss, mi preciooosssooo, nunca nos separaremos..."
+
+msgid "MAP007_TRAINER_1_DEFEAT"
+msgstr "Mis fósiles..."
+
+msgid "MAP008_NPC_1"
+msgstr "Te debo una. Pero ten cuidado.\nCreo que puede haber más de esas cosas en esta playa..."
+
+msgid "MAP008_NPC_2"
+msgstr "¡Alto ahí, Entrenador! ¿Notaste que esta ruta es una gran extensión de arena? No bajes la guardia - ¡Hay Pokémon escondiéndose por todas partes! Te atacarán como si estuvieras en zonas de hierba alta, ¡tal vez necesites esto si estás en apuros!"
+
+msgid "MAP008_NPC_3"
+msgstr "¡A buena hora!\n¡Hagámoslo!"
+
+msgid "MAP008_NPC_4"
+msgstr "¡A buena hora!\n¡Hagámoslo!"
+
+msgid "MAP008_SIGN_1"
+msgstr "Barco a Pueblo Viñedo."
+
+msgid "MAP008_SIGN_2"
+msgstr "Carpa de Superentrenamiento\nTutor: Ayumi"
+
+msgid "MAP008_TRAINER_1"
+msgstr "¡Oye n00b! ¿Quieres ver mi increíble p0d3r? ¡A pelear!"
+
+msgid "MAP008_TRAINER_1_DEFEAT"
+msgstr "¡...H4ck3r!"
+
+msgid "MAP008_TRAINER_2"
+msgstr "El océano tiene especies de Pokémon diferentes a los de agua dulce. ¡Te mostraré lo que he capturado!"
+
+msgid "MAP008_TRAINER_2_DEFEAT"
+msgstr "L-los tuyos también son geniales..."
+
+msgid "MAP008_TRAINER_3"
+msgstr "¡Hey! Esta playa es encantadora, ¿No te parece? Es muy escénica, ¡y tiene todo tipo de Pokémon interesantes! ¡Vamos a combatir!"
+
+msgid "MAP008_TRAINER_3_DEFEAT"
+msgstr "Gran combate, viejo."
+
+msgid "MAP008_TRAINER_4"
+msgstr "Yo no deseo iniciar ningún conflicto. Por ende, te daré una elección. ¿Te gustaría tener un duelo? Entonces, ¡que inicie el combate! Está bien. Esperaré, por si decides desafiarme luego."
+
+msgid "MAP008_TRAINER_4_DEFEAT"
+msgstr "Al parecer, aún tengo mucho que aprender."
+
+msgid "MAP008_TRAINER_5"
+msgstr "¡Hai-yah! ¡Usaré mis habilidades de judo para despedazar a tus Pokémon!"
+
+msgid "MAP008_TRAINER_5_DEFEAT"
+msgstr "¿Q-qué? ¡Pero soy Cinta Negra! ¿Cómo pude perder?"
+
+msgid "MAP008_TRAINER_6"
+msgstr "En el océano, o nadas o te hundes. ¡Es igual con los Combates Pokémon!"
+
+msgid "MAP008_TRAINER_6_DEFEAT"
+msgstr "¡Glub glub!"
+
+msgid "MAP008_TRAINER_7"
+msgstr "Teo: ¡Hey! ¿Es ese quien creo que es? ¡Sí! ¡Es PN! Así que... sobreviviste el viaje hasta acá, ¿eh? ¿Qué es eso que tienes ahí? Es esa cosa traductora, ¿no? ¡Sí! Bamb'o me llamó para comentarme sobre eso, ¡y luego me envió uno! ¡Ahora los dos podemos entender a los Pokémon! ¿Genial, no? D-.de todas formas, me apresuré con Lionte. ¡Qué pueblo tan aburrido! Y he estado entrenando desde entonces. ¡Venceré a la Líder de Gimnasio antes que tú, PN! Pero antes, ¡te derrotaré! ¡No creas que será fácil sólo por lo que pasó en la Cueva Cometa! *sniff* A-.Argh... ¡N-. N-. N-. No me importa lo que pase! ¡Mis Pokémon son los más fuertes! ¡Solo estaban débiles por todos los combates que habíamos tenido antes de ti! D-.de todas formas, s-.sí obtuvieron algo de experiencia de este combate... ¡Ya sé! ¡Desafiaré ya a la Líder de Gimnasio! ¡Y te superaré, PN! ¡Tú solo observa! *sniff* A-.Argh... ¡N-. N-. N-. No me importa lo que pase! ¡Mis Pokémon son los más fuertes! ¡Solo estaban débiles por todos los combates que habíamos tenido antes de ti! D-.de todas formas, s-.sí obtuvieron algo de experiencia de este combate... ¡Ya sé! ¡Desafiaré ya a la Líder de Gimnasio! ¡Y te superaré, PN! ¡Tú solo observa! *sniff* A-.Argh... ¡N-. N-. N-. No me importa lo que pase! ¡Mis Pokémon son los más fuertes! ¡Solo estaban débiles por todos los combates que habíamos tenido antes de ti! D-.de todas formas, s-.sí obtuvieron algo de experiencia de este combate... ¡Ya sé! ¡Desafiaré ya a la Líder de Gimnasio! ¡Y te superaré, PN! ¡Tú solo observa!"
+
+msgid "MAP008_TRAINER_7_DEFEAT"
+msgstr "¡Raargh! ¡Elegí al inicial equivocado!"
+
+msgid "MAP012_NPC_1"
+msgstr "La puerta está cerrada con llave.\nHay una nota...... \n\"Cerrado Temporalmente\nDebido a una Emergencia\""
+
+msgid "MAP012_NPC_2"
+msgstr "Se dice que las montañas por aquí son infranqueables. Sin embargo, ¡Estoy determinado a escalarlas!"
+
+msgid "MAP012_NPC_3"
+msgstr "¿Sabías que Tándor fue formado por dos volcanes? Ambos están dormidos ahora, pero la Liga Regional se lleva a cabo sobre uno de ellos."
+
+msgid "MAP012_NPC_4"
+msgstr "Es impresionante cómo funciona la economía cuando la mitad de la población en una región son Entrenadores. ¡Entrenadores que no trabajan! ¿Cómo comeríamos sin la ayuda de los Pokémon?"
+
+msgid "MAP012_NPC_5"
+msgstr "Cuando era joven, vivía en la gran ciudad. Ahora, prefiero vivir aquí en el tranquilo campo."
+
+msgid "MAP012_NPC_6"
+msgstr "He vivido en Pueblo Lionte desde que era niña. Sí es cierto que vivir en las montañas no es fácil, ¡pero soy tan sana y fuerte como cualquier jovencita, jujuju!"
+
+msgid "MAP012_NPC_7"
+msgstr "La Profesora Cypress vive aquí en Lionte. Escuché que ha hecho todo tipo de proyectos para mejorar la comunicación entre humanos y Pokémon. ¡Lo que hace es impresionante!"
+
+msgid "MAP012_NPC_8"
+msgstr "¡Luuuooooooo!"
+
+msgid "MAP012_SIGN_1"
+msgstr "Ruta 06. ¡Recuerden traer Pociones! ¡Es un viaje largo!"
+
+msgid "MAP012_SIGN_2"
+msgstr "Laboratorio Cypress de\nInvestigación Pokémon"
+
+msgid "MAP012_SIGN_3"
+msgstr "Bienvenidos a Lionte. ¡Cuidado con el desprendimiento de rocas!"
+
+msgid "MAP013_NPC_1"
+msgstr "Soy una enfermera en entrenamiento. Estoy de interina en este Centro Pokémon para aprender más sobre el cuidado y tratamiento de los Pokémon. Asegúrate de cuidar bien de tus Pokémon. Podemos sanar casi toda herida, pero hay cosas que nuestras máquinas no pueden curar."
+
+msgid "MAP013_NPC_2"
+msgstr "Este pueblo es tan tranquilo que casi asusta. Algunos consideran relajante la soledad. En cuanto a mí, ya quiero irme a ciudad Miraplaya y al próximo Gimnasio."
+
+msgid "MAP017_TRAINER_1"
+msgstr "¡Ey, enclenque! ¿Qué tal un combate de ingenio? ¿No? ¿Qué tal un combate Pokémon?"
+
+msgid "MAP017_TRAINER_1_DEFEAT"
+msgstr "...Buen trabajo."
+
+msgid "MAP017_TRAINER_2"
+msgstr "¿Sabes cómo se formó esta cueva? Qué importa, ¡combatamos!"
+
+msgid "MAP017_TRAINER_2_DEFEAT"
+msgstr "Buena esa, joven."
+
+msgid "MAP017_TRAINER_3"
+msgstr "¡Hey! ¡Estoy cavando! ¡Búscate tu propia cueva!"
+
+msgid "MAP017_TRAINER_3_DEFEAT"
+msgstr "Supongo que es una cueva abierta a cualquiera..."
+
+msgid "MAP017_TRAINER_4"
+msgstr "Dicen que entrenar en ambientes extremos te fortalece. ¡Lánzame lo que sea!"
+
+msgid "MAP017_TRAINER_4_DEFEAT"
+msgstr "Hmm, tal vez no sea suficiente entrenar en cuevas..."
+
+msgid "MAP018_NPC_1"
+msgstr "Repórtate a Kellyn para los detalles de la misión."
+
+msgid "MAP018_NPC_2"
+msgstr "Repórtate a Kellyn para los detalles de la misión."
+
+msgid "MAP018_NPC_3"
+msgstr "Es importante mantener sanos a tus Pokémon al combatir los tipo Nuclear. Las cortadas y los rasguños se infectan más seguido."
+
+msgid "MAP018_NPC_4"
+msgstr "Nuestro deber es apaciguar a los Pokémon Nucleares y evitar que pasen la barrera. Además, tenemos información de Rangers que han descubierto personas y Pokémon que están en peligro. Debemos rescatarlos. Empirilla y yo nos adelantaremos. ¡Adelante!"
+
+msgid "MAP018_NPC_5"
+msgstr "Tenemos medicina a la mano para tratar a aquellos afectados por la radiación."
+
+msgid "MAP018_NPC_6"
+msgstr "Mis Pokémon de Acero y yo les ayudaremos a combatir esos Pokémon tipo Nuclear. El Acero es el único tipo además del Nuclear que resiste los ataques Nucleares."
+
+msgid "MAP018_NPC_7"
+msgstr "El credo del Pokémon Ranger es proteger a la naturaleza, los Pokémon y las personas. Estamos dispuestos a arriesgar nuestras vidas para lograrlo."
+
+msgid "MAP018_NPC_8"
+msgstr "Mantén a tus Pokémon sanos, ¿quedó claro? Oh, también puedes tener esto. ¡Ten cuidado!"
+
+msgid "MAP018_NPC_9"
+msgstr "¡Owten!"
+
+msgid "MAP020_NPC_1"
+msgstr "Felicidades por conseguir las 8 Medallas.\n¡Calle Victoria y el Campeonato te esperan!"
+
+msgid "MAP020_NPC_2"
+msgstr "La Calle Victoria actualmente está cerrada. Se abrirá cuando comience el Campeonato de Tándor."
+
+msgid "MAP020_SIGN_1"
+msgstr "Felicidades por conseguir las 8 Medallas.\n¡Calle Victoria y el Campeonato te esperan!"
+
+msgid "MAP021_NPC_1"
+msgstr "¡Ah, eres tú! Estábamos cuidando a tus Pokémon, y, ¡dios mío, qué sorpresa más grande! ¡Tus Pokémon han tenido un huevo! No tenemos idea de cómo ha llegado allí, pero tu Pokémon lo tenía. Deseas conservarlo, ¿no? No tienes espacio en tu equipo para ponerlo. Vuelve cuando hayas hecho un lugar. PN recibió el Huevo del Encargado de la Guardería. Cuídalo muy bien. Si no lo quieres, de veras me lo quedaré. ¿Quieres llevarte este huevo? Bueno, entonces me lo quedaré. ¡Gracias! Soy el Encargado de la Guardería. Ayudo a cuidar los preciosos Pokémon de los Entrenadores. Si gustas que críe a tu Pokémon, ve a hablar con mi esposa. ¡Ah, eres tú! Que bueno verte. Tu está bien. ¡Ah, eres tú! Tu y tu están bien. Ambos prefieren jugar con otros Pokémon que con el otro. No parecen agradarse mucho. Parecen agradarse. Parecen disfrutar mucho la compañía del otro."
+
+msgid "MAP021_SIGN_1"
+msgstr "- Pueblo Valeón, Ruta 06\nPueblo Lionte al este"
+
+msgid "MAP021_SIGN_2"
+msgstr "Guardería Pokémon de Tándor Occidental."
+
+msgid "MAP021_TRAINER_1"
+msgstr "¡Caramba! ¿Sientes el calor?"
+
+msgid "MAP021_TRAINER_1_DEFEAT"
+msgstr "¡Qué abrasador!"
+
+msgid "MAP021_TRAINER_2"
+msgstr "¡Oye, Entrenador! ¡Mis Pokémon quieren combatir con los tuyos!"
+
+msgid "MAP021_TRAINER_2_DEFEAT"
+msgstr "¡Vaya, que fuerte!"
+
+msgid "MAP021_TRAINER_3"
+msgstr "¿Sabías por qué esta ruta se llama Valle Pasión?"
+
+msgid "MAP021_TRAINER_3_DEFEAT"
+msgstr "Bueno, te cuento..."
+
+msgid "MAP021_TRAINER_4"
+msgstr "¡Alto ahí! ¿Eres tú quien ha estado robando mi equipo de investigación?"
+
+msgid "MAP021_TRAINER_4_DEFEAT"
+msgstr "Oh, ¿no has sido tú? ¡Mis disculpas!"
+
+msgid "MAP022_NPC_1"
+msgstr "No te preocupes, ¡no pienso combatir! ¿Que qué hago? Solo estoy escalando. ¿No te parece refrescante este aire de montaña?"
+
+msgid "MAP022_NPC_10"
+msgstr "¡Owten! ¡Ow! ¡Tú no venir aquí!\nHumanos... ¡Malos! (Parecen decididos a quedarse aquí.)"
+
+msgid "MAP022_NPC_2"
+msgstr "Ay, rayos... Perdí un combate y ahora intento regresar al Centro Pokémon... ¡Pero no encuentro el camino!"
+
+msgid "MAP022_NPC_3"
+msgstr "¡Ow! ¡Owten! ...\n¡PN usó el TLP! ¡Cómo te atreves a secuestrarme!\n¡Toma esto!"
+
+msgid "MAP022_NPC_4"
+msgstr "Lo sentimos, pero el acceso a esta zona está restringido. La sede del Campeonato de Tándor está en trabajos de construcción."
+
+msgid "MAP022_NPC_5"
+msgstr "Lo sentimos, pero el acceso a esta zona está restringido. La sede del Campeonato de Tándor está en trabajos de construcción."
+
+msgid "MAP022_NPC_6"
+msgstr "Lo sentimos, pero el acceso a esta zona está restringido. La sede del Campeonato de Tándor está en trabajos de construcción."
+
+msgid "MAP022_NPC_7"
+msgstr "¡Owten! ¡Ow! ¡Tú no venir aquí!\nHumanos... ¡Malos! (Parecen decididos a quedarse aquí.)"
+
+msgid "MAP022_NPC_8"
+msgstr "¡Owten! ¡Ow! ¡Tú no venir aquí!\nHumanos... ¡Malos! (Parecen decididos a quedarse aquí.)"
+
+msgid "MAP022_NPC_9"
+msgstr "¡Owten! ¡Ow! ¡Tú no venir aquí!\nHumanos... ¡Malos! (Parecen decididos a quedarse aquí.)"
+
+msgid "MAP022_SIGN_1"
+msgstr "- Pueblo Valeón\n- Monte Actínido y sede del Campeonato Regional de Tándor"
+
+msgid "MAP022_SIGN_2"
+msgstr "Túnel Onte. Hacia el Litoral de Tándor y Ciudad Miraplaya"
+
+msgid "MAP022_TRAINER_1"
+msgstr "No hay nada como una batallita en la mañana, ¿no? ¡Vamos!"
+
+msgid "MAP022_TRAINER_10"
+msgstr "¡Ey, hermano! Que te digo, tienes que dar todo lo que tienes, ¿entiendes?"
+
+msgid "MAP022_TRAINER_10_DEFEAT"
+msgstr "¡Guuuaaauu! ¡De lo mejor, compadre! Radical."
+
+msgid "MAP022_TRAINER_11"
+msgstr "Ven, joven. Te daré una lección especial sobre lo que es Entrenar Pokémon."
+
+msgid "MAP022_TRAINER_11_DEFEAT"
+msgstr "Esta ha sido una valiosa etapa en tu desarrollo."
+
+msgid "MAP022_TRAINER_12"
+msgstr "...No, ni una mordida. Bah, ¡desahogaré toda mi rabia irracional CONTIGO!"
+
+msgid "MAP022_TRAINER_12_DEFEAT"
+msgstr "Creo que ya me calmé."
+
+msgid "MAP022_TRAINER_13"
+msgstr "¿Qué tipo de cebo usas para pescar? Vamos, ¡tengamos un combate de pesca!"
+
+msgid "MAP022_TRAINER_13_DEFEAT"
+msgstr "Cabeza hueca, ¡dije DE PESCA!"
+
+msgid "MAP022_TRAINER_14"
+msgstr "Me gusta entrenar Pokémon tipo Bicho.\n¿Eso me convierte en un Cazabichos? Tú dime."
+
+msgid "MAP022_TRAINER_14_DEFEAT"
+msgstr "Aww, perdí. Hey, ¡nunca respondiste mi pregunta!"
+
+msgid "MAP022_TRAINER_15"
+msgstr "¡Tengo una hermanita recién nacida! ¿Quieres ver su foto?"
+
+msgid "MAP022_TRAINER_15_DEFEAT"
+msgstr "¡¿Cuál es tu problema?!"
+
+msgid "MAP022_TRAINER_16"
+msgstr "Hemos entrado en un bucle temporal infinito."
+
+msgid "MAP022_TRAINER_16_DEFEAT"
+msgstr "Hemos entrado en un bucle temporal infinito."
+
+msgid "MAP022_TRAINER_17"
+msgstr "Me gusta usar pantalones cortos. Son bastante cómodos."
+
+msgid "MAP022_TRAINER_17_DEFEAT"
+msgstr "Aunque, si vas a escalar, yo no recomendaría usarlos."
+
+msgid "MAP022_TRAINER_1_DEFEAT"
+msgstr "Puede que esto me haya arruinado el día..."
+
+msgid "MAP022_TRAINER_2"
+msgstr "Estoy atrapando Pokémon para la profesora, pero me aburre. ¿Un combate?"
+
+msgid "MAP022_TRAINER_2_DEFEAT"
+msgstr "Ohh... De vuelta al pueblo a curar a mis Pokémon."
+
+msgid "MAP022_TRAINER_3"
+msgstr "¡Soy Leñador, y tengo energía! ¡Trabajo de noche y combato de día!"
+
+msgid "MAP022_TRAINER_3_DEFEAT"
+msgstr "¡Y entra el coro! \"Él es un leñador...\""
+
+msgid "MAP022_TRAINER_4"
+msgstr "¡Hey, Entrenador! En el momento en que nuestros ojos se encontraron... ¡Supe que nuestro destino era combatir!"
+
+msgid "MAP022_TRAINER_4_DEFEAT"
+msgstr "Tal vez estaba destinado a perder."
+
+msgid "MAP022_TRAINER_5"
+msgstr "He estado buscando un saco de boxeo para entrenar a mis Pokémon. Los tuyos deberían servir."
+
+msgid "MAP022_TRAINER_5_DEFEAT"
+msgstr "¡¿Cómo... cómo te atreves?!"
+
+msgid "MAP022_TRAINER_6"
+msgstr "Ok, ¿quién eres? Luces ~adorable~. Me ENCANTA tu camisa. Oh, ¿quieres combatir?"
+
+msgid "MAP022_TRAINER_6_DEFEAT"
+msgstr "¡Ah!~ ¡Me han superado!~"
+
+msgid "MAP022_TRAINER_7"
+msgstr "Me encantan los videojuegos. Pokémon es uno muy bueno. ¿Quieres jugar?"
+
+msgid "MAP022_TRAINER_7_DEFEAT"
+msgstr "Wow, eres bueno en Pokémon."
+
+msgid "MAP022_TRAINER_8"
+msgstr "¡Oh, hola, cariño! ¿Cómo va todo, mi amor? Espera, tú no--"
+
+msgid "MAP022_TRAINER_8_DEFEAT"
+msgstr "Buen combate, pero..."
+
+msgid "MAP022_TRAINER_9"
+msgstr "Jeje. Los Bichos son geniales. Jeje."
+
+msgid "MAP022_TRAINER_9_DEFEAT"
+msgstr "¿Qué demonios...?"
+
+msgid "MAP024_NPC_1"
+msgstr "Oí que la ruta al Gimnasio Nevisca es larga y peligrosa... Mejor me abastezco bien. Necesitarás ropa más cálida si planeas enfrentarte a la tundra helada que es la Ruta 16."
+
+msgid "MAP024_NPC_2"
+msgstr "Oí que hay un Pokémon legendario en el corazón del Monte Lantánido. Planeo capturarlo. La Ruta 16 está en las faldas del Monte Lantánido, una de las dos grandes montañas de Tándor."
+
+msgid "MAP024_NPC_3"
+msgstr "Estoy inspeccionando este pueblo en busca de actividades sospechosas por parte de la entidad responsable de los ataques a las plantas nucleares. Tándor Oriental tiene su propia planta nuclear. Creemos que está en riesgo tras la destrucción de las plantas en Tándor Occidental. Todo el escuadrón Ranger en el área está en estado de alerta."
+
+msgid "MAP025_NPC_1"
+msgstr "¡Hola! No creo haberte visto antes por aquí. ¿Eres un Entrenador, verdad? Bueno, ¡entonces has llegado al lugar correcto! Verás, nosotros cuidamos de los Pokémon de los Entrenadores. ¡Déjalos con nosotros, y cuando vuelvas serán más grandes y fuertes! Si dejas a dos Pokémon compatibles, ¡tal vez produzcan un huevo! Ahora bien..."
+
+msgid "MAP026_NPC_1"
+msgstr "Soy paramédico. Respondo a emergencias en la montaña, para rescatar a gente de derrumbes y cosas por el estilo. Si escuchas las alarmas de avalancha, ¡asegúrate de ir a un lugar seguro!"
+
+msgid "MAP026_NPC_2"
+msgstr "Quería usar la Megaevolución... Traté de vencer al Gimnasio, pero me dijeron que no era lo suficientemente sabio, o algo así. Oí que hay cinco pruebas que debes pasar en el Gimnasio, ¡pero no logro pasar la primera!"
+
+msgid "MAP026_NPC_3"
+msgstr "Rayos... ¡Patearon mi trasero\nen ese Gimnasio!\nComo si los vientos gélidos no fueran suficiente, ¡los Entrenadores son brutales!"
+
+msgid "MAP027_NPC_1"
+msgstr "Dejé a un Pokémon en la Guardería y me olvidé de él por un tiempo. Cuando regresé, ¡había subido muchos niveles!"
+
+msgid "MAP027_NPC_2"
+msgstr "La sierra montañosa protege a esta ruta de la lluvia radiactiva. Sin embargo, lo que ocurrió es un desastre..."
+
+msgid "MAP029_NPC_1"
+msgstr "Estamos aprendiendo sobre la evolución. ¿Sabías que los iniciales oficiales de Tándor solo evolucionan una vez, a diferencia de la mayoría de iniciales oficiales que evolucionan dos? Oí que hay un profesor que estudia la evolución en alguna parte. Algo así como el Profesor Bamb'o, ¿No? ¿Cómo se llamaba? Roble, o algo así..."
+
+msgid "MAP029_NPC_2"
+msgstr "¿Has oído sobre el Debate? ¡Es una actividad genial! Este año, estamos debatiendo sobre si exigir una edad mínima a los Entrenadores Pokémon. Creo que es peligroso que los niños simplemente dejen su casa y se aventuren como tú."
+
+msgid "MAP029_NPC_3"
+msgstr "Soy la maestra de esta escuela. Es increíble ver lo interesados que se ven los niños en aprender. Nunca los había visto así antes. Espero que estés al día con tus estudios, incluso si estás en una aventura."
+
+msgid "MAP029_NPC_4"
+msgstr "¡El equipo deportivo de nuestra escuela es el más fuerte por aquí! ¡Podemos vencer a Moki o Kevlar con las manos atadas! ¡Orgullo Barullo!"
+
+msgid "MAP029_NPC_5"
+msgstr "¡Oye, Entrenador! Estos chicos necesitan ayuda estudiando. Si puedes vencerlos a todos, ¡obtendrás una recompensa!"
+
+msgid "MAP029_TRAINER_1"
+msgstr "¡Oh, oye! ¿T-te molestaría, ehm, combatir? Solo para practicar, sabes. Q-qué mal..."
+
+msgid "MAP029_TRAINER_1_DEFEAT"
+msgstr "E-espero que mis Pokémon no estén heridos o algo..."
+
+msgid "MAP029_TRAINER_2"
+msgstr "¡Estoy practicando para mis clases de combate! ¿Me podrías ayudar a estudiar? Ok, ¡Aquí voy! Sabes que si repruebo es tu culpa, ¿no?"
+
+msgid "MAP029_TRAINER_2_DEFEAT"
+msgstr "...¡Guau! Eso...fue genial."
+
+msgid "MAP029_TRAINER_3"
+msgstr "Creo que si aprendo a combatir con Pokémon, ¡podría pasarme el Pokémon Edición Roja fácilmente! ¿Quieres luchar? Ok, ¡Aquí voy! ...L-Lo que sea, viejo. N-no es como si me importara."
+
+msgid "MAP029_TRAINER_3_DEFEAT"
+msgstr "...Combatir es más fácil en los juegos..."
+
+msgid "MAP033_NPC_1"
+msgstr "Chyin.. ¡Chyin!"
+
+msgid "MAP033_NPC_2"
+msgstr "¿Sabías que en este río abundan los Fortog? ¡Son Pokémon venenosos! Yo tendría Antídotos a mano si fuera tú."
+
+msgid "MAP033_TRAINER_1"
+msgstr "¡Estoy de acuerdo! ¡Los Pokémon de Agua son superiores!"
+
+msgid "MAP033_TRAINER_1_DEFEAT"
+msgstr "Bueno, bueno, tal vez no SOLO los Pokémon de Agua."
+
+msgid "MAP033_TRAINER_2"
+msgstr "Debería jugar con mis amigos en vez de estar aquí todo el día."
+
+msgid "MAP033_TRAINER_2_DEFEAT"
+msgstr "Supongo que probaré juegos nuevos."
+
+msgid "MAP033_TRAINER_3"
+msgstr "¡Oye! ¡Tú! Sí, tú, ¡por aquí! Tendremos un combate ahora mismo. ¡No, no es una pregunta!"
+
+msgid "MAP033_TRAINER_3_DEFEAT"
+msgstr "¡Guaao! ¡Eso fue brutal!"
+
+msgid "MAP033_TRAINER_4"
+msgstr "¡Oh, hey! ¡PN! ¡Tengo un nuevo Pokémon y quiero ver cómo le va!"
+
+msgid "MAP033_TRAINER_4_DEFEAT"
+msgstr "Ah, no es tan fuerte como esperaba..."
+
+msgid "MAP033_TRAINER_5"
+msgstr "¡Sal de mi camino!"
+
+msgid "MAP033_TRAINER_5_DEFEAT"
+msgstr "¡Corre, corre, corre!"
+
+msgid "MAP033_TRAINER_6"
+msgstr "Los Pokémon tipo Agua son los mejores."
+
+msgid "MAP033_TRAINER_6_DEFEAT"
+msgstr "Er... Los otros tipos también son buenos..."
+
+msgid "MAP033_TRAINER_7"
+msgstr "¡Las damas también podemos ser buenas Entrenadoras!"
+
+msgid "MAP033_TRAINER_7_DEFEAT"
+msgstr "Eres un joven fuerte..."
+
+msgid "MAP033_TRAINER_8"
+msgstr "¡No huyas de mí!"
+
+msgid "MAP033_TRAINER_8_DEFEAT"
+msgstr "¡Oh pamplinas! ¡Perdí!"
+
+msgid "MAP033_TRAINER_9"
+msgstr "Eres un nuevo Entrenador, ¿eh? ¡Yo también estoy empezando!"
+
+msgid "MAP033_TRAINER_9_DEFEAT"
+msgstr "Cualquiera puede ser un Entrenador, pero algunas personas parecen más hechas para eso que otras, ¿no crees?"
+
+msgid "MAP037_NPC_1"
+msgstr "Estoy inspeccionando el área para construir un camino. Es muy fastidioso tener que atravesar la cueva para poder ir a alguna parte. Buena suerte, joven. Ten esto, lo necesitarás."
+
+msgid "MAP037_TRAINER_1"
+msgstr "Por alguna razón, ¡siento que es divertido atacar a Entrenadores inocentes al azar!"
+
+msgid "MAP037_TRAINER_1_DEFEAT"
+msgstr "...Supongo que a todos los matones les llega su castigo..."
+
+msgid "MAP042_NPC_1"
+msgstr "¡Buenas, Entrenador! ¿Es este tu primer Gimnasio Pokémon? ¡Debe ser muy emocionante para ti! Me llaman el Tipo del Gimnasio, ¡listo para repartir consejos a Entrenadores aspirantes a conquistar la Liga de Tándor! María es una experta del tipo Normal. El tipo normal no es supereficaz contra otros tipos, pero tiene muy pocas debilidades. Los tipo Lucha, como Mankey, son fuertes aquí. Y los tipo Acero como Orchynx y Barewl son una buena elección también, porque pueden resistir sus ataques. Si no, un ataque a toda potencia de tu Pokémon más fuerte es tu mejor opción.\n¡Buena suerte! Te estaré animando desde aquí.\nAh, y ten esto."
+
+msgid "MAP042_TRAINER_1"
+msgstr "María puede ser la primer Líder de Gimnasio, ¡pero ella solía ser Campeón! ¡Estás a años luz de derrotarla!"
+
+msgid "MAP042_TRAINER_1_DEFEAT"
+msgstr "Los años luz miden distancia, no tiempo..."
+
+msgid "MAP042_TRAINER_2"
+msgstr "¡Ja! ¿Crees que tienes lo que hace falta para vencer a María? ¡Permíteme a mí juzgar eso!"
+
+msgid "MAP042_TRAINER_2_DEFEAT"
+msgstr "Hmm. Este tiene potencial."
+
+msgid "MAP042_TRAINER_3"
+msgstr "Hola otra vez~\nCreo que no nos hemos presentado formalmente. ¿Cómo te llamas? ... ¿PN?. Me gusta~\n¡Te doy la bienvenida al Gimnasio Pokémon de Ciudad Tecuelo!~ Soy María, especialista en Pokémon tipo Normal... ¡pero ya sabes eso!\nPor supuesto, la mayoría me conoce como \"María, Campeona de Tándor\"...\nAunque esos días de mi vida ya han acabado. Ahora superviso a jóvenes Entrenadores como tú en su camino a la grandeza. El camino para ser Campeón es largo y arduo... ¿Estás preparado para afrontarlo? Tu primera prueba de todas en la Liga de Tándor... ¡comienza ahora! ¡Felicitaciones!~ Debo decir, ese espíritu que demostraste en el combate.... me recuerda a mí cuando recién estaba empezando.\nTrata de aferrarte a esa determinación, ¡y estoy segura de que te llevará muy lejos! También ten esta MT~ Mientras continúes viajando con tus Pokémon, los lazos entre ustedes se harán más estrechos. Mientras más grande sea tu amistad con tu Pokémon, ¡más poderoso será el movimiento Retribución en combate! Las MT son de uso infinito, así que siéntete libre de enseñárselas a todos los Pokémon que quieras, ¡y nunca se gastarán! La que te dí puede ser aprendida por casi todos los Pokémon. Fue divertido combatir contigo, PN. ¡Buena suerte en tu viaje!~"
+
+msgid "MAP042_TRAINER_3_DEFEAT"
+msgstr "¡Bien!~ ¡Ese es el espíritu de batalla que quería ver!\n¡Eres merecedor de esta Medalla Normal!"
+
+msgid "MAP043_NPC_1"
+msgstr "Toma demasiado trabajo ser un Entrenador Guay. Tienes que actuar guay, vestirte guay, y ser guay. Ah, y entrenar a varios Pokémon guays. Este pueblo succiona toda mi genialidad. Voy a largarme de aquí... tan pronto como mis Pokémon sean lo suficientemente fuertes para atravesar la cueva."
+
+msgid "MAP043_NPC_2"
+msgstr "Lo genial de los Centros Pokémon es que brindan a quien sea un lugar para pasar la noche. Es como un hotel gratuito, salvo que nadie te deja mentitas en tu almohada. De todas formas, ¿quién paga por construir y mantener los Centros Pokémon? No es como si generaran alguna ganancia..."
+
+msgid "MAP043_NPC_3"
+msgstr "¡Cura a tus Pokémon antes de que te vayas del pueblo! ¡Hazme caso! Nunca puedes saber cuando un rival vaya a desafiarte, especialmente cuando estás débil luego de, por ejemplo, un combate en el Gimnasio."
+
+msgid "MAP044_NPC_1"
+msgstr "Mi abuela vive en Pueblo Valeón. Ahora que el metro está abierto, puedo ir a visitarla cada fin de semana."
+
+msgid "MAP045_NPC_1"
+msgstr "Estoy esperando a que llegue el tren. ¡Pero pareciera que he estado esperando por siglos!"
+
+msgid "MAP046_NPC_1"
+msgstr "¡Saludos, saludillos! Soy el Inspector de Apodos, ¡el adivino de los nombres Pokémon! Estaría encantado de puntuar los apodos de tus Pokémon. ¿Cuál apodo debería inspeccionar? Ya veo. Vuelve otra vez. Vale, vale, mira... ¡Eso es solo un huevo! Hmmm... ¡Pues será ! ¡Qué maravilloso apodo! ¡Cuán impecable, cuán implacable! Asegúrate de querer mucho a tu de ahora en adelante. Hmmm... ¿, dices? Te has ingeniado un apodo bastante bueno. ¡Pero! ¿Qué dirías tú si yo le fuese a dar un nombre mejor? Oh, bien. Entonces, ¿cuál será el nuevo apodo? ¡Hecho! De ahora en adelante, ¡este Pokémon será conocido como ! No luce distinto que antes, y aun así, es claramente superior. ¡Qué suerte tienes! ¡Hecho! De ahora en adelante, ¡este Pokémon será conocido como ! Es un mucho mejor nombre que antes. ¡Qué suerte tienes! Ya veo. Vuelve otra vez. Ya veo. Vuelve otra vez."
+
+msgid "MAP046_NPC_10"
+msgstr "¡Hola, Entrenador!\n¿Sabes algo sobre MTs y MOs? Las MT, o Máquinas Técnicas, son objetos muy útiles que puedes usar para enseñar nuevos movimientos a tus Pokémon. Las MO, o Máquinas Ocultas, son un tipo especial de MT que pueden ayudarte a atravesar obstáculos fuera de combate. Ten, prueba usar esta MT. Esa MT contiene Atraer. ¡La mayoría de los Pokémon pueden aprenderlo! Y recuerda, ¡Las MTs y MOs pueden ser usadas todas las veces que quieras, sin gastarse! ¿Y si la usas en algunos de tus Pokémon?"
+
+msgid "MAP046_NPC_11"
+msgstr "¡Me encanta jugar Pokémon!\nTengo la Edición Azul, y mi hermana tiene la Edición Roja. ¡Así podremos atraparlos a todos!"
+
+msgid "MAP046_NPC_12"
+msgstr "Mi mami dice que no puedo tener una mascota Pokémon hasta que sea mayor.\nAsí que en vez de eso me compró un videojuego."
+
+msgid "MAP046_NPC_13"
+msgstr "La región de Tándor se divide en dos partes: Occidental y Oriental. Ahora estamos en Tándor Occidental."
+
+msgid "MAP046_NPC_2"
+msgstr "¡Buenas! He ganado algo de experiencia con los años, así que me dedico a ser Tutor de Movimientos. Veo un gran futuro delante de ti. ¡Vuelve cuando tengas algo más de experiencia y le enseñaré nuevos movimientos a tus Pokémon!\nDigamos unas... 4 medallas."
+
+msgid "MAP046_NPC_3"
+msgstr "Mi prometida quiere que tengamos niños, pero yo no estoy muy seguro.\nSimplemente no sé si seré un muy buen padre, ¿entiendes?"
+
+msgid "MAP046_NPC_4"
+msgstr "Nos mudamos a Ciudad Tecuelo para comenzar una familia con mi prometido. Pero él tiene dudas..."
+
+msgid "MAP046_NPC_5"
+msgstr "¡Hey! Pareces un Entrenador, ¡y eso significa que coleccionas Pokémon! Estoy buscando a un Fortog. Si tienes uno, te daré mi Baashaun por él. No tienes ningún Pokémon... ¡Cuida bien de él! Guau, ¡ahora tengo mi propio Fortog! No tienes ningún Fortog, supongo... ¡No vuelvas hasta tener un Fortog!"
+
+msgid "MAP046_NPC_6"
+msgstr "Te damos la bienvenida al Cuartel Ranger de Ciudad Tecuelo. ¿Buscas realizar una misión?\nLo sentimos, pero no estamos aceptando ayuda de civiles por el momento."
+
+msgid "MAP046_NPC_7"
+msgstr "¿Estás empezando tu aventura como Entrenador? ¡Ten esto! Esa Cura Total curará cualquier estado o condición, como Envenenamiento o Confusión. Úsala cuando tus Pokémon estén en un apuro. Pero, ¡ojo! Las Curas Totales no restauran los PS."
+
+msgid "MAP046_NPC_8"
+msgstr "Nosotros los Rangers somos quienes enforzamos la ley en la región de Tándor.\nLa mayoría de las ciudades tienen un Cuartel Ranger, pero el Cuartel General está en Ciudad Miraplaya."
+
+msgid "MAP046_NPC_9"
+msgstr "¿Tienes suficientes pociones para tus Pokémon?\nTen, aquí hay unas cuantas más. Una poción es una gran manera de restaurar PS en una emergencia.\nAun así, asegúrate de visitar un Centro Pokémon seguido."
+
+msgid "MAP046_SIGN_1"
+msgstr "Están dando el reporte del tiempo en la televisión.\nParece que mañana estará soleado. Hay un programa de entrevistas en la televisión.\nSe ve aburrido."
+
+msgid "MAP046_SIGN_10"
+msgstr "La televisión está emitiendo un show para niños, \"Pokémon Universe\"."
+
+msgid "MAP046_SIGN_11"
+msgstr "La televisión está emitiendo un show para niños, \"Pokémon Universe\"."
+
+msgid "MAP046_SIGN_12"
+msgstr "Hay algunos juegos de Pokémon en la computadora."
+
+msgid "MAP046_SIGN_13"
+msgstr "Este estante tiene muchos libros y álbumes de fotos."
+
+msgid "MAP046_SIGN_2"
+msgstr "Están dando el reporte del tiempo en la televisión.\nParece que mañana estará soleado. Hay un programa de entrevistas en la televisión.\nSe ve aburrido."
+
+msgid "MAP046_SIGN_3"
+msgstr "La computadora muestra la pantalla de título de un popular juego, \"Dragonite: Origins\"."
+
+msgid "MAP046_SIGN_4"
+msgstr "Te damos la bienvenida al Cuartel Ranger de Ciudad Tecuelo. ¿Buscas realizar una misión?\nLo sentimos, pero no estamos aceptando ayuda de civiles por el momento."
+
+msgid "MAP046_SIGN_5"
+msgstr "Tiene varias guías y panfletos sobre geografía y vida salvaje."
+
+msgid "MAP046_SIGN_6"
+msgstr "Tiene varias guías y panfletos sobre geografía y vida salvaje."
+
+msgid "MAP046_SIGN_7"
+msgstr "El monitor está apagado."
+
+msgid "MAP046_SIGN_8"
+msgstr "El monitor está apagado."
+
+msgid "MAP046_SIGN_9"
+msgstr "No tomes la comida del refrigerador de la señora."
+
+msgid "MAP047_NPC_1"
+msgstr "Tancoon: ¡Grrrowf!"
+
+msgid "MAP047_NPC_2"
+msgstr "Desde que conocí a Tancoon, ¡mi vida ha sido mucho mejor!\nNo puedo imaginarme la vida sin Pokémon."
+
+msgid "MAP047_SIGN_1"
+msgstr "¿Qué guarda una Líder de Gimnasio en el refrigerador? ...¡Iugh! ¡Leche agria!"
+
+msgid "MAP047_SIGN_2"
+msgstr "Hay libros desordenados en la repisa, incluyendo la autobiografía de María:\n\"¡El Camino al Campeonato!\""
+
+msgid "MAP047_SIGN_3"
+msgstr "Hay libros desordenados en la repisa, incluyendo la autobiografía de María:\n\"¡El Camino al Campeonato!\""
+
+msgid "MAP047_SIGN_4"
+msgstr "Hay un show de noticias en la TV.\n...Es muy aburrido."
+
+msgid "MAP047_SIGN_5"
+msgstr "Hay un show de noticias en la TV.\n...Es muy aburrido."
+
+msgid "MAP047_SIGN_6"
+msgstr "Por lo general no es buena idea ir revisando los refrigeradores de extraños."
+
+msgid "MAP047_SIGN_7"
+msgstr "Está repleto de libros acerca del cuidado de los Pokémon."
+
+msgid "MAP047_SIGN_8"
+msgstr "Está repleto de libros acerca del cuidado de los Pokémon."
+
+msgid "MAP048_SIGN_1"
+msgstr "Es un Nintendo Wii U.\nPero oí que estrenarán un nuevo sistema pronto."
+
+msgid "MAP048_SIGN_2"
+msgstr "Es mi cama.\nNo quiero una siesta por el momento."
+
+msgid "MAP048_SIGN_3"
+msgstr "Es mi cama.\nNo quiero una siesta por el momento."
+
+msgid "MAP048_SIGN_4"
+msgstr "Está completamente lleno de libros sobre Pokémon. \"Mi Owten y Yo\",\n\"La Aventura de Jerbolta\",\n\"Buscando los Legendarios\". Los he leído varias veces."
+
+msgid "MAP048_SIGN_5"
+msgstr "Hay un Combate Pokémon en la TV.\n¡Wow! ¡Uno de los Pokémon acaba de Megaevolucionar! Están publicitando un videojuego en la TV.\nEs un simulador de Combate Pokémon llamado \"Edición Roja y Azul\". Hay un reportaje de noticias en la TV.\nAl parecer, están construyendo una nueva Planta de Energía. ...Bueno, ¡hora de irse!"
+
+msgid "MAP048_SIGN_6"
+msgstr "Está completamente lleno de libros sobre Pokémon. \"Mi Owten y Yo\",\n\"La Aventura de Jerbolta\",\n\"Buscando los Legendarios\". Los he leído varias veces."
+
+msgid "MAP049_NPC_1"
+msgstr "¡PN, cariño!\nHoy es tu gran día, ¿no es así? No puedo evitar sentir melancolía, viendo a la criaturita que vi crecer irse de casa.\nOh, si tan solo pudiera hacer más para ayudarte en los viajes que harás. Pero ambos sabemos que eres completamente capaz. Tú y ese chico Teo....\nÉl siempre sigue tus pasos, ¿sabes?\nTú siempre has tenido habilidad, pero él, siendo aún tan joven... Bueno, estoy segura que su padre Cameron no lo dejaría ir si no confiara en que estará a salvo.\nDe todas formas, para celebrar tu gran día, te tengo un regalo.\n¡Ve y ábrelo! ... ¡PN obtuvo los Zapatos Deportivos! (Las instrucciones dicen: \"Mantén presionado Z para correr. Puedes activar el modo de auto-correr en el Menú.\") *sniff* O-oh, no te preocupes por mí....\nSolo soy una anciana sentimental.\nSi tan solo tu padre estuviera aquí...\nBueno, seguro está orgulloso de ti..\nY estoy segura que te encontrarás con él durante tu aventura. No debería retenerte más.\nEnvíale saludos al amable Profesor de mi parte, ¿sí? Y, si puedes, pasa por aquí de nuevo después de obtener a tu primer Pokémon. Me encantaría verlo. ¡Buena suerte, cariño!"
+
+msgid "MAP049_NPC_2"
+msgstr "... (No responde.) (Respira de forma lenta, como si durmiera profundamente.)"
+
+msgid "MAP049_NPC_3"
+msgstr "No descansaré hasta conseguir una cura para la condición de Lucille. Pero,. simplemente estar a su lado, sostenerla en mis brazos...\nMe basta, por ahora. Estoy tan orgulloso de ti, PN. Te has convertido en Campeón de Tándor, y nos has salvado a todos, incluída tu madre. Me recuerdas a mis días como Cadete Ranger, cuando salvé a la región de Almia. Supongo que el heroísmo corre por nuestras venas. Este ritmo de vida...\nHabía olvidado cómo se sentía.\nPasé tantos años viviendo con prisa,. corriendo de una crisis a otra sin descansar. Y... para ser sincero... mi edad me comienza a pesar en los hombros.\nYa tengo 45 años. No soy tan ágil como cuando era joven. Un descanso de la acción así es... agradable. Empirilla ya no está conmigo.\nRegresó a su hogar, la Jungla de Baykal. ¿Sabes? Pese a nuestra amistad, nunca fue mi Pokémon. Estuvo a mi lado por elección propia. Y se fue también por elección propia. Pero sé que nos volveremos a encontrar."
+
+msgid "MAP049_SIGN_1"
+msgstr "Es una TV de pantalla plana. Me gusta verla mientras ceno."
+
+msgid "MAP049_SIGN_10"
+msgstr "¡Qué escandaloso!\nEs la gaveta de calcetines de tu Tía."
+
+msgid "MAP049_SIGN_11"
+msgstr "¡Qué escandaloso!\nEs la gaveta de calcetines de tu Tía."
+
+msgid "MAP049_SIGN_12"
+msgstr "Está repleto de libros de Pokémon.\n\"Vida Pokémon\"... \"Evolución Pokémon\"... \"Filosofía de Pokémon\"... Parece que nos gustan los Pokémon."
+
+msgid "MAP049_SIGN_13"
+msgstr "Esta estantería contiene las lecturas culposas de mi Tía.\n\"El Príncipe Arcanine: ¡Un Romance en Llamas!\""
+
+msgid "MAP049_SIGN_2"
+msgstr "Es una TV de pantalla plana. Me gusta verla mientras ceno."
+
+msgid "MAP049_SIGN_3"
+msgstr "Hay un bordado colgado en la pared: \"Hogar dulce hogar\", con un corazón debajo."
+
+msgid "MAP049_SIGN_4"
+msgstr "El gabinete está lleno con platos de porcelana antigua."
+
+msgid "MAP049_SIGN_5"
+msgstr "El gabinete está lleno con platos de porcelana antigua."
+
+msgid "MAP049_SIGN_6"
+msgstr "El refrigerador. Espero no le importe si me llevo un bocadillo..."
+
+msgid "MAP049_SIGN_7"
+msgstr "El horno y el fregadero. Están limpios porque usualmente compramos comida para llevar."
+
+msgid "MAP049_SIGN_8"
+msgstr "Hay una taza de café fría en la mesa."
+
+msgid "MAP049_SIGN_9"
+msgstr "Puedo ver el laboratorio del Profesor Bamb'o desde la ventana. Me pregunto por qué su nombre se escribe tan raro."
+
+msgid "MAP050_NPC_1"
+msgstr "La bPrueba de Aptitud de Entrenador Pokémon/b clasifica a los Entrenadores en tres tipos básicos:\nDefensivo, c2=043c3affOfensivo/c2, yc2=65467b14 Balanceado. El profesor les dará entonces un Pokémon inicial que se adapte a sus estilos de combate. Los Entrenadores Defensivos reciben al Pokémon de Planta Orchynx.\nEs gentil, resistente, y fácil de entrenar. Los Entrenadores c2=043c3affOfensivos/c2 reciben al Pokémon de Fuego c2=043c3affRaptorch/c2.\nEs fuerte y rápido, pero puede ser difícil de controlar. Los Entrenadores c2=65467b14Balanceados/c2 reciben al Pokémon de Agua c2=65467b14Eletux/c2.\nSu naturaleza calmada le permite adaptarse a cualquier situación. Escojan cuidadosamente - ¡el inicial es su principal compañero en su viaje!"
+
+msgid "MAP050_NPC_2"
+msgstr "¡¡Vamos, PN, apresúrate!!\nEl suspenso está matándome."
+
+msgid "MAP050_NPC_3"
+msgstr "Soy experta en Purificación Nuclear.\n¿Tienes Pokémon Nucleares que necesiten ser curados? Su apariencia y tipo no cambiarán, simplemente dejarán de atacarte o desobedecerte. ¡Ok! Aplicaré el tratamiento a tu . No demoraré. ¡Listo! ¡Tu está totalmente curado! Asegúrate de traerme otros Pokémon irradiados que tengas para poder curarlos. Si tienes algún Pokémon corrupto, tráelo y lo curaré. Recuerda, solo a los Pokémon regulares que hayan sido infectados por exponerse a la radiación. Los Tipo Nucleares originales como Nucleon y Hazma no necesitarán cura. Si tienes algún Pokémon corrupto, tráelo y lo curaré."
+
+msgid "MAP050_NPC_4"
+msgstr "¡Haaz-maa!"
+
+msgid "MAP050_SIGN_1"
+msgstr "Es una planta de interiores. Fue regada hace poco."
+
+msgid "MAP050_SIGN_10"
+msgstr "Hay libros de Pokémon en la vitrina. ...¡Oh! Éste se llama \"Ernest Bamb'o: El Misterio de los Elementos\".\n¡El Profesor escribió esto!"
+
+msgid "MAP050_SIGN_11"
+msgstr "Es una máquina para curar Pokémon."
+
+msgid "MAP050_SIGN_2"
+msgstr "Es una planta de interiores. Fue regada hace poco."
+
+msgid "MAP050_SIGN_3"
+msgstr "Es una máquina para curar Pokémon."
+
+msgid "MAP050_SIGN_4"
+msgstr "Hay libros de Pokémon en la vitrina. ...¡Oh! Éste se llama \"Ernest Bamb'o: El Misterio de los Elementos\".\n¡El Profesor escribió esto!"
+
+msgid "MAP050_SIGN_5"
+msgstr "Hay libros de Pokémon en la vitrina. ...¡Oh! Éste se llama \"Ernest Bamb'o: El Misterio de los Elementos\".\n¡El Profesor escribió esto!"
+
+msgid "MAP050_SIGN_6"
+msgstr "Hay libros de Pokémon en la vitrina. ...¡Oh! Éste se llama \"Ernest Bamb'o: El Misterio de los Elementos\".\n¡El Profesor escribió esto!"
+
+msgid "MAP050_SIGN_7"
+msgstr "Es una planta de interiores. Fue regada hace poco."
+
+msgid "MAP050_SIGN_8"
+msgstr "Hay afiches pegados a la pared... \"Protege a tus Pokémon, ¡usa Pociones!\" \"Pokédex: ¡Tu principal fuente de información Pokémon!\""
+
+msgid "MAP050_SIGN_9"
+msgstr "La ventana tiene una hermosa vista a la pared afuera. No hay nada que ver."
+
+msgid "MAP050_TRAINER_1"
+msgstr "Vaya, parece que me he equivocado de... am... ¡EY! ¡ESTOY CANSADO DE ESPERAR! ¡PN ya tiene a su inicial!\n¿Cuándo tendré al mío? Ya terminé de analizar tus resultados, Teo. Hmm... ¡¡Sí!!\n¡Mi primer Pokémon! Eh, viejo, esto definitivamente no es un Eletux. Eh, viejo, esto definitivamente no es un Raptorch. Eh, viejo, esto definitivamente no es un Orchynx. ¿El tuyo también?...\n Digo, sí, he decidido... cambiar un poco los estándares de la prueba. Eso es. ¡Disfruten de sus nuevos Pokémon, chicos! PN... tienes un Pokémon.\nY ahora yo también tengo un Pokémon.\n¿Sabes lo que esto significa?\n¡Hay que combatir! Ay, por favor, ¡en el laboratorio no!... P-.pero.... Cómo....\nSe supone que yo sería el m-.mejor Entrenador... Es i-.imposible...\nlos Entrenadores buenos nunca p-.pierden... Yo.... yo.... *sniff*\n¡Buaaaaaaah! Por favor no llores, Teo... Permítanme curar a sus Pokémon. Sus Pokémon fueron curados... Yo q-.quería ser u-.un Entrenador invencible...\n¿Por qué no pude ganar?\nDe verdad quería ganar... Bueno.... entre tu inicial y el de PN, el suyo tenía ventaja de tipo. Agua vence a Fuego, Fuego vence a Planta, y Planta vence a Agua. Ese es el triángulo de tipos elementales.. \nBueno, uno de ellos.\nAprender a dominar las combinaciones de tipos es parte importante de ser un Entrenador. ¡N-.No puede ser! ¡Quiero una repetición!\n¡¿Por qué PN obtiene al mejor inicial?!\n¡Buuaaaaahhhhh! ¡¡No es justo!!\n¡¡M-.me voy a casa!! Vaya...\nLo tomó peor de lo que esperaba. Pero no lo juzgues duramente.\nDespués de todo, solo es un niño.\nEspero que pronto descubra que entrenar Pokémon no es tan fácil como esperaba... ¡¡Sí!! ¡Mi primera victoria!\n¡Mis Pokémon y yo seremos el equipo más genial en todo Tándor! PN, no eres nada en comparación a mí.\n¡¡Nada!!\n¡Jajaja!\n¡Tengo que mostrárselo a papá! PN...\nHonestamente, me sorprende que hayas perdido ese combate. Debiste notar que tu inicial tenía ventaja de tipo sobre el de Teo.\nAgua vence a Fuego, Fuego vence a Planta, y Planta vence a Agua. Ese es el triángulo de tipos elementales..\nBueno, uno de ellos. Normalmente, en una combinación así, el resultado es obvio...\n¿O tal vez lo dejaste ganar a propósito?\nSi lo hiciste, fue amable de tu parte. Habla mucho, pero presiento que no lo hubiese tomado tan bien si hubiese perdido en su primer combate. Tú pareces estar bien.\nPermíteme curar a tus Pokémon rápidamente. Sus Pokémon fueron curados... Iré a la salida hacia la Ruta 01 al borde del pueblo. Trae a Teo, y les enseñaré cómo atrapar Pokémon. Nos vemos luego, PN."
+
+msgid "MAP050_TRAINER_1_DEFEAT"
+msgstr "¿Qué? ¡P-pero se supone que yo ganaría!"
+
+msgid "MAP052_NPC_1"
+msgstr "¡Te doy la bienvenida al mundialmente famoso Casino y Resort Estrella de Mar! ¿En qué puedo ayudarte? Estrella de Mar es un local de cinco estrellas conocido a nivel mundial por su entretenimiento de más alta calidad, alojamiento y comida, localizado en la pintoresca Ciudad Miraplaya. Todos nuestros clientes son bienvenidos a participar en la lotería diaria en el mostrador para ganar premios. También están invitados a disfrutar el amplio rango de entretenimiento en nuestro Casino por una oportunidad para ganar objetos valiosos, ¡e incluso Pokémon raros! A tu derecha está el Casino, donde puedes disfrutar una variedad de juegos de azar emocionantes para ganar premios. A tu izquierda está el bar y restaurant cinco-estrellas que contiene además el Centro de Cuidado Pokémon, donde nuestros especialistas hacen sentir a tus Pokémon refrescados y mimados. El ascensor lleva al hotel. Ofrecemos una variedad de habitaciones: sencillas, dobles, suite, suite de lujo y penthouse. Lo siento, pero debes tener 18 años de edad o más para reservar una habitación en nuestro hotel de lujo. ¡Pero de todas formas estás invitado a participar en otras actividades de nuestro resort! ¡Disfruta tu estadía en Estrella de Mar!"
+
+msgid "MAP052_NPC_10"
+msgstr "Lo siento, pero el acceso al hotel es exclusivo para los clientes del hotel y sus invitados."
+
+msgid "MAP052_NPC_11"
+msgstr "¡Me encanta venir al bar a descansar después de un largo día de tomar baños de sol en la playa! Lo más importante de ser un salvavidas es verse bien y usar esa cosa blanca en tu nariz. \n...¿Eh? ¿Eso no es todo?"
+
+msgid "MAP052_NPC_12"
+msgstr "Esto sería más romántico si él no estuviera observando a esa mujer por allá..."
+
+msgid "MAP052_NPC_13"
+msgstr "Estamos en una cita romántica."
+
+msgid "MAP052_NPC_14"
+msgstr "¡Oí que la Líder de Gimnasio es un bombón! Entrenaré a mis Pokémon para ser tan bueno como ella, ¡y entonces le pediré una cita!"
+
+msgid "MAP052_NPC_15"
+msgstr "¡Hola, Entrenador! Por una pequeña cuota, ¡puedo hacer a tus Pokémon muy felices! Sin embargo, tengo un horario muy ocupado, así que solo puedo hacerlo una vez al día. ¿Qué Pokémon desea un tratamiento de belleza? G¿Qué clase de arreglo quieres para él? ¡ luce muy feliz! ¡Regresa mañana! Demasiado para tus finanzas, supongo. ¿Qué característica deseas aumentar? ¡ aumentó su base! ¡Regresa mañana! Demasiado para tus finanzas, supongo. Hm? That Pokémon cannot benefit from Rare Grooming. ¡ subió un nivel! ¡Regresa mañana! Demasiado para tus finanzas, supongo. ¡Regresa si deseas dar cuidado a uno de tus Pokémon! ¡Regresa si deseas dar cuidado a uno de tus Pokémon!"
+
+msgid "MAP052_NPC_16"
+msgstr "¡Disfruta tu estadía en el Casino Estrella de Mar! ¡Felices juegos!"
+
+msgid "MAP052_NPC_17"
+msgstr "Giravoltorb es un juego de apuestas bajas y premios bajos. Para mí es relajante jugarlo. ¡Intenta mantener una buena racha!"
+
+msgid "MAP052_NPC_18"
+msgstr "¡Jejejeje! ¡Me llaman el Suertudo Jack! Todas las noches doy paseos a turistas en una limusina. ¡Todos los días traigo mis ganancias a este casino y apuesto todo el día! ¡Y siempre termino con más de lo que empecé! Me agrada tu estilo, joven. Ten un regalo de mi parte. ¡PN obtuvo 100 Fichas! Tal vez algo de mi buena suerte se te pegue, ¿eh?"
+
+msgid "MAP052_NPC_19"
+msgstr "No hay relojes o ventanas en este lugar... ¿Por cuánto tiempo he estado aquí? Bueno, por qué no seguir otra ronda..."
+
+msgid "MAP052_NPC_2"
+msgstr "Este es el Rincón de Lotería Pokémon. Soy Felicity, tu asistente de hoy. Si el número obtenido coincide con el Nro. ID. de alguno de tus Pokémon, podrás ganar fabulosos premios. ¿Quieres revisar el número de la suerte de hoy? Primero, buscaré el número de la suerte de la Lotería Pokémon de hoy. ... Tu número del Boleto de Lotería es . Ahora veamos si coincide con el Nro. ID. de alguno de tus Pokémon. Lo siento. No hubo coincidencia... Por favor regrese en el futuro. ¡Felicitaciones! ¡El número de ID del en tu equipo coincide con el número del Boleto! ¡Felicitaciones! ¡El número de ID del en tu PC coincide con el número del Boleto! No puede ser, ¡todos los dígitos coincidieron! ¡Ganaste el premio mayor! ¡Por favor regrese en el futuro! ¡Se despide Felicity, tu asistente! No tienes espacio. Haz espacio y luego vuelve. Los últimos cuatro dígitos coincidieron, ¡así que ganas el segundo premio! ¡Por favor regrese en el futuro! ¡Se despide Felicity, tu asistente! No tienes espacio. Haz espacio y luego vuelve. Los últimos tres dígitos coincidieron, ¡así que ganas el tercer premio! ¡Por favor regrese en el futuro! ¡Se despide Felicity, tu asistente! No tienes espacio. Haz espacio y luego vuelve. Los últimos dos dígitos coincidieron, ¡así que ganas el cuarto premio! ¡Por favor regrese en el futuro! ¡Se despide Felicity, tu asistente! No tienes espacio. Haz espacio y luego vuelve. El último dígito coincidió, así que ganas el premio de consolación. ¡Por favor regrese en el futuro! ¡Se despide Felicity, tu asistente! No tienes espacio. Haz espacio y luego vuelve. Oh, entiendo.\nPor favor regrese en el futuro."
+
+msgid "MAP052_NPC_20"
+msgstr "¡Gira, gira, gira!\n¡Gira, gira, gira! ¡Gana, gana, gana!"
+
+msgid "MAP052_NPC_21"
+msgstr "No intentes nada gracioso, ¿oíste? Hay cámaras."
+
+msgid "MAP052_NPC_22"
+msgstr "¡Guau! ¡Gané en grande! ¡Me compraré un Pokémon lindo!"
+
+msgid "MAP052_NPC_23"
+msgstr "cnIntercambiamos fichas por premios. CN¿Qué premio deseas canjear? CN¿Así que quieres el premio ? CNLo siento, pero no tienes suficientes fichas. CNNo tienes espacio en tu Bolsa."
+
+msgid "MAP052_NPC_3"
+msgstr "¡Espero a que mis amigos terminen de ponerse sus trajes de baño para ir a la playa! Asegúrate de usar mucha loción bronceadora. Una quemadura solar puede arruinar tu día."
+
+msgid "MAP052_NPC_4"
+msgstr "Tengo una suite penthouse en el piso más alto. Desde allí puedo ver toda la ciudad. Cada año, mi familia viene de vacaciones aquí por varias semanas. No me espero menos."
+
+msgid "MAP052_NPC_5"
+msgstr "La calidad del servicio es excelente. ¡Hasta tienen un Centro de Belleza para Pokémon! Quiero quedarme aquí y no irme nunca... ¡Hasta que mis bolsillos se vacíen, claro está!"
+
+msgid "MAP052_NPC_6"
+msgstr "¡Te damos la bienvenida! Oh, ¿no tienes una Caja de Fichas? Ten esta. En este casino puedes intercambiar tus fichas por fabulosos premios. No tienes espacio. Regresa cuando lo tengas. En este casino puedes intercambiar tus fichas por fabulosos premios."
+
+msgid "MAP052_NPC_7"
+msgstr "GCN¡Te doy la bienvenida al Casino de Miraplaya! GCN¿Necesitas fichas para jugar?\n¿Quieres comprar algunas? GCNNo tienes una Caja de Fichas. GCN¿Necesitas fichas para jugar?\n¿Quieres comprar algunas? GCN¡Ups!\nTu Caja de Fichas está llena. GCNNo puedes pagar las fichas. GCN¡Gracias!\n¡Aquí están tus fichas! GCN¡Ups!\nTu Caja de Fichas está llena. GCNNo puedes pagar las fichas. GCN¡Gracias!\n¡Aquí están tus fichas! GCN¿No?\n¡Por favor ven a jugar en el futuro!"
+
+msgid "MAP052_NPC_8"
+msgstr "cnIntercambiamos fichas por premios. CN¿Qué premio deseas canjear? CN¿Así que quieres el premio ? CNLo siento, pero no tienes suficientes fichas. CNNo tienes espacio en tu Bolsa."
+
+msgid "MAP052_NPC_9"
+msgstr "CNNosotros intercambiamos tus fichas por premios. CN¿Qué premio deseas canjear? CN¿Así que quieres el premio ? CNLo siento, pero no tienes suficientes fichas."
+
+msgid "MAP053_NPC_1"
+msgstr "Oh, ¡tus Pokémon son tan lindos! Ten, dales de éstos. Simplemente me encanta cuando los Pokémon son felices con sus Entrenadores. ¡Cuida muy bien de ellos!"
+
+msgid "MAP053_NPC_2"
+msgstr "¡Brr! ¡Qué frío!\n¿Por casualidad no tendrás un Pokémon que sepa usar Sofoco? Es un movimiento de fuego muy poderoso. Calentaría el ambiente en un segundo. ¡Oh, gracias! ¡Así está mucho mejor!\nTen esto como agradecimiento. Brr... Creo que ningún Pokémon en tu equipo conoce el movimiento... Brr... Qué mal..."
+
+msgid "MAP053_NPC_3"
+msgstr "Mi esposa es muy generosa con los Entrenadores visitantes. Con lo duro que es el Gimnasio, necesitan toda la ayuda posible."
+
+msgid "MAP053_NPC_4"
+msgstr "¡Me encanta Pufluff! ¡Es tan esponjoso y adorable! Los Fafurr tienen un abrigo de pelaje grueso que los mantiene calientes. Quiero abrazarlos, ¡pero siempre corren antes de que me acerque!"
+
+msgid "MAP053_NPC_5"
+msgstr "¡Saludos! ¡Soy el Dentista Pokémon! ¡Porque incluso los Pokémon necesitan una dentadura saludable!\nAdemás, muchos movimientos requieren tener una buena mordedura. GSi lo deseas, puedo enseñarle algunos movimientos dentales a tus Pokémon. Solo cobro la modesta suma de $5000 por visita. ¿Qué movimiento quieres que enseñe a tus Pokémon? G¡Bien! Serán $5000. ¿Quieres que le enseñe otro movimiento a tus Pokémon? Entonces todo listo. Ten un cepillo y una pasta dental. ¿Quieres un globo? G¡Bien! Serán $5000. ¿Quieres que le enseñe otro movimiento a tus Pokémon? Entonces todo listo. Ten un cepillo y una pasta dental. ¿Quieres un globo? G¡Bien! Serán $5000. ¿Quieres que le enseñe otro movimiento a tus Pokémon? Entonces todo listo. Ten un cepillo y una pasta dental. ¿Quieres un globo? G¡Bien! Serán $5000. ¿Quieres que le enseñe otro movimiento a tus Pokémon? Entonces todo listo. Ten un cepillo y una pasta dental. ¿Quieres un globo? G¡Bien! Serán $5000. ¿Quieres que le enseñe otro movimiento a tus Pokémon? Entonces todo listo. Ten un cepillo y una pasta dental. ¿Quieres un globo? G¡Bien! Serán $5000. G¿Quieres que le enseñe otro movimiento a tus Pokémon por $5000? Entonces todo listo. Ten un cepillo y una pasta dental. ¿Quieres un globo? Mucha suerte ahí fuera, y ¡recuerda usar hilo dental! Mucha suerte ahí fuera, y ¡recuerda usar hilo dental!"
+
+msgid "MAP053_NPC_6"
+msgstr "Mi jefe revisa dientes de Pokémon todo el día. ¡Una vez puso su cabeza entera en la boca de un Fafninter! Los Centros Pokémon curan moretones y quemaduras y ese tipo de cosas, pero las caries requieren ver a un experto."
+
+msgid "MAP053_NPC_7"
+msgstr "Escuchad.\nVos sois Entrenador, ¿no es así? Lo que significa que estaréis desafiando al Gimnasio dentro de poco. Puede que deseéis oír un consejo o dos. Para desafiar el Gimnasio de Nevisca, has de pasar una serie de pruebas. Éstas han sido meditadas para probar vuestra fuerza como Entrenador; y vuestra sabiduría para hacer la elección correcta cuando sea necesario; vuestra habilidad para adaptarse a las más precarias condiciones; para ver vuestra fe en sus Pokémon, y la suya en vos; y lo más importante: La habilidad de discernir lo bueno de lo malo, lo verdadero de lo falso. Si fuéreis de fallar en una de estas pruebas, tendréis que volver a realizarlas desde el comienzo. Hijo, dejadme decirle, no es nada fácil ponerse de pie tras caer. Pero siga intentándolo. ¡Es lo que hace falta para emerger triunfante! Porque solo cuando paséis las pruebas y derrotéis al Líder Vaeryn... podréis finalmente desbloquear el verdadero poder de vuestros Pokémon:\nEl Poder de la Megaevolución. ¿Cómo es que un anciano como yo sabe todo esto? Bueno... Os diré la verdad, y es que yo solía ser un Acólito del Dragón. Ahora el frío viento en la montaña causa que estos huesos sufran, y una briza fuerte podría cortarme en dos. Así que permanezco aquí al fuego, dándole consejos a Entrenadores. Como agradecimiento por escuchar, es mi deseo que tengáis esto. ...¿Eh? ¿Qué es eso, preguntáis?\nBueno, no podéis usarla por ahora, pero una vez venzáis las pruebas, podréis utilizarla para activar la Megaevolución en un Pokémon. Buena suerte... ¡La necesitaréis! Que así sea... Un joven no tiene tiempo para escuchar a un anciano. Lo entiendo."
+
+msgid "MAP054_NPC_1"
+msgstr "¡No puedo creerlo! ¡Vivimos en la playa y mis hijos solo juegan dentro de casa! Ya sea jugando videojuegos o leyendo libros, ¡nunca quieren salir a jugar!"
+
+msgid "MAP054_NPC_2"
+msgstr "Mamá no entiende por qué odio la arena. Es áspera, y tosca... ¡y se mete en todas partes!"
+
+msgid "MAP054_NPC_3"
+msgstr "Mi hermano y yo preferimos quedarnos aquí. ¡Puedes tener muchas aventuras dentro de casa!"
+
+msgid "MAP058_NPC_1"
+msgstr "¿A qué piso quieres ir?"
+
+msgid "MAP060_NPC_1"
+msgstr "Dark: Ey... ¿Quieres comprar un Pokémon...? Dark: ¿Cuál Pokémon quieres? GbDark: ¿Así que quieres el Mareep por ? CNbDark: Lo siento, vas a necesitar más dinero que eso. Dark: Serán . Dark: ¿No? bueno, se te da bien regatear. Serán , entonces. GbDark: ¿Así que quieres el Pahar por ? CNbDark: Lo siento, vas a necesitar más dinero que eso. Dark: Serán . Dark: ¿No? bueno, se te da bien regatear. Serán , entonces. GbDark: ¿Así que quieres el Magikarp por ? CNbDark: Lo siento, vas a necesitar más dinero que eso. Dark: Serán . Dark: ¿No? bueno, se te da bien regatear. Serán , entonces."
+
+msgid "MAP060_NPC_10"
+msgstr "La estación de metro de Barullo aún está en construcción. No es accesible todavía."
+
+msgid "MAP060_NPC_11"
+msgstr "¡Buenas! Soy un excelente crítico de la amistad entre Pokémon y entrenador. ¿Quieres que puntúe tu relación con algún Pokémon? ¿Cuál Pokémon debería inspeccionar? Tal vez la próxima vez, nos vemos. De casualidad, ¿eres... una persona muy estricta? Me da la impresión de que tu realmente no te quiere... Emmm... Puede que tu no te quiera demasiado. Tu no siente nada especial por tí. Tu relación no es buena ni mala. Tu se siente un poco amigable contigo... Esa es mi impresión. Tu simpatiza contigo. Debe ser feliz a tu lado. ¡Tu siente apego por ti! ¡Debes ser una persona muy amable! ¿Por qué?, ¡porque está tan feliz como un Luxor! ¡Tu te adora! ¡tengo un poco de celos! Tal vez la próxima vez, nos vemos."
+
+msgid "MAP060_NPC_12"
+msgstr "¡Vaya, vaya, un forastero! Una gran bienvenida a Barullo, ¡la mejor ciudad de todas! Somos un pueblo minero, e incluso el Gimnasio se encuentra en lo profundo de una mina.\nAquí en Barullo tenemos un slogan: \"¡Orgullo Barullo!\". Buena suerte, visitante."
+
+msgid "MAP060_NPC_13"
+msgstr "Desde que inscribí a mis hijos en la escuela de por aquí, ¡he estado más tranquila que nunca! Hoy se viene el siguiente capítulo de mi telenovela - debo averiguar si el plan de Luis de hacerse pasar por su gemelo Lewis funcionará..."
+
+msgid "MAP060_NPC_2"
+msgstr "Cada día es un gran día aquí. Es casi imposible encontrar Pokémon nadando en la superficie del lago. La mayoría están en el fondo."
+
+msgid "MAP060_NPC_3"
+msgstr "¡Lo veo en tus ojos! Te encanta Barullo, ¿no es así? Tú debes venir de Pueblo Moki. Ese lugar apesta."
+
+msgid "MAP060_NPC_4"
+msgstr "Te preguntarás qué hace un policía aquí, mirando las flores. ¡Lo cierto es que este pueblo es tan pacífico que no tengo nada que hacer!\n¡Y me pagan! ¿El Gimnasio? Oh, solo sigue derecho. Es la entrada que da a una cueva."
+
+msgid "MAP060_NPC_5"
+msgstr "¡Acaba de comenzar la temporada de Bayas! Espera, ¿por qué te lo digo? Ahh... Barullo es tan pacífico. Me alegra haberme mudado aquí."
+
+msgid "MAP060_NPC_6"
+msgstr "No tienes idea de lo profundo que realmente es este lago. Nadie sabe lo que se puede encontrar en el fondo. ¿Ves esa construcción de ahí? Es la entrada al Metro de Tándor. La acaban de terminar aquí y en Tecuelo, y ya pronto abrirá. Es la mejor manera de viajar de una ciudad a otra hoy en día."
+
+msgid "MAP060_NPC_7"
+msgstr "Estoy de guardia de la estación de metro. Lo hago mejor que mi compañero. Espero que esos raritos de Tecuelo y Kevlar dejen de visitar Barullo. Son muy molestos."
+
+msgid "MAP060_NPC_8"
+msgstr "¡Te doy la bienvenida a Pueblo Barullo! Soy el encargado oficial de dar la bienvenida. Sí, ser quien da la bienvenida a la ciudad es un trabajo real, y me pagan por ello. Llega a ser muy monótono, pero vale la pena. ¿Sabías que eres la primera persona en llegar en todo el día?"
+
+msgid "MAP060_NPC_9"
+msgstr "Bah... ¡No me molestes! Estoy jugando el nuevo juego de moda, Pokémon - Edición Plata. Acabo de atrapar a un Ledyba. ¡Oh no! ¡El Equipo Rocket atacó al Pozo Slowpoke! ¡Kurt está haciéndome una Poké Ball! ¡Necesito llevarle medicina a Ampharos!"
+
+msgid "MAP060_SIGN_1"
+msgstr "Gimnasio de Barullo Líder: Davern \"El Maestro Excavador\""
+
+msgid "MAP060_SIGN_2"
+msgstr "\"Pueblo Barullo, Ciudad de Cuevas.\nEl mejor pueblo del sur de Tándor\""
+
+msgid "MAP060_SIGN_3"
+msgstr "\"Pueblo Barullo, Ciudad de Cuevas.\nEl mejor pueblo del sur de Tándor\""
+
+msgid "MAP060_SIGN_4"
+msgstr "Escuela Junior de Entrenadores"
+
+msgid "MAP062_SIGN_1"
+msgstr "¿Activar el interruptor?"
+
+msgid "MAP064_NPC_1"
+msgstr "Con que vas a iniciar tu propia aventura...\n¡Tal y como tu padre! Tu padre Kellyn es famoso en algunos lugares. ¡Ese hombre es un héroe!"
+
+msgid "MAP064_NPC_2"
+msgstr "Mi esposo ha sido admirador de tu padre desde hace mucho. Kellyn hace buena labor como Jefe de los Ranger.\nÉl protege las vidas de las personas, Pokémon, y al medio ambiente."
+
+msgid "MAP064_NPC_3"
+msgstr "¡Chyin.. Chyin!"
+
+msgid "MAP065_NPC_1"
+msgstr "Ey, ¿has oído del nuevo videojuego? Se llama \"Pokémon: Edición Roja\". Pokémon Edición Roja me permite explorar la región de Kanto, entrenar un equipo de Pokémon y convertirme en maestro Entrenador.... ¡Todo desde la comodidad de mi hogar!"
+
+msgid "MAP065_NPC_2"
+msgstr "Le compré a mi hijo ese nuevo videojuego del que todos hablan hoy en día. ¡Pero ahora no lo suelta ni un segundo! El pequeño Junior no hace sus tareas, y su habitación es un desastre. Ay, ¿qué haré con él?"
+
+msgid "MAP066_NPC_1"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_10"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_11"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_12"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_13"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_14"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_15"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_16"
+msgstr "¡Hey, joven!\nSi vas a enfrentar al Líder de Gimnasio, ¡mejor ten cuidado!\nDavern usa una variedad de Pokémon que se encuentran en las cuevas.\nPrepárate para enfrentarte a tipos Roca, Tierra y Veneno. Si tienes Pokémon del tipo Agua o Lucha, seguro serán de gran utilidad. ¡Y ten esto! ¡Buena suerte allí dentro! ¡Te estaré animando desde aquí!"
+
+msgid "MAP066_NPC_17"
+msgstr "PN introdujo la Gema en la ranura. Parece que puedes colocar un objeto aquí. La ranura tiene forma de diamante."
+
+msgid "MAP066_NPC_2"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_3"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_4"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_5"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_6"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_7"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_8"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_NPC_9"
+msgstr "Había algo bajo la roca. ¡Es una Gema! Debe ser útil para algo..."
+
+msgid "MAP066_TRAINER_1"
+msgstr "¿Por qué todos en este pueblo están tan obsesionados con sí mismos?"
+
+msgid "MAP066_TRAINER_1_DEFEAT"
+msgstr "Ciertamente eres fuerte."
+
+msgid "MAP066_TRAINER_2"
+msgstr "¡Me he entrenado rompiendo rocas con mis propios puños!"
+
+msgid "MAP066_TRAINER_2_DEFEAT"
+msgstr "Me siento como una roca en la que un Pokémon usó Golpe Roca..."
+
+msgid "MAP066_TRAINER_3"
+msgstr "¡He estado excavando túneles por años!\n¿Y tú qué has hecho?"
+
+msgid "MAP066_TRAINER_3_DEFEAT"
+msgstr "Veo la luz al final del túnel..."
+
+msgid "MAP066_TRAINER_4"
+msgstr "¡Hey, Entrenador!\nA estas alturas ya debes saberlo, pero soy Davern, el Líder de Gimnasio de Pueblo Barullo. Yo crío a los Pokémon de las cavernas.\nLa mayoría cree que las cuevas son tenebrosas, pero desde que soy un niño me he sentido como en casa dentro de ellas. ¡Por eso es que excavé esta mina abandonada y la convertí en mi propio gimnasio!\nMis Pokémon han sido duramente entrenados como la roca. ¿Puedes con nuestra fuerza? ¡Demuéstrame tu coraje! Buen combate, niño. Me has impresionado.\nAhora, si me das esa Gema que encontraste antes... *clic*\nY, ¡ta-da! ¡Aquí está tu medalla! ¡PN obtuvo la Medalla Gema! Espero que cada vez que mires esa Medalla recuerdes el trabajo duro que pusiste en ella. También, ¡por favor acepta esta MT! Demolición es un movimiento tipo Lucha que uso para excavar túneles.\nNo solo es bastante poderoso, pero también puede romper barreras como Reflejo y Pantalla Luz. Asegúrate de darle buen uso en tu aventura."
+
+msgid "MAP066_TRAINER_4_DEFEAT"
+msgstr "Esa fue una victoria bien merecida. ¡Realmente mereces esta Medalla Gema!"
+
+msgid "MAP067_NPC_1"
+msgstr "¡Rayos! Realicé una orden de Superballs la semana pasada, y aún no han llegado. Las necesitamos; ¡los Entrenadores las piden constantemente! Debe ser duro no tener una Tienda en Pueblo Moki.\n...Quizá deberíamos expandir la franquicia allí."
+
+msgid "MAP067_SIGN_1"
+msgstr "Superpoción, Hiperpoción, Revivir Máximo... ¿Por qué no venden esos objetos en esta tienda?"
+
+msgid "MAP067_SIGN_2"
+msgstr "Superpoción, Hiperpoción, Revivir Máximo... ¿Por qué no venden esos objetos en esta tienda?"
+
+msgid "MAP067_SIGN_3"
+msgstr "Hay un afiche muy colorido: \"50% de descuento | Viernes\" - ¿A qué viernes se refiere?"
+
+msgid "MAP068_NPC_1"
+msgstr "Dime, Entrenador, ¿cuál inicial escogiste? ¡Buena elección! El tipo Acero de Orchynx lo hace resistente, ¡pero cuidado con las Ascuas de Smore! ¡Qué genial! Las Ascuas de Raptorch calcinan a los tipos Bicho y Acero, ¡pero el tipo Agua es su punto débil! ¡Buena decisión! Eletux es adaptable y puede hacer frente a muchos tipos, pero cuídate de la Magnitud de Grozard."
+
+msgid "MAP068_NPC_2"
+msgstr "Si planeas ir a Ciudad Tecuelo, sería buena idea que compres Pociones en la tienda. Podrían ser tu salvación en caso de una total emergencia. Hay una cueva en el camino a Ciudad Tecuelo que está infestada de Pokémon fuertes. Ten cuidado. Oye, ¿lo has oído? No entres en pánico, pero se dice que al norte hay una extraña enfermedad que está infectando a los Pokémon. Ten cuidado."
+
+msgid "MAP068_NPC_3"
+msgstr "Construimos un segundo piso para el Centro Pokémon, pero no sabemos qué poner allí... Oh, espera, ¡la Red de Tándor está allí!"
+
+msgid "MAP068_NPC_4"
+msgstr "¡Espero que nuestros Centros Pokémon sean útiles en tu viaje!"
+
+msgid "MAP068_TRAINER_1"
+msgstr "¡Estoy entrenando a mis Chyinmunk especiales! Pero, pese a que tienen movimientos fuertes, ¡siguen perdiendo! ¿Quieres combatir? Está bien, ¡lo daremos todo! ¡Enfermera! ¿Puede curar a mis Chyinmunk?\n...\n¡Gracias! ¡Están listos para pelear! Oh, bueno, está bien, supongo."
+
+msgid "MAP068_TRAINER_1_DEFEAT"
+msgstr "¿Ves? ¡Seguimos perdiendo!"
+
+msgid "MAP069_NPC_1"
+msgstr "¡Hola hola!\n¡El Líder de Gimnasio aquí es Tiko! ¡Es un bailarín cuyos pasos flamantes y sinuosas faldas hipnotizan a quien lo observe! ...Sí, le encanta usar faldas. Pero hacen lucir bien sus piernas, ¿no crees?"
+
+msgid "MAP069_TRAINER_1"
+msgstr "Tiko: ¡Hola, PN!\nNo puedo agradecerte lo suficiente por salvarme en el Infraguero. Eso pudo haber terminado en una situación muy poco agradable para todos nosotros. Lamento no haber estado en mi óptimo en aquel entonces. Pero ahora, estoy listo para aceptar tu desafío... Un combate es como un baile.\nJusto como un bailarín debe estar al ritmo de la música, así también debe un Entrenador sincronizarse con sus Pokémon. Demostraste un enorme poder enfrentando a Seikamater. Ahora yo, Tiko, el bailarín en llamas, ¡pondré a prueba tu ardiente espíritu! ¡Qué destellante combate! ¡Aún me arden los ojos! Aquí tienes; te la has ganado. ¡PN obtuvo la Medalla Salsa! Tiko: ¡Mi Medalla Salsa hará a tus Pokémon más fabulosos que nunca! Y quizá también haga otras cosas, pero no estoy seguro.\nTambién ten esta MT. ¡Esa MT contiene Sofoco! Es un movimiento de Fuego enormemente poderoso, tanto así que hasta el que lo usa queda algo abrumado."
+
+msgid "MAP069_TRAINER_1_DEFEAT"
+msgstr "¡Maravilloso! ¡Esos movimientos fueron simplemente asombrosos!"
+
+msgid "MAP069_TRAINER_2"
+msgstr "Nunca he sido un buen bailarín. ¡Pero me va bien en los combates Pokémon!"
+
+msgid "MAP069_TRAINER_2_DEFEAT"
+msgstr "¡Ardiente!"
+
+msgid "MAP069_TRAINER_3"
+msgstr "¡Veremos si puedes soportar mis llamas!"
+
+msgid "MAP069_TRAINER_3_DEFEAT"
+msgstr "¡Auch! ¡Me quemé a mí mismo!"
+
+msgid "MAP069_TRAINER_4"
+msgstr "¡Si juegas con fuego, te quemarás!"
+
+msgid "MAP069_TRAINER_4_DEFEAT"
+msgstr "Auch..."
+
+msgid "MAP069_TRAINER_5"
+msgstr "¡Mis pasos de baile son los más candentes! ¡Cuidado, que te quemas!"
+
+msgid "MAP069_TRAINER_5_DEFEAT"
+msgstr "¡Me resbalé!"
+
+msgid "MAP070_SIGN_1"
+msgstr "If you're seeing this, file a bug report.\nSi estás viendo este mensaje, por favor repórtalo."
+
+msgid "MAP071_NPC_1"
+msgstr "Tienes una visión repentina de algo cambiando en el parque de Ciudad Venesí."
+
+msgid "MAP071_NPC_10"
+msgstr "Aunque la memoria puede ser difusa en los sueños, los recuerdos fuertes pueden anclar aquellos más débiles. Memorias de tiempos de paz. Tiempos de felicidad. Tiempos sin preocupaciones. Inspiración. Infancia. Las cosas que nos hacen quienes somos."
+
+msgid "MAP071_NPC_2"
+msgstr "¿Por qué el Gligar pica? Pues porque esa es su naturaleza. Aquí en el Mundo de los Sueños, se revela la verdadera naturaleza de las cosas. Esto puede ser algo bueno o algo malo."
+
+msgid "MAP071_NPC_3"
+msgstr "Me han estado perturbando sueños febriles, ardientes. Hay alguien más aquí. . Hay alguien más aquí. . ."
+
+msgid "MAP071_NPC_4"
+msgstr "¡Hola, te doy la bienvenida! ¿En qué puedo ayudarte? Puedo venderte un mapa estelar, por el precio de dos recuerdos preciados. ¿Qué? ¿No quieres negociar?\nQué mal. Puedo venderte un príncipe encantado en una botella, por el módico precio de una tecnología rara - ¿de casualidad tienes uno de esos \"bolígrafos\"? ¿No tienes? Qué mal."
+
+msgid "MAP071_NPC_5"
+msgstr "Mientras subía por las escaleras,\nme encontré con un hombre que no estaba allí. Hoy no estaba allí de nuevo.\nDesearía, desearía que se marchase."
+
+msgid "MAP071_NPC_6"
+msgstr "Mientras subía por las escaleras,\nme encontré con un hombre que no estaba allí. Hoy no estaba allí de nuevo.\nDesearía, desearía que se marchase."
+
+msgid "MAP071_NPC_7"
+msgstr "Él está desorientándote con su terrible mirada.\nSiempre es difícil atravesar la oscuridad de los sueños si no conoces el camino."
+
+msgid "MAP071_NPC_8"
+msgstr "¿Alguna vez te preguntaste por qué hay tantas canciones e historias sobre los sueños? Eso es porque el Mundo de los Sueños es vasto, abarcando la totalidad del universo, con una entrada en cada par de ojos. Esto es así tanto para personas como para Pokémon.. Es fácil perderse aquí adentro.\nLa mayoría de nosotros nos hemos rendido en intentar volver. Pronto, nos uniremos a Él."
+
+msgid "MAP071_NPC_9"
+msgstr "¿Vaya sueño, eh? ¿Es tuyo?"
+
+msgid "MAP071_SIGN_1"
+msgstr "Puedes leer cada letra, pero por algún motivo, no puedes leer el mensaje aquí escrito."
+
+msgid "MAP071_SIGN_2"
+msgstr "\"Gimnasio al sur.\nMadrigueras al noreste.\""
+
+msgid "MAP071_SIGN_3"
+msgstr "Golpeas, pero no hay sonido alguno."
+
+msgid "MAP071_SIGN_4"
+msgstr "El pomo de la puerta te mordisquea, pero te alejas de un brinco."
+
+msgid "MAP071_SIGN_5"
+msgstr "No te gusta la forma en la que te miró esa puerta."
+
+msgid "MAP071_TRAINER_1"
+msgstr "iGuaaa. . . jejejeje. . ./i ¡Has llegado lejos en esta ciudad al borde del Sueño! \nSu forma fue prestada por una nueva amiga. . . ¡del Soñador! ¿Por qué invades su sueño? Cuu... Ella es mía.\n¡Ella QUIERE estar aquí!\n ¡iElla /ime AMA! ¡Todos me aman! ¡No te llevarás mi hermoso ornamento! ¡Todos me aman! ¿Te atreves a atacarme? ¡Agh! Bueno, bueno. Quédate un poco más. No importa. \nJeje... Gargryph ha decidido dejarte en paz. ¡Entonces lárgate de aquí!"
+
+msgid "MAP071_TRAINER_1_DEFEAT"
+msgstr "¿Cómo te atreves a atacarme? ¡Agh!"
+
+msgid "MAP073_NPC_1"
+msgstr "¡Tú, joven! Si vienes aquí es porque quieres arreglar una bicicleta, ¿no? ... Oh, ¡parece que traes una rueda de bici! Es justo lo que necesito para reparar esta bicicleta, ¡espera un segundo! .... ¡Ahí lo tienes! ¡Una bicicleta prácticamente nueva gratis! Para usarla, selecciónala en tu Bolsa. Ohhh, ¿no tienes una bici? Bueno, qué va... No he tenido muchos clientes últimamente, considerando que ya le he vendido bicicletas a todo el pueblo.\nDe hecho, te diré algo. Si me traes una Rueda de Bici, podré ponérsela a una bicicleta vieja que tengo y te la daré."
+
+msgid "MAP073_NPC_2"
+msgstr "Maury: *sniff*\n¿Ya encontraste el objeto preciado que perdí? Estaré esperando a que lo hagas."
+
+msgid "MAP073_NPC_3"
+msgstr "¡Te doy la bienvenida a la Tienda de Bayas! Ten una muestra gratis de las bayas más deliciosas de Tándor. ¡Tu Pokémon las amará!"
+
+msgid "MAP073_NPC_4"
+msgstr "Mi novia está molesta conmigo, así que le compré flores para que me perdone."
+
+msgid "MAP073_NPC_5"
+msgstr "Nos acabamos de mudar a este pueblo. Es pequeño, pero acogedor. Creo que será un buen lugar para iniciar una familia."
+
+msgid "MAP073_NPC_6"
+msgstr "Ya está hablando sobre tener niños. ¿Por qué no podemos más bien criar Pokémon?"
+
+msgid "MAP074_TRAINER_1"
+msgstr "¡Hey, tú!\nSí que eres una lindura~...\nY luces muy fuerte, también, ¿eh?\n¿Qué tal un combate~?"
+
+msgid "MAP074_TRAINER_1_DEFEAT"
+msgstr "Aww, ¿realmente tenías que vencerme?"
+
+msgid "MAP074_TRAINER_2"
+msgstr "¿Has oído los mitos de los Pokémon Legendarios de esta región?"
+
+msgid "MAP074_TRAINER_2_DEFEAT"
+msgstr "Supongo que nunca tuve oportunidad alguna."
+
+msgid "MAP074_TRAINER_3"
+msgstr "¡Nuestra estrategia superior te electrocutará!"
+
+msgid "MAP074_TRAINER_3_DEFEAT"
+msgstr "Combatamos en alguna otra ocasión. Perder no es tan malo..."
+
+msgid "MAP074_TRAINER_4"
+msgstr "¡Jaja! ¡Mis Pokémon están listos con MTs y movimientos competitivos! ¡Nunca nos vencerás!"
+
+msgid "MAP074_TRAINER_4_DEFEAT"
+msgstr "Eh... ¿Qué?"
+
+msgid "MAP074_TRAINER_5"
+msgstr "Estoy probando un nueva estrategia Pokémon. ¿Me ayudas a probarla? ¡Da todo lo que tengas!"
+
+msgid "MAP074_TRAINER_5_DEFEAT"
+msgstr "¡Gracias por el combate! Ya tengo una mejor idea de dónde están mis puntos débiles."
+
+msgid "MAP074_TRAINER_6"
+msgstr "...¿Quieres combatir?\nEh, supongo..."
+
+msgid "MAP074_TRAINER_6_DEFEAT"
+msgstr "...Ganaste."
+
+msgid "MAP074_TRAINER_7"
+msgstr "Cuánto... calor...\nUgh, ¡refresquémonos con un combate!"
+
+msgid "MAP074_TRAINER_7_DEFEAT"
+msgstr "Eso no fue muy refrescante."
+
+msgid "MAP074_TRAINER_8"
+msgstr "¡Fiu! ¡Hace calor aquí!\n¡Perfecto para un combate ardiente como el fuego!"
+
+msgid "MAP074_TRAINER_8_DEFEAT"
+msgstr "Me suda la gota gorda..."
+
+msgid "MAP074_TRAINER_9"
+msgstr "¡El Fuego es mi elemento! ¡Lo vivo y lo respiro! En este ambiente, ¡no tienes oportunidad!"
+
+msgid "MAP074_TRAINER_9_DEFEAT"
+msgstr "¡Calcinado!"
+
+msgid "MAP075_NPC_1"
+msgstr "...¿Eh? ¿Qué hace un niño como tú en el laboratorio? Oh, ya veo, eres un Entrenador Pokémon. Investigando para algún profesor, debo suponer. Dime, ¿para quién trabajas? ... ¿Bamb'o? Oh, ese Ernest... nunca creí que tendría éxito académico, pero este mundo está repleto de sorpresas. ¿Sabes? Él y yo fuimos a la misma universidad hace mucho... Hasta que un infeliz me acusó injustamente de plagiar trabajos. ¡A mí! Un genio como yo, ¡¿copiando el trabajo de alguien más?! ¡La idea misma es ridícula! De cualquier forma, esa universidad no me ayudó en lo absoluto. Por eso fundé mi propia firma de investigación privada. Una mente brillante como yo no debe ser desperdiciada. Ya que eres la mascota de Bamb'o, te dejaré ver nuestras instalaciones... Impresionante, ¿no lo crees? Seguro está a leguas de lo que sea que existe en esa pequeña y pobre aldea tuya. Sólo... no toques nada, ¿entiendes?\nY vete pronto."
+
+msgid "MAP075_NPC_2"
+msgstr "Para transferir un Pokémon a una nueva Poké Ball, tienes que soltarlo y volver a capturarlo. Es muy inconveniente. Si tan solo hubiese una forma de capturar Pokémon que ya estuvieran en una Ball..."
+
+msgid "MAP075_NPC_3"
+msgstr "Con la tecnología, podemos clonar a un nuevo Pokémon con la más mínima traza de ADN. Este método puede ser usado para revivir Pokémon que han estado extintos por siglos."
+
+msgid "MAP075_NPC_4"
+msgstr "Un Entrenador de Pueblo Moki, ¿eh? Bamb'o debería dejar de entrometerse en lo que no lo incumbe. No molestes, sabandija."
+
+msgid "MAP075_NPC_5"
+msgstr "Hemos estado investigando métodos para domar a los Pokémon."
+
+msgid "MAP075_NPC_6"
+msgstr "Está cerrado por fuera. No abrirá. Garlikid: Garli... (Luce decepcionado...)"
+
+msgid "MAP075_NPC_7"
+msgstr "¡Obtienes a tus Pokémon y objetos de vuelta!"
+
+msgid "MAP075_NPC_8"
+msgstr "¡Obtienes a tus Pokémon y objetos de vuelta!"
+
+msgid "MAP075_SIGN_1"
+msgstr "Es pequeño y pegajoso. En serio no quiero usar esto..."
+
+msgid "MAP075_SIGN_2"
+msgstr "El agua está fría, pero no pienso tomármela."
+
+msgid "MAP075_SIGN_3"
+msgstr "Se oye hueca por dentro. ¿Darle una patada? Esta pared tiene algo extraño..."
+
+msgid "MAP075_TRAINER_1"
+msgstr "¡Ey, tú! ¡¿Qué estás haciendo fuera de tu celda?! ¡¿Y qué es esa... cosa que llevas ahí?!"
+
+msgid "MAP075_TRAINER_1_DEFEAT"
+msgstr "¡Ugh!"
+
+msgid "MAP075_TRAINER_2"
+msgstr "¿Qué demonios? ¡Si es ese niño! ¡Y ese Pokémon! ¡¿Cómo se escaparon?! ¿¿Cómo es que este Pokémon es tan fuerte??"
+
+msgid "MAP075_TRAINER_2_DEFEAT"
+msgstr "Maldita sea..."
+
+msgid "MAP076_NPC_1"
+msgstr "¡Ey! Aléjate de la Cueva Cometa, los Pokémon están atacando en grupos.\nEs peligroso ir solo."
+
+msgid "MAP076_NPC_2"
+msgstr "Qué fastidio... Esas rocas bloquean el camino a la jungla. Necesito ir allí..."
+
+msgid "MAP076_NPC_3"
+msgstr "¡Oh, cómo amo navegar! ¡De Este a Oeste por todo Tándor una y otra vez! El océano es mi verdadero amor."
+
+msgid "MAP076_NPC_4"
+msgstr "¡Los Pokémon son particularmente hostiles en esta cueva! ¡Atacan a los Entrenadores! Por tu seguridad, no dejaremos que pases."
+
+msgid "MAP076_SIGN_1"
+msgstr "- Jungla de Baykal\nCueva Cometa adelante"
+
+msgid "MAP076_SIGN_2"
+msgstr "Entrada a Cueva Cometa."
+
+msgid "MAP076_SIGN_3"
+msgstr "Jungla de Baykal\nAl Sur: Barullo | Al Norte: Amaukari"
+
+msgid "MAP076_TRAINER_1"
+msgstr "Wuuup, me cansé de correr. ¡Combatamos!"
+
+msgid "MAP076_TRAINER_1_DEFEAT"
+msgstr "No es justo, estaba cansado..."
+
+msgid "MAP076_TRAINER_2"
+msgstr "¡No dejaré que contamines la jungla!"
+
+msgid "MAP076_TRAINER_2_DEFEAT"
+msgstr "El clima tropical me da mareos, ¡por eso es que perdí!"
+
+msgid "MAP076_TRAINER_3"
+msgstr "Psst... ¡Me gusta esconderme en la hierba alta!"
+
+msgid "MAP076_TRAINER_3_DEFEAT"
+msgstr "Ahora tengo que volver con mi mami..."
+
+msgid "MAP076_TRAINER_4"
+msgstr "He pescado en todas partes de Tándor, pero he de admitir... ¡Este puente el mejor lugar de pesca en la región!"
+
+msgid "MAP076_TRAINER_4_DEFEAT"
+msgstr "Bueno, qué más da."
+
+msgid "MAP076_TRAINER_5"
+msgstr "Lo que realmente debes encontrar es el puente a tus sueños."
+
+msgid "MAP076_TRAINER_5_DEFEAT"
+msgstr "Espera, no creo que eso tenga mucho sentido... ¿O sí? Solo quería decir algo profundo."
+
+msgid "MAP076_TRAINER_6"
+msgstr "¡Los pantalones cortos son muy cómodos! Deberías intentar usarlos un día."
+
+msgid "MAP076_TRAINER_6_DEFEAT"
+msgstr "Quiero regresar a Barullo para comprar más pantalones cortos..."
+
+msgid "MAP076_TRAINER_7"
+msgstr "Me gusta entrenar siempre por las mañanas... Bien, ¡hora de ver si ha servido de algo!"
+
+msgid "MAP076_TRAINER_7_DEFEAT"
+msgstr "Nah, no está funcionando..."
+
+msgid "MAP076_TRAINER_8"
+msgstr "¡Cuán magnífica vista! Es el lugar perfecto para combatir, ¿no crees tú?"
+
+msgid "MAP076_TRAINER_8_DEFEAT"
+msgstr "Esta derrota ha arruinado mi caminata..."
+
+msgid "MAP078_NPC_1"
+msgstr "Supuestamente, el Líder de Gimnasio es un maestro del engaño y el disfraz. Supongo que es cierto, ¡porque no tengo idea de quién es! La medalla del Gimnasio Pokémon de Venesí es la última que necesito para competir en la Liga de Tándor."
+
+msgid "MAP078_NPC_2"
+msgstr "Un gimnasio en un Teatro de Ópera, ¿eh?...\n¡Es difícil caminar en esos pisos resbaladizos! No puedes confiar en tus ojos en el gimnasio de Venesí. Está lleno de trucos e ilusiones."
+
+msgid "MAP078_NPC_3"
+msgstr "Me preocupan los desastres nucleares que han pasado alrededor de Tándor. ¿Has oído que tuvieron que evacuar Viñedo? Que fallen dos plantas nucleares en tan poco tiempo... no puede ser solo una coincidencia."
+
+msgid "MAP079_NPC_1"
+msgstr "¡Me estoy abasteciendo de artículos antes de mi vacaciones en Venesí! Paseos en gondola, teatro... este pueblo lo tiene todo."
+
+msgid "MAP080_TRAINER_1"
+msgstr "Esta cueva es conocida como \"El Laberinto\". Veamos si puedes con ella..."
+
+msgid "MAP080_TRAINER_1_DEFEAT"
+msgstr "¡Siempre ve a la derecha!"
+
+msgid "MAP080_TRAINER_2"
+msgstr "¡Mis Pokémon y yo golpeamos rocas para entrenar!"
+
+msgid "MAP080_TRAINER_2_DEFEAT"
+msgstr "¡De vuelta al saco de boxeo!"
+
+msgid "MAP080_TRAINER_3"
+msgstr "¡Qué oscuro está! Por suerte, ¡estoy equipado con mis lentes de visión nocturna!"
+
+msgid "MAP080_TRAINER_3_DEFEAT"
+msgstr "¡Los lentes no sirven!"
+
+msgid "MAP080_TRAINER_4"
+msgstr "¡Estoy entrenando para enfrentarme a Rosalind! ¡Combatamos!"
+
+msgid "MAP080_TRAINER_4_DEFEAT"
+msgstr "¡Aún no estoy listo!"
+
+msgid "MAP080_TRAINER_5"
+msgstr "¡Cuidado! ¡El peligro se avecina!"
+
+msgid "MAP080_TRAINER_5_DEFEAT"
+msgstr "¡Ya lo verás!"
+
+msgid "MAP081_NPC_1"
+msgstr "¡Veo que eres un joven fuerte! ¡Hasta tienes una medalla! Por favor, ten esto y dale un buen uso. ¡PN obtuvo una Caña Vieja! Hey, soy un pescador. Los lagos cerca de mi casa tienen amplia variedad de Pokémon. Si demuestras tu fuerza, tal vez te dé mi vieja caña de pescar. Pero antes necesitas derrotar a María, la Líder de Gimnasio de Tecuelo."
+
+msgid "MAP081_NPC_2"
+msgstr "Mi hermano es un gran pescador. Ama los Pokémon de Agua. Es bueno vivir entre los pueblos Moki y Kevlar. ¡El Lago Raíz es tan bonito!"
+
+msgid "MAP081_SIGN_1"
+msgstr "Un letrero en la pared dice: \"Caña Vieja: ¡Ya no es solo para Magikarp! (aunque mayormente sí)\""
+
+msgid "MAP082_NPC_1"
+msgstr "¡Se necesita tener bolas para atraparlos a todos! ...¡Poké Bolas, claro está!"
+
+msgid "MAP082_NPC_2"
+msgstr "Escucha, Entrenador. Necesitarás muchas provisiones para poder cruzar la Ruta 16 hacia Pueblo Nevisca. Para atrapar los Pokémon fuertes en la Ruta 16, no te servirán simples Poké Balls. Necesitarás Ultraballs."
+
+msgid "MAP082_NPC_3"
+msgstr "Espero que esta tienda venda abrigos y bufandas... ¡Tengo mucho frío! ¿Qué?... ¿Solo venden artículos Pokémon aquí? Ohh... Pero yo necesitaba ropa de invierno."
+
+msgid "MAP083_TRAINER_1"
+msgstr "¡Ella viene! ¡Viene por nosotros!"
+
+msgid "MAP083_TRAINER_1_DEFEAT"
+msgstr "¡Aaaaaaugh! ¡Viene por mí!"
+
+msgid "MAP083_TRAINER_2"
+msgstr "¡Aaaaay! ¡Un intruso!"
+
+msgid "MAP083_TRAINER_2_DEFEAT"
+msgstr "¡¡Ayayiyiyiyi!!"
+
+msgid "MAP083_TRAINER_3"
+msgstr "Tanta... hambre..."
+
+msgid "MAP083_TRAINER_3_DEFEAT"
+msgstr "¡Aaaaugh!"
+
+msgid "MAP083_TRAINER_4"
+msgstr "...¡Tú!\n¡Sal de aquí!"
+
+msgid "MAP083_TRAINER_4_DEFEAT"
+msgstr "¡No...!"
+
+msgid "MAP083_TRAINER_5"
+msgstr "¡Debo luchar por la Madre!"
+
+msgid "MAP083_TRAINER_5_DEFEAT"
+msgstr "¡Madre, perdóname!"
+
+msgid "MAP084_NPC_1"
+msgstr "Chuii chuii,\nVeo los ojos y ojos me ven a mi. Chuii Chuuu,\nLos ojos te ven.. Y pronto serás como nosotros."
+
+msgid "MAP084_SIGN_1"
+msgstr "Es un slime gigante. No eres lo suficientemente fuerte, solo puedes hacerlo temblar."
+
+msgid "MAP084_SIGN_2"
+msgstr "Es un slime gigante. No eres lo suficientemente fuerte, solo puedes hacerlo temblar."
+
+msgid "MAP084_SIGN_3"
+msgstr "Es un slime gigante. No eres lo suficientemente fuerte, solo puedes hacerlo temblar."
+
+msgid "MAP084_SIGN_4"
+msgstr "Tu dedo se hunde en una masa gelatinosa. ¿Por qué lo tocaste? En serio, incluso si es un un sueño, ¿qué pensabas que iba a pasar al hacer eso?"
+
+msgid "MAP084_SIGN_5"
+msgstr "Tu dedo se hunde en una masa gelatinosa. ¿Por qué lo tocaste? En serio, incluso si es un un sueño, ¿qué pensabas que iba a pasar al hacer eso?"
+
+msgid "MAP084_SIGN_6"
+msgstr "\"¡Cucurigu! ¡Bate frigu!\" No logras entender lo que Masking está diciendo."
+
+msgid "MAP085_NPC_1"
+msgstr "¡Woooo! ¡Pokémon Edición Azul es el mejor juego del mundo! ¡Acabo de vencer a los tipos malos en el Casino! Si existieran tipos malos como el Equipo Rocket, ¡no tendrían oportunidad alguna de vencerme!"
+
+msgid "MAP085_NPC_2"
+msgstr "A decir verdad, me preocupan un poco esos videojuegos. Junior siempre está despierto hasta tarde jugando sus juegos... pero aun así hace sus tareas, así que supongo que no me puedo quejar."
+
+msgid "MAP086_NPC_1"
+msgstr "Siempre como mucho cuando es invierno. La grasa adicional me mantiene cálido. Mis festividades favoritas son... ¡aquellas en las que más se come!"
+
+msgid "MAP086_NPC_2"
+msgstr "Mamá dice que no puedo comprar más de lo que necesito. ¡¡¡Pero NECESITO tener 20 Poké Muñecos!!! Le quité la tarjeta de crédito a Mamá cuando estaba distraída. VOY A COMPRAR TANTAS COSAS."
+
+msgid "MAP087_SIGN_1"
+msgstr "Isla Maskara\nCiudad Venesí al Este"
+
+msgid "MAP087_SIGN_2"
+msgstr "Carpa de Superentrenamiento\nTutor: Tarou"
+
+msgid "MAP087_TRAINER_1"
+msgstr "¡La natación es buena forma\nde ponerse en forma!"
+
+msgid "MAP087_TRAINER_1_DEFEAT"
+msgstr "¡Ay, me dieron calambres!"
+
+msgid "MAP087_TRAINER_2"
+msgstr "¡Estas aguas son peligrosas!"
+
+msgid "MAP087_TRAINER_2_DEFEAT"
+msgstr "¡Caramba! ¡Algo me mordió el pie!"
+
+msgid "MAP087_TRAINER_3"
+msgstr "¿Eres capaz de nadar por kilómetros al mar abierto?"
+
+msgid "MAP087_TRAINER_3_DEFEAT"
+msgstr "El agua está muy fría."
+
+msgid "MAP087_TRAINER_4"
+msgstr "¡Cowabonga! ¡Surfea, viejo!"
+
+msgid "MAP087_TRAINER_4_DEFEAT"
+msgstr "¡Wipe out!"
+
+msgid "MAP087_TRAINER_5"
+msgstr "Dicen que hay muchos peces en el mar, ¡pero no logro atrapar ninguno!"
+
+msgid "MAP087_TRAINER_5_DEFEAT"
+msgstr "¡Demonios, se me escapó otro!"
+
+msgid "MAP087_TRAINER_6"
+msgstr "El océano es tan cálido y salado. ¡Se siente agradable!"
+
+msgid "MAP087_TRAINER_6_DEFEAT"
+msgstr "¡Glubglubglub!"
+
+msgid "MAP087_TRAINER_7"
+msgstr "???: ¡Hai-yah! Genin: ¡Has cometido un terrible error! Juunin: ¡Ahora todo nuestro clan está aquí! Chuunin: ¡Nuestro jefe te destruirá! Ronin: ¡El Jefe Hokage es invencible! Hokage: ... Así que... Este intruso gaijín se atreve a surfear en nuestras aguas. Chuunin: ¡Enséñele quién manda! Hokage: No interrumpan.\nAsí que eres un Entrenador Pokémon fuerte. Pero ahora estás débil y sin fuerzas. Mis Pokémon son fuertes. Veloces. Sigilosos. Esta parte del mar es nuestra. Por el honor de mi clan, ¡recibirás tu castigo! Hokage: No... No puede ser...\n¡¿Acaso eran ciertas las profecías?!\nQue habría alguien más fuerte que yo...\nMi honor de ninja me lo ordena... Debo arrodillarme frente a tu poder. Ronin: ¡Jefe! Hokage: Ahora... tú eres el Hokage. Estas aguas te pertenecen. Debo retirarme... Chuunin: ... Juunin: ... Ronin: ... Genin: Supongo que ahora eres nuestro jefe. Juunin: ¡Larga vida al nuevo Hokage! Chuunin: ¡Larga vida al clan ninja! Ronin: Ninjas... ¡Retírense! Todos: ¡HAI-YA!"
+
+msgid "MAP087_TRAINER_7_DEFEAT"
+msgstr "Hokage: ¡Urg...!"
+
+msgid "MAP087_TRAINER_8"
+msgstr "???: ¡Hai-yah! ???: ¡Eres tú quien deshonró a nuestros hermanos! ???: ¡Nadie vencerá al clan ninja en combate! ???: ¡Prepárate para tu castigo! Chuunin: ¡Esta injusticia no se acaba aquí! Genin: ¡El Jefe se enterará! Chuunin: ¡Sí, el Jefe le dará una lección! Genin: ¡Te arrepentirás de haberte metido con el Clan de la Ola!"
+
+msgid "MAP087_TRAINER_8_DEFEAT"
+msgstr "Chuunin: ¡Este gaijín es fuerte!"
+
+msgid "MAP089_SIGN_1"
+msgstr "Hay una novela escrita en la computadora...\n\"¡El Entrenador Mas Asombroso Del Mundo!\"\nPor Teo Caine, 11 Años Está algo mal escrita... ¿Quieres leerla? \"El Mejor Mas Genial Entrenador De Todos Era Campeon De Kanto Johto Y Tandor El Nunca Perdia Niun Combate. Sus Pokémon Eran Invencibles Eran Muy Fuertes Y Evolucionaron Y Descubrieron Una Evolucion Nueva Llamada SuperMegaEvolucion. El Y PN Eran Los Amigos Mas Geniales Del Mundo Y Todos Lo Sabian.\nEl Nombre De Aquel Entrenador...\nEra.........\nTeo!!!!!!\" Mejor no ojear."
+
+msgid "MAP089_SIGN_2"
+msgstr "Están pasando una caricatura en la TV.\nHay Pokémon con ropa y hablando como humanos. ...Listo, ¡hora de irse!"
+
+msgid "MAP089_SIGN_3"
+msgstr "Parece que Teo tiene una Wii normal, no una Wii U.\nCon razón siempre quería venir a jugar con la tuya."
+
+msgid "MAP090_NPC_1"
+msgstr "Trabajo para el Líder de Gimnasio, Davern. Mis Pokémon y yo la pasamos excavando en cuevas cercanas, convirtiéndolas en pasillos y casas. La excavación es una tarea peligrosa. Por suerte, mis Pokémon me alertan en caso de un colapso antes de que pase, de forma que podemos evacuar a tiempo."
+
+msgid "MAP090_NPC_2"
+msgstr "A Davern le encantan las cuevas; supuestamente creció en una él mismo. Así que construyó su gimnasio en una cueva y usa Pokémon que viven en las cuevas."
+
+msgid "MAP091_NPC_1"
+msgstr "Sé de personas que solo quieren entrenar Pokémon de Kanto, o Johto, o de otras regiones. ¿Por qué? ¿Qué hay de malo con los Pokémon de Tándor? Ni me menciones del odio general a los Pokémon de Sinnoh... ¡Eso roza lo racista, en serio!"
+
+msgid "MAP091_NPC_2"
+msgstr "¿Cura Total? Esas terminan siendo demasiado valiosas para ser usadas así como así. Al final nunca las uso. Poké Balls... Pociones... Antídotos... ¿Qué más podría necesitar un Entrenador?"
+
+msgid "MAP092_NPC_1"
+msgstr "...¿Hm? ¿Dices que tu padre es un Ranger?\nBueno, pues dale las gracias de mi parte. Los Rangers de Tándor trabajan sin descanso para proteger el medio ambiente y a los ciudadanos de la región."
+
+msgid "MAP092_NPC_2"
+msgstr "Eres un Entrenador, ¿no?\nMe recuerdas a mi hijo. Él también es Entrenador. Asegúrate de recordar siempre tus raíces, sin importar qué tan lejos de casa te lleven tus viajes."
+
+msgid "MAP092_NPC_3"
+msgstr "¡Owten! ¡Ow!"
+
+msgid "MAP093_NPC_1"
+msgstr "¡Blam! ¡Ka-paw! ¡Quiero ser un superhéroe cuando crezca! ¡Un verdadero héroe salva el día en el momento justo!"
+
+msgid "MAP093_NPC_2"
+msgstr "Nuestro Lunapup vigila fielmente nuestra casa todas las noches.\nSin embargo, ¡no deja de aullar en luna llena! Mi hijo está obsesionado con los superhéroes. Siempre es bueno tener un héroe al cual admirar."
+
+msgid "MAP093_NPC_3"
+msgstr "¡Pup! ¡Pup!"
+
+msgid "MAP093_SIGN_1"
+msgstr "Están transmitiendo un combate Pokémon en la televisión.\nDos Entrenadores de apariencia fuerte se enfrentan en la Arena."
+
+msgid "MAP093_SIGN_2"
+msgstr "Están transmitiendo un combate Pokémon en la televisión.\nDos Entrenadores de apariencia fuerte se enfrentan en la Arena."
+
+msgid "MAP094_NPC_1"
+msgstr "Mi sueño es tener un Fortog... puedo intercambiar mi Baashaun por uno. ¿Tienes un Fortog? ¡Cuida bien de él! Guau, ¡ahora tengo mi propio Fortog!"
+
+msgid "MAP094_NPC_10"
+msgstr "Qué fastidio... Esas rocas bloquean el camino a la jungla. Necesito ir allí..."
+
+msgid "MAP094_NPC_2"
+msgstr "Me pregunto qué tipos de Pokémon viven en este estanque. Probablemente solo Magikarp... El Profesor Bamb'o tiene un laboratorio en esa casa por el acantilado. Me pregunto, ¿por qué, de todos los lugares que pudo elegir, vive en Pueblo Moki?"
+
+msgid "MAP094_NPC_3"
+msgstr "Pueblo Moki es tan agradable y pacífico, y todos nos conocemos uno a otro. Prefiero vivir aquí antes que vivir en la gran ciudad. Mi hija es una Entrenadora ahora, ¿sabías? Está entrenando a su Chyinmunk en la Ruta 01. Salúdala si la ves. Hoy es un lindo día, ¿no crees? Parece que siempre es así por aquí."
+
+msgid "MAP094_NPC_4"
+msgstr "*Murmullos* ¡La Líder de Gimnasio no ha llegado aún! ¡Sigue en su casa! *Más murmullos*"
+
+msgid "MAP094_NPC_5"
+msgstr "¡Hoy se inaugura la estación de metro de Tecuelo!"
+
+msgid "MAP094_NPC_6"
+msgstr "Desearía tener un boleto para hoy..."
+
+msgid "MAP094_NPC_7"
+msgstr "¡Compré un boleto para el primer viaje subterráneo de Tándor!"
+
+msgid "MAP094_NPC_8"
+msgstr "Machop..."
+
+msgid "MAP094_NPC_9"
+msgstr "Oh, el hermoso mar de Tándor... Mi vida consiste en navegar entre las islas de la región. Es lo que más amo.\nDebería regresar a Ciudad Venesí para continuar trabajando."
+
+msgid "MAP094_SIGN_1"
+msgstr "Estación Subterránea de Tecuelo"
+
+msgid "MAP094_TRAINER_1"
+msgstr "Wuuup, me cansé de correr. ¡Combatamos!"
+
+msgid "MAP094_TRAINER_1_DEFEAT"
+msgstr "No es justo, estaba cansado...."
+
+msgid "MAP094_TRAINER_2"
+msgstr "¡Los pantalones cortos son muy cómodos! Deberías intentar usarlos un día."
+
+msgid "MAP094_TRAINER_2_DEFEAT"
+msgstr "Quiero regresar a Barullo para comprar más pantalones cortos..."
+
+msgid "MAP094_TRAINER_3"
+msgstr "Me gusta entrenar siempre por las mañanas... ¡Hora de ver si ha servido de algo!"
+
+msgid "MAP094_TRAINER_3_DEFEAT"
+msgstr "Nah, no está funcionando..."
+
+msgid "MAP094_TRAINER_4"
+msgstr "Este es un lugar perfecto para combatir."
+
+msgid "MAP094_TRAINER_4_DEFEAT"
+msgstr "Ahh... arruinaste mi caminata..."
+
+msgid "MAP097_NPC_1"
+msgstr "Escucha, pareces tener juventud y energía.\nMe considero un experto en los mitos y leyendas de Tándor. ¿Quieres aprender sobre los Pokémon legendarios de la región de Tándor? ¡Ah, Baitatao! Ese está bien documentado. Se dice que Baitatao es un Pokémon serpiente gigante que vive al fondo de un río en Tándor Occidental, aunque hay documentos que relatan sus viajes a Tándor Oriental. Supuestamente es de los\ntipos Fuego y Agua. El calor que emana de sus escamas da vida\nal río y hace que el agua brille en la noche. Aunque hay relatos de botes extraviándose en la noche cuando está hambriento... ¿Quieres oír sobre otro? ¡Lanthan y Actan! Los hermanos gemelos, los Pokémon de las Tierras y Metales Raros. Se supone que han vivido por mil años. La leyenda cuenta que emergieron de la corteza terrestre y le enseñaron al Hombre sobre el uso de los minerales. Supuestamente, otro de su tipo vive en la región de Sinnoh, y es conocido como Heatran. Hoy en día, se dice que habitan los volcanes de Tándor. Así es como los Montes Lantánido y Actínido obtuvieron su nombre. ¿Quieres oír sobre otro? ... Jamás he oído de un Pokémon llamado así... ¿Quieres oír sobre otro?"
+
+msgid "MAP097_NPC_10"
+msgstr "¡Dicen que el Líder de Gimnasio es también una estrella en el teatro! Aunque no tengo ni idea de quién es..."
+
+msgid "MAP097_NPC_11"
+msgstr "Solían decir que dejar participar a las mujeres en la ópera era \"indecente\"...\n¡Eso no es justo!"
+
+msgid "MAP097_NPC_12"
+msgstr "Pareces un Entrenador generoso. Hace poco recogí a este Eevee en las calles, pero soy solo una anciana y no puedo cuidarlo. ¿Le darías un hogar? Eres un alma muy buena y generosa. Es una pena..."
+
+msgid "MAP097_NPC_13"
+msgstr "Eevee es un Pokémon lleno de potencial. Puede evolucionar en siete... no, ocho... Incluso en nueve formas diferentes, quizá."
+
+msgid "MAP097_NPC_14"
+msgstr "¡Hola! He estado buscando a alguien que pueda darle buen uso a estos objetos. No sé qué sea, pero algo me dice que tú eres la persona correcta. ¡Ten! ¡Haz que tu Eevee sostenga uno de esos objetos, súbelo de nivel y evolucionará! ¡Dales buen uso!"
+
+msgid "MAP097_NPC_15"
+msgstr "¡Piedras! ¡Tengo muchas piedras! ¡Mira cuántas tengo! ¡Compartiré contigo mis Piedras si puedes resolver mi acertijo! Agua, Trueno, Fuego, Luz, Oscuridad, Frío, Calor, Amor, Y una más. ¿Quién soy? Ah, ¡sí!\n¡Muy bien! Eevee es un Pokémon que le da muy buen uso a las Piedras. Vuelve si quieres oír otro acertijo. No...\nEso no es en lo que estaba pensando. ¡No te ganas ninguna!"
+
+msgid "MAP097_NPC_16"
+msgstr "Daría cualquier cosa para que mi hija abra los ojos de nuevo."
+
+msgid "MAP097_NPC_17"
+msgstr "¡Nikki! Querida, ¿puedes escucharme? ... Es inútil... no despertará, incluso si la sacudo... A veces se mueve y habla dormida. Creo que está en una especie de sueño... Ojalá hubiera alguna manera de entrar en ese sueño y descubrir por qué no despierta."
+
+msgid "MAP097_NPC_18"
+msgstr "... Am...\n... ¿Quién era yo otra vez?\n...Ah, sí. Soy el Quita-Movimientos. Si tus Pokémon necesitan... uh... olvidar un movimiento, avísame. Lo haré gratis. Oh... ehh... vale.\n¿Qué Pokémon debería... uh... olvidar un movimiento? Vuelve si quieres uh... am... olvidar movimientos. ¿Qué? Los Huevos no aprenden movimientos. ¿Qué? No puedo hacer que un Pokémon Sombra olvide un movimiento. solo sabe un movimiento... ¿Qué movimiento debe ser olvidado? ¡Hm! ¿El movimiento de ? ¿Es ese el que debe ser olvidado? ¡Funcionó a la perfección! ha olvidado completamente. ¿De qué estábamos hablando? ¿De qué estábamos hablando?"
+
+msgid "MAP097_NPC_19"
+msgstr "Soy el Recuerda-Movimientos. Sé cada uno de los movimientos que un Pokémon puede aprender mientras crece. También soy un recolector de Escamas Corazón. Si me traes una, le enseñaré un movimiento a uno de tus Pokémon. Déjame adivinar... ¿Quieres que le enseñe un movimiento a alguno de tus Pokémon? ¿Qué Pokémon necesita aprender un movimiento? Si tus Pokémon necesitan aprender un movimiento, vuelve en cualquier momento. ¿Acaso estás mal de la cabeza? ¡Los huevos no pueden aprender movimientos! De ninguna manera, no me acercaré a ningún Pokémon Sombra. Lo siento... Aparentemente, no puedo enseñar ningún movimiento a tu . ¿Qué movimiento debería enseñar a tu ? Si tus Pokémon necesitan aprender un movimiento, regresa cuando quieras. Si tus Pokémon necesitan aprender un movimiento, regresa cuando quieras. Si tus Pokémon necesitan aprender un movimiento, regresa cuando quieras. Si tus Pokémon necesitan aprender un movimiento, regresa con una Escama Corazón."
+
+msgid "MAP097_NPC_2"
+msgstr "¿Cuál es tu tipo de Pokémon favorito? ¡El mío es el tipo Hada!"
+
+msgid "MAP097_NPC_20"
+msgstr "¡Saludos, Entranador!\nEn mis años, he descubierto muchos secretos Pokémon. Incluso técnicas ancestrales, olvidadas por los años. Existen movimientos únicos que pueden aprender los Metalynx, Electruxo y Archilles. Si deseas, puedo enseñárselos. ¿Quieres enseñarle otro movimiento único a un Pokémon inicial? ¿Quieres enseñarle otro movimiento único a un Pokémon inicial? ¿Quieres enseñarle otro movimiento único a un Pokémon inicial? ¡Ha sido un placer hablar contigo!"
+
+msgid "MAP097_NPC_21"
+msgstr "¿Te gustaría algo para beber? ...Espera un minuto, eres muy joven para estar bebiendo."
+
+msgid "MAP097_NPC_22"
+msgstr "¡Lo vi! ¿Por qué nadie me cree? ...Oye, ven aquí, escucha. No creerás lo que me pasó anoche.\n¿Quieres oír mi historia? Estaba caminando en el muelle, era muy tarde, y no te voy a mentir, había bebido un par de copas. Cuando de repente, de reojo vi algo moviéndose. Lo escuché y todo. Entonces suenan patitas, como si estuviera huyendo. ¡Por supuesto que tenía que perseguirle! Y de repente, estoy en un callejón oscuro que no había visto antes. ¡Pero no hay señal de la cosa! Y escucho un gruñido detrás de mí. Era un Tanscure salvaje, ¡y juro por mi vida que era ASÍ de grande! Ya daba mi vida por acabada, cuando esta... cosa enorme rosada... con alas y cuernos y orejas de conejo y patas palmeadas como un Golduck aparece de la nada y ¡patea a la sabandija, y ésta se aleja gimiendo! Y esta cosa se voltea hacia mí. Y por Arceus, estaba oscuro y no veía bien, pero puedo asegurarte que esa cosa abrió su boca y me dijo: \"Jim, estás ebrio.\" Y lo último que recuerdo después de eso es que desperté en mi cama. ¡Pero no fue un sueño! ¡Era demasiado real! Solo quisiera saber qué era esa cosa... ¿Puedes ayudarme? ¿Tienes idea de qué era? Esa...\n¡Esa es! ¡La cosa rosada! ¡Sabía que no estaba loco! ¡Oh, dulce Arceus, el alivio que siento ahorita es impresionante! Tengo que agradecértelo de alguna forma... ¿Qué tal con esto? No, eso no era... ¡Me estás viendo la cara de tonto! ...Bien... Qué importa, nadie me cree..."
+
+msgid "MAP097_NPC_23"
+msgstr "¿Por qué entrenarías algún otro Pokémon más que tu inicial? ¿Cuál es el punto?"
+
+msgid "MAP097_NPC_24"
+msgstr "Mis hijos no paran de jugar estos videojuegos. Tengo que obligarlos a jugar afuera."
+
+msgid "MAP097_NPC_25"
+msgstr "¡Tengo los nuevos juegos de Pokémon! ¡Edición Oro y Edición Plata! Mis amigos están celosos porque no tienen una GameBoy Color."
+
+msgid "MAP097_NPC_26"
+msgstr "Hmm. Resulta que los sueños humanos son mucho más complejos que los sueños Pokémon. Necesitaré algún tiempo para trabajar en mi tecnología del Mundo de los Sueños antes de que funcione correctamente. Pero cuando lo logre, ¡te aseguro que curaremos a esta niña!"
+
+msgid "MAP097_NPC_27"
+msgstr "Reve: ¡Muuu-sha!"
+
+msgid "MAP097_NPC_3"
+msgstr "Entonces, el tipo Hada es supereficaz contra los tipos Lucha, Siniestro y Dragón, y es resistente contra los tipos Bicho, Siniestro, y Lucha. Además, es inmune a los ataques tipo Dragón... ¡Listo!"
+
+msgid "MAP097_NPC_4"
+msgstr "¡Hola, Entrenador! Me gustaría que tengas esta MT. Esa MT contiene Brillo Mágico. Es un movimiento tipo Hada que ataca a todos los oponentes con una emisión de luces. ¡Úsala sabiamente!"
+
+msgid "MAP097_NPC_5"
+msgstr "¡Aparentemente hay algunos Pokémon que pueden evolucionar en la mitad de una pelea! ¿No es increíble? Hay un tipo de evolución que solo dura un corto período de tiempo... pero solo algunos Pokémon pueden hacerla."
+
+msgid "MAP097_NPC_6"
+msgstr "¿Has escuchado del nuevo tipo de evolución? Un investigador de la región de Kalos la descubrió."
+
+msgid "MAP097_NPC_7"
+msgstr "¿Hay Pokémon en Tándor que pueden Megaevolucionar? Creo que es posible..."
+
+msgid "MAP097_NPC_8"
+msgstr "¡Esta casa está llena de aficionados al teatro! Todos vivimos en Venesí porque amamos el escenario."
+
+msgid "MAP097_NPC_9"
+msgstr "Hace cinco años, jamás hubiera imaginado ser una actriz. No dejaban a las mujeres ser parte del teatro. Pero eso cambió hace poco, por alguna razón."
+
+msgid "MAP097_TRAINER_1"
+msgstr "¡Oye, niño! ¿Te estás burlando de mí? ¡No dejaré que un mocoso como tú me falte el respeto!"
+
+msgid "MAP097_TRAINER_1_DEFEAT"
+msgstr "¿Derrotado por un niño?"
+
+msgid "MAP097_TRAINER_2"
+msgstr "¿Crees tener lo necesario para desafiar a alguien tan fuerte como yo?"
+
+msgid "MAP097_TRAINER_2_DEFEAT"
+msgstr "¡Destrozado!"
+
+msgid "MAP097_TRAINER_3"
+msgstr "¡Ay! ¡¡Trataste de tocar mi falda!! ¡Te daré una lección!"
+
+msgid "MAP097_TRAINER_3_DEFEAT"
+msgstr "¡Aaah!"
+
+msgid "MAP097_TRAINER_4"
+msgstr "¡No le digas a mis padres que estoy aquí!"
+
+msgid "MAP097_TRAINER_4_DEFEAT"
+msgstr "¡Mamiiii!"
+
+msgid "MAP098_NPC_1"
+msgstr "De acuerdo a Owten, el ladrón se está escondiendo en la cueva de la montaña en la Ruta 06. Por favor, ¡encuéntralos rápido! ¡Nuestro estudio depende de ti!"
+
+msgid "MAP098_NPC_2"
+msgstr "Shhhh, Owten, todo está bien... Owten sigue nervioso tras todo lo que pasó. Estoy consolándolo."
+
+msgid "MAP098_NPC_3"
+msgstr "Soy un experto en revivificación de fósiles. Sin embargo, ¡este no es el momento! ¡Estamos en estado de emergencia!"
+
+msgid "MAP098_NPC_4"
+msgstr "No entres en pánico, no entres en pánico... ¡Todo va a salir bien!... ¿Verdad?"
+
+msgid "MAP098_NPC_5"
+msgstr "¡Owten! ¡Ow! Estoy casa... pero... no encontrar amigos. ¿Dónde amigos? Miedo..."
+
+msgid "MAP099_NPC_1"
+msgstr "GILLIAN: Si encuentras cualquier pista sobre el paradero de Zephy, me lo harás saber, ¿verdad? En mi experiencia como sanador, explorador y músico, la inspiración es algo fundamental para mí."
+
+msgid "MAP099_SIGN_1"
+msgstr "Al cepillar la campana para oir su tono, escuchas un débil sonido de aleteo en su interior. Al comprobar la parte trasera, encuentras un pequeño trozo de papel. ¿Hm?"
+
+msgid "MAP099_TRAINER_1"
+msgstr "¡Mis músculos de natación son muy fuertes! ¡Puedo nadar varios días seguidos!"
+
+msgid "MAP099_TRAINER_1_DEFEAT"
+msgstr "Tan... cansado..."
+
+msgid "MAP099_TRAINER_2"
+msgstr "¡Hay que estar atento cuando se está en el océano!"
+
+msgid "MAP099_TRAINER_2_DEFEAT"
+msgstr "¡Pudiste anticiparlo!"
+
+msgid "MAP099_TRAINER_3"
+msgstr "¿Oh? ¡Qué sorpresa! Es muy raro que alguien venga a esta zona tan oriental. Debes ser muy fuerte. Para mí, esta área significa algo muy especial. De hecho, vine a esta isla en particular para hacer una ofrenda a las fuerzas míticas de estas aguas. Te puedes unir si quieres, pero primero... Tengo curiosidad sobre tu fuerza y tu amistad con tus preciados compañeros ¡Por favor, no te contengas y ataca con toda tu fortaleza! Muchas gracias de nuevo por aceptar mi solicitud.\nSon aquellos de corazones amables y voluntad astuta los que son capaces tener una conexión tan poderosa como la tuya con tus Pokémon. Como recuerdo de tal exhibición, y de nuestro oportuno encuentro, te entregaré esto... Bueno, creo que debería volver a mi ritual. Si deseas seguir dando respetos antes que partas, siéntete libre de hacerlo. Si no, espero que nos encontremos de nuevo en un futuro."
+
+msgid "MAP099_TRAINER_3_DEFEAT"
+msgstr "¡Tus lazos con tus Pokémon son excesivamente fuertes!"
+
+msgid "MAP100_NPC_1"
+msgstr "Mi esposa siempre es generosa con los Entrenadores que pasan por aquí. También hornea las mejores galletas. Ten, ¡lleva una para tu viaje!"
+
+msgid "MAP101_NPC_1"
+msgstr "Si no uso bloqueador solar todos los días termino con el cuerpo quemado. Recuerda usarlo tú también, ¿de acuerdo? Nadar me mantiene en forma. ¡Así puedo beber todo lo que quiera por las noches!"
+
+msgid "MAP101_NPC_10"
+msgstr "¡Owwwww-ten! ¿Quieres usar el TLP? ...\n¡PN usó el TLP! ¡Amo a mi humana! ¡Me da muchas galletitas! ¡Y yo le traigo cositas brillantes!"
+
+msgid "MAP101_NPC_11"
+msgstr "Mi Owten me trae objetos brillantes que encuentra por ahí. ¡Este de aquí parece ser de buena suerte! ¿Por qué no te lo quedas? Espero que esa Moneda Amuleto te traiga buena suerte."
+
+msgid "MAP101_NPC_12"
+msgstr "¡Vaya! Miraplaya es mucho más grande de lo que jamás hubiera imaginado... las luces, el ruido... ¡No tengo idea de qué hacer aquí!"
+
+msgid "MAP101_NPC_13"
+msgstr "¡Oye, tú! ¿Quieres comprar un reloj? ...Oh, ¿que ya tienes un PokéPod? Uh... Mira, solo no le digas a los Rangers que estoy aquí, ¿de acuerdo?"
+
+msgid "MAP101_NPC_2"
+msgstr "Un tipo lleva un rato mirándome de forma muy rara. ¡Iugh! Mi familia y yo nos mudamos aquí, pero mis abuelos no soportaron la ciudad y se devolvieron. Aunque yo decidí quedarme."
+
+msgid "MAP101_NPC_3"
+msgstr "¿Acaso he muerto y estoy en el cielo? Esto es el paraíso. El cielo es azul, el mar es cálido, ¡y las chicas son ardientes! Creo que iré al casino esta noche. ¡Quizá gane el premio gordo!"
+
+msgid "MAP101_NPC_4"
+msgstr "Tantas chicas hermosas... Tan poco tiempo... Oye, uh, ¿Es tu primera vez aquí, o algo así? ¿Qué hay con toda esa ropa? ¡Quítatela! Ponte un traje de baño o algo."
+
+msgid "MAP101_NPC_5"
+msgstr "Lo sentimos, pero aún no termina la construcción de la Estación Subterránea."
+
+msgid "MAP101_NPC_6"
+msgstr "Lo sentimos, pero aún no termina la construcción de la Estación Subterránea."
+
+msgid "MAP101_NPC_7"
+msgstr "¡Yeeeeey! ¡Yeeey! ¡Wiiiiiiiii!\n¡No me atraparás!"
+
+msgid "MAP101_NPC_8"
+msgstr "Mi hijo tiene tanta energía. Espero que se agote pronto..."
+
+msgid "MAP101_NPC_9"
+msgstr "Soy vagabundo. Aquí es donde duermo.\n¡Sal de mi jardín! He elegido la vida vagabunda.\n¿Quién dice que tienes que tener una casa? No me gusta la idea."
+
+msgid "MAP101_SIGN_1"
+msgstr "Ciudad Miraplaya: ¡El lugar donde quieres estar!"
+
+msgid "MAP101_SIGN_2"
+msgstr "Cuartel General Ranger"
+
+msgid "MAP101_SIGN_3"
+msgstr "Casino y Resort Estrella de Mar"
+
+msgid "MAP101_SIGN_4"
+msgstr "Centro Comercial de Miraplaya"
+
+msgid "MAP101_SIGN_5"
+msgstr "Parque Público de Miraplaya"
+
+msgid "MAP101_TRAINER_1"
+msgstr "Ugh... Estar en tierra firme me da mareos..."
+
+msgid "MAP101_TRAINER_1_DEFEAT"
+msgstr "Urp..."
+
+msgid "MAP102_TRAINER_1"
+msgstr "Cali: ¡Ey! ¿La estás pasando bien? ¡Soy Cali, Líder de Gimnasio de Ciudad Miraplaya! Debe ser bastante obvio que uso Pokémon de playa. Déjame contarte un poco sobre mí. Cuando era niña, pensé que sería una buena idea ir a nadar cuando no hubiesen salvavidas. De repente, ¡una ola gigante casi me manda al fondo del océano! Pensé que iba a ahogarme. En ese momento, ¡sentí que algo estaba debajo de mí! Era un Brainoar, y me llevó hasta a la orilla, sana y salva. Desde ese momento decidí ser Entrenadora Pokémon y salvavidas. Mis Pokémon han salvado un sinnúmero de vidas. Son muy fuertes. Pero ya basta de charla, ¡a combatir! Cali: ¡Gran combate! ¡Eres realmente fuerte! ¡Ten esta Medalla Marea! ¡PN obtuvo la Medalla Marea! ¡Y esa MT contiene Hidropulso! Es un poderoso ataque tipo Agua que puede causar confusión. ¡Úsala las veces que quieras!"
+
+msgid "MAP102_TRAINER_1_DEFEAT"
+msgstr "Te lo merecías."
+
+msgid "MAP102_TRAINER_2"
+msgstr "¡Prepárate para los problemas!... Digo... ¡Vamos a luchar!"
+
+msgid "MAP102_TRAINER_2_DEFEAT"
+msgstr "Bueno, lo hice lo mejor que pude."
+
+msgid "MAP102_TRAINER_3"
+msgstr "¡Te hundirás como el Titanic!"
+
+msgid "MAP102_TRAINER_3_DEFEAT"
+msgstr "El que terminó hundido fui yo..."
+
+msgid "MAP102_TRAINER_4"
+msgstr "Oh, ¿tienes algún tipo Agua?"
+
+msgid "MAP102_TRAINER_4_DEFEAT"
+msgstr "Oh, rayos... perdí..."
+
+msgid "MAP102_TRAINER_5"
+msgstr "¡Eres un Entrenador inferior!"
+
+msgid "MAP102_TRAINER_5_DEFEAT"
+msgstr "Sigo siendo mejor que tú~"
+
+msgid "MAP102_TRAINER_6"
+msgstr "Comeré un poco de Magikarp frito después de ganar este combate."
+
+msgid "MAP102_TRAINER_6_DEFEAT"
+msgstr "Voy a freír a todos mis Pokémon..."
+
+msgid "MAP102_TRAINER_7"
+msgstr "¡Este cuarto es un callejón sin salida!"
+
+msgid "MAP102_TRAINER_7_DEFEAT"
+msgstr "¿Creíste que yo era Cali? ¡Desearía serlo!"
+
+msgid "MAP104_NPC_1"
+msgstr "Estoy jugando con mi hermano. ¡No molestes!"
+
+msgid "MAP104_NPC_2"
+msgstr "¡Hola! ¡Soy un fanático Pokémon! Veo que eres un Entrenador. Quizá puedas ayudarme... Estoy en busca de un Pokémon en particular. El problema es que no me acuerdo su nombre. Si me ayudas, te daré algo a cambio. Era algo así como una serpiente, regordeta y amarilla... ¿pero cuál será? ¡Ah, sí! ¡Dunsparce! ¡Así se llamaba!\n¡Vaya, es hermoso! ¡Es el día más feliz de mi vida! ¿Cómo podré recompensarte?\nSupongo que esto sirve. No... no creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es un tipo Agua muy débil que se vuelve fuerte cuando evoluciona. ¡Ah, sí! ¡Magikarp! ¡Ese era!\nPuede que no haga mucho por ahora, pero está lleno de potencial.\n¡Solo espera, pequeño pez! ¡Un futuro brillante te aguarda! Entrenador, ten esto como señal de mi gratitud. No... no creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es un ave tipo Fuego, y creo que tiene una pre-evolución. ¡Ah sí! Palij, ese era. ¡Qué espécimen tan maravilloso!\nLa manera en que sus alas dejan tras él un rastro de fuego cuando vuela por los cielos... Es toda una una maravilla.\nMe encantaría uno como mascota, pero probablemente quemaría mi casa. ¡Servicial como siempre, Entrenador! Por favor, ten esto como recompensa. No... no creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es un tipo Eléctrico de color rosa, con una joya azul en su cola. ¡Ah sí! ¡Flaaffy! ¿Cómo pude olvidarlo?\nTiene una apariencia gentil y elegante. Creo que mi tío tiene unos en su granja en Pueblo Viñedo. ¡Como siempre, Entrenador, por favor acepta esta recompensa junto con mis gracias! No... no creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es algo que te encontrarías en cuevas, pero que puede huir fácilmente. ¡Por supuesto! ¡Tonemy!\n¡Qué agradable criatura! ¿Cómo es que vuela con esas alas tan pequeñas? Es uno de los misterios más grandes de la vida. Sin olvidar mencionar que puede evolucionar a un temible Tofurang. ¡No lo subestimes! Aquí tienes una recompensa. No... no creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es un Pokémon que solo los más varoniles pueden entrenar. ¡Maravilloso! ¡Es Barewl!\nSuelo oír a los Montañeros presumir que pueden levantar a su Barewl. Creo que si lo intentara, ¡mis brazos se romperían! ¿Por qué no tomas esto como recompensa, Entrenador? N-no... No creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es peludo y se enoja fácilmente. ¡Mankey, por supuesto!\nDesearía poder acariciarlo... pero estoy casi seguro que se enojaría conmigo. Por favor, ten esto como recompensa. N-no... No creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es mucho más común durante la noche que durante el día, y se parece a un Flaaffy. ¡Ah, es Baaschaf!\nAparentemente su lana es muy apreciada por ciertos artesanos que la usan para crear abrigos.\nParece que son mucho más difíciles de criar que los Flaaffy. Me has sido de mucha ayuda. ¡Gracias! No... no creo que eso sea lo que estaba buscando. Bueno, también he estado buscando este otro Pokémon. Es realmente inteligente, pero difícil de encontrar. Creo que era... ¿Un tipo Agua? ...Oh. Es Brailip.\n...Ehhh. Éste en particular es un poco desagradable... por favor, llévatelo. Me quede sin piedras, así que... esto es tu recompensa. No... no creo que eso sea lo que estaba buscando."
+
+msgid "MAP104_NPC_3"
+msgstr "Estoy entrenando mis Pokémon en mi juego. ¡Venceré a mi hermana algún día! ¿Crees que algún día hagan un juego que ocurra en Tándor?"
+
+msgid "MAP104_NPC_4"
+msgstr "Como madre, creo que esa cosa de \"Pokémon Rojo\" está corrompiendo a los niños. Un día mi hijo quiso aventurarse dentro de la Cueva Cometa para intentar capturar a su primer Pokémon. ¡Tuve que ir a buscarlo corriendo!"
+
+msgid "MAP104_NPC_5"
+msgstr "Estos niños de hoy con sus videojuegos...\nCuando yo era niño jugábamos afuera, en el lodo, ¡y nos gustaba!"
+
+msgid "MAP104_NPC_6"
+msgstr "Qué tal, no te he visto antes por aquí~ ¿Cómo estás? Que linda... mochila esa que llevas puesta. ¿Eres un Entrenador? ¿Tienes Poké Balls con Pokémon dentro?"
+
+msgid "MAP104_NPC_7"
+msgstr "Estoy algo preocupado por mi hermana. Se pasa de amigable con los desconocidos. Mi primo está loco por los Pokémon, pero nunca sale de casa.\nOjalá se consiga un trabajo pronto..."
+
+msgid "MAP105_TRAINER_1"
+msgstr "... ¡Garlikid! ¡Gar! ¡Garli! ...\n¡PN usó el TLP! ¿Qué haces aquí, humano? ¿Estás tratando de esclavizar estos Pokémon de nuevo? ¡Ellos ya han sido liberados de tus garras! ¡Nunca más serán prisioneros! ¡Garlikid, el Héroe Pokémon está aquí! ¡Los encontré en ese horrible lugar humano, y los liberé! ¡Pelearemos por nuestra libertad! Gar... li... ¿Hemos.... perdido?. ¿¡Pero cómo!?\n¿Por qué estos Pokémon pelean del lado de los humanos?\n¿Acaso no quieren ser libres?\n¿Dices que.... son.... tus amigos...?\n¡Es imposible!\n¡Los Pokémon y los humanos no pueden coexistir! ¡Camaradas!\n¿Están regresando a ese lugar? ¡¿Por qué?!\nGrr... Pagarás por esto, humano.\nMientras hayan Pokémon retenidos contra su voluntad...\n¡Yo, Garlikid, el Héroe Pokémon, estaré allí para salvarlos!\n¡Volveré!"
+
+msgid "MAP105_TRAINER_1_DEFEAT"
+msgstr "¡Prepárate para ser destruído!"
+
+msgid "MAP106_NPC_1"
+msgstr "Así que, ¿qué piensas? ¿Equipo? (¡Adam se unió a ti!) ¡Ok!\nMantendré a nuestros Pokémon saludables. La entrada a la cueva está justo adelante...... ¡Guao! ¿Escuchaste eso?. \nSupongo que no estamos solos en este lugar.\nComo sea... ¡Vamos! Está bien.\nCreo que estudiaré estas runas un poco más.\nVen a hablar conmigo si cambias de opinión."
+
+msgid "MAP108_NPC_1"
+msgstr "¡Sean todos bienvenidos al gran Centro Comercial de Miraplaya! Aquí puedes encontrar todo tipo de objetos de todo tipo de personas. ¿Quieres saber qué puedes encontrar en cada piso? ¡Genial! En el segundo piso encontrarás objetos para tus necesidades generales de Entrenador, como Poké Balls y Pociones. En el tercer piso encontrarás piedras evolutivas y MTs. En el cuarto piso encontrarás objetos que mejoran las características de tus Pokémon."
+
+msgid "MAP108_NPC_10"
+msgstr "Las Piedras Evolutivas son esenciales para evolucionar a Pokémon como Eevee, Minyan o Lunapup. ¡Qué genial que las tengan aquí!"
+
+msgid "MAP108_NPC_11"
+msgstr "¡Las Máquinas Técnicas son tan costosas! Todavía recuerdo cuando eran baratas... Pero antes solo podías usarlas una vez, así que supongo que estas son mejores."
+
+msgid "MAP108_NPC_12"
+msgstr "Me gusta demoler en mis combates, ¡así que uso objetos X!"
+
+msgid "MAP108_NPC_13"
+msgstr "Llené a mi Pokémon de Proteína para sobrecargar su poder de Ataque. Pero parece que no se siente bien..."
+
+msgid "MAP108_NPC_14"
+msgstr "Ahh... qué placentero es descansar después de negociar por tantas gangas."
+
+msgid "MAP108_NPC_15"
+msgstr "La Tienda de Curiosidades está en este piso. Los objetos que venden cambian cada día. Pero, cierran los fines de semana."
+
+msgid "MAP108_NPC_2"
+msgstr "Tantas opciones... ¡La indecisión me paraliza! Creo que necesito un Antiparalizador."
+
+msgid "MAP108_NPC_3"
+msgstr "¡Comprar hasta desmayar! Ese es mi lema. No me iré de aquí hasta tener los brazos llenos."
+
+msgid "MAP108_NPC_4"
+msgstr "¡Papá, cómprame un Poké Muñeco! Está bien cariño, pero es todo por hoy."
+
+msgid "MAP108_NPC_5"
+msgstr "¡Papá, cómprame un Poké Muñeco! Está bien cariño, pero es todo por hoy."
+
+msgid "MAP108_NPC_6"
+msgstr "Estoy a punto de ir a una gran expedición, por eso estoy comprando muchos suministros antes de irme. ¡Esta tienda tiene todo lo que puede pedir un Entrenador!"
+
+msgid "MAP108_NPC_7"
+msgstr "Es importante que tengas objetos para curar el estado de un Pokémon cuando eres un Ranger. Algunos Pokémon salvajes pueden ser paralizados o envenenados por Entrenadores, ¡y es nuestro deber curarlos!"
+
+msgid "MAP108_NPC_8"
+msgstr "No capturo Pokémon, solo me gusta coleccionar Poké Balls."
+
+msgid "MAP108_NPC_9"
+msgstr "¡Hiperrayo, ya! ¡¡WIIIUUUUUMMMMMMM!!"
+
+msgid "MAP109_NPC_1"
+msgstr "¿Vas a combatir contra la Líder de Gimnasio? Ella es más fuerte de lo que parece. No todos sus Pokémon son tipo Agua, ¡así que no vayas con Pokémon Eléctricos esperando una victoria fácil! Cuando estés caminando por la playa, ten cuidado con palmeras con apariencia extraña. ¡Podrían ser Pokémon!"
+
+msgid "MAP109_TRAINER_1"
+msgstr "Intenté pelear contra Cali, la Líder, pero arrasó conmigo. Tengo que entrenar antes de intentarlo de nuevo...\nEy, ¿quieres combatir? Ok, ¡ahí vamos! Q-qué mal."
+
+msgid "MAP109_TRAINER_1_DEFEAT"
+msgstr "Vaya, de verdad necesito entrenar."
+
+msgid "MAP111_NPC_1"
+msgstr "El Feleng anaranjado está acurrucado, mirando el fuego."
+
+msgid "MAP111_SIGN_1"
+msgstr "Cuentos de cuna adenlante."
+
+msgid "MAP111_TRAINER_1"
+msgstr "He estado esperando por un oponente fuerte - te he estado esperando a ti."
+
+msgid "MAP111_TRAINER_1_DEFEAT"
+msgstr "Duermo en el Sueño."
+
+msgid "MAP112_NPC_1"
+msgstr "¡Esta isla está infestada de Pokémon Nucleares! PN, ya sabes qué hacer...\n¡Ve y enséñales quién manda!"
+
+msgid "MAP112_NPC_10"
+msgstr "Huf...\nEsos Pokémon... no se cansan nunca."
+
+msgid "MAP112_NPC_11"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_12"
+msgstr "Mi amor, debes ser resiliente. ¡Derrotaremos al mal con el poder de los Dioses! Mi esposo está agotado, y aun así, los Pokémon no se detienen. Somos avatares, pero también somos simples mortales. PN, por favor, ¡ayúdanos a enfrentar esta amenaza! ...Creo que puedo continuar, mi amor. Los Dioses nos han prestado su fuerza. ...Creo que puedo continuar, mi amor. Los Dioses nos han prestado su fuerza."
+
+msgid "MAP112_NPC_13"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_2"
+msgstr "Los Pokémon tipo Nuclear están entrando por todas partes. Neutraliza a tantos como puedas. ¡Sé que puedes con esto!"
+
+msgid "MAP112_NPC_3"
+msgstr "Hiisssssssssss..."
+
+msgid "MAP112_NPC_4"
+msgstr "¡No! Mi Pokémon acompañante fue debilitado... Ugh, no puedo defenderme... Ayuda, PN, ¡sálvame!"
+
+msgid "MAP112_NPC_5"
+msgstr "Tanssss..."
+
+msgid "MAP112_NPC_6"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_7"
+msgstr "¡Atrás! ¡Atrás! ¡Saboread el filo de mi espada! ...¡Oye, tú! ¿Te importaría echarme una mano? ¡Son demasiado fuertes como para encargarme yo solo!"
+
+msgid "MAP112_NPC_8"
+msgstr "Raaaargh..."
+
+msgid "MAP112_NPC_9"
+msgstr "¡Así se hace, PN!\nLos dos hacemos un buen equipo,\n¿no crees? ¡Ey, PN!\n¡Estas aberraciones Nucleares de la naturaleza no pueden contra mis Pokémon!\n...Ey, ahí viene un par de ellos.\n¡Combatamos en equipo y enseñémosle de qué estamos hechos! ¡Así se hace, PN!\nLos dos hacemos un buen equipo,\n¿no crees?"
+
+msgid "MAP113_NPC_1"
+msgstr "¡Oye! Tienes cara de Entrenador.\n¿Me podrías hacer un favor? Un amigo de otra región me entregó un Huevo, pero yo no puedo cuidarlo... ¿Podrías hacerte cargo de él? ¡PN obtuvo un Huevo! Oh, eh, tu equipo está lleno. Regresa cuando tengas un espacio. ...Oh, qué pena."
+
+msgid "MAP113_NPC_2"
+msgstr "Solía ser un Entrenador Pokémon como tú, pero...\nApenas llegué a Miraplaya pensé: \"¿Para qué entrenar Pokémon si puedo estar de fiesta?\" ¿Conoces a Cali, la Líder de Gimnasio?\nSanto cielo, es un bombón.\n...Eres muy joven para entender."
+
+msgid "MAP114_NPC_1"
+msgstr "¿De verdad no atrapaste ninguno? Bueno, no hay problema. Atrapé uno más, tenlo tú. Esto es increíble... PN, ¡tenemos que decirle a Kellyn sobre este Pokémon! ...... ...... Kellyn: Aquí Kellyn. ¿Hay algún problema? No, pero...\n¡Descubrimos algo impresionante!\n¡No va a creerlo, Jefe! Kellyn: ...\n...¿En serio? Sigue. ¡Oh! Um...\n¡Es un Pokémon! ¡Una nueva clase de Pokémon! Es tipo Nuclear, pero... no es hostil. Ni siquiera es radiactivo. Es solo una suposición, pero... ¡creo que se alimenta de radiación! Estamos en un área dentro de la Zona de Riesgo, y está todo completamente limpio. Ni siquiera necesito usar mi máscara aquí. Kellyn: ¡Teo! ¡Eso es peligroso! ¡Ponte la máscara de una vez! Aún si no ves evidencia, puede que haya radiactividad. ¡Prometo que no hay nada! Revisamos con el Contador Geiger en el Traje de Seguridad. ¡El lugar está libre de radiación!\n¡Es un milagro! Kellyn: Si lo que dices es verdad, entonces... Esto podría cambiar completamente nuestra estrategia. Gran trabajo, Teo, PN. Manténganme informado sobre cualquier descubrimiento. Pero recuerden, la meta principal es la misma... Si no detenemos a CURIE, no podremos iniciar el proceso de restauración. Sus geolocalizadores indican que no están lejos de la planta de energía. Está al norte. CURIE está allí. Encuéntrenle, ¡y acaben esto de una vez por todas! ¡Por Tándor! ...... ...... Tu padre sí que se mantiene enfocado en una sola meta... Pero tiene razón. Es genial que hayamos descubierto esto, pero tenemos cosas más importantes que hacer. ¡Sigamos! Jaja, ¿no lo atrapaste? PN, tienes ocho medallas. Puedes con esto. Anda, ten una Nuclear Ball. ¡Ahora ve y atrapa esa cosa! Yo ya tengo uno para mí."
+
+msgid "MAP114_NPC_2"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_3"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_4"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_5"
+msgstr "Haazzzz..."
+
+msgid "MAP117_NPC_1"
+msgstr "Dale tus boletos al marinero a mi lado, ¡él te dará la información que necesites!"
+
+msgid "MAP117_NPC_2"
+msgstr "¡La Planta Nuclear Zeta es de máxima seguridad! Tendrías que teletransportarte para poder entrar. Aunque dudo que alguien quiera. Me preocupan mis compañeros Rangers en la Planta Nuclear Épsilon en Miraplaya, pero estoy posicionada aquí para asegurar que la Planta Nuclear Zeta al norte siga segura."
+
+msgid "MAP117_NPC_3"
+msgstr "¡Guao! ¿Eres un Entrenador Pokémon real? Ten, encontré esto en unos arbustos, ¡puede ser útil!"
+
+msgid "MAP117_NPC_4"
+msgstr "¡Hey, joven! Luces como alguien que pesca a menudo. Veo el brillo en tus ojos. Esa bdeterminación/b. Esa besperanza/b. Pareces ser el tipo de persona que se se sentaría y besperaría por horas/b para pescar algo. ¿Tengo razón? ¡Bien dicho! Dios santo...\nEstos niños de hoy en día..."
+
+msgid "MAP117_NPC_5"
+msgstr "Hace tiempo fui un Entrenador de renombre, pero me he retirado. Mis hijos tienen a mis Pokémon, y disfruto de una vida tranquila."
+
+msgid "MAP117_NPC_6"
+msgstr "Casi todos los que vivimos por aquí trabajamos en las granjas. Es un trabajo arduo, pero produce lo suficiente para alimentar a todo Tándor."
+
+msgid "MAP117_NPC_7"
+msgstr "¡Reeeep!"
+
+msgid "MAP117_NPC_8"
+msgstr "¡Reep! ¡Mareeeeep!"
+
+msgid "MAP117_SIGN_1"
+msgstr "Ruta 08 - Campos de Trigo\nPueblo Viñedo al oeste"
+
+msgid "MAP117_SIGN_2"
+msgstr "¡Pistas para Entrenadores!\nCuando estés pescando, necesitarás paciencia y reflejos.\nEspera hasta que salga el mensaje \"¡Oh! ¡Han picado!\" y ¡recoge el anzuelo!"
+
+msgid "MAP117_SIGN_3"
+msgstr "Pueblo Viñedo al Oeste."
+
+msgid "MAP117_SIGN_4"
+msgstr "¡Pistas para Entrenadores!\nPara pescar necesitas buenos reflejos.\nPresiona A cuando el mensaje \"¡Oh! ¡Han picado!\" aparezca.\nPuede que tengas que hacer esto varias veces para pescar un Pokémon."
+
+msgid "MAP117_TRAINER_1"
+msgstr "¡Excuse moi!"
+
+msgid "MAP117_TRAINER_10"
+msgstr "¡Lo único que hago en todo el día es entrenar, entrenar y entrenar! ¡Ayúdame a entrenar!"
+
+msgid "MAP117_TRAINER_10_DEFEAT"
+msgstr "¡Uf! ¡Tienes que darme tus consejos de entrenamiento!"
+
+msgid "MAP117_TRAINER_1_DEFEAT"
+msgstr "¡Mis Pokémon están en forma, como yo!"
+
+msgid "MAP117_TRAINER_2"
+msgstr "No hay nada en estos estanques viejos de granja, solo un par de Fortogs mediocres, pero a veces pesco algo bueno."
+
+msgid "MAP117_TRAINER_2_DEFEAT"
+msgstr "Algo bueno, ¿lo ves?"
+
+msgid "MAP117_TRAINER_3"
+msgstr "Escuché que habían ovnis por aquí, así que los estoy buscando."
+
+msgid "MAP117_TRAINER_3_DEFEAT"
+msgstr "Creo que estoy perdiendo el tiempo..."
+
+msgid "MAP117_TRAINER_4"
+msgstr "¡Hiyah! ¡Combate conmigo! ¡Adelante!"
+
+msgid "MAP117_TRAINER_4_DEFEAT"
+msgstr "Grr..."
+
+msgid "MAP117_TRAINER_5"
+msgstr "Dios, ¡este lugar es muuuuuuy aburrido! Solo hay trigo y campo hasta el horizonte. No puedo esperar para irme."
+
+msgid "MAP117_TRAINER_5_DEFEAT"
+msgstr "Auu..."
+
+msgid "MAP117_TRAINER_6"
+msgstr "Los Pokémon tipo Bicho son muy diversos. ¡Tienen la mayor variedad de movimientos!"
+
+msgid "MAP117_TRAINER_6_DEFEAT"
+msgstr "Debería enseñarle nuevos ataques a mi Pokémon..."
+
+msgid "MAP117_TRAINER_7"
+msgstr "Oh, ¿Qué pasa, dulzura? ¿Quieres combatir? Bien, no veo por qué no."
+
+msgid "MAP117_TRAINER_7_DEFEAT"
+msgstr "Wow, ¡de verdad tienes chispa!"
+
+msgid "MAP117_TRAINER_8"
+msgstr "¡Te encontré!"
+
+msgid "MAP117_TRAINER_8_DEFEAT"
+msgstr "Solo quería jugar a las escondidas..."
+
+msgid "MAP117_TRAINER_9"
+msgstr "Será mejor que no te metas con mi rebaño. ¿Entendido?"
+
+msgid "MAP117_TRAINER_9_DEFEAT"
+msgstr "¡Hm! No estabas haciendo nada con mi rebaño."
+
+msgid "MAP118_TRAINER_1"
+msgstr "(¡Ey! ¡Estás interrumpiendo mi tiempo de buceo!)"
+
+msgid "MAP118_TRAINER_1_DEFEAT"
+msgstr "(*Se queja*)"
+
+msgid "MAP118_TRAINER_2"
+msgstr "(¡¡¡Crash!!! ¡Ese es el sonido que hace un coral cuando se rompe!)"
+
+msgid "MAP118_TRAINER_2_DEFEAT"
+msgstr "(...¡He sido triturado!)"
+
+msgid "MAP118_TRAINER_3"
+msgstr "(Estaba buscando un tesoro, ¡pero en su lugar encontré un Entrenador!)"
+
+msgid "MAP118_TRAINER_3_DEFEAT"
+msgstr "(¡¡Glub!!)"
+
+msgid "MAP121_NPC_1"
+msgstr "He vivido en el Pueblo Viñedo toda mi vida, como mis padres, y los padres de sus padres. Alabado sea el señor Aotius, porque es por su luz que podremos iluminar El Camino."
+
+msgid "MAP121_NPC_10"
+msgstr "¿Vas a ir a escuchar el sermón a la iglesia? El Padre recibe a todos aquellos que quieran aprender."
+
+msgid "MAP121_NPC_2"
+msgstr "Algunos días, salgo y trabajo en el campo. Otros, vendo lo que cultivamos en la plaza del pueblo. Alabado sea el señor Mutios, porque es por Su sombra que podemos vivir protegidos del mal."
+
+msgid "MAP121_NPC_3"
+msgstr "Quiero ir al gimnasio, porque hay internet inalámbrico adentro... Pero mi mamá no me deja. ¿Vas a desafiar al Líder del Gimnasio? ¡Él usa Pokémon duros como el Acero!"
+
+msgid "MAP121_NPC_4"
+msgstr "Todos los días la misma historia. Levantarse junto al sol, trabajar en la granja hasta el mediodía, ir a casa a pasar el rato con mi familia. No desearía otra cosa. La agricultura requiere mucho trabajo, pero es un trabajo honesto."
+
+msgid "MAP121_NPC_5"
+msgstr "¡Aaay, me encontraste!\nEstoy jugando al escondite con mi hermano. No le digas que estoy aquí, ¿de acuerdo? Te daré una baya, ¡así que por favor no digas nada!"
+
+msgid "MAP121_NPC_6"
+msgstr "¡Estoy jugando al escondite con mi hermana! ¡Ahora es mi turno de buscarla! Si te doy una baya, ¿me ayudarías a buscarla?"
+
+msgid "MAP121_NPC_7"
+msgstr "¡Nee! ¡Cottonee!"
+
+msgid "MAP121_NPC_8"
+msgstr "La vida es mejor cuando personas y Pokémon viven juntos en armonía. Esa es la voluntad de los Dioses."
+
+msgid "MAP121_NPC_9"
+msgstr "En Tándor hay 2 Pokémon que pueden ser esquilados por su lana: Mareep y Baashaun. Sin embargo, los Baashaun son más temperamentales y difíciles de criar."
+
+msgid "MAP121_SIGN_1"
+msgstr "Pueblo Viñedo: Un Paraíso Nostálgico"
+
+msgid "MAP121_SIGN_2"
+msgstr "Gimnasio de Pueblo Viñedo\nLíder: Sheldon \"El Genio Tecnológico\""
+
+msgid "MAP121_SIGN_3"
+msgstr "Capilla Viñedo\n¡Todos son bienvenidos! (Sermones semanales. Información provista.)"
+
+msgid "MAP122_NPC_1"
+msgstr "Probablemente ya has escuchado que hay algo raro en los Pokémon de esta isla. Parecen ser especies ordinarias de Tándor, pero sus colores son diferentes... sus ataques son diferentes, ¡y no obedecen órdenes! ¿Acaso tendrá algo que ver con esto el accidente de 10 años atrás?"
+
+msgid "MAP122_NPC_2"
+msgstr "Cam es nuestro jefe y es una buena persona. Él realmente quiere a los Pokémon, y cuida a su hijo, Teo. Puedo respetar a un hombre como él. Un rumor dice que Cam solía ser un Entrenador Pokémon. Uno muy bueno también. Dicen que entrenaba Pokémon tipo Eléctrico."
+
+msgid "MAP122_NPC_3"
+msgstr "¿Cameron? Sí, él es el jefe aquí. Es un buen tipo. Todos lo llaman \"Cam\". Aunque es un poco extraño, ¿sabes? He trabajado con Cam por meses, pero aun no se nada de él. Desde que llegó ha sido el supervisor en la construcción de la nueva planta de energía. Al parecer, solicitó serlo tan pronto como el área fue declarada libre de radiación. Es algo raro, ¿no?"
+
+msgid "MAP122_NPC_4"
+msgstr "Es duro trabajar aquí, sabiendo lo que pasó en esta isla hace diez años. Me hace sentir como si estuviera caminando en un cementerio a veces... Esta nueva Planta Nuclear ha sido construida con la más alta seguridad y protección. Después del accidente diez años atrás, el jefe ha querido asegurarse de que nada parecido ocurra de nuevo."
+
+msgid "MAP122_NPC_5"
+msgstr "Vale la pena estar preparado. Debes tener cuidado con los Pokémon salvajes de esta zona. Ten, te podría ser de utilidad. Vale la pena estar preparado."
+
+msgid "MAP122_NPC_6"
+msgstr "¡Hey! El jefe dice que nadie tiene permiso para entrar aquí. Este lugar será demolido pronto."
+
+msgid "MAP122_NPC_7"
+msgstr "¡Hey! El jefe dice que nadie tiene permiso para entrar aquí. Este lugar será demolido pronto."
+
+msgid "MAP122_TRAINER_1"
+msgstr "¡Hey, esta isla no es un área de juego para niños!"
+
+msgid "MAP122_TRAINER_1_DEFEAT"
+msgstr "¡No eres un joven común y corriente!"
+
+msgid "MAP122_TRAINER_2"
+msgstr "¿Has descubierto qué les pasa a los Pokémon aquí?"
+
+msgid "MAP122_TRAINER_2_DEFEAT"
+msgstr "¡He sido derrotado!"
+
+msgid "MAP122_TRAINER_3"
+msgstr "¡Oye, tú! ¡Ayúdame a entrenar a mis Pokémon!"
+
+msgid "MAP122_TRAINER_3_DEFEAT"
+msgstr "Mis Pokémon necesitan más motivación."
+
+msgid "MAP123_SIGN_1"
+msgstr "Parece ser parte de la Libreta Quemada. El título dice \"Informe #01\", ¿lo leerás? -- -- -------- progreso -------- --- Código 092. -- cor-za ---- ----- -e biofibra ------ a la radiación, - ----- reconstrui--- -- --- dañad-. [Página añadida a la libreta.] [Página añadida a la bolsa.]"
+
+msgid "MAP123_SIGN_2"
+msgstr "Parece ser parte de la Libreta Quemada. El título dice \"Informe #04\", ¿lo leerás? -- final----- -- trabajo -- la Interfaz. Su --erador ----- ------ control total --- Esp-cimen. -- -- autorizado --- -- uso a nuestr- jef- de investigación, ---. -------. [Página añadida a la libreta.]"
+
+msgid "MAP123_SIGN_3"
+msgstr "Parece ser parte de la Libreta Quemada. El título dice \"Informe #03\", ¿lo leerás? --- escáne--- de RM det-cta--- ondas cerebrales anóm-las. El -spécim-n deber-a ser inc-paz -- pensamie--- aut---mo. Se ---- trabajan-- -- -- supresor. [Página añadida a la libreta.]"
+
+msgid "MAP123_SIGN_4"
+msgstr "Parece ser parte de la Libreta Quemada. El título dice \"Informe #02\", ¿lo leerás? -- llegado -- núcleo de energía ----- ag-as int-rn---onales. -- -sp-cimen requeri-- --- enorme cantidad -- combus----- nuclear par- su ----------. --- --- --- ----lmente activado, ----- prod---- energía si- límites. [Página añadida a la libreta.]"
+
+msgid "MAP123_SIGN_5"
+msgstr "Parece ser parte de la Libreta Quemada. El título dice \"Informe #05\", ¿lo leerás? Ha ------ --- brecha -- confidencia-----. ----- --- reportes serán lleva--- - -------res subter------ -- ------ segur----. -- Proyecto 092 podría --- abort---. [Página añadida a la libreta.]"
+
+msgid "MAP125_NPC_1"
+msgstr "Lo que sea que esté ocurriendo con los Pokémon de por aquí... ¡es fascinante! Quiero decir, estoy casi seguro de que no es bueno. ¡Pero sí que es interesante!"
+
+msgid "MAP125_NPC_2"
+msgstr "Los Pokémon aquí son inquietantes... Hay algo sobre esos ojos vacantes suyos... Es como si no tuvieran nada adentro. Además, ¡uno de ellos me atacó sin razón alguna! Me iría de aquí si no me pagaran tan bien."
+
+msgid "MAP125_NPC_3"
+msgstr "¿Sabes cómo funciona un reactor nuclear? La energía es generada por la división de átomos en el combustible radiactivo, que libera grandes cantidades de calor. Ese calor se utiliza para hervir el agua a vapor, que provoca que una turbina gire, lo cual produce electricidad. Después, cables submarinos conducen esa electricidad hacia ciudades en toda la región."
+
+msgid "MAP126_NPC_1"
+msgstr "Hola, ¿has jugado Pokémon Rojo alguna vez? Ese juego es tan genial. Voy a ganar este combate. Tengo a Charizard. ¡Nadie vence a Charizard!"
+
+msgid "MAP126_NPC_2"
+msgstr "Oye, viejo, ¿tienes un Mankey? ¿Quieres que te lo cambie por mi Nidoran? Oh, lo siento, me refería al videojuego. ¡¡NOOOOOOOOOOOOOOO!! ¡Charmander está envenenado y estoy en el medio del Bosque Verde sin antídotos! De todas formas, ¿por qué tomé este estúpido reto?"
+
+msgid "MAP126_NPC_3"
+msgstr "¿Soy solo yo, o este juego está completamente desbalanceado? Basándose en las estadísticas, Mewtwo es prácticamente invencible. ¡Este juego no tiene sentido! Hiperrayo es una derrota instantánea. Así no funciona en la vida real, ¿cierto?"
+
+msgid "MAP127_TRAINER_1"
+msgstr "¡Eso es! Después de meses de entrenamiento, ¡al fin llegamos a la Calle Victoria!\n¡Ya no vamos a perder!"
+
+msgid "MAP127_TRAINER_1_DEFEAT"
+msgstr "¡¿Nuestro ataque helado no funcionó?!"
+
+msgid "MAP127_TRAINER_2"
+msgstr "¡Ummmmm!\n¡Mis premoniciones me dicen que no lograrás llegar más lejos!"
+
+msgid "MAP127_TRAINER_2_DEFEAT"
+msgstr "¡Mi tercer ojo me falló!"
+
+msgid "MAP127_TRAINER_3"
+msgstr "Para alcanzar el Campeonato de Tándor, primero tienes que superar la Calle Victoria.\n¿Tienes lo que se necesita, Entrenador?"
+
+msgid "MAP127_TRAINER_3_DEFEAT"
+msgstr "Creo que no tengo lo que se necesita..."
+
+msgid "MAP127_TRAINER_4"
+msgstr "¡¿Eres capaz de sobrevivir mi ataque de 50,000 voltios?!"
+
+msgid "MAP127_TRAINER_4_DEFEAT"
+msgstr "Pareces tener los pies en la tierra."
+
+msgid "MAP127_TRAINER_5"
+msgstr "¿Por qué especializarse en un solo Tipo?\n¡Prefiero usarlos todos!"
+
+msgid "MAP127_TRAINER_5_DEFEAT"
+msgstr "Esto fue solo una prueba."
+
+msgid "MAP128_NPC_1"
+msgstr "¡Este pueblo huele a desafío! Para el final del año, Calle Victoria estará abierta otra vez para el Campeonato."
+
+msgid "MAP128_NPC_2"
+msgstr "Estoy preocupado por la librería de Viñedo... algunos de esos libros eran reliquias invaluables que se remontan a la creación de Tándor."
+
+msgid "MAP128_NPC_3"
+msgstr "Debemos rezar a Aotius y a Mutios para que nos guíen por el camino seguro. Solo ellos nos pueden ayudar en estos tiempos oscuros."
+
+msgid "MAP128_NPC_4"
+msgstr "Ven aquí, joven.\nLuces preocupado. Son tiempos oscuros los que vivimos. Debemos mirar a la luz para encontrar el camino. ¿Te importaría escuchar mi sermón? Muy bien.\nVivimos en un mundo en el cual debemos tomar decisiones constantemente. Algunas más importantes, otras menos. A veces esas decisiones menos importantes tienen consecuencias muy importantes. Es nuestra capacidad de elegir lo que nos hace especiales. Es un regalo de Aotius que nos permite forjar nuestros propios caminos. Sin embargo, hay un lado oscuro para cada elección. Ese es el regalo de Mutios. Pensar las acciones antes de concretarlas. Quizá te preguntes, ¿por qué es esto un regalo? ¿No sería mejor si pudiésemos actuar libremente, sin repercusiones? Pero entonces no podríamos saber si nuestras acciones lastiman a otro. Por esto, la vida es un balance continuo. ...Para que haya alegría en el mundo, también debe haber tristeza. Para ser el mejor, tienen que existir aquellos que son los peores. Pero debemos creer en el poder de los Dioses. Son amorosos y amigables, lo aseguro. Gracias por escuchar, joven. Que los Dioses te bendigan. El conocimiento siempre estará presente para aquellos que lo busquen."
+
+msgid "MAP128_NPC_5"
+msgstr "*Sniff*...\nSi rezo a Aotius, ¿hará que las cosas estén bien de nuevo?"
+
+msgid "MAP128_SIGN_1"
+msgstr "Pueblo Valeón: ¡La Cuna de los Héroes!"
+
+msgid "MAP128_SIGN_2"
+msgstr "Estación Subterránea de Valeón."
+
+msgid "MAP128_SIGN_3"
+msgstr "Calle Victoria adelante."
+
+msgid "MAP128_SIGN_4"
+msgstr "Carpa de Superentrenamiento\nTutor: Kenichi"
+
+msgid "MAP128_SIGN_5"
+msgstr "Ruta 09 - Camino hacia Pueblo Lionte"
+
+msgid "MAP129_NPC_1"
+msgstr "Por fin, ¡puedo viajar a donde quiera en Tándor Occidental!\n...Pero no quiero ir a ninguna parte. Me da mucha pereza."
+
+msgid "MAP129_NPC_2"
+msgstr "Los Rangers de Tándor están regalando Boletos del T.S.T. a las personas afectadas por el desastre en Viñedo.\nPor favor, ten uno."
+
+msgid "MAP130_NPC_1"
+msgstr "Hey, ¿eres un Entrenador Pokémon? ¡Genial! Oye, ¿no te interesa un intercambio? Estoy buscando un Tofurang. Si tienes uno, te cambiaré a mi Palij por él. ¡Dudo que eso sea un Tofurang!"
+
+msgid "MAP131_NPC_1"
+msgstr "Los competidores del Torneo no pueden retirarse hasta ser derrotados o se conviertan en Campeón. Cuando tenga todo listo para el próximo encuentro, háblele al asistente en la entrada de la Arena."
+
+msgid "MAP132_SIGN_1"
+msgstr "Túnel a Cueva Lantánida."
+
+msgid "MAP132_SIGN_2"
+msgstr "¡Pistas para Entrenadores!\nLas habilidades Sebo y Pelaje Recio son habilidades defensivas. Sebo reduce el daño de los movimientos tipo Hielo y Fuego a la mitad. Pelaje Recio reduce a la mitad el daño de los movimientos físicos. ¡Ten esto en cuenta cuando ataques a Pokémon con estas habilidades!"
+
+msgid "MAP132_SIGN_3"
+msgstr "CUEVA LANTÁNIDA\nPRECAUCIÓN: HIELO DELGADO.\nCUIDADO CON LOS DERRUMBES."
+
+msgid "MAP132_TRAINER_1"
+msgstr "¡Te reto! El que pierda debe deslizarse por el hielo hasta el otro lado."
+
+msgid "MAP132_TRAINER_1_DEFEAT"
+msgstr "¡Auch!"
+
+msgid "MAP132_TRAINER_2"
+msgstr "¿Están tus Pokémon adaptados al clima helado? ¡Los míos sí!"
+
+msgid "MAP132_TRAINER_2_DEFEAT"
+msgstr "Pareces que tienes todo bajo control."
+
+msgid "MAP132_TRAINER_3"
+msgstr "¡Solo los más fuertes pueden atravesar la montaña!"
+
+msgid "MAP132_TRAINER_3_DEFEAT"
+msgstr "¡Esta fue una derrota digna!"
+
+msgid "MAP132_TRAINER_4"
+msgstr "¡Solo los más fuertes pueden atravesar la montaña!"
+
+msgid "MAP132_TRAINER_4_DEFEAT"
+msgstr "¡Esta fue una derrota digna!"
+
+msgid "MAP132_TRAINER_5"
+msgstr "¡Brrr! ¡Tengo frío! ¡Entremos en calor con un combate Pokémon!"
+
+msgid "MAP132_TRAINER_5_DEFEAT"
+msgstr "¡Qué frío!"
+
+msgid "MAP132_TRAINER_6"
+msgstr "Estas montañas nevadas están repletas de cosas peligrosas."
+
+msgid "MAP132_TRAINER_6_DEFEAT"
+msgstr "Está claro que te puedes defender por tu cuenta."
+
+msgid "MAP132_TRAINER_7"
+msgstr "¡Solo los más fuertes pueden atravesar la montaña!"
+
+msgid "MAP132_TRAINER_7_DEFEAT"
+msgstr "¡Esta fue una derrota digna!"
+
+msgid "MAP132_TRAINER_8"
+msgstr "¿Conoces el poder de los dragones?"
+
+msgid "MAP132_TRAINER_8_DEFEAT"
+msgstr "Bueno, sí lo conoces..."
+
+msgid "MAP133_NPC_1"
+msgstr "He estado aquí todo el día, ¡pero ni un solo pez ha picado! De seguro tú no serás tan terrible en esto como yo... ¡Supongo que por eso soy un marinero y no un pescador! Ten esta caña. Ya no la necesito. De vuelta a la vida en las aguas. Quizá vaya a investigar a esos supuestos piratas en Pueblo Celesebo."
+
+msgid "MAP133_SIGN_1"
+msgstr "Carpa de Superentrenamiento\nTutor: Hitomi"
+
+msgid "MAP133_TRAINER_1"
+msgstr "He estado pescando todo el día, ¡pero lo único que pesco son botas viejas!"
+
+msgid "MAP133_TRAINER_1_DEFEAT"
+msgstr "Aw, la línea se rompió."
+
+msgid "MAP133_TRAINER_2"
+msgstr "Vengo de una enorme familia de pescadores. ¡La pesca es mi legado!"
+
+msgid "MAP133_TRAINER_2_DEFEAT"
+msgstr "Rayos, mi línea de pesca se rompió."
+
+msgid "MAP133_TRAINER_3"
+msgstr "Si tienes la MO Buceo, puedes explorar el fondo marino."
+
+msgid "MAP133_TRAINER_3_DEFEAT"
+msgstr "¡O nadas o te hundes!"
+
+msgid "MAP133_TRAINER_4"
+msgstr "Si ves burbujas en el agua, ¡significa que hay un Pokémon justo abajo!"
+
+msgid "MAP133_TRAINER_4_DEFEAT"
+msgstr "¡Glub!"
+
+msgid "MAP133_TRAINER_5"
+msgstr "Familia, deber, honor, pesca."
+
+msgid "MAP133_TRAINER_5_DEFEAT"
+msgstr "¡Me han vencido honorablemente!"
+
+msgid "MAP133_TRAINER_6"
+msgstr "Mi meta en la vida es estar en la portada de la Revista Ilustrada Pokémon."
+
+msgid "MAP133_TRAINER_6_DEFEAT"
+msgstr "¡Eso no es nada cool!"
+
+msgid "MAP133_TRAINER_7"
+msgstr "¡Estás perturbando mi meditación serena!"
+
+msgid "MAP133_TRAINER_7_DEFEAT"
+msgstr "¡Rompiste mi concentración!"
+
+msgid "MAP133_TRAINER_8"
+msgstr "¡Dato curioso! ¡Shrimputy puede lanzar chorros de agua hirviendo de sus pinzas!"
+
+msgid "MAP133_TRAINER_8_DEFEAT"
+msgstr "¡Aaauch! ¡Quema!"
+
+msgid "MAP133_TRAINER_9"
+msgstr "¡Nadar es el mejor ejercicio para mantenerse en forma!"
+
+msgid "MAP133_TRAINER_9_DEFEAT"
+msgstr "Mis brazos están cansados..."
+
+msgid "MAP134_NPC_1"
+msgstr "Hace más frio al norte. Allá no puedo usar minifaldas tan seguido."
+
+msgid "MAP134_NPC_2"
+msgstr "¿Qué está haciendo un Entrenador como tú en Claravío? Debes estar buscando el siguiente Gimnasio. Está en Pueblo Nevisca, hacia el este."
+
+msgid "MAP134_NPC_3"
+msgstr "¿Has visto el Laboratorio Pokémon de Claravío? Están dirigiendo una investigación importante, creo yo."
+
+msgid "MAP134_NPC_4"
+msgstr "Claravío se fundó como un puerto pesquero. La mayoría de los residentes navegan en el mar para pescar, incluyendo mi esposo."
+
+msgid "MAP134_SIGN_1"
+msgstr "Pueblo Claravío:\n¡Una Brisa Fresca de Nuevas Promesas!"
+
+msgid "MAP134_SIGN_2"
+msgstr "Laboratorios Larkspur de\nInvestigación Pokémon"
+
+msgid "MAP134_TRAINER_1"
+msgstr "¿Eh? Hey, tú...\n¿No serás de casualidad un Entrenador Pokémon?\n¡Jarjarjar! ¡Es obvio con solo echarte un ojo! Escucha, he estado navegando desde que era un pequeñín.\nPero desde hace tiempo hay una mala marea...\nDebes haber oído de esto, pero ¡hay piratas por estas aguas! Un anciano pescador como yo no puede contra ellos.\nPero seguro que con un Entrenador fuerte a bordo nos dejarán en paz.\n¿No planeas ir a Ciudad Venesí?\nMe encantaría darte el aventón. ¡Yarharharhar! ¡Leven anclas, sabandijas!\n...Er, quiero decir... Uh...\nArrrgh, ¡lo arruiné! ¡Arrrr, maldita sabandija!\n...Er, quiero decir... Uh...\nArrrgh, ¡Lo arruiné! Arrrrr... Me disfracé de anciano para robarme todos tus Pokémon cuando estuviéramos en el mar.\nPero se me escapó mi jerga pirata. ¡Supongo que tendremos que hacer esto a la antigua! ¡Dame tus Pokémon o\ncaminarás por la plancha! Arrrghh...\nA Silva no le gustará esto...\n¡Recuerda mis palabras, sabandija!\n¡Esto no es lo último que has visto de Jack el Pirata!\n¡Leven anclas! ¡Disculpa! Vi tu combate desde lejos...\n¿Ese tipo era un pirata?\nEso supuse.\nNormalmente los Piratas Bandera Negra no navegan tan hacia el norte.\nParece que se están alborotando más últimamente.\nDe cualquier forma, quería darte las gracias. Le enseñaste una lección. Espero que no venga buscando nada por Claravío en el futuro.\nSi hubiese una forma de darte las gracias...\n¡Oh! Puedo llevarte a Ciudad Venesí en mi bote si quieres. ¿Qué dices? ¡Todos a bordo! ¿No?\n¡Te prometo que no soy un pirata!\nBueno, si cambias de opinión, ven y habla conmigo."
+
+msgid "MAP134_TRAINER_1_DEFEAT"
+msgstr "¡Arrrrrghhh!"
+
+msgid "MAP135_NPC_1"
+msgstr "¡Sí que dejé mi marca en la montaña el día de hoy!"
+
+msgid "MAP135_NPC_2"
+msgstr "¡Brrr! ¡Has llegado al helado Pueblo Nevisca!"
+
+msgid "MAP135_NPC_3"
+msgstr "Este pueblo siempre es muy silencioso debido a la gruesa capa de nieve. Toma un momento de descanso y mira los copos de nieve descender."
+
+msgid "MAP135_NPC_4"
+msgstr "¡Ey, viejo! ¡Estos trucos son radicales!"
+
+msgid "MAP135_NPC_5"
+msgstr "¿Conoces al Pokémon Alpico? Si tienes uno, ¿me lo cambias por mi Anderind? No tienes ningún Pokémon... ¡Ok, genial! Qué mal."
+
+msgid "MAP135_SIGN_1"
+msgstr "Pueblo Nevisca:\nUna Villa Empolvada de Nieve"
+
+msgid "MAP136_NPC_1"
+msgstr "¿Listos para enfrentar el Gimnasio? Háblalo con tu amigo."
+
+msgid "MAP136_SIGN_1"
+msgstr "Gimnasio de Nevisca.\nLíder: Vaeryn.\nEl Maestro Dragón de la Megaevolución"
+
+msgid "MAP137_NPC_1"
+msgstr "¡Buena suerte a ambos en su combate!"
+
+msgid "MAP137_NPC_2"
+msgstr "Vaeryn: Una excelente elección."
+
+msgid "MAP137_SIGN_1"
+msgstr "¿Presionar el botón?"
+
+msgid "MAP137_SIGN_2"
+msgstr "¿Presionar el botón?"
+
+msgid "MAP137_TRAINER_1"
+msgstr "Muy bien. Has completado la primera parte de la prueba. Ahora, ¡intenta vencer mi fuerza en combate! Bien hecho. Has completado la prueba de Fuerza. Continúa."
+
+msgid "MAP137_TRAINER_1_DEFEAT"
+msgstr "Has mostrado tu fuerza."
+
+msgid "MAP137_TRAINER_2"
+msgstr "Muy bien, veo que has usado tu mente para pensar de forma crítica y lograr navegar esta prueba. Ahora, ¡prueba tu sabiduría para contrarrestar mis estrategias! Has superado la prueba de Sabiduría. Sígueme y te llevaré a tu siguiente prueba."
+
+msgid "MAP137_TRAINER_2_DEFEAT"
+msgstr "Bien hecho."
+
+msgid "MAP137_TRAINER_3"
+msgstr "Excelente trabajo. has demostrado que tienes fe en tus habilidades. Pero, ¿tendrás fe en tus Pokémon? Por poner tu fe en la intuición de tus Pokémon, les has permitido mostrar de lo que son capaces. Has superado la prueba de Fe. Sígueme."
+
+msgid "MAP137_TRAINER_3_DEFEAT"
+msgstr "Bien hecho."
+
+msgid "MAP139_NPC_1"
+msgstr "¡Esquivo tus ataques con mis técnicas ninja! ¡Sin que te des cuenta me escabullo tras de ti y te duermo con mi gas adormecedor!"
+
+msgid "MAP139_NPC_2"
+msgstr "¡Soy un feroz pirata del mar! ¡Yarr! ¡Te cortaré con mi espada, pez escurridizo!"
+
+msgid "MAP139_NPC_3"
+msgstr "Dejo que los chicos jueguen a los piratas y los ninjas... Pero la verdad me gustaría que no lo hicieran. Aquí en Tándor Oriental los piratas dominan el océano, y nadie sabe qué traman los ninjas..."
+
+msgid "MAP139_NPC_4"
+msgstr "Daikatuna es un Pokémon preferido por los Ninjas. Creo que se remonta a tradiciones desde la guerra de los clanes en Tándor. Para atrapar a un Daikatuna, tienes que usar un sedal metálico y una carnada especial. De otra forma simplemente se escaparán cortando el sedal."
+
+msgid "MAP139_NPC_5"
+msgstr "A veces, después de navegar por mucho tiempo, escucho una voz bella y dulce llamando mi nombre. El Pokémon Syrentide tiene una voz casi humana y apariencia femenina. Tienta a los marineros extraviados y los lleva a su perdición."
+
+msgid "MAP139_NPC_6"
+msgstr "¿Conoces el movimiento Poder Oculto? El Tipo del ataque es diferente para cada Pokémon. Tengo la habilidad de saber qué Poder Oculto tiene un Pokémon solo con mirarlo. ¿Quieres que revise a un Pokémon? ¿Quieres que revise otro Pokémon? Muéstrame un Pokémon si quieres saber su Poder Oculto. Muéstrame un Pokémon si quieres saber su Poder Oculto."
+
+msgid "MAP140_NPC_1"
+msgstr "Lo siento, pero no es seguro ir a esta ruta por tu cuenta por ahora."
+
+msgid "MAP140_NPC_2"
+msgstr "Lo siento, pero no es seguro ir a esta ruta por tu cuenta por ahora."
+
+msgid "MAP140_NPC_3"
+msgstr "Estamos trabajando un una manera segura de poder acercarse a la planta nuclear destruida. Un traje que proteja todo el cuerpo es necesario. Nuestros mejores investigadores están elaborando uno ahora mismo."
+
+msgid "MAP140_NPC_4"
+msgstr "No hay forma de que esto sea solo un accidente... La Planta Nuclear Zeta era completamente funcional hace solo un par de días, y además ocurrió tan pronto después del incidente en Miraplaya... Nuestros operadores en Miraplaya están trabajando día y noche. Tuvimos que pedir refuerzos a los Rangers Orientales."
+
+msgid "MAP140_NPC_5"
+msgstr "Vaya... Los Rangers simplemente no estábamos preparados para lidiar con algo así... Generalmente nuestros Capturadores Ranger nos permitirían calmar a los Pokémon violentos y usar sus poderes para el bien. ¡Pero los Capturadores no funcionan con los Pokémon Nucleares! Ahora dependemos de nuestros Pokémon acompañantes y la ayuda de voluntarios."
+
+msgid "MAP140_NPC_6"
+msgstr "¡Nos has salvado! ¡Muchas gracias! Tenía tanto miedo... Escuché lo que sonaba como un terremoto o una explosión así que me escondí... cuando me di cuenta de lo que ocurría, el pueblo ya había sido evacuado. Me alegro de que los Rangers llegaran entonces."
+
+msgid "MAP140_NPC_7"
+msgstr "¡Guaaaau! ¡Fuiste tan genial! ¿Eres un Maestro Pokémon? ¡Quiero ser un Ranger cuando crezca!"
+
+msgid "MAP140_NPC_8"
+msgstr "Déjame comprobar tu condición física. Es posible que hayas contraído envenenamiento por radiación. ... Pareces estar bien. Solo tuviste una exposición de unos minutos, a una distancia considerable del epicentro, de forma que no respiraste mucho aire contaminado. Ten estas pastillas de Yoduro de Potasio. Prevendrán cualquier tipo de daño a largo plazo."
+
+msgid "MAP141_NPC_1"
+msgstr "No había presenciado un combate tan intenso en muchos años. Está claro que ambos han emprendido un increíble viaje. Ahora el poder de la Megaevolución les pertenece. Úsenlo sabiamente, tomando en cuenta las enseñanzas que les han dejado las pruebas."
+
+msgid "MAP141_SIGN_1"
+msgstr "Acólito: Esta prueba evaluará tu habilidad para adaptarse a cambios rápidos: Para un buen Entrenador, los elementos naturales no deberían ser una amenaza en el camino a la perfección."
+
+msgid "MAP141_TRAINER_1"
+msgstr "Has mostrado que las fuerzas de la Madre Naturaleza no son suficientes para detenerte. ¡Vénceme y demuestra que tu adaptabilidad se aplica también a tu estilo de combate! Has superado la prueba de Adaptabilidad. Sígueme y te llevaré a tu siguiente prueba."
+
+msgid "MAP141_TRAINER_1_DEFEAT"
+msgstr "Bien hecho."
+
+msgid "MAP141_TRAINER_2"
+msgstr "Has llegado hasta aquí, tras superar arduos juicios, y por fin has alcanzado la verdad. Esta será tu prueba final. No tienes permitido el uso de objetos durante nuestro combate. Simplemente ten fe en las habilidades de tus Pokémon y ¡sigue adelante sin mirar atrás! Has completado las cinco pruebas. Tienes lo necesario para enfrentar al Líder de Gimnasio Vaeryn. Acompáñame."
+
+msgid "MAP141_TRAINER_2_DEFEAT"
+msgstr "Bien hecho."
+
+msgid "MAP141_TRAINER_3"
+msgstr "Vaeryn: Desafiantes.\nMis acólitos me han hecho saber que ustedes han completado las cinco pruebas. Han demostrado gran fuerza de voluntad al llegar tan lejos. Fuerza, Sabiduría, Adaptabilidad, Fe, y estar dispuestos a buscar la Verdad... esas son las características de un Entrenador de corazón. Solo aquellos que sean puros de corazón y estén llenos de determinación pueden considerarse dignos del poder de la Megaevolución. Teo: ¡Así es!\n¡Y ahora PN y yo combatiremos contra ti! Vaeryn: ¡SOY VAERYN EL DRAGÓN!\n¡Árbitro de la Megaevolución en Tándor!\nPuede que hayan pasado las pruebas, ¡pero un juicio final los aguarda! ¡Demuéstrenme que son dignos! ¡PN y Teo obtuvieron la Medalla Cúspide! Teo: ¡¡Genial!! Vaeryn: También son merecedores\nde esta MT. Vaeryn: Esa MT contiene Aliento Letal. Es un poderoso movimiento de tipo Dragón que despoja al oponente de sus defensas. Ahora bien... Teo: ¿Ya podemos Megaevolucionar a nuestros Pokémon? Vaeryn: Así es, ya es hora. Extiendan sus muñecas. ¡PN y Teo obtuvieron las Megapulseras! Vaeryn: Les explicaré brevemente cómo funciona la Megaevolución. Esa Piedra activadora en su pulsera es un catalizador. Cuando un Pokémon capaz de Megaevolucionar lleva la Megapiedra que le corresponde, las dos piedras reaccionarán cuando el combate se intensifique. Su unión con sus Pokémon les permite alcanzar su pleno potencial. Ahora, ¿ambos tienen a un Pokémon capaz de Megaevolucionar? Teo: ¡Sí! ¡Voy a Megaevolucionar a mi confiable Electruxo! ¡Teo recibió la Electruxolita! Teo: ¡Sí! ¡Voy a Megaevolucionar a mi confiable Archilles! ¡Teo recibió la Archillesita! Teo: ¡Sí! ¡Voy a Megaevolucionar a mi confiable Metalynx! ¡Teo recibió la Metalynxita! Vaeryn: Muy bien. ¿Qué hay de ti, PN? Vaeryn: Una excelente elección. PN equipó a con la Megapiedra. El Objeto que llevaba fue guardado en la Bolsa de PN. [El Pokémon ha sido movido al primer lugar del Equipo] Vaeryn: Oh, ¿sin Pokémon para Megaevolucionar? Es una lástima... Pero de verdad necesitarás a un Pokémon capaz de Megaevolucionar para tu primer combate. Te prestaré a mi Ampharos para la ocasión. Por favor, elige a un Pokémon a reemplazar. [Ampharos ha sido movido al primer lugar del Equipo] Teo: ¡Hagámoslo!\nPN, ¡atacaré con toda mi fuerza y el poder de la Megevolución! ¡Mejor prepárate! ...Bueno... ¡parece que perdí de nuevo, jaja! Algunas cosas nunca cambian, aún usando la Megaevolución. Aunque claro está, también tenías a un Mega de tu lado, así que no me sorprende. Teo: ...¡Lo logré! ¡Vencí a PN!\nOh, también peleaste muy bien.\n...No puedo creerlo, ¡gané! ¡Y todo gracias a Electruxo! ...Bueno... ¡parece que perdí de nuevo, jaja! Algunas cosas nunca cambian, aún usando la Megaevolución. Aunque claro está, también tenías a un Mega de tu lado, así que no me sorprende. Teo: ...¡Lo logré! ¡Vencí a PN!\nOh, también peleaste muy bien.\n...No puedo creerlo, ¡gané! ¡Y todo gracias a Archilles! ...Bueno... ¡parece que perdí de nuevo, jaja! Algunas cosas nunca cambian, aún usando la Megaevolución. Aunque claro está, también tenías a un Mega de tu lado, así que no me sorprende. Teo: ...¡Lo logré! ¡Vencí a PN!\nOh, también peleaste muy bien.\n...No puedo creerlo, ¡gané! ¡Y todo gracias a Metalynx! Vaeryn: Felicitaciones. No había presenciado un combate tan intenso en muchos años. Está claro que ambos han emprendido un increíble viaje. Ahora el poder de la Megaevolución les pertenece. Úsenlo sabiamente, recordando las enseñanzas que les han dejado las Pruebas. Teo: ¡Eso haré! Vaeryn: Muy bien.\nLes deseo mucha suerte en sus viajes. [Ampharos abandonó el equipo de PN.] Teo: PN, creo que deberíamos decirle al Profe sobre la Megaevolución. ¡Va a estar entusiasmado! Lo llamaré ahora mismo por el PokéPod. Bamb'o: ¿Hola? ...¿Teo? Teo: ¡Profe! ¡Estoy con PN! Bamb'o: Oh, pero miren nada más, ¡también está PN! Y bien, ¿qué hay de nuevo? Teo: ¡No creerás esto! ¡PN y yo acabamos de vencer al Líder de Gimnasio Vaeryn! ¡Y nos dio las Megapulseras! ¡¡Ahora podemos usar el poder de la Megaevolución!! Bamb'o: ¿Megaevolución? ¡Fantástico! Entonces necesitaré actualizar sus Pokédex. Por lo que veo están en Nevisca, así que volaré allá de inmediato. Teo: ¡De acuerdo!\n¡Nos vemos pronto, Profe! ...... ...... Bueno, PN...\n¡Nos volveremos a ver! ¡Hasta pronto!"
+
+msgid "MAP141_TRAINER_3_DEFEAT"
+msgstr "Ambos han demostrado ser dignos del poder de la Megaevolución."
+
+msgid "MAP142_SIGN_1"
+msgstr "Cueva Cometa"
+
+msgid "MAP142_SIGN_2"
+msgstr " - Pueblo Lionte"
+
+msgid "MAP142_TRAINER_1"
+msgstr "¡Por fin, ha aparecido un Entrenador!\n¿Tienes la más mínima idea de cuánto llevo esperando?"
+
+msgid "MAP142_TRAINER_1_DEFEAT"
+msgstr "Oh... Hora de esperar al siguiente."
+
+msgid "MAP142_TRAINER_2"
+msgstr "Las hojas de otoño son bonitas, pero extraño las playas de Miraplaya..."
+
+msgid "MAP142_TRAINER_2_DEFEAT"
+msgstr "¡Ey, no puedes tratar así a una dama!"
+
+msgid "MAP142_TRAINER_3"
+msgstr "¡Ey, fuera de mi playa!"
+
+msgid "MAP142_TRAINER_3_DEFEAT"
+msgstr "¿Por qué invadiste mi playa?"
+
+msgid "MAP142_TRAINER_4"
+msgstr "Si me lo preguntas, ¡el Claro Tancoon es la ruta más bonita de Tándor!"
+
+msgid "MAP142_TRAINER_4_DEFEAT"
+msgstr "Es tan relajante aquí que ni me molesta haber perdido."
+
+msgid "MAP142_TRAINER_5"
+msgstr "Ey, ¿me ayudas con las direcciones? Creo que me desvié en Viñedo..."
+
+msgid "MAP142_TRAINER_5_DEFEAT"
+msgstr "Primero me pierdo, luego pierdo un combate Pokémon... debería convertirme en un Científico y quedarme en mi casa."
+
+msgid "MAP142_TRAINER_6"
+msgstr "???: ¡Hai-ya! ???: ¿Quién es? ???: ¡Este es nuestro territorio! ???: ¡Atrás, intruso! ???: ¡Los Ninjas Surfistas acabá contigo! Ronin: Ganaste esta vez, pero no celebres... Juunin: ¡Nuestro clan nos vengará! Ronin: ¡Duerme con un ojo abierto!"
+
+msgid "MAP142_TRAINER_6_DEFEAT"
+msgstr "Ronin: ¡Hermano, es muy fuerte!"
+
+msgid "MAP143_NPC_1"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_10"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_2"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_3"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_4"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_5"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_6"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_7"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_8"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_NPC_9"
+msgstr "¿Recolectar las bayas de este árbol?"
+
+msgid "MAP143_SIGN_1"
+msgstr "Los insectos son voraces.\nCUI AD ON LA EIKA ATER ...\nTiene tantos rasguños que es ilegible..."
+
+msgid "MAP143_SIGN_2"
+msgstr "Carpa de Superentrenamiento\nTutor: Daichi"
+
+msgid "MAP143_TRAINER_1"
+msgstr "¡Te doy la bienvenida a la Jungla de Baykal! ¿Es ésta tu primera vez aquí? ¡Hora del combate!"
+
+msgid "MAP143_TRAINER_1_DEFEAT"
+msgstr "¡Auch! ¡Y eso es la selección natural!"
+
+msgid "MAP143_TRAINER_2"
+msgstr "¡Oh, debes tener Pokémon de todas partes de la región! ¡Déjame verlos!"
+
+msgid "MAP143_TRAINER_2_DEFEAT"
+msgstr "¡Ya veo, ya veo!"
+
+msgid "MAP143_TRAINER_3"
+msgstr "El camino a Pueblo Amaukari es largo. No sé si pueda lograrlo..."
+
+msgid "MAP143_TRAINER_3_DEFEAT"
+msgstr "Pereceré en esta jungla."
+
+msgid "MAP143_TRAINER_4"
+msgstr "Teo: ¡Hey!\n... ¡Derroté a Sheldon! Fue fácil. Parece que ya te has encargado de este lugar. Como sea. ¡Luego te alcanzaré! Bamb'o vino a verme. Me dio esta MO y me dijo que te diera una copia a ti... ¡Pero no quiero hacerlo! ¡Primero quiero un combate contigo!"
+
+msgid "MAP143_TRAINER_4_DEFEAT"
+msgstr "¡¡No es justo!!"
+
+msgid "MAP143_TRAINER_5"
+msgstr "Teo: ¡Hey!\n... ¡Derroté a Sheldon! Fue fácil. Parece que ya te has encargado de este lugar. Como sea. ¡Luego te alcanzaré! Bamb'o vino a verme. Me dio esta MO y me dijo que te diera una copia a ti... ¡Pero no quiero hacerlo! ¡Primero quiero un combate contigo!"
+
+msgid "MAP143_TRAINER_5_DEFEAT"
+msgstr "¡¡No es justo!!"
+
+msgid "MAP143_TRAINER_6"
+msgstr "¡Les parfums de Kalos sont les meilleur!"
+
+msgid "MAP143_TRAINER_6_DEFEAT"
+msgstr "¡Esto no me huele nada bien!"
+
+msgid "MAP143_TRAINER_7"
+msgstr "¡Cuando entro a la jungla, siento que estoy en otro planeta!"
+
+msgid "MAP143_TRAINER_7_DEFEAT"
+msgstr "¡Buaaaaaaa!"
+
+msgid "MAP143_TRAINER_8"
+msgstr "Oh, ¡espero que no me muerdan esos peces Pokémon! Tienen dientes filosos."
+
+msgid "MAP143_TRAINER_8_DEFEAT"
+msgstr "Solo estaba conversando contigo, ¿por qué me atacas de la nada?"
+
+msgid "MAP144_NPC_1"
+msgstr "Cada día me voy al trabajo en una góndola. ¡Es genial vivir aquí!"
+
+msgid "MAP144_NPC_10"
+msgstr "¿De casualidad no viste un Gargryph por aquí? No me asustan."
+
+msgid "MAP144_NPC_11"
+msgstr "¿Por qué el agua es tan azul? En mi sueño, era violeta, rosa ¡y más!"
+
+msgid "MAP144_NPC_12"
+msgstr "Purr..."
+
+msgid "MAP144_NPC_2"
+msgstr "¿Has visto la Ópera de Venesí? Es uno de nuestros más importantes lugares en la ciudad."
+
+msgid "MAP144_NPC_3"
+msgstr "¡Lo vi! ¡Vi a un Pokémon que era un ave blanca! Pero entonces desapareció..."
+
+msgid "MAP144_NPC_4"
+msgstr "¿No te parece que esas estatuas parpadean de vez en cuando?"
+
+msgid "MAP144_NPC_5"
+msgstr "¿Ves esas estatuas? Dicen que son los guardianes de la ciudad."
+
+msgid "MAP144_NPC_6"
+msgstr "¿No has paseado en góndola todavía? Deberías intentarlo."
+
+msgid "MAP144_NPC_7"
+msgstr "Condenadas ratas... ¡La ciudad está infestada de ellas! ¡Dejan sus garabatos por todas las paredes!"
+
+msgid "MAP144_NPC_8"
+msgstr "Dime, ¿conoces un Pokémon llamado Titanice? Estoy buscando uno. Te daré un Gargryph a cambio. No tienes ningún Pokémon... Ok, ¿qué tienes? ¡Cuídalo bien! Wuii, ¡tengo a un Titanice feliz! Eso no es un Titanice... ¡No intentes engañarme!"
+
+msgid "MAP144_NPC_9"
+msgstr "Venesí es famosa por muchas cosas.\nArte, teatro, y lo más importante, ¡los canales!"
+
+msgid "MAP144_SIGN_1"
+msgstr "Bienvenidos a Venesí\nLa Hermosa Ciudad en el Agua"
+
+msgid "MAP144_SIGN_2"
+msgstr "El Tancoon Alegre:\n¡El famoso Bar de Ciudad Venesí!"
+
+msgid "MAP144_SIGN_3"
+msgstr "Ópera y Gimnasio de Venesí."
+
+msgid "MAP145_NPC_1"
+msgstr "Alguien perdió a su Eevee dentro del Laberinto y la Policía de Tándor está investigando. No puedes entrar en la cueva por el momento."
+
+msgid "MAP145_SIGN_1"
+msgstr "Ciudad Venesí al frente."
+
+msgid "MAP145_TRAINER_1"
+msgstr "¡Puedo ver tu derrota en las cartas!"
+
+msgid "MAP145_TRAINER_1_DEFEAT"
+msgstr "¡Ya veo, ya veo!"
+
+msgid "MAP145_TRAINER_2"
+msgstr "¡A un lado, plebeyo! ¡Bloqueas mi vista!"
+
+msgid "MAP145_TRAINER_2_DEFEAT"
+msgstr "¡¿Me ha derrotado un simple plebeyo?!"
+
+msgid "MAP145_TRAINER_3"
+msgstr "¡Hey, tú! ¿De qué lado estás?"
+
+msgid "MAP145_TRAINER_3_DEFEAT"
+msgstr "Obviamente no estás de mi lado..."
+
+msgid "MAP145_TRAINER_4"
+msgstr "Oh, ¡me encontraste tomando el sol! Supongo que es hora de un combate."
+
+msgid "MAP145_TRAINER_4_DEFEAT"
+msgstr "Este estrés le hace mal a mi piel."
+
+msgid "MAP145_TRAINER_5"
+msgstr "¿Quieres ver un truco? ¡Puedo tragar fuego!"
+
+msgid "MAP145_TRAINER_5_DEFEAT"
+msgstr "¡Au, me quemé la lengua!"
+
+msgid "MAP145_TRAINER_6"
+msgstr "¿Ves lo que veo?"
+
+msgid "MAP145_TRAINER_6_DEFEAT"
+msgstr "¡No puedo creerlo!"
+
+msgid "MAP145_TRAINER_7"
+msgstr "Vine desde las montañas al norte, en busca de Entrenadores desafiantes."
+
+msgid "MAP145_TRAINER_7_DEFEAT"
+msgstr "¡Me he derrumbado!"
+
+msgid "MAP145_TRAINER_8"
+msgstr "¡Me recuerdas a alguien que vi en televisión!"
+
+msgid "MAP145_TRAINER_8_DEFEAT"
+msgstr "Estoy confundiendo la ficción con la realidad otra vez..."
+
+msgid "MAP145_TRAINER_9"
+msgstr "Teo: Eres tú, PN. Me imagino que Bamb'o te envió aquí. Estoy entrenando para desafiar el Gimnasio de Venesí, que seguro ya venciste. ...Sí, eso pensé. Hace no mucho me hubiese molestado, y me hubiese puesto a llorar. Pero... creo que los eventos recientes han puesto todo en perspectiva. Así que bueno, ahora solo intento volverme mejor Entrenador cada día. Pero antes, ¿quieres combatir? ¡Muy bien, hagámoslo! Lo entiendo. Mis Pokémon también están cansados de tanto entrenar. ¡Solo avísame si decides combatir! ¡Les vendría bien un desafío! Oh, por cierto, el profesor Bamb'o me pidió que te recordara que fueras al norte, por esa cueva. ¡Te alcanzo después!"
+
+msgid "MAP145_TRAINER_9_DEFEAT"
+msgstr "Siempre eres mucho mejor que yo..."
+
+msgid "MAP146_NPC_1"
+msgstr "Esta aldea existe como símbolo de armonía entre nuestra gente. Nos unimos para construirla como una muestra de paz después de cientos de años en guerra."
+
+msgid "MAP146_NPC_2"
+msgstr "¡Entreno para ser un Maestro Ninja! ¡He desarrollado mi propia técnica! ¡Escupitajo Ninja!\n¡*Jag tup*!"
+
+msgid "MAP146_NPC_3"
+msgstr "No hay nada como observar la serenidad del océano de noche.\nEl gentil reflejo de la luna y las estrellas.... Alivia a esta vieja alma..."
+
+msgid "MAP146_NPC_4"
+msgstr "Siempre hay al menos 10 ninjas merodeando por esta aldea.. Simplemente no puedes vernos la mayoría del tiempo."
+
+msgid "MAP146_NPC_5"
+msgstr "En esta aldea está el santuario para los Dioses más grande de todo Tándor. También es el Gimnasio Pokémon."
+
+msgid "MAP146_NPC_6"
+msgstr "¿Que por qué visto negro todo el tiempo? Bueno... ¡porque me hace lucir cool, dah! Además, nadie se da cuenta cuando se ensucia."
+
+msgid "MAP146_NPC_7"
+msgstr "Nosotros los Ninjas estamos trabajando en nuestra imagen.. Todo eso de \"asesinos misteriosos\" no nos ayuda con las relaciones públicas."
+
+msgid "MAP146_NPC_8"
+msgstr "¡Hay tantos estilos diferentes de lucha practicados aquí! Tendré que pasar años entrenando si quiero dominarlos todos."
+
+msgid "MAP146_NPC_9"
+msgstr "Esa estatua representa al raro Pokémon Yatagaryu, el cual es sagrado para los clanes ninjas. Solo pueden entrenarlos aquellos considerados dignos. Dicen que Yatagaryu tiene el poder de invocar tormentas eléctricas a voluntad; por esto es que es llamado \"El Pokémon Tempestad\"."
+
+msgid "MAP146_SIGN_1"
+msgstr "Museo de las Leyendas: Tesoros y Artefactos de Culturas Antiguas."
+
+msgid "MAP146_SIGN_2"
+msgstr "Museo de las Leyendas: Tesoros y Artefactos de Culturas Antiguas."
+
+msgid "MAP146_SIGN_3"
+msgstr "Aldea Tsukinami La Gran y Brillante Luna\nSe Refleja en las Olas del Mar"
+
+msgid "MAP146_SIGN_4"
+msgstr "Estatua del poderoso Daikatuna"
+
+msgid "MAP146_SIGN_5"
+msgstr "Estatua del gran Yatagaryu"
+
+msgid "MAP146_SIGN_6"
+msgstr "Estatua del poderoso Daikatuna"
+
+msgid "MAP146_SIGN_7"
+msgstr "Plaza de Tsukinami Alimentos y Tesoros Peculiares\nTraídos por Vientos Lejanos"
+
+msgid "MAP146_SIGN_8"
+msgstr "Templo Sagrado y Gimnasio Pokémon\nde Tsukinami"
+
+msgid "MAP147_NPC_1"
+msgstr "¡Hey, joven!\nEste es el sexto gimnasio a vencer para el Reto de los Gimnasios de Tándor, y ¡vaya que me desorienta! Tendrás que confiar en tu astucia para vencer. ¡Los pisos pulidos resbaladizos harán que te deslices por todo el lugar! Y no solo eso, ¡también tendrás que enfrentar trampillas y disfraces por doquier! Y ni hablar del líder de gimnasio... ¡Nadie sabe quién podrá ser! Pero al parecer usa muchos Pokémon de tipo Psíquico... ¡Buena suerte!"
+
+msgid "MAP147_TRAINER_1"
+msgstr "El amor no mira con ojos, sino con la mente."
+
+msgid "MAP147_TRAINER_1_DEFEAT"
+msgstr "¡Oh, cómo duele mi corazón!"
+
+msgid "MAP147_TRAINER_2"
+msgstr "Y por sobre todas las cosas: ¡Sé fiel a ti mismo!"
+
+msgid "MAP147_TRAINER_2_DEFEAT"
+msgstr "En verdad estupendo."
+
+msgid "MAP147_TRAINER_3"
+msgstr "El necio se cree sabio, pero el sabio sabe que es un tonto."
+
+msgid "MAP147_TRAINER_3_DEFEAT"
+msgstr "¡Me han vencido!"
+
+msgid "MAP147_TRAINER_4"
+msgstr "Por el picor de mis dedos, algo perverso viene a estos lares."
+
+msgid "MAP147_TRAINER_4_DEFEAT"
+msgstr "Em.. ¿Línea?"
+
+msgid "MAP147_TRAINER_5"
+msgstr "Te desafiaría a un combate de ingenio, pero veo que no portas armas."
+
+msgid "MAP147_TRAINER_5_DEFEAT"
+msgstr "¡Como un zorro astuto, me has superado!"
+
+msgid "MAP147_TRAINER_6"
+msgstr "¡Ajá! ¡Un desafiante se aproxima! Así que has resuelto mi rompecabezas deslizante y superado a mis estudiantes. ¿Pero tienes la sabiduría para resolver un último acertijo? ¡Demuéstralo en combate! Bien hecho. Ya debes haber visto a través de mi disfraz. ¡Es cierto! No soy el verdadero Líder de Gimnasio que buscas. Pero a que no esperabas... ¡ESTO!"
+
+msgid "MAP147_TRAINER_6_DEFEAT"
+msgstr "¡Ajá! ¡Qué astucia! Seguro has notado que algo no cuadra..."
+
+msgid "MAP147_TRAINER_7"
+msgstr "\"Todo el mundo es un escenario; Y todos los hombres y mujeres meros actores; Tienen sus salidas y entradas; Y un hombre en su vida interpreta muchos roles, Siendo sus actos en siete edades\" ???: Déjame contarte una historia. Había una vez una niña que soñaba con ser estrella de ópera. Pero el teatro estaba inmerso aún en las viejas tradiciones, en las que la mujer no tenía derecho de entrar al escenario. Así que se le ocurrió una idea. Cortó su cabello, y se puso ropa de niño, y audicionó como niño. Funcionó. Obtuvo el papel que deseaba, y cuando actuó en el escenario, deslumbró y encantó a todos aquellos que vieron sus obras. Pero esto para ella no fue suficiente. En el mundo del disfraz y el engaño mismo, se cansó de la falsedad más grande de todas. Así que un día, dejó atrás su maquillaje y su ropa de niño. Cuando subió el telón, la audiencia la vio por quien era en realidad: Su más amada estrella, una mujer. La audiencia estaba atónita, porque no podían negar lo que era verdad en sus corazones: Que una mujer podía actuar tan bien como cualquier hombre. Entonces ocurrió el cambio. El teatro modificó su reglamento y las mujeres podrían audicionar. En cuanto a la niña, bueno...\nEsa niña era yo. Soy Rosalind, estrella del escenario y líder del gimnasio de Venesí. Lo has hecho estupendo. Superaste trucos e ilusiones para llegar hasta aquí. Pero... ¿Tienes lo necesario para derrotarme? ¡Que comience el acto final! ¡PN obtuvo la Medalla Drama! Rosalind: No le temas a la grandeza. Algunos nacen grandes, otros alcanzan grandeza, y a otros se les otorga grandeza directamente. No sé a qué categoría perteneces, pero ciertamente hay grandeza en ti. ¡No cabe duda que con tu ingenio y tu fuerza alcanzarás las estrellas! Y por sobre todas las cosas: Sé fiel a tu propio ser. Ten esta MT, como recuerdo de nuestro encuentro. Espacio Raro es un movimiento de astucia y engaño. ¡Encaja con una maestra de la ilusión como yo! Hace que el Pokémon más lento ataque primero por un corto período de tiempo. ¡Úsalo sabiamente!"
+
+msgid "MAP147_TRAINER_7_DEFEAT"
+msgstr "¡Espectacular!\n¡Mereces esta Medalla Drama!"
+
+msgid "MAP148_NPC_1"
+msgstr "¡pn! Que alegría verte por Viñedo. El líder del gimnasio es Sheldon. Él usa la tecnología y los Pokémon de tipo Acero. Está algo fuera de lugar en estas hermosas tierras de cultivo, pero no le digas que dije eso. El acero resiste muchos ataques, pero recuerda que se derrite ante el fuego, los golpes lo deforman, y se fractura con la tierra. El agua también es una buena opción. ¡Buena suerte!"
+
+msgid "MAP148_SIGN_1"
+msgstr "¿Presionar el botón?"
+
+msgid "MAP148_SIGN_2"
+msgstr "¿Presionar el botón?"
+
+msgid "MAP148_SIGN_3"
+msgstr "¿Presionar el botón?"
+
+msgid "MAP148_SIGN_4"
+msgstr "¿Presionar el botón?"
+
+msgid "MAP148_TRAINER_1"
+msgstr "¿Qué tanto sabes sobre computadoras?"
+
+msgid "MAP148_TRAINER_1_DEFEAT"
+msgstr "Obviamente mucho más que yo..."
+
+msgid "MAP148_TRAINER_2"
+msgstr "¡Mira esto! ¡Puedo tocar el tema de Legend of Zelda en mi guitarra! ¿Genial, eh?"
+
+msgid "MAP148_TRAINER_2_DEFEAT"
+msgstr "Fin del juego..."
+
+msgid "MAP148_TRAINER_3"
+msgstr "¡Lololol! ¡Soy una CHICA gamer! Hey, ¡¡¡soy una chica y juego videojuegos!!! o3o"
+
+msgid "MAP148_TRAINER_3_DEFEAT"
+msgstr "¡Aaayyy!"
+
+msgid "MAP148_TRAINER_4"
+msgstr "Los expertos teorizan que, en el futuro, llegaremos a un punto en el cual la tecnología supere en inteligencia a los humanos."
+
+msgid "MAP148_TRAINER_4_DEFEAT"
+msgstr "Si tan solo me permites ajustar los controles espaciales..."
+
+msgid "MAP148_TRAINER_5"
+msgstr "pn. Te he estado esperando. Vaya número el que hiciste en el maizal, ¡casi me impresionas! Aunque fastidiar a Ripley se estaba volviendo rutinario. Todo en este pueblo me aburre. ¡Veamos si eres tan fuerte como opina S51-A! Oh... así que resolviste mis rompecabezas. Bien, lo que sea. Me estaba cansando de esperarte. Este pueblo es tan aburrido. No hay nada que hacer. La gente aquí es tan feliz sembrando y rezando y esas cosas. ¡No lo entienden! ¿No ven que sus vidas carecen de sentido? ¡Argh! ¡Me molesta tanto! Mis Pokémon de Acero están hartos de estar en este estúpido pueblo. ¡Desahogaremos nuestra ira contra TI! Cómo...\n¿Cómo puedes ser tan fuerte? No lo entiendo. Lo único que hago es entrenar, y aun así ganas como si nada... Bien, como sea. Hiciste que mi día fuera ligeramente menos aburrido. Supongo que debo darte esto. ¡pn obtuvo la Medalla Píxel! Y, ya que ganaste, te daré esto. Esa MT contiene Giro Bola. Es un movimiento tipo Acero cuyo poder es inversamente proporcional a la velocidad del usuario. Así que es buena para Gararewl, pero inútil para Tracton. Es un movimiento fuerte, siempre que no lo uses estúpidamente."
+
+msgid "MAP148_TRAINER_5_DEFEAT"
+msgstr "¡¿QUÉ?!"
+
+msgid "MAP150_NPC_1"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Se han escabullido.\nParece que los hiciste enojar... Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_2"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Se han escabullido.\nParece que los hiciste enojar... Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_3"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_4"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_5"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_6"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_7"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_NPC_8"
+msgstr "¡Un enjambre de Pokémon Bicho bloquea tu camino! ...¿Usarás el Insecticida? pn usó el Insecticida. Mejor no molestarlos. Un enjambre de Pokémon Bichos bloquea el camino. Mejor no molestarlos..."
+
+msgid "MAP150_TRAINER_1"
+msgstr "¡Muajaja! ¡Humano insignificante! ¡Ahora estás en el Infraguero!"
+
+msgid "MAP150_TRAINER_1_DEFEAT"
+msgstr "¡Me aplastaste!"
+
+msgid "MAP150_TRAINER_2"
+msgstr "Jiji... Las confusas cavernas del Infraguero... ¿A dónde te llevarán?"
+
+msgid "MAP150_TRAINER_2_DEFEAT"
+msgstr "¿¿Eh??"
+
+msgid "MAP150_TRAINER_3"
+msgstr "¡Este lugar es el sueño de un Cazabichos!"
+
+msgid "MAP150_TRAINER_3_DEFEAT"
+msgstr "Qué mal..."
+
+msgid "MAP150_TRAINER_4"
+msgstr "¡Este lugar es el sueño de un Cazabichos!"
+
+msgid "MAP150_TRAINER_4_DEFEAT"
+msgstr "Qué mal..."
+
+msgid "MAP151_NPC_1"
+msgstr "¿Retarás al gimnasio? El líder no está aquí. De hecho, no ha vuelto desde que se fue a la jungla a entrenar... ...\nEso fue hace ya un buen rato. Mira, eres un Entrenador fuerte, ¿no? Tiko es un maestro del Tipo Fuego. Lo más seguro es que fue a los niveles más profundos del Infraguero a entrenar. Considera el traerlo como parte del desafío para tu medalla.\n¿De acuerdo?....... Así se habla. Tan solo rocía este Insecticida y huirán más rápido que si usaras un Repelente cualquiera."
+
+msgid "MAP151_NPC_2"
+msgstr "Te doy la bienvenida a Amaukari.\nNo son muchos los que atraviesan Baykal y llegan en una pieza, así que felicitaciones."
+
+msgid "MAP151_NPC_3"
+msgstr "Amaukari está aislado del resto de la región. Ni siquiera tenemos electricidad."
+
+msgid "MAP151_NPC_4"
+msgstr "A decir verdad, no nos gusta mucho la tecnología por aquí. Algunos aún usamos bonguris para capturar Pokémon."
+
+msgid "MAP151_NPC_5"
+msgstr "¿Has visto alguno de los bailes de Tiko? ¿No? Jiji... Son encantadores."
+
+msgid "MAP151_NPC_6"
+msgstr "¡Guajaja! Siempre llueve por aquí, pero no tengo problema. ¡Me gusta la lluvia!"
+
+msgid "MAP151_NPC_7"
+msgstr "Aquí en Amaukari no tienes que preocuparte porque el sonido del tráfico no te deje dormir por la noche. ¡Pero sí tienes que preocuparte de los bichos!"
+
+msgid "MAP151_NPC_8"
+msgstr "El Pueblo Amaukari no tiene una Tienda Pokémon en el sentido tradicional. Puedes obtener objetos raros y Pokémon en el Puesto de Trueques, a cambio de bayas."
+
+msgid "MAP151_SIGN_1"
+msgstr "Pueblo Amaukari: La Joya de la Jungla"
+
+msgid "MAP151_SIGN_2"
+msgstr "Gimnasio de Amaukari.\nLíder: Tiko \"El Bailarín en Llamas\""
+
+msgid "MAP152_NPC_1"
+msgstr "Vine aquí a ver si podían entrenarme en el camino Ninja. Pero me destrozaron en el Gimnasio... creo que tengo que entrenar un poco más. Se dice que solo aquellos que han dominado todas las técnicas Ninja pueden entrenar al Pokémon sagrado de Tsukinami. Tengo que atraparlo, ¡si es que quiero atraparlos a todos!"
+
+msgid "MAP152_NPC_2"
+msgstr "Vine a esta aldea para ver el Museo de las Leyendas. ¡Tienen artefactos que datan desde antes de la fundación de Tándor! El Museo de las Leyendas al noroeste de la aldea está lleno de cosas interesantes para un Ruinamaníaco como yo. ¡Hay tantos artefactos y mitos antiguos!"
+
+msgid "MAP152_NPC_3"
+msgstr "La única Planta Nuclear de Tándor Oriental está en el mar al oeste de aquí. Es la última planta que queda en pie en todo Tándor..."
+
+msgid "MAP152_SIGN_1"
+msgstr "La puerta está cerrada."
+
+msgid "MAP152_SIGN_2"
+msgstr "La puerta está cerrada."
+
+msgid "MAP152_SIGN_3"
+msgstr "La puerta está cerrada."
+
+msgid "MAP153_NPC_1"
+msgstr "Esta ciudad es mi última parada antes de la Liga Pokémon. Puede que visite al Pueblo Celesebo antes de irme para atrapar a un Tipo-Agua para mi equipo. ¡Solo me falta una medalla para enfrentar el Campeonato!"
+
+msgid "MAP155_NPC_1"
+msgstr "¡Te doy la bienvenida al Crucero de Lujo! Aquí eres libre de relajarte, y de no preocuparte por cosas como catástrofes nucleares.\nTu cuarto es el último a la derecha. Siéntete libre de explorar la nave y hablar con otros pasajeros."
+
+msgid "MAP155_NPC_2"
+msgstr "¡Tengo que bajarme de este barco apenas se detenga! Puede que haya gente herida por la crisis en la Planta Nuclear Épsilon! Si tan solo fuera tan veloz como esta Garra Rápida. Aunque no me ha sido útil. ¿Qué tal si te la quedas? Necesito ir a ayudar a esas pobres personas en peligro. Si se supone que este crucero me relajara, ¡no está funcionando!"
+
+msgid "MAP155_NPC_3"
+msgstr "Hola, dulzura. Alguna vez fui Entrenadora. ¡Oh, que época tan encantadora! Pero ahora soy anciana, y esta MT ya no me sirve. ¿Crees poder darle un buen uso? Ese es el espíritu. Oh, bueno, seguro encontraré algún Entrenador que la quiera."
+
+msgid "MAP155_NPC_4"
+msgstr "¡Hola, joven Entrenador! ¡Soy el capitán de este barco! ...Urgh, pero estoy mareado... ¡y eso que ni estamos en el océano! ¿Qué puedo hacer? Oí que los masajes en la espalda ayudaban... ¿Le harías un favor a un anciano? Ahhh... mucho mejor. ¿Ah? ¿Querías algo a cambio? Pues no tengo nada. ¡Fuera! Urgh... *se queja*"
+
+msgid "MAP155_TRAINER_1"
+msgstr "Estoy intentando relajarme... ¡Pero no puedo dejar de pensar en lo de Épsilon! Tal vez un combate me ayude a distraerme."
+
+msgid "MAP155_TRAINER_1_DEFEAT"
+msgstr "¡Ugh! ¡No pude concentrarme!"
+
+msgid "MAP155_TRAINER_2"
+msgstr "¡Soy un hombre de las montañas! Estar en un barco me pone enfermo... Y aun así, ¡sigo peleando!"
+
+msgid "MAP155_TRAINER_2_DEFEAT"
+msgstr "Tengo náuseas..."
+
+msgid "MAP155_TRAINER_3"
+msgstr "¡Hey hey! ¿A dónde vas?"
+
+msgid "MAP155_TRAINER_3_DEFEAT"
+msgstr "¡Nyoooo! Perdimos. :(("
+
+msgid "MAP155_TRAINER_4"
+msgstr "Yo utilizo sólo a los Pokémon más FUERTES. Tus débiles Pokémon no podrán contra su enorme FUERZA."
+
+msgid "MAP155_TRAINER_4_DEFEAT"
+msgstr "Creo... creo que necesitaré una toalla."
+
+msgid "MAP155_TRAINER_5"
+msgstr "pn...\nEsto es tonto, pero tengo miedo.\n¡Espera, no! No dije nada. ¡Nunca tengo miedo! ¡Seré el mejor Entrenador de todos! ...Aunque, papá......\n...Yo...... Papá es fuerte.\nTiene Pokémon muy fuertes. Tu papá es un Ranger, ¿cierto? Él ayudará a todos. ¡E-.él tiene que hacerlo! Quiero decir, eh... ¿Q-.quieres combatir? ¡No me importa lo que haya pasado en la planta de energía! ¡En este momento, solo me importa vencerte!"
+
+msgid "MAP155_TRAINER_5_DEFEAT"
+msgstr "¡No! ¡¡¡No es justo!!!"
+
+msgid "MAP156_NPC_1"
+msgstr "Nunca he visto a Kellyn quedarse sin palabras. Vaya... No sabía que tenía hijos. Siempre ha sido tan dedicado a su trabajo. Nunca mencionó nada de una familia. Vaya... No sabía que tenía hijos. Siempre ha sido tan dedicado a su trabajo. Nunca mencionó nada de una familia."
+
+msgid "MAP156_NPC_10"
+msgstr "Hemos designado a la Ruta 11 como reserva natural para restaurar la población de las especies amenazadas de Tándor. Los Entrenadores no pueden atrapar Pokémon allí sin un permiso."
+
+msgid "MAP156_NPC_11"
+msgstr "Los Rangers hacemos mucho trabajo aquí en Tándor. Somos una combinación de policía, equipo de rescate, y protección ambiental."
+
+msgid "MAP156_NPC_12"
+msgstr "¡Soy un nuevo Cadete Ranger! ¡Kellyn es mi ídolo!"
+
+msgid "MAP156_NPC_13"
+msgstr "PN, necesito que le entregues esta carta a Cameron. Está en la isla de la Planta Nuclear. Puedes ir allá tomando el barco en el puerto de la Ruta 07 al sur."
+
+msgid "MAP156_NPC_14"
+msgstr "Esta es la sala de emergencias, donde cuidamos de Pokémon y humanos heridos. Por favor, ten un poco de desinfectante para manos. No queremos que nadie se enferme."
+
+msgid "MAP156_NPC_15"
+msgstr "La mayoría de nuestros pacientes aún está recuperándose. Por favor respeta su espacio."
+
+msgid "MAP156_NPC_16"
+msgstr "*Cof* *Cof*\nMe siento mal..."
+
+msgid "MAP156_NPC_17"
+msgstr "Descansa, cariño. Te traje un poco de sopa."
+
+msgid "MAP156_NPC_18"
+msgstr "Traje a mi hijo aquí por una fiebre en 38. Está mucho mejor ahora, gracias al cuidado de las enfermeras."
+
+msgid "MAP156_NPC_19"
+msgstr "Ésta es la Unidad de Cuidados Intensivos. Lo siento, pero no puedo permitir que entres."
+
+msgid "MAP156_NPC_2"
+msgstr "¡El deber de un Pokémon Ranger es proteger y preservar la belleza natural de Tándor! Tu padre es uno de los-- no, ¡El MEJOR Ranger que tenemos aquí! Todos quieren ser como él."
+
+msgid "MAP156_NPC_20"
+msgstr "Siempre es buena idea tener medicinas a mano. Aunque las bayas ayudan en emergencias. Por favor, ten estos Antídotos, te ayudarán en tu viaje."
+
+msgid "MAP156_NPC_21"
+msgstr "Ow... ten..."
+
+msgid "MAP156_NPC_22"
+msgstr "Encontramos a este pequeño en la Ruta 03.\nUn Entrenador lo envenenó y lo dejó allí..."
+
+msgid "MAP156_NPC_23"
+msgstr "Este edificio tiene un helipuerto en el techo. De esta forma, podemos transportar por vía aérea a pacientes en estado crítico."
+
+msgid "MAP156_NPC_24"
+msgstr "Nunca en mi vida había visto una enfermedad como ésta... ¿Podría estar relacionada con el desastre nuclear?"
+
+msgid "MAP156_NPC_25"
+msgstr "¡Grrrr! ¡Scure! ¿Quieres usar el TLP? ...\n¡PN usó el TLP! GRRR DESGARRAR ROMPER DESTRUIR GRRRR"
+
+msgid "MAP156_NPC_26"
+msgstr "Esta máquina monitorea patrones del clima a lo largo y ancho de la región. Hay una similar en todos los Cuarteles Ranger. Al usar esta máquina para predecir el clima, podemos predecir tormentas y huracanes antes de que ocurran."
+
+msgid "MAP156_NPC_27"
+msgstr "Este es el laboratorio de Investigación y Desarrollo. Los Rangers de Tándor trabajan junto a científicos y expertos para encontrar soluciones a los problemas de la región."
+
+msgid "MAP156_NPC_28"
+msgstr "Los Rangers nos valemos de tecnología de punta para trabajar. Particularmente, usamos Capturadores; una forma no-violenta para calmar y controlar a un Pokémon. Los Capturadores son únicos porque funcionan tanto en Pokémon entrenados como salvajes. Sin embargo, un Pokémon bien entrenado puede resistir el poder de un Capturador. Parece que la fuerza de su lazo con su Entrenador juega un papel en ello."
+
+msgid "MAP156_NPC_29"
+msgstr "¿Así que tu padre es Kellyn, PN? A decir verdad, me sorprendió que fuera padre. Nunca habla de su familia cuando está trabajando."
+
+msgid "MAP156_NPC_3"
+msgstr "No llegamos a formar lazos de unión con nuestros Pokémon, como hacen los Entrenadores. Aunque algunos de los que tenemos Pokémon acompañantes sí."
+
+msgid "MAP156_NPC_30"
+msgstr "Estamos intentando trabajar en una cura para este Tancoon. Parece que la exposición constante a seres humanos ha disminuído su ferocidad. Sin embargo, su pelo y saliva aún contienen trazas de radiactividad. Bamb'o: Así es. Tenemos que buscar una forma de extraer la radiación. Una vez que deje de producir energía radiactiva, sus células comenzarán a regenerarse a un ritmo normal. Estoy seguro que hay una forma de hacerlo, pero no tenemos la tecnología para lograrlo aún... ¡Grrauu!"
+
+msgid "MAP156_NPC_31"
+msgstr "Estoy haciendo los últimos ajustes en el Traje de Seguridad. Estará listo para la próxima misión."
+
+msgid "MAP156_NPC_32"
+msgstr "Te presento el resultado de meses de investigación: ¡el Traje de Seguridad! Basado en modelos de Hoenn, este traje es completamente inmune a la radiación. Contiene también un sistema de filtrado de aire, una radio incorporada, y más. Éste es apenas el primer prototipo. Con el tiempo esperamos poder hacer suficientes para todas las fuerzas Ranger."
+
+msgid "MAP156_NPC_33"
+msgstr "Profesora Cypress: ¡Ah, Ernest! Me imaginé que te encontraría aquí. Bamb'o: Qué bueno verte, Lily. ¿Qué tal va tu investigación? Cypress: Va bien. Estamos progresando con el Traje de Seguridad. Al igual que los nuevos Capturadores Ranger resistentes a la radiación Nuclear, aunque son más difíciles de usar que los Capturadores comunes. En cuanto a desarrollar una cura para los Pokémon Nucleares, tus notas han sido muy útiles. Bamb'o: Estoy feliz de ayudar. PN, déjame decirte lo que descubrí sobre el Tipo Nuclear.\nDime, ¿sabes cómo funcionan las Piedras Elementales? Cada piedra emite una frecuencia específica de radiación electromagnética. Los Pokémon que puedan evolucionar lo harán al ser expuestos a una dosis concentrada de dicha radiación. Cada elemento parece estar relacionado con una frecuencia particular. Ahora bien, la radiación Nuclear está en una frecuencia mucho más alta. Entonces, lo que ocurre es que la exposición a la radiación Nuclear desencadena una evolución parcial en el Pokémon. No cambia su especie, pero su color, ataques y tipo sí. Sus cuerpos no están hechos para ese tipo de evolución, por lo que enloquecen un poco como consecuencia. Por eso son tan violentos. Creo que con terapia y tratamiento podemos curarlos, pero no completamente. Todavía tendrán colores distintos. Pero no te desobedecerán o atacarán. Brillante como siempre, Ernest. Bamb'o: Gracias, Lily. Eso intento."
+
+msgid "MAP156_NPC_34"
+msgstr "Parece que ciertos tipos de Pokémon son más susceptibles a ser infectados que otros. Los tipos Normal, Veneno, Siniestro y Volador son los más vulnerables. Los tipos Bicho, Acero y Fantasma son los menos suceptibles."
+
+msgid "MAP156_NPC_35"
+msgstr "Como ya has de saber, los Rangers usamos Capturadores para neutralizar a los Pokémon violentos. Sin embargo, hasta no hace mucho, no funcionaban con los Pokémon de tipo Nuclear. Pero ahora hemos desarrollado un nuevo prototipo que es mucho más efectivo. No permitirá que el Ranger transmita comandos al Nuclear, pero hará que se calme y caiga dormido."
+
+msgid "MAP156_NPC_36"
+msgstr "En la planta de energía pudimos observar un Pokémon totalmente desconocido. Al menos, suponemos que es un Pokémon. Su nombre es Urayne, y parece ser de tipo Nuclear. Un Legendario Nuclear... y ese tal CURIE debe ser su Entrenador. Aún tratamos de entender cuáles son sus poderes, o de dónde vino. Si tan solo Cameron estuviera despierto... él podría darnos una pista."
+
+msgid "MAP156_NPC_37"
+msgstr "... [Esta Ranger fue alcanzada directamente por la Vida Media de Urayne. Se ve en mal estado...]"
+
+msgid "MAP156_NPC_38"
+msgstr "¿Eres tú, PN?\nY Teo y el Profesor Bamb'o. Me alegra que todos estén aquí. Vinimos tan rápido como pudimos.\n¿Cómo te sientes, Kellyn? Estoy bien. No me expuse tanto a la radia-- *cof* *cof* Por favor, procura no hacer mucho esfuerzo. Recuerda que inhalaste aire radiactivo.\nNecesitas mantener tu ritmo cardíaco\nbajo control. ¡¿Cómo puedo estar tranquilo cuando hay ciudadanos y Pokémon en peligro?!\n*cof*. *cof* Escuchen.. Ahora que sabemos más acerca de a qué nos enfrentamos, he desarrollado un plan.\nEstoy seguro que CURIE está detrás de todas las fallas de reactor. Si logramos detener a CURIE, los ataques a las plantas nucleares se acabarán y podremos empezar a restaurar las áreas afectadas. Esto requiere que sepamos dónde se esconde, claro está... Por suerte, Cameron ha sido de gran ayuda en ese aspecto. ¿Papá...?\nPero... ha estado fuera de combate desde que...\n... Parece que Cam predijo que esto pasaría.\nCuando lo trajimos aquí, encontramos algunos documentos en su chaqueta. Parece que ha pasado un tiempo reuniendo información sobre CURIE y Urayne.\nTambién había una carta. Para Kellyn y los Rangers de Tándor: Ustedes me conocen como Cameron Caine, ingeniero, contratista privado, y padre.\nSin embargo, esa no es toda la verdad sobre mí. Mi verdadero nombre es\nCameron Tempestad. Soy un agente de la Interpol. Hace once años, fui asignado a Tándor, a investigar reportes de experimentos ilegales y peligrosos en Pokémon.\nDurante mi investigación encubierta, fui descubierto,. y el criminal destruyó toda pista y huyó. Hubo pérdidas debido a esto, y aún hoy en día me lamento por eso. Después de mi falla, la Interpol me hizo retirarme prematuramente. Pero nunca olvidaré lo que encontré en esa isla. ¿Papá era un agente secreto?\n¡Guao! ¡ESO ES GENIAL! Siempre fue un tipo algo reservado. Se apareció un día con su hijo en el pueblo, pero...\nNunca entró en detalle sobre su vida o de dónde vino. ... Entonces Cam sabía más sobre la explosión de hace diez años... en la cual Lucille pereció.\n¿Por qué nunca me lo dijo? ... Hay más en la carta. Aunque estaba retirado, no descansaría hasta que los criminales fueran puestos tras las rejas. Sabía que aún debía existir una prueba...\nMe convertí entonces en contratista en el proyecto de la nueva Planta de Energía Épsilon. Usando la construcción de la nueva planta de energía como distracción, planeé investigar las ruinas de la antigua planta en busca de pruebas que demostraran que eso no fue un accidente.\nSin embargo, lo que encontré fue algo mucho más siniestro... ¡Planos y diagramas que detallaban la creación de un Pokémon artificial!\nYa casi tenía todo preparado para enviar un reporte a la Interpol, cuando lo impensable ocurrió.\nUna gran detonación sacudió la isla.\nEn ese momento supe que esto aún no acababa. A duras penas escapé de la explosión, montando a Yatagaryu. Desde el cielo pude verlos... una figura solitaria emergió de los restos de la planta arruinada, acompañada por un Pokémon. Reconocí la máscara que la figura tenía puesta en los diagramas que encontré.\nLa Interfaz CURIE. Un dispositivo de alta tecnología hecho en los laboratorios. Su propósito parece ser el de un comunicador telepático. Transmite los pensamientos y comandos del usuario al Pokémon... Urayne. Un Pokémon hecho por el hombre. Construido para ser una fuente de energía ilimitada. De alcanzar todo su potencial, tendría el poder de dividir átomos.\nSin embargo, para alcanzar dicho potencial, necesita consumir enormes cantidades de combustible nuclear. Para ayudarse, su habilidad le permite sentir la radiactividad,. un \"Sensor Geiger\".\nCreo que Urayne fue creado en esa isla, y estuvo en suspensión por años. El importe de combustible de Uranio a la isla fue lo que lo despertó. Pero... Urayne no estaba solo. Esta persona. No tengo idea de quién es, o cuáles son sus objetivos. Posee la Interfaz CURIE, y parece ser el Entrenador de Urayne. Además, parece que quiere evadir ser visto a toda costa. Esto lo logra empleando el poder de teletransportación de Urayne, Salto Cuántico. Sin embargo, esa habilidad deja un rastro radiactivo cada vez que se usa. Siguiendo las huellas, he podido rastrearlos a través de la región por meses. Que todos me dieran por muerto me hizo más fácil permanecer encubierto. Aunque puedo imaginar lo devastado que se sintió Teo...\nPero, pese al dolor que debí haberle causado, proteger a Tándor era más importante. ¡¿Así que nos dejaste creyendo que estabas muerto?! ¿iCómo pudiste/i, papá? ¡Estaba devastado! Digo, sé que es porque tenías asuntos de agente secreto por hacer, pero...\n¡Pudiste haber enviado una señal!. ¡Algo! Sí.... perder a Cameron fue difícil para todos nosotros. Especialmente para ti, Teo.\nPero el estar extraviado le permitió rastrear a CURIE en secreto. ¡Esta información debería ayudarnos a capturarle y ponerle un fin a todo esto! Al parecer, se ha instalado en las ruinas de la Planta Nuclear Zeta, al norte de Viñedo. Es una locación remota, y la radiación aleja a los intrusos.\nHay una enorme cantidad de combustible nuclear allí, pero no les durará para siempre. Se les acabará eventualmente, y se verán forzados a buscar más combustible. Aún hay un depósito de Uranio en Tándor Oriental. Es allí donde atacarán la próxima vez. Es tiempo de hacer una jugada. Alertaré anónimamente a los Rangers antes de que ataquen, y haré que muevan el combustible nuclear a otra parte.\nSi Urayne llegara a consumir más combustible, podría alcanzar su forma máxima... Un Pokémon con poderes de destrucción ilimitados. Debo hacer todo lo necesario para evitarlo.\nLos Rangers tenderán una trampa a Urayne y CURIE en la Planta Nuclear Ómicron. Se verán forzados a revelarse. Si logran escapar, huirán de nuevo a la Planta Nuclear Zeta. En ese momento, me uniré a los Rangers y confrontaré la amenaza. Tengo que llevar a CURIE a la justicia, ¡por el bien de todos nosotros!\n\n\n- Cameron Tempestad ¿Así termina la carta? Sí, es todo.\nAunque no es todo lo que Cam nos dejó. Parece que tiene muchos datos reunidos acerca de CURIE y Urayne...\nArchivos detallando sus habilidades, debilidades.... parece que ha estado obsesionado con todo esto. Porque tú no lo has estado, ¿eh, Kellyn? ... *cof*. *cof* ...Poniendo eso a un lado,. la información reunida por Cameron demuestra ser invaluable.\nIncluyó una señal de rastreo. Al parecer, durante su combate con CURIE y Urayne, él logró colocarles un geolocalizador. Mis Rangers están escaneando sus frecuencias en este instante. ¡Jefe!\n¡Localizamos la señal!\nViene del oeste, como usted dijo.... Parece originarse desde lo profundo de la Zona de Riesgo de Viñedo. Entonces Cam tenía razón.\nEstán en la Planta Nuclear Zeta.\n¿Está listo el Traje de Seguridad? ¡Listo para su uso, señor! Qué buenas noticias. Esta vez los Rangers tenemos la ventaja. ¡Localizaremos a esos criminales y los detendremos!\nDesearía poder dirigir la misión.... pero...... PN. Normalmente hay un juramento y una ceremonia, pero.... El tiempo es crítico, así que iré al grano.\nTe promuevo a Ranger oficial.. Quiero que dirijas esta misión en mi lugar. Sé que puedes hacerlo. Te has sobrepuesto a todos los desafíos en tu camino. Tienes las ocho medallas. Te has vuelto una persona fuerte, valiente e independiente. Solo quiero que sepas que....\nEstoy enormemente orgulloso.\nNo podría pedir más de ti.\nSolo desearía haber sido un mejor padre. Espero poder pagártelo algún día...\nCuando todo esto acabe. *sniff* E-.estoy tan feliz de que papá esté vivo....\nN-no quiero dejarlo nunca jamás...\nPero... ¡¡Tengo que hacer pagar a CURIE por lo que hizo!!\n¡Kellyn!. ¡Yo también quiero ser un Ranger! Por supuesto, Teo.. Puedes ser promovido para la misión. Entre más Entrenadores fuertes tengamos a nuestro lado, más oportunidades tendremos de vencer a CURIE.\nProfesor, lo necesitamos en el laboratorio. ¡Por supuesto! Estamos cerca de descubrir la cura. ¡Tengo ese presentimiento! ¡Ey, PN!\n¡Seremos Rangers! Sí que es genial, ¿eh? Ustedes dos han demostrado\ntener lo que hace falta.\nTeo, tu acto al oponerte a CURIE fue.... Bueno, fue peligroso.\nPero tu valentía es admirable. ...Ey, ¡no sigas con eso! Apenas descubría que papá seguía con vida, ¡y estaba en problemas!\nNo podía quedarme ahí sin hacer nada. Papá.... Me aseguraré de que tu sacrificio no haya sido en vano.\nY cuando por fin despiertes.... Estaré aquí para decirte que ayudaste a salvar Tándor. Un escuadrón de Rangers los espera en el puerto al oeste en la Ruta 07.\nAllí tomarán un barco, y cruzarán el lago hasta la Ruta 08, los Campos de Trigo.\nEl área ha sido designada como \"Zona de Riesgo\" y necesitarán equipos de protección.\nPor suerte, nuestros investigadores han desarrollado el Traje de Seguridad, que es capaz de proteger de la radiación. Al final de la ruta encontrarán la Planta Nuclear Zeta. La señal localizadora proviene del interior de la Planta.\nTendrán que ir preparados. No sabemos qué les espera."
+
+msgid "MAP156_NPC_39"
+msgstr "... [Cameron está inconsciente\ny no responde.]"
+
+msgid "MAP156_NPC_4"
+msgstr "Kellyn: Fiore, luego Almia, luego Tándor... ¿Ah? Oh, solo estoy recordando el pasado. Kellyn: E-escucha, ¿y si te compro el almuerzo? No, espera, tengo trabajo que hacer. Lo siento. Kellyn: ¿Cómo está mi hermana? ...¿Ha estado jugando en la Wii? Bueno. Kellyn: ¿Sabes? Tu madre... Yo... desearía que la hubieras conocido. Kellyn: *suspiro*"
+
+msgid "MAP156_NPC_40"
+msgstr "El Empirilla de Kellyn no se aparta de su lado. No hay duda de que tienen un vínculo muy fuerte."
+
+msgid "MAP156_NPC_41"
+msgstr "Empi... ¡PN usó el TLP! Jefe herido. ¡Debo proteger a Jefe!"
+
+msgid "MAP156_NPC_42"
+msgstr "Papá... Estoy contigo, así que aguanta, ¿sí?"
+
+msgid "MAP156_NPC_43"
+msgstr "El Yatagaryu de Cameron nos trajo aquí volando más rápido de lo que nunca he volado antes. Está en el helipuerto en el techo. Es demasiado grande para espacios interiores. Aunque sigue intentando entrar para estar con su Entrenador. Eso sí que es un Pokémon leal."
+
+msgid "MAP156_NPC_44"
+msgstr "Soy un médico de campo especializado en hacerme cargo de Rangers heridos. Blissey es mi Pokémon acompañante de la región Almia."
+
+msgid "MAP156_NPC_45"
+msgstr "¡Bliss! ¡Blissey!"
+
+msgid "MAP156_NPC_46"
+msgstr "Debo admitir que.... Con todo lo espeluznante que es Urayne, también es fascinante ver una especie inédita de Pokémon. Vaya.... ¿Dijo que Urayne podía volverse aún MÁS poderoso si obtuviera más combustible? Ya era terriblemente poderoso.... ¡No quiero imaginarme qué tanto más fuerte puede llegar a ser! Haremos todo lo posible por evitar que su poder crezca. Nuestra meta será neutralizar a Urayne y arrestar a su Entrenador, CURIE. Según las notas de Cameron, si Urayne es debilitado, entrará en un estado latente. Una vez removamos su capacidad destructiva, decidiremos qué hacer con él. Los experimentos en Pokémon e intentos para crear vida artificial han sido declarados ilegales desde el incidente de Mewtwo en Kanto.... eso no significa que se hayan acabado.\nPero considero que las circunstancias en las que uno nace no deberían determinar nuestro destino. Sin embargo, si Urayne es como los otros Pokémon de tipo Nuclear, y es una máquina de destrucción sin mente propia.... Pues no nos quedaría más elección que acabar con él permanentemente, por el bien de la región. Espera un segundo.... ¿Acabar con él?\n¿Planeas matarlo? *suspiro* Acabo de decir que no quiero.\nPero algo que puede crear explosiones nucleares con solo pensarlo es una amenaza a la vida como la conocemos.\nSoy Ranger, solo señalo los hechos. Urayne ha atacado y herido a muchas personas, incluyendo algunos de mis mejores Rangers, y- *cof*. *cof* ...Y a ti también. S.... supongo que sí. Confío en tu juicio como Jefe.\nSin embargo, como investigador, preferiría que Urayne pudiera seguir con vida. Un Pokémon completamente inédito podría ser innovador.\nPosiblemente hasta tenga la solución que necesitamos para curar a los afectados por el Tipo Nuclear. Solo podemos esperar y observar."
+
+msgid "MAP156_NPC_47"
+msgstr "¡Hola, PN! ¿Tienes Pokémon Nucleares corruptos que necesiten ser curados? ¡Ok! Aplicaré el tratamiento a tu . No demoraré. ¡Listo! ¡Tu está totalmente curado! Asegúrate de traerme otros Pokémon Nucleares agresivos que tengas para poder curarlos. Si tienes algún Pokémon corrupto, tráelos y los curaré. Recuerda, solo a los Pokémon regulares que hayan sido infectados por exponerse a la radiación. Los Tipo Nucleares originales como Nucleon y Hazma no necesitan tratamiento. Si tienes algún Pokémon corrupto, tráelos y los curaré."
+
+msgid "MAP156_NPC_48"
+msgstr "¡Haaaa-zma! ¿Quieres usar el TLP? ...\n¡PN usó el TLP! ¡Feliz! ¡Feliz de ayudar!"
+
+msgid "MAP156_NPC_5"
+msgstr "Nuestro jefe, Kellyn, no ha sido el mismo desde el accidente de hace diez años... Aquel en el cual perdió a su esposa."
+
+msgid "MAP156_NPC_6"
+msgstr "Te doy la bienvenida al Cuartel General Ranger de Tándor. Ésta es la base para todas nuestras operaciones por Tándor Occidental. ¿Tienes alguna pregunta? Los Rangers estamos dedicados a preservar la paz y proteger el medio ambiente de Tándor. Existimos para proteger a la gente y a los Pokémon de cualquier amenaza. ¡Desde crímenes hasta desastres naturales, puedes contar en los Rangers para ayudarte! Nos diferenciamos de los Entrenadores en que no usamos Poké Balls para atrapar Pokémon. En cambio usamos el Capturador Ranger para usar sus poderes para el bien por un corto periodo de tiempo. Esto reduce el impacto ambiental. ¿Hay algo más sobre lo que quieras saber? A veces Los Rangers de Tándor solicitan ayuda para las misiones a los Entrenadores Pokémon. Sin embargo, necesitas una autorización especial por parte del Jefe Ranger. Para más información sobre estas misiones, por favor habla con el ranger a mi derecha. ¿Hay algo más sobre lo que quieras saber? Los Rangers de Tándor ahora están ayudando a las víctimas de la explosión de origen desconocido que ocurrió en la Planta de Energía Épsilon al sureste de aquí. Ahora mismo, muchas de nuestras fuerzas están ocupadas evacuando la isla. Sin embargo, la contaminación radiactiva llegó al continente, lo cual está teniendo efectos extraños en la fauna. Por favor mantén la calma y refúgiate, o ve a algún lugar lejos del epicentro de la explosión. Todo va bien aquí en Tándor Occidental. Actualmente hay un proyecto de construcción en la isla al sureste de aquí para edificar una nueva planta de energía nuclear. Desde que la anterior falló hace diez años, Tándor Occidental ha tenido que usar fuentes de energía no renovables, como el carbón y el petróleo. Éstas contaminan el medio ambiente. Una vez que esta nueva planta de energía esté completa, planeamos deshacernos de los combustibles fósiles en Tándor Occidental por completo. ¿Hay algo más sobre lo que quieras saber? Ahora mismo, tu padre lidera una misión de rescate en la Planta Nuclear Épsilon al sureste.\nDeberías alejarte tanto de esa zona como puedas. ...¿Eh? ¿Tu padre...?\n¡Oh! ¡Debes referirte a Kellyn! No sabía que él tenía familia.\nPuedes encontrarlo arriba.\nProbablemente se sorprenda de verte. ¿Puedo ayudarte con algo más?"
+
+msgid "MAP156_NPC_7"
+msgstr "La causa tras las explosiones de las plantas nucleares era una persona llamada CURIE... ¿Siquiera es una persona? Siempre usa ese casco extraño. Y esa cosa a su lado-- 'Urayne'. Nunca he visto u oído de Pokémon alguno que se le parezca..."
+
+msgid "MAP156_NPC_8"
+msgstr "El Cuartel General es la base de operaciones de todas las actividades Ranger de Tándor Occidental. Existen otros cuarteles más pequeñas que manejan actividades locales, como la de Tecuelo, y Tándor Oriental tiene un Cuartel General propio.\nLa verdad es que los Rangers como institución son aún muy nuevos en Tándor. Fue hace tres décadas que el Jefe Kellyn y otros Rangers fueron enviados desde la región de Almia para comenzar a operar aquí, y por muchos de esos años aún dependíamos del control directo de los cuarteles en Almia."
+
+msgid "MAP156_NPC_9"
+msgstr "No atrapamos Pokémon como lo hacen los Entrenadores, pero algunos de nosotros tenemos un Pokémon acompañante. Mi acompañante, Staraptor, ha estado conmigo desde que vivía en la región de Almia."
+
+msgid "MAP157_NPC_1"
+msgstr "¿Llegaste aquí en el crucero? Yo también. Supuestamente, en el Gimnasio utilizan el Tipo Acero y la tecnología. En un pueblo como éste, ¿quién lo hubiera pensado? Esta tranquilidad está inquietando a mis Pokémon. Es un ritmo demasiado lento para un Entrenador como yo. Solo venceré el Gimnasio y me iré de aquí."
+
+msgid "MAP157_NPC_2"
+msgstr "Si quieres wi-fi, solo lo encontrarás en dos lugares en el pueblo: aquí y en el Gimnasio. Aunque no creo que a Sheldon le guste compartir su contraseña con cualquiera... Además, ¡la velocidad aquí apesta! Vine a Viñedo porque escuché que había tecnología de punta por aquí. Pero resulta que es solo en el Gimnasio. ¡El resto del pueblo es solo granjas y chiflados religiosos!"
+
+msgid "MAP157_NPC_3"
+msgstr "Luego de lo que pasó en la nueva Planta Nuclear Épsilon en Miraplaya, los Rangers de Tándor están en máxima alerta. Estoy de guardia, pero no parece que vaya a ocurrir nada por aquí. *suspiro* ¿Por qué no me dieron un puesto más interesante?"
+
+msgid "MAP158_NPC_1"
+msgstr "¡Esta tienda solo vende cosas para Pokémon! ¡Lo único que quiero es un emparedado! ¿Es demasiado pedir? Hazme un emparedado."
+
+msgid "MAP158_NPC_2"
+msgstr "La gente de Viñedo prefiere cosechar su propia comida antes de comprarla en una tienda. Por eso este lugar no tiene muchos clientes."
+
+msgid "MAP159_NPC_1"
+msgstr "Pastor: Hola, dulce joven. Veo esa chispa en tus ojos. Tienes curiosidad, ¿cierto? La fe es un elemento que no se expresa a menudo en la vida Tandoriana. Sin embargo, la mayoría de los Tandorianos rinden culto de algún modo, en sus propias maneras. ¿Quieres que te cuente acerca de las leyendas de Tándor? Muy bien. Nosotros los Tandorianos no creemos en una sola deidad, como el Creador de Mil Brazos de Sinnoh. En vez de eso, creemos que el universo se origina desde la nada. Desde esa nada vinieron otras dos criaturas. Blanco y negro, positivo y negativo, pasado y futuro, viento y agua, fuego y relámpago, jale y empuje. Se les otorgan muchos nombres alrededor del mundo. Aquí en Tándor, nuestros nombres para ellos son Aotius y Mutios. Ellos toman muchos Aspectos. Algunos, humanos. Otros, Pokémon. Juntos, criaron a los Pokémon del Metal, Lanthan y Actan. Y le dieron cinco mandatos a los habitantes de Tándor. 1. No uses violencia contra tus enemigos, y ellos no usarán violencia contra ti. 2. No hagas daño a los Pokémon de Tándor y ellos vivirán armoniosamente contigo. 3. Cultiva la tierra y obtendrás sus vastos frutos. 4. El anhelo es el camino a la ruina. 5. Brinda conocimiento a aquellos que lo buscan. Y como ellos ordenaron, nosotros vivimos. El vínculo entre la humanidad y Aotius y Mutios era como el de Pokémon y Entrenadores. Como Pokémon, nosotros obedecemos, escuchamos, protegemos. Gracias por escuchar mi historia, criatura. Ten esto por tu paciencia. El conocimiento siempre espera a aquellos que lo buscan."
+
+msgid "MAP159_NPC_10"
+msgstr "Parte del valor de una MT es determinado por cuántos Pokémon pueden aprenderla. Las MTs como Retribución, Doble Equipo, Poder Oculto, Tóxico, Protección y Atracción pueden ser aprendidas por casi todos los Pokémon."
+
+msgid "MAP159_NPC_11"
+msgstr "Desde el joven más humilde hasta el más poderoso de los reyes, desde el Magikarp más modesto hasta el gran señor Arceus, todos tienen la capacidad de disfrutar de la vida, la existencia."
+
+msgid "MAP159_NPC_12"
+msgstr "Solía pensar que las leyendas de Tándor eran puras patrañas. Pero estuve allí, en las gradas, el día del incidente en el Campeonato, y solo por un instante, pude ver a Actan mientras nos evacuaban. Si una legenda es cierta, ¡tal vez todas lo sean! ¡Alabado sea Arceus!"
+
+msgid "MAP159_NPC_13"
+msgstr "Solía ser una mala persona. Incluso cuando Viñedo estaba en caos, pasaba mi tiempo saqueando y robando. Entonces encontré un pequeño niño, hambriento y lleno de hollín, ofreciendo una baya a un Cottonee herido. Estaba conmovido y vine a buscar redención en la iglesia."
+
+msgid "MAP159_NPC_14"
+msgstr "... [Está susurrando una oración devotamente. Mejor dejarla en paz]"
+
+msgid "MAP159_NPC_15"
+msgstr "Conozco el miedo a la muerte. ¡Lo conocí durante los desastres nucleares!"
+
+msgid "MAP159_NPC_16"
+msgstr "No había oído nunca del Tipo Nuclear hasta que el desastre ocurrió."
+
+msgid "MAP159_NPC_2"
+msgstr "Échale una mirada a los libros al lado del altar, mi niño. Podrían enseñarte algo sobre nuestras creencias."
+
+msgid "MAP159_NPC_3"
+msgstr "¡Aotius, para el viento purificador! ¡Mutios, para el agua purificadora! ¡Y sobre todos ellos, el gran Arceus!"
+
+msgid "MAP159_NPC_4"
+msgstr "Pokémon. Humanos. Dioses. Leyendas. Todos celebran la gloria de la vida."
+
+msgid "MAP159_NPC_5"
+msgstr "La agricultura se ha enseñado en mi familia por generaciones. Nuestras raíces son profundas, como un árbol gigante. Una vida sin Pokémon no daría frutos. Los dioses crearon al Hombre y los Pokémon para trabajar juntos."
+
+msgid "MAP159_NPC_6"
+msgstr "Viñedo es conocido por su pan y su vino. ¡Son tan deliciosos porque son cultivados con amor a la tierra! Tándor tiene un muy buen clima... Podemos cosechar casi todo el año."
+
+msgid "MAP159_NPC_7"
+msgstr "¡Parece que tienes hambre! Ten estas bayas. ¡Cultivamos bayas aquí mismo en Viñedo! Las bayas son para Pokémon, pero, entre tú y yo, ¡también son buenas para los humanos!"
+
+msgid "MAP159_NPC_8"
+msgstr "¡Me encanta el campo! Me siento, cómo decirlo, libre y en armonía con la naturaleza. A veces me gusta solo sentarme afuera... respirar el aire fresco y tocar mis cuerdas... ver cómo se siente la madre naturaleza, ¿me entiendes?"
+
+msgid "MAP159_NPC_9"
+msgstr "Hay una aldea en Unova donde cuatro artistas famosos se juntan para tocar música cada día. Algún día quiero ir. ¿Quieres tomar clases de canto? Déjame escuchar tu voz. ... Vamos, que no te de pena. ... ¡Hey! Me escuchaste, ¿verdad? ¡Quiero escucharte cantar! ... Bueno, supongo que no quieres aprender."
+
+msgid "MAP159_SIGN_1"
+msgstr "Hay un libro llamado \"Leyenda del Océano de Tándor Oriental\". ¿Quieres leerlo? --Leyenda de Tándor Oriental--\nEn Tándor Oriental, en el mar se encuentra un abismo. A veces, cuando navegas en el mar por la noche, puedes ver luces brillando en lo profundo.\nEse es el Pokémon Legendario Baitatao. Algunos dicen que intenta atraer bajo el agua a nadadores que no sospechan, donde les roba la vista. Otros dicen que ilumina el camino para que los viajeros tengan un viaje seguro. El calor de Baitatao es lo que mantiene el mar caliente, para que la vida florezca en él. Es sabio evitar lugares donde el mar brille de noche. Leer es para ñoños."
+
+msgid "MAP159_SIGN_2"
+msgstr "Hay un libro llamado \"Los Tres Pokémon de Metal\". ¿Quieres leerlo? Cuando el mundo fue creado, recién esculpido por los Mil Brazos de Arceus, no había metal. Entonces Groudon, Señor de la Tierra y el Día, partió la tierra con garra imponente, pero el metal debajo era bronce endeble. Cavó más profundo hasta la lava en el núcleo, y allí se encontraban tres huevos. El primero en eclosionar fue el Hermano del Fuego, Heatran. Él creó muchos minerales comunes: Hierro, oro, plata, titanio. De la lava en la Montaña Dura se obtuvieron todos estos valiosos metales para el uso de los humanos. El segundo en eclosionar fue Lanthan. Un Pokémon de Tierra, Lanthan tomó los minerales vagos y raros, sin nombre alguno, y los fijó profundo bajo el suelo. Creó el Monte Lantánido en Tándor Oriental y se fue a dormir dentro. El último en eclosionar fue Actan. Un Pokémon de oscuridad, Actan tomó los minerales más escasos y poderosos, cuya energía peligrosa ardía y resonaba, y emergió del Monte Actínido para enseñarle a los humanos de su uso. Así accedimos a energía que no robamos de los Pokémon, ni obtenemos del fuego, sino que proviene del poder ilimitado del metal radiactivo. Y viendo Actan que los humanos habían aprendido, regresó entonces a su siesta. Leer es para ñoños."
+
+msgid "MAP159_SIGN_3"
+msgstr "Hay un libro llamado \"Creencias Alrededor del Mundo\". ¿Quieres leerlo? En mis viajes a través de varias regiones, he observado creencias similares en varias culturas. La semejanza más notable es entre la creencia Unovana y la creencia Tandoriana. Aunque la distancia entre estas dos regiones es amplia, sus puntos de vista religiosos tienen mucho en común. Los Unovanos creen en dos seres celestiales, uno blanco y uno negro, que se manifiestan como los Pokémon Legendarios Reshiram y Zekrom. Dicen que ayudaron a crear la región. La fe no es tan predominante en Unova si se compara con Tándor. Los Tandorianos también tienen dos seres, llamados Aotius y Mutios. Sin embargo, estos seres son más que Pokémon Legendarios. Son vistos como seres inmortales y abstractos, capaces de tomar Aspectos de humanos y Pokémon. Curiosamente, muchos teólogos de Tándor dicen que Reshiram y Zekrom son Aspectos de Aotius y Mutios. El resto de este libro servirá para analizar este simbolismo, y blah blah blah... ...Es un libro muy largo. Es interesante, pero no tienes tiempo para leerlo todo. Leer es para ñoños."
+
+msgid "MAP159_SIGN_4"
+msgstr "Hay un libro llamado \"La Creación de Todas las Cosas\". ¿Quieres leerlo? Al principio no había nada. Una grieta apareció en el Universo, y de ella salió una neblina blanca y un líquido negro. Se expandieron para llenar cada espacio vacío y formaron la estructura del Universo. Eran opuestos. Anhelaban el contacto, pero no se podían tocar, ya que si lo hacían arriesgaban la aniquilación mutua. De su conflicto explosivo nació toda la materia. Los planetas, la luna, y todas las estrellas en el cielo. Y mediante su abrumador amor, crearon la vida. Su aire llena nuestros pulmones. Su sangre corre por nuestras venas. Gracias a sus extensos poderes, nuestro mundo nació. Leer es para ñoños."
+
+msgid "MAP160_NPC_1"
+msgstr "La gente es muy religiosa por estas partes de la región. Por favor, sé tolerante a las creencias ajenas."
+
+msgid "MAP161_SIGN_1"
+msgstr "No es buena idea robarle comida a una agradable señora."
+
+msgid "MAP161_SIGN_2"
+msgstr "La láptop tiene una colección de fotos borrosas de extrañas formas y luces en el cielo."
+
+msgid "MAP162_TRAINER_1"
+msgstr "¡Jaja, estos rompecabezas deben estar confundiéndote! ¿O no?"
+
+msgid "MAP162_TRAINER_1_DEFEAT"
+msgstr "¡Auch!"
+
+msgid "MAP162_TRAINER_2"
+msgstr "¡Mi videncia me ha mostrado que no me derrotarás!"
+
+msgid "MAP162_TRAINER_2_DEFEAT"
+msgstr "Suerte en tu penoso viaje."
+
+msgid "MAP162_TRAINER_3"
+msgstr "Por fin... he creado... ¡vida!"
+
+msgid "MAP162_TRAINER_3_DEFEAT"
+msgstr "¡Rompiste mi tubo de ensayo!"
+
+msgid "MAP165_NPC_1"
+msgstr "¿Cruzaste el Lago Viñedo por barco? Yo también. Todo este silencio pone a mis Pokémon nerviosos. Solo venceré al Gimnasio y saldré de aquí.\n¿Cómo que no hay un Gimnasio en Valeón?"
+
+msgid "MAP165_NPC_2"
+msgstr "Estoy vigilando. Toda la región está en estado de alerta. *Suspiro* Desearía no tener que hacer esto... Los Rangers no podemos atrapar o entrenar Pokémon, pero la mayor parte de nosotros tiene un Pokémon acompañante."
+
+msgid "MAP166_NPC_1"
+msgstr "Todo lo que vende esta tienda son cosas de Pokémon. ¡Yo solo quiero un emparedado! ¿Es mucho pedir? Hazme un emparedado."
+
+msgid "MAP167_NPC_1"
+msgstr "Sheldon: Yo...\nSiempre dije que me encantaría que Viñedo fuera volada del mapa.... ¡Pero no era literal!\n¡¿Y ahora esto?!"
+
+msgid "MAP167_NPC_10"
+msgstr "Papá: Vaya, ¡me alegra que hayamos llegado a tiempo! PN, creo que debo informarte sobre lo que ha pasado tras toda esta confusión. Papá: La Planta Nuclear Zeta sufrió una fusión nuclear. No sabemos qué la causó, pero suponemos que no fue un accidente. Viñedo ha sido totalmente evacuado, y por suerte no han habido bajas. Sin embargo, no sabemos en qué condiciones están los Pokémon salvajes... De todas formas, se bloqueará el acceso al pueblo hasta que la radiación sea eliminada. Papá: Ahora mismo estamos en Pueblo Valeón. Está cerca de Viñedo, pero estamos a salvo... Papá: ¡Así que venciste a Sheldon! Buen trabajo, ¡con solo dos medallas más podrás registrarte en la Conferencia Occidental! Deberías ir a Pueblo Amaukari, hay un Gimnasio allí. Si tomas el metro a Barullo, ¡seguro llegarás rápido! Papá: ¡Nos vemos, PN!"
+
+msgid "MAP167_NPC_11"
+msgstr "Tengo hambre... ¿cuándo nos traerán comida?"
+
+msgid "MAP167_NPC_12"
+msgstr "No pude vencer al gimnasio de Viñedo... pero supongo que hay cosas más importantes que solo entrenar Pokémon en este momento."
+
+msgid "MAP167_NPC_13"
+msgstr "Esto es un desastre... Toda mi cosecha se ha arruinado..."
+
+msgid "MAP167_NPC_14"
+msgstr "Argh, mi voz está ronca. ¿Será por respirar aire contaminado?"
+
+msgid "MAP167_NPC_15"
+msgstr "El refugio antinuclear en Valeón fue construido como medida de seguridad durante la construcción de las plantas nucleares en Tándor. Aunque no esperábamos que ocurriera algo como esto, estábamos preparados para lo peor. Es muy improbable que ambas plantas nucleares sufrieran fusiones tan poco tiempo una después de la otra... a menos que hubiese algo detrás de todo esto."
+
+msgid "MAP167_NPC_16"
+msgstr "No existen las palabras suficientes para describir la magnitud de esta catástrofe... Hacemos lo posible por no pensar sobre lo ocurrido, para mantenernos en calma. En todo el mundo hay sufrimiento. Sin embargo, el dolor que otros sufren no nulifica las luchas que atravesamos en nuestras propias vidas."
+
+msgid "MAP167_NPC_17"
+msgstr "El Campeonato Regional de Tándor es conocido a nivel mundial por ser uno de los desafíos más fuertes a conquistar para un Entrenador. Cualquiera que lo venza se convertirá en una celebridad por un tiempo. El Campeón del año anterior fue una chica llamada María. Creo que ahora tiene su propio Gimnasio."
+
+msgid "MAP167_NPC_18"
+msgstr "Teo: ...\n... No puedo creerlo... ...Papá..."
+
+msgid "MAP167_NPC_19"
+msgstr "¡Sí! ¡Asombroso! ¡He creado otro invento!\n¡Ten, ten, prúebalo! ¡Es un Guante de Poder!\n¿Esas rocas enormes en el camino? ¡Puedes moverlas como si nada! ¡Un milagro tecnológico!\n¡Ve y empuja rocas por el mundo! Ahora vete, estoy ocupado. Pero pronto... ¡Pronto tendré más herramientas para ti! Vete, estoy ocupado. ¡Pero pronto, pronto tendré más inventos para ti!"
+
+msgid "MAP167_NPC_2"
+msgstr "Teo: *sniff*\nS-.siempre me tratan como a un niño. Papá n-.no haría eso. Papá c-.creería en mí... *sniff* Ripley: Ya, ya.... shhh, está bien. Está en shock. Necesita alguien que lo acompañe. No te preocupes, yo cuidaré de él. Ayuda a los Rangers, te necesitan."
+
+msgid "MAP167_NPC_20"
+msgstr "¡Te doy la bienvenida, Entrenador! Me llamo Kenichi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Defensa.\n¿Te interesaría? Oh... ¿Mi abuelo quiere que regrese al Dojo? ¡De acuerdo! Por favor acepta este regalo como agradecimiento por tu esfuerzo.\n¡Nos vemos! ¡RETIRADA NINJA! No pudiste recibir el objeto. Por favor vuelve cuando tengas espacio. G¡Te doy la bienvenida, Entrenador! Me llamo Kenichi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Defensa.\n¿Te interesaría? ¿Cuál Pokémon desea aumentar su destreza? Regresa si quieres hacerte más fuerte. ¡Tu aumentó sus EVs de Defensa en ! ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! Me temo que no tienes dinero suficiente para entrenar a tus Pokémon. ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! ¡Ohhh!\nEntonces, ¿quieres saber qué son los EVs? ¡Te enseñaré! Los EVs, o Puntos de Esfuerzo por sus siglas en inglés, son puntos que corresponden a una característica en particular. ¡Puedes revisarlos en la pantalla de características de tus Pokémon! Hay seis tipos de EVs: PS, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Los Pokémon pueden incrementar sus EVs permanentemente al vencer a ciertos enemigos. Por ejemplo, vencer a muchos enemigos defensivos aumentará la defensa de tu Pokémon. En este gimnasio, ¡te ofrezco un atajo para facilitar aún más ese entrenamiento! Simplemente presiona C cuando el indicador esté en la parte verde de la barra para golpear el saco de boxeo. Es muy divertido, ¡y hace a tus Pokémon SUPER FUERTES! ¿Entonces, todo listo?"
+
+msgid "MAP167_NPC_21"
+msgstr "Este es el Cuartel y Refugio Ranger de Pueblo Valeón. En este momento, todos nuestros Rangers están ocupados evacuando el área de Viñedo. Si eres un Entrenador fuerte, ¡por favor ayúdanos a combatir a los Pokémon Nucleares de la Ruta 11!"
+
+msgid "MAP167_NPC_3"
+msgstr "Me preocupa qué efectos tendrá esto sobre el ecosistema... La radiación transforma a los Pokémon cuando los toca, ¿no?"
+
+msgid "MAP167_NPC_4"
+msgstr "Mis bayas...\nPasé un año cosechándolas. ¿Qué comeremos ahora?"
+
+msgid "MAP167_NPC_5"
+msgstr "Viñedo...\nHemos vivido ahí desde que éramos niños, ¿no es así? Sí, al igual que nuestros padres.\n¿A dónde iremos ahora...?"
+
+msgid "MAP167_NPC_6"
+msgstr "Anciano: Viñedo... Hemos vivido ahí desde que éramos niños, ¿no es así? Anciana: Sí, al igual que nuestros padres. ¿A dónde iremos ahora...?"
+
+msgid "MAP167_NPC_7"
+msgstr "Esto no es nada cool..."
+
+msgid "MAP167_NPC_8"
+msgstr "¡Buaaaaaaaaaah!\n¡Buaaaaaaaaaaaaaah! ¡Mamáaaaa!"
+
+msgid "MAP167_NPC_9"
+msgstr "Tranquilo, cariño, shhhh.\nTodo estará bien. ...Espero."
+
+msgid "MAP170_NPC_1"
+msgstr "En Amaukari no hay conexión a internet, así que la casa de descanso no tiene una computadora... ¡Demonios! ¡Dejé a mis Pokémon más fuertes allí!"
+
+msgid "MAP170_NPC_2"
+msgstr "Sin computador y sin tienda... ¡Estoy en problemas! Creo que tendré que depender del talento natural de mis Pokémon para salir de ésta."
+
+msgid "MAP171_NPC_1"
+msgstr "Hace muchos años, antes que supiéramos de otras regiones, habían muchas tribus nativas que vivían en el Baykal, que solía cubrir la mayor parte de la región."
+
+msgid "MAP171_NPC_2"
+msgstr "¿Sabías que las antiguas civilizaciones consideraban al Pokémon Coatlith un Legendario? Al menos tenían razón para pensarlo. Realmente se ve impresionante volando entre los árboles..."
+
+msgid "MAP171_NPC_3"
+msgstr "¡Mira lo que encontré en la jungla! A veces da miedo vivir en la jungla, pero de vez en cuando puedes encontrar pequeños tesoros escondidos."
+
+msgid "MAP171_NPC_4"
+msgstr "Déjame hablarte sobre el Infraguero. ¿Te interesa? El Infraguero es una red masiva de túneles oscuros excavados por Pokémon Bicho. Una especie de hormiguero o colmena infernal. Está poblado hasta el tope por Smore, Sponee y Tricwe, y en los niveles más bajos abundan sus formas evolucionadas: Firoke, Sponaree y Harylect. Se dice que en las cavernas más profundas vive su reina, la Seikamater. Se dice también que ella es la madre de todo Smore, Sponee y Tricwe en Tándor.\nNo todos lo creen, pero es lo que dice la leyenda. Los Pokémon Bicho son voraces. El Baykal crece rápidamente, y ellos arrasan con él a la par. Sin embargo, esto no siempre satisface su hambre. ...\nLa próxima parte puede ser no apta para menores. ¿Quieres seguir escuchando? Cada cierto tiempo, un humano desaparece en el Infraguero. Al fin y al cabo, es parte del ciclo de la vida. Entre más pronto dejemos de intentar superar a la jungla, mejor será para todos. Por esto es que recomendamos llevar Pokémon a la jungla. Los peligros de la jungla son muy reales. Hasta los Pokémon salvajes débiles pueden ser abrumadores si atacan cientos a la vez, y los Repelentes no siempre funcionan con ellos. Espero haberte advertido lo suficiente. Está bien. Pero si quieres escuchar los secretos del Infraguero, estaré aquí. Está bien. Pero si quieres escuchar los secretos del Infraguero, estaré aquí."
+
+msgid "MAP171_NPC_5"
+msgstr "Papá siempre habla sobre el Infraguero. ¡Una vez fue abducido por los Bichos! ¿Te lo contó?"
+
+msgid "MAP171_NPC_6"
+msgstr "La gente de Amaukari no querrá tu dinero. Solo les interesan las bayas, que crecen en árboles especiales en la Jungla de Baykal."
+
+msgid "MAP171_NPC_7"
+msgstr "¡Hola! A veces nos llegan cargamentos con objetos de cuidados desde el resto de la región. Los ofrezco al por mayor a cambio de bayas. ¿Quieres hacer un trueque? ¡Vuelve pronto!"
+
+msgid "MAP171_NPC_8"
+msgstr "¡Hola, hola! Cambio objetos raros por bayas. ¿Quieres hacer un trueque? ¡Vuelve pronto!"
+
+msgid "MAP171_NPC_9"
+msgstr "¡Hola, hola! ¡Tengo muchos Pokémon raros capturados aquí en el Baykal! Te los cambiaré por bayas. ¿Quieres hacer un trueque? ¡Vuelve pronto!"
+
+msgid "MAP172_NPC_1"
+msgstr "Hola, PN.\n¿Hoy es el día en que tú y Teo reciben su primer Pokémon, cierto? Teo estaba muy emocionado. E imagino que tú también.\nAhh, recuerdo ese día, hace tantos años... Sí, una vez fui un Entrenador Pokémon como tú. Puede que esté retirado, pero aún recuerdo cómo se sentía.\nSin duda, es un día maravilloso.\n...Si estás buscando a Teo,. me temo que no está aquí.\nYa se fue al Laboratorio Pokémon al norte del pueblo. Él.... se veía algo impaciente. Quizá deberías apresurarte e ir con él."
+
+msgid "MAP173_NPC_1"
+msgstr "¡Te doy la bienvenida, Entrenador! Me llamo Daichi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Ataque Especial. ¿Te interesaría? Oh... ¿Mi abuelo quiere que regrese al Dojo? ¡De acuerdo! Por favor acepta este regalo como agradecimiento por tu esfuerzo.\n¡Nos vemos! ¡RETIRADA NINJA! No pudiste recibir el objeto. Por favor vuelve cuando tengas espacio. G¡Te doy la bienvenida, Entrenador! Me llamo Daichi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Ataque Especial. ¿Te interesaría? ¿Cuál Pokémon desea aumentar su destreza? Regresa si quieres hacerte más fuerte. ¡Tu aumentó sus EVs de Ataque Especial en ! ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! Me temo que no tienes dinero suficiente para entrenar a tus Pokémon. ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! ¡Ohhh!\nEntonces, ¿quieres saber qué son los EVs? ¡Te enseñaré! Los EVs, o Puntos de Esfuerzo por sus siglas en inglés, son puntos que corresponden a una característica en particular. ¡Puedes revisarlos en la pantalla de características de tus Pokémon! Hay seis tipos de EVs: PS, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Los Pokémon pueden incrementar sus EVs permanentemente al vencer a ciertos enemigos. Por ejemplo, vencer a muchos enemigos defensivos aumentará la defensa de tu Pokémon. En este gimnasio, ¡te ofrezco un atajo para facilitar aún más ese entrenamiento! Simplemente presiona C cuando el indicador esté en la parte verde de la barra para golpear el saco de boxeo. Es muy divertido, ¡y hace a tus Pokémon SUPER FUERTES! ¿Entonces, todo listo?"
+
+msgid "MAP174_NPC_1"
+msgstr "Hace muchos años, antes de que supiéramos de otras regiones, habían muchas tribus nativas que vivían en el Baykal, que solía cubrir la mayor parte de la región."
+
+msgid "MAP174_NPC_10"
+msgstr "En el pasado, nadie podía desafiar el dominio de los Clanes sobre el mar. Claro que fue una era muy violenta, pero cuidaban que las aguas estuvieran en orden y que los mercaderes pudieran navegar de forma segura. Ahora que no hay guerra, hay piratas por doquier."
+
+msgid "MAP174_NPC_11"
+msgstr "¿Qué crees que le ocurrió a las personas que vivían en la Jungla de Baykal? ¿Crees que solo... desaparecieron?"
+
+msgid "MAP174_NPC_12"
+msgstr "Vaya... ¡En serio quiero un Yatagaryu! ¿Dónde puedo capturar uno?"
+
+msgid "MAP174_NPC_13"
+msgstr "...¿Quieres saber cómo capturar a Aotius y Mutios? ¡Ja! Escucha, ¿has oído de los Pokémon Ho-oh y Lugia? ¿Latios y Latias? ¿Xerneas e Yveltal? ¿Reshiram y Zekrom? Todos ellos son aspectos de los\nGrandes Espíritus. ¿No me crees? Pregúntale a los Líderes de Gimnasio Hinata y Kaito. Al fin y al cabo, ellos son los avatares mortales de los Dioses..."
+
+msgid "MAP174_NPC_14"
+msgstr "... Gentil, protector, y poderoso... El Pokémon perfecto..."
+
+msgid "MAP174_NPC_15"
+msgstr "¡H-hey! ¿Qué me ves, sabandija? No vengo en busca de problemas, ¿entiendes? Solo miro esas estatuas... Definitivamente no busco evidencia para la capitana. Nop."
+
+msgid "MAP174_NPC_16"
+msgstr "Yoshitaka: Para poder convencer a mis Discípulos de regresar, necesitarás demostrar tu valía en combate. Cada uno de ellos se especializa en una de las seis artes: Resistencia, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Se dice que están por todo Tándor. Aún no has convencido a ninguno de los Maestros para que regresen. Lo entiendo. El peligro está aún lejos. Mejoraré mis habilidades mientras espero su retorno."
+
+msgid "MAP174_NPC_17"
+msgstr "¡Gracias por decirme que regresara! Puedo continuar entrenando a tus Pokémon una vez estén todos mis hermanos aquí."
+
+msgid "MAP174_NPC_18"
+msgstr "¡Gracias por decirme que regresara! Puedo continuar entrenando a tus Pokémon una vez estén todos mis hermanos aquí."
+
+msgid "MAP174_NPC_19"
+msgstr "¡Gracias por decirme que regresara! Puedo continuar entrenando a tus Pokémon una vez estén todos mis hermanos aquí."
+
+msgid "MAP174_NPC_2"
+msgstr "¿Sabías que las antiguas civilizaciones consideraban al Pokémon Coatlith un Legendario? Al menos tenían razón para pensarlo. Realmente se ve impresionante volando entre los árboles..."
+
+msgid "MAP174_NPC_20"
+msgstr "¡Gracias por decirme que regresara! Puedo continuar entrenando a tus Pokémon una vez estén todos mis hermanos aquí."
+
+msgid "MAP174_NPC_21"
+msgstr "¡Gracias por decirme que regresara! Puedo continuar entrenando a tus Pokémon una vez estén todos mis hermanos aquí."
+
+msgid "MAP174_NPC_3"
+msgstr "A veces da miedo vivir en una jungla, pero al menos encuentras cosas útiles en el suelo."
+
+msgid "MAP174_NPC_4"
+msgstr "Déjame hablarte sobre el Infraguero. ¿Te interesa? El Infraguero es una red masiva de túneles oscuros excavados por Pokémon Bicho. Una especie de hormiguero o colmena infernal. Está poblado hasta el tope por Smore, Sponee y Tricwe, y en los niveles más bajos abundan sus formas evolucionadas: Firoke, Sponaree y Harylect. Se dice que en las cavernas más profundas vive su reina, la Seikamater. La Seikamater. Se dice que ella es la madre de todo Smore, Sponee y Tricwe en Tándor -- no todos lo creen, pero es lo que dice la leyenda. Los Pokémon Bicho son voraces. El Baykal crece rápidamente, y ellos arrasan con él a la par. Sin embargo, esto no siempre satisface su hambre. ...\nLa próxima parte puede ser\nno apta para menores. ¿Quieres seguir escuchando? Cada cierto tiempo, un humano desaparece en el Infraguero. Al fin y al cabo, es parte del ciclo de la vida. Entre más pronto dejemos de intentar superar a la jungla, mejor será para todos. Por esto es que recomendamos llevar Pokémon a la jungla. Mejor si son de tipo Fuego. Los peligros de la jungla son muy reales. Cuidado con el Infraguero. Hasta los Pokémon salvajes débiles pueden ser abrumadores si atacan cientos a la vez, y los Repelentes no siempre funcionan con ellos. Espero haberte advertido lo suficiente. Está bien. Pero si quieres escuchar lo demás, estaré aquí. Está bien. Pero si quieres escuchar lo demás, estaré aquí."
+
+msgid "MAP174_NPC_5"
+msgstr "Papá siempre habla sobre el Infraguero. ¡Una vez fue abducido por los Bichos! ¿Te lo contó?"
+
+msgid "MAP174_NPC_6"
+msgstr "Por favor no toques las exhibiciones. Muchas son antigüedades irremplazables."
+
+msgid "MAP174_NPC_7"
+msgstr "Después de que se unieran los clanes Tsuki y Nami, este museo fue construido para conmemorar nuestra cultura. ¡Luego nos expandimos para incluir otras culturas tandorianas!"
+
+msgid "MAP174_NPC_8"
+msgstr "Durante el reinado de los antiguos Reyes, solo la nobleza tenía permitido entrenar Pokémon. Cualquier plebeyo que fuera encontrado entrenando Pokémon era encarcelado o sentenciado a la muerte.\nNo puedo imaginar lo que sería una vida sin Pokémon..."
+
+msgid "MAP174_NPC_9"
+msgstr "¡No me creo que el teatro de Venesí tenga más de 200 años! Eso explica su punto de vista tan tradicional... Aun así, es genial ver a las nuevas generaciones traer cosas nuevas a las viejas tradiciones."
+
+msgid "MAP174_SIGN_1"
+msgstr "Baitatao: La Ira Escaldada Esta poderosa serpiente es tal vez la más conocida de las Leyendas Marinas, debido a un famoso naufragio hace 45 años. Una fragata se perdió, y apareció semanas después con su carcasa a medio derretir, sin un alma a bordo. Muchos propusieron que el hecho señalaba el fin de la hibernación de Baitatao. Sin embargo, los científicos no han podido localizarlo."
+
+msgid "MAP174_SIGN_10"
+msgstr "Aotius y Mutios - Los Dioses de Tándor - Aotius y Mutios son venerados por todo Tándor en múltiples formas. Algunos declaran que son Pokémon, otros dicen que son espíritus amorfos. También se dice que han aparecido por medio de avatares y otorgado poderes y visiones."
+
+msgid "MAP174_SIGN_11"
+msgstr "El pergamino muestra un Pokémon Legendario desconocido, alguna especie de ave..."
+
+msgid "MAP174_SIGN_12"
+msgstr "El pergamino muestra un Pokémon Legendario desconocido, alguna especie de ave..."
+
+msgid "MAP174_SIGN_13"
+msgstr "Maqueta de un Navío de Guerra del\nClan Nami Para poder controlar los mares e islas por toda la región, los Clanes necesitaban armadas poderosas. Estos navíos poseían tecnología y armas de punta, y albergaban armadas de Pokémon de combate equipados para la guerra en el océano."
+
+msgid "MAP174_SIGN_14"
+msgstr "Maqueta de un Navío de Guerra del\nClan Nami Para poder controlar los mares e islas por toda la región, los Clanes necesitaban armadas poderosas. Estos navíos poseían tecnología y armas de punta, y albergaban armadas de Pokémon de combate equipados para la guerra en el océano."
+
+msgid "MAP174_SIGN_15"
+msgstr "Maqueta de un Navío de Guerra del\nClan Nami Para poder controlar los mares e islas por toda la región, los Clanes necesitaban armadas poderosas. Estos navíos poseían tecnología y armas de punta, y albergaban armadas de Pokémon de combate equipados para la guerra en el océano."
+
+msgid "MAP174_SIGN_16"
+msgstr "Armas tradicionales usadas en la guerra entre los clanes Ninja. Esta lanza está hecha con la cola de un Metalynx. Se cree que la caza furtiva de Metalynx para extraer el metal de su cuerpo casi los llevó a la extinción, y es la razón por la que son tan raros el día de hoy."
+
+msgid "MAP174_SIGN_17"
+msgstr "Mapa de Tándor hace 200 años. Tándor fue gobernada por un sistema feudal, con batallas constantes por territorio entre los clanes Tsuki y Nami. Tsuki dominó tierra firme en el occidente, y Nami controlaba las islas del oriente. Los reyes de los clanes demandaban impuestos a sus súbditos. También eran patrocinadores de las artes. Fue así como inició la tradición del Teatro en lo que ahora es Ciudad Venesí."
+
+msgid "MAP174_SIGN_18"
+msgstr "Laissure: El Pokémon Terremoto. Este Pokémon en particular sembró el terror en los antiguos Tandorianos al causar terremotos con sus muchas colas titánicas. Uno en particular fue apodado la \"Bestia de los 1000 Cuernos\" por los aldeanos."
+
+msgid "MAP174_SIGN_19"
+msgstr "Laissure: El Pokémon Terremoto. Este Pokémon en particular sembró el terror en los antiguos Tandorianos al causar terremotos con sus muchas colas titánicas. Uno en particular fue apodado la \"Bestia de los 1000 Cuernos\" por los aldeanos."
+
+msgid "MAP174_SIGN_2"
+msgstr "Baitatao: La Ira Escaldada Esta poderosa serpiente es tal vez la más conocida de las Leyendas Marinas, debido a un famoso naufragio hace 45 años. Una fragata se perdió, y apareció semanas después con su carcasa a medio derretir, sin un alma a bordo. Muchos propusieron que el hecho señalaba el fin de la hibernación de Baitatao. Sin embargo, los científicos no han podido localizarlo."
+
+msgid "MAP174_SIGN_20"
+msgstr "Yatagaryu: El Pokémon Tempestad Este Pokémon es sagrado para los clanes Ninja. Puede invocar tormentas a voluntad. A menudo lo representan luchando con Coatlith."
+
+msgid "MAP174_SIGN_21"
+msgstr "Yatagaryu: El Pokémon Tempestad Este Pokémon es sagrado para los clanes Ninja. Puede invocar tormentas a voluntad. A menudo lo representan luchando con Coatlith."
+
+msgid "MAP174_SIGN_22"
+msgstr "Talladuras en Piedra de las Tribus Indígenas del Baykal No se conoce mucho sobre las civilizaciones indígenas que vivían en el Baykal. Son 300 años más antiguas que las civilizaciones Tsuki y Nami. Las tribus se desvanecieron de la región sin causa conocida hace 400 años. Todo lo que sabemos sobre ellos fue aprendido observando sus artefactos y ruinas."
+
+msgid "MAP174_SIGN_23"
+msgstr "Puntas de flecha baykalianas halladas en un sitio arqueológico. La evidencia indica que los grupos indígenas del Baykal cazaban y recolectaban su comida en la jungla. Vivían en chozas hechas de madera y palmas secas. Construyeron además grandes templos de piedra. Las talladuras en esos templos indican que la distribución de especies Pokémon era diferente cuando ellos se habían asentado en la región."
+
+msgid "MAP174_SIGN_24"
+msgstr "Yelmos tradicionales de los clanes Tsuki y Nami Los Yelmos eran fabricados a semejanza de Pokémon como Luchabra. Se usaban en el combate para darle una apariencia intimidante al usuario."
+
+msgid "MAP174_SIGN_3"
+msgstr "Leviathao: La Lanza Congelada Una de las Leyendas Marinas de Tándor Oriental. Tenía un filoso cuerno de hielo en su cabeza. Algunas fuentes sugieren que en algún momento estuvo bajo el mando del Clan Tsuki. Cuando desapareció, el imperio comenzó su declive. Se cree que aún hiberna en una caverna helada en el lecho marino."
+
+msgid "MAP174_SIGN_4"
+msgstr "Leviathao: La Lanza Congelada Una de las Leyendas Marinas de Tándor Oriental. Tenía un filoso cuerno de hielo en su cabeza. Algunas fuentes sugieren que en algún momento estuvo bajo el mando del Clan Tsuki. Cuando desapareció, el imperio comenzó su declive. Se cree que aún hiberna en una caverna helada en el lecho marino."
+
+msgid "MAP174_SIGN_5"
+msgstr "Krakanao: El Remolino Voraz La más temida de las Leyendas Marinas, Krakanao usaba sus muchos tentáculos para llevar a los barcos de antaño a su perdición. En versos e historias infantiles se habla de él y su relación con el clan Nami. Fuentes relatan su muerte en combate, así como rumores de avistamientos en tiempos recientes."
+
+msgid "MAP174_SIGN_6"
+msgstr "Krakanao: El Remolino Voraz La más temida de las Leyendas Marinas, Krakanao usaba sus muchos tentáculos para llevar a los barcos de antaño a su perdición. En versos e historias infantiles se habla de él y su relación con el clan Nami. Fuentes relatan su muerte en combate, así como rumores de avistamientos en tiempos recientes."
+
+msgid "MAP174_SIGN_7"
+msgstr "Aotius y Mutios - Los Dioses de Tándor - Aotius y Mutios son venerados por todo Tándor en múltiples formas. Algunos declaran que son Pokémon, otros dicen que son espíritus amorfos. También se dice que han aparecido por medio de avatares y otorgado poderes y visiones."
+
+msgid "MAP174_SIGN_8"
+msgstr "Aotius y Mutios - Los Dioses de Tándor - Aotius y Mutios son venerados por todo Tándor en múltiples formas. Algunos declaran que son Pokémon, otros dicen que son espíritus amorfos. También se dice que han aparecido por medio de avatares y otorgado poderes y visiones."
+
+msgid "MAP174_SIGN_9"
+msgstr "Aotius y Mutios - Los Dioses de Tándor - Aotius y Mutios son venerados por todo Tándor en múltiples formas. Algunos declaran que son Pokémon, otros dicen que son espíritus amorfos. También se dice que han aparecido por medio de avatares y otorgado poderes y visiones."
+
+msgid "MAP175_NPC_1"
+msgstr "¡Hey! ¿Quién lo diría? ¡Por fin llegaste! Este es el octavo y último gimnasio de Tándor. Este edificio es además un templo para los dioses Aotius y Mutios. ¡Y los líderes del gimnasio son el príncipe y princesa de los Clanes Ninja! Y no solo eso, ¡se dice que son las voces mortales de los propios Dioses! Para llegar a ellos, tendrás que resolver un rompecabezas. Recuerda, ¡Aotius y Mutios forman un balance! ...No te desalientes, ¿de acuerdo? ¡Tú puedes con esto! ¡Creo en ti!"
+
+msgid "MAP175_SIGN_1"
+msgstr "AOTIUS\nDIOS DEL SOL BRILLANTE"
+
+msgid "MAP175_SIGN_2"
+msgstr "MUTIOS\nDIOSA DEL MAR OSCURO"
+
+msgid "MAP175_TRAINER_1"
+msgstr "Has escogido enfrentar al sol resplandeciente. ¡Mis Pokémon son potentes como los rayos del sol! No los mires directamente, o te cegarán. ¡Prepárate para probar tu valía ante el poder de Aotius! Has triunfado contra mi equipo. Pero así como al Día le sigue la Noche, tendrás que demostrarte capaz ante mi esposo. Es hora de enfrentarte a la oscura tempestad de la noche. Mis Pokémon se esconden en las sombras y esperan pacientes a su presa. ¡Representamos la esencia misma del Ninja! ¡Te pondremos a prueba con toda la astucia de Mutios! Felicitaciones. Debo admitirlo, me impresionaste. Las bendiciones de Aotius y Mutios yacen ahora sobre ti. Su feroz poder y su serena claridad te guiarán. Como emblema de su amor, mereces esta medalla. ¡PN obtuvo la Medalla Zen! Como resultado de su bendición, todos los Pokémon te obedecerán, aun si son intercambiados. También mereces esta MT. Rayo Solar es un movimiento poderoso que absorbe la energía del Sol y la usa contra tus oponentes. ¡Úsala sabiamente y te ayudará enormemente en tu viaje! Y esta otra también. Al fin y al cabo, nos derrotaste a ambos. Con este movimiento, podrás emplear la ira del oponente en su contra. Úsala sabiamente y labrarás oportunidades en el combate."
+
+msgid "MAP175_TRAINER_1_DEFEAT"
+msgstr "Te has enfrentado a la luz radiante sin acobardarte."
+
+msgid "MAP175_TRAINER_2"
+msgstr "Así que has decidido enfrentarte a la oscura tempestad de la noche. Eres valiente. Mis Pokémon se esconden en las sombras y esperan pacientes a su presa. ¡Representamos la esencia misma del Ninja! ¡Te pondremos a prueba con toda la astucia de Mutios! Has logrado derrotar a mi equipo. Pero así como a la Noche le sigue el Día, ¡tendrás que demostrarte capaz ante mi esposa! Es hora de enfrentar al sol resplandeciente. ¡Mis Pokémon son potentes como los rayos del sol! No los mires directamente, o te cegarán. ¡Prepárate para probar tu valía ante el poder de Aotius! Felicitaciones. Debo admitirlo, me impresionaste. Las bendiciones de Aotius y Mutios yacen ahora sobre ti. Su feroz poder y su serena claridad te guiarán. Como emblema de su amor, mereces esta medalla. ¡PN obtuvo la Medalla Zen! Como resultado de su bendición, todos los Pokémon te obedecerán, aun si son intercambiados. También mereces esta MT. Rayo Solar es un movimiento poderoso que absorbe la energía del Sol y la usa contra tus oponentes. ¡Úsala sabiamente y te ayudará enormemente en tu viaje! Y esta otra también. Al fin y al cabo, nos derrotaste a ambos. Con este movimiento, podrás emplear la ira del oponente en su contra. Úsala sabiamente y labrarás oportunidades en el combate."
+
+msgid "MAP175_TRAINER_2_DEFEAT"
+msgstr "Has mirado a la oscuridad, y has superado tu miedo."
+
+msgid "MAP175_TRAINER_3"
+msgstr "Brillante rayo,\nseguido por gran tremor.\nPotente trueno."
+
+msgid "MAP175_TRAINER_3_DEFEAT"
+msgstr "¡Zzzap! ¡Auch!"
+
+msgid "MAP175_TRAINER_4"
+msgstr "Oíd las voces\nde mil aves cantando.\nLo hacen por ti."
+
+msgid "MAP175_TRAINER_4_DEFEAT"
+msgstr "Cuán gran vendaval..."
+
+msgid "MAP175_TRAINER_5"
+msgstr "Mirad el sable,\nfiloso, mortífero,\nfino cual hilo."
+
+msgid "MAP175_TRAINER_5_DEFEAT"
+msgstr "¡Me rebanaste!"
+
+msgid "MAP175_TRAINER_6"
+msgstr "La luna llena\nse alza sobre la mar.\nTsuki y Nami."
+
+msgid "MAP175_TRAINER_6_DEFEAT"
+msgstr "¡Tu destino llama!"
+
+msgid "MAP175_TRAINER_7"
+msgstr "Pequeñas gotas\nse juntan para formar\ngrandes cascadas."
+
+msgid "MAP175_TRAINER_7_DEFEAT"
+msgstr "Espero estés feliz."
+
+msgid "MAP175_TRAINER_8"
+msgstr "Una flor nace\nen un gran estallido...\n¡Fuego artificial!"
+
+msgid "MAP175_TRAINER_8_DEFEAT"
+msgstr "He estallado..."
+
+msgid "MAP177_NPC_1"
+msgstr "¡Te doy la bienvenida, Entrenador! Me llamo Miki, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Ataque.\n¿Te interesaría? Oh... ¿Mi abuelo quiere que regrese al Dojo? ¡De acuerdo! Por favor acepta este regalo como agradecimiento por tu esfuerzo.\n¡Nos vemos! ¡RETIRADA NINJA! No pudiste recibir el objeto. Por favor vuelve cuando tengas espacio. G¡Te doy la bienvenida, Entrenador! Me llamo Miki, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Ataque.\n¿Te interesaría? ¿Cuál Pokémon desea aumentar su destreza? Regresa si quieres hacerte más fuerte. ¡Tu aumentó sus EVs de Ataque en ! ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! Me temo que no tienes dinero suficiente para entrenar a tus Pokémon. ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! ¡Ohhh!\nEntonces, ¿quieres saber qué son los EVs? ¡Te enseñaré! Los EVs, o Puntos de Esfuerzo por sus siglas en inglés, son puntos que corresponden a una característica en particular. ¡Puedes revisarlos en la pantalla de características de tus Pokémon! Hay seis tipos de EVs: PS, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Los Pokémon pueden incrementar sus EVs permanentemente al vencer a ciertos enemigos. Por ejemplo, vencer a muchos enemigos defensivos aumentará la defensa de tu Pokémon. En este gimnasio, ¡te ofrezco un atajo para facilitar aún más ese entrenamiento! Simplemente presiona C cuando el indicador esté en la parte verde de la barra para golpear el saco de boxeo. Es muy divertido, ¡y hace a tus Pokémon SUPER FUERTES! ¿Entonces, todo listo?"
+
+msgid "MAP178_NPC_1"
+msgstr "¡Te doy la bienvenida, Entrenador! Me llamo Ayumi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Velocidad.\n¿Te interesaría? Oh... ¿Mi abuelo quiere que regrese al Dojo? ¡De acuerdo! Por favor acepta este regalo como agradecimiento por tu esfuerzo.\n¡Nos vemos! ¡RETIRADA NINJA! No pudiste recibir el objeto. Por favor vuelve cuando tengas espacio. G¡Te doy la bienvenida, Entrenador! Me llamo Ayumi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Velocidad.\n¿Te interesaría? ¿Cuál Pokémon desea aumentar su destreza? Regresa si quieres hacerte más fuerte. ¡Tu aumentó sus EVs de Velocidad en ! ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! Me temo que no tienes dinero suficiente para entrenar a tus Pokémon. ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! ¡Ohhh!\nEntonces, ¿quieres saber qué son los EVs? ¡Te enseñaré! Los EVs, o Puntos de Esfuerzo por sus siglas en inglés, son puntos que corresponden a una característica en particular. ¡Puedes revisarlos en la pantalla de características de tus Pokémon! Hay seis tipos de EVs: PS, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Los Pokémon pueden incrementar sus EVs permanentemente al vencer a ciertos enemigos. Por ejemplo, vencer a muchos enemigos defensivos aumentará la defensa de tu Pokémon. En este gimnasio, ¡te ofrezco un atajo para facilitar aún más ese entrenamiento! Simplemente presiona C cuando el indicador esté en la parte verde de la barra para golpear el saco de boxeo. Es muy divertido, ¡y hace a tus Pokémon SUPER FUERTES! ¿Entonces, todo listo?"
+
+msgid "MAP179_NPC_1"
+msgstr "¡Te doy la bienvenida, Entrenador! Me llamo Tarou, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Puntos de Salud. ¿Te interesaría? Oh... ¿Mi abuelo quiere que regrese al Dojo? ¡De acuerdo! Por favor acepta este regalo como agradecimiento por tu esfuerzo.\n¡Nos vemos! ¡RETIRADA NINJA! No pudiste recibir el objeto. Por favor vuelve cuando tengas espacio. G¡Te doy la bienvenida, Entrenador! Me llamo Tarou, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Puntos de Salud. ¿Te interesaría? ¿Cuál Pokémon desea aumentar su destreza? Regresa si quieres hacerte más fuerte. ¡Tu aumentó sus EVs de PS en ! ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! Me temo que no tienes dinero suficiente para entrenar a tus Pokémon. ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! ¡Ohhh!\nEntonces, ¿quieres saber qué son los EVs? ¡Te enseñaré! Los EVs, o Puntos de Esfuerzo por sus siglas en inglés, son puntos que corresponden a una característica en particular. ¡Puedes revisarlos en la pantalla de características de tus Pokémon! Hay seis tipos de EVs: PS, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Los Pokémon pueden incrementar sus EVs permanentemente al vencer a ciertos enemigos. Por ejemplo, vencer a muchos enemigos defensivos aumentará la defensa de tu Pokémon. En este gimnasio, ¡te ofrezco un atajo para facilitar aún más ese entrenamiento! Simplemente presiona C cuando el indicador esté en la parte verde de la barra para golpear el saco de boxeo. Es muy divertido, ¡y hace a tus Pokémon SUPER FUERTES! ¿Entonces, todo listo?"
+
+msgid "MAP180_NPC_1"
+msgstr "¡Te doy la bienvenida, Entrenador! Me llamo Hitomi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Defensa Especial. ¿Te interesaría? Oh... ¿Mi abuelo quiere que regrese al Dojo? ¡De acuerdo! Por favor acepta este regalo como agradecimiento por tu esfuerzo.\n¡Nos vemos! ¡RETIRADA NINJA! No pudiste recibir el objeto. Por favor vuelve cuando tengas espacio. G¡Te doy la bienvenida, Entrenador! Me llamo Hitomi, soy un ninja de la Aldea Tsukinami, y ofrezco entrenamiento especializado para la característica Defensa Especial. ¿Te interesaría? ¿Cuál Pokémon desea aumentar su destreza? Regresa si quieres hacerte más fuerte. ¡Tu aumentó sus EVs de Defensa Especial en ! ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! Me temo que no tienes dinero suficiente para entrenar a tus Pokémon. ¡Regresa cuando quieras fortalecer aún más a tus Pokémon! ¡Ohhh!\nEntonces, ¿quieres saber qué son los EVs? ¡Te enseñaré! Los EVs, o Puntos de Esfuerzo por sus siglas en inglés, son puntos que corresponden a una característica en particular. ¡Puedes revisarlos en la pantalla de características de tus Pokémon! Hay seis tipos de EVs: PS, Ataque, Defensa, Ataque Especial, Defensa Especial, y Velocidad. Los Pokémon pueden incrementar sus EVs permanentemente al vencer a ciertos enemigos. Por ejemplo, vencer a muchos enemigos defensivos aumentará la defensa de tu Pokémon. En este gimnasio, ¡te ofrezco un atajo para facilitar aún más ese entrenamiento! Simplemente presiona C cuando el indicador esté en la parte verde de la barra para golpear el saco de boxeo. Es muy divertido, ¡y hace a tus Pokémon SUPER FUERTES! ¿Entonces, todo listo?"
+
+msgid "MAP181_NPC_1"
+msgstr "He equipado a todos mis Pokémon con objetos para mejorar su desempeño en combate. No puedes utilizar objetos en la Arena, así que los objetos equipables como las Bayas son esenciales. El Campeonato de Tándor funciona como un torneo de eliminación directa.\n32 Entrenadores entran... y solo uno emerge Campeón."
+
+msgid "MAP181_NPC_10"
+msgstr "Soy el fan número 1 de María.\nUna vez, autografió mi brazo...\nEse fue el mejor día de mi vida."
+
+msgid "MAP181_NPC_2"
+msgstr "Ese brillo en tus ojos... Estás planeando convertirte en Campeón, ¿no es así?\n¡Oh, jojo! Buena suerte."
+
+msgid "MAP181_NPC_3"
+msgstr "Escuché que casi se cancela el Campeonato este año por los Desastres Nucleares.\n¡Qué bueno que no lo hicieron! Me pregunto si... ¿veremos algún Pokémon Nuclear en la Arena?"
+
+msgid "MAP181_NPC_4"
+msgstr "¿Cuántas Medallas de Gimnasio tienes?\nYo tengo dieciséis.\nDerroté la liga de Kalos antes de viajar a Tándor. La Liga de Tándor es algo diferente, ¿o no?\n¿Qué Líder de Gimnasio te dió más problemas?\nA mí me costó mucho trabajo vencer a Rosalind. ¡Sus disfraces sí que confundieron a mi equipo!"
+
+msgid "MAP181_NPC_5"
+msgstr "Estoy tan nerviosa... \n¡Pero mientras tenga fe en mis Pokémon, estoy segura que saldremos adelante! Nunca había visto tantos Entrenadores fuertes en un mismo lugar antes."
+
+msgid "MAP181_NPC_6"
+msgstr "¡Ha-yiah! ¡Por el honor de mi aldea, peleo en el Campeonato de Tándor!\n¡Los Dioses me guiarán a la victoria!"
+
+msgid "MAP181_NPC_7"
+msgstr "¡Buen trabajo superando la Calle Victoria!\nPero ahora el desafío más grande yace frente a ti. Cualquiera que desee enlistarse en el Campeonato necesita superar los desafíos de la Calle Victoria primero."
+
+msgid "MAP181_NPC_8"
+msgstr "¿Quién crees que gane el Campeonato este año?\n¡Yo apuesto a que será María! Después de todo, ganó el año pasado."
+
+msgid "MAP181_NPC_9"
+msgstr "No creo que María vaya a ganar de nuevo este año. Está este nuevo Entrenador, y todos dicen que es espantosamente fuerte. Si me preguntas a mí, ¡lo tiene en la bolsa! ¿Sabes tú cuál es la especialidad de este nuevo Entrenador? No puedo encontrar su información en la base de datos. ...Oye, espera un segundo. Te me haces familiar... ¡Oh, madre santa! ¡¡¡Eres tú!!! ¡¡¡Guao!!!"
+
+msgid "MAP183_NPC_1"
+msgstr "Se dice que las montañas por aquí son infranqueables. Sin embargo, ¡Estoy determinado a escalarlas!"
+
+msgid "MAP183_NPC_2"
+msgstr "¿Sabías que Tándor fue formado por dos volcanes? Ambos están dormidos ahora, pero el Campeonato Regional se lleva a cabo sobre uno de ellos."
+
+msgid "MAP183_NPC_3"
+msgstr "Es impresionante cómo funciona la economía cuando la mitad de la población en una región son Entrenadores. ¡Entrenadores que no trabajan! ¿Cómo comeríamos sin la ayuda de los Pokémon?"
+
+msgid "MAP183_NPC_4"
+msgstr "Cuando era joven, vivía en la gran ciudad. Ahora, prefiero vivir aquí en los tranquilos suburbios."
+
+msgid "MAP183_SIGN_1"
+msgstr "Ruta 06. ¡Recuerden traer Pociones! ¡Es un viaje largo!"
+
+msgid "MAP183_SIGN_2"
+msgstr "Laboratorio Cypress de\nInvestigación Pokémon"
+
+msgid "MAP183_SIGN_3"
+msgstr "Bienvenidos a Lionte. ¡Cuidado con el desprendimiento de rocas!"
+
+msgid "MAP184_NPC_1"
+msgstr "(Humano...)\n(Así que... viniste a enfrentarme en mi guarida.)\n(He dormido por muchos siglos...)\n(Esperando un alma digna de enfrentarme.)\n(Ahora... ha llegado el momento.) (¡Tengamos nuestra batalla predestinada!) ¡¡¡GYAAAROOUUUHHH!!!"
+
+msgid "MAP184_TRAINER_1"
+msgstr "¡No me viste porque me estaba escondiendo! ¡Me encanta esconderme entre las rocas!"
+
+msgid "MAP184_TRAINER_1_DEFEAT"
+msgstr "Creo que me faltó velocidad..."
+
+msgid "MAP184_TRAINER_2"
+msgstr "Las leyendas cuentan sobre un gran conflicto en la cima del Monte Actínido. ¿Puede que sea éste?"
+
+msgid "MAP184_TRAINER_2_DEFEAT"
+msgstr "Eso fue decepcionante."
+
+msgid "MAP185_TRAINER_1"
+msgstr "¿Oyes eso?\n¡Es el furioso aullido del viento!"
+
+msgid "MAP185_TRAINER_1_DEFEAT"
+msgstr "Hemos caído..."
+
+msgid "MAP185_TRAINER_2"
+msgstr "La montaña tiembla a nuestros pies.\n¡Tu desafío es ahora!"
+
+msgid "MAP185_TRAINER_2_DEFEAT"
+msgstr "Fue el destino..."
+
+msgid "MAP185_TRAINER_3"
+msgstr "¡Santo cielo!\nCiertamente me eres familiar.\n¿Qué tal un combate, colega?"
+
+msgid "MAP185_TRAINER_3_DEFEAT"
+msgstr "¡Madre mía!"
+
+msgid "MAP185_TRAINER_4"
+msgstr "¡Te derrotaré con poderes invocados desde el más allá!"
+
+msgid "MAP185_TRAINER_4_DEFEAT"
+msgstr "¡¿Por qué me han abandonado, espíritus?!"
+
+msgid "MAP186_SIGN_1"
+msgstr "Campeonato Regional de Tándor"
+
+msgid "MAP187_NPC_1"
+msgstr "¡Ja!\n¡Vamos, cálmate! Hey, ¡estos nuevos Capturadores\nsí funcionan! Puedo cuidarme sin problemas. PN, tú ve a la Planta de Energía."
+
+msgid "MAP187_NPC_2"
+msgstr "Arrrr... Arrr..."
+
+msgid "MAP187_NPC_3"
+msgstr "¿Cómo te va con ese Traje de Seguridad? Te es más difícil caminar, pero tienes protección total de la radiación. Estas máscaras nos protegen, pero somos vulnerables a radiación intensa."
+
+msgid "MAP187_NPC_4"
+msgstr "Si logro neutralizarlo, podrán llevarlo al Cuartel para hacerle tratamiento. Aunque sería ideal tener unidades móviles de tratamiento..."
+
+msgid "MAP187_NPC_5"
+msgstr "Tans... Grrrrrr..."
+
+msgid "MAP187_SIGN_1"
+msgstr "¡Pistas para Entrenadores!\nPara pescar necesitas buenos reflejos.\nPresiona A cuando el mensaje \"¡Oh! ¡Han picado!\" aparezca.\nPuede que tengas que hacer esto varias veces para pescar un Pokémon."
+
+msgid "MAP187_TRAINER_1"
+msgstr "¡Hey, PN, ahí estás! Jeje, vas como un Slowpoke con eso. Pero tengo que admitir que te ves cool. ...Como sea, creo que vi algo genial... Sígueme. ¡Pero no hagas ruido! Ese Pokémon... ¿Lo has visto antes? No se parece a otros Pokémon Nucleares... Nunca he visto a uno similar. Deberíamos intentar- ???: ¡GRRRROOAAARRRRR! Teo: Rayos, se escapó. ¿Qué lo habrá asustado? Iba a intentar capturarlo, pero... ¡Prepárate para combatir, PN! *juf* *juf* Vaya... no puedes bajar tu guardia un segundo... Por cierto, ¿soy yo o estos Nucleares están actuando más organizados que de costumbre? Supongo que Urayne los está dirigiendo. Deben saber que estamos aquí. Perdimos el factor sorpresa... Bueno, no importa. ¡CURIE no podrá escapar por siempre! ¡Atrapémosle!\nY si vuelvo a ver a ese Pokémon extraño, ¡no dudaré en capturarlo!"
+
+msgid "MAP187_TRAINER_10"
+msgstr "¡GRRRRRRRR!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_10_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_11"
+msgstr "¡GRRRRRRRR!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_11_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_12"
+msgstr "¡GRRRRRRRR!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_12_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_13"
+msgstr "¡GRRRRRRRR!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_13_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_14"
+msgstr "¡GRRRRRRRR!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_14_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_1_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_2"
+msgstr "GRRRRrrrRRAAAARRR INTRUSOS. INTRUSOS."
+
+msgid "MAP187_TRAINER_2_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_3"
+msgstr "GRRRRrrrRRAAAARRR INTRUSOS. INTRUSOS."
+
+msgid "MAP187_TRAINER_3_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_4"
+msgstr "GRRRRrrrRRAAAARRR INTRUSOS. INTRUSOS."
+
+msgid "MAP187_TRAINER_4_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_5"
+msgstr "¡HIIISSSSSS!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_5_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_6"
+msgstr "¡HIIISSSSSS!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_6_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_7"
+msgstr "¡HIIISSSSSS!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_7_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_8"
+msgstr "¡Uy! ¡Más Pokémon! ¡Hagámoslo, PN! Sí que fue un combate movido... Pero las órdenes son claras. ¡Vamos a la Planta Nuclear! ¡Hay que hacer esto juntos! (¡Teo se unió a ti!)"
+
+msgid "MAP187_TRAINER_8_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_9"
+msgstr "¡GRRRRRRRR!\nDESTRUIR DESTRUIR DESTRUIR"
+
+msgid "MAP187_TRAINER_9_DEFEAT"
+msgstr "..."
+
+msgid "MAP188_NPC_1"
+msgstr "Estamos en camino a la Ruta 08, los Campos de Trigo. Solía ser un área pristina de belleza natural. Ahora, es el lugar más contaminado y peligroso en todo Tándor... ¡Tenemos que detener a CURIE y hacer que pague por todo lo que ha hecho!"
+
+msgid "MAP188_NPC_2"
+msgstr "¿Equiparte el Traje de Seguridad? PN se equipó el Traje de Seguridad."
+
+msgid "MAP188_NPC_3"
+msgstr "Se que no debería quejarme, pero... ¿Por qué no puedo usar yo un traje?\nLuce increíble..."
+
+msgid "MAP188_NPC_4"
+msgstr "PN, no te preocupes por nosotros. Tenemos nuevos capturadores que funcionan con los Pokémon Nucleares. Podremos cuidarnos... Espero..."
+
+msgid "MAP188_NPC_5"
+msgstr "¡Mff mmmf mffff! ...Nah, solo bromeo. Puedo hablar perfectamente bien. Aunque sí pica un poco por dentro... pero no es buena idea quitársela."
+
+msgid "MAP189_NPC_1"
+msgstr "¿Halar la palanca?"
+
+msgid "MAP189_NPC_2"
+msgstr "¿Halar la palanca?"
+
+msgid "MAP189_NPC_3"
+msgstr "¿Halar la palanca?"
+
+msgid "MAP189_NPC_4"
+msgstr "La etiqueta dice \"Interruptor Automático\". Parece estar activado. ¿Desactivar el Interruptor Automático? ¡Ay! Le ha dado la corriente a ti y a tu equipo. Las demás palancas regresaron a sus posiciones originales."
+
+msgid "MAP189_SIGN_1"
+msgstr "Es una máquina para curar Pokémon. No funciona sin energía."
+
+msgid "MAP189_SIGN_10"
+msgstr "¿Eh? Esta taza de café sigue tibia."
+
+msgid "MAP189_SIGN_2"
+msgstr "Es una máquina para curar Pokémon. No funciona sin energía."
+
+msgid "MAP189_SIGN_3"
+msgstr "Es una máquina para curar Pokémon. No funciona sin energía."
+
+msgid "MAP189_SIGN_4"
+msgstr "Es una máquina para curar Pokémon. No funciona sin energía."
+
+msgid "MAP189_SIGN_5"
+msgstr "- Control de Energía de Emergencia - Siga las instrucciones para activar el generador de respaldo: En el Cuarto Eléctrico, primero active los interruptores en el siguiente orden:\n[06644bd2]Verde, [043c3aff]Rojo, [65467b14]Azul. Luego, desactive el\ninterruptor automático. Esto restablecerá la energía al Sector Sur en caso de emergencia."
+
+msgid "MAP189_SIGN_6"
+msgstr "Consulte el Manual de Instrucciones para activar el generador de respaldo."
+
+msgid "MAP189_SIGN_7"
+msgstr "Se dañó la comida del refrigerador."
+
+msgid "MAP189_SIGN_8"
+msgstr "- Sala de Descanso - Los descansos no deben\ndurar más de 15 minutos. En caso de acabarse el café, notificar a Craig de Abastecimiento. - Gerencia –"
+
+msgid "MAP189_SIGN_9"
+msgstr "¿Podré comunicarme con el Cuartel General por aquí....? ....... Algo bloquea la señal."
+
+msgid "MAP189_TRAINER_1"
+msgstr "¡Trooooaarrrr!"
+
+msgid "MAP191_NPC_1"
+msgstr "Parece estar conectado\nal sistema eléctrico. ¿Activar el interruptor?"
+
+msgid "MAP191_TRAINER_1"
+msgstr "¡Kkkshhhhttt!"
+
+msgid "MAP192_NPC_1"
+msgstr "Parece estar conectado\nal sistema eléctrico. ¿Activar el interruptor?"
+
+msgid "MAP193_TRAINER_1"
+msgstr "¡¡Troooooaarrr!!"
+
+msgid "MAP193_TRAINER_2"
+msgstr "...\nCriatura imprudente. He disfrutado observando tus inútiles juegos...\nPero aquí es donde acaba tu historia. Qué suerte.\nTanto el hijo del hombre que ha atormentado nuestra existencia... como la descendencia del Jefe de los Rangers de Tándor.\nAmbos, a nuestra merced. Esperamos que los Rangers estén más dispuestos a obedecer cuando oigan que tenemos a sus niños de rehén. Dime, insecto... ¿Cómo se siente?\n¿Llegar tan lejos, para que luego destruyan tus sueños? ¿Acaso duele? Debería.\nQueremos que sufras lo que nosotros hemos sufrido. Tu amigo... Se encuentra en animación suspendida. No está ni despierto, ni dormido.\nSus pensamientos yacen congelados en el momento en el que entró al tanque. ¿Qué podría estar sintiendo?\n¿Dolor? ¿Miedo? ¿Confusión? ¿Angustia? Un simple y mísero instante, convertido en una eternidad. Lo que él siente ahora... es solo una fracción de lo que hemos sentido. Y ahora, tú te unirás a él. Una vez les revelemos nuestros rehenes, los Rangers no tendrán opción más que rendirse. Y entonces... ¡Nada se interpondrá entre nosotros y el poder absoluto! ...¿Oh? ¿Incluso después de todo eso, aún quieres pelear contra nosotros? Jojo... qué gracioso.\nMuy Bien. Aceptamos tu desafío... ¡¡Contempla el abrumador y desgarrante poder de la Energía Nuclear!! ¿...Qué?\n¡N-No! ¡No, no, NO! Esto... ¡No puede estar pasando...! ¡Se suponía que seríamos invencibles!\n¡¡Urayne!! Cómo... cómo pudiste...\nSolo un mísero infante... No lo comprendo...\nTodo lo que aspirábamos, todo ese poder... se ha esfumado. ¡Urayne! ¡Contéstame, Urayne! ...\nNo... Nos fallé...\nFallé en protegerte.\nLos Rangers vendrán por nosotros ahora.\nY seguramente te destruirán.\nLo siento tanto... ¡Sigues con vida...!\nIncluso cuando casi todo tu poder se ha desvanecido... ¡Eso es! ¡Es todo lo que necesitamos!\n¡Urayne, usa Salto Cuántico! *kshhht*\nKellyn: ¿PN? ¿PN, me copias? ...Oh, gracias a Arceus, estás bien.\nAlgo estaba bloqueando la señal...\nNo tenía forma de comunicarme. PN... Estaba tan asustado...\nCreí que te había perdido para siempre. Entonces, ¿qué pasó? ¿Encontraste a CURIE y a Urayne? ...\nYa veo. Así que los enfrentaste y derrotaste, pero se las arreglaron para escapar... Bueno, con Urayne en su forma más débil, ya no son una amenaza mayor. Además, parece que la radiación que salía de la Planta Nuclear Zeta se ha detenido. Con las fuerzas Ranger, deberíamos ser capaces de localizar y atrapar a CURIE fácilmente. Y es todo gracias a ti...\nPN. Gracias a tu coraje y determinación, ¡Tándor ha sido salvada! ...Pero... ¿Qué pasó con Teo? ¿Está......?\n¿Sigue Teo con vida? *cof* *cof* ...Uh... ¿Qué... ocurrió?\n¿PN? ¿Eres tú? ¿Dónde está CURIE?\nLo último que recuerdo es que me metió en este tanque... Kellyn: ¡Teo! ¡¿Estás bien?! Tan bien como se puede estar, Jefe...\n¡Jaja!... ugh... Estar metido en esa cosa... fue espantoso. No tengo idea de cuánto tiempo estuve ahí dentro. PN... No sé cómo decirte esto... pero, estoy bastante seguro de que te debo la vida. Entonces, ¿cómo...?. Tú sabes.... ¿cómo lo hiciste?. ¿Derrotaste a CURIE? Guao. Clásico de PN. Perder nunca ha sido una opción para ti. Vaya, debió haber sido un combate asombroso.... No puedo creer que estuve aquí mismo, pero me perdí de toda la emoción. Kellyn: Me alegra que estés a salvo, Teo.\nUn escuadrón de Rangers va por ustedes ahora mismo. Gracias, Jefe.\nSiento haber desobedecido sus órdenes.\nFui un estúpido, y puse en peligro la misión. Creo que.... después de esto, voy a tomarme un descanso de las aventuras.... Voy a quedarme en el hospital con Papá.\nQuiero estar allí cuando despierte. Kellyn: Esa es tu decisión.\nLos veré a ambos pronto.\nAquí Kellyn, cambio y fuera. ...Fiu.\nEstoy cansado, PN.\nDeberíamos salir de aquí.\nSígueme, conozco un atajo. Entonces...\nPN y Teo regresaron al Cuartel General Ranger.\nAl llegar, fueron recibidos como héroes...\nY la voz se corrió por todo Tándor del triunfo de PN sobre CURIE. ¡JujujujujujajajajajaJAJAJAJAJAJA!\n¡SÍ! ¡ESO ES!\n¡ESA ES LA MIRADA DE ABSOLUTO HORROR Y DESESPERACIÓN QUE TANTO DESEAMOS! ¡Contempla tu impotencia! ¡Tus amigos no pueden salvarte! ¡Todo se acabó!\n¡Nuestro reino comienza este día! ¡JUAJAJAJAJAJAJAJAJA! Y fue así...\ncómo Tándor fue sumergida en 100 años de horroroso Invierno Nuclear. Y nunca más se volvió a saber de PN y Teo... FIN DEL JUEGO"
+
+msgid "MAP193_TRAINER_2_DEFEAT"
+msgstr "...¿Qué? ¡No! ¡No, no, NO!"
+
+msgid "MAP195_TRAINER_1"
+msgstr "Bien.... Aquí vamos otra vez.\nNosotros dos, compitiendo por el título de Campeón. Así es como debería ser, ¿o no?\nYo de un lado, y tú del otro...\ncon todo Tándor como espectador.\nSe siente correcto.. ¿sabes?\nSe siente como si fuera.... el destino. ... Ya no hay nada.\nNada que pueda entrometerse ahora.\nNo hay Pokémon Legendarios, ni amenazas de un Apocalipsis Nuclear. Solo tú, yo... y el espíritu de batalla de nuestros Pokémon. PN, he esperado un largo tiempo para esto... ¡Es hora de descubrir cuál de nosotros se convertirá en Campeón de Tándor! Las reglas de la Ronda Final son las mismas que en las anteriores. Solo se pueden usar los objetos que los Pokémon ya lleven consigo. El combate continúa hasta que uno de los contrincantes no tenga más Pokémon con los que luchar. Si ambos Entrenadores están preparados, entonces... El combate final del Campeonato comienza...... ¡...ahora! Y el ganador es.... ¡PN! Asombroso...\nEres tan brillante como siempre, PN.\nEse fue un combate apasionante, por no decir más. Ni siquiera me enoja haber perdido.\n¡Si hay una cosa en la que sé que siempre podré confiar, es tu espíritu inquebrantable! PN...... ¡Felicitaciones! ¡Te has convertido en el nuevo Campeón de Tándor! Por favor sígueme..."
+
+msgid "MAP195_TRAINER_1_DEFEAT"
+msgstr "Guao... Ese combate fue... todo lo que esperé que fuera."
+
+msgid "MAP196_TRAINER_1"
+msgstr "¡AQUÍ TERMINA!\n¡ESTE ES EL FINAL! AHORA...\nYO SOY LA MUERTE...\n¡EL DESTRUCTOR DE MUNDOS! ¡¡¡NOOOOOOOOO!!!\n¡¡¡I-.IMPOSIBLE...!!!\nTú...\n¿Cómo... puedes ser... más fuerte que... nosotros? Tú...\nTe mataré... con mis propias manos...\nYo--\n¡AGHH! UGH--\n¡GYAAAAAARRRGHHHH! ¡¡JUAJAJAJAJAJAJAJA!!\n¡NUESTROS PODERES SON IMPARABLES!\nAHORA... ¡¡LOS DESTRUIREMOS A TODOS!! ¡No hay escapatoria! ¡Tus amigos no podrán salvarte! ¡Todo acabó! ¡Nuestro reino inicia hoy! ¡JAJAJAJAJAJA! Urayne Gamma fue demasiado poderoso como para poder ser detenido. Creó una explosión atómica masiva...\nTodo lo que quedó de la Liga Pokémon fueron ruinas. Aquellos que sobrevivieron la explosión inicial pronto caerían víctimas de las hordas de Pokémon Nucleares que la siguieron. Los Rangers de Tándor intentaron controlarlos, pero pronto fueron superados. Los que lograron escapar huyeron a otras regiones... Aquellos que no,. lloraron la pérdida de todo lo que conocían y amaban. Y así, Tándor fue inmersa en un siglo de Invierno Nuclear. Si tan solo hubieses sido más fuerte...\nQuizá...\nPodrías haberlo detenido. FIN DEL JUEGO"
+
+msgid "MAP196_TRAINER_1_DEFEAT"
+msgstr "...¿QUÉ? ¡¡NO!!"
+
+msgid "MAP201_NPC_1"
+msgstr "Este transbordador lleva a la Sede del Campeonato de Tándor.\nSin embargo, está cerrado al público."
+
+msgid "MAP201_NPC_2"
+msgstr "Este es un transbordador especial que va a la Sede del Campeonato.\nNo está abierto al público en esta época del año. Cuando comienza el Campeonato anual, es este tren el que lleva a todos los espectadores a la Sede."
+
+msgid "MAP202_NPC_1"
+msgstr "¡Lanthan te está esperando!\n¡No puedes irte ahora!"
+
+msgid "MAP202_TRAINER_1"
+msgstr "¡Alto! ¡Esta es tierra sagrada!\n¡Como Monje de Lanthan, es mi deber alejar a los indignos!"
+
+msgid "MAP202_TRAINER_1_DEFEAT"
+msgstr "¡E-El Campeón de Tándor!\n¡Por favor, perdona mi insolencia!"
+
+msgid "MAP202_TRAINER_2"
+msgstr "Para ser santificados..."
+
+msgid "MAP202_TRAINER_2_DEFEAT"
+msgstr "Su espíritu debe arder lo suficiente como para derretir el más gélido hielo."
+
+msgid "MAP202_TRAINER_3"
+msgstr "¡Serán bañados en Hielo y Fuego!"
+
+msgid "MAP202_TRAINER_3_DEFEAT"
+msgstr "Su espíritu debe arder lo suficiente como para derretir el más gélido hielo."
+
+msgid "MAP202_TRAINER_4"
+msgstr "¡Con absoluta paz y serenidad, te destruiremos!"
+
+msgid "MAP202_TRAINER_4_DEFEAT"
+msgstr "Tanto poder... ¡Increíble!"
+
+msgid "MAP202_TRAINER_5"
+msgstr "Lo vi en un sueño...\n¡El despertar del Pokémon Legendario!"
+
+msgid "MAP202_TRAINER_5_DEFEAT"
+msgstr "Como lo supuse, eres formidable."
+
+msgid "MAP202_TRAINER_6"
+msgstr "Vaya...\n¡Nunca había visto un lugar como éste!\nWow.... Ésta debe ser la guarida de Lanthan.\nEstos Legendarios son mucho más fuertes que un Pokémon ordinario, ¿no lo crees?\nPero siguen siendo Pokémon.\nEso significa que pueden ser capturados. ...PN.. Creo que sabes qué debemos hacer. Combatiremos para decidir quién tiene el derecho de capturar a Lanthan.\nHe estado curando a tu equipo, así que sé que están en condición óptima.\nEspero enfrentarme a todo tu poder. Yo también lo daré todo.\nAsí pues, Campeón.... ¡¡Muéstrame tu fuerza!! ¿Yo... perdí?\nWow...\nDe verdad eres poderoso, PN.\nAcepto mi derrota con gracia.\nAhora que me venciste, te has ganado el derecho a luchar contra Lanthan. Entonces...\n¿Dónde está? Debería estar por aquí. ¡Ahí está!\n¡El Pokémon Legendario! Así que, 'Campeón de Tándor'...\nDiste una buena pelea, pero parece que no eres el más fuerte después de todo. Y ahora... La razón por la cual vine.\n¡Lanthan! ¡¡Muéstrate!! ¡Estoy aquí para enfrentarte! ¡Lucha contra mí, ahora! Lanthan...\nÉl..... me habló.....\nDice..... ¡¿Que no soy digno?!\n¡E-Eso es imposible!\n¡Fui el Campeón de dos regiones!\n¡Gané el combate! Eso debía significar...\n¡¡No...!! (Humano...) (Aún no eres lo suficientemente fuerte como para enfrentarme.) (Te espero a ti, y a nadie más...) (Cuando tengas más fuerza y poder, nos veremos otra vez.)"
+
+msgid "MAP202_TRAINER_6_DEFEAT"
+msgstr "¿Perdí?"
+
+msgid "MAP203_NPC_1"
+msgstr "Oh, ¿estás aquí para ayudarnos con nuestro jardín? ¡Veamos qué puedes hacer! Gracias de nuevo por hacernos este gran favor.\nSolo aquellos de buen corazón y voluntad perspicaz logran llegar al nivel que tú tienes con tus queridos Pokémon. Como recuerdo de tal refrescante muestra, y nuestro destinado encuentro este día, te obsequiaré esto..."
+
+msgid "MAP203_NPC_2"
+msgstr "Oh, ¿estás aquí para ayudarnos con nuestro jardín? ¡Veamos qué puedes hacer! Gracias de nuevo por hacernos este gran favor.\nSolo aquellos de buen corazón y voluntad perspicaz logran llegar al nivel que tú tienes con tus queridos Pokémon. Como recuerdo de tal refrescante muestra, y nuestro destinado encuentro este día, te obsequiaré esto..."
+
+msgid "MAP204_NPC_1"
+msgstr "Soy del Clan Tsuki, y mi esposa es del Clan Nami.\nSi no fuera por el ejemplo de Kaito y Hinata, un amor como el nuestro nunca hubiera sido posible. ¡Supongo que eso demuestra lo fuerte que puede ser el amor!"
+
+msgid "MAP204_NPC_10"
+msgstr "¡La Princesa Hinata es tan brillante como el sol!\n¡Nos inclinamos para proteger nuestros ojos de su resplandor!"
+
+msgid "MAP204_NPC_11"
+msgstr "¿Eres un Entrenador, verdad?\nEntonces deberías saber que Kaito y Hinata son los Líderes de Gimnasio de Tsukinami.\nNo usan ningún tipo en particular, pero...\nsu temática es \"El Día y la Noche\"."
+
+msgid "MAP204_NPC_12"
+msgstr "El Templo de Aotius y Mutios es el edificio más grande de nuestra aldea.\nFue erigida en señal de el fin de la guerra que duró más de cien años.\nYa que el Templo también es un Gimnasio, todos los combates dentro son rituales sagrados."
+
+msgid "MAP204_NPC_13"
+msgstr "Soy el Tutor de Movimientos\nde Daño Especial. Conozco todos los movimientos basados en la característica Ataque Especial que un Pokémon puede aprender. Si tienes 4 Partes Azules, ¡puede que sea capaz de enseñarle un nuevo movimiento a tus Pokémon! ¡Tienes las partes! ¡Muy bien! Le puedo enseñar un movimiento a uno de tus Pokémon. ¿Quieres que enseñe un movimiento? ¿A cuál Pokémon le debo enseñar? Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¿Qué? No le puedo enseñar ningún movimiento a un huevo. Ni de broma, no quiero acercarme a un Pokémon Sombra. Lo siento... No parece que le pueda enseñar ningún movimiento a tu . ¿Qué movimiento le enseño a tu ? PN entregó las partes como pago. ¡Gracias! Si necesitas aprender más movimientos, ¡vuelve con las partes suficientes! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¡Vuelve cuando tengas 4 partes y le enseñaré movimientos a tus Pokémon!"
+
+msgid "MAP204_NPC_14"
+msgstr "Reve: ¡Muuu-sha!"
+
+msgid "MAP204_NPC_15"
+msgstr "Oh, ¡hola!\nSoy Fennel, una científica de la región de Unova. Decidí venir aquí de vacaciones, ya que esta región tiene una cultura única e interesante.\nY ésta es Reve, mi Musharna. Reve: ¡Muuu-sha! Me especializo en investigar Sueños Pokémon. Incluso ayudé a construir un dispositivo llamado Visualizador de Sueños. Usando el poder de Reve, puedo mirar qué hay en los sueños de los Pokémon.\n¡Es muy fascinante! ¿Eh?. ¿Dices que hay una niña en Venesí que está atrapada en un sueño?\nEso está fuera de mi alcance...\nMe especializo en los sueños de Pokémon.\nAun así.... debe haber algo en lo que pueda ayudar. ¡Bien, me he decidido! Viajaré a Venesí a ver si puedo ayudar a la niña.\nDespués de todo, ¿de qué sirve la ciencia si no puedes ayudar a otros?\n¡Espero verte allí pronto!"
+
+msgid "MAP204_NPC_16"
+msgstr "Mi hija está obsesionada con coleccionar juguetes de Minicorn.\nSu sueño es ver uno real.\nEres Entrenador, ¿no? Si le mostraras uno, seguro que la haría muy feliz."
+
+msgid "MAP204_NPC_17"
+msgstr "¡Minicorn! ¡Quiero ver un Minicorn!\n¿Tienes un Minicorn? ¡¡¡OMG!!!! ¡TIENES UN MINICORN!\n*CHILLA*\n¡ES HERMOSO!\n¡¡¡AAAAAAAAAA!!! ¡Estoy tan, pero tan, pero tan feliz!\n¡¡Es el mejor día de TODOS!!\n¡Tengo que darte las gracias de alguna forma!\n¡Ten esta piedra reluciente! ¡Es mi favorita! Aww...\n¿Qué caso tiene ser un Entrenador si no tienes Pokémon bonitos?"
+
+msgid "MAP204_NPC_18"
+msgstr "Soy el Tutor de Movimientos\nde Daño Físico. Conozco todos los movimientos basados en la característica Ataque que un Pokémon puede aprender. Si tienes 4 Partes Rojas, ¡puede que sea capaz de enseñarle un nuevo movimiento a tus Pokémon! ¡Tienes las partes! ¡Muy bien! Le puedo enseñar un movimiento a uno de tus Pokémon. ¿Quieres que enseñe un movimiento? ¿A cuál Pokémon le debo enseñar? Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¿Qué? No le puedo enseñar ningún movimiento a un huevo. Ni de broma, no quiero acercarme a un Pokémon Sombra. Lo siento... No parece que le pueda enseñar ningún movimiento a tu . ¿Qué movimiento le enseño a tu ? PN entregó las partes como pago. ¡Gracias! Si necesitas aprender más movimientos, ¡vuelve con las partes suficientes! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¡Vuelve cuando tengas 4 partes y le enseñaré movimientos a tus Pokémon!"
+
+msgid "MAP204_NPC_19"
+msgstr "Soy el Tutor de Movimientos\nde Estados Negativos. Conozco todos los movimientos perjudiciales para el oponente que un Pokémon puede aprender. Si tienes 4 Partes Verdes, ¡puede que sea capaz de enseñarle un nuevo movimiento a tus Pokémon! ¡Tienes las partes! ¡Muy bien! Le puedo enseñar un movimiento a uno de tus Pokémon. ¿Quieres que enseñe un movimiento? ¿A cuál Pokémon le debo enseñar? Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¿Qué? No le puedo enseñar ningún movimiento a un huevo. Ni de broma, no quiero acercarme a un Pokémon Sombra. Lo siento... No parece que le pueda enseñar ningún movimiento a tu . ¿Qué movimiento le enseño a tu ? PN entregó las partes como pago. ¡Gracias! Si necesitas aprender más movimientos, ¡vuelve con las partes suficientes! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¡Vuelve cuando tengas 4 partes y le enseñaré movimientos a tus Pokémon!"
+
+msgid "MAP204_NPC_2"
+msgstr "Soy Genin.\n¡Saidine es mi arma secreta! Somos descendientes del Clan Nami.\nNuestra habilidad es dominar las olas.\nPor eso surfeamos."
+
+msgid "MAP204_NPC_3"
+msgstr "Yo me llamo Chuunin.\n¡Monto las olas tan rápido como el viento! Nuestros Gloriosos Líderes quieren crear una era de paz y prosperidad.\n¡Lo cual será difícil si tenemos a los piratas en nuestros talones!"
+
+msgid "MAP204_NPC_4"
+msgstr "Mi casa tenía muchas habitaciones de sobra, así que la convertí en un hotel.\nAh, eres Entrenador, ¿no es así? Un grupo de maestros Pokémon se están alojando en la habitación del fondo, por si quieres echarles una visita."
+
+msgid "MAP204_NPC_5"
+msgstr "Soy el Tutor de Movimientos\nde Estados Positivos. Conozco todos los movimientos beneficiosos para el usuario que un Pokémon puede aprender. Si tienes 4 Partes Amarillas, ¡puede que sea capaz de enseñarle un nuevo movimiento a tus Pokémon! ¡Tienes las partes! ¡Muy bien! Le puedo enseñar un movimiento a uno de tus Pokémon. ¿Quieres que enseñe un movimiento? ¿A cuál Pokémon le debo enseñar? Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¿Qué? No le puedo enseñar ningún movimiento a un huevo. Ni de broma, no quiero acercarme a un Pokémon Sombra. Lo siento... No parece que le pueda enseñar ningún movimiento a tu . ¿Qué movimiento le enseño a tu ? PN entregó las partes como pago. ¡Gracias! Si necesitas aprender más movimientos, ¡vuelve con las partes suficientes! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! Si necesitas que tu Pokémon aprenda un movimiento, ¡sabes a quién acudir! ¡Vuelve cuando tengas 4 partes y le enseñaré movimientos a tus Pokémon!"
+
+msgid "MAP204_NPC_6"
+msgstr "Soy al que llaman Juunin.\n¡Ataco lanzando Frynais, como cuchillos! Nuestro ex jefe Hokage está arriba.\nDesde que le ganaste, se ha dedicado a entrenar. Creo que quiere superarte."
+
+msgid "MAP204_NPC_7"
+msgstr "Hola. Soy Ronin.\nEl Clan de La Ola es como una familia para mí. En tiempos remotos, el Clan Nami regía todo el Mar Oriental de Tándor.\nAhora el océano es un refugio para los piratas... Quizá las cosas estarían mejor si aún tuviésemos el control."
+
+msgid "MAP204_NPC_8"
+msgstr "Así que... Viniste a verme en mi estado más patético.\nAfligido por mi vergonzosa derrota...\nfácilmente superado por un infante...\nNo podré mostrar mi rostro en la aldea hasta que domine las Seis Artes Sagradas del Gran Maestro Yoshitaka. Pero... hace tiempo que sus mejores discípulos partieron junto al viento, y mi entrenamiento se halla incompleto.\n¡Debo volverme más fuerte!... Tú y yo nos volveremos a enfrentar.\nAlgún día..."
+
+msgid "MAP204_NPC_9"
+msgstr "¿Cómo describiría yo a los Líderes Supremos?\nBueno, en pocas palabras...\nSon la base espiritual, política e histórica de Tsukinami. Sin ellos, no conoceríamos la paz. Realmente fueron bendecidos por los Dioses."
+
+msgid "MAP206_SIGN_1"
+msgstr "Teo: ¡Brrrrr!\n¡Ya hemos llegado, PN! ¡Solo necesitamos avanzar hacia el frente, y completaremos la prueba! ¡Vamos!"
+
+msgid "MAP206_TRAINER_1"
+msgstr "Has llegado hasta aquí, tras superar arduos juicios, y por fin has alcanzado la verdad. Ésta será tu prueba final. No tienes permitido el uso de objetos durante nuestro combate. ¡Simplemente ten fe en las habilidades de tus Pokémon y sigue adelante sin mirar atrás! Has completado las cinco pruebas. Tienes lo necesario para enfrentar al Líder de Gimnasio Vaeryn. Acompáñame."
+
+msgid "MAP206_TRAINER_1_DEFEAT"
+msgstr "Bien hecho."
+
+msgid "MAP207_NPC_1"
+msgstr "bCICERÓN:/b ¿Cómo distinguimos entre la realidad y un Sueño?"
+
+msgid "MAP207_NPC_2"
+msgstr "bANTÍFON:/b ¿Sabías que, mientras soñamos, el alma abandona el cuerpo dormido?"
+
+msgid "MAP207_NPC_3"
+msgstr "bARISTÓTELES: /b Utilidad. Placer. Virtud.\nEstas son las formas de amistad. PN recibió. . . algo. . . pero se convierte en polvo al tocar sus manos. Tienes una visión repentina de algo cambiando frente al Gimnasio de Rosalind."
+
+msgid "MAP207_SIGN_1"
+msgstr "Hay un Chyinmunk durmiendo en el té."
+
+msgid "MAP207_SIGN_2"
+msgstr "^^^"
+
+msgid "MAP208_NPC_1"
+msgstr "Tienes una visión repentina de algo que está cambiando en la Ruta 13."
+
+msgid "MAP209_NPC_1"
+msgstr "¡Te doy la bienvenida al centro vacacional! \n¡Dónde tú eres la estrella! Quédate un rato... o quédate para siempre. Sólo sopla en la caracola \nsi necesitas algo."
+
+msgid "MAP209_SIGN_1"
+msgstr "Las arenas del tiempo se te están agotando..."
+
+msgid "MAP210_NPC_1"
+msgstr "A veces hay que hacer sacrificios. A veces, el trabajo duro arde en llamas. Pero a veces las llamas de la muerte pueden convertirse en la luz de la salvación. Si te encuentras con un Pokémon llamado Antarki, ten en cuenta que puedes confiar en él."
+
+msgid "MAP212_SIGN_1"
+msgstr "Un lado te hará crecer más alto, y el otro lado te hará crecer más bajo."
+
+msgid "MAP213_NPC_1"
+msgstr "¡Algo iluminó la escena!"
+
+msgid "MAP213_NPC_2"
+msgstr "¡Algo iluminó la escena!"
+
+msgid "MAP213_NPC_3"
+msgstr "¡Algo iluminó la escena!"
+
+msgid "MAP213_NPC_4"
+msgstr "¡Algo iluminó la escena!"
+
+msgid "MAP213_NPC_5"
+msgstr "Tienes una visión repentina de algo que está cambiando en la Ruta 13."
+
+msgid "MAP213_NPC_6"
+msgstr "Reúne las visiones. Reúne el viento y el agua. Reúne al soñador y a la sangre, al soñador y al aliento."
+
+msgid "MAP213_NPC_7"
+msgstr "Reúne los recuerdos. Reúne el Oriente y Occidente. Reúne al soñador y a la familia."
+
+msgid "MAP213_NPC_8"
+msgstr "Tienes una visión repentina de algo que está cambiando en la Ruta 13."
+
+msgid "MAP213_NPC_9"
+msgstr "Reve hace ruidos de malestar."
+
+msgid "MAP213_SIGN_1"
+msgstr ""
+
+msgid "MAP213_SIGN_2"
+msgstr "Un ojo te mira fijamente donde no hay ningún ojo esculpido."
+
+msgid "MAP213_SIGN_3"
+msgstr "\"¡Ven! ¡Aquí, Masking! ¡Aquí, Masking!\""
+
+msgid "MAP214_NPC_1"
+msgstr "¡Está atrapada ahí dentro!\nCuando intentas romper el vidrio, tu brazo se siente extremadamente lento y pesado. No logras dar un buen golpe."
+
+msgid "MAP214_SIGN_1"
+msgstr "No hay ningún botón que funcione. No hay forma de liberar a Fennel."
+
+msgid "MAP214_SIGN_2"
+msgstr "Las letras son ilegibles, pero lo recuerdas todo."
+
+msgid "MAP216_NPC_1"
+msgstr "Tienes una visión repentina de algo cambiando frente al Gimnasio de Rosalind."
+
+msgid "MAP216_NPC_2"
+msgstr "Tienes una visión repentina de algo cambiando cerca de la habitación de hotel de Fennel en Tsukinami."
+
+msgid "MAP216_SIGN_1"
+msgstr "Una mesita de noche conteniendo un libro. La mayor parte del texto es ilegible, pero logras leer una línea: \n\"Porque la vida es un sueño, y los sueños, sueños son.\""
+
+msgid "MAP216_SIGN_2"
+msgstr "El ornamento brilla suavemente. Hay una inscripción debajo: \"Cenit dependerá de la estrella más propicia.\" \"Guíame, como hachones de fuego en la oscuridad.\""
+
+msgid "MAP216_SIGN_3"
+msgstr "El ornamento brilla suavemente. Hay una inscripción debajo: \"Guíame, como hachones de fuego en la oscuridad.\" \"Cenit dependerá de la estrella más propicia.\""
+
+msgid "MAP216_SIGN_4"
+msgstr "El ornamento brilla suavemente. Hay una inscripción debajo: \"Guíame, como hachones de fuego en la oscuridad.\" \"Cenit dependerá de la estrella más propicia.\""
+
+msgid "MAP216_SIGN_5"
+msgstr "El ornamento brilla suavemente. Hay una inscripción debajo: \"Cenit dependerá de la estrella más propicia.\" \"Guíame, como hachones de fuego en la oscuridad.\""
+
+msgid "MAP217_SIGN_1"
+msgstr "El texto cambia incluso cuando lo miras fijamente. Tus ojos se ponen llorosos. Crees poder identificar una T mayúscula"
diff --git a/Dialogue/Generated/es/HandFixes.po b/Dialogue/Generated/es/HandFixes.po
new file mode 100644
index 000000000..44eec139b
--- /dev/null
+++ b/Dialogue/Generated/es/HandFixes.po
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "PASSAGE_CAVE_TRAINER_1_DEFEATED"
+msgstr "¡Owww!"
+
+msgid "PASSAGE_CAVE_TRAINER_2_DEFEATED"
+msgstr "¡Urgh...!"
+
+msgid "PASSAGE_CAVE_TRAINER_3_DEFEATED"
+msgstr "¡Aaaaargh!"
diff --git a/Dialogue/Generated/es/OfficialItems.po b/Dialogue/Generated/es/OfficialItems.po
new file mode 100644
index 000000000..6eb128bf1
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialItems.po
@@ -0,0 +1,3556 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "Repel"
+msgstr "Repelente"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 100 steps after its use."
+msgstr "Repele Pokémon salvajes débiles en un recorrido de 100 pasos."
+
+msgid "Super Repel"
+msgstr "Superrepelente"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 200 steps after its use."
+msgstr "Repele Pokémon salvajes débiles en un recorrido de 200 pasos."
+
+msgid "Max Repel"
+msgstr "Repelente Máximo"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 250 steps after its use."
+msgstr "Repele Pokémon salvajes débiles en un recorrido de 250 pasos."
+
+msgid "Black Flute"
+msgstr "Flauta Negra"
+
+msgid "A black flute made from blown glass. Its melody makes wild Pokémon less likely to appear."
+msgstr "Flauta de cristal negro cuya melodía ayuda a reducir las probabilidades de encontrarse con Pokémon salvajes."
+
+msgid "White Flute"
+msgstr "Flauta Blanca"
+
+msgid "A white flute made from blown glass. Its melody makes wild Pokémon more likely to appear."
+msgstr "Flauta de cristal blanco cuya melodía ayuda a aumentar las probabilidades de encontrarse con Pokémon salvajes."
+
+msgid "Honey"
+msgstr "Miel"
+
+msgid "A sweet honey with an aroma that attracts wild Pokémon when used in grass, caves or on special trees."
+msgstr "Su delicioso aroma atrae a Pokémon salvajes si se usa en zonas de hierba alta, cuevas o árboles especiales."
+
+msgid "Escape Rope"
+msgstr "Cuerda Huida"
+
+msgid "A long, durable rope. Use it to escape instantly from a cave or a dungeon."
+msgstr "Cuerda larga y resistente que sirve para huir de cuevas y sitios cerrados en general."
+
+msgid "Red Shard"
+msgstr "Parte Roja"
+
+msgid "A small red shard. It appears to be from some sort of implement made long ago."
+msgstr "Un pequeño fragmento rojo. Parece formar parte de algún tipo de herramienta antigua."
+
+msgid "Blue Shard"
+msgstr "Parte Azul"
+
+msgid "A small blue shard. It appears to be from some sort of implement made long ago."
+msgstr "Un pequeño fragmento azul. Parece formar parte de algún tipo de herramienta antigua."
+
+msgid "Yellow Shard"
+msgstr "Parte Amarilla"
+
+msgid "A small yellow shard. It appears to be from some sort of implement made long ago."
+msgstr "Un pequeño fragmento amarillo. Parece formar parte de algún tipo de herramienta antigua."
+
+msgid "Green Shard"
+msgstr "Parte Verde"
+
+msgid "A small green shard. It appears to be from some sort of implement made long ago."
+msgstr "Un pequeño fragmento verde. Parece formar parte de algún tipo de herramienta antigua."
+
+msgid "Fire Stone"
+msgstr "Piedra Fuego"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is colored orange."
+msgstr "Curiosa piedra que hace evolucionar a determinadas especies de Pokémon. Es amarilla con una marca naranja."
+
+msgid "Water Stone"
+msgstr "Piedra Agua"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is a clear, light blue."
+msgstr "Curiosa piedra que hace evolucionar a determinadas especies de Pokémon. Es de color azul, como el agua."
+
+msgid "Thunderstone"
+msgstr "Piedra Trueno"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It has a thunderbolt pattern."
+msgstr "Curiosa piedra que hace evolucionar a determinadas especies de Pokémon. Tiene dibujado un rayo."
+
+msgid "Leaf Stone"
+msgstr "Piedra Hoja"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It has a leaf pattern."
+msgstr "Curiosa piedra que hace evolucionar a determinadas especies de Pokémon. Tiene dibujada una hoja."
+
+msgid "Moon Stone"
+msgstr "Piedra Lunar"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as black as the night sky."
+msgstr "Curiosa piedra que hace evolucionar a determinadas especies de Pokémon. Es negra como el azabache."
+
+msgid "Sun Stone"
+msgstr "Piedra Solar"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as red as the sun."
+msgstr "Curiosa piedra que hace evolucionar a determinadas especies de Pokémon. Es roja como el sol."
+
+msgid "Shiny Stone"
+msgstr "Piedra Día"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It shines with a dazzling light."
+msgstr "Una piedra peculiar que hace evolucionar a algunos Pokémon. Tiene un brillo espectacular."
+
+msgid "Dusk Stone"
+msgstr "Piedra Noche"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as dark as dark can be."
+msgstr "Una piedra peculiar que hace evolucionar a algunos Pokémon. Es oscura como la noche."
+
+msgid "Dawn Stone"
+msgstr "Piedra Alba"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It sparkles like eyes."
+msgstr "Una piedra peculiar que hace evolucionar a algunos Pokémon. Brilla como un lucero."
+
+msgid "Oval Stone"
+msgstr "Piedra Oval"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is shaped like an egg."
+msgstr "Una piedra peculiar que hace evolucionar a algunos Pokémon. Tiene forma de huevo."
+
+msgid "Helix Fossil"
+msgstr "Fósil Helix"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a seashell."
+msgstr "Fósil de un Pokémon ancestral que vivió en el fondo del mar. Parece ser un fragmento de concha marina."
+
+msgid "Dome Fossil"
+msgstr "Fósil Domo"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a shell."
+msgstr "Fósil de un Pokémon ancestral que vivió en el fondo del mar. Parece ser un fragmento de concha."
+
+msgid "Old Amber"
+msgstr "Ámbar Viejo"
+
+msgid "A piece of clear amber that contains the genetic material of an ancient Pokémon."
+msgstr "Fragmento de ámbar que contiene información genética de un Pokémon ancestral. Es de color amarillo."
+
+msgid "Root Fossil"
+msgstr "Fósil Raíz"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a plant root."
+msgstr "Fósil de un Pokémon ancestral que vivió en el fondo del mar. Parece ser parte de una raíz."
+
+msgid "Claw Fossil"
+msgstr "Fósil Garra"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a claw."
+msgstr "Fósil de un Pokémon ancestral que vivió en el fondo del mar. Parece ser parte de una garra."
+
+msgid "Armor Fossil"
+msgstr "Fósil Coraza"
+
+msgid "A fossil from a prehistoric Pokémon that lived on the land. It appears to be part of a collar."
+msgstr "Fósil de un Pokémon prehistórico terrestre. Parece ser un fragmento del cuello."
+
+msgid "Skull Fossil"
+msgstr "Fósil Cráneo"
+
+msgid "A fossil from a prehistoric Pokémon that lived on the land. It appears to be part of a head."
+msgstr "Fósil de un Pokémon prehistórico terrestre. Parece ser parte de una cabeza."
+
+msgid "TinyMushroom"
+msgstr "Mini Seta"
+
+msgid "A small and rare mushroom. It is quite popular among certain maniacal fan segments."
+msgstr "Seta pequeña y poco común bastante popular entre determinados grupos de gourmets."
+
+msgid "Big Mushroom"
+msgstr "Seta Grande"
+
+msgid "A large and rare mushroom. It is very popular among certain maniacal fan segments."
+msgstr "Seta grande y poco común bastante popular entre determinados grupos de gourmets."
+
+msgid "Pearl"
+msgstr "Perla"
+
+msgid "A somewhat-small pearl that sparkles in a pretty silver color. It can be sold cheaply to shops."
+msgstr "Brillante perla plateada de tamaño más bien pequeño que no alcanza mucho precio en las tiendas."
+
+msgid "Big Pearl"
+msgstr "Perla Grande"
+
+msgid "A quite-large pearl that sparkles in a pretty silver color. It can be sold at a high price to shops."
+msgstr "Brillante perla plateada de gran tamaño que puede venderse a buen precio en las tiendas."
+
+msgid "Stardust"
+msgstr "Polvoestelar"
+
+msgid "Lovely, red-colored sand with a loose, silky feel. It can be sold at a high price to shops."
+msgstr "Bonita arena roja de textura sedosa que alcanza un alto precio en las tiendas."
+
+msgid "Star Piece"
+msgstr "Trozo Estrella"
+
+msgid "A shard of a pretty gem that sparkles in a red color. It can be sold at a high price to shops."
+msgstr "Fragmento de una bonita gema roja que puede venderse muy caro en las tiendas."
+
+msgid "Nugget"
+msgstr "Pepita"
+
+msgid "A nugget of pure gold that gives off a lustrous gleam. It can be sold at a high price to shops."
+msgstr "Pepita de oro puro que desprende un brillo espectacular. Puede venderse muy cara en las tiendas."
+
+msgid "Heart Scale"
+msgstr "Escama Corazón"
+
+msgid "A pretty, heart-shaped scale that is extremely rare. It glows faintly in the colors of the rainbow."
+msgstr "Bella escama con forma de corazón que brilla con los colores del arco iris. Es muy poco común."
+
+msgid "Rare Bone"
+msgstr "Hueso Raro"
+
+msgid "A bone that is extremely valuable for Pokémon archaeology. It can be sold for a high price to shops."
+msgstr "Un hueso de gran valor arqueológico que puede alcanzar un alto precio en las tiendas."
+
+msgid "Shoal Salt"
+msgstr "Sal Cardumen"
+
+msgid "Pure salt that was discovered deep inside the Shoal Cave. It is extremely salty."
+msgstr "Sal pura y de sabor intenso procedente de las profundidades de la Cueva Cardumen."
+
+msgid "Shoal Shell"
+msgstr "Concha Cardumen"
+
+msgid "A pretty seashell that was found deep inside the Shoal Cave. It is striped in blue and white."
+msgstr "Hermosa concha marina hallada en lo más profundo de la Cueva Cardumen. Tiene rayas azules y blancas."
+
+msgid "Odd Keystone"
+msgstr "Piedra Espíritu"
+
+msgid "A vital item that is needed to keep a stone tower from collapsing. Voices can be heard from it occasionally."
+msgstr "Vital para impedir que una torre de piedra se derrumbe. A veces se oyen voces en su interior."
+
+msgid "Growth Mulch"
+msgstr "Abono Rápido"
+
+msgid "A plant fertilizer. It speeds up the growth of Berries. However, it also dries the soil faster."
+msgstr "Un fertilizante que se usa en tierra suelta. Acelera el crecimiento de las bayas, pero también seca el suelo."
+
+msgid "Damp Mulch"
+msgstr "Abono Lento"
+
+msgid "A plant fertilizer. It slows the growth of Berries and causes the soil to dry slower."
+msgstr "Fertilizante para tierra suelta que ralentiza el crecimiento de las bayas y seca el suelo lentamente."
+
+msgid "Stable Mulch"
+msgstr "Abono Fijador"
+
+msgid "A plant fertilizer. It extends the time ripened Berries remain on their plants before falling."
+msgstr "Fertilizante para tierra suelta que retrasa la caída de las bayas maduras."
+
+msgid "Gooey Mulch"
+msgstr "Abono Brote"
+
+msgid "A plant fertilizer. It ups the number of times new plants grow where mature plants withered."
+msgstr "Fertilizante para tierra suelta que hace que broten más plantas nuevas de las plantas marchitas."
+
+msgid "Red Apricorn"
+msgstr "Bonguri Roja"
+
+msgid "A red Apricorn. It assails your nostrils."
+msgstr "Bonguri de color rojo y aroma muy penetrante."
+
+msgid "Ylw Apricorn"
+msgstr "Bonguri Amarilla"
+
+msgid "A yellow Apricorn. It has an invigorating scent."
+msgstr "Bonguri de color amarillo y aroma refrescante."
+
+msgid "Blu Apricorn"
+msgstr "Bonguri Azul"
+
+msgid "A blue Apricorn. It smells a bit like grass."
+msgstr "Bonguri de color azul y aroma tierno."
+
+msgid "Grn Apricorn"
+msgstr "Bonguri Verde"
+
+msgid "A green Apricorn. It has a mysterious, aromatic scent."
+msgstr "Bonguri de color verde y aroma peculiar que recuerda al café tostado."
+
+msgid "Pnk Apricorn"
+msgstr "Bonguri Rosa"
+
+msgid "A pink Apricorn. It has a nice, sweet scent."
+msgstr "Bonguri de color rosa y aroma dulce."
+
+msgid "Wht Apricorn"
+msgstr "Bonguri Blanca"
+
+msgid "A white Apricorn. It doesn't smell like anything."
+msgstr "Bonguri de color blanco que no desprende aroma alguno."
+
+msgid "Blk Apricorn"
+msgstr "Bonguri Negra"
+
+msgid "A black Apricorn. It has an indescribable scent."
+msgstr "Bonguri de color negro y aroma indescriptible."
+
+msgid "BrightPowder"
+msgstr "Polvo Brillo"
+
+msgid "An item to be held by a Pokémon. It casts a tricky glare that lowers the opponent's accuracy."
+msgstr "Lanza un destello que baja la precisión del enemigo. Debe llevarlo un Pokémon."
+
+msgid "White Herb"
+msgstr "Hierba Blanca"
+
+msgid "An item to be held by a Pokémon. It restores any lowered stat in battle. It can be used only once."
+msgstr "Restaura cualquier característica debilitada en combate. Solo se puede usar una vez. Debe llevarla un Pokémon."
+
+msgid "Exp. Share"
+msgstr "Repartir Exp."
+
+msgid "An item to be held by a Pokémon. The holder gets a share of a battle's Exp. Points without battling."
+msgstr "Permite a su portador obtener parte de los Puntos de Exp. de un combate sin participar en él."
+
+msgid "Quick Claw"
+msgstr "Garra Rápida"
+
+msgid "An item to be held by a Pokémon. A light, sharp claw that lets the bearer move first occasionally."
+msgstr "Garra ligera y afilada que permite a su portador atacar primero de vez en cuando."
+
+msgid "Soothe Bell"
+msgstr "Campana Alivio"
+
+msgid "An item to be held by a Pokémon. It is a bell with a comforting chime that calms the holder."
+msgstr "Una campana con un tañido calmante que reconforta al Pokémon que la lleva y lo vuelve más amistoso."
+
+msgid "Mental Herb"
+msgstr "Hierba Mental"
+
+msgid "An item to be held by a Pokémon. It snaps the holder out of infatuation, just once."
+msgstr "El Pokémon que la lleve se libera del enamoramiento. Solo puede usarse una vez."
+
+msgid "King's Rock"
+msgstr "Roca del Rey"
+
+msgid "An item to be held by a Pokémon. It may cause the foe to flinch when the holder inflicts damage."
+msgstr "Puede hacer retroceder al enemigo cuando el Pokémon que la lleva le hiera."
+
+msgid "SilverPowder"
+msgstr "Polvo Plata"
+
+msgid "An item to be held by a Pokémon. It is a shiny, silver powder that ups the power of Bug-type moves."
+msgstr "Polvo de brillo argénteo que fortalece los ataques de tipo Bicho. Debe llevarlo un Pokémon."
+
+msgid "Amulet Coin"
+msgstr "Moneda Amuleto"
+
+msgid "An item to be held by a Pokémon. It doubles a battle's prize money if the holding Pokémon joins in."
+msgstr "Si el Pokémon que la lleva lucha en un combate, duplica las ganancias."
+
+msgid "Cleanse Tag"
+msgstr "Amuleto"
+
+msgid "An item to be held by a Pokémon. It helps keep wild Pokémon away if the holder is the first one in the party."
+msgstr "Si lo lleva el primer Pokémon del equipo, se reduce la probabilidad de que se acerquen Pokémon salvajes."
+
+msgid "Smoke Ball"
+msgstr "Bola Humo"
+
+msgid "An item to be held by a Pokémon. It enables the holder to flee from any wild Pokémon without fail."
+msgstr "Debe llevarla un Pokémon. Permite huir de combates contra Pokémon salvajes."
+
+msgid "Everstone"
+msgstr "Piedra Eterna"
+
+msgid "An item to be held by a Pokémon. The Pokémon holding this peculiar stone is prevented from evolving."
+msgstr "El Pokémon que lleve esta piedra mágica no evolucionará."
+
+msgid "Focus Band"
+msgstr "Cinta Focus"
+
+msgid "An item to be held by a Pokémon. The holder may endure a potential KO attack, leaving it with just 1 HP."
+msgstr "Si los PS del portador están al máximo, sobrevivirá cualquier ataque con al menos 1 PS."
+
+msgid "Lucky Egg"
+msgstr "Huevo Suerte"
+
+msgid "An item to be held by a Pokémon. It is an egg filled with happiness that earns extra Exp. Points in battle."
+msgstr "Es un huevo lleno de felicidad que te hará ganar Puntos de Exp. extra en combate. Debe llevarlo un Pokémon."
+
+msgid "Scope Lens"
+msgstr "Periscopio"
+
+msgid "An item to be held by a Pokémon. It is a lens that boosts the holder's critical-hit ratio."
+msgstr "Su lente aumenta la posibilidad que tiene el Pokémon que lo lleva de conseguir un golpe crítico."
+
+msgid "Wide Lens"
+msgstr "Lupa"
+
+msgid "An item to be held by a Pokémon. It is a magnifying lens that slightly boosts the accuracy of moves."
+msgstr "Debe llevarla un Pokémon. Aumenta ligeramente la precisión de los movimientos."
+
+msgid "Zoom Lens"
+msgstr "Telescopio"
+
+msgid "An item to be held by a Pokémon. If the holder moves after the foe, its critical-hit ratio will be boosted."
+msgstr "Debe llevarlo un Pokémon. Si se mueve después del enemigo, aumenta el índice de precisión del Pokémon."
+
+msgid "Metal Coat"
+msgstr "Revest. Metálico"
+
+msgid "An item to be held by a Pokémon. It is a special metallic film that ups the power of Steel-type moves."
+msgstr "Película metálica que fortalece los ataques de tipo Acero. Debe llevarlo un Pokémon."
+
+msgid "Leftovers"
+msgstr "Restos"
+
+msgid "An item to be held by a Pokémon. The holder's HP is gradually restored during battle."
+msgstr "Restauran gradualmente los PS del Pokémon que los lleva durante el combate."
+
+msgid "Dragon Scale"
+msgstr "Escamadragón"
+
+msgid "A thick and tough scale. Dragon-type Pokémon may be holding this item when caught."
+msgstr "Una gruesa y resistente escama que pueden llevar los Pokémon de tipo Dragón cuando son capturados."
+
+msgid "Shell Bell"
+msgstr "Campana Concha"
+
+msgid "An item to be held by a Pokémon. The holder's HP is restored a little every time it inflicts damage."
+msgstr "Debe llevarla un Pokémon. Cada vez que este inflija daño, recuperará algunos PS."
+
+msgid "Muscle Band"
+msgstr "Cinta Fuerte"
+
+msgid "An item to be held by a Pokémon. It is a headband that slightly boosts the power of physical moves."
+msgstr "Cinta de pelo que aumenta ligeramente la potencia de los movimientos físicos. Debe llevarla un Pokémon."
+
+msgid "Wise Glasses"
+msgstr "Gafas Especiales"
+
+msgid "An item to be held by a Pokémon. It is a thick pair of glasses that boosts the power of special moves."
+msgstr "Potencian ligeramente los movimientos especiales. Debe llevarlas un Pokémon."
+
+msgid "Expert Belt"
+msgstr "Cinta Xperto"
+
+msgid "An item to be held by a Pokémon. It is a well-worn belt that boosts the power of supereffective moves."
+msgstr "Potencia ligeramente los movimientos supereficaces. Debe llevarla un Pokémon."
+
+msgid "Life Orb"
+msgstr "Vidasfera"
+
+msgid "An item to be held by a Pokémon. It boosts the power of moves, but at the cost of some HP on each hit."
+msgstr "Potencia los movimientos, pero consume PS con cada ataque. Debe llevarla un Pokémon."
+
+msgid "Power Herb"
+msgstr "Hierba Única"
+
+msgid "A single-use item to be held by a Pokémon. It allows the immediate use of a move that charges."
+msgstr "Permite el uso inmediato de cualquier movimiento en el primer turno. Es de un solo uso y debe llevarla un Pokémon."
+
+msgid "Toxic Orb"
+msgstr "Toxisfera"
+
+msgid "An item to be held by a Pokémon. It is a bizarre orb that badly poisons the holder in battle."
+msgstr "Extraña esfera que envenena gravemente a quien la usa en combate. Debe llevarla un Pokémon."
+
+msgid "Flame Orb"
+msgstr "Llamasfera"
+
+msgid "An item to be held by a Pokémon. It is a bizarre orb that inflicts a burn on the holder in battle."
+msgstr "Extraña esfera que causa quemaduras a quien la usa en combate. Debe llevarla un Pokémon."
+
+msgid "Focus Sash"
+msgstr "Banda Focus"
+
+msgid "An item to be held by a Pokémon. If it has full HP, the holder will endure a potential KO attack."
+msgstr "Si los PS del portador están al máximo, sobrevivirá cualquier ataque con al menos 1 PS."
+
+msgid "Metronome"
+msgstr "Metrónomo"
+
+msgid "A Pokémon hold item that boosts a move used consecutively."
+msgstr "Potencia un movimiento que se use de forma consecutiva. Pero el efecto se pierde si se emplea otro movimiento."
+
+msgid "Iron Ball"
+msgstr "Bola Férrea"
+
+msgid "A Pokémon hold item that cuts Speed. It makes airborne holders susceptible to Ground moves."
+msgstr "Reduce la Velocidad. Los Pokémon que levitan y los de tipo Volador se tornan sensibles a movimientos de Tierra."
+
+msgid "Lagging Tail"
+msgstr "Cola Plúmbea"
+
+msgid "An item to be held by a Pokémon. It is tremendously heavy and makes the holder move slower than usual."
+msgstr "Es muy pesada y hace que el Pokémon que la lleva se mueva más lento de lo normal."
+
+msgid "Destiny Knot"
+msgstr "Lazo Destino"
+
+msgid "A long, bright red string to be held by a Pokémon. If the holder becomes infatuated, the foe does too."
+msgstr "Un hilo largo y delgado de color rojo que transmite el enamoramiento del Pokémon que lo lleva a su rival."
+
+msgid "Black Sludge"
+msgstr "Lodo Negro"
+
+msgid "A hold item that gradually restores the HP of Poison-type Pokémon. It inflicts damage on all other types."
+msgstr "Restaura gradualmente los PS de los Pokémon de tipo Veneno y daña a todos los demás."
+
+msgid "Grip Claw"
+msgstr "Garra Garfio"
+
+msgid "A Pokémon hold item that extends the duration of multiturn attacks like Bind and Wrap."
+msgstr "Prolonga la duración de ataques multiturno como Atadura y Repetición. Debe llevarla un Pokémon."
+
+msgid "Sticky Barb"
+msgstr "Toxiestrella"
+
+msgid "A hold item that damages the holder on every turn. It may latch on to foes that touch the holder."
+msgstr "Daña en cada turno al Pokémon que la lleva y también puede dañar a los enemigos que toquen al Pokémon."
+
+msgid "Shed Shell"
+msgstr "Muda Concha"
+
+msgid "A tough, discarded carapace to be held by a Pokémon. It enables the holder to switch out of battle."
+msgstr "En combate, esta concha desechada sirve para que un Pokémon se cambie por otro que no esté combatiendo."
+
+msgid "Big Root"
+msgstr "Raíz Grande"
+
+msgid "A Pokémon hold item that boosts the power of HP-stealing moves to let the holder recover more HP."
+msgstr "Potencia los movimientos que roban PS. Debe llevarla un Pokémon."
+
+msgid "Choice Band"
+msgstr "Cinta Elegida"
+
+msgid "An item to be held by a Pokémon. This headband ups Attack, but allows the use of only one kind of move."
+msgstr "Aumenta el Ataque pero solo permite usar un tipo de movimiento. Debe llevarla un Pokémon."
+
+msgid "Choice Specs"
+msgstr "Gafas Elegidas"
+
+msgid "A Pokémon hold item. These distinctive glasses boost Sp. Atk, but allow only one move to be used."
+msgstr "Potencian el At. Esp. pero solo permiten usar un tipo de movimiento. Debe llevarlas un Pokémon."
+
+msgid "Choice Scarf"
+msgstr "Pañuelo Elegido"
+
+msgid "An item to be held by a Pokémon. This scarf boosts Speed, but allows the use of only one kind of move."
+msgstr "Debe llevarlo un Pokémon. Potencia la Velocidad, pero solo permite usar un tipo de movimiento."
+
+msgid "Light Clay"
+msgstr "Refleluz"
+
+msgid "A Pokémon hold item that extends the duration of barrier moves like Light Screen and Reflect."
+msgstr "Prolonga la duración de barreras como Reflejo y Pantalla de Luz. Debe llevarla un Pokémon."
+
+msgid "Icy Rock"
+msgstr "Roca Helada"
+
+msgid "A Pokémon hold item that extends the duration of the move Hail used by the holder."
+msgstr "Prolonga la duración del movimiento Granizo del Pokémon que la lleva."
+
+msgid "Smooth Rock"
+msgstr "Roca Suave"
+
+msgid "A Pokémon hold item that extends the duration of the move Sandstorm used by the holder."
+msgstr "Prolonga la duración del movimiento Torm. Arena que use el Pokémon que la lleva."
+
+msgid "Heat Rock"
+msgstr "Roca Calor"
+
+msgid "A Pokémon hold item that extends the duration of the move Sunny Day used by the holder."
+msgstr "Prolonga la duración del movimiento Día Soleado que use el Pokémon que la lleva."
+
+msgid "Damp Rock"
+msgstr "Roca Lluvia"
+
+msgid "A Pokémon hold item that extends the duration of the move Rain Dance used by the holder."
+msgstr "Prolonga la duración del movimiento Danza Lluvia que use el Pokémon que la lleva."
+
+msgid "Macho Brace"
+msgstr "Brazal Firme"
+
+msgid "A Pokémon hold item that is a stiff and heavy brace that promotes strong growth but lowers Speed."
+msgstr "Sólido y pesado brazal que fomenta el crecimiento pero reduce la Velocidad. Debe llevarlo un Pokémon."
+
+msgid "Power Bracer"
+msgstr "Brazal Recio"
+
+msgid "A Pokémon hold item that promotes Attack gain on leveling, but reduces the Speed stat."
+msgstr "Ayuda a ganar Ataque al subir de nivel, pero reduce la Velocidad. Debe llevarlo un Pokémon."
+
+msgid "Power Belt"
+msgstr "Cinto Recio"
+
+msgid "A Pokémon hold item that promotes Defense gain on leveling, but reduces the Speed stat."
+msgstr "Ayuda a ganar Defensa al subir de nivel, pero reduce la Velocidad. Debe llevarlo un Pokémon."
+
+msgid "Power Lens"
+msgstr "Lente Recia"
+
+msgid "A Pokémon hold item that promotes Sp. Atk gain on leveling, but reduces the Speed stat."
+msgstr "Ayuda a ganar At. Esp. al subir de nivel, pero reduce la Velocidad. Debe llevarla un Pokémon."
+
+msgid "Power Band"
+msgstr "Banda Recia"
+
+msgid "A Pokémon hold item that promotes Sp. Def gain on leveling, but reduces the Speed stat."
+msgstr "Ayuda a ganar Def. Esp. al subir de nivel, pero reduce la Velocidad. Debe llevarla un Pokémon."
+
+msgid "Power Anklet"
+msgstr "Franja Recia"
+
+msgid "A Pokémon hold item that promotes Speed gain on leveling, but reduces the Speed stat."
+msgstr "Ayuda a ganar Velocidad al subir de nivel, pero reduce la Velocidad en combate. Debe llevarla un Pokémon."
+
+msgid "Power Weight"
+msgstr "Pesa Recia"
+
+msgid "A Pokémon hold item that promotes HP gain on leveling, but reduces the Speed stat."
+msgstr "Ayuda a conseguir más PS al subir de nivel, pero reduce la Velocidad. Debe llevarla un Pokémon."
+
+msgid "Sea Incense"
+msgstr "Incienso Marino"
+
+msgid "A Pokémon hold item. It is incense with a curious aroma that boosts the power of Water-type moves."
+msgstr "Tiene un curioso aroma que potencia la energía de los ataques de tipo Agua. Debe llevarlo un Pokémon."
+
+msgid "Lax Incense"
+msgstr "Incienso Suave"
+
+msgid "A Pokémon hold item. The tricky aroma of this incense lowers the foe's accuracy."
+msgstr "Debe llevarlo un Pokémon. Su peculiar aroma reduce la precisión del rival."
+
+msgid "Odd Incense"
+msgstr "Incienso Raro"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Psychic-type moves."
+msgstr "Incienso de exótico aroma que fortalece los movimientos de tipo Psíquico. Debe llevarlo un Pokémon."
+
+msgid "Rock Incense"
+msgstr "Incienso Roca"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Rock-type moves."
+msgstr "Incienso de exótico aroma que fortalece los movimientos de tipo Roca. Debe llevarlo un Pokémon."
+
+msgid "Full Incense"
+msgstr "Incienso Lento"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that makes the holder bloated and slow moving."
+msgstr "Exótica sustancia aromática que hace que el Pokémon que la lleva se mueva más despacio."
+
+msgid "Wave Incense"
+msgstr "Incienso Aqua"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Water-type moves."
+msgstr "Incienso exótico que fortalece los movimientos de tipo Agua. Debe llevarlo un Pokémon."
+
+msgid "Rose Incense"
+msgstr "Incienso Floral"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Grass-type moves."
+msgstr "Incienso de exótico aroma que fortalece los movimientos de tipo Planta. Debe llevarlo un Pokémon."
+
+msgid "Luck Incense"
+msgstr "Incienso Duplo"
+
+msgid "Pure Incense"
+msgstr "Incienso Puro"
+
+msgid "Soft Sand"
+msgstr "Arena Fina"
+
+msgid "An item to be held by a Pokémon. It is a loose, silky sand that boosts the power of Ground-type moves."
+msgstr "Debe llevarla un Pokémon. La suavidad de la arena fortalece los ataques de tipo Tierra."
+
+msgid "Hard Stone"
+msgstr "Piedra Dura"
+
+msgid "An item to be held by a Pokémon. It is an unbreakable stone that ups the power of Rock-type moves."
+msgstr "Debe llevarla un Pokémon. La robustez de la piedra fortalece los ataques de tipo Roca."
+
+msgid "Miracle Seed"
+msgstr "Semilla Milagro"
+
+msgid "An item to be held by a Pokémon. It is a seed imbued with life that ups the power of Grass-type moves."
+msgstr "Debe llevarla un Pokémon. La vitalidad de la semilla fortalece los ataques de tipo Planta."
+
+msgid "BlackGlasses"
+msgstr "Gafas de Sol"
+
+msgid "An item to be held by a Pokémon. It is a shady-looking pair of glasses that boosts Dark-type moves."
+msgstr "Debe llevarlas un Pokémon. Fortalecen los ataques de tipo Siniestro."
+
+msgid "Black Belt"
+msgstr "Cinturón Negro"
+
+msgid "An item to be held by a Pokémon. It is a belt that boosts determination and Fighting-type moves."
+msgstr "Debe llevarlo un Pokémon. Aumenta la decisión y fortalece los ataques de tipo Lucha."
+
+msgid "Magnet"
+msgstr "Imán"
+
+msgid "An item to be held by a Pokémon. It is a powerful magnet that boosts the power of Electric-type moves."
+msgstr "Su potente magnetismo fortalece los ataques de tipo Eléctrico."
+
+msgid "Mystic Water"
+msgstr "Agua Mística"
+
+msgid "An item to be held by a Pokémon. It is a teardrop-shaped gem that ups the power of Water-type moves."
+msgstr "Gema con forma de lágrima que fortalece los ataques de tipo Agua."
+
+msgid "Sharp Beak"
+msgstr "Pico Afilado"
+
+msgid "An item to be held by a Pokémon. It is a long, sharp beak that boosts the power of Flying-type moves."
+msgstr "Pico largo y afilado que aumenta la potencia de los movimientos de tipo Volador. Debe llevarlo un Pokémon."
+
+msgid "Poison Barb"
+msgstr "Flecha Venenosa"
+
+msgid "An item to be held by a Pokémon. It is a small, poisonous barb that ups the power of Poison-type moves."
+msgstr "Flecha venenosa que refuerza los movimientos de tipo Veneno. Debe llevarla un Pokémon."
+
+msgid "NeverMeltIce"
+msgstr "Antiderretir"
+
+msgid "An item to be held by a Pokémon. It is a piece of ice that repels heat and boosts Ice-type moves."
+msgstr "Fragmento de hielo que repele el calor y fortalece los ataques de tipo Hielo. Debe llevarlo un Pokémon."
+
+msgid "Spell Tag"
+msgstr "Hechizo"
+
+msgid "An item to be held by a Pokémon. It is a sinister, eerie tag that boosts the power of Ghost-type moves."
+msgstr "Misterioso y oscuro objeto que refuerza los ataques de tipo Fantasma. Debe llevarlo un Pokémon."
+
+msgid "TwistedSpoon"
+msgstr "Cuchara Torcida"
+
+msgid "A Pokémon hold item. It is a spoon imbued with telekinetic power that boosts Psychic-type moves."
+msgstr "Cuchara llena de energía telequinética que potencia los movimientos de tipo Psíquico."
+
+msgid "Charcoal"
+msgstr "Carbón"
+
+msgid "An item to be held by a Pokémon. It is a combustible fuel that boosts the power of Fire-type moves."
+msgstr "Actúa como combustible y potencia la energía de los ataques de tipo Fuego. Debe llevarlo un Pokémon."
+
+msgid "Dragon Fang"
+msgstr "Colmillo Dragón"
+
+msgid "An item to be held by a Pokémon. It is a hard and sharp fang that ups the power of Dragon-type moves."
+msgstr "Colmillo de gran dureza que refuerza los ataques de tipo Dragón. Debe llevarlo un Pokémon."
+
+msgid "Silk Scarf"
+msgstr "Pañuelo Seda"
+
+msgid "An item to be held by a Pokémon. It is a sumptuous scarf that boosts the power of Normal-type moves."
+msgstr "La delicadeza del pañuelo fortalece los ataques de tipo Normal. Debe llevarlo un Pokémon."
+
+msgid "Flame Plate"
+msgstr "Tabla Llama"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fire-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Fuego. Debe llevarla un Pokémon."
+
+msgid "Splash Plate"
+msgstr "Tabla Linfa"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Water-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Agua. Debe llevarla un Pokémon."
+
+msgid "Zap Plate"
+msgstr "Tabla Trueno"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Electric-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Eléctrico. Debe llevarla un Pokémon."
+
+msgid "Meadow Plate"
+msgstr "Tabla Pradal"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Grass-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Planta. Debe llevarla un Pokémon."
+
+msgid "Icicle Plate"
+msgstr "Tabla Helada"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ice-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Hielo. Debe llevarla un Pokémon."
+
+msgid "Fist Plate"
+msgstr "Tabla Fuerte"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fighting-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Lucha. Debe llevarla un Pokémon."
+
+msgid "Toxic Plate"
+msgstr "Tabla Tóxica"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Poison-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Veneno. Debe llevarla un Pokémon."
+
+msgid "Earth Plate"
+msgstr "Tabla Terrax"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ground-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Tierra. Debe llevarla un Pokémon."
+
+msgid "Sky Plate"
+msgstr "Tabla Cielo"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Flying-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Volador. Debe llevarla un Pokémon."
+
+msgid "Mind Plate"
+msgstr "Tabla Mental"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Psychic-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Psíquico. Debe llevarla un Pokémon."
+
+msgid "Insect Plate"
+msgstr "Tabla Bicho"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Bug-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Bicho. Debe llevarla un Pokémon."
+
+msgid "Stone Plate"
+msgstr "Tabla Pétrea"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Rock-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Roca. Debe llevarla un Pokémon."
+
+msgid "Spooky Plate"
+msgstr "Tabla Terror"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ghost-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Fantasma. Debe llevarla un Pokémon."
+
+msgid "Draco Plate"
+msgstr "Tabla Draco"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Dragon-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Dragón. Debe llevarla un Pokémon."
+
+msgid "Dread Plate"
+msgstr "Tabla Oscura"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Dark-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Siniestro. Debe llevarla un Pokémon."
+
+msgid "Iron Plate"
+msgstr "Tabla Acero"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Steel-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Acero. Debe llevarla un Pokémon."
+
+msgid "Light Ball"
+msgstr "Bolaluminosa"
+
+msgid "An item to be held by Pikachu. It is a puzzling orb that raises the Sp. Atk stat."
+msgstr "Asombrosa esfera que debe llevar Pikachu y que aumenta el Ataque y el Ataque Especial."
+
+msgid "Lucky Punch"
+msgstr "Puño Suerte"
+
+msgid "An item to be held by Chansey. It is a pair of gloves that boosts CHANSEY's critical-hit ratio."
+msgstr "Debe llevarlo Chansey. Potencia su índice de golpe crítico."
+
+msgid "Metal Powder"
+msgstr "Polvo Metálico"
+
+msgid "An item to be held by Ditto. Extremely fine yet hard, this odd powder boosts the Defense stat."
+msgstr "Debe llevarlo Ditto. Es un polvo muy fino, pero a la vez resistente, que aumentará su Defensa."
+
+msgid "Quick Powder"
+msgstr "Polvo Veloz"
+
+msgid "An item to be held by Ditto. Extremely fine yet hard, this odd powder boosts the Speed stat."
+msgstr "Este objeto incrementa en un 100% la Velocidad de Duplicat en combate. Deja de ser efectivo una vez Ditto ha usado Transformación o Impostor."
+
+msgid "Thick Club"
+msgstr "Hueso Grueso"
+
+msgid "An item to be held by Cubone or Marowak. It is a hard bone of some sort that boosts the Attack stat."
+msgstr "Un extraño tipo de hueso que potencia el Ataque. Suelen llevarlo Cubone o Marowak."
+
+msgid "Stick"
+msgstr "Palo"
+
+msgid "An item to be held by Farfetch'd. It is a long and stiff leek stalk that boosts the critical-hit ratio."
+msgstr "Es un puerro muy largo que suele llevar Farfetch'd. Aumenta la probabilidad de que logre un golpe crítico."
+
+msgid "Soul Dew"
+msgstr "Rocío Bondad"
+
+msgid "A wondrous orb to be held by Latios or Latias. It raises both the Sp. Atk and Sp. Def stats."
+msgstr "Un orbe fantástico que deben llevar Latios o Latias. Sube el At. Esp. y la Def. Esp."
+
+msgid "DeepSeaTooth"
+msgstr "Diente Marino"
+
+msgid "An item to be held by Clamperl. A fang that gleams a sharp silver, it raises the Sp. Atk stat."
+msgstr "Tiene el brillo afilado de la plata y debe llevarlo Clamperl. Sube el At. Esp."
+
+msgid "DeepSeaScale"
+msgstr "Escama Marina"
+
+msgid "An item to be held by Clamperl. A scale that shines a faint pink, it raises the Sp. Def stat."
+msgstr "Tiene un débil brillo rosado y debe llevarla Clamperl. Sube la Def. Esp."
+
+msgid "Adamant Orb"
+msgstr "Diamansfera"
+
+msgid "A brightly gleaming orb to be held by Dialga. It boosts the power of Dragon- and Steel-type moves."
+msgstr "Una esfera brillante que potencia los ataques de tipo Acero y Dragón. Debe llevarla Dialga."
+
+msgid "Lustrous Orb"
+msgstr "Lustresfera"
+
+msgid "A beautifully glowing orb to be held by Palkia. It boosts the power of Dragon- and Water-type moves."
+msgstr "Una bonita esfera que potencia los ataques de tipo Dragón y Agua. Debe llevarla Palkia."
+
+msgid "Griseous Orb"
+msgstr "Griseosfera"
+
+msgid "A glowing orb to be held by Giratina. It boosts the power of Dragon- and Ghost-type moves."
+msgstr "Una esfera brillante que potencia los ataques de tipo Dragón y Fantasma. Debe llevarla Giratina."
+
+msgid "Up-Grade"
+msgstr "Mejora"
+
+msgid "A transparent device filled with all sorts of data. It was produced by Silph Co."
+msgstr "Peculiar dispositivo fabricado en Silph S.A. que contiene todo tipo de datos."
+
+msgid "Dubious Disc"
+msgstr "Discoxtraño"
+
+msgid "A transparent device overflowing with dubious data. Its producer is unknown."
+msgstr "Dispositivo transparente que contiene datos misteriosos. Es de fabricante desconocido."
+
+msgid "A protective item of some sort. It is extremely stiff and heavy. It is loved by a certain Pokémon."
+msgstr "Dispositivo de protección muy pesado. Algunos Pokémon lo adoran."
+
+msgid "Electirizer"
+msgstr "Electrizador"
+
+msgid "A box packed with a tremendous amount of electric energy. It is loved by a certain Pokémon."
+msgstr "Este dispositivo contiene una gran cantidad de energía eléctrica. Algunos Pokémon lo adoran."
+
+msgid "Magmarizer"
+msgstr "Magmatizador"
+
+msgid "A box packed with a tremendous amount of magma energy. It is loved by a certain Pokémon."
+msgstr "Esta caja contiene una enorme cantidad de energía magmática. Algunos Pokémon la adoran."
+
+msgid "Reaper Cloth"
+msgstr "Tela Terrible"
+
+msgid "A cloth imbued with horrifyingly strong spiritual energy. It is loved by a certain Pokémon."
+msgstr "Tela imbuida de una energía espiritual muy potente. Algunos Pokémon la adoran."
+
+msgid "Razor Claw"
+msgstr "Garra Afilada"
+
+msgid "An item to be held by a Pokémon. It is a sharply hooked claw that ups the holder's critical-hit ratio."
+msgstr "Aumenta a la probabilidad de que el Pokémon que la lleva consiga un golpe crítico."
+
+msgid "Razor Fang"
+msgstr "Colmillo Agudo"
+
+msgid "Red Scarf"
+msgstr "Pañuelo Rojo"
+
+msgid "An item to be held by a Pokémon. It boosts the “Cool” aspect of the holder in a Contest."
+msgstr "Debe llevarlo un Pokémon. Aumenta el carisma en los concursos."
+
+msgid "Blue Scarf"
+msgstr "Pañuelo Azul"
+
+msgid "An item to be held by a Pokémon. It boosts the “Beauty” aspect of the holder in a Contest."
+msgstr "Debe llevarlo un Pokémon. Aumenta la belleza en los concursos."
+
+msgid "Pink Scarf"
+msgstr "Pañuelo Rosa"
+
+msgid "An item to be held by a Pokémon. It boosts the “Cute” aspect of the holder in a Contest."
+msgstr "Debe llevarlo un Pokémon. Aumenta la dulzura en los concursos."
+
+msgid "Green Scarf"
+msgstr "Pañuelo Verde"
+
+msgid "An item to be held by a Pokémon. It boosts the “Smart” aspect of the holder in a Contest."
+msgstr "Debe llevarlo un Pokémon. Aumenta el ingenio en los concursos."
+
+msgid "Yellow Scarf"
+msgstr "Pañuelo Amarillo"
+
+msgid "An item to be held by a Pokémon. It boosts the “Tough” aspect of the holder in a Contest."
+msgstr "Debe llevarlo un Pokémon. Aumenta la dureza en los concursos."
+
+msgid "Potion"
+msgstr "Poción"
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by just 20 points."
+msgstr "Medicina en spray que cura heridas y restaura 20 PS de un Pokémon."
+
+msgid "Super Potion"
+msgstr "Superpoción"
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by 50 points."
+msgstr "Medicina en spray que cura heridas y restaura 50 PS de un Pokémon."
+
+msgid "Hyper Potion"
+msgstr "Hiperpoción"
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by 200 points."
+msgstr "Medicina en spray que cura heridas y restaura 200 PS de un Pokémon."
+
+msgid "Max Potion"
+msgstr "Máxima Poción"
+
+msgid "A spray-type medicine for wounds. It completely restores the HP of a single Pokémon."
+msgstr "Medicina en spray que cura heridas y restaura todos los PS de un Pokémon."
+
+msgid "Full Restore"
+msgstr "Restaurar Todo"
+
+msgid "A medicine that fully restores the HP and heals any status problems of a single Pokémon."
+msgstr "Medicina que restaura todos los PS y cura todos los problemas de estado de un Pokémon."
+
+msgid "Sacred Ash"
+msgstr "Ceniza Sagrada"
+
+msgid "It revives all fainted Pokémon. In doing so, it also fully restores their HP."
+msgstr "Reanima completamente a los Pokémon debilitados y restaura todos sus PS."
+
+msgid "Antidote"
+msgstr "Antídoto"
+
+msgid "A spray-type medicine. It lifts the effect of poison from one Pokémon."
+msgstr "Medicina en spray que contrarresta los efectos del veneno en un Pokémon."
+
+msgid "Burn Heal"
+msgstr "Antiquemar"
+
+msgid "A spray-type medicine. It heals a single Pokémon that is suffering from a burn."
+msgstr "Medicina en spray que cura las quemaduras a un Pokémon."
+
+msgid "Ice Heal"
+msgstr "Antihielo"
+
+msgid "A spray-type medicine. It defrosts a Pokémon that has been frozen solid."
+msgstr "Medicina en spray que descongela a un Pokémon."
+
+msgid "Awakening"
+msgstr "Despertar"
+
+msgid "A spray-type medicine. It awakens a Pokémon from the clutches of sleep."
+msgstr "Medicina en spray que libera a un Pokémon de las garras del sueño."
+
+msgid "Parlyz Heal"
+msgstr "Antiparalizador"
+
+msgid "A spray-type medicine. It eliminates paralysis from a single Pokémon."
+msgstr "Medicina en spray que cura a un Pokémon paralizado."
+
+msgid "Full Heal"
+msgstr "Cura Total"
+
+msgid "A spray-type medicine. It heals all the status problems of a single Pokémon."
+msgstr "Medicina en spray que cura todos los problemas de estado de un Pokémon."
+
+msgid "Lava Cookie"
+msgstr "Galleta Lava"
+
+msgid "Lavaridge Town's local specialty. It heals all the status problems of one Pokémon."
+msgstr "Dulce típico de Pueblo Lavacalda que cura todos los problemas de estado de un Pokémon."
+
+msgid "Old Gateau"
+msgstr "Barrita Plus"
+
+msgid "Old Chateau's hidden specialty. It heals all the status problems of a single Pokémon."
+msgstr "Especialidad de la Vieja Mansión. Cura los problemas de estado de un Pokémon."
+
+msgid "Revive"
+msgstr "Revivir"
+
+msgid "A medicine that revives a fainted Pokémon. It restores half the Pokémon's maximum HP."
+msgstr "Medicina que reanima a un Pokémon debilitado y restaura la mitad de sus PS."
+
+msgid "Max Revive"
+msgstr "Revivir Máximo"
+
+msgid "A medicine that revives a fainted Pokémon. It fully restores the Pokémon's HP."
+msgstr "Medicina que reanima a un Pokémon debilitado y restaura todos sus PS."
+
+msgid "Berry Juice"
+msgstr "Zumo de Baya"
+
+msgid "A 100% pure juice made of Berries. It restores the HP of one Pokémon by just 20 points."
+msgstr "Zumo de bayas 100% natural que restaura 20 PS de un Pokémon."
+
+msgid "Fresh Water"
+msgstr "Agua Fresca"
+
+msgid "Water with a high mineral content. It restores the HP of one Pokémon by 50 points."
+msgstr "Agua de alto contenido mineral que restaura 50 PS de un Pokémon."
+
+msgid "Soda Pop"
+msgstr "Refresco"
+
+msgid "A fizzy soda drink. It restores the HP of one Pokémon by 60 points."
+msgstr "Chispeante bebida gaseosa que restaura 60 PS de un Pokémon."
+
+msgid "Lemonade"
+msgstr "Limonada"
+
+msgid "A very sweet drink. It restores the HP of one Pokémon by 80 points."
+msgstr "Bebida dulce que restaura 80 PS de un Pokémon."
+
+msgid "Moomoo Milk"
+msgstr "Leche Mu-Mu"
+
+msgid "Milk with a very high nutrition content. It restores the HP of one Pokémon by 100 points."
+msgstr "Leche de alto valor nutritivo que restaura 100 PS de un Pokémon."
+
+msgid "EnergyPowder"
+msgstr "Polvo Energía"
+
+msgid "A very bitter medicine powder. It restores the HP of one Pokémon by 50 points."
+msgstr "Polvo medicinal muy amargo que restaura 50 PS de un Pokémon."
+
+msgid "Energy Root"
+msgstr "Raíz Energía"
+
+msgid "A very bitter root. It restores the HP of one Pokémon by 200 points."
+msgstr "Raíz muy amarga que restaura 200 PS de un Pokémon."
+
+msgid "Heal Powder"
+msgstr "Polvo Curación"
+
+msgid "A very bitter medicine powder. It heals all the status problems of a single Pokémon."
+msgstr "Polvo muy amargo que curan todos los problemas de estado de un Pokémon."
+
+msgid "Revival Herb"
+msgstr "Hierba Revivir"
+
+msgid "A very bitter medicinal herb. It revives a fainted Pokémon, fully restoring its HP."
+msgstr "Hierba muy amarga que reanima a un Pokémon debilitado y restaura todos sus PS."
+
+msgid "Ether"
+msgstr "Éter"
+
+msgid "It restores the PP of a Pokémon's selected move by a maximum of 10 points."
+msgstr "Restaura un máximo de 10 PP del ataque que elijas de un Pokémon."
+
+msgid "Max Ether"
+msgstr "Éter Máximo"
+
+msgid "It fully restores the PP of a single selected move that has been learned by the target Pokémon."
+msgstr "Restaura completamente los PP del movimiento que elijas de un Pokémon."
+
+msgid "It restores the PP of all the moves learned by the targeted Pokémon by 10 points each."
+msgstr "Restaura 10 PP de todos los movimientos aprendidos por un Pokémon."
+
+msgid "Max Elixir"
+msgstr "Elixir Máximo"
+
+msgid "It fully restores the PP of all the moves learned by the targeted Pokémon."
+msgstr "Restaura completamente los PP de todos los movimientos aprendidos por el Pokémon elegido."
+
+msgid "HP Up"
+msgstr "Más PS"
+
+msgid "A nutritious drink for Pokémon. It raises the base HP of a single Pokémon."
+msgstr "Nutritiva bebida que aumenta los PS de un Pokémon."
+
+msgid "Protein"
+msgstr "Proteína"
+
+msgid "A nutritious drink for Pokémon. It raises the base Attack stat of a single Pokémon."
+msgstr "Nutritiva bebida que aumenta el Ataque de un Pokémon."
+
+msgid "Iron"
+msgstr "Hierro"
+
+msgid "A nutritious drink for Pokémon. It raises the base Defense stat of a single Pokémon."
+msgstr "Nutritiva bebida que aumenta la Defensa de un Pokémon."
+
+msgid "Carbos"
+msgstr "Carburante"
+
+msgid "A nutritious drink for Pokémon. It raises the base Speed stat of a single Pokémon."
+msgstr "Nutritiva bebida que sube la Velocidad de un Pokémon."
+
+msgid "Calcium"
+msgstr "Calcio"
+
+msgid "A nutritious drink for Pokémon. It raises the base Sp. Atk (Special Attack) stat of a single Pokémon."
+msgstr "Nutritiva bebida que sube el At. Esp. de un Pokémon."
+
+msgid "A nutritious drink for Pokémon. It raises the base Sp. Def (Special Defense) stat of a single Pokémon."
+msgstr "Nutritiva bebida que aumenta la Defensa Especial de un Pokémon."
+
+msgid "PP Up"
+msgstr "Más PP"
+
+msgid "It slightly raises the maximum PP of a selected move that has been learned by the target Pokémon."
+msgstr "Aumenta ligeramente los PP máximos del ataque que elijas de un Pokémon."
+
+msgid "PP Max"
+msgstr "PP Máximos"
+
+msgid "It maximally raises the top PP of a selected move that has been learned by the target Pokémon."
+msgstr "Aumenta al máximo los PP del ataque que elijas de un Pokémon."
+
+msgid "Rare Candy"
+msgstr "Carameloraro"
+
+msgid "A candy that is packed with energy. It raises the level of a single Pokémon by one."
+msgstr "Caramelo energético que sube a un Pokémon de nivel."
+
+msgid "The best Ball with the ultimate level of performance. It will catch any wild Pokémon without fail."
+msgstr "La Poké Ball definitiva. Atrapa a cualquier Pokémon salvaje y no falla nunca."
+
+msgid "Ultra Ball"
+msgstr "Ultraball"
+
+msgid "An ultra-performance Ball that provides a higher Pokémon catch rate than a Great Ball."
+msgstr "Poké Ball de rendimiento superior. Tiene más índice de éxito que la Superball."
+
+msgid "Great Ball"
+msgstr "Superball"
+
+msgid "A good, high-performance Ball that provides a higher Pokémon catch rate than a standard Poké Ball."
+msgstr "Poké Ball de alto rendimiento. Tiene un índice de éxito superior al de la Poké Ball."
+
+msgid "A device for catching wild Pokémon. A capsule system that is thrown like a ball at the target."
+msgstr "Dispositivo con diseño capsular que atrapa Pokémon salvajes. Se lanza como una bola contra el blanco."
+
+msgid "A special Poké Ball that is used only in the Great Marsh. It is decorated in a camouflage pattern."
+msgstr "Poké Ball con un diseño de camuflaje que se utiliza únicamente en el Gran Pantano."
+
+msgid "Net Ball"
+msgstr "Malla Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on Water- and Bug-type Pokémon."
+msgstr "Es algo distinta a las demás. Funciona especialmente bien con los Pokémon de tipo Agua y Bicho."
+
+msgid "Dive Ball"
+msgstr "Buceo Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on Pokémon that live in the sea."
+msgstr "Es algo distinta a las demás. Funciona especialmente bien con los Pokémon que viven en el mar."
+
+msgid "Nest Ball"
+msgstr "Nido Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on weaker Pokémon in the wild."
+msgstr "Es algo distinta a las demás. Funciona especialmente bien con los Pokémon salvajes de menor nivel."
+
+msgid "Repeat Ball"
+msgstr "Acopio Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on Pokémon species that were previously caught."
+msgstr "Es algo distinta a las demás. Funciona especialmente bien con los Pokémon iguales a los que ya has capturado."
+
+msgid "Timer Ball"
+msgstr "Turno Ball"
+
+msgid "A somewhat different Ball that becomes progressively better the more turns there are in a battle."
+msgstr "Una Poké Ball algo distinta que va mejorando su rendimiento con cada turno de combate."
+
+msgid "Luxury Ball"
+msgstr "Lujo Ball"
+
+msgid "A comfortable Poké Ball that makes a caught wild Pokémon quickly grow friendly."
+msgstr "Acogedora Poké Ball que hace más amistosos a los Pokémon salvajes capturados."
+
+msgid "Premier Ball"
+msgstr "Honor Ball"
+
+msgid "A somewhat rare Poké Ball that has been specially made to commemorate an event of some sort."
+msgstr "Es una Poké Ball muy particular que se creó para conmemorar algún acontecimiento."
+
+msgid "Dusk Ball"
+msgstr "Ocaso Ball"
+
+msgid "A somewhat different Poké Ball that can easily catch wild Pokémon at night or in dark places."
+msgstr "Es algo distinta. Hace que sea más fácil capturar a Pokémon salvajes en la oscuridad."
+
+msgid "Heal Ball"
+msgstr "Sana Ball"
+
+msgid "A remedial Poké Ball that restores the caught Pokémon's HP and eliminates any status problem."
+msgstr "Poké Ball curativa que restaura los PS de un Pokémon capturado y cura sus problemas de estado."
+
+msgid "Quick Ball"
+msgstr "Veloz Ball"
+
+msgid "A somewhat different Poké Ball that works better at the start of a wild encounter."
+msgstr "Una Poké Ball algo distinta que potencia el índice de captura si se usa al inicio de un encuentro con Pokémon salvajes."
+
+msgid "Cherish Ball"
+msgstr "Gloria Ball"
+
+msgid "A quite rare Poké Ball that has been specially crafted to commemorate an occasion of some sort."
+msgstr "Es una Poké Ball muy particular que se creó para conmemorar algún acontecimiento."
+
+msgid "Fast Ball"
+msgstr "Rapid Ball"
+
+msgid "A Poké Ball that makes it easier to catch Pokémon which are quick to run away."
+msgstr "Poké Ball algo distinta, especialmente indicada para capturar Pokémon con Velocidad muy alta."
+
+msgid "Level Ball"
+msgstr "Nivel Ball"
+
+msgid "A Poké Ball for catching Pokémon that are a lower level than your own."
+msgstr "Una Poké Ball diseñada para capturar Pokémon de nivel inferior al de tus Pokémon."
+
+msgid "Lure Ball"
+msgstr "Cebo Ball"
+
+msgid "A Poké Ball for catching Pokémon hooked by a Rod when fishing."
+msgstr "Poké Ball algo distinta, especialmente indicada para capturar los Pokémon que se han pescado con una Caña."
+
+msgid "Heavy Ball"
+msgstr "Peso Ball"
+
+msgid "A Poké Ball for catching very heavy Pokémon."
+msgstr "Una Poké Ball diseñada para capturar Pokémon muy pesados."
+
+msgid "Love Ball"
+msgstr "Amor Ball"
+
+msgid "A Poké Ball for catching Pokémon that are the opposite gender of your Pokémon."
+msgstr "Una Poké Ball diseñada para capturar Pokémon del género opuesto al de tu Pokémon."
+
+msgid "Friend Ball"
+msgstr "Amigo Ball"
+
+msgid "A Poké Ball that makes caught Pokémon more friendly."
+msgstr "Una Poké Ball que hace más amistosos a los Pokémon capturados."
+
+msgid "Moon Ball"
+msgstr "Luna Ball"
+
+msgid "A Poké Ball for catching Pokémon that evolve using the Moon Stone."
+msgstr "Una Poké Ball diseñada para capturar Pokémon que evolucionan con Piedra Lunar."
+
+msgid "Sport Ball"
+msgstr "Competi Ball"
+
+msgid "A special Poké Ball for the Bug-Catching Contest."
+msgstr "Poké Ball especial para el Concurso de Captura de Bichos."
+
+msgid "Park Ball"
+msgstr "Parque Ball"
+
+msgid "A special Poké Ball for the Pal Park."
+msgstr "Poké Ball especial para el Parque Compi."
+
+msgid "TM01"
+msgstr "MT01"
+
+msgid "The user focuses its mind before launching this attack. It will fail if the user is hit before it is used."
+msgstr "Se concentra para dar un puñetazo. Falla si se sufre un golpe antes de su uso."
+
+msgid "TM02"
+msgstr "MT02"
+
+msgid "Sharp, huge claws hook and slash the foe quickly and with great power."
+msgstr "Araña al objetivo con garras afiladas."
+
+msgid "TM03"
+msgstr "MT03"
+
+msgid "The foe is hit with a pulsing blast of water. It may also confuse the target."
+msgstr "Ataca con un potente chorro de agua. Puede confundir al objetivo."
+
+msgid "TM04"
+msgstr "MT04"
+
+msgid "The user quietly focuses its mind and calms its spirit to raise its Sp. Atk and Sp. Def stats."
+msgstr "Aumenta la concentración y calma el espíritu para subir el Ataque Especial y la Defensa Especial."
+
+msgid "TM05"
+msgstr "MT05"
+
+msgid "The foe is scared off, to be replaced by another Pokémon in its party. In the wild, the battle ends."
+msgstr "Asusta al objetivo, que es cambiado por otro Pokémon. Si es un Pokémon salvaje, acaba el combate.\""
+
+msgid "TM06"
+msgstr "MT06"
+
+msgid "A move that leaves the foe badly poisoned. This poison damage worsens every turn."
+msgstr "Envenena gravemente al objetivo y causa un daño mayor en cada turno."
+
+msgid "TM07"
+msgstr "MT07"
+
+msgid "Summons a hailstorm that lasts for five turns. The hailstorm damages all types except Ice."
+msgstr "Tormenta de granizo que dura cinco turnos. Hiere a todos, excepto a los de tipo Hielo."
+
+msgid "TM08"
+msgstr "MT08"
+
+msgid "The user tenses its muscles to bulk up its body, boosting both its Attack and Defense stats."
+msgstr "Robustece el cuerpo para subir el Ataque y la Defensa."
+
+msgid "TM09"
+msgstr "MT09"
+
+msgid "The user forcefully shoots seeds at the foe. Two to five seeds are shot in rapid succession."
+msgstr "Dispara rápido de dos a cinco ráfagas de semillas de manera consecutiva."
+
+msgid "TM10"
+msgstr "MT10"
+
+msgid "A variable move that changes type and power depending on the hidden ability of the Pokémon using it."
+msgstr "Ataque único cuyo tipo y potencia varían según el agresor."
+
+msgid "TM11"
+msgstr "MT11"
+
+msgid "The user intensifies the sun for five turns, powering up Fire-type moves."
+msgstr "Quien lo usa intensifica el sol durante cinco turnos, lo que potencia los movimientos de tipo Fuego."
+
+msgid "TM12"
+msgstr "MT12"
+
+msgid "The target is taunted into a rage that allows it to use only attack moves for three turns."
+msgstr "Enfurece al objetivo para que solo use movimientos de ataque durante tres turnos."
+
+msgid "TM13"
+msgstr "MT13"
+
+msgid "The foe is struck with an icy-cold beam of energy. It may also freeze the target solid."
+msgstr "Rayo de hielo intenso que puede llegar a congelar al contrincante."
+
+msgid "TM14"
+msgstr "MT14"
+
+msgid "A howling blizzard is summoned to strike the foe. It may also freeze the target solid."
+msgstr "Tormenta de hielo que puede llegar a congelar."
+
+msgid "TM15"
+msgstr "MT15"
+
+msgid "The foe is attacked with a powerful beam. The user must rest on the next turn to regain its energy."
+msgstr "Es eficaz, pero el atacante deberá descansar en el siguiente turno."
+
+msgid "TM16"
+msgstr "MT16"
+
+msgid "A wondrous wall of light is put up to suppress damage from special attacks for five turns."
+msgstr "Pared de luz que reduce durante cinco turnos el daño producido por los ataques especiales."
+
+msgid "TM17"
+msgstr "MT17"
+
+msgid "It enables the user to evade all attacks. Its chance of failing rises if it is used in succession."
+msgstr "Frena todos los ataques, pero puede fallar si se usa repetidamente."
+
+msgid "TM18"
+msgstr "MT18"
+
+msgid "The user summons a heavy rain that falls for five turns, powering up Water-type moves."
+msgstr "Genera una fuerte lluvia que refuerza los movimientos de tipo Agua durante cinco turnos."
+
+msgid "TM19"
+msgstr "MT19"
+
+msgid "A nutrient-draining attack. The user's HP is restored by half the damage taken by the target."
+msgstr "Absorbe la mitad del daño producido."
+
+msgid "TM20"
+msgstr "MT20"
+
+msgid "The user creates a protective field that prevents status problems like poison, paralysis, burn, and sleep."
+msgstr "Crea un campo protector que evita problemas de estado durante cinco turnos."
+
+msgid "TM21"
+msgstr "MT21"
+
+msgid "A full-power attack that grows more powerful the less the user likes its Trainer."
+msgstr "Cuanto menor sea la amistad con el Entrenador, más poderoso será este ataque."
+
+msgid "TM22"
+msgstr "MT22"
+
+msgid "A two-turn attack. The user gathers light, then blasts a bundled beam on the second turn."
+msgstr "Primer turno: absorbe luz. Segundo turno: ataca."
+
+msgid "TM23"
+msgstr "MT23"
+
+msgid "The foe is slammed with a sturdy tail of steel. It may also lower the target's Defense stat if it hits."
+msgstr "Ataca con una cola férrea y puede bajar la Defensa del objetivo."
+
+msgid "TM24"
+msgstr "MT24"
+
+msgid "A strong electric blast is loosed at the foe. It may also leave the foe paralyzed."
+msgstr "Potente ataque eléctrico que puede paralizar al objetivo."
+
+msgid "TM25"
+msgstr "MT25"
+
+msgid "A wicked thunderbolt is dropped on the foe to inflict damage. It may also leave the target paralyzed."
+msgstr "Un poderoso rayo que daña al objetivo y puede paralizarlo."
+
+msgid "TM26"
+msgstr "MT26"
+
+msgid "The user sets off an earthquake that hits all the Pokémon in the battle."
+msgstr "Un terremoto que afecta a los Pokémon de alrededor en combate."
+
+msgid "TM27"
+msgstr "MT27"
+
+msgid "A full-power attack that grows more powerful the more the user likes its Trainer."
+msgstr "Cuanto mayor sea la amistad con el Entrenador, más poderoso será este ataque."
+
+msgid "TM28"
+msgstr "MT28"
+
+msgid "The user burrows, then attacks on the second turn. It can also be used to exit dungeons."
+msgstr "Primer turno: cava. Segundo turno: ataca. También sirve para salir de ciertas zonas."
+
+msgid "TM29"
+msgstr "MT29"
+
+msgid "The foe is hit by a strong telekinetic force. It may also reduce the foe's Sp. Def stat."
+msgstr "Fuerte ataque telequinético que puede bajar la Defensa Especial del objetivo."
+
+msgid "TM30"
+msgstr "MT30"
+
+msgid "The user hurls a shadowy blob at the foe. It may also lower the foe's Sp. Def stat."
+msgstr "Lanza una bola oscura que puede bajar la Defensa Especial del objetivo."
+
+msgid "TM31"
+msgstr "MT31"
+
+msgid "The user attacks with tough fists, etc. It can also break any barrier such as Light Screen and Reflect."
+msgstr "Potente ataque que también es capaz de destruir barreras como Pantalla de Luz y Reflejo."
+
+msgid "TM32"
+msgstr "MT32"
+
+msgid "The user begins moving so quickly that it creates illusory copies to raise its evasiveness."
+msgstr "Crea copias de sí mismo para mejorar la Evasión."
+
+msgid "TM33"
+msgstr "MT33"
+
+msgid "A wondrous wall of light is put up to suppress damage from physical attacks for five turns."
+msgstr "Pared de luz que reduce durante cinco turnos el daño producido por los ataques físicos."
+
+msgid "TM34"
+msgstr "MT34"
+
+msgid "The user strikes the foe with a quick jolt of electricity. This attack cannot be evaded."
+msgstr "Ataque eléctrico muy rápido que no se puede evadir."
+
+msgid "TM35"
+msgstr "MT35"
+
+msgid "The foe is scorched with an intense blast of fire. The target may also be left with a burn."
+msgstr "Ataca con una gran ráfaga de fuego que puede causar quemaduras."
+
+msgid "TM36"
+msgstr "MT36"
+
+msgid "Unsanitary sludge is hurled at the foe. It may also poison the target."
+msgstr "Arroja residuos tóxicos al objetivo. Puede llegar a envenenarlo."
+
+msgid "TM37"
+msgstr "MT37"
+
+msgid "A five-turn sandstorm is summoned to hurt all combatants except the Rock, Ground, and Steel types."
+msgstr "Tormenta de arena que dura cinco turnos y hiere a todos, excepto a los de tipo Roca, Tierra y Acero."
+
+msgid "TM38"
+msgstr "MT38"
+
+msgid "The foe is attacked with an intense blast of all-consuming fire. It may also leave the target with a burn."
+msgstr "Llama intensa que chamusca y puede causar quemaduras."
+
+msgid "TM39"
+msgstr "MT39"
+
+msgid "Large boulders are hurled at the foe to inflict damage. It may also make the target flinch."
+msgstr "Tira rocas que detienen al objetivo y bajan su Velocidad."
+
+msgid "TM40"
+msgstr "MT40"
+
+msgid "The user confounds the foe with speed, then strikes. The attack lands without fail."
+msgstr "El usuario lanza un ataque muy rápido que no se puede evadir."
+
+msgid "TM41"
+msgstr "MT41"
+
+msgid "The user torments and enrages the foe, making it incapable of using the same move twice in a row."
+msgstr "Atormenta y enfurece al objetivo, que no puede usar dos veces seguidas el mismo movimiento."
+
+msgid "TM42"
+msgstr "MT42"
+
+msgid "An attack move that doubles its power if the user is poisoned, paralyzed, or has a burn."
+msgstr "Ataca con el doble de potencia si el usuario está quemado, paralizado o envenenado."
+
+msgid "TM43"
+msgstr "MT43"
+
+msgid "An attack move with effects that vary depending on the user's environment."
+msgstr "Ataque con poder secreto cuyo efecto varía según el entorno del combate."
+
+msgid "TM44"
+msgstr "MT44"
+
+msgid "The user goes to sleep for two turns. It fully restores the user's HP and heals any status problem."
+msgstr "Restaura todos los PS y cura todos los problemas de estado del usuario. Duerme los dos próximos turnos."
+
+msgid "TM45"
+msgstr "MT45"
+
+msgid "If it is the opposite gender of the user, the foe becomes infatuated and less likely to attack."
+msgstr "Si el objetivo es del sexo opuesto, se enamorará y bajará la posibilidad de que ataque."
+
+msgid "TM46"
+msgstr "MT46"
+
+msgid "The user attacks and steals the foe's held item simultaneously. It can't steal if the user holds an item."
+msgstr "Ataca y le quita al objetivo el objeto que lleve. Si el agresor lleva un objeto, no robará el del objetivo."
+
+msgid "TM47"
+msgstr "MT47"
+
+msgid "The foe is hit with wings of steel. It may also raise the user's Defense stat."
+msgstr "Alas macizas que golpean al objetivo y pueden subir la Defensa del usuario."
+
+msgid "TM48"
+msgstr "MT48"
+
+msgid "The user employs its psychic power to exchange abilities with the foe."
+msgstr "Usa el poder psíquico para intercambiar habilidades con el objetivo."
+
+msgid "TM49"
+msgstr "MT49"
+
+msgid "The user steals the effects of any healing or status-changing move the foe attempts to use."
+msgstr "Roba el efecto de movimientos de curación o de cambio de características que intente usar un combatiente."
+
+msgid "TM50"
+msgstr "MT50"
+
+msgid "The user attacks the foe at full power using fiery energy. It also sharply reduces the user's Sp. Atk."
+msgstr "Ataque en toda regla que baja mucho el Ataque Especial de quien lo usa."
+
+msgid "TM51"
+msgstr "MT51"
+
+msgid "The user lands and rests its body. It restores the user's HP by up to half of its top HP."
+msgstr "Aterriza sobre la superficie para descansar. Recupera hasta la mitad del total de sus PS."
+
+msgid "TM52"
+msgstr "MT52"
+
+msgid "The user attacks at full power. It may also lower the foe's Sp. Def stat if it hits."
+msgstr "Agudiza la concentración mental y libera su poder. Puede disminuir la Defensa Especial del objetivo."
+
+msgid "TM53"
+msgstr "MT53"
+
+msgid "The user draws power from nature and fires it at the foe. It may also lower the target's Sp. Def."
+msgstr "Aúna fuerzas de la naturaleza y libera su ataque. Puede disminuir la Defensa Especial del objetivo."
+
+msgid "TM54"
+msgstr "MT54"
+
+msgid "A restrained attack that prevents the foe from fainting. The target is left with at least 1 HP."
+msgstr "Ataque moderado que no debilita al objetivo y le deja al menos un PS."
+
+msgid "TM55"
+msgstr "MT55"
+
+msgid "If the foe's HP is down to under half, this attack will hit with double the power."
+msgstr "Si al objetivo le queda la mitad o menos de sus PS, el ataque será el doble de fuerte."
+
+msgid "TM56"
+msgstr "MT56"
+
+msgid "The user flings its held item at the foe to attack. Its power and effects depend on the item."
+msgstr "Lanza contra el objetivo el objeto que lleva. La fuerza del ataque y su efecto varían según el objeto."
+
+msgid "TM57"
+msgstr "MT57"
+
+msgid "The user attacks with an electric charge. The user uses the remaining electricity to up its Sp. Atk."
+msgstr "Lanza un rayo eléctrico contra el objetivo. Puede subir el Ataque Especial de quien lo usa."
+
+msgid "TM58"
+msgstr "MT58"
+
+msgid "The user endures any attack, leaving 1 HP. Its chance of failing rises if it is used in succession."
+msgstr "Resiste cualquier ataque y deja al menos un PS. Puede fallar si se usa repetidamente."
+
+msgid "TM59"
+msgstr "MT59"
+
+msgid "The foe is attacked with a shock wave generated by the user's gaping mouth."
+msgstr "Libera una poderosa onda de choque por la boca que azota al objetivo."
+
+msgid "TM60"
+msgstr "MT60"
+
+msgid "An energy-draining punch. The user's HP is restored by half the damage taken by the target."
+msgstr "Un golpe que drena energía. El Pokémon recupera la mitad de los PS arrebatados al objetivo."
+
+msgid "TM61"
+msgstr "MT61"
+
+msgid "The user shoots a sinister, bluish white flame at the foe to inflict a burn."
+msgstr "Siniestra llama morada que produce quemaduras."
+
+msgid "TM62"
+msgstr "MT62"
+
+msgid "The foe is attacked with powdery scales blown by wind. It may also raise all the user's stats."
+msgstr "Fuerte viento con polvo de escamas. Puede subir todas las características de quien lo usa."
+
+msgid "TM63"
+msgstr "MT63"
+
+msgid "It prevents the foe from using its held item. Its Trainer is also prevented from using items on it."
+msgstr "Impide al objetivo usar el objeto que lleva. Su Entrenador tampoco puede usar objetos sobre él."
+
+msgid "TM64"
+msgstr "MT64"
+
+msgid "The user explodes to inflict damage on all Pokémon in battle. The user faints upon using this move."
+msgstr "El atacante explota y hiere a todos a su alrededor. El usuario se debilita de inmediato."
+
+msgid "TM65"
+msgstr "MT65"
+
+msgid "The user slashes with a sharp claw made from shadows. It has a high critical-hit ratio."
+msgstr "Ataca con una garra afilada hecha de sombras. Suele ser crítico."
+
+msgid "TM66"
+msgstr "MT66"
+
+msgid "The user stores power, then attacks. Its power is doubled if used after the foe."
+msgstr "El usuario contraataca con el doble de fuerza si el objetivo usa un movimiento antes."
+
+msgid "TM67"
+msgstr "MT67"
+
+msgid "The user recycles a single-use item that has been used in battle so it can be used again."
+msgstr "Recicla y así recupera el objeto equipado de un solo uso que ya ha sido empleado en el combate."
+
+msgid "TM68"
+msgstr "MT68"
+
+msgid "The user charges the foe using every bit of its power. It must rest on the next turn to recover."
+msgstr "El usuario ataca al rival con toda su fuerza. El Pokémon descansa el turno siguiente."
+
+msgid "TM69"
+msgstr "MT69"
+
+msgid "The user polishes its body to reduce drag. It sharply raises the Speed stat."
+msgstr "Reduce la resistencia puliendo su cuerpo. Aumenta la Velocidad considerablemente."
+
+msgid "TM70"
+msgstr "MT70"
+
+msgid "The user flashes a light that cuts the foe's accuracy. It can also be used to illuminate caves."
+msgstr "Luz cegadora que baja la Precisión del objetivo. Fuera de combate sirve para iluminar."
+
+msgid "TM71"
+msgstr "MT71"
+
+msgid "The user stabs the foe with a sharpened stone from below. It has a high critical-hit ratio."
+msgstr "Clava piedras muy afiladas al objetivo. Suele ser crítico."
+
+msgid "TM72"
+msgstr "MT72"
+
+msgid "An attack move that inflicts double the damage if the user has been hurt by the foe in the same turn."
+msgstr "Este ataque inflige el doble de daño a un objetivo que haya golpeado al usuario en ese mismo turno."
+
+msgid "TM73"
+msgstr "MT73"
+
+msgid "A weak electric charge is launched at the foe. It causes paralysis if it hits."
+msgstr "Una ligera descarga que paraliza al objetivo si lo alcanza."
+
+msgid "TM74"
+msgstr "MT74"
+
+msgid "The user tackles the foe from a high-speed spin. The slower the user, the greater the damage."
+msgstr "Embiste al objetivo con un potente ataque giratorio. Cuanto más lento es el usuario, más daño causa."
+
+msgid "TM75"
+msgstr "MT75"
+
+msgid "A frenetic dance to uplift the fighting spirit. It sharply raises the user's Attack stat."
+msgstr "Baile frenético que aumenta mucho el Ataque."
+
+msgid "TM76"
+msgstr "MT76"
+
+msgid "The user lays a trap of levitating stones around the foe. The trap hurts foes that switch into battle."
+msgstr "Una trampa de rocas que flota en el aire y daña a los objetivos que entran en combate."
+
+msgid "TM77"
+msgstr "MT77"
+
+msgid "The user hypnotizes itself into copying any stat change made by the foe."
+msgstr "Quien lo usa se hipnotiza y copia cualquier cambio que haya en las características de su objetivo."
+
+msgid "TM78"
+msgstr "MT78"
+
+msgid "If it is the opposite gender of the user, the foe is charmed into sharply lowering its Sp. Atk stat."
+msgstr "Si el objetivo es del sexo opuesto, queda embelesado y baja mucho su Ataque Especial."
+
+msgid "TM79"
+msgstr "MT79"
+
+msgid "The user releases a horrible aura imbued with dark thoughts. It may also make the target flinch."
+msgstr "Libera un horrible aura llena de malos pensamientos y puede hacer retroceder al objetivo."
+
+msgid "TM80"
+msgstr "MT80"
+
+msgid "TM81"
+msgstr "MT81"
+
+msgid "The user slashes at the foe by crossing its scythes or claws as if they were a pair of scissors."
+msgstr "Cruza las guadañas o las garras para atacar al rival como si fueran unas tijeras."
+
+msgid "TM82"
+msgstr "MT82"
+
+msgid "While it is asleep, the user randomly uses one of the moves it knows."
+msgstr "Mientras duerme, usa uno de sus movimientos elegido al azar."
+
+msgid "TM83"
+msgstr "MT83"
+
+msgid "The user draws power from the Berry it is holding to attack. The Berry determines its type and power."
+msgstr "La Baya que lleva presta su fuerza para atacar. El tipo de ataque y su fuerza dependen de la Baya."
+
+msgid "TM84"
+msgstr "MT84"
+
+msgid "The foe is stabbed with a tentacle or arm seeped with poison. It may also poison the foe."
+msgstr "Pincha al rival con un tentáculo o brazo envenenado. Puede llegar a envenenar al rival."
+
+msgid "TM85"
+msgstr "MT85"
+
+msgid "An attack that works only on a sleeping foe. It absorbs half the damage caused to heal the user's HP."
+msgstr "Restaura al usuario la mitad del daño causado a un objetivo dormido."
+
+msgid "TM86"
+msgstr "MT86"
+
+msgid "The user snares the foe with grass and trips it. The heavier the foe, the greater the damage."
+msgstr "Enreda al objetivo con hierba y lo derriba. Cuanto más pesado es el objetivo, más daño inflige."
+
+msgid "TM87"
+msgstr "MT87"
+
+msgid "The user enrages the foe into confusion. However, it also sharply raises the foe's Attack stat."
+msgstr "Provoca confusión en el objetivo, pero también sube mucho su Ataque."
+
+msgid "TM88"
+msgstr "MT88"
+
+msgid "The user pecks the foe. If the foe is holding a Berry, the user plucks it and gains its effect."
+msgstr "Picotea al objetivo. Si este sostiene una Baya, la picotea también y obtiene sus efectos."
+
+msgid "TM89"
+msgstr "MT89"
+
+msgid "After making its attack, the user rushes back to switch places with a party Pokémon in waiting."
+msgstr "Tras atacar, vuelve a toda prisa para dar paso a otro Pokémon del equipo."
+
+msgid "TM90"
+msgstr "MT90"
+
+msgid "The user makes a copy of itself using some of its HP. The copy serves as the user's decoy."
+msgstr "Utiliza parte de los PS propios para crear un sustituto que actúa como señuelo."
+
+msgid "TM91"
+msgstr "MT91"
+
+msgid "The user gathers all its light energy and releases it in one shot. It may also lower the foe's Sp. Def stat."
+msgstr "El usuario concentra toda la luz del cuerpo y la libera. Puede bajar la Defensa Especial del objetivo."
+
+msgid "TM92"
+msgstr "MT92"
+
+msgid "The user creates a bizarre space in which slower Pokémon get to move first for five turns."
+msgstr "Se crea un espacio extraño en el que los Pokémon lentos se mueven primero durante cinco turnos."
+
+msgid "HM01"
+msgstr "MO1"
+
+msgid "The foe is cut with a scythe or a claw. It can also be used to cut down thin trees."
+msgstr "Corta con garras, guadañas, etc. También sirve para cortar árboles finos."
+
+msgid "HM02"
+msgstr "MO2"
+
+msgid "The user soars, then strikes on the second turn. It can also be used to fly to any familiar town."
+msgstr "1° turno: vuela. 2° turno: ataca. Fuera de combate, permite ir a sitios conocidos."
+
+msgid "HM03"
+msgstr "MO3"
+
+msgid "It swamps the entire battlefield with a giant wave. It can also be used to cross water."
+msgstr "Inunda el campo de batalla con una ola gigante. Fuera de combate sirve para moverse sobre el agua."
+
+msgid "HM04"
+msgstr "MO4"
+
+msgid "The foe is slugged with a punch thrown at maximum power. It can also be used to move boulders."
+msgstr "Potente puñetazo. Fuera de combate sirve para mover piedras."
+
+msgid "HM05"
+msgstr "MO5"
+
+msgid "Obstacles are moved, reducing the foe's evasion stat. It can also be used to clear deep fog."
+msgstr "Potente viento que barre el Reflejo o Pantalla de Luz del objetivo y puede reducir su Evasión."
+
+msgid "HM06"
+msgstr "MO6"
+
+msgid "The user slugs the foe with a shattering punch. It can also smash cracked boulders."
+msgstr "Ataca con puñetazos que pueden romper rocas. Puede bajar la Defensa del objetivo."
+
+msgid "HM07"
+msgstr "MO7"
+
+msgid "The user charges the foe at an awesome speed. It can also be used to climb a waterfall."
+msgstr "Embiste con un gran impulso que puede hacer retroceder. También sirve para remontar cascadas."
+
+msgid "HM08"
+msgstr "MO8"
+
+msgid "Diving on the first turn, the user floats up and attacks on the second turn."
+msgstr "Primer turno: se sumerge en el mar. Segundo turno: emerge y ataca."
+
+msgid "Cheri Berry"
+msgstr "Baya Zreza"
+
+msgid "It may be used or held by a Pokémon to recover from paralysis."
+msgstr "Los Pokémon pueden llevarla o usarla para recuperarse de la parálisis."
+
+msgid "Chesto Berry"
+msgstr "Baya Atania"
+
+msgid "It may be used or held by a Pokémon to recover from sleep."
+msgstr "Los Pokémon pueden llevarla o usarla para despertar del sueño."
+
+msgid "Pecha Berry"
+msgstr "Baya Meloc"
+
+msgid "It may be used or held by a Pokémon to recover from poison."
+msgstr "Los Pokémon pueden llevarla o usarla para curarse del envenenamiento."
+
+msgid "Rawst Berry"
+msgstr "Baya Safre"
+
+msgid "It may be used or held by a Pokémon to recover from a burn."
+msgstr "Los Pokémon pueden llevarla o usarla para curarse las quemaduras."
+
+msgid "Aspear Berry"
+msgstr "Baya Perasi"
+
+msgid "It may be used or held by a Pokémon to defrost it."
+msgstr "Los Pokémon pueden llevarla o usarla para descongelarse."
+
+msgid "Leppa Berry"
+msgstr "Baya Zanama"
+
+msgid "It may be used or held by a Pokémon to restore a move's PP by 10."
+msgstr "Los Pokémon pueden llevarla o usarla para restaurar 10 PP de un movimiento."
+
+msgid "Oran Berry"
+msgstr "Baya Aranja"
+
+msgid "It may be used or held by a Pokémon to heal the user by just 10 HP."
+msgstr "Los Pokémon pueden usarla o llevarla para restaurar 10 PS."
+
+msgid "Persim Berry"
+msgstr "Baya Caquic"
+
+msgid "It may be used or held by a Pokémon to recover from confusion."
+msgstr "Los Pokémon pueden usarla o llevarla para salir del estado de confusión."
+
+msgid "Lum Berry"
+msgstr "Baya Ziuela"
+
+msgid "It may be used or held by a Pokémon to recover from any status problem."
+msgstr "Los Pokémon pueden llevarla o usarla para recuperarse de problemas de estado."
+
+msgid "Sitrus Berry"
+msgstr "Baya Zidra"
+
+msgid "It may be used or held by a Pokémon to heal the user's HP a little."
+msgstr "Los Pokémon pueden usarla o llevarla para restaurar algunos PS."
+
+msgid "Figy Berry"
+msgstr "Baya Higog"
+
+msgid "If held by a Pokémon, it restores the user's HP in a pinch, but may also cause confusion."
+msgstr "Restaura los PS del Pokémon que la usa en un apuro, pero puede causar confusión."
+
+msgid "Wiki Berry"
+msgstr "Baya Wiki"
+
+msgid "Mago Berry"
+msgstr "Baya Ango"
+
+msgid "Aguav Berry"
+msgstr "Baya Guaya"
+
+msgid "Iapapa Berry"
+msgstr "Baya Pabaya"
+
+msgid "Razz Berry"
+msgstr "Baya Frambu"
+
+msgid "Bury it in soft soil to grow a Razz Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Frambu."
+
+msgid "Bluk Berry"
+msgstr "Baya Oram"
+
+msgid "Bury it in soft soil to grow a Bluk Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Oram."
+
+msgid "Nanab Berry"
+msgstr "Baya Latano"
+
+msgid "Bury it in soft soil to grow a Nanab Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Latano."
+
+msgid "Wepear Berry"
+msgstr "Baya Peragu"
+
+msgid "Bury it in soft soil to grow a Wepear Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Peragu."
+
+msgid "Pinap Berry"
+msgstr "Baya Pinia"
+
+msgid "Bury it in soft soil to grow a Pinap Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Pinia."
+
+msgid "Pomeg Berry"
+msgstr "Baya Grana"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base HP."
+msgstr "Si la usas en un Pokémon te ganas su amistad, pero también reduces sus PS."
+
+msgid "Kelpsy Berry"
+msgstr "Baya Algama"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Attack stat."
+msgstr "Si la usas en un Pokémon te ganas su amistad, pero reduces su Ataque."
+
+msgid "Qualot Berry"
+msgstr "Baya Ispero"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Defense stat."
+msgstr "Si la usas en un Pokémon te ganas su amistad, pero reduces su Defensa."
+
+msgid "Hondew Berry"
+msgstr "Baya Meluce"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Sp. Atk stat."
+msgstr "Si la usas en un Pokémon te ganas su amistad, pero reduces su Ataque Especial."
+
+msgid "Grepa Berry"
+msgstr "Baya Uvav"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Sp. Def stat."
+msgstr "Si la usas en un Pokémon te ganas su amistad, pero reduces su Defensa Especial."
+
+msgid "Tamato Berry"
+msgstr "Baya Tamate"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Speed stat."
+msgstr "Si la usas en un Pokémon te ganas su amistad, pero baja su Velocidad."
+
+msgid "Cornn Berry"
+msgstr "Baya Mais"
+
+msgid "Bury it in soft soil to grow a Cornn Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Mais."
+
+msgid "Magost Berry"
+msgstr "Baya Aostan"
+
+msgid "Bury it in soft soil to grow a Magost Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Aostan."
+
+msgid "Rabuta Berry"
+msgstr "Baya Rautan"
+
+msgid "Bury it in soft soil to grow a Rabuta Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Rautan."
+
+msgid "Nomel Berry"
+msgstr "Baya Monli"
+
+msgid "Bury it in soft soil to grow a Nomel Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Monli."
+
+msgid "Spelon Berry"
+msgstr "Baya Wikano"
+
+msgid "Bury it in soft soil to grow a Spelon Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Wikano."
+
+msgid "Pamtre Berry"
+msgstr "Baya Plama"
+
+msgid "Bury it in soft soil to grow a Pamtre Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Plama."
+
+msgid "Watmel Berry"
+msgstr "Baya Sambia"
+
+msgid "Bury it in soft soil to grow a Watmel Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Sambia."
+
+msgid "Durin Berry"
+msgstr "Baya Rudion"
+
+msgid "Bury it in soft soil to grow a Durin Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Rudion."
+
+msgid "Belue Berry"
+msgstr "Baya Andano"
+
+msgid "Bury it in soft soil to grow a Belue Plant."
+msgstr "Si la plantas en tierra suelta, saldrá una planta de Andano."
+
+msgid "Occa Berry"
+msgstr "Baya Caoca"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Fire-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Fuego."
+
+msgid "Passho Berry"
+msgstr "Baya Pasio"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Water-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Agua."
+
+msgid "Wacan Berry"
+msgstr "Baya Gualot"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Electric-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Eléctrico."
+
+msgid "Rindo Berry"
+msgstr "Baya Tamar"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Grass-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Planta."
+
+msgid "Yache Berry"
+msgstr "Baya Rimoya"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ice-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Hielo."
+
+msgid "Chople Berry"
+msgstr "Baya Pomaro"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Fighting-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Lucha."
+
+msgid "Kebia Berry"
+msgstr "Baya Kebia"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Poison-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Veneno."
+
+msgid "Shuca Berry"
+msgstr "Baya Acardo"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ground-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Tierra."
+
+msgid "Coba Berry"
+msgstr "Baya Kouba"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Flying-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Volador."
+
+msgid "Payapa Berry"
+msgstr "Baya Payapa"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Psychic-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Psíquico."
+
+msgid "Tanga Berry"
+msgstr "Baya Yecana"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Bug-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Bicho."
+
+msgid "Charti Berry"
+msgstr "Baya Alcho"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Rock-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Roca."
+
+msgid "Kasib Berry"
+msgstr "Baya Drasi"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ghost-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Fantasma."
+
+msgid "Haban Berry"
+msgstr "Baya Anjiro"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Dragon-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Dragón."
+
+msgid "Colbur Berry"
+msgstr "Baya Dillo"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Dark-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Siniestro."
+
+msgid "Babiri Berry"
+msgstr "Baya Baribá"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Steel-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Acero."
+
+msgid "Chilan Berry"
+msgstr "Baya Chilan"
+
+msgid "If held by a Pokémon, it weakens a foe's Normal-type attack."
+msgstr "Si la lleva un Pokémon, debilita el ataque de tipo Normal de un enemigo."
+
+msgid "Liechi Berry"
+msgstr "Baya Lichi"
+
+msgid "If held by a Pokémon, it raises its Attack stat in a pinch."
+msgstr "Si la lleva un Pokémon, le subirá el Ataque en un momento de apuro."
+
+msgid "Ganlon Berry"
+msgstr "Baya Gonlan"
+
+msgid "If held by a Pokémon, it raises its Defense stat in a pinch."
+msgstr "Si la lleva un Pokémon, le subirá la Defensa en un momento de apuro."
+
+msgid "Salac Berry"
+msgstr "Baya Aslac"
+
+msgid "If held by a Pokémon, it raises its Speed stat in a pinch."
+msgstr "Si la lleva un Pokémon, le subirá la Velocidad en un momento de apuro."
+
+msgid "Petaya Berry"
+msgstr "Baya Yapati"
+
+msgid "If held by a Pokémon, it raises its Sp. Atk stat in a pinch."
+msgstr "Si la lleva un Pokémon, le subirá el At. Esp. en un momento de apuro."
+
+msgid "Apicot Berry"
+msgstr "Baya Aricoc"
+
+msgid "If held by a Pokémon, it raises its Sp. Def stat in a pinch."
+msgstr "Si la lleva un Pokémon, le subirá la Def. Esp. en un momento de apuro."
+
+msgid "Lansat Berry"
+msgstr "Baya Zonlan"
+
+msgid "If held by a Pokémon, it raises its critical-hit ratio in a pinch."
+msgstr "Si la lleva un Pokémon, sube su capacidad de dar un golpe crítico en un apuro."
+
+msgid "Starf Berry"
+msgstr "Baya Arabol"
+
+msgid "If held by a Pokémon, it sharply raises one of its stats in a pinch."
+msgstr "Si la lleva un Pokémon, aumenta drásticamente 1 característica en un momento de apuro."
+
+msgid "Enigma Berry"
+msgstr "Baya Enigma"
+
+msgid "If held by a Pokémon, it restores its HP if it is hit by a foe's supereffective attack."
+msgstr "Restaura los PS de un Pokémon si la lleva cuando le alcanza un ataque supereficaz."
+
+msgid "Micle Berry"
+msgstr "Baya Lagro"
+
+msgid "If held by a Pokémon, it raises the accuracy of a move just once in a pinch."
+msgstr "Cuando la lleve un Pokémon, le subirá la precisión de un movimiento en un momento de apuro."
+
+msgid "Custap Berry"
+msgstr "Baya Chiri"
+
+msgid "If held by a Pokémon, it gets to move first just once in a pinch."
+msgstr "El Pokémon que la lleve podrá actuar en primer lugar una vez cuando se encuentre en un momento de apuro."
+
+msgid "Jaboca Berry"
+msgstr "Baya Jaboca"
+
+msgid "If held by a Pokémon, and if a foe's physical attack lands, the foe also takes damage."
+msgstr "Si la lleva un Pokémon cuando un enemigo lanza un ataque físico, este también recibirá daño."
+
+msgid "Rowap Berry"
+msgstr "Baya Magua"
+
+msgid "If held by a Pokémon, and if a foe's special attack lands, the foe also takes damage."
+msgstr "Si la lleva un Pokémon cuando un enemigo lanza un ataque especial, este también recibirá daño."
+
+msgid "Orange Mail"
+msgstr "Carta Naranja"
+
+msgid "A piece of mail featuring a cute Zigzagoon print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Zigzagoon. Haz que la entregue un Pokémon."
+
+msgid "Harbor Mail"
+msgstr "Carta Puerto"
+
+msgid "A piece of mail featuring a cute Wingull print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Wingull. Haz que la entregue un Pokémon."
+
+msgid "Glitter Mail"
+msgstr "Carta Brillo"
+
+msgid "A piece of mail featuring a cute Pikachu print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Pikachu. Haz que la entregue un Pokémon."
+
+msgid "Mech Mail"
+msgstr "Carta Imán"
+
+msgid "A piece of mail featuring a cute Magnemite print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Magnemite. Haz que la entregue un Pokémon."
+
+msgid "Wood Mail"
+msgstr "Carta Madera"
+
+msgid "A piece of mail featuring a cute Slakoth print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Slakoth. Haz que la entregue un Pokémon."
+
+msgid "Wave Mail"
+msgstr "Carta Ola"
+
+msgid "A piece of mail featuring a cute Wailmer print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Wailmer. Haz que la entregue un Pokémon."
+
+msgid "Bead Mail"
+msgstr "Carta Imagen"
+
+msgid "A piece of mail to be held by a Pokémon. It will bear the print of the Pokémon holding it."
+msgstr "Carta con un bonito dibujo del Pokémon que la lleve."
+
+msgid "Shadow Mail"
+msgstr "Carta Sombra"
+
+msgid "A piece of mail featuring a cute Duskull print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Duskull. Haz que la entregue un Pokémon."
+
+msgid "Tropic Mail"
+msgstr "Carta Tropical"
+
+msgid "A piece of mail featuring a cute Bellossom print. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de Bellossom. Haz que la entregue un Pokémon."
+
+msgid "Dream Mail"
+msgstr "Carta Sueño"
+
+msgid "Fab Mail"
+msgstr "Carta Fabulosa"
+
+msgid "A piece of mail featuring a gorgeous, extravagant print. It is to be held by a Pokémon."
+msgstr "Carta con un estampado extravagante. Haz que la entregue un Pokémon."
+
+msgid "Retro Mail"
+msgstr "Carta Retro"
+
+msgid "A piece of mail featuring a print of three cute Pokémon. It is to be held by a Pokémon."
+msgstr "Carta con un bonito dibujo de tres Pokémon. Haz que la entregue un Pokémon."
+
+msgid "X Attack"
+msgstr "Ataque X"
+
+msgid "An item that raises the Attack stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Aumenta el Ataque en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "X Defend"
+msgstr "Defensa X"
+
+msgid "An item that raises the Defense of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Aumenta la Defensa en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "X Special"
+msgstr "At. Esp. X"
+
+msgid "An item that raises the Sp. Atk stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Aumenta el Ataque Especial en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "X Sp. Def"
+msgstr "Def. Esp. X"
+
+msgid "An item that raises the Sp. Def stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Aumenta la Defensa Especial en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "X Speed"
+msgstr "Velocidad X"
+
+msgid "An item that raises the Speed stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Aumenta la Velocidad en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "X Accuracy"
+msgstr "Precisión X"
+
+msgid "An item that raises the accuracy of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Aumenta la precisión de los ataques en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "Dire Hit"
+msgstr "Directo"
+
+msgid "An item that raises the critical-hit ratio of a Pokémon in battle."
+msgstr "Aumenta el índice de golpe crítico en combate. Al cambiar de Pokémon, el efecto desaparece."
+
+msgid "Guard Spec."
+msgstr "Protec. Especial"
+
+msgid "An item that prevents stat reduction among the Trainer's party Pokémon for five turns after use."
+msgstr "Evita que bajen las características del equipo Pokémon durante cinco turnos."
+
+msgid "Poké Doll"
+msgstr "Poké Muñeco"
+
+msgid "A doll that attracts Pokémon. Use it to flee from any battle with a wild Pokémon."
+msgstr "Un muñeco que atrae a los Pokémon. Puedes utilizarlo para huir de un combate con un Pokémon salvaje."
+
+msgid "Fluffy Tail"
+msgstr "Cola Skitty"
+
+msgid "An item that attracts Pokémon. Use it to flee from any battle with a wild Pokémon."
+msgstr "Atrae a los Pokémon y sirve para huir de un combate con un Pokémon salvaje."
+
+msgid "Blue Flute"
+msgstr "Flauta Azul"
+
+msgid "A blue flute made from blown glass. Its melody awakens a single Pokémon from sleep."
+msgstr "Flauta de cristal azul cuya melodía despierta a los Pokémon dormidos."
+
+msgid "Yellow Flute"
+msgstr "Flauta Amarilla"
+
+msgid "A yellow flute made from blown glass. Its melody snaps a single Pokémon out of confusion."
+msgstr "Flauta de cristal amarillo que espabila a los Pokémon confusos."
+
+msgid "Red Flute"
+msgstr "Flauta Roja"
+
+msgid "A red flute made from blown glass. Its melody snaps a single Pokémon out of infatuation."
+msgstr "Flauta de cristal rojo que libera a un Pokémon del enamoramiento."
+
+msgid "Bicycle"
+msgstr "Bicicleta"
+
+msgid "A folding Bicycle that enables much faster movement than the Running Shoes."
+msgstr "Bicicleta plegable con la que se va más rápido que con los zapatos deportivos."
+
+msgid "Old Rod"
+msgstr "Caña Vieja"
+
+msgid "An old and beat-up fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Una caña de pescar bastante usada y desgastada. Pesca Pokémon salvajes en todo tipo de aguas."
+
+msgid "Good Rod"
+msgstr "Caña Buena"
+
+msgid "A new, good-quality fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Una caña de pescar nuevecita y de gran calidad. Pesca Pokémon salvajes en todo tipo de aguas."
+
+msgid "Super Rod"
+msgstr "Supercaña"
+
+msgid "An awesome, high-tech fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Una increíble caña de pescar de alta tecnología. Pesca Pokémon salvajes en todo tipo de aguas."
+
+msgid "Dowsing MCHN"
+msgstr "Zahorí"
+
+msgid "It checks for unseen items in the area and makes noise and lights when it finds something."
+msgstr "Detector de objetos invisibles por ondas sonoras. Emite una señal cuando encuentra un objeto."
+
+msgid "TM96"
+msgstr "MT96"
+
+msgid "The user creates shockwaves to attack the target. This attack does physical damage."
+msgstr "Crea olas en el agua para atacar al objetivo. Este ataque causa daño físico."
+
+msgid "Town Map"
+msgstr "Mapa"
+
+msgid "A very convenient map that can be viewed anytime. It even shows your present location."
+msgstr "Un mapa muy útil que puede consultarse en cualquier momento y que, además, te indica dónde te encuentras."
+
+msgid "Coin Case"
+msgstr "Caja de Fichas"
+
+msgid "A case for holding Coins obtained at the Game Corner. It holds up to 99,999 Coins."
+msgstr "Puede guardar hasta 50.000 fichas para ser usadas en el casino de Miraplaya."
+
+msgid "Gracidea"
+msgstr "Gracídea"
+
+msgid "A flower sometimes bundled in bouquets to convey gratitude on special occasions like birthdays."
+msgstr "Una flor que se suele regalar en ramos para expresar agradecimiento en ocasiones especiales, como cumpleaños."
+
+msgid "Soot Sack"
+msgstr "Saco Hollín"
+
+msgid "A sack used to gather and hold volcanic ash."
+msgstr "Saco usado para almacenar cenizas volcánicas."
+
+msgid "Explorer Kit"
+msgstr "Kit Explorador"
+
+msgid "A bag filled with convenient tools for exploring. It provides access to the Underground."
+msgstr "Una bolsa con herramientas útiles para la exploración. Proporciona acceso al Subsuelo."
+
+msgid "Loot Sack"
+msgstr "Saca Botín"
+
+msgid "A sturdy, spacious bag that is used to carry loot obtained in the coal mine."
+msgstr "Una saca grande y resistente utilizada para transportar el botín reunido en la mina de carbón."
+
+msgid "Rule Book"
+msgstr "Reglamento"
+
+msgid "It lists the rules for holding battles. For linked battles, you may choose which rules to use."
+msgstr "Recoge las normas de los combates. En los combates enlazados puedes elegir el conjunto de reglas que quieres usar."
+
+msgid "Point Card"
+msgstr "Tarjeta Puntos"
+
+msgid "A card that lists the Battle Points you have earned."
+msgstr "Una tarjeta en la que se registran los Puntos de Batalla que has ganado."
+
+msgid "Journal"
+msgstr "Diario"
+
+msgid "A notebook that keeps a day-to-day record of your adventure so far."
+msgstr "Un cuaderno en el que se recogen, día a día, los progresos de tu aventura."
+
+msgid "Seal Case"
+msgstr "Caja Sellos"
+
+msgid "A case for storing Seals that can be applied to the capsule cases of Poké Balls."
+msgstr "Caja en la que se pueden guardar los sellos que se aplican a las cápsulas de las Poké Balls."
+
+msgid "Fashion Case"
+msgstr "Caja Corazón"
+
+msgid "A fancy case for the tidy and organized storage of colorful Pokémon Accessories."
+msgstr "Cajita para guardar bien organizados los accesorios Pokémon."
+
+msgid "Seal Bag"
+msgstr "Bolsa Sellos"
+
+msgid "A tiny bag that can hold ten Seals for decorating Poké Balls."
+msgstr "Bolsita con capacidad para diez sellos de los que decoran las Poké Balls."
+
+msgid "Pal Pad"
+msgstr "Bloc amigos"
+
+msgid "A convenient notepad that is used for registering your friends and keeping a record of game play."
+msgstr "Un cuaderno muy práctico en el que puedes registrar amigos, obtener tu clave de amigo, etc."
+
+msgid "Works Key"
+msgstr "Llave Central"
+
+msgid "A large key for operating the doors of the Valley Windworks. It was held by a Team Galactic Grunt."
+msgstr "Abre la puerta de la Central del Valle Eólico. La llevaba un recluta del Equipo Galaxia."
+
+msgid "Old Charm"
+msgstr "Talismán"
+
+msgid "An ancient good-luck charm made of Pokémon bones to be taken to the elder of Celestic Town."
+msgstr "Está hecho con huesos de Pokémon y trae buena suerte. Hay que llevarlo a la anciana de Pueblo Caelestis."
+
+msgid "Galactic Key"
+msgstr "Llave Galaxia"
+
+msgid "A card key for disengaging security systems in the Galactic HQ. Losing it can result in punishment, apparently."
+msgstr "Desactiva los sistemas de seguridad de la Base Galaxia. Por lo visto, perder esta tarjeta se castiga severamente."
+
+msgid "Red Chain"
+msgstr "Cadena Roja"
+
+msgid "A mythical chain that is said to link the legendary Pokémon that created the Sinnoh region."
+msgstr "Una cadena mítica que se dice vincula al Pokémon legendario que creó la región de Sinnoh."
+
+msgid "Sprayduck"
+msgstr "Psydugadera"
+
+msgid "A watering can shaped like a Psyduck. It helps promote healthy growth of planted Berries."
+msgstr "Una regadera con forma de PSYDUCK. Ayuda a que las bayas plantadas en tierra suelta crezcan mejor."
+
+msgid "Poffin Case"
+msgstr "Pokochera"
+
+msgid "A case for storing Poffin cooked from Berries."
+msgstr "Caja en la que se transportan los Pokochos elaborados con bayas."
+
+msgid "Suite Key"
+msgstr "Llave Suite"
+
+msgid "A key to one of the suites at the luxury hotel by a lake. For some odd reason, it often disappears."
+msgstr "Llave de una suite del hotel de lujo del lago. Por algún motivo, se pierde a menudo."
+
+msgid "Oak's Letter"
+msgstr "Carta Pr. Oak"
+
+msgid "A letter from Prof. Oak. Written in it is a request for you to go to Rt. 224."
+msgstr "Carta del Profesor Oak en la que se te pide que vayas a la Ruta 224."
+
+msgid "Lunar Wing"
+msgstr "Pluma Lunar"
+
+msgid "A feather that glows like the moon. It is said to possess the power to dispel nightmares."
+msgstr "Pluma que brilla como la Luna. Se dice que tiene el poder de disipar pesadillas."
+
+msgid "Member Card"
+msgstr "Carné Socio"
+
+msgid "A card needed for entering the inn in Canalave City. Oddly, the last date marked on it was 50 years ago."
+msgstr "Necesario para entrar en la posada de Ciudad Canal. Es extraño pero la última fecha registrada es de hace 50 años."
+
+msgid "Azure Flute"
+msgstr "Flauta Azur"
+
+msgid "A flute that puts out echoing sounds that do not seem to be of this world. It is unknown who made it."
+msgstr "Emite sonidos que no parecen de este mundo. Es de fabricante desconocido."
+
+msgid "BBFerry Ticket"
+msgstr "Boleto de Crucero"
+
+msgid "The ticket required for sailing on the ferry on Bealbeach Lake. It has a drawing of a ship on it."
+msgstr "Es el billete válido para embarcar en el barco a Pueblo Viñedo. Tiene dibujado un barco."
+
+msgid "Contest Pass"
+msgstr "Pase Concurso"
+
+msgid "The pass required for entering Pokémon Contests. It has a drawing of an award ribbon on it."
+msgstr "Es necesario para participar en Concursos Pokémon. Tiene una cinta de ganador dibujada."
+
+msgid "Magma Stone"
+msgstr "Piedra Magma"
+
+msgid "A stone formed when boulders melted in intensely hot magma. Magma remains sealed inside."
+msgstr "Formada a partir de magma enfriado y endurecido. Aún hay magma líquido en su interior."
+
+msgid "Parcel"
+msgstr "Paquete"
+
+msgid "A parcel that you are supposed to deliver to your childhood friend who left Twinleaf Town."
+msgstr "Paquete encomendado a tu cuidado que tienes que entregar a tu amigo de la infancia que dejó Pueblo Hojaverde."
+
+msgid "Coupon 1"
+msgstr "Cupón 1"
+
+msgid "A coupon to be exchanged for a Pokémon Watch (Pokétch for short). Three coupons are needed."
+msgstr "Uno de los tres cupones que sirve para obtener un Poké-reloj."
+
+msgid "Coupon 2"
+msgstr "Cupón 2"
+
+msgid "Coupon 3"
+msgstr "Cupón 3"
+
+msgid "Storage Key"
+msgstr "Llave Almacén"
+
+msgid "The key to Team Galactic's sinister warehouse located at the edge of Veilstone City."
+msgstr "Llave del siniestro almacén del Equipo Galaxia que se encuentra en las afueras de Ciudad Rocavelo."
+
+msgid "SecretPotion"
+msgstr "Poción Secreta"
+
+msgid "A fantastic medicine dispensed by the pharmacy in Cianwood City. It fully heals a Pokémon of any ailment."
+msgstr "Fantástico medicamento vendido en la farmacia de Ciudad Orquídea. Cura completamente a un Pokémon."
+
+msgid "Vs. Seeker"
+msgstr "Buscapelea"
+
+msgid "A device that indicates Trainers who want to battle. Its battery charges while you walk."
+msgstr "Dispositivo que busca entrenadores listos para el combate. La batería se carga mientras caminas."
+
+msgid "Vs. Recorder"
+msgstr "Cámara Lucha"
+
+msgid "An amazing device that can record a battle either between friends or at a special battle facility."
+msgstr "Un fantástico dispositivo que graba combates entre amigos o celebrados en algún recinto especial."
+
+msgid "Secret Key"
+msgstr "Llave Secreta"
+
+msgid "A high-tech key to be used at a specific location. It emits a special electric signal to open a door."
+msgstr "Una llave de alta tecnología que debe usarse en un lugar concreto. Emite una señal eléctrica que abre la puerta."
+
+msgid "Apricorn Box"
+msgstr "Caja Bonguri"
+
+msgid "A handy box where you can store up to 99 Apricorns of each kind."
+msgstr "Práctico recipiente que puede almacenar hasta 99 Bonguri de cada especie."
+
+msgid "Unown Report"
+msgstr "Bloc Unown"
+
+msgid "A report of all the discovered kinds of Unown."
+msgstr "Bloc que almacena la información de los Unown capturados hasta el momento."
+
+msgid "Berry Pots"
+msgstr "Plantabayas"
+
+msgid "Handy containers for cultivating Berries wherever you go."
+msgstr "Dispositivo portátil de cultivo que permite plantar Bayas en cualquier momento de forma sencilla."
+
+msgid "Blue Card"
+msgstr "Tarjeta Azul"
+
+msgid "A card to save points for the Buena's Password show."
+msgstr "Tarjeta para conseguir puntos con el programa de radio Las contraseñas de Buena."
+
+msgid "SlowpokeTail"
+msgstr "Colaslowpoke"
+
+msgid "A very tasty tail of something. It sells for a high price."
+msgstr "Cola de origen desconocido y muy sabrosa. Se vende muy cara."
+
+msgid "Clear Bell"
+msgstr "Campana Clara"
+
+msgid "A very old-fashioned bell that makes a gentle ringing."
+msgstr "Campana de aspecto antiguo que emite un sonido que calma el espíritu."
+
+msgid "Card Key"
+msgstr "T. Magnética"
+
+msgid "A card key that opens a shutter in the Radio Tower."
+msgstr "Llave con forma de tarjeta que abre las puertas de la Torre Radio."
+
+msgid "Basement Key"
+msgstr "Llave Sótano"
+
+msgid "A key that opens a door in the Goldenrod Tunnel."
+msgstr "Llave que abre la puerta que hay en el Túnel Trigal."
+
+msgid "Squirtbottle"
+msgstr "Regadera"
+
+msgid "A bottle used for watering plants in the Berry Pots."
+msgstr "Esta bella regadera con forma de Lotad sirve para regar Bayas. Te la obsequiaron en el Jardín Secreto de Calle Victoria."
+
+msgid "Red Scale"
+msgstr "Escama Roja"
+
+msgid "A scale from the red Gyarados. It glows red like a flame."
+msgstr "Escama del Gyarados aparecido en el Lago de la Furia. De un rojo tan intenso como las llamas."
+
+msgid "Lost Item"
+msgstr "Objeto Perdido"
+
+msgid "The Poké Doll lost by the Copycat."
+msgstr "El Poké Muñeco Clefairy de la Copiona."
+
+msgid "Pass"
+msgstr "Magnetopase"
+
+msgid "A ticket to ride the Magnet Train, whenever and however much you like."
+msgstr "Billete necesario para poder montar todas las veces que se desee en el Magnetotrén."
+
+msgid "Machine Part"
+msgstr "Maquinaria"
+
+msgid "An important machine part for the Power Plant that was stolen."
+msgstr "Valiosa Maquinaria robada de la Planta de Energía."
+
+msgid "Silver Wing"
+msgstr "Ala Plateada"
+
+msgid "A strange, silvery feather that sparkles."
+msgstr "Misteriosa ala de un brillante color plateado."
+
+msgid "Rainbow Wing"
+msgstr "Ala Arcoíris"
+
+msgid "A mystical rainbow feather that sparkles."
+msgstr "Misteriosa ala de un brillante color arcoíris."
+
+msgid "Mystery Egg"
+msgstr "Huevo Mist."
+
+msgid "A mysterious Egg obtained from Mr. Pokémon. What's in the Egg is unknown."
+msgstr "Misterioso Huevo con dibujos que obtienes del Sr. Pokémon."
+
+msgid "Photo Album"
+msgstr "Álbum"
+
+msgid "A nice photo album for storing all the photos taken along your adventure."
+msgstr "Un álbum de fotografías para guardar las tomadas durante tu aventura."
+
+msgid "GB Sounds"
+msgstr "Lector GB"
+
+msgid "A music player that allows you to listen to nostalgic songs. It's operated with a single switch."
+msgstr "Reproductor de música que permite escuchar canciones nostálgicas. Opera con un solo botón."
+
+msgid "Tidal Bell"
+msgstr "Campana Oleaje"
+
+msgid "RageCandyBar"
+msgstr "Caramelo Furia"
+
+msgid "A famous candy in Mahogany Town. Many tourists like to buy them to take home."
+msgstr "Caramelo típico de Pueblo Caoba, muy popular como souvenir."
+
+msgid "Jade Orb"
+msgstr "Esfera Verde"
+
+msgid "A shiny green orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Esfera verde de la que se dice que guarda una estrecha relación con las leyendas de Hoenn."
+
+msgid "Lock Capsule"
+msgstr "Cápsula Candado"
+
+msgid "A sturdy Capsule that can only be opened with a special key."
+msgstr "Una Cápsula resistente que sólo puede abrirse con una llave especial."
+
+msgid "Red Orb"
+msgstr "Esfera Roja"
+
+msgid "A shiny red orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Esfera carmesí de la que se dice que guarda una estrecha relación con las leyendas de Hoenn."
+
+msgid "Blue Orb"
+msgstr "Esfera Azul"
+
+msgid "A shiny blue orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Esfera celeste de la que se dice que guarda una estrecha relación con las leyendas de Hoenn."
+
+msgid "Enigma Stone"
+msgstr "Misticristal"
+
+msgid "A crystal ball from an excavation. A very beautiful stone that is covered with bits of rock and earth."
+msgstr "Esfera cristalina encontrada bajo tierra. A pesar de estar cubierta de roca y tierra, su belleza es increíble."
+
+msgid "Silph Scope"
+msgstr "Scope Silph"
+
+msgid "A scope that makes unseeable Pokémon visible. It is made by Silph Co."
+msgstr "Una lente que hace visibles a los Pokémon invisibles. Fabricada por Silph S.A."
+
+msgid "LAB KEY"
+msgstr "Llave"
+
+msgid "This is a custom Key Item."
+msgstr "Obj. Clave personalizado."
+
+msgid "Poké Radar"
+msgstr "Pokéradar"
+
+msgid "A tool that can search out Pokémon that are hiding in grass. Its battery is recharged as you walk."
+msgstr "Busca Pokémon que se esconden en la hierba. La batería se recarga mientras caminas."
+
+msgid "Sticker Case"
+msgstr "Caja de Stickers"
+
+msgid "This device helps you find a defeated wild Pokemon more easily."
+msgstr "Este instrumento te ayuda a encontrar Pokémon derrotados anteriormente con más facilidad."
+
+msgid "Atom Ball"
+msgstr "Átomo Ball"
+
+msgid "A special Poké Ball created to contain Urayne. You should not have this."
+msgstr "Una Poké Ball diseñada para contener a Urayne. No deberías tenerla..."
+
+msgid "T.U.R Ticket"
+msgstr "Boleto T.S.T."
+
+msgid "A ticket for the Tandor Underground Railway."
+msgstr "Un tícket para el Tren Subterráneo de Tándor."
+
+msgid "PST"
+msgstr "TLP"
+
+msgid "Pokémon Speech Translator. Can help you understand some Pokémon. It's still a prototype."
+msgstr "Prototipo del Traductor de Lenguaje Pokémon entregado por la Profesora Cypress. Permite entender a algunos Pokémon."
+
+msgid "Coconut Milk"
+msgstr "Leche de Coco"
+
+msgid "Fresh Coconut milk. Heals 50 HP and cures status effects."
+msgstr "Fresca leche de coco tandoriano. Restaura 50 PS y cura los problemas de estado."
+
+msgid "Jungle's Crown"
+msgstr "Corona Jungla"
+
+msgid "An item to be held by a Pokémon. It belongs to the king of the jungle. Boosts Fighting attacks."
+msgstr "Pertenece al Rey de la Jungla y potencia los movimientos de tipo Lucha. Debe llevarla un Pokémon."
+
+msgid "Royal Jelly"
+msgstr "Jalea Real"
+
+msgid "An item to be held by a Pokémon. A mysterious goo left behind by Seikamater."
+msgstr "Sustancia misteriosa dejada por Seikamater. Debe llevarla un Pokémon."
+
+msgid "Bug Spray"
+msgstr "Insecticida"
+
+msgid "Bug spray. Works better than any Repel to get bugs scurrying!"
+msgstr "¡Mejor que cualquier Repelente para espantar a esos insectos!"
+
+msgid "Acai Berry"
+msgstr "Baya Acai"
+
+msgid "Bacu Berry"
+msgstr "Baya Bacu"
+
+msgid "Cupu Berry"
+msgstr "Baya Cupú"
+
+msgid "Guara Berry"
+msgstr "Baya Guara"
+
+msgid "Hair Fossil"
+msgstr "Fósil Pelaje"
+
+msgid "A fossil of an ancient Pokémon that lived in the Mountains. It appears to be a wisp of Hair."
+msgstr "Fósil de un Pokémon antiguo que vivía en las Montañas. Parece ser una hebra de cabello."
+
+msgid "Tusk Fossil"
+msgstr "Fósil Colmillo"
+
+msgid "A fossil of an ancient Pokémon that lived in the Plains. It appears to be part of a Tusk."
+msgstr "Fósil de un Pokémon antiguo que vivía en las Planicies. Parece ser un trozo de colmillo."
+
+msgid "Moss Shard"
+msgstr "Trozo Musgo"
+
+msgid "Ice Shard"
+msgstr "Trozo Hielo"
+
+msgid "Pretty Ribbon"
+msgstr "Cinta Feérica"
+
+msgid "An item to be held by a Pokémon. It is an elegant pink ribbon that boosts Fairy-type moves."
+msgstr "Debe llevarla un Pokémon. Un listón elegante que potencia los movimientos tipo Hada."
+
+msgid "Mega Bracelet"
+msgstr "Megapulsera"
+
+msgid "This bracelet contains an untold power that somehow enables Pokémon carrying a Mega Stone to Mega Evolve in battle."
+msgstr "Accesorio con un poder misterioso que permite megaevolucionar a Pokémon que lleven una Megapiedra adecuada."
+
+msgid "Metalynxite"
+msgstr "Metalynxita"
+
+msgid "One variety of the mysterious Mega Stones. Have Metalynx hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Metalynx en combate."
+
+msgid "Archillesite"
+msgstr "Archillesita"
+
+msgid "One variety of the mysterious Mega Stones. Have Archilles hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Archilles en combate."
+
+msgid "Electruxolite"
+msgstr "Electruxolita"
+
+msgid "One variety of the mysterious Mega Stones. Have Electruxo hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Electruxo en combate."
+
+msgid "Gyaradosite"
+msgstr "Gyaradosita"
+
+msgid "One variety of the mysterious Mega Stones. Have Gyarados hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Gyarados en combate."
+
+msgid "Ampharosite"
+msgstr "Ampharosita"
+
+msgid "One variety of the mysterious Mega Stones. Have Ampharos hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Ampharos en combate."
+
+msgid "Baariettite"
+msgstr "Baariettita"
+
+msgid "One variety of the mysterious Mega Stones. Have Baariette hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Baariette en combate."
+
+msgid "Drilgannite"
+msgstr "Drilgannita"
+
+msgid "One variety of the mysterious Mega Stones. Have Drilgann hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Drilgann en combate."
+
+msgid "Sableyeite"
+msgstr "Sableyeita"
+
+msgid "One variety of the mysterious Mega Stones. Have Sableye hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Sableye en combate."
+
+msgid "Inflagetite"
+msgstr "Inflagetita"
+
+msgid "One variety of the mysterious Mega Stones. Have Inflagetah hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Inflagetah en combate."
+
+msgid "Dramsamaite"
+msgstr "Dramsamaita"
+
+msgid "One variety of the mysterious Mega Stones. Have Dramsama hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Dramsama en combate."
+
+msgid "Daikatunite"
+msgstr "Daikatunita"
+
+msgid "One variety of the mysterious Mega Stones. Have Daikatuna hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Daikatuna en combate."
+
+msgid "TM93"
+msgstr "MT93"
+
+msgid "The target is infested and attacked for four to five turns. The target can't flee during this time."
+msgstr "Oprime al enemigo de cuatro a cinco turnos, durante los cuales no podrá huir."
+
+msgid "TM94"
+msgstr "MT94"
+
+msgid "The user damages opposing Pokémon by emitting a powerful flash."
+msgstr "Inflige daño a los oponentes con una potente luz."
+
+msgid "Bike Wheel"
+msgstr "Rueda de Bici"
+
+msgid "This bike wheel can be used to fix a bicycle."
+msgstr "Una rueda de bicicleta en buen estado. ¿No había un hombre en Pueblo Kevlar que te pidió una?"
+
+msgid "Carrot Wine"
+msgstr "Vino de Zanahoria"
+
+msgid "Delicious Carrot Wine, be careful to not drink too much! Heals 100 HP and cures status effects."
+msgstr "Delicioso Vino de Zanahoria. ¡Cuidado, no bebas demasiado! Restaura 100 PS y cura problemas de estado."
+
+msgid "Secret Note"
+msgstr "Nota Secreta"
+
+msgid "You don't know who gave you this. It says that the password is 092."
+msgstr "No sabes quién te dio esto. Según la nota, \"La contraseña es 092\"."
+
+msgid "Syrentideite"
+msgstr "Syrentideita"
+
+msgid "One variety of the mysterious Mega Stones. Have Syrentide hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Syrentide en combate."
+
+msgid "Unidentified Fallen Object"
+msgstr "O.V.N.I."
+
+msgid "One variety of the mysterious Mega Stones. Have s51-A hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Este Objeto Vidrioso No Identificado parece pertenecer a la familia de las Megapiedras. Permite evolucionar a S51-A en combate."
+
+msgid "TM95"
+msgstr "MT95"
+
+msgid "The user damages opposing Pokémon and lowers it's defense and special defense."
+msgstr "Un dragoaliento corrosivo que disuelve las defensas del enemigo."
+
+msgid "Boxing Gloves"
+msgstr "Guantes de Boxeo"
+
+msgid "This device given to you by the Tinkerer allows you to easily smash rugged rocks in your way."
+msgstr "Este dispositivo entregado por el Inventor te permite romper rocas en tu camino, sin la necesidad de la MO Golpe Roca."
+
+msgid "Eviolite"
+msgstr "Mineral Evolutivo"
+
+msgid "A mysterious evolutionary lump. When held, it raises the Defense and Sp. Def of a Pokémon that can still evolve."
+msgstr "El Pokémon portador aumentará su Defensa y su Defensa Especial si aún es capaz de evolucionar."
+
+msgid "Fire Gem"
+msgstr "Gema Fuego"
+
+msgid "A gem with an essence of fire. When held, it strengthens the power of a Fire-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Fuego. Debe llevarla un Pokémon."
+
+msgid "Water Gem"
+msgstr "Gema Agua"
+
+msgid "A gem with an essence of water. When held, it strengthens the power of a Water-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Agua. Debe llevarla un Pokémon."
+
+msgid "Electric Gem"
+msgstr "Gema Eléctrica"
+
+msgid "A gem with an essence of electricity. When held, it strengthens the power of an Electric-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Eléctrico. Debe llevarla un Pokémon."
+
+msgid "Grass Gem"
+msgstr "Gema Planta"
+
+msgid "A gem with an essence of nature. When held, it strengthens the power of a Grass-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Planta. Debe llevarla un Pokémon."
+
+msgid "Ice Gem"
+msgstr "Gema Hielo"
+
+msgid "A gem with an essence of ice. When held, it strengthens the power of an Ice-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Hielo. Debe llevarla un Pokémon."
+
+msgid "Fighting Gem"
+msgstr "Gema Lucha"
+
+msgid "A gem with an essence of combat. When held, it strengthens the power of a Fighting-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Lucha. Debe llevarla un Pokémon."
+
+msgid "Poison Gem"
+msgstr "Gema Veneno"
+
+msgid "A gem with an essence of poison. When held, it strengthens the power of a Poison-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Veneno. Debe llevarla un Pokémon."
+
+msgid "Ground Gem"
+msgstr "Gema Tierra"
+
+msgid "A gem with an essence of land. When held, it strengthens the power of a Ground-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Tierra. Debe llevarla un Pokémon."
+
+msgid "Flying Gem"
+msgstr "Gema Voladora"
+
+msgid "A gem with an essence of air. When held, it strengthens the power of a Flying-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Volador. Debe llevarla un Pokémon."
+
+msgid "Psychic Gem"
+msgstr "Gema Psíquica"
+
+msgid "A gem with an essence of the mind. When held, it strengthens the power of a Psychic-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Psíquico. Debe llevarla un Pokémon."
+
+msgid "Bug Gem"
+msgstr "Gema Bicho"
+
+msgid "A gem with an insect-like essence. When held, it strengthens the power of a Bug-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Bicho. Debe llevarla un Pokémon."
+
+msgid "Rock Gem"
+msgstr "Gema Roca"
+
+msgid "A gem with an essence of rock. When held, it strengthens the power of a Rock-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Roca. Debe llevarla un Pokémon."
+
+msgid "Ghost Gem"
+msgstr "Gema Fantasma"
+
+msgid "A gem with a spectral essence. When held, it strengthens the power of a Ghost-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Fantasma. Debe llevarla un Pokémon."
+
+msgid "Dragon Gem"
+msgstr "Gema Dragón"
+
+msgid "A gem with a draconic essence. When held, it strengthens the power of a Dragon-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Dragón. Debe llevarla un Pokémon."
+
+msgid "Dark Gem"
+msgstr "Gema Siniestra"
+
+msgid "A gem with an essence of darkness. When held, it strengthens the power of a Dark-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Siniestro. Debe llevarla un Pokémon."
+
+msgid "Steel Gem"
+msgstr "Gema Acero"
+
+msgid "A gem with an essence of steel. When held, it strengthens the power of a Steel-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Acero. Debe llevarla un Pokémon."
+
+msgid "Normal Gem"
+msgstr "Gema Normal"
+
+msgid "A gem with an ordinary essence. When held, it strengthens the power of a Normal-type move only once."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Normal. Debe llevarla un Pokémon."
+
+msgid "Whimsicottite"
+msgstr "Whimsicottita"
+
+msgid "One variety of the mysterious Mega Stones. Have Whimsicott hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Whimsicott en combate."
+
+msgid "Arbokite"
+msgstr "Arbokita"
+
+msgid "One variety of the mysterious Mega Stones. Have Arbok hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Arbok en combate."
+
+msgid "Yoshitaka's Letter"
+msgstr "Carta de Yoshitaka"
+
+msgid "A letter from the great Yoshitaka, show it to his grandsons."
+msgstr "Una carta del gran Maestro Yoshitaka. Debe ser mostrada a sus nietos."
+
+msgid "Rocky Helmet"
+msgstr "Casco Dentado"
+
+msgid "If the holder of this item takes damage, the attacker will also be damaged upon contact."
+msgstr "Si el portador es alcanzado por un ataque físico, el agresor también recibe daño."
+
+msgid "Eject Button"
+msgstr "Botón Escape"
+
+msgid "If the holder is hit by an attack, it will switch with another Pokémon in your party."
+msgstr "Si el portador es alcanzado por un ataque, saldrá del combate y será sustituido por otro Pokémon del equipo."
+
+msgid "Red Card"
+msgstr "Tarjeta Roja"
+
+msgid "A card with a mysterious power. When the holder is struck by a foe, the attacker is removed from battle."
+msgstr "\"Misteriosa tarjeta que permite al Pokémon que la lleve expulsar al agresor cuando este le cause daño."
+
+msgid "Float Stone"
+msgstr "Piedra Pómez"
+
+msgid "A very light stone. It reduces the weight of a Pokémon when held."
+msgstr "Piedra muy ligera que reduce el peso del Pokémon que la lleve."
+
+msgid "Binding Band"
+msgstr "Banda Atadura"
+
+msgid "A band that increases the power of binding moves when held."
+msgstr "Banda que potencia los movimientos que estrujan al rival."
+
+msgid "Absorb Bulb"
+msgstr "Tubérculo"
+
+msgid "A consumable bulb. If the holder is hit by a Water-type move, its Sp. Atk will rise."
+msgstr "Raíz de usar y tirar que sube el Ataque Especial cuando se recibe un ataque de tipo Agua."
+
+msgid "Cell Battery"
+msgstr "Pila"
+
+msgid "A consumable battery. If the holder is hit by an Electric-type move, its Attack will rise."
+msgstr "Batería de usar y tirar que sube el Ataque de quien la lleva cuando recibe un golpe de tipo Eléctrico."
+
+msgid "Ring Target"
+msgstr "Blanco"
+
+msgid "Moves that would otherwise have no effect will land on the Pokémon that holds it."
+msgstr "El Pokémon que lo lleva es vulnerable frente a movimientos que normalmente no afectan a su tipo."
+
+msgid "Air Balloon"
+msgstr "Globo Helio"
+
+msgid "When held by a Pokémon, the Pokémon will float into the air. When the holder is attacked, this item will burst."
+msgstr "El Pokémon que lo lleve flotará en el aire. Si recibe un golpe, estallará."
+
+msgid "Assault Vest"
+msgstr "Chaleco Asalto"
+
+msgid "An item to be held by a Pokémon. This offensive vest raises Sp. Def but prevents the use of status moves."
+msgstr "Debe ser llevado por un Pokémon. Aumenta la Def. Esp. pero evita que el usuario realice movimientos de estado."
+
+msgid "Fairy Gem"
+msgstr "Gema Hada"
+
+msgid "A gem with an essence of nature. When held, it strengthens the power of a Fairy-type move one time."
+msgstr "Joya de un solo uso que potencia los movimientos de tipo Hada. Debe llevarla un Pokémon."
+
+msgid "Prison Bottle"
+msgstr "Vasija Castigo"
+
+msgid "A bottle believed to have been used to seal away the power of a certain Pokémon long, long ago."
+msgstr "Se cree que esta vasija encerró el poder de un Pokémon antiguo."
+
+msgid "Luminous Moss"
+msgstr "Musgo Brillante"
+
+msgid "An item to be held by a Pokémon. It boosts Sp. Def if hit with a Water-type attack. It can only be used once."
+msgstr "Incrementa la Def. Esp. del Pokémon que lo lleva al recibir un ataque tipo Agua. Solo puede ser usado una vez."
+
+msgid "Weakness Policy"
+msgstr "Seguro Debilidad"
+
+msgid "An item to be held by a Pokémon. Attack and Sp. Atk sharply increase if the holder is hit with a move it's weak to."
+msgstr "Incrementa el Ataque y At. Esp. del Pokémon que lo lleva al recibir un ataque supereficaz."
+
+msgid "Pixie Plate"
+msgstr "Tabla Duende"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fairy-type moves."
+msgstr "Tabla de piedra que potencia los movimientos de tipo Hada. Debe llevarla un Pokémon."
+
+msgid "Roseli Berry"
+msgstr "Baya Hibis"
+
+msgid "Weakens a supereffective Fairy-type attack against the holding Pokémon."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Hada."
+
+msgid "Kee Berry"
+msgstr "Baya Biglia"
+
+msgid "If held by a Pokémon, this Berry will increase the Pokémon's Defense stat when hit by a physical attack."
+msgstr "Si la lleva un Pokémon, incrementará su Defensa al recibir un ataque físico."
+
+msgid "Maranga Berry"
+msgstr "Baya Maranga"
+
+msgid "If held by a Pokémon, this Berry will increase the Pokémon's Special Defense stat when hit by a special attack."
+msgstr "Si la lleva un Pokémon, incrementará su Def. Esp. al recibir un At. especial."
+
+msgid "Snowball"
+msgstr "Bola de Nieve"
+
+msgid "An item to be held by a Pokémon. It boosts Attack if hit with an Ice-type attack. It can only be used once."
+msgstr "Si la lleva un Pokémon, incrementará su Ataque si recibe un ataque tipo Hielo. Solo puede ser usada una vez."
+
+msgid "Safety Goggles"
+msgstr "Gafa Protectora"
+
+msgid "An item to be held by a Pokémon. These goggles protect the holder from both weather-related damage and powder."
+msgstr "Si las lleva un Pokémon, estará protegido del daño por efectos climáticos y movimientos basados en polvos."
+
+msgid "Hafli Berry"
+msgstr "Baya Mevid"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Nuclear-type attack."
+msgstr "Si la lleva un Pokémon, debilita ataques supereficaces de tipo Nuclear."
+
+msgid "Kellyn's Letter"
+msgstr "Carta de Kellyn"
+
+msgid "A letter from Kellyn. Deliver it to Cameron on the Power Plant Island."
+msgstr "Una carta escrita por Kellyn. Entrégala a Cameron en la Planta Nuclear Épsilon, usando el barco de la Ruta 07."
+
+msgid "Burnt Notebook"
+msgstr "Libreta Quemada"
+
+msgid "A burnt notebook found in the power plant, it's pages seem to be scattered about."
+msgstr "Una libreta quemada encontrada en la planta nuclear abandonada. Sus páginas están esparcidas por el lugar."
+
+msgid "Rusty Key"
+msgstr "Llave Oxidada"
+
+msgid "A rusty key found in the power plant."
+msgstr "Una llave oxidada encontrada en la planta nuclear abandonada."
+
+msgid "Power Glove"
+msgstr "Guante de Poder"
+
+msgid "This device given to you by the Tinkerer allows you to push boulders on your own as if you had super-strength."
+msgstr "Este dispositivo entregado por el Inventor te otorga una fuerza increíble, permitiéndote empujar rocas como si fueras un Pokémon."
+
+msgid "A new kind of Poké Ball that works especially well on Nuclear-type Pokémon."
+msgstr "Nuevo tipo de Poké Bola especialmente efectiva en Pokémon de tipo Nuclear."
+
+msgid "Sachet"
+msgstr "Saquito Fragante"
+
+msgid "A sachet filled with fragrant perfumes that are just slightly too overwhelming. Yet it's loved by a certain Pokémon."
+msgstr "Un saquito lleno de sustancias aromáticas cuyo perfume resulta abrumador, pero que a ciertos Pokémon les encanta."
+
+msgid "Power Cell"
+msgstr "Celda de Energía"
+
+msgid "A power cell used to power up advanced electrical equipments."
+msgstr "Celda de poder usada en dispositivos eléctricos avanzados."
+
+msgid "Maria's Key"
+msgstr "Llave de María"
+
+msgid "A key given by a creepy guy that unlocks Gym Leader Maria's house."
+msgstr "Llave de la casa de María, la Líder de Gimnasio. Te la dio un acosador."
+
+msgid "Oval Charm"
+msgstr "Amuleto Oval"
+
+msgid "An oval charm said to increase the chance of Eggs being found at the Day Care."
+msgstr "Misterioso amuleto redondo que aumenta la posibilidad de encontrar Huevos en la Guardería Pokémon"
+
+msgid "Shiny Charm"
+msgstr "Amuleto Iris"
+
+msgid "A shiny charm said to increase the chance of finding a Shiny Pokémon."
+msgstr "Misterioso amuleto brillante que aumenta la probabilidad de encontrar Pokémon variocolores."
+
+msgid "Aromatic Herb"
+msgstr "Hierba Aromática"
+
+msgid "A herb filled with fragrant perfumes that are just slightly too overwhelming. Yet it's loved by a certain Pokémon."
+msgstr "Planta repleta de fragancias algo abrumadoras. Apreciada por ciertos Pokémon."
+
+msgid "Air Mail"
+msgstr "Carta Aérea"
+
+msgid "Stationery featuring a print of colorful letter sets. Let a Pokémon hold it for delivery."
+msgstr "Carta con el diseño tradicional del correo aéreo. Haz que la entregue un Pokémon."
+
+msgid "Gengarite"
+msgstr "Gengarita"
+
+msgid "One of the mysterious Mega Stones. Have Gengar hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Gengar en combate."
+
+msgid "Uranium Core"
+msgstr "Núcleo de Uranio"
+
+msgid "Concentrated nuclear fuel used to power Nuclear Plants."
+msgstr "Regalo de energía ilimitada dado a Urayne por parte de Actan. Permite cambiar a Urayne entre sus formas Alfa y Beta."
+
+msgid "Kiricornite"
+msgstr "Kiricornita"
+
+msgid "One of the mysterious Mega Stones. Have Kiricorn hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Kiricorn en combate."
+
+msgid "Gold Fossil"
+msgstr "Fósil Dorado"
+
+msgid "A fossil of an ancient Pokémon that lived in Islands. It appears to be a golden bone."
+msgstr "Fósil de un Pokémon antiguo que solía vivir en las Islas Orientales. Parece ser un hueso dorado."
+
+msgid "TM97"
+msgstr "MT97"
+
+msgid "The user chomps hard on the target with its sharp front fangs. It cuts the target's HP to half."
+msgstr "Finos colmillos que reducen a la mitad los PS del objetivo."
+
+msgid "TM98"
+msgstr "MT98"
+
+msgid "This move can be used only after the user has used all the other moves it knows in the battle."
+msgstr "Este movimiento solo puede usarse tras haber usado todos los demás conocidos por el Pokémon."
+
+msgid "TM99"
+msgstr "MT99"
+
+msgid "An attack move that cuts down the target's HP to equal the user's HP."
+msgstr "Reduce los PS del objetivo para que igualen a los del atacante."
+
+msgid "TM100"
+msgstr "MT100"
+
+msgid "The user focuses its willpower to its head and attacks the foe. It may also make the target flinch."
+msgstr "Concentra su energía psíquica en la cabeza para golpear. Puede hacer que el objetivo retroceda."
+
+msgid "Surfboard"
+msgstr "Tabla de Surf"
+
+msgid "This device given to you by the Tinkerer makes it possible to surf on water without the help of a Pokémon. Cowabunga!"
+msgstr "Este dispositivo entregado por el Inventor te permite surfear por el agua por tu propia cuenta, sin necesidad de un Pokémon. ¡Cowabunga!"
+
+msgid "Scuba Gear"
+msgstr "Traje de Buceo"
+
+msgid "This device given to you by the Tinkerer allows you to dive underwater on your own. Who ever used Dive anyways?"
+msgstr "Este dispositivo entregado por el Inventor te permite buscear bajo el agua de forma sofisticada, y no de forma estúpida..."
+
+msgid "Climbing Pick"
+msgstr "Pico de Escalada"
+
+msgid "This device given to you by the Tinkerer allows you to climb up waterfalls while using your surfboard. Extreme sports are fun!"
+msgstr "Este dispositivo entregado por el Inventor te permite escalar por cascadas mientras usas tu Tabla de Surf. ¡Extremo!"
+
+msgid "Rich Mulch"
+msgstr "Abono Fértil"
+
+msgid "A plant fertilizer. It increases Berry harvest without the need for particularly diligent care."
+msgstr "Un fertilizante que se usa en tierra suelta. Aumenta la producción de Bayas sin requerir ningún cuidado en especial."
+
+msgid "Sprinklotad"
+msgstr "Lotadgadera"
+
+msgid "A watering can shaped like a Lotad. It helps promote healthy growth of planted Berries."
+msgstr "Esta bella regadera con forma de Lotad sirve para regar Bayas. Te la obsequiaron en el Jardín Secreto de Calle Victoria."
+
+msgid "Quadcopter"
+msgstr "Cuadricóptero"
+
+msgid "Final device created by the Tinkerer. Use this remote-controlled drone to Fly anywhere without the help of a Pokémon!"
+msgstr "Último dispositivo creado por el Inventor. ¡Usa este dron a control remoto para volar a todas partes sin la ayuda de un Pokémon!"
+
+msgid "Ferry Pass"
+msgstr "Pase de Navegante"
+
+msgid "A Frequent Sailor card for the Venesi Ferry to Bealbeach and Silverport."
+msgstr "Un pase de Navegante Frequente para el barco que viaja desde Venesí a Miraplaya y Pueblo Claravío."
+
+msgid "Dark Dramsamaite"
+msgstr "Dramsamaita Oscura"
+
+msgid "A disturbing variety of the mysterious Mega Stones. Have Dramsama hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Una preocupante variación de las misteriosas Megapiedras. Permite megaevolucionar a Dramsama en combate."
+
+msgid "Map Scrap 1"
+msgstr "Restos de Mapa 1"
+
+msgid "A torn piece of an ancient sea map. This item refers to a quest that is not yet implemented."
+msgstr "Una pieza rasgda de un antiguo mapa marino. Este item hace referencia a una misión que aún no ha sido implementada."
+
+msgid "Map Scrap 2"
+msgstr "Restos de Mapa 2"
+
+msgid "Map Scrap 3"
+msgstr "Restos de Mapa 3"
+
+msgid "Map Scrap 4"
+msgstr "Restos de Mapa 4"
+
+msgid "Map Scrap 5"
+msgstr "Restos de Mapa 5"
+
+msgid "Map Scrap 6"
+msgstr "Restos de Mapa 6"
+
+msgid "Exp. All"
+msgstr "Repartir Exp."
+
+msgid "Turning on this special device will allow all the Pokémon on your team to receive Exp. Points from battles."
+msgstr "Al encender este dispositivo especial, le permite a todos los Pokémon en tu equipo recibir Puntos de Exp."
+
+msgid "Oblivicornite"
+msgstr "Oblivicornita"
+
+msgid "One of the mysterious Mega Stones. Have Oblivicorn hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Una de las misteriosas Megapiedras. Permite megaevolucionar a Oblivicorn en combate."
diff --git a/Dialogue/Generated/es/OfficialLocations.po b/Dialogue/Generated/es/OfficialLocations.po
new file mode 100644
index 000000000..befdbaa34
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialLocations.po
@@ -0,0 +1,161 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "01- Lakeside Path"
+msgstr "Ruta 01 - Senda Raíz"
+
+msgid "02- Owten Nook"
+msgstr "Ruta 02 - Rincón Owten"
+
+msgid "03- Seabreeze Way"
+msgstr "Ruta 03 - Vía Marina"
+
+msgid "04- Baa Grassland"
+msgstr "Ruta 04 - Pampa Oveja"
+
+msgid "05- Tancoon Way"
+msgstr "Ruta 05 - Claro Tancoon"
+
+msgid "06- Pahar Hills"
+msgstr "Ruta 06 - Cuesta Pahar"
+
+msgid "07- Tandor Sheets"
+msgstr "Ruta 07 - El Litoral"
+
+msgid "08- Vinoville Lake"
+msgstr "Ruta 08 - Campos de Trigo"
+
+msgid "09- FireValley"
+msgstr "Ruta 09 - Valle Pasión"
+
+msgid "10- Baykal Forest"
+msgstr "Ruta 10 - Jungla de Baykal"
+
+msgid "11- Nature Preserve"
+msgstr "Ruta 11 - Reserva Natural"
+
+msgid "12- Maskara Channel"
+msgstr "Ruta 12 - Canal Sigiloso"
+
+msgid "13- Maskara Island"
+msgstr "Ruta 13 - Isla Maskara"
+
+msgid "14- Maskara Sea"
+msgstr "Ruta 14 - Mar Pintado"
+
+msgid "15- Shallow Channel"
+msgstr "Ruta 15 - Mar Ventisca"
+
+msgid "Amatree Town"
+msgstr "Pueblo Amaukari"
+
+msgid "Anthell"
+msgstr "Infraguero"
+
+msgid "Bealbeach City"
+msgstr "Ciudad Miraplaya"
+
+msgid "Berry Traders"
+msgstr "Trueque de Bayas"
+
+msgid "Bike Shop"
+msgstr "Tienda de Bicis"
+
+msgid "Burole Town"
+msgstr "Pueblo Barullo"
+
+msgid "Championship Site"
+msgstr "Sede del Campeonato"
+
+msgid "Church"
+msgstr "Iglesia"
+
+msgid "Comet Cave"
+msgstr "Cueva Cometa"
+
+msgid "Dpt. Store, Casino"
+msgstr "Centro Comercial, Casino"
+
+msgid "Kevlar Town"
+msgstr "Pueblo Kevlar"
+
+msgid "Lanthanite Tunnel"
+msgstr "Cueva Lantánida"
+
+msgid "Larkspur's Lab"
+msgstr "Laboratorios Larkspur"
+
+msgid "Legen Town"
+msgstr "Pueblo Valeón"
+
+msgid "Moki Town"
+msgstr "Pueblo Moki"
+
+msgid "Name Rater"
+msgstr "Experto en Apodos"
+
+msgid "Nowtoch City"
+msgstr "Ciudad Tecuelo"
+
+msgid "Nuclear Plant Epsilon"
+msgstr "Planta Nuclear Épsilon"
+
+msgid "Nuclear Plant Omicron"
+msgstr "Planta Nuclear Ómicron"
+
+msgid "Nuclear Plant Zeta"
+msgstr "Planta Nuclear Zeta"
+
+msgid "Passage Cave"
+msgstr "Pasaje Térreo"
+
+msgid "Pokemon School"
+msgstr "Escuela Pokémon"
+
+msgid "Professor Bambo Lab"
+msgstr "Laboratorios Bamb'o"
+
+msgid "Professor Cypress Lab"
+msgstr "Laboratorios Cypress"
+
+msgid "Rochfale Town"
+msgstr "Pueblo Lionte"
+
+msgid "Rochfale Tunnel"
+msgstr "Túnel Onte"
+
+msgid "Route 16"
+msgstr "Ruta 16 - Pase Lantánido"
+
+msgid "Silverport Town"
+msgstr "Pueblo Claravío"
+
+msgid "Snowbank Town"
+msgstr "Pueblo Nevisca"
+
+msgid "The Labyrinth"
+msgstr "El Laberinto"
+
+msgid "The Tipsy Tancoon, etc"
+msgstr "Recuerda-Movimientos"
+
+msgid "Tinkerer's Workshop"
+msgstr "Casa del Inventor"
+
+msgid "Training Dojo"
+msgstr "Dojo de Entrenamiento"
+
+msgid "Tsukinami Village"
+msgstr "Aldea Tsukinami"
+
+msgid "Venesi City"
+msgstr "Ciudad Venesí"
+
+msgid "Victory Road"
+msgstr "Calle Victoria"
+
+msgid "Vinoville Town"
+msgstr "Pueblo Viñedo"
+
diff --git a/Dialogue/Generated/es/OfficialMoves.po b/Dialogue/Generated/es/OfficialMoves.po
new file mode 100644
index 000000000..3d14cb8d2
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialMoves.po
@@ -0,0 +1,1903 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "Megahorn"
+msgstr "Megacuerno"
+
+msgid "Attack Order"
+msgstr "Al Ataque"
+
+msgid "Bug Buzz"
+msgstr "Zumbido"
+
+msgid "X-Scissor"
+msgstr "Tijera X"
+
+msgid "Signal Beam"
+msgstr "Doble Rayo"
+
+msgid "U-turn"
+msgstr "Ida y Vuelta"
+
+msgid "Steamroller"
+msgstr "Rodillo Púas"
+
+msgid "Bug Bite"
+msgstr "Picadura"
+
+msgid "Silver Wind"
+msgstr "Viento Plata"
+
+msgid "Struggle Bug"
+msgstr "Estoicismo"
+
+msgid "Twineedle"
+msgstr "Doble Ataque"
+
+msgid "Fury Cutter"
+msgstr "Corte Furia"
+
+msgid "Leech Life"
+msgstr "Chupavidas"
+
+msgid "Pin Missile"
+msgstr "Pin Misil"
+
+msgid "Defend Order"
+msgstr "A Defender"
+
+msgid "Heal Order"
+msgstr "Auxilio"
+
+msgid "Quiver Dance"
+msgstr "Danza Aleteo"
+
+msgid "Rage Powder"
+msgstr "Polvo Ira"
+
+msgid "Spider Web"
+msgstr "Telaraña"
+
+msgid "String Shot"
+msgstr "Disparo Demora"
+
+msgid "Tail Glow"
+msgstr "Ráfaga"
+
+msgid "Foul Play"
+msgstr "Juego Sucio"
+
+msgid "Night Daze"
+msgstr "Pulso Noche"
+
+msgid "Crunch"
+msgstr "Triturar"
+
+msgid "Dark Pulse"
+msgstr "Pulso Umbrío"
+
+msgid "Sucker Punch"
+msgstr "Golpe Bajo"
+
+msgid "Night Slash"
+msgstr "Tajo Umbrío"
+
+msgid "Bite"
+msgstr "Mordisco"
+
+msgid "Feint Attack"
+msgstr "Finta"
+
+msgid "Snarl"
+msgstr "Alarido"
+
+msgid "Assurance"
+msgstr "Buena Baza"
+
+msgid "Payback"
+msgstr "Vendetta"
+
+msgid "Pursuit"
+msgstr "Persecución"
+
+msgid "Thief"
+msgstr "Ladrón"
+
+msgid "Knock Off"
+msgstr "Desarme"
+
+msgid "Beat Up"
+msgstr "Paliza"
+
+msgid "Fling"
+msgstr "Lanzamiento"
+
+msgid "Punishment"
+msgstr "Castigo"
+
+msgid "Dark Void"
+msgstr "Brecha Negra"
+
+msgid "Fake Tears"
+msgstr "Llanto Falso"
+
+msgid "Flatter"
+msgstr "Camelo"
+
+msgid "Hone Claws"
+msgstr "Afilagarras"
+
+msgid "Memento"
+msgstr "Legado"
+
+msgid "Nasty Plot"
+msgstr "Maquinación"
+
+msgid "Quash"
+msgstr "Último Lugar"
+
+msgid "Snatch"
+msgstr "Robo"
+
+msgid "Switcheroo"
+msgstr "Trapicheo"
+
+msgid "Taunt"
+msgstr "Mofa"
+
+msgid "Torment"
+msgstr "Tormento"
+
+msgid "Roar of Time"
+msgstr "Distorsión"
+
+msgid "Draco Meteor"
+msgstr "Cometa Draco"
+
+msgid "Outrage"
+msgstr "Enfado"
+
+msgid "Dragon Rush"
+msgstr "Carga Dragón"
+
+msgid "Spacial Rend"
+msgstr "Corte Vacío"
+
+msgid "Dragon Pulse"
+msgstr "Pulso Dragón"
+
+msgid "Dragon Claw"
+msgstr "Garra Dragón"
+
+msgid "Dragon Tail"
+msgstr "Cola Dragón"
+
+msgid "Dragon Breath"
+msgstr "Dragoaliento"
+
+msgid "Dual Chop"
+msgstr "Golpe Bis"
+
+msgid "Twister"
+msgstr "Ciclón"
+
+msgid "Dragon Rage"
+msgstr "Furia Dragón"
+
+msgid "Dragon Dance"
+msgstr "Danza Dragón"
+
+msgid "Bolt Strike"
+msgstr "Ataque Fulgor"
+
+msgid "Thunder"
+msgstr "Trueno"
+
+msgid "Volt Tackle"
+msgstr "Placaje Eléc."
+
+msgid "Zap Cannon"
+msgstr "Electrocañón"
+
+msgid "Fusion Bolt"
+msgstr "Rayo Fusión"
+
+msgid "Thunderbolt"
+msgstr "Rayo"
+
+msgid "Wild Charge"
+msgstr "Voltio Cruel"
+
+msgid "Discharge"
+msgstr "Chispazo"
+
+msgid "Thunder Punch"
+msgstr "Puño Trueno"
+
+msgid "Volt Switch"
+msgstr "Voltiocambio"
+
+msgid "Spark"
+msgstr "Chispa"
+
+msgid "Thunder Fang"
+msgstr "Colmillo Rayo"
+
+msgid "Shock Wave"
+msgstr "Onda Voltio"
+
+msgid "Electroweb"
+msgstr "Electrotela"
+
+msgid "Charge Beam"
+msgstr "Rayo Carga"
+
+msgid "Thunder Shock"
+msgstr "Impactrueno"
+
+msgid "Electro Ball"
+msgstr "Bola Voltio"
+
+msgid "Charge"
+msgstr "Carga"
+
+msgid "Magnet Rise"
+msgstr "Levitón"
+
+msgid "Thunder Wave"
+msgstr "Onda Trueno"
+
+msgid "Focus Punch"
+msgstr "Puño Certero"
+
+msgid "High Jump Kick"
+msgstr "Pat. Super Alta"
+
+msgid "Close Combat"
+msgstr "A Bocajarro"
+
+msgid "Focus Blast"
+msgstr "Onda Certera"
+
+msgid "Superpower"
+msgstr "Fuerza Bruta"
+
+msgid "Cross Chop"
+msgstr "Tajo Cruzado"
+
+msgid "Dynamic Punch"
+msgstr "Puño Dinámico"
+
+msgid "Hammer Arm"
+msgstr "Machada"
+
+msgid "Jump Kick"
+msgstr "Patada Salto"
+
+msgid "Aura Sphere"
+msgstr "Esfera Aural"
+
+msgid "Sacred Sword"
+msgstr "Espada Santa"
+
+msgid "Secret Sword"
+msgstr "Sablemístico"
+
+msgid "Sky Uppercut"
+msgstr "Gancho Alto"
+
+msgid "Submission"
+msgstr "Sumisión"
+
+msgid "Brick Break"
+msgstr "Demolición"
+
+msgid "Drain Punch"
+msgstr "Puño Drenaje"
+
+msgid "Vital Throw"
+msgstr "Tiro Vital"
+
+msgid "Circle Throw"
+msgstr "Llave Giro"
+
+msgid "Force Palm"
+msgstr "Palmeo"
+
+msgid "Low Sweep"
+msgstr "Puntapié"
+
+msgid "Revenge"
+msgstr "Desquite"
+
+msgid "Rolling Kick"
+msgstr "Patada Giro"
+
+msgid "Wake-Up Slap"
+msgstr "Espabila"
+
+msgid "Karate Chop"
+msgstr "Golpe Karate"
+
+msgid "Mach Punch"
+msgstr "Ultrapuño"
+
+msgid "Rock Smash"
+msgstr "Golpe Roca"
+
+msgid "Storm Throw"
+msgstr "Llave Corsé"
+
+msgid "Vacuum Wave"
+msgstr "Onda Vacío"
+
+msgid "Double Kick"
+msgstr "Doble Patada"
+
+msgid "Arm Thrust"
+msgstr "Empujón"
+
+msgid "Triple Kick"
+msgstr "Triplepatada"
+
+msgid "Counter"
+msgstr "Contraataque"
+
+msgid "Final Gambit"
+msgstr "Sacrificio"
+
+msgid "Low Kick"
+msgstr "Patada Baja"
+
+msgid "Reversal"
+msgstr "Inversión"
+
+msgid "Seismic Toss"
+msgstr "Mov. Sísmico"
+
+msgid "Bulk Up"
+msgstr "Corpulencia"
+
+msgid "Detect"
+msgstr "Detección"
+
+msgid "Quick Guard"
+msgstr "Anticipo"
+
+msgid "V-create"
+msgstr "V de Fuego"
+
+msgid "Blast Burn"
+msgstr "Anillo Ígneo"
+
+msgid "Eruption"
+msgstr "Estallido"
+
+msgid "Overheat"
+msgstr "Sofoco"
+
+msgid "Blue Flare"
+msgstr "Llama Azul"
+
+msgid "Fire Blast"
+msgstr "Llamarada"
+
+msgid "Flare Blitz"
+msgstr "Envite Ígneo"
+
+msgid "Magma Storm"
+msgstr "Lluvia Ígnea"
+
+msgid "Fusion Flare"
+msgstr "Llama Fusión"
+
+msgid "Heat Wave"
+msgstr "Onda Ígnea"
+
+msgid "Inferno"
+msgstr "Infierno"
+
+msgid "Sacred Fire"
+msgstr "Fuego Sagrado"
+
+msgid "Searing Shot"
+msgstr "Bomba Ígnea"
+
+msgid "Flamethrower"
+msgstr "Lanzallamas"
+
+msgid "Blaze Kick"
+msgstr "Patada Ígnea"
+
+msgid "Fiery Dance"
+msgstr "Danza Llama"
+
+msgid "Lava Plume"
+msgstr "Humareda"
+
+msgid "Fire Punch"
+msgstr "Puño Fuego"
+
+msgid "Flame Burst"
+msgstr "Pirotecnia"
+
+msgid "Fire Fang"
+msgstr "Colmillo Ígneo"
+
+msgid "Flame Wheel"
+msgstr "Rueda Fuego"
+
+msgid "Fire Pledge"
+msgstr "Voto Fuego"
+
+msgid "Flame Charge"
+msgstr "Nitrocarga"
+
+msgid "Ember"
+msgstr "Ascuas"
+
+msgid "Fire Spin"
+msgstr "Giro Fuego"
+
+msgid "Incinerate"
+msgstr "Calcinación"
+
+msgid "Heat Crash"
+msgstr "Golpe Calor"
+
+msgid "Sunny Day"
+msgstr "Día Soleado"
+
+msgid "Will-O-Wisp"
+msgstr "Fuego Fatuo"
+
+msgid "Sky Attack"
+msgstr "Ataque Aéreo"
+
+msgid "Brave Bird"
+msgstr "Pájaro Osado"
+
+msgid "Hurricane"
+msgstr "Vendaval"
+
+msgid "Aeroblast"
+msgstr "Aerochorro"
+
+msgid "Fly"
+msgstr "Vuelo"
+
+msgid "Bounce"
+msgstr "Bote"
+
+msgid "Drill Peck"
+msgstr "Pico Taladro"
+
+msgid "Air Slash"
+msgstr "Tajo Aéreo"
+
+msgid "Aerial Ace"
+msgstr "Golpe Aéreo"
+
+msgid "Chatter"
+msgstr "Cháchara"
+
+msgid "Pluck"
+msgstr "Picoteo"
+
+msgid "Sky Drop"
+msgstr "Caída Libre"
+
+msgid "Wing Attack"
+msgstr "Ataque Ala"
+
+msgid "Acrobatics"
+msgstr "Acróbata"
+
+msgid "Air Cutter"
+msgstr "Aire Afilado"
+
+msgid "Gust"
+msgstr "Tornado"
+
+msgid "Peck"
+msgstr "Picotazo"
+
+msgid "Defog"
+msgstr "Despejar"
+
+msgid "Feather Dance"
+msgstr "Danza Pluma"
+
+msgid "Mirror Move"
+msgstr "Mov. Espejo"
+
+msgid "Roost"
+msgstr "Respiro"
+
+msgid "Tailwind"
+msgstr "Viento Afín"
+
+msgid "Shadow Force"
+msgstr "Golpe Umbrío"
+
+msgid "Shadow Ball"
+msgstr "Bola Sombra"
+
+msgid "Shadow Claw"
+msgstr "Garra Umbría"
+
+msgid "Ominous Wind"
+msgstr "Viento Aciago"
+
+msgid "Shadow Punch"
+msgstr "Puño Sombra"
+
+msgid "Hex"
+msgstr "Infortunio"
+
+msgid "Shadow Sneak"
+msgstr "Sombra Vil"
+
+msgid "Astonish"
+msgstr "Impresionar"
+
+msgid "Lick"
+msgstr "Lengüetazo"
+
+msgid "Night Shade"
+msgstr "Tinieblas"
+
+msgid "Confuse Ray"
+msgstr "Rayo Confuso"
+
+msgid "Curse"
+msgstr "Maldición"
+
+msgid "Destiny Bond"
+msgstr "Mismo Destino"
+
+msgid "Grudge"
+msgstr "Rabia"
+
+msgid "Nightmare"
+msgstr "Pesadilla"
+
+msgid "Spite"
+msgstr "Rencor"
+
+msgid "Frenzy Plant"
+msgstr "Planta Feroz"
+
+msgid "Leaf Storm"
+msgstr "Lluevehojas"
+
+msgid "Petal Dance"
+msgstr "Danza Pétalo"
+
+msgid "Power Whip"
+msgstr "Latigazo"
+
+msgid "Seed Flare"
+msgstr "Fogonazo"
+
+msgid "Solar Beam"
+msgstr "Rayo Solar"
+
+msgid "Wood Hammer"
+msgstr "Mazazo"
+
+msgid "Leaf Blade"
+msgstr "Hoja Aguda"
+
+msgid "Energy Ball"
+msgstr "Energibola"
+
+msgid "Seed Bomb"
+msgstr "Bomba Germen"
+
+msgid "Giga Drain"
+msgstr "Gigadrenado"
+
+msgid "Horn Leech"
+msgstr "Astadrenaje"
+
+msgid "Leaf Tornado"
+msgstr "Ciclón Hojas"
+
+msgid "Magical Leaf"
+msgstr "Hoja Mágica"
+
+msgid "Needle Arm"
+msgstr "Brazo Pincho"
+
+msgid "Razor Leaf"
+msgstr "Hoja Afilada"
+
+msgid "Grass Pledge"
+msgstr "Voto Planta"
+
+msgid "Mega Drain"
+msgstr "Megaagotar"
+
+msgid "Vine Whip"
+msgstr "Látigo Cepa"
+
+msgid "Bullet Seed"
+msgstr "Recurrente"
+
+msgid "Absorb"
+msgstr "Absorber"
+
+msgid "Grass Knot"
+msgstr "Hierba Lazo"
+
+msgid "Aromatherapy"
+msgstr "Aromaterapia"
+
+msgid "Cotton Guard"
+msgstr "Rizo Algodón"
+
+msgid "Cotton Spore"
+msgstr "Esporagodón"
+
+msgid "Grass Whistle"
+msgstr "Silbato"
+
+msgid "Ingrain"
+msgstr "Arraigo"
+
+msgid "Leech Seed"
+msgstr "Drenadoras"
+
+msgid "Sleep Powder"
+msgstr "Somnífero"
+
+msgid "Spore"
+msgstr "Espora"
+
+msgid "Stun Spore"
+msgstr "Paralizador"
+
+msgid "Synthesis"
+msgstr "Síntesis"
+
+msgid "Worry Seed"
+msgstr "Abatidoras"
+
+msgid "Earthquake"
+msgstr "Terremoto"
+
+msgid "Earth Power"
+msgstr "Tierra Viva"
+
+msgid "Dig"
+msgstr "Excavar"
+
+msgid "Drill Run"
+msgstr "Taladradora"
+
+msgid "Bone Club"
+msgstr "Hueso Palo"
+
+msgid "Mud Bomb"
+msgstr "Bomba Fango"
+
+msgid "Bulldoze"
+msgstr "Terratemblor"
+
+msgid "Mud Shot"
+msgstr "Disparo Lodo"
+
+msgid "Bonemerang"
+msgstr "Huesomerang"
+
+msgid "Sand Tomb"
+msgstr "Bucle Arena"
+
+msgid "Bone Rush"
+msgstr "Ataque Óseo"
+
+msgid "Mud-Slap"
+msgstr "Bofetón Lodo"
+
+msgid "Fissure"
+msgstr "Fisura"
+
+msgid "Magnitude"
+msgstr "Magnitud"
+
+msgid "Mud Sport"
+msgstr "Chapoteo Lodo"
+
+msgid "Sand Attack"
+msgstr "Ataque Arena"
+
+msgid "Spikes"
+msgstr "Púas"
+
+msgid "Freeze Shock"
+msgstr "Rayo Gélido"
+
+msgid "Ice Burn"
+msgstr "Llama Gélida"
+
+msgid "Blizzard"
+msgstr "Ventisca"
+
+msgid "Ice Beam"
+msgstr "Rayo Hielo"
+
+msgid "Icicle Crash"
+msgstr "Chuzos"
+
+msgid "Ice Punch"
+msgstr "Puño Hielo"
+
+msgid "Aurora Beam"
+msgstr "Rayo Aurora"
+
+msgid "Glaciate"
+msgstr "Mundo Gélido"
+
+msgid "Ice Fang"
+msgstr "Colmillo Hielo"
+
+msgid "Avalanche"
+msgstr "Alud"
+
+msgid "Icy Wind"
+msgstr "Viento Hielo"
+
+msgid "Frost Breath"
+msgstr "Vaho Gélido"
+
+msgid "Ice Shard"
+msgstr "Canto Helado"
+
+msgid "Powder Snow"
+msgstr "Nieve Polvo"
+
+msgid "Ice Ball"
+msgstr "Bola Hielo"
+
+msgid "Icicle Spear"
+msgstr "Carámbano"
+
+msgid "Sheer Cold"
+msgstr "Frío Polar"
+
+msgid "Hail"
+msgstr "Granizo"
+
+msgid "Haze"
+msgstr "Niebla"
+
+msgid "Mist"
+msgstr "Neblina"
+
+msgid "Explosion"
+msgstr "Explosión"
+
+msgid "Self-Destruct"
+msgstr "Autodestrucción"
+
+msgid "Giga Impact"
+msgstr "Giga Impacto"
+
+msgid "Hyper Beam"
+msgstr "Hiperrayo"
+
+msgid "Last Resort"
+msgstr "Última Baza"
+
+msgid "Double-Edge"
+msgstr "Doble Filo"
+
+msgid "Head Charge"
+msgstr "Ariete"
+
+msgid "Mega Kick"
+msgstr "Megapatada"
+
+msgid "Thrash"
+msgstr "Golpe"
+
+msgid "Egg Bomb"
+msgstr "Bomba Huevo"
+
+msgid "Judgment"
+msgstr "Sentencia"
+
+msgid "Skull Bash"
+msgstr "Cabezazo"
+
+msgid "Hyper Voice"
+msgstr "Vozarrón"
+
+msgid "Rock Climb"
+msgstr "Treparrocas"
+
+msgid "Take Down"
+msgstr "Derribo"
+
+msgid "Uproar"
+msgstr "Alboroto"
+
+msgid "Body Slam"
+msgstr "Golpe Cuerpo"
+
+msgid "Techno Blast"
+msgstr "Tecno Shock"
+
+msgid "Extreme Speed"
+msgstr "Veloc. Extrema"
+
+msgid "Hyper Fang"
+msgstr "Hipercolmillo"
+
+msgid "Mega Punch"
+msgstr "Megapuño"
+
+msgid "Razor Wind"
+msgstr "V. Cortante"
+
+msgid "Slam"
+msgstr "Atizar"
+
+msgid "Strength"
+msgstr "Fuerza"
+
+msgid "Tri Attack"
+msgstr "Triataque"
+
+msgid "Crush Claw"
+msgstr "Garra Brutal"
+
+msgid "Relic Song"
+msgstr "Canto Arcaico"
+
+msgid "Chip Away"
+msgstr "Guardia Baja"
+
+msgid "Dizzy Punch"
+msgstr "Puño Mareo"
+
+msgid "Facade"
+msgstr "Imagen"
+
+msgid "Headbutt"
+msgstr "Golpe Cabeza"
+
+msgid "Retaliate"
+msgstr "Represalia"
+
+msgid "Secret Power"
+msgstr "Daño Secreto"
+
+msgid "Slash"
+msgstr "Cuchillada"
+
+msgid "Horn Attack"
+msgstr "Cornada"
+
+msgid "Stomp"
+msgstr "Pisotón"
+
+msgid "Covet"
+msgstr "Antojo"
+
+msgid "Round"
+msgstr "Canon"
+
+msgid "Smelling Salts"
+msgstr "Estímulo"
+
+msgid "Swift"
+msgstr "Rapidez"
+
+msgid "Vice Grip"
+msgstr "Agarre"
+
+msgid "Cut"
+msgstr "Corte"
+
+msgid "Struggle"
+msgstr "Combate"
+
+msgid "Tackle"
+msgstr "Placaje"
+
+msgid "Weather Ball"
+msgstr "Meteorobola"
+
+msgid "Echoed Voice"
+msgstr "Eco Voz"
+
+msgid "Fake Out"
+msgstr "Sorpresa"
+
+msgid "False Swipe"
+msgstr "Falsotortazo"
+
+msgid "Golden Fist"
+msgstr "Puño de Oro"
+
+msgid "Pound"
+msgstr "Destructor"
+
+msgid "Quick Attack"
+msgstr "Ataque Rápido"
+
+msgid "Scratch"
+msgstr "Arañazo"
+
+msgid "Snore"
+msgstr "Ronquido"
+
+msgid "Double Hit"
+msgstr "Doble Golpe"
+
+msgid "Feint"
+msgstr "Amago"
+
+msgid "Tail Slap"
+msgstr "Plumerazo"
+
+msgid "Rage"
+msgstr "Furia"
+
+msgid "Rapid Spin"
+msgstr "Giro Rápido"
+
+msgid "Spike Cannon"
+msgstr "Clavo Cañón"
+
+msgid "Comet Punch"
+msgstr "Puño Cometa"
+
+msgid "Fury Swipes"
+msgstr "Golpes Furia"
+
+msgid "Barrage"
+msgstr "Presa"
+
+msgid "Bind"
+msgstr "Atadura"
+
+msgid "Double Slap"
+msgstr "Doblebofetón"
+
+msgid "Fury Attack"
+msgstr "Ataque Furia"
+
+msgid "Wrap"
+msgstr "Repetición"
+
+msgid "Constrict"
+msgstr "Restricción"
+
+msgid "Bide"
+msgstr "Venganza"
+
+msgid "Crush Grip"
+msgstr "Agarrón"
+
+msgid "Endeavor"
+msgstr "Esfuerzo"
+
+msgid "Flail"
+msgstr "Azote"
+
+msgid "Frustration"
+msgstr "Frustración"
+
+msgid "Guillotine"
+msgstr "Guillotina"
+
+msgid "Hidden Power"
+msgstr "Poder Oculto"
+
+msgid "Horn Drill"
+msgstr "Perforador"
+
+msgid "Natural Gift"
+msgstr "Don Natural"
+
+msgid "Present"
+msgstr "Presente"
+
+msgid "Return"
+msgstr "Retribución"
+
+msgid "Sonic Boom"
+msgstr "Bomba Sónica"
+
+msgid "Spit Up"
+msgstr "Escupir"
+
+msgid "Super Fang"
+msgstr "Superdiente"
+
+msgid "Trump Card"
+msgstr "As Oculto"
+
+msgid "Wring Out"
+msgstr "Estrujón"
+
+msgid "Acupressure"
+msgstr "Acupresión"
+
+msgid "After You"
+msgstr "Cede Paso"
+
+msgid "Assist"
+msgstr "Ayuda"
+
+msgid "Attract"
+msgstr "Atracción"
+
+msgid "Baton Pass"
+msgstr "Relevo"
+
+msgid "Belly Drum"
+msgstr "Tambor"
+
+msgid "Bestow"
+msgstr "Ofrenda"
+
+msgid "Block"
+msgstr "Bloqueo"
+
+msgid "Camouflage"
+msgstr "Camuflaje"
+
+msgid "Captivate"
+msgstr "Seducción"
+
+msgid "Charm"
+msgstr "Encanto"
+
+msgid "Conversion"
+msgstr "Conversión"
+
+msgid "Conversion 2"
+msgstr "Conversión2"
+
+msgid "Copycat"
+msgstr "Copión"
+
+msgid "Defense Curl"
+msgstr "Rizo Defensa"
+
+msgid "Disable"
+msgstr "Anulación"
+
+msgid "Double Team"
+msgstr "Doble Equipo"
+
+msgid "Encore"
+msgstr "Otra Vez"
+
+msgid "Endure"
+msgstr "Aguante"
+
+msgid "Entrainment"
+msgstr "Danza Amiga"
+
+msgid "Flash"
+msgstr "Destello"
+
+msgid "Focus Energy"
+msgstr "Foco Energía"
+
+msgid "Follow Me"
+msgstr "Señuelo"
+
+msgid "Foresight"
+msgstr "Profecía"
+
+msgid "Glare"
+msgstr "Deslumbrar"
+
+msgid "Growl"
+msgstr "Gruñido"
+
+msgid "Growth"
+msgstr "Desarrollo"
+
+msgid "Harden"
+msgstr "Fortaleza"
+
+msgid "Heal Bell"
+msgstr "Campana Cura"
+
+msgid "Helping Hand"
+msgstr "Refuerzo"
+
+msgid "Howl"
+msgstr "Aullido"
+
+msgid "Leer"
+msgstr "Malicioso"
+
+msgid "Lock-On"
+msgstr "Fijar Blanco"
+
+msgid "Lovely Kiss"
+msgstr "Beso Amoroso"
+
+msgid "Lucky Chant"
+msgstr "Conjuro"
+
+msgid "Me First"
+msgstr "Yo Primero"
+
+msgid "Mean Look"
+msgstr "Mal de Ojo"
+
+msgid "Metronome"
+msgstr "Metrónomo"
+
+msgid "Milk Drink"
+msgstr "Batido"
+
+msgid "Mimic"
+msgstr "Mimético"
+
+msgid "Mind Reader"
+msgstr "Telépata"
+
+msgid "Minimize"
+msgstr "Reducción"
+
+msgid "Moonlight"
+msgstr "Luz Lunar"
+
+msgid "Morning Sun"
+msgstr "Sol Matinal"
+
+msgid "Nature Power"
+msgstr "Adaptación"
+
+msgid "Odor Sleuth"
+msgstr "Rastreo"
+
+msgid "Pain Split"
+msgstr "Divide Dolor"
+
+msgid "Perish Song"
+msgstr "Canto Mortal"
+
+msgid "Protect"
+msgstr "Protección"
+
+msgid "Psych Up"
+msgstr "Más Psique"
+
+msgid "Recover"
+msgstr "Recuperación"
+
+msgid "Recycle"
+msgstr "Reciclaje"
+
+msgid "Reflect Type"
+msgstr "Clonatipo"
+
+msgid "Refresh"
+msgstr "Alivio"
+
+msgid "Roar"
+msgstr "Rugido"
+
+msgid "Safeguard"
+msgstr "Velo Sagrado"
+
+msgid "Scary Face"
+msgstr "Cara Susto"
+
+msgid "Screech"
+msgstr "Chirrido"
+
+msgid "Sharpen"
+msgstr "Afilar"
+
+msgid "Shell Smash"
+msgstr "Rompecoraza"
+
+msgid "Simple Beam"
+msgstr "Onda Simple"
+
+msgid "Sing"
+msgstr "Canto"
+
+msgid "Sketch"
+msgstr "Esquema"
+
+msgid "Slack Off"
+msgstr "Relajo"
+
+msgid "Sleep Talk"
+msgstr "Sonámbulo"
+
+msgid "Smoke Screen"
+msgstr "Pantalla de Humo"
+
+msgid "Soft-Boiled"
+msgstr "Amortiguador"
+
+msgid "Splash"
+msgstr "Salpicadura"
+
+msgid "Stockpile"
+msgstr "Reserva"
+
+msgid "Substitute"
+msgstr "Sustituto"
+
+msgid "Supersonic"
+msgstr "Supersónico"
+
+msgid "Swagger"
+msgstr "Contoneo"
+
+msgid "Swallow"
+msgstr "Tragar"
+
+msgid "Sweet Kiss"
+msgstr "Beso Dulce"
+
+msgid "Sweet Scent"
+msgstr "Dulce Aroma"
+
+msgid "Swords Dance"
+msgstr "Danza Espada"
+
+msgid "Tail Whip"
+msgstr "Látigo"
+
+msgid "Teeter Dance"
+msgstr "Danza Caos"
+
+msgid "Tickle"
+msgstr "Cosquillas"
+
+msgid "Transform"
+msgstr "Transformación"
+
+msgid "Whirlwind"
+msgstr "Remolino"
+
+msgid "Wish"
+msgstr "Deseo"
+
+msgid "Work Up"
+msgstr "Avivar"
+
+msgid "Yawn"
+msgstr "Bostezo"
+
+msgid "Gunk Shot"
+msgstr "Lanza Mugre"
+
+msgid "Sludge Wave"
+msgstr "Onda Tóxica"
+
+msgid "Sludge Bomb"
+msgstr "Bomba Lodo"
+
+msgid "Poison Jab"
+msgstr "Puya Nociva"
+
+msgid "Cross Poison"
+msgstr "Veneno X"
+
+msgid "Sludge"
+msgstr "Residuos"
+
+msgid "Venoshock"
+msgstr "Carga Tóxica"
+
+msgid "Clear Smog"
+msgstr "Nieblaclara"
+
+msgid "Poison Fang"
+msgstr "Colmillo Ven"
+
+msgid "Poison Tail"
+msgstr "Cola Veneno"
+
+msgid "Acid"
+msgstr "Ácido"
+
+msgid "Acid Spray"
+msgstr "Bomba Ácida"
+
+msgid "Smog"
+msgstr "Polución"
+
+msgid "Poison Sting"
+msgstr "Picotazo Ven"
+
+msgid "Acid Armor"
+msgstr "Armadura Ácida"
+
+msgid "Coil"
+msgstr "Enrosque"
+
+msgid "Gastro Acid"
+msgstr "Bilis"
+
+msgid "Poison Gas"
+msgstr "Gas Venenoso"
+
+msgid "Poison Powder"
+msgstr "Polvo Veneno"
+
+msgid "Toxic"
+msgstr "Tóxico"
+
+msgid "Toxic Spikes"
+msgstr "Púas Tóxicas"
+
+msgid "Psycho Boost"
+msgstr "Psicoataque"
+
+msgid "Dream Eater"
+msgstr "Come Sueños"
+
+msgid "Future Sight"
+msgstr "Premonición"
+
+msgid "Psystrike"
+msgstr "Onda Mental"
+
+msgid "Psychic"
+msgstr "Psíquico"
+
+msgid "Extrasensory"
+msgstr "Paranormal"
+
+msgid "Psyshock"
+msgstr "Psicocarga"
+
+msgid "Zen Headbutt"
+msgstr "Cabezazo Zen"
+
+msgid "Luster Purge"
+msgstr "Resplandor"
+
+msgid "Mist Ball"
+msgstr "Bola Neblina"
+
+msgid "Psycho Cut"
+msgstr "Psicocorte"
+
+msgid "Synchronoise"
+msgstr "Sincrorruido"
+
+msgid "Psybeam"
+msgstr "Psicorrayo"
+
+msgid "Heart Stamp"
+msgstr "Arrumaco"
+
+msgid "Confusion"
+msgstr "Confusión"
+
+msgid "Mirror Coat"
+msgstr "Manto Espejo"
+
+msgid "Psywave"
+msgstr "Psicoonda"
+
+msgid "Stored Power"
+msgstr "Poder Reserva"
+
+msgid "Agility"
+msgstr "Agilidad"
+
+msgid "Ally Switch"
+msgstr "Cambio Banda"
+
+msgid "Barrier"
+msgstr "Barrera"
+
+msgid "Calm Mind"
+msgstr "Paz Mental"
+
+msgid "Cosmic Power"
+msgstr "Masa Cósmica"
+
+msgid "Gravity"
+msgstr "Gravedad"
+
+msgid "Guard Split"
+msgstr "Isoguardia"
+
+msgid "Guard Swap"
+msgstr "Cambia Defensa"
+
+msgid "Heal Block"
+msgstr "Anticura"
+
+msgid "Heal Pulse"
+msgstr "Pulso Cura"
+
+msgid "Healing Wish"
+msgstr "Deseo Cura"
+
+msgid "Heart Swap"
+msgstr "Cambia Almas"
+
+msgid "Hypnosis"
+msgstr "Hipnosis"
+
+msgid "Imprison"
+msgstr "Cerca"
+
+msgid "Kinesis"
+msgstr "Kinético"
+
+msgid "Light Screen"
+msgstr "Pantalla Luz"
+
+msgid "Lunar Dance"
+msgstr "Danza Lunar"
+
+msgid "Magic Coat"
+msgstr "Capa Mágica"
+
+msgid "Magic Room"
+msgstr "Zona Mágica"
+
+msgid "Meditate"
+msgstr "Meditación"
+
+msgid "Miracle Eye"
+msgstr "Gran Ojo"
+
+msgid "Power Split"
+msgstr "Isofuerza"
+
+msgid "Power Swap"
+msgstr "Cambia Fuerza"
+
+msgid "Power Trick"
+msgstr "Truco Fuerza"
+
+msgid "Psycho Shift"
+msgstr "Psico-cambio"
+
+msgid "Reflect"
+msgstr "Reflejo"
+
+msgid "Rest"
+msgstr "Descanso"
+
+msgid "Role Play"
+msgstr "Imitación"
+
+msgid "Skill Swap"
+msgstr "Intercambio"
+
+msgid "Telekinesis"
+msgstr "Telequinesis"
+
+msgid "Teleport"
+msgstr "Teletransporte"
+
+msgid "Trick"
+msgstr "Truco"
+
+msgid "Trick Room"
+msgstr "Espacio Raro"
+
+msgid "Wonder Room"
+msgstr "Zona Extraña"
+
+msgid "Head Smash"
+msgstr "Testarazo"
+
+msgid "Rock Wrecker"
+msgstr "Romperrocas"
+
+msgid "Stone Edge"
+msgstr "Roca Afilada"
+
+msgid "Rock Slide"
+msgstr "Avalancha"
+
+msgid "Power Gem"
+msgstr "Joya de Luz"
+
+msgid "Ancient Power"
+msgstr "Poder Pasado"
+
+msgid "Rock Throw"
+msgstr "Lanzarrocas"
+
+msgid "Rock Tomb"
+msgstr "Tumba Rocas"
+
+msgid "Smack Down"
+msgstr "Antiaéreo"
+
+msgid "Rollout"
+msgstr "Desenrollar"
+
+msgid "Rock Blast"
+msgstr "Pedrada"
+
+msgid "Rock Polish"
+msgstr "Pulimento"
+
+msgid "Sandstorm"
+msgstr "Tormenta Arena"
+
+msgid "Stealth Rock"
+msgstr "Trampa Rocas"
+
+msgid "Wide Guard"
+msgstr "Vastaguardia"
+
+msgid "Doom Desire"
+msgstr "Deseo Oculto"
+
+msgid "Iron Tail"
+msgstr "Cola Férrea"
+
+msgid "Meteor Mash"
+msgstr "Puño Meteoro"
+
+msgid "Flash Cannon"
+msgstr "Foco Resplandor"
+
+msgid "Iron Head"
+msgstr "Cabeza Hierro"
+
+msgid "Steel Wing"
+msgstr "Ala de Acero"
+
+msgid "Mirror Shot"
+msgstr "Disparo Espejo"
+
+msgid "Magnet Bomb"
+msgstr "Bomba Imán"
+
+msgid "Gear Grind"
+msgstr "Rueda Doble"
+
+msgid "Metal Claw"
+msgstr "Garra Metal"
+
+msgid "Bullet Punch"
+msgstr "Puño Bala"
+
+msgid "Gyro Ball"
+msgstr "Giro Bola"
+
+msgid "Heavy Slam"
+msgstr "Cuerpo Pesado"
+
+msgid "Metal Burst"
+msgstr "Represión Metal"
+
+msgid "Autotomize"
+msgstr "Aligerar"
+
+msgid "Iron Defense"
+msgstr "Defensa Férrea"
+
+msgid "Metal Sound"
+msgstr "Eco Metálico"
+
+msgid "Shift Gear"
+msgstr "Cambio Marcha"
+
+msgid "Hydro Cannon"
+msgstr "Hidrocañón"
+
+msgid "Water Spout"
+msgstr "Salpicar"
+
+msgid "Hydro Pump"
+msgstr "Hidrobomba"
+
+msgid "Muddy Water"
+msgstr "Agua Lodosa"
+
+msgid "Aqua Tail"
+msgstr "Acua Cola"
+
+msgid "Crabhammer"
+msgstr "Martillazo"
+
+msgid "Dive"
+msgstr "Buceo"
+
+msgid "Scald"
+msgstr "Escaldar"
+
+msgid "Waterfall"
+msgstr "Cascada"
+
+msgid "Razor Shell"
+msgstr "Concha Filo"
+
+msgid "Brine"
+msgstr "Salmuera"
+
+msgid "Bubble Beam"
+msgstr "Rayo Burbuja"
+
+msgid "Octazooka"
+msgstr "Pulpocañón"
+
+msgid "Water Pulse"
+msgstr "Hidropulso"
+
+msgid "Water Pledge"
+msgstr "Voto Agua"
+
+msgid "Water Gun"
+msgstr "Pistola Agua"
+
+msgid "Clamp"
+msgstr "Tenaza"
+
+msgid "Whirlpool"
+msgstr "Torbellino"
+
+msgid "Bubble"
+msgstr "Burbuja"
+
+msgid "Aqua Ring"
+msgstr "Acua Aro"
+
+msgid "Rain Dance"
+msgstr "Danza Lluvia"
+
+msgid "Soak"
+msgstr "Anegar"
+
+msgid "Water Sport"
+msgstr "Hidrochorro"
+
+msgid "Withdraw"
+msgstr "Refugio"
+
+msgid "Coral Break"
+msgstr "Rompecoral"
+
+msgid "Atomic Punch"
+msgstr "Puño Atómico"
+
+msgid "Metal Whip"
+msgstr "Ferrolátigo"
+
+msgid "Shuffle"
+msgstr "Barajada"
+
+msgid "Nuclear Waste"
+msgstr "Desecho Tóxico"
+
+msgid "Gamma Ray"
+msgstr "Rayo Gamma"
+
+msgid "Radioacid"
+msgstr "Radiácido"
+
+msgid "Sky Fall"
+msgstr "Aeropresión"
+
+msgid "Flame Impact"
+msgstr "Combustión"
+
+msgid "Draining Kiss"
+msgstr "Beso Drenaje"
+
+msgid "Eerie Impulse"
+msgstr "Onda Anómala"
+
+msgid "Electric Terrain"
+msgstr "Campo Eléctrico"
+
+msgid "Electrify"
+msgstr "Electrificación"
+
+msgid "Fairy Lock"
+msgstr "Cerrojo Feérico"
+
+msgid "Fairy Wind"
+msgstr "Viento Feérico"
+
+msgid "Fell Stinger"
+msgstr "Aguijón Letal"
+
+msgid "Flower Shield"
+msgstr "Defensa Floral"
+
+msgid "Flying Press"
+msgstr "Plancha Voladora"
+
+msgid "Forest's Curse"
+msgstr "Condena Silvana"
+
+msgid "Freeze-Dry"
+msgstr "Liofilización"
+
+msgid "Geomancy"
+msgstr "Geocontrol"
+
+msgid "Grassy Terrain"
+msgstr "Campo de Hierba"
+
+msgid "Infestation"
+msgstr "Acoso"
+
+msgid "Ion Deluge"
+msgstr "Cortina Plasma"
+
+msgid "King's Shield"
+msgstr "Escudo Real"
+
+msgid "Land's Wrath"
+msgstr "Fuerza Telúrica"
+
+msgid "Magnetic Flux"
+msgstr "Aura Magnética"
+
+msgid "Mat Block"
+msgstr "Escudo Tatami"
+
+msgid "Misty Terrain"
+msgstr "Campo de Niebla"
+
+msgid "Moonblast"
+msgstr "Fuerza Lunar"
+
+msgid "Mystical Fire"
+msgstr "Llama Embrujada"
+
+msgid "Noble Roar"
+msgstr "Rugido de Guerra"
+
+msgid "Nuzzle"
+msgstr "Moflete Estático"
+
+msgid "Oblivion Wing"
+msgstr "Ala Mortífera"
+
+msgid "Parabolic Charge"
+msgstr "Carga Parábola"
+
+msgid "Parting Shot"
+msgstr "Última Palabra"
+
+msgid "Petal Blizzard"
+msgstr "Tormenta Floral"
+
+msgid "Phantom Force"
+msgstr "Golpe Fantasma"
+
+msgid "Play Nice"
+msgstr "Camaradería"
+
+msgid "Play Rough"
+msgstr "Carantoña"
+
+msgid "Powder"
+msgstr "Polvo Explosivo"
+
+msgid "Power-Up Punch"
+msgstr "Puño Incremento"
+
+msgid "Rototiller"
+msgstr "Fertilizante"
+
+msgid "Spiky Shield"
+msgstr "Barrera Espinosa"
+
+msgid "Sticky Web"
+msgstr "Red Viscosa"
+
+msgid "Topsy-Turvy"
+msgstr "Reversión"
+
+msgid "Trick-or-Treat"
+msgstr "Halloween"
+
+msgid "Venom Drench"
+msgstr "Trampa Venenosa"
+
+msgid "Water Shuriken"
+msgstr "Shuriken de Agua"
+
+msgid "Aromatic Mist"
+msgstr "Niebla Aromática"
+
+msgid "Baby-Doll Eyes"
+msgstr "Ojitos Tiernos"
+
+msgid "Belch"
+msgstr "Eructo"
+
+msgid "Boomburst"
+msgstr "Estruendo"
+
+msgid "Confide"
+msgstr "Confidencia"
+
+msgid "Crafty Shield"
+msgstr "Truco Defensa"
+
+msgid "Dazzling Gleam"
+msgstr "Brillo Mágico"
+
+msgid "Disarming Voice"
+msgstr "Voz Cautivadora"
+
+msgid "Subduction"
+msgstr "Subducción"
+
+msgid "Instant Crush"
+msgstr "Psicovoltio"
+
+msgid "Get Lucky"
+msgstr "Arranque"
+
+msgid "Laser Pulse"
+msgstr "Pulso Láser"
+
+msgid "Gemstone Glimmer"
+msgstr "Centelleo"
+
+msgid "Half-life"
+msgstr "Vida Media"
+
+msgid "Ocean's Wrath"
+msgstr "Fuerza Oceánica"
+
+msgid "Fission Burst"
+msgstr "Fisión Nuclear"
+
+msgid "Caustic Breath"
+msgstr "Aliento Letal"
+
+msgid "Nuclear Slash"
+msgstr "Corte Atómico"
+
+msgid "Thunderstorm"
+msgstr "Tormenta"
+
+msgid "Sudden Strike"
+msgstr "Emboscada"
+
+msgid "Expunge"
+msgstr "Pulcritud"
+
+msgid "Fallout"
+msgstr "Catástrofe"
+
+msgid "Proton Beam"
+msgstr "Cañón de Protones"
+
+msgid "Infernal Blade"
+msgstr "Sable Infernal"
+
+msgid "Quantum Leap"
+msgstr "Salto Cuántico"
+
+msgid "Metal Cruncher"
+msgstr "Trituradora"
+
+msgid "Drain Life"
+msgstr "Drenavida"
+
+msgid "Sticky Terrain"
+msgstr "Campo Pegajoso"
+
+msgid "Nuclear Wind"
+msgstr "Viento Nuclear"
diff --git a/Dialogue/Generated/es/OfficialNames.po b/Dialogue/Generated/es/OfficialNames.po
new file mode 100644
index 000000000..3fc286eeb
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialNames.po
@@ -0,0 +1,173 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "Alice"
+msgstr "Alicia"
+
+msgid "Alphonse"
+msgstr "Alfonso"
+
+msgid "Amalya"
+msgstr "Amalia"
+
+msgid "Amber"
+msgstr "Ámbar"
+
+msgid "Angelica"
+msgstr "Angélica"
+
+msgid "Benjamin"
+msgstr "Benjamín"
+
+msgid "Caesar"
+msgstr "César"
+
+msgid "Caroline"
+msgstr "Carolina"
+
+msgid "Cathy"
+msgstr "Caty"
+
+msgid "Cedric"
+msgstr "Rubén"
+
+msgid "Charles"
+msgstr "Carlos"
+
+msgid "Curie"
+msgstr "CURIE"
+
+msgid "Ethan & Alice"
+msgstr "Ethan & Alicia"
+
+msgid "Eustace"
+msgstr "Eustaquio"
+
+msgid "Everst"
+msgstr "Everest"
+
+msgid "Flood"
+msgstr "Fausto"
+
+msgid "Flower"
+msgstr "Florencia"
+
+msgid "George"
+msgstr "Jorge"
+
+msgid "Gertha"
+msgstr "Gertrudis"
+
+msgid "Gregorison"
+msgstr "Gregorio"
+
+msgid "Homer"
+msgstr "Homero"
+
+msgid "Horace"
+msgstr "Horacio"
+
+msgid "Horde"
+msgstr "Nuclear"
+
+msgid "Immanuel"
+msgstr "Emanuel"
+
+msgid "James"
+msgstr "Jaime"
+
+msgid "Johnny"
+msgstr "Julián"
+
+msgid "Jonathan"
+msgstr "Joaquín"
+
+msgid "Julianna"
+msgstr "Juliana"
+
+msgid "Julius"
+msgstr "Julio"
+
+msgid "Larrie"
+msgstr "Larry"
+
+msgid "Luke"
+msgstr "Lucas"
+
+msgid "Lynette"
+msgstr "Lina"
+
+msgid "Marc"
+msgstr "Adrián"
+
+msgid "Marcus"
+msgstr "Marcos"
+
+msgid "Maria"
+msgstr "María"
+
+msgid "Marino"
+msgstr "Mariano"
+
+msgid "Martin"
+msgstr "Martín"
+
+msgid "Matt"
+msgstr "Matías"
+
+msgid "Mercury"
+msgstr "Mercurio"
+
+msgid "Merlin"
+msgstr "Merlín"
+
+msgid "Michael"
+msgstr "Miguel"
+
+msgid "Monica"
+msgstr "Mónica"
+
+msgid "Myla"
+msgstr "Marcia"
+
+msgid "OF DREAMS"
+msgstr "de los Sueños"
+
+msgid "Phoenix"
+msgstr "Fénix"
+
+msgid "Rich"
+msgstr "Rico"
+
+msgid "Richey"
+msgstr "Ricky"
+
+msgid "Sasha"
+msgstr "Alex"
+
+msgid "Sophy"
+msgstr "Sofía"
+
+msgid "Sr. Goldkorn"
+msgstr "Sir Goldkorn"
+
+msgid "Tath"
+msgstr "Tita"
+
+msgid "Theo"
+msgstr "Teo"
+
+msgid "Timothy"
+msgstr "Timoteo"
+
+msgid "Tracey"
+msgstr "Tadeo"
+
+msgid "Vanessa"
+msgstr "Vanesa"
+
+msgid "Wilma"
+msgstr "Laura"
+
diff --git a/Dialogue/Generated/es/OfficialPhone.po b/Dialogue/Generated/es/OfficialPhone.po
new file mode 100644
index 000000000..74d2f0ed4
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialPhone.po
@@ -0,0 +1,128 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "Buenas noches, \\PN!\\mThis is \\TN!"
+msgstr "¡Bonne nuit, \\PN! Hola.\\mSoy \\TN."
+
+msgid "Did you hear about Nuclear Pokemon?\\mI hope I don't run into one of those, they sound scary.\\mBe careful out there, ok?"
+msgstr "¿Oíste lo de los Pokémon Nucleares?\\mEspero no toparme con ninguno, se oyen peligrosos.\\mTen cuidado ahí fuera, ¿vale, \\PN?"
+
+msgid "Do you remember my \\TP?\\m My \\TP is awesome. It's so cool.\\m I'd even say my \\TP is in the top percentage of \\TPs."
+msgstr "¿Recuerdas a mi \\TP?\\m Mi \\TP es genial.\\m Mi \\TP debe ser uno de los mejores \\TP que hay."
+
+msgid "Do you want to battle? I'm going to win this time!\\mI'll be waiting for you around \\TM.\\mLook for me, OK? My \\TP will be expecting you."
+msgstr "¿Quieres tener un combate? ¡Ganaré esta vez!\\mTe estaré esperando en \\TM.\\mBúscame, ¿quieres? Mi \\TP te estará esperando también."
+
+msgid "Good day, \\PN! Hi. This is \\TN."
+msgstr "¡Buenos días, \\PN! Soy \\TN."
+
+msgid "Good morning!\\m This is \\PN, right? It's me, \\TN."
+msgstr "¡Buen día! \\PN, ¿cierto? Hola. Soy \\TN."
+
+msgid "Good morning, \\PN.\\mThis is \\TN. Did I wake you?"
+msgstr "Buen día, \\PN.\\mSoy \\TN. ¿Te desperté?"
+
+msgid "Good morning, \\PN.\\mThis is \\TN. Rise and shine!"
+msgstr "Buenos días, \\PN.\\mHabla \\TN. ¡Qué bella mañana!"
+
+msgid "Guess what happened the other day. I missed catching \\TE again.\\mMaybe I'm not very good at this."
+msgstr "Adivina qué pasó el otro día. Volví a fallar en intentar atrapar un \\TE.\\mTal vez no sea muy bueno en esto."
+
+msgid "Have you ever hatched a Pokemon Egg?\\mI raised my \\TP from an egg."
+msgstr "¿Alguna vez has criado un Pokémon nacido de un huevo?\\mMi \\TP salió de uno."
+
+msgid "Have you seen the \\TEs around \\TM?\\mThey scare me so much! I always run away!"
+msgstr "¿Has visto los \\TEs en \\TM?\\m¡Me asustan tanto! Siempre salgo corriendo."
+
+msgid "Have you tried trading with your friends?\\mI got my \\TP in a trade, and it grows so fast!\\mTrades can be an awesome way to get strong Pokemon."
+msgstr "¿Has intentado intercambiar con tus amigos?\\mYo obtuve a mi \\TP en un intercambio, ¡y ha crecido tan rápido!\\mLos intercambios son una buena forma de obtener Pokémon poderosos rápidamente."
+
+msgid "Hello, \\PN. This is \\TN. How are things?"
+msgstr "Hola, \\PN. Soy \\TN. ¿Cómo va todo?"
+
+msgid "Hello. This is \\TN."
+msgstr "Saludos. Habla \\TN."
+
+msgid "Hey, \\PN! Good evening!\\mThis is \\TN."
+msgstr "¡Hola, \\PN! Buenas noches.\\mHabla \\TN."
+
+msgid "Hey, \\PN, wassup? It's \\TN."
+msgstr "Buenas, \\PN, ¿qué onda? \\TN al teléfono."
+
+msgid "Hey, are you ready for another throw-down?\\mYou, me, battle. Place, \\TM.\\mTime, whenever you want! Let's do it!"
+msgstr "Escucha.\\mTú, yo, combatir. Lugar, \\TM.\\mHora, cuando quieras. ¡Hagámoslo!"
+
+msgid "Hey, listen! I almost caught \\TE the other day.\\mOh, it was sooooooo close, too!"
+msgstr "¡Ey, escucha! Casi atrapo a un \\TE el otro día.\\m¡Oh, estuve tan cerca, en serio!"
+
+msgid "How are you doing? \\PN, howdy! This is \\TN. Isn't it nice out?"
+msgstr "¡\\PN, qué tal! ¿Cómo va todo? Soy \\TN. ¿No te parece que está agradable afuera?"
+
+msgid "How are your Pokemon doing?\\mI always keep my \\TP in top shape by going to Pokemon Centers."
+msgstr "¿Cómo van tus Pokémon?\\mYo siempre mantengo a mi \\TP a su máximo yendo seguido a un Centro Pokémon."
+
+msgid "How are your Pokemon doing?\\mMy \\TP's really energetic. It's a handful!"
+msgstr "¿Cómo van tus Pokémon?\\mMi \\TP está lleno de energía. ¡Siempre crea un alboroto!"
+
+msgid "How are your Pokemon doing?\\mMy \\TP's really energetic. It's a handful!\\mOh yeah, I managed to beat a tough \\TE.\\mI need to make my party stronger."
+msgstr "¿Cómo van tus Pokémon?\\mMi \\TP está lleno de energía. ¡Siempre crea un alboroto!\\mAh, sí, me las arreglé para vencer a un duro \\TE.\\mPero necesito fortalecer a mi equipo."
+
+msgid "I dressed my \\TP and it looks even cuter than before."
+msgstr "Hoy disfrazé a mi \\TP y se veía totalmente adorable."
+
+msgid "I painted a portrait of my beloved \\TP.\\mIt didn't like sitting still though."
+msgstr "Hice un retrato de mi querido \\TP.\\mMe costó mucho mantenerlo quieto..."
+
+msgid "I spent all day hunting for a shiny \\TE.\\mI didn't manage to find any, though."
+msgstr "He pasado todo el día tratando de encontrar un \\TE variocolor.\\mNo he logrado ver a ninguno..."
+
+msgid "I tried to use the Wonder Trade today.\\mAll I got was a Lv.3 Chyinmunk though.\\mWhy do people put up such lame Pokemon for trade?"
+msgstr "Hoy traté de usar el Intercambio Prodigioso.\\mSolo recibí un Birbie nivel 3...\\m¿Por qué siempre ponen Pokémon basura en el Intercambio Prodigioso?"
+
+msgid "Let's have a battle! I want to see how much you've grown!\\mI'm still hanging around \\TM.\\mCome see if you can beat my \\TP!"
+msgstr "¡Tengamos un combate! ¡Quiero ver cuanto has mejorado!\\mYo todavía sigo creciendo \\TM.\\m¡Ven a ver si puedes vencer a mi \\TP!"
+
+msgid "My \\TP and I love playing games.\\m Its favorite game is fetch."
+msgstr "Me encanta jugar con mi \\TP.\\mSu juego favorito son las escondidas."
+
+msgid "My \\TP is fantastic.\\mI'd say it's even in the top percentage of \\TPs."
+msgstr "Creo que, en un concurso de \\TP, mi \\TP saldría ganador.\\mO al menos tercer lugar..."
+
+msgid "My \\TP's looking really awesome. I wish I could show you."
+msgstr "Mi \\TP tiene muy buena pinta. Me gustaría poder mostrártelo."
+
+msgid "My \\TP's looking really awesome.\\mI wish I could show you.\\mHey, listen! I almost caught a \\TE the other day.\\mOh, it was sooooooo close, too!"
+msgstr "Mi \\TP tiene muy buena pinta. Me gustaría poder mostrártelo.\\m¡Ey, escucha! Casi atrapo a un \\TE el otro día.\\m¡Oh, estuve tan cerca, en serio!"
+
+msgid "Oh yeah, I managed to beat a tough \\TE.\\mI need to make my party stronger."
+msgstr "Ah, sí, me las arreglé para vencer a un \\TE muy fuerte.\\mPero necesito fortalecer a mi equipo."
+
+msgid "Ready for a rematch? \\TP and I have been training hard!\\mI'll be waiting for you around \\TM where we met.\\mCome find me and let's battle!"
+msgstr "¿Todo listo para la revancha? \\TP y yo hemos estado entrenando.\\mTe estaré esperando en \\TM. ¡Ven a por un combate!"
+
+msgid "Remember the last time we battled? Let's rematch!\\mI promise it won't be a repeat of last time.\\mCome find me around \\TM!"
+msgstr "¿Recuerdas nuestro último combate? ¡Quiero la revancha!\\mPrometo que no será como la última vez.\\mTe espero en \\TM."
+
+msgid "Top of the morning, \\PN!\\m\\TN here, at your service."
+msgstr "¡Hola, \\PN! A primera hora de la mañana, ¿no?\\mAquí \\TN, a tu servicio."
+
+msgid "Want to battle? It's not going to be a repeat of the last time we met.\\mI'll be waiting for you around \\TM."
+msgstr "¿Aceptas un combate? No se repetirá lo de la última vez.\\mTe estaré esperando en \\TM."
+
+msgid "What did you eat for lunch today? I had a grilled \\TE.\\mI don't think I cooked it well enough.\\mOr did you not eat lunch at all?"
+msgstr "¿Qué almorzaste hoy? Yo preparé \\TE asado, pero no me quedó muy bien.\\m¿O quizá no has almorzado?"
+
+msgid "Yo, \\PN, my main homie! This is \\TN!"
+msgstr "¡Ey, \\PN, compadre! ¡Habla \\TN!"
+
+msgid "You have to hear this! I battled \\TE the other day.\\mIt was easy! I had a type advantage."
+msgstr "¡Tienes que escuchar esto! Vencí a un \\TE el otro día.\\m¡Fue muy fácil! Tenía ventaja por el tipo elemental."
+
+msgid "\\PN, good day! It's me, \\TN. Got a minute?"
+msgstr "¡\\PN, buen día! Soy yo, \\TN. ¿Tienes un minuto?"
+
+msgid "\\PN, good evening! Hi.\\mThis is \\TN."
+msgstr "¡\\PN, buenas noches!\\mSoy \\TN."
+
diff --git a/Dialogue/Generated/es/OfficialPokemonNames.po b/Dialogue/Generated/es/OfficialPokemonNames.po
new file mode 100644
index 000000000..44d260546
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialPokemonNames.po
@@ -0,0 +1,19 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "dearewl"
+msgstr "Dearewl"
+
+msgid "Panjay"
+msgstr "Pajay"
+
+msgid "Terrabit"
+msgstr "Terrabbit"
+
+msgid "Belliadon"
+msgstr "Beliaddon"
+
+msgid "Gastly"
+msgstr "Gengar"
diff --git a/Dialogue/Generated/es/OfficialSystem.po b/Dialogue/Generated/es/OfficialSystem.po
new file mode 100644
index 000000000..7f771cc1d
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialSystem.po
@@ -0,0 +1,6461 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "(Default)"
+msgstr "(Predeterminado)"
+
+msgid "({1}) PP: {2}/{3}"
+msgstr " ({1}) PP: {2}/{3}"
+
+msgid "--- power core ------ from over----. It ---- ------ a large ---- -- nuclear fuel to -------. ---- ---- activated- -- --- -- prod--- ---- limitless energy."
+msgstr "-- llegado -- núcleo de energía ----- ag-as int-rn---onales. -- -sp-cimen requeri-- --- enorme cantidad -- combus----- nuclear par- su ----------. --- --- --- ----lmente activado, ----- prod---- energía si- límites."
+
+msgid "---- -- the Interface --- final---- today. Th- -erator - -- ---- - ----- full control -- --e Sp-cimen. ---- chief reseacher, Dr. ----- --s ---- granted clearance."
+msgstr "-- final----- -- trabajo -- la Interfaz. Su --erador ----- ------ control total --- Esp-cimen. -- -- autorizado --- -- uso a nuestr- jef- de investigación, ---. -------."
+
+msgid "---- has been - breach -- confidential--. ----- --- ------ shall -- relocate --- undergr-- --. Project 092 --- have -- -- --rminated."
+msgstr "Ha ------ --- brecha -- confidencia-----. ----- --- reportes serán lleva--- - -------res subter------ -- ------ segur----. -- Proyecto 092 podría --- abort---."
+
+msgid "... ... ... ...Nope!\nThere's no response."
+msgstr "... ... ... ...¡Nada!\nNo hay respuesta."
+
+msgid "...Oh. It's you.\nListen, I might've been a jerk to you back in Vinoville Town.\nBut, well, what you did, it kind of saved my family and my town.\nWhen the Rangers are done cleaning the area, I'll have a home again.\nSo... I guess... What I'm trying to say is...\nI owe you. We all do.\nBut I'm not going easy on you because of it.\nI've been training non-stop since you beat me!\nMy team will crush anybody that stands in our way...\nEven the Hero of Tandor!!"
+msgstr "...Oh. Eres tú.\nEscucha, sé que fui un idiota cuando fuiste a Pueblo Viñedo.\nPero... bueno, lo que hiciste salvó a mi familia y a todo mi pueblo.\nCuando los Rangers terminen de limpiar el área, podré regresar a mi hogar.\nAsí que... supongo que... lo que quiero decir es que...\nTe debo una. Todos nosotros.\nPero no te la haré fácil solo por eso.\n¡He estado entrenando sin pausa desde que me venciste!\nMi equipo aplastará a todo aquel que se nos interponga...\n¡¡Incluso al Héroe de Tándor!!"
+
+msgid "...Pfeh. I guess you win.\nThat's embarrassing... But whatever.\nIf there's anyone I'll allow to beat me, it should be you."
+msgstr "...Jeje. Supongo que tú ganas.\nQué vergüenza... Pero qué importa.\nSi hay alguien que permito que me derrote, eres tú."
+
+msgid "1, 2, and... ... ..."
+msgstr "1, 2, y... ... ..."
+
+msgid "<<"
+msgstr " <<"
+
+msgid "Search Mode"
+msgstr "Modo de Búsqueda"
+
+msgid "{1} nature."
+msgstr "Naturaleza {1}."
+
+msgid "Egg hatched."
+msgstr "Nacido del huevo."
+
+msgid "Egg obtained."
+msgstr "Nacido del huevo."
+
+msgid "Had a fateful encounter at Lv. {1}."
+msgstr "Encuentro predestinado\nal Nivel {1}."
+
+msgid "Met at Lv. {1}."
+msgstr "Obtenido al Niv.{1}"
+
+msgid "Traded at Lv. {1}."
+msgstr "Intercambiado al Niv.{1}"
+
+msgid "Faraway place"
+msgstr "Muy lejos"
+
+msgid "\"The Egg Watch\""
+msgstr "\"Vigía del Huevo\""
+
+msgid "A mysterious Pokémon\nEgg received from\n{1}."
+msgstr "\nUn huevo misterioso\nque recibiste de\n{1}."
+
+msgid "{1}
"
+msgstr " {1}
"
+
+msgid ">>"
+msgstr " >>"
+
+msgid "????? Pokémon"
+msgstr "Pokémon ?????"
+
+msgid "A Key Item in the Bag can be registered to this key for instant use."
+msgstr "Un Objeto Clave en la Bolsa puede ser asignado a esta tecla."
+
+msgid "A Map\nShows visited Places."
+msgstr "Un Mapa.\nTe muestra el continente."
+
+msgid "A Nuclear Horde appeared!"
+msgstr "¡Una Horda Nuclear ha aparecido!"
+
+msgid "A Phone\nUsed to call People."
+msgstr "Un Teléfono.\nPuedes llamar gente."
+
+msgid "A Pokémon could be in this tree. Maybe a Pokémon could shake it."
+msgstr "Puede que haya Pokémon en este árbol. Quiza un Pokémon pueda sacudirlo."
+
+msgid "A Pokémon could be in this tree. Want to headbutt it?"
+msgstr "Puede que haya Pokémon en este árbol. ¿Usar Cabezazo?"
+
+msgid "A Radio\nUsed to listen to Music."
+msgstr "Una Radio.\nPuedes escuchar música."
+
+msgid "A Toxic Fallout has set in!"
+msgstr "¡Ha iniciado una Lluvia Radiactiva!"
+
+msgid "A bell chimed!"
+msgstr "¡Ha repicado una campana!"
+
+msgid "A critical hit!"
+msgstr "¡Un golpe crítico!"
+
+msgid "A glint appears in {1}'s eyes!"
+msgstr "¡Un destello aparece en los ojos de {1}!"
+
+msgid "A heavy rain began to fall!"
+msgstr "¡Ha empezado a diluviar!"
+
+msgid "A little quick tempered."
+msgstr "De carácter fuerte."
+
+msgid "A mysterious air current is protecting Flying-type Pokémon!"
+msgstr "¡Las misteriosas turbulencias protegen a los Pokémon de tipo Volador!"
+
+msgid "A nuclear fallout has hit!"
+msgstr "¡Empezó una lluvia radiactiva!"
+
+msgid "A sandstorm brewed!"
+msgstr "¡Se acerca una tormenta de arena!"
+
+msgid "A sandstorm is raging."
+msgstr "Una tormenta de arena ruge."
+
+msgid "A sandstorm kicked up!"
+msgstr "¡Se ha desatado una tormenta de arena!"
+
+msgid "A shadow sky appeared!"
+msgstr "¡El cielo se tornó oscuro!"
+
+msgid "A soothing aroma wafted through the area!"
+msgstr "Un aroma balsámico flota en el aire."
+
+msgid "A sticky web has been laid out beneath the opposing team's feet!"
+msgstr "¡Una red viscosa se extiende a los pies del equipo enemigo!"
+
+msgid "A sticky web has been laid out beneath your team's feet!"
+msgstr "¡Una red viscosa se extiende a los pies de tu equipo!"
+
+msgid "A thrilling display from trainers and Pokémon alike!"
+msgstr "¡Una intensa demostración de entrenadores y Pokémon!"
+
+msgid "A thunderstorm is raging."
+msgstr "La tormenta continúa."
+
+msgid "A thunderstorm started!"
+msgstr "¡Ha empezado una tormenta!"
+
+msgid "A to Z"
+msgstr "Alfabético"
+
+msgid "A wall of water is crashing down with a mighty roar."
+msgstr "Una gran cascada cae con fuerza."
+
+msgid "A {1} was planted here."
+msgstr "Hay una {1} plantada aquí."
+
+msgid "A: Add map to canvas"
+msgstr "A: Add map to canvas\n"
+
+msgid "ABLE"
+msgstr "PUEDE"
+
+msgid "ACCURACY"
+msgstr "PRECIS."
+
+msgid "AFTER LOSING..."
+msgstr "DESPUÉS DE PERDER..."
+
+msgid "Aargh! Almost had it!"
+msgstr "¡Qué pena! ¡Te faltó poco!"
+
+msgid "Ability"
+msgstr "Habilidad"
+
+msgid "Acai Berries"
+msgstr "Baya Acai"
+
+msgid "Adamant"
+msgstr "Firme"
+
+msgid "Add"
+msgstr "Sumar"
+
+msgid "Advanced to Game Lv. {1}!"
+msgstr "¡Pasaste al Nivel {1}!"
+
+msgid "Aguav Berries"
+msgstr "Bayas Guaya"
+
+msgid "Aha! It is the \\PN!\nWe fight before. I lose in disgrace.\nMy Ninja clan forsake me. So I train.\nI train and train, in hopes to encounter \\PN again.\nIn this arena, we fight to regain honor!\nI will defeat you, and restore glory to my Ninja Clan!"
+msgstr "¡Ajá! ¡Eres tú, \\PN!\nPeleamos antes. Perdí en desgracia.\nFui desterrado por mi Clan Ninja. Y así entrené.\nEntrené y entrené con la esperanza de enfrentarme a \\PN nuevamente.\nEn esta arena, ¡combatimos por el honor!\nTe derrotaré, ¡y restauraré la gloria a mi Clan Ninja!"
+
+msgid "Alas, the final curtain falls...\nThe result is clear:\nYour victory was written in the stars!"
+msgstr "Y así, cae el telón final...\nEl resultado es claro:\n¡Tu victoria fue anunciada por los astros!"
+
+msgid "Alert to sounds."
+msgstr "Siempre alerta."
+
+msgid "All Pokémon hearing the song will faint in three turns!"
+msgstr "¡Los Pokémon que oigan la canción se debilitarán dentro de 3 turnos!"
+
+msgid "All Pokémon in this box have been released."
+msgstr "Todos los Pokémon en esta caja han sido liberados."
+
+msgid "All data will be lost. Confirm once more to proceed."
+msgstr "Se borrará todo, y no podrás recuperarlo."
+
+msgid "All recording devices are in use. Recording is not possible now."
+msgstr "All recording devices are in use. Recording is not possible now."
+
+msgid "All stat changes were eliminated!"
+msgstr "¡Todos los cambios en las características fueron revertidos!"
+
+msgid "All the world's a stage... and we play the leading role! Can you see past our splendid masquerade?"
+msgstr "Todo el mundo es un escenario... ¡Y somos los protagonistas! ¿Puedes ver a través de nuestro espléndido disfraz?"
+
+msgid "Also, look for a special NPC in Kevlar Town!"
+msgstr " Also, look for a special NPC in Kevlar Town!"
+
+msgid "An Egg can't battle!"
+msgstr "¡Un Huevo no puede pelear!"
+
+msgid "An egg can't be an active Pokémon"
+msgstr "Un huevo no es un Pokémon disponible."
+
+msgid "An electric current runs across the battlefield!"
+msgstr "¡Se ha formado un campo de corriente eléctrica en el terreno de combate!"
+
+msgid "And now, their battling skills will determine which of them get to move on to the Champion's Arena after this match."
+msgstr "Y ahora, sus habilidades de combate determinarán cuáles ascenderán a la Arena de Campeones tras este encuentro."
+
+msgid "And the winner is \\PN!"
+msgstr "¡Y la victoria es para \\PN!"
+
+msgid "And..."
+msgstr "Y..."
+
+msgid "And..."
+msgstr "Y..."
+
+msgid "Announcer: You're out of Safari Balls! Game over!"
+msgstr "Announcer: You're out of Safari Balls! Game over!"
+
+msgid "Apicot Berries"
+msgstr "Bayas Aricoc"
+
+msgid "Apr."
+msgstr "Abr."
+
+msgid "Aqua Ring restored {1}'s HP!"
+msgstr "¡{1} recuperó PS gracias a Acua Aro!"
+
+msgid "Are you sure you want to change it?"
+msgstr "¿Estás seguro de querer cambiarla?"
+
+msgid "Are you sure you want to delete this Pokémon?"
+msgstr "¿De verdad quieres eliminar este Pokémon?"
+
+msgid "Are you sure you want to delete this gift?"
+msgstr "¿De verdad quieres borrar este regalo?"
+
+msgid "Are you sure you want to delete this save file?"
+msgstr "¿De verdad quieres borrar esta partida?"
+
+msgid "Are you sure you want to play on this mode?"
+msgstr "¿De verdad quieres jugar en este modo?"
+
+msgid "Are you sure you want to play with these settings?"
+msgstr "¿Deseas jugar con estas reglas durante tu partida? No podrás cambiarlas después."
+
+msgid "Are you sure you want to release all Pokémon in this box?"
+msgstr "¿De verdad quieres liberar a todos los Pokémon en esta caja?"
+
+msgid "Are you sure?"
+msgstr "¿De verdad quieres este personaje?"
+
+msgid "Area Unknown"
+msgstr "Hábitat Desconocido"
+
+msgid "Aspear Berries"
+msgstr "Bayas Perasi"
+
+msgid "Attack"
+msgstr "Ataque"
+
+msgid "Aug."
+msgstr "Ago."
+
+msgid "Autosave"
+msgstr "Autoguardado"
+
+msgid "Autosave failed. t(-.-t)"
+msgstr "El autoguardado ha fallado."
+
+msgid "Aww... It appeared to be caught!"
+msgstr "¡Vaya! ¡Parecía que lo habías atrapado!"
+
+msgid "BAG"
+msgstr "Bolsa"
+
+msgid "BANNED"
+msgstr "BANEADO"
+
+msgid "BATTLE MOVES"
+msgstr "MOVIMIENTOS"
+
+msgid "Babiri Berries"
+msgstr "Bayas Baribá"
+
+msgid "Back"
+msgstr "Volver"
+
+msgid "Bacu Berries"
+msgstr "Baya Bacu"
+
+msgid "Bad IV: {1} (must be from 0-31)\n{2}"
+msgstr "Bad IV: {1} (must be from 0-31)\n{2}"
+
+msgid "Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}"
+msgstr "Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}"
+
+msgid "Bad form: {1} (must be 0 or greater)\n{2}"
+msgstr "Bad form: {1} (must be 0 or greater)\n{2}"
+
+msgid "Bad genderflag: {1} (must be M or F, or 0 or 1)\n{2}"
+msgstr "Bad genderflag: {1} (must be M or F, or 0 or 1)\n{2}"
+
+msgid "Bad happiness: {1} (must be from 0-255)\n{2}"
+msgstr "Bad happiness: {1} (must be from 0-255)\n{2}"
+
+msgid "Bad level: {1} (must be from 1-{2})\n{3}"
+msgstr "Bad level: {1} (must be from 1-{2})\n{3}"
+
+msgid "Bad line syntax (expected syntax like XXX=YYY)\n{1}"
+msgstr "Bad line syntax (expected syntax like XXX=YYY)\n{1}"
+
+msgid "Bad money amount (must be from 0 through 255)\n{1}"
+msgstr "Bad money amount (must be from 0 through 255)\n{1}"
+
+msgid "Bad nickname: {1} (must be 1-20 characters)\n{2}"
+msgstr "Bad nickname: {1} (must be 1-20 characters)\n{2}"
+
+msgid "Bad skill value (must be from 0 through 255)\n{1}"
+msgstr "Bad skill value (must be from 0 through 255)\n{1}"
+
+msgid "Badges:"
+msgstr "Medallas:"
+
+msgid "Badges{2}
"
+msgstr "Medallas{2}
"
+
+msgid "Bag"
+msgstr "Bolsa"
+
+msgid "Bashful"
+msgstr "Tímida"
+
+msgid "Battle Items"
+msgstr "Obj. de Combate"
+
+msgid "Battle Scene"
+msgstr "Animaciones"
+
+msgid "Battle Style"
+msgstr "Tipo de Combate"
+
+msgid "Battle... start!"
+msgstr "Que inicie...\\wt[12] ¡el combate!"
+
+msgid "Beach"
+msgstr "Playa"
+
+msgid "Begin your game."
+msgstr "Guarda tu configuración de forma permanente y empieza el juego."
+
+msgid "Behold! The power of Mega Evolution!"
+msgstr "¡Contempla el poder de la Megaevolución!"
+
+msgid "Belue Berries"
+msgstr "Bayas Andano"
+
+msgid "Berries"
+msgstr "Bayas"
+
+msgid "Black"
+msgstr "Negro"
+
+msgid "Black Tiles: {1}"
+msgstr "Baldosas Negras: {1}"
+
+msgid "Blue"
+msgstr "Azul"
+
+msgid "Bluk Berries"
+msgstr "Bayas Oram"
+
+msgid "Bold"
+msgstr "Osada"
+
+msgid "Boost PP of which move?"
+msgstr "¿Qué movimiento aumentará en PP?"
+
+msgid "Both of these trainers took home a win in the previous round."
+msgstr "Ambos entrenadores lograron una victoria en la ronda anterior."
+
+msgid "Box \"{1}\" on someone's PC was full."
+msgstr "La caja \"{1}\" en la PC de alguien estaba llena."
+
+msgid "Box \"{1}\" on someone's PC was full."
+msgstr "La caja \"{1}\" en la PC de alguien estaba llena."
+
+msgid "Box \"{1}\" on {2}'s PC was full."
+msgstr "La caja \"{1}\" en la PC de {2} estaba llena."
+
+msgid "Box \"{1}\" on {2}'s PC was full."
+msgstr "La caja \"{1}\" en la PC de {2} estaba llena."
+
+msgid "Box name?"
+msgstr "¿Nombre de la caja?"
+
+msgid "Box {1:d}"
+msgstr "Caja {1:d}"
+
+msgid "Brave"
+msgstr "Audaz"
+
+msgid "Brown"
+msgstr "Marrón"
+
+msgid "Bug"
+msgstr "Bicho"
+
+msgid "Bug Catcher Benny"
+msgstr "Cazabichos Benny"
+
+msgid "Bug Catcher Ed"
+msgstr "Cazabichos Ed"
+
+msgid "Bug Catcher Josh"
+msgstr "Cazabichos Josh"
+
+msgid "But I sense something else in you...\\^"
+msgstr "Pero siento algo más en ti...\\^"
+
+msgid "But it failed to spit up a thing!"
+msgstr "¡Pero no logra escupir nada!"
+
+msgid "But it failed to swallow a thing!"
+msgstr "¡Pero no pudo tragar nada!"
+
+msgid "But it failed!"
+msgstr "¡Pero falló!"
+
+msgid "But it had no effect!"
+msgstr "¡Pero no ha surtido efecto!"
+
+msgid "But nothing happened!"
+msgstr "¡Pero no tuvo ningún efecto!"
+
+msgid "But the effects of a Repel lingered from earlier."
+msgstr "Ya hay un Repelente en efecto."
+
+msgid "But there was no PP left for the move!"
+msgstr "¡Pero no le quedan PP a este movimiento!"
+
+msgid "But there was no target..."
+msgstr "Pero no había blanco..."
+
+msgid "But {1} already caught a Pokémon in this area!"
+msgstr "¡{1} ya capturó un Pokémon en esta zona!"
+
+msgid "But {1} already fought a wild Pokémon in this area!"
+msgstr "¡{1} no atrapó al primer Pokémon en esta zona!"
+
+msgid "But {1} can't learn more than four moves."
+msgstr "Pero {1} no puede aprender más de cuatro movimientos."
+
+msgid "But {1} can't learn more than four moves."
+msgstr "Pero {1} no puede aprender más de cuatro movimientos."
+
+msgid "But {1} can't sleep in an uproar!"
+msgstr "¡Pero {1} no puede dormir en un alboroto!"
+
+msgid "But {1} couldn't sleep!"
+msgstr "¡Pero {1} no pudo dormir!"
+
+msgid "But, only one will be crowned Champion today."
+msgstr "Pero solo uno de ellos será coronado como Campeón el día de hoy."
+
+msgid "Buy"
+msgstr "Comprar"
+
+msgid "By the blessing of Aotius!"
+msgstr "¡Bendito sea Aotius!"
+
+msgid "Bye-bye, {1}!"
+msgstr "¡Adiós, {1}!"
+
+msgid "CANCEL"
+msgstr "CANCELAR"
+
+msgid "CATEGORY"
+msgstr "CATEGOR."
+
+msgid "CLOSE BAG"
+msgstr "CERRAR BOLSA"
+
+msgid "CONFIRM"
+msgstr "ACEPTAR"
+
+msgid "Call"
+msgstr "Llamar"
+
+msgid "Calm"
+msgstr "Serena"
+
+msgid "Camper Barry"
+msgstr "Campista Barry"
+
+msgid "Can't catch any more..."
+msgstr "No puedes capturar más..."
+
+msgid "Can't deposit from box..."
+msgstr "No se puede depositar desde la caja..."
+
+msgid "Can't deposit the last Pokémon!"
+msgstr "¡No puedes depositar tu último Pokémon!"
+
+msgid "Can't escape!"
+msgstr "¡No puedes huir!"
+
+msgid "Can't find deposited Pokémon"
+msgstr "No se encuentra al Pokémon depositado."
+
+msgid "Can't find the map 'Map{1:03d}' in the Data folder. The game will resume at the player's position."
+msgstr "Can't find the map 'Map{1:03d}' in the Data folder. The game will resume at the player's position."
+
+msgid "Can't re-store deleted item in bag"
+msgstr "No se puede volver a depositar un objeto eliminado en la bolsa."
+
+msgid "Can't save. No name was entered."
+msgstr "Can't save. No name was entered."
+
+msgid "Can't save. The Pokémon list is empty."
+msgstr "Can't save. The Pokémon list is empty."
+
+msgid "Can't store the Pokémon..."
+msgstr "No se puede guardar al Pokémon..."
+
+msgid "Can't store the egg"
+msgstr "No se pudo guardar el huevo."
+
+msgid "Can't store the {1}."
+msgstr "No puedes guardar {1}."
+
+msgid "Can't use that here."
+msgstr "No puedes usar eso aquí."
+
+msgid "Can't use that while on a bicycle."
+msgstr "No puedes usar eso mientras estas en la bici."
+
+msgid "Can't withdraw from party..."
+msgstr "No se puede sacar desde tu equipo..."
+
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgid "Cancel?"
+msgstr "¿Continuar el juego sin cambios?"
+
+msgid "Capable of taking hits."
+msgstr "Puede soportar golpes."
+
+msgid "Caps Lock"
+msgstr "Mayús"
+
+msgid "Careful"
+msgstr "Cauta"
+
+msgid "Caught {1}!"
+msgstr "¡{1} atrapado!"
+
+msgid "Cave"
+msgstr "Cueva"
+
+msgid "Certainly. You want {1}.\nThat will be ${2}. OK?"
+msgstr "Entonces quieres {1}.\nSerán ${2}. ¿De acuerdo?"
+
+msgid "Certainly. You want {2} {1}(s)?"
+msgstr "De acuerdo. ¿Quieres {2} de {1}?"
+
+msgid "Challenge Mode"
+msgstr "Modo Desafío"
+
+msgid "Charti Berries"
+msgstr "Bayas Alcho"
+
+msgid "Check for Updates"
+msgstr "Buscar Actualizaciones"
+
+msgid "Checks"
+msgstr "Lunares"
+
+msgid "Cheri Berries"
+msgstr "Bayas Zreza"
+
+msgid "Chesto Berries"
+msgstr "Bayas Atania"
+
+msgid "Chilan Berries"
+msgstr "Bayas Chilan"
+
+msgid "Choose Pokémon and confirm."
+msgstr "Elige y confirma a tus Pokémon."
+
+msgid "Choose Pokémon or cancel."
+msgstr "Elegir Pokémon o cancelar."
+
+msgid "Choose a Pokémon."
+msgstr "Elige un Pokémon."
+
+msgid "Choose the gift you want to receive.\\wtnp[0]"
+msgstr "Elige el regalo que quieres recibir.\\wtnp[0]"
+
+msgid "Choose your game mode:"
+msgstr "Elige tu modo de juego:"
+
+msgid "Chople Berries"
+msgstr "Bayas Pomaro"
+
+msgid "City"
+msgstr "Ciudad"
+
+msgid "Click to select a map"
+msgstr "Click to select a map\n"
+
+msgid "Click!\n...... ......"
+msgstr "¡Clic!\\wt[10]\n......\\wt[5] ......"
+
+msgid "Close bag."
+msgstr "Volver al juego."
+
+msgid "Close storage."
+msgstr "Cerrar almacenamiento."
+
+msgid "Closes the PokéPod and returns to the game."
+msgstr "Volver al juego."
+
+msgid "Coba Berries"
+msgstr "Bayas Kouba"
+
+msgid "Coins were scattered everywhere!"
+msgstr "¡Hay monedas por todas partes!"
+
+msgid "Coins:\n{1}"
+msgstr "Fichas:\n{1}"
+
+msgid "Coins: {1}"
+msgstr "Fichas: {1}"
+
+msgid "Colbur Berries"
+msgstr "Bayas Dillo"
+
+msgid "Compete"
+msgstr "Competir"
+
+msgid "Competitive sharply raised {1}'s Special Attack!"
+msgstr "¡Competitivo aumentó mucho el Ataque Especial de {1}!"
+
+msgid "Congratulations on advancing to the final round!\nThe final battle will take place in the Champion's Arena. Its winner will be crowned Champion of Tandor!"
+msgstr "¡Felicitaciones! ¡Has alcanzado la ronda final!\nEl combate final se llevará a cabo en la Arena de Campeones. ¡El ganador será coronado Campeón de Tándor!"
+
+msgid "Congratulations!"
+msgstr "¡Felicitaciones!"
+
+msgid "Congratulations!\nYour {1} evolved into {2}!"
+msgstr "¡Enhorabuena!\n¡Tu {1} evolucionó a {2}!"
+
+msgid "Congratulations, {1}!"
+msgstr "¡Enhorabuena, {1}!"
+
+msgid "Continue"
+msgstr "Continuar"
+
+msgid "Continue Box operations?"
+msgstr "¿Seguir usando las cajas?"
+
+msgid "Continue the game with those options permanently disabled?"
+msgstr "¿Continuar el juego con estas opciones?"
+
+msgid "Controls"
+msgstr "Controles"
+
+msgid "Cool Trainer Nick"
+msgstr "Entrenador guay Nick"
+
+msgid "Cornn Berries"
+msgstr "Bayas Mais"
+
+msgid "Could it be the seed of greatness?\\.\nThe potential to transform yourself completely?\\^"
+msgstr "¿Puede ser la semilla de la grandeza?\\.\n¿El potencial para cambiar completamente?\\^"
+
+msgid "Could not reach server to determine if your game is up-to-date. \\wtnp[40]"
+msgstr "No se pudo conectar con el servidor para saber la versión más reciente.\\wtnp[40]"
+
+msgid "Couldn't find an unclaimed Mystery Gift with ID {1}."
+msgstr "No se pudo reclamar este regalo con ID {1}."
+
+msgid "Couldn't return unused item to Bag somehow."
+msgstr "¿Qué? No se pudo devolver el objeto sin usar a la Bolsa."
+
+msgid "Crafty Shield protected your team!"
+msgstr "¡Truco Defensa protege a tu equipo!"
+
+msgid "Crafty Shield protected {1}!"
+msgstr "¡Truco defensa protegió a {1}!"
+
+msgid "Crag"
+msgstr "Montaña"
+
+msgid "Credits"
+msgstr "Créditos"
+
+msgid "Cupu Berries"
+msgstr "Baya Cupu"
+
+msgid "Current Version = {1} \\wtnp[30]"
+msgstr "Versión actual = {1} \\wtnp[30]"
+
+msgid "Custap Berries"
+msgstr "Bayas Chiri"
+
+msgid "Custom"
+msgstr "Personalizado"
+
+msgid "Custom Game Settings"
+msgstr "Juego Personalizado"
+
+msgid "Custom/Nuzlocke Mode"
+msgstr "Nuzlocke/Personalizado"
+
+msgid "DEL: Delete map from canvas"
+msgstr "DEL: Delete map from canvas\n"
+
+msgid "DEPOSIT POKéMON"
+msgstr "Depositar Pokémon"
+
+msgid "DP"
+msgstr "4"
+
+msgid "Dark"
+msgstr "Siniestro"
+
+msgid "Dark Mega Dramsama"
+msgstr "Mega Dramsama"
+
+msgid "Day-Care Couple"
+msgstr "Pareja de la Guardería"
+
+msgid "Dec."
+msgstr "Dic."
+
+msgid "Default"
+msgstr "Restablecer controles por defecto"
+
+msgid "Defense"
+msgstr "Defensa"
+
+msgid "Defiant sharply raised {1}'s Attack!"
+msgstr "¡Competitivo aumentó mucho el Ataque de {1}!"
+
+msgid "Delete This Save File"
+msgstr "Borrar Partida"
+
+msgid "Delete a move to make\nroom for {1}?"
+msgstr "¿Olvidar un movimiento para aprender {1}?"
+
+msgid "Delete a move to make room for {1}?"
+msgstr "¿Olvidar un movimiento para aprender {1}?"
+
+msgid "Deposit Item"
+msgstr "Depositar"
+
+msgid "Deposit Pokémon"
+msgstr "Depositar Pokémon"
+
+msgid "Deposit in which Box?"
+msgstr "¿Depositar en qué caja?"
+
+msgid "Deposited {1} {2}(s)."
+msgstr "{1} de {2} ha sido depositado."
+
+msgid "Deposited {1}."
+msgstr "{1} ha sido depositado."
+
+msgid "Deselect"
+msgstr "Deseleccionar"
+
+msgid "Desert"
+msgstr "Desierto"
+
+msgid "Dex No."
+msgstr "Pokédex"
+
+msgid "Disable Healing In Battle"
+msgstr "Desactivar Objetos Curativos"
+
+msgid "Disable Pokémarts"
+msgstr "Desactivar Tiendas Pokémon"
+
+msgid "Divide"
+msgstr "División"
+
+msgid "Do it! {1}!"
+msgstr "¡Ve, {1}!"
+
+msgid "Do not underestimate the might of Dragons!"
+msgstr "¡No subestimes el poder de los Dragones!"
+
+msgid "Do what with an item?"
+msgstr "¿Qué hacer con el objeto?"
+
+msgid "Do what with the mail?"
+msgstr "¿Qué hacer con el correo?"
+
+msgid "Do what with {1}?"
+msgstr "¿Qué hacer con {1}?"
+
+msgid "Do you want to change its song now?"
+msgstr "¿Quieres cambiar su canción?"
+
+msgid "Do you want to change {1}'s ability to {2}?"
+msgstr "¿Quieres cambiar la habilidad de {1} a {2}?"
+
+msgid "Do you want to delete the save file and start anew?"
+msgstr "¿Quieres borrar la partida guardada y empezar una nueva?"
+
+msgid "Do you want to run the patcher now?"
+msgstr "¿Deseas actualizar el juego ahora?"
+
+msgid "Do you want to try and run the patcher anyway?"
+msgstr "¿Deseas intentar actualizar el juego ahora de todas formas?"
+
+msgid "Do you want to use another Repel?"
+msgstr "¿Quieres usar otro Repelente?"
+
+msgid "Docile"
+msgstr "Dócil"
+
+msgid "Done!"
+msgstr "¡Listo!"
+
+msgid "Double-click: Edit map's metadata"
+msgstr "Double-click: Edit map's metadata\n"
+
+msgid "Down"
+msgstr "Abajo"
+
+msgid "Drag map to move it"
+msgstr "Drag map to move it\n"
+
+msgid "Dragon"
+msgstr "Dragón"
+
+msgid "Dupes Clause"
+msgstr "Cláusula de Duplicados"
+
+msgid "Durin Berries"
+msgstr "Bayas Rudion"
+
+msgid "E: Edit map's encounters"
+msgstr "E: Edit map's encounters\n"
+
+msgid "EDIT"
+msgstr "EDITAR"
+
+msgid "EV/IV/pID"
+msgstr "EV/IV/ID"
+
+msgid "EXCHANGE"
+msgstr "CANJEAR"
+
+msgid "EXIT"
+msgstr "Salir"
+
+msgid "Each Pokemon's HP was halved!"
+msgstr "¡Los PS de cada Pokemon fueron reducidos a la mitad!"
+
+msgid "Earned coins"
+msgstr "Fichas ganadas"
+
+msgid "East side of first map must connect with west side of second map\n{1}"
+msgstr "East side of first map must connect with west side of second map\n{1}"
+
+msgid "Edit"
+msgstr "Editar"
+
+msgid "Egg"
+msgstr "Huevo"
+
+msgid "Eggs can't hold items."
+msgstr "Los Huevos no pueden llevar objetos."
+
+msgid "Eggs can't hold mail."
+msgstr "Los Huevos no pueden llevar correo."
+
+msgid "Electric"
+msgstr "Eléctrico"
+
+msgid "Electricity's power was weakened!"
+msgstr "¡Se han debilitado los ataques de tipo Eléctrico!"
+
+msgid "Eletux is the best pick!\\wtnp[160]"
+msgstr "¡Eletux es la mejor opción!\\wtnp[160]"
+
+msgid "Em"
+msgstr "1"
+
+msgid "End"
+msgstr "Fin"
+
+msgid "Enigma Berries"
+msgstr "Bayas Enigma"
+
+msgid "Enter text using the keyboard. Press ENTER to confirm."
+msgstr "Escribe usando el teclado. Presiona ENTER para confirmar."
+
+msgid "Enter text using the keyboard. Press ESC to cancel, or ENTER to confirm."
+msgstr "Escribe usando el teclado. Presiona ESCAPE para cancelar, o ENTER para confirmar."
+
+msgid "Enter {1}'s name."
+msgstr "Introduce el nombre de {1}."
+
+msgid "Entry"
+msgstr "Entrar"
+
+msgid "Enumeration not defined\n{1}"
+msgstr "Enumeration not defined\n{1}"
+
+msgid "Esc"
+msgstr "Escape"
+
+msgid "Execute search."
+msgstr "Empezar Búsqueda"
+
+msgid "Execute sort."
+msgstr "Ordenar"
+
+msgid "Exit"
+msgstr "Salir"
+
+msgid "Exit To Desktop"
+msgstr "Cerrar el juego"
+
+msgid "Exit To Menu"
+msgstr "Volver al menú"
+
+msgid "Exit from the Box?"
+msgstr "¿Salir de la Caja?"
+
+msgid "Exit from the map?"
+msgstr "¿Salir del mapa?"
+
+msgid "Exp. Points"
+msgstr "Experiencia"
+
+msgid "Expected a number for the number of Pokémon\n{1}"
+msgstr "Expected a number for the number of Pokémon\n{1}"
+
+msgid "Expected a number for the trainer battle ID\n{1}"
+msgstr "Expected a number for the trainer battle ID\n{1}"
+
+msgid "Expected a section at the beginning of the file\n{1}"
+msgstr "Expected a section at the beginning of the file\n{1}"
+
+msgid "Expected a section at the beginning of the file. This error may also occur if the file was not saved in UTF-8.\n{1}"
+msgstr "Expected a section at the beginning of the file. This error may also occur if the file was not saved in UTF-8.\n{1}"
+
+msgid "Expected a species name: {1}\n{2}"
+msgstr "Expected a species name: {1}\n{2}"
+
+msgid "FIFTH"
+msgstr "QUINTO"
+
+msgid "FIRST"
+msgstr "PRIMERO"
+
+msgid "FORMS"
+msgstr "FORMAS"
+
+msgid "FORMS SEEN"
+msgstr "Vistas"
+
+msgid "FOURTH"
+msgstr "CUARTO"
+
+msgid "FPS"
+msgstr "Velocidad"
+
+msgid "FRLG"
+msgstr "3"
+
+msgid "Failed to compile text: {1}"
+msgstr "Failed to compile text: {1}"
+
+msgid "Failed to connect, the servers may be experiencing problems. Please try again later."
+msgstr "Hubo un error al conectarse con el servidor. Por favor revise su conexión a internet o intente de nuevo más tarde."
+
+msgid "Failed to create the trainer type. Choose a different name."
+msgstr "Failed to create the trainer type. Choose a different name."
+
+msgid "Failed to delete stored items"
+msgstr "No se pudo eliminar el objeto almacenado."
+
+msgid "Failed to load data from server!"
+msgstr "¡Error al obtener información de los servidores!"
+
+msgid "Fainted"
+msgstr "Debilitado"
+
+msgid "Fainted Pokémon are considered dead and only one can be caught per route."
+msgstr "Los Pokémon mueren permanentemente, y podrás atrapar sólo uno por ruta."
+
+msgid "Faraway place"
+msgstr "Lugar lejano"
+
+msgid "Fast"
+msgstr "Alta"
+
+msgid "Female"
+msgstr "Hembra"
+
+msgid "Female Shiny"
+msgstr "Variocolor H"
+
+msgid "Feminine"
+msgstr "Feminino"
+
+msgid "Fertilize"
+msgstr "Fertilizar"
+
+msgid "Field '{1}' is not a hexadecimal number\n{2}"
+msgstr "Field '{1}' is not a hexadecimal number\n{2}"
+
+msgid "Field '{1}' must be 0 or greater\n{2}"
+msgstr "Field '{1}' must be 0 or greater\n{2}"
+
+msgid "Field '{1}' must be greater than 0\n{2}"
+msgstr "Field '{1}' must be greater than 0\n{2}"
+
+msgid "Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.\n{2}"
+msgstr "Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.\n{2}"
+
+msgid "Field {1} is not a Boolean value (true, false, 1, 0)\n{2}"
+msgstr "Field {1} is not a Boolean value (true, false, 1, 0)\n{2}"
+
+msgid "Field {1} is not a number\n{2}"
+msgstr "Field {1} is not a number\n{2}"
+
+msgid "Field {1} is not a positive integer\n{2}"
+msgstr "Field {1} is not a positive integer\n{2}"
+
+msgid "Field {1} is not an integer\n{2}"
+msgstr "Field {1} is not an integer\n{2}"
+
+msgid "Fight"
+msgstr "Pelear"
+
+msgid "Fighting"
+msgstr "Lucha"
+
+msgid "Figy Berries"
+msgstr "Bayas Higog"
+
+msgid "File {1}, line {2}\n{3}"
+msgstr "File {1}, line {2}\n{3}\n"
+
+msgid "File {1}, section {2}, key {3}\n{4}"
+msgstr "File {1}, section {2}, key {3}\n{4}\n"
+
+msgid "Fill all fields!"
+msgstr "¡Completa todas las teclas!"
+
+msgid "Finally someone worth battling!"
+msgstr "¡Finalmente alguien digno de combatir!"
+
+msgid "Fire"
+msgstr "Fuego"
+
+msgid "Fire's power was weakened!"
+msgstr "¡Se han debilitado los ataques de tipo Fuego!"
+
+msgid "First move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "First move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "Flying"
+msgstr "Volador"
+
+msgid "Folks, we're back with Round 2!"
+msgstr "¡Regresamos con la segunda ronda!"
+
+msgid "Font Style"
+msgstr "Fuente de Texto"
+
+msgid "For a Balanced trainer like you...\\^"
+msgstr "Para un entrenador Balanceado como tú...\\^"
+
+msgid "For a Defensive trainer like you...\\^"
+msgstr "Para un entrenador Defensivo como tú...\\^"
+
+msgid "For an Offensive trainer like you...\\^"
+msgstr "Para un entrenador Ofensivo como tú...\\^"
+
+msgid "For some reason this Pokémon can't be caught!"
+msgstr "¡Este Pokémon se rehúsa a ser atrapado!"
+
+msgid "For {1}'s {2},\n{3} sends {4}."
+msgstr "Por {2} de {1},\n{3} envía a {4}."
+
+msgid "For {1}'s {2},\n{3} sends {4}."
+msgstr "Por el {2} de {1},\n{3} envía a {4}."
+
+msgid "For {1}, the {2} was too bitter!"
+msgstr "¡La {2} estaba muy amarga para {1}!"
+
+msgid "For {1}, the {2} was too dry!"
+msgstr "¡La {2} estaba muy seca para {1}!"
+
+msgid "For {1}, the {2} was too sour!"
+msgstr "¡La {2} estaba muy ácida para {1}!"
+
+msgid "For {1}, the {2} was too spicy!"
+msgstr "¡La {2} estaba muy picante para {1}!"
+
+msgid "For {1}, the {2} was too sweet!"
+msgstr "¡La {2} estaba muy dulce para {1}!"
+
+msgid "Forest"
+msgstr "Bosque"
+
+msgid "Form"
+msgstr "Forma"
+
+msgid "Fourth move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Fourth move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "Fuse with which Pokémon?"
+msgstr "¿Fusionar con cuál Pokémon?"
+
+msgid "Game Version: {1}\nServer Version: {2}"
+msgstr "Versión del juego: {1}\nVersión del servidor: {2}"
+
+msgid "Ganlon Berries"
+msgstr "Bayas Gonlan"
+
+msgid "Gender"
+msgstr "Sexo"
+
+msgid "Genderless"
+msgstr "Sin-género"
+
+msgid "Genderless Shiny"
+msgstr "Variocolor"
+
+msgid "Gentle"
+msgstr "Amable"
+
+msgid "Ghost"
+msgstr "Fantasma"
+
+msgid "Give"
+msgstr "Dar"
+
+msgid "Give to which Pokémon?"
+msgstr "¿Dar a cuál Pokémon?"
+
+msgid "Give up trying to teach a new move to {1}?"
+msgstr "¿Dejar de enseñarle un movimiento a {1}?"
+
+msgid "Go back to the previous menu."
+msgstr "Volver al menú anterior."
+
+msgid "Go for it, {1}!"
+msgstr "¡Vamos, {1}!"
+
+msgid "Go! {1} and {2}!"
+msgstr "¡Adelante, {1} y {2}!"
+
+msgid "Go! {1}!"
+msgstr "¡Adelante, {1}!"
+
+msgid "Good endurance."
+msgstr "Buena Resistencia."
+
+msgid "Good perseverance."
+msgstr "Gran perseverancia."
+
+msgid "Goodness! That was quite a thorough rout.\nI may require some tea and\nbiscuits after this match.\nIf you like, you would be welcome to join me."
+msgstr "¡Maravilloso! Ha sido una digna derrota.\nRequeriré de té y bizcochos tras este encuentro.\nTe extiendo una invitación, si deseas acompañarme."
+
+msgid "Goodness, you are really quite strong."
+msgstr "Impresionante, realmente eres fuerte."
+
+msgid "Got away safely!"
+msgstr "¡Escapas sin problemas!"
+
+msgid "Gotcha! {1} was caught!"
+msgstr "¡Ya está! ¡{1} ha sido capturado!"
+
+msgid "Graphics/Pictures/BATTLE/battleBagChoices"
+msgstr "Graphics/Translations/Spanish/battleBagChoices_es"
+
+msgid "Graphics/Pictures/BATTLE/battleBagLast"
+msgstr "Graphics/Translations/Spanish/battleBagLast_es"
+
+msgid "Graphics/Pictures/BATTLE/battleFoeBoxS"
+msgstr "Graphics/Translations/Spanish/battleFoeBoxS_es"
+
+msgid "Graphics/Pictures/BATTLE/battleItemConfirm"
+msgstr "Graphics/Translations/Spanish/battleItemConfirm_es"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerBoxS"
+msgstr "Graphics/Translations/Spanish/battlePlayerBoxS_es"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerHPbar"
+msgstr "Graphics/Translations/Spanish/battlePlayerHPbar_es"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerHPbar2"
+msgstr "Graphics/Translations/Spanish/battlePlayerHPbar2_es"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerHPbar3"
+msgstr "Graphics/Translations/Spanish/battlePlayerHPbar3_es"
+
+msgid "Graphics/Pictures/BATTLE/moveSelButtons"
+msgstr "Graphics/Translations/Spanish/moveSelButtons_es"
+
+msgid "Graphics/Pictures/Pokedex/entryicons"
+msgstr "Graphics/Translations/Spanish/entryicons_es"
+
+msgid "Graphics/Pictures/Summary/summary0text"
+msgstr "Graphics/Translations/Spanish/summary0text_es"
+
+msgid "Graphics/Pictures/Summary/summary1text"
+msgstr "Graphics/Translations/Spanish/summary1text_es"
+
+msgid "Graphics/Pictures/Summary/summary2text"
+msgstr "Graphics/Translations/Spanish/summary2text_es"
+
+msgid "Graphics/Pictures/Summary/summary3text"
+msgstr "Graphics/Translations/Spanish/summary3text_es"
+
+msgid "Graphics/Pictures/Summary/summary4text"
+msgstr "Graphics/Translations/Spanish/summary4text_es"
+
+msgid "Graphics/Pictures/battleStatuses"
+msgstr "Graphics/Translations/Spanish/battlestatuses_es"
+
+msgid "Graphics/Pictures/boxpartytab"
+msgstr "Graphics/Translations/Spanish/boxpartytab_es"
+
+msgid "Graphics/Pictures/boxsides"
+msgstr "Graphics/Translations/Spanish/boxsides_es"
+
+msgid "Graphics/Pictures/jukeboxbg"
+msgstr "Graphics/Translations/Spanish/jukeboxbg_es"
+
+msgid "Graphics/Pictures/trcard.png"
+msgstr "Graphics/Translations/Spanish/trcard_es.png"
+
+msgid "Graphics/Pictures/types"
+msgstr "Graphics/Pictures/types_es"
+
+msgid "Graphics/Pictures/typesbw"
+msgstr "Graphics/Translations/Spanish/typesbw_es"
+
+msgid "Graphics/Titles/Start"
+msgstr "Graphics/Translations/Spanish/Start_es"
+
+msgid "Graphics/Titles/pic_4"
+msgstr "Graphics/Translations/Spanish/pic_4_es"
+
+msgid "Grass"
+msgstr "Planta"
+
+msgid "Grass grew to cover the battlefield!"
+msgstr "¡El terreno de combate se ha cubierto de hierba!"
+
+msgid "Gravity intensified!"
+msgstr "¡La gravedad aumentó!"
+
+msgid "Gravity returned to normal!"
+msgstr "¡La Gravedad volvió a la normalidad!"
+
+msgid "Gray"
+msgstr "Gris"
+
+msgid "Green"
+msgstr "Verde"
+
+msgid "Grepa Berries"
+msgstr "Bayas Uvav"
+
+msgid "Ground"
+msgstr "Tierra"
+
+msgid "Guara Berries"
+msgstr "Baya Guara"
+
+msgid "Gyahahaha! I expected nothing less from you! Go on to the next round, then. You deserve it!"
+msgstr "¡Wajajaja! ¡No esperaba menos de ti! Ve a la siguiente ronda, ¡te lo mereces!"
+
+msgid "HM moves can't be forgotten now."
+msgstr "No se pueden olvidar MOs ahora."
+
+msgid "HP"
+msgstr "PS"
+
+msgid "HP greater than total HP"
+msgstr "PS mayor al PS total"
+
+msgid "HP less than 0"
+msgstr "PS menor a 0"
+
+msgid "HP/Status"
+msgstr "PS/Estado"
+
+msgid "HT"
+msgstr "Alto"
+
+msgid "Haban Berries"
+msgstr "Bayas Anjiro"
+
+msgid "Hafli Berries"
+msgstr "Bayas Mevid"
+
+msgid "Hail continues to fall."
+msgstr "El granizo sigue cayendo."
+
+msgid "Hail is falling."
+msgstr "Está granizando."
+
+msgid "Hall of Fame"
+msgstr "Hall de la Fama"
+
+msgid "Hall of Fame No."
+msgstr "Hall de la Fama Número"
+
+msgid "Happiness"
+msgstr "Amistad"
+
+msgid "Hardy"
+msgstr "Fuerte"
+
+msgid "Hasty"
+msgstr "Activa"
+
+msgid "Hates to lose."
+msgstr "Odia perder."
+
+msgid "HeL̳ o-f FAmr"
+msgstr "Hall <<>>̳ama"
+
+msgid "Healing in-battle is disabled by your custom game settings!"
+msgstr "¡No puedes curar un Pokémon en combate por tu configuración personalizada!"
+
+msgid "Heavy to Light"
+msgstr "Peso + a –"
+
+msgid "Held item"
+msgstr "Objeto cargado"
+
+msgid "Helloooooo ladies, gentlemen,\npeople of Tandor!"
+msgstr "¡Señoras y señores,\ngente de Tándor!"
+
+msgid "Here we are! Round 4, the semifinals!"
+msgstr "¡Aquí estamos! Cuarta ronda, ¡las Semifinales!"
+
+msgid "Here you are!\nThank you!"
+msgstr "¡Aquí tienes!\n¡Muchas Gracias!"
+
+msgid "Here you go!"
+msgstr "¡Aquí tienes!"
+
+msgid "Hi there, \\PN!\nI wanted to thank you for stopping the Power Plant attacks.\nYou really did a good thing for Bealbeach City, and for all of Tandor!\nEver since I heard about that, I've been itching for a rematch.\nThis time, my team and I are going all-out!\nI hope you'll go all-out, too!"
+msgstr "¡Hey, \\PN!\nQuería darte las gracias por acabar con esos ataques a las Plantas Nucleares.\n¡Hiciste algo maravilloso por Miraplaya y por toda Tándor!\nDesde que lo supe, he ansiado una revancha.\nEsta vez, ¡mi equipo y yo lo daremos todo!\n¡Espero que también lo hagan tú y tu equipo!"
+
+msgid "Highly curious."
+msgstr "Bastante curioso."
+
+msgid "Highly persistent."
+msgstr "Muy persistente."
+
+msgid "Hit {1} time!"
+msgstr "¡Golpeó {1} vez!"
+
+msgid "Hit {1} times!"
+msgstr "¡Golpeó {1} veces!"
+
+msgid "Hiyah! I have honed my skills as a Surfer and a Ninja! We command mastery over the waves!"
+msgstr "¡Hai-ya! ¡He pulido mis habilidades como Surfista y Ninja! ¡Tenemos dominio sobre las olas!"
+
+msgid "Hmm... impressive."
+msgstr "Hmm... Impresionante."
+
+msgid "Hmph."
+msgstr "Hum."
+
+msgid "Hold down while walking to run."
+msgstr "Mantener presionado para correr."
+
+msgid "Hondew Berries"
+msgstr "Bayas Meluce"
+
+msgid "Honored \\PN,\nThere is a stirring in the wind.\nThe Gods murmur in the deep.\nA storm brews on the horizon.\nOur Village will soon be in danger.\nWithout your help, Tsukinami will fall."
+msgstr "Honorable \\PN,\nLos dioses alertan de una amenaza.\nEl balance ha sido perturbado.\nSe avecina una tormenta.\nNuestra aldea corre peligro.\nSin tu ayuda, Tsukinami perecerá."
+
+msgid "How many do you want to deposit?"
+msgstr "¿Qué cantidad quieres depositar?"
+
+msgid "How many do you want to withdraw?"
+msgstr "¿Qué cantidad quieres retirar?"
+
+msgid "Huh?"
+msgstr "¿Eh?"
+
+msgid "Huh?\nThe {1}'s responding!"
+msgstr "¿Eh?\n¡El {1} está respondiendo!"
+
+msgid "Huh?\n{1} stopped evolving!"
+msgstr "¿Eh?\n¡{1} dejó de evolucinar!"
+
+msgid "I alone command the incredible power of Dragons! Fear our unstoppable might!"
+msgstr "¡Comando el increíble poder de los Dragones! ¡Tiembla ante nuestro poderío indetenible!"
+
+msgid "I am a fossil revivification expert."
+msgstr "Soy un experto en revivificación de fósiles."
+
+msgid "I can feel the anticipation in the air.\nThese trainers have spent their entire lives preparing for this moment!"
+msgstr "Puedo sentir la tensión en el aire.\n¡Estos entrenadores han pasado una vida entera preparándose para este momento!"
+
+msgid "I can feel the tension crackling in the air."
+msgstr "Puedo sentir la tensión en el aire."
+
+msgid "I can pay ${1}.\nWould that be OK?"
+msgstr "Puedo pagarte ${1}.\n¿De acuerdo?"
+
+msgid "I can pay ${1}. Would that be OK?"
+msgstr "I can pay ${1}. Would that be OK?"
+
+msgid "I can tell that they both are itching for another fight!"
+msgstr "¡Puedo ver las ansias de\ncombate en sus ojos!"
+
+msgid "I can tell the crowd is loving this! It only gets more intense from here on out, folks!"
+msgstr "¡Puedo ver que el público los ama! ¡Esto se pone cada vez más intenso!"
+
+msgid "I do say!\nHave we perchance met before?\nI am certain we have.\nYou do leave quite an impression, indeed.\nHowever, allow me to reintroduce myself:\nI am Sr. Goldkorn.\nI represent a refined style of battle.\nA tradition which is sadly going away, it seems... But, I shall prove that refinement still has a place in the arena.\nPlease allow us to have a clean, civil match."
+msgstr "¡Debo decir!\n¿No nos hemos encontrado antes?\nEstoy seguro de que así es.\nNo eres alguien de ignorar.\nAun así, es mi deber presentarme nuevamente:\nMi nombre es Sir Goldkorn.\nVengo a representar un refinado estilo de combate. Una tradición que al parecer está en decline... Pero demostraré que aún tiene lugar en la arena.\nIniciemos así un combate limpio y civilizado."
+
+msgid "I have created... life!"
+msgstr "¡He creado... vida!"
+
+msgid "I kept the best for last!"
+msgstr "¡Dejé lo mejor para el final!"
+
+msgid "I know I look cute, but you shouldn't underestimate me! I won last year and I'll do it again!"
+msgstr "Sé que me veo linda, ¡pero no me subestimes! Gané el año anterior, ¡y lo haré de nuevo!"
+
+msgid "I say!"
+msgstr "¡He dicho!"
+
+msgid "I see a great future ahead of you, but are you ready for this?"
+msgstr "Veo que te espera un gran futuro, ¿pero podrás superar esto?"
+
+msgid "I see you command your Pokémon with great intelligence and respect. A lesser trainer could not have triumphed against us. I must bow to your superiority."
+msgstr "Veo que lideras a tus Pokémon con gran inteligencia y respeto. Un entrenador inferior no hubiese podido triunfar ante nosotros. He de inclinarme ante tu superioridad."
+
+msgid "I specialize in the mysterious and mystical Fairy type. Soon, you'll be under our spell."
+msgstr "Me especializo en el misterioso y mítico tipo Hada. Pronto estarás bajo nuestro hechizo."
+
+msgid "I use only the most perfect mechanical Pokémon. Your puny team won't stand a chance."
+msgstr "Hago uso solamente de los Pokémon más mecánicamente perfectos. Tu inútil equipo no podrá contra ellos."
+
+msgid "I will bring your Pokémon back to life in just a moment."
+msgstr "Traeré tu Pokémon de vuelta a la vida en solo un momento."
+
+msgid "I'd like to know your name.\nPlease tell me."
+msgstr "Aún no sé tu nombre.\n¿Cómo te llamas?"
+
+msgid "I'll throw in a Premier Ball, too."
+msgstr "Por tu compra de 10 Poké Balls, incluiré una Honor Ball de regalo."
+
+msgid "I've done it!"
+msgstr "¡Lo he hecho!"
+
+msgid "ID No."
+msgstr "Número"
+
+msgid "ID No. {1}"
+msgstr "Núm. {1}"
+
+msgid "IDNo. {1}"
+msgstr "NÚMERO: {1}"
+
+msgid "IDNo.{1}
"
+msgstr "Núm.{1}
"
+
+msgid "IDNo.{1}"
+msgstr "Entr.{1}"
+
+msgid "INELIGIBLE"
+msgstr "NO DISPONIBLE"
+
+msgid "INFO"
+msgstr "INFORMACIÓN"
+
+msgid "Iapapa Berries"
+msgstr "Bayas Pabaya"
+
+msgid "Ice"
+msgstr "Hielo"
+
+msgid "If both trainers are ready, then..."
+msgstr "Si ambos entrenadores están listos, entonces..."
+
+msgid "If the mail is removed, the message will be lost. OK?"
+msgstr "Si quitas la carta, se perderá para siempre. ¿OK?"
+
+msgid "If true, this map is part of the Safari Zone (both indoor and outdoor). Not to be used in the reception desk."
+msgstr "If true, this map is part of the Safari Zone (both indoor and outdoor). Not to be used in the reception desk."
+
+msgid "If you bring me a Pokémon fossil, I can restore it to life."
+msgstr "Si me traes un fósil Pokémon, puedo devolverlo a la vida."
+
+msgid "If you quit now, you will recieve {1} Coin(s). Will you quit?"
+msgstr "Si abandonas ahora, recibirás {1} Fichas. ¿Deseas abandonar?"
+
+msgid "If you see one, bring it to me."
+msgstr "Si ves uno, tráemelo."
+
+msgid "Impetuous and silly."
+msgstr "Un poco bromista."
+
+msgid "Impish"
+msgstr "Agitada"
+
+msgid "In Bag:{1:d}"
+msgstr "En Bolsa:{1:d}"
+
+msgid "In encounters.txt, expected a species entry line,\ngot \"{1}\" instead (probably too few entries in an encounter type).\nPlease check the format of the section numbered {2},\nwhich is just before this line.\n{3}"
+msgstr "In encounters.txt, expected a species entry line,\ngot \"{1}\" instead (probably too few entries in an encounter type).\nPlease check the format of the section numbered {2},\nwhich is just before this line.\n{3}"
+
+msgid "In the spirit of fairness all online features will be disabled on this save."
+msgstr "Es por esto que todas las funciones en línea de la Red de Tándor estarán permanentemente deshabilitadas."
+
+msgid "Incorrect value {1} in {2}\n{3}"
+msgstr "Incorrect value {1} in {2}\n{3}"
+
+msgid "Insert"
+msgstr "Insertar"
+
+msgid "Invalid pocket: {1}"
+msgstr "Bolsillo inválido: {1}"
+
+msgid "Invalid quoted field (in: {1})\n{2}"
+msgstr "Invalid quoted field (in: {1})\n{2}"
+
+msgid "Is it OK to throw away {1} {2}(s)?"
+msgstr "¿Tirar {1} {2}?"
+
+msgid "Is there anything else I can help you with?"
+msgstr "¿Hay algo más en lo que te pueda ayudar?"
+
+msgid "It appears to move occasionally. It may be close to hatching."
+msgstr "\nA veces se mueve.\nPuede que vaya a\neclosionar pronto."
+
+msgid "It broke all barriers!"
+msgstr "¡Rompió todas las barreras!"
+
+msgid "It can't be used when you have someone with you."
+msgstr "No puedes usarlo si te acompaña alguien."
+
+msgid "It can't be used while in the Hazard Suit."
+msgstr "No puedes usarlo mientras estés en el Traje de Seguridad."
+
+msgid "It contained {1}."
+msgstr "Contiene {1}."
+
+msgid "It created a bizarre area in which Pokémon's held items lose their effects!"
+msgstr "¡Los efectos de los objetos desaparecen!"
+
+msgid "It created a bizarre area in which the Defense and Sp. Def stats are swapped!"
+msgstr "¡Se ha creado un espacio en el que la Defensa y la Defensa Especial se invierten!"
+
+msgid "It doesn't affect\n{1}..."
+msgstr "No afecta a {1}..."
+
+msgid "It doesn't affect {1}.."
+msgstr "No afecta a {1}..."
+
+msgid "It doesn't affect {1}..."
+msgstr "No afecta a {1}..."
+
+msgid "It had no effect."
+msgstr "No surtió efecto."
+
+msgid "It hurt itself from its confusion!"
+msgstr "¡Está tan confuso que se ha herido a sí mismo!"
+
+msgid "It hurt itself in its confusion!"
+msgstr "¡Está tan confuso que se ha herido a sí mismo!"
+
+msgid "It is not often that we come down from the peak of Mt. Lanthanite. But, this region deserves a reminder of the power of dragons! You, who have proved yourself in the Five Trials... Have you what it takes to defeat us at our full strength?\nWRRRROOOAAAAARRRR!\nHear our battle cry!"
+msgstr "Es rara la ocasión en la que descendemos del Monte Lantánido. ¡Pero esta región merece recordar el poder de los dragones! Tú que has demostrado tu valía en las Cinco Pruebas... ¿Tienes lo que se necesita para vencer todo nuestro potencial?\n¡RRROOOAAAAARRRR!\n¡Oye el rugir de los dragones!"
+
+msgid "It is raining."
+msgstr "Está lloviendo."
+
+msgid "It looks like this Egg will take a long time to hatch."
+msgstr "Parece que este Huevo tardará mucho en eclosionar."
+
+msgid "It poisoned {1}!"
+msgstr "¡Envenenó a {1}!"
+
+msgid "It reduced the PP of {1}'s {2} by {3}!"
+msgstr "¡Se ha reducido los PP de {2} de {1} por {3}!"
+
+msgid "It started to hail!"
+msgstr "¡Ha empezado a granizar!"
+
+msgid "It started to rain!"
+msgstr "¡Ha empezado a llover!"
+
+msgid "It stole {1}'s {2}!"
+msgstr "¡Se ha robado {2} de {1}!"
+
+msgid "It was alerted to {1}'s {2}!"
+msgstr "¡Se alertó de {2} de {1}!"
+
+msgid "It was stored in box \"{1}\"."
+msgstr "Fue almacenado en la caja \"{1}\"."
+
+msgid "It was stored in box \"{1}.\""
+msgstr "Fue almacenado en la caja \"{1}.\""
+
+msgid "It was too weak to make a substitute!"
+msgstr "¡Está demasiado débil como para hacer un sustituto!"
+
+msgid "It will forget the song it knows."
+msgstr "Olvidará la canción que sabe."
+
+msgid "It won't have any effect"
+msgstr "No haría ningún efecto"
+
+msgid "It won't have any effect."
+msgstr "No tendrá ningún efecto."
+
+msgid "It's a Slot Machine."
+msgstr "Es un traga monedas."
+
+msgid "It's a big boulder, but a Pokémon may be able to push it aside."
+msgstr "Es una roca grande, pero puede que un Pokémon la pueda empujar."
+
+msgid "It's a dead coral, but a Pokémon may be able to smash it."
+msgstr "Es un coral muerto, puede que un Pokémon pueda romperlo."
+
+msgid "It's a large waterfall. Would you like to climb it?"
+msgstr "Es una gran cascada.\n¿Quieres escalarla?"
+
+msgid "It's a one-hit KO!"
+msgstr "¡K.O. en 1 golpe!"
+
+msgid "It's a rugged rock, but a Pokémon may be able to smash it."
+msgstr "Una roca, puede que un Pokémon pueda romperla."
+
+msgid "It's empty."
+msgstr "Está vacío."
+
+msgid "It's impossible to aim without being focused!"
+msgstr "¡Es imposible apuntar sin estar concentrado!"
+
+msgid "It's no good! It's impossible to aim when there are two Pokémon!"
+msgstr "¡Oh no! ¡No se puede apuntar cuando hay dos Pokémon!"
+
+msgid "It's not very effective..."
+msgstr "No es muy eficaz..."
+
+msgid "It's soft, earthy soil."
+msgstr "Es tierra blanda y fértil."
+
+msgid "It's soft, loamy soil.\nPlant a berry?"
+msgstr "El suelo es blando y fértil.\n¿Quieres plantar una Baya?"
+
+msgid "It's super effective!"
+msgstr "¡Es supereficaz!"
+
+msgid "It's too dangerous to fly to this location!"
+msgstr "¡Es muy peligroso volar allí!"
+
+msgid "Item"
+msgstr "Objeto"
+
+msgid "Item Storage"
+msgstr "Objetos Guardados"
+
+msgid "Items"
+msgstr "Objetos"
+
+msgid "Items aren't allowed in Tandor Championship battles."
+msgstr "No se permite el uso de objetos en el Campeonato de Tándor."
+
+msgid "Items aren't allowed in the Trial of Truth."
+msgstr "No se pueden usar objetos en la Prueba de la Verdad."
+
+msgid "Items can't be used here."
+msgstr "No puedes usar objetos aquí."
+
+msgid "Its hyper mode attack hurt {1}!"
+msgstr "¡Su modo de ataque hiper dañó a {1}!"
+
+msgid "Jaboca Berries"
+msgstr "Bayas Jaboca"
+
+msgid "Jan."
+msgstr "Ene."
+
+msgid "Jolly"
+msgstr "Alegre"
+
+msgid "Jump"
+msgstr "Saltar"
+
+msgid "Jump to which Box?"
+msgstr "¿Saltar a cuál caja?"
+
+msgid "Kasib Berries"
+msgstr "Bayas Drasi"
+
+msgid "Kebia Berries"
+msgstr "Bayas Kebia"
+
+msgid "Kelpsy Berries"
+msgstr "Bayas Algama"
+
+msgid "Key Items"
+msgstr "Obj. Claves"
+
+msgid "Kimono Girl"
+msgstr "Chica Kimono"
+
+msgid "LEARNED"
+msgstr "APRENDIDO"
+
+msgid "Landed a Pokémon!"
+msgstr "¡Un Pokémon está en el anzuelo!"
+
+msgid "Language"
+msgstr "Idioma"
+
+msgid "Lansat Berries"
+msgstr "Bayas Zonlan"
+
+msgid "Lass Abby"
+msgstr "Chica Abby"
+
+msgid "Latest Version = {1} \\wtnp[30]"
+msgstr "Versión más reciente = {1} \\wtnp[30]"
+
+msgid "Lax"
+msgstr "Floja"
+
+msgid "Lazy made {1} sleep!"
+msgstr "¡Pereza hizo que {1} se durmiera!"
+
+msgid "League Champion! Congratulations!"
+msgstr "¡Campeón de la Liga! ¡Enhorabuena!"
+
+msgid "League champion!\nCongratulations!\\^"
+msgstr "¡Campeón de la Liga!\n¡Enhorabuena!\\^"
+
+msgid "Left"
+msgstr "Izquierda"
+
+msgid "Leppa Berries"
+msgstr "Bayas Zanama"
+
+msgid "Let me register you."
+msgstr "Déjame registrarte."
+
+msgid "Let me tell you a story.\nThere once was a girl who dreamed of being a star in the Opera. ...Oh? You have heard this before? Alas... I was looking forward to my monologue.\nNow, I recall... you are \\PN.\nOn ye of great destiny... have your dreams become reality?\nOr are they still dreams?\nCan you tell the difference?\nCome, let us captivate the audience with our spectacular act!"
+msgstr "Déjame contarte una historia.\nHabía una vez una niña que soñaba con ser estrella de ópera. ...¿Ah? ¿Ya la has escuchado? Qué lástima... Ansiaba relatar mi monólogo.\nAhora lo recuerdo... Eres \\PN.\nEn ti que recae el destino... ¿se han hecho tus sueños realidad?\n¿O son todavía sueños?\n¿Puedes ver la diferencia?\nVen, ¡cautivemos a la audiencia con un acto espectacular!"
+
+msgid "Let's enjoy cycling!"
+msgstr "¡Disfrutemos del ciclismo!"
+
+msgid "Let's go!"
+msgstr "¡Buena suerte!"
+
+msgid "Let's make this battle one to remember!"
+msgstr "¡Hagamos de éste un combate memorable!"
+
+msgid "Let's see how you fare against this final dance move!"
+msgstr "¡Veamos cómo te las arreglas contra este movimiento de baile final!"
+
+msgid "Level"
+msgstr "Nivel"
+
+msgid "Level number is not valid: {1}\n{2}"
+msgstr "Level number is not valid: {1}\n{2}"
+
+msgid "Level {1}"
+msgstr "Nivel {1}"
+
+msgid "Liechi Berries"
+msgstr "Bayas Lichi"
+
+msgid "Light Screen raised the opposing team's Special Defense!"
+msgstr "¡Pantalla Luz aumenta la Defensa Especial del equipo enemigo!"
+
+msgid "Light Screen raised your team's Special Defense!"
+msgstr "¡Pantalla Luz aumenta la Defensa Especial de tu equipo!"
+
+msgid "Light is filtering down from above. A Pokémon may be able to surface here."
+msgstr "Puedes ver la luz en la superficie. Puede que un Pokémon te pueda subir."
+
+msgid "Light is filtering down from above. Would you like to surface?"
+msgstr "Puedes ver la luz en la superficie. ¿Quieres subir?"
+
+msgid "Light to Heavy"
+msgstr "Peso – a +"
+
+msgid "Likes to fight."
+msgstr "Le gusta pelear."
+
+msgid "Likes to relax."
+msgstr "Le gusta relajarse."
+
+msgid "Likes to run."
+msgstr "Le gusta correr."
+
+msgid "Likes to thrash about."
+msgstr "Le gusta jugar."
+
+msgid "List by body color.\nSpotted Pokémon only."
+msgstr "Ordenar por color.\nSolo Pokémon vistos."
+
+msgid "List by the first letter in the name.\nSpotted Pokémon only."
+msgstr "Ordenar alfabéticamente.\nSolo Pokémon vistos."
+
+msgid "List by type.\nOwned Pokémon only."
+msgstr "Ordenar por tipo.\nSolo Pokémon capturados."
+
+msgid "Log Off"
+msgstr "Desconectar"
+
+msgid "Log O̳f"
+msgstr "Desc̳̳̳r"
+
+msgid "Lonely"
+msgstr "Huraña"
+
+msgid "Look like the innocent flower, but be the serpent under it."
+msgstr "Aparenta ser una flor inocente, pero sé la serpiente que está debajo de ella."
+
+msgid "Loves to eat."
+msgstr "Ama la comida."
+
+msgid "Lucky Chant shielded the opposing team from critical hits!"
+msgstr "¡Conjuro protege al equipo enemigo de los golpes críticos!"
+
+msgid "Lucky Chant shielded your team from critical hits!"
+msgstr "¡Conjuro protege a tu equipo de los golpes críticos!"
+
+msgid "Lullaby"
+msgstr "Nana"
+
+msgid "Lum Berries"
+msgstr "Bayas Ziuela"
+
+msgid "Lv."
+msgstr "Niv"
+
+msgid "Lv. {1}"
+msgstr "Niv. {1}"
+
+msgid "Lv.{1}"
+msgstr "Niv {1}"
+
+msgid "MONEY:"
+msgstr "DINERO:"
+
+msgid "MOVE"
+msgstr "MOVER"
+
+msgid "MOVE ITEMS"
+msgstr "Mover Objetos"
+
+msgid "MOVE POKéMON"
+msgstr "Mover Pokémon"
+
+msgid "Machine"
+msgstr "Maquinaria"
+
+msgid "Magic Room wore off, and held items' effects returned to normal!"
+msgstr "¡La Zona Mágica se ha disipado, y los objetos equipados se pueden usar nuevamente!"
+
+msgid "Magnificent! A flawless performance!"
+msgstr "¡Magnífico! ¡Una actuación perfecta!"
+
+msgid "Magnitude {1}!"
+msgstr "¡Magnitud {1}!"
+
+msgid "Mago Berries"
+msgstr "Bayas Ango"
+
+msgid "Magost Berries"
+msgstr "Bayas Aostan"
+
+msgid "Mail"
+msgstr "Cartas"
+
+msgid "Mail must be removed before holding an item."
+msgstr "La carta debe ser entregada para poder llevar un objeto."
+
+msgid "Mail was taken from the Pokémon."
+msgstr "La carta ha sido entregada por el Pokémon."
+
+msgid "Mail was transferred from the Mailbox."
+msgstr "La carta ha sido enviada al buzón."
+
+msgid "Mailbox"
+msgstr "Correo"
+
+msgid "Main version is up-to-date however, there MAY be a new minor patch available.\\wtnp[30]"
+msgstr "Hubo un problema buscando actualizaciones. Es posible que haya un parche nuevo disponible.\\wtnp[30]"
+
+msgid "Main version is up-to-date however, there is a new minor patch available.\\wtnp[30]"
+msgstr "Hay un parche nuevo disponible. Se recomienda actualizar el juego para eliminar posibles problemas y bugs.\\wtnp[30]"
+
+msgid "Male"
+msgstr "Macho"
+
+msgid "Male Shiny"
+msgstr "Variocolor M"
+
+msgid "Map"
+msgstr "Mapa"
+
+msgid "March"
+msgstr "Marcha"
+
+msgid "Mark"
+msgstr "Marcar"
+
+msgid "Mark your Pokemon."
+msgstr "Marca a tu Pokémon."
+
+msgid "Masculine"
+msgstr "Masculino"
+
+msgid "Max"
+msgstr "Máx."
+
+msgid "Max. HP+{1}\nAttack+{2}\nDefense+{3}\nSp. Atk+{4}\nSp. Def+{5}\nSpeed+{6}"
+msgstr "PS. Máx.+{1}\nAtaque+{2}\nDefensa+{3}\nAt. Esp.+{4}\nDef. Esp.+{5}\nVelocidad+{6}"
+
+msgid "Max. HP{1}\nAttack{2}\nDefense{3}\nSp. Atk{4}\nSp. Def{5}\nSpeed{6}"
+msgstr "PS. Máx.{1}\nAtaque{2}\nDefensa{3}\nAt. Esp.{4}\nDef. Esp.{5}\nVelocidad{6}"
+
+msgid "Medicine"
+msgstr "Medicinas"
+
+msgid "Mega S51-A T"
+msgstr "Mega S51-A"
+
+msgid "Micle Berries"
+msgstr "Bayas Lagro"
+
+msgid "Mid"
+msgstr "Media"
+
+msgid "Mild"
+msgstr "Afable"
+
+msgid "Minimum level is greater than maximum level: {1}\n{2}"
+msgstr "Minimum level is greater than maximum level: {1}\n{2}"
+
+msgid "Mischievous."
+msgstr "Algo travieso."
+
+msgid "Mist swirled about the battlefield!"
+msgstr "¡El terreno de combate ha sido cubierto de niebla!"
+
+msgid "Modest"
+msgstr "Modesta"
+
+msgid "Money:\n{1}"
+msgstr "Dinero:\n{1}"
+
+msgid "Money:\n${1}"
+msgstr "Dinero:\n${1}"
+
+msgid "Most of it is illegible, I can only make out a few words."
+msgstr "Está muy dañada, pero se pueden entender algunas palabras."
+
+msgid "Most of the pages are missing. I can't make out anything."
+msgstr "Está muy dañada y le faltan muchas páginas. No hay nada de interés."
+
+msgid "Move"
+msgstr "Mover"
+
+msgid "Move Pokémon"
+msgstr "Mover Pokémon"
+
+msgid "Move Pokémon stored in Boxes to your party."
+msgstr "Mover Pokémon guardados en Cajas a tu equipo."
+
+msgid "Move Pokémon stored in boxes to your party."
+msgstr "Mover Pokémon depositados en cajas a tu equipo."
+
+msgid "Move items held by any Pokémon in a Box and your party."
+msgstr "Mover los objetos equipados de tus Pokémon en cajas y en tu equipo."
+
+msgid "Move to Bag"
+msgstr "Mover a la Bolsa"
+
+msgid "Move to where?"
+msgstr "¿Mover a dónde?"
+
+msgid "Moves"
+msgstr "Movimientos"
+
+msgid "Moves the main character. Also used to scroll through list entries."
+msgstr "Mover el personaje y desplazarse en los menús."
+
+msgid "Multiply"
+msgstr "Multiplicar"
+
+msgid "Music Volume"
+msgstr "Volumen de Música"
+
+msgid "My Pokémon have saved countless lives on the sea. We're ready for any challenge!"
+msgstr "Mis Pokémon han salvado a incontables vidas en el mar. ¡Estamos listos para cualquier desafío!"
+
+msgid "My Pokémon's fiery dance moves will ignite the battlefield!"
+msgstr "¡Los flamantes pasos de baile de mis Pokémon incendiarán el campo de batalla!"
+
+msgid "Mystery Gift"
+msgstr "Regalo Misterioso"
+
+msgid "NAME: {1}"
+msgstr "NOMBRE: {1}"
+
+msgid "NOT ABLE"
+msgstr "NO PUEDE"
+
+msgid "NOT ENTERED"
+msgstr "NO ELEGIDO"
+
+msgid "Naive"
+msgstr "Ingenua"
+
+msgid "Name"
+msgstr "Nombre"
+
+msgid "Name{1}
"
+msgstr "Nombre{1}
"
+
+msgid "Nanab Berries"
+msgstr "Bayas Latano"
+
+msgid "National Pokédex"
+msgstr "Pokédex de Tándor"
+
+msgid "Nature"
+msgstr "Naturaleza"
+
+msgid "Naughty"
+msgstr "Pícara"
+
+msgid "Neutral"
+msgstr "Neutro"
+
+msgid "New Game"
+msgstr "Nueva Partida"
+
+msgid "Newer"
+msgstr "Más reciente"
+
+msgid "Nickname"
+msgstr "Apodo"
+
+msgid "No Entry"
+msgstr "No Entrar"
+
+msgid "No Pokemon was found."
+msgstr "No se encontró ningún Pokémon."
+
+msgid "No ability"
+msgstr "Sin habilidad"
+
+msgid "No item"
+msgstr "Sin objeto"
+
+msgid "No items may be used other than what the Pokémon already hold."
+msgstr "Solo se pueden usar los objetos que los Pokémon ya lleven consigo."
+
+msgid "No matching Pokémon were found."
+msgstr "No se encontraron Pokémon acordes."
+
+msgid "No more than {1} Pokémon may enter."
+msgstr "Solo {1} Pokémon pueden entrar."
+
+msgid "No new gifts are available."
+msgstr "No hay regalos nuevos disponibles."
+
+msgid "No online Mystery Gifts found.\\wtnp[20]"
+msgstr "No se pudo encontrar ningún Regalo Misterioso.\\wtnp[20]"
+
+msgid "No options have been disabled."
+msgstr "No has desactivado ninguna opción."
+
+msgid "No room to deposit a Pokémon"
+msgstr "No queda espacio para depositar un Pokémon."
+
+msgid "No supported recording device was found. Recording is not possible."
+msgstr "No supported recording device was found. Recording is not possible."
+
+msgid "No surfing here!"
+msgstr "¡No se puede surfear aquí!"
+
+msgid "No targets somehow..."
+msgstr "¿Qué? No hay blancos..."
+
+msgid "No trainer data file given in section {1}\n{2}"
+msgstr "No trainer data file given in section {1}\n{2}"
+
+msgid "No! There's no running from a Nuclear Horde!"
+msgstr "¡No! ¡No se puede huir de una Horda Nuclear!"
+
+msgid "No! There's no running from a Trainer battle!"
+msgstr "¡No puedes huir de un\ncombate de Entrenador!"
+
+msgid "No. ???"
+msgstr "Núm. ???"
+
+msgid "No. {1:03d}"
+msgstr "Núm. {1:03d}"
+
+msgid "Nomel Berries"
+msgstr "Bayas Monli"
+
+msgid "None"
+msgstr "Ninguno"
+
+msgid "Nope. Nothing..."
+msgstr "Nada..."
+
+msgid "Normal Save"
+msgstr "Normal"
+
+msgid "North side of first map must connect with south side of second map\n{1}"
+msgstr "North side of first map must connect with south side of second map\n{1}"
+
+msgid "Not enough HP..."
+msgstr "PS Insuficientes..."
+
+msgid "Not even a nibble..."
+msgstr "Hoy no pican..."
+
+msgid "Not... strong enough..."
+msgstr "Carezco... de fuerza..."
+
+msgid "Note: You will NOT be able to change these later!"
+msgstr "Nota: Una vez seleccionadas, no puedes volver a cambiar las reglas dentro del juego."
+
+msgid "Number"
+msgstr "Numérico"
+
+msgid "Nuzlocke"
+msgstr "Desafío Nuzlocke"
+
+msgid "OBTAINED{1:d}"
+msgstr "OBTENIDOS{1:d}"
+
+msgid "OFF"
+msgstr "NO"
+
+msgid "ON"
+msgstr "SÍ"
+
+msgid "OPTIONS"
+msgstr "Opciones"
+
+msgid "OT"
+msgstr "Entrenador"
+
+msgid "OT/{1}"
+msgstr "EO/{1}"
+
+msgid "Occa Berries"
+msgstr "Bayas Caoca"
+
+msgid "Of the 32 trainers that entered the arena today, only 8 remain!"
+msgstr "De los 32 entrenadores que ingresaron a la arena hoy, ¡quedan solo 8 en pie!"
+
+msgid "Off"
+msgstr "No"
+
+msgid "Often dozes off."
+msgstr "Algo desconcentrado."
+
+msgid "Often lost in thought."
+msgstr "Sueña despierto."
+
+msgid "Often scatters things."
+msgstr "Algo desordenado."
+
+msgid "Oh no! The Pokémon broke free!"
+msgstr "¡Oh, no! ¡El Pokémon se ha escapado!"
+
+msgid "Oh! A bite!"
+msgstr "¡Oh! ¡Han picado!"
+
+msgid "Oh! \\PN, it is good to see you again.\nI'll never forget how you rescued me from the clutches of the Seikamater.\nIn my Gym, you dazzled us with your flawless coordinated moves.\nI can see you have gotten far stronger. But so have we!\nCan you keep up with our fast footwork?\nLet our beautiful dance moves set this arena aflame!"
+msgstr "¡Oh! Qué alegría verte de nuevo, \\PN.\nNunca olvidaré cómo me rescataste del yugo de la Seikamater.\nNi cómo nos deslumbraste en el Gimnasio con tus ataques coordinados.\nPuedo ver que te has vuelto mucho más fuerte. ¡Pero nosotros también!\n¿Puedes seguir nuestro ritmo?\n¡Que nuestros hermosos pasos de baile enciendan esta arena en llamas!"
+
+msgid "Oh, marvelous! And in such good condition too."
+msgstr "¡Oh, estupendo! Y está en buenas condiciones, además."
+
+msgid "Oh, your {1}... It's Hidden Power is {2} type with a base power of {3}."
+msgstr "Tu {1}... Si fuera a usar Poder Oculto, sería del tipo {2}."
+
+msgid "Oh... my... GOSH!!\nCan it be? Is it \\PN?\nI totally remember you!\nIt feels like forever ago that you challenged my gym.\nYou know, I totally went easy on you back then, right?~\nBut here in the arena, I won't hold back at all!\nI didn't win the Championship one time by slacking off, ya know?"
+msgstr "No...\\wt[20] puede...\\wt[20] ¡¡SER!!\\wt[20]\n¿Será posible? ¿Eres tú, \\PN?\n¡Claro que te recuerdo!\nHace una eternidad que desafiaste mi gimnasio.\nSabes que fui suave contigo aquella vez, ¿no es así?~\nPero en esta arena, ¡no me guardaré nada!\nNo gané el Campeonato la última vez tomándomelo a la ligera, ¿sabes?"
+
+msgid "Old School Poison"
+msgstr "Veneno Intenso"
+
+msgid "Omigosh! You're totally incredible!~"
+msgstr "¡Solo mírate! ¡Eres totalmente increíble!~"
+
+msgid "On"
+msgstr "Sí"
+
+msgid "Once again...\nI am shown defeat.\nHow can I cope with such disgrace?\nTo my home village, I return once again."
+msgstr "Una vez más...\nObservo la derrota.\n¿Cómo puedo superar la desgracia?\nA mi aldea hogar, he de regresar."
+
+msgid "One or more fonts used in this game do not exist on the system."
+msgstr "Tu sistema no posee una o más de las fuentes de texto que usa este juego."
+
+msgid "Online ID set to {1}."
+msgstr "ID Online establecido a {1}."
+
+msgid "Online Mystery Gifts found.\\wtnp[20]"
+msgstr "Regalo(s) encontrado(s).\\wtnp[20]"
+
+msgid "Only four trainers remain in the arena. They are Tandor's best and brightest!"
+msgstr "Solo quedan cuatro entrenadores en la arena. ¡Son de los mejores y más brillantes de Tándor!"
+
+msgid "Only one or two wild Pokémon are allowed"
+msgstr "Solo uno o dos Pokémon son permitidos."
+
+msgid "Only one wild Pokémon is allowed in single battles"
+msgstr "Solo un Pokémon salvaje es permitido en combates sencillos."
+
+msgid "Only two wild Pokémon are allowed in double battles"
+msgstr "Solo dos Pokémon salvajes son permitidos en combates dobles."
+
+msgid "Ooh, I'm so excited!"
+msgstr "¡Uuuy, qué emoción!"
+
+msgid "Opponent 1 doesn't have any eligible pokemon for a sky battle"
+msgstr "Oponente 1 no tiene ningún Pokémon elegible para un combate aéreo"
+
+msgid "Opponent 1 has no unfainted Pokémon"
+msgstr "El Oponente 1 no tiene Pokémon aptos para combatir"
+
+msgid "Opponent 2 doesn't have any eligible pokemon for a sky battle"
+msgstr "Oponente 2 no tiene ningún Pokémon elegible para un combate aéreo"
+
+msgid "Opponent 2 has no unfainted Pokémon"
+msgstr "El Oponente 2 no tiene Pokémon aptos para combatir"
+
+msgid "Opponents with zero or more than two people are not allowed"
+msgstr "Oponentes con cero o más de dos personas no son pemitidos."
+
+msgid "Options"
+msgstr "Opciones"
+
+msgid "Or maybe it's just that you're so young, I can't tell.\\^"
+msgstr "O quizá es que seas demasiado joven, no sabría decirlo.\\^"
+
+msgid "Oran Berries"
+msgstr "Bayas Aranja"
+
+msgid "Orchynx is the best pick!\\wtnp[160]"
+msgstr "¡Orchynx es la mejor opción!\\wtnp[160]"
+
+msgid "Organize the Pokémon in Boxes and in your party."
+msgstr "Organizar los Pokémon de tus cajas y tu equipo."
+
+msgid "Other Save Files"
+msgstr "Otras Partidas"
+
+msgid "Our sophisticated strategy will overcome trainers of a lower class."
+msgstr "Nuestra sofisticada estrategia superará a los entrenadores de clase inferior."
+
+msgid "Owned Pokémon are listed from heaviest to lightest."
+msgstr "Pokémon capturados ordenados de más pesado a menos."
+
+msgid "Owned Pokémon are listed from lightest to heaviest."
+msgstr "Pokémon capturados ordenados de menos pesado a más."
+
+msgid "Owned Pokémon are listed from smallest to tallest."
+msgstr "Pokémon capturados ordenados de más pequeño a más alto."
+
+msgid "Owned Pokémon are listed from tallest to smallest."
+msgstr "Pokémon capturados ordenados de más alto a más pequeño."
+
+msgid "Ownership"
+msgstr "Dueño/a"
+
+msgid "PA: Ding-dong!"
+msgstr "PA: Ding-dong!"
+
+msgid "PA: You have no Safari Balls left! Game over!"
+msgstr "PA: You have no Safari Balls left! Game over!"
+
+msgid "PA: Your safari game is over!"
+msgstr "PA: Your safari game is over!"
+
+msgid "PLACE"
+msgstr "COLOCAR"
+
+msgid "POKeDEX:"
+msgstr "POKÉDEX:"
+
+msgid "POKÉDEX"
+msgstr "Pokédex"
+
+msgid "POKÉMON"
+msgstr "Pokémon"
+
+msgid "POKÉPOD"
+msgstr "PokéPod"
+
+msgid "POWER"
+msgstr "PODER"
+
+msgid "PP was restored."
+msgstr "Los PP se han restaurado."
+
+msgid "PU-Intro1"
+msgstr "../Translations/Spanish/PU-Intro1_es"
+
+msgid "Pamtre Berries"
+msgstr "Bayas Plama"
+
+msgid "Party 1 has more than {1} Pokémon."
+msgstr "El equipo 1 tiene más de {1} Pokémon."
+
+msgid "Party 2 has more than {1} Pokémon."
+msgstr "El equipo 2 tiene más de {1} Pokémon."
+
+msgid "Passho Berries"
+msgstr "Bayas Pasio"
+
+msgid "Patience and endurance are your biggest assets.\\^"
+msgstr "La paciencia y la resistencia son tus mayores cualidades.\\^"
+
+msgid "Pause"
+msgstr "Pausa"
+
+msgid "Payapa Berries"
+msgstr "Bayas Payapa"
+
+msgid "Pecha Berries"
+msgstr "Bayas Meloc"
+
+msgid "Performance Mode"
+msgstr "Optimización"
+
+msgid "Permanently disable the options you unchecked."
+msgstr "Desactiva permanentemente las opciones personalizadas que desmarcaste."
+
+msgid "Persim Berries"
+msgstr "Bayas Caquic"
+
+msgid "Petaya Berries"
+msgstr "Bayas Yapati"
+
+msgid "Phew! That was fun!"
+msgstr "¡Fiu! ¡Eso fue divertido!"
+
+msgid "Phone"
+msgstr "Teléfono"
+
+msgid "Pick the wallpaper."
+msgstr "Elige un fondo para la caja."
+
+msgid "Picnicker Cindy"
+msgstr "Dominguera Cindy"
+
+msgid "Pinap Berries"
+msgstr "Bayas Pinia"
+
+msgid "Pink"
+msgstr "Rosa"
+
+msgid "PkMn Trainer"
+msgstr "Entrenador"
+
+msgid "Place"
+msgstr "Colocar"
+
+msgid "Plant Berry"
+msgstr "Plantar Baya"
+
+msgid "Play Voltorb Flip Lv. {1}?"
+msgstr "¿Jugar a Giravoltorb Nivel {1}?"
+
+msgid "Play the game in {1}?"
+msgstr "¿Jugar en {1}?"
+
+msgid "Play the game in..."
+msgstr "Jugar en..."
+
+msgid "Play the game with a custom ruleset for increased difficulty.\nNot recommended for new players."
+msgstr "Este modo consta de reglas personalizadas para darle al juego una dificultad mayor. No es recomendado para jugadores nuevos."
+
+msgid "Player trainers with zero or more than two people are not allowed"
+msgstr "Jugador con cero o más de dos oponentes no son permitidos."
+
+msgid "Player{2}
"
+msgstr "Nombre{2}
"
+
+msgid "Please choose the new settings for your Nuzlocke game."
+msgstr "Para esto, por favor configura las nuevas reglas adicionales de tu desafío Nuzlocke."
+
+msgid "Please come again!"
+msgstr "¡Vuelve pronto!"
+
+msgid "Please enter a message (max. 256 characters)."
+msgstr "Introduzca el mensaje (máx. 256 caracteres)."
+
+msgid "Please enter a message (max. {1} characters)."
+msgstr "Introduzca el mensaje (máx. {1} caracteres)."
+
+msgid "Please enter the search criteria."
+msgstr "Introducir método de búsqueda"
+
+msgid "Please pick up your gift from the deliveryman in any Poké Mart."
+msgstr "Por favor recoge tu regalo hablando con el repartidor en cualquier Tienda Pokémon."
+
+msgid "Please remove the Mail."
+msgstr "Por favor recibe la carta."
+
+msgid "Please remove the mail."
+msgstr "Por favor reciba la carta."
+
+msgid "Please, run the patcher.exe on your game folder."
+msgstr "Para actualizarlo, debes usar el Patcher que viene con el juego."
+
+msgid "Pointed stones dug into {1}!"
+msgstr "¡Unas piedras puntiagudas han dañado a {1}!"
+
+msgid "Pointed stones float in the air around your foe's team!"
+msgstr "¡El equipo enemigo ha sido rodeado de piedras puntiagudas!"
+
+msgid "Pointed stones float in the air around your team!"
+msgstr "¡Tu equipo ha sido rodeado de piedras puntiagudas!"
+
+msgid "Poison"
+msgstr "Veneno"
+
+msgid "Poison spikes were scattered all around the opposing team's feet!"
+msgstr "¡El equipo enemigo ha sido rodeado de Púas Tóxicas!"
+
+msgid "Poison spikes were scattered all around your team's feet!"
+msgstr "¡Tu equipo ha sido rodeado de Púas Tóxicas!"
+
+msgid "Pokedex/dex_discover"
+msgstr "../Translations/Spanish/dex_discover_es"
+
+msgid "Pokedex/searchdex"
+msgstr "../Translations/Spanish/searchdex_es"
+
+msgid "Pokedex/selectdex"
+msgstr "../Translations/Spanish/selectdex_es"
+
+msgid "Pokemon"
+msgstr "Pokémon"
+
+msgid "Pokemon Box data is corrupt and can not be automatically recovered."
+msgstr "Se han detectado datos corruptos en las cajas de la PC. Recuperación fallida."
+
+msgid "Pokemon Box data was corrupt and has been automatically recovered."
+msgstr "Se han detectado datos corruptos en las cajas de la PC. Recuperación exitosa."
+
+msgid "Poké Center"
+msgstr "Centro PKMN"
+
+msgid "Poké Marts are disabled by your custom game settings!"
+msgstr "¡Las Tiendas Pokémon están desactivadas por tu configuración personalizada!"
+
+msgid "Pokédex registration completed."
+msgstr "Análisis de Pokédex completo."
+
+msgid "Pokémon already has mail"
+msgstr "El Pokémon ya tiene correo."
+
+msgid "Pokémon are listed according to their number."
+msgstr "Pokémon ordenados por su número."
+
+msgid "Pokémon can be killed by poison outside of battle as in the first three gens."
+msgstr "El envenenamiento puede matar a un Pokémon fuera de combate."
+
+msgid "Pokémon of a species you already caught don't count as an encounter if you run."
+msgstr "Puedes huir de una especie ya atrapada en una nueva ruta y no contará."
+
+msgid "Pomeg Berries"
+msgstr "Bayas Grana"
+
+msgid "Poof!"
+msgstr "¡Puf!"
+
+msgid "Position {1},{2} is empty..."
+msgstr "La posición {1},{2} está vacía..."
+
+msgid "Position {1},{2} is not empty..."
+msgstr "La posición {1},{2} no está vacía..."
+
+msgid "Press a new key."
+msgstr "Presiona la tecla nueva."
+
+msgid "Press to use a registered Key Item."
+msgstr "Usar un Objeto Clave registrado."
+
+msgid "Prevents Pokémarts from being used."
+msgstr "No podrás comprar o vender objetos en las Tiendas Pokémon."
+
+msgid "Prevents the player from using healing items in battle."
+msgstr "No podrás usar objetos curativos durante un combate."
+
+msgid "Print"
+msgstr "Imprimir"
+
+msgid "Proceed anyway?"
+msgstr "¿Continuar de todas formas?"
+
+msgid "Professor Bamb'o"
+msgstr "Profesor Bamb'o"
+
+msgid "Prog--- is ---- --- -- --dename 092. --- ----- --- from radiation-----s biofiber. It ---- -- ---- to reconstru-- --- -- damage-"
+msgstr "-- -- -------- progreso -------- --- Código 092. -- cor-za ---- ----- -e biofibra ------ a la radiación, - ----- reconstrui--- -- --- dañad-."
+
+msgid "Pronouns"
+msgstr "Pronombres"
+
+msgid "Proud of its power."
+msgstr "Orgulloso de su fuerza."
+
+msgid "Psychic"
+msgstr "Psíquico"
+
+msgid "Purple"
+msgstr "Morado"
+
+msgid "Qualot Berries"
+msgstr "Bayas Ispero"
+
+msgid "Quick Guard protected your team!"
+msgstr "¡Anticipo protege a tu equipo!"
+
+msgid "Quick Guard protected {1}!"
+msgstr "¡Anticipo protegió a {1}!"
+
+msgid "Quick tempered."
+msgstr "Algo enojón."
+
+msgid "Quick to flee."
+msgstr "Huye fácilmente."
+
+msgid "Quiet"
+msgstr "Mansa"
+
+msgid "Quirky"
+msgstr "Rara"
+
+msgid "Quit"
+msgstr "Salir"
+
+msgid "Quit shopping."
+msgstr "Dejar de comprar."
+
+msgid "R/S"
+msgstr "2"
+
+msgid "REPLACE"
+msgstr "REEMPLAZAR"
+
+msgid "RESULTS{1:d}"
+msgstr "RESULTADOS{1:d}"
+
+msgid "ROTATE"
+msgstr "ROTAR"
+
+msgid "Rabuta Berries"
+msgstr "Bayas Rautan"
+
+msgid "Rain"
+msgstr "Lluvia"
+
+msgid "Rain continues to fall."
+msgstr "La lluvia sigue cayendo."
+
+msgid "Raises trainer's Pokémon levels while keeping the same EXP yields."
+msgstr "Aumenta el nivel de todos los entrenadores,\nsin aumentar la ganancia de Exp."
+
+msgid "Randomizer"
+msgstr "Modo Randomizer"
+
+msgid "Raptorch is the best pick!\\wtnp[160]"
+msgstr "¡Raptorch es la mejor opción!\\wtnp[160]"
+
+msgid "Rash"
+msgstr "Alocada"
+
+msgid "Rawst Berries"
+msgstr "Bayas Safre"
+
+msgid "Razz Berries"
+msgstr "Bayas Frambu"
+
+msgid "Reached end of file unexpectedly. There were too few entries in the last section, expected {1} entries.\nPlease check the format of the section numbered {2}.\n{3}"
+msgstr "Reached end of file unexpectedly. There were too few entries in the last section, expected {1} entries.\nPlease check the format of the section numbered {2}.\n{3}"
+
+msgid "Read"
+msgstr "Leer"
+
+msgid "Receive"
+msgstr "Recibir"
+
+msgid "Received the {1} from {2}."
+msgstr "Obtienes {1} por parte de {2}."
+
+msgid "Red"
+msgstr "Rojo"
+
+msgid "Reflect raised the opposing team's Defense!"
+msgstr "¡Reflejo aumenta la Defensa del equipo enemigo!"
+
+msgid "Reflect raised your team's Defense!"
+msgstr "¡Reflejo aumenta la Defensa de tu equipo!"
+
+msgid "Regardless...\\. For a Trainer like you...\\^"
+msgstr "Aun así...\\. Para un Entrenador decisivo como tú...\\^"
+
+msgid "Register"
+msgstr "Registrar"
+
+msgid "Registered {1} in the Poképod."
+msgstr "Se registró a {1}\nen el PokéPod."
+
+msgid "Registered
"
+msgstr "Registrado
"
+
+msgid "Regular Mode"
+msgstr "Modo Normal"
+
+msgid "Relaxed"
+msgstr "Plácida"
+
+msgid "Release"
+msgstr "Liberar"
+
+msgid "Release All"
+msgstr "Liberarlos a Todos"
+
+msgid "Release this Pokémon?"
+msgstr "¿Liberar este Pokémon?"
+
+msgid "Remap controls to any other keys."
+msgstr "Ver y cambiar los controles del juego."
+
+msgid "Remember Save"
+msgstr "Recordar Partida"
+
+msgid "Removes some details to improve performance, specially in battle."
+msgstr "Elimina algunos detalles para que el juego corra un poco mejor."
+
+msgid "Repel isn't working in this location!"
+msgstr "¡Los Repelentes no funcionan aquí!"
+
+msgid "Repel's effect wore off..."
+msgstr "El Repelente ha dejado de hacer efecto..."
+
+msgid "Report #01"
+msgstr "Informe #01"
+
+msgid "Report #01:"
+msgstr "Informe #01:"
+
+msgid "Report #02"
+msgstr "Informe #02"
+
+msgid "Report #02:"
+msgstr "Informe #02:"
+
+msgid "Report #03"
+msgstr "Informe #03"
+
+msgid "Report #03:"
+msgstr "Informe #03:"
+
+msgid "Report #04"
+msgstr "Informe #04"
+
+msgid "Report #04:"
+msgstr "informe #04:"
+
+msgid "Report #05"
+msgstr "Informe #05"
+
+msgid "Report #05:"
+msgstr "Informe #05:"
+
+msgid "Required value '{1}' not given in section '{2}'\n{3}"
+msgstr "Required value '{1}' not given in section '{2}'\n{3}"
+
+msgid "Restore which move?"
+msgstr "¿Qué movimiento recuperarás?"
+
+msgid "Return To Game"
+msgstr "Seguir jugando"
+
+msgid "Return To Menu"
+msgstr "Cancelar"
+
+msgid "Return to game mode selection menu?"
+msgstr "¿Regresar a la selección de modo de juego?"
+
+msgid "Return to previous menu."
+msgstr "Confirmar los cambios y salir."
+
+msgid "Return to the previous menu."
+msgstr "Volver al menú anterior."
+
+msgid "Right"
+msgstr "Derecha"
+
+msgid "Rindo Berries"
+msgstr "Bayas Tamar"
+
+msgid "River"
+msgstr "Río"
+
+msgid "Rock"
+msgstr "Roca"
+
+msgid "Rowap Berries"
+msgstr "Bayas Magua"
+
+msgid "Run"
+msgstr "Huir"
+
+msgid "S: Go to another map"
+msgstr "S: Go to another map\n"
+
+msgid "SAVE"
+msgstr "Guardar"
+
+msgid "SE Volume"
+msgstr "Volumen de Audio"
+
+msgid "SECOND"
+msgstr "SEGUNDO"
+
+msgid "SEE YA!"
+msgstr "Apagar"
+
+msgid "SEEN{1:d}"
+msgstr "VISTOS{1:d}"
+
+msgid "SHINY SEEN"
+msgstr "Variocolor"
+
+msgid "SIXTH"
+msgstr "SEXTO"
+
+msgid "SKIPPING BATTLE..."
+msgstr "SALTANDO COMBATE..."
+
+msgid "START"
+msgstr "BUSCAR"
+
+msgid "STOCK POKéMON:\n{1} Lv{2} MaxHP: {3}\nTHIS POKéMON:\n{4} Lv{5} MaxHP: {6}"
+msgstr "STOCK POKéMON:\n {1} Lv{2} MaxHP: {3}\nTHIS POKéMON:\n {4} Lv{5} MaxHP: {6}"
+
+msgid "SUMMARY"
+msgstr "DESCRIPCIÓN"
+
+msgid "SWITCH"
+msgstr "CAMBIAR"
+
+msgid "Salac Berries"
+msgstr "Bayas Aslac"
+
+msgid "Sandstorm"
+msgstr "Tormenta Arena"
+
+msgid "Sassy"
+msgstr "Grosera"
+
+msgid "Savanna"
+msgstr "Sabana"
+
+msgid "Save changes?"
+msgstr "¿Guardar cambios?"
+
+msgid "Scatters things often."
+msgstr "Algo alocado."
+
+msgid "Score: {1}\nHits: {2}/{3}"
+msgstr "Puntaje: {1}\nAciertos: {2}/{3}"
+
+msgid "Screen Size"
+msgstr "Tamaño de Pantalla"
+
+msgid "Seafloor"
+msgstr "Mar"
+
+msgid "Search"
+msgstr "Buscar"
+
+msgid "Search Mode"
+msgstr "Modo de Búsqueda"
+
+msgid "Search for Pokémon based on selected parameters."
+msgstr "Buscar a un Pokémon por parámetros."
+
+msgid "Searching for a gift.\nPlease wait...\\wtnp[0]"
+msgstr "Buscando regalos.\nPor favor espera...\\wtnp[0]"
+
+msgid "Searching for online gifts...\\wtnp[0]"
+msgstr "Buscando regalos en línea...\\wtnp[0]"
+
+msgid "Second move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Second move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "See ya!"
+msgstr "Apagar"
+
+msgid "Select"
+msgstr "Elegir"
+
+msgid "Select Level (Max 20)"
+msgstr "Seleccionar Dificultad (1-20)"
+
+msgid "Select the Pokédex listing mode."
+msgstr "Selecciona el modo de listado."
+
+msgid "Select the online ID."
+msgstr "Elige el ID Online de tu contrincante."
+
+msgid "Sell"
+msgstr "Vender"
+
+msgid "Send the removed mail to your PC?"
+msgstr "¿Enviar la carta a la PC?"
+
+msgid "Separator"
+msgstr "Separador"
+
+msgid "Serious"
+msgstr "Seria"
+
+msgid "Set"
+msgstr "Mantener"
+
+msgid "Set Controls"
+msgstr "Controles"
+
+msgid "Set Player's Online ID"
+msgstr "Establezca la ID Online del Jugador"
+
+msgid "Set how often the game will autosave in minutes."
+msgstr "Número de minutos entre autoguardados."
+
+msgid "Shift"
+msgstr "Cambiar"
+
+msgid "Shininess"
+msgstr "Variocolor"
+
+msgid "Shiny"
+msgstr "Variocolor"
+
+msgid "Shiny Clause"
+msgstr "Cláusula Variocolor"
+
+msgid "Shoot! It was so close, too!"
+msgstr "¡Qué pena! ¡Estuviste tan cerca!"
+
+msgid "Short to Tall"
+msgstr "Alto – a +"
+
+msgid "Should {1} stop learning {2}?"
+msgstr "¿Debería {1} dejar de aprender {2}?"
+
+msgid "Shuca Berries"
+msgstr "Bayas Arcado"
+
+msgid "Simple"
+msgstr "Sencillo"
+
+msgid "Simply stunning!"
+msgstr "¡Simplemente asombroso!"
+
+msgid "Sitrus Berries"
+msgstr "Bayas Zidra"
+
+msgid "Skip intro?"
+msgstr "¿Saltar introducción?"
+
+msgid "Sky"
+msgstr "Cielo"
+
+msgid "Slot Machine/bg"
+msgstr "../Translations/Spanish/bg_es"
+
+msgid "Slow"
+msgstr "Baja"
+
+msgid "Snow"
+msgstr "Nieve"
+
+msgid "Some of the fonts were successfully installed."
+msgstr "Algunas de las fuentes han sido instaladas correctamente."
+
+msgid "Someone's PC"
+msgstr "PC de alguien"
+
+msgid "Somewhat of a clown."
+msgstr "El alma de la fiesta."
+
+msgid "Somewhat stubborn."
+msgstr "Algo terco."
+
+msgid "Somewhat vain."
+msgstr "Algo vanidoso."
+
+msgid "Sorry, a new Badge is required."
+msgstr "Necesitas una medalla para hacer eso."
+
+msgid "Sorry, but you're stuck with this one."
+msgstr "El Modo Randomizer es permanente."
+
+msgid "Sounds can be heard coming from inside! It will hatch soon!"
+msgstr "\n¡Se escuchan sonidos\ndesde dentro!\n¡Eclosionará pronto!"
+
+msgid "South side of first map must connect with north side of second map\n{1}"
+msgstr "South side of first map must connect with north side of second map\n{1}"
+
+msgid "Sp. Atk."
+msgstr "At. Esp."
+
+msgid "Sp. Attack"
+msgstr "Ataque Esp."
+
+msgid "Sp. Def"
+msgstr "Def. Esp."
+
+msgid "Sp. Defense"
+msgstr "Defensa Esp."
+
+msgid "Space"
+msgstr "Espacio"
+
+msgid "Special Attack"
+msgstr "Ataque Especial"
+
+msgid "Special Defense"
+msgstr "Defensa Especial"
+
+msgid "Species"
+msgstr "Especie"
+
+msgid "Specifies the underwater layer of this map. Use only if this map has deep water."
+msgstr "Specifies the underwater layer of this map. Use only if this map has deep water."
+
+msgid "Speed"
+msgstr "Velocidad"
+
+msgid "Spelon Berries"
+msgstr "Bayas Wikano"
+
+msgid "Spikes were scattered all around the feet of the opposing team!"
+msgstr "¡El equipo enemigo ha sido rodeado de Púas!"
+
+msgid "Spikes were scattered all around the feet of your team!"
+msgstr "¡Tu equipo ha sido rodeado de Púas!"
+
+msgid "Splendid!\nYou battle with great finesse and expertise.\nLet us tango together again sometime!"
+msgstr "¡Espléndido!\nCombates con suma finura y habilidad.\n¡Espero bailemos de nuevo en el futuro!"
+
+msgid "Spotted and owned Pokémon are listed alphabetically."
+msgstr "Pokémon capturados y vistos ordenados alfabéticamente."
+
+msgid "Starf Berries"
+msgstr "Bayas Arabol"
+
+msgid "Start Game"
+msgstr "Comenzar Partida"
+
+msgid "Status moves must have a base damage of 0, use either Physical or Special\n{1}"
+msgstr "Status moves must have a base damage of 0, use either Physical or Special\n{1}"
+
+msgid "Steel"
+msgstr "Acero"
+
+msgid "Stop giving the Pokémon Mail?"
+msgstr "¿No entregar el correo al Pokémon?"
+
+msgid "Store"
+msgstr "Depositar"
+
+msgid "Store Pokémon in your party in Boxes."
+msgstr "Depositar Pokémon de tu equipo a una caja."
+
+msgid "Store items in the PC."
+msgstr "Depositar objetos en la PC."
+
+msgid "Storm"
+msgstr "Tormenta"
+
+msgid "Strength is already being used."
+msgstr "Ya has usado Fuerza."
+
+msgid "Strength made it possible to move boulders around."
+msgstr "Puedes mover rocas gracias a Fuerza."
+
+msgid "Strong willed."
+msgstr "De gran voluntad."
+
+msgid "Strongly defiant."
+msgstr "Siempre a su manera."
+
+msgid "Sturdy body."
+msgstr "Siempre firme."
+
+msgid "Subtract"
+msgstr "Resta"
+
+msgid "Summary"
+msgstr "Información"
+
+msgid "Sunny"
+msgstr "Soleado"
+
+msgid "Switch"
+msgstr "Mover"
+
+msgid "Switch In"
+msgstr "Elegir"
+
+msgid "Switch Pokédex listings."
+msgstr "Cambiar el listado"
+
+msgid "Switch Pokémon?"
+msgstr "¿Cambiar de Pokémon?"
+
+msgid "THIRD"
+msgstr "TERCERO"
+
+msgid "TIME:"
+msgstr "TIEMPO DE JUEGO:"
+
+msgid "TMs & HMs"
+msgstr "MTs / MOs"
+
+msgid "TYPE"
+msgstr "TIPO"
+
+msgid "Tab"
+msgstr "Tabulador"
+
+msgid "Take"
+msgstr "Quitar"
+
+msgid "Take good care of {1}."
+msgstr "¡Cuida bien de {1}!"
+
+msgid "Take out items from the PC."
+msgstr "Sacar objetos de la PC."
+
+msgid "Take this {1}?"
+msgstr "¿Quitarle {1}?"
+
+msgid "Tall to Short"
+msgstr "Alto + a –"
+
+msgid "Tamato Berries"
+msgstr "Bayas Tamate"
+
+msgid "Tandor Pokédex"
+msgstr "Pokédex de Tándor"
+
+msgid "Tanga Berries"
+msgstr "Bayas Yecana"
+
+msgid "Teach which Pokémon?"
+msgstr "¿Enseñárselo a cuál Pokémon?"
+
+msgid "Teach which move to {1}?"
+msgstr "¿Qué movimiento le enseñarás a {1}?"
+
+msgid "Teach {1} to a Pokémon?"
+msgstr "¿Cuál Pokémon quiere aprender {1}?"
+
+msgid "Teach {1} to {2}?"
+msgstr "¿Enseñarle {1} a {2}?"
+
+msgid "Teach {1}?"
+msgstr "¿Enseñarle {1}?"
+
+msgid "Test Vibration"
+msgstr "Probar Vibración"
+
+msgid "Test if controller vibration is working."
+msgstr "Comprobar si la vibración del mando está funcionando."
+
+msgid "Text Speed"
+msgstr "Velocidad de Texto"
+
+msgid "Th- MRI ------ anomalous brainwave ------ns. --- specim-n ----- -- inca----e -- indep---ent thoug--. We --- ---ing -- - suppress---."
+msgstr "--- escáne--- de RM det-cta--- ondas cerebrales anóm-las. El -spécim-n deber-a ser inc-paz -- pensamie--- aut---mo. Se ---- trabajan-- -- -- supresor."
+
+msgid "That Pokémon can't be placed there."
+msgstr "Ese Pokémon no puede estar allí."
+
+msgid "That won't fertilize the soil!"
+msgstr "¡Eso no fertilizará la tierra!"
+
+msgid "That's not Mulch."
+msgstr "Eso no es Abono."
+
+msgid "That's not a Berry."
+msgstr "Eso no es una Baya."
+
+msgid "That's not the right item."
+msgstr "Ese no es el objeto que quiero."
+
+msgid "That's too important to toss out!"
+msgstr "¡Es demasiado importante para tirarlo!"
+
+msgid "That's your last Pokémon!"
+msgstr "¡Ese es tu último Pokémon!"
+
+msgid "The Bag is full."
+msgstr "La Bolsa está llena."
+
+msgid "The Bag is full. The Pokémon's item could not be removed."
+msgstr "La bolsa está llena. No se pudo remover el objeto del Pokemon."
+
+msgid "The Box is full."
+msgstr "La caja está llena."
+
+msgid "The Fire-type attack fizzled out in the heavy rain!"
+msgstr "¡El ataque de tipo Fuego se apagó en el diluvio!"
+
+msgid "The Hall Of Fame!"
+msgstr "¡Hall de la Fama!"
+
+msgid "The Happy Hour started!"
+msgstr "¡La felicidad se respira en el aire!"
+
+msgid "The Ion Deluge started!"
+msgstr "¡Una lluvia de electrones cae sobre el terreno de combate!"
+
+msgid "The Mail was returned to the Bag with its message erased."
+msgstr "La Carta volvió a la Bolsa con su mensaje borrado."
+
+msgid "The Pokémon Boxes are full and can't accept any more!"
+msgstr "¡Las Cajas de la PC están llenas y no pueden guardar más Pokémon!"
+
+msgid "The Pokémon got away..."
+msgstr "El Pokémon se escapó..."
+
+msgid "The Pokémon was deleted."
+msgstr "El Pokémon fue eliminado."
+
+msgid "The Power Glove made it possible to move boulders around!"
+msgstr "¡El Guante de Poder\npermite desplazar rocas!"
+
+msgid "The Tailwind blew from behind the opposing team!"
+msgstr "¡Viento Afín sopla a favor del equipo enemigo!"
+
+msgid "The Tailwind blew from behind your team!"
+msgstr "¡Viento Afín sopla a favor de tu equipo!"
+
+msgid "The Trainer blocked the Ball!\nDon't be a thief!"
+msgstr "¡El Entrenador bloqueó la Poké Ball!\n¡No seas ladrón!"
+
+msgid "The Trainer is close by.\nTalk to the Trainer in person!"
+msgstr "El Entrenador se encuentra cerca.\n¡Háblale en persona!"
+
+msgid "The Trainer is out of range."
+msgstr "Está fuera de rango."
+
+msgid "The Water-type attack evaporated in the harsh sunlight!"
+msgstr "¡El ataque de tipo Agua se evaporó en el sol abrasador!"
+
+msgid "The Weakness Policy raised {1}'s Attack!"
+msgstr "¡Seguro Debilidad ha aumentado el Ataque de {1}!"
+
+msgid "The Weakness Policy raised {1}'s Special Attack!"
+msgstr "¡Seguro Debilidad ha aumentado el Ataque Especial de {1}!"
+
+msgid "The air is clean again."
+msgstr "El aire está limpio de nuevo."
+
+msgid "The air is filled with toxicity."
+msgstr "El aire está lleno de toxicidad."
+
+msgid "The ally {1}"
+msgstr "{1} aliado"
+
+msgid "The animation file {1} was not found. The animation will load anyway."
+msgstr "The animation file {1} was not found. The animation will load anyway."
+
+msgid "The battery has run dry!\nFor it to recharge, you need to walk another {1} steps."
+msgstr "¡La batería se ha agotado!\nPara que ésta se recargue, deberás caminar unos {1} pasos."
+
+msgid "The battle will continue until either side has no Pokémon left that can fight."
+msgstr "El combate continúa hasta que uno de los contrincantes no tenga más Pokémon con los que luchar."
+
+msgid "The battlers shared their pain!"
+msgstr "¡Los combatientes comparten el daño sufrido!"
+
+msgid "The boxes are full! You can't catch any more Pokémon!"
+msgstr "¡Tus cajas están llenas! ¡No puedes capturar más pokémon!"
+
+msgid "The bursting flame hit the opposing {2}!"
+msgstr "¡La pirotecnia alcanzó al {2} enemigo!"
+
+msgid "The bursting flame hit {2}!"
+msgstr "¡La pirotecnia alcanzó a {2}!"
+
+msgid "The current map has no region set. Please set the MapPosition metadata setting for this map."
+msgstr "El mapa actual no tiene región definida. Por favor defina la configuración MapPosition metadata para este mapa."
+
+msgid "The darkness of caves is my home. My Pokémon team knows no fear!"
+msgstr "Mi hogar está en la oscuridad de las cuevas. ¡Mi equipo Pokémon no conoce el miedo!"
+
+msgid "The effects of Mud Sport have faded."
+msgstr "Los efectos de Chapoteo Lodo desaparecieron."
+
+msgid "The effects of Water Sport have faded."
+msgstr "Los efectos de Hidrochorro desaparecieron."
+
+msgid "The effects of the weather disappeared!"
+msgstr "¡El tiempo atmosférico ya no ejerce ninguna influencia!"
+
+msgid "The effects of the {1} prevent status moves from being used!"
+msgstr "¡Los efectos de {1} no permiten usar movimientos de cambio de estado!"
+
+msgid "The electricity disappeared from the battlefield."
+msgstr "Las corrientes eléctricas desaparecieron del terreno de combate."
+
+msgid "The foe {1}"
+msgstr "{1} enemigo"
+
+msgid "The fonts were successfully installed."
+msgstr "Se han instalado las fuentes correctamente."
+
+msgid "The future is a blank slate.\\. You, together with your Pokémon, are going to fill it. There will be challenges and thrills, and you're bound to make exciting discoveries."
+msgstr "Tu futuro está en blanco.\\. Tú junto a tus Pokémon escribirán su propia historia. Te esperan retos y emociones, y seguro te toparás con cosas que jamás habías imaginado."
+
+msgid "The game can be played, but the look of the game's text will not be optimal."
+msgstr "El juego es jugable en este estado, sin embargo, la experiencia de juego será subóptima."
+
+msgid "The game has detected that the battery is low. You should save soon to avoid losing your progress."
+msgstr "El juego ha detectado que la batería de tu dispositivo está baja. Deberías Guardar para evitar perder tu progreso."
+
+msgid "The game is a draw."
+msgstr "Es un empate."
+
+msgid "The gift has been received!"
+msgstr "¡Se ha recibido el regalo!"
+
+msgid "The grass disappeared from the battlefield."
+msgstr "Las hierbas desaparecieron del terreno de combate."
+
+msgid "The grassy patch remained quiet..."
+msgstr "La hierba dejó de moverse..."
+
+msgid "The hail stopped."
+msgstr "El granizo se ha detenido."
+
+msgid "The healing wish came true for {1}!"
+msgstr "¡El Deseo Cura se hizo realidad para {1}!"
+
+msgid "The mail was sent to your PC."
+msgstr "Se envió la carta a tu PC."
+
+msgid "The message will be lost. Is that OK?"
+msgstr "Se perderá el mensaje. ¿De acuerdo?"
+
+msgid "The mirror move failed!"
+msgstr "¡El Movimiento Espejo falló!"
+
+msgid "The mist disappeared from the battlefield."
+msgstr "La niebla desapareció del terreno de combate."
+
+msgid "The new level ({1}) is less than the Pokémon's\ncurrent level ({2}), which shouldn't happen.\n[Debug: {3}]"
+msgstr "The new level ({1}) is less than the Pokémon's\ncurrent level ({2}), which shouldn't happen.\n[Debug: {3}]"
+
+msgid "The opponents don't have any eligible pokemon for a sky battle"
+msgstr "El oponente no tiene ningún Pokémon elegible para un combate aéreo"
+
+msgid "The opposing team became cloaked in a mystical veil!"
+msgstr "¡El equipo enemigo se ha envuelto en un velo místico!"
+
+msgid "The opposing team became shrouded in mist!"
+msgstr "¡El equipo enemigo se ha envuelto en niebla!"
+
+msgid "The opposing team is no longer protected by Safeguard!"
+msgstr "¡El equipo enemigo ya no está protegido por el Velo Sagrado!"
+
+msgid "The opposing team is no longer protected by mist!"
+msgstr "¡El equipo enemigo ya no está protegido por los efectos de la niebla!"
+
+msgid "The opposing team is too nervous to eat Berries!"
+msgstr "¡El equipo enemigo está muy nervioso y no puede usar bayas!"
+
+msgid "The opposing team's Light Screen faded!"
+msgstr "¡La Pantalla de Luz del equipo enemigo desapareció!"
+
+msgid "The opposing team's Light Screen wore off!"
+msgstr "¡El efecto de Pantalla Luz del equipo enemigo se ha disipado!"
+
+msgid "The opposing team's Lucky Chant wore off!"
+msgstr "¡El Conjuro del equipo enemigo perdió su efecto!"
+
+msgid "The opposing team's Mist faded!"
+msgstr "¡La Neblina del equipo enemigo desapareció!"
+
+msgid "The opposing team's Reflect faded!"
+msgstr "¡El Reflejo del equipo enemigo desapareció!"
+
+msgid "The opposing team's Reflect wore off!"
+msgstr "¡El efecto de Reflejo del equipo enemigo se ha disipado!"
+
+msgid "The opposing team's Tailwind petered out!"
+msgstr "¡El Viento Afín del equipo enemigo cedió!"
+
+msgid "The opposing {1}"
+msgstr "{1} enemigo"
+
+msgid "The options you unchecked can't be turned back on."
+msgstr "No podrás volver a activar las opciones que desmarcaste una vez hayas confirmado."
+
+msgid "The phone is not working."
+msgstr "El teléfono no funciona."
+
+msgid "The plant seemed to be delighted."
+msgstr "Parece gustarle."
+
+msgid "The player is not on a map, so the region could not be determined."
+msgstr "El jugador no está en un mapa, por lo que no se puedo determinar la región."
+
+msgid "The pointed stones disappeared from around the opposing team!"
+msgstr "¡Las piedras puntiagudas que rodeaban al equipo enemigo desaparecieron!"
+
+msgid "The pointed stones disappeared from around your team!"
+msgstr "¡Las piedras puntiagudas que rodeaban tu equipo desaparecieron!"
+
+msgid "The poisoned spikes disappeared from around the opposing team's feet!"
+msgstr "¡Las púas toxicas que rodeaban al equipo enemigo desaparecieron!"
+
+msgid "The poisoned spikes disappeared from around the your team's feet!"
+msgstr "¡Las púas toxicas que rodeaban a tu equipo desaparecieron!"
+
+msgid "The poisoned spikes disappeared from around your team's feet!"
+msgstr "¡Las púas toxicas que rodeaban a tu equipo desaparecieron!"
+
+msgid "The poisoned spikes disappeared from around {1}'s feet!"
+msgstr "¡Las púas toxicas que rodeaban a {1} desaparecieron!"
+
+msgid "The power of {1}'s Fire-type moves rose!"
+msgstr "¡El poder de los movimientos de tipo Fuego de {1} aumentó!"
+
+msgid "The rain stopped."
+msgstr "Ha parado de llover."
+
+msgid "The rainbow faded."
+msgstr "El Arcoíris se ha disipado."
+
+msgid "The rules of battle will be as follows:"
+msgstr "Las reglas del combate serán las siguientes:"
+
+msgid "The sandstorm rages."
+msgstr "La tormenta de arena ruge."
+
+msgid "The sandstorm subsided."
+msgstr "La tormenta de arena ha amianado."
+
+msgid "The save file was deleted."
+msgstr "La partida fue borrada."
+
+msgid "The saying \"the best defense is a good offense\" is probably your mantra.\\^"
+msgstr "El dicho \"la mejor defensa es un buen ataque\" probablemente te identifique bastante."
+
+msgid "The sea is deep here. A Pokémon may be able to go underwater."
+msgstr "El agua es muy profunda en esta zona.\nPuede que un Pokémon pueda sumergirte."
+
+msgid "The sea is deep here. Would you like to go underwater?"
+msgstr "El agua es muy profunda en esta zona.\n¿Quieres sumergirte?"
+
+msgid "The sea of fire faded."
+msgstr "El mar de llamas se ha disipado."
+
+msgid "The shadow sky continues."
+msgstr "El cielo oscuro continúa."
+
+msgid "The shadow sky faded."
+msgstr "El cielo ya no está oscuro."
+
+msgid "The soil returned to its soft and earthy state."
+msgstr "La tierra se ha reblandecido."
+
+msgid "The soil returned to its soft and loamy state."
+msgstr "El suelo volvió a su estado suave y fértil."
+
+msgid "The spikes disappeared from around the opposing team's feet!"
+msgstr "¡Las púas que rodeaban al equipo enemigo desaparecieron!"
+
+msgid "The spikes disappeared from around your team's feet!"
+msgstr "¡Las púas que rodeaban tu equipo desaparecieron!"
+
+msgid "The sticky web has disappeared from beneath the opposing team's feet!"
+msgstr "¡La Red Viscosa bajo el equipo enemigo desapareció!"
+
+msgid "The sticky web has disappeared from beneath your team's feet!"
+msgstr "¡La Red Viscosa bajo de tu equipo desapareció!"
+
+msgid "The substitute took damage for {1}!"
+msgstr "¡El sustituto recibe el daño en lugar de {1}!"
+
+msgid "The sunlight faded."
+msgstr "¡El sol vuelve a brillar como siempre!"
+
+msgid "The sunlight is strong."
+msgstr "El sol brilla fuertemente."
+
+msgid "The sunlight turned extremely harsh!"
+msgstr "¡El sol se ha vuelto realmente abrasador!"
+
+msgid "The sunlight turned harsh!"
+msgstr "¡El sol brilla muy fuerte!"
+
+msgid "The swamp faded."
+msgstr "El pantano se ha disipado."
+
+msgid "The thunderstorm rages."
+msgstr "La tormenta arrecia."
+
+msgid "The thunderstorm subsided."
+msgstr "La tormenta ha cesado."
+
+msgid "The twisted dimensions returned to normal!"
+msgstr "¡Las dimensiones alteradas han sido restauradas!"
+
+msgid "The value \"{1}\" must be from -128 through 127, got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from -128 through 127, got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from -32768 through 32767, got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from -32768 through 32767, got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from 0 through 255 (0x00-0xFF in hex), got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from 0 through 255 (0x00-0xFF in hex), got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from 0 through 65535 (0x0000-0xFFFF in hex), got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from 0 through 65535 (0x0000-0xFFFF in hex), got a value of {2}\n{3}"
+
+msgid "The water is dyed a deep blue...\nWould you like to surf?"
+msgstr "El agua es de color azul oscuro...\n¿Quieres surfear sobre ella?"
+
+msgid "The wild {1}"
+msgstr "{1} salvaje"
+
+msgid "The {1} can't be held."
+msgstr "No se puede llevar {1}."
+
+msgid "The {1} card? Certainly.\nHow many would you like?"
+msgstr "The {1} card? Certainly.\nHow many would you like?"
+
+msgid "The {1} card? How many would you like to sell?"
+msgstr "The {1} card? How many would you like to sell?"
+
+msgid "The {1} card? Oh, no.\nI can't buy that."
+msgstr "The {1} card? Oh, no.\nI can't buy that."
+
+msgid "The {1} has sprouted."
+msgstr "La {1} ha germinado."
+
+msgid "The {1} only allows the use of {2}!"
+msgstr "¡La {1} solo te permite usar {2}!"
+
+msgid "The {1} plant is growing bigger."
+msgstr "La planta de {1} está creciendo."
+
+msgid "The {1} strengthened {2}'s power!"
+msgstr "¡{1} aumentó el poder de {2}!"
+
+msgid "The {1} was planted in the soft, earthy soil."
+msgstr "La {1} ha sido plantada en la tierra suave y fértil."
+
+msgid "The {1} was scattered on the soil."
+msgstr "El {1} fue esparcido por la tierra."
+
+msgid "The {1} was taken and replaced with the {2}."
+msgstr "{1} fue reemplazado por {2}. {1} ha vuelto a la bolsa."
+
+msgid "The {1} weakened the damage to {2}!"
+msgstr "¡{1} debilitó el daño a {2}!"
+
+msgid "The {1}'s indicating something right underfoot!"
+msgstr "¡El {1} indica que hay algo bajo tus pies!"
+
+msgid "The {2} raised {1}'s Attack!"
+msgstr "¡{2} ha aumentado el Ataque de {1}!"
+
+msgid "The {2} raised {1}'s Defense!"
+msgstr "¡{2} aumentó la Defensa de {1}!"
+
+msgid "The {2} raised {1}'s Special Attack!"
+msgstr "¡{2} ha aumentado el Ataque Especial de {1}!"
+
+msgid "The {2} raised {1}'s Special Defense!"
+msgstr "¡{2} aumentó la Defensa Especial de {1}!"
+
+msgid "Their strength is no joke!"
+msgstr "¡Su fuerza no es cosa de chiste!"
+
+msgid "Theo...\\^"
+msgstr "Teo...\\^"
+
+msgid "There appears to be nothing here..."
+msgstr "No parece haber nada aquí."
+
+msgid "There are no Mystery Gifts defined."
+msgstr "No se pudo encontrar ningún Regalo Misterioso."
+
+msgid "There are no items."
+msgstr "No hay objetos."
+
+msgid "There are no phone numbers stored."
+msgstr "No hay números guardados."
+
+msgid "There are {1} {2}!\nWant to pick them?"
+msgstr "¡Hay {1} {2}!\n¿Quieres recogerlas?"
+
+msgid "There is 1 {1}!\nWant to pick it?"
+msgstr "¡Hay 1 {1}!\n¿Quieres recogerla?"
+
+msgid "There is a more recent update available."
+msgstr "Tu juego no está usando la versión más reciente."
+
+msgid "There is already a saved file. Is it OK to overwrite it?"
+msgstr "Ya hay una partida guardada. ¿Deseas reemplazarla?"
+
+msgid "There is no Pokémon."
+msgstr "No hay Pokémon."
+
+msgid "There is no room left in the PC!"
+msgstr "¡No queda espacio en la PC!"
+
+msgid "There was no sound in the recording. Please ensure that a microphone is attached to the computer and is ready."
+msgstr "There was no sound in the recording. Please ensure that a microphone is attached to the computer and is ready."
+
+msgid "There! All happy!"
+msgstr "Parece sentarle muy bien a la planta."
+
+msgid "There's a Pokemon that may open the door to its heart!"
+msgstr "¡Hay un Pokemon que podría abrir la puerta a su corazón!"
+
+msgid "There's an item buried around here!"
+msgstr "¡Hay un objeto enterrado cerca de aquí!"
+
+msgid "There's no Mail here."
+msgstr "No hay correo."
+
+msgid "There's no PP left for this move!"
+msgstr "¡Ya no hay PP para este movimiento!"
+
+msgid "There's no Pokémon here..."
+msgstr "No hay Pokémon..."
+
+msgid "There's no more room for Pokémon!"
+msgstr "¡No hay más espacio para Pokémon!"
+
+msgid "There's no more room in the Bag."
+msgstr "No hay más espacio en tu Bolsa."
+
+msgid "There's no room to store items."
+msgstr "No queda espacio para más objetos."
+
+msgid "These are among the toughest of Tandor! The paragons of our region!"
+msgstr "¡Están entre los más fuertes de Tándor!\n¡Los mejores de nuestra región!"
+
+msgid "These trainers' skill in battle will determine that answer!"
+msgstr "¡Su destreza en el combate determinará la respuesta!"
+
+msgid "Third move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Third move. Leave all moves blank (use Z key) to give it a wild move set."
+
+msgid "This Pokémon can't be chosen."
+msgstr "Este Pokémon no puede ser elegido."
+
+msgid "This Pokémon is holding an item. It can't hold mail."
+msgstr "Este Pokémon lleva un objeto. No puede llevar una carta."
+
+msgid "This box is already empty."
+msgstr "Esta caja ya está vacía."
+
+msgid "This is in use already."
+msgstr "Ya está en uso."
+
+msgid "This isn't a fossil!"
+msgstr "¡Esto no es un fósil!"
+
+msgid "This isn't over yet!"
+msgstr "¡Esto aún no ha acabado!"
+
+msgid "This item can't be used on that Pokemon."
+msgstr "Este objeto no puede usarse en ese Pokemon."
+
+msgid "This item can't be used on that Pokémon."
+msgstr "Este objeto no puede usarse en ese Pokémon."
+
+msgid "This means you've found all the Coins in this game, so the game is now over."
+msgstr "Esto significa que has encontrado todas las Fichas en este juego, por lo que el juego ha finalizado."
+
+msgid "This old, dead coral looks like it can be broken. Would you like to use Coral Break?"
+msgstr "Es un viejo coral muerto, parece que puede romperse. ¿Quieres usar Rompecoral?"
+
+msgid "This rock appears breakable. Would you like to smash it?"
+msgstr "Esta roca se ve quebradiza.\n¿Quieres romperla?"
+
+msgid "This save file is corrupt or incompatible with this game."
+msgstr "La partida guardada está corrupta o no es compatible."
+
+msgid "This save file is corrupt, but an automatic backup has been found and will be loaded instead."
+msgstr "La partida guardada está corrupta.\nSe cargará la partida de respaldo."
+
+msgid "This tree looks like it can be cut down!"
+msgstr "¡Parece que este árbol se puede cortar!"
+
+msgid "This tree looks like it can be cut down."
+msgstr "Parece que este árbol se puede cortar."
+
+msgid "This {1} plant is blooming cutely!"
+msgstr "¡La planta de {1} está floreciendo muy bonita!"
+
+msgid "This {1} plant is blooming prettily!"
+msgstr "¡La planta de {1} está floreciendo muy bella!"
+
+msgid "This {1} plant is blooming very beautifully!"
+msgstr "¡La planta de {1} está floreciendo hermosamente!"
+
+msgid "This {1} plant is in bloom!"
+msgstr "¡La planta de {1} está floreciendo!"
+
+msgid "This {1} plant is in fabulous bloom!"
+msgstr "¡La planta de {1} está floreciendo fabulosamente!"
+
+msgid "Thoroughly cunning."
+msgstr "Todo un astuto."
+
+msgid "Threw away {1} {2}(s)."
+msgstr "{1} de {2} ha sido tirado."
+
+msgid "Throw away items stored in the PC."
+msgstr "Tirar objetos guardados en la PC."
+
+msgid "Time:"
+msgstr "Tiempo:"
+
+msgid "Time{2:02d}:{3:02d}
"
+msgstr "Tiempo{2:02d}:{3:02d}
"
+
+msgid "Time{1:02d}:{2:02d}
"
+msgstr "Tiempo{1:02d}:{2:02d}
"
+
+msgid "Timid"
+msgstr "Miedosa"
+
+msgid "To Next Lv."
+msgstr "Progreso para subir"
+
+msgid "To install the other fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel."
+msgstr "Para instalar las otras fuentes de texto, copia los archivos en la carpeta Fonts dentro de la carpeta del juego a la carpeta Fonts en el Panel de Control."
+
+msgid "Toggle on/offline"
+msgstr "Conectado/Desconectado"
+
+msgid "Too bad...\nThe bag is full."
+msgstr "Qué mal...\nLa Bolsa está llena."
+
+msgid "Too bad... The Bag is full..."
+msgstr "Qué mal... La Bolsa está llena..."
+
+msgid "Took the {1}."
+msgstr "Le quitaste {1}."
+
+msgid "Toss"
+msgstr "Tirar"
+
+msgid "Toss\nItem"
+msgstr "Tirar\nObjeto"
+
+msgid "Toss Item"
+msgstr "Tirar"
+
+msgid "Toss out how many {1}(s)?"
+msgstr "¿Cuántos/as {1} tirar?"
+
+msgid "Trainer name too long\n{1}"
+msgstr "Trainer name too long\n{1}"
+
+msgid "Treat this battle as a loss?"
+msgstr "¿Tratar este combate como una derrota?"
+
+msgid "Treat this battle as a win?"
+msgstr "¿Tratar este combate como una victoria?"
+
+msgid "Trio"
+msgstr "Trío"
+
+msgid "Turn Off"
+msgstr "Apagar"
+
+msgid "Turned over the {1} and received ${2}."
+msgstr "Entregó {1} y recibió ${2}."
+
+msgid "Turned over the {1} card and received ${2}."
+msgstr "Diste vuelta la carta {1} y recibiste ${2}."
+
+msgid "Two trainer types ({1} and {2}) have the same ID ({3}), which is not allowed.\n{4}"
+msgstr "Two trainer types ({1} and {2}) have the same ID ({3}), which is not allowed.\n{4}"
+
+msgid "Tw̳Ich̳s PCc"
+msgstr "PC de̳Twi?̳h"
+
+msgid "Type"
+msgstr "Tipo"
+
+msgid "UPPER"
+msgstr "MAYUS"
+
+msgid "Undefined Trainer constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nIn addition, the name must be defined\nin trainertypes.txt.\n{1}"
+msgstr "Undefined Trainer constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nIn addition, the name must be defined\nin trainertypes.txt.\n{1}"
+
+msgid "Undefined encounter type {1}, expected one of the following:\n{2}\n{3}"
+msgstr "Undefined encounter type {1}, expected one of the following:\n{2}\n{3}"
+
+msgid "Undefined item constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the item is defined in\nPBS/items.txt.\n{1}"
+msgstr "Undefined item constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the item is defined in\nPBS/items.txt.\n{1}"
+
+msgid "Undefined move constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/moves.txt.\n{1}"
+msgstr "Undefined move constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/moves.txt.\n{1}"
+
+msgid "Undefined nature constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nthe script section PBNatures.\n{1}"
+msgstr "Undefined nature constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nthe script section PBNatures.\n{1}"
+
+msgid "Undefined species constant name: [%s]\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/pokemon.txt.\n{1}"
+msgstr "Undefined species constant name: [%s]\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/pokemon.txt.\n{1}"
+
+msgid "Undefined value {1} (expected one of: {2})\n{3}"
+msgstr "Undefined value {1} (expected one of: {2})\n{3}"
+
+msgid "Undefined value {1} in {2}\n{3}"
+msgstr "Undefined value {1} in {2}\n{3}"
+
+msgid "Up"
+msgstr "Arriba"
+
+msgid "Up next:\\wt[20] Round {1}\\wt[25]\n\\PN versus {2}!"
+msgstr "Siguiente encuentro:\\wt[20] Ronda {1}\\wt[25]\n¡\\PN versus {2}!"
+
+msgid "Upon this consecrated ground, I shall invoke the blessings of the sea!"
+msgstr "¡En presencia de esta tierra sagrada, invocaré las bendiciones del mar!"
+
+msgid "Use"
+msgstr "Usar"
+
+msgid "Use PC"
+msgstr "Usar la PC"
+
+msgid "Use next Pokémon?"
+msgstr "¿Usar el siguiente Pokémon?"
+
+msgid "Use on which Pokémon?"
+msgstr "¿Usar en cuál Pokémon?"
+
+msgid "Use the patcher.exe in your game folder to check for patches!\\wtnp[40]"
+msgstr "Para buscar actualizaciones, debes usar el Patcher que viene con el juego.\\wtnp[40]"
+
+msgid "Used to confirm a choice, check things, and talk to people."
+msgstr "Confirmar una opción e interactuar con el ambiente y las personas."
+
+msgid "Used to exit, cancel a choice or mode, and open the pause menu."
+msgstr "Abrir el menú del juego, cancelar una opción o salir."
+
+msgid "Using item..."
+msgstr "Usando el objeto..."
+
+msgid "Using its {1}, the Attack of {2} rose!"
+msgstr "¡{2} aumentó su Ataque con su {1}!"
+
+msgid "Using its {1}, the Defense of {2} rose!"
+msgstr "¡{2} aumentó su Defensa con su {1}!"
+
+msgid "Using its {1}, the Special Attack of {2} rose!"
+msgstr "¡{2} aumentó su Ataque Especial con su {1}!"
+
+msgid "Using its {1}, the Special Defense of {2} rose!"
+msgstr "¡{2} aumentó su Defensa Especial con su {1}!"
+
+msgid "Using its {1}, the Speed of {2} rose!"
+msgstr "¡{2} aumentó su Velocidad con su {1}!"
+
+msgid "Using {1}, the Attack of {2} rose sharply!"
+msgstr "¡{1} de {2} aumentó mucho su Ataque!"
+
+msgid "Using {1}, the Defense of {2} rose sharply!"
+msgstr "¡{1} de {2} aumentó mucho su Defensa!"
+
+msgid "Using {1}, the Special Attack of {2} rose sharply!"
+msgstr "¡{1} de {2} aumentó mucho su Ataque Especial!"
+
+msgid "Using {1}, the Special Defense of {2} rose sharply!"
+msgstr "¡{1} de {2} aumentó mucho su Defensa Especial!"
+
+msgid "Using {1}, the Speed of {2} rose sharply!"
+msgstr "¡{1} de {2} aumentó mucho su Velocidad!"
+
+msgid "Version is up-to-date, no update needed! \\wtnp[30]"
+msgstr "Estás en la versión mas reciente. No es necesario actualizar.\\wtnp[30]"
+
+msgid "Very finicky."
+msgstr "Algo quisquilloso."
+
+msgid "Vibration"
+msgstr "Vibrar"
+
+msgid "Volcano"
+msgstr "Volcán"
+
+msgid "WITHDRAW"
+msgstr "SACAR"
+
+msgid "WITHDRAW POKéMON"
+msgstr "Retirar Pokémon"
+
+msgid "WT"
+msgstr "Peso"
+
+msgid "Wacan Berries"
+msgstr "Bayas Gualot"
+
+msgid "Waiting for a rematch{1}"
+msgstr "Esperando revancha{1}"
+
+msgid "Wallpaper"
+msgstr "Fondo"
+
+msgid "Want to plant a Berry?"
+msgstr "¿Quieres plantar una Baya?"
+
+msgid "Want to sprinkle some water with the {1}?"
+msgstr "¿Quieres regar con {1}?"
+
+msgid "Warning: Map {1}, as mentioned in the map\nconnection data, was not found.\n{2}"
+msgstr "Warning: Map {1}, as mentioned in the map\nconnection data, was not found.\n{2}"
+
+msgid "Warning: Physical and special moves can't have a base damage of 0, changing to a Status move\n{1}"
+msgstr "Warning: Physical and special moves can't have a base damage of 0, changing to a Status move\n{1}"
+
+msgid "Warning: Randomizer Mode greatly affects the balance of the game."
+msgstr "Advertencia: El Modo Randomizer afecta enormemente el balance del juego."
+
+msgid "Water"
+msgstr "Agua"
+
+msgid "Watmel Berries"
+msgstr "Bayas Sambia"
+
+msgid "We have some of Tandor's best and brightest here to dazzle you with their spectacular battling skills!"
+msgstr "¡Tenemos aquí reunidos a las mentes más brillantes de Tándor listas para impresionarnos con sus habilidades!"
+
+msgid "We tried our hardest in this battle, and that's what counts."
+msgstr "Lo dimos todo en este combate, y eso es lo que realmente importa."
+
+msgid "We're back with Round 3, the quarterfinals!"
+msgstr "Estamos con la tercera ronda, ¡los Cuartos de Final!"
+
+msgid "Welcome to the Hall of Fame!"
+msgstr "¡Bienvenido/a al Hall de la fama!"
+
+msgid "Welcome to the first round of the\nPokémon League Tournament!"
+msgstr "¡Bienvenidos a la primera ronda\ndel Torneo de la Liga Pokémon!"
+
+msgid "Welcome!\nHow may I serve you?"
+msgstr "¡Hola!\n¿En qué puedo ayudarte?"
+
+msgid "Well fought, indeed! You deserved this victory."
+msgstr "¡Muy buen combate! Te merecías esta victoria."
+
+msgid "Well, it has been a while, hasn't it?\nWhen I battled you, you were just a naive child, fumbling around in the dark.\nNow, you face me in the arena with confidence!\nYour fighting spirit is like a bright, shining light!\nI can tell you are no longer afraid.\nGyahahaha!! That's what I like to see!\nShow me your fearlessness in battle!"
+msgstr "Ha pasado un tiempo, ¿no es así?\nCuando combatí contra ti, tenías la ingenuidad de un niño tanteando en la oscuridad.\nAhora, ¡te enfrentas a mí con seguridad!\n¡Tu espíritu de combate brilla como la luz!\nYa no veo miedo en tus ojos.\n¡¡Wajajaja!! ¡Eso es lo que me gusta ver!\n¡Muéstrame tu audacia en el combate!"
+
+msgid "Well, let's not delay... on with the match!"
+msgstr "Y ahora, sin más preámbulos... ¡Que comience el combate!"
+
+msgid "Well, you certainly know what you want out of life.\\^"
+msgstr "Bueno, sin duda sabes lo que quieres en la vida.\\^"
+
+msgid "Wepear Berries"
+msgstr "Bayas Peragu"
+
+msgid "West side of first map must connect with east side of second map\n{1}"
+msgstr "West side of first map must connect with east side of second map\n{1}"
+
+msgid "What a match!"
+msgstr "¡Vaya encuentro!"
+
+msgid "What could be in store for us this round?"
+msgstr "¿Qué sorpresas habrá en esta ronda?"
+
+msgid "What do you want to do with {1}'s Mail?"
+msgstr "¿Qué quieres hacer con la carta de {1}?"
+
+msgid "What do you want to do?"
+msgstr "¿Qué quieres hacer?"
+
+msgid "What shall I do with this {1}?"
+msgstr "¿Qué debería hacer con este {1}?"
+
+msgid "What will\n{1} do?"
+msgstr "¿Qué hará\n{1}?"
+
+msgid "What will hatch from this? It doesn't seem close to hatching."
+msgstr "\n¿Qué nacerá?\nNo parece que vaya a\neclosionar pronto."
+
+msgid "What will {1} do?"
+msgstr "¿Qué hará {1}?"
+
+msgid "What?\n{1} is evolving!"
+msgstr "¿Qué?\n¡{1} está evolucionando!"
+
+msgid "When the flame touched the powder on the Pokémon, it exploded!"
+msgstr "¡Cuando la llama tocó el polvo explosivo en el Pokémon, causó una explosión!"
+
+msgid "Which PC should be accessed?"
+msgstr "¿A qué PC quieres acceder?"
+
+msgid "Which move should be forgotten?"
+msgstr "¿Cuál movimiento debe ser olvidado?"
+
+msgid "Which one will you take?"
+msgstr "¿Cuál te llevaras?"
+
+msgid "Which report should I read?"
+msgstr "¿Qué página quieres leer?"
+
+msgid "White"
+msgstr "Blanco"
+
+msgid "White Tiles: {1}"
+msgstr "Baldosas Blancas: {1}"
+
+msgid "Who are you?\\^"
+msgstr "¿Quién eres?\\^"
+
+msgid "Who will it be?"
+msgstr "¿Quién será?"
+
+msgid "Wide Guard protected your team!"
+msgstr "¡Vastaguardia protege a tu equipo!"
+
+msgid "Wide Guard protected {1}!"
+msgstr "¡Vastaguardia protegió a {1}!"
+
+msgid "Wiki Berries"
+msgstr "Bayas Wiki"
+
+msgid "Wild Pokémon will be lured."
+msgstr "Los Pokémon salvajes no se acercarán."
+
+msgid "Wild Pokémon will be repelled."
+msgstr "Los Pokémon salvajes no se acercarán."
+
+msgid "Wild {1} and\n{2} appeared!"
+msgstr "¡Unos {1} y {2}\nsalvajes han aparecido!"
+
+msgid "Wild {1} appeared!"
+msgstr "¡Un {1} salvaje apareció!"
+
+msgid "Will you switch your Pokémon?"
+msgstr "¿Quieres cambiar de Pokémon?"
+
+msgid "Withdraw"
+msgstr "Retirar"
+
+msgid "Withdraw\nItem"
+msgstr "Retirar\nObjeto"
+
+msgid "Withdraw Item"
+msgstr "Sacar"
+
+msgid "Withdraw Pokémon"
+msgstr "Sacar Pokémon"
+
+msgid "Withdrew {1} {2}(s)."
+msgstr "{1} de {2} ha sido retirado."
+
+msgid "Withdrew {1}."
+msgstr "{1} ha sido retirado."
+
+msgid "Wonder Room wore off, and the Defense and Sp. Def stats returned to normal!"
+msgstr "¡Zona Extraña dejó de hacer efecto, y la Defensa y Defensa Especial volvieron a la normalidad!"
+
+msgid "Woooow! Like, that was a totally sweet battle!~ I guess this just isn't my year to win. But now, you'd better win in my stead, okay?~"
+msgstr "¡Guaaao! ¡Ese sí que fue un combate!~ Supongo que este no era mi año. Pero ahora debes ganar por mí, ¿ok?~"
+
+msgid "Would you like to cut it?"
+msgstr "¿Quieres usar Corte?"
+
+msgid "Would you like to forfeit the match and quit now?"
+msgstr "¿Te gustaría abandonar el combate?"
+
+msgid "Would you like to give a nickname to {1}?"
+msgstr "¿Deseas darle un apodo a {1}?"
+
+msgid "Would you like to move it?"
+msgstr "¿Quieres moverla?"
+
+msgid "Would you like to nickname the newly hatched {1}?"
+msgstr "¿Quieres darle un apodo al {1} recién nacido?"
+
+msgid "Would you like to restart the game and apply the changes?"
+msgstr "¿Desea reiniciar el juego y aplicar los cambios?"
+
+msgid "Would you like to save the game?"
+msgstr "¿Deseas guardar la partida de juego?"
+
+msgid "Would you like to switch the two items?"
+msgstr "¿Deseas intercambiar los objetos?"
+
+msgid "Wow! That battle was quite a workout, huh?\nI think it's safe to say that you're the stronger among us.\nI'll be cheering you on from here on out!"
+msgstr "¡Guao! Ese combate sí que fue un ejercicio, ¿eh?\nEntre tú y yo, está claro que eres más fuerte.\n¡Te estaré alentando de ahora en adelante!"
+
+msgid "Wow, you look like a really strong trainer...\nUm. I'm Angelica, and I train Fairy types.\nWe're cute, but don't let it fool you:\nwe're really strong too.\nAfter all, Fairies can stand up to the power of dragons. So we aren't afraid of any tough-looking trainers, either. If you aren't acquainted with the power of fairies, then, you'll know soon enough!"
+msgstr "¡Guao! Te ves como un entrenador fuerte...\nUm, soy Angélica, y entreno al Tipo Hada.\nSomos lindos, pero que no te engañen las apariencias:\nTambién somos muy fuertes.\nDespués de todo, las Hadas hacen frente al poder de los dragones. Así que no le tememos a los entrenadores que se hacen lucir fuertes. Si no tienes familiaridad con el poder de las hadas, ¡prepárate para conocerlo!"
+
+msgid "Wrong syntax for densities in encounters.txt; got \"{1}\"\n{2}"
+msgstr "Wrong syntax for densities in encounters.txt; got \"{1}\"\n{2}"
+
+msgid "YES"
+msgstr "SÍ"
+
+msgid "Yache Berries"
+msgstr "Bayas Rimoya"
+
+msgid "Yellow"
+msgstr "Amarillo"
+
+msgid "Yes"
+msgstr "Sí"
+
+msgid "You can catch shiny Pokemon even if they aren't your first encounter."
+msgstr "Puedes atrapar cualquier variocolor que encuentres, sin importar cuándo."
+
+msgid "You can choose from three different game screen sizes."
+msgstr "Tamaño de la ventana de juego. Pequeña, Mediana, Grande, Pantalla Completa."
+
+msgid "You can choose from three different text-scrolling speeds."
+msgstr "Velocidad con la que se mueve el texto en pantalla."
+
+msgid "You can choose if the game should remember the last save you loaded."
+msgstr "Recuerda la última partida jugada al abrir el juego."
+
+msgid "You can choose the style of the game's font."
+msgstr "Estilo de la fuente de texto del juego. La fuente por defecto es la 1."
+
+msgid "You can choose to switch Pokémon when an opponent's Pokémon faints."
+msgstr "Al debilitar un Pokémon enemigo, permitir el cambiar el Pokémon en combate."
+
+msgid "You can choose whether controller vibration is enabled."
+msgstr "Activar o desactivar la vibración del mando."
+
+msgid "You can choose whether to view move animations."
+msgstr "Ver las animaciones de movimientos en combate."
+
+msgid "You can receive even more Coins in the next game!"
+msgstr "¡Puedes recibir aun más Fichas en el próximo juego!"
+
+msgid "You can select your preferred pronouns."
+msgstr "Puedes seleccionar tus pronombres preferidos."
+
+msgid "You can set the game's SFX volume."
+msgstr "Volumen de los sonidos del juego."
+
+msgid "You can set the game's frames per second."
+msgstr "Puedes hacer que el juego corra más rápido."
+
+msgid "You can set the game's language."
+msgstr "Cambiar el idioma del juego."
+
+msgid "You can set the game's music volume."
+msgstr "Volumen de la música del juego."
+
+msgid "You can use the patcher.exe in your game folder to update! \\wtnp[40]"
+msgstr "Para actualizarlo, debes usar el Patcher que viene con el juego.\\wtnp[40]"
+
+msgid "You can't dismount your Bike here."
+msgstr "No te puedes bajar de la bici aquí."
+
+msgid "You can't play unless you have a Coin Case."
+msgstr "No puedes jugar a menos que tengas una Caja de Fichas."
+
+msgid "You can't release an Egg."
+msgstr "No puedes liberar un Huevo."
+
+msgid "You can't release eggs."
+msgstr "No puedes liberar huevos."
+
+msgid "You can't switch {1}'s Pokémon with one of yours!"
+msgstr "¡No puedes cambiar un Pokémon de {1} por uno tuyo!"
+
+msgid "You don't have any Coins to play!"
+msgstr "¡No tienes ninguna Ficha para jugar!"
+
+msgid "You don't have any other save files"
+msgstr "No tienes otras partidas guardadas."
+
+msgid "You don't have enough berries."
+msgstr "No tienes suficientes Bayas."
+
+msgid "You don't have enough money."
+msgstr "No tienes suficiente dinero."
+
+msgid "You don't have your bag."
+msgstr "No tienes tu bolsa contigo."
+
+msgid "You have a burning spirit within you that never ceases!\\^"
+msgstr "¡Tienes un ardiente espíritu en ti que nunca se apagará!\\^"
+
+msgid "You have a great future ahead, but what about now?"
+msgstr "Tienes un gran futuro por delante, pero ¿qué hay acerca de ahora?"
+
+msgid "You have no Pokemon that can be purified."
+msgstr "No tienes ningún Pokemon que pueda ser purificado."
+
+msgid "You have no more room in the Bag."
+msgstr "No tienes espacio en la Bolsa."
+
+msgid "You have no usable items in this pocket."
+msgstr "Este bolsillo está vacío."
+
+msgid "You haven't found any Coins! Are you sure you want to quit?"
+msgstr "¡No has ganado ninguna ficha!\n¿De verdad quieres salir?"
+
+msgid "You know that the best things in life come to those who wait.\\^"
+msgstr "Sabes que las mejores cosas de la vida le llegan a quienes esperan.\\^"
+
+msgid "You must choose a move!"
+msgstr "¡Debes seleccionar un movimiento!"
+
+msgid "You must choose at least one rule to play a custom game."
+msgstr "Debes elegir al menos una regla para comenzar un juego personalizado."
+
+msgid "You must complete the game at least once to unlock Randomizer."
+msgstr "Debes completar el juego al menos una vez para desbloquear el Modo Randomizer."
+
+msgid "You must enable Nuzlocke to select this."
+msgstr "Nuzlocke debe estar activado para seleccionar una cláusula."
+
+msgid "You need an internet connection to use the GTS, WT and VT"
+msgstr "No estás conectado a internet. Por favor revise su conexión a internet para poder usar los servicios en línea."
+
+msgid "You picked the {1} {2}.\\wtnp[30]"
+msgstr "Recogiste {1} {2}.\\wtnp[30]"
+
+msgid "You picked the {1}.\\wtnp[30]"
+msgstr "Recogiste la {1}.\\wtnp[30]"
+
+msgid "You prefer to adapt to overcome challenges in your path.\\^"
+msgstr "Prefieres adaptarte para superar los desafíos en tu camino.\\^"
+
+msgid "You prefer to overwhelm your opponents with sheer force and firepower.\\^"
+msgstr "Prefieres vencer a tus oponentes con fuerza bruta y poder.\\^"
+
+msgid "You seem to be a Trainer who likes to play it safe.\\^"
+msgstr "Pareces ser un Entrenador que le gusta ir a lo seguro.\\^"
+
+msgid "You seem to be a trainer that is capable of many different strategies.\\^"
+msgstr "Pareces ser un entrenador que es capaz de tomar múltiples estrategias.\\^"
+
+msgid "You seem to be a trainer who won't hesitate to go for what you want.\\^"
+msgstr "Pareces ser un entrenador que no duda en conseguir lo que quiere.\\^"
+
+msgid "You used your last {1}."
+msgstr "Usaste tu último/a {1}."
+
+msgid "You're already surfing."
+msgstr "Ya estás surfeando."
+
+msgid "You're holding a Pokémon!"
+msgstr "¡Estás sosteniendo un Pokémon!"
+
+msgid "You're impulsive, impatient, and care mostly about your own desires.\\^"
+msgstr "Eres impulsivo, impaciente, y te preocupan tus propias ambiciones.\\^"
+
+msgid "You've found all of the hidden x2 and x3 cards."
+msgstr "Has encontrado todas las cartas x2 y x3 escondidas."
+
+msgid "You've got 99,999 Coins."
+msgstr "Tienes 99,999 Fichas."
+
+msgid "You've run out of Coins.\nGame over!"
+msgstr "Te has quedado sin Fichas.\n¡Fin del juego!"
+
+msgid "Youngster Samuel"
+msgstr "Jóven Samuel"
+
+msgid "Your Coin Case has been filled."
+msgstr "Tu Caja de Fichas ha sido llenada."
+
+msgid "Your Coin Case is full!"
+msgstr "¡Tu Caja de Fichas está llena!"
+
+msgid "Your PC's Mailbox is full."
+msgstr "El buzón de tu PC está lleno."
+
+msgid "Your calm, rational approach will come to aid you in the future.\\^"
+msgstr "Tu aproximación calmada y racional a las dificultades te ayudará en tu camino.\\^"
+
+msgid "Your coins"
+msgstr "Tus fichas"
+
+msgid "Your foe's weak!\nGet 'em, {1}!"
+msgstr "¡Tu enemigo está débil!\n¡A por él, {1}!"
+
+msgid "Your game is out-of-date!\nUpdate required. \\wtnp[30]"
+msgstr "¡No estás en la versión más reciente!\nNecesitas actualizar el juego. \\wtnp[40]"
+
+msgid "Your journey --- your story --- is about to unfold."
+msgstr "Tu aventura, tu historia... está a punto de comenzar."
+
+msgid "Your name is {1}?"
+msgstr "¿Te llamas {1}?"
+
+msgid "Your name?"
+msgstr "¿Cómo te llamas?"
+
+msgid "Your old Nuzlocke savefile needs to be converted to the new system."
+msgstr "Tu vieja partida Nuzlocke será actualizada al nuevo sistema."
+
+msgid "Your party is full!"
+msgstr "¡Tu equipo está lleno!"
+
+msgid "Your party is full! You can't unfuse {1}."
+msgstr "¡Tu equipo está lleno! No puedes separar a {1}."
+
+msgid "Your party's full!"
+msgstr "¡Tu equipo está lleno!"
+
+msgid "Your philosophy is probably to just \"go with the flow\".\\^"
+msgstr "Tu filosofía probablemente sea \"sigue la corriente\".\\^"
+
+msgid "Your starter as well as all wild and trainer Pokémon will be randomized."
+msgstr "Tu inicial y todos los Pokémon del juego serán completamente al azar."
+
+msgid "Your team became cloaked in a mystical veil!"
+msgstr "¡Tu equipo se ha protegido con Velo Sagrado!"
+
+msgid "Your team became shrouded in mist!"
+msgstr "¡Tu equipo se ha rodeado de niebla!"
+
+msgid "Your team is no longer protected by Safeguard!"
+msgstr "¡Tu equipo ya no está protegido por el Velo Sagrado!"
+
+msgid "Your team is no longer protected by mist!"
+msgstr "¡Tu equipo ya no está protegido por los efectos de la niebla!"
+
+msgid "Your team is too nervous to eat Berries!"
+msgstr "¡Tu equipo está muy nervioso y no puede usar bayas!"
+
+msgid "Your team's Light Screen faded!"
+msgstr "¡La Pantalla de Luz de tu equipo desapareció!"
+
+msgid "Your team's Light Screen wore off!"
+msgstr "¡El efecto de Pantalla Luz de tu equipo se disipó!"
+
+msgid "Your team's Lucky Chant wore off!"
+msgstr "¡El Conjuro de tu equipo perdió su efecto!"
+
+msgid "Your team's Mist faded!"
+msgstr "¡La Neblina de tu equipo desapareció!"
+
+msgid "Your team's Reflect faded!"
+msgstr "¡El Reflejo de tu equipo desapareció!"
+
+msgid "Your team's Reflect wore off!"
+msgstr "¡El efecto de Reflejo de tu equipo se disipó!"
+
+msgid "Your team's Tailwind petered out!"
+msgstr "¡El Viento Afín de tu equipo cedió!"
+
+msgid "[Custom]"
+msgstr "[Personalizado]"
+
+msgid "\\GHere you go!"
+msgstr "\\G¡Aquí tienes!"
+
+msgid "\\GYou don't have enough money."
+msgstr "\\GNo tienes suficiente dinero."
+
+msgid "\\PN, are you ready?"
+msgstr "\\PN, ¿todo listo?"
+
+msgid "\\c[7]ENGAGEMENT FAILED.\\wt[16]\nA POWER CELL IS NEEDED."
+msgstr "\\c[7]FALLO EN LA EJECUCION.\\wt[16]\nUNA CELDA DE ENERGÍA ES REQUERIDA."
+
+msgid "\\c[7]ENGAGEMENT SUCCESSFUL."
+msgstr "\\c[7]EJECUCIÓN COMPLETA."
+
+msgid "\\c[7]OBSTACLE DETECTED.\\wt[20]\nENGAGING STRENGTH PROTOCOL\\wt[8].\\wt[8].\\wt[8].\\wt[8]"
+msgstr "\\c[7]OBSTÁCULO DETECTADO.\\wt[20]\nEJECUTANDO PROTOCOLO FUERZA\\wt[8].\\wt[8].\\wt[8].\\wt[8]"
+
+msgid "\\me[Jingle - HMTM]Obtained \\c[1]{1}\\c[0]!\nIt contained \\c[1]{2}\\c[0].\\wtnp[55]"
+msgstr "¡\\me[Jingle - HMTM]\\PN obtuvo la \\c[1]{1}\\c[0]!\nÉsta contiene \\c[1]{2}\\c[0].\\wtnp[55]"
+
+msgid "\\me[Jingle - HMTM]{1} found \\c[1]{2}\\c[0]!\nIt contained \\c[1]{3}\\c[0].\\wtnp[55]"
+msgstr "¡\\me[Jingle - HMTM]{1} ha encontrado la \\c[1]{2}\\c[0]!\nÉsta contiene \\c[1]{3}\\c[0].\\wtnp[55]"
+
+msgid "\\me[Jingle - Regular Item]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡Obtuviste \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]Obtained \\c[1]{1}s\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡Obtuviste unos/as \\c[1]{1}(s)\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]Obtained some \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡Obtuviste unos/as \\c[1]{1}(s)\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found one \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡{1} encontró un/a \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡{1} encontró unos/as \\c[1]{2}(s)\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡{1} encontró {2} de \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]¡{1} encontró unos/as {2} \\c[1]{3}(s)\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jinlge - KeyItem]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jinlge - KeyItem]¡Obtuviste \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jinlge - KeyItem]Randomizer Mode has been unlocked!\\wt[30]\nIt will be available when starting a new Custom Game."
+msgstr "\\me[Jinlge - KeyItem]¡Has desbloqueado el Modo Randomizer!\\wt[30]\nPodrás seleccionarlo al crear una partida en Modo Personalizado."
+
+msgid "\\me[Jinlge - KeyItem]\\sign[sign1]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jinlge - KeyItem]\\sign[sign1]¡Obtuviste \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Voltorb Flip Game Over]Oh no! You get 0 Coins!\\wtnp[50]"
+msgstr "\\me[Voltorb Flip Game Over]¡Oh no! ¡Obtienes 0 Fichas!\\wtnp[50]"
+
+msgid "\\me[Voltorb Flip Win]Board clear!\\wtnp[40]"
+msgstr "\\me[Voltorb Flip Win]¡Tablero completado!\\wtnp[40]"
+
+msgid "\\se[Voltorb Flip Level Dropped]Dropped to Game Lv. {1}!"
+msgstr "\\se[Voltorb Flip Level Dropped]¡Bajaste al nivel {1}!"
+
+msgid "\\se[]1,\\wt[4] 2,\\wt[4] and...\\wt[8] ...\\wt[8] ...\\wt[8] Poof!\\se[balldrop]"
+msgstr "\\se[]1,\\wt[4] 2,\\wt[4] y...\\wt[8] ...\\wt[8] ...\\wt[8]¡Puf!\\se[balldrop]"
+
+msgid "\\se[]Save failed.\\wtnp[30]"
+msgstr "\\se[]No se pudo guardar la partida.\\wtnp[30]"
+
+msgid "\\se[]{1} hatched from the Egg!\\wt[80]"
+msgstr "\\se[]¡{1} eclosionó del Huevo!\\wt[80]"
+
+msgid "\\se[]{1} learned {2}!\\se[itemlevel]"
+msgstr "\\se[]¡{1} aprendió {2}!\\se[itemlevel]"
+
+msgid "\\se[]{1} saved the game.\\se[save]\\wtnp[30]"
+msgstr "\\se[]{1} ha guardado la partida.\\se[save]\\wtnp[30]"
+
+msgid "\\se[accesspc]Accessed the Hall of Fame."
+msgstr "\\se[accesspc]Has accedido al Hall de la Fama."
+
+msgid "\\se[accesspc]Accessed {1}'s PC."
+msgstr "\\se[accesspc]Has accedido a la PC de {1}."
+
+msgid "\\se[accesspc]Booted up a TM."
+msgstr "\\se[accesspc]MT iniciada."
+
+msgid "\\se[accesspc]Booted up an HM."
+msgstr "\\se[accesspc]MO iniciada."
+
+msgid "\\se[accesspc]The Pokémon Storage System was opened."
+msgstr "\\se[accesspc]Has entrado al Sistema de Almacenamiento Pokémon."
+
+msgid "\\se[computeropen]{1} booted up the PC."
+msgstr "\\se[computeropen]{1} encendió la PC."
+
+msgid "\\se[itemlevel]{1} received \\c[1]{2}\\c[0]!\\nIt contained \\c[1]{3}\\c[0].\\wtnp[30]"
+msgstr "\\se[itemlevel]¡{1} recibió \\c[1]{2}\\c[0]!\\nContiene \\c[1]{3}\\c[0].\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received a \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]¡{1} recibió un/a \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received an \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]¡{1} recibió un/a \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received some \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]¡{1} recibió unos/as \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]¡{1} recibió {2} de \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]¡{1} recibió {2} de \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\w[]\\wm\\c[8]\\l[3]After the unfortunate defeat, {1} scurried home."
+msgstr "\\w[]\\wm\\c[8]\\l[3]Después de la desafortunada derrota, {1} corrió hacia su casa."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]After the unfortunate defeat, {1} scurried to a Pokémon Center."
+msgstr "\\w[]\\wm\\c[8]\\l[3]Después de la desafortunada derrota, {1} corrió hacia un Centro Pokémon."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]{1} scurried home, protecting the exhausted and fainted Pokémon from further harm."
+msgstr "\\w[]\\wm\\c[8]\\l[3]{1} corrió hacia su casa, protegiendo a sus exhaustos y debilitados Pokémon."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]{1} scurried to a Pokémon Center, protecting the exhausted and fainted Pokémon from further harm."
+msgstr "\\w[]\\wm\\c[8]\\l[3]{1} corrió hacia un Centro Pokémon, protegiendo a sus exhaustos y debilitados Pokémon."
+
+msgid "accuracy"
+msgstr "Precisión"
+
+msgid "an egg"
+msgstr "un huevo"
+
+msgid "boardbg"
+msgstr "../../Translations/Spanish/boardbg_es"
+
+msgid "egg"
+msgstr "huevo"
+
+msgid "evasiveness"
+msgstr "Evasión"
+
+msgid "female"
+msgstr "hembra"
+
+msgid "lower"
+msgstr "minus"
+
+msgid "male"
+msgstr "macho"
+
+msgid "memo"
+msgstr "../../Translations/Spanish/memo_es"
+
+msgid "other"
+msgstr "otro"
+
+msgid "phonebg"
+msgstr "../Translations/Spanish/phonebg_es"
+
+msgid "the ally {1}"
+msgstr "al {1} aliado"
+
+msgid "the egg"
+msgstr "el huevo"
+
+msgid "the foe {1}"
+msgstr "{1} enemigo"
+
+msgid "the opposing {1}"
+msgstr "{1} enemigo"
+
+msgid "the wild {1}"
+msgstr "{1} salvaje"
+
+msgid "their egg"
+msgstr "su huevo"
+
+msgid "wh̳hC PC sHoulD bE̳ acCe̳sEd?̳̳̳"
+msgstr "{A qu̳ [PC] qui̳res acc̳der}"
+
+msgid "{1:4.1f} lbs."
+msgstr "{1:4.1f}"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}"
+msgstr "{1:s}\nID: {2:05d} EO: {3:s}"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}"
+msgstr "{1:s}\nID: {2:05d} EO: {3:s}"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}\\wtnp[0]"
+msgstr "{1:s}\nID: {2:05d} EO: {3:s}\\wtnp[0]"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}\\wtnp[100]"
+msgstr "{1:s}\nID: {2:05d} EO: {3:s}\\wtnp[100]"
+
+msgid "{1:s} (F, Lv{2:d})"
+msgstr "{1:s} (H, Niv{2:d})"
+
+msgid "{1:s} (Lv{2:d})"
+msgstr "{1:s} (Niv{2:d})"
+
+msgid "{1:s} (M, Lv{2:d})"
+msgstr "{1:s} (M, Niv{2:d})"
+
+msgid "{1:s} Pokémon"
+msgstr "Pokémon {1:s}"
+
+msgid "{1:s}: Search Mode"
+msgstr "{1:s}: Búsqueda"
+
+msgid "{1:s}POWER/{2:s}\nPP/{3:d}ACCURACY/{4:s}"
+msgstr "{1:s}PODER/{2:s}\n PP/{3:d}PRECISIÓN/{4:s}"
+
+msgid "{1}\nwould like to battle!"
+msgstr "¡{1}\nte desafía!"
+
+msgid "{1}\n{2}"
+msgstr "{1}\n{2}"
+
+msgid "{1} Female"
+msgstr "{1} Hembra"
+
+msgid "{1} Female Shiny"
+msgstr "{1} Variocolor H"
+
+msgid "{1} Lv{2} {3}"
+msgstr "{1} Niv{2} {3}"
+
+msgid "{1} Lv{2} {3}/{4}"
+msgstr "{1} Niv{2} {3}/{4}"
+
+msgid "{1} Male"
+msgstr "{1} Macho"
+
+msgid "{1} Male Shiny"
+msgstr "{1} Variocolor M"
+
+msgid "{1} Pokémon will be released, 1 of them is shiny. Are you absolutely certain?"
+msgstr "{1} Pokémon serán liberados, 1 de ellos es Variocolor. ¿Aún así quieres liberarlos?"
+
+msgid "{1} Pokémon will be released, {2} of them are shiny. Are you absolutely certain?"
+msgstr "{1} Pokémon serán liberados, {2} de ellos son Variocolor. ¿Aún así quieres liberarlos?"
+
+msgid "{1} Pokémon will be released. Are you absolutely certain?"
+msgstr "{1} Pokémon serán liberados. ¿Realmente quieres continuar?"
+
+msgid "{1} Shiny"
+msgstr "{1} Variocolor"
+
+msgid "{1} absorbed nutrients with its roots!"
+msgstr "¡{1} absorbió nutrientes con sus raíces!"
+
+msgid "{1} acquired {2}!"
+msgstr "¡{1} adquirió {2}!"
+
+msgid "{1} adores you!\nThe base Attack fell!"
+msgstr "¡{1} te adora!\n¡Su Ataque bajó!"
+
+msgid "{1} adores you!\nThe base Defense fell!"
+msgstr "¡{1} te adora!\n¡Su Defensa bajó!"
+
+msgid "{1} adores you!\nThe base HP fell!"
+msgstr "¡{1} te adora!\n¡Los PS Máximos bajaron!"
+
+msgid "{1} adores you!\nThe base Special Attack fell!"
+msgstr "¡{1} te adora!\n¡Su Ataque Especial bajó!"
+
+msgid "{1} adores you!\nThe base Special Defense fell!"
+msgstr "¡{1} te adora!\n¡Su Defensa Especial bajó!"
+
+msgid "{1} adores you!\nThe base Speed fell!"
+msgstr "¡{1} te adora!\n¡Su Velocidad bajó!"
+
+msgid "{1} adores you!\nThe door to its heart opened a little."
+msgstr "¡{1} te adora!\nLa puerta a su corazón se abrió ligeramente."
+
+msgid "{1} already has a burn."
+msgstr "{1} ya está quemado."
+
+msgid "{1} already has a substitute!"
+msgstr "¡{1} ya tenía un sustituto!"
+
+msgid "{1} already knows\n{2}."
+msgstr "{1} ya sabe \n{2}."
+
+msgid "{1} anchored itself with its roots!"
+msgstr "¡{1} se mantiene en firmeza en el suelo con sus raíces!"
+
+msgid "{1} anchored itself with {2}!"
+msgstr "¡{1} se mantiene en firmeza en el suelo por {2}!"
+
+msgid "{1} anchored itself!"
+msgstr "¡{1} se ha aferrado al suelo!"
+
+msgid "{1} and {2} are attacking!"
+msgstr "¡{1} y {2} están atacando!"
+
+msgid "{1} and {2} want to battle!"
+msgstr "¡{1} y {2} quieren un combate!"
+
+msgid "{1} avoided damage with Wonder Guard!"
+msgstr "¡Superguarda de {1} le permite evader el ataque!"
+
+msgid "{1} avoided the attack!"
+msgstr "¡{1} evadió el ataque!"
+
+msgid "{1} avoids attacks by its ally Pokémon!"
+msgstr "¡{1} evade los ataques gracias a su compañero!"
+
+msgid "{1} became cloaked in a freezing light!"
+msgstr "¡{1} ha quedado envuelto en una luz fría!"
+
+msgid "{1} became cloaked in freezing air!"
+msgstr "¡{1} ha quedado envuelto en aire gélido!"
+
+msgid "{1} became cloaked in mystical moonlight!"
+msgstr "¡{1} se cubrió de una luz de luna mística!"
+
+msgid "{1} became confused due to fatigue!"
+msgstr "¡El cansancio ha terminado confundiendo a {1}!"
+
+msgid "{1} became confused!"
+msgstr "¡{1} se ha quedado confuso!"
+
+msgid "{1} became healthy!"
+msgstr "¡{1} ha sido curado!"
+
+msgid "{1} became healthy."
+msgstr "{1} se sanó."
+
+msgid "{1} became nimble!"
+msgstr "¡{1} es ahora más ligero!"
+
+msgid "{1} became the center of attention!"
+msgstr "¡{1} se volvió el centro de atención!"
+
+msgid "{1} became trapped by Sand Tomb!"
+msgstr "¡Bucle Arena atrapó al {1}!"
+
+msgid "{1} became trapped by swirling magma!"
+msgstr "¡{1} fue atrapado en un tobellino de magma!"
+
+msgid "{1} began charging power!"
+msgstr "¡{1} está acumulando energía!"
+
+msgid "{1} began growling deeply!"
+msgstr "¡{1} comenzó a gruñir profundamente!"
+
+msgid "{1} began having a nightmare!"
+msgstr "¡{1} ha caído en una Pesadilla!"
+
+msgid "{1} bids farewell to {2}."
+msgstr "{1} se despide de {2}."
+
+msgid "{1} blacked out!"
+msgstr "¡{1} ha huído!"
+
+msgid "{1} bounced the {2} back!"
+msgstr "¡{1} devolvió {2}!"
+
+msgid "{1} braced itself!"
+msgstr "¡{1} se ha fortalecido!"
+
+msgid "{1} breaks the mold!"
+msgstr "¡{1} ignora la Habilidad de su oponente!"
+
+msgid "{1} burrowed its way under the ground!"
+msgstr "¡{1} se ocultó en un agujero!"
+
+msgid "{1} called {2}!"
+msgstr "¡{1} llamó a {2}!"
+
+msgid "{1} calmed down."
+msgstr "{1} se calmó."
+
+msgid "{1} came to its senses from the Trainer's call!"
+msgstr "¡{1} volvió a sus sentidos gracias al llamado del Entrenador!"
+
+msgid "{1} came to its senses from the {2}!"
+msgstr "¡{1} volvió a sus sentidos tras {2}!"
+
+msgid "{1} can now be purified!"
+msgstr "¡{1} ya puede ser purificado!"
+
+msgid "{1} can use items again!"
+msgstr "¡{1} puede volver a usar objetos!"
+
+msgid "{1} can't be fused with itself!"
+msgstr "¡{1} no se puede fusionar consigo mismo!"
+
+msgid "{1} can't be fused with {2}."
+msgstr "{1} no se puede fusionar con {2}."
+
+msgid "{1} can't be learned."
+msgstr "{1} no puede ser aprendido."
+
+msgid "{1} can't be switched out!"
+msgstr "¡{1} no puede ser cambiado!"
+
+msgid "{1} can't be taught to an Egg."
+msgstr "Un huevo no puede aprender {1}."
+
+msgid "{1} can't be taught to this Pokémon."
+msgstr "Este Pokémon no puede aprender {1}."
+
+msgid "{1} can't escape now!"
+msgstr "¡{1} no puede escapar!"
+
+msgid "{1} can't get it going!"
+msgstr "¡{1} no rinde todo lo que podría!"
+
+msgid "{1} can't move!"
+msgstr "¡{1} no se puede mover!"
+
+msgid "{1} can't stockpile any more!"
+msgstr "¡{1} no puede reservar mas!"
+
+msgid "{1} can't use items anymore!"
+msgstr "¡{1} no puede usar objetos!"
+
+msgid "{1} can't use the same move twice in a row due to the torment!"
+msgstr "¡{1} no puede usar el mismo movimiento dos veces seguidas debido a Tormento!"
+
+msgid "{1} can't use the sealed {2}!"
+msgstr "¡Cerca impide que {1} use {2}!"
+
+msgid "{1} can't use {2} after the taunt!"
+msgstr "¡{1} no puede usar {2} después de la mofa!"
+
+msgid "{1} can't use {2} because of Heal Block!"
+msgstr "¡{1} no puede usar {2} debido a Anticura!"
+
+msgid "{1} cannot use {2}!"
+msgstr "¡{1} no puede usar {2}!"
+
+msgid "{1} caused an uproar!"
+msgstr "¡{1} montó un Alboroto!"
+
+msgid "{1} changed Forme!"
+msgstr "{1} cambió de forma!"
+
+msgid "{1} chose Doom Desire as its destiny!"
+msgstr "¡El Deseo Oculto de {1} se cumplirá más adelante!"
+
+msgid "{1} clamped {2}!"
+msgstr "¡{1} atenazó al {2}!"
+
+msgid "{1} consumed its {2}!"
+msgstr "¡{1} se comió su {2}!"
+
+msgid "{1} copied {2}'s stat changes!"
+msgstr "¡{1} copió todos los cambios de características de {2}!"
+
+msgid "{1} copied {2}'s {3}!"
+msgstr "¡{1} copió {3} de {2}!"
+
+msgid "{1} cured its infatuation status using its {2}!"
+msgstr "¡{1} se liberó del enamoramiento gracias a su {2}!"
+
+msgid "{1} cut its own HP and laid a curse on {2}!"
+msgstr "¡{1} reduce sus PS y maldice al {2}!"
+
+msgid "{1} cut its own HP and maximized its Attack!"
+msgstr "¡{1} ha sacrificado algunos de PS y ha aumentado al máximo su Ataque!"
+
+msgid "{1} defeated\n{2}!"
+msgstr "¡{1} venció a {2}!"
+
+msgid "{1} defeated {2} and {3}!"
+msgstr "¡{1} venció a {2} y a {3}!"
+
+msgid "{1} did a headbutt!"
+msgstr "¡{1} usó Cabezazo!"
+
+msgid "{1} did not learn {2}."
+msgstr "{1} no aprendió {2}."
+
+msgid "{1} doesn't become confused!"
+msgstr "¡{1} no se ha confundido!"
+
+msgid "{1} endured the hit!"
+msgstr "¡{1} aguantó el golpe!"
+
+msgid "{1} evaded the attack!"
+msgstr "¡{1} esquivó el ataque!"
+
+msgid "{1} fainted!"
+msgstr "¡{1} se debilitó!"
+
+msgid "{1} fainted...\\"
+msgstr "{1} se debilitó...\\"
+
+msgid "{1} fell asleep!"
+msgstr "¡{1} se ha dormido!"
+
+msgid "{1} fell for the taunt!"
+msgstr "¡{1} se dejó engañar por Mofa!"
+
+msgid "{1} fell in love!"
+msgstr "¡{1} se enamoró!"
+
+msgid "{1} fell straight down!"
+msgstr "¡{1} ha sido derribado!"
+
+msgid "{1} fled from battle!"
+msgstr "¡{1} huyó del combate!"
+
+msgid "{1} fled using Run Away!"
+msgstr "¡{1} escapó gracias a Fuga!"
+
+msgid "{1} fled using its {2}!"
+msgstr "¡{1} escapó usando su {2}!"
+
+msgid "{1} fled!"
+msgstr "¡{1} escapó!"
+
+msgid "{1} flew up high!"
+msgstr "¡{1} voló muy alto!"
+
+msgid "{1} flew {2} up into the air!"
+msgstr "¡{1} se ha llevado a {2} por los aires!"
+
+msgid "{1} flinched and couldn't move!"
+msgstr "¡{1} ha retrocedido y no puede lanzar ningún ataque!"
+
+msgid "{1} flung its {2}!"
+msgstr "¡{1} lanzó su {2}!"
+
+msgid "{1} foresaw an attack!"
+msgstr "¡{1} previó un ataque!"
+
+msgid "{1} forfeited the match!"
+msgstr "¡{1} abandonó el combate!"
+
+msgid "{1} forgot how to\nuse {2}."
+msgstr "{1} olvidó cómo\nusar {2}."
+
+msgid "{1} forgot {2}."
+msgstr "{1} olvidó {2}."
+
+msgid "{1} forgot {2}..."
+msgstr "{1} olvidó {2}..."
+
+msgid "{1} found \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "¡{1} encontró \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found one \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "¡{1} encontró un \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found one {2}!"
+msgstr "¡{1} encontró un {2}!"
+
+msgid "{1} found some \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "¡{1} encontró algunas \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found {2} \\c[1]{3}\\c[0]!\\wtnp[20]"
+msgstr "¡{1} encontró {2} \\c[1]{3}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found {2} \\c[1]{3}s\\c[0]!\\wtnp[20]"
+msgstr "¡{1} encontró {2} \\c[1]{3}s\\c[0]!\\wtnp[20]"
+
+msgid "{1} frisked the foe and found one {2}!"
+msgstr "¡{1} cacheó a su oponente y encontró {2}!"
+
+msgid "{1} frisked the other foe and found one {2}!"
+msgstr "¡{1} cacheó al otro oponente y encontró su {2}!"
+
+msgid "{1} frisked {2} and found its {3}!"
+msgstr "¡{1} cacheó a {2} y encontró su {3}!"
+
+msgid "{1} gained a boosted {2} Exp. Points!"
+msgstr "¡{1} ganó {2}\nPuntos de Experiencia mejorada!"
+
+msgid "{1} gained {2} Exp. Points!"
+msgstr "¡{1} ganó {2}\nPuntos de Experiencia!"
+
+msgid "{1} gave ${2} to the winner..."
+msgstr "{1} le entregó ${2} al ganador..."
+
+msgid "{1} gave {2} its {3}!"
+msgstr "¡{1} le dio a {2} su {3}!"
+
+msgid "{1} got ${2}\nfor winning!"
+msgstr "¡{1} consiguió ${2} como recompensa por su victoria!"
+
+msgid "{1} got free of {2}'s {3}!"
+msgstr "¡{1} se liberó de {3} de {2}!"
+
+msgid "{1} got over its infatuation."
+msgstr "{1} ya no está enamorado."
+
+msgid "{1} grew to Lv. {2}!"
+msgstr "¡{1} subió al Nivel {2}!"
+
+msgid "{1} had its HP restored."
+msgstr "{1} recuperó sus PS."
+
+msgid "{1} had its energy drained!"
+msgstr "¡La energía de {1} fue absorbida!"
+
+msgid "{1} harvested one {2}!"
+msgstr "¡{1} cosechó una {2}!"
+
+msgid "{1} has Air Lock!"
+msgstr "¡{1} tiene Bucle Aire!"
+
+msgid "{1} has Mega Evolved into {2}!"
+msgstr "¡{1} ha Megaevolucionado\na {2}!"
+
+msgid "{1} has already been selected."
+msgstr "{1} ya ha sido seleccionado."
+
+msgid "{1} has been afflicted with infestation by {2}!"
+msgstr "¡{1} es presa del acoso de {2}!"
+
+msgid "{1} has been cured of its corruption!"
+msgstr "¡{1} ha sido curado de la radiación!"
+
+msgid "{1} has been laid down."
+msgstr "{1} ha sido plantada."
+
+msgid "{1} has no energy left to battle!"
+msgstr "¡{1} no tiene energía suficiente para combatir!"
+
+msgid "{1} has no more Pokémon that can fight!"
+msgstr "¡A {1} no le quedan más Pokémon para combatir!"
+
+msgid "{1} has no moves left!"
+msgstr "¡A {1} no le quedan más movimientos!"
+
+msgid "{1} has no usable Pokémon!"
+msgstr "¡A {1} no le quedan Pokémon!"
+
+msgid "{1} held up its Red Card against {2}!"
+msgstr "¡{1} le ha sacado una Tarjeta Roja al {2}!"
+
+msgid "{1} helped {2} move next!"
+msgstr "¡{1} ayudó a {2} a moverse primero!"
+
+msgid "{1} hid underwater!"
+msgstr "¡{1} se ocultó bajo el agua!"
+
+msgid "{1} hung on using its Focus Band!"
+msgstr "¡{1} aguantó usando su Cinta Focus!"
+
+msgid "{1} hung on using its Focus Sash!"
+msgstr "¡{1} aguantó usando su Banda Focus!"
+
+msgid "{1} hung on with Sturdy!"
+msgstr "¡{1} aguantó con su Robustez!"
+
+msgid "{1} ignored orders while asleep!"
+msgstr "¡{1} sigue durmiendo y no obedece!"
+
+msgid "{1} ignored orders!"
+msgstr "¡{1} no obedece tus órdenes!"
+
+msgid "{1} intends to flip up a mat and block incoming attacks!"
+msgstr "¡{1} va a usar un tatami para bloquear ataques!"
+
+msgid "{1} is about to send in {2}."
+msgstr "{1} va a enviar a {2}."
+
+msgid "{1} is absorbing power!"
+msgstr "¡{1} está absorbiendo poder!"
+
+msgid "{1} is affected by the radiation!"
+msgstr "¡{1} es afectado por la radiación!"
+
+msgid "{1} is afflicted by the curse!"
+msgstr "¡{1} es afligido por la maldición!"
+
+msgid "{1} is already asleep!"
+msgstr "¡{1} ya está durmiendo!"
+
+msgid "{1} is already confused!"
+msgstr "¡{1} ya está confuso!"
+
+msgid "{1} is already holding one {2}."
+msgstr "{1} ya está sosteniendo {2}."
+
+msgid "{1} is already in battle!"
+msgstr "¡{1} ya está en combate!"
+
+msgid "{1} is already paralyzed!"
+msgstr "¡{1} ya está paralizado!"
+
+msgid "{1} is already poisoned."
+msgstr "{1} ya está envenenado."
+
+msgid "{1} is angry!"
+msgstr "¡{1} se ha enfurecido!"
+
+msgid "{1} is attacking!"
+msgstr "¡{1} está atacando!"
+
+msgid "{1} is badly poisoned!"
+msgstr "¡{1} está gravemente envenenado!"
+
+msgid "{1} is buffeted by the hail!"
+msgstr "¡El granizo azota a {1}!"
+
+msgid "{1} is buffeted by the sandstorm!"
+msgstr "¡La tormenta de arena azota a {1}!"
+
+msgid "{1} is confused!"
+msgstr "¡{1} está confuso!"
+
+msgid "{1} is covered in powder!"
+msgstr "¡{1} está cubierto en un polvo explosivo!"
+
+msgid "{1} is damaged by the recoil!"
+msgstr "¡{1} tambien se ha hecho daño!"
+
+msgid "{1} is disabled no more!"
+msgstr "¡{1} ya no sufre los efectos de Otra Vez!"
+
+msgid "{1} is eager for more!"
+msgstr "¡{1} está ansioso por más!"
+
+msgid "{1} is eating!"
+msgstr "¡{1} está comiendo!"
+
+msgid "{1} is exerting its Pressure!"
+msgstr "¡{1} ejerce Presión!"
+
+msgid "{1} is fast asleep."
+msgstr "¡{1} está dormido!"
+
+msgid "{1} is frozen solid!"
+msgstr "¡{1} está completamente congelado!"
+
+msgid "{1} is getting into position!"
+msgstr "¡{1} está posicionándose!"
+
+msgid "{1} is getting pumped!"
+msgstr "¡{1} se está preparando para luchar!"
+
+msgid "{1} is glowing!"
+msgstr "¡{1} está brillando!"
+
+msgid "{1} is having a bad dream!"
+msgstr "¡{1} está teniendo un mal sueño!"
+
+msgid "{1} is healed by poison!"
+msgstr "¡{1} es curado por el envenenamiento!"
+
+msgid "{1} is hit by lightning!"
+msgstr "¡{1} es golpeado por un rayo!"
+
+msgid "{1} is hurt by its burn!"
+msgstr "¡{1} es herido por su quemadura!"
+
+msgid "{1} is hurt by its {2}!"
+msgstr "¡{1} es herido por su {2}!"
+
+msgid "{1} is hurt by poison!"
+msgstr "¡{1} es herido por el envenenamiento!"
+
+msgid "{1} is hurt by {2}!"
+msgstr "¡{1} es herido por {2}!"
+
+msgid "{1} is immobilized by love!"
+msgstr "¡{1} está inmovilizado por el amor!"
+
+msgid "{1} is in love with {2}!"
+msgstr "{1} está enamorado de {2}!"
+
+msgid "{1} is loafing around!"
+msgstr "¡{1} está holgazaneando!"
+
+msgid "{1} is locked in a nightmare!"
+msgstr "¡{1} está atrapado en una pesadilla!"
+
+msgid "{1} is making an uproar!"
+msgstr "¡{1} está haciendo un alboroto!"
+
+msgid "{1} is not affected by {2} thanks to its Safety Goggles!"
+msgstr "¡{1} no afecta a {2} gracias a su Gafa Protectora!"
+
+msgid "{1} is not compatible with {2}."
+msgstr "{1} no es compatible con {2}."
+
+msgid "{1} is now being held."
+msgstr "El Pokémon ahora carga {1}."
+
+msgid "{1} is paralyzed! It can't move!"
+msgstr "¡{1} está paralizado! ¡No se puede mover!"
+
+msgid "{1} is paralyzed! It may be unable to move!"
+msgstr "¡{1} está paralizado! ¡Quizá no se pueda mover!"
+
+msgid "{1} is poisoned!"
+msgstr "¡{1} está envenenado!"
+
+msgid "{1} is protected by Aroma Veil!"
+msgstr "¡{1} se protegió con Velo Aroma!"
+
+msgid "{1} is protected by Mist!"
+msgstr "¡{1} está protegido por la Neblina!"
+
+msgid "{1} is protected by Safeguard!"
+msgstr "¡{1} se ha protegido gracias a Velo Sagrado!"
+
+msgid "{1} is protected by the mist!"
+msgstr "¡A {1} le protege la niebla!"
+
+msgid "{1} is radiating a blazing aura!"
+msgstr "¡{1} desprende un aura llameante!"
+
+msgid "{1} is radiating a bursting aura!"
+msgstr "¡{1} desprende un aura chisporroteante!"
+
+msgid "{1} is radiating a dark aura!"
+msgstr "¡{1} irradia un aura oscura!"
+
+msgid "{1} is radiating a fairy aura!"
+msgstr "¡{1} irradia un aura feérica!"
+
+msgid "{1} is ready to help {2}!"
+msgstr "¡{1} está listo para ayudar a {2}!"
+
+msgid "{1} is selected."
+msgstr "{1} ha sido seleccionado."
+
+msgid "{1} is storing energy!"
+msgstr "¡{1} está acumulando energía!"
+
+msgid "{1} is struggling!"
+msgstr "¡{1} usó Combate!"
+
+msgid "{1} is switched out with the Eject Button!"
+msgstr "¡{1} regresa gracias al Botón Escape!"
+
+msgid "{1} is tightening its focus!"
+msgstr "¡{1} se concentra para atacar!"
+
+msgid "{1} is tormented!"
+msgstr "¡{1} se dejó engañar por Mofa!"
+
+msgid "{1} is trying to\nlearn {2}."
+msgstr "{1} quiere aprender el movimiento {2}."
+
+msgid "{1} is trying to learn {2}."
+msgstr "{1} quiere aprender el movimiento {2}."
+
+msgid "{1} is trying to take its foe down with it!"
+msgstr "¡{1} intentó llevarse a su enemigo!"
+
+msgid "{1} is unaffected!"
+msgstr "¡No afecta a {1}!"
+
+msgid "{1} is waiting for {2}'s move..."
+msgstr "{1} espera el ataque de {2}..."
+
+msgid "{1} is watching carefully!"
+msgstr "¡{1} te vigila cuidadosamente!"
+
+msgid "{1} isn't holding anything."
+msgstr "{1} no tiene ningún objeto."
+
+msgid "{1} kept going and crashed!"
+msgstr "¡{1} falló y se estrelló!"
+
+msgid "{1} knocked off {2}'s {3}!"
+msgstr "¡{1} echó abajo {3} del {2}!"
+
+msgid "{1} learned a new song!"
+msgstr "¡{1} aprendió una nueva canción!"
+
+msgid "{1} learned {2}!"
+msgstr "¡{1} aprendió el movimiento\n{2}!"
+
+msgid "{1} learned {2}!\\se[itemlevel]"
+msgstr "¡{1} aprendió {2}!\\se[itemlevel]"
+
+msgid "{1} levitated with electromagnetism!"
+msgstr "¡{1} levita por electromagnetismo!"
+
+msgid "{1} lost against\n{2}!"
+msgstr "¡{1} perdió contra\n{2}!"
+
+msgid "{1} lost against {2} and {3}!"
+msgstr "¡{1} perdió contra\n{2} y {3}!"
+
+msgid "{1} lost against {2}."
+msgstr "{1} perdió contra {2}."
+
+msgid "{1} lost its focus and couldn't move!"
+msgstr "¡{1} perdió la concentracion y no se pudo mover!"
+
+msgid "{1} lost some of its HP!"
+msgstr "¡{1} perdió unos cuantos PS!"
+
+msgid "{1} lowered its head!"
+msgstr "¡{1} bajo su cabeza!"
+
+msgid "{1} made {2} drowsy!"
+msgstr "¡{2} está somnoliento!"
+
+msgid "{1} makes Fairy-type moves miss with Disenchant!"
+msgstr "¡Desembrujo de {1} lo hace inmune a los ataques tipo Hada!"
+
+msgid "{1} makes Ground moves miss with Levitate!"
+msgstr "¡Levitación de {1} hace que fallen los ataques de tipo Tierra!"
+
+msgid "{1} makes Nuclear-type moves miss with Radiation Proof!"
+msgstr "¡Piel de Plomo de {1} lo hace inmune a los ataques tipo Nuclear!"
+
+msgid "{1} maxed its Attack!"
+msgstr "¡{1} aumentó al máximo su Ataque!"
+
+msgid "{1} must recharge!"
+msgstr "¡{1} está recuperando fuerzas!"
+
+msgid "{1} obtained {2}!\\me[PU-PokemonObtained]"
+msgstr "¡{1} obtuvo a {2}!\\me[PU-PokemonObtained]"
+
+msgid "{1} obtained {2}!\\se[itemlevel]"
+msgstr "¡{1} obtuvo {2}!\\se[itemlevel]"
+
+msgid "{1} obtained {2}."
+msgstr "{1} obtuvo {2}."
+
+msgid "{1} opened the door to its heart!"
+msgstr "¡{1} abrió la puerta a su corazón!"
+
+msgid "{1} panicked and dropped\n${2}..."
+msgstr "{1} dejó caer\n${2} al huir..."
+
+msgid "{1} picked up ${2}!"
+msgstr "¡{1} encontró ${2}!"
+
+msgid "{1} picked up {2} from the pokemon!"
+msgstr "¡{1} recibió el {2} del Pokémon!"
+
+msgid "{1} pickpocketed {2}'s {3}!"
+msgstr "¡{1} hurtó {3} de {2}!"
+
+msgid "{1} planted a {2} in the soft loamy soil."
+msgstr "{1} plantó una {2} en el suelo."
+
+msgid "{1} planted its roots!"
+msgstr "¡{1} echo raíces!"
+
+msgid "{1} pretended not to notice!"
+msgstr "¡{1} se hace el tonto!"
+
+msgid "{1} protected itself!"
+msgstr "¡{1} se ha protegido!"
+
+msgid "{1} put away the {2} in the \\c[1]Berries\\c[0] Pocket."
+msgstr "{1} guardó {2}\nen el Bolsillo de \\c[1]Bayas\\c[0]"
+
+msgid "{1} put in a substitute!"
+msgstr "¡{1} creó un Sustituto!"
+
+msgid "{1} put the \\c[1]{2}\\c[0]\nin the \\c[1]{4}\\c[0] Pocket."
+msgstr "{1} guardó \\c[1]{2}\\c[0]\nen el bolsillo de \\c[1]{4}\\c[0]."
+
+msgid "{1} put the \\c[1]{2}s\\c[0]\nin the \\c[1]{4}\\c[0] Pocket."
+msgstr "{1} guardó cada \\c[1]{2}\\c[0]\nen el bolsillo de \\c[1]{4}\\c[0]."
+
+msgid "{1} received a Pokémon from {2}."
+msgstr "{1} recibió un Pokémon por parte de {2}."
+
+msgid "{1} received a Pokémon."
+msgstr "{1} recibió un Pokémon."
+
+msgid "{1} received an encore!"
+msgstr "¡{1} sufrió los efectos de Otra Vez!"
+
+msgid "{1} received {2} Coin(s)!"
+msgstr "¡{1} recibió {2} Fichas!"
+
+msgid "{1} received {2} Coins!"
+msgstr "¡{1} recibió {2} Fichas!"
+
+msgid "{1} received {2} from {3}!"
+msgstr "¡{1} recibió {2} del {3}!"
+
+msgid "{1} received {2}!\\se[itemlevel]"
+msgstr "¡{1} recibió {2}!\\se[itemlevel]"
+
+msgid "{1} regained the move\n{2}!"
+msgstr "¡{1} recuperó el movimiento\n{2}!"
+
+msgid "{1} regained {2} Exp. Points!"
+msgstr "¡{1} recuperó {2} Puntos de Experiencia!"
+
+msgid "{1} restored a little HP using its Shell Bell!"
+msgstr "¡{1} restauró unos pocos PS con su Campana Concha!"
+
+msgid "{1} restored a little HP using its {2}!"
+msgstr "¡{1} recuperó unos pocos PS gracias a {2}!"
+
+msgid "{1} reversed all other Pokémon's auras!"
+msgstr "¡{1} ha invertido todas las auras!"
+
+msgid "{1} sealed the opponent's move(s)!"
+msgstr "¡{1} selló movimientos del oponente!"
+
+msgid "{1} sent\nout {2} and {3}!"
+msgstr "¡{1} envía a\n{2} y {3}!"
+
+msgid "{1} sent\nout {2}!"
+msgstr "¡{1} envía a\n{2}!"
+
+msgid "{1} sent\nout {2}! Go! {3}!"
+msgstr "¡{1} envía a {2}!\n¡Adelante, {3}!"
+
+msgid "{1} sent\nout {2}! {3} sent\nout {4}!"
+msgstr "¡{1} envía a {2}!\n¡{3} envía a {4}!"
+
+msgid "{1} shared its guard with the target!"
+msgstr "¡{1} comparte su guardia con su objetivo!"
+
+msgid "{1} shared its power with the target!"
+msgstr "¡{1} comparte su poder con su objetivo!"
+
+msgid "{1} shrouded itself with Magic Coat!"
+msgstr "¡{1} se rodea con una Capa Mágica!"
+
+msgid "{1} shuddered with anticipation!"
+msgstr "¡Anticipación de {1} le hizo estremecerse!"
+
+msgid "{1} sketched {2}!"
+msgstr "¡{1} copió el movimiento {2}!"
+
+msgid "{1} slept and became healthy!"
+msgstr "¡{1} se ha recuperado tras dormir un poco!"
+
+msgid "{1} snapped out of confusion!"
+msgstr "¡{1} dejó de estar confuso!"
+
+msgid "{1} snapped out of confusion."
+msgstr "{1} se libró de confusión."
+
+msgid "{1} snapped out of its confusion."
+msgstr "{1} ya no está confuso."
+
+msgid "{1} snatched {2}'s move!"
+msgstr "¡{1} robó el movimiento de {2}!"
+
+msgid "{1} sprang up!"
+msgstr "¡{1} dio un salto tremendo!"
+
+msgid "{1} stayed awake using its partner's {2}!"
+msgstr "¡{1} no se ha dormido debido a {2} de su compañero!"
+
+msgid "{1} stayed awake using its {2}!"
+msgstr "{1} se mantuvo despierto usando su {2}!"
+
+msgid "{1} stockpiled {2}!"
+msgstr "¡{1} reservó {2}!"
+
+msgid "{1} stole and ate its target's {2}!"
+msgstr "¡{1} robó y se comió la {2} de su objetivo!"
+
+msgid "{1} stole {2}'s {3} with Magician!"
+msgstr "¡{1} robó {3} de {2} con Prestidigitador!"
+
+msgid "{1} stole {2}'s {3}!"
+msgstr "¡{1} robó {3} a {2}!"
+
+msgid "{1} sucked up the liquid ooze!"
+msgstr "¡{1} absorbió el lodo líquido!"
+
+msgid "{1} surrounded itself with a veil of petals!"
+msgstr "¡{1} se ha envuelto en un velo de pétalos!"
+
+msgid "{1} surrounded itself with a veil of sweetness!"
+msgstr "¡{1} se ha envuelto en un velo de dulzura!"
+
+msgid "{1} surrounded itself with a veil of water!"
+msgstr "¡{1} se rodeó de un manto de agua!"
+
+msgid "{1} surrounds itself with a protective mist!"
+msgstr "¡{1} se envuelve en una niebla protectora!"
+
+msgid "{1} surrounds itself with electrified terrain!"
+msgstr "¡{1} se envuelve en un campo de corriente eléctrica!"
+
+msgid "{1} survived the poisoning.\nThe poison faded away!"
+msgstr "{1} sobrevivió al veneno.\n¡El veneno se ha disipado!"
+
+msgid "{1} swapped its {2} ability with its target's {3} ability!"
+msgstr "¡{1} intercambió su habilidad {2} con la habilidad {3} de su objetivo!"
+
+msgid "{1} switched all changes to its Attack and Sp. Atk with the target!"
+msgstr "¡{1} intercambió todos los cambios a su Ataque y Ataque Especial con su objetivo!"
+
+msgid "{1} switched all changes to its Defense and Sp. Def with the target!"
+msgstr "¡{1} intercambió todos los cambios a su Defensa y Defensa Especial con su objetivo!"
+
+msgid "{1} switched items with its opponent!"
+msgstr "¡{1} intercambió objetos con su oponente!"
+
+msgid "{1} switched its Attack and Defense!"
+msgstr "¡{1} intercambió su Ataque y su Defensa!"
+
+msgid "{1} switched places with its ally!"
+msgstr "¡{1} intercambió lugares con su aliado!"
+
+msgid "{1} switched stat changes with the target!"
+msgstr "¡{1} intercambió todos los cambios a sus características con su objetivo!"
+
+msgid "{1} thawed out!"
+msgstr "¡{1} se descongeló!"
+
+msgid "{1} threw a rock at the {2}!"
+msgstr "¡{1} le lanzó una piedra al {2}!"
+
+msgid "{1} threw a {2}."
+msgstr "{1} lanzó una {2}."
+
+msgid "{1} threw some bait at the {2}!"
+msgstr "¡{1} lanzó cebo al {2}!"
+
+msgid "{1} took a nap!"
+msgstr "¡{1} ha decidido echarse una siesta!"
+
+msgid "{1} took aim at {2}!"
+msgstr "¡{1} apunta al {2}!"
+
+msgid "{1} took in sunlight!"
+msgstr "¡{1} absorbió luz solar!"
+
+msgid "{1} took its attacker down with it!"
+msgstr "¡{1} se llevó a su atacnte con él!"
+
+msgid "{1} took the attack!"
+msgstr "¡{1} recibió el ataque!"
+
+msgid "{1} took the {2} attack!"
+msgstr "{1} fue golpeado por el ataque {2}!"
+
+msgid "{1} traced {2}'s {3}!"
+msgstr "¡{1} ha copiado la habilidad {3} de {2}!"
+
+msgid "{1} transformed into the {2} type!"
+msgstr "¡{1} se transformó en tipo {2}!"
+
+msgid "{1} transformed into {2}!"
+msgstr "¡{1} se transformó en {2}!"
+
+msgid "{1} transformed!"
+msgstr "¡{1} se transformó!"
+
+msgid "{1} turned away!"
+msgstr "¡{1} te ignora!"
+
+msgid "{1} turned friendly."
+msgstr "{1} se volvió amistoso."
+
+msgid "{1} turned friendly.\nThe base Attack can't fall!"
+msgstr "{1} es más amigable.\n¡Su Ataque no puede bajar más!"
+
+msgid "{1} turned friendly.\nThe base Attack fell!"
+msgstr "{1} es más amigable.\n¡Su Ataque bajó!"
+
+msgid "{1} turned friendly.\nThe base Defense can't fall!"
+msgstr "{1} es más amigable.\n¡Su Defensa no puede bajar más!"
+
+msgid "{1} turned friendly.\nThe base Defense fell!"
+msgstr "{1} es más amigable.\n¡Su Defensa bajó!"
+
+msgid "{1} turned friendly.\nThe base HP can't fall!"
+msgstr "{1} es más amigable.\n¡Sus PS Máximos no pueden bajar más!"
+
+msgid "{1} turned friendly.\nThe base HP fell!"
+msgstr "{1} es más amigable.\n¡Sus PS Máximos bajaron!"
+
+msgid "{1} turned friendly.\nThe base Special Attack can't fall!"
+msgstr "{1} es más amigable.\n¡Su Ataque Especial no puede bajar más!"
+
+msgid "{1} turned friendly.\nThe base Special Attack fell!"
+msgstr "{1} es más amigable.\n¡Su Ataque Especial bajó!"
+
+msgid "{1} turned friendly.\nThe base Special Defense can't fall!"
+msgstr "{1} es más amigable.\n¡Su Defensa Especial no puede bajar más!"
+
+msgid "{1} turned friendly.\nThe base Special Defense fell!"
+msgstr "{1} es más amigable.\n¡Su Defensa Especial bajó!"
+
+msgid "{1} turned friendly.\nThe base Speed can't fall!"
+msgstr "{1} es más amigable.\n¡Su Velocidad no puede bajar más!"
+
+msgid "{1} turned friendly.\nThe base Speed fell!"
+msgstr "{1} es más amigable\n¡Su Velocidad bajó!"
+
+msgid "{1} turned friendly.\nThe door to its heart opened a little."
+msgstr "{1} se volvió amistoso.\nLa puerta a su corazón se abrió ligeramente."
+
+msgid "{1} turned into {2}!"
+msgstr "¡{1} se convirtió en {2}!"
+
+msgid "{1} twisted the dimensions!"
+msgstr "¡{1} ha alterado las dimensiones!"
+
+msgid "{1} unleashed energy!"
+msgstr "¡{1} liberó energía!"
+
+msgid "{1} used\n{2}!"
+msgstr "¡{1} ha usado\n{2}!"
+
+msgid "{1} used Coral Break!"
+msgstr "¡{1} usó Rompecoral!"
+
+msgid "{1} used Cut!"
+msgstr "¡{1} usó Corte!"
+
+msgid "{1} used Dive."
+msgstr "{1} usó Buceo."
+
+msgid "{1} used Fly!"
+msgstr "¡{1} usó Vuelo!"
+
+msgid "{1} used Rock Smash!"
+msgstr "¡{1} usó Golpe Roca!"
+
+msgid "{1} used Strength!"
+msgstr "¡{1} usó Fuerza!"
+
+msgid "{1} used Surf!"
+msgstr "¡{1} usó Surf!"
+
+msgid "{1} used Waterfall."
+msgstr "{1} usó Cascada."
+
+msgid "{1} used its {2} to get pumped!"
+msgstr "¡{2} se está preparando para luchar gracias a su {1}!"
+
+msgid "{1} used the\n{2}!"
+msgstr "¡{1} usó \n{2}!"
+
+msgid "{1} used the\n{2}."
+msgstr "{1} usó\n{2}."
+
+msgid "{1} used the Boxing Gloves!"
+msgstr "¡{1} ha usado los Guantes de Boxeo!"
+
+msgid "{1} used the Climbing Pick"
+msgstr "¡{1} usó el Pico de Escalada!"
+
+msgid "{1} used the Climbing Pick!"
+msgstr "¡{1} usó el Pico de Escalada!"
+
+msgid "{1} used the Escape Rope."
+msgstr "{1} usó la Cuerda Huida."
+
+msgid "{1} used the Power Glove!"
+msgstr "¡{1} usó el Guante de Poder!"
+
+msgid "{1} used the Scuba Gear"
+msgstr "¡{1} usó el Traje de Buceo!"
+
+msgid "{1} used the Scuba Gear."
+msgstr "¡{1} usó el Traje de Buceo!"
+
+msgid "{1} used the Surfboard!"
+msgstr "¡{1} usó la Tabla de Surf!"
+
+msgid "{1} used the {2}!"
+msgstr "¡{1} usó {2}!"
+
+msgid "{1} used the {2}."
+msgstr "{1} usó {2}."
+
+msgid "{1} used {2}!"
+msgstr "¡{1} ha usado {2}!"
+
+msgid "{1} vanished instantly!"
+msgstr "¡{1} desapareció instantáneamente!"
+
+msgid "{1} waits for a target to make a move!"
+msgstr "¡{1} espera a que su objetivo haga un movimiento!"
+
+msgid "{1} wants its target to bear a grudge!"
+msgstr "¡{1} quiere provocar Rabia a su oponente!"
+
+msgid "{1} was Mummified by {2}!"
+msgstr "¡{1} fue Momificado por {2}!"
+
+msgid "{1} was badly poisoned by its {2}!"
+msgstr "¡{1} fue gravemente envenenado por la {2}!"
+
+msgid "{1} was badly poisoned!"
+msgstr "¡{1} fue gravemente envenenado!"
+
+msgid "{1} was blocked by the kicked-up mat!"
+msgstr "¡Escudo Tatami neutraliza {1}!"
+
+msgid "{1} was burned by its {2}!"
+msgstr "¡{1} fue quemado por su {2}!"
+
+msgid "{1} was burned!"
+msgstr "¡{1} se ha quemado!"
+
+msgid "{1} was caught in a sticky web!"
+msgstr "¡{1} ha caído en una red viscosa!"
+
+msgid "{1} was caught in the aftermath!"
+msgstr "¡{1} fue atrapado por el resquicio!"
+
+msgid "{1} was cured of its burn."
+msgstr "{1} ya no está quemado."
+
+msgid "{1} was cured of its paralysis."
+msgstr "{1} ya no está paralizado."
+
+msgid "{1} was cured of its poisoning."
+msgstr "{1} ya no está envenenado."
+
+msgid "{1} was cured of paralysis."
+msgstr "La parálisis de {1} fue curada."
+
+msgid "{1} was defrosted by {2}!"
+msgstr "{1} fue descongelado por {2}!"
+
+msgid "{1} was defrosted."
+msgstr "{1} se descongeló."
+
+msgid "{1} was downgraded to Level {2}!"
+msgstr "¡{1} bajó al Nivel {2}!"
+
+msgid "{1} was dragged out!"
+msgstr "¡{1} ha sido arrastrado al combate!"
+
+msgid "{1} was elevated to Level {2}!"
+msgstr "¡{1} subió al Nivel {2}!"
+
+msgid "{1} was freed from Leech Seed!"
+msgstr "¡{1} se liberó de las Drenadoras!"
+
+msgid "{1} was freed from the telekinesis!"
+msgstr "¡{1} se liberó de los efectos de telequinesis!"
+
+msgid "{1} was freed from {2}!"
+msgstr "¡{1} fue liberado de {2}!"
+
+msgid "{1} was frisked, revealing its {2}!"
+msgstr "¡{1} ha sido cacheado, revelando su {2}!"
+
+msgid "{1} was frozen solid!"
+msgstr "¡{1} fue congelado!"
+
+msgid "{1} was given the {2} to hold."
+msgstr "{1} ahora sostiene {2}."
+
+msgid "{1} was hurled into the air!"
+msgstr "¡{1} ha sido lanzado por los aires!"
+
+msgid "{1} was hurt by its {2}!"
+msgstr "¡{1} Ha sido dañado por su {2}!"
+
+msgid "{1} was hurt by spikes!"
+msgstr "¡{1} fue herido por púas!"
+
+msgid "{1} was hurt by the shadow sky!"
+msgstr "¡{1} fue herido por el cielo oscuro!"
+
+msgid "{1} was hurt by the sunlight!"
+msgstr "¡{1} fue herido por los rayos del sol!"
+
+msgid "{1} was hurt by the {2}!"
+msgstr "¡{1} fue dañado por {2}!"
+
+msgid "{1} was hurt!"
+msgstr "¡{1} fue herido!"
+
+msgid "{1} was identified!"
+msgstr "¡{1} fue identificado!"
+
+msgid "{1} was paralyzed!"
+msgstr "¡{1} fue paralizado!"
+
+msgid "{1} was paralyzed! It may be unable to move!"
+msgstr "¡{1} fue paralizado! ¡Quizá no se pueda mover!"
+
+msgid "{1} was poisoned!"
+msgstr "¡{1} fue envenenado!"
+
+msgid "{1} was prevented from healing due to Heal Block!"
+msgstr "¡{1} no puede curarse debido a Anticura!"
+
+msgid "{1} was prevented from healing!"
+msgstr "¡{1} no puede curarse!"
+
+msgid "{1} was protected by {2}!"
+msgstr "¡{1} fue protegido por {2}!"
+
+msgid "{1} was quashed!"
+msgstr "¡{1} ha retrasado su turno!"
+
+msgid "{1} was released."
+msgstr "Se ha liberado a {1}."
+
+msgid "{1} was seeded!"
+msgstr "¡{1} fue infectado!"
+
+msgid "{1} was squeezed by {2}!"
+msgstr "¡{1} fue oprimido por {2}!"
+
+msgid "{1} was subjected to torment!"
+msgstr "¡{1} es victima de Tormento!"
+
+msgid "{1} was thawed out."
+msgstr "{1} se descongeló."
+
+msgid "{1} was transferred to box \"{2}\"."
+msgstr "{1} fue transferido a la caja \"{2}\"."
+
+msgid "{1} was transferred to box \"{2}.\""
+msgstr "{1} fue transferido a la caja \"{2}.\""
+
+msgid "{1} was transferred to someone's PC."
+msgstr "{1} fue transferido\na la PC."
+
+msgid "{1} was transferred to someone's PC."
+msgstr "{1} fue transferido a la PC de alguien."
+
+msgid "{1} was transferred to {2}'s PC."
+msgstr "{1} fue transferido\na la PC de {2}."
+
+msgid "{1} was transferred to {2}'s PC."
+msgstr "{1} fue transferido a la PC de {2}."
+
+msgid "{1} was trapped in the vortex!"
+msgstr "¡{1} fue atrapado en el torbellino!"
+
+msgid "{1} was unaffected!"
+msgstr "¡No afectó a {1}!"
+
+msgid "{1} was woken from its sleep."
+msgstr "{1} se despertó."
+
+msgid "{1} was wrapped by {2}!"
+msgstr "¡{1} es evuelto por {2}!"
+
+msgid "{1} wasn't affected!"
+msgstr "No afecta a {1}..."
+
+msgid "{1} watered the plant.\\wtnp[40]"
+msgstr "{1} regó la planta.\\wtnp[40]"
+
+msgid "{1} went back to {2}!"
+msgstr "¡{1} ha vuelto con {2}!"
+
+msgid "{1} went to sleep!"
+msgstr "¡{1} se durmió!"
+
+msgid "{1} whipped up a whirlwind!"
+msgstr "¡{1} provocó un remolino!"
+
+msgid "{1} withdrew {2}!"
+msgstr "¡{1} retira a {2} del combate!"
+
+msgid "{1} woke up in the uproar!"
+msgstr "¡{1} se despertó gracias al alboroto!"
+
+msgid "{1} woke up!"
+msgstr "¡{1} se ha despertado!"
+
+msgid "{1} woke up."
+msgstr "{1} se despertó."
+
+msgid "{1} won against {2}."
+msgstr "{1} le ganó a {2}."
+
+msgid "{1} won't flinch because of its {2}!"
+msgstr "¡{2} de {1} evita que retroceda!"
+
+msgid "{1}!"
+msgstr "¡{1}!"
+
+msgid "{1}'s"
+msgstr "{1}:"
+
+msgid "{1}'s AREA"
+msgstr "Áreas de {1}"
+
+msgid "{1}'s Air Balloon popped!"
+msgstr "¡El Globo helio de {1} estalló!"
+
+msgid "{1}'s Attack fell!"
+msgstr "¡El Ataque de {1} disminuyó!"
+
+msgid "{1}'s Attack harshly fell!"
+msgstr "¡El Ataque de {1} disminuyó mucho!"
+
+msgid "{1}'s Attack increased."
+msgstr "El Ataque de {1} aumentó."
+
+msgid "{1}'s Attack rose drastically!"
+msgstr "¡El Ataque de {1}\naumentó muchísimo!"
+
+msgid "{1}'s Attack rose sharply!"
+msgstr "¡El Ataque de {1}\naumentó mucho!"
+
+msgid "{1}'s Attack rose!"
+msgstr "¡El Ataque de {1} aumentó!"
+
+msgid "{1}'s Attack sharply rose!"
+msgstr "¡El Ataque de {1} ha aumentado mucho!"
+
+msgid "{1}'s Attack was not lowered!"
+msgstr "¡El Ataque de {1} no disminuyó!"
+
+msgid "{1}'s Attack went way up!"
+msgstr "¡El Ataque de {1}\naumentó mucho!"
+
+msgid "{1}'s Attack won't go any higher!"
+msgstr "¡El Ataque de {1} no puede aumentar más!"
+
+msgid "{1}'s Attack won't go any lower!"
+msgstr "¡El Ataque de {1} no puede disminuir más!"
+
+msgid "{1}'s Attack won't go lower!"
+msgstr "¡El Ataque de {1} no bajará más!"
+
+msgid "{1}'s Chernobyl started a Toxic Fallout!"
+msgstr "¡Chernóbil de {1} ha creado una Lluvia Radiactiva!"
+
+msgid "{1}'s Cloud Nine made the effects of weather disappear."
+msgstr "Aclimatación de {1} causó que los efectos del clima desaparecieran."
+
+msgid "{1}'s Contrary raised its Attack!"
+msgstr "¡Respondón de {1} aumentó su Ataque!"
+
+msgid "{1}'s Contrary raised its Speed!"
+msgstr "¡Respondón de {1} aumentó su Velocidad!"
+
+msgid "{1}'s Defense fell!"
+msgstr "¡La Defensa de {1} disminuyó!"
+
+msgid "{1}'s Defense harshly fell!"
+msgstr "¡La Defensa de {1} disminuyó mucho!"
+
+msgid "{1}'s Defense increased."
+msgstr "La Defensa de {1} aumentó."
+
+msgid "{1}'s Defense rose drastically!"
+msgstr "¡La Defensa de {1}\naumentó muchísimo!"
+
+msgid "{1}'s Defense rose sharply!"
+msgstr "¡La Defensa de {1}\naumentó mucho!"
+
+msgid "{1}'s Defense rose!"
+msgstr "¡La Defensa de {1} aumentó!"
+
+msgid "{1}'s Defense was lowered!"
+msgstr "¡La Defensa de {1} bajó!"
+
+msgid "{1}'s Defense was not lowered!"
+msgstr "¡La Defensa de {1} no disminuyó!"
+
+msgid "{1}'s Defense went way up!"
+msgstr "¡La Defensa de {1}\naumentó mucho!"
+
+msgid "{1}'s Defense won't go any higher!"
+msgstr "¡La Defensa de {1} no puede aumentar más!"
+
+msgid "{1}'s Defense won't go any lower!"
+msgstr "¡La Defensa de {1} no puede disminuir más!"
+
+msgid "{1}'s Desolate Land made the sun turn harsh!"
+msgstr "¡Tierra del Ocaso de {1} causó un sol abrasador!"
+
+msgid "{1}'s Drizzle made it rain!"
+msgstr "¡{2} de {1} hizo llover!"
+
+msgid "{1}'s Drought intensified the sun's rays!"
+msgstr "¡{2} de {1} intensificó los rayos del sol!"
+
+msgid "{1}'s Dry Skin was healed by the rain!"
+msgstr "¡Piel Seca de {1} le cura por la lluvia!"
+
+msgid "{1}'s Dry Skin was hurt by the sunlight!"
+msgstr "¡Piel Seca de {1} le hiere por el sol intenso!"
+
+msgid "{1}'s Forewarn alerted it to {2}!"
+msgstr "¡Alerta de {1} detectó {2}!"
+
+msgid "{1}'s Geiger Sense raised its Attack!"
+msgstr "¡Sensor Geiger de {1} aumentó su Ataque!"
+
+msgid "{1}'s Geiger Sense raised its Special Attack!"
+msgstr "¡Sensor Geiger de {1} aumentó su Ataque Especial!"
+
+msgid "{1}'s HP increased."
+msgstr "Los PS de {1} aumentaron."
+
+msgid "{1}'s HP is full!"
+msgstr "¡Los PS de {1} están al máximo!"
+
+msgid "{1}'s HP was restored by {2} points."
+msgstr "Se han restaurado {2} PS a {1}."
+
+msgid "{1}'s HP was restored!"
+msgstr "¡Los PS de {1} se han recuperado!"
+
+msgid "{1}'s HP was restored."
+msgstr "Los PS de {1} fueron restaurados."
+
+msgid "{1}'s Heal Block wore off!"
+msgstr "¡La Anticura de {1} ya no surte efecto!"
+
+msgid "{1}'s Ice Body restored its HP a little!"
+msgstr "¡Gélido de {1} restauró un poco sus PS!"
+
+msgid "{1}'s Kee Berry was activated!"
+msgstr "¡La Baya Biglia de {1} fue activada!"
+
+msgid "{1}'s Lightning Rod took the move!"
+msgstr "¡Pararayos de {1} absorvió el ataque!"
+
+msgid "{1}'s Maranga Berry was activated!"
+msgstr "¡La Baya Maranga de {1} fue activada!"
+
+msgid "{1}'s Moody lowered its {2}!"
+msgstr "¡La Veleta de {1} disminuyó su {2}!"
+
+msgid "{1}'s Moody sharply raised its {2}!"
+msgstr "¡Veleta de {1} aumentó mucho su {2}!"
+
+msgid "{1}'s Moxie raised its Attack!"
+msgstr "¡Autoestima de {1} aumentó su Ataque!"
+
+msgid "{1}'s Oblivious prevents taunting!"
+msgstr "¡Despiste de {1} evita que caiga en la mofa!"
+
+msgid "{1}'s PC"
+msgstr "PC de {1}"
+
+msgid "{1}'s PP increased."
+msgstr "Los PP de {1} aumentaron."
+
+msgid "{1}'s Perish count fell to {2}!"
+msgstr "¡El conteo Mortal de {1} bajó a {2}!"
+
+msgid "{1}'s Primordial Sea caused a heavy rain to fall."
+msgstr "Mar del Albor de {1} causó un diluvio."
+
+msgid "{1}'s Rain Dish restored its HP a little!"
+msgstr "¡La Cura Lluvia de {1} restauró un poco sus PS!"
+
+msgid "{1}'s Sand Stream whipped up a sandstorm!"
+msgstr "¡{2} de {1} levantó una tormenta de arena!"
+
+msgid "{1}'s Snow Warning made it hail!"
+msgstr "¡{2} de {1} provocó granizo!"
+
+msgid "{1}'s Special Attack fell!"
+msgstr "¡El Ataque Especial de {1} disminuyó!"
+
+msgid "{1}'s Special Attack harshly fell!"
+msgstr "¡El Ataque Especial de {1} disminuyó mucho!"
+
+msgid "{1}'s Special Attack increased."
+msgstr "El Ataque Especial de {1} aumentó."
+
+msgid "{1}'s Special Attack rose drastically!"
+msgstr "¡El Ataque Especial de\n{1} aumentó muchísimo!"
+
+msgid "{1}'s Special Attack rose sharply!"
+msgstr "¡El Ataque Especial de\n{1} aumentó mucho!"
+
+msgid "{1}'s Special Attack rose!"
+msgstr "¡El Ataque Especial de\n{1} aumentó!"
+
+msgid "{1}'s Special Attack sharply rose!"
+msgstr "¡El Ataque Especial de {1} ha aumentado mucho!"
+
+msgid "{1}'s Special Attack went way up!"
+msgstr "¡El Ataque Especial de\n{1} aumentó mucho!"
+
+msgid "{1}'s Special Attack won't go any higher!"
+msgstr "¡El Ataque Especial de {1} no puede aumentar más!"
+
+msgid "{1}'s Special Attack won't go any lower!"
+msgstr "¡El Ataque Especial de {1} no puede disminuir más!"
+
+msgid "{1}'s Special Defense fell!"
+msgstr "¡La Defensa Especial de {1} disminuyó!"
+
+msgid "{1}'s Special Defense harshly fell!"
+msgstr "¡La Defensa Especial de {1} disminuyó mucho!"
+
+msgid "{1}'s Special Defense increased."
+msgstr "La Defensa Especial de {1} aumentó."
+
+msgid "{1}'s Special Defense rose drastically!"
+msgstr "La Defensa Especial de\n{1} aumentó muchísimo!"
+
+msgid "{1}'s Special Defense rose sharply!"
+msgstr "La Defensa Especial de\n{1} aumentó mucho!"
+
+msgid "{1}'s Special Defense rose!"
+msgstr "¡La Defensa Especial de\n{1} aumentó!"
+
+msgid "{1}'s Special Defense went way up!"
+msgstr "¡La Defensa Especial de\n{1} aumentó mucho!"
+
+msgid "{1}'s Special Defense won't go any higher!"
+msgstr "¡La Defensa Especial de {1} no puede aumentar más!"
+
+msgid "{1}'s Special Defense won't go any lower!"
+msgstr "¡La Defensa Especial de {1} no puede disminuir más!"
+
+msgid "{1}'s Speed Boost raised its Speed!"
+msgstr "¡Impulso de {1} aumentó su Velocidad!"
+
+msgid "{1}'s Speed fell!"
+msgstr "¡La velocidad de {1} disminuyó!"
+
+msgid "{1}'s Speed harshly fell!"
+msgstr "¡La velocidad de {1} disminuyó mucho!"
+
+msgid "{1}'s Speed increased."
+msgstr "La Velocidad de {1} aumentó."
+
+msgid "{1}'s Speed rose drastically!"
+msgstr "¡La Velocidad de {1}\naumentó muchísimo!"
+
+msgid "{1}'s Speed rose sharply!"
+msgstr "¡La Velocidad de {1}\naumentó mucho!"
+
+msgid "{1}'s Speed rose!"
+msgstr "¡La Velocidad de {1} aumentó!"
+
+msgid "{1}'s Speed went way up!"
+msgstr "¡La Velocidad de {1}\naumentó mucho!"
+
+msgid "{1}'s Speed won't go any higher!"
+msgstr "¡La Velocidad de {1} no puede aumentar más!"
+
+msgid "{1}'s Speed won't go any lower!"
+msgstr "¡La Velocidad de {1} no puede disminuir más!"
+
+msgid "{1}'s Storm Drain took the move!"
+msgstr "¡Colector de {1} atrajo el ataque!"
+
+msgid "{1}'s Stormbringer whipped up a thunderstorm!"
+msgstr "¡Tempestad de {1} invocó una tormenta!"
+
+msgid "{1}'s Strength made it possible to move boulders around!"
+msgstr "¡La Fuerza de {1}\npermite desplazar rocas!"
+
+msgid "{1}'s Taunt wore off!"
+msgstr "¡La mofa de {1} ya no surte efecto!"
+
+msgid "{1}'s ability became Mummy!"
+msgstr "¡La habilidad de {1} ahora es Momia!"
+
+msgid "{1}'s ability was changed to {2}!"
+msgstr "¡La habilidad de {1} ahora es {2}!"
+
+msgid "{1}'s ability was suppressed!"
+msgstr "¡La habilidad de {1} fue suprimida!"
+
+msgid "{1}'s accuracy fell!"
+msgstr "¡La precisión de {1} disminuyó!"
+
+msgid "{1}'s accuracy harshly fell!"
+msgstr "¡La precisión de {1} disminuyó mucho!"
+
+msgid "{1}'s accuracy rose drastically!"
+msgstr "¡La precisión de {1}\naumentó muchísimo!"
+
+msgid "{1}'s accuracy rose sharply!"
+msgstr "¡La precisión de {1}\naumentó mucho!"
+
+msgid "{1}'s accuracy rose!"
+msgstr "¡La precisión de {1} aumentó!"
+
+msgid "{1}'s accuracy was not lowered!"
+msgstr "¡La Precisión de {1} no disminuyó!"
+
+msgid "{1}'s accuracy went way up!"
+msgstr "¡La Precisión de {1}\naumentó mucho!"
+
+msgid "{1}'s accuracy won't go any higher!"
+msgstr "¡La precisión de {1} no puede aumentar más!"
+
+msgid "{1}'s accuracy won't go any lower!"
+msgstr "¡La precisión de {1} no puede disminuir más!"
+
+msgid "{1}'s attack missed!"
+msgstr "¡{1} falló el ataque!"
+
+msgid "{1}'s burn was healed."
+msgstr "La quemadura de {1} se curó."
+
+msgid "{1}'s data was added to the Pokédex."
+msgstr "Los datos de {1} se han registrado en la Pokédex."
+
+msgid "{1}'s electromagnetism wore off!"
+msgstr "¡El electromagnetismo de {1} perdió su efecto!"
+
+msgid "{1}'s emotions rose to a fever pitch!\nIt entered Hyper Mode!"
+msgstr "¡Las emociones de {1} llegaron a un punto culminante!\n¡Ha entrado en Modo Hiper!"
+
+msgid "{1}'s encore ended!"
+msgstr "¡{1} ya no sufre los efectos de Otra Vez!"
+
+msgid "{1}'s evasiveness fell!"
+msgstr "¡La evasión de {1} disminuyó!"
+
+msgid "{1}'s evasiveness harshly fell!"
+msgstr "¡La evasión de {1} disminuyó mucho!"
+
+msgid "{1}'s evasiveness rose drastically!"
+msgstr "¡La evasión de {1}\naumentó muchísimo!"
+
+msgid "{1}'s evasiveness rose sharply!"
+msgstr "¡La evasión de {1}\naumentó mucho!"
+
+msgid "{1}'s evasiveness rose!"
+msgstr "¡La evasión de {1} aumentó!"
+
+msgid "{1}'s evasiveness went way up!"
+msgstr "¡La evasión de {1} ha subido muchísimo!"
+
+msgid "{1}'s evasiveness won't go any higher!"
+msgstr "¡La evasión de {1} no puede aumentar más!"
+
+msgid "{1}'s evasiveness won't go any lower!"
+msgstr "¡La evasion de {1} no puede disminuir más!"
+
+msgid "{1}'s health was sapped by Leech Seed!"
+msgstr "¡Los PS de {1} son absorbidos por las Drenadoras!"
+
+msgid "{1}'s level remained unchanged."
+msgstr "El Nivel de {1} no cambió."
+
+msgid "{1}'s move is no longer disabled!"
+msgstr "¡{1} ya no sufre los efectos de Anulación!"
+
+msgid "{1}'s moves have been electrified!"
+msgstr "¡Los ataques de {1} han sido electrificados!"
+
+msgid "{1}'s nest"
+msgstr "Nidos de {1}"
+
+msgid "{1}'s nickname?"
+msgstr "¿Apodo para {1}?"
+
+msgid "{1}'s poisoning was cured."
+msgstr "El envenenamiento de {1} fue curado."
+
+msgid "{1}'s rage is building!"
+msgstr "¡La furia de {1} está aumentando!"
+
+msgid "{1}'s stat changes were all reversed!"
+msgstr "¡Los cambios en las características de {1} fueron revertidos!"
+
+msgid "{1}'s stat changes were removed!"
+msgstr "¡Los cambios en las características de {1} fueron revertidos!"
+
+msgid "{1}'s stats were not lowered!"
+msgstr "¡Las características de {1} no disminuyeron!"
+
+msgid "{1}'s stats were not lowered."
+msgstr "Las características de {1} no bajaron."
+
+msgid "{1}'s stats won't go any higher!"
+msgstr "¡Las características de {1} no pueden aumentar más!"
+
+msgid "{1}'s stats won't go any lower!"
+msgstr "¡Las características de {1} no pueden bajar más!"
+
+msgid "{1}'s stockpiled effect wore off!"
+msgstr "¡Desaparecieron los efectos de la Reserva de {1}!"
+
+msgid "{1}'s substitute faded!"
+msgstr "¡El sustituto de {1} se debilitó!"
+
+msgid "{1}'s taunt wore off!"
+msgstr "¡La mofa de {1} ya no surte efecto!"
+
+msgid "{1}'s torment wore off!"
+msgstr "¡El tormento de {1} ya no surte efecto!"
+
+msgid "{1}'s type changed to match {2}'s!"
+msgstr "¡{1} ahora es del mismo tipo que {2}!"
+
+msgid "{1}'s was healed through Rebuild!"
+msgstr "¡Reconstrucción de {1} le ha curado!"
+
+msgid "{1}'s wish came true!"
+msgstr "¡El deseo de {1} se ha vuelto realidad!"
+
+msgid "{1}'s {2} badly poisoned {3}!"
+msgstr "¡{2} de {1} envenenó gravemente a {3}!"
+
+msgid "{1}'s {2} blocks {3}!"
+msgstr "¡{2} de {1} bloqueó {3}!"
+
+msgid "{1}'s {2} boosted its Attack!"
+msgstr "¡{2} de {1} aumentó su Ataque!"
+
+msgid "{1}'s {2} boosted its Special Attack!"
+msgstr "¡{2} de {1} aumentó su Ataque Especial!"
+
+msgid "{1}'s {2} burned {3}!"
+msgstr "¡{2} de {1} quemó a {3}!"
+
+msgid "{1}'s {2} changed it into the {3} type!"
+msgstr "¡{2} de {1} lo convirtió al tipo {3}!"
+
+msgid "{1}'s {2} cured its burn problem!"
+msgstr "¡{2} de {1} le curó la quemadura!"
+
+msgid "{1}'s {2} cured its confusion problem!"
+msgstr "¡{1} se ha librado de la confusión gracias a la {2}!"
+
+msgid "{1}'s {2} cured its frozen problem!"
+msgstr "¡{1} se ha descongelado gracias a la {2}!"
+
+msgid "{1}'s {2} cured its ice problem!"
+msgstr "¡{2} de {1} le permitió descongelarse!"
+
+msgid "{1}'s {2} cured its love problem!"
+msgstr "¡{1} ya no está enamorado gracias a la {2}!"
+
+msgid "{1}'s {2} cured its paralysis problem!"
+msgstr "¡{2} de {1} le curó la parálisis!"
+
+msgid "{1}'s {2} cured its partner's burn problem!"
+msgstr "¡{2} de {1} curó la quemadura de su compañero!"
+
+msgid "{1}'s {2} cured its partner's ice problem!"
+msgstr "¡{2} de {1} descongeló a su compañero!"
+
+msgid "{1}'s {2} cured its partner's paralysis problem!"
+msgstr "¡{2} de {1} curó la parálisis de su compañero!"
+
+msgid "{1}'s {2} cured its partner's poison problem!"
+msgstr "¡{2} de {1} curó el envenenamiento de su compañero!"
+
+msgid "{1}'s {2} cured its partner's sleep problem!"
+msgstr "¡{2} de {1} despertó a su compañero!"
+
+msgid "{1}'s {2} cured its poison problem!"
+msgstr "¡{2} de {1} le curó el veneno!"
+
+msgid "{1}'s {2} cured its sleep problem!"
+msgstr "¡{2} de {1} lo despertó!"
+
+msgid "{1}'s {2} cured {3}'s love problem!"
+msgstr "¡{2} de {1} liberó del enamoramiento a {3}!"
+
+msgid "{1}'s {2} cuts {3}'s Attack!"
+msgstr "¡{2} de {1} reduce el Ataque de {3}!"
+
+msgid "{1}'s {2} cuts {3}'s Speed!"
+msgstr "¡{2} de {1} reduce la Velocidad de {3}!"
+
+msgid "{1}'s {2} disabled {3}!"
+msgstr "¡El {2} de {1} deshabilitó a {3}!"
+
+msgid "{1}'s {2} fell!"
+msgstr "¡{2} de {1} bajó!"
+
+msgid "{1}'s {2} had no effect on {3}!"
+msgstr "¡El {2} de {1} no tuvo efecto en {3}!"
+
+msgid "{1}'s {2} hurt {3}!"
+msgstr "¡{2} de {1} hirió a {3}!"
+
+msgid "{1}'s {2} infatuated {3}!"
+msgstr "¡{2} de {3} enamoró a {3}!"
+
+msgid "{1}'s {2} is disabled!"
+msgstr "¡{2} de {1} se ha anulado!"
+
+msgid "{1}'s {2} is reacting to {3}'s Mega Ring!"
+msgstr "¡La {2} de {1} está reaccionando con la Megapulsera de {3}!"
+
+msgid "{1}'s {2} lost all its PP due to the grudge!"
+msgstr "¡El movimiento {2} de {1} perdió todo su PP debido a la rabia!"
+
+msgid "{1}'s {2} lowered its Defense!"
+msgstr "¡El {2} de {1} bajó su Defensa!"
+
+msgid "{1}'s {2} lowered {3}'s Speed!"
+msgstr "¡{2} de {1} redujo la Velocidad de {3}!"
+
+msgid "{1}'s {2} made it the {3} type!"
+msgstr "¡El {2} de {1} lo convirtió en tipo {3}!"
+
+msgid "{1}'s {2} made {3} ineffective!"
+msgstr "¡La {2} de {1} hizo que {3} fuera poco eficaz!"
+
+msgid "{1}'s {2} made {3} sleep!"
+msgstr "¡{2} de {1} hizo que {3} se durmiera!"
+
+msgid "{1}'s {2} made {3} useless!"
+msgstr "¡El {2} de {1} hizo que {3} fuera inútil!"
+
+msgid "{1}'s {2} maxed its Attack!"
+msgstr "¡El {2} de {1} aumentó al máximo su Ataque!"
+
+msgid "{1}'s {2} paralyzed {3}! It may be unable to move!"
+msgstr "¡{2} de {1} paralizó a {3}! ¡Quizá no se pueda mover!"
+
+msgid "{1}'s {2} poisoned {3}!"
+msgstr "¡{2} de {1} envenenó a {3}!"
+
+msgid "{1}'s {2} prevented {3}'s {4} from working!"
+msgstr "¡{2} de {1} evitó que {4} de {3} funcionara!"
+
+msgid "{1}'s {2} prevents Attack loss!"
+msgstr "¡{2} de {1} evita que disminuyan su Ataque!"
+
+msgid "{1}'s {2} prevents Defense loss!"
+msgstr "¡{2} de {1} evita que disminuyan su Defensa!"
+
+msgid "{1}'s {2} prevents accuracy loss!"
+msgstr "¡{2} de {1} evita que disminuya su Precisión!"
+
+msgid "{1}'s {2} prevents burns!"
+msgstr "¡{2} de {1} evita quemaduras!"
+
+msgid "{1}'s {2} prevents confusion!"
+msgstr "¡{2} de {1} evita la confusión!"
+
+msgid "{1}'s {2} prevents paralysis!"
+msgstr "¡{2} de {1} evita parálisis!"
+
+msgid "{1}'s {2} prevents poisoning!"
+msgstr "¡{2} de {1} evita el envenenamiento!"
+
+msgid "{1}'s {2} prevents romance!"
+msgstr "¡{2} de {1} evita que se enamore!"
+
+msgid "{1}'s {2} prevents stat decrease!"
+msgstr "¡{2} de {1} evita que bajen sus caracteristicas!"
+
+msgid "{1}'s {2} prevents stat loss!"
+msgstr "¡{2} de {1} evita pérdidas de características!"
+
+msgid "{1}'s {2} prevents switching!"
+msgstr "¡{2} de {1} evita que un Pokémon sea cambiado!"
+
+msgid "{1}'s {2} prevents {3} from using {4}!"
+msgstr "¡{2} de {1} evitó que {3} usara {4}!"
+
+msgid "{1}'s {2} prevents {3}'s {4} from working!"
+msgstr "¡{2} de {1} evita que el {4} de {3} funcione!"
+
+msgid "{1}'s {2} raised its Attack!"
+msgstr "¡La {2} de {1} aumentó su Ataque!"
+
+msgid "{1}'s {2} raised its Fire power!"
+msgstr "¡{2} de {1} aumentó su poder de Fuego!"
+
+msgid "{1}'s {2} raised its Special Attack!"
+msgstr "¡La {2} de {1} aumentó su Ataque Especial!"
+
+msgid "{1}'s {2} raised its Speed!"
+msgstr "¡La {2} de {1} aumentó su Velocidad!"
+
+msgid "{1}'s {2} raised its speed!"
+msgstr "¡El {2} de {1} aumentó su velocidad!"
+
+msgid "{1}'s {2} raised the power of its Fire-type moves!"
+msgstr "¡{2} de {1} aumentó el poder de los movimientos de tipo Fuego!"
+
+msgid "{1}'s {2} restored health!"
+msgstr "¡{2} de {1} ha restaurado algunos PS!"
+
+msgid "{1}'s {2} restored its HP a little!"
+msgstr "¡{2} de {1} le recupera unos cuantos PS!"
+
+msgid "{1}'s {2} restored its HP!"
+msgstr "¡El {2} de {1} restauró sus PS!"
+
+msgid "{1}'s {2} restored its status!"
+msgstr "¡{1} ha restaurado su estado gracias a la {2}!"
+
+msgid "{1}'s {2} restored {3}'s PP!"
+msgstr "¡{1} ha restaurado los PP de {3} con {2}!"
+
+msgid "{1}'s {2} restored {3}'s status!"
+msgstr "¡{2} de {1} recuperó el estado de {3}!"
+
+msgid "{1}'s {2} rose sharply!"
+msgstr "¡{2} de {1} aumentó mucho!"
+
+msgid "{1}'s {2} was bounced back by Magic Coat!"
+msgstr "¡{2} de {1} le ha sido devuelto por la Capa Mágica!"
+
+msgid "{1}'s {2} was broken!"
+msgstr "¡{2} de {1} se rompió!"
+
+msgid "{1}'s {2} was burned up!"
+msgstr "¡La {2} de {1} ha sido quemada!"
+
+msgid "{1}'s {2} was disabled!"
+msgstr "¡{2} de {1} fue desactivado!"
+
+msgid "{1}'s {2} was transferred to {3}!"
+msgstr "El {2} de {1} fue transferido a {3}!"
+
+msgid "{1}'s {2} wore off!"
+msgstr "¡{2} de {1} se disipó!"
+
+msgid "{1}, and you want {2}.\nThat will be ${3}. OK?"
+msgstr "{1}, y quieres {2}.\nSerán ${3}. ¿De acuerdo?"
+
+msgid "{1}, switch out! Come back!"
+msgstr "¡{1}, cambio! ¡Vuelve aquí!"
+
+msgid "{1}?\nHow many would you like to sell?"
+msgstr "¿{1}?\n¿Qué cantidad quieres vender?"
+
+msgid "{1}? Certainly.\nHow many would you like?"
+msgstr "¿{1}? De acuerdo.\n¿Cuántos de este objeto quieres?"
+
+msgid "{1}? Oh, no.\nI can't buy that."
+msgstr "¿{1}? Oh, no.\nNo te puedo comprar eso."
+
+msgid "{1}{2}\nHP: {3}"
+msgstr "{1}{2}\nPS: {3}"
+
+msgid "{2} type was added to {1}!"
+msgstr "¡{1} ahora también es tipo {2}!"
+
+msgid "̳'s pPcC"
+msgstr "̳C de̳ERROR"
+
diff --git a/Dialogue/Generated/es/OfficialTaunts.po b/Dialogue/Generated/es/OfficialTaunts.po
new file mode 100644
index 000000000..1cdf7fe53
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialTaunts.po
@@ -0,0 +1,5 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
diff --git a/Dialogue/Generated/es/OfficialTrainerTypes.po b/Dialogue/Generated/es/OfficialTrainerTypes.po
new file mode 100644
index 000000000..2812a35eb
--- /dev/null
+++ b/Dialogue/Generated/es/OfficialTrainerTypes.po
@@ -0,0 +1,244 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: es\n"
+
+msgid "PkMn TRAINER"
+msgstr "Entrenador"
+
+msgid "LASS"
+msgstr "Chica"
+
+msgid "YOUNGSTER"
+msgstr "Joven"
+
+msgid "HIKER"
+msgstr "Montañero"
+
+msgid "BEAUTY"
+msgstr "Bella"
+
+msgid "FISHERMAN"
+msgstr "Pescador"
+
+msgid "LADY"
+msgstr "Dama"
+
+msgid "TRIATHLETE"
+msgstr "Atleta"
+
+msgid "TWINS"
+msgstr "Gemelas"
+
+msgid "SWIMMER♀"
+msgstr "Nadadora"
+
+msgid "BUG CATCHER"
+msgstr "Cazabichos"
+
+msgid "SCHOOL KID"
+msgstr "Escolar"
+
+msgid "RICH BOY"
+msgstr "Niño rico"
+
+msgid "SR. AND JR."
+msgstr "Estudiantes"
+
+msgid "BLACK BELT"
+msgstr "Karateka"
+
+msgid "TEAM AQUA"
+msgstr "Aqua"
+
+msgid "TUBER"
+msgstr "Playera"
+
+msgid "HEX MANIAC"
+msgstr "Bruja"
+
+msgid "PkMn BREEDER"
+msgstr "Criapokémon"
+
+msgid "WORKER"
+msgstr "Operario"
+
+msgid "TEAM MAGMA"
+msgstr "Magma"
+
+msgid "INTERVIEWERS"
+msgstr "Periodistas"
+
+msgid "YOUNG COUPLE"
+msgstr "Pareja Joven"
+
+msgid "GUITARIST"
+msgstr "Guitarrista"
+
+msgid "GENTLEMAN"
+msgstr "Caballero"
+
+msgid "CHAMPION"
+msgstr "Campeón"
+
+msgid "MAGMA LEADER"
+msgstr "Líder Magma"
+
+msgid "BATTLE GIRL"
+msgstr "Luchadora"
+
+msgid "SWIMMER♂"
+msgstr "Nadador"
+
+msgid "POKéFAN"
+msgstr "Pokéfan"
+
+msgid "EXPERT"
+msgstr "Pokéxperto"
+
+msgid "DRAGON TAMER"
+msgstr "Domadragones"
+
+msgid "BIRD KEEPER"
+msgstr "Ornitólogo"
+
+msgid "NINJA BOY"
+msgstr "Chico Ninja"
+
+msgid "PARASOL LADY"
+msgstr "Dama parasol"
+
+msgid "BUG MANIAC"
+msgstr "Bichomaníaco"
+
+msgid "SAILOR"
+msgstr "Marinero"
+
+msgid "COLLECTOR"
+msgstr "Pokécolector"
+
+msgid "PkMn RANGER"
+msgstr "Ranger"
+
+msgid "AROMA LADY"
+msgstr "Srta. Aroma"
+
+msgid "RUIN MANIAC"
+msgstr "Ruinamaníaco"
+
+msgid "COOLTRAINER"
+msgstr "Entrenador Guay"
+
+msgid "POKéMANIAC"
+msgstr "Pokemaníaco"
+
+msgid "KINDLER"
+msgstr "Prendefuegos"
+
+msgid "CAMPER"
+msgstr "Campista"
+
+msgid "PICNICKER"
+msgstr "Dominguera"
+
+msgid "PSYCHIC"
+msgstr "Psíquico"
+
+msgid "SIS AND BRO"
+msgstr "Hermanos"
+
+msgid "OLD COUPLE"
+msgstr "Pareja Mayor"
+
+msgid "AQUA LEADER"
+msgstr "Líder Aqua"
+
+msgid "LEADER"
+msgstr "Líder"
+
+msgid "LEADERS"
+msgstr "Líderes"
+
+msgid "ELITE FOUR"
+msgstr "Alto Mando"
+
+msgid "ACE TRAINER"
+msgstr "Entrenadora Guay"
+
+msgid "SCHOOLKIDDO"
+msgstr "Escolar"
+
+msgid "RIVAL"
+msgstr "Rival"
+
+msgid "HERO"
+msgstr "Héroe"
+
+msgid "SUPER SCIENTIST"
+msgstr "Científico"
+
+msgid "COOL COUPLE"
+msgstr "Pareja Guay"
+
+msgid "FARMER"
+msgstr "Granjera"
+
+msgid "PYROMANIAC"
+msgstr "Pirómano"
+
+msgid "BIKER"
+msgstr "Ciclista"
+
+msgid "NINJA SURFERS"
+msgstr "Ninjas Surfistas"
+
+msgid "NINJA BOSS"
+msgstr "Jefe Ninja"
+
+msgid "ACTOR"
+msgstr "Actor"
+
+msgid "ACTRESS"
+msgstr "Actriz"
+
+msgid "LEADER?"
+msgstr "Líder(?)"
+
+msgid "PROFESSOR"
+msgstr "Profesor Loco"
+
+msgid "ACOLYTE"
+msgstr "Acólito"
+
+msgid "DIVER"
+msgstr "Buceador"
+
+msgid "TSUKI NINJA"
+msgstr "Ninja Tsuki"
+
+msgid "NAMI NINJA"
+msgstr "Ninja Nami"
+
+msgid "NINJA MASTER"
+msgstr "Maestro Ninja"
+
+msgid "NUCLEAR HORDE"
+msgstr "Horda"
+
+msgid "APOCALYPSE"
+msgstr "Apocalipsis"
+
+msgid "ELITE TRAINER"
+msgstr "Entrenador Guay"
+
+msgid "PIRATE"
+msgstr "Pirata"
+
+msgid "DREAM"
+msgstr "Sueño"
+
+msgid "KING"
+msgstr "Rey"
+
+msgid "BIOFIBER CONSTRUCT"
+msgstr "Prototipo"
diff --git a/Dialogue/Generated/fr/Battle.po b/Dialogue/Generated/fr/Battle.po
new file mode 100644
index 000000000..967c5bf2e
--- /dev/null
+++ b/Dialogue/Generated/fr/Battle.po
@@ -0,0 +1,10 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "BATTLE_PLAYER_DEFEATED_FOE"
+msgstr "{1} a vaincu\n{2}!"
+
+msgid "BATTLE_SWITCH_1"
+msgstr "{1}! Reviens!"
diff --git a/Dialogue/Generated/fr/Cutscenes.po b/Dialogue/Generated/fr/Cutscenes.po
new file mode 100644
index 000000000..5cdf965e5
--- /dev/null
+++ b/Dialogue/Generated/fr/Cutscenes.po
@@ -0,0 +1,142 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "TEST_COLOR_OUTPUT"
+msgstr "\\c[1]L\\c[2]o\\c[3]o\\c[4]k \\c[5]a\\c[6]t \\c[7]m\\c[8]e\\c[1], \\c[2]I\\c[3]'\\c[4]m \\c[5]s\\c[6]o \\c[7]c\\c[8]o\\c[1]l\\c[2]o\\c[3]r\\c[4]f\\c[5]u\\c[6]l\\c[7]\\c[8]! and now I'm back to white!"
+
+msgid "TEST_COLOR_BLEEDING"
+msgstr "\\c[2]The above string is red, and the one down too! The ones below need to share the same color, with only one single color code! This should also work mid line, \\c[1]without any kind of problems whatsoever!"
+
+msgid "TEST_SLOW_OUTPUT"
+msgstr "This is a message with suspense\\|.\\|.\\|. \n\\|And now we're done."
+
+msgid "TEST_VARIABLE_WAIT"
+msgstr "\\wt[1]a\\wt[2]b\\wt[3]c\\wt[4]d\\wt[5]e\\wt[6]f\\wt[7]g\\wt[8]h\\wt[9]i\\wt[10]j\\wt[11]k\\wt[12]l\\wt[13]m\\wt[14]n\\wt[15]o\\wt[16]p\\wt[17]q\\wt[18]r\\wt[19]s\\wt[20]t"
+
+msgid "TEST_TEXT_SPEED"
+msgstr "\\ts[3]This message is at regular speed.\n\\ts[10]This one is very slow.\n\\ts[1]This one's very fast!!!\n\\ts[]This one appears instantly!"
+
+msgid "TEST_TEXT_STYLE"
+msgstr "I'm making a bold statement here."
+
+msgid "TEST_WAIT_AUTO_SKIP"
+msgstr "This message will close in\n3\\..\\..\\..\\. 2\\..\\..\\..\\. 1\\..\\..\\.. \\wtnp[5]"
+
+msgid "TEST_NEWLINE"
+msgstr "\n\n\n\n\n\n\n\nPause right \\|here..."
+
+msgid "CUTSCENE_PLAYERCREATION_D1"
+msgstr "Hein?\\. Qui est là?\nOh, bonjour!\nBienvenue dans le monde des Pokémon!"
+
+msgid "CUTSCENE_PLAYERCREATION_D2"
+msgstr "Je m'appelle Bamb'o."
+
+msgid "CUTSCENE_PLAYERCREATION_D3"
+msgstr "...Euh,\\. mais si tu trouves ça difficile à prononcer,\\. tu peux juste m'appeler le Professeur Pokémon."
+
+msgid "CUTSCENE_PLAYERCREATION_D4"
+msgstr "C'est toi qui candidate pour le job, pas vrai?"
+
+msgid "CUTSCENE_PLAYERCREATION_D5"
+msgstr "Génial!\\wtnp[20]"
+
+msgid "CUTSCENE_PLAYERCREATION_D6"
+msgstr "Tu parcourras la région pour\ncollecter des spécimens pour mes recherches. En chemin, tu rencontreras\ntoutes sortes de gens. Certains seront coopératifs,\nd'autres non, mais essaie\nd'être aimable avec tout le monde. On ne veut pas d'une mauvaise réputation, pas vrai ? Les gens te demanderont de résoudre des mystères ou de leur donner un coup de main. Et ce ne sera pas facile --- le danger est partout. Créatures sauvages ou personnes mal intentionnées, il faudra rester sur tes gardes.\nMais garde la tête froide, et je suis sûr que tu t'en sortiras très bien."
+
+msgid "CUTSCENE_PLAYERCREATION_D7"
+msgstr "Nous, les humains, partageons ce monde avec des créatures appelées Pokémon. Bien plus que de simples animaux, les Pokémon possèdent des pouvoirs étonnants et une intelligence remarquable.\nHumains et Pokémon coexistent de mille façons. Certains Pokémon sont des compagnons,\\.\nd'autres nous aident au travail,\\. et d'autres encore\ncombattent aux côtés de Dresseurs comme toi."
+
+msgid "CUTSCENE_PLAYERCREATION_D8"
+msgstr "Mais il reste tant de choses que nous\nignorons sur les Pokémon. C'est là mon travail !\\. J'étudie les Pokémon.\nJe suis même expert en éléments Pokémon. Chaque Pokémon a un type élémentaire,\net chaque type a ses forces et ses faiblesses. Mais...\\. pourquoi existent-ils ?\\.\nY a-t-il des types encore inconnus ? Ah,\\. je t'en dirai plus lors de ton premier jour. Passe au laboratoire demain pour recevoir ton premier Pokémon. Maintenant, si tu veux bien remplir ce formulaire..."
+
+msgid "CUTSCENE_PLAYERCREATION_FINISH"
+msgstr "\\PN, es-tu prêt ? Ton voyage --- ton histoire --- est sur le point de commencer. L'avenir est une page blanche.\\. C'est toi, avec tes Pokémon, qui vas l'écrire. Il y aura des épreuves et des frissons, et tu feras sans nul doute des découvertes passionnantes. En route !"
+
+msgid "CUTSCENE_PLAYERCREATION_CHOOSE_CHARACTER"
+msgstr "Well, you certainly know what you want out of life.\\^"
+
+msgid "CUTSCENE_PLAYERCREATION_CONFIRM_CHARACTER"
+msgstr "Processing moves {1}..."
+
+msgid "CUTSCENE_PLAYERCREATION_CHOOSE_NAME"
+msgstr "\\PN, are you ready?"
+
+msgid "CUTSCENE_INTRO_D1"
+msgstr "Il y a 10 ans.\\wt[8].\\wt[8].\\wt[8]\nLa famille de \\PN vivait à Vagune,\nla plus grande ville de Tandor."
+
+msgid "CUTSCENE_INTRO_D2"
+msgstr "Son père, Primo, était un Ranger Pokémon talentueux et brave."
+
+msgid "CUTSCENE_INTRO_D3"
+msgstr "Sa mère, Lucille, était une brillante scientifique et une experte en énergie nucléaire."
+
+msgid "CUTSCENE_INTRO_D4"
+msgstr "Malgré leurs emplois demandants,\nils trouvaient toujours le temps de s'occuper de \\PN."
+
+msgid "CUTSCENE_INTRO_D5"
+msgstr "La région de Tandor était en paix,\net la société où travaillait Lucille planchait sur une forme\nd'énergie propre qui changerait le monde."
+
+msgid "CUTSCENE_INTRO_D6"
+msgstr "L'avenir semblait radieux.\\wt[20]\nJusqu'au jour où\\wt[8].\\wt[8].\\wt[8].\\wtnp[20]"
+
+msgid "CUTSCENE_INTRO_D7"
+msgstr "C'était un jour ordinaire à la Centrale Nucléaire où travaillait Lucille."
+
+msgid "CUTSCENE_INTRO_D8"
+msgstr "Durant une inspection de routine,\nils amenèrent un spécialiste pour\nanalyser le système électrique."
+
+msgid "CUTSCENE_INTRO_D9"
+msgstr "Cameron, vous avez fini vos diagnostics?"
+
+msgid "CUTSCENE_INTRO_D10"
+msgstr "Oui.\nTout a l'air en ordre.\nLe générateur que vous avez conçu marche à la perfection, Lucille."
+
+msgid "CUTSCENE_INTRO_D11"
+msgstr "Excellent."
+
+msgid "CUTSCENE_INTRO_D12"
+msgstr "Si tout le monde a fini de travailler,\nprenons une pause déjeuner."
+
+msgid "CUTSCENE_INTRO_D13"
+msgstr "Euh, boss...\nVous devriez voir ça."
+
+msgid "CUTSCENE_INTRO_D14"
+msgstr "Étrange...\\wt[16] Les relevés de température\nsont bien plus élevés que la normale.\nSoit le thermomètre est à réinitialiser, soit... Le réacteur laisse échapper une chaleur considérable..."
+
+msgid "CUTSCENE_INTRO_D15"
+msgstr "Ça ne peut être les thermomètres.\nJe viens de les vérifier.\nDonc\\wt[8].\\wt[8].\\wt[8].\\wtnp[18]"
+
+msgid "CUTSCENE_INTRO_D16"
+msgstr "Il doit y avoir une brèche dans le réacteur!\nA cette température, on est à quelques minutes d'une\nfusion du réacteur!"
+
+msgid "CUTSCENE_INTRO_D17"
+msgstr "Évacuez tous la zone! MAINTENANT!"
+
+msgid "CUTSCENE_INTRO_D18"
+msgstr "Lucille!\\wt[20]\nVous devez aussi partir!"
+
+msgid "CUTSCENE_INTRO_D19"
+msgstr "\\wt[8].\\wt[8].\\wt[8].\\wtnp[16]"
+
+msgid "CUTSCENE_INTRO_D20"
+msgstr "LUCILLE !!\\wtnp[28]"
+
+msgid "CUTSCENE_INTRO_D21"
+msgstr "Grâce à l'aide de Cameron, tous les scientifiques ont pu s'échapper indemnes...\\wt[18]\nsauf Lucille."
+
+msgid "CUTSCENE_INTRO_D22"
+msgstr "On ne l'a jamais revue après ce jour..."
+
+msgid "CUTSCENE_INTRO_D23"
+msgstr "Les radiations s'échappant du\nréacteur défectueux ont rendu les environs inhabitables pendant des années,\nempêchant toute tentative de sauvetage."
+
+msgid "CUTSCENE_INTRO_D24"
+msgstr "La perte de sa femme a profondément\nmarqué Kellyn. Sa personnalité a changé.\nIl est devenu froid, entièrement dévoué à son travail.\nAvec le temps, il fut promu Chef des Rangers Pokémon de Tandor. Mais trop occupé pour s'occuper de son enfant, il envoya le jeune \\PN vivre chez sa vieille tante à Bourg Moki."
+
+msgid "CUTSCENE_INTRO_D25"
+msgstr "10 années passèrent\\wt[8].\\wt[8].\\wt[8].\\wtnp[16]"
+
+msgid "CUTSCENE_INTRO_D26"
+msgstr "La santé de Tantine déclina.\nÉlever un enfant devenait trop lourd pour elle. Par chance, Ernest Bamb'o, le Professeur Pokémon du coin, cherchait un assistant de recherche. Deux enfants de Bourg Moki se présentèrent :\\. \\PN,\\.\net son ami d'enfance,\\. Theo. Il était courant pour les jeunes d'un certain âge\nde recevoir un Pokémon et de parcourir la région comme Dresseur. Et c'est ainsi que le voyage de \\PN commença..."
diff --git a/Dialogue/Generated/fr/Events.po b/Dialogue/Generated/fr/Events.po
new file mode 100644
index 000000000..248477f65
--- /dev/null
+++ b/Dialogue/Generated/fr/Events.po
@@ -0,0 +1,649 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "EVENT_HEROHOME_1"
+msgstr "\\PN, descends, tu es en retard!"
+
+msgid "EVENT_MOKI_TOWN_THEO_1"
+msgstr "???: HEY! ATTENDS!!\\wtnp[20]"
+
+msgid "EVENT_MOKI_TOWN_THEO_2"
+msgstr "Tu crois aller où comme ça, hein ?\nTu veux arriver au labo avant moi pour choper le meilleur Pokémon ?\nEh ben ça n'arrivera pas !\nParce que le plus fort, c'est moi qui l'aurai en premier !\nEssaie de suivre, \\PN !!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_1"
+msgstr "Bamb'o : Tiens, mais c'est \\PN !\nEt euh, ton ami...\nTommy, c'est ça ?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_2"
+msgstr "Sérieusement, m'sieur, vous vous \nrappellerez jamais de mon nom?\nC'est Théo! Théo!!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_3"
+msgstr "Bon, bon... Théo.\nTu arrives à temps.\nAujourd'hui est une journée spéciale pour vous deux.\nC'est votre premier jour de travail en tant\nqu'assistants de recherche de terrain au\nLabo de Recherches Pokémon de Bamb'o."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_4"
+msgstr "Votre travail sera de voyager à travers Tandor afin d'observer et de capturer plusieurs et différentes sortes de Pokémon, afin de m'aider dans mes recherches sur les Éléments Pokémon."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_5"
+msgstr "J'ai ici trois Pokémon qui\nvous aideront dans votre aventure."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_6"
+msgstr "Par contre, avant de recevoir vos starters, vous\ndeux devez prendre le Test d'Aptitude du Dresseur."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_7"
+msgstr "Un Examen?!\nJe n'ai pas étudié pour un examen!\nJe croyais que tu nous donnerais un Pokémon,\nrare et puissant!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_8"
+msgstr "Du calme, ne panique pas...\nC'est pas le genre d'examen qui te demande d'apprendre des cours.\nC'est une manière de déterminer quelle\nsorte de Dresseur tu deviendras.\nDifférents Pokémon de départ signifie\ndifférents styles de combat.\nTon Pokémon de départ sera ton ami à vie,\nalors il est important pour toi de bien travailler ensemble!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_9"
+msgstr "Ouais, ouais, j'ai compris. Assez parlé!\nJe veux mon Pokémon!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_10"
+msgstr "Eh bien, gamin, tu n'es pas très patient, toi!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_11"
+msgstr "Bon, d'accord."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_12"
+msgstr "Si tu veux en savoir plus sur ce que\nle test aborde avant de commencer, tu peux parler à mon assistant."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_13"
+msgstr "Maintenant..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_14"
+msgstr "\\PN, es-tu prê{t|te} pour leTest d'Aptitude du Dresseur?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_1"
+msgstr "Oui!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_2"
+msgstr "Attends une minute..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_2_1"
+msgstr "C'est tout bon. Prends ton temps."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_2_2"
+msgstr "Ouais, mais pas trop longtemps, d'accord?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_AIDE_1"
+msgstr "Le Test d'Aptitude des Dresseurs Pokémon\nclasse les Dresseurs en trois profils :\n\\c[3]Défensif\\c[0], \\c[2]Offensif\\c[0] et \\c[1]Équilibré\\c[0]."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_AIDE_2"
+msgstr "Le professeur vous donnera ensuite un Pokémon de départ\nqui conviendra le mieux à votre style au combat."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_AIDE_3"
+msgstr "Les Dresseurs \\c[4]Défensifs\\c[0] reçoivent\nLe Pokémon plante \\c[4]Pétalynx.\\c[0]\nIl est gentil, robuste, et facile à dresser."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_AIDE_4"
+msgstr "Les Dresseurs \\c[2]Offensifs\\c[0] reçoivent le Pokémon Feu \\c[2]Raptorch\\c[0].\nIl est fort et rapide, mais difficile à canaliser."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_AIDE_5"
+msgstr "Les Dresseurs \\c[1]Équilibrés\\c[0] reçoivent le Pokémon Eau \\c[1]Eletux\\c[0].\nSa nature calme et posée lui permet de s'adapter à toute situation."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_AIDE_6"
+msgstr "Choisis bien - Le Pokémon de départ est ton partenaire principal le long de ton voyage!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_15"
+msgstr "Excellent!\nAlors, sans aucun délai..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_16"
+msgstr "Quand tu rencontres un Pokémon inconnu dans la nature,\nquelle est ta première réaction ?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_3"
+msgstr "L'attaquer immédiatement!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_4"
+msgstr "Attendre de voir ce qu'il fait."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_5"
+msgstr "Lui lancer une Poké Ball!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_17"
+msgstr "Très bien, vous deux."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_18"
+msgstr "Allez, c'était trop facile!\nDonne-moi une question plus difficile!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_19"
+msgstr "OK... question suivante, alors."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_20"
+msgstr "Laquelle de ces CT préférerais-tu\napprendre à ton Pokémon ?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_6"
+msgstr "Ultralaser"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_7"
+msgstr "Abri"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_8"
+msgstr "Puissance Cachée"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_21"
+msgstr "Hé professeur...\nC'est quoi une CT d'abord?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_22"
+msgstr "Hmm... je te le dirai plus tard. Continuons avec\nla question suivante."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_23"
+msgstr "Lequel de ces Pokémon gagnerait\nun combat sans merci ?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_9"
+msgstr "Léviator"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_10"
+msgstr "Scorvol"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_11"
+msgstr "Pharamp"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_24"
+msgstr "Est-il possible de rater ce test?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_25"
+msgstr "Non, impossible.\nMaintenant, voici la question finale,\ndonc répondez honnêtement!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_26"
+msgstr "Qu'est-ce qui te motive à\ndevenir Dresseur Pokémon ?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_12"
+msgstr "Devenir le meilleur dresseur"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_13"
+msgstr "Explorer la région"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_14"
+msgstr "Me faire de nouveaux amis"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_27"
+msgstr "Il n'en est pas question!\nJe serai un Maître Pokémon!\nEt personne ne sera sur mon chemin!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_28"
+msgstr "Haha... J'admire ton esprit, gamin!\nBon, voilà pour le Test d'Aptitude du Dresseur."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_29"
+msgstr "Maintenant, il est temps d'analyser les résultats.\\..\\..\\wtnp[16]"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_30"
+msgstr "\\wt[8].\\wt[8].\\wt[8]."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_31"
+msgstr "OK, j'ai fini mon analyse!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_32"
+msgstr "\\PN..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_33_Raptorch"
+msgstr "The saying \"the best defense is a good offense\" is probably your mantra.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_34_Raptorch"
+msgstr "You have a burning spirit within you that never ceases!\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_35_Raptorch"
+msgstr "For an Offensive trainer like you...\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_36_Raptorch"
+msgstr "Raptorch is the best pick!\\wtnp[160]"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_37_Raptorch"
+msgstr "You seem to be a trainer that is capable of many different strategies.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_33_Orchynx"
+msgstr "Tu sembles être un dresseur prudent."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_34_Orchynx"
+msgstr "For a Defensive trainer like you...\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_35_Orchynx"
+msgstr "Orchynx is the best pick!\\wtnp[160]"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_36_Orchynx"
+msgstr "You seem to be a trainer who won't hesitate to go for what you want.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_33_Eletux"
+msgstr "Your philosophy is probably to just \"go with the flow\".\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_34_Eletux"
+msgstr "Your calm, rational approach will come to aid you in the future.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_35_Eletux"
+msgstr "For a Balanced trainer like you...\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_36_Eletux"
+msgstr "Eletux is the best pick!\\wtnp[160]"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_37_Eletux"
+msgstr "Failed to load data from server!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_15"
+msgstr "You prefer to adapt to overcome challenges in your path.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_15_1"
+msgstr "You prefer to overwhelm your opponents with sheer force and firepower.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OPTION_15_2"
+msgstr "There is a more recent update available."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_38"
+msgstr "Vas-y et prends-le, \\PN."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_38_THEO"
+msgstr "Allez, \\PN, on y va ou quoi?!\nY'a trop de suspense!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_39"
+msgstr "HÉ! J'EN AI MARRE D'ATTENDRE!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OBTAIN_RAPTORCH"
+msgstr "\\PN obtient Raptorch!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OBTAIN_ORCHYNX"
+msgstr "\\PN obtient Orchynx!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_OBTAIN_ELETUX"
+msgstr "\\PN obtient Eletux!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_PLAYER_RUN_AWAY"
+msgstr "Hé, où vas-tu?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_40"
+msgstr "\\PN a déjà eu son Pokémon!\nQuand est-ce que j'aurais le mien?"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_41"
+msgstr "J'ai fini d'analyser tes résultats, Théo."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_42"
+msgstr "Hum\\wt[8].\\wt[8].\\wt[8]."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_43"
+msgstr "It is essential that we prevent the Nuclear Pokémon from breaking and entering the power plant. Otherwise, they might detonate the reactor, which would release massive amounts of radiation across this island and the cities beyond."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_44"
+msgstr "But I sense something else in you...\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_45"
+msgstr "Could it be the seed of greatness?\\.\nThe potential to transform yourself completely?\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_46"
+msgstr "Or maybe it's just that you're so young, I can't tell.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_47"
+msgstr "Regardless...\\. For a Trainer like you...\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_48"
+msgstr "\\PN...\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_49"
+msgstr "You seem to be a Trainer who likes to play it safe.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_50_Orchynx"
+msgstr "You prefer to overwhelm your opponents with sheer force and firepower.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_50_Eletux"
+msgstr "There is a more recent update available."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_50_Raptorch"
+msgstr "You prefer to adapt to overcome challenges in your path.\\^"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_51"
+msgstr "Oui!!\nMon premier Pokémon!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_52"
+msgstr "\\PN... t'as un Pokémon.\nEt maintenant j'en ai un aussi.\nTu sais ce que ça veut dire, non?\nOn doit s'battre!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_53"
+msgstr "Oh, pitié, pas dans le labo..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_Battle_WIN"
+msgstr "Quoi? Mais j'étais censé gagner!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_54"
+msgstr "M-mais....\\. Comment...\\.\nJe suis censé être le meilleur d-Dresseur de tous les temps..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_55"
+msgstr "C'est i-impossible...\nles bon Dresseurs ne perdent jamais..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_56"
+msgstr "Je... Je... *snif*\nOuiiiiiinnnn !!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_57"
+msgstr "Théo, ne pleure pas s'il te plaît..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_58"
+msgstr "Voici, je vais soigner ton équipe pour toi."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_59"
+msgstr "Je v-voulais devenir u-un Dresseur imbattable...\nPourquoi j'pouvais pas gagner?\nJe voulais vraiment gagner..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_60"
+msgstr "Bon...\\. Entre ton Pokémon et celui de \\PN,\nle sien a l'avantage des types."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_61"
+msgstr "L'Eau bat le Feu, le Feu bat la Plante, et la Plante bat l'Eau."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_62"
+msgstr "C'est le triangle des types élémentaires.\\.\nEn tout cas, un des triangles.\nApprendre à maîtriser la correspondance des types est important pour un Dresseur."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_63"
+msgstr "P-pas question ! Je veux recommencer !\nPourquoi c'est \\PN qui a le meilleur starter ?! Ouiiiiaaaaahhhh ! C'est pas juuuuste !!\nJe... je rentre à la maison !!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_64"
+msgstr "Soupir...\nIl l'a pris plus mal que ce que je craignais."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_65"
+msgstr "Mais, il ne faudrait pas le juger trop hâtivement.\nCe n'est qu'un enfant après tout.\nJe m'attends à ce qu'il découvre qu'entraîner des Pokémon n'est pas si facile que ça..."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_54_LOSS"
+msgstr "Ouais!! Ma première victoire!\nMes Pokémon et moi,\non va être l'équipe la plus cool et la meilleure de Tandor! \\PN, t'es rien comparé à moi.\nRien!!\nHahaha!\n'faut que je le montre à papa!"
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_55_LOSS"
+msgstr "\\PN...\nJe suis surpris que t'aies réussi à perdre ce combat."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_56_LOSS"
+msgstr "Tu dois avoir remarqué que ton Pokémon de départ\na l'avantage du type sur celui de Théo.\nL'eau vainc le feu, le feu vainc la plante et la plante l'eau. C'est le triangle des éléments.\\.\nEnfin, l'un d'eux, en tout cas."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_57_LOSS"
+msgstr "Normalement, dans une telle rencontre,\nle résultat est prévisible...\nOu peut-être l'as-tu laissé gagner exprès?\nSi tel est le cas, c'est gentil de ta part."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_58_LOSS"
+msgstr "Il fait le dur, mais j'ai l'impression\nqu'il ne le prendrait pas si bien s'il avait perdu son premier combat."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_59_LOSS"
+msgstr "Toi, tu as l'air d'encaisser, par contre.\nViens, laisse-moi soigner ton Pokémon vite-fait."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_HEAL"
+msgstr "Nice work, kid.\nThose were some impressive battling skills! Here, let me heal your Pokémon for you."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_66"
+msgstr "Je vais à la sortie de la ville donnant sur la Route 01. Amène Théo et je vais vous apprendre à tous les deux comment attraper un Pokémon."
+
+msgid "EVENT_MOKI_LAB_FIRST_POK_67"
+msgstr "A plus tard, \\PN."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_1"
+msgstr "Qu'as-tu dit à mon fils?!\nIl a couru à l'étage en pleurant, et a verrouillé la porte après lui. Il ne veut pas me dire ce qui ne va pas, ou redescendre."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_2"
+msgstr "Je te jure, que si tu as fait quelque chose pour le faire souffrir.\\..\\.."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_3"
+msgstr "\\wt[5].\\wt[5].\\wt[5].\nOh.\nJe vois, c'est donc ça."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_4"
+msgstr "Il a choisi le Pokémon le plus faible,\net tu l'as vaincu dans un combat...\nHm.\\. Je vois... tout s'explique."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_5"
+msgstr "Une dure leçon, c'est sûr...\\.\nMais perdre fait autant partie du Dresseur que la victoire.\nIl voulait de tout son coeur que ce premier jour soit parfait,\ndonc échouer dès le départ fut un choc."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_6"
+msgstr "Enfin, pleurer ne va rien arranger.\\.\nC'est une chose qu'il doit apprendre."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_7"
+msgstr "THÉO!\\wt[18] DESCENDS TOUT DE SUITE,\nJEUNE HOMME!"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_8"
+msgstr "*sniff*"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_9"
+msgstr "Théo...\nTu ne peux pas pleurer à chaque combat perdu.\nCela fait partie de la vie d'un Dresseur."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_10"
+msgstr "M-mais c'est pas juste...\n\\PN a reçu le meilleur starter et moi...\nMaintenant je ne vais jamais gagner!"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_11"
+msgstr "Alors tu devras attraper plus de Pokémon\npour équilibrer les faiblesses de ton équipe.\nEn plus, un Pokémon bien entraîné\npeut toujours vaincre, même avec un désavantage. \nCe serait bête de laisser tomber avant même de commencer."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_12"
+msgstr "*renifle*\nOu-oui, papa..."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_13"
+msgstr "Maintenant, Théo...\nJe ne serai pas toujours là pour te\nremonter le moral quand tu es déprimé.\nDonc tente d'être fort par toi-même, ok?"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_14"
+msgstr "\\PN...\nSois patient avec mon fils, s'il te plait.\nIl te respecte, tu sais.\n"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_15"
+msgstr "Oh, j'ai presque oublié. \\PN,\nThéo, j'ai quelque chose pour vous deux."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_16"
+msgstr "C-comme un cadeau...?"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_17"
+msgstr "Oui, tout à fait.\n\\PN, ton père Prmo m'a envoyé ceci et m'a demandé de vous les donner quand vous commencerez vos aventures.\nJe suis sûr qu'ils vous seront utiles."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_18"
+msgstr "[\\PN et Théo reçoivent un PokéPod!]\\wtnp[28]"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_19"
+msgstr "Un PokéPod? C'est quoi?"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_20"
+msgstr "C'est un appareil de haute technologie indispensable pour les Dresseurs Pokémon.\nIl joue de la musique et comprend une carte de la région. Plus important, il contient un téléphone qui vous permettra de rester en contact entre vous, et avec d'autres Dresseurs."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_21"
+msgstr "Cool!\nHeheh, j'ai pris le rouge...\nil est plus cool que le tien!\nJe vais aller rencontrer le Professeur\nà la sortie de la ville.\nJe vais être le premier à attraper un Pokémon!\nA plus, Papa! Dépêche-toi, \\PN!"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_22"
+msgstr "...Hé bien. Quel changement soudain.\nIl rebondit toujours rapidement.\n"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_23"
+msgstr "\\PN, il ne faut pas faire attendre le Professeur, tu devrais y aller toi aussi.\nJe ne vous reverrai pas de sitôt, Theo et toi...\nVois-tu, je commence bientôt un nouveau travail. Je supervise la construction de la nouvelle Centrale Epsilon.\nPeut-être nous y croiserons-nous, un jour.\nAprès tout... c'est le dernier endroit où Lucille a été vue."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_24"
+msgstr "Bonne chance pour ton aventure, \\PN."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_25"
+msgstr "Hahaha! Wouhouuu!"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_26"
+msgstr "Theo est d'excellente humeur.\nIl m'a montré son Pokémon de départ et m'a dit à quel point il était fier de t'avoir enfin battu.\nJ'espère que tu ne l'as pas mal pris... ?\nMon fils est très énergique.\nEt puis, il tient tellement à gagner."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_27"
+msgstr "Mais...\\. Je dois te demander...\nL'as-tu laissé gagner exprès?"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_28"
+msgstr "\\wt[5].\\wt[5].\\wt[5]."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_29"
+msgstr "Je suppose que je devrais te remercier.\nTu lui as vraiment permis\nde très bien commencer son aventure.\n Néanmoins, ça va être très dur pour lui\nquand il perdra pour la première fois.\nTout le monde ne sera pas aussi gentil avec lui..."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_30"
+msgstr "Perdre fait partie de la quête du Dresseur autant que gagner. Il devra apprendre ça, un jour ou l'autre..."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_31"
+msgstr "Oh, \\PN est ici.\nTu veux un deuxième combat?\n Parce que tu ne l'auras pas!\nJ'ai gagné, juste et honnêtement! Haha!"
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_32"
+msgstr "Théo, ne sois pas malpoli.\nToi et \\PN allez passer beaucoup de temps ensemble dans votre aventure à venir, vous allez devoir vous entendre."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_33"
+msgstr "...Non? Vraiment?\nMais je pensais que ton starter avait un avantage de type."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_34"
+msgstr "Peut-être que Théo est un Dresseur talentueux de nature, alors...\\. ou peut-être a-t-il été chanceux."
+
+msgid "EVENT_MOKI_TOWN_THEO_HOME_35"
+msgstr "Le temps nous le dira."
+
+msgid "EVENT_MOKI_POKECENTER_HEAL_QUESTION"
+msgstr "Bienvenue au Centre Pokémon.\nVoulez-vous que je soigne vos Pokémon ?"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_1"
+msgstr "Now, watch closely."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_2"
+msgstr "Wild Pokémon, as you probably already\nknow, inhabit tall grass."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_3"
+msgstr "But that's not the only place - you can\nalso find them in caves, in water, and even in cities if you know where to look."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_4"
+msgstr "Still, tall grass is going to be your\nbest bet for finding new Pokémon."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_5"
+msgstr "Simply take a few steps in and..."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_6"
+msgstr "Look! It's a wild Chyinmunk!\nThey're very common around here.\nIt hasn't noticed me yet, so now's my chance..."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_7"
+msgstr "Go! \\v[3]!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_8_Eletux"
+msgstr "Eletux, go!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_8_Raptorch"
+msgstr "Raptorch, go!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_8_Orchynx"
+msgstr "Orchynx, go!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_9"
+msgstr "I think he's taken a shine to me, and\nI rather like him too... so I'm gonna keep him."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_10"
+msgstr "Now! The next step is to weaken the\nenemy Pokémon to make it easier to catch."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_11"
+msgstr "Orchynx! Use Scratch!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_12_Eletux"
+msgstr "Chiiiin!\\wtnp[20]"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_12_Raptorch"
+msgstr "Eletux! Use Tackle!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_12_Orchynx"
+msgstr "Raptorch! Use Scratch!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_13"
+msgstr "Now that it's weakened, now's my chance to catch it. Poké Ball, go!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_14"
+msgstr "...And that's how it's done.\nNow, Chyinmunk are fairly easy...\nbut you're sure to encounter Pokémon\nthat are a lot harder to capture.\nFor those, you might need to inflict them\nwith status effects, or use a special Poké Ball.\nAh, but I'm sure you'll get the hang of it before too long."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_15"
+msgstr "...Et voilà comment on fait.\nBon, les Chyinmunk sont plutôt faciles...\nmais tu croiseras des Pokémon bien plus durs à capturer.\nPour ceux-là, il faudra peut-être leur infliger des altérations de statut, ou utiliser une Poké Ball spéciale.\nAh, mais je suis sûr que tu prendras vite le coup de main."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_16"
+msgstr "[\\PN and Theo received a Pokédex!]\\wtnp[28]"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_17"
+msgstr "That PokéDex is an encyclopedia that will automatically update itself whenever you encounter or catch a new Pokémon."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_18"
+msgstr "It's very important for my research, so make sure to fill it out as much as possible!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_19"
+msgstr "Also, I want you to have these."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_20"
+msgstr "Poké Balls are necessary for\ncatching Pokémon, of course.\nWhat's that thing the kids always say?\n\"Gotta Catch 'Em All!\""
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_21"
+msgstr "Vous obtenez des Poké Balls!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_22"
+msgstr "\\PN range les Poké Balls dans la Poche Poké Balls."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_23"
+msgstr "If you run out, you can pick up\nsome more at any Poké Mart.\nMoki Town doesn't have one of those...\nbut there's one in Kevlar Town on the other side of Route 01.\nSo, with that said...\nyour lesson is now over."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_24"
+msgstr "Oh, but you two have PokéPods, don't you?\nHere, let me input my number."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_25"
+msgstr "You can give me a call anytime, and I'll take a look at how your PokéDex is coming along. If you do a good job collecting many different kinds of Pokémon, I might even have special rewards for you."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_26"
+msgstr "Le Professeur Bamb'o a été enregistré dans le PokéPod."
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_27"
+msgstr "With that said, I'm going back to my Lab.\nBest of luck on your journeys, both of you!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_28"
+msgstr "\\PN, I don't care that you got the stronger starter. I'm still gonna be the best Trainer ever! I'll catch tons of Pokémon and we'll win every battle!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_29"
+msgstr "You just wait and see!!"
+
+msgid "EVENT_MOKI_TOWN_CAPTURE_DEMO_30"
+msgstr "\\sign[sign1]Bamb'o Pokémon Research Lab"
+
+msgid "EVENT_NOWTOCH_CITY_1"
+msgstr "Oh! Toi! Tu es... \npeut-être... ici pour voir Maria?"
+
+msgid "EVENT_NOWTOCH_CITY_2"
+msgstr "Ouh lààà, tu dois être comme moi! \nJ'suis son plus grand fan! \nOh, mais elle n'est jamais dans son Arène..."
+
+msgid "EVENT_NOWTOCH_CITY_3"
+msgstr "Tu devrais la trouver chez elle. \nJe ne peux pas y aller moi-même parce que..\\..\\. j'ai mes raisons."
+
+msgid "EVENT_NOWTOCH_CITY_4"
+msgstr "Mais toi, tu peux! \nTiens, prends ça!"
+
+msgid "EVENT_NOWTOCH_CITY_5"
+msgstr "Garde-la, j'ai des copies. \nSa maison est au sud de la ville."
+
+msgid "EVENT_NOWTOCH_CITY_6"
+msgstr "Zzzzzz\\..\\..\\.. hein?\\NIl...\\. y a quelqu'un...?"
+
+msgid "EVENT_NOWTOCH_CITY_7"
+msgstr "Qui es-tu?\\.\nQu'est-ce que tu fais chez moi?\nTu ne peux pas t'introduire chez les gens comme ça!!"
+
+msgid "EVENT_NOWTOCH_CITY_8"
+msgstr "Plus particulièrement quand ils verrouillent leurs portes.\nComment es-tu entré?"
+
+msgid "EVENT_NOWTOCH_CITY_9"
+msgstr "The Dream Visualizer is showing...Dreams? Memories?"
+
+msgid "EVENT_NOWTOCH_CITY_10"
+msgstr "Tu as une copie de mes clefs de maison?\nDonne-moi ça!"
+
+msgid "EVENT_NOWTOCH_CITY_11"
+msgstr "[\\PN a donné les clefs à Maria.]"
+
+msgid "EVENT_NOWTOCH_CITY_12"
+msgstr "Où as-tu eu ça?!\n...Oh. Par ce type...\nArg, encore lui.\nAttends, t'es pas un autre fan, quand même?"
+
+msgid "EVENT_NOWTOCH_CITY_13"
+msgstr "Tu es... Un Dresseur Pokémon?\nTu es donc venu pour l'Arène, c'est ça?"
+
+msgid "EVENT_NOWTOCH_CITY_14"
+msgstr "Soupir.\\..\\.. J'imagine que je dois faire mon boulot pour une fois.\nMais avant ça, il faut que je parle à ce type qui t'as donné cette clef."
+
+msgid "EVENT_NOWTOCH_CITY_15"
+msgstr "Retrouve-moi devant mon Arène.\nÀ plus~"
+
+msgid "EVENT_NOWTOCH_CITY_16"
+msgstr "Écoute, je te te l'ai déjà dit.\n Je ne suis plus le Maître, tu comprends?\\.\nJe suis à la retraite! Et je suis Championne d'arène."
+
+msgid "EVENT_NOWTOCH_CITY_17"
+msgstr "Mais, Maria...\\. Vous étiez la plus forte \ndresseuse de tout Tandor..."
+
+msgid "EVENT_NOWTOCH_CITY_18"
+msgstr "Si talentueuse, jeune et belle...\\.\n Pourquoi anéantir toute cette célébrité?\n Vos fans vous aiment toujours!"
+
+msgid "EVENT_NOWTOCH_CITY_19"
+msgstr "La gloire ne m'intéresse plus! Je veux juste vivre ma vie normalement, tenir mon Arène et ne plus avoir affaire avec des énergumènes comme toi. Sérieusement, ce n'est pas normal de faire des doubles des clefs des gens! J'appelle les Rangers."
+
+msgid "EVENT_NOWTOCH_CITY_20"
+msgstr "Non!\\. S'il vous plaît!\\. Je-\\.Je vous laisserai tranquille.\\.\nJe le promets."
+
+msgid "EVENT_NOWTOCH_CITY_21"
+msgstr "Bien.\nMais tu n'es plus le bienvenu dans mon Arène.\nVa-t'en!\nNe me force pas à le répéter!"
+
+msgid "EVENT_NOWTOCH_CITY_22"
+msgstr "*soupir*"
+
+msgid "EVENT_NOWTOCH_CITY_23"
+msgstr "Je suis désolé que tu aies dû voir ça.\nJe ne suis pas une personne nerveuse, normalement, tu sais?"
+
+msgid "EVENT_NOWTOCH_CITY_24"
+msgstr "Mais, une fois que tu remportes le tournoi de Tandor, c'est inéluctable. Tout le monde connaît ton nom... Parfois, c'est assez pour me donner envie de m'en aller. Mais dans ce cas, qui gérera l'arène?"
+
+msgid "EVENT_NOWTOCH_CITY_25"
+msgstr "En parlant de ça...\\. Je sais que tu es\nlà pour le Badge Normal."
+
+msgid "EVENT_NOWTOCH_CITY_26"
+msgstr "Je pense que tu as assez attendu.\nRejoins-moi à l'intérieur et montre-moi ce que tu vaux!"
diff --git a/Dialogue/Generated/fr/GenMaps.po b/Dialogue/Generated/fr/GenMaps.po
new file mode 100644
index 000000000..35019d753
--- /dev/null
+++ b/Dialogue/Generated/fr/GenMaps.po
@@ -0,0 +1,4124 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "MAP001_NPC_1"
+msgstr "Je sais que je suis un Campeur, mais ça fait du bien d'arriver à une ville après tant de combats!"
+
+msgid "MAP001_NPC_2"
+msgstr "Burole est une ville charmante. N'ai-je pas raison, personne que je ne connais pas?"
+
+msgid "MAP002_NPC_1"
+msgstr "Hé mec. Non, je ne vais pas t'affronter, mais écoute. Ce Champion d'Arène? Ne le prends pas à la légère; il est bien plus fort que Maria a Néotech. Davern utilise des Pokémon de type Sol, Ténèbres, Roche, Acier et Poison. C'est un peu compliqué de se préparer contre lui. Je viens de me faire écraser à l'Arène. Tu devrais faire tes emplettes au magasin avant de tenter ta chance."
+
+msgid "MAP002_NPC_2"
+msgstr "J'adore Chouetton! Chouetton-ton-ton! Il est si mignon! Chouetton évolue au niveau 21 en une sorte de chat chouette encore plus pelucheux!"
+
+msgid "MAP003_NPC_1"
+msgstr "La nouvelle ligne souterraine de Tandor est une merveille de technologie! J'ai hâte de monter dans ce train!"
+
+msgid "MAP004_NPC_1"
+msgstr "C'est trop triste... Il y a tellement de choses ici mais je peux acheter que genre 8 objets à la caisse. C'est une blague?"
+
+msgid "MAP004_NPC_2"
+msgstr "J'ai écrit une chanson sur les Super Balls pour dire à quel point elles sont géniales. Est-ce que tu veux l'entendre? ...Non?"
+
+msgid "MAP006_NPC_1"
+msgstr "Parfois je me demande...\nQu'est ce que j'attends?\n...\nEt puis je me rappelle: j'attends le train, bien sûr!"
+
+msgid "MAP007_SIGN_1"
+msgstr "Grotte Comète\nCascaroc droit devant."
+
+msgid "MAP007_TRAINER_1"
+msgstr "Ooooh la la, celui-la m'a l'air parfaitement préservé! Ça doit être le résultat d'une coulée de lave et de l'érosion marine... L'empreinte de sa fourrure est encore visible... Que fais-tu là? C'est une découverte capitale dans le domaine de la paléontologie, et elle est à moi, rien qu'à moi!! ...\n...Bon, d'accord, je t'ai possiblement suivi. Tu sais quoi? Si tu parviens à me battre lors d'un combat Pokémon, je te laisserai prendre l'un de ces fossiles. ... Bien. Tu as gagné, je suis bonne perdante. Ces fossiles sont deux sortes de Pokémon mammaliens qui ont vécu il y a 50 000 ans. Le premier était connu pour ses c3=F7DB92,594B25chocs électriques rapides/c3, et le second avait c3=ABEAF7,2E5159la force et la puissance d'un énorme glacier/c3. Si tu emmènes ce fossile au labo à Cascaroc, ils pourront le ramener à la vie grâce à leur technologie. Je crois que je vais rester ici dans cette grotte avec mes fossiles... pour toujours. Ouuuiiiii, mon précccccccieux, nous ne serons plus jamais séparés..."
+
+msgid "MAP007_TRAINER_1_DEFEAT"
+msgstr "Mes fossiles..."
+
+msgid "MAP008_NPC_1"
+msgstr "Je t'en dois une, gamin, mais fais attention. Je crois qu'il y a d'autres de ces choses qui traînent dans les parages..."
+
+msgid "MAP008_NPC_2"
+msgstr "Attends un peu! Tu vois comment cette route est pleine de sable? Ne baisses pas ta garde - il y a des Pokémon qui se cachent là-dessous! C'est basiquement comme les hautes herbes, du coup tu auras besoin de ça si tu es pressé!"
+
+msgid "MAP008_NPC_3"
+msgstr "Pas trop tôt!\nAllons-y!"
+
+msgid "MAP008_NPC_4"
+msgstr "Pas trop tôt!\nAllons-y!"
+
+msgid "MAP008_SIGN_1"
+msgstr "Ferry pour Vinoville"
+
+msgid "MAP008_SIGN_2"
+msgstr "Tente de Super Entraînement\nTuteur : Ayumi"
+
+msgid "MAP008_TRAINER_1"
+msgstr "Yo n00b! Tu veux voir mon skill? Je te 1v1 maintenant!"
+
+msgid "MAP008_TRAINER_1_DEFEAT"
+msgstr "...LE HAXX A TELLEMENT JOUÉ!"
+
+msgid "MAP008_TRAINER_2"
+msgstr "L'océan contient plus d'espèces différentes de Pokémon que l'eau douce. Laisse-moi te montrer ce que j'ai attrapé!"
+
+msgid "MAP008_TRAINER_2_DEFEAT"
+msgstr "Les... Les tiens sont sympas aussi..."
+
+msgid "MAP008_TRAINER_3"
+msgstr "Yo! Elle est belle la plage, hein? C'est plein de Pokémon intéressants et le cadre est magnifique! Un combat, ça te tente?"
+
+msgid "MAP008_TRAINER_3_DEFEAT"
+msgstr "Beau combat, mec."
+
+msgid "MAP008_TRAINER_4"
+msgstr "Je ne souhaite pas être le premier à jeter la gant. Par conséquent, je t'offre le choix. Souhaites-tu m'affronter? Très bien, battons-nous! Cela ne fait rien. Si tu cherches un defi, je serai ici."
+
+msgid "MAP008_TRAINER_4_DEFEAT"
+msgstr "J'ai visiblement beaucoup à apprendre."
+
+msgid "MAP008_TRAINER_5"
+msgstr "Hiyah! Ma force de judoka va réduire ton Pokémon en pièces!"
+
+msgid "MAP008_TRAINER_5_DEFEAT"
+msgstr "Q-quoi? Mais je suis un Karatéka! Comment j'ai pu perdre?"
+
+msgid "MAP008_TRAINER_6"
+msgstr "Dans l'océan, c'est nage ou coule. Même chose dans les combats Pokémon!"
+
+msgid "MAP008_TRAINER_6_DEFEAT"
+msgstr "*Glou glou*!"
+
+msgid "MAP008_TRAINER_7"
+msgstr "Mais qui voilà? C'est PN! Alors... alors t'as survécu au voyage, hein? C'est quoi ce machin que t'as? C'est le truc qui traduit, non? Ouais! Bamb'o m'en a parlé au téléphone, pis il m'en a envoyé un! Maintenant on comprend tous les deux les Pokémon! Cool, hein? B-bref, je me suis dépêché de traverser Cascaroc. C'te ville est trop ennuyeuse! Maintenant, je m'entraîne. J'vais battre le Champion de Vagune avant toi, PN! Mais avant, je vais te battre! Va pas croire que j'vais y aller doucement à cause de la Grotte Comète! *renifle* U-ugh... Je-- Je-- J'm'en fiche! Mes Pokémon à moi, c'est les plus forts, ils étaient juste fatigués de tous ces combats avant le nôtre! M'enfin, au-au moins ils ont gagné de l'expérience d-durant ce combat... Je sais! J'vais défier l'arène tout de suite! Et j'vais te passer devant, PN! Attends voir! *renifle* U-ugh... Je-- Je-- J'm'en fiche! Mes Pokémon à moi, c'est les plus forts, ils étaient juste fatigués de tous ces combats avant le nôtre! M'enfin, au-au moins ils ont gagné de l'expérience d-durant ce combat... Je sais! J'vais défier l'arène tout de suite! Et j'vais te passer devant, PN! Attends voir! *renifle* U-ugh... Je-- Je-- J'm'en fiche! Mes Pokémon à moi, c'est les plus forts, ils étaient juste fatigués de tous ces combats avant le nôtre! M'enfin, au-au moins ils ont gagné de l'expérience d-durant ce combat... Je sais! J'vais défier l'arène tout de suite! Et j'vais te passer devant, PN! Attends voir!"
+
+msgid "MAP008_TRAINER_7_DEFEAT"
+msgstr "Gyaaah! J'ai choisi le mauvais Pokémon de départ!"
+
+msgid "MAP012_NPC_1"
+msgstr "La porte est verrouillée.\nIl y a un petit mot...\n\"Fermé Temporairement Pour Urgence\""
+
+msgid "MAP012_NPC_2"
+msgstr "Beaucoup de montagnes aux alentours sont réputées infranchissables. Eh bien, je suis déterminé à toutes les escalader!"
+
+msgid "MAP012_NPC_3"
+msgstr "Tu savais que Tandor a été formée par deux volcans? Aujourd'hui ils sont inactifs, le Championnat Régional a même lieu sur l'un d'entre eux."
+
+msgid "MAP012_NPC_4"
+msgstr "C'est incroyable que l'économie tourne alors que la moitié de la population mondiale sont des Dresseurs. Des Dresseurs chômeurs! Ah, où en serions sans Pokémon pour nous aider?"
+
+msgid "MAP012_NPC_5"
+msgstr "Quand j'étais jeune, je vivais dans une grande ville. Maintenant, je préfère vivre tranquillement à la campagne."
+
+msgid "MAP012_NPC_6"
+msgstr "Je vis à Cascaroc depuis toute petite. La vie montagnarde n'est pas facile, certes, mais je suis aussi en forme que dans ma jeunesse, ufufu!"
+
+msgid "MAP012_NPC_7"
+msgstr "La Professeure Cyprès vit ici, à Cascaroc. J'ai entendu dire qu'elle a toutes sortes de projets pour améliorer la communication Humains-Pokémon. C'est impressionnant!"
+
+msgid "MAP012_NPC_8"
+msgstr "Luuuooooooo!"
+
+msgid "MAP012_SIGN_1"
+msgstr "Route 6\nVeillez à avoir suffisamment de Potions! Le chemin est long!"
+
+msgid "MAP012_SIGN_2"
+msgstr "Laboratoire Pokémon Cyprès"
+
+msgid "MAP012_SIGN_3"
+msgstr "Bienvenue à Cascaroc\nGare aux éboulements!"
+
+msgid "MAP013_NPC_1"
+msgstr "Bonjour! Je suis une Infirmière en formation. Je suis en stage dans ce Centre Pokémon pour en apprendre plus sur le traitement des Pokémon. Assure-toi de prendre bien soin de tes Pokémon. Nos machines peuvent soigner la plupart des blessures, mais elles ont leurs limites."
+
+msgid "MAP013_NPC_2"
+msgstr "Cette ville est si calme, c'en est presque sinistre. Certains trouvent la solitude relaxante. Moi, je veux juste aller à Vagune et à la prochaine Arène."
+
+msgid "MAP017_TRAINER_1"
+msgstr "Hey! Morveux! Qu'est-ce que tu dis d'un duel intellectuel? Non? Un combat Pokémon, peut-être?"
+
+msgid "MAP017_TRAINER_1_DEFEAT"
+msgstr "...Bien joué."
+
+msgid "MAP017_TRAINER_2"
+msgstr "Sais-tu comment cette grotte s'est formée? On s'en fiche, baston!"
+
+msgid "MAP017_TRAINER_2_DEFEAT"
+msgstr "Belle démonstration, fiston."
+
+msgid "MAP017_TRAINER_3"
+msgstr "Hé! Je creuse ici! Trouve-toi ta propre grotte!"
+
+msgid "MAP017_TRAINER_3_DEFEAT"
+msgstr "Bon ben, j'imagine que c'est une grotte ouverte à tout le monde..."
+
+msgid "MAP017_TRAINER_4"
+msgstr "On dit que s'entraîner dans des endroits extrêmes te renforce. Ammène-toi!"
+
+msgid "MAP017_TRAINER_4_DEFEAT"
+msgstr "Hmm, peut-être qu'une grotte, ce n'est pas assez..."
+
+msgid "MAP018_NPC_1"
+msgstr "Va voir Primo pour obtenir les détails de la mission."
+
+msgid "MAP018_NPC_2"
+msgstr "Va voir Primo pour obtenir les détails de la mission."
+
+msgid "MAP018_NPC_3"
+msgstr "C'est important de faire attention à tes Pokémon lors des combats contre des types Nucléaires. Les coupures et griffures s'infectent facilement."
+
+msgid "MAP018_NPC_4"
+msgstr "Notre objectif est de maîtriser les Pokémon Nucléaires enragés et les empêcher de franchir le périmètre. De plus, nous avons des rapports de Rangers qui ont découvert des humains et des Pokémon en danger. Nous devons les sauver.\nRoyosinge et moi, nous passerons devant. Allons-y!"
+
+msgid "MAP018_NPC_5"
+msgstr "Nous avons de quoi traiter ceux qui sont irradiés."
+
+msgid "MAP018_NPC_6"
+msgstr "Mes Pokémon Acier et moi t'aiderons à combattre ces Pokémon Nucléaires. Le type Acier est le seul résistant à leurs attaques, en dehors du type Nucléaire lui-même."
+
+msgid "MAP018_NPC_7"
+msgstr "Le crédo d'un Ranger Pokémon est de protéger la nature, les Pokémon et les humains, peu importe le danger pour nous."
+
+msgid "MAP018_NPC_8"
+msgstr "Garde tes Pokémon en forme, okay? Oh, tu peux avoir ça aussi. Fais gaffe là-bas!"
+
+msgid "MAP018_NPC_9"
+msgstr "Chouetton!"
+
+msgid "MAP020_NPC_1"
+msgstr "Félicitations, vous avez collecté les 8 Badges. \nLa Route Vitoire et le Championnat seront ta prochaine étape!"
+
+msgid "MAP020_NPC_2"
+msgstr "La Route Victoire est actuellement fermée. Elle rouvrira quand le Championnat de Tandor commencera."
+
+msgid "MAP020_SIGN_1"
+msgstr "Félicitations, vous avez collecté les 8 Badges. \nLa Route Vitoire et le Championnat seront ta prochaine étape!"
+
+msgid "MAP021_NPC_1"
+msgstr "Ah, c'est toi! Nous étions en train d'élever votre Pokémon, et nom d'Arceus, nous avons été surpris! Votre Pokémon a eu un oeuf! Nous ne savons pas comment c'est arrivé là, mais votre Pokémon l'avait. Vous le voulez, n'est ce pas? Vous n'avez plus de place. Revenez lorsque vous en aurez. PN reçoit un oeuf de Pokémon de l'hôte de la Pension. Prenez-en soin. Je vais le garder. C'est bien ce que vous voulez? Très bien, je le garderai. Merci! Je suis l'hôte de la Pension. J'aide les Dresseurs à prendre soin de leurs Pokémon. Si vous souhaitez que je m'occupe de vos Pokémon, parlez à ma femme. Ah, c'est vous PN! Que c'est bon de vous revoir. Votre se porte bien. Ah, c'est vous PN! Votre et votre se portent bien. Ils préfèrent jouer avec d'autres Pokémon plutôt qu'ensemble. Ils n'ont pas l’air de s’aimer. Ils ont l'air de s'entendre. Ils ont l’air de très bien s’entendre."
+
+msgid "MAP021_SIGN_1"
+msgstr "- Fort Légende Route 6, Cascaroc -"
+
+msgid "MAP021_SIGN_2"
+msgstr "Pension Pokémon de Tandor Ouest.\n ... Quelqu'un a gribouillé sur le panneau ...\n \"Team Omicron était ici!\""
+
+msgid "MAP021_TRAINER_1"
+msgstr "Purée! Tu la sens cette chaleur?"
+
+msgid "MAP021_TRAINER_1_DEFEAT"
+msgstr "C'est la canicule!"
+
+msgid "MAP021_TRAINER_2"
+msgstr "Hey, Dresseur! Mes Pokémon veulent t'affronter!"
+
+msgid "MAP021_TRAINER_2_DEFEAT"
+msgstr "Wow! T'es balèze!"
+
+msgid "MAP021_TRAINER_3"
+msgstr "*soupir* J'aime un combat relaxant sous les rayons du soleil!"
+
+msgid "MAP021_TRAINER_3_DEFEAT"
+msgstr "Oh, mon cher..."
+
+msgid "MAP021_TRAINER_4"
+msgstr "On ne bouge plus! C'est vous qui volez mes équipements de recherche?"
+
+msgid "MAP021_TRAINER_4_DEFEAT"
+msgstr "Oh, ce n'était pas vous? Toutes mes excuses!"
+
+msgid "MAP022_NPC_1"
+msgstr "Ne vous inquiétez pas, je ne cherche pas une bataille! Moi? Je suis en randonnée! N'est-ce pas rafraîchissant, l'air de la montagne?"
+
+msgid "MAP022_NPC_10"
+msgstr "Chouetton! Ton! Pas aller là! Humain ... Mauvais! (Ils ne semblent pas vouloir bouger.)"
+
+msgid "MAP022_NPC_2"
+msgstr "Oh... Zut. J'ai perdu un combat et maintenant j'essaye de revenir au centre pokemon... Mais je suis incapable de trouver mon chemin!"
+
+msgid "MAP022_NPC_3"
+msgstr "Chou! Chouetton! ...\nPN Utilise le Traducteur! Comment oses-tu essayer de m'emmener?! \nPrend ça!"
+
+msgid "MAP022_NPC_4"
+msgstr "Désolé, mais l'accès à cette zone est interdite en raison de la construction du site pour le Championnat de Tandor."
+
+msgid "MAP022_NPC_5"
+msgstr "Désolé, mais l'accès à cette zone est interdite en raison de la construction du site pour le Championnat de Tandor."
+
+msgid "MAP022_NPC_6"
+msgstr "Désolé, mais l'accès à cette zone est interdite en raison de la construction du site pour le Championnat de Tandor."
+
+msgid "MAP022_NPC_7"
+msgstr "Chouetton! Ton! Pas aller là! Humain ... Mauvais! (Ils ne semblent pas vouloir bouger.)"
+
+msgid "MAP022_NPC_8"
+msgstr "Chouetton! Ton! Pas aller là! Humain ... Mauvais! (Ils ne semblent pas vouloir bouger.)"
+
+msgid "MAP022_NPC_9"
+msgstr "Chouetton! Ton! Pas aller là! Humain ... Mauvais! (Ils ne semblent pas vouloir bouger.)"
+
+msgid "MAP022_SIGN_1"
+msgstr "- Championnat Régional de Tandor Fort Légende & Mt. Actinid"
+
+msgid "MAP022_SIGN_2"
+msgstr "Tunnel de Cascaroc, vers Plateaux de Tandor, Vagune"
+
+msgid "MAP022_TRAINER_1"
+msgstr "Rien de tel qu'une bonne baston dès le réveil pas vrai? C'est parti!"
+
+msgid "MAP022_TRAINER_10"
+msgstr "Yo mon pote! J'te l'dis, tu dois faire d'ton mieux, t'vois?"
+
+msgid "MAP022_TRAINER_10_DEFEAT"
+msgstr "Whoooo! Trop bien mec! J'suis totalement out!"
+
+msgid "MAP022_TRAINER_11"
+msgstr "Viens, mon enfant. De bonne grâce, je vais vous donner une leçon pour le corps et pour l'esprit."
+
+msgid "MAP022_TRAINER_11_DEFEAT"
+msgstr "Et voilà un grand pas de fait dans votre développement."
+
+msgid "MAP022_TRAINER_12"
+msgstr "...Non, pas de morsure. Bah. Je vais passer ma soudaine et irrationnelle rage sur TOI!"
+
+msgid "MAP022_TRAINER_12_DEFEAT"
+msgstr "Je crois que je me suis calmé."
+
+msgid "MAP022_TRAINER_13"
+msgstr "Quant tu pêches, quel type d'appât tu utilises? Allez, faisons un combat de pêche!"
+
+msgid "MAP022_TRAINER_13_DEFEAT"
+msgstr "Abruti, j'avais dit \"DE PÊCHE\"!"
+
+msgid "MAP022_TRAINER_14"
+msgstr "J'aime élever des Pokémon insectes. Est-ce que ça fait de moi un Scout? Dites."
+
+msgid "MAP022_TRAINER_14_DEFEAT"
+msgstr "Aww, J'ai perdu. Hé, vous n'avez jamais répondu à ma question!"
+
+msgid "MAP022_TRAINER_15"
+msgstr "J'ai une nouvelle petite soeur! Tu veux voir une photo d'elle?"
+
+msgid "MAP022_TRAINER_15_DEFEAT"
+msgstr "Sérieusement, mec?"
+
+msgid "MAP022_TRAINER_16"
+msgstr "Nous sommes entrés dans une boucle temporelle."
+
+msgid "MAP022_TRAINER_16_DEFEAT"
+msgstr "Nous sommes entrés dans une boucle temporelle."
+
+msgid "MAP022_TRAINER_17"
+msgstr "Je viens de recevoir une commande pour deux millions de kilts à livrer dans la galaxie d'Andromède... Hein?!"
+
+msgid "MAP022_TRAINER_17_DEFEAT"
+msgstr "I-ils essaient de gagner Wimbledon!"
+
+msgid "MAP022_TRAINER_1_DEFEAT"
+msgstr "Bien que ça ait gâché ma journée..."
+
+msgid "MAP022_TRAINER_2"
+msgstr "Je suis sorti pour attraper des Pokémon pour le professeur. Mais je m'ennuie. Un p'tit combat?"
+
+msgid "MAP022_TRAINER_2_DEFEAT"
+msgstr "Hmm, et de retour en ville pour se soigner, j'suppose."
+
+msgid "MAP022_TRAINER_3"
+msgstr "Je suis un bûcheron, et tout va bien! Je travaille la nuit et combat le jour!"
+
+msgid "MAP022_TRAINER_3_DEFEAT"
+msgstr "Maintenant les choeurs! \"C'est un bûcheron...\""
+
+msgid "MAP022_TRAINER_4"
+msgstr "Hé, Dresseur étrange! Au moment où nos yeux se sonc croisés j'ai sû... que notre destin était de nous battre!"
+
+msgid "MAP022_TRAINER_4_DEFEAT"
+msgstr "Mon destin était probablement de perdre."
+
+msgid "MAP022_TRAINER_5"
+msgstr "Je cherchais un punching ball pour former mon Pokémon, mais tu fera bien l'affaire."
+
+msgid "MAP022_TRAINER_5_DEFEAT"
+msgstr "Comment... comment oses-tu?!"
+
+msgid "MAP022_TRAINER_6"
+msgstr "Mais, t'es qui? T'es trop ~Mignoooon~. J'adoooore ton Tshirt! Juste... Je L'ADORE! Oh, tu veux t'battre?"
+
+msgid "MAP022_TRAINER_6_DEFEAT"
+msgstr "Ah!~ J'ai donné mon max hihi!~"
+
+msgid "MAP022_TRAINER_7"
+msgstr "J'aime jouer aux jeux vidéo. Pokémon est vraiment un jeu marrant. Tu veux y jouer?"
+
+msgid "MAP022_TRAINER_7_DEFEAT"
+msgstr "Wow, tu es bon à Pokémon."
+
+msgid "MAP022_TRAINER_8"
+msgstr "Oh! Heeeeyyy! Mon coeur! Quoi d'neuf? Attend... tu ressembles pas à..."
+
+msgid "MAP022_TRAINER_8_DEFEAT"
+msgstr "Combat sympa, mais..."
+
+msgid "MAP022_TRAINER_9"
+msgstr "Héhé. Les insectes sont cool. Héhé."
+
+msgid "MAP022_TRAINER_9_DEFEAT"
+msgstr "Qu'est ce... Qui... Vient... De se... Passer."
+
+msgid "MAP024_NPC_1"
+msgstr "J'ai entendu que la route jusqu'a l'Arène de Banqueneige était longue et dangereuse... Je ferais mieux de prévoir des provisions. Tu auras besoin de vêtements chauds si tu as l'intention de faire face à la toundra de la Route 16."
+
+msgid "MAP024_NPC_2"
+msgstr "J'ai entendu qu'il existait un Pokémon légendaire au coeur du Mont Lanthanite! J'ai prévu de le capturer. La Route 16 est sur le chemin du Mont Lanthanite, l'une des deux plus grandes montagnes de Tandor."
+
+msgid "MAP024_NPC_3"
+msgstr "Je surveille cette ville en quête d'activité suspecte de la part de la personne ou du groupe responsable des attaques contre les centrales nucléaires. Tandor Est dispose de sa propre centrale nucléaire. Nous pensons qu'elle est menacée puisque les deux usines de Tandor Ouest ont été détruites. Toute l'escouade Ranger de la zone est en état d'alerte."
+
+msgid "MAP025_NPC_1"
+msgstr "Bonjour! Je ne pense pas avoir vu ta bouille auparavant. Tu dois être un Dresseur, non? Dans ce cas tu es au bon endroit! Vois-tu nous nous occupons des Pokémon des Dresseurs. Laisse-les avec nous et ils seront plus forts quand tu reviendras. Si tu nous laisses deux Pokémon compatibles, ils peuvent avoir un oeuf! Puis..."
+
+msgid "MAP026_NPC_1"
+msgstr "Je suis technicien médical urgentiste. J'ai pour travail de secourir la population de catastrophes naturelles, entre autres. Si vous entendez les sirènes d'avalanches, assurez-vous de vous rendre à un endroit sécurisé!"
+
+msgid "MAP026_NPC_2"
+msgstr "La Méga-évolution... J'ai tenté de battre l'Arène, mais ils m'ont dit que je n'avais pas assez de Sagesse ou quelque chose comme ça. J'ai entendu dire qu'il y a cinq épreuves à réussir dans l'Arène. Mais je ne suis pas capable de réussir la première!"
+
+msgid "MAP026_NPC_3"
+msgstr "- Ouaah... L'Arène était trop compliquée! \nComme si le vent n'était pas suffisant, les Dresseurs sont violents!"
+
+msgid "MAP027_NPC_1"
+msgstr "J'ai laissé un Pokémon à la Pension Pokémon et je l'ai un peu oublié. Quand je l'ai repris, il avait gagné beaucoup de niveaux!"
+
+msgid "MAP027_NPC_2"
+msgstr "La chaîne de montagnes protège cette route des retombées radioactives. Tout de même, ce qui s'est passé est un désastre..."
+
+msgid "MAP029_NPC_1"
+msgstr "On apprend les évolutions en ce moment. Savais-tu que les Pokémon de départ officiels de Tandor n'évoluent qu'une seule fois, contrairement aux autres qui évoluent deux fois? J'ai entendu dire qu'il y avait un professeur qui étudiait l'évolution quelque part. Comme le Prof. Bamb'o, c'est ça? Quel était son nom? Prof. Epicéa, ou quelque chose comme ça..."
+
+msgid "MAP029_NPC_2"
+msgstr "Dis, as-tu entendu parler des Débats? C'est une activité cool! Cette année, nous débattons pour savoir s'il faudrait imposer une limite d'âge pour les Dresseurs. Je crois que c'est dangereux pour les jeunes de partir de la maison et de s'aventurer comme tu le fais."
+
+msgid "MAP029_NPC_3"
+msgstr "Je suis le professeur de cette école. C'est vraiment intéressant de voir comment les enfants apprennent. Je ne les ai jamais vu ainsi. J'espère que tu continues d'étudier, même si tu voyages."
+
+msgid "MAP029_NPC_4"
+msgstr "Les équipes sportives de l'école sont les plus robustes des environs! Nous pouvons battre Moki ou Kevlar sans les mains! Est-ce que Bourg-Moki possède une école?"
+
+msgid "MAP029_NPC_5"
+msgstr "Hé, Dresseur! Ces enfants ont besoin d'aide pour étudier! Si tu les combats tous, tu recevras une récompense spéciale!"
+
+msgid "MAP029_TRAINER_1"
+msgstr "Oh, hé! E-Est-ce que ça te dérange de, um, m'affronter? T'sais, juste pour s'entraîner. C-C'est dommage."
+
+msgid "MAP029_TRAINER_1_DEFEAT"
+msgstr "J-J'espère que mes Pokémon ne seront pas trop blessés..."
+
+msgid "MAP029_TRAINER_2"
+msgstr "Je m'entraîne pour ma classe de combat! Est-ce que tu voudrais m'aider à étudier? Très bien alors, j'arrive! Ce sera ta faute si j'échoue, tu le sais?"
+
+msgid "MAP029_TRAINER_2_DEFEAT"
+msgstr "...Wow! C'était... génial."
+
+msgid "MAP029_TRAINER_3"
+msgstr "J'imagine que si j'apprends à bien combattre, je finirais Pokémon Rouge facilement! Est-ce que tu veux te battre? Très bien alors, j'arrive! ... OK, peu importe, loser. P-pas que je m'en soucie ou autre."
+
+msgid "MAP029_TRAINER_3_DEFEAT"
+msgstr "... Combattre est plus facile dans les jeux..."
+
+msgid "MAP033_NPC_1"
+msgstr "Tamu.. Tamu!"
+
+msgid "MAP033_NPC_2"
+msgstr "Tu savais que cette rivière était majoritairement peuplée de Venouilles? Ils sont de type poison! Je garderais des antidotes si j'étais toi."
+
+msgid "MAP033_TRAINER_1"
+msgstr "Je confirme! les Pokémon eau sont les meilleurs!"
+
+msgid "MAP033_TRAINER_1_DEFEAT"
+msgstr "OK, donc peut-être pas JUSTE les Pokémon eau."
+
+msgid "MAP033_TRAINER_2"
+msgstr "Je devrais aller jouer avec des amis plutôt que de rester planté là."
+
+msgid "MAP033_TRAINER_2_DEFEAT"
+msgstr "Je pense que j'essaierais de nouveaux jeux."
+
+msgid "MAP033_TRAINER_3"
+msgstr "Hé! Toi! Ouais, toi, là-bas! On va s'battre maintenant, OK?"
+
+msgid "MAP033_TRAINER_3_DEFEAT"
+msgstr "Ouaaahh! C'était ouf!"
+
+msgid "MAP033_TRAINER_4"
+msgstr "Hé PN! Je viens d'avoir un nouveau Pokémon et je veux voir ce qu'il vaut!"
+
+msgid "MAP033_TRAINER_4_DEFEAT"
+msgstr "Ah, il n'est pas aussi fort que je l'espérais..."
+
+msgid "MAP033_TRAINER_5"
+msgstr "Casse-toi!"
+
+msgid "MAP033_TRAINER_5_DEFEAT"
+msgstr "Cours, cours, cours!"
+
+msgid "MAP033_TRAINER_6"
+msgstr "les Pokémon Eau sont les meilleurs."
+
+msgid "MAP033_TRAINER_6_DEFEAT"
+msgstr "Euh... Les autres types sont bien aussi..."
+
+msgid "MAP033_TRAINER_7"
+msgstr "Les dames peuvent aussi être de bonnes dresseuses!"
+
+msgid "MAP033_TRAINER_7_DEFEAT"
+msgstr "Tu es doué, jeunot..."
+
+msgid "MAP033_TRAINER_8"
+msgstr "Ne t'en vas pas!"
+
+msgid "MAP033_TRAINER_8_DEFEAT"
+msgstr "Oh, saperlipopette! J'ai perdu!"
+
+msgid "MAP033_TRAINER_9"
+msgstr "T'es un nouveau Dresseur, hein? Je viens de commencer aussi!"
+
+msgid "MAP033_TRAINER_9_DEFEAT"
+msgstr "Tout le monde peut devenir Dresseur, mais certaines personnes sont plus aptes pour ça que d'autres, tu ne crois pas?"
+
+msgid "MAP037_NPC_1"
+msgstr "Je sonde cette zone pour faire un sentier. C'est tellement fatiguant d'avoir à traverser cette grotte pour aller quelque part. Bonne chance, gamin. Prends ça, tu en auras besoin."
+
+msgid "MAP037_TRAINER_1"
+msgstr "Dans un sens, je trouve ça marrant d'en mettre plein la tronche, sans distinction, à des Dresseurs innocents!"
+
+msgid "MAP037_TRAINER_1_DEFEAT"
+msgstr "...J'imagine que tous les tyrans reçoivent un jour leur châtiment..."
+
+msgid "MAP042_NPC_1"
+msgstr "Yo, Dresseur!\nC'est ta première Arène?\nTu dois être au max! On m'appelle le mec des Arènes, présent pour donner des astuces aux Dresseurs qui cherchent à défier la Ligue de Tandor! Maria est une experte du type Normal.\nLes types Normal n'ont pas d'avantage particulier, mais ils ont peu de faiblesses. Les types Combat sont forts ici, comme Férosinge,\ntout comme les types Acier comme Pétalynx et Embryfer parce qu'ils sont résistants à leurs attaques. Sinon, la pleine puissance de\nton Pokémon le plus fort\ndevrait faire l'affaire.\nBonne chance! Je serai de ton côté!\n...Oh et, prends ça, avec mes salutations!"
+
+msgid "MAP042_TRAINER_1"
+msgstr "Maria est peut-être la première Championne d'Arène,\nmais elle a été Maître!\nT'es encore à des années-lumière de la battre!"
+
+msgid "MAP042_TRAINER_1_DEFEAT"
+msgstr "Les années-lumière sont une unité de distance, non de temps..."
+
+msgid "MAP042_TRAINER_2"
+msgstr "Ha! Tu crois que t'as de quoi battre Maria?\nLaisse-moi en juger!"
+
+msgid "MAP042_TRAINER_2_DEFEAT"
+msgstr "Hmm. Celui-là a du potentiel."
+
+msgid "MAP042_TRAINER_3"
+msgstr "Re-bonjour~\nDonc, je ne crois pas qu'on se soit réellement présentés. Comment t'appelles-tu? ... PN?. J'aime bien~\nBienvenue à l'Arène Pokémon de Néotech!~ Je suis Maria, spécialiste du type Normal...\nMais tu le savais déjà!\nÉvidemment, la plupart des gens connaissent\n\"Maria, Maître de Tandor\"...\nCes jours sont passés.\nDorénavant, je guide de jeunes Dresseurs comme toi,\nsur le chemin de la grandeur. Ce sera une bataille longue et difficile pour devenir Maître... Peux-tu y arriver? Ton premier test sur tes compétences...\nCommence dès à présent! Félicitations!~ Dis, cet esprit que tu as démontré au combat....\nÇa me rappelle quand je débutais.\nEssaie de maintenir cette détermination\net je suis sûre que tu iras loin!~ Tiens, prends cette CT, aussi!~ Avec les voyages, les liens avec\ntes Pokémon se renforceront.\nPlus grande est l'amitié, plus Retour est puissant au combat! Les CTs peuvent s'utiliser à l'infini, donc apprends-le au plus de Pokémon possible! Ils peuvent presque tous apprendre celle-là.~ J'ai aimé combattre contre toi, PN. Bonne chance pour ton voyage!~"
+
+msgid "MAP042_TRAINER_3_DEFEAT"
+msgstr "C'est ça!~\nC'est ça, l'esprit que je veux voir!\nTu as bien mérité ce Badge Normal!"
+
+msgid "MAP043_NPC_1"
+msgstr "C'est du boulot d'être un TopDresseur. Tu dois agir au top, te fringuer au top et être au top. Oh et aussi, élever des Pokémon au top. Cette ville me vide de ma topitude. Je m'en vais... Dès que mes Pokémon seront assez forts pour retourner dans la caverne."
+
+msgid "MAP043_NPC_2"
+msgstr "Les Centres Pokémon sont trop bien! Ils offrent une place où dormir la nuit gratuitement. C'est comme un hôtel gratuit, sauf que personne ne laisse un bonbon sur l'oreiller. Qui paye pour construire et entretenir les Centres Pokémon? Ils n'ont aucun revenu..."
+
+msgid "MAP043_NPC_3"
+msgstr "Soigne tes Pokémon avant de sortir hors de la ville! Crois-moi! Tu ne sais jamais quand un rival viendra te défier, particulièrement quand tu seras faible, comme après, je ne sais pas, un combat d'Arène."
+
+msgid "MAP044_NPC_1"
+msgstr "Ma grand-mère vit à Fort Légende.\nMaintenant que le métro est ouvert, je peux aller la voir chaque week-end."
+
+msgid "MAP045_NPC_1"
+msgstr "J'attends que le train arrive.\nJ'ai l'impression d'attendre une éternité!"
+
+msgid "MAP046_NPC_1"
+msgstr "Salut, salut! Je suis le Spécialiste des noms! Je suis le diseur de bonne-aventure des noms! Je serais enchanté de noter le surnom d'un de tes Pokémon. De quel Pokémon dois-je m'occuper? Je vois. Reviens quand tu veux. Attends voir... C'est juste un oeuf! Hmmm... Ce sera donc ! C'est un surnom parfait! Il est impeccable! Sois sûr de bien chérir ton pour l'éternité. Hmmm... , c'est ça? C'est un bien beau nom que tu as choisi là. Mais! Que dirais-tu, si je lui donnais un meilleur nom? Ah, bien. Alors, que doit être le nouveau surnom? C'est fait! Dorénavant, ce Pokémon s'appelle ! Il n'a pas l'air différent d'avant et pourtant, c'est vraiment meilleur! Quelle chance pour toi! C'est fait! Dorénavant, ce Pokémon s'appelle ! C'est un meilleur nom qu'avant! Quelle chance pour toi! Je vois. Reviens quand tu veux. Je vois. Reviens quand tu veux."
+
+msgid "MAP046_NPC_10"
+msgstr "Holà, Dresseur!\nHé, tu connais les CTs et CSs? Les CTs, ou Capsules Techniques, sont des objets très utiles qui servent à apprendre de nouvelles attaques à tes Pokémon. Les CS, ou Capsules Secrètes, sont des CT spéciales qui peuvent t'aider à surmonter certains obstacles sur ton chemin! Tiens, essaie cette CT! Cette CT contient Attraction. La plupart des Pokémon peuvent l'apprendre! Pourquoi n'essaierais-tu pas de l'apprendre à l'un des tiens?"
+
+msgid "MAP046_NPC_11"
+msgstr "J'adore jouer à des jeux Pokémon!\nJ'ai la version Bleue et ma soeur a la Rouge. Comme ça, on peut tous les attraper!"
+
+msgid "MAP046_NPC_12"
+msgstr "Maman me dit que j'peux pas avoir de Pokémon avant d'être grand. \nDonc j'ai eu un jeu vidéo à la place!"
+
+msgid "MAP046_NPC_13"
+msgstr "La région de Tandor est divisée en deux parties, ouest et est. Nous sommes à Tandor Ouest."
+
+msgid "MAP046_NPC_2"
+msgstr "Bonjour! Es-tu un drésseur de Pokémon? Je vois un avenir brillant qui s'offre à toi! Reviens ici quand tu auras plus d'expérience, j'enseignerai à tes Pokémon des attaques puissantes."
+
+msgid "MAP046_NPC_3"
+msgstr "Ma fiancée veut avoir des enfants, mais je ne sais pas si je le veux.\nJe ne sais pas si je suis du bois dont on fait les pères, tu vois?"
+
+msgid "MAP046_NPC_4"
+msgstr "J'ai déménagé à Néotech parce que je voulais fonder une famille avec mon fiancé. Mais il hésite..."
+
+msgid "MAP046_NPC_5"
+msgstr "Hé! T'as l'air d'un Dresseur, ça veut dire que tu collectionnes les Pokémon! Je recherche un Venouille. Si tu en as un, je te l'échangerai contre mon Moutoir! Tu n'as même pas de Pokémon... Prends-en bien soin! Ouaiis!! J'ai un joyeux Venouille maintenant! J'imagine que t'as pas de Venouille... Ne reviens pas tant que tu n'as pas Venouille!"
+
+msgid "MAP046_NPC_6"
+msgstr "Bonjour et bienvenue dans le QG des Rangers Pokémon de Néotech. Vous vous portez volontaire pour une mission?\nJe suis désolé, nous n'acceptons pas d'aide de civils en ce moment."
+
+msgid "MAP046_NPC_7"
+msgstr "Tu es un Dresseur Pokémon débutant? Tu devrais prendre ça! Ce Total Soin annule tout changement de statut. Ça guérit même de la confusion.\nSers-t'en lorsque ton Pokémon est en détresse."
+
+msgid "MAP046_NPC_8"
+msgstr "Nous, Rangers Pokémon, sommes les policiers de Tandor.\nLa plupart des grandes villes ont un centre Ranger mais le quartier général principal est à Vagune."
+
+msgid "MAP046_NPC_9"
+msgstr "As-tu assez d'objets de soin pour tes Pokémon?\nTiens, tu devrais en avoir plus. Une Potion est un bon objet pour rendre des PV en cas de souci.\nToutefois, tu devrais quand même ne pas oublier d'aller faire un tour au centre Pokémon."
+
+msgid "MAP046_SIGN_1"
+msgstr "Il y a la météo à la Télé.\nOn dirait bien qu'il fera beau demain. Il y a un talk show à la télé.\nQuel ennui."
+
+msgid "MAP046_SIGN_10"
+msgstr "La TV affiche le dessin animé \"Pokémon Universe\"."
+
+msgid "MAP046_SIGN_11"
+msgstr "La TV affiche le dessin animé \"Pokémon Universe\"."
+
+msgid "MAP046_SIGN_12"
+msgstr "Il y a aussi quelques jeux Pokémon sur l'ordinateur."
+
+msgid "MAP046_SIGN_13"
+msgstr "L'étagère contient beaucoup de grands livres imagés et d'albums photos."
+
+msgid "MAP046_SIGN_2"
+msgstr "Il y a la météo à la Télé.\nOn dirait bien qu'il fera beau demain. Il y a un talk show à la télé.\nQuel ennui."
+
+msgid "MAP046_SIGN_3"
+msgstr "L'ordinateur affiche l'écran-titre d'un jeu à la mode, \"Les Origines de Dracolosse\"."
+
+msgid "MAP046_SIGN_4"
+msgstr "Bonjour et bienvenue dans le QG des Rangers Pokémon de Néotech. Vous vous portez volontaire pour une mission?\nJe suis désolé, nous n'acceptons pas d'aide de civils en ce moment."
+
+msgid "MAP046_SIGN_5"
+msgstr "Il y a une grande variété de guides sur la faune et la flore sauvages, les cartes topographiques et des brochures informatives."
+
+msgid "MAP046_SIGN_6"
+msgstr "Il y a une grande variété de guides sur la faune et la flore sauvages, les cartes topographiques et des brochures informatives."
+
+msgid "MAP046_SIGN_7"
+msgstr "L'écran est éteint."
+
+msgid "MAP046_SIGN_8"
+msgstr "L'écran est éteint."
+
+msgid "MAP046_SIGN_9"
+msgstr "Ne prends pas de nourriture dans le frigo de la gentille dame."
+
+msgid "MAP047_NPC_1"
+msgstr "Tanoctur: Grrraouff!"
+
+msgid "MAP047_NPC_2"
+msgstr "Depuis que j'ai rencontré Tanoctur, ma vie n'a pas cessé de s'améliorer!\nJe n'imagine pas la vie sans Pokémon."
+
+msgid "MAP047_SIGN_1"
+msgstr "Qu'est-ce qu'un Champion d'Arène garde dans son frigo? ... Erk! Du lait pourri!"
+
+msgid "MAP047_SIGN_2"
+msgstr "Les livres sont organisés n'importe comment sur l'étagère, y compris l'autobiographie de Maria : \"Le Chemin vers la Victoire!\""
+
+msgid "MAP047_SIGN_3"
+msgstr "Les livres sont organisés n'importe comment sur l'étagère, y compris l'autobiographie de Maria : \"Le Chemin vers la Victoire!\""
+
+msgid "MAP047_SIGN_4"
+msgstr "Il y a une chaîne d'infos à la télé.\n...C'est d'un ennui..."
+
+msgid "MAP047_SIGN_5"
+msgstr "Il y a une chaîne d'infos à la télé.\n...C'est d'un ennui..."
+
+msgid "MAP047_SIGN_6"
+msgstr "Ce n'est généralement pas une bonne idée de fouiner dans les frigos des étrangers."
+
+msgid "MAP047_SIGN_7"
+msgstr "C'est plein de bouquins sur les soins Pokémon."
+
+msgid "MAP047_SIGN_8"
+msgstr "C'est plein de bouquins sur les soins Pokémon."
+
+msgid "MAP048_SIGN_1"
+msgstr "C'est une Nintendo Wii U.\nMais j'ai entendu qu'ils sortiront une nouvelle console bientôt."
+
+msgid "MAP048_SIGN_2"
+msgstr "C'est mon lit.\nJ'ai pas besoin de faire une sieste."
+
+msgid "MAP048_SIGN_3"
+msgstr "C'est mon lit.\nJ'ai pas besoin de faire une sieste."
+
+msgid "MAP048_SIGN_4"
+msgstr "C'est plein à craquer de bouquins sur les Pokémon. \"Moi et mon Chouetton\",\n\"La Grande Aventure de Gerblitz\",\n\"La Quête des Légendes\". J'ai lu et relu tous ces bouquins."
+
+msgid "MAP048_SIGN_5"
+msgstr "Il y a un combat Pokémon à la télé.\nOuah! L'un des Pokémon vient de Méga-Évoluer! Il y a une pub pour un nouveau jeu vidéo à la télé.\nC'est une simulation de combat Pokémon appelée \"Version Bleue et Rouge\". Il y a un reportage à la télé.\nApparemment, ils construisent une nouvelle Centrale Nucléaire à Tandor. ...Il est temps d'y aller!"
+
+msgid "MAP048_SIGN_6"
+msgstr "C'est plein à craquer de bouquins sur les Pokémon. \"Moi et mon Chouetton\",\n\"La Grande Aventure de Gerblitz\",\n\"La Quête des Légendes\". J'ai lu et relu tous ces bouquins."
+
+msgid "MAP049_NPC_1"
+msgstr "PN, mon chéri!\nC'est le grand jour aujourd'hui, n'est-ce pas? Je me sens mélancolique, voyant mon petit bébé tout grand et s'en allant de la maison.\nOh, si mes vieux os pouvaient faire plus pour nous soutenir tous les deux! Mais nous savons tous les deux que tu es prê{t|te}. Toi et ce garçon, Théo....\ntoujours dans tes pattes, celui-là.\nTu as toujours été si doué,\nmais lui?.\nIl est plus jeune, après tout. Je suis certaine que son père Cameron ne le laisserait pas partir sans être sûr.\nD'ailleurs, pour célébrer ton grand jour,\nj'ai un cadeau pour toi. Vas-y et ouvre-le! PN a obtenu les Chaussures de Course! (Il est écrit: «Pour courir, appuyez sur Z. Tu peux activer la course automatique dans le Menu.») *sniff* O-oh, ne t'en occupe pas, ....\nJe suis simplement une vieille dame émotive.\nSi seulement ton père était ici en ce moment...\nEt bien, je suis certaine qu'il aurait été aussi fier de toi..\nEt je suis sûre que tu le rencontreras au cours ton aventure. À présent, je ne peux te garder plus longtemps.\nDis bonjour au gentil professeur pour moi, veux-tu? Et si tu peux, reviens me voir\naprès avoir reçu ton premier Pokémon,\nj'adorerais le voir. Bonne chance, mon chéri!"
+
+msgid "MAP049_NPC_2"
+msgstr "... (elle ne répond pas.) (sa respiration est lente et constante, comme dans un sommeil profond.)"
+
+msgid "MAP049_NPC_3"
+msgstr "Je ne me reposerai pas avant de trouver un remède pour le problème de Lucille. Mais,. juste être debout à ses côtés,\nêtre capable de la tenir dans mes bras...\nC'est suffisant, pour le moment. Bien sûr, je suis incroyablement fier de toi\nd'être devenu le Champion de Tandor. Tu as accompli autant que ce que j'ai fait lors de mon apogée en tant que Ranger Cadet et puis comme un Ranger à part entière. Je suppose que l'héroïsme coule dans le sang familial. Ce genre de vie...\nJ'avais oublié à quoi ça ressemblait.\nJ'ai passé tant d'années en étant pressé,.\ncourant de crise en crise. Et... pour être honnête...\nmon âge me rattrape.\nJ'ai 45 ans.\nJe ne suis plus aussi vif que je l'étais. Une pause loin de l'action est... agréable. Royosinge n'est plus avec moi.\nIl est retourné dans la Forêt Baykal, sa maison. Tu sais, malgré notre amitié, il n'était pas mon Pokémon. Il a choisi de m'accompagner et il a choisi de partir. Mais je sais que l'on se reverra."
+
+msgid "MAP049_SIGN_1"
+msgstr "C'est une télévision à écran plat. J'aime la regarder en prenant le souper."
+
+msgid "MAP049_SIGN_10"
+msgstr "Scandaleux!\nC'est le tiroir à bas de Tatie."
+
+msgid "MAP049_SIGN_11"
+msgstr "Scandaleux!\nC'est le tiroir à bas de Tatie."
+
+msgid "MAP049_SIGN_12"
+msgstr "C'est rempli de livres Pokémon.\n\"La vie d'un Pokémon\" ... \"Évolution des Pokémon\" ... \"Philosophie Pokémon\" ..."
+
+msgid "MAP049_SIGN_13"
+msgstr "Cette étagère contient les lectures préférées de Tatie.\n«Le Prince Arcanin: Une Romance de Feu!»"
+
+msgid "MAP049_SIGN_2"
+msgstr "C'est une télévision à écran plat. J'aime la regarder en prenant le souper."
+
+msgid "MAP049_SIGN_3"
+msgstr "Il y a une broderie encadrée. «La maison est là où se trouve le coeur!» Et il y a un coeur en dessous."
+
+msgid "MAP049_SIGN_4"
+msgstr "Le cabinet est rempli d'antiques assiettes de porcelaine."
+
+msgid "MAP049_SIGN_5"
+msgstr "Le cabinet est rempli d'antiques assiettes de porcelaine."
+
+msgid "MAP049_SIGN_6"
+msgstr "Le frigo. J'espère qu'elle me laissera prendre une collation..."
+
+msgid "MAP049_SIGN_7"
+msgstr "Le poêle et l'évier. Ils sont propres parce qu'on commande habituellement."
+
+msgid "MAP049_SIGN_8"
+msgstr "Une tasse de café se trouve sur la table. Elle est froide."
+
+msgid "MAP049_SIGN_9"
+msgstr "A l'extérieur, on peut voir le labo du Professeur Bamb'o. Je me demande pourquoi il a une apostrophe dans son nom."
+
+msgid "MAP050_NPC_1"
+msgstr "Le bTest d'Aptitude du Dresseur Pokémon/b \nsépare les Dresseurs en trois catégories :\nDéfensif, c2=043c3affOffensif/c2, etc2=65467b14 Équilibré. Le professeur vous donnera ensuite un Pokémon de départ\nqui conviendra le mieux à votre style au combat. Les Dresseurs Défensifs reçoivent\nLe Pokémon plante Pétalynx.\nIl est gentil, robuste, et facile à dresser. Les Dresseurs c2=043c3affOffensifs/c2 reçoivent\nle Pokémon feu c2=043c3affRaptorche/c2.\nIl est fort et rapide, mais peut être difficile à contrôler. Les Dresseurs c2=65467b14Équilibrés/c2 reçoivent\nle Pokémon eau c2=65467b14Électrott/c2.\nSa nature calme et sereine lui permet de s'adapter à n'importe quelle situation. Choisis bien - Le Pokémon de départ est ton partenaire principal le long de ton voyage!"
+
+msgid "MAP050_NPC_2"
+msgstr "Allez, PN, on y va ou quoi?!\nY'a trop de suspense!"
+
+msgid "MAP050_NPC_3"
+msgstr "Je suis un expert en purification nucléaire.\nAs-tu un Pokémon nucléaire qui néccessiterait un traitement? Leur apparence et type resteront les mêmes, mais il ne désobéira pas et ne t'attaquera plus. D'accord! J'applique le traitement à ton . Ça ne prendra pas longtemps. Et, fini! Ton est totalement guéri! N'hésite pas à m'apporter d'autres Pokémon irradiés que tu possèdes, pour que je les traitent. Si tu as des Pokémon corrompus, apporte-les moi et je les traiterai. Souviens-toi, c'est seulement pour les Pokémon réguliers infectés et exposés à la radiation. les Pokémon nucléaires à l'origine comme Urali et Hazma n'ont pas besoin de traitement. Si tu as des Pokémon corrompus, apporte-les-moi et je les traiterai."
+
+msgid "MAP050_NPC_4"
+msgstr "Haaz-maa!"
+
+msgid "MAP050_SIGN_1"
+msgstr "C'est une plante en pot. Elle a l'air bien arrosée."
+
+msgid "MAP050_SIGN_10"
+msgstr "Des livres de Pokémon sont placés dans une vitrine. ...Hé! \"Ernest Bamb'o: Le mystère des Éléments!\" Le Professeur a écrit ce bouquin!"
+
+msgid "MAP050_SIGN_11"
+msgstr "C'est une machine pour soigner les Pokémon."
+
+msgid "MAP050_SIGN_2"
+msgstr "C'est une plante en pot. Elle a l'air bien arrosée."
+
+msgid "MAP050_SIGN_3"
+msgstr "C'est une machine pour soigner les Pokémon."
+
+msgid "MAP050_SIGN_4"
+msgstr "Des livres de Pokémon sont placés dans une vitrine. ...Hé! \"Ernest Bamb'o: Le mystère des Éléments!\" Le Professeur a écrit ce bouquin!"
+
+msgid "MAP050_SIGN_5"
+msgstr "Des livres de Pokémon sont placés dans une vitrine. ...Hé! \"Ernest Bamb'o: Le mystère des Éléments!\" Le Professeur a écrit ce bouquin!"
+
+msgid "MAP050_SIGN_6"
+msgstr "Des livres de Pokémon sont placés dans une vitrine. ...Hé! \"Ernest Bamb'o: Le mystère des Éléments!\" Le Professeur a écrit ce bouquin!"
+
+msgid "MAP050_SIGN_7"
+msgstr "C'est une plante en pot. Elle a l'air bien arrosée."
+
+msgid "MAP050_SIGN_8"
+msgstr "Il y a des affiches au mur... \"Protégez vos Pokémon, utilisez des Potions!\" \"Le Pokédex : Votre meilleure source pour l'info Pokémon!\""
+
+msgid "MAP050_SIGN_9"
+msgstr "La fenêtre donne une belle vue du mur de pierre. Il n'y a rien à voir."
+
+msgid "MAP050_TRAINER_1"
+msgstr "Ah, je me suis mélangé deux ou trois trucs... Mmh... HÉ! J'EN AI MARRE D'ATTENDRE! PN a déjà eu son Pokémon!\nQuand est-ce que j'aurais le mien? J'ai fini d'analyser tes résultats, Théo. Hmm... Oui!!\nMon premier Pokémon! Um non, cela ne ressemble pas à un Électrott. Um non, cela ne ressemble pas à un Raptorche. Um non, cela ne ressemble pas à un Pétalynx. Qu'est-ce-que... Enfin, oui, j'ai décidé de... de dévier un peu de la séléction standard des starters. C'est vrai. Vous deux, profitez de votre nouveau Pokémon! PN... t'as un Pokémon.\nEt maintenant j'en ai un aussi.\nTu sais ce que ça veut dire, non?\nOn doit s'battre! Oh, pitié, pas dans le labo... M-mais..... Comment....\nJe suis censé être le meilleur d-Dresseur de tous les temps... C'est i-impossible...\nles bon Dresseurs ne perdent jamais... Je.... Je.... *sniff*\nWaaaaaaaahhh!! Théo, ne pleure pas s'il te plaît... Voici, je vais soigner ton équipe pour toi. tes Pokémon ont été soignés... Je v-voulais devenir u-un Dresseur imbattable...\nPourquoi j'pouvais pas gagner?\nJe voulais vraiment gagner... Bon.... Entre ton Pokémon et celui de PN,\nle sien a l'avantage des types. L'Eau bat le Feu, le Feu bat la Plante, et la Plante bat l'Eau. C'est le triangle des types élémentaires..\nEn tout cas, un des triangles.\nApprendre à maîtriser la correspondance des types est important pour un Dresseur. C-c'est pas vrai! Je veux rechoisir!\nPourquoi c'est PN qui a eu le plus fort?!\nOOuuuiinnnn! C'est pas juste!!\nJ-je rentre chez moi!! Soupir...\nIl l'a pris plus mal que ce que je craignais. Mais, il ne faudrait pas le juger trop hâtivement.\nCe n'est qu'un enfant après tout.\nJe m'attends à ce qu'il découvre qu'entraîner des Pokémon n'est pas si facile que ça... Ouais!! Ma première victoire!\nMes Pokémon et moi,\non va être l'équipe la plus cool et la meilleure de Tandor! PN, t'es rien comparé à moi.\nRien!!\nHahaha!\n'faut que je le montre à papa! PN...\nJe suis surpris que t'aies réussi à perdre ce combat. Tu dois avoir remarqué que ton Pokémon de départ\na l'avantage du type sur celui de Théo.\nL'eau vainc le feu, le feu vainc la plante et la plante l'eau. C'est le triangle des éléments..\nEnfin, l'un d'eux, en tout cas. Normalement, dans une telle rencontre,\nle résultat est prévisible...\nOu peut-être l'as-tu laissé gagner exprès?\nSi tel est le cas, c'est gentil de ta part. Il fait le dur, mais j'ai l'impression\nqu'il ne le prendrait pas si bien s'il avait perdu son premier combat. Toi, tu as l'air d'encaisser, par contre.\nViens, laisse-moi soigner ton Pokémon vite-fait. tes Pokémon ont été soignés... Je vais à la sortie de la ville donnant sur la Route 01. Amène Théo et je vais vous apprendre à tous les deux comment attraper un Pokémon. A plus tard, PN."
+
+msgid "MAP050_TRAINER_1_DEFEAT"
+msgstr "Quoi? Mais j'étais censé gagner!"
+
+msgid "MAP052_NPC_1"
+msgstr "Bienvenue à l'Hotêl Casino de Vagune, célèbre dans le monde entier! Comment puis-je vous aider? L'Hotêl Casino de Vagune est un hôtel cinq étoiles connu dans le monde entier pour ses prestations de haute qualité, ses nuitées et son restaurant, le tout situé dans la ville pittoresque de Vagune. Tous nos clients sont invités à participer à notre loterie journalière au comptoir pour gagner des prix. Vous êtes aussi invité à profiter de tous les divertissements de notre Casino où vous pourriez gagner de rares et précieux objets et même des Pokémon rares! A votre droite se trouve le Casino où vous avez la possibilité de profiter des jeux de hasard pour gagner des prix. A votre gauche se trouve notre restaurant 3 étoiles ainsi que le bar et le centre Pokémon, où nos experts rafraîchiront et dorloteront vos Pokémon. L'ascenceur mène à l'hôtel. Nous offrons une grande variété de chambres : solo, double, suite, suite luxueuse et penthouse. Je suis désolé, mais vous devez avoir 18 ans pour réserver une chambre dans notre hôtel. Vous avez quand même la possibilité de profiter des autres activités de l'établissement! Profitez bien de l'Hôtel Casino de Vagune!"
+
+msgid "MAP052_NPC_10"
+msgstr "Je suis désolé, mais l'accès à l'hôtel est réservé aux donateurs et à leurs invités."
+
+msgid "MAP052_NPC_11"
+msgstr "J'adore venir au bar pour me détendre après une longue journée à bronzer sur la plage! La chose la plus importante lorsqu'on est un maître-nageur est d'avoir l'air classe en ayant ce truc blanc sur le nez. ...Quoi? Il en faut plus que ça?"
+
+msgid "MAP052_NPC_12"
+msgstr "Ce serait beaucoup plus romantique s'il\nne reluquait pas cette femme là-bas..."
+
+msgid "MAP052_NPC_13"
+msgstr "Nous sommes en lune de miel ensemble."
+
+msgid "MAP052_NPC_14"
+msgstr "Yo! J'ai entendu dire que la Championne est une vraie bombe! Je vais entraîner mon Pokémon pour pouvoir me mesurer à elle, puis je lui demanderai de sortir avec moi!"
+
+msgid "MAP052_NPC_15"
+msgstr "Hé, salut, Dresseur! Pour un moindre coût, je peux rendre votre Pokémon aussi heureux qu'il peut l'être! Je suis très occupé cependant, donc je ne peux le faire qu'une fois par jour. Quel Pokémon veut un toilettage? GQuel genre de soins voulez-vous lui offrir? a l'air aux anges! Revenez demain! Trop riche pour votre sang, il semblerait. Quelle stat voulez-vous augmenter? a amélioré ses statistiques en ! Revenez demain! Trop riche pour votre sang, il semblerait. Hm? That Pokémon cannot benefit from Rare Grooming. monte de niveau! Revenez demain! Trop riche pour votre sang, il semblerait. Revenez si vous voulez choyer un de vos Pokémon! Revenez si vous voulez choyer un de vos Pokémon!"
+
+msgid "MAP052_NPC_16"
+msgstr "Profitez bien de votre séjour à l'Hôtel Casino de Vagune! Bon jeu!"
+
+msgid "MAP052_NPC_17"
+msgstr "La Voltorbataille est un jeu peu risqué avec de faibles gains. Je trouve ce jeu très relaxant. Essaie-donc d'avoir une bonne suite!"
+
+msgid "MAP052_NPC_18"
+msgstr "Heheheheh! Ils m'appellent Jack le Chanceux! Chaque nuit je conduis les touristes autour de la ville en limousine. Tous les jours j'apporte mes gains ici, au casino pour jouer toute la journée! Je finis toujours avec plus d'argent que quand j'ai commencé, aussi! J'aime ton style, gamin. Voilà un petit cadeau. pn reçoit 100 Jetons! Peut-être qu'un peu de ma chance rejaillira sur toi?"
+
+msgid "MAP052_NPC_19"
+msgstr "Il n'y a ni horloge ni fenêtre ici... Ça fait combien de temps que je suis là? Bah, je peux quand même rejouer..."
+
+msgid "MAP052_NPC_2"
+msgstr "rC'est le coin loterie Pokémon. Je suis Felicitée, votre serveuse aujourd'hui. rSi le numéro pioché correspond au No. ID d'un de vos Pokémon, vous pourrez gagner des prix fabuleux! rVoulez-vous regarder le numéro gagnant d'aujourd'hui? rD'abord, laissez-moi regarder le numéro chance du coin loterie Pokémon. ... rVotre numéro de ticket de Loto est . rMaintenant, voyons voir s'il correspond à un No. ID d'un de vos Pokémon. rJe suis désolé, aucun de correspond... rRevenez nous voir bientôt! rFélicitations! rLe No. ID de votre correspond au numéro du ticket de Loto! rFélicitations! rLe No. ID de votre dans votre PC correspond au numéro du ticket de Loto! rOh ma parole, les cinq chiffres correspondent! rVous avez gagné le gros lot! rRevenez quand vous voulez! Moi, Félicitée, votre serveuse, vous souhaite une bonne journée! rVous n'avez plus de place dans votre inventaire. Faites de la place et revenez me voir. rLes quatre derniers chiffres correspondent, vous gagnez donc le premier prix! rRevenez quand vous voulez! Moi, Félicitée, votre serveuse, vous souhaite une bonne journée! rVous n'avez plus de place dans votre inventaire. Faites de la place et revenez me voir. rLes trois derniers chiffres correspondent, vous gagnez donc le second prix! rRevenez quand vous voulez! Moi, Félicitée, votre serveuse, vous souhaite une bonne journée! rVous n'avez plus de place dans votre inventaire. Faites de la place et revenez me voir. rLes deux derniers chiffres correspondent, vous gagnez donc le troisième prix! rRevenez quand vous voulez! Moi, Félicitée, votre serveuse, vous souhaite une bonne journée! rVous n'avez plus de place dans votre inventaire. Faites de la place et revenez me voir. rLe dernier chiffre correspond, vous gagnez donc le quatrième prix! rRevenez quand vous voulez! Moi, Félicitée, votre serveuse, vous souhaite une bonne journée! rVous n'avez plus de place dans votre inventaire. Faites de la place et revenez me voir. rOh, je vois.\nN'hésitez pas à revenir nous voir."
+
+msgid "MAP052_NPC_20"
+msgstr "Tourne, tourne, tourne!\nTourne, tourne, tourne! Gagne, gagne, gagne!"
+
+msgid "MAP052_NPC_21"
+msgstr "Pas de bêtises, hein? Vous êtes filmé."
+
+msgid "MAP052_NPC_22"
+msgstr "Ooh! J'ai gagné la masse aujourd'hui! J'vais acheter un Pokémon tout mignon!"
+
+msgid "MAP052_NPC_23"
+msgstr "cnbNous échangeons vos jetons contre des prix. CNbQuel prix voulez-vous? CNbDonc, vous voulez l'objet ? CNbDésolé, vous avez besoin de plus de jetons que ça. CNbVous n'avez pas de place dans votre sac."
+
+msgid "MAP052_NPC_3"
+msgstr "J'attends que mes amis aient fini de mettre leurs maillots de bain pour que nous allions à la plage! Sois sûr d'avoir mis plein de crème solaire. Tu peux vraiment avoir l'air bête avec un coup de soleil."
+
+msgid "MAP052_NPC_4"
+msgstr "Je suis proprio du penthouse au dernier étage. J'ai vue sur la ville entière. Chaque année, ma famille vient ici en vacances pour quelques semaines. Je n'en voudrais pas moins."
+
+msgid "MAP052_NPC_5"
+msgstr "La qualité du service est excellent, ici. Ils ont même un centre de toilettage spécial Pokémon! J'ai juste envie de rester ici et ne jamais repartir... Jusqu'à ce que mes poches soient vides en tout cas!"
+
+msgid "MAP052_NPC_6"
+msgstr "rBienvenue! rOh, vous n'avez pas de Boîte Jeton? Voilà. rVous pouvez échanger vos jetons contre de fabuleux prix en bas. rVous n'avez plus de place pour cela. Revenez quand ce sera le cas. rVous pouvez échanger vos jetons contre de fabuleux prix en bas."
+
+msgid "MAP052_NPC_7"
+msgstr "GCNbBienvenue au Casino de Vagune! GCNbAavez-vous besoin de jetons?\nVoulez-vous en acheter? GCNbVous n'avez pas ne Boîte Jeton. GCNbAavez-vous besoin de jetons?\nVoulez-vous en acheter? GCNbOups!\nVotre Boîte Jeton est pleine. GCNbVous ne pouvez pas vous payer des Jetons. GCNbMerci\nVoici vos jetons! GCNbOups!\nVotre Boîte Jeton est pleine. GCNbVous ne pouvez pas vous payer des Jetons. GCNbMerci\nVoici vos jetons! GCNbNon?\nRevenez jouer quand vous voulez!"
+
+msgid "MAP052_NPC_8"
+msgstr "cnbNous échangeons vos jetons contre des prix. CNbQuel prix voulez-vous? CNbDonc, vous voulez l'objet ? CNbDésolé, vous avez besoin de plus de jetons que ça. CNbVous n'avez pas de place dans votre sac."
+
+msgid "MAP052_NPC_9"
+msgstr "CNbNous échangeons vos jetons contre des prix. CNbQuel prix voulez-vous? CNbDonc, vous voulez l'objet ? CNbDésolé, vous avez besoin de plus de jetons que ça."
+
+msgid "MAP053_NPC_1"
+msgstr "Oh, tes Pokémon ont l'air tellement mignons! Tiens, donne leur ça. J'adore voir des Pokémon heureux avec leurs Dresseurs. Prends-en bien soin!"
+
+msgid "MAP053_NPC_2"
+msgstr "Brr! J'ai si froid!\nD'ailleurs, t'as un Pokémon qui connaît l'attaque rSurchauffe? Je suis sûr que ça réchaufferait l'endroit. Oh, merci! C'est beaucoup mieux!\nTiens, prends ça en remerciement. Brr... Aucun Pokémon ne semble connaître l'attaque... Brr... C'est dommage..."
+
+msgid "MAP053_NPC_3"
+msgstr "Ma femme est très généreuse envers les Dresseurs de passage. Vu comment l'Arène est difficile, ils ont besoin de toute l'aide qu'ils peuvent trouver!"
+
+msgid "MAP053_NPC_4"
+msgstr "J'adore Pelugel! C'est une vraie peluche!!!!! Les Fourrugons ont un pelage duveteux qui leur tient chaud. J'ai envie de leur faire un câlin, mais ils s'enfuient avant que je puisse m'en approcher!"
+
+msgid "MAP053_NPC_5"
+msgstr "Salut! Je suis un dentiste Pokémon! Oui, même les Pokémon ont besoin d'avoir les dents propres... D'autant plus que beaucoup d'attaques ont besoin d'une forte morsure! GSi tu veux, je peux apprendre ces attaques à tes Pokémon. Je ne demande qu'une rémunération modeste. C'est 5000$ par attaque. Quelle capacité veux-tu faire apprendre à ton Pokémon? GVoilà! Ce sera 5000$. Tu voudrais que j'apprenne une attaque à un autre Pokémon? C'est bon alors. Prends un peu de dentifrice et une brosse à dent. Tu veux un ballon aussi? GVoilà! Ce sera 5000$. Tu voudrais que j'apprenne une attaque à un autre Pokémon? C'est bon alors. Prends un peu de dentifrice et une brosse à dent. Tu veux un ballon aussi? GVoilà! Ce sera 5000$. Tu voudrais que j'apprenne une attaque à un autre Pokémon? C'est bon alors. Prends un peu de dentifrice et une brosse à dent. Tu veux un ballon aussi? GVoilà! Ce sera 5000$. Tu voudrais que j'apprenne une attaque à un autre Pokémon? C'est bon alors. Prends un peu de dentifrice et une brosse à dent. Tu veux un ballon aussi? GVoilà! Ce sera 5000$. Tu voudrais que j'apprenne une attaque à un autre Pokémon? C'est bon alors. Prends un peu de dentifrice et une brosse à dent. Tu veux un ballon aussi? GVoilà! Ce sera 5000$. GTu veux que j'apprenne une attaque à un autre Pokémon pour 5000$? C'est bon alors. Prends un peu de dentifrice et une brosse à dent. Tu veux un ballon aussi? C'est dommage... Brosse-toi les dents régulièrement! C'est dommage... Brosse-toi les dents régulièrement!"
+
+msgid "MAP053_NPC_6"
+msgstr "Mon boss regarde des dents de Pokémon toute la journée. Il a même mis sa tête dans la gueule d'un Hivernon! Les centres Pokémon vont soigner les coups et brûlures ou autres, mais les caries nécessitent un expert."
+
+msgid "MAP053_NPC_7"
+msgstr "Eh... toué, là.\nT'es un Dresseur pô vrai? Ça veut dire que t'vas t'fritter din l'Arène. Ptêt bin qu'tu voudrais du conseil. Pour te mesurer à l'Arène de Banqueneige, tu vas d'voir réussir quelqu'épreuves. Elles sont faites pour vouèr ta force en tant que Dresseur, pis ta sagesse pour faire eul'bon choix quand ça compte, Ton aptitude à t'adapter à différentes conditions, ta foué en tes Pokémon et leur foué en toué, et t'capacité à distinguer eul'vrai du faux. Si tu foires une seule épreuve, tu vas d'voir tout r'commencer depuis l'début. Garçon, laisse-moué t'dire, c'pô évident de s'relever lorsqu't'es au sol. Mais n'baisse pô les bras. C'comme ça qu'on gagne! Sache que seulement si tu réussis les épreuves et bats Vaeryn tu pourras voir la vraie puissance de tes Pokémon : La puissance des Méga Evolutions. Comment un p'tit vieux comme moué saurait tout ça? Bin, en vrai, j'étais un acolyte du Dragon aussi. Maint'nant le froid d'l'hiver sur la montagne m'use les os et la moindre brise pourrait m'scier en deux. Donc j'reste ici près d'eul'feu, à donner des conseils aux Dresseurs. Pour te r'mercier d'm'avoir écouté, j'veux qu'tu prennes ça. ...Eh? Tu demandes c'que c'est, cette pierre?\nBin, tu n'peux pas l'utiliser maint'nant, mais lorsque tu\nréussiras les épreuves, tu s'ras capable de l'utiliser pour déclencher une Méga Evolution sur un Pokémon. Bonne chance... T'en auras b'soin! Je comprends... T'as pô l'temps pour écouter les histoires d'un vieux fou."
+
+msgid "MAP054_NPC_1"
+msgstr "J'y crois pas! On vit près de la plage et tout ce que mes enfants veulent faire c'est rester à l'intérieur! Qu'ils jouent aux jeux vidéos ou qu'ils lisent, ils ne veulent jamais sortir jouer!"
+
+msgid "MAP054_NPC_2"
+msgstr "Maman comprend pas pourquoi je n'aime pas le sable. Il est grossier, agressif, irrittant... Et il s'insiune partout!"
+
+msgid "MAP054_NPC_3"
+msgstr "Mon frère et moi préférons rester ici. On peut aussi vivre plein d'aventures à l'intérieur!"
+
+msgid "MAP058_NPC_1"
+msgstr "À quel étage veux-tu aller?"
+
+msgid "MAP060_NPC_1"
+msgstr "Hey... t'veux acheter un Pokémon? Tu veux l'quel? GbDonc tu veux l'Wattouat à ? CNbDéso, mais t'auras besoin de plus de cash. Ça sera . Nan? Okay, t'es dur en affaires, . GbDonc tu veux l'Phénincelle à ? CNbDéso, mais t'auras besoin de plus de cash. Ça sera . Nan? Okay, t'es dur en affaires, . GbDonc tu veux l'Magicarpe à ? CNbDéso, mais t'auras besoin de plus de cash. Ça sera . Nan? Okay, t'es dur en affaires, ."
+
+msgid "MAP060_NPC_10"
+msgstr "Le métro de Burole est toujours en construction. Tu ne peux pas encore l'utiliser."
+
+msgid "MAP060_NPC_11"
+msgstr "Bonjour! J'évalue l'amitié entre les Pokémon et leurs Dresseurs Puis-je évaluer votre Pokémon pour vous? Lequel dois-je évaluer? Peut-être la prochaine fois. Seriez-vous... d'une exigence excessive? J'ai l'impression que ne vous aime pas beaucoup... Oh... Ce n'est pas le grand amour entre vous et ... Je n'ai pas grand chose à dire... Votre relation avec est... normale. Vous et avez une certaine harmonie. Enfin, j'ai l'impression... Vous êtes en harmonie et est heureux d'être à vos côtés. Quelle belle harmonie! Vous êtes une bien douce personne. Je dirais même que est heureux comme un Luxor! Quelle exceptionnelle harmonie! Je ressens même un peu de jalousie! Peut-être la prochaine fois."
+
+msgid "MAP060_NPC_12"
+msgstr "Eh bien, un étranger! Bienvenue à Burole, une vraie ville! C'était une vieille ville minière - et la plus grande et génialissime des mines est maintenant notre Arène!"
+
+msgid "MAP060_NPC_13"
+msgstr "Depuis que j'ai inscrit mes enfants à cette école, j'ai la paix! Mes feuilletons passent aujourd'hui - je veux absolument savoir si le plan de Louis pour se déguiser en son frère jumeau Lewis marchera ou non!"
+
+msgid "MAP060_NPC_2"
+msgstr "Ici, tous les jours sont incroyables... C'est presque impossible de trouver un Pokémon nageant à la surface! La plupart sont au fond du lac."
+
+msgid "MAP060_NPC_3"
+msgstr "Tu viens probablement de Bourg Moki. Cet endroit est si nul... C'est sûrement pour ça que tu es fasciné par Burole. Je peux le voir dans tes yeux!"
+
+msgid "MAP060_NPC_4"
+msgstr "Tu te demandes peut-être, qu'est-ce-qu'un policier fait là à regarder des fleurs? En fait, cette ville est tellement paisible et parfaite que je n'ai rien à faire au travail!\n Et je suis quand même payé! L'Arène? Va tout droit et tu la trouveras!\n Ah, j'ai oublié de te préciser, elle est dans la grotte."
+
+msgid "MAP060_NPC_5"
+msgstr "Super! La saison de plantation des baies a commencé. Attends, pourquoi je te dis ça? En fait, cette ville est si paisible que je n'ai rien à faire!"
+
+msgid "MAP060_NPC_6"
+msgstr "Tu ne peux même pas t'imaginer à quel point ce lac est profond! Personne encore ne sait ce qu'il y a au fond. Tu vois ce nouveau bâtiment? C'est le métro de Tandor, ils viennent tout juste de le finir ici et à Néotech. \n C'est le meilleur moyen de voyager entre les villes maintenant."
+
+msgid "MAP060_NPC_7"
+msgstr "C'est moi qui surveille la station de métro aujourd'hui. C'est un peu plus intéressant que ce que fait mon collègue. J'espère que ces péquenauds de Néotech et de Kevlar ne reviendront pas à Burole! Ils sont tellement agaçants."
+
+msgid "MAP060_NPC_8"
+msgstr "Bienvenue à Burole! Je suis l'hôte de la ville. Oui, c'est un vrai boulot, je suis payé pour ça. Bien sûr, des fois c'est plutôt ennuyeux... Tu sais que tu es le premier à venir jusqu'ici cette semaine?"
+
+msgid "MAP060_NPC_9"
+msgstr "Psst... Tais-toi! Je suis en train de jouer au dernier jeu à la mode, Pokémon Argent. Je viens tout juste de capturer un Coxy. Mince! La Team Rocket a attaqué le puit Ramoloss! Fargas me fait une Noigrume Ball! Maintenant il me faut des médicaments pour Pharamp!"
+
+msgid "MAP060_SIGN_1"
+msgstr "Arène de Burole Champion : Davern\n\"Le Maître des Fouilles Caverneuses!\""
+
+msgid "MAP060_SIGN_2"
+msgstr "\"Burole, Ville des Grottes. Croyez-nous sur parole, n'allez pas à l'ouest.\""
+
+msgid "MAP060_SIGN_3"
+msgstr "\"Burole, Ville des Grottes. Croyez-nous sur parole, n'allez pas à l'ouest.\""
+
+msgid "MAP060_SIGN_4"
+msgstr "Institut des Jeunes Dresseurs."
+
+msgid "MAP062_SIGN_1"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP064_NPC_1"
+msgstr "Alors, tu pars enfin pour une aventure, hein?\nTu suis ainsi les pas de ton père. Ton père, Primo, est plutôt connu. Cet homme est un héros du quotidien!"
+
+msgid "MAP064_NPC_2"
+msgstr "Mon mari est un admirateur de longue date de votre père vous savez. Primo fait un bon travail comme Chef des Rangers de Tandor. \nIl protège les gens, les Pokémon et la nature."
+
+msgid "MAP064_NPC_3"
+msgstr "Tamu.. Tamu!"
+
+msgid "MAP065_NPC_1"
+msgstr "Hé, t'as entendu parler de ce nouveau\njeu vidéo? Il s'appelle \"Pokémon Version Rouge\". Pokémon Rouge me laisse explorer la région de Kanto, entraîner une équipe de Pokémon et devenir Maître Pokémon.... tout ça depuis chez moi!"
+
+msgid "MAP065_NPC_2"
+msgstr "J'ai acheté à mon fils ce nouveau jeu-vidéo auquel jouent tous les enfants en ce moment.\nMaintenant il ne lâche plus sa console une seconde! Junior ne fait plus ses devoirs, et sa chambre est un désastre. Oh là là, qu'est-ce que je vais faire de lui?"
+
+msgid "MAP066_NPC_1"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_10"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_11"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_12"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_13"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_14"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_15"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_16"
+msgstr "Salut petit! \nSi t'es ici pour affronter le Champion d'Arène,\ntu ferais mieux d'être bien préparé!\nDavern utilise une variété de \nPokémon qu'on retrouve dans les grottes.\nSois prê{t|te} à faire face aux types Roche, \nSol,et Poison!. Si t'as des Pokémon Eau ou Combat, ils devraient être très utiles. Tiens, prends ça! Bonne chance pour la suite! Je crois en toi!"
+
+msgid "MAP066_NPC_17"
+msgstr "PN enfonce la gemme Scintillante. On dirait un emplacement pour un objet. Une sorte de gemme peut-être?"
+
+msgid "MAP066_NPC_2"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_3"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_4"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_5"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_6"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_7"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_8"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_NPC_9"
+msgstr "Il y a quelque chose dans le sol... C'est une gemme scintillante!"
+
+msgid "MAP066_TRAINER_1"
+msgstr "Dans une grotte, les Pokémon Sauvages peuvent surgir de n'importe où! Fais attention!"
+
+msgid "MAP066_TRAINER_1_DEFEAT"
+msgstr "T'es vraiment fort."
+
+msgid "MAP066_TRAINER_2"
+msgstr "Je me suis renforcé en éclatant des rochers avec mes poings!"
+
+msgid "MAP066_TRAINER_2_DEFEAT"
+msgstr "On s'est fait démolir!"
+
+msgid "MAP066_TRAINER_3"
+msgstr "Je creuse des tunnels depuis des années!\nQu'as-tu accompli?"
+
+msgid "MAP066_TRAINER_3_DEFEAT"
+msgstr "Je vois la lumière au bout du tunnel..."
+
+msgid "MAP066_TRAINER_4"
+msgstr "Hé, Dresseur!\nJe suis sûr que tu le sais déjà\nMais je suis Davern, le Champion de Burole. J'élève des Pokémon qu'on trouve dans les grottes.\nLa plupart des gens les trouvent effrayants, mais depuis que je suis enfant, ils ont toujours été mes meilleurs amis. C'est pourquoi j'ai repris cette mine\nabandonnée et j'en ai fait une Arène.\nMes Pokémon se sont endurcis grâce à\nun entraînement dur et des combats!\nPourras-tu tenir contre notre force?\nMontre-moi que tu n'as pas peur! Bien joué, Gamin.\nCJe suis impressionné!\nJe peux jeter un coup d'oeil à la gemme que t'as trouvée? -clique-!\nEEEt ta-da! Voilà ton badge! PN a reçu le Badge Scintillant! Quand tu regarderas ce Badge, j'espère que tu te souviendras de tous les efforts que tu as fait pour le gagner. Tant qu'on y est, accepte aussi cette CT! Casse-brique est une capacité de type Combat\nque j'utilise pour creuser des tunnels.\nElle n'est pas seulement puissante elle permet également \nde casser les murs, comme Protection ou Mur-Lumière. Veille à bien t'en servir pendant ton voyage."
+
+msgid "MAP066_TRAINER_4_DEFEAT"
+msgstr "Voilà une victoire bien méritée. Tu es plus que digne du Badge Scintillant!"
+
+msgid "MAP067_NPC_1"
+msgstr "Mince! J'ai passé une commande pour des Super Balls la semaine dernière, et elles ne sont toujours pas arrivées! On en a vraiment besoin, les Dresseurs n'arrêtent pas de les demander. Qu'est-ce que ça doit être dur de vivre à Bourg Moki, sans boutique... On devrait peut-être s'étendre par là."
+
+msgid "MAP067_SIGN_1"
+msgstr "Super Potions, Hyper Potions, Rappels Max... attends, pourquoi ils n'en vendent aucun au comptoir?"
+
+msgid "MAP067_SIGN_2"
+msgstr "Super Potions, Hyper Potions, Rappels Max... attends, pourquoi ils n'en vendent aucun au comptoir?"
+
+msgid "MAP067_SIGN_3"
+msgstr "Il y a une affiche colorée : \"50% de réduction vendredi!\" Quel vendredi?"
+
+msgid "MAP068_NPC_1"
+msgstr "Hey, Dresseu{r|se}, t'as choisi quel starter? Joli choix! Le type Acier d'Pétalynx lui donne beaucoup de résistances,\nmais attention aux Flammèches de Fourmigni! Super cool! Les Flammèches de Raptorche démolissent les types Acier et Insecte, mais les attaques de type Eau lui infligeront des dégâts massifs! Bonne décision! Électrott est équilibré et fort contr' pas mal de types, mais attention à l'Ampleur des Glaizard."
+
+msgid "MAP068_NPC_2"
+msgstr "Si tu comptes aller à Néotech, ce serait sans doute une bonne idée d'acheter quelques Potions à la Boutique Pokémon. Elles pourraient bien te sauver la mise. Il y a une grotte sur la route de Néotech infestée de Pokémon puissants. Fais attention. Tu sais ce que j'ai entendu? Ne panique pas mais, apparemment, plus au nord, une maladie étrange se propage chez les Pokémon. Fais attention."
+
+msgid "MAP068_NPC_3"
+msgstr "On a construit un deuxième étage au Centre Pokémon, mais on ne sait pas quoi y mettre... Une minute, c'est là que se trouve le Réseau de Tandor!"
+
+msgid "MAP068_NPC_4"
+msgstr "J'espère que nos Centres Pokémon vous seront utiles au cours de votre voyage!"
+
+msgid "MAP068_TRAINER_1"
+msgstr "J'entraîne mes Tamulot spéciaux! Mais bien qu'ils aient de puissantes attaques, nous ne cessons de perdre!\nVeux-tu te battre? OK, allons-y! Infirmière! Pouvez-vous soigner mes Tamulot?\n...\nMerci! Maintenant ils sont prêts au combat! Oh, bon, je suppose que ce n'est pas grave."
+
+msgid "MAP068_TRAINER_1_DEFEAT"
+msgstr "Tu vois? Nous perdons sans arrêt!"
+
+msgid "MAP069_NPC_1"
+msgstr "Bonjour, bonjour!\nLe champion de cette Arène est Tiko! C'est un danseur dont les pas embrasés et les jupes tournoyantes seront gravés dans ta mémoire! ...Effectivement, il aime bien porter des jupes. Ça met en valeur ses mollets, n'est ce pas?"
+
+msgid "MAP069_TRAINER_1"
+msgstr "Tiko : Bonjour, pn!\nJe ne te remercierai jamais assez de m'avoir fait sortir d'Enfermillière. Notre situation aurait été bien plus douloureuse! Je regrette de ne pas avoir été à ma pleine puissance, mais désormais, je suis prêt à relever ton défi\n...Un combat c'est comme une danse. Tel un danseur qui se déplace au rythme de la musique, un Dresseur doit également être en symbiose avec ses Pokémon s. Tu as démontré une grande force contre Seikamater. Et maintenant, moi, maître danseur Tiko, vais mettre ton courage à rude épreuve! Un combat flamboyant! J'en ai encore des larmes aux yeux! Le voici, tu l'as bien mérité. PN a reçu le badge Salsa! Tiko : Mon badge Salsa te permettra d'utiliser la CS surf en dehors des combats. tes Pokémon seront également plus prestigieux! Tiens, prends aussi cette CT. Cette CT contient l'attaque Surchauffe! C'est une attaque Feu extrêmement puissante qui épuisera son utilisateur. Utilise la judicieusement!"
+
+msgid "MAP069_TRAINER_1_DEFEAT"
+msgstr "Merveilleux! Ces attaques sont tout simplement stupéfiantes!"
+
+msgid "MAP069_TRAINER_2"
+msgstr "Je n'ai jamais été un bon danseur, mais j'excelle en combat Pokémon!"
+
+msgid "MAP069_TRAINER_2_DEFEAT"
+msgstr "Torché!"
+
+msgid "MAP069_TRAINER_3"
+msgstr "Essaie de contrer mes attaques ardentes pour voir!"
+
+msgid "MAP069_TRAINER_3_DEFEAT"
+msgstr "Aïe, je me suis brûlé!"
+
+msgid "MAP069_TRAINER_4"
+msgstr "Si tu joues avec le feu, tu vas t'brûler!"
+
+msgid "MAP069_TRAINER_4_DEFEAT"
+msgstr "Ouïlle!"
+
+msgid "MAP069_TRAINER_5"
+msgstr "Vois si tu peux suivre mes pas de danse!"
+
+msgid "MAP069_TRAINER_5_DEFEAT"
+msgstr "J'ai glissé!"
+
+msgid "MAP070_SIGN_1"
+msgstr "Si vous lisez ça, remplissez un rapport d'erreur."
+
+msgid "MAP071_NPC_1"
+msgstr "Vous avez une soudaine vision d'un changement au Parc Venesi."
+
+msgid "MAP071_NPC_10"
+msgstr "La mémoire peut être morcelée dans les rêves, mais les souvenirs les plus faibles peuvent s'accrocher aux plus forts. Les souvenirs où l'on se sent à l'abri. Le réconfort d'un temps heureux. Les moments insouciants. L'inspiration. L'enfance. Ce qui fait de toi la personne que tu es."
+
+msgid "MAP071_NPC_2"
+msgstr "Pourquoi le Scorplane pique-t-il? Parce que c'est dans sa nature.\nIci dans le Monde des Rêves, la vraie nature des choses se révèle. Ça peut être une bonne ou une mauvaise chose."
+
+msgid "MAP071_NPC_3"
+msgstr "Des rêves fiévreux et brûlants me hantent. Il y a quelqu'un d'autre. . . Quelqu'un d'autre ici. . ."
+
+msgid "MAP071_NPC_4"
+msgstr "Bienvenue! Qu'est-ce que je vous sers? Je peux vous vendre une carte d'un Spatioport, pour le prix de deux souvenirs qui vous sont cher. Quoi? Vous n'êtes pas intéress{é|ée}?\nDommage. Je peux vous vendre un prince dans une bouteille au bas prix d'une technologie rare - auriez-vous l'un de ces \"stylos à bille\"? Non? Dommage."
+
+msgid "MAP071_NPC_5"
+msgstr "J'montais l'escalier pas à pas\nEt vu un homme qui n'y était pas Y'était pas non plus aujourd'hui\nJe prie, je prie qu'il soit parti..."
+
+msgid "MAP071_NPC_6"
+msgstr "J'montais l'escalier pas à pas\nEt vu un homme qui n'y était pas Y'était pas non plus aujourd'hui\nJe prie, je prie qu'il soit parti..."
+
+msgid "MAP071_NPC_7"
+msgstr "Son terrible regard embourbe ton chemin avec.\nC'est toujours difficile de naviguer dans l'obscurité des rêves si tu ne connais pas le chemin."
+
+msgid "MAP071_NPC_8"
+msgstr "T'es-tu déjà demandé d'où viennent tous les chants et les contes sur les rêves? C'est parce que le vaste Monde des Rêves s'étend sur tout l'univers, une porte derrière la pupille de chaque humain et chaque Pokémon. C'est facile de se perdre ici.\nLa plupart d'entre nous ont abandonné l'idée de revenir. Nous Le rejoindront bientôt."
+
+msgid "MAP071_NPC_9"
+msgstr "Quel rêve, hein? C'est le tien?"
+
+msgid "MAP071_SIGN_1"
+msgstr "Chaque lettre est claire, mais le message reste étrangement illisible."
+
+msgid "MAP071_SIGN_2"
+msgstr "\"Arène - Sud\nMaskanid - Nord-Est\""
+
+msgid "MAP071_SIGN_3"
+msgstr "Vous frappez, mais il n'y a pas de son."
+
+msgid "MAP071_SIGN_4"
+msgstr "Le bouton de la porte tente de vous mordre, mais vous bondissez en arrière."
+
+msgid "MAP071_SIGN_5"
+msgstr "Vous n'aimez pas le regard que la porte vous a lancé."
+
+msgid "MAP071_TRAINER_1"
+msgstr "iWaaa. . . héhéhéhé. . ./i Tu es all{é|ée} loin dans cette cité au préicipice du Songe!\nSa forme a été empruntée à un nouveau camarade de jeu. . . de la Rêveuse! Pourquoi envahir Son rêve? Rrrou... Elle est à moi.\nElle VEUT rester!\n iElle/i m'aime! Tout le monde m'aime! Tu ne voleras pas ma décoration! Tout le monde m'aime! Tu oses lever la main sur moi? Ha! Bien, bien. Reste un peu. Qu'importe!\nHeh? Les Gargryph ont décidé de vous laisser tranquille. Alors va-t-en!"
+
+msgid "MAP071_TRAINER_1_DEFEAT"
+msgstr "Tu oses lever la main sur moi? Ha! Bien, bien."
+
+msgid "MAP073_NPC_1"
+msgstr "Hé petit! Si tu es rentré, ça veut dire que t'as un vélo à faire réparer! ... On dirait que t'as un pneu de vélo avec toi! C'est exactement ce qu'il me fallait pour réparer ce vélo, donne-moi deux secondes! .... Et voilà pour toi! Un tout nouveau vélo gratuit! Pour te balader en vélo, tu n'as qu'à le sortir de ton sac. Oh, t'en as pas? \nHmm... \nJe n'ai plus beaucoup de clients ces temps-ci, vu que j'ai déjà vendu un vélo à tous les habitants de Kevlar...\nJe m'ennuie un peu en fait, si tu me ramènes un C[3]Pneu pour véloC[0] j'en serai ravi car je pourrait enfin réparer le vieux vélo qui traine et pourquoi pas te l'offrir."
+
+msgid "MAP073_NPC_2"
+msgstr "Maury : *snif*\nAs-tu retrouvé mon précieux? J'attendrai jusqu'à ce que tu le retrouves..."
+
+msgid "MAP073_NPC_3"
+msgstr "Bienvenue à l'épicerie de baie de Kevlar! Prends un échantillon gratuit des baies les plus délicieuses de Tandor. Tes Pokémon vont adorer!"
+
+msgid "MAP073_NPC_4"
+msgstr "Ma copine m'en veut, alors je lui achète des fleurs pour qu'elle me pardonne."
+
+msgid "MAP073_NPC_5"
+msgstr "On vient de déménager dans cette ville. Elle est modeste, mais accueillante. Je pense que c'est un bon endroit pour fonder une famille un jour."
+
+msgid "MAP073_NPC_6"
+msgstr "Elle veut déjà des gosses... Pourquoi ne pourrait-on pas se contenter d'élever des Pokémon à la place?"
+
+msgid "MAP074_TRAINER_1"
+msgstr "Salut, toi!\nT'es bien mignon...\net fort avec ça!\nTu veux te battre, mignonnet?"
+
+msgid "MAP074_TRAINER_1_DEFEAT"
+msgstr "Oh, pourquoi tu m'as battu?"
+
+msgid "MAP074_TRAINER_2"
+msgstr "As-tu entendu parler des mythes à propos des Pokémon Légendaires de cette région?"
+
+msgid "MAP074_TRAINER_2_DEFEAT"
+msgstr "Je pense que je n'avais aucune chance dès le départ."
+
+msgid "MAP074_TRAINER_3"
+msgstr "Notre stratégie de pointe t'électrifiera!"
+
+msgid "MAP074_TRAINER_3_DEFEAT"
+msgstr "Reviens combattre un de ces quatre. Ce n'est pas toujours mal de perdre..."
+
+msgid "MAP074_TRAINER_4"
+msgstr "Haha! J'ai dressé mon Pokémon avec des CT et des compétences compétitives! Tu ne gagneras jamais!"
+
+msgid "MAP074_TRAINER_4_DEFEAT"
+msgstr "Euh, quoi?"
+
+msgid "MAP074_TRAINER_5"
+msgstr "J'essaye une nouvelle composition pour mon équipe Pokémon. Tu veux m'aider? Vas-y à fond!"
+
+msgid "MAP074_TRAINER_5_DEFEAT"
+msgstr "Merci pour ce combat! Je sais quels sont mes points faibles maintenant."
+
+msgid "MAP074_TRAINER_6"
+msgstr "...Tu veux te battre?\nPourquoi pas..."
+
+msgid "MAP074_TRAINER_6_DEFEAT"
+msgstr "...T'as gagné."
+
+msgid "MAP074_TRAINER_7"
+msgstr "Si... Chaud...\nRafraîchissons-nous avec un combat bien frais!"
+
+msgid "MAP074_TRAINER_7_DEFEAT"
+msgstr "Pas vraiment rafraîchissant."
+
+msgid "MAP074_TRAINER_8"
+msgstr "Ouah! C'est brûlant ici!\nParfait pour un combat Pokémon ardent!"
+
+msgid "MAP074_TRAINER_8_DEFEAT"
+msgstr "J'en sue à grosses gouttes..."
+
+msgid "MAP074_TRAINER_9"
+msgstr "Le feu est mon élément! Je le vis et le respire! Dans cet environnement, tu n'as aucune chance!"
+
+msgid "MAP074_TRAINER_9_DEFEAT"
+msgstr "Crâmé!"
+
+msgid "MAP075_NPC_1"
+msgstr "...Hein? Qu'est-ce qu'un gosse comme toi fait dans le labo? Oh, je vois, t'es un Dresseur Pokémon. Tu fais des recherches pour un professeur quelconque, je suppose. Dis-moi, pour qui est-ce que tu travailles? ... Bamb'o, c'est ça? Ah, Ernest... J'aurais jamais cru qu'il s'en sorte en tant que théoricien, mais ce monde regorge de surprises. Tu sais, lui et moi allions à la même université, jusqu'à ce que quelqu'un propage à tort une rumeur, comme quoi je plagierais... Moi! Un génie comme moi, plagier le travail de quelqu'un? Ridicule! Je n'ai jamais rien tiré de cette fichue université, de toute façon. C'est la raison pour laquelle j'ai fondé ma propre entreprise de recherche privée. Avec un esprit brillant comme le mien, il ne fallait pas laisser pourrir le génie. Mais comme tu ES le protégé de Bamb'o, je ne vais pas t'empêcher de regarder nos équipements... Impressionnant, n'est-ce pas? Je suis sûr que je suis à des années-lumières de tout ce que tu peux avoir dans ton trou perdu. Simplement... Ne touche à rien. Je m'attends à ce que tu sois bientôt sur le départ."
+
+msgid "MAP075_NPC_2"
+msgstr "Pour transférer un Pokémon dans une nouvelle PokéBall, il faut le relâcher puis le recapturer. Ce n'est pas pratique. Si seulement il y avait une méthode pour capturer un Pokémon déjà dans une Ball..."
+
+msgid "MAP075_NPC_3"
+msgstr "Avec la technologie, on peut cloner un nouveau Pokémon juste avec un petit fragment d'ADN. Cette méthode peut servir pour redonner vie à des Pokémon éteints depuis des siècles."
+
+msgid "MAP075_NPC_4"
+msgstr "Un Dresseur de Bourg Moki, hein? Bamb'o devrait savoir qu'il ne faut pas mettre son nez dans les affaires des autres. Ne nous crée pas d'ennuis, gamin."
+
+msgid "MAP075_NPC_5"
+msgstr "Nous faisons des recherches sur des méthodes pour apprivoiser les Pokémon."
+
+msgid "MAP075_NPC_6"
+msgstr "C'est fermé de l'extérieur. Ça ne bouge pas, quelle que soit la manière dont vous essayez. Marmail : Marmi... (Il semble déçu...)"
+
+msgid "MAP075_NPC_7"
+msgstr "Vous avez repris votre Pokédex, Sac, et vos PokéBall! Hourra!"
+
+msgid "MAP075_NPC_8"
+msgstr "Vous avez repris votre Pokédex, Sac, et vos PokéBall! Hourra!"
+
+msgid "MAP075_SIGN_1"
+msgstr "C'est petit et crasseux. J'ai pas vraiment envie de m'en servir..."
+
+msgid "MAP075_SIGN_2"
+msgstr "L'eau est froide mais je n'essaierai pas d'en boire."
+
+msgid "MAP075_SIGN_3"
+msgstr "Comme la note l'indique, ça a l'air creux. Un coup d'épaule? Il y a un truc qui cloche avec ce mur..."
+
+msgid "MAP075_TRAINER_1"
+msgstr "Hé, toi! Qu'est-ce que tu fiches en dehors de ta cellule?! Et quelle est cette... chose que t'as avec toi?!"
+
+msgid "MAP075_TRAINER_1_DEFEAT"
+msgstr "Tcheu!"
+
+msgid "MAP075_TRAINER_2"
+msgstr "C'est quoi ce délire? C'est ce gamin! Et ce Pokémon! Comment sont-ils sortis? Comment se fait-il que ce Pokémon soit si fort??"
+
+msgid "MAP075_TRAINER_2_DEFEAT"
+msgstr "Crotteuh..."
+
+msgid "MAP076_NPC_1"
+msgstr "Hé! Reste à distance de la Grotte Comète,\nles Pokémon s'y trouvant attaquent en groupe...\nC'est très dangereux d'y aller seul."
+
+msgid "MAP076_NPC_2"
+msgstr "C'est gênant... Ces rochers bloquent le passage vers la forêt. Je dois pourtant y aller..."
+
+msgid "MAP076_NPC_3"
+msgstr "Oh, comme j'adore naviguer! Depuis Tandor Ouest jusqu'à l'Est et dans l'autre sens! L'océan est mon unique amour."
+
+msgid "MAP076_NPC_4"
+msgstr "les Pokémon sont particulièrement vindicatifs dans cette caverne! Ils attaquent les Dresseurs à plusieurs! Pour votre sécurité, nous ne vous laisserons pas passer."
+
+msgid "MAP076_SIGN_1"
+msgstr "- Forêt de Baykal, Grotte Comète droit devant."
+
+msgid "MAP076_SIGN_2"
+msgstr "Entrée de la Grotte Comète."
+
+msgid "MAP076_SIGN_3"
+msgstr "FORÊT TROPICALE DE BAYKAL\nSud : BUROLE Nord : FEUILLIS"
+
+msgid "MAP076_TRAINER_1"
+msgstr "Hélà, j'en ai marre de courir, faisons un duel!"
+
+msgid "MAP076_TRAINER_1_DEFEAT"
+msgstr "C'est pas juste, je suis fatigué..."
+
+msgid "MAP076_TRAINER_2"
+msgstr "Je ne te laisserai pas polluer la forêt de Baykal!"
+
+msgid "MAP076_TRAINER_2_DEFEAT"
+msgstr "La forêt m'a donné le vertige, c'est pour ça que j'ai perdu!"
+
+msgid "MAP076_TRAINER_3"
+msgstr "Tss... J'adore me cacher dans ces hautes herbes!"
+
+msgid "MAP076_TRAINER_3_DEFEAT"
+msgstr "Oh non, je dois retourner voir maman maintenant.."
+
+msgid "MAP076_TRAINER_4"
+msgstr "J'ai pêché dans tout Tandor, mais ce pont-là? C'est le meilleur spot de pêche de la région!"
+
+msgid "MAP076_TRAINER_4_DEFEAT"
+msgstr "Zut, alors."
+
+msgid "MAP076_TRAINER_5"
+msgstr "Je suis un comédien en devenir! J'ai une bonne vanne sur les ponts : comment t'appelles un pont qui s'est suicidé? Un pont suspendu!"
+
+msgid "MAP076_TRAINER_5_DEFEAT"
+msgstr "...C'était la vanne de trop?"
+
+msgid "MAP076_TRAINER_6"
+msgstr "Les shorts sont super confortables! Tu devrais essayer un de ces jours."
+
+msgid "MAP076_TRAINER_6_DEFEAT"
+msgstr "Je dois retourner à Burole pour acheter plus de shorts..."
+
+msgid "MAP076_TRAINER_7"
+msgstr "C'est toujours bon de s'entraîner de bon matin... Bien, il est temps de voir si ça m'a été utile!"
+
+msgid "MAP076_TRAINER_7_DEFEAT"
+msgstr "Nan, l'entraînement ne marche pas..."
+
+msgid "MAP076_TRAINER_8"
+msgstr "C'est un endroit parfait pour se battre."
+
+msgid "MAP076_TRAINER_8_DEFEAT"
+msgstr "Ahh... T'as pourri ma balade..."
+
+msgid "MAP078_NPC_1"
+msgstr "Ce Champion d'Arène... Il est réputé être un champion en dissmulation et déguisement. J'imagine que ça marche, puisque j'ai aucune idée de qui ça peut bien être! L'Arène de Venesi est le dernier badge nécessaire pour accéder à la Ligue de Tandor."
+
+msgid "MAP078_NPC_2"
+msgstr "Une Arène dans un opéra, hein... C'est difficle d'avancer sur ce sol glissant! Tu ne peux pas faire confiance à tes yeux dans l'Arène de Venesi. C'est une vraie maison piégée."
+
+msgid "MAP078_NPC_3"
+msgstr "Je suis vraiment alarmé par les fusions de réacteurs qui ont eu lieu dans tout Tandor. Tu as entendu qu'ils évacuaient Vinoville? Deux centrales défaillantes au même moment... Aucune chance que ce ne soit qu'une coïncidence."
+
+msgid "MAP079_NPC_1"
+msgstr "Je fait le stock d'objets avant mes vacances à Venesi! Tours en gondole, théâtre.. cette ville a de tout."
+
+msgid "MAP080_TRAINER_1"
+msgstr "Cette grotte est connue sous le nom de \"Labyrinthe\". Voyons-voir si tu peux t'en sortir..."
+
+msgid "MAP080_TRAINER_1_DEFEAT"
+msgstr "Toujours à droite!"
+
+msgid "MAP080_TRAINER_2"
+msgstr "Moi et mes Pokémon cognons des rochers pour l'entraînement!"
+
+msgid "MAP080_TRAINER_2_DEFEAT"
+msgstr "De retour au sac de frappe!"
+
+msgid "MAP080_TRAINER_3"
+msgstr "Cette caverne est sombre! Heureusement que j'ai des lunettes de vision nocturne!"
+
+msgid "MAP080_TRAINER_3_DEFEAT"
+msgstr "Les lunettes! Elles ne servent à rien!!"
+
+msgid "MAP080_TRAINER_4"
+msgstr "Je m'entraîne pour battre Rosalind! Baston!"
+
+msgid "MAP080_TRAINER_4_DEFEAT"
+msgstr "Mais j'suis pas encore prêt!"
+
+msgid "MAP080_TRAINER_5"
+msgstr "Attention! Zone dangereuse!"
+
+msgid "MAP080_TRAINER_5_DEFEAT"
+msgstr "Tu verras!"
+
+msgid "MAP081_NPC_1"
+msgstr "Je vois que t'es fort, gamin! T'as même un badge! Tiens, prends ça et fais-en bon usage. PN a reçu la VIEILLE CANNE! Hé, j'suis un pêcheur. Ces mares près de ma maison sont pleines de Pokémon différents. Si tu me montres ta force, je te donnerais peut-être ma vieille canne à pêche. Mais d'abord il faut que tu battes Maria, la Championne de l'Arène de Néotech."
+
+msgid "MAP081_NPC_2"
+msgstr "Mon frère est un grand pêcheur. Il adore \nles Pokémon eau. C'est bon de vivre entre Kevlar et Bourg Moki."
+
+msgid "MAP081_SIGN_1"
+msgstr "Un écriteau indique : \"Vieille Canne : n'est pas réservée qu'aux Magicarpes! (quoique presque toujours la plupart du temps)\""
+
+msgid "MAP082_NPC_1"
+msgstr "Il faut du cran pour tous les attraper! ...Et des Poké Balls, aussi!"
+
+msgid "MAP082_NPC_2"
+msgstr "Holà, Dresseur. Prépare-toi bien si tu veux traverser la Route 16 pour aller à Banqueneige. Pour attraper les puissants Pokémon de la Route 16, les simples Poké Balls ne suffisent pas. T'auras besoin d'Hyper Balls."
+
+msgid "MAP082_NPC_3"
+msgstr "J'espère que ce magasin vend des écharpes et des manteaux. J'ai froid! Quoi, ils ne vendent que des objets Pokémon ici? Ohh, je voulais acheter des vêtements d'hiver."
+
+msgid "MAP083_TRAINER_1"
+msgstr "Elle arrive! Elle arrive!"
+
+msgid "MAP083_TRAINER_1_DEFEAT"
+msgstr "Aaaaaarrrggh! Elle vient me chercheeerrr!"
+
+msgid "MAP083_TRAINER_2"
+msgstr "Yiiiiiii! Un intrus!"
+
+msgid "MAP083_TRAINER_2_DEFEAT"
+msgstr "Aiyiyiyiyi!!!"
+
+msgid "MAP083_TRAINER_3"
+msgstr "Trop... Faim..."
+
+msgid "MAP083_TRAINER_3_DEFEAT"
+msgstr "Aaaahh!"
+
+msgid "MAP083_TRAINER_4"
+msgstr "...Toi!\nDégage!"
+
+msgid "MAP083_TRAINER_4_DEFEAT"
+msgstr "Non...!"
+
+msgid "MAP083_TRAINER_5"
+msgstr "Je dois me battre pour Mère!"
+
+msgid "MAP083_TRAINER_5_DEFEAT"
+msgstr "Mère, pardonne-moi!"
+
+msgid "MAP084_NPC_1"
+msgstr "Tui tui,\nje vois les yeux et ils voient ma vie. Tui tuou,\nles yeux te voient, tu seras bientôt comme nous."
+
+msgid "MAP084_SIGN_1"
+msgstr "C'est un gros blob. Vous arrivez à peine à le secouer."
+
+msgid "MAP084_SIGN_2"
+msgstr "C'est un gros blob. Vous arrivez à peine à le secouer."
+
+msgid "MAP084_SIGN_3"
+msgstr "C'est un gros blob. Vous arrivez à peine à le secouer."
+
+msgid "MAP084_SIGN_4"
+msgstr "Vos doigts s'enfoncent dans la masse gluante. Qu'est-ce qui vous a pris de toucher ça? Sérieusement. Rêve ou pas, à quoi vous attendiez-vous?"
+
+msgid "MAP084_SIGN_5"
+msgstr "Vos doigts s'enfoncent dans la masse gluante. Qu'est-ce qui vous a pris de toucher ça? Sérieusement. Rêve ou pas, à quoi vous attendiez-vous?"
+
+msgid "MAP084_SIGN_6"
+msgstr "\"Cucurigu! Bate frigu!\" Vous ne comprenez rien au charabia du Maskesté."
+
+msgid "MAP085_NPC_1"
+msgstr "Ouaiiss! Pokémon Bleu! Meilleur jeu au monde! Je viens juste de battre les méchants à la Zone de Jeu! Si les méchants comme la Team Rocket existaient vraiment, ils n'auraient aucune chance contre moi!"
+
+msgid "MAP085_NPC_2"
+msgstr "Honnêtement, j'ai un peu peur de ces machins de jeux vidéos. Junior reste toujours éveillé tard pour jouer à son jeu... Mais vu qu'il fait toujours ses devoirs, j'peux pas me plaindre je crois."
+
+msgid "MAP086_NPC_1"
+msgstr "Quand l'hiver arrive j'aime me remplir la panse. L'excès de gras me tient chaud et alerte! Mes vacances préférées sont... Celles où j'peux manger le plus!"
+
+msgid "MAP086_NPC_2"
+msgstr "Maman dit que je ne devrais pas acheter plus que ce dont j'ai besoin. Mais j'ai BESOIN de 20 Poké Poupées!!!! J'ai chipé la carte bancaire de Maman quand elle avait les yeux tournés. J'vais m'acheter TELLEMENT DE TRUCS."
+
+msgid "MAP087_SIGN_1"
+msgstr "Île Maskara\nEst de Venesi"
+
+msgid "MAP087_SIGN_2"
+msgstr "Super Tente d'Entraînement. Tuteur : Tarou"
+
+msgid "MAP087_TRAINER_1"
+msgstr "Nager est une super manière de se muscler!"
+
+msgid "MAP087_TRAINER_1_DEFEAT"
+msgstr "Aïe, un claquage!"
+
+msgid "MAP087_TRAINER_2"
+msgstr "Ces eaux sont dangereuses!"
+
+msgid "MAP087_TRAINER_2_DEFEAT"
+msgstr "Ouch! Quelque chose m'a mordu le pied!"
+
+msgid "MAP087_TRAINER_3"
+msgstr "Es-tu prê{t|te} à traverser la mer sur plusieurs milles?"
+
+msgid "MAP087_TRAINER_3_DEFEAT"
+msgstr "Cette eau est glacée."
+
+msgid "MAP087_TRAINER_4"
+msgstr "Kawabounga! Surf à fond, mec!"
+
+msgid "MAP087_TRAINER_4_DEFEAT"
+msgstr "Anéanti!"
+
+msgid "MAP087_TRAINER_5"
+msgstr "Ils disent qu'il y a plein de poissons dans la mer, mais j'ai l'impression de ne jamais en attraper!"
+
+msgid "MAP087_TRAINER_5_DEFEAT"
+msgstr "Flûte, encore un qui s'échappe!"
+
+msgid "MAP087_TRAINER_6"
+msgstr "L'océan est tellement chaud et salé, c'est agréable!"
+
+msgid "MAP087_TRAINER_6_DEFEAT"
+msgstr "Glouglouglou!"
+
+msgid "MAP087_TRAINER_7"
+msgstr "??? : YAAAAHH! Genin : Tu as fait une grave erreur! Juunin : Maintenant notre clan t'encercle! Chuunin : Notre boss va te couler! Ronin : Boss Hokage est imbattable! Hokage: ... Bien, bien... C'est donc cet effronté de gaijin qui surf dans notre zone. Chuunin : Explose-le, boss! Hokage : Ne m'interrompts pas. Donc donc... T'es un Dresseur Pokémon puissant. Mais arrivé ici, tes Pokémon sont faibles et fatigués. Les miens sont forts. Rapides. Agiles. Nous régnons sur cette partie de la mer. Pour l'honneur de mon clan, nous te puniront! Hokage : Non... C'est pas possible...\nLes prophéties seraient donc vraies?! Cette personne qui est plus puissante que moi...? Mon honneur de ninja me commande... Je dois \nm'agenouiller devant ta majesté. Ronin: Boss! Hokage : Cela fait de toi... l'Hokage. Ces eaux sont tiennes. Je dois m'en aller... Chuunin : ... Juunin : ... Ronin : ... Genin : Donc je pense que t'es notre boss maintenant. Juunin : Gloire éternelle au nouveau Hokage! Chuunin : Gloire au clan ninja! Ronin : Allons, Ninjas! All : YIAAAAAAAH!"
+
+msgid "MAP087_TRAINER_7_DEFEAT"
+msgstr "Hokage : Erk...!"
+
+msgid "MAP087_TRAINER_8"
+msgstr "??? : YAAAAHH! ??? : C'est toi qui a déshonoré nos frères! ??? : Personne ne peut battre notre clan au combat! ??? : Prépare-toi à être puni! Chuunin : Cette injustice ne saurait rester impunie! Genin : On doit le dire au Boss! Chuunin : Oui, le Boss va donner une leçon à ce gaijin! Genin : Tu vas regretter de t'être frotté à nous!"
+
+msgid "MAP087_TRAINER_8_DEFEAT"
+msgstr "Chuunin : Ce gaijin est fort!"
+
+msgid "MAP089_SIGN_1"
+msgstr "Il y a une histoire écrite sur l'ordinateur...\n\"Le Dresseur Pokémon le plus cool du monde\"\nPar Théo Caine, 11 ans Ça semble mal écrit...\nLe lire? \"Le Plus Meilleur Dresseur Pokémon était le Champion de Kanto Johto et Tandor. Il n'a jamais perdu une seule fois. ses Pokémon étaient forts et puissants. Ils étaient tellement forts qu'ils ont eu une nouvelle évolution appelée SuperMegaEvolution. Tout le monde pensait qu'il était cool même son meilleur ami PN.\nIl s'appelait......\ndonc............\nThéo!!!!\" Mieux vaut ne pas fouiner."
+
+msgid "MAP089_SIGN_2"
+msgstr "Il y a un dessin animé à la télé.\nIl y a des Pokémon habillés qui parlent comme des humains. ...OK, faut y aller!"
+
+msgid "MAP089_SIGN_3"
+msgstr "On dirait que Théo n'a qu'une Wii, pas une Wii U.\nÇa explique pourquoi il a toujours eu envie de jouer sur la votre."
+
+msgid "MAP090_NPC_1"
+msgstr "Je travaille pour le Champion, Davern. Mes Pokémon et moi creusons constamment les cavernes environnantes, en les convertissant en chemins et zones habitables. L'excavation est un travail dangereux. Heureusement, mes Pokémon peuvent ressentir un éboulement avant moi, donc on peut évacuer à temps."
+
+msgid "MAP090_NPC_2"
+msgstr "Davern aime les grottes ; il paraît qu'il a grandi dans l'une d'elles. Il a donc construit son Arène dans une grotte et utilise les Pokémon des grottes au combat."
+
+msgid "MAP091_NPC_1"
+msgstr "Je connais certaines personnes qui veulent entraîner seulement des Pokémon de Kanto, Johto, ou d'autres régions. Pourquoi? Ceux de Tandor ne sont pas assez bon? Ne me lance pas sur ce débat à propos du rejet des Pokémon de Sinnoh... C'est presque raciste, je te ferais dire!"
+
+msgid "MAP091_NPC_2"
+msgstr "Total soins? Mais ils sont toujours trop précieux pour les utiliser en temps normal. Alors au final je ne les utilise jamais... Poké Balls... Potions... Antidotes... De quoi d'autre un Dresseur aurait-il besoin?"
+
+msgid "MAP092_NPC_1"
+msgstr "...Hmm? Tu dis que ton père est un Ranger?\nBien, remercie-le de ma part. Les Rangers de Tandor travaillent sans relâche pour protéger l'environnement et les citoyens de la région."
+
+msgid "MAP092_NPC_2"
+msgstr "T'es un Dresseur, non?\nTu me rappelles mon fils. Il est Dresseur, lui aussi. Sois sûr de ne jamais oublier d'où tu viens, où que tu sois et aussi loin sois-tu."
+
+msgid "MAP092_NPC_3"
+msgstr "Chouetton! Chou!"
+
+msgid "MAP093_NPC_1"
+msgstr "Blam! Badaboum! Quand je serai grand, j'veux devenir un super-héros! Un vrai héros redresse toujours la situation, au dernier moment!"
+
+msgid "MAP093_NPC_2"
+msgstr "Notre Canilune garde la maison avec ferveur chaque nuit.\nLes nuits de pleine lune, par contre, il n'arrête pas d'aboyer! Mon fils est obsédé par les comics et les films de super-héros. C'est toujours une bonne chose d'avoir un héros à admirer."
+
+msgid "MAP093_NPC_3"
+msgstr "Cani! Cani!"
+
+msgid "MAP093_SIGN_1"
+msgstr "Un combat Pokémon est diffusé à la télé.\nDeux impressionnants Dresseurs se font face dans l'Arène."
+
+msgid "MAP093_SIGN_2"
+msgstr "Un combat Pokémon est diffusé à la télé.\nDeux impressionnants Dresseurs se font face dans l'Arène."
+
+msgid "MAP094_NPC_1"
+msgstr "Je rêve d'avoir un Venouille... Je pourrais échanger mon Moutoir contre un Venouille. Tu en as un? Prends soin de lui! Youpi! J'ai un super Venouille maintenant!"
+
+msgid "MAP094_NPC_10"
+msgstr "C'est agaçant... Ces rochers me bloquent le chemin jusqu'à la forêt, j'ai besoin d'y aller..."
+
+msgid "MAP094_NPC_2"
+msgstr "Je me demande quel genre de Pokémon vit dans cette mare... Juste des Magicarpe, probablement... Le Professeur Bamb'o a un labo dans cette maison sur la falaise. Je me demande pourquoi il a choisi de vivre à Bourg Moki..."
+
+msgid "MAP094_NPC_3"
+msgstr "Bourg Moki est si sympa et paisible, tout le monde s'y connaît. Je préfère largement vivre ici que dans une grande ville. Tu sais que ma fille est devenue dresseuse? Elle entraîne son TAMULOT sur la Route 01. Salue-la en passant si tu la vois. Belle journée n'est-ce pas? Ça semble toujours le cas par ici."
+
+msgid "MAP094_NPC_4"
+msgstr "Fufufu! Le Champion n'est pas encore arrivé! Elle est toujours chez elle! Fufufu!"
+
+msgid "MAP094_NPC_5"
+msgstr "On inaugure le métro de Néotech aujourd'hui!"
+
+msgid "MAP094_NPC_6"
+msgstr "J'aurais aimé avoir un ticket pour aujourd'hui..."
+
+msgid "MAP094_NPC_7"
+msgstr "J'ai acheté un billet pour le premier voyage souterrain de tout Tandor!"
+
+msgid "MAP094_NPC_8"
+msgstr "Machoc..."
+
+msgid "MAP094_NPC_9"
+msgstr "Oh la belle mer de Tandor... Je passe ma vie à naviguer à travers les îles Tandor. C'est ce que j'aime. Je devrais retourner à XXX pour reprendre le travail."
+
+msgid "MAP094_SIGN_1"
+msgstr "Station de Métro de Néotech."
+
+msgid "MAP094_TRAINER_1"
+msgstr "Holà, j'en ai marre de courir, faisons un combat!"
+
+msgid "MAP094_TRAINER_1_DEFEAT"
+msgstr "C'était pas juste, j'suis crevé..."
+
+msgid "MAP094_TRAINER_2"
+msgstr "Les shorts sont vraiment confortables! Tu devrais essayer d'en porter un de ces jours."
+
+msgid "MAP094_TRAINER_2_DEFEAT"
+msgstr "Il faut que je retourne à Burole pour acheter plus de shorts..."
+
+msgid "MAP094_TRAINER_3"
+msgstr "C'est toujours une bonne chose de s'entraîner de bon matin... Il est temps de voir si ça a été utile!"
+
+msgid "MAP094_TRAINER_3_DEFEAT"
+msgstr "Nan, l'entraînement ne sert à rien..."
+
+msgid "MAP094_TRAINER_4"
+msgstr "Voilà un endroit parfait pour se battre."
+
+msgid "MAP094_TRAINER_4_DEFEAT"
+msgstr "Ahh... T'as ruiné ma balade..."
+
+msgid "MAP097_NPC_1"
+msgstr "Eh bien, tu as l'air d'un brillant jeune Dresseur. Je me prétends expert en mythes et légendes de Tandor. Veux-tu entendre parler du Pokémon légendaire de Tandor? Ah, Baitatao! Celui-là est connu. Baitatao est \ncensé être un Pokémon serpent géant qui vit au fond d'une rivière à Tandor Est, bien qu'il y ait des traces de son voyage à Tandor Ouest. On pense qu'il est un Pokémon du type Feu et Eau. La chaleur émise par ses écailles donne vie à la rivière et illumine les eaux la nuit. Toutefois, il y a des rumeurs disant que des bateaux disparaîtraient la nuit lorsqu'il a faim... Tu veux écouter une autre histoire? Lanthan et Actan! Jumeaux et rares Pokémon Métal. La légende raconte qu'ils ont un millénaire chacun. Elle dit aussi qu'ils sont sortis de la croûte terrestre et appris aux humains à se servir du métal. Un autre d'entre eux est réputé vivre à Sinnoh, connu sous le nom de Heatran. Aujourd'hui, on dit qu'ils rôdent dans les volcans de Tandor. C'est de là que le mont Actinite tient son nom. Tu veux écouter une autre histoire? ... J'ai jamais entendu parler d'un tel Pokémon... Tu veux écouter une autre histoire?"
+
+msgid "MAP097_NPC_10"
+msgstr "Ils disent que le Champion est aussi une star au Théâtre! Par contre je ne sais pas laquelle..."
+
+msgid "MAP097_NPC_11"
+msgstr "Ils disaient qu'une femme jouant dans l'Opéra c'était \"indécent\"... Quelle injustice!"
+
+msgid "MAP097_NPC_12"
+msgstr "Oh, tu as l'air d'un gentil Dresseur. J'ai trouvé cet Evoli dans la rue, mais une vieille femme comme moi ne peut pas s'en occuper. Peux-tu lui donner un foyer? Tu es une âme bien généreuse. Quel dommage..."
+
+msgid "MAP097_NPC_13"
+msgstr "Evoli est un Pokémon plein de potentiel. Il peut évoluer en sept... Non, huit... Peut-être même neuf formes différentes?"
+
+msgid "MAP097_NPC_14"
+msgstr "Tiens, Dresseur, prends ça! Fais progresser ton Evoli en lui faisant tenir un de ces objets et il évoluera!"
+
+msgid "MAP097_NPC_15"
+msgstr "Pierres! J'ai tellement de pierres! Admirez mes pierres! Je partagerai mes pierres avec toi si tu peux résoudre ma devinette! Eau, Foudre, Feu, Ténèbres, Lumière, Froid, Tiède, Amour, Et un autre. Qui suis-je? Oui!\nTrès bien! Evoli est un Pokémon qui peut bien se servir des pierres. Reviens si tu veux entendre une autre devinette. Non...\nC'est pas à ça que je pensais. Pas de pierres pour toi!"
+
+msgid "MAP097_NPC_16"
+msgstr "Je donnerais tout pour voir les\nyeux de ma fille s'ouvrir à nouveau."
+
+msgid "MAP097_NPC_17"
+msgstr "Nikki! Ma chérie, tu m'entends?... Ça ne sert à rien... Elle ne se réveille pas, même quand la secoue... Parfois, elle se retourne, gesticule et parle en dormant. Je pense qu'elle rêve... Si seulement il y avait un moyen d'aller dans son rêve et trouver pourquoi elle ne se réveille pas."
+
+msgid "MAP097_NPC_18"
+msgstr "... Hmm...\n... Qui suis-je, déjà?\n...Ah oui. Je suis l'Effaceur de Capacités. Si ton Pokémon a besoin de... euh... Oublier une attaque, n'hésite pas. Je le fais gratuitement. Oh... mm... OK. \nQuel Pokémon doit... euh... Oublier une attaque? Reviens si tu veux qu'un Pokémon oublie... une... attaque. Comment? Les oeufs ne devraient pas connaître de capacités. Comment? Je ne peux pas faire oublier une attaque à un Pokémon Obscur. a l'air de connaître juste une attaque... Quelle capacité doit être oubliée? Hmm! la capacité de ? Cette capacité doit être oubliée? La capacité a été parfaitement oubliée! a totalement oublié . On parlait de quoi, déjà? On parlait de quoi, déjà?"
+
+msgid "MAP097_NPC_19"
+msgstr "Je suis le Maniaque des Capacités Pokémon. Je connais chaque capacité que les Pokémon apprennent en grandissant. Je suis aussi un grand collectionneur d'écaillecoeurs. Si tu m'en ramènes une, j'apprendrai une capacité à un de tes Pokémon . Laisse-moi deviner, tu veux que j'apprenne une capacité à un de tes Pokémon? Quel Pokémon a besoin d'apprendre une attaque? Si ton Pokémon a besoin d'apprendre une attaque, reviens ici quand tu veux. Heiin? Je ne peux rien apprendre à un oeuf. Jamais de la vie, je ne veux pas avoir affaire à un Pokémon Obscur.. Désolé... On dirait que je ne peux plus rien apprendre à ton . Quelle attaque dois-je apprendre à ton ? Si ton Pokémon a besoin d'apprendre une attaque, reviens ici quand tu veux Si ton Pokémon a besoin d'apprendre une attaque, reviens ici quand tu veux Si ton Pokémon a besoin d'apprendre une attaque, reviens ici quand tu veux Si ton Pokémon a besoin d'apprendre une capacité, reviens avec une écaillecoeur."
+
+msgid "MAP097_NPC_2"
+msgstr "Quel est ton type de Pokémon préféré? Moi j'adore les Fées!"
+
+msgid "MAP097_NPC_20"
+msgstr "Salut! Je suis le Maître Capacité! Tu as encore ton Métalynx, Caldéraptor, ou Cavalux? Si oui , je peux lui apprendre une super attaque gratos. Tu veux que j'apprenne à un autre Pokémon une attaque spéciale? Tu veux que j'apprenne à un autre Pokémon une attaque spéciale? Tu veux que j'apprenne à un autre Pokémon une attaque spéciale? Reviens quand tu veux!"
+
+msgid "MAP097_NPC_21"
+msgstr "Voulez-vous une boisson? ...Attendez une minute, vous avez l'air trop jeune pour boire."
+
+msgid "MAP097_NPC_22"
+msgstr "Je l'ai vu! Pourquoi personne ne me croit? ...Ecoute, gamin. T'as l'air du genre à croire aux histoires folles. Donc j'marchais sur le port hier soir et j'vais être honnête avec toi, j'avais déjà pas mal bu. Quand soudain, du coin de l'oeil, j'ai vu un truc bouger. J'l'ai entendu grogner et tout. Pis j'ai entendu un p'tit bruit de pas, comme si ça s'enfuyait. Donc évidemment j'l'ai poursuivi! Pis soudainement, je suis dans une allée sombre que j'avais jamais vue. Mais pas moyen de la retrouver! Ensuite j'ai entendu un grondement derrière moi. C'était un Tanurex sauvage et, je l'jure, ce truc était gros comme ÇA! J'étais sûr d'y rester, quand ce... Gros truc rose... 'vec des ailes et des cornes et des oreilles de lapin et des pieds palmés comme un Akwakwak, apparut de nulle part et botta les fesses du bâtard si fort qu'il s'enfuya en chouinant! Pis l'truc s'tourne vers moi. Et je l'jure devant Arceus, i'f'sait nuit et j'voyais trouble mais c'truc, il ouvre sa bouche et il m'dit: \"Jim, t'es torché.\" Pis l'seul truc dont j'me souvienne après, c'est que j'me levais d'mon lit. Mais c'était pas un rêve! C'était trop réel! J'veux juste savoir c'qu'était ce truc... Tu peux m'aider? Tu sais c'que c'était? C'est...\nC'est ça! C'est le truc rose! J'savais que j'étais pas fou! Oh grand Arceus, j'me sens tellement soulagé. Faut que j'te rende la pareille d'une façon ou d'une autre... ça te va, ça? Nan, c'est pas ça... Tu m'casses les pieds, l'ami! ...*soupir*. Personne ne me croit de toute manière..."
+
+msgid "MAP097_NPC_23"
+msgstr "Pourquoi tu entraînerais d'autres Pokémon que ton Pokémon de départ? A quoi bon?"
+
+msgid "MAP097_NPC_24"
+msgstr "Mes enfants n'arrêtent pas de jouer aux jeux vidéos. Je dois les forcer à jouer dehors."
+
+msgid "MAP097_NPC_25"
+msgstr "J'ai ces nouveaux jeux Pokémon, Or et Argent! Mes copains sont tous jaloux parce qu'ils n'ont pas de Game Boy Color."
+
+msgid "MAP097_NPC_26"
+msgstr "Hmm. On dirait que les rêves humains sont\nbien plus compliqués que les rêves Pokémon.\nJ'ai encore besoin de travailler sur ma\ntechnologie du Monde Rêve\navant qu'elle puisse fonctionner correctement.\nMais quand elle marchera, je te promets, on soignera cette fille!"
+
+msgid "MAP097_NPC_27"
+msgstr "Muuu-nna!"
+
+msgid "MAP097_NPC_3"
+msgstr "Donc le type Fée est fort contre le Combat, les Ténèbres et les Dragons et résiste aux types Insecte, Ténèbre et Combat alors qu'il est immunisé au type Dragon... OK!"
+
+msgid "MAP097_NPC_4"
+msgstr "Tiens, Dresseur, je voulais te donner cette CT. Cette CT contient Éclat Magique. C'est une capacité de type Fée qui fait des dégâts avec une explosion de lumière. Fais-en bon usage!"
+
+msgid "MAP097_NPC_5"
+msgstr "Apparemment il y a quelques Pokémon qui peuvent évoluer en plein duel! C'est pas cool, ça? Il y a un type d'évolution qui est seulement temporaire... Mais seulement quelques Pokémon peuvent y arriver."
+
+msgid "MAP097_NPC_6"
+msgstr "T'as entendu parler du nouveau type d'évolution? Un chercheur de Kalos l'a découvert."
+
+msgid "MAP097_NPC_7"
+msgstr "Est-ce que certains Pokémon de Tandor peuvent Méga-évoluer? Je pense que oui..."
+
+msgid "MAP097_NPC_8"
+msgstr "Cette maison est pleine de passionnés de théâtre! On habite tous à Venesi parce qu'on aime la scène."
+
+msgid "MAP097_NPC_9"
+msgstr "Il y a cinq ans, jamais je n'aurais imaginé devenir comédienne. Les femmes n'étaient pas autorisées à monter sur scène. Quelque chose a changé ça pourtant."
+
+msgid "MAP097_TRAINER_1"
+msgstr "Hé gamin! Comment tu m'regardes là? Aucun gamin va venir me manquer de respect!"
+
+msgid "MAP097_TRAINER_1_DEFEAT"
+msgstr "Battu par un gamin?"
+
+msgid "MAP097_TRAINER_2"
+msgstr "Tu crois vraiment que tu peux me battre?"
+
+msgid "MAP097_TRAINER_2_DEFEAT"
+msgstr "Perdu!"
+
+msgid "MAP097_TRAINER_3"
+msgstr "Berk! T'as essayé de toucher ma jupe! Je vais te flanquer une bonne leçon!"
+
+msgid "MAP097_TRAINER_3_DEFEAT"
+msgstr "Iiiiiii!"
+
+msgid "MAP097_TRAINER_4"
+msgstr "Ne dis pas à mes parents que je suis là, ou sinon...!"
+
+msgid "MAP097_TRAINER_4_DEFEAT"
+msgstr "Mamannnn!"
+
+msgid "MAP098_NPC_1"
+msgstr "Selon Chouetton, le voleur se cache\ndans la montagne sur la route 06.\nS'il te plaît, trouve-le vite!\nLa suite de nos recherches en dépend!"
+
+msgid "MAP098_NPC_2"
+msgstr "Shhhh, Chouetton, il fait jour... Chouetton est toujours nerveux après tout ce qu'il s'est passé. Je le réconforte."
+
+msgid "MAP098_NPC_3"
+msgstr "Je suis un expert en résurrection de fossiles.\nToutefois, je n'ai pas le temps!\nNous sommes en état d'urgence!"
+
+msgid "MAP098_NPC_4"
+msgstr "Pas de panique...\nTout ira bien! ...Pas vrai?"
+
+msgid "MAP098_NPC_5"
+msgstr "Chouetton! Chou! Chuis à la maison... Mais... Pas d'amis.\nOù sont mes amis? J'ai peur..."
+
+msgid "MAP099_NPC_1"
+msgstr "Si tu trouves des indices sur la localisation de Zéphy, tu pourras me prévenir? En tant que médecin, explorateur et musicien, l'inspiration est très importante pour moi."
+
+msgid "MAP099_SIGN_1"
+msgstr "Alors que vous effleurez la cloche pour entendre le son, vous entendez un papillonement à l'intérieur! En tendant la main, vous trouvez un petit bout de papier. Hein?"
+
+msgid "MAP099_TRAINER_1"
+msgstr "Mes muscles de nage sont si forts, que je peux nager des jours entiers!"
+
+msgid "MAP099_TRAINER_1_DEFEAT"
+msgstr "Si… fatigué..."
+
+msgid "MAP099_TRAINER_2"
+msgstr "Sois toujours sur tes gardes dans l'océan!"
+
+msgid "MAP099_TRAINER_2_DEFEAT"
+msgstr "T'étais par{é|ée}!"
+
+msgid "MAP099_TRAINER_3"
+msgstr "Oh? Quelle surprise!\nC'est rare de trouver quelqu'un s'aventurant à ce point à l'est.\nTu dois être assez puissant. Pour ma part, ce lieu a une signification particulièrement spéciale. En fait, je suis venu sur cette île en particulier pour faire une offrande aux forces mythiques de ces eaux. Tu peux te joindre à moi si tu veux, mais d'abord...\nJe suis curieux de connaître ta force et tes liens avec tes précieux partenaires. Ne te retiens pas et frappe avec toute ta force! Merci encore d'avoir donné suite à ma requête.\nCe sont ceux avec des coeurs bons et des volontés astucieuses qui seront capables d'atteindre le degré d'intimité que tu as avec tes chers Pokémon. En souvenir d'une si rafraîchissante mise en scène et au destin nous faisant nous croiser aujourd'hui, je te donne ceci... Eh bien, maintenant, je crois qu'il me faut retourner à mon rituel. Si tu souhaites te recueillir davantage avant ton départ, sache que tu peux le faire à ton propre rythme. Autrement, j'espère \n qu'on se retrouvera un jour."
+
+msgid "MAP099_TRAINER_3_DEFEAT"
+msgstr "Tes liens sont incroyablement forts, ça ne fait aucun doute!"
+
+msgid "MAP100_NPC_1"
+msgstr "Ma femme est toujours gentille envers les Dresseurs de passage. Elle fait les meilleurs cookies du monde. Tiens, prends-en un pour la route!"
+
+msgid "MAP101_NPC_1"
+msgstr "Je dois utiliser de la crème solaire tous les jours, sinon je prends des coups de soleil! N'oublie pas d'en mettre, OK? Nager m'aide à rester en forme. De cette manière, je peux boire autant que je veux la nuit tombée!"
+
+msgid "MAP101_NPC_10"
+msgstr "Chouuueeee-tonn! Veux-tu utiliser le Traducteur Pokémon-Humain? ...\n PN utilise le Traducteur! J'adore mon humain! Elle me donne des bonbons! En retour, je lui apporte des trucs qui brillent!"
+
+msgid "MAP101_NPC_11"
+msgstr "Mon Chouetton trouve souvent des objets brillants\net me les apporte.\nCelui-là est chanceux!\nPourquoi t'en as pas un? J'espère que cette Pièce Rune te sera bénéfique."
+
+msgid "MAP101_NPC_12"
+msgstr "Ouaaaahh! Vagune est beaucoup plus grande que j'aurais pu l'imaginer... La lumière, les sons! Je n'sais pas quoi faire en premier!"
+
+msgid "MAP101_NPC_13"
+msgstr "Hé, mon pote! Tu veux acheter une montre? ...Oh, t'as déjà un PokéPod? Euh... Tu sais quoi? Ne dis pas aux Rangers que je suis là, d'accord? Erm, bonne journée."
+
+msgid "MAP101_NPC_2"
+msgstr "J'arrête pas d'avoir des regards pervers de ce type! Berk! J'ai déménagé ici avec ma famille, mais mes grands-parents ont simplement posé un regard à Vagune et sont retournés d'où ils venaient! En revanche, moi je compte rester."
+
+msgid "MAP101_NPC_3"
+msgstr "Suis-je mort et au paradis? Parce que c'est le paradis ici. Le ciel est bleu, la mer est chaude et les filles sont belles! J'pense que j'irai au casino ce soir. Peut-être que je gagnerai gros cette fois!"
+
+msgid "MAP101_NPC_4"
+msgstr "Tellement de pin-ups... Si peu de temps. Yo, mec, t'es nouveau ici ou quoi? C'est quoi ces fringues? Vire-moi ça! Mets un maillot ou un truc, j'sais pas."
+
+msgid "MAP101_NPC_5"
+msgstr "Désolé, mais la construction du métro de Tandor n'est pas terminée."
+
+msgid "MAP101_NPC_6"
+msgstr "Désolé, mais la construction du métro de Tandor n'est pas terminée."
+
+msgid "MAP101_NPC_7"
+msgstr "Niaaaa! Niaaaaa! Ouiiiii!\nTu ne m'attraperas jamais!"
+
+msgid "MAP101_NPC_8"
+msgstr "Mon enfant a beaucoup d'énergie. J'espère qu'il va se fatiguer bientôt..."
+
+msgid "MAP101_NPC_9"
+msgstr "Je suis sans-abri. Je dors ici.\nDégage de ma pelouse! J'ai choisi d'être sans domicile.\nQui a dit qu'on devait avoir une maison?\nJ'suis pas du genre à aimer ce genre de vie."
+
+msgid "MAP101_SIGN_1"
+msgstr "Vagune : Mec, c'est genre, Ze Place To Be, gros!"
+
+msgid "MAP101_SIGN_2"
+msgstr "QG des Rangers de Tandor Ouest."
+
+msgid "MAP101_SIGN_3"
+msgstr "Hôtel Casino de Vagune"
+
+msgid "MAP101_SIGN_4"
+msgstr "Supermarché de Vagune."
+
+msgid "MAP101_SIGN_5"
+msgstr "Parc Public de Vagune"
+
+msgid "MAP101_TRAINER_1"
+msgstr "Erg... Être sur la terre ferme me donne le mal de terre..."
+
+msgid "MAP101_TRAINER_1_DEFEAT"
+msgstr "Blurg..."
+
+msgid "MAP102_TRAINER_1"
+msgstr "Cali : Hé! Tu t'amuses bien? Je suis Cali, la Championne de Vagune! Il semble évident que j'utilise des Pokémon venant de la plage, pas vrai? Laisse-moi te raconter mon histoire. Quand j'étais petite, je pensais que c'était une bonne idée d'aller nager lorsqu'il n'y avait pas de maître-nageur. Mais soudain, une lame de fond m'a fait basculer! Je croyais que j'allais me noyer. Mais alors, j'ai senti quelque chose en dessous! C'était un Cérébron, qui m'a ramenée à la plage. Depuis lors, j'ai décidé de devenir une dresseuse et une sauveteuse. Mes Pokémon ont sauvé un nombre incalculable de vies, donc ils sont pluôt forts! Mais assez parlé, battons-nous! Cali: Sacré combat! T'es vraiment fort! Tiens, prends ce badge Marée! PN reçoit le badge Marée de Cali! Cette CT contient Vibraqua! C'est une attaque Eau puissante qui peut rendre confus. Utilise-la autant que tu le souhaites!"
+
+msgid "MAP102_TRAINER_1_DEFEAT"
+msgstr "Tu le mérites."
+
+msgid "MAP102_TRAINER_2"
+msgstr "Nous sommes de retour, pour vous jouer un mauvais tour!!... Je veux dire... Baston!"
+
+msgid "MAP102_TRAINER_2_DEFEAT"
+msgstr "Bah, j'ai fait de mon mieux."
+
+msgid "MAP102_TRAINER_3"
+msgstr "J'vais te couler comme le Titanic!"
+
+msgid "MAP102_TRAINER_3_DEFEAT"
+msgstr "Je me laisse aller et je coule..."
+
+msgid "MAP102_TRAINER_4"
+msgstr "Oh, tu as des Pokémon Eau?"
+
+msgid "MAP102_TRAINER_4_DEFEAT"
+msgstr "Sacrebleu, j'ai perdu..."
+
+msgid "MAP102_TRAINER_5"
+msgstr "Tu es un Dresseur inférieur!"
+
+msgid "MAP102_TRAINER_5_DEFEAT"
+msgstr "J'suis quand même meilleur que toiii~"
+
+msgid "MAP102_TRAINER_6"
+msgstr "Je mangerai du Magicarpe frit plus tard."
+
+msgid "MAP102_TRAINER_6_DEFEAT"
+msgstr "Je vais frire tous mes Pokémon..."
+
+msgid "MAP102_TRAINER_7"
+msgstr "Cette salle est sans issue!"
+
+msgid "MAP102_TRAINER_7_DEFEAT"
+msgstr "C'est pas mon jour."
+
+msgid "MAP104_NPC_1"
+msgstr "Je joue avec mon frère. Nous interromps pas!"
+
+msgid "MAP104_NPC_2"
+msgstr "Bonjour! Je suis un amateur de Pokémon! Je vois que tu es un Dresseur. Tu peux peut-être m'aider... Je recherche un Pokémon en particulier. Je ne me rappelle pas son nom par contre. Si tu peux m'aider, je te récompenserai. C'était une sorte de gros serpent jaune... C'était quoi? Oh ouais! Insolourdo! C'est ça!\nWoah, il est mignon! Je suis super heureux. C'est le plus beau jour de ma vie! Comment puis-je te rendre la monnaie de ta pièce?\nJ'espère que cela ira. Non... Je ne pense pas que c'est ce que je recherche. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est un faible Pokémon Eau qui devient vraiment fort lorsqu'il évolue. Oh ouais! Magicarpe! C'est ça!\nIl n'a pas l'air de grand chose comme ça, mais il a un gros potentiel.\nPatience, petit poisson! Un beau futur s'annonce pour toi! Tiens, Dresseur, prends ça comme un signe de ma gratitude. Non... Je ne pense pas que c'est ce que je recherche. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est un oiseau de type Feu et je pense qu'il a une sous-évolution. Oh ouais! Phénardant, c'était ça. Quel magnifique spécimen!\nLa manière dont les flammes s'étirent derrière ses ailes lorsqu'il vole... Une sacrée scène à voir.\nJ'adorerais en avoir un en Pokémon de compagnie, mais il incendierait sûrement ma maison. Tu es toujours d'une grande aide, Dresseur! Tiens, prends ça en récompense. Non... Je ne pense pas que c'est ce que je recherche. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est un Pokémon Electrik, rose avec un joyau bleu sur sa queue. Oh ouais! Lainergie! Comment ai-je pu oublier?\nIl semble gentil et noble à la fois. Je pense que mon oncle en a quelques uns dans sa ferme de Vinoville. Comme toujours, Dresseur, accepte cela en récompense avec mes remerciements! Non... Je ne pense pas que c'est ce que je recherche. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est un Pokémon que tu peux rencontrer dans les cavernes, qui s'échappe facilement. Evidemment! Tonemi!\nQuelle sympathique créature! Comment peut-elle voler avec de si petites ailes? C'est l'un des plus grands mystères de la vie. De plus, il peut évoluer en un terrifiant Togrocrok. Ne le sous-estime pas! Voilà une récompense pour toi. Non... Je ne pense pas que c'est ce que je recherche. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est un Pokémon que seuls les plus grands bonhommes peuvent entraîner. Crénom! C'est Embryfer!\nJ'entends souvent parler des randonneurs qui se ventent de pouvoir soulever un Embryfer. Je pense que si j'essayais, mes bras se casseraient! Pourquoi ne prendrais-tu pas cela en récompense, Dresseur? N-non... Je ne pense pas que c'est ce dont je parlais. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est une boule de poils qui s'énerve facilement. Beh, Férosinge, évidemment!\nJ'aimerais le domestiquer... Mais il s'en prendrait sûrement à moi. Prends cette récompense, s'il te plaît. N-non... Je ne pense pas que c'est ce dont je parlais. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. Il est bien plus commun la nuit que le jour et il ressemble à Lainergie. Oh, c'est Moutombre! Trop génial.\nApparemment, sa laine est prisée par les artisans qui l'utilisent pour faire des vêtements robustes.\nIls sont connus pour être bien plus difficiles à élever que des Lainergies. Tu m'as été tellement utile. Merci! Non... Je ne pense pas que c'est ce que je recherche. Oh, re-bienvenue, dressseur! Juste à temps! Je recherchais cet autre Pokémon. C'est extrêmement intelligent, mais très rare. Je pense qu'il est de type Eau...? ...Oh, c'est Cervelon.\n...Euh, celui-là est dégueu... Range-le, s'il te plaît. Je n'ai plus de Pierres, donc... Voilà ta récompense. Non... Je ne pense pas que c'est ce que je recherche."
+
+msgid "MAP104_NPC_3"
+msgstr "J'entraîne un Pokémon dans mon jeu. Je battrai ma soeur un jour! Tu crois qu'un jour ils feront un jeu sur Tandor?"
+
+msgid "MAP104_NPC_4"
+msgstr "Personnellement, je pense que toutes ces bêtises de \"Pokémon Rouge\" corrompent mes enfants. Un jour, mon fils a essayé d'aller au-dessus de la Grotte Comète pour attraper son propre Pokémon! J'ai dû le tirer de là."
+
+msgid "MAP104_NPC_5"
+msgstr "Ah, ces jeunes et leurs jeux vidéos.\nQuand j'étais gamin, on jouait dehors dans la poussière! Et on aimait ça!"
+
+msgid "MAP104_NPC_6"
+msgstr "Hé là, étranger~ Comment tu vas? C'est un beau... sac que t'as là. Es-tu un Dresseur? As-tu des Poké Balls remplies de Pokémon?"
+
+msgid "MAP104_NPC_7"
+msgstr "J'ai un peu peur pour ma soeur. Elle est un peu trop gentille avec les étrangers. Mon cousin, lui, est dingue de Pokémon, mais il ne sort jamais de la maison.\nJ'espérais qu'il trouve un job..."
+
+msgid "MAP105_TRAINER_1"
+msgstr "... Marmail! Mar! Marmi! ...\nPN utilise le Traducteur! Que fais-tu là, humain?\nEssaies-tu de réduire ces Pokémon \nà l'esclavage à nouveau?\nIls ont été libérés de tes chaînes! Ils ne seront plus jamais tes prisonniers! Marmail est là! Le Super-Pokémon!\nJe les ai trouvé dans cet horrible\nlieu humain et je les ai libéré!\nNous nous battrons pour notre liberté! Mar... Ma... Nous.... Nous avons perdu?. Mais comment?!\nPourquoi ces Pokémon se battent-ils\npour le compte des humains?\nNe veulent-ils pas leur liberté?\nCe sont.... tes amis...?\nC'est impossible!\nles Pokémon et les humains ne peuvent coexister! Camarades!\nVous retournez dans ce lieu? Pourquoi?!\nGrr... Tu paieras pour ça, humain.\nTant qu'il y aura des Pokémon qui\nseront retenus contre leurs volontés...\nMoi, Marmail, le Héros Pokémon,\nles sauverai!\nJe reviendrai!"
+
+msgid "MAP105_TRAINER_1_DEFEAT"
+msgstr "Nous allons te détruire!"
+
+msgid "MAP106_NPC_1"
+msgstr "Donc, t'en penses quoi? On fait équipe? (Adam vous a rejoint!) OK!\nJe soignerai nos Pokémon. L'entrée de la grotte est juste là..... Woah! T'as entendu ça?\nJe pense qu'on n'est pas seuls ici.\nEnfin, en tout cas, allons-y! Tout va bien.\nJe pense que j'étudierai un peu plus ces glyphes.\nReviens me parler si tu changes d'avis."
+
+msgid "MAP108_NPC_1"
+msgstr "Bienvenue au célèbre Supermarché de Vagune! Ici vous pouvez trouver n'importe quel genre d'objet pour n'importe qui. Voulez-vous des informations sur les boutiques se trouvant à chaque étage? Super! Au premier étage vous trouverez les objets de base pour les Dresseurs, comme des Poké Balls et des Potions. Au deuxième étage vous trouverez les pierres d'évolution et les CTs. Au troisième étage vous trouverez les objets qui augmentent les statistiques des Pokémon sur la durée."
+
+msgid "MAP108_NPC_10"
+msgstr "Les Pierres d'évolution sont essentielles pour faire évoluer des Pokémon tels qu'Evoli, Canilune ou Minyan! Heureusement qu'ils les ont toutes ici!"
+
+msgid "MAP108_NPC_11"
+msgstr "Ces Capsules Techniques coûtent si cher! Je me souvenais quand elles étaient moins cher... Mais à l'époque elles étaient à usage unique, je suppose que celles-là sont meilleures."
+
+msgid "MAP108_NPC_12"
+msgstr "J'aime avoir le pouvoir en combat! C'est pourquoi j'utilise les objets X!"
+
+msgid "MAP108_NPC_13"
+msgstr "J'ai baffré mon Pokémon de Protéines pour rendre son Attaque redoutable. Mais maintenant, il a l'air malade..."
+
+msgid "MAP108_NPC_14"
+msgstr "Ahh... C'est bon de faire une pause après cette chasse aux meilleurs prix."
+
+msgid "MAP108_NPC_15"
+msgstr "La boutique des Raretés est à ce niveau. Leur stock change tous les jours mais ils sont fermés le week-end."
+
+msgid "MAP108_NPC_2"
+msgstr "Tellement de choix... Je suis paralysé par l'indécision! J'ai besoin d'un Anti-Para je crois."
+
+msgid "MAP108_NPC_3"
+msgstr "Fais les boutiques jusqu'à plus pouvoir marcher! C'est ma devise! Je ne m'arrêterai que quand j'aurai plus que je ne peux en porter!"
+
+msgid "MAP108_NPC_4"
+msgstr "Papa, achète-moi une Poké Poupée! D'accord ma puce, mais c'est tout pour aujourd'hui."
+
+msgid "MAP108_NPC_5"
+msgstr "Papa, achète-moi une Poké Poupée! D'accord ma puce, mais c'est tout pour aujourd'hui."
+
+msgid "MAP108_NPC_6"
+msgstr "Je suis sur le point d'aller en expédition très loin, donc j'amasse des ressources avant de partir. Ce magasin a tout ce dont un Dresseur peut rêver!"
+
+msgid "MAP108_NPC_7"
+msgstr "Il est important d'avoir des objets de soin lorsqu'on travaille en tant que Ranger Pokémon. Certains Pokémon sauvages finissent paralysés ou empoisonnés par des Dresseurs de passage et c'est à nous de les guérir!"
+
+msgid "MAP108_NPC_8"
+msgstr "Je n'attrape pas de Pokémon, j'aime juste collectionner les Poké Balls."
+
+msgid "MAP108_NPC_9"
+msgstr "Ultralaser, allez! SWOOOUUUFFF!!"
+
+msgid "MAP109_NPC_1"
+msgstr "Tu vas te mesurer au Champion? Elle est plus coriace qu'elle en a l'air. ses Pokémon ne sont pas tous de type Eau, donc ne pense pas qu'y aller avec un Pokémon Electrik t'assure la victoire! Quand tu marches sur la plage, fais attention aux palmiers bizarres. Ce sont peut-être des Pokémon!"
+
+msgid "MAP109_TRAINER_1"
+msgstr "J'ai essayé de battre Cali, le Champion, mais elle m'a explosé. Je dois m'entraîner pour essayer encore...\n Hé, tu veux te battre? OK, c'est parti! C'est-c'est dommage."
+
+msgid "MAP109_TRAINER_1_DEFEAT"
+msgstr "Mec, j'ai vraiment besoin d'entraînement."
+
+msgid "MAP111_NPC_1"
+msgstr "Le Félignon orange est boule, et regarde le feu."
+
+msgid "MAP111_SIGN_1"
+msgstr "Contes des rêves droit devant"
+
+msgid "MAP111_TRAINER_1"
+msgstr "J'ai attendu un adversaire fort - je t'ai attend{u|ue}"
+
+msgid "MAP111_TRAINER_1_DEFEAT"
+msgstr "Je dors dans Songe"
+
+msgid "MAP112_NPC_1"
+msgstr "Cette île pullule de Pokémon Nucléaires! PN, tu sais quoi faire.... Montre-leur c'est qui le patron!"
+
+msgid "MAP112_NPC_10"
+msgstr "Haaa...\nces Pokémon... ils ne se fatiguent jamais."
+
+msgid "MAP112_NPC_11"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_12"
+msgstr "Mon amour, tu dois rester déterminé. Nous vaincrons ces Pokémon maléfiques par la force des Dieux! Mon mari fatigue, pourtant ces Pokémon ne s'arrêtent pas. Nous sommes peut-être des avatars, mais nous sommes aussi de simples mortels. PN, aide-nous à les vaincre! ...Je crois que je peux continuer, mon amour. Les Dieux nous prêtent leur force. ...Je crois que je peux continuer, mon amour. Les Dieux nous prêtent leur force."
+
+msgid "MAP112_NPC_13"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_2"
+msgstr "Les Pokémon Nucléaires arrivent de tous côtés! Maîtrises-en autant que possible! Je sais que tu peux le faire!"
+
+msgid "MAP112_NPC_3"
+msgstr "Hiisssssssssss..."
+
+msgid "MAP112_NPC_4"
+msgstr "Non! Mon Pokémon est KO... Arg, maintenant je suis sans défense... Au secours PN, sauve-moi!"
+
+msgid "MAP112_NPC_5"
+msgstr "Tanuuuu..."
+
+msgid "MAP112_NPC_6"
+msgstr "Hissssssssssss..."
+
+msgid "MAP112_NPC_7"
+msgstr "Arrière! Arrière! Tu vas tâter de ma lame! ...Hé, toi! Tu veux pas venir m'aider? Ils sont trop forts pour moi tout seul!"
+
+msgid "MAP112_NPC_8"
+msgstr "Viaaaaaa..."
+
+msgid "MAP112_NPC_9"
+msgstr "Pas mal, PN!\nOn fait une bonne équipe, tu crois pas? Hé, PN!\nCes idiots Nucléaires\nsont nuls comparé à mes Pokémon!\n...Hé, en v'la deux d'un coup.\nEt si on bossait ensemble pour\nleur montrer de quoi on est capable! Pas mal, PN!\nOn fait une bonne équipe, tu crois pas?"
+
+msgid "MAP113_NPC_1"
+msgstr "Hé toi! T'as l'air d'un Dresseur!\n Écoute, tu peux me filer un coup de main? \nUn ami qui habite loin m'a filé cet oeuf, mais je ne peux pas m'en occuper.\n Tu veux t'en charger? PN reçoit un oeuf! Oh, euh, ton équipe est pleine. Reviens quand tu auras fait de la place. ...Oh, dommage."
+
+msgid "MAP113_NPC_2"
+msgstr "J'ai été un Dresseur Pokémon comme toi, mais...\n Quand je suis arrivé à Vagune, je me suis dit : \"Pourquoi entraîner des Pokémon alors que je peux faire la fête?\" Tu connais la Championne, Cali?\n Oh, mec, quelle beauté.\n ...T'es trop jeune pour comprendre."
+
+msgid "MAP114_NPC_1"
+msgstr "T'as vraiment réussi à le rater? Pas de souci, j'en ai eu un autre, prends-le. C'est incroyable... PN, on doit parler à Primo de ce Pokémon! ...... ...... Primo: Ici Primo. Il y a un problème? Non, mais...\nOn a découvert quelque chose de génial! Vous n'y croirez pas, Boss! Primo: ...\n...Eh bien? Explique. Oh! Hmm...\nC'est un Pokémon! Un nouveau genre de Pokémon! Il est de type Nucléaire, mais... pas hostile. Même pas radioactif. Je suis pas sûr, mais... Je pense qu'il se nourrit de radiations! Nous sommes dans cet endroit dans la Zone Irradiée et c'est complètement propre. J'ai même pas besoin de masque ici. Primo: Théo! C'est dangereux. Remets ton masque immédiatement! Même si tu ne le vois pas, c'est peut être encore radioactif. Je vous jure, ça ne l'est pas! On a regardé avec le compteur Geiger sur la combinaison. C'est à zéro! C'est bizarre! Primo: Si ce que tu dis est vrai, alors... Ça peut complètement changer notre stratégie. Excellent boulot, Théo, PN. Tenez-moi au courant des dernières découvertes. Mais, rappelez-vous, votre but premier reste le même... Si nous n'arrêtons pas CURIE, nous ne pourrons pas commencer le processus de restauration. Vos géolocalisateurs indiquent que vous n'êtes pas loin de la centrale. C'est au nord. CURIE est là-bas. Trouvez-le et finissez-en une bonne fois pour toutes! Pour Tandor! ...... ...... Ton père est vraiment du genre à ne pas oublier son objectif... Mais il a raison. C'est cool d'avoir découvert ça, mais on a un plus gros poisson à ferrer. On se bouge! Haha, t'as pas saisi? PN, Tu as huit badges. Tu peux t'en sortir. Tiens, j'ai une Nucléaire Ball en plus. Maintenant, sors et vas attraper ce truc! J'ai déjà le mien."
+
+msgid "MAP114_NPC_2"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_3"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_4"
+msgstr "Haazzzz..."
+
+msgid "MAP114_NPC_5"
+msgstr "Haazzzz..."
+
+msgid "MAP117_NPC_1"
+msgstr "Donnez votre ticket au marin à mes côtés, il vous dira tout ce qu'il faut savoir!"
+
+msgid "MAP117_NPC_2"
+msgstr "La centrale au nord d'ici a une sécurité du meilleur niveau! Il n'y a que la téléportation qui puisse te faire rentrer. C'est pas comme si quelqu'un voulait vraiment y entrer. Je me fais du souci à propos de mes potes Rangers à la centrale de Vagune mais je suis posté ici pour m'assurer que la centrale au nord reste sécurisée."
+
+msgid "MAP117_NPC_3"
+msgstr "Ouah! T'es un vrai Dresseur Pokémon? Tiens, j'ai trouvé ça dans ces fourrés, ça peut t'être utile!"
+
+msgid "MAP117_NPC_4"
+msgstr "Ohé! Mon ami. T'as l'air du genre à aimer la pêche. Je vois ce reflet dans tes yeux, là. Ce REFLET. Cet ESPOIR. Tu \nas l'air du genre de personne prête à SE POSER ET À ATTENDRE PENDANT DES HEURES pour que ça morde. J'ai raison? Bon gamin! *Marmonne*\nLes gosses, de nos jours..."
+
+msgid "MAP117_NPC_5"
+msgstr "J'ai été un Dresseur de renom, jadis. Mes gosses ont eu mes Pokémon et maintenant, je savoure une vie paisible."
+
+msgid "MAP117_NPC_6"
+msgstr "Par ici, la plupart des gens travaillent dans les fermes. C'est du sacré boulot, mais c'est suffisant pour nourrir tout Tandor."
+
+msgid "MAP117_NPC_7"
+msgstr "Ouaaaat!"
+
+msgid "MAP117_NPC_8"
+msgstr "Ouat! Wattouaaaat!"
+
+msgid "MAP117_SIGN_1"
+msgstr "Route 08 - Champs de blé\n- Vinoville"
+
+msgid "MAP117_SIGN_2"
+msgstr "Info Dresseur!\nQuand on pêche, on a besoin de\npatience et de réflexes vifs.\nAttendez que le message \"Oh! Ça mord!\"\napparaisse, puis ramenez vite la prise!"
+
+msgid "MAP117_SIGN_3"
+msgstr "Ouest de Vinoville."
+
+msgid "MAP117_SIGN_4"
+msgstr "Info Dresseur!\nPêcher requiert de vifs réflexes.\nAppuyez sur A lorsque le message \"Oh! Ça mord!\" apparaît.\nVous aurez besoin de faire ce geste plusieurs fois pour ferrer un Pokémon."
+
+msgid "MAP117_TRAINER_1"
+msgstr "Excuse-moi!"
+
+msgid "MAP117_TRAINER_10"
+msgstr "Je ne fais que de m'entraîner, m'entraîner, m'entraîner toute la journée! Aide-moi à m'entraîner!"
+
+msgid "MAP117_TRAINER_10_DEFEAT"
+msgstr "Fouii! Faut que tu me donnes tes techniques pour t'entraîner!"
+
+msgid "MAP117_TRAINER_1_DEFEAT"
+msgstr "Mes Pokémon sont aussi sportifs que moi!"
+
+msgid "MAP117_TRAINER_2"
+msgstr "R'in d'aut' dans ces vieilles mares que d'sales Venouilles, mais parfois j'chope des trucs sympas."
+
+msgid "MAP117_TRAINER_2_DEFEAT"
+msgstr "Carrément sympas, t'vois?"
+
+msgid "MAP117_TRAINER_3"
+msgstr "J'ai entendu dire qu'il y avait des OVNIs par ici, donc je scrute le ciel."
+
+msgid "MAP117_TRAINER_3_DEFEAT"
+msgstr "Je pense que je perds mon temps..."
+
+msgid "MAP117_TRAINER_4"
+msgstr "Yaaahaaa! Viens t'battre! Viens t'battre!"
+
+msgid "MAP117_TRAINER_4_DEFEAT"
+msgstr "Grr..."
+
+msgid "MAP117_TRAINER_5"
+msgstr "Bon sang, cette ville est si ennuyeuuuuse! Y'a que du blé et du foin. Vivement que je m'en aille."
+
+msgid "MAP117_TRAINER_5_DEFEAT"
+msgstr "Ohh..."
+
+msgid "MAP117_TRAINER_6"
+msgstr "les Pokémon Insecte sont les plus diversifiés. Ils ont plus d'attaques que les autres types!"
+
+msgid "MAP117_TRAINER_6_DEFEAT"
+msgstr "Faut que j'apprenne d'autres attaques à mes Pokémon."
+
+msgid "MAP117_TRAINER_7"
+msgstr "Oh, qu'y a-t-il chéri? Tu veux te battre? Diantre, je ne vois pas de raison de m'y opposer."
+
+msgid "MAP117_TRAINER_7_DEFEAT"
+msgstr "Oh, celui-là a du cran!"
+
+msgid "MAP117_TRAINER_8"
+msgstr "Je t'ai trouvé!"
+
+msgid "MAP117_TRAINER_8_DEFEAT"
+msgstr "Je voulais juste jouer à cache-cache..."
+
+msgid "MAP117_TRAINER_9"
+msgstr "N'essaie pô d'enrager mon troupeau, pigé?"
+
+msgid "MAP117_TRAINER_9_DEFEAT"
+msgstr "Nan j'pense pas qu't'es un enrageur du tout."
+
+msgid "MAP118_TRAINER_1"
+msgstr "(Hé! Tu interromps ma plongée en solo!)"
+
+msgid "MAP118_TRAINER_1_DEFEAT"
+msgstr "(Grommelle...)"
+
+msgid "MAP118_TRAINER_2"
+msgstr "(Crac!!! C'est le bruit que le corail fait en se brisant!)"
+
+msgid "MAP118_TRAINER_2_DEFEAT"
+msgstr "(...J'ai été écrasé!)"
+
+msgid "MAP118_TRAINER_3"
+msgstr "(J'ai plongé pour trouver un trésor, mais au lieu de ça j'ai trouvé un Dresseur!)"
+
+msgid "MAP118_TRAINER_3_DEFEAT"
+msgstr "(Gloug!!)"
+
+msgid "MAP121_NPC_1"
+msgstr "J'ai vécu à Vinoville toute ma vie, tout comme mes parents et leurs parents avant eux. Loué soit le seigneur Aotius, parce que c'est grâce à ses lumières que la Voie sera illuminée."
+
+msgid "MAP121_NPC_10"
+msgstr "Vas-tu aller à un serment à l'église? Le Père est très bienveillant pour ceux qui veulent apprendre."
+
+msgid "MAP121_NPC_2"
+msgstr "Parfois, je vais travailler aux champs. D'autres fois, je vends ce que l'on récolte sur la place. Loué soit le seigneur Mutios, parce que c'est grâce à son ombre que nous sommes protégés du mal."
+
+msgid "MAP121_NPC_3"
+msgstr "Je veux aller à l'Arène! Ils ont du wi-fi dans l'Arène! Mais ma maman ne veut pas. Tu viens te mesurer au Champion? Il se sert de résistants Pokémon Acier!"
+
+msgid "MAP121_NPC_4"
+msgstr "C'est tous les jours la même histoire. Je me lève aux aurores, travaille à la ferme jusqu'à midi puis je rentre pour passer du temps avec ma famille. Je ne changerais ça pour rien au monde. Être fermier c'est du travail, mais c'est une vie convenable."
+
+msgid "MAP121_NPC_5"
+msgstr "Iiiiii! Tu m'as trouvé!\nJe joue à cache-cache avec mon frère. Ne lui dis pas que je suis là, OK? Je te donnerai une baie, donc chut!"
+
+msgid "MAP121_NPC_6"
+msgstr "Je joue à cache-cache avec ma soeur! Maintenant c'est à mon tour de la chercher! Si je te donne une baie, tu m'aides à la trouver?"
+
+msgid "MAP121_NPC_7"
+msgstr "Vééé! Doudouvet!"
+
+msgid "MAP121_NPC_8"
+msgstr "La vie est meilleure lorsque les gens et les Pokémon vivent en harmonie. Telle est la volonté des Dieux de Tandor."
+
+msgid "MAP121_NPC_9"
+msgstr "A Tandor, il y a 2 Pokémon mouton qui peuvent être tondus pour leur laine : Wattouat et Moutoir. En revanche, les Moutoir sont beaucoup plus colériques et difficiles à dresser."
+
+msgid "MAP121_SIGN_1"
+msgstr "Vinoville - Un Paradis Nostalgique"
+
+msgid "MAP121_SIGN_2"
+msgstr "Champion de Vinoville: Sheldon \"The Techno Whiz\""
+
+msgid "MAP121_SIGN_3"
+msgstr "Chapelle de Vinoville\nBienvenue à tous! (Messes hebdomadaires. Informations fournies sur place.)"
+
+msgid "MAP122_NPC_1"
+msgstr "T'as sûrement entendu dire qu'il y avait quelque chose d'étrange à propos des Pokémon sur cette île. Ils ressemblent aux Pokémon de Tandor, mais leurs couleurs sont étranges... Leurs attaques sont différentes et ils n'écoutent pas les ordres des Dresseurs! Est-ce que ça aurait quelque chose à voir avec l'accident d'il y a dix ans?"
+
+msgid "MAP122_NPC_2"
+msgstr "Notre boss c'est Cam, un bon gars. Il aime beaucoup les Pokémon et se préoccupe beaucoup de son fils, Théo. Je respecte les hommes comme ça. Les rumeurs disent que Cam a été un Dresseur avant. Un très bon, d'ailleurs. On dit qu'il dressait des Pokémon Électrique."
+
+msgid "MAP122_NPC_3"
+msgstr "Cameron? Ouais, c'est le boss par ici. C'est un mec sympa. Tout le monde l'appelle \"Cam\". Tu trouves pas ça un peu bizarre? Je travaille avec lui depuis des mois, mais je ne sais toujours rien à son propos. Cam est le superviseur pour la construction de la nouvelle Centrale. Apparemment, il a donné son CV dès que la zone a été certifiée exempte de radiation. C'est étrange, non?"
+
+msgid "MAP122_NPC_4"
+msgstr "On travaille dur ici, en sachant ce qu'il s'est passé sur cette île il y a dix ans. J'ai l'impression de marcher dans un cimetière, parfois... Cette nouvelle Centrale a été construite avec le plus haut niveau de sûreté et de sécurité. Après l'accident d'il y a dix ans, le boss voulait s'assurer que rien de tel n'arriverait à nouveau."
+
+msgid "MAP122_NPC_5"
+msgstr "Il faut toujours être bien préparé. Tu devrais faire attention aux Pokémon sauvages par ici. Prends ça, ça peut t'être utile. Il faut toujours être bien préparé."
+
+msgid "MAP122_NPC_6"
+msgstr "Hé! Le boss a dit que personne ne pouvait venir ici. Ce bâtiment va bientôt être démoli."
+
+msgid "MAP122_NPC_7"
+msgstr "Hé! Le boss a dit que personne ne pouvait venir ici. Ce bâtiment va bientôt être démoli."
+
+msgid "MAP122_TRAINER_1"
+msgstr "Hé, cette île n'est pas un bac à sable!"
+
+msgid "MAP122_TRAINER_1_DEFEAT"
+msgstr "Tu n'es pas un gosse ordinaire!"
+
+msgid "MAP122_TRAINER_2"
+msgstr "Tu as trouvé ce qui clochait avec ce Pokémon?"
+
+msgid "MAP122_TRAINER_2_DEFEAT"
+msgstr "Ecrabouillé!"
+
+msgid "MAP122_TRAINER_3"
+msgstr "Hé, toi! Aide-moi à dresser mon Pokémon!"
+
+msgid "MAP122_TRAINER_3_DEFEAT"
+msgstr "Mon Pokémon a encore besoin d'un peu de motivation."
+
+msgid "MAP123_SIGN_1"
+msgstr "On dirait que ceci était une partie du carnet brûlé, sur l' en-tête il est écrit \"Rapport n°1\", la lire? Les décou------ avan---- ---- --- 092. -- -------- --- ----- de biofibre radio-i----------. Elle ---- ------- de -- reconstru--- --------- -- endommagé-. [Page ajoutée au carnet.] [Page ajoutée dans votre sac.]"
+
+msgid "MAP123_SIGN_2"
+msgstr "On dirait que ceci était une partie du carnet brûlé, l'en-tête dit \"Rapport n°4\", la lire? ---- -- l'Interface --- Aujourd'hui,-- --vail --- fini. Le- --erateurs ------ ---------- -------- d'----- -- contrôle total -- sp-cimen. ---- chercheur en chef, le Dr. ------- ,-- a -- -- autorisation. [Page ajoutée au carnet.]"
+
+msgid "MAP123_SIGN_3"
+msgstr "On dirait que ceci était une partie du carnet brûlé, sur l'en-tête il est écrit \"Rapport n°3\", la lire? L- IRM - ------ --- ondes cérébrales --ormales . -- spécim-n ----- -- ---- inca----e -- pens-- indép------ent . Nous ------llons --- -- supprim---. [Page ajoutée au carnet.]"
+
+msgid "MAP123_SIGN_4"
+msgstr "On dirait que ceci était une partie du carnet brûlé , sur l'en-tête il est écrit \"Rapport n°2\", la lire? -- noyau énergétique - --- ------ d'outre----. Il ----------- une grande -------- -- carburant nucléaire pour -------------. --- ---- ---------- activé, -- ---- ------- -- prod---- --- énergie presque infinie. [Page ajoutée au carnet.]"
+
+msgid "MAP123_SIGN_5"
+msgstr "On dirait que ceci était une partie du carnet brûlé, sur l'en-tête il est écrit \"Rapport n°5\", la lire? -- - a eu --- violation -- -- confidential---. --------, ---- --- -------- devront ---- relocalisés --- --- -------- souterr---- - ----- ------. Le projet 092 ----- --------- être --pprimmé. [Page ajoutée au carnet.]"
+
+msgid "MAP125_NPC_1"
+msgstr "Quoiqu'il se passe avec les Pokémon ici, c'est fascinant! Je veux dire, c'est certainement pas bon. Mais bon sang que c'est intéressant!"
+
+msgid "MAP125_NPC_2"
+msgstr "les Pokémon d'ici mettent tellement mal à l'aise... Sûrement à cause de ces yeux vides qu'ils ont... c'est comme s'il n'y avait rien à l'intérieur. Pire, l'un d'entre eux m'a attaqué sans raison! J'aurais déjà quitté cet endroit si le salaire n'était pas aussi bon."
+
+msgid "MAP125_NPC_3"
+msgstr "Est-ce que tu sais comment marche un réacteur nucléaire? L'énergie générée par la division des atomes dans le carburant radioactif relâche une énorme quantité de chaleur. Cette chaleur est utilisée pour faire bouillir de l'eau en une vapeur très chaude, ce qui fait tourner une turbine électrique. Des câbles sous-marins conduisent alors cette électricité vers les villes à travers la région."
+
+msgid "MAP126_NPC_1"
+msgstr "Yo, mec, t'as déjà joué à Pokémon Rouge? \nCe jeu est trop cool! Je vais gagner ce combat. \nJ'ai Dracaufeu. Rien ne bat Dracaufeu!"
+
+msgid "MAP126_NPC_2"
+msgstr "Hé, mec, t'as un Férosinge? \nTu veux l'échanger contre mon Nidoran? \n...Oh, désolé, je voulais dire, dans le jeu. NOOOOOOOOOOOOONN!!!!! \nSalamèche est empoisonné et je suis au milieu de la forêt de Jade sans Antidote! \nPourquoi est-ce que je ferais ça d'abord?"
+
+msgid "MAP126_NPC_3"
+msgstr "C'est moi ou ce jeu est vraiment pété? Statistiquement parlant, Mewtwo est plus ou moins imbattable. Ce jeu est trop pété! Ultralaser me lamine mes Pokémon. C'est pas comme ça dans la vraie vie, pas vrai?"
+
+msgid "MAP127_TRAINER_1"
+msgstr "On y est! Après des mois d'entraînement,\non est finalement arrivé à la Route Victoire! \nC'est pas le moment de perdre!"
+
+msgid "MAP127_TRAINER_1_DEFEAT"
+msgstr "Notre assaut glacé n'a pas marché?!"
+
+msgid "MAP127_TRAINER_2"
+msgstr "Hmmmmm! \nMes prémonitions me disent que tu n'iras pas plus loin que ça!"
+
+msgid "MAP127_TRAINER_2_DEFEAT"
+msgstr "Mon troisième oeil m'a menti!"
+
+msgid "MAP127_TRAINER_3"
+msgstr "Pour arriver au Tournoi de Tandor, \ntu dois d'abord traverser la Route Victoire. \nTu crois pouvoir y arriver, Dresseur?"
+
+msgid "MAP127_TRAINER_3_DEFEAT"
+msgstr "On dirait que moi, j'y arriverai pas..."
+
+msgid "MAP127_TRAINER_4"
+msgstr "Peux-tu survivre à ma charge de 50,000 volts?!"
+
+msgid "MAP127_TRAINER_4_DEFEAT"
+msgstr "T'as l'air bien relié au sol."
+
+msgid "MAP127_TRAINER_5"
+msgstr "Pourquoi se spécialiser que dans un seul type? \nJe préfère tous les utiliser!"
+
+msgid "MAP127_TRAINER_5_DEFEAT"
+msgstr "C'était juste pour du beurre."
+
+msgid "MAP128_NPC_1"
+msgstr "Cette ville sent le défi! A la fin de l'année, la Route Victoire sera à nouveau ouverte pour le Championnat."
+
+msgid "MAP128_NPC_2"
+msgstr "J'ai peur pour la bibliothèque de Vinoville... Certains de ces livres étaient des artefacts inestimables datant de la fondation de Tandor."
+
+msgid "MAP128_NPC_3"
+msgstr "Nous devons prier Aotius et Mutios pour qu'ils nous guident. Eux seuls seront capables de nous faire traverser ces temps sombres."
+
+msgid "MAP128_NPC_4"
+msgstr "Viens, mon enfant. \nTu es angoissé. Les temps sont obscurs. Nous devons nous tourner vers la lumière et trouver le droit chemin. Écouteras-tu mon sermon? Très bien. \nNous vivons dans un monde où nous sommes constamment confrontés à des choix. Parfois importants, parfois insignifiants. Parfois les choix insignifiants ont des effets importants. C'est notre pouvoir de choisir qui nous rend spéciaux. C'est un don d'Aotius qui nous permet de nous forger nos propres chemins. Toutefois, il y a un côté sombre à chaque choix. Et ceci est le don de Mutios. Les actes avant qu'on ne les fasse. Tu te demandes sûrement, pourquoi un tel don? Ne serait-ce pas mieux si nous pouvions agir librement, sans craindre les répercussions? Mais dans ce cas, nous ne saurions pas si nos actes blessent les autres. En cela, la vie est un équilibre constant. ... Pour qu'il y ait de la joie dans le monde, il doit aussi y avoir de la souffrance. Pour devenir le meilleur, ceux qui sont les pires doivent exister. Mais nous devons croire en la puissance des Dieux. Ils sont affectueux et bons, je te l'assure. Merci d'avoir écouté, mon enfant. Que la bénédiction des Dieux soit avec toi. Le savoir sera toujours là pour ceux qui le recherchent."
+
+msgid "MAP128_NPC_5"
+msgstr "Sniff... \nSi je prie Aotius, fera-t-il un monde meilleur, comme avant?"
+
+msgid "MAP128_SIGN_1"
+msgstr "Fort Légende : Le Berceau des Héros!"
+
+msgid "MAP128_SIGN_2"
+msgstr "Station de Métro de Fort Légende."
+
+msgid "MAP128_SIGN_3"
+msgstr "Route Victoire de Tandor Ouest droit devant."
+
+msgid "MAP128_SIGN_4"
+msgstr "Tente de Super-Entraînement. Tuteur : Kenichi"
+
+msgid "MAP128_SIGN_5"
+msgstr "Route 09 - Vers Cascaroc"
+
+msgid "MAP129_NPC_1"
+msgstr "Enfin, je peux aller où je veux à Tandor Ouest!\n...Mais je veux aller nulle part, je suis trop fainéant."
+
+msgid "MAP129_NPC_2"
+msgstr "Les Rangers de Tandor offrent des Billets S.N.C.T. aux gens touchés par la catastrophe de Vinoville.\nTiens, prends-en un."
+
+msgid "MAP130_NPC_1"
+msgstr "Hé, t'es un Dresseur? Chouette! Écoute, tu veux faire un échange? Je recherche un Togrocrok. Si t'en as un, je te l'échangerai contre mon Phénardant. J'pense pas que ce soit un Togrocrok, mon gars!"
+
+msgid "MAP131_NPC_1"
+msgstr "Les participants du tournoi ne peuvent pas sortir de la zone d'attente tant qu'ils ne perdent pas ou qu'ils ne deviennent pas Champion. Quand tu es prê{t|te} pour ton prochain match, parle au préposé à l'entrée de l'Arène."
+
+msgid "MAP132_SIGN_1"
+msgstr "Tunnel vers la Caverne Lanthanite."
+
+msgid "MAP132_SIGN_2"
+msgstr "Astuce! \nLes talents Isograisse et Toison Épaisse sont des talents défensifs. Isograisse divise par deux les dégâts des attaques de type Feu et Glace. Toison Épaisse réduit de moitié les dégâts subis par les attaques physiques. Sois stratégique quand tu attaques un Pokémon ayant un de ces talents!"
+
+msgid "MAP132_SIGN_3"
+msgstr "AVERTISSEMENT GROTTE LANTHANITE : GLACE FINE ATTENTION AUX FISSURES"
+
+msgid "MAP132_TRAINER_1"
+msgstr "Ouah mec, la glace est trop glissante quoi!"
+
+msgid "MAP132_TRAINER_1_DEFEAT"
+msgstr "Aïe!"
+
+msgid "MAP132_TRAINER_2"
+msgstr "tes Pokémon sont-ils adaptés à cet environnement gelé? Les miens le sont!"
+
+msgid "MAP132_TRAINER_2_DEFEAT"
+msgstr "Oui, tu as l'air prê{t|te}."
+
+msgid "MAP132_TRAINER_3"
+msgstr "Seuls les plus forts peuvent traverser la montagne!"
+
+msgid "MAP132_TRAINER_3_DEFEAT"
+msgstr "Cette défaite valait le coup!"
+
+msgid "MAP132_TRAINER_4"
+msgstr "Seuls les plus forts peuvent traverser la montagne!"
+
+msgid "MAP132_TRAINER_4_DEFEAT"
+msgstr "Cette défaite valait le coup!"
+
+msgid "MAP132_TRAINER_5"
+msgstr "Brr! J'ai froid! Réchauffons-nous avec un combat!"
+
+msgid "MAP132_TRAINER_5_DEFEAT"
+msgstr "Glacial!"
+
+msgid "MAP132_TRAINER_6"
+msgstr "Ces montagnes enneigées sont remplies de trucs dangereux."
+
+msgid "MAP132_TRAINER_6_DEFEAT"
+msgstr "Tu peux clairement te débrouiller seul."
+
+msgid "MAP132_TRAINER_7"
+msgstr "Seuls les plus forts peuvent traverser la montagne!"
+
+msgid "MAP132_TRAINER_7_DEFEAT"
+msgstr "Cette défaite valait le coup!"
+
+msgid "MAP132_TRAINER_8"
+msgstr "Hé, toi! T'es de quel côté?"
+
+msgid "MAP132_TRAINER_8_DEFEAT"
+msgstr "Apparemment, pas de mon côté..."
+
+msgid "MAP133_NPC_1"
+msgstr "J'ai passé la journée ici et toujours rien... Pas même une morsure! Je déteste entendre ça encore et encore dans ma tête. Quoi qu'il en soit, gamin, tu t'en sortirai peut-être mieux. Je veux dire, tu ne peux pas être aussi mauvais que moi à ça... J'imagine que c'est pour ça que je suis un navigateur et pas un pêcheur! Tiens, prends ça. Je n'en n'aurai jamais besoin! Retour à la vie de bateau de croisière pour moi, j'imagine... Ou peut-être que je vais trouver ces pirates dont la rumeur dit qu'ils sont près de Angélure!"
+
+msgid "MAP133_SIGN_1"
+msgstr "Super Tente d'Entraînement. Tuteur : Hitomi"
+
+msgid "MAP133_TRAINER_1"
+msgstr "J'étais à l'pêche toute la journée, mais j'peux que chopper ces vieux godillots!"
+
+msgid "MAP133_TRAINER_1_DEFEAT"
+msgstr "Oh, j'ai cassé ma ligne."
+
+msgid "MAP133_TRAINER_2"
+msgstr "Je viens d'une grande famille de pêcheurs. Pêcher est mon héritage!"
+
+msgid "MAP133_TRAINER_2_DEFEAT"
+msgstr "Saperlipopette, j'ai cassé ma ligne."
+
+msgid "MAP133_TRAINER_3"
+msgstr "Si tu as la CS Plongée, tu peux explorer les fonds marins."
+
+msgid "MAP133_TRAINER_3_DEFEAT"
+msgstr "Coule ou nage!"
+
+msgid "MAP133_TRAINER_4"
+msgstr "Si tu vois des bulles en dessous, ça veut dire qu'il y a un Pokémon au fond!"
+
+msgid "MAP133_TRAINER_4_DEFEAT"
+msgstr "Gloub!"
+
+msgid "MAP133_TRAINER_5"
+msgstr "Famille, devoir, honneur, pêche."
+
+msgid "MAP133_TRAINER_5_DEFEAT"
+msgstr "J'ai été battu honorablement!"
+
+msgid "MAP133_TRAINER_6"
+msgstr "Mon but dans la vie, c'est d'être en couverture du Magazine Pokémon Illustré."
+
+msgid "MAP133_TRAINER_6_DEFEAT"
+msgstr "Aaaaah! C'est pas sympa!"
+
+msgid "MAP133_TRAINER_7"
+msgstr "Tu me déranges dans ma méditation!"
+
+msgid "MAP133_TRAINER_7_DEFEAT"
+msgstr "Ma concentration s'est brisée!"
+
+msgid "MAP133_TRAINER_8"
+msgstr "Point culture! Crevanon peut tirer des salves d'eau bouillante par ses griffes!"
+
+msgid "MAP133_TRAINER_8_DEFEAT"
+msgstr "Ouille! Ça brûle!"
+
+msgid "MAP133_TRAINER_9"
+msgstr "Nager est la meilleure chose à faire pour garder la forme!"
+
+msgid "MAP133_TRAINER_9_DEFEAT"
+msgstr "J'ai mal aux bras..."
+
+msgid "MAP134_NPC_1"
+msgstr "Il fait plus froid vers le nord. Je ne peux plus porter ma minijupe tous les jours."
+
+msgid "MAP134_NPC_2"
+msgstr "Qu'est-ce qu'un Dresseur comme toi fait à Port-Argent? Si tu cherches l'Arène, regarde plutôt à RiveNeige, plus à l'est."
+
+msgid "MAP134_NPC_3"
+msgstr "As-tu vu le Labo Pokémon de Port-Argent? J'ai entendu dire qu'ils faisaient des recherches importantes."
+
+msgid "MAP134_NPC_4"
+msgstr "Port-Argent a été fondé comme un avant-poste de pêche. La plupart des résidents partent tous les jours pour pêcher, comme mon mari."
+
+msgid "MAP134_SIGN_1"
+msgstr "Port-Argent : Une brise maritime fraîche apportant de nouvelles promesses!"
+
+msgid "MAP134_SIGN_2"
+msgstr "Labo de Recherche Pokémon de Larkspur"
+
+msgid "MAP134_TRAINER_1"
+msgstr "Ehh? Toi là-bas... \nTu ne serais pas un \nDresseur Pokémon, non? \nHahaha! J'peux l'voir juste à tes fringues! Écoute, j'navigue dans ces \nocéans depuis qu'j'suis en âge de l'faire. \nRécemment, y'a eu des eaux troubles... \nT'as p'têt entendu, mais y'a des pirates dans ces eaux! Un frêle et vieux pêcheur comme moi n'a \naucune chance contre eux. \nMais, avec un bon Dresseur à bord, \nj'pense qu'ils nous laisseraient tranquille. \nT'vas p'têt à Venesi? \nJ'serais heureux d't'y amener. Ohé ohé! Larguez les amarres, \nterrien pouilleux!\n... Euh, j'veux dire... \nArrrgh, J'ai tout gâché! Arrrr, terrien pouilleux!\n...Er, J'veux dire...\nArrgh, J'ai tout gâché! Arrrr... J'me suis déguisé \nen vieillard! \nJ'allais t'voler tous tes \nPokémon quand on s'rait en mer. \nMais cette phrase de pirate m'a échappée. On devra faire ça à la dure! File-moi tes Pokémon , \nou tu march'ra sur la planche! Arrrghh... \nSilva va m'engueuler après ça... \nSois-en sûr, terrien! \nJack le Pirate n'en a pas fini avec toi! \nLarguez les amarres! Excuse-moi! J'ai regardé \nvotre combat de loin... \nCe type était un pirate, pas vrai? \nJe m'en doutais. \nNormalement, les Pirates du Drapeau Noir \nne montent pas trop au nord. \nIls sont de plus en plus envahissants. \nEn tout cas, je voudrais te remercier. \nTu lui a donné une bonne leçon. \nJ'espère qu'il ne reviendra pas\ntraîner à Port-Argent. \nSi je peux faire quelque chose pour t'aider... \nOh, je peux t'amener à Venesi \nsur mon bateau, si tu veux. Qu'est-ce que t'en dis? Tous à bord! Non? \nJe te promets que je ne suis pas un pirate! \nEh bien, si tu changes d'avis,\nreviens me voir."
+
+msgid "MAP134_TRAINER_1_DEFEAT"
+msgstr "Arrrrrghhh!"
+
+msgid "MAP135_NPC_1"
+msgstr "J'ai glissé comme un ouf sur la montagne aujourd'hui!"
+
+msgid "MAP135_NPC_2"
+msgstr "Brr! T'as atteint la glaciale Riveneige!"
+
+msgid "MAP135_NPC_3"
+msgstr "Cette ville est toujours silencieuse à cause de la neigne tombante. Apprécie-donc la chute de ces flocons."
+
+msgid "MAP135_NPC_4"
+msgstr "Eh mec, ces parcours sont carrément dingues!"
+
+msgid "MAP135_NPC_5"
+msgstr "Tu connais le Pokémon Alpico? Si t'en as un, tu veux l'échanger contre mon Andésol? Tu n'as même pas de Pokémon... D'accord, cool! C'est dommage."
+
+msgid "MAP135_SIGN_1"
+msgstr "Riveneige : Un village Enroulé dans la Poudreuse"
+
+msgid "MAP136_NPC_1"
+msgstr "Vous devriez parler à votre ami pour entrer."
+
+msgid "MAP136_SIGN_1"
+msgstr "Champion de l'Arène de Riveneige : Vaeryn, le Maître Dragon des Méga-Evolutions"
+
+msgid "MAP137_NPC_1"
+msgstr "Bonne chance à vous deux pour vos combats!"
+
+msgid "MAP137_NPC_2"
+msgstr "Vaeryn : Excellent choix."
+
+msgid "MAP137_SIGN_1"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP137_SIGN_2"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP137_TRAINER_1"
+msgstr "Très bien. Vous avez réussi la première partie de l'épreuve. Maintenant, voyons voir si vous pouvez surpasser ma force en combat! Bien joué. Vous avez réussi l'épreuve de la Force. Avancez."
+
+msgid "MAP137_TRAINER_1_DEFEAT"
+msgstr "Vous avez démontré votre puissance."
+
+msgid "MAP137_TRAINER_2"
+msgstr "Très bien. Je vois que vous avez su utiliser votre esprit pour trouver le chemin. Maintenant, prouvez votre sagesse en contrant mes stratégies! Vous avez terminé l'épreuve de la Sagesse. Suivez-moi et je vous amènerai à l'épreuve suivante."
+
+msgid "MAP137_TRAINER_2_DEFEAT"
+msgstr "Bien joué."
+
+msgid "MAP137_TRAINER_3"
+msgstr "Excellent travail. Vous avez montré que vous aviez foi en vos propres facultés. Mais avez-vous foi en vos Pokémon? En ayant foi en l'intuition de vos Pokémon, vous leur avez permis de prouver leur puissance. Vous avez réussi l'épreuve de la Foi. Suivez-moi."
+
+msgid "MAP137_TRAINER_3_DEFEAT"
+msgstr "Bien joué."
+
+msgid "MAP139_NPC_1"
+msgstr "J'esquive tes attaques avec ma technique ninja! Agile et silencieux, je m'infiltre derrière toi et t'endors avec mon gaz narcoleptique!"
+
+msgid "MAP139_NPC_2"
+msgstr "Je suis un fier pirate des mers! Ouais moussaillon! Sale anguille! Je te transpercerai de mon coutelas!"
+
+msgid "MAP139_NPC_3"
+msgstr "Je laisse les enfants jouer à pirate et ninjas... Mais pour être honnête, j'aurais aimé qu'ils jouent à autre chose. Ici à Tandor Est, les pirates sont dans tout l'océan et personne ne sait ce que font les ninjas..."
+
+msgid "MAP139_NPC_4"
+msgstr "Daikathona est un des Pokémon favoris des ninjas. Pour attraper un Daikathona, il te faudra une ligne en métal et un appât spécial, sinon, sa lame découpera ta ligne."
+
+msgid "MAP139_NPC_5"
+msgstr "Parfois, quand j'allais en mer trop longtemps, je pouvais entendre la douce voix d'une femme m'appeler. Le Pokémon Sirénaïade a un cri presqu'humain et un aspect féminin. Elles attirent les marins à leur perte."
+
+msgid "MAP139_NPC_6"
+msgstr "Tu connais l'attaque Puissance Cachée? Elle est différente pour chaque Pokémon. J'ai le pouvoir de prédire comment sera l'attaque Puissance Cachée rien qu'en regardant un Pokémon. Qui dois-je examiner? Dois-je regarder un autre Pokémon? Amène-moi un Pokémon si tu veux connaître sa Puissance Cachée. Amène-moi un Pokémon si tu veux \nconnaître sa Puissance Cachée."
+
+msgid "MAP140_NPC_1"
+msgstr "Désolé, mais ça ne serait pas prudent de t'aventurer seul sur cette route pour l'instant."
+
+msgid "MAP140_NPC_2"
+msgstr "Désolé, mais ça ne serait pas prudent de t'aventurer seul sur cette route pour l'instant."
+
+msgid "MAP140_NPC_3"
+msgstr "On cherche un moyen de s'approcher de la centrale détruite en sécurité. Une combinaison de protection complète est indispensable. Nos meilleurs chercheurs sont en train d'en développer une."
+
+msgid "MAP140_NPC_4"
+msgstr "C'est impossible que se soit juste un pur accident... La centrale de Vinoville était complètement opréationnelle il y a seulement quelques jours , et si tôt après l'incident de Vagune... Nos agents à Vagune travaillent dur aussi en ce moment. Nous avons dû appeler des Rangers de l'Est de Tandor en renfort."
+
+msgid "MAP140_NPC_5"
+msgstr "Bon sang... Nous les Rangers nous sommes mal équipés pour nous en charger... Habituellement nos Capsticks nous servent à calmer les Pokémon en furie et contrôler leurs pouvoirs pour préserver la nature. Mais ils ne fonctionnent pas sur les types Nucléaire! Nous avons dû compter sur nos compagnons Pokémon et les Dresseurs volontaires pour nous aider."
+
+msgid "MAP140_NPC_6"
+msgstr "Tu nous a sauvé! Merci beaucoup! J'ai eu si peur... J'ai entendu un bruit qui ressemblait à un tremblement de terre ou à une explosion, et je me suis caché... Quand je me suis rendu compte de ce qui se passait, la ville était déjà évacuée. Je suis content que les Rangers soient venus au bon moment."
+
+msgid "MAP140_NPC_7"
+msgstr "Woooow! Tu es trop cool! Es-tu un Maître Pokémon? Quand je serai grand, je voudrais devenir un Ranger!"
+
+msgid "MAP140_NPC_8"
+msgstr "Pour s'assurer qu'il n'y ait pas d'éventuel empoisonnement radioactif, laisse-moi te faire un examen physique. ... Tu sembles aller bien. Ton exposition a été limitée à quelques minutes, tu n'as pas pu respirer beaucoup d'air contaminé à une aussi grande distance de l'épicentre. Prends ces Tablettes iodées de Potassium. Ça devrait aider à prévenir les effets à long terme de l'exposition."
+
+msgid "MAP141_NPC_1"
+msgstr "Je n'avais pas vu de combat aussi intense depuis des années. Il est clair que vous avez tous les deux entrepris un voyage incroyable. Maintenant le pouvoir de la Méga Évolution vous appartient. Utilisez le judicieusement, et rappelez-vous de tout ce que vous avez appris durant vos épreuves."
+
+msgid "MAP141_SIGN_1"
+msgstr "Acolyte: Ce défi va tester ta capacité à t'adapter à des changements soudains. Les éléments ne devraient pas être des obstacles sur ton chemin vers la perfection."
+
+msgid "MAP141_TRAINER_1"
+msgstr "Tu as montré que les forces de mère Nature ne sont pas suffisantes pour t'arrêter. Bats-moi pour prouver que ta polyvalence s'étend aussi à ton style de combat! Tu as réussi l'épreuve de l'Adaptation. Suis-moi, et je vais te conduire vers ta prochaine épreuve ."
+
+msgid "MAP141_TRAINER_1_DEFEAT"
+msgstr "Très bien ."
+
+msgid "MAP141_TRAINER_2"
+msgstr "Vous avez progressé, entrepris de nombreuses tâches ardues, pour finalement atteindre la vérité. Ceci sera votre dernière épreuve . Vous n'avez pas le droit d'utiliser des objets durant ce combat . Ayez simplement confiance en vos Pokémon et avancez sans hésitation! Vous avez achevé les cinq épreuves . Vous pouvez maintenant combattre le Champion d'Arène Vaeryn. Venez."
+
+msgid "MAP141_TRAINER_2_DEFEAT"
+msgstr "Très bien ."
+
+msgid "MAP141_TRAINER_3"
+msgstr "Vaeryn : Challengers. \nMes acolytes m'ont dit que vous avez passé les cinq épreuves. Vous avez démontré une grande volonté pour aller aussi loin. Force, Sagesse, Adaptation, Foi, Volonté, et le désir d'atteindre la Vérité... toutes les caractéristiques d'un honnête Dresseur. Seuls ceux au coeur pur et empli de détermination peuvent être dignes d'utiliser la puissance de la Méga Evolution . Théo: Très bien! \nEt maintenant moi et PN allons te battre! Vaeryn: JE SUIS VAERYN LE DRAGON! Arbitre des Méga Evolutions de Tandor! Vous avez peut-être passé les épreuves, mais un dernier test vous attend! Montrez-moi que vous en êtes dignes! PN et Théo obtiennent le badge Apex! Théo: Whoooooooop!!!! Vaeryn: Je vais aussi vous donner à tous les deux cette CT. Vaeryn: Cette CT contient Souffle Corrosif. C'est une puissante attaque de type Dragon qui écorche les défenses de l'adversaire. Maintenant... Théo: Pouvons nous maintenant obtenir la Méga Evolution?? Vaeryn: Oui, il est temps. Tendez-moi vos poignets, tous les deux. PN et Théo obtiennent un Méga-Bracelet! Vaeryn: Je devrai vous expliquer brièvement comment la Méga Evolution fonctionne. Cette Gemme Sésame dans votre bracelet est un catalyseur. Lorsqu'un Pokémon capable de Méga Evoluer tient la Méga Gemme correspondante, les deux pierres réagissent dans le feu de l'action à leur plein plein potentiel. Ton lien avec ton Pokémon lui permet de révéler tout son potentiel. Maintenant, est ce que vous avez tous les deux des Pokémon capables de Méga Evoluer? Théo : Oui! Je vais faire Méga evoluer mon courageux Cavalux! Théo reçoit une Cavaluxite! Théo : Oui! Je vais faire Méga evoluer mon courageux Caldéraptor! Théo reçoit une Caldéraptorite! Théo : Oui! Je vais faire Méga evoluer mon courageux Métalynx! Théo reçoit une Métalynxite! Vaeryn: Très bien. Et toi alors, PN? Vaeryn: Excellent choix! PN équipe avec la Méga Gemme . L'ancien objet tenu est placé dans le sac de PN. [Le Pokémon va en tête de l'équipe.] Vaeryn: Oh, tu n'as aucun Pokémon que tu voudrais faire Méga Evoluer? C'est dommage, mais tu dois absolument avoir un Pokémon qui Méga Evolue pour ton premier combat. Mon Pharamp est prêt à relever le défi. Je vais te le prêter temporairement. Choisis un Pokémon à exclure de l'équipe. [Pharamp va en tête de l'équipe .] Théo: Allons y! \nPN, Je vais attaquer de toutes mes forces en utilisant la Méga Evolution! Prépare toi! ...Bon... On dirait que j'ai encore perdu! Haha! Certaines choses ne changent pas, même avec la Méga Evolution. Bien sûr, tu as également un Méga de ton côté, du coup je ne suis pas surpris! Théo: ...Je l'ai fait! J'ai battu PN! Oh, tu t'es vraiment bien battu aussi . ... Je n'y crois pas! J'ai gagné! Et tout ça grace à Cavalux! ...Bon... On dirait que j'ai encore perdu! Haha! Certaines choses ne changent pas, même avec la Méga Evolution. Bien sûr, tu as également un Méga de ton côté, du coup je ne suis pas surpris! Théo: ...Je l'ai fait! J'ai battu PN! Oh, tu t'es vraiment bien battu aussi . ...Je n'y crois pas! J'ai gagné! Et tout ça grace à Caldéraptor! ...Bon... On dirait que j'ai encore perdu! Haha! Certaines choses ne changent pas, même avec la Méga Evolution. Bien sûr, tu as également un Méga de ton côté, du coup je ne suis pas surpris! Théo: ...Je l'ai fait! J'ai battu PN! Oh, tu t'es vraiment bien battu aussi . ...Je n'y crois pas! J'ai gagné! Et tout ça grace à Métalynx! Vaeryn : Vous avez tous les deux bien combattu. Je n'avais pas vu de combat aussi intense depuis des années. Il est clair que chacun de vous a réalisé un incroyable périple. Maintenant, le pouvoir de la Méga Evolution est vôtre. Utilisez le avec sagesse, souvenez-vous de ce que vous avez appris durant vos épreuves. Théo: Comptez sur moi! Vaeryn: Bien. \nJe vous souhaite bonne chance dans votre voyage. [Pharamp quitte l'équipe de PN.] Théo: PN, je pense qu'on devrait dire au Prof que nous avons le pouvoir de la Méga Evolution . Il sera ravi! Je vais l'appeler avec mon PokéPod tout de suite. Bamb'o: Allo? ...Théo? Théo: Prof! Je suis avec PN! Bamb'o: Oh, ça alors, PN est ici aussi! Alors que se passe-t-il? Théo: Vous n'allez pas y croire! PN et moi nous avons battu le Champion d'Arène Vaeryn! Et il nous a donné ces Méga Bracelets! Maintenant nous pouvons utiliser le pouvoir de la Méga Evolution!!! Bamb'o: Méga Evolution? C'est fantastique! On dirait que je vais devoir faire une mise à jour de vos Pokédex. On dirait que vous êtes encore à Banqueneige, donc je vais voler jusqu'à vous en un instant. Théo: Très bien! \nA tout de suite, Professeur! ...... ...... Bien, donc, PN... \nOn reparlera bientôt! A plus tard!"
+
+msgid "MAP141_TRAINER_3_DEFEAT"
+msgstr "Vous vous êtes tous les deux montrés dignes d'obtenir la puissance de la Méga Evolution ."
+
+msgid "MAP142_SIGN_1"
+msgstr "Grotte Comète"
+
+msgid "MAP142_SIGN_2"
+msgstr " Cascaroc"
+
+msgid "MAP142_TRAINER_1"
+msgstr "Hey hey! Tu vas où?"
+
+msgid "MAP142_TRAINER_1_DEFEAT"
+msgstr "Oh... J'aurais pas dû demander..."
+
+msgid "MAP142_TRAINER_2"
+msgstr "Les feuilles qui tombent c'est cool, mais les plages de Vagune me manquent..."
+
+msgid "MAP142_TRAINER_2_DEFEAT"
+msgstr "Oh, tu ne peux pas traiter une demoiselle comme ça!"
+
+msgid "MAP142_TRAINER_3"
+msgstr "Hey, dégage de ma plage!"
+
+msgid "MAP142_TRAINER_3_DEFEAT"
+msgstr "Pourquoi t'as envahi ma plage?"
+
+msgid "MAP142_TRAINER_4"
+msgstr "Selon moi, c'est la plus jolie route de tout Tandor!"
+
+msgid "MAP142_TRAINER_4_DEFEAT"
+msgstr "Les gens ne nous prennent jamais au sérieux pendant les combats, nous, les campeurs, mais on adore explorer et profiter des environnements naturels . Tu devrais prendre le temps d'apprécier la beauté de Tandor!"
+
+msgid "MAP142_TRAINER_5"
+msgstr "Hé, tu pourrais m'aider? Je pense que j'ai pris un mauvais chemin à Vinoville..."
+
+msgid "MAP142_TRAINER_5_DEFEAT"
+msgstr "D'abord je me perd, après je perd un combat Pokémon... Je devrais peut être devenir un super Nerd et juste rester chez moi!"
+
+msgid "MAP142_TRAINER_6"
+msgstr "???: Hiyah! ???: Qui va là? ???: T'es sur notre territoire là! ???: Attention à l'intrus! ???: Les surfers ninjas vont te battre à plate couture! Ronin: Tu as gagné pour cette fois, mais ne te fais pas d'illusions... Juunin: Notre clan nous vengera! Ronin: Ne dors que d’un oeil!"
+
+msgid "MAP142_TRAINER_6_DEFEAT"
+msgstr "Ronin: Frangin, ils sont forts!"
+
+msgid "MAP143_NPC_1"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_10"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_2"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_3"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_4"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_5"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_6"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_7"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_8"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_NPC_9"
+msgstr "Veux-tu cueillir les baies sur cet arbre?"
+
+msgid "MAP143_SIGN_1"
+msgstr "Conseil de Dresseur!\nLes insectes sont voraces. AT TION U EIKA ATER ...\nC'est trop arraché, impossible à lire..."
+
+msgid "MAP143_SIGN_2"
+msgstr "Tente de Super Entraînement. Tuteur : Daichi"
+
+msgid "MAP143_TRAINER_1"
+msgstr "Bienvenue dans la forêt Baykal, voyageur! C'est ta première visite? Battons-nous!"
+
+msgid "MAP143_TRAINER_1_DEFEAT"
+msgstr "Ouïlle! Et voici l'effet de la séléction naturelle!"
+
+msgid "MAP143_TRAINER_2"
+msgstr "Oh, tu dois avoir des Pokémon venus de tous les coins de la région! Je veux les voir!"
+
+msgid "MAP143_TRAINER_2_DEFEAT"
+msgstr "Je vois, je vois!"
+
+msgid "MAP143_TRAINER_3"
+msgstr "Feuillis est loin. Je sais pas si j'y arriverai..."
+
+msgid "MAP143_TRAINER_3_DEFEAT"
+msgstr "Je vais périr dans ces bois."
+
+msgid "MAP143_TRAINER_4"
+msgstr "Theo : Hey! \n... J'ai battu Sheldon! C'était facile. J'ai l'impression que tu as déjà nettoyé cet endroit. Bref. Je vais te rattraper! Bamb'o est venu me voir. Il m'a filé cette CS et m'a dit de t'en donner une copie... Mais je veux pas! Tout d'abord, je veux te battre!"
+
+msgid "MAP143_TRAINER_4_DEFEAT"
+msgstr "Non! C'est pas juuuuuste!"
+
+msgid "MAP143_TRAINER_5"
+msgstr "Theo : Hey! \n... J'ai battu Sheldon! C'était facile. J'ai l'impression que tu as déjà nettoyé cet endroit. Bref. Je vais te rattraper! Bamb'o est venu me voir. Il m'a filé cette CS et m'a dit de t'en donner une copie... Mais je veux pas! Tout d'abord, je veux te battre!"
+
+msgid "MAP143_TRAINER_5_DEFEAT"
+msgstr "Non! C'est pas juuuuuste!"
+
+msgid "MAP143_TRAINER_6"
+msgstr "Les parfums de Kalos sont les meilleurs!"
+
+msgid "MAP143_TRAINER_6_DEFEAT"
+msgstr "Ça ne sent pas bon pour moi!"
+
+msgid "MAP143_TRAINER_7"
+msgstr "Quand j'entre dans la forêt, j'ai l'impression d'être dans un autre monde."
+
+msgid "MAP143_TRAINER_7_DEFEAT"
+msgstr "Bwaaaaaah!"
+
+msgid "MAP143_TRAINER_8"
+msgstr "Oh, j'espère que je vais pas me faire mordre pas ces Pokémon poissons sauvages! Leurs dents sont pointues."
+
+msgid "MAP143_TRAINER_8_DEFEAT"
+msgstr "Je veux juste te causer, mec, pourquoi tu m'attaques sans crier gare?"
+
+msgid "MAP144_NPC_1"
+msgstr "Chaque jour, je me réveille, et je prends une gondole pour aller au travail. La vie ici est géniale!"
+
+msgid "MAP144_NPC_10"
+msgstr "J'ai pas vu un Gargryph par ici? Ils me font pas peur."
+
+msgid "MAP144_NPC_11"
+msgstr "Pourquoi l'eau est si bleue? Dans mon rêve elle était mauve, rose, et bien plus encore!"
+
+msgid "MAP144_NPC_12"
+msgstr "*Ronronne*..."
+
+msgid "MAP144_NPC_2"
+msgstr "T'as vu L'Opéra de Venesi? C'est l'un de nos plus fameux monuments."
+
+msgid "MAP144_NPC_3"
+msgstr "Je l'ai vu! J'ai vu un Pokémon oiseau blanc! Mais ensuite il a disparu..."
+
+msgid "MAP144_NPC_4"
+msgstr "On ne dirait pas que ces statues clignent des yeux de temps en temps?"
+
+msgid "MAP144_NPC_5"
+msgstr "Tu vois ces statues? On dit que ce sont les gardiens de la cité."
+
+msgid "MAP144_NPC_6"
+msgstr "As-tu déjà fait un tour en gondole? Tu dois essayer."
+
+msgid "MAP144_NPC_7"
+msgstr "Satanés rats... Cette ville en est infestée! Ils font leurs gribouillis partout sur les murs!"
+
+msgid "MAP144_NPC_8"
+msgstr "Dis, tu connais le Pokémon Titagivre? J'en cherche un partout. Je peux t'en échanger un contre Gargryph. Mais tu n'en as pas... D'accord, fais voir ce que tu as? Prends soin de lui! Youpi, j'ai un Titagivre heureux maintenant! Ce n'est pas un Titagivre... allez, tu plaisantes!"
+
+msgid "MAP144_NPC_9"
+msgstr "Venesi est connue pour bien des choses .\nL'art, le théâtre, et surtout, les canaux!"
+
+msgid "MAP144_SIGN_1"
+msgstr "Bienvenue à Venesi\nLa Magnifique Ville Aqueuse"
+
+msgid "MAP144_SIGN_2"
+msgstr "Le Tanoctur Éméché:\n Célèbre Pub de Venisi!"
+
+msgid "MAP144_SIGN_3"
+msgstr "Opéra de Venesi et Arène."
+
+msgid "MAP145_NPC_1"
+msgstr "Quelqu'un a perdu son Evoli dans le labyrinthe et la police de Tandor fait une battue, tout accès est interdit pour le moment."
+
+msgid "MAP145_SIGN_1"
+msgstr "Venesi droit devant."
+
+msgid "MAP145_TRAINER_1"
+msgstr "Ta défaite... Je le lis dans mes cartes!"
+
+msgid "MAP145_TRAINER_1_DEFEAT"
+msgstr "Je vois, je vois!"
+
+msgid "MAP145_TRAINER_2"
+msgstr "Écarte-toi, le prolo! Tu bloques ma vue!"
+
+msgid "MAP145_TRAINER_2_DEFEAT"
+msgstr "Battu par un simple roturier?!"
+
+msgid "MAP145_TRAINER_3"
+msgstr "Hé, toi! T'es de quel côté?"
+
+msgid "MAP145_TRAINER_3_DEFEAT"
+msgstr "Ben t'es pas de mon côté, c'est sûr..."
+
+msgid "MAP145_TRAINER_4"
+msgstr "Oh, tu m'as surpris à bronzer sous le soleil! Je pense qu'il est grand temps pour un combat."
+
+msgid "MAP145_TRAINER_4_DEFEAT"
+msgstr "Tout ce stress est mauvais pour ma peau."
+
+msgid "MAP145_TRAINER_5"
+msgstr "Hé, tu veux voir un tour cool? J'peux avaler du feu!"
+
+msgid "MAP145_TRAINER_5_DEFEAT"
+msgstr "Aïe, ma langue!"
+
+msgid "MAP145_TRAINER_6"
+msgstr "Tu vois ce que je vois?"
+
+msgid "MAP145_TRAINER_6_DEFEAT"
+msgstr "Incroyable!"
+
+msgid "MAP145_TRAINER_7"
+msgstr "Je viens des montagnes du nord, à la recherche d'un Dresseur fort pour m'affronter!"
+
+msgid "MAP145_TRAINER_7_DEFEAT"
+msgstr "Je me suis fait dérouiller!"
+
+msgid "MAP145_TRAINER_8"
+msgstr "Tu me rappelles quelqu'un que j'ai vu à la télé!"
+
+msgid "MAP145_TRAINER_8_DEFEAT"
+msgstr "Je crois que j'ai encore confondu fiction et réalité..."
+
+msgid "MAP145_TRAINER_9"
+msgstr "Theo: Ah, c'est toi, PN. J'imagine que Bamb'o t'a fait venir. Je m'entraîne avant d'affronter l'arène de Venesi, que t'as sûrement déjà battu. ...Ouaip, c'est bien ce que je pensais. Auparavant, je me serais énervé et j'aurais pleuré pour ça. Mais... Je suppose qu'il y à d'autres choses dans la vie qui t'aident à prendre du recul. Maintenant, j'essaie juste de faire de mon mieux en tant que Dresseur. Mais avant cela, un p'tit combat? D'acco-d'ac, allons-y! Pas grave, mes Pokémon sont déjà épuisés par leur entraînement de toute façon. Fais-moi savoir si tu veux te battre à nouveau! Mes Pokémon en sortiront plus forts! Ah oui, d'ailleurs, le professeur Bamb'o m'a dit de te rappeler d'aller au Nord, en passant par cette cave là. Je te rattraperai plus tard!"
+
+msgid "MAP145_TRAINER_9_DEFEAT"
+msgstr "Tu as toujours une longueur d'avance..."
+
+msgid "MAP146_NPC_1"
+msgstr "L'existence de ce village symbolise l'harmonie entre nos peuples. Nous sommes venus ensemble pour bâtir ce symbole de paix après des centaines d'années de guerre."
+
+msgid "MAP146_NPC_2"
+msgstr "Je m'entraîne pour devenir un Maître Ninja! J'ai déjà développé ma propre technique! Crachat Ninja!\n*Ptouuuu*!"
+
+msgid "MAP146_NPC_3"
+msgstr "Rien ne peut égaler la vision d'un océan calme dans la nuit.\n Le reflet paisible de la lune et des étoiles... \. Ce paysage soulage ma vieille âme..."
+
+msgid "MAP146_NPC_4"
+msgstr "Au moins 10 ninjas sont présents au village à tout moment\. C'est juste que tu ne les vois pas la plupart du temps"
+
+msgid "MAP146_NPC_5"
+msgstr "Ce village possède le plus grand autel pour les Dieux de tout Tandor. Accessoirement, c'est aussi l'Arène du village."
+
+msgid "MAP146_NPC_6"
+msgstr "Pourquoi nous portons du noir tout le temps? Ben... ben parce que c'est cool! En plus, on remarque pas quand c'est sale!"
+
+msgid "MAP146_NPC_7"
+msgstr "Nous les ninjas travaillons sur notre image.\. Être mystérieux et mortel n'ont pas vraiment aidé pour nos relations publiques."
+
+msgid "MAP146_NPC_8"
+msgstr "Il y a tellement d'arts martiaux différents qui sont pratiqués ici! J'en aurai pour des années d'entraînement si je veux tous les maîtriser."
+
+msgid "MAP146_NPC_9"
+msgstr "Cette effigie représente le Pokémon Yatagaryu. C'est un Pokémon rare et sacré pour les clans ninja. Seuls les valeureux ont le droit de les dresser. On dit que Yatagaryu a le pouvoir d'invoquer à volonté les orages. Voilà pourquoi il est surnommé \"Le Pokémon Portempête\"."
+
+msgid "MAP146_SIGN_1"
+msgstr "Musée des Légendes : Trésors et Artéfacts des Cultures Antiques"
+
+msgid "MAP146_SIGN_2"
+msgstr "Musée des Légendes : \nTrésors et Artéfacts des Cultures Antiques."
+
+msgid "MAP146_SIGN_3"
+msgstr "Le Clair de Lune Lumineux\nRéfléchi par les Vagues de l'Océan Village Tsukinami"
+
+msgid "MAP146_SIGN_4"
+msgstr "Statue du puissant Daikathona"
+
+msgid "MAP146_SIGN_5"
+msgstr "Statue du grand Yatagaryu"
+
+msgid "MAP146_SIGN_6"
+msgstr "Statue du puissant Daikathona"
+
+msgid "MAP146_SIGN_7"
+msgstr "Trésors et aliments rares \nAu grés de la Fortune Achète-les ici!"
+
+msgid "MAP146_SIGN_8"
+msgstr "Temple sacré de Tsukinami\nEt Arène Pokémon"
+
+msgid "MAP147_NPC_1"
+msgstr "Hé, salut, l'ami! \nCeci est la sixième arène que tu dois vaincre pour compléter le Défi des Arènes de Tandor, et ma foi, il est extraordinaire! Cette fois-ci tu vas devoir compter sur ton intelligence. Ces planchers coulissants te feront glisser partout! Et pas seulement, tu dois en plus te méfier des trappes et des pièges à profusion! En plus, à propos du champion... Personne ne connaît son identité! Apparament il utilise beaucoup les Pokémon Psy... Bonne chance!"
+
+msgid "MAP147_TRAINER_1"
+msgstr "L'amour ne voit pas avec les yeux mais avec l'âme."
+
+msgid "MAP147_TRAINER_1_DEFEAT"
+msgstr "Ô, mon coeur endolori!"
+
+msgid "MAP147_TRAINER_2"
+msgstr "Avant tout, sois loyal envers toi-même!"
+
+msgid "MAP147_TRAINER_2_DEFEAT"
+msgstr "Remarquable!"
+
+msgid "MAP147_TRAINER_3"
+msgstr "Un fou croit être sage, mais un homme sage se sait être un imbécile."
+
+msgid "MAP147_TRAINER_3_DEFEAT"
+msgstr "Vaincue!"
+
+msgid "MAP147_TRAINER_4"
+msgstr "D’après la démangeaison de mes pouces, quelque chose de mauvais approche."
+
+msgid "MAP147_TRAINER_4_DEFEAT"
+msgstr "Heu... réplique?"
+
+msgid "MAP147_TRAINER_5"
+msgstr "Je te défierais bien dans un combat intellectuel, mais tu n'es pas équipé!"
+
+msgid "MAP147_TRAINER_5_DEFEAT"
+msgstr "Tu m'as eu!"
+
+msgid "MAP147_TRAINER_6"
+msgstr "Aha! Un adversaire s'approche! Et bien je vois que tu as su surmonter le puzzle endiablé des planchers coulissants ainsi que mes assistants. Mais as-tu la sagesse pour résoudre une dernière énigme? Bats-toi et prouve-le! Belle réussite. Tu as déjà dû percer ma ruse. Oui, cela est vrai! Je ne suis pas le champion que tu recherchais. Mais t'attendais-tu à... ÇA?"
+
+msgid "MAP147_TRAINER_6_DEFEAT"
+msgstr "Aha! Très ingénieux! Tu as dû t'apercevoir que quelque chose clochait..."
+
+msgid "MAP147_TRAINER_7"
+msgstr "\"Le monde entier n'est qu'un théâtre, et les hommes et les femmes ne sont que des acteurs ; Ils ont leurs entrées et leurs sorties ; Un homme, au cours de sa vie, joue différents rôles, Et les actes de sa pièce sont les sept âges.\" ??? : Laisse-moi te raconter une histoire. Il était une fois une fillette qui rêvait de devenir une diva d'opéra. Mais le théâtre de l'époque s'encroûtait dans les traditions, et il n'était pas permis aux femmes de jouer sur la scène. Alors elle vint avec un plan. Elle coupa tous ses cheveux, et s'habilla en garçon, et auditionna en tant que garçon. Ça a marché. Elle a eu le rôle, et quand elle monta sur scène, elle éblouit et enchanta tous les spectateurs qui étaient venus la voir jouer. Mais ce ne fut pas assez pour elle. Vivant dans un monde de mensonges et d'impostures, elle se lassa de la plus grave des idées reçues. Un jour donc, elle laissa derrière ses habits d'homme et son fard. Quand les rideaux se levèrent, l'audience la vit pour ce qu'elle était réellement : leur actrice adorée, une femme. L'audience fut frappée de surprise, parce qu'ils ne pouvaient pas nier ce qu'ils tenaient pour vérité dans leurs coeurs : qu'elle, une femme, pouvait jouer aussi bien que n'importe quel homme. Depuis ce jour, les choses se modifièrent. Le théâtre changea ses règles et les femmes purent auditionner. Et cette fillette, et bien... cette fillette c'est moi. Je suis Rosalind, diva de la scène et championne de l'arène de Venesi. Tu as bien fait, surmontant tromperie après tromperie pour trouver le chemin qui t'a mené ici. Mais as-tu ce qu'il faut pour me vaincre? Lever de rideau sur l'Acte Final! PN a reçu le Badge Théatre! Rosalind : Mon étoile me place au-dessus de toi ; mais ne redoute pas la grandeur : quelques-uns naissent grands, d’autres la conquièrent, et elle se donne librement à d’autres. Je ne sais pas dans quelle catégorie tu te trouves, mais il est certain que la grandeur est en toi. Je ne doute pas une seconde qu'avec tes ruses et \nta force, tu côtoieras les étoiles! Avant tout, sois loyal envers toi-même. Prend cette CT en souvenir de notre combat. Distorsion est une attaque sournoise, bien concoctée pour une dame des illusions telle que moi-même! Une fois lancée, Distorsion permet aux Pokémon les plus lents d'agir en premier. Utilise-la avec tactique!"
+
+msgid "MAP147_TRAINER_7_DEFEAT"
+msgstr "Quel spectacle! Tu mérites ce badge Théâtre!"
+
+msgid "MAP148_NPC_1"
+msgstr "pn! Quel plaisir de te voir à Vinoville. Sheldon est le Champion de cette arène. Il utilise les type acier, et la technologie! C'est franchement déplacé parmi ces charmantes campagnes, mais ne lui dis pas que je te l'ai dit. Le type acier résiste à beaucoup d'autres types, par contre, souviens-toi qu'il fond dans la flamme, se déforme sous le poing, et se fracture sous la terre. L'eau ça marche aussi généralement. Bonne chance!"
+
+msgid "MAP148_SIGN_1"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP148_SIGN_2"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP148_SIGN_3"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP148_SIGN_4"
+msgstr "Appuyer sur le bouton?"
+
+msgid "MAP148_TRAINER_1"
+msgstr "Qu'est-ce que tu connais des ordinateurs?"
+
+msgid "MAP148_TRAINER_1_DEFEAT"
+msgstr "C'est sûr t'en sais plus que moi..."
+
+msgid "MAP148_TRAINER_2"
+msgstr "Mate-moi ça! Je peux jouer le thème de Zelda à la guitare! Ça déchire, pô vrai?"
+
+msgid "MAP148_TRAINER_2_DEFEAT"
+msgstr "Game Over..."
+
+msgid "MAP148_TRAINER_3"
+msgstr "Lololol je suis une gameuseuh gurrrrl! Mouais, je suis une filleuh et je joue aux jeuuux vidéo-euh! o3o"
+
+msgid "MAP148_TRAINER_3_DEFEAT"
+msgstr "Yaaaargh!"
+
+msgid "MAP148_TRAINER_4"
+msgstr "Les experts théorisent que nous pourrions parvenir à un point critique où la technologie surpasserait l'intelligence humaine et pourrait s'améliorer elle-même par processus récursif."
+
+msgid "MAP148_TRAINER_4_DEFEAT"
+msgstr "Si tu me permets d'ajuster un peu les contrôles spatiaux..."
+
+msgid "MAP148_TRAINER_5"
+msgstr "pn. Je t'attendais. C'est un coup audacieux que t'as fait dans le champs de maïs. Je suis presque impressionné! Ah, mais embêter Ripley commençait à m'ennuyer. Tout m'ennuie dans ce village, tout. Voyons voir si tu es aussi fort que S51-A le pense! Oh... t'as résolu mes puzzles. Qu'importe. Ça me fatiguait d'attendre. Ce village est ennuyeux. Il n'y a rien à faire. Ces gens sont si heureux, à racler les champs, à prier, des trucs comme çà. Il ne comprennent rien! Ils ne savent donc pas que leurs vies sont sans but ni raison? Argh! Ça m'énerve! Mes Pokémon acier en ont marre de rouiller dans ce village tout moisi. TOI, tu feras un BON défouloir! Comment... \nComment tu fais pour être si fort? Je ne comprend rien. Je ne fais que m'entraîner encore et encore tous les jours, et là un gamin sort de nulle part... Enfin, bref. Je pense que je devrais te donner ça, tu as animé cette journée qui aurait été ennuyeuse autrement. pn a reçu le badge Pixel! Et, comme t'as gagné, je devrais aussi te filer ça. Cette CT contient Gyroballe. C'est une attaque acier qui est d'autant plus puissante que l'utilisateur est lent.... C'est un bon choix pour un Cervacier, mais inutile pour un Tracton. Du moment que t'es pas un crétin avec , c'est une attaque puissante."
+
+msgid "MAP148_TRAINER_5_DEFEAT"
+msgstr "QUOI?!"
+
+msgid "MAP150_NPC_1"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Ils ont vite pris la fuite. \nOn dirait que tu les as fâchés... Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_2"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Ils ont vite pris la fuite. \nOn dirait que tu les as fâchés... Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_3"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_4"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_5"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_6"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_7"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_NPC_8"
+msgstr "Une nuée d'insectes vous bloque le chemin! ... ...Utiliser l'insecticide? pn utilise de l'insecticide. Il est préférable de ne pas les mettre en colère. Une nuée d'insectes vous bloque le chemin, il est préférable de ne pas les mettre plus en colère..."
+
+msgid "MAP150_TRAINER_1"
+msgstr "Bwahahaha! Faible humain! Vous êtes dans l'Enfermillière maintenant!"
+
+msgid "MAP150_TRAINER_1_DEFEAT"
+msgstr "Écrasé!"
+
+msgid "MAP150_TRAINER_2"
+msgstr "Hé hé... Les passages tortueux, serpentueux de l'Enfermillière... Où mèneront-ils?"
+
+msgid "MAP150_TRAINER_2_DEFEAT"
+msgstr "Hein??"
+
+msgid "MAP150_TRAINER_3"
+msgstr "C'est un endroit de rêve pour un scout comme moi!"
+
+msgid "MAP150_TRAINER_3_DEFEAT"
+msgstr "Trop déçu..."
+
+msgid "MAP150_TRAINER_4"
+msgstr "C'est un endroit de rêve pour un scout comme moi!"
+
+msgid "MAP150_TRAINER_4_DEFEAT"
+msgstr "Trop déçu..."
+
+msgid "MAP151_NPC_1"
+msgstr "Tu es venu pour défier l'arène? Le champion n'est pas là. En fait, on ne l'a pas vu depuis qu'il est entré dans la forêt... ... \nÇa fait un moment déjà. Bon écoute, tu es un Dresseur fort, c'est ça? Tiko est un maître des Pokémon feu, alors il se peut que pour s'entraîner, il ait pénétré aux niveaux profonds de l'Enfermillière. Pars donc le chercher, considère ça comme une étape pour obtenir ton badge. T'es un bon garçon. Une giclée de cet \ninsecticide les fera \ndécamper plus vite qu'un Repousse."
+
+msgid "MAP151_NPC_2"
+msgstr "Bienvenue à Feuillis. \nTout le monde ne sort pas indemne du lac Baykal, alors félicitations."
+
+msgid "MAP151_NPC_3"
+msgstr "Feuillis est coupé du reste de la région. On n'a même pas l'éléctricité."
+
+msgid "MAP151_NPC_4"
+msgstr "A vrai dire, on n'apprécie pas tellement la technologie ici. Certains villageois utilisent toujours des noigrumes pour attraper les Pokémon."
+
+msgid "MAP151_NPC_5"
+msgstr "As-tu déjà vu Tiko danser? Non? Hihi! C'est beau à voir."
+
+msgid "MAP151_NPC_6"
+msgstr "Wahahaha! Il pleut toujours ici! Mais c'est bien comme ça! J'adore la pluie!"
+
+msgid "MAP151_NPC_7"
+msgstr "Ici à Feuillis, tu n'as pas à te soucier de la nuisance sonore du trafic la nuit. Par contre, les bestioles sont plus à craindre!"
+
+msgid "MAP151_NPC_8"
+msgstr "Feuillis ne possède pas de Boutique Pokémon dans le sens traditionnel du terme. Mais en échange de baies, tu peux obtenir des Pokémon et des objets rares au comptoir commercial."
+
+msgid "MAP151_SIGN_1"
+msgstr "Feuillis : Woaw, vous avez trouvé cette ville, bien joué."
+
+msgid "MAP151_SIGN_2"
+msgstr "Arène de Feuillis. \nChampion : Tiko, \"Le Danseur Flamboyant\""
+
+msgid "MAP152_NPC_1"
+msgstr "J'ai voyagé ici pour savoir s'ils pouvaient m'enseigner la Voie des Ninja. Mais je me suis fait complètement rétamer à l'Arène... Je dois m'entraîner plus. Apparemment, seuls ceux qui ont maîtrisé tout les Ninjutsu peuvent dresser le Pokémon sacré de Tsukinami. Je vais devoir le capturer si je veux tous les attraper!"
+
+msgid "MAP152_NPC_2"
+msgstr "Je suis venu dans cette ville pour voir le Musée des Légendes. Ils ont des artefacts antérieurs à la fondation de Tandor! Le Musée des Légendes au nord-ouest a toutes sortes de choses qui intéressent un Ruinmaniac comme moi. Toutes sortes de mythes et légendes!"
+
+msgid "MAP152_NPC_3"
+msgstr "La Centrale Nucléaire de Tandor Est est à l'autre bout de la mer, vers l'Est. C'est la dernière à Tandor qui est encore intacte..."
+
+msgid "MAP152_SIGN_1"
+msgstr "La porte est bloquée."
+
+msgid "MAP152_SIGN_2"
+msgstr "La porte est bloquée."
+
+msgid "MAP152_SIGN_3"
+msgstr "La porte est bloquée."
+
+msgid "MAP153_NPC_1"
+msgstr "Cette ville est mon dernier arrêt avant la Ligue Pokémon! Je devrais peut-être visiter Angelure avant d'y aller, pour capturer et ajouter un type eau fort dans mon équipe. Ce badge est tout ce dont j'ai besoin. Ensuite, je serai prêt pour affronter la Ligue Pokémon! Cette arène est vraiment difficile..."
+
+msgid "MAP155_NPC_1"
+msgstr "Bienvenue sur la Croisière Luxueuse! Ici vous pouvez vous détendre sans vous soucier des choses comme les fusions nucléaires. Votre chambre est la dernière sur la droite. N'hésitez pas à explorer le navire et à parler aux autres passagers."
+
+msgid "MAP155_NPC_2"
+msgstr "Je dois descendre de ce bateau une fois qu'il sera amarré! Il pourrait y avoir des gens qui sont blessés à cause de l'incident à la centrale! Si seulement je pouvais être aussi rapide que cette griffe rapide. Cela ne me dit rien qui vaille, alors pourquoi vous ne l'avez pas? Je dois aller aider ces pauvres gens qui sont sûrement en danger. C'était supposé être une croisière relaxante, mais au final non!"
+
+msgid "MAP155_NPC_3"
+msgstr "Bonjour mon chou. J'ai été dresseuse moi aussi. Ahh, c'était le bon vieux temps! Mais maintenant je suis vieille et toute rabougrie, et je n'ai aucune utilité pour cette CT. Tu en feras bon usage? C'est l'idée. Oh, d'accord, je suis certaine de trouver un Dresseur qui en voudra."
+
+msgid "MAP155_NPC_4"
+msgstr "Bien le bonjour, petit Dresseur! Je suis le capitaine sur ce navire!... Urgh, mais j'ai le mal de mer... Et on n'est même pas en train de naviguer sur l'océan! Que faire, que faire? J'ai entendu dire ça aidait de se gratter le dos... fais donc plaisir à un vieillard, veux-tu? Ahh... ça va beaucoup mieux. Hein? Tu voulais quelque chose? Je n'ai rien pour toi. Du vent! Urgh... *Grognements*"
+
+msgid "MAP155_TRAINER_1"
+msgstr "J'essaie de me détendre avec cette croisière... Mais je n'arrête pas de penser à cette centrale nucléaire! Peut-être qu'un combat m'aidera à oublier."
+
+msgid "MAP155_TRAINER_1_DEFEAT"
+msgstr "Argh! Je ne pouvais pas me concentrer!"
+
+msgid "MAP155_TRAINER_2"
+msgstr "Je suis plutôt un montagnard! Être sur un bâteau me rend malade... Et pourtant, je me bats!"
+
+msgid "MAP155_TRAINER_2_DEFEAT"
+msgstr "Je commence à avoir la nausée..."
+
+msgid "MAP155_TRAINER_3"
+msgstr "Hey hey! Où vas-tu?"
+
+msgid "MAP155_TRAINER_3_DEFEAT"
+msgstr "Naaaah! On a perdu :(("
+
+msgid "MAP155_TRAINER_4"
+msgstr "Je n'utilise que les Pokémon les plus forts. tes Pokémon n'ont aucune chance face aux miens."
+
+msgid "MAP155_TRAINER_4_DEFEAT"
+msgstr "Je... Je crois que j'aurais besoin d'une serviette."
+
+msgid "MAP155_TRAINER_5"
+msgstr "pn. \nC'est idiot, mais j'ai peur. Attends, non! Je n'ai pas dit ça. Je n'ai jamais peur! Je serai le plus grand Dresseur qui soit! ...Tout de même, papa.... \n... Je... Papa est fort. ses Pokémon sont forts. Ton papa est ranger, c'est ça? Il aidera tout le monde. I-Il a intérêt! Je veux dire, euh... T-tu veux te battre? Je m'en fiche de ce qu'il s'est passé à la centrale! Tout ce qui m'importe, c'est de te battre maintenant!"
+
+msgid "MAP155_TRAINER_5_DEFEAT"
+msgstr "Non! C'est pas juuuuuuste!"
+
+msgid "MAP156_NPC_1"
+msgstr "Je n'avais jamais vu Primo aussi muet. Je... ne savais pas qu'il avait un fils. Il est tellement dévoué à son travail, il n'a jamais mentionné sa famille. Je... ne savais pas qu'il avait une fille. Il est tellement dévoué à son travail, il n'a jamais mentionné sa famille."
+
+msgid "MAP156_NPC_10"
+msgstr "Nous avons élu la Route 11 comme réserve naturelle, pour aider à sauvegarder quelques espèces menacées de Tandor. Les Dresseurs ne sont pas autorisés à les attraper sans un permis."
+
+msgid "MAP156_NPC_11"
+msgstr "Nous les Rangers avons beaucoup de travail ici à Tandor. Nous sommes un mélange entre la lutte contre le crime, la recherche et le sauvetage, et la protection environnementale."
+
+msgid "MAP156_NPC_12"
+msgstr "Je suis un nouveau Cadet Ranger! Primo est mon idole!"
+
+msgid "MAP156_NPC_13"
+msgstr "PN, J'ai besoin que tu donnes cette lettre à Cameron. Il est sur l'île de la Centrale Nucléaire. Tu peux l'atteindre en prenant le bateau, situé dans le port, au sud de la Route 07."
+
+msgid "MAP156_NPC_14"
+msgstr "C'est un établissement de soins d'urgence pour les personnes et Pokémon blessés. s'il-vous-plaît, prenez du désinfectant pour les mains. Nous voulons que personne ne tombe malade."
+
+msgid "MAP156_NPC_15"
+msgstr "Beaucoup de nos patients sont toujours en convalescence. Merci de respecter leur repos."
+
+msgid "MAP156_NPC_16"
+msgstr "*Tousse* *Tousse*\nJ'ai de la chance..."
+
+msgid "MAP156_NPC_17"
+msgstr "Ça va aller mon chéri. Je t'apporte un peu de soupe."
+
+msgid "MAP156_NPC_18"
+msgstr "J'ai emmené mon fils ici hier, avec une fièvre de 40°. Il va beaucoup mieux maintenant, grâce aux soins des infirmières."
+
+msgid "MAP156_NPC_19"
+msgstr "Il s'agit de l'Unité de Soins Intensifs. Je suis désolé, mais je ne peux pas vous permettre d'entrer"
+
+msgid "MAP156_NPC_2"
+msgstr "Le devoir du Ranger Pokémon est de protéger et préserver la beauté naturelle de Tandor! Ton père est l'un de-- non, c'est LE meilleur Ranger que nous avons! Tout le monde l'admire."
+
+msgid "MAP156_NPC_20"
+msgstr "C'est toujours bien d'avoir quelques potions avec soi. Bien qu'une poignée de baie fait l'affaire. Prends ces Antidotes s'il-te-plaît, ils t'aideront dans ton aventure."
+
+msgid "MAP156_NPC_21"
+msgstr "Chouet... ton..."
+
+msgid "MAP156_NPC_22"
+msgstr "Nous avons trouvé ce petit bonhomme sur la Route 03. Un Dresseur l'a empoisonné et l'a laissé comme ça..."
+
+msgid "MAP156_NPC_23"
+msgstr "Ce bâtiment possède une aire d'atterrissage sur le toit. Nous pourrons ainsi emmener les personnes gravement touchées."
+
+msgid "MAP156_NPC_24"
+msgstr "Je n'avais jamais vu un mal de ce genre avant... La fusion radioactive pourrait-elle avoir un lien?"
+
+msgid "MAP156_NPC_25"
+msgstr "Grrrr! Grogne! Voulez-vous utiliser le Traducteur Pokémon-Humain? ...\n PN utilise le Traducteur! GRRR DÉCHIRE ARRACHE DÉTRUIT GRRRR"
+
+msgid "MAP156_NPC_26"
+msgstr "Cette machine surveille les conditions météorologiques de la région. Une semblable se trouve dans chaque base Ranger. Grâce à elles, nous pouvons prévoir le temps qu'il fait, et repérer des tempêtes et des ouragans bien avant qu'ils n'arrivent."
+
+msgid "MAP156_NPC_27"
+msgstr "Voici le Laboratoire de Recherche et Développement. Les Rangers de Tandor bossent avec des scientifiques et des experts, afin de développer des solutions aux problèmes dans la région."
+
+msgid "MAP156_NPC_28"
+msgstr "Nous les Rangers utilisons une technologie de pointe pour notre boulot. Nous utilisons en particulier le Captstick, une solution non-violente afin de calmer puis de contrôler un Pokémon. Les Capsticks sont uniques, car ils s'utilisent aussi bien sur les Pokémon dressés, que sur les sauvages. Cependant, un Pokémon bien dressé pourra résister au pouvoir du Capstick. Il semblerait que le lien entre lui et son Dresseur joue un rôle."
+
+msgid "MAP156_NPC_29"
+msgstr "Alors, PN, tu es l'enfant de Primo, c'est ça? Pour être honnête, je suis surprise qu'il en ait un. Lorsqu'il travaille, il ne parle jamais de sa famille."
+
+msgid "MAP156_NPC_3"
+msgstr "Nous n'avons pas de lien étroit avec nos Pokémon. Mais certains d'entre nous ont un partenaire Pokémon."
+
+msgid "MAP156_NPC_30"
+msgstr "Nous essayons de trouver un moyen pour guérir ce Tancoon. Il semble qu'en côtoyant souvent les humains, sa férocité a diminué. Pourtant, sa fourure et sa salive contiennent encore des traces radioactives. Bamb'o : C'est ça. Nous devons trouver un moyen d'éliminer les radiations. Lorsque la production d'énergie radioactive aura cessé, ses cellules commenceront à se régénérer normalement. Je suis sûr qu'il a un moyen, mais aucune de nos technologies n'y est parvenu, ne serait-ce qu'un peu. Grrrwaf!"
+
+msgid "MAP156_NPC_31"
+msgstr "Je termine les finitions de la combinaison anti-radiations. Elle devrait être prête pour la prochaine mission."
+
+msgid "MAP156_NPC_32"
+msgstr "Je vous présente aujourd'hui après des mois de recherche, l'achèvement final : la Combinaison Anti-Radiation! Basée sur les empreintes bleues d'Hoenn, le porteur de cette combinaison est totalement invulnérable aux radiations. Elle est également équipée d'un filtre à air, d'un talkie-walkie et plus encore. C'est juste le premier prototype. Nous espérons en construire suffisamment pour tous les Rangers."
+
+msgid "MAP156_NPC_33"
+msgstr "Professeure Cyprès : Oh, Ernest! Je savais que je vous verrais par ici. Bamb'o : Heureux de vous voir Lily. Comment avancent les recherches? cypress : Tout va bien. Nous faisont énormément de progrès sur les Combinaisons Anti-radioactives. Les nouveaux Capstick résistant au Nucléaire seront bientôt prêts, mais ils sont plus difficiles à utiliser que les Capsticks ordinaires. Et vos notes nous ont été très utiles pour la fabrication d'un remède pour les Pokémon Nucléaires. Bamb'o: Je suis heureux d'aider.PN, laissez-moi vous parler de nos découvertes à propos du Type Nucléaire. Donc, vous savez comment les Pierres Evolutives marchent, n'est-ce pas? Chaque pierre émet une fréquence radioactive électromagnétique spécifique. les Pokémon évoluant grâce à elles sont donc exposés à une dose de ce type de radiation. Tous les éléments semblent associés avec une fréquence particulière. Quant à la radiation Nucléaire, c'est une fréquence beaucoup plus élevée. Donc, ce qu'il se passe, c'est qu'être exposé aux radiations Nucléaires déclenche une évolution partielle du Pokémon. Leur espèce ne change pas, mais leur couleur, leurs mouvements et leur type oui. Et puisque leur corps ne peut supporter une telle évolution, ils deviennent un peu fous. C'est pour cela qu'ils sont sauvages. Mais je pense qu'avec la thérapie et le traitement, nous pouvons les guérir. Pas complètement. Leurs couleurs changeront. Mais ils ne désobéiront plus ou n'attaqueront plus. Beau travail, comme toujours, Ernest. Bamb'o : Merci, Lily, j'essaie."
+
+msgid "MAP156_NPC_34"
+msgstr "Il semble y avoir des types de Pokémon plus susceptibles d'être infectés que d'autres. Les types Normal, Poison, Ténèbres et Vol sont les plus vulnérables. Les types Insecte, Acier et Spectre sont les moins vulnérables."
+
+msgid "MAP156_NPC_35"
+msgstr "Comme vous le savez, les Rangers Pokémon utilisent les Capsticks pour limiter les dégâts des Pokémon sauvages. Cependant, et jusqu'à présent, ils n'avaient jamais travaillé sur les types Nucléaire. Mais désormais, nous en avons développé un nouveau, qui fonctionne beaucoup mieux. Ça ne permet pas au Ranger de se faire obéir du Pokémon Nucléaire, mais il sert à les calmer, et les endormir."
+
+msgid "MAP156_NPC_36"
+msgstr "A la centrale, nous avons découvert un nouveau Pokémon d'un genre totalement inconnu! Enfin, nous pensons que c'est un Pokémon. Il s'appelle Urayne, et il est de type Nucléaire. Un Pokémon légendaire de type Nucléaire... Et CURIE, cette personne, est peut-être son Dresseur. Nous tentons toujours de comprendre son pouvoir, et d'où il peut bien provenir. Si seulement Cameron était réveillé... Il aurait pu nous donner un indice."
+
+msgid "MAP156_NPC_37"
+msgstr "... [Ce Ranger a été frappé directement par l'attaque Demi-Vie de Urayne. Elle va mal...]"
+
+msgid "MAP156_NPC_38"
+msgstr "PN?. C'est vous?\nEt Théo, et même le Professeur Bamb'o.\nJe suis content que vous soyez tous là. On est venu aussi vite qu'on a pu.\nComment vous sentez-vous Primo? Je vais bien. L'exposition n'était pas trop forte-\n*tousse*. *tousse*. S'il-vous-plaît, essayez de ne pas trop vous surmener.\nVos poumons ont été empoisonnés par l'air radioactif.\nIl faut que vous ménagiez votre rythme cardiaque. Comment puis-je rester calme alors que des citoyens et des Pokémon sont en danger?!\n*tousse*. *tousse* Écoutez.. Maintenant que nous en savons un peu plus sur qui nous avons affaire, j'ai un plan.\nJe suis maintenant certain que c'est ce CURIE qui a causé toutes ces fusions. \nSi nous pouvons battre CURIE, alors les Centrales Nucléaires seront sauvées et nous pourrons commencer la restauration.\nBien entendu il va falloir trouver sa cachette... Heureusement, Cameron nous a bien aidé sur ce coup-là. Papa...?\nMais il ne s'est plus montré depuis qu'il...\n... Il semble que Cam s'attendait à quelque chose comme ça.\nLorsqu'il l'a rammené, nous avons trouvé des documents dans sa veste. Apparemment, il se renseignait sur CURIE et Urayne depuis un certain temps.\nCette lettre en faisait partie. Pour Primo et les Rangers de Tandor, Vous me connaissez en tant que Cameron Caine, ingénieur, entrepreneur privé, et père.\nMais ce n'est pas la vérité sur qui je suis.\n Mon vrai nom est Cameron Stormbringer Je suis un agent de la Police Internationale.\nIl y a 11 ans, j'ai été envoyé à Tandor, afin d'enquêter sur des expérimentations dangereuses et illégales sur les Pokémon.\nDurant ma mission sous couverture,. j'ai été grillé. le criminel a disparu sans laisser de traces. Au final, cinq personnes sont mortes.\nCeci est mon regret le plus pesant.\nAprès cet échec, Police Internationale m'a envoyé en retraite anticipée. Mais je n'ai jamais oublié ce que j'ai découvert sur cette île. Papa était agent secret?\nWoah!. C'EST GÉNIAL! C'était toujours un homme réservé.\nIl a été vu en ville seulement le jour après l'accident avec son enfant...\n Il n'a jamais vraiment parlé de lui ou de ses origines. ... Alors Cam en savait plus sur l'explosion d'il y a dix ans....\nCelle où Lucille a laissé sa vie.\nPourquoi ne m'a-t-il rien dit? ... Il en dit plus dans la lettre. Même si je suis à la retraite, je ne m'arrêterai pas avant que ces criminels soient rendus à la justice.\nJe savais qu'il y avait encore un morceau du puzzle quelque part.\nJe suis alors devenu un entrepreneur de la nouvelle Station Nucléaire. En utilisant le construction de la nouvelle centrale comme couverture, je comptais enquêter sur le site de l'ancienne, pour prouver que ce qui s'est passé n'était pas un incident.\nA la place j'ai trouvé quelque chose de beaucoup plus sinistre... Des plans et des diagrammes qui relataient la création détaillée d'un Pokémon artificiel!\nJ'étais sur le point de rassembler tous les éléments dont j'avais besoin pour mon rapport à Police Internationale, quand l'inimaginable s'est produit.\nUne immense explosion fit trembler l'île.\nC'est la que j'ai compris que ce complot était loin d'être clos. J'échappais de justesse à l'explosion, sur le dos de Yatagaryu.\nTrès haut dans le ciel, c'est là que je les ai vus... \nUne seule silhouette émergea des débris des ruines de la centrale, accompagnée par un Pokémon. J'ai reconnu le masque que portait cette silhouette, grâce aux plans que j'avais vus.\nL'interface CURIE. Un dispositif high-tech qui avait été conçu dans les laboratoires.\nApparemment il a été crée pour devenir un genre de transmetteur mental.\nIl relaye les pensées et les ordres au Pokémon... Urayne. Un Pokémon créé par l'homme.\nConçu pour procurer une source d'énergie illimitée.\nÀ son plein potentiel, il a la capacité de diviser les atomes.\nCependant, pour atteindre un tel niveau, il doit consommer une énorme quantité de combustibles nucléaires. Pour cela, il a la capacité de détecter la radioactivité :. un \"Instinct Geiger\".\nJe crois qu'Urayne a été crée sur cette île, plongé pendant des années dans un profond sommeil. C'est à cause de l'arrivée du nouvel Uranium combustible qu'il a été réveillé. Mais.... Urayne n'était pas seul. Cette personne.\nJe ne sais pas qui c'est, ou ce qu'il veut faire.\nIl possède l'interface CURIE, et semble être le Dresseur d'Urayne. De plus, ils font tout pour éviter d'être repérés. Pour échapper à la détection, ils utilisent le pouvoir de téléportation d'Urayne, Bond Quantique. Cependant, à chaque utilisation de cette capacité, ils laissent derrière eux une fine trace radioactive.\nEn suivant ces traces, je les ai traqué en cachette à travers la région pendant des mois. Comme tout le monde croyait que j'étais mort, c'était plus facile de rester sous couverture.\nJe ne peux qu'imaginer l'inquiétude de Théo...\nMais, même si je me soucie de mon fils, il est plus important de protéger Tandor. Alors tu nous as laissé croire que tu étais mort?! Comment as-tu pu papa? J'étais dévasté!\nJe veux dire, je sais que tu avais des trucs d'agent secret à faire mais... \nTu aurais pu m'envoyer un signe!. N'importe quoi! Oui.... Perdre Cameron fut très dur pour nous tous. Surtout pour toi, Théo.\nMais, pendant qu'il était recherché, il traquait CURIE en secret.\nCette information pourrait nous permettre des les capturer, et d'enfin mettre un terme à tout ça! Enfin, il semble qu'ils se soient installés dans les ruines de la Centrale Nucléaire Zeta, au nord de Vinoville.\nC'est loin, et les radiations empêchent quiconque d'approcher.\nIl y a un large stock de combustibles nucléaires là-bas. Mais pas assez pour leur durer éternellement. Leur stocks finiront par s'épuiser, et ils seront forcés d'aller chercher plus de combustibles ailleurs.\nLa seule planque d'Uranium qu'il reste se trouve à Tandor Est. C'est forcément là qu'ils iront.\nJe crois qu'il est temps pour moi de partir. J'alerterai anonymement les Rangers avant l'attaque, et je repositionnerai le combustible ailleurs.\nSi Urayne récupère plus de combustibles, il serait capable d'achever sa forme complète.... Un Pokémon avec un pouvoir de destruction illimité. Je dois faire tout mon possible pour éviter cela.\nLes Rangers prépareront un piège pour Urayne et CURIE à la Centrale Nucléaire Omicron. Là-bas, ils seront forcés de se révéler.\nS'ils tentent de s'enfuir, ils iront de nouveau vers la Centrale Nucléaire Zeta. Dans ce cas, je me joindrai aux Rangers et les affronterai là-bas. Au nom de tous, je les traduirai en justice!\n\n\n- Cameron Stormbringer Donc, c'est la fin de la lettre? Oui, c'est ça.\nCependant, ce n'est pas la seule chose que Cam nous a laissée.\nIl semble qu'il ait réuni beaucoup d'infos sur CURIE et Urayne.. Des fichiers détaillant leurs capacités, leurs faiblesses.... On dirait qu'il fait clairement une fixette là-dessus. Tout cela ne t'est pas étranger, n'est-ce pas Primo? ... *tousse*. *tousse* ...Mettons cela de côté. Les informations de Cameron s'avèrent précieuses.\nUn signal de suivi était inclus.\nApparemment, durant la bataille contre CURIE et Urayne, il a fait en sorte de placer un mouchard sur eux.\nMes Rangers sont en train de les géolocaliser. Patron!\nNous avons retracé le signal!\nIl provient de l'ouest, comme vous aviez dit.... Il semble se diriger loin vers la Zone Irradiée de Vinoville. Alors Cam avait raison.\nIls sont dans la Centrale Nucléaire Zeta.\nLes combinaisons de protection sont-elles préparées? Prê{t|t}es à être enfilées, monsieur! C'est une bonne nouvelle. Cette fois, les Rangers ont l'avantage. Nous pourchasserons ces criminels et nous les stopperons!\n J'aimerais pouvoir diriger cette mission..... mais...... PN. Normalement, il faut prêter serment avec une cérémonie mais.... Le temps est important, alors j'irai droit au but.\nJe t'élève au statut de Ranger a part entière. Je veux que tu diriges cette mission à ma place. Je sais que tu peux le faire. Tu as surmonté tous les challenges placés sur ta route. Tu possèdes les huit badges maintenant. Tu es devenu une personne forte, courageuse et indépendante. Je veux juste que tu saches que.\nje suis vraiment fier de toi, PN.\nJe ne pouvais pas espérer un meilleur enfant.\n J'aurais voulu être un meilleur père. J'espère que je pourrais me rattraper un jour. Après que tout cela soit fini. *sniff* Je-.Je suis tellement content que mon père soit en vie.\nJ-je ne veux plus jamais le quitter...\nMais je dois également faire payer cette personne CURIE pour ce qu'ils ont fait!\nPrimo!. Je veux aussi devenir Ranger! Bien sûr, Théo.. Tu auras une promotion pour cette mission. Plus nous aurons de Dresseurs forts, plus nous aurons de chances de vaincre CURIE. Je resterai au QG et vous fournirai un soutien. Nous surveillerons votre position à distance.\nProfesseur, on a besoin de vous au laboratoire. Bien sûr! Nous ne sommes pas loin de découvrir le remède. Je le sens! Hey, PN!\nNous allons devenir Rangers! C'est génial n'est-ce pas? Vous vous êtes surpassés tous les deux.\nThéo, tes actions contre CURIE étaient.... Bon, c'était téméraire.\nMais ton courage est admirable. ...Hey laisse-moi tranquille! Je viens juste d'apprendre que Papa est en vie, et qu'il était en difficulté! Je ne pouvais pas rester là à ne rien faire. Papa.... Je vais tout faire pour que ton sacrifice ne soit pas vain.\nEt quand tu te réveilleras enfin.... Je serai là pour te dire que tu as aidé à sauver Tandor. Une équipe de Ranger vous attend au quai Ouest de la Route 07.\nLà-bas, vous prendrez un bateau pour traverser le lac, puis continuerez jusqu'à la Route 08, les Champs de Blé.\nCette zone est appelée \"Zone Irradiée\". Vous aurez besoin d'un équipement de protection.\n Heureusement, nos chercheurs ont mis au point une combinaison qui vous protègera des radiations. A l'autre bout de cette route se trouve le chemin menant vers la Centrale Nucléaire Zeta. Le signal du mouchard provient du fin fond de la Centrale.\nIl va falloir que tu sois préparé. Nous ne savons pas à quoi nous attendre."
+
+msgid "MAP156_NPC_39"
+msgstr "... [Cameron est inconscient et ne peut pas répondre]"
+
+msgid "MAP156_NPC_4"
+msgstr "Primo: Fiore, puis Almia, puis Tandor... Hein? Oh, je me remémore simplement. Primo: É-Écoute, je pourrais peut-être t'inviter à déjeuner? Non, attends, j'ai du travail. Désolé. Primo: Comment va ma grande soeur?... En train de jouer à la Wii? Bon, très bien. Primo: Tu sais, ta mère était.... J'aurais voulu que tu la connaisses. Primo: *soupire*"
+
+msgid "MAP156_NPC_40"
+msgstr "Le Royosinge de Primo refuse de le quitter. Ces deux-là sont étroitement liés."
+
+msgid "MAP156_NPC_41"
+msgstr "Masto.... PN utilise le Traducteur! Patron blessé. Doit protéger Patron!"
+
+msgid "MAP156_NPC_42"
+msgstr "Papa... Je suis là avec toi, alors accroche-toi, okay?"
+
+msgid "MAP156_NPC_43"
+msgstr "Le Yatagaryu de Cameron nous a emmené plus vite que je n'ai jamais volé. C'est sur la piste d'aterrissage sur le toit. Il est trop gros pour tenir à l'intérieur. D'ailleurs, il essaie encore de rentrer, afin d'être avec son Dresseur."
+
+msgid "MAP156_NPC_44"
+msgstr "Je suis un médecin de campagne, spécialiste des Rangers blessés. Leuphorie est mon partenaire, il vient de la région Almia."
+
+msgid "MAP156_NPC_45"
+msgstr "Leu! Leuphorie!"
+
+msgid "MAP156_NPC_46"
+msgstr "Je dois dire.... Aussi terrifiant qu'est Urayne, c'est tout de même intéressant de voir une espèce Pokémon non découverte. Punaise.... Il a dit qu'Urayne pourrait devenir ENCORE plus puissant s'il trouve plus de combustibles? Il avait déjà l'air effrayant.... Je n'ai pas envie de penser qu'il pourrait l'être davantage! Nous ferons tout ce qu'il faut pour éviter que son pouvoir ne grandisse. Notre but est de neutraliser Urayne et d'arrêter ses Dresseurs, CURIE. Selon les notes de Cameron, si Urayne s'affaiblit, il entre dans un état de faible puissance. Lorsque nous lui aurons retiré son pouvoir de destruction, nous verrons ce que nous en ferons. Les expériences sur les Pokémon et les tentatives de créer une vie artificelle ont été interdites depuis l'Incident Mewtwo à Kanto.... elles ne se se sont pas arrêtées pour autant. \nMais je crois que ce ne sont pas les circonstances de sa naissances qui importent, mais ce que l'on fait du don de la vie qui détermine qui l'on est. Si Urayne est comme les autres types Nucléaires, et qu'il est juste une machine de destruction.... Alors nous n'aurons d'autre choix que de le supprimer définitivement, pour le bien de la région. Attendez une minute.... le supprimer?\nVous allez le tuer? -soupire- J'ai dit que je ne voulais pas.\nMais quelque chose qui peut créer des détonations atomiques à volonté est un danger pour tout le monde.\nJe suis un Ranger, et préserver la vie des humains et des Pokémon c'est mon boulot. \nUrayne a attaqué et blessé beaucoup de monde, ainsi que mes meilleurs Rangers, et- *tousse*. *tousse* ...Et toi, aussi. Je.... pense oui. Je me fie à ton jugement en tant que Chef.\nCependant, en tant que chercheur, je préférerais que Urayne reste en vie. Un Pokémon totalement inconnu pourrait être une grande découverte. \nIl pourrait même nous donner la solution pour soigner ceux qui ont souffert du type Nucléaire. On ne peut qu'attendre et observer."
+
+msgid "MAP156_NPC_47"
+msgstr "Bonjour, PN! As-tu un pokemon Nucléaire qui a besoin d'être soigné? Ok! Je vais traiter ton . Ce ne sera pas long. Et voilà! Ton est complètement guéri! Assure-toi de m'apporter tes autres Pokémon irradiés pour que je puisse les guérir. Si tu as des Pokémon irradiés, donne-les moi et je les guérirai. Souviens-toi, cela concerne seulement les Pokémon normaux qui ont été infectés par des radiations. les Pokémon qui sont de type Nucléaire depuis toujours comme Urali et Hazma n'ont pas besoin d'être guéris. Si tu as des Pokémon irradiés, donne-les moi et je les guérirai."
+
+msgid "MAP156_NPC_48"
+msgstr "Haaaa-zma! Voulez-vous utiliser le Traducteur Pokémon-Humain? ...\n PN utilise le Traducteur! Heureux! Heureux d'aider!"
+
+msgid "MAP156_NPC_5"
+msgstr "Notre patron, Primo, n'est plus le même depuis l'accident d'il y a dix ans... Celui où il a perdu sa femme."
+
+msgid "MAP156_NPC_6"
+msgstr "Bienvenue au QG des Pokémon Rangers de Tandor Ouest. Voici la base où se déroulent toutes les opérations dans Tandor Ouest. Vous avez des questions? les Rangers Pokémon de Tandor sont dévoués à la protection de l'environnement, et à la préservation de la paix à Tandor. Nous existons pour protéger les gens et les Pokémon contre ceux qui leur voudraient du mal. Du crime aux catastrophes naturelles, et vous pouvez compter sur les Pokémon Rangers pour assurer la journée! Nous ne sommes pas comme les Dresseurs, car nous n'utilisons pas de Poké Ball pour capturer les Pokémon. Nous préférons utiliser le Capstick, pour exploiter les pouvoirs des Pokémon sauvages. Cela réduit l'impact sur l'environnement local. Y a-t-il autre chose que vous désirez savoir? Parfois les Rangers de Tandor demandent aux Dresseurs Pokémon civils de les aider sur des missions. Par contre, il vous faut une permission spéciale de la part du Ranger en Chef lui-même. Pour les informations sur les missions en cours, merci de vous adresser au ranger sur ma droite. Y a-t-il autre chose que vous désirez savoir? Après une explosion provenant d'une source inconnue de la Centrale Nucléaire, les Rangers sont actuellement en opération de sauvetage sur l'île du sud-est. Actuellement, les Rangers sont occupés à l'évacuer. De plus, des vagues de radiations sont en train de frapper le continent, provoquant des effets étranges sur la vie sauvage. Gardez votre calme et restez à l'intérieur s'il-vous-plaît, ou rendez-vous le plus loin possible de l'épicentre de l'explosion. Tout va bien à Tandor Ouest. Sur l'île du sud-est, un large projet de construction d'une nouvelle Centrale Nucléaire est actuellement en cours. Depuis la fusion de l'ancienne Centrale Nucléaire, Tandor Ouest a dû utiliser des ressources d'énergie moins durables, comme le charbon et le pétrole. Ils polluent l'environnement. Lorsque la nouvelle Centrale Nucléaire sera terminée, nous prévoyons de nous débarasser des énergies fossiles de Tandor Ouest. Y a-t-il autre chose que vous désirez savoir? Ton père dirige actuellement une mission sauvetage à la centrale nucléaire sur l'île du sud-ouest.\nTu devrais t'éloigner le plus possible de la zone. ...Hein? Ton père?\nOh! Tu veux dire Primo! Je ne savais pas qu'il avait un enfant.\nTu le trouveras en haut.\nIl sera probablement surpris de te voir. Y a-t-il autre chose que je puisse faire?"
+
+msgid "MAP156_NPC_7"
+msgstr "La raison pour laquelle ces centrales nucléaires ont éxplosé, la cause était une personne appelée CURIE... Sont-ils même une personne? Ils portent un casque bizarre. Et cette chose à leur côté--'Urayne'. Je n'avais jamais vu ou entendu parler d'un tel Pokémon..."
+
+msgid "MAP156_NPC_8"
+msgstr "Ce bâtiment est la plus grande base d'opérations pour les Rangers Pokémon de Tandor Ouest. Nous avons un avant-poste plus petit à Néotech, et Tander Est a aussi ses propres quartiers généraux. Ici, l'Union des Rangers est bien plus jeune que celle d'Almia. En fait, Chef Primo a été envoyé ici avec quelques autres Rangers d'Almia il y a 30 ans pour mettre l'opération sur pied!"
+
+msgid "MAP156_NPC_9"
+msgstr "On ne capture pas à la façon des Dresseurs, mais certains d'entre nous ont un partenaire Pokémon. Le mien, Étouraptor, m'accompagne depuis la région d'Almia."
+
+msgid "MAP157_NPC_1"
+msgstr "Vous êtes venu ici en croisière? Moi aussi. Il parait qu'ils utilisent des Pokémon de type Acier et technologie dans l'arène. Dans une ville comme celle-ci, qui aurait pu le deviner? Tout ce calme rend mon Pokémon nerveux. C'est trop tranquille pour un Dresseur sérieux comme moi. Je vais juste défier l'arène et reprendre mon chemin."
+
+msgid "MAP157_NPC_2"
+msgstr "Si tu veux accéder au wi-fi, il y a seulement deux endroits dans la ville où il est disponible : ici, et dans l'arène. Je ne pense pas que Sheldon aime partager son mot de passe avec qui que ce soit... Et le débit est nul ici! Je suis venu à Vinoville parce que j'ai entendu dire qu'il y avait certaines technologies de pointes ici. Mais il s'avère que c'est seulement dans l'arène, et le reste de cette ville est juste faite de fermes et de culs-bénis!"
+
+msgid "MAP157_NPC_3"
+msgstr "Après ce qui est arrivé à la Centrale près de Vagune, les Rangers de Tandor sont en alerte. Je suis en planque, mais il ne semble rien se passer par ici... *Soupire* Pourquoi ne m'a-t-on pas assigné à un poste plus intéressant?"
+
+msgid "MAP158_NPC_1"
+msgstr "Tout ce que vend ce magasin, ce sont des objets Pokémon! Je veux juste un sandwich! C'est trop demander? Fais-moi un sandwich."
+
+msgid "MAP158_NPC_2"
+msgstr "Les gens à Vinoville voudraient faire pousser leur propre nourriture plutôt que de l'acheter dans un magasin. C'est la raison pour laquelle cet endroit n'a pas beaucoup de clients."
+
+msgid "MAP159_NPC_1"
+msgstr "Pasteur : Bonjour, jeune enfant! Je vois de l'intérêt dans tes yeux. Tu es curieux, non? La foi n'est pas un élément souvent exprimé dans la vie des Tandoriens. Néanmoins, la plus part des Tandoriens prient à leur façon. Puis-je te parler des légendes de Tandor? Très bien. Nous Tandoriens ne croyons pas en une seule divinité, comme l'armée des Mille Créateurs de Sinnoh. Nous croyons plutôt que l'univers a commencé avec rien. De ce rien est apparu deux autres êtres. Blanc et noir, positif et négatif, passé et futur, vent et eau, feu et lumière, poussée et traction. À travers le monde, ils sont appelés de beaucoup de manières différentes. Ici à Tandor, nous les avons appelé Aotius et Mutios. Ils prennent différentes apparences. Parfois, humaines. D'autres fois, Pokémon. Ensemble, ils créèrent deux Pokémon de métal, Lanthan et Actan. Et aux humains de Tandor, ils donnèrent cinq commandements. 1. Ne faites pas de mal à vos ennemis et ils ne vous feront pas de mal. 2. Ne portez pas atteinte aux Pokémon de Tandor et ils ne vous nuiront pas. 3. Cultivez les terres fertiles. 4. L'envie est le sentier de la ruine. 5. Apportez la connaissance à ceux qui la cherchent. Ainsi ils l'ont décrété, ainsi nous vivrons. Le lien entre l'humanité, Aotius et Mutios est comme celui entre Pokémon et Dresseurs : comme les Pokémon , nous écoutons, nous obéissons, nous protégeons. nous protégeons. Merci d'avoir écouté mon histoire, mon enfant. Voici quelque chose pour te récompenser de ta patience. La connaissance sera toujours là pour ceux qui la cherchent."
+
+msgid "MAP159_NPC_10"
+msgstr "Une partie de la valeur d'une CT est déterminée par le nombre de Pokémon qui sont capables de l'apprendre. Des CT telles que Retour, Reflet, Puissance Cachée, Toxik, Protection, et Attration peuvent être apprises par beaucoup de Pokémon!"
+
+msgid "MAP159_NPC_11"
+msgstr "Du jeune paysan au roi le plus puissant, du plus petit Magicarpe au grand seigneur Arceus, tout le monde a la capacité de faire de grandes choses dans la vie, dans leur existence."
+
+msgid "MAP159_NPC_12"
+msgstr "Je ne croyais pas aux légendes de Tandor. Mais j'étais dans la foule du championnat, et j'ai cru voir un Actan qui nous a évacué. Si une légende est vraie, peut-être qu'elle sont toutes vraies! Priez Arceus!"
+
+msgid "MAP159_NPC_13"
+msgstr "J'ai toujours été une mauvaise personne. Même quand Vinoville était tourmentée, je ne faisais que voler. Puis j'ai rencontré un jeune enfant, sale et affamé, offrant une baie à un Doudouvet blessé. J'ai été ému, et je suis allé à l'église pour demander pardon."
+
+msgid "MAP159_NPC_14"
+msgstr "... [Elle murmure une prière. Mieux vaut la laisser tranquille.]"
+
+msgid "MAP159_NPC_15"
+msgstr "Je sais ce qu'est la peur de la mort, depuis l'explosion à la centrale nucléaire!"
+
+msgid "MAP159_NPC_16"
+msgstr "Je n'avais jamais entendu parler du type Nucléaire avant que le désastre n'arrive!"
+
+msgid "MAP159_NPC_2"
+msgstr "Tu devrais vraiment jeter un coup d'oeil aux bouquins à côté de l'autel, mon enfant. Peut-être qu'ils pourront t'enseigner des choses sur nos coutumes."
+
+msgid "MAP159_NPC_3"
+msgstr "Aotius, pour le vent propre et purifiant! Mutios, pour l'eau propre et purifiante! Et au-dessus d'eux tous, le grand Arceus!"
+
+msgid "MAP159_NPC_4"
+msgstr "Pokémon. Humains. Dieux. Légendes. Tous célèbrent sa splendeur."
+
+msgid "MAP159_NPC_5"
+msgstr "Dans ma famille, on pratique l'agriculture depuis des générations! Nos racines sont profondes, comme celles d'un grand arbre. Une vie sans Pokémon serait vaine... Les dieux ont créés les hommes et les Pokémon pour qu'ils travaillent ensemble."
+
+msgid "MAP159_NPC_6"
+msgstr "Vinoville est très connue pour son pain et son vin. S'ils sont si bons c'est parce qu'ils sont cultivés avec l'amour de la terre! Tandor a un meilleur climat Le climat de Tandor est si bon... On peut y cultiver toute l'année!"
+
+msgid "MAP159_NPC_7"
+msgstr "Tu as l'air affamé... Tiens, prends ces baies! Ne sois pas timide! Prends en plus! Les baies sont pour les Pokémon. Mais bon, entre nous... Elle sont délicieuses pour les humains aussi!"
+
+msgid "MAP159_NPC_8"
+msgstr "J'adore la campagne! Cela signife que je peux être comme libre et en accord avec la nature, tout ça quoi. Parfois, j'aime simplement être assis dehors... respirer l'air frais, caresser mes cordes... admirer dame nature et apprécier ma journée. Tu vois ce que je veux dire?"
+
+msgid "MAP159_NPC_9"
+msgstr "Il y a un village à Unys où quatre grands artistes se rassemblent pour faire de la musique, chaque jour. J'aimerais tellement y aller... Tu veux prendre des cours de chant? Laisse-moi écouter ta voix... ... Allez, ne sois pas timide! ... Hey, tu m'entends non? Je veux t'entendre chanter! ... Bon... Je suppose que tu ne veux pas apprendre..."
+
+msgid "MAP159_SIGN_1"
+msgstr "Il y a un livre ici appelé \"Légendes Océaniques de l'Est de Tandor\" Souhaites-tu le lire? --Légende de l'Est de Tandor-- À l'Est de Tandor, se trouve un gouffre géant au fond de la mer. Parfois, la nuit, en navigant sur la mer, il est possible d'apercevoir des lumières briller profondément sous l'eau.\nC'est le Pokémon légendaire Baitatao. Certains disent qu'il essaye d'emporter les nageurs imprudents sous l'eau pour leur ôter la vue... D'autres en revanche, pensent qu'au contraire, Baitatao éclaire le chemin des voyageurs pour s'assurer que leur voyage se passe en toute sécurité et sans accrocs. La chaleur de ce Pokémon permet de préserver la mer sous température ambiante. Ainsi la vie à l'intérieur y est florissante. Il est sage d'éviter des endroits où la mer rougeoie la nuit. Lire c'est pour les losers."
+
+msgid "MAP159_SIGN_2"
+msgstr "Il y a un livre ici appelé \"Les trois Pokémon de Métal.\" Souhaites-tu le lire? Lorsque le monde est né, nouvellement sculpté par les mille bras d'Arceus, la planète n'était que de roches. Alors Groudon, roi de la Terre et du Jour, fendit l'écorce terrestre d'un coup de sa puissante griffe pour y faire ressurgir des métaux. Malheureusement, la matière présente sous le sol rocailleux n'était que du bronze, minéral fragile de par sa nature instable. Il creusa profondément au coeur de la lave et y trouva trois oeufs. Le premier à éclore était le Frère du Feu, Heatran. Il créa de nombreux minerais communs tels que le fer, l'or, l'argent, le titane. De précieux et pratiques minerais, aux yeux des humains, sortirent des coulées de lave du Mont Abrupt. Le second oeuf à éclore fut Lanthan. Pokémon de la Terre, Lanthan prit les minerais sans nom les plus rares, et les enfouit profondément sous le sol. Il créa la Montagne Lanthanite à l'Est de Tandor et s'endormit à l'intérieur. Le dernier à éclore fut Actan. Pokémon des ténèbres, Actan prit les minerais les plus puissants qui brûlaient et bourdonnaient d'une dangereuse énergie puis émergea au fin fond du Mont Actinide dans le but d'apprendre aux humains à développer leur potentiel. Ainsi, avions-nous un pouvoir qui n'était pas volé aux Pokémon ou alimenté par le feu, mais tiré de la source illimitée du métal lui-même. Actan vit que les humains avaient appris, et acquis des notions capables de sagesse et de dexterité, et ainsi retourna à sa léthargie. Lire c'est pour les losers."
+
+msgid "MAP159_SIGN_3"
+msgstr "Il y a un livre nommé \"Les croyances à travers le monde\" Souhaites-tu le lire? Au cours de mes voyages à travers de nombreuses régions, j'ai observé des croyances similaires dans différentes cultures. La similitude la plus remarquable concerne les croyances des habitants d'Unys et des Tandoriens. Malgré la très grande distance séparant ces régions, leurs opinions religieuses ont beaucoup en commun. Les habitants d'Unys croient en deux êtres célestes noir et blanc, étant décrits comme les Pokémon légendaires Reshiram, et Zekrom. Ils prétendent que ce sont les créateurs de toute chose... Les croyances ne sont pas les mêmes à Unys et à Tandor. Les Tandoriens aussi croient en deux êtres, ils les appellent Aotius et Mutios. Cependant, il est dit que ces êtres sont plus que de simples Pokémon légendaires. Ils sont décrits comme des êtres désincarnés et immortels, capables de prendre aussi bien une apparence humaine que Pokémon. Ce qui devient intéressant, c'est que de nombreux experts de Tandor considèrent que Reshiram et Zekrom sont des apparences occupées par Aotius et Mutios. Le reste de ce livre sert à analyser ce symbolisme, et bla bla bla... ...C'est un gros livre... Intéressant, mais vous n'avez pas le temps de le lire en entier. Lire c'est pour les losers."
+
+msgid "MAP159_SIGN_4"
+msgstr "Il y a un livre nommé \"La création de toutes choses.\" Souhaites-tu le lire? Au commencement, il n'y avait rien. Une fissure apparût au fin fond de l'Univers, un brouillard blanc ainsi qu'un liquide noir s'en échappèrent alors. Ils ont grandi, remplissant le vide et formant le tissu de l'univers. Ils étaient chacuns l'opposé de l'autre. Ils recherchaient le contact, mais ne pouvaient se toucher, sans quoi ils risquaient l'annihilation. De leur conflit apparût la matière. Les planètes, la lune, et toutes les étoiles du ciel. Et de leur amour, naquît la vie. Son souffle remplit nos poumons. Son sang coule dans nos veines. De par leurs pouvoirs gigantesques, notre monde est né. Lire c'est pour les losers."
+
+msgid "MAP160_NPC_1"
+msgstr "Dans cette partie de la région, les gens sont très religieux. S'il-te-plaît, sois tolérant vis-à-vis des croyances des autres."
+
+msgid "MAP161_SIGN_1"
+msgstr "Ce n'est pas une bonne idée de voler la nourriture d'une gentille vieille dame."
+
+msgid "MAP161_SIGN_2"
+msgstr "L'ordinateur portable contient un dossier avec des photos floues représentant d'étranges lumières dans le ciel."
+
+msgid "MAP162_TRAINER_1"
+msgstr "Heheh, ces puzzles doivent certainement te donner du fil à retordre, n'est-ce pas?"
+
+msgid "MAP162_TRAINER_1_DEFEAT"
+msgstr "Ouch!"
+
+msgid "MAP162_TRAINER_2"
+msgstr "Mon esprit a déjà prédit que tu n'allais pas réussir à me vaincre!"
+
+msgid "MAP162_TRAINER_2_DEFEAT"
+msgstr "Bonne chance dans ton pitoyable voyage."
+
+msgid "MAP162_TRAINER_3"
+msgstr "Avec le temps... J'ai créé... La vie!"
+
+msgid "MAP162_TRAINER_3_DEFEAT"
+msgstr "Tu as brisé mon éprouvette!"
+
+msgid "MAP165_NPC_1"
+msgstr "Es-tu venu ici avec la croisière? Moi, oui. Tout ce calme rend mon pokemon nerveux. Je me dépêche de battre le champion puis je dégage d'ici."
+
+msgid "MAP165_NPC_2"
+msgstr "Je travaille sous couverture. La région entière est en alerte. *Soupire* J'aurais voulu ne pas avoir à faire ça... Les rangers ne peuvent pas attraper et entraîner les Pokémon , mais beaucoup d'entre nous gardons un Pokémon pour compagnon."
+
+msgid "MAP166_NPC_1"
+msgstr "Tout ce que vend ce magasin, ce sont des objets Pokémon! Je veux seulement un sandwich! C'est trop demander? Fais-moi un sandwich."
+
+msgid "MAP167_NPC_1"
+msgstr "Sheldon : J'...\nJ'avais l'habitude de dire que j'aurais préféré que Vinoville soit rayée de la carte.... Mais je ne disais pas ça au sens propre!\nPourquoi?!"
+
+msgid "MAP167_NPC_10"
+msgstr "Papa : Eh bien, je suis heureux que nous ayons pu le faire à temps! PN, je pense que je devrais te dire ce qui se passe après toute cette confusion. Papa : La Centrale nucléaire du nord-ouest a subi une fusion. Nous ne sommes pas sûrs de ce qui l'a causée, mais nous soupçonnons que ce n'était pas un accident. Vinoville a été complètement évacuée et heureusement, personne n'est mort. Cependant, nous ne savons pas ce qu'il est advenu des Pokémon... De toute façon, la ville sera bloquée jusqu'à ce qu'elle soit décontaminée des radiations. Papa : Maintenant nous sommes à Fort Légende. C'est plutôt près de Vinoville, mais c'est sûr ici... Papa : Alors, je vois que tu as battu Sheldon, hmm? Bien joué, plus que deux badges et tu pourras t'enregistrer à la conférence de l'ouest! Tu devrais te rendre à Feuillis, il y a une arène là-bas. Si tu prends le métro à Burole, tu devrais pouvoir t'y rendre rapidement! Papa : À plus tard PN!"
+
+msgid "MAP167_NPC_11"
+msgstr "J'ai faim... Quand vont-ils apporter la nourriture?"
+
+msgid "MAP167_NPC_12"
+msgstr "Je n'arrive pas à battre l'arène de Vinoville... Mais j'imagine qu'il y a plus important que l'entrainement des Pokémon en ce moment."
+
+msgid "MAP167_NPC_13"
+msgstr "C'est un désastre... Toute ma récolte est ruinée..."
+
+msgid "MAP167_NPC_14"
+msgstr "Ugh, ma voix est toute... grinçante. Ça ne peut pas être à cause de l'air contaminé, hein?"
+
+msgid "MAP167_NPC_15"
+msgstr "L'Abri antiatomique de Fort Légende a été construit peu de temps après que la construction des centrales nucléaires ait commencé à Tandor. Bien que nous espérions que rien de tel n'arrive, nous étions préparés au pire. La probabilité pour que les centrales de Vagune et Vinoville aient souffert d'une fusion à un intervalle si court l'une de l'autre est très faible... À moins qu'il n'y ait une cause sous-jacente."
+
+msgid "MAP167_NPC_16"
+msgstr "Quand on fait face à une catastrophe, notre langue peut échouer à décrire l'ampleur de ce qui se passe. Nous trouvons que c'est mieux de ne pas y penser, ainsi nous pouvons rester lucide. Il y a de la souffrance partout dans le monde. Cependant, la douleur ressentie par d'autres n'annule pas la lutte à la quelle nous faisons face dans nos propres vies."
+
+msgid "MAP167_NPC_17"
+msgstr "Le championnat régional de Tandor est renommé dans le monde entier pour être l'un des défis les plus difficiles à relever pour les Dresseurs. Quiconque le remporte est une célébrité temporaire. L'année dernière, la championne était une fille dénomée Maria. Je crois qu'elle a une arène maintenant."
+
+msgid "MAP167_NPC_18"
+msgstr "Théo : ...\n... Je n'arrive pas à y croire... ...Papa..."
+
+msgid "MAP167_NPC_19"
+msgstr "Oui! Tu ne vas pas le croire! C'est une autre invention!\nC'est complètement fantastique! Dis moi si ça fonctionne! C'est un Gant de Force!\nTu vas pouvoir bouger d'énormes rochers comme si de rien n'était! C'est la magie de la technologie! \nMaintenant, vas! Pousse des rochers pour l'humanité! Maintenant vas-t-en, je suis occupé. Mais bientôt! Bientôt, j'aurai plus d'outils pour toi! Va-t'en, je suis occupé. Mais bientôt! Bientôt, j'aurai plus d'outils pour toi!"
+
+msgid "MAP167_NPC_2"
+msgstr "Théo : *Reniffle*\nI-.Ils me traitent toujours comme un enfant. Papa ne ferait p-.pas ça. Papa c-.croit en moi... *sanglotte* Ripley: Là, là.... chht, tout va bien. Il est en état de choc. Il a besoin de quelqu'un maintenant. Tout va bien. Je m'occupe de lui. Va aider les rangers, ils ont besoin de toi."
+
+msgid "MAP167_NPC_20"
+msgstr "Bienvenue Dresseur! Je m'appelle Kenichi, je suis un ninja du village Tsukinami. J'offre un entrainement spécial pour la rDéfense. Es-tu intéressé? Oh... Mon grand-père veut que je retourne au Dojo? Très bien! Accepte ce cadeau en gage de remerciement pour tes efforts. À plus tard! DEPART NINJA! Tu ne peux plus recevoir d'objets, reviens me parler quand tu auras de la place. GBienvenue Dresseur! Je m'appelle Kenichi, je suis un ninja du village Tsukinami. J'offre un entrainement spécial pour la rDefense. Es-tu intéressé? Quel Pokémon veux-tu renforcer? Reviens me voir si tu veux renforcer ton Pokémon! Ton a vu ses EVs augmenter de ! Reviens encore si tu veux rendre ton Pokémon plus fort! J'ai bien peur que tu n'aies pas assez d'argent pour entrainer ton Pokémon. Reviens encore si tu veux rendre ton Pokémon plus fort! Hooo ouais!\nAlors, sais-tu ce que sont les EVs? Bien sûr que tu le sais! Tu peux les consulter sur la fiche de ton Pokémon! Les EVs sont des points qui correspondent à une statistique particulière. Il y en a 6 sortes: PV, Attaque, Défense, Attaque spéciale, Défense spéciale, et Vitesse. les Pokémon peuvent augmenter leurs EVs en battant certains types d'ennemis. Par exemple, battre beaucoup d'adversaires forts défensivement augmentera la défense de ton Pokémon. Ici dans l'arène, nous offrons un raccourci pour rendre l'entraînement plus facile! Appuie sur A quand l'indicateur est dans la partie verte pour frapper le punching-ball! C'est vraiment amusant, et cela rend ton pokemon SUPER FORT! Alors, ton corps est prêt?"
+
+msgid "MAP167_NPC_21"
+msgstr "C'est le poste des rangers de la ville de Fort Légende et le Refuge. Pour le moment, tous nos rangers sont en train d'évacuer la zone de Vinoville. Si tu es un Dresseur assez fort, tu es prié de nous aider à battre les Pokémon nucléaires sur la route 11!"
+
+msgid "MAP167_NPC_3"
+msgstr "Je m'inquiète de l'effet que cela aura sur l'écosystème... Les radiations transforment les Pokémon quand elles les touchent, n'est-ce pas?"
+
+msgid "MAP167_NPC_4"
+msgstr "J'ai passé toute l'année à cultiver ces baies-là.... Qu'allons-nous manger mantenant?"
+
+msgid "MAP167_NPC_5"
+msgstr "Vinoville...\nNous vivons ici depuis que nous sommes enfants, n'est ce pas? Oui, et nos parents aussi.\nOù pourrions-nous aller maintenant...?"
+
+msgid "MAP167_NPC_6"
+msgstr "Vieil Homme : Vinoville... Nous vivons ici depuis que nous sommes enfants, n'est ce pas? Vieille Femme : Oui, et nos parents aussi. Où pourrions-nous aller maintenant...?"
+
+msgid "MAP167_NPC_7"
+msgstr "C'est pas cool..."
+
+msgid "MAP167_NPC_8"
+msgstr "Waaaaaaaaaaah!\nWaaaaaaaaaaaaaaaah! Mamaaaaan!"
+
+msgid "MAP167_NPC_9"
+msgstr "Chht, chéri, chhhht.\nTout va bien se passer. ...J'espère."
+
+msgid "MAP170_NPC_1"
+msgstr "Feuillis n'est pas connecté à internet, donc cette auberge n'a pas de PC... ...zut! J'ai laissé mon Pokémon le plus fort à l'intérieur!"
+
+msgid "MAP170_NPC_2"
+msgstr "Pas de PC, et pas de magasin... Non! Je suis fichu! J'imagine que je vais devoir compter sur le talent naturel de mes Pokémon pour m'aider..."
+
+msgid "MAP171_NPC_1"
+msgstr "Il y a des années, avant que nous ne connaissions les autres régions, il y avait beaucoup de tribus de natifs qui vivaient dans le Baykal, qui couvrait alors la majorité de la région."
+
+msgid "MAP171_NPC_2"
+msgstr "Savais-tu que cet ancien peuple pensait que le Pokémon Coatliquot était un légendaire? Hé bien, c'est vrai qu'il est impressionnant à voir, ondulant entre les arbres..."
+
+msgid "MAP171_NPC_3"
+msgstr "Regarde ce que j'ai trouvé dans les bois! C'est parfois effrayant de vivre dans la forêt, mais au moins on peut trouver des choses intéressantes sur le sol."
+
+msgid "MAP171_NPC_4"
+msgstr "Laisse-moi te parler de l'Enfermillière. Non, je ne l'ai pas prononcé de travers. Elle mérite vraiment ce nom. Intéressé? L'Enfermillière est un énorme réseau de\ntunnels creusés par des Pokémon Insectes. Il est fortement peuplé de Fourmigni, de Sponimouss, et de Ouvriclair, mais leurs formes évoluées, Flamagarde, Sponarius, et Elecricière se retrouvent seulement dans les niveaux les plus profonds. Il paraît que dans ses profondeurs vit leur reine, Seikamater. On dit qu'elle est la mère de tous les Fourmigni, Sponimouss, et Ouvriclair à Tandor -- tout le monde n'y croit pas vraiment, mais c'est ce que dit la légende. Les insectes sont voraces. La forêt de Baykal grandit rapidement, et les\nPokémon Insecte la réduisent à la même vitesse.\nParfois, cependant, leur faim n'est pas satisfaite. ...\nLa suite est un peu effrayante pour un enfant comme toi. Tu veux continuer à écouter? De temps à autre, un humain peut aussi disparaître dans l'Enfermillière. Cela fait partie du cycle de la vie après tout. Plus tôt nous réaliserons que nous ne maîtriserons jamais la forêt, mieux ce sera. C'est pourquoi nous recommandons toujours d'emporter un Pokémon de soutien dans la forêt. Les dangers de la forêt sont bel et bien réels. Même de faibles Pokémon sauvages peuvent être dangereux quand ils sont des centaines, et les Repousses ne fonctionnent pas toujours. J'espère t'avoir suffisamment averti. Très bien. Mais si tu veux le savoir, je serai là. Très bien. Mais si tu veux le savoir, je serai là."
+
+msgid "MAP171_NPC_5"
+msgstr "Papa parle tout le temps de l'Enfermillière. Un jour, il a presque été enlevé! Il t'en a parlé?"
+
+msgid "MAP171_NPC_6"
+msgstr "A Feuillis ces gens ne vont pas prendre votre argent! Ils sont seulement interessés par les baies, lesquelles poussent sur des arbres spéciaux dans la forêt de Baykal."
+
+msgid "MAP171_NPC_7"
+msgstr "Bonjour! Parfois nous recevons des cargaisons d'objets de soins venant du continent. Je les échange en grande quantité contre des baies. Voulez-vous faire un échange? À bientôt!"
+
+msgid "MAP171_NPC_8"
+msgstr "Bonjour, bonjour! J'échange des objets rares contre des baies. Voulez-vous faire un échange? À bientôt!"
+
+msgid "MAP171_NPC_9"
+msgstr "Bonjour, bonjour! Je possède beaucoup de Pokémon rares qui ont été attrapés ici à Baykal! Je les échange contre des baies. Voulez-vous faire un échange? À bientôt!"
+
+msgid "MAP172_NPC_1"
+msgstr "Bonjour, PN.\nAujourd'hui c'est le jour où Théo et toi allez recevoir votre premier Pokémon, n'est-ce pas? Théo était vraiment excité.\nJ'imagine que tu l'es aussi.\nAhh, je me souviens de ce jour-là, il y a tant d'années... Oui, j'ai été un Dresseur Pokémon tout comme toi, un jour. Je suis à la retraite maintenant, bien sûr, je me souviens toujours\ncomment c'était.\nC'est un jour de bonne augure, c'est certain.\n...Si tu cherches Théo,.\nj'ai bien peur qu'il ne soit pas ici.\nIl est déjà en route pour le Labo Pokémon au nord de la ville. Il.... n'est pas vraiment patient, donc tu devrais te dépêcher de le rejoindre."
+
+msgid "MAP173_NPC_1"
+msgstr "Bienvenue, Dresseur! Mon nom est Daichi, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé en rAttaque spéciale. Es-tu intéressé? Oh... Mon Pépé veut que je rentre au Dojo? Ok! Accepte ce cadeau en gage de mon appréciation pour tes efforts. À bientôt! À LA REVOYURE NINJA! Impossible de recevoir l'objet, viens à nouveau me voir quand tu auras de l'espace libre. GBienvenue, Dresseur! Mon nom est Daichi, je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé en rAttaque Spéciale. Es-tu intéressé? Quel Pokémon veux-tu renforcer? Reviens si tu veux devenir costaud! Ton voit ses EVs augmenter de ! Reviens si tu veux rendre ton Pokémon plus fort! J'ai bien peur que tu n'aies pas assez d'argent pour entraîner ton Pokémon. Reviens si tu veux rendre ton Pokémon plus fort! Ooooh ouais! \nAlors, tu sais ce que sont les Valeurs d'Effort? Bien sûr que tu sais! Tu peux les consulter sur l'écran de statut de ton Pokémon! Les Valeurs d'Effort sont les points qui correspondent à une stat en particulier. Il y en a 6 : PV, Attaque, Défense, Attaque spéciale, Défense spéciale, et Vitesse. les Pokémon peuvent augmenter leurs EVs en vainquant certains types d'ennemis. Par exemple, vaincre beaucoup d'adversaires défensifs va augmenter la défense de ton Pokémon. Dans cette arène, nous offrons un raccourci pour rendre l'entraînement plus facile! Appuie sur A quand l'indicateur est sur la partie verte de la barre pour frapper ce punching-ball! C'est plutôt fun, aussi, et ça rend les Pokémon MEGA FORTS! Alors, ton corps est prêt?"
+
+msgid "MAP174_NPC_1"
+msgstr "Il y a des années, avant que nous ne connaissions les autres régions, il y avait beaucoup de tribus de natifs qui vivaient dans le Baykal, qui couvrait alors la majorité de la région."
+
+msgid "MAP174_NPC_10"
+msgstr "Il était de coutume que personne ne puisse défier les clans pour la domination de la mer. Bien sûr, c'était un temps de guerre violente. Mais ils se sont assurés que les marchands aient un passage sans danger. Maintenant que les clans ont disparu, il y a des pirates partout."
+
+msgid "MAP174_NPC_11"
+msgstr "Que penses-tu qu'il est arrivé aux gens qui vivaient dans la forêt tropicale de Baykal? Tu penses qu'ils ont juste... disparus?"
+
+msgid "MAP174_NPC_12"
+msgstr "Mec... Je veux vraiment un Yatagaryu! Où est-ce que je peux en attraper un?"
+
+msgid "MAP174_NPC_13"
+msgstr "...Tu veux savoir comment attraper Aotius et Mutios? Hahaha! Écoute, as-tu entendu parler des Pokémon Ho-oh et Lugia? Latias et Latios? Xerneas et Yveltal? Reshiram et Zekrom? Ce sont tous des aspects des deux Grands Esprits. Tu ne me crois pas? Demande aux champions d'arènes Hinata et Kaito. Ils sont les avatars mortels des Dieux, après tout..."
+
+msgid "MAP174_NPC_14"
+msgstr "... Doux, protecteur, pourtant si puissant... Le Pokémon parfait..."
+
+msgid "MAP174_NPC_15"
+msgstr "H-hé! Qu'est-ce que tu regardes, mon pote? J'suis pas ici pour chercher les problèmes, c'est clair? J'regarde juste les grandes statues... J'suis pas du tout en train d'récolter des preuves pour l'capitaine. Non."
+
+msgid "MAP174_NPC_16"
+msgstr "Yoshitaka : Pour convaincre mes disciples de rentrer à la maison, tu devras leur prouver ta propre valeur au combat. Chacun est un spécialiste d'un des six arts : Endurance, Attaque, Défense, Attaque Spéciale, Défense spéciale, et Vitesse. Quelque chose me dit qu'ils se trouvent un peu partout dans Tandor. Alors, tu n'as pas encore convaincu un seul des Maîtres de rentrer. Je comprends. Le danger est encore loin... Je vais parfaire mes compétences pendant que j'attends leur retour."
+
+msgid "MAP174_NPC_17"
+msgstr "Merci de m'avoir dit de revenir à la maison! Je pourrai recommencer à entrainer tes Pokémon une fois que tous mes frères seront revenus."
+
+msgid "MAP174_NPC_18"
+msgstr "Merci de m'avoir dit de revenir à la maison! Je pourrai recommencer à entrainer tes Pokémon une fois que tous mes frères seront revenus."
+
+msgid "MAP174_NPC_19"
+msgstr "Merci de m'avoir dit de revenir à la maison! Je pourrai recommencer à entrainer tes Pokémon une fois que tous mes frères seront revenus."
+
+msgid "MAP174_NPC_2"
+msgstr "Savais-tu que cet ancien peuple pensait que le Pokémon Coatliquot était un légendaire? Hé bien, c'est vrai qu'il est impressionnant à voir, ondulant entre les arbres..."
+
+msgid "MAP174_NPC_20"
+msgstr "Merci de m'avoir dit de revenir à la maison! Je pourrai recommencer à entrainer tes Pokémon une fois que tous mes frères seront revenus."
+
+msgid "MAP174_NPC_21"
+msgstr "Merci de m'avoir dit de revenir à la maison! Je pourrai recommencer à entrainer tes Pokémon une fois que tous mes frères seront revenus."
+
+msgid "MAP174_NPC_3"
+msgstr "Vivre dans la forêt est parfois effrayant, mais au moins tu peux trouver des trucs cool sur le sol."
+
+msgid "MAP174_NPC_4"
+msgstr "Laisse-moi te parler de l'Enfermillière. Non, Je ne l'ai pas mal prononcé. Il mérite vraiment ce nom. Interessé? L'Enfermillière est un énorme réseau de \ntunnels creusés par des Pokémon insectes. Il est fortement peuplé de Fourmigni, de Sponimouss, et de Ouvriclair, mais leurs formes évoluées, Flamagarde, Sponarius, et Élecricière se trouvent seulement dans les niveaux les plus profonds. Il paraît que dans ses profondeurs vit leur reine, La Seikamater. \nOn dit qu'elle est la mère de tous les Fourmigni, Sponimouss, et Ouvriclair à Tandor -- tout le monde n'y croit pas vraiment, mais c'est ce que dit la légende. Les insectes sont voraces. La forêt de Baykal grandit rapidement, et les \nPokémon Insectes la réduisent à la même vitesse. \nCependant, parfois, leur faim n'est pas satisfaite. ...\nLa suite est un peu effrayante pour un enfant comme toi. Voulez-vous continuer à écouter? De temps à autre, un humain disparaît aussi dans l'Enfermillière. Cela fait partie du cycle de la vie après tout. Plus tôt nous réaliserons que nous ne maîtriserons jamais la forêt, mieux ce sera. C'est pourquoi nous recommandons que les Pokémon emportés dans la forêt soient de type Feu. Les dangers de la forêt sont bien réels, méfie-toi de l'Enfermillière. Même les faibles Pokémon sauvages peuvent être dangereux quand ils sont des centaines, et les repousses ne fonctionnent pas toujours. J'espère que je t'ai suffisamment averti. Très bien. Mais tu devrais savoir, je serai là. Très bien. Mais tu devrais savoir, je serai là."
+
+msgid "MAP174_NPC_5"
+msgstr "Papa parle tout le temps de l'Enfermillière. Un jour, il a presque été enlevé! Il t'en a parlé?"
+
+msgid "MAP174_NPC_6"
+msgstr "Prière de ne pas toucher les objets exposés. Bon nombre d'entre eux sont des antiquités inestimables."
+
+msgid "MAP174_NPC_7"
+msgstr "Après que nos clans se soient réunis, nous avons construit ce musée pour commémorer notre culture. Et ensuite nous nous sommes étendus aux autres cultures de Tandor!"
+
+msgid "MAP174_NPC_8"
+msgstr "Sous les anciens Rois, seuls les nobles avaient la permission d'élever des Pokémon. Tout paysan surpris en train d'entraîner un Pokémon était jeté en prison ou condamné à mort. Je ne peux même pas imaginer ce que serait la vie sans Pokémon..."
+
+msgid "MAP174_NPC_9"
+msgstr "Je ne peux pas croire que le théatre de Venesi soit vieux de plus de 200 ans! Du coup, ce n'est pas si surprenant qu'ils tiennent à des valeurs si traditionelles... Tout de même, c'est génial de voir la génération moderne apporter de fraîches innovations."
+
+msgid "MAP174_SIGN_1"
+msgstr "Baitatao : \"La bouillante colère\" Ce puissant serpent est peut-être le plus connus des trois Créatures Marines Légendaires à cause d'un célèbre naufrage qui est survenu il y a 45 ans. Un navire a disparu, et réapparu des semaines plus tard avec une partie de sa coque fondue et plus une seule âme à bord. Beaucoup croient que c'est un signe que Baitatao était sorti de son hibernation. Cependant, les scientifiques n'ont pas pu le localiser depuis."
+
+msgid "MAP174_SIGN_10"
+msgstr "Aotius & Mutios - Les Dieux de Tandor - Aotius et Mutios sont vénérés partout dans Tandor de multiples façons. Certains disent que ce sont des Pokémon, d'autres que ce sont des esprits sans forme. Il y a des histoires où ils s'incarnent et accordent des pouvoirs et des visions."
+
+msgid "MAP174_SIGN_11"
+msgstr "Ce manuscrit décrit un Pokémon Légendaire inconnu, une sorte d'oiseau..."
+
+msgid "MAP174_SIGN_12"
+msgstr "Ce manuscrit décrit un Pokémon Légendaire inconnu, une sorte d'oiseau..."
+
+msgid "MAP174_SIGN_13"
+msgstr "Maquette d'un drakkar du clan Nami. Pour contrôler les mers et les îles de la région, les Clans avaient besoin de flottes puissantes. Ces navires étaient bourrés de technologies et d'armes de pointe. Ils abritaient tous des armées de Pokémon de combat equipés pour la guerre en milieu océanique."
+
+msgid "MAP174_SIGN_14"
+msgstr "Maquette d'un drakkar du clan Nami. Pour contrôler les mers et les îles de la région, les Clans avaient besoin de flottes puissantes. Ces navires étaient bourrés de technologies et d'armes de pointe. Ils abritaient tous des armées de Pokémon de combat equipés pour la guerre en milieu océanique."
+
+msgid "MAP174_SIGN_15"
+msgstr "Maquette d'un drakkar du clan Nami. Pour contrôler les mers et les îles de la région, les Clans avaient besoin de flottes puissantes. Ces navires étaient bourrés de technologies et d'armes de pointe. Ils abritaient tous des armées de Pokémon de combat equipés pour la guerre en milieu océanique."
+
+msgid "MAP174_SIGN_16"
+msgstr "Les armes traditionelles utilisées pour la guerre entre les clans Ninja. Cette lance a été créée à partir d'une queue de Métalynx. On pense que le braconnage pour créer des armes et armures est la raison pour laquelle les Métalynx sont si rares dans Tandor aujourd'hui."
+
+msgid "MAP174_SIGN_17"
+msgstr "Carte de Tandor il y a 200 ans. Tandor était gouvernée par un système de gouvernement féodal, avec des batailles constantes entre les Tsuki et les Nami pour des territoires. Les Tsuki gouvernaient les terres de l'Ouest de Tandor, alors que les Nami contrôlaient les îles de l'Est. Les Rois de ces Clans réclamaient des taxes aux habitants de leur territoire. Toutefois, ces gouverneurs étaient aussi connus pour être des mécènes. C'est ainsi que la tradition du Théâtre a commencé dans ce qui est actuellement Venesi."
+
+msgid "MAP174_SIGN_18"
+msgstr "Sismolièvre : Le Pokémon Trembleterre. Ce Pokémon a semé la terreur parmi les premiers Tandoriens en causant des tremblements de terre avec ses queues massives. L'un d'eux, particulièrement redoutable, était nommé \"La Bête aux 1000 cornes\" par les habitants locaux."
+
+msgid "MAP174_SIGN_19"
+msgstr "Sismolièvre : Le Pokémon Trembleterre. Ce Pokémon a semé la terreur parmi les premiers Tandoriens en causant des tremblements de terre avec ses queues massives. L'un d'eux, particulièrement redoutable, était nommé \"La Bête aux 1000 cornes\" par les habitants locaux."
+
+msgid "MAP174_SIGN_2"
+msgstr "Baitatao : \"La bouillante colère\" Ce puissant serpent est peut-être le plus connus des trois Créatures Marines Légendaires à cause d'un célèbre naufrage qui est survenu il y a 45 ans. Un navire a disparu, et réapparu des semaines plus tard avec une partie de sa coque fondue et plus une seule âme à bord. Beaucoup croient que c'est un signe que Baitatao était sorti de son hibernation. Cependant, les scientifiques n'ont pas pu le localiser depuis."
+
+msgid "MAP174_SIGN_20"
+msgstr "Yatagaryu : Le Pokémon faiseur de Tempête Ce Pokémon rare est sacré pour les clans Ninja. Il peut invoquer des tempêtes à volonté. Il est souvent représenté se battant avec Coatliquot."
+
+msgid "MAP174_SIGN_21"
+msgstr "Yatagaryu : Le Pokémon faiseur de Tempête Ce Pokémon rare est sacré pour les clans Ninja. Il peut invoquer des tempêtes à volonté. Il est souvent représenté se battant avec Coatliquot."
+
+msgid "MAP174_SIGN_22"
+msgstr "Sculpture sur pierre par des Tribus indigènes de Baykal On sait peu de choses sur les groupes d'indigènes qui ont vécu dans la Forêt tropicale de Baykal. Ils précèdent la civilisation Tsuki et Nami de 300 ans. Cependant, ils ont disparu de la région pour des raisons inconnues il y a environ 400 ans. Tout ce que nous savons d'eux a été appris en observant les artefacts et les ruines qu'ils ont laissés."
+
+msgid "MAP174_SIGN_23"
+msgstr "Pointes de flèches trouvées au site archéologique de Baykal. Des preuves indiquent que les groupes indigènes de Baykal chassaient et cueillaient pour leur nourriture. Ils vivaient dans des huttes faites de bois et de feuilles de palmes séchées. Toutefois, ils construisaient également de larges temples de pierre. Des gravures dans les temples indiquent une différente distribution des espèces de Pokémon au temps où ils se sont installés dans la région."
+
+msgid "MAP174_SIGN_24"
+msgstr "Casques de guerre traditionnels des clans Tsuki et Nami. Les casques étaient souvent faits pour imiter des Pokémon comme Luttacabra. Ceux-ci ont été utilisés durant des batailles pour donner au porteur une allure intimidante ."
+
+msgid "MAP174_SIGN_3"
+msgstr "Leviathao : “La Lance Gelée” La deuxième des trois Créatures Marines Légendaires, il a une corne de glace mortelle sur son crâne. Des archives montrent que le clan Tsuki l'a possédé pendant une certaine période. Quand ils l'ont perdu, leur empire s'est désagrégé peu après. On pense qu'il hiberne toujours dans une caverne gelée dans les fonds marins."
+
+msgid "MAP174_SIGN_4"
+msgstr "Leviathao : “La Lance Gelée” La deuxième des trois Créatures Marines Légendaires, il a une corne de glace mortelle sur son crâne. Des archives montrent que le clan Tsuki l'a possédé pendant une certaine période. Quand ils l'ont perdu, leur empire s'est désagrégé peu après. On pense qu'il hiberne toujours dans une caverne gelée dans les fonds marins."
+
+msgid "MAP174_SIGN_5"
+msgstr "Krakanao : \"Le Maelström Vengeur\" La troisième et la plus redoutée des légendes marines, Krakanao userait de ses nombreux bras pour entraîner des gens vers leur perte marine. On en parle dans les contes pour enfants et les comptines. Il était contrôlé par le Clan Nami. Il pouvait créer un tourbillon assez grand pour couler un navire de guerre. Les archives rapportent qu'il a été tué dans une batailles, mais des rumeurs disant qu'il a été vu récemment subsistent."
+
+msgid "MAP174_SIGN_6"
+msgstr "Krakanao : \"Le Maelström Vengeur\" La troisième et la plus redoutée des légendes marines, Krakanao userait de ses nombreux bras pour entraîner des gens vers leur perte marine. On en parle dans les contes pour enfants et les comptines. Il était contrôlé par le Clan Nami. Il pouvait créer un tourbillon assez grand pour couler un navire de guerre. Les archives rapportent qu'il a été tué dans une batailles, mais des rumeurs disant qu'il a été vu récemment subsistent."
+
+msgid "MAP174_SIGN_7"
+msgstr "Aotius & Mutios - Les Dieux de Tandor - Aotius et Mutios sont vénérés partout dans Tandor de multiples façons. Certains disent que ce sont des Pokémon, d'autres que ce sont des esprits sans forme. Il y a des histoires où ils s'incarnent et accordent des pouvoirs et des visions."
+
+msgid "MAP174_SIGN_8"
+msgstr "Aotius & Mutios - Les Dieux de Tandor - Aotius et Mutios sont vénérés partout dans Tandor de multiples façons. Certains disent que ce sont des Pokémon, d'autres que ce sont des esprits sans forme. Il y a des histoires où ils s'incarnent et accordent des pouvoirs et des visions."
+
+msgid "MAP174_SIGN_9"
+msgstr "Aotius & Mutios - Les Dieux de Tandor - Aotius et Mutios sont vénérés partout dans Tandor de multiples façons. Certains disent que ce sont des Pokémon, d'autres que ce sont des esprits sans forme. Il y a des histoires où ils s'incarnent et accordent des pouvoirs et des visions."
+
+msgid "MAP175_NPC_1"
+msgstr "Hé! Regarde ça! Tu es finalement arrivé jusqu'ici! Ceci est la huitième et dernière arène de Tandor. Ce bâtiment est un hommage aux dieux Aotius et Mutios. Et les champions d'arène sont princes et princesses des clans Ninja! Plus encore, on dit qu'ils sont les voix mortelles des Dieux eux-mêmes! Pour les atteindre, tu devras résoudre une énigme, souviens-toi, avec Aotius et Mutios tout est question d'équilibre!... Ne panique pas, ok? Tu en es capable! Je crois en toi!"
+
+msgid "MAP175_SIGN_1"
+msgstr "AOTIUS \nDIEU DU CIEL ÉCLATANT"
+
+msgid "MAP175_SIGN_2"
+msgstr "MUTIOS \nDÉESSE DE LA MER SOMBRE"
+
+msgid "MAP175_TRAINER_1"
+msgstr "Ainsi, tu choisis de faire face au soleil qui se lève. Tu es courageux. Mes Pokémon sont plus forts dans la lumière du soleil. Attention à ne pas les regarder directement, ils pourraient t'éblouir. Prépare-toi à être testé par le pouvoir d'Aotius! Tu as triomphé contre moi. Mais comme la Nuit suit le Jour, tu dois aussi faire tes preuves face à mon mari. Il est temps pour toi de faire face à la peur sombre de la nuit. J'utilise des Pokémon qui se tapissent dans l'ombre et attendent pour attaquer quand leurs adversaires s'y attendent le moins. Nous incarnons l'essence même du Ninja! Avec l'intelligence de Mutios, nous allons te mettre à l'épreuve! Félicitations. Je dois l'admettre, ton exploit est impressionnant. La bénédiction d'Aotius et Mutios est sur toi maintenant. Son pouvoir féroce et sa clarté sereine vont te guider. Tu as gagné ce badge, emblème de leur amour. PN a reçu le badge Zen! Comme bénédiction, tout les Pokémon vont t'obéir, même ceux échangés. Tu as aussi mérité cette CT. Lance-Soleil est une puissante attaque qui absorbe l'énergie du soleil pour vaincre tes adversaires. Utilise-la avec sagesse et elle t'aidera grandement dans ton aventure! Prends aussi celle-ci, après tout, tu nous as vaincu tous les deux : Avec cette attaque tu pourras utiliser la colère de tes adversaires contre eux. L'utiliser avec sagesse devrait te créer des opportunités durant les combats."
+
+msgid "MAP175_TRAINER_1_DEFEAT"
+msgstr "Tu as fait face à la lumière éblouissante et tu n'as pas flanché."
+
+msgid "MAP175_TRAINER_2"
+msgstr "Ainsi, tu as choisi de faire face à la sombre peur de la nuit. C'est courageux. J'utilise des Pokémon qui se tapissent dans l'ombre et attendent pour attaquer quand leurs adversaires s'y attendent le moins. Nous incarnons l'essence même du Ninja! Grâce aux pouvoirs confiés par Mutios, nous allons te mettre à l'épreuve! Ainsi, tu as réussi à vaincre mon équipe. Mais de même que la Nuit suit le Jour, tu dois aussi faire tes preuves face à ma femme. Il est temps de faire face à l'éclatant soleil levant. Mes Pokémon sont plus forts dans la lumière du soleil. Attention à ne pas les regarder directement, ils pourraient t'éblouir. Prépare-toi à être testé par le pouvoir d'Aotius! Félicitations. Je dois l'admettre, ton exploit est impressionnant. La bénédiction d'Aotius et Mutios est sur toi maintenant. Son pouvoir féroce et sa clarté sereine vont te guider. Tu as gagné ce badge, emblème de leur amour. PN a reçu le badge Zen! Comme bénédiction, tout les Pokémon vont t'obéir, même ceux échangés. Tu as aussi mérité cette CT. Lance-Soleil est une puissante attaque qui absorbe l'énergie du soleil pour vaincre tes adversaires. Utilise-la avec sagesse et elle t'aidera grandement dans ton aventure! Prends aussi celle-ci, après tout, tu nous as vaincu tous les deux : Avec cette attaque tu pourras utiliser la colère de tes adversaires contre eux. L'utiliser avec sagesse devrait te créer des opportunités durant les combats."
+
+msgid "MAP175_TRAINER_2_DEFEAT"
+msgstr "Tu as regardé dans les ténèbres et tu as surmonté ta crainte."
+
+msgid "MAP175_TRAINER_3"
+msgstr "Tonnerre grondant, \nPuis, flash! Le ciel entier s'illumine!\n Un éclair fend le ciel."
+
+msgid "MAP175_TRAINER_3_DEFEAT"
+msgstr "Zzzzap! Ouch!"
+
+msgid "MAP175_TRAINER_4"
+msgstr "Écoute! Entends le son \n de milliers d'oiseaux qui chantent.\n Ils chantent tous pour toi!"
+
+msgid "MAP175_TRAINER_4_DEFEAT"
+msgstr "Tu m'as bluffé..."
+
+msgid "MAP175_TRAINER_5"
+msgstr "Le mordant d'une épée,\n aussi aiguisé qu'une lame façonnée par les plus grands,\n tranchant comme la mort elle-même."
+
+msgid "MAP175_TRAINER_5_DEFEAT"
+msgstr "Coupé en morceaux!"
+
+msgid "MAP175_TRAINER_6"
+msgstr "Une pleine lune se lève \n au-dessus des vagues d'un océan noir. \n Tsuki et Nami."
+
+msgid "MAP175_TRAINER_6_DEFEAT"
+msgstr "Ton destin t'appelle!"
+
+msgid "MAP175_TRAINER_7"
+msgstr "Un minuscule ruisseau\n en rejoint d'autres pour former a\n une cascade déchaînée."
+
+msgid "MAP175_TRAINER_7_DEFEAT"
+msgstr "J'espère que tu es satisfait."
+
+msgid "MAP175_TRAINER_8"
+msgstr "Boum! Pan! Une fleur\n s'ouvre dans le ciel assombri.\n C'est un feu d'artifice!"
+
+msgid "MAP175_TRAINER_8_DEFEAT"
+msgstr "Grillé..."
+
+msgid "MAP177_NPC_1"
+msgstr "Bienvenue, Dresseur! Mon nom est Miki, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rAttaque. Es-tu intéressé? Oh... Mon Pépé veut que je rentre au Dojo? Ok! Accepte ce cadeau en guise de récompense pour tes efforts. À bientôt! DÉPART NINJA! Impossible de recevoir l'objet, parle-moi de nouveau quand tu auras de l'espace libre. GBienvenue, Dresseur! Mon nom est Miki, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rAttaque. Es-tu intéressé? Quel Pokémon veux-tu renforcer? Reviens si tu veux devenir costaud! Ton voit ses EVs augmenter de ! Reviens si tu veux rendre ton Pokémon plus fort! J'ai bien peur que tu n'aies pas assez d'argent pour entraîner ton Pokémon. Reviens si tu veux rendre ton Pokémon plus fort! Ooooh ouais! \nAlors, tu sais ce que sont les Valeurs d'Effort? Bien sûr que tu sais! Tu peux les consulter sur l'écran de statut de ton Pokémon! Les Valeurs d'Effort sont les points qui correspondent à une stat en particulier. Il y en a 6 : PV, Attaque, Défense, Attaque spéciale, Défense spéciale et Vitesse. les Pokémon peuvent augmenter leurs EVs en vainquant certains types d'ennemis. Par exemple, vaincre beaucoup d'adversaires défensifs va augmenter la défense de ton Pokémon. Dans cette arène, nous offrons un raccourci pour rendre l'entraînement plus facile! Appuie sur A quand l'indicateur est sur la partie verte de la barre pour frapper ce punching ball! C'est plutôt fun, aussi, et ça rend tes Pokémon MEGA FORTS! Alors, ton corps est prêt?"
+
+msgid "MAP178_NPC_1"
+msgstr "Bienvenue, Dresseur! Mon nom est Ayumi, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rVitesse. Es-tu intéressé? Oh... Mon Pépé veut que je rentre au Dojo? Ok! Accepte ce cadeau en guise de récompense pour tes efforts. À bientôt! DÉPART NINJA! Impossible de recevoir l'objet, parle-moi de nouveau quand tu auras de l'espace libre. GBienvenue, Dresseur! Mon nom est Ayumi, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rVitesse. Es-tu intéressé? Quel Pokémon veux-tu renforcer? Reviens si tu veux devenir costaud! Ton voit ses EVs augmenter de ! Reviens si tu veux rendre ton Pokémon plus fort! J'ai bien peur que tu n'aies pas assez d'argent pour entraîner ton Pokémon. Reviens si tu veux rendre ton Pokémon plus fort! Ooooh ouais! \nAlors, tu sais ce que sont les Valeurs d'Effort? Bien sûr que tu sais! Tu peux les consulter sur l'écran de statut de ton Pokémon! Les Valeurs d'Effort sont les points qui correspondent à une stat en particulier. Il y en a 6 : PV, Attaque, Défense, Attaque spéciale, Défense spéciale et Vitesse. les Pokémon peuvent augmenter leurs EVs en vainquant certains types d'ennemis. Par exemple, vaincre beaucoup d'adversaires défensifs va augmenter la défense de ton Pokémon. Dans cette arène, nous offrons un raccourci pour rendre l'entraînement plus facile! Appuie sur A quand l'indicateur est sur la partie verte de la barre pour frapper ce punching ball! C'est plutôt fun, aussi, et ça rend tes Pokémon MEGA FORTS! Alors, ton corps est prêt?"
+
+msgid "MAP179_NPC_1"
+msgstr "Bienvenue, Dresseur! Mon nom est Tarou, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rPV. Es-tu intéressé? Oh... Mon Pépé veut que je rentre au Dojo? Ok! Accepte ce cadeau en guise de récompense pour tes efforts. À bientôt! DÉPART NINJA! Impossible de recevoir l'objet, parle-moi de nouveau quand tu auras de l'espace libre. GBienvenue, Dresseur! Mon nom est Tarou, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rPV. Es-tu intéressé? Quel Pokémon veux-tu renforcer? Reviens si tu veux devenir costaud! Ton voit ses EVs augmenter de ! Reviens si tu veux rendre ton Pokémon plus fort! J'ai bien peur que tu n'aies pas assez d'argent pour entraîner ton Pokémon. Reviens si tu veux rendre ton Pokémon plus fort! Ooooh ouais! \nAlors, tu sais ce que sont les Valeurs d'Effort? Bien sûr que tu sais! Tu peux les consulter sur l'écran de statut de ton Pokémon! Les Valeurs d'Effort sont les points qui correspondent à une stat en particulier. Il y en a 6 : PV, Attaque, Défense, Attaque spéciale, Défense spéciale, et Vitesse. les Pokémon peuvent augmenter leurs EVs en vainquant certains types d'ennemis. Par exemple, vaincre beaucoup d'adversaires défensifs va augmenter la défense de ton Pokémon. Dans cette arène, nous offrons un raccourci pour rendre l'entraînement plus facile! Appuie sur A quand l'indicateur est sur la partie verte de la barre pour frapper ce punching ball! C'est plutôt fun, aussi, et ça rend tes Pokémon MEGA FORTS! Alors, ton corps est prêt?"
+
+msgid "MAP180_NPC_1"
+msgstr "Bienvenue, Dresseur! Mon nom est Hitomi, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rDéfense Spéciale. Es-tu intéressé? Oh... Papy veut que je rentre au Dojo? Ok! Accepte ce cadeau en gage de mon appréciation pour tes efforts. A Bientôt! DÉPART NINJA! Tu ne peux plus recevoir d'objet, reviens me parler quand tu auras fais de la place. GBienvenue, Dresseur! Mon nom est Hitomi, et je suis un ninja du Village Tsukinami, et j'offre un entraînement spécialisé de la stat rDéfense Spéciale. Es-tu intéressé? Quel Pokemon veux-tu renforcer? Reviens si tu veux devenir costaud! Ton voit ses EVs augmenter de ! Reviens si tu veux rendre ton Pokémon plus fort! J'ai bien peur que tu n'aies pas assez d'argent pour entraîner ton Pokémon. Reviens si tu veux rendre ton Pokémon plus fort! Ooooh ouais! \nAlors, tu sais ce que sont les EVs? Bien sûr que tu le sais! Tu peux les consulter sur l'écran de statut de ton Pokémon! Les Valeurs d'Effort sont les points qui correspondent à une stat en particulier. Il y en a 6 : PV, Attaque, Défense, Attaque spéciale, Défense spéciale, et Vitesse. les Pokémon peuvent augmenter leurs EVs en vainquant certains types d'ennemis. Par exemple, vaincre beaucoup d'adversaires défensifs va augmenter la défense de ton Pokémon. Dans cette arène, nous offrons un raccourci pour rendre l'entraînement plus facile! Appuie sur A quand l'indicateur est sur la partie verte de la barre pour frapper ce punching ball! C'est plutôt fun, aussi, et ça rend tes Pokémon MÉGA FORTS! Alors, ton corps est prêt?"
+
+msgid "MAP181_NPC_1"
+msgstr "J'ai équipé mes Pokémon avec des objets à tenir pour améliorer leurs performances au combat. On ne peut pas utiliser d'objets normaux dans l'arène, donc des objets comme les baies sont essentiels. Le Championnat de Tandor se déroule comme un tournoi à élimination directe. 32 Dresseurs entrent... et un Champion ressort."
+
+msgid "MAP181_NPC_10"
+msgstr "Je suis la plus grande fan de Maria. \nUn jour, elle a signée mon bras... \nc'était le plus beau jour de ma vie."
+
+msgid "MAP181_NPC_2"
+msgstr "Cette étincelle dans tes yeux... tu projettes de devenir Champion, pas vrai? \nOhohoho. Bonne chance à toi."
+
+msgid "MAP181_NPC_3"
+msgstr "J'ai entendu dire que le Championnat a presque été annulé cette année à cause de l'effondrement de la Centrale Nucléaire. Encore heureux qu'il soit maintenu! Je me demande... Verrons-nous des Pokémon Nucléaires dans l'arène?"
+
+msgid "MAP181_NPC_4"
+msgstr "Combien de badge d'arène as-tu? \nJ'en ai seize. \nJ'ai battu la Ligue de Kalos avant de venir à Tandor. La Ligue de Tandor est un peu différente, pas vrai? \nQuel champion d'arène t'a donné le plus de fil à retordre? \nJ'ai eu du mal avec Rosalind. Ses déguisements ont vraiment désarçonné mon équipe!"
+
+msgid "MAP181_NPC_5"
+msgstr "Je suis tellement nerveux... \nMais, tant que j'aurai foi en mes Pokémon, je crois que nous pourrons nous en sortir! Je n'avais jamais vu autant de Dresseurs puissants réunis en un seul endroit."
+
+msgid "MAP181_NPC_6"
+msgstr "Hyah! Pour l'honneur de mon village, je combats pour le Championnat de Tandor! \nLes dieux me guideront vers la victoire!"
+
+msgid "MAP181_NPC_7"
+msgstr "Tu as traversé la Route Victoire, bon boulot! \nMais le plus grand des défis reste à venir... Tout ceux qui veulent défier le Championnat doivent d'abord survivre à la Route Victoire."
+
+msgid "MAP181_NPC_8"
+msgstr "Qui va remporter le Championnat, à ton avis? \nJe parie sur Maria! Après tout, elle a gagné l'année passée."
+
+msgid "MAP181_NPC_9"
+msgstr "Je ne pense pas que Maria va encore gagner cette année. Il y a un nouveau Dresseur, et tout le monde dit qu'il fait peur tant il est fort. À mon avis, c'est garanti! Est-ce que tu sais quelle est la spécialité de ce nouveau Dresseur? Je ne trouve pas d'info dans la base de donnée. ...Hé, attends un peu. Ton visage me semble familier... Oh mon dieu! C'est toi!!!! Waouw!!!"
+
+msgid "MAP183_NPC_1"
+msgstr "Une grande partie des montagnes d'ici sont réputées pour être infranchissables. Je suis quand même décidé à toutes les escalader!"
+
+msgid "MAP183_NPC_2"
+msgstr "Savais-tu que Tandor a été formé par deux volcans? Tous deux sont inactifs maintenant, mais le Championnat Régional a lieu sur l'un d'entre eux."
+
+msgid "MAP183_NPC_3"
+msgstr "C'est incroyable de voir la manière dont l'économie fonctionne quand la moitié de la population d'une région est composée de Dresseurs. De Dresseurs qui ne travaillent pas! Comment mangerions-nous si nous n'avions pas des Pokémon pour nous aider?"
+
+msgid "MAP183_NPC_4"
+msgstr "Quand j'étais jeune, je vivais dans une grande ville. Maintenant, j'aime juste vivre ici dans la quiétude de la campagne."
+
+msgid "MAP183_SIGN_1"
+msgstr "Route 06. N'oubliez pas d'emporter quelques Potions! Elle est très longue!"
+
+msgid "MAP183_SIGN_2"
+msgstr "Laboratoire de la Prof. Cyprès."
+
+msgid "MAP183_SIGN_3"
+msgstr "Bienvenue à Cascaroc. Faites attention aux éboulements rocheux!"
+
+msgid "MAP184_NPC_1"
+msgstr "(Humain...)\n(Alors comme ça... tu reviens me faire face dans ma tanière.) \n(J'ai dormi pendant des siècles...) \n(Attendant une âme digne de m'affronter.) \n(Aujourd'hui... Le moment est venu.) (Ce combat était destiné à arriver!) GYAAAROOOOOHHHHH!!!"
+
+msgid "MAP184_TRAINER_1"
+msgstr "Tu ne me voyais pas, parce que je me cachais! J'adore aller derrière des gros rochers!"
+
+msgid "MAP184_TRAINER_1_DEFEAT"
+msgstr "Je suppose que je n'étais pas assez rapide..."
+
+msgid "MAP184_TRAINER_2"
+msgstr "Les légendes parlent d'un grand conflit au sommet du Mont Actinite. Ce pourrait-il que ce soit celui-ci?"
+
+msgid "MAP184_TRAINER_2_DEFEAT"
+msgstr "C'était un peu décevant."
+
+msgid "MAP185_TRAINER_1"
+msgstr "Tu as entendu ça? \nLe hurlement furieux du vent!"
+
+msgid "MAP185_TRAINER_1_DEFEAT"
+msgstr "Nous... Sommes tombés..."
+
+msgid "MAP185_TRAINER_2"
+msgstr "La montagne gronde sous nos pieds. \nTon jugement commence maintenant!"
+
+msgid "MAP185_TRAINER_2_DEFEAT"
+msgstr "C'était... Le destin..."
+
+msgid "MAP185_TRAINER_3"
+msgstr "Oh mon dieu! \nTu sembles être un visage familier. \nQue dirais-tu d'un combat passionné, mon ami?"
+
+msgid "MAP185_TRAINER_3_DEFEAT"
+msgstr "Bonté divine!"
+
+msgid "MAP185_TRAINER_4"
+msgstr "Je te vaincrai grâce aux pouvoirs qui vont au-delà de ton imagination!"
+
+msgid "MAP185_TRAINER_4_DEFEAT"
+msgstr "Esprits, pourquoi m'avez-vous abandonné?"
+
+msgid "MAP186_SIGN_1"
+msgstr "Championnat d'Élite de Tandor"
+
+msgid "MAP187_NPC_1"
+msgstr "Hah! \nDu calme, nom d'un chien! Hey, ces nouvaux stylets de capture fonctionnent! Je peux me débrouiller ici. PN, tu devrais te rendre à la Centrale."
+
+msgid "MAP187_NPC_2"
+msgstr "Arrrr... Arrr..."
+
+msgid "MAP187_NPC_3"
+msgstr "À ton avis, comment cette combinaison de protection fonctionne? C'est un peu plus dur de se déplacer, mais cette chose te protège complètement des radiations. Ces masques nous protègent, mais nous sommes toujours vulnérables aux radiations les plus intenses."
+
+msgid "MAP187_NPC_4"
+msgstr "Si je maîtrise ce Pokémon et le ramène au QG, nous pourrons le soigner. Cependant, l'idéal serait d'avoir une machine de traitement mobile..."
+
+msgid "MAP187_NPC_5"
+msgstr "Tanu... Rrrrrr..."
+
+msgid "MAP187_SIGN_1"
+msgstr "Conseil aux Dresseurs! \nPêcher nécessite de bons réflexes. \nAppuyez sur A quand le message \"Oh! Une prise!\" apparaît. \nVous devrez le faire plusieurs fois pour attraper un Pokémon."
+
+msgid "MAP187_TRAINER_1"
+msgstr "Hey, PN, te voilà! Heh, tu ressembles à un Escargaume dans cette chose. Mais tu as l'air assez cool, je dois l'admettre. ...Quand même. Je pense que j'ai découvert quelque chose de cool... Suis-moi. Mais pas un bruit! Ce Pokémon... Tu l'as déjà vu avant? Il ne ressemble pas aux autres Pokémon Nucléaire... Je n'ai jamais rien vu de tel. Nous devrions essayer de- ??? : GRRRROWWWWLL! Théo : Zut, il s'est enfui. Qu'est ce qui l'a effrayé? J'allais essayer de l'attraper.... Prépare-toi à te battre, PN! *ouff* *ouff* Tu ne peux même pas baisser ta garde une seconde ici... Au fait, c'est moi ou ces Pokémon Nucléaire étaient plus organisés que d'habitude? Je suppose qu'Urayne devait les commander. Donc, ils savent que nous sommes ici. Nous avons perdu l'élément de surprise... Bon, c'est pas grave. CURIE ne pourra pas toujours nous fuir! Allons l'attraper! Et si je revois ce Pokémon bizarre, je n'hésiterai pas à l'attraper!"
+
+msgid "MAP187_TRAINER_10"
+msgstr "GRRRRRRR! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_10_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_11"
+msgstr "GRRRRRRR! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_11_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_12"
+msgstr "GRRRRRRR! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_12_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_13"
+msgstr "GRRRRRRR! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_13_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_14"
+msgstr "GRRRRRRR! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_14_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_1_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_2"
+msgstr "GRRRRrrrRROOWLLLL INTRUS. INTRUS."
+
+msgid "MAP187_TRAINER_2_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_3"
+msgstr "GRRRRrrrRROOWLLLL INTRUS. INTRUS."
+
+msgid "MAP187_TRAINER_3_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_4"
+msgstr "GRRRRrrrRROOWLLLL INTRUS. INTRUS."
+
+msgid "MAP187_TRAINER_4_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_5"
+msgstr "HIIISSSSSS! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_5_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_6"
+msgstr "HIIISSSSSS! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_6_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_7"
+msgstr "HIIISSSSSS! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_7_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_8"
+msgstr "Eeep! Plus de Pokémon! C'est parti PN! Eh bien, c'était mouvementé... Nos ordres sont clairs. Il est temps de se rendre à la Centrale! Faisons-le ensemble! (Théo se joint à vous!)"
+
+msgid "MAP187_TRAINER_8_DEFEAT"
+msgstr "..."
+
+msgid "MAP187_TRAINER_9"
+msgstr "GRRRRRRR! DÉTRUIRE DÉTRUIRE DÉTRUIRE"
+
+msgid "MAP187_TRAINER_9_DEFEAT"
+msgstr "..."
+
+msgid "MAP188_NPC_1"
+msgstr "Nous nous dirigeons vers les champs de blés de la Route 8. Cet endroit a toujours été une zone naturelle immaculée et de toute beauté. Maintenant, c'est l'endroit le plus irradié de Tandor... Nous devons arrêter CURIE et le faire payer pour ce qu'il a fait!"
+
+msgid "MAP188_NPC_2"
+msgstr "Enfiler la Combinaison de Survie? PN enfile la Combinaison de Survie."
+
+msgid "MAP188_NPC_3"
+msgstr "Je sais que je ne suis pas en position de me plaindre, mais... Pourquoi ce n'est pas moi qui porte cette combinaison? Elle est tellement cool..."
+
+msgid "MAP188_NPC_4"
+msgstr "PN, ne t'inquiète pas pour nous. Nous avons de nouveaux stylets de capture qui fonctionnent sur les Pokémon Nucléaire. Donc, nous serons capable de nous en sortir... Je crois..."
+
+msgid "MAP188_NPC_5"
+msgstr "Mff mmmf mffff! ...Nan, je te fais marcher. Je peux très bien parler grâce à ça. Ça me démange juste un peu... Mais ce serait une mauvaise idée de l'enlever."
+
+msgid "MAP189_NPC_1"
+msgstr "Tirer le levier?"
+
+msgid "MAP189_NPC_2"
+msgstr "Tirer le levier?"
+
+msgid "MAP189_NPC_3"
+msgstr "Tirer le levier?"
+
+msgid "MAP189_NPC_4"
+msgstr "L'étiquette sur l'interrupteur dit, \"Disjoncteur\". Il semble activé. Désactiver le Disjoncteur? Vous et votre équipe avez été frappés par une décharge.... Les autres leviers sont retournés à leur position originale."
+
+msgid "MAP189_SIGN_1"
+msgstr "C'est une machine pour soigner les Pokémon. Elle ne fonctionnera pas sans énergie."
+
+msgid "MAP189_SIGN_10"
+msgstr "Hein?! Le café est encore chaud, c'est bizarre..."
+
+msgid "MAP189_SIGN_2"
+msgstr "C'est une machine pour soigner les Pokémon. Elle ne fonctionnera pas sans énergie."
+
+msgid "MAP189_SIGN_3"
+msgstr "C'est une machine pour soigner les Pokémon. Elle ne fonctionnera pas sans énergie."
+
+msgid "MAP189_SIGN_4"
+msgstr "C'est une machine pour soigner les Pokémon. Elle ne fonctionnera pas sans énergie."
+
+msgid "MAP189_SIGN_5"
+msgstr "- Contrôle d'urgence de l'énergie - Suivez ces instructions pour activer le générateur de secours : Dans la chambre électrique, commencez par activer les interrupteurs dans l'ordre suivant :\n [06644bd2]Vert, [043c3aff]Rouge, [65467b14]Bleu. Ensuite, déclenchez le disjoncteur. Cette manoeuvre rétablira l'énergie dans le secteur sud."
+
+msgid "MAP189_SIGN_6"
+msgstr "Pour les instructions d'activation du générateur de secours, consultez le manuel."
+
+msgid "MAP189_SIGN_7"
+msgstr "La nourriture dans le réfrigérateur est périmée."
+
+msgid "MAP189_SIGN_8"
+msgstr "- Salle de repos - Les pauses ne doivent pas durer plus de 15 minutes. En cas de pénurie de café, parlez à Craig aux RH. - La direction"
+
+msgid "MAP189_SIGN_9"
+msgstr "Je pourrais peut-être utiliser cette radio pour communiquer avec le QG....? ....... Quelque chose bloque le signal."
+
+msgid "MAP189_TRAINER_1"
+msgstr "Traaaawrrrr!"
+
+msgid "MAP191_NPC_1"
+msgstr "Cela semble être connecté au système électrique. Appuyer sur l'interrupteur?"
+
+msgid "MAP191_TRAINER_1"
+msgstr "Kkkssshhhttt!!"
+
+msgid "MAP192_NPC_1"
+msgstr "Cela semble être connecté au système électrique. Appuyer sur l'interrupteur?"
+
+msgid "MAP193_TRAINER_1"
+msgstr "Traaaawrrrr!"
+
+msgid "MAP193_TRAINER_2"
+msgstr "...\nStupide enfant. Ta lutte fut divertissante...\nMais c'est ici que ton histoire touche à sa fin. Quelle chance.\nLe fils de cet homme enrageant... et l'enfant du chef des Rangers.\nDans la paume de notre main. Les Rangers seront tellement plus raisonnables avec des otages pareils. Dis-moi, mon enfant...?\nArriver si près du but, et voir tes rêves s'effondrer... Que ressens-tu? De la douleur? Il devrait.\nNous ne devrions pas être seuls à souffrir. Ton ami... Il est en stase. Ni éveillé, ni endormi.\nSes pensées, prises au piège au moment même où il est entré dans la capsule. Que ressent-il, lui?\nLa douleur?La peur?\nLa confusion? L'angoisse? Un seul instant misérable, étiré sur une éternité. Voila ce qu'il ressent... et ce n'est qu'un fraction de ce que nous avons subi. Toi aussi, tu comprendras bientôt cette sensation. Avec ces otages, les Rangers n'auront d'autre choix que de se rendre. Et alors, plus rien ne se dressera sur notre chemin vers le pouvoir ultime! ...Oh? Même après tout ça, il veut toujours nous combattre? Huhuhuhu... que c'est drôle. \nTrès bien. Nous acceptons ton défi... Admire le pouvoir de l'énergie Nucléaire et du désespoir!! ...Quoi?\nNon! Non non NON! Cela ne peut... arriver...! Nous étions censés être invincibles! \nUrayne!! Comment... as-tu pu...\nqu'un enfant... je ne comprends pas...\nTout ce pour quoi nous avons lutté, tout ce pouvoir... Disparu. Urayne! Urayne, je t'en prie, réveille-toi! ...\nNon... Je nous ai laissé tomber... \nJ'ai échoué à te protéger. \nLes Rangers viendront nous chercher...\nEt toi, ils te détruiront.\nPardonne-moi, Urayne... Tu es vivant...! \nMême si tu as perdu une grande partie de ton énergie... C'est ça! C'est tout ce dont nous avons besoin! \nUrayne, utilise Bond Quantique! -kshhht-\nPrimo: PN? PN, tu me reçois? ...Oh, Arceus merci, tu vas bien. \nQuelque chose bloquait le signal... \nJe n'arrivais pas à passer à travers. PN... J'ai eu tellement peur... \nJ'ai cru que je t'avais perdu pour toujours. Alors, que s'est-il passé? Tu as trouvé CURIE? ...\nJe vois. Donc, tu l'as combattu, et tu as gagné, mais ils ont réussi à s'enfuir... Bien, avec Urayne en mauvaise forme, ils ne sont plus une aussi grande menace. De plus, il semble que les radiations provenant de la centrale n°02 se soient arrêtées. En utilisant notre escouade de Rangers, nous devrions pouvoir facilement localiser et appréhender CURIE. Et de tout mon coeur, merci... PN. \nGrâce à ton courage et à ta détermination, Tandor a été sauvé. ...Mais... Qu'en est-il de Théo? Est-il... tu sais... \nEn vie? -Tousse, tousse- ...Ugh... Que... s'est-il passé? \nPN? C'est toi? Où est CURIE? \nLa seule chose dont je me souvienne c'est d'eux me poussant dans cette cuve... Primo: Théo! Tu vas bien?! Je suis en pleine forme, Chef... \nHaha... ugh.... Lorsque j'étais dans cette chose... c'était horrible. Je n'ai aucune idée du temps que j'ai passé à l'intérieur. PN... Je ne sais pas comment dire ça... mais je suis presque sûr que je te dois la vie. Donc, tu.... tu sais.... tu l'as fait?. Tu as battu CURIE? Wow. C'est bien toi PN . Perdre n'est pas une option pour toi. Ça a du être une magnifique bataille.... Je n'arrive pas à croire que j'étais juste là, et que j'ai tout raté. Primo: Je suis content que tu ailles bien, Théo. \nJ'envoie tout de suite des Rangers vous récupérer toi et PN . Merci, patron. \nJe suis désolé, j'ai désobéi à vos ordres. \nJ'ai été idiot et j'ai mis la mission entière en danger. Je crois que.... après tout ça, je vais faire une pause dans mes aventures.. Je vais rester à l'hopital avec papa.. Je serai là quand il se réveillera. Primo: C'est à toi de décider de tes actions. \nJe vous verrai bientôt tous les deux. \nIci Primo, fin de la communication. ...Pfiou. \nJe suis fatigué, PN. \nNous devrions sortir d'ici. \nViens, je connais un raccourci. Ainsi... \nPN et Théo retournèrent au QG des Rangers. \nQuand ils arrivèrent, ils furent accueilli comme des héros... \nEt la rumeur se répandit dans tout Tandor \nque PN avait vaincu CURIE. HuhuhuhuhahahahaHAHAHAHAHA!\nOUI! C'EST ÇA! \nCE PARFAIT REGARD DE DÉSESPOIR! Tu es vaincu! Tes amis sont impuissants! C'est fini! Notre règne commence aujourd'hui! HAHAHAHAHAHAHA! Et ainsi...\n Tandor fut englouti dans un siècle d'hiver nucléaire. On ne revit jamais PN et Théo... GAME OVER"
+
+msgid "MAP193_TRAINER_2_DEFEAT"
+msgstr "...Quoi? Non! Non non NON!"
+
+msgid "MAP195_TRAINER_1"
+msgstr "Bon.... Nous y voilà de nouveau. \nNous deux, combattant pour le titre de Champion. C'est ainsi que ça devait être, n'est-ce pas? \nMoi te faisant face, \nsous le regard de toute la région. \nÇa fait du bien.. Tu sais... \nOn dirait que c'est.... Le destin.\n ... À présent, rien ne se mettra \nen travers de nous deux. \nPas de Pokémon Légendaire ou d'Apocalypse Nucléaire. Rien que toi et moi... et l'esprit combattif de nos Pokémon. PN, j'ai attendu très longtemps pour ça... Découvrons qui sera le Champion! Les règles du Championnat sont les mêmes qu'avant. Aucun objet ne peut être utilisé, à l'exception de celui que tient le Pokémon. Le combat se terminera lorsqu'il n'y aura plus aucun Pokémon capable de se battre. Si les deux Dresseurs sont prêts, alors... La bataille pour choisir le Champion commence...... ...Maintenant! Et le gagnant est.... PN! Ouah...\nTu es plus fort que jamais, PN. \nC'était un combat excitant, si je puis le dire. Je ne suis même pas déçu d'avoir perdu. \nS'il y a une chose sur laquelle je peux toujours compter, c'est ton esprit indomptable! PN...... Félicitations vous êtes devenu \nle nouveau Champion de Tandor! Veuillez me suivre s'il-vous-plaît..."
+
+msgid "MAP195_TRAINER_1_DEFEAT"
+msgstr "Ouah... Ce combat était... tout ce que j'avais imaginé."
+
+msgid "MAP196_TRAINER_1"
+msgstr "NOUS-Y VOILA!\nC'EST LA FIN! MAINTENANT...\nJE SUIS...\n...\nLA MORT! NOOOOOOOOON!!!\nI-impossible...!!!\nTu...\nComment... pourrais-tu... être plus fort... que nous? Toi...\nJe te tuerai... de mes propres mains...\nJE--\nAGH! UGH--\nGYAAAAAARRRGHHHH! MUHUHUHAHAHAHAHA!!\nNOTRE POUVOIR EST INNARÊTABLE!\nMAINTENANT...ANÉANTIS-LES TOUS!! Tu es impuissant! Tes amis ne pourront te sauver! Tout est fini! Notre règne commence aujourd'hui! HAHAHAHAHAHAHA! Urayne Gamma était trop puissant. Il provoqua une explosion atomique massive...\nTout ce qui restait de la Ligue Pokémon fut réduit en ruines. Ceux qui avaient survécu à la première explosion périraient bientôt sous les coups du Pokémon Nucléaire. Les Rangers Pokémon de Tandor tentèrent de les maîtriser, mais ils se retrouvèrent bientôt en sous-effectif. Tout ceux qui pouvaient s'enfuir, allèrent vers une autre région... Ceux qui ne pouvaient partir. pleurèrent la perte de tous ceux qu'ils connaissaient et chérissaient. Alors Tandor sombra dans un Hiver Nucléaire. Si seulement tu étais plus fort...\nPeut-être...\nQue tu aurais pu arrêter tout ça... GAME OVER"
+
+msgid "MAP196_TRAINER_1_DEFEAT"
+msgstr "...Quoi? Non! Non non NON!"
+
+msgid "MAP201_NPC_1"
+msgstr "Cette navette conduit vers\nle Site du Championnat de Tandor.\nCependant, il est actuellement fermé au public."
+
+msgid "MAP201_NPC_2"
+msgstr "C'est une navette spéciale qui va vers le site du Championnat de Tandor\nMais il n'est pas ouvert au public pour l'instant, voilà pourquoi ça ne marche pas."
+
+msgid "MAP202_NPC_1"
+msgstr "Lanthan t'attend!\nTu ne peux plus reculer maintenant!"
+
+msgid "MAP202_TRAINER_1"
+msgstr "Halte! Vous vous êtes introduit\nsur un terrain sacré!\nEn tant que Moine de Lanthanite, il est de mon devoir d'éloigner les indignes!"
+
+msgid "MAP202_TRAINER_1_DEFEAT"
+msgstr "L-Le Champion de Tandor!\nVeuillez pardonner mon insolence!"
+
+msgid "MAP202_TRAINER_2"
+msgstr "Anfin d'être sanctifié..."
+
+msgid "MAP202_TRAINER_2_DEFEAT"
+msgstr "À l'intérieur de toi brûle un esprit qui peut faire fondre le plus froid des glaciers."
+
+msgid "MAP202_TRAINER_3"
+msgstr "Tu seras baigné dans le Feu et la Glace!"
+
+msgid "MAP202_TRAINER_3_DEFEAT"
+msgstr "À l'intérieur de toi brûle un esprit qui peut faire fondre le plus froid des glaciers."
+
+msgid "MAP202_TRAINER_4"
+msgstr "Nous vous détruirons, avec une paix et une sérénité totale!"
+
+msgid "MAP202_TRAINER_4_DEFEAT"
+msgstr "Un aussi grand pouvoir... Incroyable!"
+
+msgid "MAP202_TRAINER_5"
+msgstr "Je l'ai vu en rêve...\nLe Légendaire s'éveille!"
+
+msgid "MAP202_TRAINER_5_DEFEAT"
+msgstr "Oui... comme prévu, tu es vraiment formidable."
+
+msgid "MAP202_TRAINER_6"
+msgstr "Wow...\nJe n'avais jamais vu un endroit comme ça!\nWow.... ce doit être le repère de Lanthan.\nCes Légendaires sont bien plus forts qu'un\nPokémon ordinaire, pas vrai? \nMais, ce sont tout de même des Pokémon.\nEt donc ils peuvent être capturés. ...PN.. je crois que tu sais ce que nous devons faire. Battons-nous pour décider\nqui capturera Lanthan.\nJ'ai continué de soigner ton équipe,\nalors je sais qu'ils sont capables de se battre.\nJe n'attends que ta pleine puissance. Je ferai de mon mieux aussi.\nAlors, Champion.... Montre-moi ta puissance!! J'ai... perdu?\nWow...\nTu es vraiment incroyable, PN.\nJ'accepte ma défaite avec honneur.\nMaintenant que tu m'as battu, tu as gagné le droit de combattre Lanthan. Bon, alors...\nOù est-il? Il devrait être là. Le voilà!\nLe Pokémon légendaire! Eh bien, 'Champion de Tandor'...\nTu t'es bien battu, mais il semble que\ntu ne sois pas le plus fort, après tout. Et maintenant... la véritable raison pour laquelle je suis venu\nLanthan! Montre-toi!! Je suis là pour t'affronter! Viens me battre, maintenant! Lanthan...\nIl..... m'a parlé.....\nIl dit..... je ne suis pas digne?!\nC-c'est impossible!\nJ'étais le Champion de deux régions!\nJ'ai gagné le combat! Ça voudrait dire que... \nNon...!! (Humain...) (Tu n'es pas assez fort pour m'affronter.) (Je t'attendrais toi, juste toi...) (Lorsque tu seras plus puissant, nous nous ferons face, de nouveau.)"
+
+msgid "MAP202_TRAINER_6_DEFEAT"
+msgstr "J'ai... perdu?"
+
+msgid "MAP203_NPC_1"
+msgstr "Oh, vous êtes là pour nous aider à jardiner? Voyons ce que vous savez faire! Merci encore une fois pour m'avoir rendu service.\nCeux qui parviennent à un tel niveau d'entente avec leur Pokémon sont ceux qui ont un coeur bon et un esprit avisé. En souvenir d'une si ravivifiante démonstration et de notre rencontre fatidique en ce jour, permettez-moi de vous offrir ceci..."
+
+msgid "MAP203_NPC_2"
+msgstr "Oh, vous êtes là pour nous aider à jardiner? Voyons ce que vous savez faire! Merci encore une fois pour m'avoir rendu service.\nCeux qui parviennent à un tel niveau d'entente avec leur Pokémon sont ceux qui ont un coeur bon et un esprit avisé. En souvenir d'une si ravivifiante démonstration et de notre rencontre fatidique en ce jour, permettez-moi de vous offrir ceci..."
+
+msgid "MAP204_NPC_1"
+msgstr "Je viens du Clan Tsuki,\net mon épouse vient du Clan Nami.\nSans le geste exemplaire de nos dirigeants Hinata et Kaito, un amour comme le notre n'aurait jamais fleuri. Je pense que cela montre bien le pouvoir de l'amour!"
+
+msgid "MAP204_NPC_10"
+msgstr "Princesse Hinata brille comme le soleil!\nNous nous inclinons pour ne pas être ébloui par son éclat!"
+
+msgid "MAP204_NPC_11"
+msgstr "Tu es un Dresseur, pas vrai?\nTu dois sûrement connaître Kaito et Hinata,\nles champions de l'arène.\nIls ne favorisent pas un type particulier, mais...\nIls ont pour thème \"Nuit et Jour\"."
+
+msgid "MAP204_NPC_12"
+msgstr "Le Temple d'Aotius et Mutios\nest le plus grand bâtiment de tout le village.\nIl fut érigé pour signaler la fin de la guerre\n, qui a duré plus de 100 ans.\nDepuis lors, ce Temple est aussi une Arène,\n tous les combats à l'intérieur sont des rituels sacrés."
+
+msgid "MAP204_NPC_13"
+msgstr "Je suis l'Instructeur des Capacités d'Attaque Spéciale Pokémon. Je connais toutes les Attaques Spéciales qu'un Pokémon peut apprenddre en utilisant d'ancients secrets. Si tu as 4 Tessons Bleus, je pourrais peut-être apprendre une nouvelle capacité à ton Pokémon! Woaw, tu as les Tessons! Très bien! Je peux apprendre une capacité à ton Pokémon. Tu voulais que j'apprenne une capacité à ton Pokémon? Quel Pokémon a besoin d'entraînement? Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Hein? Il n'y a pas une seule capacité que je puisse apprendre à un oeuf. Impossible, je ne veux pas m'approcher d'un Pokémon Obscur.. Désolé... On ne dirait pas que je puisse apprendre de capacités à ton . Quelle capacité veux-tu que j'apprenne à ton ? PN a donné les Tessons en échange. Merci! Si tu as besoin d'apprendre d'autres capacités, reviens me voir avec la bonne quantité de Tessons! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Reviens quand tu auras 4 Tessons de chaque et j'aiderai tes Pokémon !"
+
+msgid "MAP204_NPC_14"
+msgstr "Muuu-sha!"
+
+msgid "MAP204_NPC_15"
+msgstr "Oh, bonjour!\nJe m'appelle Oryse, je suis une scientifique de la région d'Unys. J'ai décidé de venir en vacances ici, la culture de cette région est\nintéressante et unique.\nEt elle, c'est ma Mushana. Muuu-sha! Je suis une spécialiste sur Les Rêves des Pokémon. J'ai même participé à l'invention du Visualiseur de Rêve. Le pouvoir de Mushana me permet\nde voir ce dont rêvent les Pokémon.\nC'est vraiment fascinant! Hein?. Tu dis qu'une enfant\nà Venesi est piégée dans un rêve?\nC'est en dehors de mes domaines de compétence.\nJe me spécialise surtour sur les rêves des Pokémon.\nMais tout de même..... Je dois pouvoir faire quelque chose. D'accord! J'ai pris ma décsison! Je vais à Venesi\npour voir si je peux aider cette fille.\nDe toute façon, à quoi sert la science\nsi ce n'est pour améliorer la vie des gens?\nJe te croiserais là-bas, j'espère!"
+
+msgid "MAP204_NPC_16"
+msgstr "Ma fille est obsédée parNla collection de jouets du Pokémon Minicorne.NC'est son rêve d'en voir un en vrai.NSi tu le lui montrais,Nje suis sûr qu'elle serait folle de joie."
+
+msgid "MAP204_NPC_17"
+msgstr "Minicorne! Je veux voir un Minicorne!\nTu possèdes un Minicorne? OH MON DIEU!!!! TU AS UN MINICORNE!\n*HIIIII*\nC'EST TROP DOUX!\nEEEEEEEEEEEEE!!! Je suis trop trop trop contente!\nC'est le plus BEAU jour de ma vie!\nTiens, prends cette pierre brillante! Ohh...\nQuel est l'intérêt de devenir Dresseur\nsi tu n'attrapes pas de Pokémon mignon?"
+
+msgid "MAP204_NPC_18"
+msgstr "Je suis l'Instructeur des Capacités d'Attaque Physique Pokémon. Je connais toutes les capacités basées sur l'attaque physique qu'un Pokémon peut apprendre en utilisant d'ancients secrets. Si tu as 4 Eclats Rouge, je pourrais peut-être apprendre une nouvelle capacité à ton Pokémon! Woaw, tu as les Tessons! Très bien! Je peux apprendre une capacité à ton Pokémon. Tu voulais que j'apprenne une capacité à ton Pokémon? Quel Pokémon a besoin d'entraînement? Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Hein? Il n'y a pas une seule capacité que je puisse apprendre à un oeuf. Impossible, je ne veux pas m'approcher d'un Pokémon Obscur.. Désolé... On ne dirait pas que je puisse apprendre de capacités à ton . Quelle capacité veux-tu que j'apprenne à ton ? PN a donné les Tessons en échange. Merci! Si tu as besoin d'apprendre d'autres capacités, reviens me voir avec la bonne quantité de Tessons! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Reviens quand tu auras 4 Tessons de chaque et j'aiderai tes Pokémon !"
+
+msgid "MAP204_NPC_19"
+msgstr "Je suis l'Instructeur des Capacités Débuff Pokémon. Je connais toutes les capacités basées sur le débuff qu'un Pokémon peut apprendre en utilisant d'ancients secrets. Si tu as 4 Eclats Verts, je pourrais peut-être apprendre une nouvelle capacité à ton Pokémon! Woaw, tu as les Tessons! Très bien! Je peux apprendre une capacité à ton Pokémon. Tu voulais que j'apprenne une capacité à ton Pokémon? Quel Pokémon a besoin d'entraînement? Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Hein? Il n'y a pas une seule capacité que je puisse apprendre à un oeuf. Impossible, je ne veux pas m'approcher d'un Pokémon Obscur.. Désolé... On ne dirait pas que je puisse apprendre de capacités à ton . Quelle capacité veux-tu que j'apprenne à ton ? PN a donné les Tessons en échange. Merci! Si tu as besoin d'apprendre d'autres capacités, reviens me voir avec la bonne quantité de Tessons! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Reviens quand tu auras 4 Tessons de chaque et j'aiderai tes Pokémon !"
+
+msgid "MAP204_NPC_2"
+msgstr "Je suis Genin.\nLe Pokémon Saïdine est mon arme secrète! Nous sommes les descendants du Clan Nami.\nNotre secret est la maîtrise des vagues\nC'est pour cela que nous surfons."
+
+msgid "MAP204_NPC_3"
+msgstr "Devant toi se trouve Chuunin\nJe roule sur les vagues aussi véloces que le vent! Nos glorieux dirigeants souhaitent créer\nune ère de paix et de prospérité.\nCela sera difficile sachant que les pirates frappent à notre porte!"
+
+msgid "MAP204_NPC_4"
+msgstr "Ma maison a de nombreuses chambres supplémentaires,\nje l'ai donc reconvertie en hôtel.\nVeuillez respecter nos invités, s'il-vous-plaît."
+
+msgid "MAP204_NPC_5"
+msgstr "Je suis l'Instructeur des Capacités Buff Pokémon Je connais toutes les capacités basées sur le buff qu'un Pokémon peut apprendre en utilisant d'ancients secrets. Si tu as 4 Eclats Jaune, je pourrais peut-être apprendre une nouvelle capacité à ton Pokémon! Woaw, tu as les Tessons! Très bien! Je peux apprendre une capacité à ton Pokémon. Tu voulais que j'apprenne une capacité à ton Pokémon? Quel Pokémon a besoin d'entraînement? Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Hein? Il n'y a pas une seule capacité que je puisse apprendre à un oeuf. Impossible, je ne veux pas m'approcher d'un Pokémon Obscur.. Désolé... On ne dirait pas que je puisse apprendre de capacités à ton . Quelle capacité veux-tu que j'apprenne à ton ? PN a donné les Tessons en échange. Merci! Si tu as besoin d'apprendre d'autres capacités, reviens me voir avec la bonne quantité de Tessons! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Si tes Pokémon ont besoin d'apprendre une capacité, reviens me voir! Reviens quand tu auras 4 Tessons de chaque et j'aiderai tes Pokémon !"
+
+msgid "MAP204_NPC_6"
+msgstr "Je suis celui qu'on appelle Jounin.\nJ'attaque en lançant des Frinai, comme des couteaux! Notre ancien patron Hokage est en haut.\nDepuis qu'il a perdu face à toi, il passe son temps à s'entraîner. Je pense qu'il désire te surpasser."
+
+msgid "MAP204_NPC_7"
+msgstr "Salut. Je suis Ronin.\nLe Clan de la Vague est comme ma famille. Autrefois, le clan Nami\ndirigeait toute la Mer de Tandor Est.\nA présent, l'océan est un paradis pour les pirates... Peut-être que les choses iraient mieux\nsi nous reprenions le contrôle?"
+
+msgid "MAP204_NPC_8"
+msgstr "...Donc. Tu m'as vu dans mon état\nde marasme.\nPerdre un combat si humiliant...\nVaincu si facilement par un enfant...\nJe ne peux plus me montrer\nau village avant d'avoir maîtrisé\nles Six Arts Sacrés auprès du Grand Maître Yoshitaka. Mais du moment que ses meilleurs apprentis\nsont parsemés par le vent,\nmon apprentissage est incomplet.\nJe dois devenir plus fort...! Un jour, toi et moi nous nous recombattrons.\nC'est notre destin..."
+
+msgid "MAP204_NPC_9"
+msgstr "Comment décrirais-je les\nDaimyo?\nEn résumé ...\nIls sont les fondateurs spirituels, politiques et historiques de Tsukinami. Nous ne connaîtrons pas la paix sans eux. Ils sont véritablement bénis par Arceus."
+
+msgid "MAP206_SIGN_1"
+msgstr "Theo: Brrrrr!\nÇa y est, PN!On a plus qu'à avancer tout droit, et on complètera le défi! Viens, allons-y!"
+
+msgid "MAP206_TRAINER_1"
+msgstr "Tu as poursuivis ta quête, entrepris de nombreuses tâches difficiles, et est finalement arrivé à la vérité. Ce sera ton dernier défi. Tu n'as le droit d'utiliser aucun objet lors de notre combat. Fais simplement confiance aux capacités de tes Pokémon et poursuis sans hésitation! Vous avez complété les cinq défis. Vous êtes maintenant prêts à affronter le Champion d'Arène Vaeryn. Viens."
+
+msgid "MAP206_TRAINER_1_DEFEAT"
+msgstr "Bien joué."
+
+msgid "MAP207_NPC_1"
+msgstr "bCicéron:/b Y'a-t-il pour nous, pauvres hommes, une différence entre rêve et réalité?"
+
+msgid "MAP207_NPC_2"
+msgstr "bAntiphon:/b Le sais-tu: l'âme quitte le corps de ceux qui dorment."
+
+msgid "MAP207_NPC_3"
+msgstr "bAristote/b Utilité. Plaisir. Vertu.\nCe sont là, en effet, les facettes de l'amitié. PN a reçu. . . quelque chose. . . mais ça dévient de la poussière quand vous le prenez. Vous avez une soudaine vision d'un changement derrière l'Arène de Rosalinde."
+
+msgid "MAP207_SIGN_1"
+msgstr "Un Tamulot dort dans le thé."
+
+msgid "MAP207_SIGN_2"
+msgstr "^^^"
+
+msgid "MAP208_NPC_1"
+msgstr "Vous avez une soudaine vision d'un changement sur la Route 13."
+
+msgid "MAP209_NPC_1"
+msgstr "Bienvenue à notre Holiday Resort!\nVOUS êtes la star! Restez un peu... ou forever! Soufflez dans la conque\ns'il vous faut quoi que ce soit."
+
+msgid "MAP209_SIGN_1"
+msgstr "Les sables du temps s'égrènent pour toi..."
+
+msgid "MAP210_NPC_1"
+msgstr "Parfois, il faut faire des sacrifices. Parfois, le travail dur peut être réduit en cendres. Mais parfois, les flammes de la mort peuvent devenir la lueur du salut. Si tu rencontres un Pokémon nommé Antarki, sache qu'il est digne de confiance."
+
+msgid "MAP212_SIGN_1"
+msgstr "Un côté vous fera grandir, l'autre vous fera rétrécir."
+
+msgid "MAP213_NPC_1"
+msgstr "Quelque chose illumine la scène!"
+
+msgid "MAP213_NPC_2"
+msgstr "Quelque chose illumine la scène!"
+
+msgid "MAP213_NPC_3"
+msgstr "Quelque chose illumine la scène!"
+
+msgid "MAP213_NPC_4"
+msgstr "Quelque chose illumine la scène!"
+
+msgid "MAP213_NPC_5"
+msgstr "Vous avez une soudaine vision de changements sur la Route 13."
+
+msgid "MAP213_NPC_6"
+msgstr "Réunis les visions. Réunis vent et eau. Réunis rêveuse et sang, rêveuse et souffle."
+
+msgid "MAP213_NPC_7"
+msgstr "Réunis les souvenirs. Réunis Est et Ouest. Réunis Rêveuse et famille."
+
+msgid "MAP213_NPC_8"
+msgstr "Vous avez une soudaine vision de changements sur la Route 13."
+
+msgid "MAP213_NPC_9"
+msgstr "Mushana ne sonne pas à l'aise."
+
+msgid "MAP213_SIGN_1"
+msgstr ""
+
+msgid "MAP213_SIGN_2"
+msgstr "Là où nul oeil n'est sculpté, un oeil vous fixe."
+
+msgid "MAP213_SIGN_3"
+msgstr "\"Viens! Là, Maskesté! Làààà, Maskesté!\""
+
+msgid "MAP214_NPC_1"
+msgstr "Elle est piégée!\nQuand vous tentez de casser la vitre, votre bras a l'air d'être lent et lourd. Vous n'arrivez pas à placer un coup correct."
+
+msgid "MAP214_SIGN_1"
+msgstr "Les boutons ne marchent pas. Pas moyen de libérer Oryse."
+
+msgid "MAP214_SIGN_2"
+msgstr "Les lettre sont illisibles, mais vous ne sauriez pas les oublier."
+
+msgid "MAP216_NPC_1"
+msgstr "Vous avez une soudaine vision de changements près de l'arène de Rosalinde."
+
+msgid "MAP216_NPC_2"
+msgstr "Vous avez une soudaine vision de changements près de la chambre d'Oryse à Tsukinami."
+
+msgid "MAP216_SIGN_1"
+msgstr "Une table de nuit avec un livre. Le texte est gribouillé, mais vous déchiffrez une ligne: \n\"Car toute la vie est un songe, et les songes mêmes ne sont que songes.\""
+
+msgid "MAP216_SIGN_2"
+msgstr "Le manteau de la cheminée émet une douce lueur. Quelques lignes sont écrites en dessous: \"Une étoile propice domine à mon Zénith\" \"Luisants comme des brandons un feu, égare moi la nuit loin de ma route.\""
+
+msgid "MAP216_SIGN_3"
+msgstr "Le manteau de la cheminée émet une douce lueur. Quelques lignes sont écrites en dessous: \"Luisants comme des brandons un feu, égare moi la nuit loin de ma route.\" \"Une étoile propice domine à mon Zénith\""
+
+msgid "MAP216_SIGN_4"
+msgstr "Le manteau de la cheminée émet une douce lueur. Quelques lignes sont écrites en dessous: \"Luisants comme des brandons un feu, égare moi la nuit loin de ma route.\" \"Une étoile propice domine à mon Zénith\""
+
+msgid "MAP216_SIGN_5"
+msgstr "Le manteau de la cheminée émet une douce lueur. Quelques lignes sont écrites en dessous: \"Une étoile propice domine à mon Zénith\" \"Luisants comme des brandons un feu, égare moi la nuit loin de ma route.\""
+
+msgid "MAP217_SIGN_1"
+msgstr "Même quand vous le liser le texte change sans cesse. Vous avez mal au yeux. Vous croyez lire un T majuscule?"
+
diff --git a/Dialogue/Generated/fr/HandFixes.po b/Dialogue/Generated/fr/HandFixes.po
new file mode 100644
index 000000000..52dc8a6ee
--- /dev/null
+++ b/Dialogue/Generated/fr/HandFixes.po
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "PASSAGE_CAVE_TRAINER_1_DEFEATED"
+msgstr "Owww!"
+
+msgid "PASSAGE_CAVE_TRAINER_2_DEFEATED"
+msgstr "Argh...!"
+
+msgid "PASSAGE_CAVE_TRAINER_3_DEFEATED"
+msgstr "Aaaaargh!"
diff --git a/Dialogue/Generated/fr/Maps.po b/Dialogue/Generated/fr/Maps.po
new file mode 100644
index 000000000..80973bb7c
--- /dev/null
+++ b/Dialogue/Generated/fr/Maps.po
@@ -0,0 +1,10 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "HERO_HOME_BLOCK"
+msgstr "Il vaudrait mieux que je dise au revoir à Tatie d'abord."
+
+msgid "MOKI_TOWN_BLOCK"
+msgstr "Hey there, \\PN! I want to show you\nand Theo how to catch a Pokémon.\nCan you go get him?\nHe should be in his house."
diff --git a/Dialogue/Generated/fr/NPC.po b/Dialogue/Generated/fr/NPC.po
new file mode 100644
index 000000000..6c5a7528a
--- /dev/null
+++ b/Dialogue/Generated/fr/NPC.po
@@ -0,0 +1,277 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "NPC_TRAINER_D1"
+msgstr "Ceci est un test pour les PNJ.\n"
+
+msgid "NPC_TRAINER_D2"
+msgstr "Et tu sais quoi?\\wt[16].\\wt[16].\\wt[16].\\wt[10]\n"
+
+msgid "NPC_TRAINER_D3"
+msgstr "C'est aussi un test d'événement!\n"
+
+msgid "NPC_AUNT1_D1"
+msgstr "\\PN, mon chéri!\nC'est le grand jour aujourd'hui, n'est-ce pas?"
+
+msgid "NPC_AUNT1_D2"
+msgstr "Je me sens mélancolique, voyant mon petit bébé tout grand et s'en allant de la maison.\nOh, si mes vieux os pouvaient faire plus pour nous soutenir tous les deux!"
+
+msgid "NPC_AUNT1_D3"
+msgstr "Mais nous savons tous les deux que tu es prê{t|te}. Toi et ce garçon, Théo...\\.\ntoujours dans tes pattes, celui-là.\nTu as toujours été si doué,\nmais lui?\\.\nIl est plus jeune, après tout."
+
+msgid "NPC_AUNT1_D4"
+msgstr "Je suis certaine que son père Cameron ne le laisserait pas partir sans être sûr.\nD'ailleurs, pour célébrer ton grand jour,\nj'ai un cadeau pour toi."
+
+msgid "NPC_AUNT1_D5"
+msgstr "Vas-y et ouvre-le!"
+
+msgid "NPC_AUNT1_D6"
+msgstr "\\PN a obtenu les Chaussures de Course!\\wtnp[24]"
+
+msgid "NPC_AUNT1_D7"
+msgstr "(Il est écrit: «Pour courir, appuyez sur Z. Tu peux activer la course automatique dans le Menu.»)"
+
+msgid "NPC_AUNT1_D8"
+msgstr "*sniff*"
+
+msgid "NPC_AUNT1_D9"
+msgstr "O-oh, ne t'en occupe pas, ...\\.\nJe suis simplement une vieille dame émotive.\nSi seulement ton père était ici en ce moment...\nEt bien, je suis certaine qu'il aurait été aussi fier de toi.\\.\nEt je suis sûre que tu le rencontreras au cours ton aventure."
+
+msgid "NPC_AUNT1_D10"
+msgstr "À présent, je ne peux te garder plus longtemps.\nDis bonjour au gentil professeur pour moi, veux-tu?"
+
+msgid "NPC_AUNT1_D11"
+msgstr "Et si tu peux, reviens me voir\naprès avoir reçu ton premier Pokémon,\nj'adorerais le voir."
+
+msgid "NPC_AUNT1_D12"
+msgstr "Bonne chance, mon chéri!"
+
+msgid "NPC_AUNT1_D13"
+msgstr "Si tu peux, reviens me voir après avoir reçu ton premier Pokémon, j'adorerais le voir.\n Bonne chance, mon ange!"
+
+msgid "NPC_AUNT1_D14_RAPTORCH"
+msgstr "Oh, mon bébé, tu es revenu dire au revoir! Que c'est agréable. C'est ton Pokémon? Comment s'appelle-t-il? Raptorche? C'est trop mignon! Reviens quand tu auras besoin de repos, ou si tu veux simplement me faire plaisir."
+
+msgid "NPC_AUNT1_D14_ORCHYNX"
+msgstr "Oh, mon bébé, tu es revenu dire au revoir! Que c'est agréable. C'est ton Pokémon? Comment s'appelle-t-il? Pétalynx? C'est trop mignon! Reviens quand tu auras besoin de repos, ou si tu veux simplement me faire plaisir."
+
+msgid "NPC_AUNT1_D14_ELETUX"
+msgstr "Oh, mon bébé, tu es revenu dire au revoir! Que c'est agréable. C'est ton Pokémon? Comment s'appelle-t-il? Électrott? C'est trop mignon! Reviens quand tu auras besoin de repos, ou si tu veux simplement me faire plaisir."
+
+msgid "NPC_BAMBO_MOKI_TOWN_CATCH_DEMO_PREP_1"
+msgstr "Hey there, \\PN!\nNow that you and Theo are here,\nit's time to begin your first lesson as a\nPokémon Trainer and a field research aid."
+
+msgid "NPC_AUNT_HEAL_1"
+msgstr "Bonjour, mon ange! Tu fais une pause dans tes aventures fatigantes?"
+
+msgid "NPC_AUNT_HEAL_2"
+msgstr "Nice work, kid.\nThose were some impressive battling skills! Here, let me heal your Pokémon for you."
+
+msgid "NPC_AUNT_HEAL_3"
+msgstr "C'est calme sans ta présence, tu sais..."
+
+msgid "NPC_AUNT_HEAL_RANDOM_1"
+msgstr "Je me suis amusée avec ton Wii tennis. Ça fait du bien de bouger."
+
+msgid "NPC_AUNT_HEAL_RANDOM_2"
+msgstr "J'ai rejoint une classe de natation aérobique. J'ai un cours chaque mardi."
+
+msgid "NPC_AUNT_HEAL_RANDOM_3"
+msgstr "J'ai demandé à des voisins d'installer internet."
+
+msgid "NPC_AUNT_HEAL_RANDOM_4"
+msgstr "Les enfants d'à côté semblent interéssés par ta Wii. Je les laisse jouer."
+
+msgid "NPC_AUNT_HEAL_RANDOM_5"
+msgstr "Je me suis lancée dans le développement de jeux indés. Mon projet le plus récent s'appelle «Pokémon Agate.»"
+
+msgid "NPC_AUNT_HEAL_RANDOM_6"
+msgstr "Je n'ai pas vu le gentil Théo récemment. Je me demande où il est parti."
+
+msgid "NPC_AUNT_HEAL_RANDOM_7"
+msgstr "Le savais-tu, j'ai essayé de parler à Cam récemment et il s'est même pas intéressé! Quel impoli!"
+
+msgid "NPC_AUNT_HEAL_RANDOM_8"
+msgstr "As-tu des nouvelles de mon neveu-- ton père-- récemment? Être Ranger semble ardu."
+
+msgid "NPC_AUNT_HEAL_RANDOM_9"
+msgstr "Je pensais à chercher un Pokémon de compagnie."
+
+msgid "NPC_AUNT_HEAL_RANDOM_10"
+msgstr "As-tu déjà parlé à ton voisin Cam? Il est électricien, tu sais. Il a l'air de gravir les échelons."
+
+msgid "NPC_AUNT_HEAL_RANDOM_11"
+msgstr "Tu sais, quand j'étais une petite fille, j'étais pas mal jolie. *soupir*"
+
+msgid "NPC_AUNT_HEAL_RANDOM_12"
+msgstr "Je regardais la télévision et ils ont mentionné ta mère! Quelque chose concernant une nouvelle centrale, je ne sais plus."
+
+msgid "NPC_AUNT_HEAL_RANDOM_13"
+msgstr "As-tu déjà battu un Champion d'Arène?"
+
+msgid "NPC_AUNT_HEAL_RANDOM_14"
+msgstr "Tu pars pour une autre aventure, eh, \\PN? Pourquoi ne pas rester ici et te reposer un peu?"
+
+msgid "NPC_ROUTE1_TRAINER_1"
+msgstr "T'es un nouveau Dresseur, hein? Je viens de commencer aussi!"
+
+msgid "NPC_ROUTE1_TRAINER_1_DEFEAT"
+msgstr "Tout le monde peut devenir Dresseur, mais certaines personnes sont plus aptes pour ça que d'autres, tu ne crois pas?"
+
+msgid "NPC_ROUTE1_TRAINER_2"
+msgstr "Hé \\PN! Je viens d'avoir un nouveau Pokémon et je veux voir ce qu'il vaut!"
+
+msgid "NPC_ROUTE1_TRAINER_2_DEFEAT"
+msgstr "Ah, il n'est pas aussi fort que je l'espérais..."
+
+msgid "NPC_ROUTE1_CHYINMUNK"
+msgstr "I wonder what kind of Pokémon lives in this pond? Probably just Magikarp..."
+
+msgid "NPC_ROUTE1_TRAINER_3"
+msgstr "Hé! Toi! Ouais, toi, là-bas! On va s'battre maintenant, OK?"
+
+msgid "NPC_ROUTE1_TRAINER_3_DEFEAT"
+msgstr "Ouaaahh! C'était ouf!"
+
+msgid "NPC_ROUTE1_TRAINER_4"
+msgstr "Ne t'en vas pas!"
+
+msgid "NPC_ROUTE1_TRAINER_4_DEFEAT"
+msgstr "Oh, saperlipopette! J'ai perdu!"
+
+msgid "NPC_POKECENTER_NURSE_1"
+msgstr "Bonjour! Bienvenue au Centre Pokémon,"
+
+msgid "NPC_POKECENTER_NURSE_2"
+msgstr "où nous soignons les Pokémon."
+
+msgid "NPC_POKECENTER_NURSE_3"
+msgstr "Voulez-vous que nous nous occupions de votre équipe?"
+
+msgid "NPC_POKECENTER_NURSE_4"
+msgstr "Très bien! Confiez-moi vos Pokémon un instant."
+
+msgid "NPC_POKECENTER_NURSE_5"
+msgstr "Merci d'avoir attendu."
+
+msgid "NPC_POKECENTER_NURSE_6"
+msgstr "Votre équipe a retrouvé la santé!"
+
+msgid "NPC_POKECENTER_NURSE_7"
+msgstr "À bientôt!"
+
+msgid "NPC_ROUTE2_TRAINER_1"
+msgstr "J'ai entendu dire que les Chouetton se reproduisent par ici. \nJ'essaie d'en attraper un!"
+
+msgid "NPC_ROUTE2_TRAINER_1_DEFEAT"
+msgstr "Tu peux me dire ton secret pour \ndresser des Pokémon comme ça? Steuplaîîîîît?"
+
+msgid "NPC_ROUTE2_TRAINER_2"
+msgstr "Hé, gamin! Es-tu assez fort pour traverser cette caverne?"
+
+msgid "NPC_ROUTE2_TRAINER_2_DEFEAT"
+msgstr "Ouais, t'as l'air assez fort."
+
+msgid "NPC_ROUTE2_BAREWL"
+msgstr "Embri! Fer!"
+
+msgid "PASSAGE_CAVE_TRAINER_1"
+msgstr "Cette grotte est hardcore! Seuls les plus badass peuvent la traverser!"
+
+msgid "PASSAGE_CAVE_TRAINER_2"
+msgstr "J'ai juré de ne jamais quitter cette caverne tant que je n'ai pas gagné 100 victoires d'affilée!"
+
+msgid "PASSAGE_CAVE_TRAINER_3"
+msgstr "Dans un sens, je trouve ça marrant d'en mettre plein la tronche, sans distinction, à des Dresseurs innocents!"
+
+msgid "PASSAGE_CAVE_TRAINER_1_DEFEAT"
+msgstr "...Ouais, t'es badass, toi."
+
+msgid "PASSAGE_CAVE_TRAINER_2_DEFEAT"
+msgstr "Après réflexion, c'était pêut-être un défi idiot..."
+
+msgid "PASSAGE_CAVE_TRAINER_3_DEFEAT"
+msgstr "...J'imagine que tous les tyrans reçoivent un jour leur châtiment..."
+
+msgid "NOWTOCH_CITY_CREEPY_GUY"
+msgstr "Tu peux utiliser cette clef pour aller dans la maison de Maria. Elle habite au sud de la ville."
+
+msgid "GYM1_TRAINER_1"
+msgstr "Ha! Tu crois que t'as de quoi battre Maria?\nLaisse-moi en juger!"
+
+msgid "GYM1_TRAINER_1_DEFEAT"
+msgstr "Hmm. Celui-là a du potentiel."
+
+msgid "GYM1_TRAINER_2"
+msgstr "Maria est peut-être la première Championne d'Arène,\nmais elle a été Maître!\nT'es encore à des années-lumière de la battre!"
+
+msgid "GYM1_TRAINER_2_DEFEAT"
+msgstr "Les années-lumière sont une unité de distance, non de temps..."
+
+msgid "GYM1_MARIA_1"
+msgstr "Re-bonjour~\nDonc, je ne crois pas qu'on se soit réellement présentés."
+
+msgid "GYM1_MARIA_2"
+msgstr "Comment t'appelles-tu?"
+
+msgid "GYM1_MARIA_3"
+msgstr "The Dream Visualizer is showing...Dreams? Memories?"
+
+msgid "GYM1_MARIA_4"
+msgstr "\\PN?\\. J'aime bien~\nBienvenue à l'Arène Pokémon de Néotech!~"
+
+msgid "GYM1_MARIA_5"
+msgstr "Je suis Maria, spécialiste du type Normal...\nMais tu le savais déjà!\nÉvidemment, la plupart des gens connaissent\n\"Maria, Maître de Tandor\"...\nCes jours sont passés.\nDorénavant, je guide de jeunes Dresseurs comme toi,\nsur le chemin de la grandeur."
+
+msgid "GYM1_MARIA_6"
+msgstr "Ce sera une bataille longue et difficile pour devenir Maître... Peux-tu y arriver?"
+
+msgid "GYM1_MARIA_7"
+msgstr "Ton premier test sur tes compétences...\nCommence dès à présent!"
+
+msgid "GYM1_MARIA_8"
+msgstr "{1}'s"
+
+msgid "GYM1_MARIA_9"
+msgstr "C'est ça!~\nC'est ça, l'esprit que je veux voir!\nTu as bien mérité ce Badge Normal!"
+
+msgid "GYM1_MARIA_10"
+msgstr "Félicitations!~"
+
+msgid "GYM1_MARIA_11"
+msgstr "Dis, cet esprit que tu as démontré au combat...\\.\nÇa me rappelle quand je débutais.\nEssaie de maintenir cette détermination\net je suis sûre que tu iras loin!~"
+
+msgid "GYM1_MARIA_12"
+msgstr "Tiens, prends cette CT, aussi!~"
+
+msgid "GYM1_MARIA_13"
+msgstr "Avec les voyages, les liens avec\ntes Pokémon se renforceront.\nPlus grande est l'amitié, plus Retour est puissant au combat!"
+
+msgid "GYM1_MARIA_14"
+msgstr "Les CTs peuvent s'utiliser à l'infini, donc apprends-le au plus de Pokémon possible! Ils peuvent presque tous apprendre celle-là.~"
+
+msgid "GYM1_MARIA_15"
+msgstr "J'ai aimé combattre contre toi, \\PN. Bonne chance pour ton voyage!~"
+
+msgid "GYM1_MARIA_16"
+msgstr "...Tu me demandes si j'aime les chats?\nBen, gnnéééé! Ils sont trop mignons!~\nJe pourrais probablement transformer cette Arène en une Arène de type chat, si je le voulais... hmmm..."
+
+msgid "GYM1_GYM_GUY_1"
+msgstr "Yo, Dresseur!\nC'est ta première Arène?\nTu dois être au max!"
+
+msgid "GYM1_GYM_GUY_2"
+msgstr "On m'appelle le mec des Arènes, présent pour donner des astuces aux Dresseurs qui cherchent à défier la Ligue de Tandor!"
+
+msgid "GYM1_GYM_GUY_3"
+msgstr "Maria est une experte du type Normal.\nLes types Normal n'ont pas d'avantage particulier, mais ils ont peu de faiblesses."
+
+msgid "GYM1_GYM_GUY_4"
+msgstr "Les types Combat sont forts ici, comme Férosinge,\ntout comme les types Acier comme Pétalynx et Embryfer parce qu'ils sont résistants à leurs attaques."
+
+msgid "GYM1_GYM_GUY_5"
+msgstr "Sinon, la pleine puissance de\nton Pokémon le plus fort\ndevrait faire l'affaire.\nBonne chance! Je serai de ton côté!\n...Oh et, prends ça, avec mes salutations!"
+
+msgid "GYM1_GYM_GUY_6"
+msgstr "Sinon, la pleine puissance de\nton Pokémon le plus fort\ndevrait faire l'affaire.\nBonne chance! Je serai de ton côté!"
diff --git a/Dialogue/Generated/fr/Objects.po b/Dialogue/Generated/fr/Objects.po
new file mode 100644
index 000000000..83feaca30
--- /dev/null
+++ b/Dialogue/Generated/fr/Objects.po
@@ -0,0 +1,37 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "INTERACT_MOKITOWN_HOUSE_TV"
+msgstr "Il y a une pub pour un nouveau jeu vidéo à la télé.\nC'est une simulation de combat Pokémon appelée \"Version Bleue et Rouge\"."
+
+msgid "INTERACT_MOKITOWN_HOUSE_CONSOLE"
+msgstr "C'est une Nintendo Wii U. Mais la nouvelle Nintendo Switch est mieux."
+
+msgid "INTERACT_MOKITOWN_HOUSE_BOOKSHELF"
+msgstr "C'est rempli de livres sur les Pokémon : \"Mon Owten et moi\", \"La Grande Aventure de Jerbolta\", \"La Quête des Légendes\". Je les ai tous lus des dizaines de fois."
+
+msgid "SMASHABLE_ROCK"
+msgstr "C'est un rocher solide, mais un Pokémon pourrait l'éclater."
+
+msgid "POCKET_NAME_ITEMS"
+msgstr "Poche Objets"
+
+msgid "POCKET_NAME_MEDICINE"
+msgstr "Poche Soins"
+
+msgid "POCKET_NAME_BALLS"
+msgstr "Poche Poké Balls"
+
+msgid "POCKET_NAME_TMS"
+msgstr "Poche CT"
+
+msgid "POCKET_NAME_BERRIES"
+msgstr "Poche Baies"
+
+msgid "POCKET_NAME_BATTLE_ITEMS"
+msgstr "Poche Objets Combat"
+
+msgid "POCKET_NAME_KEY_ITEMS"
+msgstr "Poche Objets Rares"
diff --git a/Dialogue/Generated/fr/OfficialItems.po b/Dialogue/Generated/fr/OfficialItems.po
new file mode 100644
index 000000000..853cdf6f4
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialItems.po
@@ -0,0 +1,3511 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "Repel"
+msgstr "Repousse"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 100 steps after its use."
+msgstr "Repousse les Pokémon sauvages faibles pendant 100 pas."
+
+msgid "Super Repel"
+msgstr "Super Repousse"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 200 steps after its use."
+msgstr "Repousse les Pokémon sauvages faibles pendant 200 pas."
+
+msgid "Max Repel"
+msgstr "Max Repousse"
+
+msgid "An item that prevents weak wild Pokémon from appearing for 250 steps after its use."
+msgstr "Repousse les Pokémon sauvages faibles pendant 250 pas."
+
+msgid "Black Flute"
+msgstr "Flûte Noire"
+
+msgid "A black flute made from blown glass. Its melody makes wild Pokémon less likely to appear."
+msgstr "Une flûte noire faite en verre soufflé. Sa mélodie empêche les Pokémon sauvages d'apparaître."
+
+msgid "White Flute"
+msgstr "Flûte Blanche"
+
+msgid "A white flute made from blown glass. Its melody makes wild Pokémon more likely to appear."
+msgstr "Une flûte blanche faite en verre soufflé. Sa mélodie fait apparaître plus souvent des Pokémon."
+
+msgid "Honey"
+msgstr "Miel"
+
+msgid "A sweet honey with an aroma that attracts wild Pokémon when used in grass, caves or on special trees."
+msgstr "Un miel au parfum riche qui, utilisé dans l'herbe, une grotte ou sur des arbres spéciaux, attire les Pokémon sauvages. Objet à usage unique."
+
+msgid "Escape Rope"
+msgstr "Corde Sortie"
+
+msgid "A long, durable rope. Use it to escape instantly from a cave or a dungeon."
+msgstr "Une corde longue et solide permettant de sortir rapidement d'une grotte ou d'un donjon."
+
+msgid "Red Shard"
+msgstr "Tesson Rouge"
+
+msgid "A small red shard. It appears to be from some sort of implement made long ago."
+msgstr "Petit tesson rouge. Il semble provenir d'un outil très ancien."
+
+msgid "Blue Shard"
+msgstr "Tesson Bleu"
+
+msgid "A small blue shard. It appears to be from some sort of implement made long ago."
+msgstr "Petit tesson bleu. Il semble provenir d'un outil très ancien."
+
+msgid "Yellow Shard"
+msgstr "Tesson Jaune"
+
+msgid "A small yellow shard. It appears to be from some sort of implement made long ago."
+msgstr "Petit tesson jaune. Il semble provenir d'un outil très ancien."
+
+msgid "Green Shard"
+msgstr "Tesson Vert"
+
+msgid "A small green shard. It appears to be from some sort of implement made long ago."
+msgstr "Petit tesson vert. Il semble provenir d'un outil très ancien."
+
+msgid "Fire Stone"
+msgstr "Pierre Feu"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is colored orange."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle est jaune et orange."
+
+msgid "Water Stone"
+msgstr "Pierre Eau"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is a clear, light blue."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle est de couleur bleue."
+
+msgid "Thunderstone"
+msgstr "Pierre Foudre"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It has a thunderbolt pattern."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Un éclair est dessiné dessus."
+
+msgid "Leaf Stone"
+msgstr "Pierre Plante"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It has a leaf pattern."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Une feuille est dessinée dessus."
+
+msgid "Moon Stone"
+msgstr "Pierre Lune"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as black as the night sky."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle est noire comme la nuit."
+
+msgid "Sun Stone"
+msgstr "Pierre Soleil"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as red as the sun."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle est rouge comme le Soleil couchant."
+
+msgid "Shiny Stone"
+msgstr "Pierre Éclat"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It shines with a dazzling light."
+msgstr "Une pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle brille d'une lumière aveuglante."
+
+msgid "Dusk Stone"
+msgstr "Pierre Nuit"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is as dark as dark can be."
+msgstr "Une Pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle est sombre comme une nuit sans lune."
+
+msgid "Dawn Stone"
+msgstr "Pierre Aube"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It sparkles like eyes."
+msgstr "Une Pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle brille comme un oeil."
+
+msgid "Oval Stone"
+msgstr "Pierre Ovale"
+
+msgid "A peculiar stone that makes certain species of Pokémon evolve. It is shaped like an egg."
+msgstr "Une Pierre étrange qui fait évoluer certaines espèces de Pokémon. Elle a la forme d’un oeuf."
+
+msgid "Helix Fossil"
+msgstr "Fossile Nautile"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a seashell."
+msgstr "Fossile d'un ancien Pokémon aquatique. On dirait un morceau de coquillage."
+
+msgid "Dome Fossil"
+msgstr "Fossile Dôme"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a shell."
+msgstr "Fossile d'un ancien Pokémon aquatique. On dirait un morceau de carapace."
+
+msgid "Old Amber"
+msgstr "Vieil Ambre"
+
+msgid "A piece of clear amber that contains the genetic material of an ancient Pokémon."
+msgstr "Un morceau d'ambre contenant l'ADN d'un ancien Pokémon. Il est de couleur jaune."
+
+msgid "Root Fossil"
+msgstr "Fossile Racine"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a plant root."
+msgstr "Fossile d'un ancien Pokémon aquatique. On dirait un morceau de racine de plante."
+
+msgid "Claw Fossil"
+msgstr "Fossile Griffe"
+
+msgid "A fossil of an ancient Pokémon that lived in the sea. It appears to be part of a claw."
+msgstr "Fossile d'un ancien Pokémon aquatique. On dirait un morceau de griffe."
+
+msgid "Armor Fossil"
+msgstr "Fossile Armure"
+
+msgid "A fossil from a prehistoric Pokémon that lived on the land. It appears to be part of a collar."
+msgstr "Fossile d'un Pokémon préhistorique terrestre. On dirait une partie d'un collier."
+
+msgid "Skull Fossil"
+msgstr "Fossile Crâne"
+
+msgid "A fossil from a prehistoric Pokémon that lived on the land. It appears to be part of a head."
+msgstr "Fossile d'un Pokémon préhistorique terrestre. On dirait une partie d'un crâne."
+
+msgid "TinyMushroom"
+msgstr "Petit Champi"
+
+msgid "A small and rare mushroom. It is quite popular among certain maniacal fan segments."
+msgstr "Un petit champignon plutôt rare. Il est plutôt populaire parmi certains fans dévoués."
+
+msgid "Big Mushroom"
+msgstr "Gros Champi"
+
+msgid "A large and rare mushroom. It is very popular among certain maniacal fan segments."
+msgstr "Un gros champignon plutôt rare. Il est plutôt populaire parmi certains fans dévoués."
+
+msgid "Pearl"
+msgstr "Perle"
+
+msgid "A somewhat-small pearl that sparkles in a pretty silver color. It can be sold cheaply to shops."
+msgstr "Une petite perle qui brille d'une jolie couleur argentée. Peut être vendue à bas prix aux magasins."
+
+msgid "Big Pearl"
+msgstr "Grande Perle"
+
+msgid "A quite-large pearl that sparkles in a pretty silver color. It can be sold at a high price to shops."
+msgstr "Une perle assez grosse qui brille d'une jolie couleur argentée. Peut être vendue à bon prix aux magasins."
+
+msgid "Stardust"
+msgstr "Poussière d'étoile"
+
+msgid "Lovely, red-colored sand with a loose, silky feel. It can be sold at a high price to shops."
+msgstr "Sable rouge ravissant, aux grains très fins. Peut être vendu à bon prix aux magasins."
+
+msgid "Star Piece"
+msgstr "Morceau d'Étoile"
+
+msgid "A shard of a pretty gem that sparkles in a red color. It can be sold at a high price to shops."
+msgstr "Fragment de gemme qui brille d'un éclat rouge. Peut se vendre à bon prix aux magasins."
+
+msgid "Nugget"
+msgstr "Pépite"
+
+msgid "A nugget of pure gold that gives off a lustrous gleam. It can be sold at a high price to shops."
+msgstr "Pépite d'or pur qui brille d'un éclat magnifique. Peut être vendue à bon prix aux magasins."
+
+msgid "Heart Scale"
+msgstr "Écaille Coeur"
+
+msgid "A pretty, heart-shaped scale that is extremely rare. It glows faintly in the colors of the rainbow."
+msgstr "Une très rare et jolie écaille en forme de coeur. Elle brille légèrement d'un éclat arc-en-ciel."
+
+msgid "Rare Bone"
+msgstr "Os Rare"
+
+msgid "A bone that is extremely valuable for Pokémon archaeology. It can be sold for a high price to shops."
+msgstr "Un os d'une grande valeur pour l'archéologie. Peut être vendu à bon prix aux magasins."
+
+msgid "Shoal Salt"
+msgstr "Sel Tréfonds"
+
+msgid "Pure salt that was discovered deep inside the Shoal Cave. It is extremely salty."
+msgstr "Du sel pur provenant des profondeurs de la Grotte Tréfonds. Il est extremement salé."
+
+msgid "Shoal Shell"
+msgstr "Coquille Tréfonds"
+
+msgid "A pretty seashell that was found deep inside the Shoal Cave. It is striped in blue and white."
+msgstr "Un joli coquillage rayé bleu et blanc provenant des profondeurs de la Grotte Tréfonds."
+
+msgid "Odd Keystone"
+msgstr "Clé de Voûte Étrange"
+
+msgid "A vital item that is needed to keep a stone tower from collapsing. Voices can be heard from it occasionally."
+msgstr "Un objet très important qui empêche une tour en pierre de s'écrouler. Des voix peuvent être entendues occasionnellement."
+
+msgid "Growth Mulch"
+msgstr "Fertipousse"
+
+msgid "A plant fertilizer. It speeds up the growth of Berries. However, it also dries the soil faster."
+msgstr "Le temps de pousse des baies est réduit, mais le sol s'assèche plus vite."
+
+msgid "Damp Mulch"
+msgstr "Fertihumide"
+
+msgid "A plant fertilizer. It slows the growth of Berries and causes the soil to dry slower."
+msgstr "Le temps de pousse des baies est plus lent, mais le sol s'assèche moins vite."
+
+msgid "Stable Mulch"
+msgstr "Fertistable"
+
+msgid "A plant fertilizer. It extends the time ripened Berries remain on their plants before falling."
+msgstr "Les baies mûres restent plus longtemps sur l'arbre."
+
+msgid "Gooey Mulch"
+msgstr "Fertiglu"
+
+msgid "A plant fertilizer. It ups the number of times new plants grow where mature plants withered."
+msgstr "Un engrais végétal. Il augmente le nombre de fois où de nouvelles plantes poussent là où les plantes mûres ont flétri."
+
+msgid "Red Apricorn"
+msgstr "Noigrume Rouge"
+
+msgid "A red Apricorn. It assails your nostrils."
+msgstr "Un Noigrume rouge. Il attaque les narines."
+
+msgid "Ylw Apricorn"
+msgstr "Noigrume Jaune"
+
+msgid "A yellow Apricorn. It has an invigorating scent."
+msgstr "Un Noigrume jaune. Son odeur est revigorante."
+
+msgid "Blu Apricorn"
+msgstr "Noigrume Bleu"
+
+msgid "A blue Apricorn. It smells a bit like grass."
+msgstr "Un Noigrume bleu. Ça à l'odeur de l'herbe."
+
+msgid "Grn Apricorn"
+msgstr "Noigrume Vert"
+
+msgid "A green Apricorn. It has a mysterious, aromatic scent."
+msgstr "Un Noigrume vert. Son parfum aromatique est mystérieux."
+
+msgid "Pnk Apricorn"
+msgstr "Noigrume Rose"
+
+msgid "A pink Apricorn. It has a nice, sweet scent."
+msgstr "Un Noigrume rose. Son odeur est très agréable."
+
+msgid "Wht Apricorn"
+msgstr "Noigrume Blanc"
+
+msgid "A white Apricorn. It doesn't smell like anything."
+msgstr "Un Noigrume blanc. Ça ne sent rien."
+
+msgid "Blk Apricorn"
+msgstr "Noigrume Noir"
+
+msgid "A black Apricorn. It has an indescribable scent."
+msgstr "Un Noigrume noir. Son parfum est indescriptible."
+
+msgid "BrightPowder"
+msgstr "Poudre Claire"
+
+msgid "An item to be held by a Pokémon. It casts a tricky glare that lowers the opponent's accuracy."
+msgstr "Objet à tenir qui intimide et baisse la Précision de l’ennemi."
+
+msgid "White Herb"
+msgstr "Herbe Blanche"
+
+msgid "An item to be held by a Pokémon. It restores any lowered stat in battle. It can be used only once."
+msgstr "Objet à tenir qui restaure les stats baissées. Ne peut être utilisé qu’une fois."
+
+msgid "Exp. Share"
+msgstr "Multi Exp"
+
+msgid "An item to be held by a Pokémon. The holder gets a share of a battle's Exp. Points without battling."
+msgstr "Objet à tenir. Le porteur partage des points Exp avec les autres Pokémon de son équipe sans qu'ils aient à combattre."
+
+msgid "Quick Claw"
+msgstr "Vive Griffe"
+
+msgid "An item to be held by a Pokémon. A light, sharp claw that lets the bearer move first occasionally."
+msgstr "Objet à tenir. Griffe légère mais tranchante qui permet parfois de frapper le premier."
+
+msgid "Soothe Bell"
+msgstr "Grelot Zen"
+
+msgid "An item to be held by a Pokémon. It is a bell with a comforting chime that calms the holder."
+msgstr "Objet à tenir. Grelot dont le carillon calme le porteur et favorise l’amitié."
+
+msgid "Mental Herb"
+msgstr "Herbe Mental"
+
+msgid "An item to be held by a Pokémon. It snaps the holder out of infatuation, just once."
+msgstr "Objet à tenir qui annule l’attirance d’un Pokémon. Ne peut être utilisé qu’une fois."
+
+msgid "King's Rock"
+msgstr "Roche Royale"
+
+msgid "An item to be held by a Pokémon. It may cause the foe to flinch when the holder inflicts damage."
+msgstr "Objet à tenir pouvant apeurer l’ennemi quand le porteur lui inflige des dégâts."
+
+msgid "SilverPowder"
+msgstr "Poudre Argentée"
+
+msgid "An item to be held by a Pokémon. It is a shiny, silver powder that ups the power of Bug-type moves."
+msgstr "Objet à tenir. Poudre d’argent brillante qui monte la puissance des capacités de type Insecte."
+
+msgid "Amulet Coin"
+msgstr "Pièce Rune"
+
+msgid "An item to be held by a Pokémon. It doubles a battle's prize money if the holding Pokémon joins in."
+msgstr "Objet à tenir. Double l’argent gagné si le porteur se joint au combat."
+
+msgid "Cleanse Tag"
+msgstr "Rune Purifiante"
+
+msgid "An item to be held by a Pokémon. It helps keep wild Pokémon away if the holder is the first one in the party."
+msgstr "Objet à tenir. Aide à repousser les Pokémon sauvages si le porteur est le premier Pokémon de l’équipe."
+
+msgid "Smoke Ball"
+msgstr "Boule Fumée"
+
+msgid "An item to be held by a Pokémon. It enables the holder to flee from any wild Pokémon without fail."
+msgstr "Objet à tenir. Permet au porteur de s’enfuir à coup sûr face à un Pokémon sauvage."
+
+msgid "Everstone"
+msgstr "Pierre Stase"
+
+msgid "An item to be held by a Pokémon. The Pokémon holding this peculiar stone is prevented from evolving."
+msgstr "Objet à tenir. Pierre merveilleuse empêchant l’évolution."
+
+msgid "Focus Band"
+msgstr "Bandeau"
+
+msgid "An item to be held by a Pokémon. The holder may endure a potential KO attack, leaving it with just 1 HP."
+msgstr "Objet à tenir pouvant parfois empêcher d’être mis K.O., ne laissant qu’un PV."
+
+msgid "Lucky Egg"
+msgstr "oeuf Chance"
+
+msgid "An item to be held by a Pokémon. It is an egg filled with happiness that earns extra Exp. Points in battle."
+msgstr "Objet à tenir. oeuf rempli de joie qui augmente le nombre de points Exp. gagnés au combat."
+
+msgid "Scope Lens"
+msgstr "Lentilscope"
+
+msgid "An item to be held by a Pokémon. It is a lens that boosts the holder's critical-hit ratio."
+msgstr "Objet à tenir. Lentille qui augmente le taux de critiques du porteur."
+
+msgid "Wide Lens"
+msgstr "Loupe"
+
+msgid "An item to be held by a Pokémon. It is a magnifying lens that slightly boosts the accuracy of moves."
+msgstr "Objet à tenir. Magnifique loupe augmentant un peu la Précision des capacités."
+
+msgid "Zoom Lens"
+msgstr "Lentille Zoom"
+
+msgid "An item to be held by a Pokémon. If the holder moves after the foe, its critical-hit ratio will be boosted."
+msgstr "Objet à tenir. Augmente la Précision du porteur s’il attaque après l’ennemi."
+
+msgid "Metal Coat"
+msgstr "Peau Métal"
+
+msgid "An item to be held by a Pokémon. It is a special metallic film that ups the power of Steel-type moves."
+msgstr "Objet à tenir. Pellicule métallique spéciale qui monte la puissance des capacités de type Acier."
+
+msgid "Leftovers"
+msgstr "Restes"
+
+msgid "An item to be held by a Pokémon. The holder's HP is gradually restored during battle."
+msgstr "Objet à tenir permettant de restaurer les PV du porteur graduellement durant le combat."
+
+msgid "Dragon Scale"
+msgstr "Écaille Draco"
+
+msgid "A thick and tough scale. Dragon-type Pokémon may be holding this item when caught."
+msgstr "Une écaille épaisse et dure tenue parfois par les Pokémon de type Dragon quand ils sont capturés."
+
+msgid "Shell Bell"
+msgstr "Grelot Coque"
+
+msgid "An item to be held by a Pokémon. The holder's HP is restored a little every time it inflicts damage."
+msgstr "Objet à tenir. Restaure un peu les PV du porteur à chaque fois qu’il inflige des dégâts."
+
+msgid "Muscle Band"
+msgstr "Bandeau Muscle"
+
+msgid "An item to be held by a Pokémon. It is a headband that slightly boosts the power of physical moves."
+msgstr "Objet à tenir. Bandeau augmentant légèrement la puissance des attaques physiques."
+
+msgid "Wise Glasses"
+msgstr "Lunettes Sages"
+
+msgid "An item to be held by a Pokémon. It is a thick pair of glasses that boosts the power of special moves."
+msgstr "Objet à tenir. Paire de lunettes épaisses augmentant un peu la puissance des attaques spéciales."
+
+msgid "Expert Belt"
+msgstr "Ceinture Pro"
+
+msgid "An item to be held by a Pokémon. It is a well-worn belt that boosts the power of supereffective moves."
+msgstr "Objet à tenir. Ceinture usée augmentant légèrement la puissance des capacités super efficaces."
+
+msgid "Life Orb"
+msgstr "Orbe Vie"
+
+msgid "An item to be held by a Pokémon. It boosts the power of moves, but at the cost of some HP on each hit."
+msgstr "Objet à tenir augmentant la puissance des capacités, mais qui dépense des PV à chaque coup."
+
+msgid "Power Herb"
+msgstr "Herbe Pouvoir"
+
+msgid "A single-use item to be held by a Pokémon. It allows the immediate use of a move that charges."
+msgstr "Objet à tenir et à usage unique. Permet d’utiliser immédiatement une capacité qui devrait se charger au premier tour."
+
+msgid "Toxic Orb"
+msgstr "Orbe Toxique"
+
+msgid "An item to be held by a Pokémon. It is a bizarre orb that badly poisons the holder in battle."
+msgstr "Objet à tenir. Orbe bizarre empoisonnant gravement son porteur durant le combat."
+
+msgid "Flame Orb"
+msgstr "Orbe Flamme"
+
+msgid "An item to be held by a Pokémon. It is a bizarre orb that inflicts a burn on the holder in battle."
+msgstr "Objet à tenir. Orbe bizarre brûlant son porteur durant le combat."
+
+msgid "Focus Sash"
+msgstr "Ceinture Force"
+
+msgid "An item to be held by a Pokémon. If it has full HP, the holder will endure a potential KO attack."
+msgstr "Objet à tenir permettant au porteur, s’il a ses PV pleins, d’éviter un potentiel K.O. en conservant un PV."
+
+msgid "Metronome"
+msgstr "Métronome"
+
+msgid "A Pokémon hold item that boosts a move used consecutively."
+msgstr "Objet à tenir boostant une capacité utilisée à répétition. L’effet s’annule si une autre capacité est utilisée."
+
+msgid "Iron Ball"
+msgstr "Balle Fer"
+
+msgid "A Pokémon hold item that cuts Speed. It makes airborne holders susceptible to Ground moves."
+msgstr "Objet à tenir réduisant la Vitesse. Rend les porteurs de type Vol et lévitant sensibles aux capacités de type Sol."
+
+msgid "Lagging Tail"
+msgstr "Ralentiqueue"
+
+msgid "An item to be held by a Pokémon. It is tremendously heavy and makes the holder move slower than usual."
+msgstr "Objet à tenir extrêmement lourd qui ralentit le porteur."
+
+msgid "Destiny Knot"
+msgstr "Noeud Destin"
+
+msgid "A long, bright red string to be held by a Pokémon. If the holder becomes infatuated, the foe does too."
+msgstr "Un long fil rouge vif à faire tenir à un Pokémon. Si le porteur succombe à l’attirance, l’ennemi aussi."
+
+msgid "Black Sludge"
+msgstr "Boue Noire"
+
+msgid "A hold item that gradually restores the HP of Poison-type Pokémon. It inflicts damage on all other types."
+msgstr "Objet à tenir restaurant peu à peu les PV des Pokémon de type Poison. Inflige des dégâts à tous les autres types."
+
+msgid "Grip Claw"
+msgstr "Accro Griffe"
+
+msgid "A Pokémon hold item that extends the duration of multiturn attacks like Bind and Wrap."
+msgstr "Objet à tenir augmentant la durée des attaques à tours multiples telles que Ligotage et Étreinte."
+
+msgid "Sticky Barb"
+msgstr "Piquants"
+
+msgid "A hold item that damages the holder on every turn. It may latch on to foes that touch the holder."
+msgstr "Objet à tenir blessant le porteur à chaque tour. Peut s’accrocher aux ennemis qui attaquent le porteur."
+
+msgid "Shed Shell"
+msgstr "Carapace Mue"
+
+msgid "A tough, discarded carapace to be held by a Pokémon. It enables the holder to switch out of battle."
+msgstr "Objet à tenir. Carapace dure qui permet au porteur de se retirer même s’il est affecté par une attaque immobilisante."
+
+msgid "Big Root"
+msgstr "Grosse Racine"
+
+msgid "A Pokémon hold item that boosts the power of HP-stealing moves to let the holder recover more HP."
+msgstr "Objet à tenir augmentant la puissance des attaques volant des PV."
+
+msgid "Choice Band"
+msgstr "Bandeau Choix"
+
+msgid "An item to be held by a Pokémon. This headband ups Attack, but allows the use of only one kind of move."
+msgstr "Objet à tenir. Ce bandeau monte l’Attaque, mais ne permet d’utiliser qu’une seule capacité par combat."
+
+msgid "Choice Specs"
+msgstr "Lunettes Choix"
+
+msgid "A Pokémon hold item. These distinctive glasses boost Sp. Atk, but allow only one move to be used."
+msgstr "Objet à tenir augmentant l’Attaque Spéciale, mais ne permettant d’utiliser qu’une seule capacité par combat."
+
+msgid "Choice Scarf"
+msgstr "Mouchoir Choix"
+
+msgid "An item to be held by a Pokémon. This scarf boosts Speed, but allows the use of only one kind of move."
+msgstr "Objet à tenir augmentant la Vitesse, mais ne permettant d’utiliser qu’une seule capacité par combat."
+
+msgid "Light Clay"
+msgstr "Lumargile"
+
+msgid "A Pokémon hold item that extends the duration of barrier moves like Light Screen and Reflect."
+msgstr "Objet à tenir augmentant la durée de capacités barrières telles que Mur Lumière et Protection."
+
+msgid "Icy Rock"
+msgstr "Roche Glace"
+
+msgid "A Pokémon hold item that extends the duration of the move Hail used by the holder."
+msgstr "Objet à tenir augmentant la durée de la capacité Grêle utilisée par le porteur."
+
+msgid "Smooth Rock"
+msgstr "Roche Lisse"
+
+msgid "A Pokémon hold item that extends the duration of the move Sandstorm used by the holder."
+msgstr "Objet à tenir augmentant la durée de la capacité Tempêtesable utilisée par le porteur."
+
+msgid "Heat Rock"
+msgstr "Roche Chaude"
+
+msgid "A Pokémon hold item that extends the duration of the move Sunny Day used by the holder."
+msgstr "Objet à tenir augmentant la durée de la capacité Zénith utilisée par le porteur."
+
+msgid "Damp Rock"
+msgstr "Roche Humide"
+
+msgid "A Pokémon hold item that extends the duration of the move Rain Dance used by the holder."
+msgstr "Objet à tenir augmentant la durée de la capacité Danse Pluie utilisée par le porteur."
+
+msgid "Macho Brace"
+msgstr "Bracelet Macho"
+
+msgid "A Pokémon hold item that is a stiff and heavy brace that promotes strong growth but lowers Speed."
+msgstr "Objet à tenir. C’est un bracelet dur et lourd qui rend le porteur plus fort, mais baisse sa Vitesse."
+
+msgid "Power Bracer"
+msgstr "Bracelet Pouvoir"
+
+msgid "A Pokémon hold item that promotes Attack gain on leveling, but reduces the Speed stat."
+msgstr "Objet à tenir augmentant l’Attaque lors des montées de niveau, mais réduisant la Vitesse pendant le combat."
+
+msgid "Power Belt"
+msgstr "Ceinture Pouvoir"
+
+msgid "A Pokémon hold item that promotes Defense gain on leveling, but reduces the Speed stat."
+msgstr "Objet à tenir augmentant la Défense lors des montées de niveau, mais réduisant la Vitesse pendant le combat."
+
+msgid "Power Lens"
+msgstr "Lentille Pouvoir"
+
+msgid "A Pokémon hold item that promotes Sp. Atk gain on leveling, but reduces the Speed stat."
+msgstr "Objet à tenir augmentant l’Attaque Spéciale lors des montées de niveau mais réduisant la Vitesse pendant le combat."
+
+msgid "Power Band"
+msgstr "Bandeau Pouvoir"
+
+msgid "A Pokémon hold item that promotes Sp. Def gain on leveling, but reduces the Speed stat."
+msgstr "Objet à tenir augmentant la Défense Spéciale lors des montées de niveau mais réduisant la Vitesse pendant le combat."
+
+msgid "Power Anklet"
+msgstr "Chaîne Pouvoir"
+
+msgid "A Pokémon hold item that promotes Speed gain on leveling, but reduces the Speed stat."
+msgstr "Objet à tenir. Il augmente la Vitesse lors des montées de niveau mais réduit la Vitesse pendant le combat."
+
+msgid "Power Weight"
+msgstr "Haltère Pouvoir"
+
+msgid "A Pokémon hold item that promotes HP gain on leveling, but reduces the Speed stat."
+msgstr "Objet à tenir augmentant les PV lors des montées de niveau, mais réduisant la Vitesse pendant le combat."
+
+msgid "Sea Incense"
+msgstr "Encens Mer"
+
+msgid "A Pokémon hold item. It is incense with a curious aroma that boosts the power of Water-type moves."
+msgstr "Objet à tenir. Encens au parfum curieux qui augmente la puissance des capacités de type Eau."
+
+msgid "Lax Incense"
+msgstr "Encens Doux"
+
+msgid "A Pokémon hold item. The tricky aroma of this incense lowers the foe's accuracy."
+msgstr "Objet à tenir. Le parfum trompeur de cet encens baisse la Précision de l’ennemi."
+
+msgid "Odd Incense"
+msgstr "Encens Bizarre"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Psychic-type moves."
+msgstr "Objet à tenir. Encens au parfum exotique augmentant la puissance des capacités de type Psy."
+
+msgid "Rock Incense"
+msgstr "Encens Roc"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Rock-type moves."
+msgstr "Objet à tenir. Encens au parfum exotique augmentant la puissance des capacités de type Roche."
+
+msgid "Full Incense"
+msgstr "Encens Plein"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that makes the holder bloated and slow moving."
+msgstr "Objet à tenir. Encens au parfum exotique gonflant son porteur et le faisant se déplacer lentement."
+
+msgid "Wave Incense"
+msgstr "Encens Vague"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Water-type moves."
+msgstr "Objet à tenir. Encens au parfum exotique augmentant la puissance des capacités de type Eau."
+
+msgid "Rose Incense"
+msgstr "Encens Fleur"
+
+msgid "A Pokémon hold item. It is an exotic-smelling incense that boosts the power of Grass-type moves."
+msgstr "Objet à tenir. Encens au parfum exotique augmentant la puissance des capacités de type Plante."
+
+msgid "Luck Incense"
+msgstr "Encens Veine"
+
+msgid "Pure Incense"
+msgstr "Encens Pur"
+
+msgid "Soft Sand"
+msgstr "Sable Doux"
+
+msgid "An item to be held by a Pokémon. It is a loose, silky sand that boosts the power of Ground-type moves."
+msgstr "Objet à tenir. Sable fin et soyeux montant la puissance des capacités de type Sol."
+
+msgid "Hard Stone"
+msgstr "Pierre Dure"
+
+msgid "An item to be held by a Pokémon. It is an unbreakable stone that ups the power of Rock-type moves."
+msgstr "Objet à tenir. Pierre incassable qui monte la puissance des capacités de type Roche."
+
+msgid "Miracle Seed"
+msgstr "Grain Miracle"
+
+msgid "An item to be held by a Pokémon. It is a seed imbued with life that ups the power of Grass-type moves."
+msgstr "Objet à tenir. Graine remplie de vie qui monte la puissance des capacités de type Plante."
+
+msgid "BlackGlasses"
+msgstr "Lunettes Noires"
+
+msgid "An item to be held by a Pokémon. It is a shady-looking pair of glasses that boosts Dark-type moves."
+msgstr "Objet à tenir. Paire de lunettes à l’aspect louche qui monte la puissance des capacités de type Ténèbres."
+
+msgid "Black Belt"
+msgstr "Ceinture Noire"
+
+msgid "An item to be held by a Pokémon. It is a belt that boosts determination and Fighting-type moves."
+msgstr "Objet à tenir. Ceinture qui augmente la détermination et la puissance des capacités de type Combat."
+
+msgid "Magnet"
+msgstr "Aimant"
+
+msgid "An item to be held by a Pokémon. It is a powerful magnet that boosts the power of Electric-type moves."
+msgstr "Objet à tenir. Aimant puissant montant la puissance des capacités de type Électrique."
+
+msgid "Mystic Water"
+msgstr "Eau Mystique"
+
+msgid "An item to be held by a Pokémon. It is a teardrop-shaped gem that ups the power of Water-type moves."
+msgstr "Objet à tenir. Gemme en forme de goutte d’eau montant la puissance des capacités de type Eau."
+
+msgid "Sharp Beak"
+msgstr "Bec Pointu"
+
+msgid "An item to be held by a Pokémon. It is a long, sharp beak that boosts the power of Flying-type moves."
+msgstr "Objet à tenir. Bec long et pointu montant la puissance des capacités de type Vol."
+
+msgid "Poison Barb"
+msgstr "Pic Venin"
+
+msgid "An item to be held by a Pokémon. It is a small, poisonous barb that ups the power of Poison-type moves."
+msgstr "Objet à tenir. Petit pic empoisonné montant la puissance des capacités de type Poison."
+
+msgid "NeverMeltIce"
+msgstr "Glace Éternelle"
+
+msgid "An item to be held by a Pokémon. It is a piece of ice that repels heat and boosts Ice-type moves."
+msgstr "Objet à tenir. Morceau de glace qui réfléchit la chaleur et monte la puissance des capacités de type Glace"
+
+msgid "Spell Tag"
+msgstr "Rune Sort"
+
+msgid "An item to be held by a Pokémon. It is a sinister, eerie tag that boosts the power of Ghost-type moves."
+msgstr "Objet à tenir. Plaque sinistre et étrange montant la puissance des capacités de type Spectre."
+
+msgid "TwistedSpoon"
+msgstr "Cuiller Tordue"
+
+msgid "A Pokémon hold item. It is a spoon imbued with telekinetic power that boosts Psychic-type moves."
+msgstr "Objet à tenir. Cuillère contenant un pouvoir télékinésique montant la puissance des capacités de type Psy."
+
+msgid "Charcoal"
+msgstr "Charbon"
+
+msgid "An item to be held by a Pokémon. It is a combustible fuel that boosts the power of Fire-type moves."
+msgstr "Objet à tenir. Combustible montant la puissance des capacités de type Feu."
+
+msgid "Dragon Fang"
+msgstr "Croc Dragon"
+
+msgid "An item to be held by a Pokémon. It is a hard and sharp fang that ups the power of Dragon-type moves."
+msgstr "Objet à tenir. Croc dur et pointu montant la puissance des capacités de type Dragon"
+
+msgid "Silk Scarf"
+msgstr "Mouchoir Soie"
+
+msgid "An item to be held by a Pokémon. It is a sumptuous scarf that boosts the power of Normal-type moves."
+msgstr "Objet à tenir. Mouchoir somptueux montant la puissance des capacités de type Normal."
+
+msgid "Flame Plate"
+msgstr "Plaque Flam"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fire-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Feu."
+
+msgid "Splash Plate"
+msgstr "Plaque Hydro"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Water-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Eau."
+
+msgid "Zap Plate"
+msgstr "Plaque Volt"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Electric-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Électrique."
+
+msgid "Meadow Plate"
+msgstr "Plaque Herbe"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Grass-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Plante."
+
+msgid "Icicle Plate"
+msgstr "Plaque Glace"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ice-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Glace."
+
+msgid "Fist Plate"
+msgstr "Plaque Poing"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fighting-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Combat."
+
+msgid "Toxic Plate"
+msgstr "Plaque Toxic"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Poison-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Poison."
+
+msgid "Earth Plate"
+msgstr "Plaque Terre"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ground-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Sol."
+
+msgid "Sky Plate"
+msgstr "Plaque Ciel"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Flying-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Vol."
+
+msgid "Mind Plate"
+msgstr "Plaque Esprit"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Psychic-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Psy."
+
+msgid "Insect Plate"
+msgstr "Plaque Insect"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Bug-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Insecte."
+
+msgid "Stone Plate"
+msgstr "Plaque Roc"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Rock-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Roche."
+
+msgid "Spooky Plate"
+msgstr "Plaque Fantô"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Ghost-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Spectre."
+
+msgid "Draco Plate"
+msgstr "Plaque Draco"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Dragon-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Dragon."
+
+msgid "Dread Plate"
+msgstr "Plaque Ombre"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Dark-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Ténèbres."
+
+msgid "Iron Plate"
+msgstr "Plaque Fer"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Steel-type moves."
+msgstr "Objet à tenir. Tablette en pierre augmentant la puissance des capacités de type Acier."
+
+msgid "Light Ball"
+msgstr "Balle Lumiere"
+
+msgid "An item to be held by Pikachu. It is a puzzling orb that raises the Sp. Atk stat."
+msgstr "Objet à faire tenir par Pikachu. Orbe énigmatique qui monte son Attaque et son Attaque Spéciale."
+
+msgid "Lucky Punch"
+msgstr "Poing Chance"
+
+msgid "An item to be held by Chansey. It is a pair of gloves that boosts CHANSEY's critical-hit ratio."
+msgstr "Objet à faire tenir à Leveinard. Paire de gants montant son taux de critique."
+
+msgid "Metal Powder"
+msgstr "Poudre Métal"
+
+msgid "An item to be held by Ditto. Extremely fine yet hard, this odd powder boosts the Defense stat."
+msgstr "Objet à faire tenir à Métamorph. Cette poudre étrange, très fine mais résistante, booste sa Défense."
+
+msgid "Quick Powder"
+msgstr "Poudre Vite"
+
+msgid "An item to be held by Ditto. Extremely fine yet hard, this odd powder boosts the Speed stat."
+msgstr "Objet à faire tenir à Métamorph. Cette poudre étrange, très fine mais résistante, augmente sa Vitesse."
+
+msgid "Thick Club"
+msgstr "Masse Os"
+
+msgid "An item to be held by Cubone or Marowak. It is a hard bone of some sort that boosts the Attack stat."
+msgstr "Objet à faire tenir à Osselait ou Ossatueur. Os dur qui monte leur Attaque."
+
+msgid "Stick"
+msgstr "Bâton"
+
+msgid "An item to be held by Farfetch'd. It is a long and stiff leek stalk that boosts the critical-hit ratio."
+msgstr "Objet à faire tenir à Canarticho. Poireau très long et solide qui monte son taux de critiques."
+
+msgid "Soul Dew"
+msgstr "Rosée Âme"
+
+msgid "A wondrous orb to be held by Latios or Latias. It raises both the Sp. Atk and Sp. Def stats."
+msgstr "Orbe prodigieux à faire tenir à Latios ou Latias qui monte leur Attaque Spéciale et leur Défense Spéciale."
+
+msgid "DeepSeaTooth"
+msgstr "Dent Océan"
+
+msgid "An item to be held by Clamperl. A fang that gleams a sharp silver, it raises the Sp. Atk stat."
+msgstr "Objet à faire tenir à Coquiperl. Dent de couleur argent montant son Attaque Spéciale."
+
+msgid "DeepSeaScale"
+msgstr "Écaille Océan"
+
+msgid "An item to be held by Clamperl. A scale that shines a faint pink, it raises the Sp. Def stat."
+msgstr "Objet à faire tenir à Coquiperl. Écaille de couleur rose montant sa Défense Spéciale."
+
+msgid "Adamant Orb"
+msgstr "Orbe Adamant"
+
+msgid "A brightly gleaming orb to be held by Dialga. It boosts the power of Dragon- and Steel-type moves."
+msgstr "Orbe très brillant destiné à Dialga. Augmente la puissance des capacités de type Dragon et Acier."
+
+msgid "Lustrous Orb"
+msgstr "Orbe Perlé"
+
+msgid "A beautifully glowing orb to be held by Palkia. It boosts the power of Dragon- and Water-type moves."
+msgstr "Bel orbe luisant destiné à Palkia. Augmente la puissance des capacités de type Dragon et Eau."
+
+msgid "Griseous Orb"
+msgstr "Orbe Platine"
+
+msgid "A glowing orb to be held by Giratina. It boosts the power of Dragon- and Ghost-type moves."
+msgstr "Mystérieux objet destiné à Giratina. Améliore les capacités de type Dragon et Spectre."
+
+msgid "Up-Grade"
+msgstr "Améliorator"
+
+msgid "A transparent device filled with all sorts of data. It was produced by Silph Co."
+msgstr "Dispositif transparent rempli de données diverses et variées. Fabriqué par la Sylphe SARL."
+
+msgid "Dubious Disc"
+msgstr "CD Douteux"
+
+msgid "A transparent device overflowing with dubious data. Its producer is unknown."
+msgstr "Appareil transparent rempli de données douteuses. Son fabricant n’est pas connu."
+
+msgid "Protector"
+msgstr "Protecteur"
+
+msgid "A protective item of some sort. It is extremely stiff and heavy. It is loved by a certain Pokémon."
+msgstr "Objet protecteur très dur et très lourd, apprécié d’un certain Pokémon."
+
+msgid "Electirizer"
+msgstr "Électriseur"
+
+msgid "A box packed with a tremendous amount of electric energy. It is loved by a certain Pokémon."
+msgstr "Une boîte remplie d’une énorme quantité d’énergie électrique. Appréciée d’un certain Pokémon."
+
+msgid "Magmarizer"
+msgstr "Magmariseur"
+
+msgid "A box packed with a tremendous amount of magma energy. It is loved by a certain Pokémon."
+msgstr "Une boîte remplie d’une énorme quantité d’énergie magmatique. Appréciée d’un certain Pokémon."
+
+msgid "Reaper Cloth"
+msgstr "Tissu Fauche"
+
+msgid "A cloth imbued with horrifyingly strong spiritual energy. It is loved by a certain Pokémon."
+msgstr "Un tissu imprégné d’une énergie spirituelle horriblement puissante. Apprécié d’un certain Pokémon."
+
+msgid "Razor Claw"
+msgstr "Griffe Rasoir"
+
+msgid "An item to be held by a Pokémon. It is a sharply hooked claw that ups the holder's critical-hit ratio."
+msgstr "Objet à tenir. Griffe crochue et pointue augmentant le taux de critique."
+
+msgid "Razor Fang"
+msgstr "Croc Rasoir"
+
+msgid "Red Scarf"
+msgstr "Foulard Rouge"
+
+msgid "An item to be held by a Pokémon. It boosts the “Cool” aspect of the holder in a Contest."
+msgstr "Objet à tenir durant un concours. Booste les capacités Sang-Froid du détenteur."
+
+msgid "Blue Scarf"
+msgstr "Foulard Bleu"
+
+msgid "An item to be held by a Pokémon. It boosts the “Beauty” aspect of the holder in a Contest."
+msgstr "Objet à tenir durant un concours. Booste les capacités Beauté du détenteur."
+
+msgid "Pink Scarf"
+msgstr "Foulard Rose"
+
+msgid "An item to be held by a Pokémon. It boosts the “Cute” aspect of the holder in a Contest."
+msgstr "Objet à tenir durant un concours. Booste les capacités Grâce du détenteur."
+
+msgid "Green Scarf"
+msgstr "Foulard Vert"
+
+msgid "An item to be held by a Pokémon. It boosts the “Smart” aspect of the holder in a Contest."
+msgstr "Objet à tenir durant un concours. Booste les capacités Intelligence du détenteur."
+
+msgid "Yellow Scarf"
+msgstr "Foulard Jaune"
+
+msgid "An item to be held by a Pokémon. It boosts the “Tough” aspect of the holder in a Contest."
+msgstr "Objet à tenir durant un concours. Booste les capacités Robustesse du détenteur."
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by just 20 points."
+msgstr "Un spray qui soigne les blessures. Restaure 20 PV à un Pokémon."
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by 50 points."
+msgstr "Un spray qui soigne les blessures. Restaure 50 PV à un Pokémon."
+
+msgid "A spray-type medicine for wounds. It restores the HP of one Pokémon by 200 points."
+msgstr "Un spray qui soigne les blessures. Restaure 200 PV à un Pokémon."
+
+msgid "Max Potion"
+msgstr "Potion Max"
+
+msgid "A spray-type medicine for wounds. It completely restores the HP of a single Pokémon."
+msgstr "Un spray qui soigne les blessures. Restaure tous les PV d'un Pokémon."
+
+msgid "Full Restore"
+msgstr "Guérison"
+
+msgid "A medicine that fully restores the HP and heals any status problems of a single Pokémon."
+msgstr "Un médicament qui restaure tous les PV d'un Pokémon et soigne tous ses problèmes de statut."
+
+msgid "Sacred Ash"
+msgstr "Cendresacrée"
+
+msgid "It revives all fainted Pokémon. In doing so, it also fully restores their HP."
+msgstr "Ranime tout les Pokémon KO de votre équipe et restaure tous leurs PV (hors combat)."
+
+msgid "A spray-type medicine. It lifts the effect of poison from one Pokémon."
+msgstr "Médicament sous forme de spray qui soigne un Pokémon empoisonné."
+
+msgid "Burn Heal"
+msgstr "Anti-Brûle"
+
+msgid "A spray-type medicine. It heals a single Pokémon that is suffering from a burn."
+msgstr "Médicament sous forme de spray qui soigne les brûlures d'un Pokémon."
+
+msgid "Ice Heal"
+msgstr "Antigel"
+
+msgid "A spray-type medicine. It defrosts a Pokémon that has been frozen solid."
+msgstr "Médicament sous forme de spray qui dégèle un Pokémon."
+
+msgid "Awakening"
+msgstr "Réveil"
+
+msgid "A spray-type medicine. It awakens a Pokémon from the clutches of sleep."
+msgstr "Médicament sous forme de spray qui réveille un Pokémon endormi."
+
+msgid "Parlyz Heal"
+msgstr "Anti-Para"
+
+msgid "A spray-type medicine. It eliminates paralysis from a single Pokémon."
+msgstr "Médicament sous forme de spray qui soigne un Pokémon de la paralysie."
+
+msgid "Full Heal"
+msgstr "Total Soin"
+
+msgid "A spray-type medicine. It heals all the status problems of a single Pokémon."
+msgstr "Médicament sous forme de spray qui soigne tous les problèmes de statut d'un Pokémon."
+
+msgid "Lavaridge Town's local specialty. It heals all the status problems of one Pokémon."
+msgstr "Soigne tous les problèmes de statut d'un Pokémon."
+
+msgid "Old Gateau"
+msgstr "Vieux Gâteau"
+
+msgid "Old Chateau's hidden specialty. It heals all the status problems of a single Pokémon."
+msgstr "Soigne tous les problèmes de statut d'un Pokémon.."
+
+msgid "Revive"
+msgstr "Rappel"
+
+msgid "A medicine that revives a fainted Pokémon. It restores half the Pokémon's maximum HP."
+msgstr "Un médicament qui ranime un Pokémon K.O. et restaure la moitié de ses PV max."
+
+msgid "Max Revive"
+msgstr "Rappel Max"
+
+msgid "A medicine that revives a fainted Pokémon. It fully restores the Pokémon's HP."
+msgstr "Un médicament qui ranime un Pokémon K.O. et restaure tous ses PV."
+
+msgid "Berry Juice"
+msgstr "Jus De Baie"
+
+msgid "A 100% pure juice made of Berries. It restores the HP of one Pokémon by just 20 points."
+msgstr "Une boisson 100% pur jus de Baies. Restaure 20 PV à un Pokémon."
+
+msgid "Fresh Water"
+msgstr "Eau Fraîche"
+
+msgid "Water with a high mineral content. It restores the HP of one Pokémon by 50 points."
+msgstr "Une eau riche en minéraux. Restaure 50 PV à un Pokémon."
+
+msgid "Soda Pop"
+msgstr "Soda Cool"
+
+msgid "A fizzy soda drink. It restores the HP of one Pokémon by 60 points."
+msgstr "Une boisson pétillante. Restaure 60 PV à un Pokémon."
+
+msgid "Lemonade"
+msgstr "Limonade"
+
+msgid "A very sweet drink. It restores the HP of one Pokémon by 80 points."
+msgstr "Une boisson très sucrée. Restaure 80 PV à un Pokémon."
+
+msgid "Moomoo Milk"
+msgstr "Lait Meumeu"
+
+msgid "Milk with a very high nutrition content. It restores the HP of one Pokémon by 100 points."
+msgstr "Un lait très nourrissant. Restaure 100 PV à un Pokémon."
+
+msgid "EnergyPowder"
+msgstr "Poudre Énergie"
+
+msgid "A very bitter medicine powder. It restores the HP of one Pokémon by 50 points."
+msgstr "Une poudre médicinale très amère. Restaure 50 PV à un Pokémon."
+
+msgid "Energy Root"
+msgstr "Racine Énergie"
+
+msgid "A very bitter root. It restores the HP of one Pokémon by 200 points."
+msgstr "Une racine très amère. Restaure 200 PV à un Pokémon."
+
+msgid "Heal Powder"
+msgstr "Poudre Soin"
+
+msgid "A very bitter medicine powder. It heals all the status problems of a single Pokémon."
+msgstr "Une poudre médicinale très amère. Soigne tous les problèmes de statut d'un Pokémon."
+
+msgid "Revival Herb"
+msgstr "Herbe Rappel"
+
+msgid "A very bitter medicinal herb. It revives a fainted Pokémon, fully restoring its HP."
+msgstr "Une herbe médicinale très amère. Ranime un Pokémon K.O. et restaure tous ses PV."
+
+msgid "Ether"
+msgstr "Huile"
+
+msgid "It restores the PP of a Pokémon's selected move by a maximum of 10 points."
+msgstr "Restaure jusqu’à 10 PP d’une capacité sélectionnée."
+
+msgid "Max Ether"
+msgstr "Huile Max"
+
+msgid "It fully restores the PP of a single selected move that has been learned by the target Pokémon."
+msgstr "Restaure tous les PP d’une capacité sélectionnée."
+
+msgid "Elixir"
+msgstr "Élixir"
+
+msgid "It restores the PP of all the moves learned by the targeted Pokémon by 10 points each."
+msgstr "Restaure 10 PP de toutes les capacités d’un Pokémon."
+
+msgid "Max Elixir"
+msgstr "Max Élixir"
+
+msgid "It fully restores the PP of all the moves learned by the targeted Pokémon."
+msgstr "Restaure tous les PP de toutes les capacités d’un Pokémon."
+
+msgid "HP Up"
+msgstr "PV Plus"
+
+msgid "A nutritious drink for Pokémon. It raises the base HP of a single Pokémon."
+msgstr "Une boisson très nutritive qui monte les PV de base d’un Pokémon."
+
+msgid "Protein"
+msgstr "Protéine"
+
+msgid "A nutritious drink for Pokémon. It raises the base Attack stat of a single Pokémon."
+msgstr "Une boisson très nutritive qui monte l’Attaque de base d’un Pokémon."
+
+msgid "Iron"
+msgstr "Fer"
+
+msgid "A nutritious drink for Pokémon. It raises the base Defense stat of a single Pokémon."
+msgstr "Une boisson très nutritive qui monte la Défense de base d’un Pokémon."
+
+msgid "Carbos"
+msgstr "Carbone"
+
+msgid "A nutritious drink for Pokémon. It raises the base Speed stat of a single Pokémon."
+msgstr "Une boisson très nutritive qui monte la Vitesse de base d’un Pokémon."
+
+msgid "A nutritious drink for Pokémon. It raises the base Sp. Atk (Special Attack) stat of a single Pokémon."
+msgstr "Une boisson très nutritive qui monte l’Attaque Spéciale de base d’un Pokémon."
+
+msgid "A nutritious drink for Pokémon. It raises the base Sp. Def (Special Defense) stat of a single Pokémon."
+msgstr "Une boisson très nutritive qui monte la Défense Spéciale d’un Pokémon."
+
+msgid "PP Up"
+msgstr "PP Plus"
+
+msgid "It slightly raises the maximum PP of a selected move that has been learned by the target Pokémon."
+msgstr "Monte un peu les PP max d’une capacité sélectionnée."
+
+msgid "It maximally raises the top PP of a selected move that has been learned by the target Pokémon."
+msgstr "Monte sensiblement les PP max d’une capacité sélectionnée."
+
+msgid "Rare Candy"
+msgstr "Super Bonbon"
+
+msgid "A candy that is packed with energy. It raises the level of a single Pokémon by one."
+msgstr "Un bonbon plein d’énergie. Il permet à un Pokémon de gagner un niveau d’expérience."
+
+msgid "The best Ball with the ultimate level of performance. It will catch any wild Pokémon without fail."
+msgstr "Assurément la Ball la plus performante. Elle permet de capturer à coup sûr un Pokémon sauvage."
+
+msgid "Ultra Ball"
+msgstr "Hyper Ball"
+
+msgid "An ultra-performance Ball that provides a higher Pokémon catch rate than a Great Ball."
+msgstr "Une Ball ultraperformante dont le taux de réussite est supérieur à celui de la Super Ball."
+
+msgid "Great Ball"
+msgstr "Super Ball"
+
+msgid "A good, high-performance Ball that provides a higher Pokémon catch rate than a standard Poké Ball."
+msgstr "Une Ball très performante dont le taux de réussite est supérieur à celui de la Poké Ball."
+
+msgid "A device for catching wild Pokémon. A capsule system that is thrown like a ball at the target."
+msgstr "Un objet pareil à une capsule capturant les Pokémon sauvages. Jetez cet objet comme une balle."
+
+msgid "A special Poké Ball that is used only in the Great Marsh. It is decorated in a camouflage pattern."
+msgstr "Une Poké Ball spéciale dont l’usage est réservé au Parc Safari. Elle est décorée d’un motif camouflage."
+
+msgid "Net Ball"
+msgstr "Filet Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on Water- and Bug-type Pokémon."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon Eau ou Insecte."
+
+msgid "Dive Ball"
+msgstr "Scuba Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on Pokémon that live in the sea."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon sous-marins."
+
+msgid "Nest Ball"
+msgstr "Faiblo Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on weaker Pokémon in the wild."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon les plus faibles."
+
+msgid "Repeat Ball"
+msgstr "Bis Ball"
+
+msgid "A somewhat different Poké Ball that works especially well on Pokémon species that were previously caught."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les espèces de Pokémon déjà capturées."
+
+msgid "Timer Ball"
+msgstr "Chrono Ball"
+
+msgid "A somewhat different Ball that becomes progressively better the more turns there are in a battle."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne de mieux en mieux à mesure que le combat s’éternise."
+
+msgid "Luxury Ball"
+msgstr "Luxe Ball"
+
+msgid "A comfortable Poké Ball that makes a caught wild Pokémon quickly grow friendly."
+msgstr "Une Poké Ball pratique qui permet de gagner rapidement l’amitié d’un Pokémon sauvage attrapé."
+
+msgid "Premier Ball"
+msgstr "Honor Ball"
+
+msgid "A somewhat rare Poké Ball that has been specially made to commemorate an event of some sort."
+msgstr "Une Poké Ball assez rare qui fut créée pour un événement particulier."
+
+msgid "Dusk Ball"
+msgstr "Sombre Ball"
+
+msgid "A somewhat different Poké Ball that can easily catch wild Pokémon at night or in dark places."
+msgstr "Une Poké Ball efficace pour attraper les Pokémon de nuit ou dans des endroits sombres tels que les grottes."
+
+msgid "Heal Ball"
+msgstr "Soin Ball"
+
+msgid "A remedial Poké Ball that restores the caught Pokémon's HP and eliminates any status problem."
+msgstr "Une Poké Ball de soin qui rend tous les PV du Pokémon attrapé et qui soigne tous les changements de statut."
+
+msgid "Quick Ball"
+msgstr "Rapide Ball"
+
+msgid "A somewhat different Poké Ball that works better at the start of a wild encounter."
+msgstr "Une Poké Ball qui permet d’attraper un Pokémon sauvage plus facilement si on l’utilise au début du combat."
+
+msgid "Cherish Ball"
+msgstr "Mémoire Ball"
+
+msgid "A quite rare Poké Ball that has been specially crafted to commemorate an occasion of some sort."
+msgstr "Une Poké Ball plutôt rare qui fut créée pour une occasion spéciale."
+
+msgid "Fast Ball"
+msgstr "Speed Ball"
+
+msgid "A Poké Ball that makes it easier to catch Pokémon which are quick to run away."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon rapides."
+
+msgid "Level Ball"
+msgstr "Niveau Ball"
+
+msgid "A Poké Ball for catching Pokémon that are a lower level than your own."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon les plus faibles."
+
+msgid "Lure Ball"
+msgstr "Appât Ball"
+
+msgid "A Poké Ball for catching Pokémon hooked by a Rod when fishing."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon ferrés avec une canne à pêche."
+
+msgid "Heavy Ball"
+msgstr "Masse Ball"
+
+msgid "A Poké Ball for catching very heavy Pokémon."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon lourds."
+
+msgid "A Poké Ball for catching Pokémon that are the opposite gender of your Pokémon."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon de sexe opposé au sien."
+
+msgid "Friend Ball"
+msgstr "Copain Ball"
+
+msgid "A Poké Ball that makes caught Pokémon more friendly."
+msgstr "Une Poké Ball un peu spéciale qui permet de rendre rapidement amicaux les Pokémon sauvages attrapés avec celle-ci."
+
+msgid "Moon Ball"
+msgstr "Lune Ball"
+
+msgid "A Poké Ball for catching Pokémon that evolve using the Moon Stone."
+msgstr "Une Poké Ball un peu spéciale qui fonctionne particulièrement bien sur les Pokémon évoluant avec une Pierre Lune."
+
+msgid "Sport Ball"
+msgstr "Compét'Ball"
+
+msgid "A special Poké Ball for the Bug-Catching Contest."
+msgstr "Une Poké Ball spéciale utilisée au Concours de Capture d'insectes."
+
+msgid "Park Ball"
+msgstr "Parc Ball"
+
+msgid "A special Poké Ball for the Pal Park."
+msgstr "Une Poké Ball spéciale pour le Parc des Amis."
+
+msgid "TM01"
+msgstr "CT01"
+
+msgid "The user focuses its mind before launching this attack. It will fail if the user is hit before it is used."
+msgstr "Le lanceur s'aiguise les griffes. Augmente l'Attaque et la Précision."
+
+msgid "TM02"
+msgstr "CT02"
+
+msgid "Sharp, huge claws hook and slash the foe quickly and with great power."
+msgstr "Le lanceur lacère l'ennemi de ses grandes griffes aiguisées."
+
+msgid "TM03"
+msgstr "CT03"
+
+msgid "The foe is hit with a pulsing blast of water. It may also confuse the target."
+msgstr "Le lanceur matérialise des ondes mystérieuses qu'il projette sur l'ennemi. Inflige des dégâts physiques."
+
+msgid "TM04"
+msgstr "CT04"
+
+msgid "The user quietly focuses its mind and calms its spirit to raise its Sp. Atk and Sp. Def stats."
+msgstr "Le lanceur se concentre et fait le vide dans son esprit pour augmenter son Attaque Spéciale et sa Défense Spéciale."
+
+msgid "TM05"
+msgstr "CT05"
+
+msgid "The foe is scared off, to be replaced by another Pokémon in its party. In the wild, the battle ends."
+msgstr "Effraie le Pokémon ennemi et le remplace par un autre. Dans la nature, met fin au combat."
+
+msgid "TM06"
+msgstr "CT06"
+
+msgid "A move that leaves the foe badly poisoned. This poison damage worsens every turn."
+msgstr "Empoisonne gravement l'ennemi. Les dégâts dus au poison augmentent à chaque tour."
+
+msgid "TM07"
+msgstr "CT07"
+
+msgid "Summons a hailstorm that lasts for five turns. The hailstorm damages all types except Ice."
+msgstr "Invoque une tempête de grêle qui dure 5 tours. Ne blesse pas les Pokémon de type Glace."
+
+msgid "TM08"
+msgstr "CT08"
+
+msgid "The user tenses its muscles to bulk up its body, boosting both its Attack and Defense stats."
+msgstr "Le lanceur tend ses muscles pour se gonfler, ce qui booste son Attaque et sa Défense."
+
+msgid "TM09"
+msgstr "CT09"
+
+msgid "The user forcefully shoots seeds at the foe. Two to five seeds are shot in rapid succession."
+msgstr "Le lanceur inocule un poison spécial à l'ennemi. L'effet est doublé si l'ennemi est déjà empoisonné."
+
+msgid "TM10"
+msgstr "CT10"
+
+msgid "A variable move that changes type and power depending on the hidden ability of the Pokémon using it."
+msgstr "Attaque dont le type dépend du Pokémon qui l'utilise."
+
+msgid "TM11"
+msgstr "CT11"
+
+msgid "The user intensifies the sun for five turns, powering up Fire-type moves."
+msgstr "Fait briller le Soleil pendant cinq tours, augmentant la puissance des capacités de type Feu."
+
+msgid "TM12"
+msgstr "CT12"
+
+msgid "The target is taunted into a rage that allows it to use only attack moves for three turns."
+msgstr "Provoque l'ennemi. L'oblige à n'utiliser que des attaques pendant trois tours."
+
+msgid "TM13"
+msgstr "CT13"
+
+msgid "The foe is struck with an icy-cold beam of energy. It may also freeze the target solid."
+msgstr "Un rayon de glace frappe l'ennemi. Peut aussi le geler."
+
+msgid "TM14"
+msgstr "CT14"
+
+msgid "A howling blizzard is summoned to strike the foe. It may also freeze the target solid."
+msgstr "Une violente tempête de neige est déclenchée sur l'ennemi. Peut aussi le geler."
+
+msgid "TM15"
+msgstr "CT15"
+
+msgid "The foe is attacked with a powerful beam. The user must rest on the next turn to regain its energy."
+msgstr "Projette un puissant rayon sur l'ennemi. Le lanceur doit se reposer au tour suivant."
+
+msgid "TM16"
+msgstr "CT16"
+
+msgid "A wondrous wall of light is put up to suppress damage from special attacks for five turns."
+msgstr "Un fabuleux mur de lumière qui réduit les dégâts causés par les attaques spéciales durant cinq tours."
+
+msgid "TM17"
+msgstr "CT17"
+
+msgid "It enables the user to evade all attacks. Its chance of failing rises if it is used in succession."
+msgstr "Le lanceur esquive toutes les attaques. Le risque d'échec augmente lorsque la capacité est utilisée plusieurs fois de suite."
+
+msgid "TM18"
+msgstr "CT18"
+
+msgid "The user summons a heavy rain that falls for five turns, powering up Water-type moves."
+msgstr "Invoque de fortes pluies qui durent cinq tours et augmentent la puissance des capacités de type Eau."
+
+msgid "TM19"
+msgstr "CT19"
+
+msgid "A nutrient-draining attack. The user's HP is restored by half the damage taken by the target."
+msgstr "Le lanceur atterrit et se repose. Restaure jusqu'à la moitié de ses PV max."
+
+msgid "TM20"
+msgstr "CT20"
+
+msgid "The user creates a protective field that prevents status problems like poison, paralysis, burn, and sleep."
+msgstr "Le lanceur invoque un champ protecteur empêchant tous les problèmes de statut pendant cinq tours."
+
+msgid "TM21"
+msgstr "CT21"
+
+msgid "A full-power attack that grows more powerful the less the user likes its Trainer."
+msgstr "Moins le Pokémon aime son Dresseur, plus cette attaque est puissante."
+
+msgid "TM22"
+msgstr "CT22"
+
+msgid "A two-turn attack. The user gathers light, then blasts a bundled beam on the second turn."
+msgstr "Absorbe la lumière au premier tour et envoie un rayon puissant au tour suivant."
+
+msgid "TM23"
+msgstr "CT23"
+
+msgid "The foe is slammed with a sturdy tail of steel. It may also lower the target's Defense stat if it hits."
+msgstr "Le lanceur jette toutes sortes de projectiles à un ennemi. Si ce dernier vole, il tombe au sol."
+
+msgid "TM24"
+msgstr "CT24"
+
+msgid "A strong electric blast is loosed at the foe. It may also leave the foe paralyzed."
+msgstr "Une grosse décharge électrique tombe sur l'ennemi. Peut aussi le paralyser."
+
+msgid "TM25"
+msgstr "CT25"
+
+msgid "A wicked thunderbolt is dropped on the foe to inflict damage. It may also leave the target paralyzed."
+msgstr "La foudre tombe sur l'ennemi pour lui infliger des dégâts. Peut aussi le paralyser."
+
+msgid "TM26"
+msgstr "CT26"
+
+msgid "The user sets off an earthquake that hits all the Pokémon in the battle."
+msgstr "Le lanceur provoque un tremblement de terre touchant tout les Pokémon autour de lui."
+
+msgid "TM27"
+msgstr "CT27"
+
+msgid "A full-power attack that grows more powerful the more the user likes its Trainer."
+msgstr "Plus le Pokémon apprécie son Dresseur, plus la puissance de cette attaque furieuse augmente."
+
+msgid "TM28"
+msgstr "CT28"
+
+msgid "The user burrows, then attacks on the second turn. It can also be used to exit dungeons."
+msgstr "Le lanceur creuse au premier tour et frappe au second. Permet aussi de sortir des grottes."
+
+msgid "TM29"
+msgstr "CT29"
+
+msgid "The foe is hit by a strong telekinetic force. It may also reduce the foe's Sp. Def stat."
+msgstr "Une puissante force télékinésique frappe l'ennemi. Peut aussi faire baisser sa Défense Spéciale."
+
+msgid "TM30"
+msgstr "CT30"
+
+msgid "The user hurls a shadowy blob at the foe. It may also lower the foe's Sp. Def stat."
+msgstr "Projette une grande ombre sur l'ennemi. Peut aussi faire baisser sa Défense Spéciale."
+
+msgid "TM31"
+msgstr "CT31"
+
+msgid "The user attacks with tough fists, etc. It can also break any barrier such as Light Screen and Reflect."
+msgstr "Une attaque avec le tranchant de la main. Permet aussi de briser les barrières comme Mur Lumière et Protection."
+
+msgid "TM32"
+msgstr "CT32"
+
+msgid "The user begins moving so quickly that it creates illusory copies to raise its evasiveness."
+msgstr "Le lanceur se déplace si vite qu'il crée des copies illusoires de lui, augmentant son Esquive."
+
+msgid "TM33"
+msgstr "CT33"
+
+msgid "A wondrous wall of light is put up to suppress damage from physical attacks for five turns."
+msgstr "Un fabuleux mur de lumière qui réduit les dégâts causés par les attaques physiques durant cinq tours."
+
+msgid "TM34"
+msgstr "CT34"
+
+msgid "The user strikes the foe with a quick jolt of electricity. This attack cannot be evaded."
+msgstr "Une vague de détritus attaque tout les Pokémon autour du lanceur. Peut aussi empoisonner."
+
+msgid "TM35"
+msgstr "CT35"
+
+msgid "The foe is scorched with an intense blast of fire. The target may also be left with a burn."
+msgstr "L'ennemi reçoit un torrent de flammes. Peut aussi le brûler."
+
+msgid "TM36"
+msgstr "CT36"
+
+msgid "Unsanitary sludge is hurled at the foe. It may also poison the target."
+msgstr "Le lanceur envoie des détritus sur l'ennemi. Peut aussi l'empoisonner."
+
+msgid "TM37"
+msgstr "CT37"
+
+msgid "A five-turn sandstorm is summoned to hurt all combatants except the Rock, Ground, and Steel types."
+msgstr "Une tempête de sable qui blesse tout les Pokémon durant cinq tours, sauf ceux de types Roche, Sol, et Acier."
+
+msgid "TM38"
+msgstr "CT38"
+
+msgid "The foe is attacked with an intense blast of all-consuming fire. It may also leave the target with a burn."
+msgstr "Un déluge de flammes ardentes submerge l'ennemi. Peut aussi le brûler."
+
+msgid "TM39"
+msgstr "CT39"
+
+msgid "Large boulders are hurled at the foe to inflict damage. It may also make the target flinch."
+msgstr "Des rochers frappent l'ennemi. Réduit aussi sa Vitesse en l'empêchant de se déplacer."
+
+msgid "TM40"
+msgstr "CT40"
+
+msgid "The user confounds the foe with speed, then strikes. The attack lands without fail."
+msgstr "Le lanceur prend l'ennemi de vitesse et le lacère. N'échoue jamais."
+
+msgid "TM41"
+msgstr "CT41"
+
+msgid "The user torments and enrages the foe, making it incapable of using the same move twice in a row."
+msgstr "Le lanceur irrite l'ennemi pour l'empêcher d'utiliser la même capacité deux fois de suite."
+
+msgid "TM42"
+msgstr "CT42"
+
+msgid "An attack move that doubles its power if the user is poisoned, paralyzed, or has a burn."
+msgstr "Une attaque dont la puissance double lorsque le lanceur est empoisonné, paralysé ou brûlé."
+
+msgid "TM43"
+msgstr "CT43"
+
+msgid "An attack move with effects that vary depending on the user's environment."
+msgstr "Le lanceur s'entoure de flammes pour attaquer l'ennemi. Il se concentre et sa Vitesse augmente."
+
+msgid "TM44"
+msgstr "CT44"
+
+msgid "The user goes to sleep for two turns. It fully restores the user's HP and heals any status problem."
+msgstr "Le lanceur dort pendant deux tours. Il regagne tous ses PV et n'a plus de problèmes de statut."
+
+msgid "TM45"
+msgstr "CT45"
+
+msgid "If it is the opposite gender of the user, the foe becomes infatuated and less likely to attack."
+msgstr "Si l'ennemi est du sexe opposé, il tombe amoureux et rechigne alors à attaquer."
+
+msgid "TM46"
+msgstr "CT46"
+
+msgid "The user attacks and steals the foe's held item simultaneously. It can't steal if the user holds an item."
+msgstr "Le lanceur attaque la cible et vole son objet. Le lanceur ne peut rien voler s'il tient déjà son objet."
+
+msgid "TM47"
+msgstr "CT47"
+
+msgid "The foe is hit with wings of steel. It may also raise the user's Defense stat."
+msgstr "Un coup rapide qui vise les pieds de l'ennemi et diminue sa Vitesse."
+
+msgid "TM48"
+msgstr "CT48"
+
+msgid "The user employs its psychic power to exchange abilities with the foe."
+msgstr "Le lanceur attaque l'ennemi en chantant. Si plusieurs Pokémon déclenchent cette attaque à la suite, l'effet augmente."
+
+msgid "TM49"
+msgstr "CT49"
+
+msgid "The user steals the effects of any healing or status-changing move the foe attempts to use."
+msgstr "Un cri blesse l'ennemi. Si le lanceur ou d'autres Pokémon l'utilisent en chaîne, l'effet augmente."
+
+msgid "TM50"
+msgstr "CT50"
+
+msgid "The user attacks the foe at full power using fiery energy. It also sharply reduces the user's Sp. Atk."
+msgstr "Attaque l'ennemi à pleine puissance. Le contrecoup baisse énormément l'Attaque Spéciale du lanceur."
+
+msgid "TM51"
+msgstr "CT51"
+
+msgid "The user lands and rests its body. It restores the user's HP by up to half of its top HP."
+msgstr "Le lanceur frappe l'ennemi avec des ailes d'acier. Peut aussi augmenter la Défense du lanceur."
+
+msgid "TM52"
+msgstr "CT52"
+
+msgid "The user attacks at full power. It may also lower the foe's Sp. Def stat if it hits."
+msgstr "Le lanceur rassemble ses forces et laisse éclater son pouvoir. Peut aussi baisser la Défense Spéciale de l'ennemi."
+
+msgid "TM53"
+msgstr "CT53"
+
+msgid "The user draws power from nature and fires it at the foe. It may also lower the target's Sp. Def."
+msgstr "Utilise les pouvoirs de la nature pour attaquer l'ennemi. Peut aussi baisser sa Défense Spéciale."
+
+msgid "TM54"
+msgstr "CT54"
+
+msgid "A restrained attack that prevents the foe from fainting. The target is left with at least 1 HP."
+msgstr "Le lanceur retient ses coups pour que l'ennemi garde au moins 1 PV et ne tombe pas K.O."
+
+msgid "TM55"
+msgstr "CT55"
+
+msgid "If the foe's HP is down to under half, this attack will hit with double the power."
+msgstr "L'ennemi est attaqué par un jet d'eau bouillante. Peut aussi le brûler."
+
+msgid "TM56"
+msgstr "CT56"
+
+msgid "The user flings its held item at the foe to attack. Its power and effects depend on the item."
+msgstr "Le lanceur envoie l'objet qu'il tient sur l'ennemi. La puissance et les effets dépendent de l'objet."
+
+msgid "TM57"
+msgstr "CT57"
+
+msgid "The user attacks with an electric charge. The user uses the remaining electricity to up its Sp. Atk."
+msgstr "Le lanceur tire un rayon chargé d'électricité. Peut aussi augmenter son Attaque Spéciale."
+
+msgid "TM58"
+msgstr "CT58"
+
+msgid "The user endures any attack, leaving 1 HP. Its chance of failing rises if it is used in succession."
+msgstr "Le lanceur emmène l'ennemi dans les airs au premier tour et le lâche dans le vide au second. L'ennemi saisi ne peut pas attaquer."
+
+msgid "TM59"
+msgstr "CT59"
+
+msgid "The foe is attacked with a shock wave generated by the user's gaping mouth."
+msgstr "Des flammes calcinent l'ennemi. S'il tient une baie, elle est brûlée et devient inutilisable."
+
+msgid "TM60"
+msgstr "CT60"
+
+msgid "An energy-draining punch. The user's HP is restored by half the damage taken by the target."
+msgstr "Retient la cible de force, l'obligeant à agir en dernier."
+
+msgid "TM61"
+msgstr "CT61"
+
+msgid "The user shoots a sinister, bluish white flame at the foe to inflict a burn."
+msgstr "Lance une sinistre flamme violette à l'ennemi pour lui infliger une brûlure."
+
+msgid "TM62"
+msgstr "CT62"
+
+msgid "The foe is attacked with powdery scales blown by wind. It may also raise all the user's stats."
+msgstr "Vent qui projette des écailles poudreuses sur l’ennemi. Peut aussi monter toutes les stats du lanceur."
+
+msgid "TM63"
+msgstr "CT63"
+
+msgid "It prevents the foe from using its held item. Its Trainer is also prevented from using items on it."
+msgstr "Empêche l'ennemi d'utiliser un objet tenu et son Dresseur d'utiliser un objet sur lui."
+
+msgid "TM64"
+msgstr "CT64"
+
+msgid "The user explodes to inflict damage on all Pokémon in battle. The user faints upon using this move."
+msgstr "Le lanceur explose et inflige des dégâts tout autour de lui. Met le lanceur K.O."
+
+msgid "TM65"
+msgstr "CT65"
+
+msgid "The user slashes with a sharp claw made from shadows. It has a high critical-hit ratio."
+msgstr "Attaque avec une griffe puissante faite d'ombres. Taux de critiques élevé."
+
+msgid "TM66"
+msgstr "CT66"
+
+msgid "The user stores power, then attacks. Its power is doubled if used after the foe."
+msgstr "Le lanceur charge son énergie, puis attaque. La puissance est doublée si le lanceur agit après l'ennemi."
+
+msgid "TM67"
+msgstr "CT67"
+
+msgid "The user recycles a single-use item that has been used in battle so it can be used again."
+msgstr "Venge un Pokémon de l'équipe mis K.O. Si un Pokémon de l'équipe a été mis K.O. au tour d'avant, l'effet augmente."
+
+msgid "TM68"
+msgstr "CT68"
+
+msgid "The user charges the foe using every bit of its power. It must rest on the next turn to recover."
+msgstr "Le lanceur charge l'ennemi de toute sa puissance et doit ensuite se reposer au tour suivant."
+
+msgid "TM69"
+msgstr "CT69"
+
+msgid "The user polishes its body to reduce drag. It sharply raises the Speed stat."
+msgstr "Le lanceur polit son corps pour diminuer sa résistance au vent. Peut augmenter fortement la Vitesse."
+
+msgid "TM70"
+msgstr "CT70"
+
+msgid "The user flashes a light that cuts the foe's accuracy. It can also be used to illuminate caves."
+msgstr "Explosion lumineuse qui fait baisser la Précision de l'ennemi."
+
+msgid "TM71"
+msgstr "CT71"
+
+msgid "The user stabs the foe with a sharpened stone from below. It has a high critical-hit ratio."
+msgstr "Fait surgir des pierres aiguisées sous l'ennemi. Taux de critique élevé."
+
+msgid "TM72"
+msgstr "CT72"
+
+msgid "An attack move that inflicts double the damage if the user has been hurt by the foe in the same turn."
+msgstr "Après son attaque, le lanceur revient à toute vitesse et change de place avec un Pokémon de l'équipe prêt au combat."
+
+msgid "TM73"
+msgstr "CT73"
+
+msgid "A weak electric charge is launched at the foe. It causes paralysis if it hits."
+msgstr "Un faible choc électrique frappe l'ennemi. Si l'attaque le touche, celui-ci est paralysé."
+
+msgid "TM74"
+msgstr "CT74"
+
+msgid "The user tackles the foe from a high-speed spin. The slower the user, the greater the damage."
+msgstr "Le lanceur effectue une rotation et frappe l'ennemi. Plus la Vitesse du lanceur est basse, plus il fait de dégâts."
+
+msgid "TM75"
+msgstr "CT75"
+
+msgid "A frenetic dance to uplift the fighting spirit. It sharply raises the user's Attack stat."
+msgstr "Danse frénétique qui exalte l'esprit combatif. Augmente beaucoup l'Attaque du lanceur."
+
+msgid "TM76"
+msgstr "CT76"
+
+msgid "The user lays a trap of levitating stones around the foe. The trap hurts foes that switch into battle."
+msgstr "Lance des pierres flottantes autour de l’ennemi, qui blessent tout ennemi entrant au combat."
+
+msgid "TM77"
+msgstr "CT77"
+
+msgid "The user hypnotizes itself into copying any stat change made by the foe."
+msgstr "Une autohypnose qui permet au lanceur de copier les changements de stats de la cible."
+
+msgid "TM78"
+msgstr "CT78"
+
+msgid "If it is the opposite gender of the user, the foe is charmed into sharply lowering its Sp. Atk stat."
+msgstr "Si l’ennemi est de sexe opposé au lanceur, il est séduit et son Attaque Spéciale baisse fortement."
+
+msgid "TM79"
+msgstr "CT79"
+
+msgid "The user releases a horrible aura imbued with dark thoughts. It may also make the target flinch."
+msgstr "Le lanceur dégage une horrible aura chargée d’idées noires. Peut aussi apeurer l’ennemi."
+
+msgid "TM80"
+msgstr "CT80"
+
+msgid "TM81"
+msgstr "CT81"
+
+msgid "The user slashes at the foe by crossing its scythes or claws as if they were a pair of scissors."
+msgstr "Le lanceur taillade l'ennemi en utilisant ses faux ou ses griffes comme une paire de ciseaux."
+
+msgid "TM82"
+msgstr "CT82"
+
+msgid "While it is asleep, the user randomly uses one of the moves it knows."
+msgstr "Le lanceur utilise un de ses coups au hasard pendant qu’il dort."
+
+msgid "TM83"
+msgstr "CT83"
+
+msgid "The user draws power from the Berry it is holding to attack. The Berry determines its type and power."
+msgstr "Avant d’attaquer, le lanceur rassemble ses forces grâce à sa Baie. Elle détermine le type et la puissance."
+
+msgid "TM84"
+msgstr "CT84"
+
+msgid "The foe is stabbed with a tentacle or arm seeped with poison. It may also poison the foe."
+msgstr "Attaque l'ennemi avec un tentacule ou un bras plein de poison. Peut aussi l'empoisonner."
+
+msgid "TM85"
+msgstr "CT85"
+
+msgid "An attack that works only on a sleeping foe. It absorbs half the damage caused to heal the user's HP."
+msgstr "Attaque réservée aux ennemis endormis. Le lanceur récupère en PV la moitié des dégâts infligés."
+
+msgid "TM86"
+msgstr "CT86"
+
+msgid "The user snares the foe with grass and trips it. The heavier the foe, the greater the damage."
+msgstr "L'ennemi est piégé dans de l'herbe qui le fait trébucher. Plus il est lourd, plus il reçoit de dégâts."
+
+msgid "TM87"
+msgstr "CT87"
+
+msgid "The user enrages the foe into confusion. However, it also sharply raises the foe's Attack stat."
+msgstr "Fait enrager l'ennemi et le plonge dans la confusion, mais augmente fortement son Attaque."
+
+msgid "TM88"
+msgstr "CT88"
+
+msgid "The user pecks the foe. If the foe is holding a Berry, the user plucks it and gains its effect."
+msgstr "Le lanceur picore l'ennemi. S'il tient une baie, le lanceur s'en empare et profite de ses effets."
+
+msgid "TM89"
+msgstr "CT89"
+
+msgid "After making its attack, the user rushes back to switch places with a party Pokémon in waiting."
+msgstr "Après son attaque, le lanceur revient à toute vitesse et change de place avec un Pokémon de l'équipe prêt au combat."
+
+msgid "TM90"
+msgstr "CT90"
+
+msgid "The user makes a copy of itself using some of its HP. The copy serves as the user's decoy."
+msgstr "Le lanceur fait une copie de lui-même en sacrifiant quelques PV. La copie sert de leurre."
+
+msgid "TM91"
+msgstr "CT91"
+
+msgid "The user gathers all its light energy and releases it in one shot. It may also lower the foe's Sp. Def stat."
+msgstr "Le lanceur concentre son énergie lumineuse et la fait exploser. Peut aussi baisser la Défense Spéciale de l'ennemi."
+
+msgid "TM92"
+msgstr "CT92"
+
+msgid "The user creates a bizarre space in which slower Pokémon get to move first for five turns."
+msgstr "Le lanceur crée une zone étrange où les Pokémon les plus lents frappent en premier pendant cinq tours."
+
+msgid "HM01"
+msgstr "CS01"
+
+msgid "The foe is cut with a scythe or a claw. It can also be used to cut down thin trees."
+msgstr "Coupe l'ennemi avec des lames ou des griffes. Hors combat, permet de couper des arbres fins."
+
+msgid "HM02"
+msgstr "CS02"
+
+msgid "The user soars, then strikes on the second turn. It can also be used to fly to any familiar town."
+msgstr "Le lanceur s'envole au premier tour et frappe au second. Permet aussi de voler jusqu'à une ville déjà visitée."
+
+msgid "HM03"
+msgstr "CS03"
+
+msgid "It swamps the entire battlefield with a giant wave. It can also be used to cross water."
+msgstr "Une énorme vague s'abat sur le champ de bataille. Permet aussi de voyager sur l'eau."
+
+msgid "HM04"
+msgstr "CS04"
+
+msgid "The foe is slugged with a punch thrown at maximum power. It can also be used to move boulders."
+msgstr "Le lanceur cogne l'ennemi de toutes ses forces. Permet aussi de déplacer des rochers."
+
+msgid "HM05"
+msgstr "CS05"
+
+msgid "Obstacles are moved, reducing the foe's evasion stat. It can also be used to clear deep fog."
+msgstr "Un grand coup de vent qui disperse la Protection ou le Mur Lumière de l’ennemi. Diminue aussi son Esquive."
+
+msgid "HM06"
+msgstr "CS06"
+
+msgid "The user slugs the foe with a shattering punch. It can also smash cracked boulders."
+msgstr "Porte un coup de poing à l'ennemi qui peut baisser sa Défense. Peut aussi briser des rochers fissurés."
+
+msgid "HM07"
+msgstr "CS07"
+
+msgid "The user charges the foe at an awesome speed. It can also be used to climb a waterfall."
+msgstr "Le lanceur charge l'ennemi à une vitesse remarquable. Permet aussi de franchir une cascade."
+
+msgid "HM08"
+msgstr "CS08"
+
+msgid "Diving on the first turn, the user floats up and attacks on the second turn."
+msgstr "Le lanceur plonge sous l'eau au premier tour et frappe au second. Permet de nager sous l'eau dans les endroits appropriés."
+
+msgid "Cheri Berry"
+msgstr "Baie Ceriz"
+
+msgid "It may be used or held by a Pokémon to recover from paralysis."
+msgstr "Une Baie qui soigne la paralysie lorsqu’elle est tenue par un Pokémon."
+
+msgid "Chesto Berry"
+msgstr "Baie Maron"
+
+msgid "It may be used or held by a Pokémon to recover from sleep."
+msgstr "Une Baie qui soigne le sommeil lorsqu’elle est tenue par un Pokémon."
+
+msgid "Pecha Berry"
+msgstr "Baie Pêcha"
+
+msgid "It may be used or held by a Pokémon to recover from poison."
+msgstr "Une Baie qui soigne l’empoisonnement lorsqu’elle est tenue par un Pokémon."
+
+msgid "Rawst Berry"
+msgstr "Baie Fraive"
+
+msgid "It may be used or held by a Pokémon to recover from a burn."
+msgstr "Une Baie qui soigne les brûlures lorsqu’elle est tenue par un Pokémon."
+
+msgid "Aspear Berry"
+msgstr "Baie Willia"
+
+msgid "It may be used or held by a Pokémon to defrost it."
+msgstr "Une Baie qui soigne le gel lorsqu’elle est tenue par un Pokémon."
+
+msgid "Leppa Berry"
+msgstr "Baie Mepo"
+
+msgid "It may be used or held by a Pokémon to restore a move's PP by 10."
+msgstr "Une Baie qui restaure 10 PP lorsqu’elle est tenue par un Pokémon."
+
+msgid "Oran Berry"
+msgstr "Baie Oran"
+
+msgid "It may be used or held by a Pokémon to heal the user by just 10 HP."
+msgstr "Une Baie qui restaure 10 PV lorsqu’elle est tenue par un Pokémon."
+
+msgid "Persim Berry"
+msgstr "Baie Kika"
+
+msgid "It may be used or held by a Pokémon to recover from confusion."
+msgstr "Une Baie qui soigne la confusion lorsqu’elle est tenue par un Pokémon."
+
+msgid "Lum Berry"
+msgstr "Baie Prine"
+
+msgid "It may be used or held by a Pokémon to recover from any status problem."
+msgstr "Une Baie qui soigne tous les problèmes de statut lorsqu’elle est tenue par un Pokémon."
+
+msgid "Sitrus Berry"
+msgstr "Baie Sitrus"
+
+msgid "It may be used or held by a Pokémon to heal the user's HP a little."
+msgstr "Une Baie qui restaure quelques PV lorsqu’elle est tenue par un Pokémon."
+
+msgid "Figy Berry"
+msgstr "Baie Figuy"
+
+msgid "If held by a Pokémon, it restores the user's HP in a pinch, but may also cause confusion."
+msgstr "Tenue, cette Baie restaure des PV en cas de besoin, mais rend confus si le Pokémon n’aime pas les Baies épicées."
+
+msgid "Wiki Berry"
+msgstr "Baie Wiki"
+
+msgid "Mago Berry"
+msgstr "Baie Mago"
+
+msgid "Aguav Berry"
+msgstr "Baie Gowav"
+
+msgid "Iapapa Berry"
+msgstr "Baie Papaya"
+
+msgid "Razz Berry"
+msgstr "Baie Framby"
+
+msgid "Bury it in soft soil to grow a Razz Plant."
+msgstr "Une Baie orange au goût épicé, utilisée pour préparer des Pokéblocs permettant d'augmenter le Sang-froid d'un Pokémon."
+
+msgid "Bluk Berry"
+msgstr "Baie Remu"
+
+msgid "Bury it in soft soil to grow a Bluk Plant."
+msgstr "Une Baie violette et sèche, utilisée pour préparer des Pokéblocs permettant d'augmenter la Beauté d'un Pokémon."
+
+msgid "Nanab Berry"
+msgstr "Baie Nanab"
+
+msgid "Bury it in soft soil to grow a Nanab Plant."
+msgstr "Une Baie rose au goût sucré, utilisée pour préparer des Pokéblocs permettant d'augmenter la Grâce d'un Pokémon."
+
+msgid "Wepear Berry"
+msgstr "Baie Repoi"
+
+msgid "Bury it in soft soil to grow a Wepear Plant."
+msgstr "Une Baie verte au goût amer, utilisée pour préparer des Pokéblocs permettant d'augmenter l'Intelligence d'un Pokémon."
+
+msgid "Pinap Berry"
+msgstr "Baie Nanana"
+
+msgid "Bury it in soft soil to grow a Pinap Plant."
+msgstr "Une Baie jaune au goût acide, utilisée pour préparer des Pokéblocs permettant d'augmenter la Robustesse d'un Pokémon."
+
+msgid "Pomeg Berry"
+msgstr "Baie Grena"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base HP."
+msgstr "Une Baie qui rend les Pokémon plus amicaux, mais baisse leurs PV de base."
+
+msgid "Kelpsy Berry"
+msgstr "Baie Alga"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Attack stat."
+msgstr "Une Baie qui rend les Pokémon plus amicaux, mais baisse leur Attaque de base."
+
+msgid "Qualot Berry"
+msgstr "Baie Qualot"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Defense stat."
+msgstr "Une Baie qui rend les Pokémon plus amicaux, mais baisse leur Défense de base."
+
+msgid "Hondew Berry"
+msgstr "Baie Lonme"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Sp. Atk stat."
+msgstr "Une Baie qui rend les Pokémon plus amicaux, mais baisse leur Attaque Spéciale de base."
+
+msgid "Grepa Berry"
+msgstr "Baie Resin"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Sp. Def stat."
+msgstr "Une Baie qui rend les Pokémon plus amicaux, mais baisse leur Défense Spéciale de base."
+
+msgid "Tamato Berry"
+msgstr "Baie Tamato"
+
+msgid "Using it on a Pokémon makes it more friendly, but it also lowers its base Speed stat."
+msgstr "Une Baie qui rend les Pokémon plus amicaux, mais baisse leur Vitesse de base."
+
+msgid "Cornn Berry"
+msgstr "Baie Siam"
+
+msgid "Bury it in soft soil to grow a Cornn Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter la Beauté d'un Pokémon."
+
+msgid "Magost Berry"
+msgstr "Baie Mangou"
+
+msgid "Bury it in soft soil to grow a Magost Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter la Grâce d'un Pokémon."
+
+msgid "Rabuta Berry"
+msgstr "Baie Rabuta"
+
+msgid "Bury it in soft soil to grow a Rabuta Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter l'Intelligence d'un Pokémon."
+
+msgid "Nomel Berry"
+msgstr "Baie Tronci"
+
+msgid "Bury it in soft soil to grow a Nomel Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter la Robustesse d'un Pokémon."
+
+msgid "Spelon Berry"
+msgstr "Baie Kiwan"
+
+msgid "Bury it in soft soil to grow a Spelon Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter la Grâce d'un Pokémon."
+
+msgid "Pamtre Berry"
+msgstr "Baie Palma"
+
+msgid "Bury it in soft soil to grow a Pamtre Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter la Beauté d'un Pokémon."
+
+msgid "Watmel Berry"
+msgstr "Baie Stekpa"
+
+msgid "Bury it in soft soil to grow a Watmel Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter l'Intelligence d'un Pokémon."
+
+msgid "Durin Berry"
+msgstr "Baie Durin"
+
+msgid "Bury it in soft soil to grow a Durin Plant."
+msgstr "Une Baie très rare, utilisée pour préparer des Pokéblocs permettant d'augmenter l'Intelligence d'un Pokémon."
+
+msgid "Belue Berry"
+msgstr "Baie Myrte"
+
+msgid "Bury it in soft soil to grow a Belue Plant."
+msgstr "Une Baie très rare en dehors de cette région, utilisée pour préparer des Pokéblocs permettant d'augmenter la Beauté d'un Pokémon."
+
+msgid "Occa Berry"
+msgstr "Baie Chocco"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Fire-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Feu."
+
+msgid "Passho Berry"
+msgstr "Baie Pocpoc"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Water-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Eau."
+
+msgid "Wacan Berry"
+msgstr "Baie Parma"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Electric-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Électrique."
+
+msgid "Rindo Berry"
+msgstr "Baie Ratam"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Grass-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Plante."
+
+msgid "Yache Berry"
+msgstr "Baie Nanone"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ice-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Glace."
+
+msgid "Chople Berry"
+msgstr "Baie Pomroz"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Fighting-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Combat."
+
+msgid "Kebia Berry"
+msgstr "Baie Kébia"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Poison-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Poison."
+
+msgid "Shuca Berry"
+msgstr "Baie Jouca"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ground-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Sol."
+
+msgid "Coba Berry"
+msgstr "Baie Cobaba"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Flying-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Vol."
+
+msgid "Payapa Berry"
+msgstr "Baie Yapap"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Psychic-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Psy."
+
+msgid "Tanga Berry"
+msgstr "Baie Panga"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Bug-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Insecte."
+
+msgid "Charti Berry"
+msgstr "Baie Charti"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Rock-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Roche."
+
+msgid "Kasib Berry"
+msgstr "Baie Sédra"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Ghost-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Spectre."
+
+msgid "Haban Berry"
+msgstr "Baie Fraigo"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Dragon-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Dragon."
+
+msgid "Colbur Berry"
+msgstr "Baie Lampou"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Dark-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Ténèbres."
+
+msgid "Babiri Berry"
+msgstr "Baie Babiri"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Steel-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie super efficace de type Acier."
+
+msgid "Chilan Berry"
+msgstr "Baie Zalis"
+
+msgid "If held by a Pokémon, it weakens a foe's Normal-type attack."
+msgstr "Tenue, cette Baie affaiblit une attaque ennemie de type Normal."
+
+msgid "Liechi Berry"
+msgstr "Baie Lichii"
+
+msgid "If held by a Pokémon, it raises its Attack stat in a pinch."
+msgstr "Tenue, cette Baie augmente l'Attaque en cas de besoin."
+
+msgid "Ganlon Berry"
+msgstr "Baie Lingan"
+
+msgid "If held by a Pokémon, it raises its Defense stat in a pinch."
+msgstr "Tenue, cette Baie augmente la Défense en cas de besoin."
+
+msgid "Salac Berry"
+msgstr "Baie Sailak"
+
+msgid "If held by a Pokémon, it raises its Speed stat in a pinch."
+msgstr "Tenue, cette Baie augmente la Vitesse en cas de besoin."
+
+msgid "Petaya Berry"
+msgstr "Baie Pitaye"
+
+msgid "If held by a Pokémon, it raises its Sp. Atk stat in a pinch."
+msgstr "Tenue, cette Baie augmente l'Attaque Spéciale en cas de besoin."
+
+msgid "Apicot Berry"
+msgstr "Baie Abriko"
+
+msgid "If held by a Pokémon, it raises its Sp. Def stat in a pinch."
+msgstr "Tenue, cette Baie augmente la Défense Spéciale en cas de besoin."
+
+msgid "Lansat Berry"
+msgstr "Baie Lansat"
+
+msgid "If held by a Pokémon, it raises its critical-hit ratio in a pinch."
+msgstr "Tenue, cette Baie augmente le taux de critiques en cas de besoin."
+
+msgid "Starf Berry"
+msgstr "Baie Frista"
+
+msgid "If held by a Pokémon, it sharply raises one of its stats in a pinch."
+msgstr "Tenue, cette Baie augmente beaucoup une des stats en cas de besoin."
+
+msgid "Enigma Berry"
+msgstr "Baie Enigma"
+
+msgid "If held by a Pokémon, it restores its HP if it is hit by a foe's supereffective attack."
+msgstr "Tenue, cette Baie restaure les PV du Pokémon s'il subit une attaque super efficace."
+
+msgid "Micle Berry"
+msgstr "Baie Micle"
+
+msgid "If held by a Pokémon, it raises the accuracy of a move just once in a pinch."
+msgstr "Tenue, cette Baie augmente une fois la Précision d'une capacité en cas de besoin."
+
+msgid "Custap Berry"
+msgstr "Baie Chérim"
+
+msgid "If held by a Pokémon, it gets to move first just once in a pinch."
+msgstr "Tenue, cette Baie permet d'attaquer en premier une fois en cas de besoin."
+
+msgid "Jaboca Berry"
+msgstr "Baie Jacoba"
+
+msgid "If held by a Pokémon, and if a foe's physical attack lands, the foe also takes damage."
+msgstr "Tenue, cette Baie inflige des dégâts à l'attaquant s'il utilise une attaque physique qui atteint son but."
+
+msgid "Rowap Berry"
+msgstr "Baie Pommo"
+
+msgid "If held by a Pokémon, and if a foe's special attack lands, the foe also takes damage."
+msgstr "Tenue, cette Baie inflige des dégâts à l'attaquant s'il utilise une attaque spéciale qui atteint son but."
+
+msgid "Orange Mail"
+msgstr "Lettre Oranj"
+
+msgid "A piece of mail featuring a cute Zigzagoon print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Zigzaton est imprimé dessus."
+
+msgid "Harbor Mail"
+msgstr "Lettre Port"
+
+msgid "A piece of mail featuring a cute Wingull print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Goélise est imprimé dessus."
+
+msgid "Glitter Mail"
+msgstr "Lettre Brill"
+
+msgid "A piece of mail featuring a cute Pikachu print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Pikachu est imprimé dessus."
+
+msgid "Mech Mail"
+msgstr "Lettre Meca"
+
+msgid "A piece of mail featuring a cute Magnemite print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Magnéti est imprimé dessus."
+
+msgid "Wood Mail"
+msgstr "Lettre Bois"
+
+msgid "A piece of mail featuring a cute Slakoth print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Parecool est imprimé dessus."
+
+msgid "Wave Mail"
+msgstr "Lettre Vague"
+
+msgid "A piece of mail featuring a cute Wailmer print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Wailmer est imprimé dessus."
+
+msgid "Bead Mail"
+msgstr "Lettre Bulle"
+
+msgid "A piece of mail to be held by a Pokémon. It will bear the print of the Pokémon holding it."
+msgstr "Du papier avec un dessin du Pokémon qui le tient."
+
+msgid "Shadow Mail"
+msgstr "Lettre Ombre"
+
+msgid "A piece of mail featuring a cute Duskull print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Skelénox est imprimé dessus."
+
+msgid "Tropic Mail"
+msgstr "Lettre Tropi"
+
+msgid "A piece of mail featuring a cute Bellossom print. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Un joli Joliflor est imprimé dessus."
+
+msgid "Dream Mail"
+msgstr "Lettre Songe"
+
+msgid "Fab Mail"
+msgstr "Lettre Cool"
+
+msgid "A piece of mail featuring a gorgeous, extravagant print. It is to be held by a Pokémon."
+msgstr "Papier magnifique pouvant être tenu par un Pokémon."
+
+msgid "Retro Mail"
+msgstr "Lettre Retro"
+
+msgid "A piece of mail featuring a print of three cute Pokémon. It is to be held by a Pokémon."
+msgstr "Lettre tenue par un Pokémon, qui contient un message écrit par le Dresseur. Trois jolis Pokémon sont imprimés dessus."
+
+msgid "X Attack"
+msgstr "Attaque +"
+
+msgid "An item that raises the Attack stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Augmente l'attaque d'un Pokémon pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "X Defend"
+msgstr "Défense +"
+
+msgid "An item that raises the Defense of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Augmente la défense d'un Pokémon pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "X Special"
+msgstr "Spécial +"
+
+msgid "An item that raises the Sp. Atk stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Augmente l'attaque spéciale d'un Pokémon pendant un combat. SI le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "X Sp. Def"
+msgstr "Def. Spé. +"
+
+msgid "An item that raises the Sp. Def stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Augmente la défense spéciale d'un Pokémon pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "X Speed"
+msgstr "Vitesse +"
+
+msgid "An item that raises the Speed stat of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Augmente la vitesse d'un Pokémon pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "X Accuracy"
+msgstr "Précision +"
+
+msgid "An item that raises the accuracy of a Pokémon in battle. It wears off if the Pokémon is withdrawn."
+msgstr "Augmente la précision d'un Pokémon pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "Dire Hit"
+msgstr "Muscle +"
+
+msgid "An item that raises the critical-hit ratio of a Pokémon in battle."
+msgstr "Augmente le taux de coups critiques pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "Guard Spec."
+msgstr "Défense Spéciale"
+
+msgid "An item that prevents stat reduction among the Trainer's party Pokémon for five turns after use."
+msgstr "Empêche les réductions de statistiques pendant un combat. Si le Pokémon est rappelé, les effets s'évanouissent."
+
+msgid "Poké Doll"
+msgstr "Poképoupée"
+
+msgid "A doll that attracts Pokémon. Use it to flee from any battle with a wild Pokémon."
+msgstr "Une poupée permet de fuir pendant un combat contre un Pokémon sauvage."
+
+msgid "Fluffy Tail"
+msgstr "Queue Skitty"
+
+msgid "An item that attracts Pokémon. Use it to flee from any battle with a wild Pokémon."
+msgstr "Permet de fuir pendant un combat contre un Pokémon sauvage."
+
+msgid "Blue Flute"
+msgstr "Flûte Bleue"
+
+msgid "A blue flute made from blown glass. Its melody awakens a single Pokémon from sleep."
+msgstr "Une flûte bleue faite en verre soufflé. Sa mélodie permet de réveiller les Pokémon endormis."
+
+msgid "Yellow Flute"
+msgstr "Flûte Jaune"
+
+msgid "A yellow flute made from blown glass. Its melody snaps a single Pokémon out of confusion."
+msgstr "Une flûte jaune faite en verre soufflé. Sa mélodie libère le Pokémon confus."
+
+msgid "Red Flute"
+msgstr "Flûte Rouge"
+
+msgid "A red flute made from blown glass. Its melody snaps a single Pokémon out of infatuation."
+msgstr "Une flûte en verre soufflé rouge dont les notes mettent fin à l'attirance."
+
+msgid "Bicycle"
+msgstr "Bicyclette"
+
+msgid "A folding Bicycle that enables much faster movement than the Running Shoes."
+msgstr "Une Bicyclette pliable permettant de se déplacer plus rapidement qu'avec les Chaussures de Sport."
+
+msgid "Old Rod"
+msgstr "Canne"
+
+msgid "An old and beat-up fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Une canne à pêche très sophistiquée. Utilisez-la pour pêcher des Pokémon sauvages aquatiques."
+
+msgid "Good Rod"
+msgstr "Super Canne"
+
+msgid "A new, good-quality fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Une canne neuve et de bonne qualité. Utilisez-la pour pêcher des Pokémon sauvages dans les points d'eau."
+
+msgid "Super Rod"
+msgstr "Mega Canne"
+
+msgid "An awesome, high-tech fishing rod. Use it by any body of water to fish for wild aquatic Pokémon."
+msgstr "Une canne à pêche très sophistiquée. Utilisez-la pour pêcher des Pokémon sauvages aquatiques."
+
+msgid "Dowsing MCHN"
+msgstr "Cherch'Objet"
+
+msgid "It checks for unseen items in the area and makes noise and lights when it finds something."
+msgstr "Un appareil high-tech qui indique l'emplacement des objets invisibles en émettant un son et en clignotant."
+
+msgid "TM96"
+msgstr "CT96"
+
+msgid "The user creates shockwaves to attack the target. This attack does physical damage."
+msgstr "Le lanceur crée des ondes de choc afin d'attaquer la cible. Cette attaque provoque des dégâts physiques."
+
+msgid "Town Map"
+msgstr "Carte"
+
+msgid "A very convenient map that can be viewed anytime. It even shows your present location."
+msgstr "Objet très utile, permettant de regarder la carte de la région et de voir sa position sur celle-ci"
+
+msgid "Coin Case"
+msgstr "Boîte Jetons"
+
+msgid "A case for holding Coins obtained at the Game Corner. It holds up to 99,999 Coins."
+msgstr "Boîte permettant de stocker jusqu'à 50,000 jetons."
+
+msgid "Gracidea"
+msgstr "Gracidée"
+
+msgid "A flower sometimes bundled in bouquets to convey gratitude on special occasions like birthdays."
+msgstr "Une fleur que l'on offre en gage de reconnaissance, notamment à l'occasion d'un anniversaire. Si on l'utilise sur un Shaymin cela changera sa forme."
+
+msgid "Soot Sack"
+msgstr "Sac à Suie"
+
+msgid "A sack used to gather and hold volcanic ash."
+msgstr "Un sac permettant de stocker des cendres volcaniques ramassées."
+
+msgid "Explorer Kit"
+msgstr "Explorakit"
+
+msgid "A bag filled with convenient tools for exploring. It provides access to the Underground."
+msgstr "Permet l'exploration des Souterrains, mais également utile pour trouver des objets."
+
+msgid "Loot Sack"
+msgstr "Sac Butin"
+
+msgid "A sturdy, spacious bag that is used to carry loot obtained in the coal mine."
+msgstr "Grand sac robuste utilisé pour transporter le butin dans la mine charbon."
+
+msgid "Rule Book"
+msgstr "Livre Règles"
+
+msgid "It lists the rules for holding battles. For linked battles, you may choose which rules to use."
+msgstr "Liste les règles des combats en cours. Pour les combats en ligne, vous devez choisir quelles règles utiliser."
+
+msgid "Point Card"
+msgstr "Carte Points"
+
+msgid "A card that lists the Battle Points you have earned."
+msgstr "Carte indiquant le nombre de Points de Combat obtenus."
+
+msgid "A notebook that keeps a day-to-day record of your adventure so far."
+msgstr "Un cahier qui enregistre votre progession tout au long de l'aventure."
+
+msgid "Seal Case"
+msgstr "Boîte Sceaux"
+
+msgid "A case for storing Seals that can be applied to the capsule cases of Poké Balls."
+msgstr "Objet un peu spécial se mettant sur les Balls et pouvant modifier l'animation de l'entrée du Pokémon dans le combat ou lors d'un concours."
+
+msgid "Fashion Case"
+msgstr "Coffret Mode"
+
+msgid "A fancy case for the tidy and organized storage of colorful Pokémon Accessories."
+msgstr "Petit objet en forme de coeur, qui permet de ranger les Accessoires Pokémon."
+
+msgid "Seal Bag"
+msgstr "Sachet Sceaux"
+
+msgid "A tiny bag that can hold ten Seals for decorating Poké Balls."
+msgstr "Permet de stocker les Sceaux que le Dresseur applique sur les Capsule Balls."
+
+msgid "Pal Pad"
+msgstr "Registre Ami"
+
+msgid "A convenient notepad that is used for registering your friends and keeping a record of game play."
+msgstr "Carnet permettant au joueur d'enregistrer les informations des autres joueurs."
+
+msgid "Works Key"
+msgstr "Clef de travail"
+
+msgid "A large key for operating the doors of the Valley Windworks. It was held by a Team Galactic Grunt."
+msgstr "Une grande clef permettant d'ouvrir les portes de la centrale des Eoliennes. Tenue par un Sbire de la Team Galaxie."
+
+msgid "Old Charm"
+msgstr "Vieux Grigri"
+
+msgid "An ancient good-luck charm made of Pokémon bones to be taken to the elder of Celestic Town."
+msgstr "Un ancien porte-bonheur fait d'os de Pokémon à porter à la doyenne de Célestia."
+
+msgid "Galactic Key"
+msgstr "Clé Galaxie"
+
+msgid "A card key for disengaging security systems in the Galactic HQ. Losing it can result in punishment, apparently."
+msgstr "La clé de l'entrepôt de la Team Galaxie situé en périphérie de Voilaroc."
+
+msgid "Red Chain"
+msgstr "Chaîne rouge"
+
+msgid "A mythical chain that is said to link the legendary Pokémon that created the Sinnoh region."
+msgstr "Une chaîne mystique qui serait en lien avec le Pokémon légendaire qui a crée Sinnoh."
+
+msgid "Sprayduck"
+msgstr "Kwakarrosoir"
+
+msgid "A watering can shaped like a Psyduck. It helps promote healthy growth of planted Berries."
+msgstr "Un arrosoir qui ressemble à Psykokwak. Il permet aux Baies de se développer."
+
+msgid "Poffin Case"
+msgstr "Boîte Poffin"
+
+msgid "A case for storing Poffin cooked from Berries."
+msgstr "Boîte pour ranger les Poffins faits à partir de Baies."
+
+msgid "Suite Key"
+msgstr "Clé Ascenseur"
+
+msgid "A key to one of the suites at the luxury hotel by a lake. For some odd reason, it often disappears."
+msgstr "Clef d'une suite, d'un hôtel situé à côté d'un lac. Bizarrement, elle disparaît souvent."
+
+msgid "Oak's Letter"
+msgstr "Lettre Chen"
+
+msgid "A letter from Prof. Oak. Written in it is a request for you to go to Rt. 224."
+msgstr "Une lettre du Professeur Chen. Ça dit qu'il faut se rendre sur la Route 224."
+
+msgid "Lunar Wing"
+msgstr "Lun'Aile"
+
+msgid "A feather that glows like the moon. It is said to possess the power to dispel nightmares."
+msgstr "Plume qui brille comme la lune. On dit qu'elle a le pouvoir de chasser les cauchemars."
+
+msgid "Member Card"
+msgstr "Carte Membre"
+
+msgid "A card needed for entering the inn in Canalave City. Oddly, the last date marked on it was 50 years ago."
+msgstr "Une carte permettant d'entrer dans l'auberge de Joliberges. Bizarrement, les traces sur la carte datent d'il y a 50 ans."
+
+msgid "Azure Flute"
+msgstr "Flûte Azur"
+
+msgid "A flute that puts out echoing sounds that do not seem to be of this world. It is unknown who made it."
+msgstr "Une flûte qui émet des sons qui n'ont pas l'air de provenir de ce monde. On ne sait pas qui l'a créée."
+
+msgid "BBFerry Ticket"
+msgstr "Ticket BBFerry"
+
+msgid "The ticket required for sailing on the ferry on Bealbeach Lake. It has a drawing of a ship on it."
+msgstr "Ce Ticket est requis pour voyager à bord du ferry au Lac de Vagune. Il y a le dessin d'un bateau dessus."
+
+msgid "Contest Pass"
+msgstr "Passeconcour"
+
+msgid "The pass required for entering Pokémon Contests. It has a drawing of an award ribbon on it."
+msgstr "La carte requise pour participer aux Concours Pokémon. Il y a un ruban dessiné dessus."
+
+msgid "Magma Stone"
+msgstr "Pierre Magma"
+
+msgid "A stone formed when boulders melted in intensely hot magma. Magma remains sealed inside."
+msgstr "Pierre formée à partir de roches en fusion solidifiées. Elle contient du magma."
+
+msgid "Parcel"
+msgstr "Colis"
+
+msgid "A parcel that you are supposed to deliver to your childhood friend who left Twinleaf Town."
+msgstr "Paquet qu'on vous a confié. Vous devez le remettre à votre ami d'enfance qui a quitté Bonaugure."
+
+msgid "A coupon to be exchanged for a Pokémon Watch (Pokétch for short). Three coupons are needed."
+msgstr "Un des trois bons à échanger contre une Pokémontre."
+
+msgid "Storage Key"
+msgstr "Clé Stockage"
+
+msgid "The key to Team Galactic's sinister warehouse located at the edge of Veilstone City."
+msgstr "Le joueur peut utiliser la clé pour ouvrir une porte dans le sinistre hangar Galaxie."
+
+msgid "SecretPotion"
+msgstr "Potion secrète"
+
+msgid "A fantastic medicine dispensed by the pharmacy in Cianwood City. It fully heals a Pokémon of any ailment."
+msgstr "Médicament génial vendu à la pharmacie d'Irisia. Soigne totalement un Pokémon de tout problème de statut."
+
+msgid "Vs. Seeker"
+msgstr "Cherche VS"
+
+msgid "A device that indicates Trainers who want to battle. Its battery charges while you walk."
+msgstr "Un appareil indiquant les Dresseurs voulant se battre. Les batteries se chargent pendant les déplacements."
+
+msgid "Vs. Recorder"
+msgstr "Magnéto VS"
+
+msgid "An amazing device that can record a battle either between friends or at a special battle facility."
+msgstr "Un superbe appareil permettant d'enregistrer les combats avec vos amis et ceux ayant lieu dans un bâtiment de combat."
+
+msgid "Secret Key"
+msgstr "Clé Secrète"
+
+msgid "A high-tech key to be used at a specific location. It emits a special electric signal to open a door."
+msgstr "Clé destinée à un endroit spécial. Ouvre une porte en transmettant un signal électrique."
+
+msgid "Apricorn Box"
+msgstr "Boîte Noigrume"
+
+msgid "A handy box where you can store up to 99 Apricorns of each kind."
+msgstr "Une boîte bien pratique qui peut contenir jusqu'à 99 Noigrumes."
+
+msgid "Unown Report"
+msgstr "Carnet Zarbi"
+
+msgid "A report of all the discovered kinds of Unown."
+msgstr "Un rapport de toutes les découvertes sur les Zarbi."
+
+msgid "Berry Pots"
+msgstr "Sac à Baies"
+
+msgid "Handy containers for cultivating Berries wherever you go."
+msgstr "Un petit réceptacle permettant de cultiver des Baies peut importe où l'on aille."
+
+msgid "Blue Card"
+msgstr "Carte Bleue"
+
+msgid "A card to save points for the Buena's Password show."
+msgstr "Une carte permettant de sauvegarder des points sur le spectacle du Mot de Passe Buena."
+
+msgid "SlowpokeTail"
+msgstr "Queueramolos"
+
+msgid "A very tasty tail of something. It sells for a high price."
+msgstr "Une queue délicieuse. Peut être vendue à bon prix en magasin."
+
+msgid "Clear Bell"
+msgstr "Glas Transparent"
+
+msgid "A very old-fashioned bell that makes a gentle ringing."
+msgstr "Une cloche antique au tintement apaisant."
+
+msgid "Card Key"
+msgstr "Carte Magnétique"
+
+msgid "A card key that opens a shutter in the Radio Tower."
+msgstr "Une clef qui permet d'ouvrir les portes de la Tour Radio."
+
+msgid "Basement Key"
+msgstr "Clé Sous-sol"
+
+msgid "A key that opens a door in the Goldenrod Tunnel."
+msgstr "Une clé qui ouvre une porte dans le Doublon-Tunnel."
+
+msgid "Squirtbottle"
+msgstr "Carapuce à O"
+
+msgid "A bottle used for watering plants in the Berry Pots."
+msgstr "Un arrosoir qui permet de faire grandir rapidement les Baies plantées dans le Plante-Baies."
+
+msgid "Red Scale"
+msgstr "Écaille Rouge"
+
+msgid "A scale from the red Gyarados. It glows red like a flame."
+msgstr "Une écaille du LEVIATOR apparue au Lac Colère. Elle rougeoie comme une flamme."
+
+msgid "Lost Item"
+msgstr "Objet Perdu"
+
+msgid "The Poké Doll lost by the Copycat."
+msgstr "Poképoupée perdue par Copieuse."
+
+msgid "A ticket to ride the Magnet Train, whenever and however much you like."
+msgstr "Un ticket pour embarquer dans le Train Magnet, quand vous le désirez."
+
+msgid "Machine Part"
+msgstr "Pièce de machine"
+
+msgid "An important machine part for the Power Plant that was stolen."
+msgstr "Une pièce importante de la machine qui a été volée à la Centrale Nucléaire."
+
+msgid "Silver Wing"
+msgstr "Argent'Aile"
+
+msgid "A strange, silvery feather that sparkles."
+msgstr "Une étrange plume argentée, qui brille."
+
+msgid "Rainbow Wing"
+msgstr "Arcenci'Aile"
+
+msgid "A mystical rainbow feather that sparkles."
+msgstr "Une plume mystique arc-en-ciel qui brille."
+
+msgid "Mystery Egg"
+msgstr "oeuf Mystère"
+
+msgid "A mysterious Egg obtained from Mr. Pokémon. What's in the Egg is unknown."
+msgstr "Un Oeuf étrange confié par M. Pokémon. Personne ne sait ce qu'il contient."
+
+msgid "Photo Album"
+msgstr "Album Photo"
+
+msgid "A nice photo album for storing all the photos taken along your adventure."
+msgstr "Un album très sympa pour ranger toutes ses photos pendant l'aventure."
+
+msgid "GB Sounds"
+msgstr "Lecteur GB"
+
+msgid "A music player that allows you to listen to nostalgic songs. It's operated with a single switch."
+msgstr "Un lecteur de musique permettant d'écouter de vieilles chansons. Il marche avec un bouton."
+
+msgid "Tidal Bell"
+msgstr "Glas Tempête"
+
+msgid "RageCandyBar"
+msgstr "Bonbon Rage"
+
+msgid "A famous candy in Mahogany Town. Many tourists like to buy them to take home."
+msgstr "Un bonbon, spécialité d'Acajou. Soigne tous les problèmes de statut d'un Pokémon."
+
+msgid "Jade Orb"
+msgstr "Orbe Vert"
+
+msgid "A shiny green orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Un orbe vert dont on dit qu'il a un lien très étroit avec les légendes d'Hoenn."
+
+msgid "Lock Capsule"
+msgstr "Poké Écrin"
+
+msgid "A sturdy Capsule that can only be opened with a special key."
+msgstr "Un écrin résistant qui ne s'ouvre qu'avec une clé spéciale."
+
+msgid "Red Orb"
+msgstr "Orbe Rouge"
+
+msgid "A shiny red orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Un orbe rouge dont on dit qu'il a un lien très étroit avec les légendes d'Hoenn."
+
+msgid "Blue Orb"
+msgstr "Orbe Bleue"
+
+msgid "A shiny blue orb that is said to have a legend and has a deep connection with the Hoenn region."
+msgstr "Un orbe bleu dont on dit qu'il a un lien très étroit avec les légendes d'Hoenn."
+
+msgid "Enigma Stone"
+msgstr "Mystécristal"
+
+msgid "A crystal ball from an excavation. A very beautiful stone that is covered with bits of rock and earth."
+msgstr "Une boule de cristal qui vient d'une grotte. Une pierre superbe recouverte de roche et de terre."
+
+msgid "Silph Scope"
+msgstr "Scope Sylphe"
+
+msgid "A scope that makes unseeable Pokémon visible. It is made by Silph Co."
+msgstr "Objet qui sert à identifier les Pokémon invisibles. Crée par Sylph Co."
+
+msgid "LAB KEY"
+msgstr "CLÉ LAB"
+
+msgid "This is a custom Key Item."
+msgstr "C'est un élément personnalisé."
+
+msgid "A tool that can search out Pokémon that are hiding in grass. Its battery is recharged as you walk."
+msgstr "Un objet permettant de trouver les Pokémon qui se cachent dans l'herbe. Se recharge quand vous marchez."
+
+msgid "Sticker Case"
+msgstr "Boite à Stickers"
+
+msgid "This device helps you find a defeated wild Pokemon more easily."
+msgstr "Ce dispositif vous permet de trouver un Pokémon sauvage déjà vaincu."
+
+msgid "Atom Ball"
+msgstr "Atome Ball"
+
+msgid "A special Poké Ball created to contain Urayne. You should not have this."
+msgstr "Une PokéBall spécialement concue pour Urayne. Tu ne devrais pas avoir ça."
+
+msgid "T.U.R Ticket"
+msgstr "Billet S.N.C.T."
+
+msgid "A ticket for the Tandor Underground Railway."
+msgstr "Un billet pour les Chemins de Fer de Tandor."
+
+msgid "PST"
+msgstr "TPH"
+
+msgid "Pokémon Speech Translator. Can help you understand some Pokémon. It's still a prototype."
+msgstr "Traducteur Pokémon. Peut vous aider à comprendre certains Pokémon. C'est encore un prototype."
+
+msgid "Coconut Milk"
+msgstr "Lait de coco"
+
+msgid "Fresh Coconut milk. Heals 50 HP and cures status effects."
+msgstr "Lait de Coco frais. Rend 50 PV et soigne tous les problèmes de statut."
+
+msgid "Jungle's Crown"
+msgstr "Couronne Jungle"
+
+msgid "An item to be held by a Pokémon. It belongs to the king of the jungle. Boosts Fighting attacks."
+msgstr "Un objet qui doit être tenu. Il appartient au roi de la jungle. Augmente l'Attaque."
+
+msgid "Royal Jelly"
+msgstr "Gelée royale"
+
+msgid "An item to be held by a Pokémon. A mysterious goo left behind by Seikamater."
+msgstr "Un objet qui doit être tenu. Il a été laissé par Seikamater."
+
+msgid "Bug Spray"
+msgstr "Insectifuge"
+
+msgid "Bug spray. Works better than any Repel to get bugs scurrying!"
+msgstr "Spray insecte. Plus efficace que le Repousse."
+
+msgid "Acai Berry"
+msgstr "Baie Acai"
+
+msgid "Bacu Berry"
+msgstr "Baie Bacu"
+
+msgid "Cupu Berry"
+msgstr "Baie Cupu"
+
+msgid "Guara Berry"
+msgstr "Baie Guara"
+
+msgid "Hair Fossil"
+msgstr "Fossile Poil"
+
+msgid "A fossil of an ancient Pokémon that lived in the Mountains. It appears to be a wisp of Hair."
+msgstr "Un fossile d'un ancien Pokémon qui vivait dans les Montagnes. C'est un brin de Cheveux."
+
+msgid "Tusk Fossil"
+msgstr "Fossile Défense"
+
+msgid "A fossil of an ancient Pokémon that lived in the Plains. It appears to be part of a Tusk."
+msgstr "Un fossile d'un ancien Pokémon qui vivait dans les plaines. C'est une partie d'une Défense."
+
+msgid "Moss Shard"
+msgstr "Tesson de mousse"
+
+msgid "Ice Shard"
+msgstr "Tesson de glace"
+
+msgid "Pretty Ribbon"
+msgstr "Joli Ruban"
+
+msgid "An item to be held by a Pokémon. It is an elegant pink ribbon that boosts Fairy-type moves."
+msgstr "Objet à tenir. C'est un ruban rose très élégant qui augmente les capacités de type Fée."
+
+msgid "Mega Bracelet"
+msgstr "Méga-Anneau"
+
+msgid "This bracelet contains an untold power that somehow enables Pokémon carrying a Mega Stone to Mega Evolve in battle."
+msgstr "Un anneau aux pouvoirs mystérieux permettant à un Pokémon de méga-évoluer au combat s'il tient la bonne Méga-Gemme."
+
+msgid "Metalynxite"
+msgstr "Métalynxite"
+
+msgid "One variety of the mysterious Mega Stones. Have Metalynx hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Métalynx, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Archillesite"
+msgstr "Caldéraptite"
+
+msgid "One variety of the mysterious Mega Stones. Have Archilles hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Caldéraptor, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Electruxolite"
+msgstr "Cavaluxite"
+
+msgid "One variety of the mysterious Mega Stones. Have Electruxo hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Cavalux, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Gyaradosite"
+msgstr "Léviatorite"
+
+msgid "One variety of the mysterious Mega Stones. Have Gyarados hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Léviator, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Ampharosite"
+msgstr "Pharampite"
+
+msgid "One variety of the mysterious Mega Stones. Have Ampharos hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Pharamp, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Baariettite"
+msgstr "Caucheboukite"
+
+msgid "One variety of the mysterious Mega Stones. Have Baariette hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Cauchebouk, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Drilgannite"
+msgstr "Taupurrenite"
+
+msgid "One variety of the mysterious Mega Stones. Have Drilgann hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Taupurren, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Sableyeite"
+msgstr "Ténéfixite"
+
+msgid "One variety of the mysterious Mega Stones. Have Sableye hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Ténéfix, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Inflagetite"
+msgstr "Enflaguéparite"
+
+msgid "One variety of the mysterious Mega Stones. Have Inflagetah hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Enflaguépar, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Dramsamaite"
+msgstr "Dramsamite"
+
+msgid "One variety of the mysterious Mega Stones. Have Dramsama hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Dramsama, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Daikatunite"
+msgstr "Daikathonite"
+
+msgid "One variety of the mysterious Mega Stones. Have Daikatuna hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Daikathona, elle lui permet de méga-évoluer durant un combat."
+
+msgid "TM93"
+msgstr "CT93"
+
+msgid "The target is infested and attacked for four to five turns. The target can't flee during this time."
+msgstr "Une charge électrique violente qui blesse aussi légèrement le lanceur."
+
+msgid "TM94"
+msgstr "CT94"
+
+msgid "The user damages opposing Pokémon by emitting a powerful flash."
+msgstr "Porte un coup de poing à l'ennemi qui peut baisser sa Défense. Peut aussi briser des rochers fissurés."
+
+msgid "Bike Wheel"
+msgstr "Roue de vélo"
+
+msgid "This bike wheel can be used to fix a bicycle."
+msgstr "Cette roue de vélo peut être utilisée pour réparer une bicyclette"
+
+msgid "Carrot Wine"
+msgstr "Vin de carotte"
+
+msgid "Delicious Carrot Wine, be careful to not drink too much! Heals 100 HP and cures status effects."
+msgstr "Un délicieux Vin de Carrotte, n'en buvez pas trop! Restaure 100 PV et soigne les problèmes de statut."
+
+msgid "Secret Note"
+msgstr "Note Secrète"
+
+msgid "You don't know who gave you this. It says that the password is 092."
+msgstr "Vous ne savez pas qui vous a donné ceci. Il est écrit que le mot de passe est 092."
+
+msgid "Syrentideite"
+msgstr "Sirénaïdéite"
+
+msgid "One variety of the mysterious Mega Stones. Have Syrentide hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Sirénaïade, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Unidentified Fallen Object"
+msgstr "Objet de Verre Non Identifié"
+
+msgid "One variety of the mysterious Mega Stones. Have s51-A hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un S51-A, elle lui permet de méga-évoluer durant un combat."
+
+msgid "TM95"
+msgstr "CT95"
+
+msgid "The user damages opposing Pokémon and lowers it's defense and special defense."
+msgstr "Le lanceur hurle sur l'ennemi. Baisse l'Attaque Spéciale de l'ennemi."
+
+msgid "Boxing Gloves"
+msgstr "Écras-Rock"
+
+msgid "This device given to you by the Tinkerer allows you to easily smash rugged rocks in your way."
+msgstr "Utilisez cet objet donné par le bricoleur pour éclater les rochers sur votre chemin."
+
+msgid "Eviolite"
+msgstr "Évoluroc"
+
+msgid "A mysterious evolutionary lump. When held, it raises the Defense and Sp. Def of a Pokémon that can still evolve."
+msgstr "Un étrange concentré d’évolution qui augmente la Défense et la Déf. Spé. d’un Pokémon pouvant évoluer."
+
+msgid "Fire Gem"
+msgstr "Joyau Feu"
+
+msgid "A gem with an essence of fire. When held, it strengthens the power of a Fire-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Feu."
+
+msgid "Water Gem"
+msgstr "Joyau Eau"
+
+msgid "A gem with an essence of water. When held, it strengthens the power of a Water-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Eau."
+
+msgid "Electric Gem"
+msgstr "Joyau Électrique"
+
+msgid "A gem with an essence of electricity. When held, it strengthens the power of an Electric-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Electrique."
+
+msgid "Grass Gem"
+msgstr "Joyau Plante"
+
+msgid "A gem with an essence of nature. When held, it strengthens the power of a Grass-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Plante."
+
+msgid "Ice Gem"
+msgstr "Joyau Glace"
+
+msgid "A gem with an essence of ice. When held, it strengthens the power of an Ice-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Glace."
+
+msgid "Fighting Gem"
+msgstr "Joyau Combat"
+
+msgid "A gem with an essence of combat. When held, it strengthens the power of a Fighting-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Combat."
+
+msgid "Poison Gem"
+msgstr "Joyau Poison"
+
+msgid "A gem with an essence of poison. When held, it strengthens the power of a Poison-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Poison."
+
+msgid "Ground Gem"
+msgstr "Joyau Terre"
+
+msgid "A gem with an essence of land. When held, it strengthens the power of a Ground-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Sol."
+
+msgid "Flying Gem"
+msgstr "Joyau Vol"
+
+msgid "A gem with an essence of air. When held, it strengthens the power of a Flying-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Vol."
+
+msgid "Psychic Gem"
+msgstr "Joyau Psy"
+
+msgid "A gem with an essence of the mind. When held, it strengthens the power of a Psychic-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Psy."
+
+msgid "Bug Gem"
+msgstr "Joyau Insecte"
+
+msgid "A gem with an insect-like essence. When held, it strengthens the power of a Bug-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Insecte."
+
+msgid "Rock Gem"
+msgstr "Joyau Pierre"
+
+msgid "A gem with an essence of rock. When held, it strengthens the power of a Rock-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Roche."
+
+msgid "Ghost Gem"
+msgstr "Joyau Esprit"
+
+msgid "A gem with a spectral essence. When held, it strengthens the power of a Ghost-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Spectre."
+
+msgid "Dragon Gem"
+msgstr "Joyau Dragon"
+
+msgid "A gem with a draconic essence. When held, it strengthens the power of a Dragon-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Dragon."
+
+msgid "Dark Gem"
+msgstr "Joyau Ténèbre"
+
+msgid "A gem with an essence of darkness. When held, it strengthens the power of a Dark-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Ténèbres."
+
+msgid "Steel Gem"
+msgstr "Joyau Métal"
+
+msgid "A gem with an essence of steel. When held, it strengthens the power of a Steel-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Acier."
+
+msgid "Normal Gem"
+msgstr "Joyau Normal"
+
+msgid "A gem with an ordinary essence. When held, it strengthens the power of a Normal-type move only once."
+msgstr "Objet à tenir. Un joyau augmentant une fois la puissance des capacités de type Normal."
+
+msgid "Whimsicottite"
+msgstr "Farfaduvéite"
+
+msgid "One variety of the mysterious Mega Stones. Have Whimsicott hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Farfaduvet, elle lui permet de méga-évoluer durant un combat."
+
+msgid "One variety of the mysterious Mega Stones. Have Arbok hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Arbok, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Yoshitaka's Letter"
+msgstr "Lettre de Yoshitaka"
+
+msgid "A letter from the great Yoshitaka, show it to his grandsons."
+msgstr "Une lettre du grand Yoshitaka, montrée à son petit-fils."
+
+msgid "Rocky Helmet"
+msgstr "Casque Brut"
+
+msgid "If the holder of this item takes damage, the attacker will also be damaged upon contact."
+msgstr "Tenu, cet objet inflige des dégâts à l'attaquant si ce dernier utilise une attaque physique qui atteint son but."
+
+msgid "Eject Button"
+msgstr "Bouton Fuite"
+
+msgid "If the holder is hit by an attack, it will switch with another Pokémon in your party."
+msgstr "Permet de changer si le porteur est touché."
+
+msgid "Red Card"
+msgstr "Carton Rouge"
+
+msgid "A card with a mysterious power. When the holder is struck by a foe, the attacker is removed from battle."
+msgstr "Oblige l'adversaire à changer après que le porteur a été attaqué."
+
+msgid "Float Stone"
+msgstr "Pierrallégée"
+
+msgid "A very light stone. It reduces the weight of a Pokémon when held."
+msgstr "Allège le poids du détenteur."
+
+msgid "Binding Band"
+msgstr "Bande Étreinte"
+
+msgid "A band that increases the power of binding moves when held."
+msgstr "Objet à tenir augmentant la puissance des attaques immobilisantes telles que Ligotage ou Étreinte."
+
+msgid "Absorb Bulb"
+msgstr "Bulbe"
+
+msgid "A consumable bulb. If the holder is hit by a Water-type move, its Sp. Atk will rise."
+msgstr "Un bulbe jetable. Tenu, il augmente l'Attaque Spéciale lorsque le Pokémon subit une attaque de type Eau."
+
+msgid "Cell Battery"
+msgstr "Pile"
+
+msgid "A consumable battery. If the holder is hit by an Electric-type move, its Attack will rise."
+msgstr "Augmente l'Att. Spé. du porteur s'il est touché par une attaque de type Electrique. Objet à usage unique."
+
+msgid "Ring Target"
+msgstr "Point de Mire"
+
+msgid "Moves that would otherwise have no effect will land on the Pokémon that holds it."
+msgstr "Permet d'éviter l'échec d'une attaque de type opposé."
+
+msgid "Air Balloon"
+msgstr "Ballon"
+
+msgid "When held by a Pokémon, the Pokémon will float into the air. When the holder is attacked, this item will burst."
+msgstr "Procure une immunité sol. Est détruit si le porteur est touché."
+
+msgid "Assault Vest"
+msgstr "Veste de Combat"
+
+msgid "An item to be held by a Pokémon. This offensive vest raises Sp. Def but prevents the use of status moves."
+msgstr "Objet de combat : tenu, augmente de 50% la Défense Spéciale si le porteur est touché par une attaque physique."
+
+msgid "Fairy Gem"
+msgstr "Gemme Fée"
+
+msgid "A gem with an essence of nature. When held, it strengthens the power of a Fairy-type move one time."
+msgstr "Une gemme avec une essence de la nature. Lorsqu'elle est tenue, elle augmente le pouvoir du type Fée."
+
+msgid "Prison Bottle"
+msgstr "Vase Scellé"
+
+msgid "A bottle believed to have been used to seal away the power of a certain Pokémon long, long ago."
+msgstr "Récipient utilisé il y a fort longtemps pour sceller le pouvoir d'un certain Pokémon."
+
+msgid "Luminous Moss"
+msgstr "Lichen Lumineux"
+
+msgid "An item to be held by a Pokémon. It boosts Sp. Def if hit with a Water-type attack. It can only be used once."
+msgstr "Tenu, augmente la Défense Spéciale si le porteur est touché par une attaque de type Eau. Usage unique."
+
+msgid "Weakness Policy"
+msgstr "Vulné-Assurance"
+
+msgid "An item to be held by a Pokémon. Attack and Sp. Atk sharply increase if the holder is hit with a move it's weak to."
+msgstr "Tenu, augmente l'Attaque et l'Attaque Spéciale si le porteur est touché par une attaque super efficace."
+
+msgid "Pixie Plate"
+msgstr "Plaque Pixie"
+
+msgid "An item to be held by a Pokémon. It is a stone tablet that boosts the power of Fairy-type moves."
+msgstr "Augmente la puissance des attaques de type Fée. Tenue par Arceus, il deviendra de type Fée."
+
+msgid "Roseli Berry"
+msgstr "Baie Roseli"
+
+msgid "Weakens a supereffective Fairy-type attack against the holding Pokémon."
+msgstr "Tenue, cette Baie divise par deux les dégâts occasionnés par une attaque super efficace de type Fée."
+
+msgid "Kee Berry"
+msgstr "Baie Kee"
+
+msgid "If held by a Pokémon, this Berry will increase the Pokémon's Defense stat when hit by a physical attack."
+msgstr "Tenue, cette Baie augmente la Défense du Pokémon lorsqu'il est touché par une attaque physique."
+
+msgid "Maranga Berry"
+msgstr "Baie Maranga"
+
+msgid "If held by a Pokémon, this Berry will increase the Pokémon's Special Defense stat when hit by a special attack."
+msgstr "Tenue, cette Baie augmente la Défense Spéciale du Pokémon lorsqu'il est touché par une attaque spéciale."
+
+msgid "Snowball"
+msgstr "Boule de Neige"
+
+msgid "An item to be held by a Pokémon. It boosts Attack if hit with an Ice-type attack. It can only be used once."
+msgstr "Tenu, augmente l'attaque si le porteur est touché par une capacité de type Glace. Usage unique."
+
+msgid "Safety Goggles"
+msgstr "Lunettes Filtre"
+
+msgid "An item to be held by a Pokémon. These goggles protect the holder from both weather-related damage and powder."
+msgstr "Tenu, protège des dégâts causés par les effets du climat et par les \"poudres\"."
+
+msgid "Hafli Berry"
+msgstr "Baie Hafli"
+
+msgid "If held by a Pokémon, it weakens a foe's supereffective Nuclear-type attack."
+msgstr "Tenu, permet d'affaiblir les attaques super efficaces de type Nucléaire."
+
+msgid "Kellyn's Letter"
+msgstr "Lettre de Primo"
+
+msgid "A letter from Kellyn. Deliver it to Cameron on the Power Plant Island."
+msgstr "Une lettre de Primo. Apportez-la à Cameron sur l'Ile de la Centrale Nucléaire."
+
+msgid "Burnt Notebook"
+msgstr "Carnet brûlé"
+
+msgid "A burnt notebook found in the power plant, it's pages seem to be scattered about."
+msgstr "Un carnet brûlé trouvé dans la centrale. Ses pages sont éparpillées."
+
+msgid "Rusty Key"
+msgstr "Clé rouillée"
+
+msgid "A rusty key found in the power plant."
+msgstr "Une clef rouillée trouvée dans la centrale."
+
+msgid "Power Glove"
+msgstr "Gants de Force"
+
+msgid "This device given to you by the Tinkerer allows you to push boulders on your own as if you had super-strength."
+msgstr "Cet objet donné par le bricoleur vous permet de pousser les rochers sur votre chemin comme si vous aviez une superforce."
+
+msgid "Nuclear Ball"
+msgstr "Nucléo ball"
+
+msgid "A new kind of Poké Ball that works especially well on Nuclear-type Pokémon."
+msgstr "Une nouvelle sorte de Poké Ball qui fonctionne particulièrement bien sur les Pokémon de type Nucléaire."
+
+msgid "A sachet filled with fragrant perfumes that are just slightly too overwhelming. Yet it's loved by a certain Pokémon."
+msgstr "Tenu par Fluvetin, le fait évoluer en Cocotine lors d'un échange."
+
+msgid "Power Cell"
+msgstr "Batterie"
+
+msgid "A power cell used to power up advanced electrical equipments."
+msgstr "Une puissante cellule utilisée pour alimenter des équipements électriques avancés."
+
+msgid "Maria's Key"
+msgstr "Clé de Maria"
+
+msgid "A key given by a creepy guy that unlocks Gym Leader Maria's house."
+msgstr "Une clef donnée par un mec chelou qui permet d'ouvrir la maison du champion Maria."
+
+msgid "Oval Charm"
+msgstr "Charme Ovale"
+
+msgid "An oval charm said to increase the chance of Eggs being found at the Day Care."
+msgstr "Un mystérieux charme rond qui permet de trouver plus facilement des Oeufs à la Pension Pokémon."
+
+msgid "Shiny Charm"
+msgstr "Charme Chroma"
+
+msgid "A shiny charm said to increase the chance of finding a Shiny Pokémon."
+msgstr "Une mystérieuse amulette brillante qui augmente les chances de rencontrer un Pokémon Chromatique lorsqu'elle est tenue."
+
+msgid "Aromatic Herb"
+msgstr "Herbe aromatique"
+
+msgid "A herb filled with fragrant perfumes that are just slightly too overwhelming. Yet it's loved by a certain Pokémon."
+msgstr "Une herbe au parfum entêtant. Cependant elle est apppréciée d'un certain Pokémon."
+
+msgid "Air Mail"
+msgstr "Lettre Air"
+
+msgid "Stationery featuring a print of colorful letter sets. Let a Pokémon hold it for delivery."
+msgstr "Une lettre colorée. Faites-la tenir par un Pokémon pour la donner."
+
+msgid "Gengarite"
+msgstr "Ectoplasmite"
+
+msgid "One of the mysterious Mega Stones. Have Gengar hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Une mystérieuse variété de Mega Gemmes. Donnez-la à Ectoplasma pour qu'il puisse Mega Evoluer."
+
+msgid "Uranium Core"
+msgstr "Coeur Uranique"
+
+msgid "Concentrated nuclear fuel used to power Nuclear Plants."
+msgstr "Du fuel concentré pour la Centrale Nucléaire."
+
+msgid "One of the mysterious Mega Stones. Have Kiricorn hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Une mystérieuse variété de Mega Gemmes. Donnez-la à Kiricorne pour qu'il puisse Mega Evoluer."
+
+msgid "Gold Fossil"
+msgstr "Fossile Aurique"
+
+msgid "A fossil of an ancient Pokémon that lived in Islands. It appears to be a golden bone."
+msgstr "Un fossile d'un ancien Pokémon qui vivait dans les Iles. C'est un os en or."
+
+msgid "TM97"
+msgstr "CT97"
+
+msgid "The user chomps hard on the target with its sharp front fangs. It cuts the target's HP to half."
+msgstr "Le lanceur mord la cible de ses crocs acérés. Fait baisser les PV de moitié."
+
+msgid "TM98"
+msgstr "CT98"
+
+msgid "This move can be used only after the user has used all the other moves it knows in the battle."
+msgstr "Cette capacité ne peut être utilisée qu'après que le lanceur a utilisé toutes les autres."
+
+msgid "TM99"
+msgstr "CT99"
+
+msgid "An attack move that cuts down the target's HP to equal the user's HP."
+msgstr "Une attaque qui réduit les PV de l'ennemi au niveau des PV du lanceur."
+
+msgid "TM100"
+msgstr "CT100"
+
+msgid "The user focuses its willpower to its head and attacks the foe. It may also make the target flinch."
+msgstr "Le lanceur concentre sa volonté et donne un coup de tête. Peut aussi apeurer l'ennemi."
+
+msgid "Surfboard"
+msgstr "Planche de Surf"
+
+msgid "This device given to you by the Tinkerer makes it possible to surf on water without the help of a Pokémon. Cowabunga!"
+msgstr "Cet outil donné par le Bricoleur permet de surfer sur l'eau sans l'aide d'un Pokémon. Kawabunga!"
+
+msgid "Scuba Gear"
+msgstr "PokéTuba"
+
+msgid "This device given to you by the Tinkerer allows you to dive underwater on your own. Who ever used Dive anyways?"
+msgstr "Cet outil donné par le Bricoleur permet de plonger sous l'eau vous-même. Qui de nos jours utilise encore un Pokémon pour plonger?"
+
+msgid "Climbing Pick"
+msgstr "Piolet"
+
+msgid "This device given to you by the Tinkerer allows you to climb up waterfalls while using your surfboard. Extreme sports are fun!"
+msgstr "Cet outil donné par le Bricoleur permet de monter les chutes d'eau avec ta planche de surf. Les Sports Extreme c'est fun!"
+
+msgid "Rich Mulch"
+msgstr "Engrais"
+
+msgid "A plant fertilizer. It increases Berry harvest without the need for particularly diligent care."
+msgstr "C'est un engrai. Il permet aux baies de pousser plus vite sans avoir à les surveiller."
+
+msgid "Sprinklotad"
+msgstr "Nénurrosoir"
+
+msgid "A watering can shaped like a Lotad. It helps promote healthy growth of planted Berries."
+msgstr "C'est un arrosoir en forme de Nénupiot. Il sert a arroser les baies afin qu'elles poussent mieux."
+
+msgid "Quadcopter"
+msgstr "Drone"
+
+msgid "Final device created by the Tinkerer. Use this remote-controlled drone to Fly anywhere without the help of a Pokémon!"
+msgstr "Outil high-tech fait par le Bricoleur. Ce Drone radio-commandé permet de voler n'importe où sans l'aide d'un Pokémon!"
+
+msgid "Ferry Pass"
+msgstr "Passe Ferryy"
+
+msgid "A Frequent Sailor card for the Venesi Ferry to Bealbeach and Silverport."
+msgstr "Une carte de Marin Fréquent pour le Ferry entre Vagune, Venesi et Port-Argent."
+
+msgid "Dark Dramsamaite"
+msgstr "Dramsamite Obscure"
+
+msgid "A disturbing variety of the mysterious Mega Stones. Have Dramsama hold it, and this stone will enable it to Mega Evolve during battle."
+msgstr "Une dérangeante variété de Méga-Gemme. Tenue par un Dramsama, elle lui permet de méga-évoluer durant un combat."
+
+msgid "Map Scrap 1"
+msgstr "Morceau de Carte 1"
+
+msgid "Map Scrap 2"
+msgstr "Morceau de Carte 2"
+
+msgid "Map Scrap 3"
+msgstr "Morceau de Carte 3"
+
+msgid "Map Scrap 4"
+msgstr "Morceau de Carte 4"
+
+msgid "Map Scrap 5"
+msgstr "Morceau de Carte 5"
+
+msgid "Map Scrap 6"
+msgstr "Morceau de Carte 6"
+
+msgid "Exp. All"
+msgstr "Multi Exp"
+
+msgid "Turning on this special device will allow all the Pokémon on your team to receive Exp. Points from battles."
+msgstr "Objet à activer. Permet de faire gagner des Points Exp. à tous les Pokémon de l'équipe, même à ceux qui n'ont pas participé au combat."
+
+msgid "Oblivicornite"
+msgstr "Katacornite"
+
+msgid "One of the mysterious Mega Stones. Have Oblivicorn hold it, and this stone will enable it to Mega Evolve in battle."
+msgstr "Une variété de Méga-Gemme. Tenue par un Katacorne, elle lui permet de méga-évoluer durant un combat."
diff --git a/Dialogue/Generated/fr/OfficialLocations.po b/Dialogue/Generated/fr/OfficialLocations.po
new file mode 100644
index 000000000..7cf872b62
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialLocations.po
@@ -0,0 +1,158 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "01- Lakeside Path"
+msgstr "01 - Sentier du Lac"
+
+msgid "02- Owten Nook"
+msgstr "02 - Bosquet des Chouetton"
+
+msgid "03- Seabreeze Way"
+msgstr "03 - Chemin de la Brise Marine"
+
+msgid "04- Baa Grassland"
+msgstr "04 - Prairie de Baa"
+
+msgid "05- Tancoon Way"
+msgstr "05 - Chemin des Tanoctur"
+
+msgid "06- Pahar Hills"
+msgstr "06 - Collines aux Phénincelle"
+
+msgid "07- Tandor Sheets"
+msgstr "07 - Plateaux de Tandor"
+
+msgid "08- Vinoville Lake"
+msgstr "08 - Lac de Vinoville"
+
+msgid "09- FireValley"
+msgstr "09 - Vallée des Flammes"
+
+msgid "10- Baykal Forest"
+msgstr "10 - Forêt Baykal"
+
+msgid "11- Nature Preserve"
+msgstr "11 - Réserve Naturelle"
+
+msgid "12- Maskara Channel"
+msgstr "12 - Chenal Maskara"
+
+msgid "13- Maskara Island"
+msgstr "13 - Ile Maskara"
+
+msgid "14- Maskara Sea"
+msgstr "14 - Mer Maskara"
+
+msgid "15- Shallow Channel"
+msgstr "15 - Chenal marée-basse"
+
+msgid "Amatree Town"
+msgstr "Feuillis"
+
+msgid "Anthell"
+msgstr "Enfermillière"
+
+msgid "Bealbeach City"
+msgstr "Vagune"
+
+msgid "Berry Traders"
+msgstr "Marchand de Baies"
+
+msgid "Bike Shop"
+msgstr "Cycles à gogo"
+
+msgid "Burole Town"
+msgstr "Burole"
+
+msgid "Championship Site"
+msgstr "Site du Tournoi"
+
+msgid "Church"
+msgstr "Eglise"
+
+msgid "Comet Cave"
+msgstr "Grotte Comète"
+
+msgid "Dpt. Store, Casino"
+msgstr "Grand Magasin, Casino"
+
+msgid "Kevlar Town"
+msgstr "Kevlar"
+
+msgid "Lanthanite Tunnel"
+msgstr "Tunnel de Lanthanite"
+
+msgid "Larkspur's Lab"
+msgstr "Laboratoires Larkspur"
+
+msgid "Legen Town"
+msgstr "Fort Légende"
+
+msgid "Moki Town"
+msgstr "Bourg Moki"
+
+msgid "Name Rater"
+msgstr "Spécialiste des noms"
+
+msgid "Nowtoch City"
+msgstr "Néotech"
+
+msgid "Nuclear Plant Epsilon"
+msgstr "Centrale nucléaire EPSILON"
+
+msgid "Nuclear Plant Omicron"
+msgstr "Centrale Nucléaire Omicron"
+
+msgid "Nuclear Plant Zeta"
+msgstr "Centrale nucléaire ZETA"
+
+msgid "Passage Cave"
+msgstr "Grotte Sillage"
+
+msgid "Pokemon School"
+msgstr "École Pokémon"
+
+msgid "Professor Bambo Lab"
+msgstr "Laboratoire du Professeur Bamb'o"
+
+msgid "Professor Cypress Lab"
+msgstr "Laboratoire de la Prof. Cyprès"
+
+msgid "Rochfale Town"
+msgstr "Cascaroc"
+
+msgid "Rochfale Tunnel"
+msgstr "Tunnel de Cascaroc"
+
+msgid "Silverport Town"
+msgstr "Port-Argent"
+
+msgid "Snowbank Town"
+msgstr "RiveNeige"
+
+msgid "The Labyrinth"
+msgstr "Le Labyrinthe"
+
+msgid "The Tipsy Tancoon, etc"
+msgstr "Le Tanoctur Pompette, etc"
+
+msgid "Tinkerer's Workshop"
+msgstr "Atelier des Bricoleurs"
+
+msgid "Training Dojo"
+msgstr "Dojo"
+
+msgid "Tsukinami Village"
+msgstr "Village Tsukinami"
+
+msgid "Venesi City"
+msgstr "Venesi"
+
+msgid "Victory Road"
+msgstr "Route Victoire"
+
+msgid "Vinoville Town"
+msgstr "Vinoville"
+
diff --git a/Dialogue/Generated/fr/OfficialMoves.po b/Dialogue/Generated/fr/OfficialMoves.po
new file mode 100644
index 000000000..6ede3b104
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialMoves.po
@@ -0,0 +1,1846 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "Megahorn"
+msgstr "Mégacorne"
+
+msgid "Attack Order"
+msgstr "Appel Attak"
+
+msgid "Bug Buzz"
+msgstr "Bourdon"
+
+msgid "X-Scissor"
+msgstr "Plaie-Croix"
+
+msgid "Signal Beam"
+msgstr "Rayon Signal"
+
+msgid "U-turn"
+msgstr "Demi-Tour"
+
+msgid "Steamroller"
+msgstr "Bulldoboule"
+
+msgid "Bug Bite"
+msgstr "Piqûre"
+
+msgid "Silver Wind"
+msgstr "Vent Argenté"
+
+msgid "Struggle Bug"
+msgstr "Survinsecte"
+
+msgid "Twineedle"
+msgstr "Double-Dard"
+
+msgid "Fury Cutter"
+msgstr "Taillade"
+
+msgid "Leech Life"
+msgstr "Vampirisme"
+
+msgid "Pin Missile"
+msgstr "Dard-Nuée"
+
+msgid "Defend Order"
+msgstr "Appel Défense"
+
+msgid "Heal Order"
+msgstr "Appel Soins"
+
+msgid "Quiver Dance"
+msgstr "Papillodanse"
+
+msgid "Rage Powder"
+msgstr "Poudre Fureur"
+
+msgid "Spider Web"
+msgstr "Toile"
+
+msgid "String Shot"
+msgstr "Sécrétion"
+
+msgid "Tail Glow"
+msgstr "Lumiqueue"
+
+msgid "Foul Play"
+msgstr "Tricherie"
+
+msgid "Night Daze"
+msgstr "Explonuit"
+
+msgid "Crunch"
+msgstr "Mâchouille"
+
+msgid "Dark Pulse"
+msgstr "Vibrobscur"
+
+msgid "Sucker Punch"
+msgstr "Coup Bas"
+
+msgid "Night Slash"
+msgstr "Tranche-Nuit"
+
+msgid "Bite"
+msgstr "Morsure"
+
+msgid "Feint Attack"
+msgstr "Feinte"
+
+msgid "Snarl"
+msgstr "Aboiement"
+
+msgid "Payback"
+msgstr "Représailles"
+
+msgid "Pursuit"
+msgstr "Poursuite"
+
+msgid "Thief"
+msgstr "Larcin"
+
+msgid "Knock Off"
+msgstr "Sabotage"
+
+msgid "Beat Up"
+msgstr "Baston"
+
+msgid "Fling"
+msgstr "Dégommage"
+
+msgid "Punishment"
+msgstr "Punition"
+
+msgid "Dark Void"
+msgstr "Trou Noir"
+
+msgid "Fake Tears"
+msgstr "Croco Larme"
+
+msgid "Flatter"
+msgstr "Flatterie"
+
+msgid "Hone Claws"
+msgstr "Aiguisage"
+
+msgid "Memento"
+msgstr "Souvenir"
+
+msgid "Nasty Plot"
+msgstr "Machination"
+
+msgid "Quash"
+msgstr "À la Queue"
+
+msgid "Snatch"
+msgstr "Saisie"
+
+msgid "Switcheroo"
+msgstr "Passe-Passe"
+
+msgid "Taunt"
+msgstr "Provoc"
+
+msgid "Torment"
+msgstr "Tourmente"
+
+msgid "Roar of Time"
+msgstr "Hurle-Temps"
+
+msgid "Draco Meteor"
+msgstr "Draco Météore"
+
+msgid "Outrage"
+msgstr "Colère"
+
+msgid "Dragon Rush"
+msgstr "Dracocharge"
+
+msgid "Spacial Rend"
+msgstr "Spatio-Rift"
+
+msgid "Dragon Pulse"
+msgstr "Dracochoc"
+
+msgid "Dragon Claw"
+msgstr "Dracogriffe"
+
+msgid "Dragon Tail"
+msgstr "Draco-Queue"
+
+msgid "Dragon Breath"
+msgstr "Dracosouffle"
+
+msgid "Dual Chop"
+msgstr "Double Baffe"
+
+msgid "Twister"
+msgstr "Ouragan"
+
+msgid "Dragon Rage"
+msgstr "Draco-Rage"
+
+msgid "Dragon Dance"
+msgstr "Danse Draco"
+
+msgid "Bolt Strike"
+msgstr "Charge Foudre"
+
+msgid "Thunder"
+msgstr "Fatal-Foudre"
+
+msgid "Volt Tackle"
+msgstr "Électacle"
+
+msgid "Zap Cannon"
+msgstr "Élécanon"
+
+msgid "Fusion Bolt"
+msgstr "Éclair Croix"
+
+msgid "Thunderbolt"
+msgstr "Tonnerre"
+
+msgid "Wild Charge"
+msgstr "Éclair Fou"
+
+msgid "Discharge"
+msgstr "Coup d'Jus"
+
+msgid "Thunder Punch"
+msgstr "Poing-Éclair"
+
+msgid "Volt Switch"
+msgstr "Change Éclair"
+
+msgid "Spark"
+msgstr "Étincelle"
+
+msgid "Thunder Fang"
+msgstr "Crocs Éclair"
+
+msgid "Shock Wave"
+msgstr "Onde de Choc"
+
+msgid "Electroweb"
+msgstr "Toile Élek"
+
+msgid "Charge Beam"
+msgstr "Rayon Chargé"
+
+msgid "Thunder Shock"
+msgstr "Éclair"
+
+msgid "Electro Ball"
+msgstr "Boule Élek"
+
+msgid "Charge"
+msgstr "Chargeur"
+
+msgid "Magnet Rise"
+msgstr "Vol Magnétik"
+
+msgid "Thunder Wave"
+msgstr "Cage-Éclair"
+
+msgid "Focus Punch"
+msgstr "Mitra-Poing"
+
+msgid "High Jump Kick"
+msgstr "Pied Voltige"
+
+msgid "Focus Blast"
+msgstr "Exploforce"
+
+msgid "Superpower"
+msgstr "Surpuissance"
+
+msgid "Cross Chop"
+msgstr "Coup-Croix"
+
+msgid "Dynamic Punch"
+msgstr "Dynamopoing"
+
+msgid "Hammer Arm"
+msgstr "Marto-Poing"
+
+msgid "Jump Kick"
+msgstr "Pied Sauté"
+
+msgid "Aura Sphere"
+msgstr "Aurasphère"
+
+msgid "Sacred Sword"
+msgstr "Lame Sainte"
+
+msgid "Secret Sword"
+msgstr "Lame Ointe"
+
+msgid "Sky Uppercut"
+msgstr "Stratopercut"
+
+msgid "Submission"
+msgstr "Sacrifice"
+
+msgid "Brick Break"
+msgstr "Casse-Brique"
+
+msgid "Drain Punch"
+msgstr "Vampipoing"
+
+msgid "Vital Throw"
+msgstr "Corps Perdu"
+
+msgid "Circle Throw"
+msgstr "Projection"
+
+msgid "Force Palm"
+msgstr "Forte-Paume"
+
+msgid "Low Sweep"
+msgstr "Balayette"
+
+msgid "Revenge"
+msgstr "Vendetta"
+
+msgid "Rolling Kick"
+msgstr "Mawashi Geri"
+
+msgid "Wake-Up Slap"
+msgstr "Réveil Forcé"
+
+msgid "Karate Chop"
+msgstr "Poing-Karaté"
+
+msgid "Rock Smash"
+msgstr "Éclate-Roc"
+
+msgid "Storm Throw"
+msgstr "Yama Arashi"
+
+msgid "Vacuum Wave"
+msgstr "Onde Vide"
+
+msgid "Double Kick"
+msgstr "Double Pied"
+
+msgid "Arm Thrust"
+msgstr "Cogne"
+
+msgid "Triple Kick"
+msgstr "Triple Pied"
+
+msgid "Counter"
+msgstr "Riposte"
+
+msgid "Final Gambit"
+msgstr "Tout ou Rien"
+
+msgid "Low Kick"
+msgstr "Balayage"
+
+msgid "Reversal"
+msgstr "Contre"
+
+msgid "Seismic Toss"
+msgstr "Frappe Atlas"
+
+msgid "Bulk Up"
+msgstr "Gonflette"
+
+msgid "Detect"
+msgstr "Détection"
+
+msgid "Quick Guard"
+msgstr "Prévention"
+
+msgid "V-create"
+msgstr "Coup Victoire"
+
+msgid "Blast Burn"
+msgstr "Rafale Feu"
+
+msgid "Eruption"
+msgstr "Éruption"
+
+msgid "Overheat"
+msgstr "Surchauffe"
+
+msgid "Blue Flare"
+msgstr "Flamme Bleue"
+
+msgid "Fire Blast"
+msgstr "Déflagration"
+
+msgid "Flare Blitz"
+msgstr "Boutefeu"
+
+msgid "Magma Storm"
+msgstr "Vortex Magma"
+
+msgid "Fusion Flare"
+msgstr "Flamme Croix"
+
+msgid "Heat Wave"
+msgstr "Canicule"
+
+msgid "Inferno"
+msgstr "Feu d'Enfer"
+
+msgid "Sacred Fire"
+msgstr "Feu Sacré"
+
+msgid "Searing Shot"
+msgstr "Incendie"
+
+msgid "Flamethrower"
+msgstr "Lance-Flammes"
+
+msgid "Blaze Kick"
+msgstr "Pied Brûleur"
+
+msgid "Fiery Dance"
+msgstr "Danse du Feu"
+
+msgid "Lava Plume"
+msgstr "Ébullilave"
+
+msgid "Fire Punch"
+msgstr "Poing de Feu"
+
+msgid "Flame Burst"
+msgstr "Rebondifeu"
+
+msgid "Fire Fang"
+msgstr "Crocs Feu"
+
+msgid "Flame Wheel"
+msgstr "Roue de Feu"
+
+msgid "Fire Pledge"
+msgstr "Aire de Feu"
+
+msgid "Flame Charge"
+msgstr "Nitrocharge"
+
+msgid "Ember"
+msgstr "Flammèche"
+
+msgid "Fire Spin"
+msgstr "Danse Flamme"
+
+msgid "Incinerate"
+msgstr "Calcination"
+
+msgid "Heat Crash"
+msgstr "Tacle Feu"
+
+msgid "Sunny Day"
+msgstr "Zénith"
+
+msgid "Will-O-Wisp"
+msgstr "Feu Follet"
+
+msgid "Sky Attack"
+msgstr "Piqué"
+
+msgid "Brave Bird"
+msgstr "Rapace"
+
+msgid "Hurricane"
+msgstr "Vent Violent"
+
+msgid "Aeroblast"
+msgstr "Aéroblast"
+
+msgid "Fly"
+msgstr "Vol"
+
+msgid "Bounce"
+msgstr "Rebond"
+
+msgid "Drill Peck"
+msgstr "Bec Vrille"
+
+msgid "Air Slash"
+msgstr "Lame d'Air"
+
+msgid "Aerial Ace"
+msgstr "Aéropiqué"
+
+msgid "Chatter"
+msgstr "Babil"
+
+msgid "Pluck"
+msgstr "Picore"
+
+msgid "Sky Drop"
+msgstr "Chute Libre"
+
+msgid "Wing Attack"
+msgstr "Cru-Aile"
+
+msgid "Acrobatics"
+msgstr "Acrobatie"
+
+msgid "Air Cutter"
+msgstr "Tranch'Air"
+
+msgid "Gust"
+msgstr "Tornade"
+
+msgid "Peck"
+msgstr "Picpic"
+
+msgid "Defog"
+msgstr "Anti-Brume"
+
+msgid "Feather Dance"
+msgstr "Danse-Plume"
+
+msgid "Mirror Move"
+msgstr "Mimique"
+
+msgid "Roost"
+msgstr "Atterrissage"
+
+msgid "Tailwind"
+msgstr "Vent Arrière"
+
+msgid "Shadow Force"
+msgstr "Revenant"
+
+msgid "Shadow Ball"
+msgstr "Ball'Ombre"
+
+msgid "Shadow Claw"
+msgstr "Griffe Ombre"
+
+msgid "Ominous Wind"
+msgstr "Vent Mauvais"
+
+msgid "Shadow Punch"
+msgstr "Poing Ombre"
+
+msgid "Hex"
+msgstr "Châtiment"
+
+msgid "Shadow Sneak"
+msgstr "Ombre Portée"
+
+msgid "Astonish"
+msgstr "Étonnement"
+
+msgid "Lick"
+msgstr "Léchouille"
+
+msgid "Night Shade"
+msgstr "Ombre Nocturne"
+
+msgid "Confuse Ray"
+msgstr "Onde Folie"
+
+msgid "Curse"
+msgstr "Malédiction"
+
+msgid "Destiny Bond"
+msgstr "Prélèvem. Destin"
+
+msgid "Grudge"
+msgstr "Rancune"
+
+msgid "Nightmare"
+msgstr "Cauchemar"
+
+msgid "Spite"
+msgstr "Dépit"
+
+msgid "Frenzy Plant"
+msgstr "Végé-Attak"
+
+msgid "Leaf Storm"
+msgstr "Tempête Verte"
+
+msgid "Petal Dance"
+msgstr "Danse-Fleur"
+
+msgid "Power Whip"
+msgstr "Mégafouet"
+
+msgid "Seed Flare"
+msgstr "Fulmigraine"
+
+msgid "Solar Beam"
+msgstr "Lance-Soleil"
+
+msgid "Wood Hammer"
+msgstr "Martobois"
+
+msgid "Leaf Blade"
+msgstr "Lame-Feuille"
+
+msgid "Energy Ball"
+msgstr "Éco-Sphère"
+
+msgid "Seed Bomb"
+msgstr "Canon Graine"
+
+msgid "Giga Drain"
+msgstr "Giga-Sangsue"
+
+msgid "Horn Leech"
+msgstr "Encornebois"
+
+msgid "Leaf Tornado"
+msgstr "Phytomixeur"
+
+msgid "Magical Leaf"
+msgstr "Feuille Magik"
+
+msgid "Needle Arm"
+msgstr "Poing Dard"
+
+msgid "Razor Leaf"
+msgstr "Tranch'Herbe"
+
+msgid "Grass Pledge"
+msgstr "Aire d'Herbe"
+
+msgid "Mega Drain"
+msgstr "Méga-Sangsue"
+
+msgid "Vine Whip"
+msgstr "Fouet Lianes"
+
+msgid "Bullet Seed"
+msgstr "Balle Graine"
+
+msgid "Absorb"
+msgstr "Vol-Vie"
+
+msgid "Grass Knot"
+msgstr "Noeud Herbe"
+
+msgid "Aromatherapy"
+msgstr "Aromathérapie"
+
+msgid "Cotton Guard"
+msgstr "Cotogarde"
+
+msgid "Cotton Spore"
+msgstr "Spore Coton"
+
+msgid "Grass Whistle"
+msgstr "Siffl'Herbe"
+
+msgid "Ingrain"
+msgstr "Racines"
+
+msgid "Leech Seed"
+msgstr "Vampigraine"
+
+msgid "Sleep Powder"
+msgstr "Poudre Dodo"
+
+msgid "Stun Spore"
+msgstr "Para-Spore"
+
+msgid "Synthesis"
+msgstr "Synthèse"
+
+msgid "Worry Seed"
+msgstr "Soucigraine"
+
+msgid "Earthquake"
+msgstr "Séisme"
+
+msgid "Earth Power"
+msgstr "Telluriforce"
+
+msgid "Dig"
+msgstr "Tunnel"
+
+msgid "Drill Run"
+msgstr "Tunnelier"
+
+msgid "Bone Club"
+msgstr "Massd'Os"
+
+msgid "Mud Bomb"
+msgstr "Boue-Bombe"
+
+msgid "Bulldoze"
+msgstr "Piétisol"
+
+msgid "Mud Shot"
+msgstr "Tir de Boue"
+
+msgid "Bonemerang"
+msgstr "Osmerang"
+
+msgid "Sand Tomb"
+msgstr "Tourbi-Sable"
+
+msgid "Bone Rush"
+msgstr "Charge-Os"
+
+msgid "Mud-Slap"
+msgstr "Coud'Boue"
+
+msgid "Fissure"
+msgstr "Abîme"
+
+msgid "Magnitude"
+msgstr "Ampleur"
+
+msgid "Mud Sport"
+msgstr "Lance-Boue"
+
+msgid "Sand Attack"
+msgstr "Jet de Sable"
+
+msgid "Spikes"
+msgstr "Picots"
+
+msgid "Freeze Shock"
+msgstr "Éclair Gelé"
+
+msgid "Ice Burn"
+msgstr "Feu Glacé"
+
+msgid "Ice Beam"
+msgstr "Laser Glace"
+
+msgid "Icicle Crash"
+msgstr "Chute Glace"
+
+msgid "Ice Punch"
+msgstr "Poing-Glace"
+
+msgid "Aurora Beam"
+msgstr "Onde Boréale"
+
+msgid "Glaciate"
+msgstr "Ère Glaciaire"
+
+msgid "Ice Fang"
+msgstr "Crocs Givre"
+
+msgid "Icy Wind"
+msgstr "Vent Glace"
+
+msgid "Frost Breath"
+msgstr "Souffle Glacé"
+
+msgid "Ice Shard"
+msgstr "Éclats Glace"
+
+msgid "Powder Snow"
+msgstr "Poudreuse"
+
+msgid "Ice Ball"
+msgstr "Ball'Glace"
+
+msgid "Icicle Spear"
+msgstr "Stalagtite"
+
+msgid "Sheer Cold"
+msgstr "Glaciation"
+
+msgid "Hail"
+msgstr "Grêle"
+
+msgid "Haze"
+msgstr "Buée Noire"
+
+msgid "Mist"
+msgstr "Brume"
+
+msgid "Self-Destruct"
+msgstr "Destruction"
+
+msgid "Hyper Beam"
+msgstr "Ultralaser"
+
+msgid "Last Resort"
+msgstr "Dernier Recours"
+
+msgid "Double-Edge"
+msgstr "Damoclès"
+
+msgid "Head Charge"
+msgstr "Peignée"
+
+msgid "Mega Kick"
+msgstr "Ultimawashi"
+
+msgid "Thrash"
+msgstr "Mania"
+
+msgid "Egg Bomb"
+msgstr "Bomb'oeuf"
+
+msgid "Judgment"
+msgstr "Jugement"
+
+msgid "Skull Bash"
+msgstr "Coud'Krâne"
+
+msgid "Hyper Voice"
+msgstr "Mégaphone"
+
+msgid "Rock Climb"
+msgstr "Escalade"
+
+msgid "Take Down"
+msgstr "Bélier"
+
+msgid "Uproar"
+msgstr "Brouhaha"
+
+msgid "Body Slam"
+msgstr "Plaquage"
+
+msgid "Techno Blast"
+msgstr "TechnoBuster"
+
+msgid "Extreme Speed"
+msgstr "Vitesse Extrême"
+
+msgid "Hyper Fang"
+msgstr "Croc de Mort"
+
+msgid "Mega Punch"
+msgstr "Ultimapoing"
+
+msgid "Razor Wind"
+msgstr "Coupe-Vent"
+
+msgid "Slam"
+msgstr "Souplesse"
+
+msgid "Strength"
+msgstr "Force"
+
+msgid "Tri Attack"
+msgstr "Triplattaque"
+
+msgid "Crush Claw"
+msgstr "Éclate Griffe"
+
+msgid "Relic Song"
+msgstr "Chant Antique"
+
+msgid "Chip Away"
+msgstr "Attrition"
+
+msgid "Dizzy Punch"
+msgstr "Uppercut"
+
+msgid "Facade"
+msgstr "Façade"
+
+msgid "Headbutt"
+msgstr "Coup d'Boule"
+
+msgid "Retaliate"
+msgstr "Vengeance"
+
+msgid "Secret Power"
+msgstr "Force Cachée"
+
+msgid "Slash"
+msgstr "Tranche"
+
+msgid "Horn Attack"
+msgstr "Koud'Korne"
+
+msgid "Stomp"
+msgstr "Écrasement"
+
+msgid "Covet"
+msgstr "Implore"
+
+msgid "Round"
+msgstr "Chant Canon"
+
+msgid "Smelling Salts"
+msgstr "Stimulant"
+
+msgid "Swift"
+msgstr "Météores"
+
+msgid "Vice Grip"
+msgstr "Force Poigne"
+
+msgid "Cut"
+msgstr "Coupe"
+
+msgid "Struggle"
+msgstr "Lutte"
+
+msgid "Tackle"
+msgstr "Charge"
+
+msgid "Weather Ball"
+msgstr "Ball'Météo"
+
+msgid "Echoed Voice"
+msgstr "Écho"
+
+msgid "Fake Out"
+msgstr "Bluff"
+
+msgid "False Swipe"
+msgstr "Faux-Chage"
+
+msgid "Golden Fist"
+msgstr "Poing Midas"
+
+msgid "Pound"
+msgstr "Écras'Face"
+
+msgid "Quick Attack"
+msgstr "Vive-Attaque"
+
+msgid "Scratch"
+msgstr "Griffe"
+
+msgid "Snore"
+msgstr "Ronflement"
+
+msgid "Double Hit"
+msgstr "Coup Double"
+
+msgid "Feint"
+msgstr "Ruse"
+
+msgid "Tail Slap"
+msgstr "Plumo-Queue"
+
+msgid "Rage"
+msgstr "Frénésie"
+
+msgid "Rapid Spin"
+msgstr "Tour Rapide"
+
+msgid "Spike Cannon"
+msgstr "Picanon"
+
+msgid "Comet Punch"
+msgstr "Poing Comète"
+
+msgid "Fury Swipes"
+msgstr "Combo-Griffe"
+
+msgid "Barrage"
+msgstr "Pilonnage"
+
+msgid "Bind"
+msgstr "Étreinte"
+
+msgid "Double Slap"
+msgstr "Torgnoles"
+
+msgid "Fury Attack"
+msgstr "Furie"
+
+msgid "Wrap"
+msgstr "Ligotage"
+
+msgid "Constrict"
+msgstr "Constriction"
+
+msgid "Bide"
+msgstr "Patience"
+
+msgid "Crush Grip"
+msgstr "Presse"
+
+msgid "Endeavor"
+msgstr "Effort"
+
+msgid "Flail"
+msgstr "Fléau"
+
+msgid "Hidden Power"
+msgstr "Puissance Cachée"
+
+msgid "Horn Drill"
+msgstr "Empal'Korne"
+
+msgid "Natural Gift"
+msgstr "Don Naturel"
+
+msgid "Present"
+msgstr "Lame Pangéenne"
+
+msgid "Return"
+msgstr "Retour"
+
+msgid "Sonic Boom"
+msgstr "Sonicboom"
+
+msgid "Spit Up"
+msgstr "Relâche"
+
+msgid "Super Fang"
+msgstr "Croc Fatal"
+
+msgid "Trump Card"
+msgstr "Atout"
+
+msgid "Wring Out"
+msgstr "Essorage"
+
+msgid "Acupressure"
+msgstr "Acupression"
+
+msgid "After You"
+msgstr "Après Vous"
+
+msgid "Assist"
+msgstr "Assistance"
+
+msgid "Attract"
+msgstr "Attraction"
+
+msgid "Baton Pass"
+msgstr "Relais"
+
+msgid "Belly Drum"
+msgstr "Cognobidon"
+
+msgid "Bestow"
+msgstr "Passe-Cadeau"
+
+msgid "Block"
+msgstr "Barrage"
+
+msgid "Captivate"
+msgstr "Séduction"
+
+msgid "Charm"
+msgstr "Charme"
+
+msgid "Copycat"
+msgstr "Photocopie"
+
+msgid "Defense Curl"
+msgstr "Boul'Armure"
+
+msgid "Disable"
+msgstr "Entrave"
+
+msgid "Double Team"
+msgstr "Reflet"
+
+msgid "Endure"
+msgstr "Ténacité"
+
+msgid "Entrainment"
+msgstr "Ten-danse"
+
+msgid "Focus Energy"
+msgstr "Puissance"
+
+msgid "Follow Me"
+msgstr "Par Ici"
+
+msgid "Foresight"
+msgstr "Clairvoyance"
+
+msgid "Glare"
+msgstr "Regard Médusant"
+
+msgid "Growl"
+msgstr "Rugissement"
+
+msgid "Growth"
+msgstr "Croissance"
+
+msgid "Harden"
+msgstr "Armure"
+
+msgid "Heal Bell"
+msgstr "Glas de Soin"
+
+msgid "Helping Hand"
+msgstr "Coup d'Main"
+
+msgid "Howl"
+msgstr "Grondement"
+
+msgid "Leer"
+msgstr "Groz'Yeux"
+
+msgid "Lock-On"
+msgstr "Verrouillage"
+
+msgid "Lovely Kiss"
+msgstr "Grobisou"
+
+msgid "Lucky Chant"
+msgstr "Air Veinard"
+
+msgid "Me First"
+msgstr "Moi d'Abord"
+
+msgid "Mean Look"
+msgstr "Regard Noir"
+
+msgid "Metronome"
+msgstr "Métronome"
+
+msgid "Milk Drink"
+msgstr "Lait à Boire"
+
+msgid "Mimic"
+msgstr "Copie"
+
+msgid "Mind Reader"
+msgstr "Lire-Esprit"
+
+msgid "Minimize"
+msgstr "Lilliput"
+
+msgid "Moonlight"
+msgstr "Rayon Lune"
+
+msgid "Morning Sun"
+msgstr "Aurore"
+
+msgid "Nature Power"
+msgstr "Force-Nature"
+
+msgid "Odor Sleuth"
+msgstr "Flair"
+
+msgid "Pain Split"
+msgstr "Balance"
+
+msgid "Perish Song"
+msgstr "Requiem"
+
+msgid "Protect"
+msgstr "Abri"
+
+msgid "Psych Up"
+msgstr "Boost"
+
+msgid "Recover"
+msgstr "Soin"
+
+msgid "Recycle"
+msgstr "Recyclage"
+
+msgid "Reflect Type"
+msgstr "Copie Type"
+
+msgid "Refresh"
+msgstr "Régénération"
+
+msgid "Roar"
+msgstr "Hurlement"
+
+msgid "Safeguard"
+msgstr "Rune Protect"
+
+msgid "Scary Face"
+msgstr "Grimace"
+
+msgid "Screech"
+msgstr "Grincement"
+
+msgid "Sharpen"
+msgstr "Affûtage"
+
+msgid "Shell Smash"
+msgstr "Exuviation"
+
+msgid "Simple Beam"
+msgstr "Rayon Simple"
+
+msgid "Sing"
+msgstr "Berceuse"
+
+msgid "Sketch"
+msgstr "Gribouille"
+
+msgid "Slack Off"
+msgstr "Paresse"
+
+msgid "Sleep Talk"
+msgstr "Blabla Dodo"
+
+msgid "Smoke Screen"
+msgstr "Brouillard"
+
+msgid "Soft-Boiled"
+msgstr "E-Coque"
+
+msgid "Splash"
+msgstr "Trempette"
+
+msgid "Stockpile"
+msgstr "Stockage"
+
+msgid "Substitute"
+msgstr "Clonage"
+
+msgid "Supersonic"
+msgstr "Ultrason"
+
+msgid "Swagger"
+msgstr "Vantardise"
+
+msgid "Swallow"
+msgstr "Avale"
+
+msgid "Sweet Kiss"
+msgstr "Doux Baiser"
+
+msgid "Sweet Scent"
+msgstr "Doux Parfum"
+
+msgid "Swords Dance"
+msgstr "Danse-Lames"
+
+msgid "Tail Whip"
+msgstr "Mimi-Queue"
+
+msgid "Teeter Dance"
+msgstr "Danse-Folle"
+
+msgid "Tickle"
+msgstr "Châtouille"
+
+msgid "Transform"
+msgstr "Morphing"
+
+msgid "Whirlwind"
+msgstr "Cyclone"
+
+msgid "Wish"
+msgstr "Voeu"
+
+msgid "Work Up"
+msgstr "Rengorgement"
+
+msgid "Yawn"
+msgstr "Bâillement"
+
+msgid "Gunk Shot"
+msgstr "Détricanon"
+
+msgid "Sludge Wave"
+msgstr "Cradovague"
+
+msgid "Sludge Bomb"
+msgstr "Bomb-Beurk"
+
+msgid "Poison Jab"
+msgstr "Direct Toxik"
+
+msgid "Cross Poison"
+msgstr "Poison-Croix"
+
+msgid "Sludge"
+msgstr "Détritus"
+
+msgid "Venoshock"
+msgstr "Choc Venin"
+
+msgid "Clear Smog"
+msgstr "Bain de Smog"
+
+msgid "Poison Fang"
+msgstr "Crochet Venin"
+
+msgid "Poison Tail"
+msgstr "Queue-Poison"
+
+msgid "Acid"
+msgstr "Acide"
+
+msgid "Acid Spray"
+msgstr "Bombe Acide"
+
+msgid "Smog"
+msgstr "Purédpois"
+
+msgid "Poison Sting"
+msgstr "Dard-Venin"
+
+msgid "Acid Armor"
+msgstr "Acidarmure"
+
+msgid "Coil"
+msgstr "Enroulement"
+
+msgid "Gastro Acid"
+msgstr "Suc Digestif"
+
+msgid "Poison Gas"
+msgstr "Gaz Toxik"
+
+msgid "Poison Powder"
+msgstr "Poudre Toxik"
+
+msgid "Toxic"
+msgstr "Toxik"
+
+msgid "Toxic Spikes"
+msgstr "Pics Toxik"
+
+msgid "Dream Eater"
+msgstr "Dévorêve"
+
+msgid "Future Sight"
+msgstr "Prescience"
+
+msgid "Psystrike"
+msgstr "Frappe Psy"
+
+msgid "Psychic"
+msgstr "Psyko"
+
+msgid "Extrasensory"
+msgstr "Extrasenseur"
+
+msgid "Psyshock"
+msgstr "Choc Psy"
+
+msgid "Zen Headbutt"
+msgstr "Psykoud'Boul"
+
+msgid "Luster Purge"
+msgstr "Lumi-Éclat"
+
+msgid "Mist Ball"
+msgstr "Ball'Brume"
+
+msgid "Psycho Cut"
+msgstr "Coupe Psycho"
+
+msgid "Synchronoise"
+msgstr "Synchropeine"
+
+msgid "Psybeam"
+msgstr "Rafale Psy"
+
+msgid "Heart Stamp"
+msgstr "Crèvecoeur"
+
+msgid "Confusion"
+msgstr "Choc Mental"
+
+msgid "Mirror Coat"
+msgstr "Voile Miroir"
+
+msgid "Psywave"
+msgstr "Vague Psy"
+
+msgid "Stored Power"
+msgstr "Force Ajoutée"
+
+msgid "Agility"
+msgstr "Hâte"
+
+msgid "Ally Switch"
+msgstr "Interversion"
+
+msgid "Amnesia"
+msgstr "Amnésie"
+
+msgid "Barrier"
+msgstr "Bouclier"
+
+msgid "Calm Mind"
+msgstr "Plénitude"
+
+msgid "Cosmic Power"
+msgstr "Force Cosmik"
+
+msgid "Gravity"
+msgstr "Gravité"
+
+msgid "Guard Split"
+msgstr "Partage Garde"
+
+msgid "Guard Swap"
+msgstr "Permugarde"
+
+msgid "Heal Block"
+msgstr "Anti-Soin"
+
+msgid "Heal Pulse"
+msgstr "Vibra Soin"
+
+msgid "Healing Wish"
+msgstr "Voeu Soin"
+
+msgid "Heart Swap"
+msgstr "Permucoeur"
+
+msgid "Hypnosis"
+msgstr "Hypnose"
+
+msgid "Imprison"
+msgstr "Possessif"
+
+msgid "Kinesis"
+msgstr "Télékinésie"
+
+msgid "Light Screen"
+msgstr "Mur Lumière"
+
+msgid "Lunar Dance"
+msgstr "Danse-Lune"
+
+msgid "Magic Coat"
+msgstr "Reflet Magik"
+
+msgid "Magic Room"
+msgstr "Zone Magique"
+
+msgid "Meditate"
+msgstr "Yoga"
+
+msgid "Miracle Eye"
+msgstr "Oeil Miracle"
+
+msgid "Power Split"
+msgstr "Partage Force"
+
+msgid "Power Swap"
+msgstr "Permuforce"
+
+msgid "Power Trick"
+msgstr "Astuce Force"
+
+msgid "Psycho Shift"
+msgstr "Échange Psy"
+
+msgid "Reflect"
+msgstr "Protection"
+
+msgid "Rest"
+msgstr "Repos"
+
+msgid "Role Play"
+msgstr "Imitation"
+
+msgid "Skill Swap"
+msgstr "Échange"
+
+msgid "Telekinesis"
+msgstr "Lévikinésie"
+
+msgid "Teleport"
+msgstr "Téléport"
+
+msgid "Trick"
+msgstr "Tourmagik"
+
+msgid "Trick Room"
+msgstr "Distorsion"
+
+msgid "Wonder Room"
+msgstr "Zone Étrange"
+
+msgid "Head Smash"
+msgstr "Fracass'Tête"
+
+msgid "Rock Wrecker"
+msgstr "Roc-Boulet"
+
+msgid "Stone Edge"
+msgstr "Lame de Roc"
+
+msgid "Rock Slide"
+msgstr "Éboulement"
+
+msgid "Power Gem"
+msgstr "Rayon Gemme"
+
+msgid "Ancient Power"
+msgstr "Pouvoir Antique"
+
+msgid "Rock Throw"
+msgstr "Jet-Pierres"
+
+msgid "Rock Tomb"
+msgstr "Tomberoche"
+
+msgid "Smack Down"
+msgstr "Anti-Air"
+
+msgid "Rollout"
+msgstr "Roulade"
+
+msgid "Rock Blast"
+msgstr "Boule Roc"
+
+msgid "Rock Polish"
+msgstr "Poliroche"
+
+msgid "Sandstorm"
+msgstr "Tempête de Sable"
+
+msgid "Stealth Rock"
+msgstr "Piège de Roc"
+
+msgid "Wide Guard"
+msgstr "Garde Large"
+
+msgid "Doom Desire"
+msgstr "Carnareket"
+
+msgid "Iron Tail"
+msgstr "Queue de Fer"
+
+msgid "Meteor Mash"
+msgstr "Poing Météor"
+
+msgid "Flash Cannon"
+msgstr "Luminocanon"
+
+msgid "Iron Head"
+msgstr "Tête de Fer"
+
+msgid "Steel Wing"
+msgstr "Bulldoboule"
+
+msgid "Mirror Shot"
+msgstr "Miroi-Tir"
+
+msgid "Magnet Bomb"
+msgstr "Bombaimant"
+
+msgid "Gear Grind"
+msgstr "Lancécrou"
+
+msgid "Metal Claw"
+msgstr "Griffe Acier"
+
+msgid "Bullet Punch"
+msgstr "Pisto-Poing"
+
+msgid "Gyro Ball"
+msgstr "Gyroballe"
+
+msgid "Heavy Slam"
+msgstr "Tacle Lourd"
+
+msgid "Metal Burst"
+msgstr "Fulmifer"
+
+msgid "Autotomize"
+msgstr "Allègement"
+
+msgid "Iron Defense"
+msgstr "Mur de Fer"
+
+msgid "Metal Sound"
+msgstr "Strido-Son"
+
+msgid "Shift Gear"
+msgstr "Changement Vitesse"
+
+msgid "Hydro Cannon"
+msgstr "Hydroblast"
+
+msgid "Water Spout"
+msgstr "Giclédo"
+
+msgid "Hydro Pump"
+msgstr "Hydrocanon"
+
+msgid "Muddy Water"
+msgstr "Ocroupi"
+
+msgid "Aqua Tail"
+msgstr "Hydroqueue"
+
+msgid "Crabhammer"
+msgstr "Pince-Masse"
+
+msgid "Dive"
+msgstr "Plongée"
+
+msgid "Scald"
+msgstr "Ébullition"
+
+msgid "Waterfall"
+msgstr "Cascade"
+
+msgid "Razor Shell"
+msgstr "Coquilame"
+
+msgid "Brine"
+msgstr "Saumure"
+
+msgid "Bubble Beam"
+msgstr "Bulles d'O"
+
+msgid "Water Pulse"
+msgstr "Vibraqua"
+
+msgid "Water Pledge"
+msgstr "Aire d'Eau"
+
+msgid "Aqua Jet"
+msgstr "Aqua-Jet"
+
+msgid "Water Gun"
+msgstr "Pistolet à O"
+
+msgid "Clamp"
+msgstr "Claquoir"
+
+msgid "Whirlpool"
+msgstr "Siphon"
+
+msgid "Bubble"
+msgstr "Écume"
+
+msgid "Aqua Ring"
+msgstr "Anneau Hydro"
+
+msgid "Rain Dance"
+msgstr "Danse Pluie"
+
+msgid "Soak"
+msgstr "Détrempage"
+
+msgid "Water Sport"
+msgstr "Tourniquet"
+
+msgid "Withdraw"
+msgstr "Repli"
+
+msgid "Coral Break"
+msgstr "Brise-Corail"
+
+msgid "Atomic Punch"
+msgstr "Poing Quantique"
+
+msgid "Metal Whip"
+msgstr "Métalofouet"
+
+msgid "Shuffle"
+msgstr "Cadeau Empoisonné"
+
+msgid "Nuclear Waste"
+msgstr "Irradiation"
+
+msgid "Gamma Ray"
+msgstr "Rayon Gamma"
+
+msgid "Radioacid"
+msgstr "Radioacide"
+
+msgid "Sky Fall"
+msgstr "Tombe Ciel"
+
+msgid "Flame Impact"
+msgstr "Choc Brûlant"
+
+msgid "Draining Kiss"
+msgstr "Vampibaiser"
+
+msgid "Eerie Impulse"
+msgstr "Ondes Étranges"
+
+msgid "Electric Terrain"
+msgstr "Champ Électrifié"
+
+msgid "Electrify"
+msgstr "Électrisation"
+
+msgid "Fairy Lock"
+msgstr "Verrou Enchanté"
+
+msgid "Fairy Wind"
+msgstr "Vent Féérique"
+
+msgid "Fell Stinger"
+msgstr "Dard Mortel"
+
+msgid "Flower Shield"
+msgstr "Garde Florale"
+
+msgid "Forest's Curse"
+msgstr "Maléfice Sylvain"
+
+msgid "Freeze-Dry"
+msgstr "Lyophilisation"
+
+msgid "Geomancy"
+msgstr "Géo-Contrôle"
+
+msgid "Grassy Terrain"
+msgstr "Champ Herbu"
+
+msgid "Infestation"
+msgstr "Harcèlement"
+
+msgid "Ion Deluge"
+msgstr "Déluge Plasmique"
+
+msgid "King's Shield"
+msgstr "Bouclier Royal"
+
+msgid "Land's Wrath"
+msgstr "Force Chtonienne"
+
+msgid "Magnetic Flux"
+msgstr "Magné-Contrôle"
+
+msgid "Mat Block"
+msgstr "Tatamigaeshi"
+
+msgid "Misty Terrain"
+msgstr "Champ Brumeux"
+
+msgid "Moonblast"
+msgstr "Pouvoir Lunaire"
+
+msgid "Mystical Fire"
+msgstr "Feu Ensorcelé"
+
+msgid "Noble Roar"
+msgstr "Râle Mâle"
+
+msgid "Nuzzle"
+msgstr "Frotte-Frimousse"
+
+msgid "Oblivion Wing"
+msgstr "Mort-Ailes"
+
+msgid "Parabolic Charge"
+msgstr "Parabocharge"
+
+msgid "Parting Shot"
+msgstr "Dernier Mot"
+
+msgid "Petal Blizzard"
+msgstr "Tempête Florale"
+
+msgid "Phantom Force"
+msgstr "Hantise"
+
+msgid "Play Nice"
+msgstr "Camaraderie"
+
+msgid "Play Rough"
+msgstr "Câlinerie"
+
+msgid "Powder"
+msgstr "Nuée de Poudre"
+
+msgid "Power-Up Punch"
+msgstr "Poing Boost"
+
+msgid "Rototiller"
+msgstr "Fertilisation"
+
+msgid "Spiky Shield"
+msgstr "Pico-Défense"
+
+msgid "Sticky Web"
+msgstr "Toile Gluante"
+
+msgid "Topsy-Turvy"
+msgstr "Renversement"
+
+msgid "Trick-or-Treat"
+msgstr "Halloween"
+
+msgid "Venom Drench"
+msgstr "Piège de Venin"
+
+msgid "Water Shuriken"
+msgstr "Sheauriken"
+
+msgid "Aromatic Mist"
+msgstr "Brume Capiteuse"
+
+msgid "Baby-Doll Eyes"
+msgstr "Regard Touchant"
+
+msgid "Belch"
+msgstr "Éructation"
+
+msgid "Boomburst"
+msgstr "Bang Sonique"
+
+msgid "Confide"
+msgstr "Confidence"
+
+msgid "Crafty Shield"
+msgstr "Vigilance"
+
+msgid "Dazzling Gleam"
+msgstr "Éclat Magique"
+
+msgid "Disarming Voice"
+msgstr "Voix Enjôleuse"
+
+msgid "Laser Pulse"
+msgstr "Pulsar"
+
+msgid "Gemstone Glimmer"
+msgstr "Éclat-Gemme"
+
+msgid "Half-life"
+msgstr "Demi-Vie"
+
+msgid "Ocean's Wrath"
+msgstr "Océanorage"
+
+msgid "Fission Burst"
+msgstr "Fission"
+
+msgid "Caustic Breath"
+msgstr "Corrosouffle"
+
+msgid "Nuclear Slash"
+msgstr "Nucléogriffe"
+
+msgid "Thunderstorm"
+msgstr "Orage"
+
+msgid "Sudden Strike"
+msgstr "Frappe sournoise"
+
+msgid "Expunge"
+msgstr "Décontamination"
+
+msgid "Fallout"
+msgstr "Retombées"
+
+msgid "Proton Beam"
+msgstr "Protolaser"
+
+msgid "Infernal Blade"
+msgstr "Lame Infernale"
+
+msgid "Quantum Leap"
+msgstr "Bond Quantique"
+
+msgid "Metal Cruncher"
+msgstr "Dévo-Fer"
+
+msgid "Drain Life"
+msgstr "Vampicroc"
+
+msgid "Sticky Terrain"
+msgstr "Champ Collant"
+
+msgid "Nuclear Wind"
+msgstr "Nucléosouffle"
diff --git a/Dialogue/Generated/fr/OfficialNames.po b/Dialogue/Generated/fr/OfficialNames.po
new file mode 100644
index 000000000..1a14a8414
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialNames.po
@@ -0,0 +1,20 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "Garlikid"
+msgstr "Marmail"
+
+msgid "Kellyn"
+msgstr "Primo"
+
+msgid "Nu es"
+msgstr "Nuñes"
+
+msgid "OF DREAMS"
+msgstr "ONIRIQUE"
+
+msgid "Theo"
+msgstr "Théo"
+
diff --git a/Dialogue/Generated/fr/OfficialPhone.po b/Dialogue/Generated/fr/OfficialPhone.po
new file mode 100644
index 000000000..b8574579c
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialPhone.po
@@ -0,0 +1,128 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "Buenas noches, \\PN!\\mThis is \\TN!"
+msgstr "Bonne nuit, \\PN!\\mC'est \\TN!"
+
+msgid "Did you hear about Nuclear Pokemon?\\mI hope I don't run into one of those, they sound scary.\\mBe careful out there, ok?"
+msgstr "T'as entendu à propos des Pokémon Nucléaires?\\mJ'espère ne pas m'approcher de l'un d'entre eux, ils ont l'air effrayants.\\mSois prudent, OK?"
+
+msgid "Do you remember my \\TP?\\m My \\TP is awesome. It's so cool.\\m I'd even say my \\TP is in the top percentage of \\TPs."
+msgstr "Tu te souviens de mon \\TP?\\m Mon \\TP est génial. C'est si cool.\\m Je dirais même que mon\\TP est dans le top pourcentage des \\TPs."
+
+msgid "Do you want to battle? I'm going to win this time!\\mI'll be waiting for you around \\TM.\\mLook for me, OK? My \\TP will be expecting you."
+msgstr "Tu veux te battre? Cette fois-ci, je vais gagner!\\mJe t'attendrai aux alentours de \\TM.\\mViens me chercher, OK? Mon \\TP t'attendra."
+
+msgid "Good day, \\PN! Hi. This is \\TN."
+msgstr "Bonjour, \\PN! Salut. C'est \\TN."
+
+msgid "Good morning!\\m This is \\PN, right? It's me, \\TN."
+msgstr "Bonjour!\\m C'est bien \\PN? C'est moi, \\TN."
+
+msgid "Good morning, \\PN.\\mThis is \\TN. Did I wake you?"
+msgstr "Bonjour, \\PN.\\mC'est \\TN. T'ai-je réveillé?"
+
+msgid "Good morning, \\PN.\\mThis is \\TN. Rise and shine!"
+msgstr "Bonjour, \\PN.\\mC'est \\TN. le soleil s'est levé!"
+
+msgid "Guess what happened the other day. I missed catching \\TE again.\\mMaybe I'm not very good at this."
+msgstr "Devine ce qui s'est passé l'autre jour. Je n'ai pas encore réussi à attraper \\TE.\\mPeut-être que je ne suis pas très bon pour ça."
+
+msgid "Have you ever hatched a Pokemon Egg?\\mI raised my \\TP from an egg."
+msgstr "As-tu déjà fait éclore un oeuf Pokémon?\\mJ'ai élevé mon \\TP à partir d'un oeuf."
+
+msgid "Have you seen the \\TEs around \\TM?\\mThey scare me so much! I always run away!"
+msgstr "As-tu vu les \\TEs autour de \\TM?\\mIls me font très peur! Je m'enfuis toujours en courant!"
+
+msgid "Have you tried trading with your friends?\\mI got my \\TP in a trade, and it grows so fast!\\mTrades can be an awesome way to get strong Pokemon."
+msgstr "As-tu essayé de faire des échanges avec tes amis?\\mJ'ai eu mon \\TP dans un échange, et il grandit si vite!\\mLes échanges peuvent être une façon géniale pour avoir un Pokémon fort."
+
+msgid "Hello, \\PN. This is \\TN. How are things?"
+msgstr "Salut, \\PN. C'est \\TN. Comment va la vie?"
+
+msgid "Hello. This is \\TN."
+msgstr "Salut. C'est \\TN."
+
+msgid "Hey, \\PN! Good evening!\\mThis is \\TN."
+msgstr "Hé, \\PN! Bonsoir!\\mC'est \\TN."
+
+msgid "Hey, \\PN, wassup? It's \\TN."
+msgstr "Hé, \\PN, quoi de neuf? C'est \\TN."
+
+msgid "Hey, are you ready for another throw-down?\\mYou, me, battle. Place, \\TM.\\mTime, whenever you want! Let's do it!"
+msgstr "Hey, t'es prê{t|te} pour une autre combat?\\mToi, moi, combat. N'importe quand, \\TM.\\mn'importe où, quand tu veux! C'est parti!"
+
+msgid "Hey, listen! I almost caught \\TE the other day.\\mOh, it was sooooooo close, too!"
+msgstr "Hé, écoute! J'ai presque attrapé \\TE l'autre jour.\\mOh, c'était à deux doigts, en plus!"
+
+msgid "How are you doing? \\PN, howdy! This is \\TN. Isn't it nice out?"
+msgstr "Comment vas-tu? \\PN, cha va! C'est \\TN. Fait beau dehors hein?"
+
+msgid "How are your Pokemon doing?\\mI always keep my \\TP in top shape by going to Pokemon Centers."
+msgstr "Comment vont tes Pokémon?\\mJe garde toujours mon \\TP en forme en allant aux Centres Pokémon."
+
+msgid "How are your Pokemon doing?\\mMy \\TP's really energetic. It's a handful!"
+msgstr "Comment vont tes Pokémon?\\mMon \\TP est vraiment énergique. Il est incontrôlable!"
+
+msgid "How are your Pokemon doing?\\mMy \\TP's really energetic. It's a handful!\\mOh yeah, I managed to beat a tough \\TE.\\mI need to make my party stronger."
+msgstr "Comment vont tes Pokémon?\\mMon \\TP est vraiment énergique. Il est incontrôlable !\\mOh oui, j'ai réussi à battre un gros \\TE .\\mJ'ai besoin de rendre mon équipe plus forte."
+
+msgid "I dressed my \\TP and it looks even cuter than before."
+msgstr "J'ai habillé mon \\TP et il a l'air encore plus mignon qu'avant."
+
+msgid "I painted a portrait of my beloved \\TP.\\mIt didn't like sitting still though."
+msgstr "J'ai peint un portrait de mon bien-aimé \\TP.\\mIl n'a pas aimé rester assis et immobile, par contre."
+
+msgid "I spent all day hunting for a shiny \\TE.\\mI didn't manage to find any, though."
+msgstr "J'ai passé la journée à chasser un \\TE chromatique.\\mJe n'ai pas réussi à en trouver un par contre."
+
+msgid "I tried to use the Wonder Trade today.\\mAll I got was a Lv.3 Chyinmunk though.\\mWhy do people put up such lame Pokemon for trade?"
+msgstr "J'ai essayé d'utiliser l'Échange Miracle aujourd'hui.\\mTout ce que j'ai eu c'est un Tamulot Niv 3.\\mPourquoi les gens mettent des Pokémon nuls à échanger?"
+
+msgid "Let's have a battle! I want to see how much you've grown!\\mI'm still hanging around \\TM.\\mCome see if you can beat my \\TP!"
+msgstr "Affrontons-nous! Je veux voir ton niveau!\\mJe traîne toujours au même endroit \\TM.\\mViens voir si tu peux battre mon \\TP!"
+
+msgid "My \\TP and I love playing games.\\m Its favorite game is fetch."
+msgstr "Mon \\TP et moi adorons jouer à des jeux.\\m Son jeu préféré, c'est \"rapporte la balle\"."
+
+msgid "My \\TP is fantastic.\\mI'd say it's even in the top percentage of \\TPs."
+msgstr "Mon \\TP est fantastique.\\mJe dirais qu'il est même dans le top pourcentage des \\TPs."
+
+msgid "My \\TP's looking really awesome. I wish I could show you."
+msgstr "Mon \\TP est vraiment génial. Je souhaite pouvoir te le montrer."
+
+msgid "My \\TP's looking really awesome.\\mI wish I could show you.\\mHey, listen! I almost caught a \\TE the other day.\\mOh, it was sooooooo close, too!"
+msgstr "Mon \\TP est vraiment génial.\\mJ'aimerais pouvoir te le montrer.\\mHey, écoute! J'ai presque attrapé un\\TE l'autre jour.\\mOh, j'étais à 2 doigts, en plus!"
+
+msgid "Oh yeah, I managed to beat a tough \\TE.\\mI need to make my party stronger."
+msgstr "Oh oui, j'ai réussi à battre un gros \\TE.\\mJ'ai besoin de rendre mon équipe plus forte."
+
+msgid "Ready for a rematch? \\TP and I have been training hard!\\mI'll be waiting for you around \\TM where we met.\\mCome find me and let's battle!"
+msgstr "Prê{t|t} pour un nouveau combat? \\TP et moi nous sommes entrainés dur!\\mJe t'attendrai aux alentours de \\TM où nous nous sommes rencontrés.\\mTrouve-moi et battons-nous!"
+
+msgid "Remember the last time we battled? Let's rematch!\\mI promise it won't be a repeat of last time.\\mCome find me around \\TM!"
+msgstr "Tu te souviens de la dernière fois qu'on s'est battus? Allez battons-nous encore! \\mJe te promets que ce ne sera pas comme la dernière fois. \\mViens me voir vers \\TM!"
+
+msgid "Top of the morning, \\PN!\\m\\TN here, at your service."
+msgstr "Bien le bonjour, \\PN!\\mIci \\TN à ton service."
+
+msgid "Want to battle? It's not going to be a repeat of the last time we met.\\mI'll be waiting for you around \\TM."
+msgstr "Tu veux te battre? Ce ne sera pas comme la dernière fois qu'on s'est vu.\\mJe t'attendrai aux alentours de \\TM."
+
+msgid "What did you eat for lunch today? I had a grilled \\TE.\\mI don't think I cooked it well enough.\\mOr did you not eat lunch at all?"
+msgstr "Qu'as-tu mangé pour dîner aujourd'hui? J'ai eu du \\TE grillé.\\mJe ne crois pas l'avoir assez bien cuisiné.\\mOu tu n'as pas dîné du tout?"
+
+msgid "Yo, \\PN, my main homie! This is \\TN!"
+msgstr "Yo, \\PN, mon meilleur pote! C'est \\TN!"
+
+msgid "You have to hear this! I battled \\TE the other day.\\mIt was easy! I had a type advantage."
+msgstr "Tu dois entendre ça! J'ai battu \\TE l'autre jour.\\mC'était facile! J'avais l'avantage du type."
+
+msgid "\\PN, good day! It's me, \\TN. Got a minute?"
+msgstr "\\PN, bonjour! C'est moi, \\TN. T'as une minute?"
+
+msgid "\\PN, good evening! Hi.\\mThis is \\TN."
+msgstr "\\PN, bonsoir! Salut.\\mC'est \\TN."
+
diff --git a/Dialogue/Generated/fr/OfficialPokemonNames.po b/Dialogue/Generated/fr/OfficialPokemonNames.po
new file mode 100644
index 000000000..176dde02b
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialPokemonNames.po
@@ -0,0 +1,475 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "Orchynx"
+msgstr "Pétalynx"
+
+msgid "Metalynx"
+msgstr "Métalynx"
+
+msgid "Raptorch"
+msgstr "Raptorche"
+
+msgid "Archilles"
+msgstr "Caldéraptor"
+
+msgid "Eletux"
+msgstr "Électrott"
+
+msgid "Electruxo"
+msgstr "Cavalux"
+
+msgid "Chyinmunk"
+msgstr "Tamulot"
+
+msgid "Kinetmunk"
+msgstr "Taminétique"
+
+msgid "Birbie"
+msgstr "Ptiris"
+
+msgid "Aveden"
+msgstr "Splendiris"
+
+msgid "Splendifowl"
+msgstr "Paradiris"
+
+msgid "Cubbug"
+msgstr "Chenourson"
+
+msgid "Cubblfly"
+msgstr "Câlinymphe"
+
+msgid "Nimflora"
+msgstr "Nymphlora"
+
+msgid "Barewl"
+msgstr "Embryfer"
+
+msgid "dearewl"
+msgstr "Métalifaon"
+
+msgid "Gararewl"
+msgstr "Cervacier"
+
+msgid "Grozard"
+msgstr "Glaizard"
+
+msgid "Terlard"
+msgstr "Tellurhydre"
+
+msgid "Tonemy"
+msgstr "Tonemi"
+
+msgid "Tofurang"
+msgstr "Togrocrok"
+
+msgid "Dunsparce"
+msgstr "Insolourdo"
+
+msgid "Dunseraph"
+msgstr "Inséraphin"
+
+msgid "Fortog"
+msgstr "Venouille"
+
+msgid "Folerog"
+msgstr "Croason"
+
+msgid "Blubelrog"
+msgstr "Bullyanure"
+
+msgid "Magikarp"
+msgstr "Magicarpe"
+
+msgid "Gyarados"
+msgstr "Léviator"
+
+msgid "Feleng"
+msgstr "Félignon"
+
+msgid "Felunge"
+msgstr "Félancé"
+
+msgid "Feliger"
+msgstr "Féligre"
+
+msgid "Mankey"
+msgstr "Férosinge"
+
+msgid "Primeape"
+msgstr "Colossinge"
+
+msgid "Empirilla"
+msgstr "Royosinge"
+
+msgid "Owten"
+msgstr "Chouetton"
+
+msgid "Eshouten"
+msgstr "Insaisichat"
+
+msgid "Lotad"
+msgstr "Nénupiot"
+
+msgid "Smore"
+msgstr "Fourmigni"
+
+msgid "Firoke"
+msgstr "Flamagarde"
+
+msgid "Brailip"
+msgstr "Cervelon"
+
+msgid "Brainoar"
+msgstr "Cérébron"
+
+msgid "Ekans"
+msgstr "Abo"
+
+msgid "Tancoon"
+msgstr "Tanoctur"
+
+msgid "Tanscure"
+msgstr "Tanurex"
+
+msgid "Sponee"
+msgstr "Sponimouss"
+
+msgid "Sponaree"
+msgstr "Sponarius"
+
+msgid "Pahar"
+msgstr "Phénincelle"
+
+msgid "Palij"
+msgstr "Phénardent"
+
+msgid "Panjay"
+msgstr "Phénoyant"
+
+msgid "Jerbolta"
+msgstr "Gerblitz"
+
+msgid "Cometeor"
+msgstr "Cométéor"
+
+msgid "Mareep"
+msgstr "Wattouat"
+
+msgid "Flaaffy"
+msgstr "Lainergie"
+
+msgid "Ampharos"
+msgstr "Pharamp"
+
+msgid "Baashaun"
+msgstr "Moutoir"
+
+msgid "Baaschaf"
+msgstr "Moutombre"
+
+msgid "Baariette"
+msgstr "Cauchebouk"
+
+msgid "Tricwe"
+msgstr "Ouvriclair"
+
+msgid "Harylect"
+msgstr "Elecricière"
+
+msgid "Costraw"
+msgstr "Sangsure"
+
+msgid "Trawpint"
+msgstr "Asparasit"
+
+msgid "Lunapup"
+msgstr "Canilune"
+
+msgid "Herolune"
+msgstr "Hérolune"
+
+msgid "Buizel"
+msgstr "Mustébouée"
+
+msgid "Floatzel"
+msgstr "Mustéflott"
+
+msgid "Modrille"
+msgstr "Tauperceur"
+
+msgid "Drilgann"
+msgstr "Taupurren"
+
+msgid "Gligar"
+msgstr "Scorplane"
+
+msgid "Gliscor"
+msgstr "Scorvol"
+
+msgid "Sableye"
+msgstr "Ténéfix"
+
+msgid "Cocaran"
+msgstr "Cocrabe"
+
+msgid "Cararalm"
+msgstr "Cocapode"
+
+msgid "Corsola"
+msgstr "Corayon"
+
+msgid "Corsoreef"
+msgstr "Corécif"
+
+msgid "Tubjaw"
+msgstr "Noctanguille"
+
+msgid "Tubareel"
+msgstr "Sombrequin"
+
+msgid "Cassnail"
+msgstr "Escarseau"
+
+msgid "Sableau"
+msgstr "Sablargot"
+
+msgid "Escartress"
+msgstr "Bastiropode"
+
+msgid "Cottonee"
+msgstr "Doudouvet"
+
+msgid "Whimsicott"
+msgstr "Farfaduvet"
+
+msgid "Misdreavus"
+msgstr "Feuforêve"
+
+msgid "Mismagius"
+msgstr "Magirêve"
+
+msgid "Barand"
+msgstr "Reptagrif"
+
+msgid "Glaslug"
+msgstr "Glimaçon"
+
+msgid "Glavinug"
+msgstr "Limiceberg"
+
+msgid "Paraboom"
+msgstr "Paraboum"
+
+msgid "Flager"
+msgstr "Tigrasier"
+
+msgid "Inflagetah"
+msgstr "Enflaguépar"
+
+msgid "Chimical"
+msgstr "Chiminion"
+
+msgid "Tikiki"
+msgstr "Titiki"
+
+msgid "Unymph"
+msgstr "Nymfolan"
+
+msgid "Harptera"
+msgstr "Libelarpie"
+
+msgid "Chicoatl"
+msgstr "Galicoatl"
+
+msgid "Coatlith"
+msgstr "Coatliquot"
+
+msgid "Snopach"
+msgstr "Dermagel"
+
+msgid "Slothohm"
+msgstr "Ohmaï"
+
+msgid "Theriamp"
+msgstr "Ampaï"
+
+msgid "Titanice"
+msgstr "Titagivre"
+
+msgid "Frynai"
+msgstr "Frinai"
+
+msgid "Saidine"
+msgstr "Saïdine"
+
+msgid "Daikatuna"
+msgstr "Daikathona"
+
+msgid "Syrentide"
+msgstr "Sirénaïade"
+
+msgid "Spritzee"
+msgstr "Fluvetin"
+
+msgid "Aromatisse"
+msgstr "Cocotine"
+
+msgid "Miasmedic"
+msgstr "Miasmédic"
+
+msgid "Jackdeary"
+msgstr "Lapojack"
+
+msgid "Winotinger"
+msgstr "Vinperdinger"
+
+msgid "Eevee"
+msgstr "Évoli"
+
+msgid "Vaporeon"
+msgstr "Aquali"
+
+msgid "Jolteon"
+msgstr "Voltali"
+
+msgid "Flareon"
+msgstr "Pyroli"
+
+msgid "Espeon"
+msgstr "Mentali"
+
+msgid "Umbreon"
+msgstr "Noctali"
+
+msgid "Leafeon"
+msgstr "Phyllali"
+
+msgid "Glaceon"
+msgstr "Givrali"
+
+msgid "Sylveon"
+msgstr "Nymphali"
+
+msgid "Nucleon"
+msgstr "Urali"
+
+msgid "Ratsy"
+msgstr "Ratiste"
+
+msgid "Masking"
+msgstr "Maskesté"
+
+msgid "Chupacho"
+msgstr "Chupacabro"
+
+msgid "Luchabra"
+msgstr "Luttacabra"
+
+msgid "Linkite"
+msgstr "Fantochaîne"
+
+msgid "Chainite"
+msgstr "Déchainole"
+
+msgid "Pufluff"
+msgstr "Pelugel"
+
+msgid "Colarva"
+msgstr "Glarvon"
+
+msgid "Frosulo"
+msgstr "Coconfroid"
+
+msgid "Frosthra"
+msgstr "Mothrazote"
+
+msgid "Fafurr"
+msgstr "Fourrugon"
+
+msgid "Fafninter"
+msgstr "Fafniver"
+
+msgid "Shrimputy"
+msgstr "Crevanon"
+
+msgid "Krilvolver"
+msgstr "Krivolver"
+
+msgid "Lavent"
+msgstr "Lavurène"
+
+msgid "Swabone"
+msgstr "Trublios"
+
+msgid "Skelerogue"
+msgstr "Flibustibia"
+
+msgid "Navighast"
+msgstr "Crânitaine"
+
+msgid "Jungore"
+msgstr "Jangor"
+
+msgid "Majungold"
+msgstr "Mahajagor"
+
+msgid "Hagoop"
+msgstr "Élébave"
+
+msgid "Haagross"
+msgstr "Myxetric"
+
+msgid "Xenomite"
+msgstr "Xénomite"
+
+msgid "Xenogen"
+msgstr "Xénogène"
+
+msgid "Xenoqueen"
+msgstr "Xénoreine"
+
+msgid "Geigeroach"
+msgstr "Cafaranium"
+
+msgid "Minicorn"
+msgstr "Minicorne"
+
+msgid "Kiricorn"
+msgstr "Kiricorne"
+
+msgid "Oblivicorn"
+msgstr "Katacorne"
+
+msgid "Sheebit"
+msgstr "Solevro"
+
+msgid "Terrabit"
+msgstr "Terrapin"
+
+msgid "Laissure"
+msgstr "Sismolièvre"
+
+msgid "Volchik"
+msgstr "Voltillon"
+
+msgid "Devimp"
+msgstr "Farfadem"
+
+msgid "Fallengel"
+msgstr "Déchéange"
+
+msgid "Belliadon"
+msgstr "Béliaddon"
+
+msgid "Garlikid"
+msgstr "Marmail"
+
+msgid "Zephy"
+msgstr "Zéphy"
+
+msgid "Gastly"
+msgstr "Ectoplasma"
diff --git a/Dialogue/Generated/fr/OfficialSystem.po b/Dialogue/Generated/fr/OfficialSystem.po
new file mode 100644
index 000000000..21865bd6c
--- /dev/null
+++ b/Dialogue/Generated/fr/OfficialSystem.po
@@ -0,0 +1,9350 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+
+msgid "$ {1:d}"
+msgstr "{1:d} $"
+
+msgid "$ENABLE_PRONOUN_SELECTION"
+msgstr "true"
+
+msgid "${1}"
+msgstr "{1}$"
+
+msgid "'{1}' is not a defined type (PBS/types.txt, {2}, Immunities)"
+msgstr "'{1}' n'est pas un type défini (PBS/types.txt, {2}, Immunités)"
+
+msgid "'{1}' is not a defined type (PBS/types.txt, {2}, Resistances)"
+msgstr "'{1}' n'est pas un type défini (PBS/types.txt, {2}, Résistances)"
+
+msgid "'{1}' is not a defined type (PBS/types.txt, {2}, Weaknesses)"
+msgstr "'{1}' n'est pas un type défini (PBS/types.txt, {2}, Faiblesses)"
+
+msgid "(this map)"
+msgstr "(cette carte)"
+
+msgid "({1}) PP: {2}/{3}"
+msgstr " ({1}) PP: {2}/{3}"
+
+msgid "--- power core ------ from over----. It ---- ------ a large ---- -- nuclear fuel to -------. ---- ---- activated- -- --- -- prod--- ---- limitless energy."
+msgstr "--- noyau d'énergie ------ de plus de ----. Il ---- ------ un grand ---- -- carburant nucléaire pour -------. ---- ---- activé- -- --- -- prod--- ---- énergie sans limite."
+
+msgid "---- -- the Interface --- final---- today. Th- -erator - -- ---- - ----- full control -- --e Sp-cimen. ---- chief reseacher, Dr. ----- --s ---- granted clearance."
+msgstr "---- -- l'Interface --- finale---- aujourd'hui . Le - -erateur - -- ---- - ----- plein contrôle -- --e Sp-cimen. ---- chef de recherche, Docteur. ----- --s ---- autorisation accordé."
+
+msgid "---- has been - breach -- confidential--. ----- --- ------ shall -- relocate --- undergr-- --. Project 092 --- have -- -- --rminated."
+msgstr "---- a été - fissuré -- confidentiel--. ----- --- ------ devons -- relocaliser --- sous terr-- --. Project 092 --- est -- -- --erminé."
+
+msgid "... ... ... ...Nope!\nThere's no response."
+msgstr "... ... ... ...Nan!\nAucune réponse."
+
+msgid "...Oh. It's you.\nListen, I might've been a jerk to you back in Vinoville Town.\nBut, well, what you did, it kind of saved my family and my town.\nWhen the Rangers are done cleaning the area, I'll have a home again.\nSo... I guess... What I'm trying to say is...\nI owe you. We all do.\nBut I'm not going easy on you because of it.\nI've been training non-stop since you beat me!\nMy team will crush anybody that stands in our way...\nEven the Hero of Tandor!!"
+msgstr "...Oh. C'est toi.\nÉcoute, j'ai été un crétin à Vinoville.\nMais... bah, ce que tu as fait, ça a plus ou moins sauvé ma famille et ma ville.\nQuand les Rangers auront fini de nettoyer la zone, j'aurai à nouveau un chez-moi.\nDonc... J'imagine... Ce que j'essaye de dire c'est ...\nJe t'en dois une. Comme nous tous.\nMais tu comprends que je vais pas te ménager pour autant.\nJe me suis entraîné sans relâche depuis que tu m'as battu!\nMon équipe écrasera tout ceux qui se dresseront sur notre route...\nMême le Héros de Tandor!!"
+
+msgid "...Pfeh. I guess you win.\nThat's embarrassing... But whatever.\nIf there's anyone I'll allow to beat me, it should be you."
+msgstr "...Pff. J'imagine que tu gagnes.\nC'est embarassant... Mais bon.\nS'il y a quelqu'un que j'autorise à me battre, c'est bien toi."
+
+msgid "1, 2, and... ... ..."
+msgstr "1, 2, et ... ... ..."
+
+msgid "<<"
+msgstr " <<"
+
+msgid "Search Mode"
+msgstr "Mode Recherche"
+
+msgid "Egg hatched."
+msgstr "oeuf éclos.\n"
+
+msgid "{1} {2}, {3}"
+msgstr "{1} {2}, {3}\n"
+
+msgid "Egg obtained."
+msgstr "oeuf reçu."
+
+msgid "Had a fateful encounter at Lv. {1}."
+msgstr "Était Nv. {1} lors de votre rencontre décisive."
+
+msgid "Met at Lv. {1}."
+msgstr "Rencontré au Nv. {1}."
+
+msgid "Traded at Lv. {1}."
+msgstr "Échangé au Nv. {1}."
+
+msgid "Faraway place"
+msgstr "Endroit lointain\n"
+
+msgid "\"The Egg Watch\""
+msgstr "\"Surveillance de l'oeuf\"\n"
+
+msgid "A mysterious Pokémon\nEgg received from\n{1}."
+msgstr "Un mystérieux oeuf Pokémon\n reçu de la part de \n{1}.\n"
+
+msgid "{1}/{2}/{3}"
+msgstr "{1}/{2}/{3}\n"
+
+msgid ">>"
+msgstr " >>"
+
+msgid "A Key Item in the Bag can be registered to this key for instant use."
+msgstr "Un Objet sur Sac peut être enregistré sur ce bouton, pour l'utiliser immédiatement."
+
+msgid "A Map\nShows visited Places."
+msgstr "Une Carte\nMontre les Endroits visités."
+
+msgid "A Nuclear Horde appeared!"
+msgstr "Une Horde Nucléaire est apparue!"
+
+msgid "A Phone\nUsed to call People."
+msgstr "Un Téléphone\nUtilisé pour appeler les Gens."
+
+msgid "A Pokemon species can't be numbered 0 (PBS/pokemon.txt)"
+msgstr "Des espèces Pokémon ne peuvent être dénombrées 0 (PBS/pokemon.txt)"
+
+msgid "A Pokémon could be in this tree. Maybe a Pokémon could shake it."
+msgstr "Un Pokémon peut se cacher dans cet arbre. Peut-être qu'un Pokémon peut le secouer."
+
+msgid "A Pokémon could be in this tree. Want to headbutt it?"
+msgstr "Un Pokémon peut se cacher dans cet arbre. Voulez-vous donner un coup de boule?"
+
+msgid "A Radio\nUsed to listen to Music."
+msgstr "Une Radio\nUtilisée pour la Musique."
+
+msgid "A Ribbon awarded for completing the Battle Tower Double challenge."
+msgstr "Ruban gagné pour avoir terminé le Double défi dans la Tour Combat."
+
+msgid "A Ribbon awarded for completing the Battle Tower Link Multi challenge."
+msgstr "Ruban gagné pour avoir combattu lors du défi Link Multiple à la Tour Combat."
+
+msgid "A Ribbon awarded for completing the Battle Tower Multi challenge."
+msgstr "Ruban gagné pour avoir terminé le défi Multiple dans la Tour Combat."
+
+msgid "A Ribbon awarded for completing the Wi-Fi Battle Tower challenge."
+msgstr "Ruban gagné pour avoir terminé le défi en Wi-Fi à la Tour de Combat."
+
+msgid "A Ribbon awarded for defeating the Tower Tycoon at the Battle Tower."
+msgstr "Ruban gagné pour avoir vaincu le Magnat de la Tour à la Tour Combat."
+
+msgid "A Ribbon awarded for overcoming all difficult challenges."
+msgstr "Un Ruban qui récompense la persévérance sur les défis difficiles."
+
+msgid "A Ribbon awarded for setting a legendary record."
+msgstr "Ruban remporté pour avoir établi un record légendaire."
+
+msgid "A Ribbon awarded for setting an incredible record."
+msgstr "Ruban remporté pour avoir établi un record incroyable."
+
+msgid "A Ribbon awarded for winning 100 matches in a row."
+msgstr "Ruban donné en récompense pour avoir remporté 100 matchs d'un seul coup."
+
+msgid "A Ribbon awarded to a Pokémon deemed to have a top-quality footprint."
+msgstr "Un Ruban donné en récompense à un Pokémon réputé pour son empreinte super-qualité."
+
+msgid "A Ribbon for recalling a careless error that helped steer life decisions."
+msgstr "Un Ruban qui rappelle une erreur imprudente qui a aidé pour prendre des décisions."
+
+msgid "A Ribbon for recalling a deep slumber that made life soothing."
+msgstr "Un Ruban qui rappelle un sommeil profond qui a rendu la vie apaisante."
+
+msgid "A Ribbon for recalling a refreshing event that added sparkle to life."
+msgstr "Un Ruban qui rappelle un évènement réconfortant qui a rajouté un éclat à la vie."
+
+msgid "A Ribbon for recalling a thrilling event that made life more exciting."
+msgstr "Un Ruban qui rappelle un évènement palpitant qui a rendu la vie plus excitante."
+
+msgid "A Ribbon for recalling an invigorating event that created life energy."
+msgstr "Un Ruban qui rappelle un évènement revigorant créant l'énergie vitale."
+
+msgid "A Ribbon for recalling feelings of sadness that added spice to life."
+msgstr "Un Ruban qui rappelle des sentiments de tristesse qui ont rajouté du piment à la vie."
+
+msgid "A Ribbon for recalling that smiles enrich the quality of life."
+msgstr "Un Ruban qui rappelle que les sourires rendent la vie plus belle."
+
+msgid "A Ribbon said to make your wish come true."
+msgstr "Un Ruban qui dit de réaliser ses rêves."
+
+msgid "A Ribbon that proclaims love for Pokémon."
+msgstr "Un ruban qui proclame l'amour des Pokémon."
+
+msgid "A Ribbon to celebrate a birthday."
+msgstr "Un ruban pour célébrer un anniversaire."
+
+msgid "A Ribbon to cherish a special memory."
+msgstr "Un Ruban qui chéri un souvenir spécial."
+
+msgid "A Toxic Fallout has set in!"
+msgstr "Des retombées empoisonnent l'air!"
+
+msgid "A bell chimed!"
+msgstr "Une cloche sonnait!"
+
+msgid "A critical hit!"
+msgstr "Coup critique!"
+
+msgid "A glint appears in {1}'s eyes!"
+msgstr "Un reflet apparaît dans les yeux de {1}!"
+
+msgid "A gorgeous and regal Ribbon that is the peak of fabulous."
+msgstr "Un Ruban sublime et majestueux à la limite du fabuleux."
+
+msgid "A heavy rain began to fall!"
+msgstr "Une pluie battante s'abat soudainement!"
+
+msgid "A little quick tempered."
+msgstr "Peut s'emporter."
+
+msgid "A mysterious air current is protecting Flying-type Pokémon!"
+msgstr "Un vent mystérieux enveloppe les Pokémon type Vol!"
+
+msgid "A new award has been found! {1}: {2}"
+msgstr "Une nouvelle récompense a été trouvée! {1}: {2}"
+
+msgid "A nuclear fallout has hit!"
+msgstr "Une retombée radioactive se produit!"
+
+msgid "A sandstorm brewed!"
+msgstr "Une tempête de sable se lève!"
+
+msgid "A sandstorm is raging."
+msgstr "Une tempête de sable fait rage."
+
+msgid "A sandstorm kicked up!"
+msgstr "Une tempête de sable se prépare!"
+
+msgid "A series of 1s and 0s marking which squares are part of this map (1=part, 0=not part)."
+msgstr "Série de 1 et de 0 qui montrent quels carrés font partie de la carte (1 = partie, 0 = pas partie)."
+
+msgid "A shadow sky appeared!"
+msgstr "Un ciel noir apparaît!"
+
+msgid "A soothing aroma wafted through the area!"
+msgstr "Un parfum agréable se répand dans la zone!"
+
+msgid "A special Ribbon for a special day."
+msgstr "Un Ruban spécial pour un jour spécial."
+
+msgid "A sticky ooze covers the battlefield!"
+msgstr "Un liquide collant recouvre le terrain!"
+
+msgid "A sticky web has been laid out beneath the opposing team's feet!"
+msgstr "Une toile gluante a été déployée sous les pieds de l'équipe ennemie!"
+
+msgid "A sticky web has been laid out beneath your team's feet!"
+msgstr "Une toile gluante a été déployée sous les pieds de votre équipe!"
+
+msgid "A thrilling display from trainers and Pokémon alike!"
+msgstr "Une démonstration exaltante des Dresseurs et de leur Pokémon!"
+
+msgid "A thunderstorm is raging."
+msgstr "Un orage fait rage."
+
+msgid "A thunderstorm started!"
+msgstr "L'orage éclate!"
+
+msgid "A to Z"
+msgstr "A à Z"
+
+msgid "A wall of water is crashing down with a mighty roar."
+msgstr "Un mur d'eau s'abat dans un grondement puissant."
+
+msgid "A {1} was planted here."
+msgstr "Une baie {1} a été plantée ici."
+
+msgid "A: Add map to canvas"
+msgstr "A : Ajouter une carte au tableau \n"
+
+msgid "ABLE"
+msgstr "APTE"
+
+msgid "ACCURACY"
+msgstr "PRÉCISION"
+
+msgid "ADD ITEM"
+msgstr "AJOUTER OBJET"
+
+msgid "AFTER LOSING..."
+msgstr "APRÈS LA DÉFAITE..."
+
+msgid "Aargh! Almost had it!"
+msgstr "Aargh! Ça y était presque!"
+
+msgid "Ability"
+msgstr "Capacité"
+
+msgid "Ability Ribbon"
+msgstr "Ruban Habileté"
+
+msgid "Ability flag. 0=first ability, 1=second ability, 2-5=hidden ability."
+msgstr "Drapeau capacité. 0 = première habilité, 1 = deuxième habilité, 2-5 = habilité cachée."
+
+msgid "Ability {1} is being forced."
+msgstr "La capacité de {1} est forcée."
+
+msgid "Ability {1} is natural."
+msgstr "La capacité de {1} est naturelle."
+
+msgid "Above focus"
+msgstr "Au-dessus du centre"
+
+msgid "Acai Berries"
+msgstr "Baies Acai"
+
+msgid "Accept this Pokémon?"
+msgstr "Accepter le Pokémon?"
+
+msgid "Accuracy"
+msgstr "Précision"
+
+msgid "Adamant"
+msgstr "Rigide"
+
+msgid "Add"
+msgstr "Additionne"
+
+msgid "Add Item"
+msgstr "Ajouter Objet"
+
+msgid "Add Map"
+msgstr "Ajouter une carte"
+
+msgid "Add Pokémon"
+msgstr "Ajouter Pokémon"
+
+msgid "Add another Pokémon?"
+msgstr "Ajouter un autre Pokémon?"
+
+msgid "Add new battle {1} (of {2}) for ({3}, {4})?"
+msgstr "Ajouter un nouveau combat {1} (de {2}) pour ({3}, {4})?"
+
+msgid "Add new trainer ({1}, {2})?"
+msgstr "Ajouter un nouveau Dresseur ({1}, {2})?"
+
+msgid "Add new trainer ({1}, {2}, ID {3})?"
+msgstr "Ajouter un nouveau Dresseur ({1}, {2}, ID {3})?"
+
+msgid "Add new trainer named {1}?"
+msgstr "Ajouter un nouveau nom Dresseur {1}?"
+
+msgid "Add new trainer type {1}?"
+msgstr "Ajouter un nouveau type de Dresseur {1}?"
+
+msgid "Add: Edit Background Color/Location..."
+msgstr "Ajouter : Définir la Couleur/Emplacement de l'Arrière Plan..."
+
+msgid "Add: Edit Foreground Color/Location..."
+msgstr "Ajouter : Définir la Couleur/Emplacement du Premier Plan..."
+
+msgid "Add: Play Sound..."
+msgstr "Ajouter : Jouer le Son..."
+
+msgid "Add: Set Background Graphic..."
+msgstr "Ajouter : Définir les Graphismes en Arrière Plan..."
+
+msgid "Add: Set Foreground Graphic..."
+msgstr "Ajouter : Définir les Graphisme du Premier Plan..."
+
+msgid "Additional Effect"
+msgstr "Effet additionnel"
+
+msgid "Advance Roaming"
+msgstr "Avance en Itinérance"
+
+msgid "Advanced to Game Lv. {1}!"
+msgstr "Avance au Niv {1} du Jeu!"
+
+msgid "After translating, choose \"Compile Text.\""
+msgstr "Après la traduction, choisir \"Compile Text.\""
+
+msgid "Aguav Berries"
+msgstr "Baies Gowav"
+
+msgid "Aha! It is the \\PN!\nWe fight before. I lose in disgrace.\nMy Ninja clan forsake me. So I train.\nI train and train, in hopes to encounter \\PN again.\nIn this arena, we fight to regain honor!\nI will defeat you, and restore glory to my Ninja Clan!"
+msgstr "Aha! Nos chemins se croisent à nouveau, \\PN!\n Celui contre qui j'ai perdu ma dignité...\ncontre qui j'ai perdu mon clan. Mais dans cette solitude, je me suis entraîné.\nEncore et encore et encore, priant Aotius qu'il mette à nouveau \\PN sur mon chemin.\nBénie soit cette arène où je regagnerai mon honneur!\nJe te vaincrai, et restaurerai la gloire de mon clan Ninja!"
+
+msgid "Alas, the final curtain falls...\nThe result is clear:\nYour victory was written in the stars!"
+msgstr "Hélas, le rideau tombe pour la dernière fois...\nLe résultat est clair:\nTa victoire était écrite dans les étoiles!"
+
+msgid "Alert Ribbon"
+msgstr "Ruban Alerte"
+
+msgid "Alert to sounds."
+msgstr "Fait attention aux bruits."
+
+msgid "All Pokémon hearing the song will faint in three turns!"
+msgstr "tout les Pokémon qui entendent la chanson seront K.O. dans trois tours!"
+
+msgid "All Pokémon in this box have been released."
+msgstr "Tous les Pokémon dans cette boîte ont été relâchés."
+
+msgid "All Trainers on this map were reset."
+msgstr "Tous les Dresseurs de la carte ont été réinitialisés."
+
+msgid "All data will be lost. Confirm once more to proceed."
+msgstr "Tous les donnés serons effacées. Confirmez une fois de plus pour continuer."
+
+msgid "All eggs on your party now require one step to hatch."
+msgstr "Tous les oeufs de votre équipe nécessitent un pas pour éclore."
+
+msgid "All game data was compiled."
+msgstr "Toutes les données du jeu ont été compilées."
+
+msgid "All recording devices are in use. Recording is not possible now."
+msgstr "Tous les supports d'enregistrements sont utilisés. L'enregistrement n'est pas possible maintenant."
+
+msgid "All stat changes were eliminated!"
+msgstr "Tout les changements de stat on été éliminés!"
+
+msgid "All text in the game was extracted and saved to intl.txt."
+msgstr "Tous les textes en jeu ont été extraits et sauvegardés dans intl.txt."
+
+msgid "All the world's a stage... and we play the leading role! Can you see past our splendid masquerade?"
+msgstr "Le monde entier est une scène... et nous jouons le rôle principal! Vois-tu par delà notre?"
+
+msgid "All trainers in the Phone are now ready to rebattle."
+msgstr "Tout les Dresseurs dans le Téléphone sont prêts à se battre."
+
+msgid "Alpha:"
+msgstr "Alpha :"
+
+msgid "Also, look for a special NPC in Kevlar Town!"
+msgstr "Regardez également pour un PNJ spécial à Kevlar!"
+
+msgid "An Egg can't battle!"
+msgstr "Un Oeuf ne peut combattre!"
+
+msgid "An egg can't be an active Pokémon"
+msgstr "Un oeuf ne peut pas participer à un combat, voyons!"
+
+msgid "An egg is already waiting."
+msgstr "Un oeuf est déjà disponible."
+
+msgid "An egg is now waiting in the Day Care."
+msgstr "Un oeuf attend d'être récupérer à la Garderie."
+
+msgid "An egg is waiting to be picked up."
+msgstr "Un oeuf attend d'être récupéré."
+
+msgid "An electric current runs across the battlefield!"
+msgstr "Un courant électrique parcours le champ de bataille!"
+
+msgid "An extraordinarily gorgeous and extravagant Ribbon."
+msgstr "Ruban extravagant et absolument sublime."
+
+msgid "An incredibly regal Ribbon with an air of nobility."
+msgstr "Un ruban absolument majestueux avec une touche de noblesse."
+
+msgid "And now, their battling skills will determine which of them get to move on to the Champion's Arena after this match."
+msgstr "Et maintenant, leur talent au combat va déterminer lequel d'entre eux progressera jusqu'à l'Arène Victorieuse après ce match."
+
+msgid "And the winner is \\PN!"
+msgstr "La victoire revient à... \\PN!"
+
+msgid "And..."
+msgstr "Et..."
+
+msgid "And..."
+msgstr "Et..."
+
+msgid "Angle:"
+msgstr "Angle :"
+
+msgid "Animation Editor"
+msgstr "Éditeur Animation"
+
+msgid "Animation was saved to {1} in the game folder."
+msgstr "L'animation a été sauvegardée dans {1} dans le fichier jeu."
+
+msgid "Animations Organiser"
+msgstr "Organisateur des Animations"
+
+msgid "Announcer: You're out of Safari Balls! Game over!"
+msgstr "Annonceur : Vous n'avez plus de Safari Balls! C'est terminé!"
+
+msgid "Apicot Berries"
+msgstr "Baies Abriko"
+
+msgid "Apr."
+msgstr "Avr."
+
+msgid "April"
+msgstr "Avril"
+
+msgid "Aqua Ring restored {1}'s HP!"
+msgstr "Anneau Hydro restaure les PV de {1}!"
+
+msgid "Are these three Pokémon OK?"
+msgstr "Ces trois Pokémon conviennent?"
+
+msgid "Are you sure you want to change it?"
+msgstr "Êtes-vous sû{r|re} de vouloir le changer?"
+
+msgid "Are you sure you want to copy this Pokémon?"
+msgstr "Êtes-vous sû{r|re} de vouloir copier ce Pokémon?"
+
+msgid "Are you sure you want to delete this Pokémon?"
+msgstr "Êtes-vous sû{r|re} de vouloir supprimer ce Pokémon?"
+
+msgid "Are you sure you want to delete this animation?"
+msgstr "Êtes-vous sû{r|re} de vouloir supprimer cette animation?"
+
+msgid "Are you sure you want to delete this gift?"
+msgstr "Êtes-vous sû{r|re} de vouloir supprimer ce cadeau?"
+
+msgid "Are you sure you want to delete this save file?"
+msgstr "Êtes-vous sû{r|re} de vouloir supprimer ce fichier de sauvegarde?"
+
+msgid "Are you sure you want to give up?"
+msgstr "Etes vous sûr de vouloir abandonner?"
+
+msgid "Are you sure you want to play on this mode?"
+msgstr "Êtes-vous sû{r|re} de vouloir jouer à ce mode de jeu?"
+
+msgid "Are you sure you want to play with these settings?"
+msgstr "Êtes-vous sû{r|re} de vouloir jouer avec ces paramètres?"
+
+msgid "Are you sure you want to release all Pokémon in this box?"
+msgstr "Êtes-vous sû{r|re} de vouloir relâcher tous les Pokémon de cette boîte?"
+
+msgid "Are you sure?"
+msgstr "(Êtes-vous sû{r|re}?)"
+
+msgid "Area Unknown"
+msgstr "Zone Inconnue"
+
+msgid "Arrow keys/drag canvas: Move around canvas"
+msgstr "Utiliser les touches directionnelles/Cliquer-glisser sur le tableau : Bouger autour du tableau"
+
+msgid "Artist Ribbon"
+msgstr "Ruban Artiste"
+
+msgid "Aspear Berries"
+msgstr "Baies Willia"
+
+msgid "Attack"
+msgstr "Attaque"
+
+msgid "Aug."
+msgstr "Aou."
+
+msgid "August"
+msgstr "Août"
+
+msgid "Autosave"
+msgstr "Sauvegarde Automatique"
+
+msgid "Autosave failed. t(-.-t)"
+msgstr "La sauvegarde automatique à echoué t(-.-t)"
+
+msgid "Autumn"
+msgstr "Automne"
+
+msgid "Award List"
+msgstr "Liste des Récompenses"
+
+msgid "Aww... It appeared to be caught!"
+msgstr "Oh... Il semblait être capturé!"
+
+msgid "BAG"
+msgstr "SAC"
+
+msgid "BANNED"
+msgstr "BANNI"
+
+msgid "BATTLE MOVES"
+msgstr "ATTAQUES DE COMBAT"
+
+msgid "BGM played in battles against trainers of this type."
+msgstr "BGM joué en combats contre des Dresseurs de ce type."
+
+msgid "BGM played while on a bicycle."
+msgstr "Musique de fond par défaut quand on est sur un vélo."
+
+msgid "BGM played while surfing."
+msgstr "Musique de fond par défaut quand on surfe."
+
+msgid "Babiri Berries"
+msgstr "Baies Babiri"
+
+msgid "Back"
+msgstr "Derrière"
+
+msgid "Backspace"
+msgstr "Retour"
+
+msgid "Backup Autosave"
+msgstr "Sauvegarde de secours automatique"
+
+msgid "Backup Save"
+msgstr "Sauvegarde de secours"
+
+msgid "Bacu Berries"
+msgstr "Baies Bacu"
+
+msgid "Bad IV: {1} (must be from 0-31)\n{2}"
+msgstr "Mauvaise IV : {1} (doit être de 0-31)\n{2}"
+
+msgid "Bad abilityflag: {1} (must be 0 or 1 or 2-5)\n{2}"
+msgstr "Mauvais drapeau de capacités : {1} (doit être de 0 ou 1 or 2-5)\n{2}"
+
+msgid "Bad form: {1} (must be 0 or greater)\n{2}"
+msgstr "Mauvaise forme : {1} (doit être de 0 ou plus grand)\n{2}"
+
+msgid "Bad genderflag: {1} (must be M or F, or 0 or 1)\n{2}"
+msgstr "Mauvais drapeau de genre : {1} (doit être M ou F, ou 0 ou 1)\n{2}"
+
+msgid "Bad happiness: {1} (must be from 0-255)\n{2}"
+msgstr "Mauvais bonheur : {1} (doit être de 0-255)\n{2}"
+
+msgid "Bad level: {1} (must be from 1-{2})\n{3}"
+msgstr "Mauvais niveau : {1} (doit venir de 1-{2})\n{3}"
+
+msgid "Bad line syntax (expected syntax like XXX=YYY)\n{1}"
+msgstr "Mauvaise syntaxe de ligne (syntaxe attendue comme XXX=YYY)\n{1}"
+
+msgid "Bad money amount (must be from 0 through 255)\n{1}"
+msgstr "Mauvais montant d'argent (doit aller de 0 à 255)\n{1}"
+
+msgid "Bad nickname: {1} (must be 1-20 characters)\n{2}"
+msgstr "Mauvais surnom : {1} (doivent être des caractères 1-20)\n{2}"
+
+msgid "Bad skill value (must be from 0 through 255)\n{1}"
+msgstr "Mauvaise valeur de compétence (doit aller de 0 à 255)\n{1}"
+
+msgid "Badges:"
+msgstr "Badges :"
+
+msgid "Bag"
+msgstr "Sac"
+
+msgid "Bag Access Disabled."
+msgstr "Accès au Sac désctivé."
+
+msgid "Bag Access Enabled."
+msgstr "Accès au Sac activé."
+
+msgid "Bait"
+msgstr "Appât"
+
+msgid "Base damage"
+msgstr "Dégâts de base"
+
+msgid "Bashful"
+msgstr "Pudique"
+
+msgid "Battle BGM"
+msgstr "Bataille BGM"
+
+msgid "Battle Champion Ribbon"
+msgstr "Ruban Champion Combat"
+
+msgid "Battle Competition Champion Ribbon."
+msgstr "Ruban du Champion des Compétitions de Combats."
+
+msgid "Battle End ME"
+msgstr "Combat de fin ME"
+
+msgid "Battle ID"
+msgstr "ID de combat"
+
+msgid "Battle Intro ME"
+msgstr "Combat d'intro ME"
+
+msgid "Battle Items"
+msgstr "Objets de Combat"
+
+msgid "Battle Scene"
+msgstr "Scène de Combat"
+
+msgid "Battle Style"
+msgstr "Style de Combat"
+
+msgid "Battle... start!"
+msgstr "Que le combat... commence!"
+
+msgid "Beach"
+msgstr "Plage"
+
+msgid "Beauty Ribbon"
+msgstr "Ruban Beauté"
+
+msgid "Beauty Ribbon Great"
+msgstr "Grand Ruban Beauté"
+
+msgid "Beauty Ribbon Hyper"
+msgstr "Ruban Beauté Hyper"
+
+msgid "Beauty Ribbon Master"
+msgstr "Ruban Beauté Master"
+
+msgid "Beauty Ribbon Super"
+msgstr "Ruban Beauté Super"
+
+msgid "Beauty Ribbon Ultra"
+msgstr "Ruban Beauté Ultra"
+
+msgid "Begin your game."
+msgstr "Commencer."
+
+msgid "Behind focus"
+msgstr "Derrière le centre"
+
+msgid "Behold! The power of Mega Evolution!"
+msgstr "Contemple le pouvoir de la Méga Évolution"
+
+msgid "Belue Berries"
+msgstr "Baies Myrte"
+
+msgid "Berries"
+msgstr "Baies"
+
+msgid "Berry"
+msgstr "Baie"
+
+msgid "Bike"
+msgstr "Bicyclette"
+
+msgid "Bill"
+msgstr "Facture"
+
+msgid "Birthday Ribbon"
+msgstr "Ruban Anniversaire"
+
+msgid "Bitmap's height ({1}) is not a multiple of frame height ({2}) [Bitmap={3}]"
+msgstr "La hauteur de la bitmap ({1}) n'est pas un mutiple de la hauteur du cadre ({2}) [Bitmap={3}]"
+
+msgid "Bitmap's width ({1}) is not a multiple of frame count ({2}) [Bitmap={3}]"
+msgstr "La largeur de la bitmap ({1}) n'est pas un multiple du nombre de cadres ({2}) [Bitmap={3}]"
+
+msgid "Bitmap's width ({1}) is not a multiple of frame width ({2}) [Bitmap={3}]"
+msgstr "La largeur de la bitmap ({1}) n'est pas un multiple de la largeur du cadre ({2}) [Bitmap={3}]"
+
+msgid "Black"
+msgstr "Noir"
+
+msgid "Black Tiles: {1}"
+msgstr "Tuiles Noires: {1}"
+
+msgid "Blending:"
+msgstr "Mélange :"
+
+msgid "Blue"
+msgstr "Bleu"
+
+msgid "Blue Offset:"
+msgstr "Décalage Bleu :"
+
+msgid "Blue:"
+msgstr "Bleu :"
+
+msgid "Bluk Berries"
+msgstr "Baies Remu"
+
+msgid "Body"
+msgstr "Corps"
+
+msgid "Bold"
+msgstr "Assuré"
+
+msgid "Boost PP of which move?"
+msgstr "Booster les PP de quelle attaque?"
+
+msgid "Both of these trainers took home a win in the previous round."
+msgstr "Ces Dresseurs ont tous deux remporté une victoire dans le tour précédent."
+
+msgid "Box \"{1}\" on someone's PC was full."
+msgstr "La boîte \"{1}\" sur le PC de quelqu'un était pleine."
+
+msgid "Box \"{1}\" on someone's PC was full."
+msgstr "La boite PC \"{1}\" sur le PC de??? est pleine."
+
+msgid "Box \"{1}\" on {2}'s PC was full."
+msgstr "La boîte\"{1}\" sur le PC de {2} était pleine."
+
+msgid "Box \"{1}\" on {2}'s PC was full."
+msgstr "La boite PC \"{1}\" sur le PC de {2} est pleine."
+
+msgid "Box name?"
+msgstr "Nom de la Boîte?"
+
+msgid "Box {1:d}"
+msgstr "Boîte {1:d}"
+
+msgid "Boxes were filled with one Pokémon of each species."
+msgstr "Les Boîtes ont été remplies avec un Pokémon de chaque espèce."
+
+msgid "Brown"
+msgstr "Marron"
+
+msgid "Bug"
+msgstr "Insecte"
+
+msgid "Bug Catcher Benny"
+msgstr "Scout Benny"
+
+msgid "Bug Catcher Ed"
+msgstr "Scout Ed"
+
+msgid "Bug Catcher Josh"
+msgstr "Scout Josh"
+
+msgid "But I sense something else in you...\\^"
+msgstr "Mais je sens quelques chose d'autre en toi ...\\^"
+
+msgid "But it failed to spit up a thing!"
+msgstr "N'est pas parvenu a cracher!"
+
+msgid "But it failed to swallow a thing!"
+msgstr "Mais échoue à avaler quelque chose!"
+
+msgid "But it failed!"
+msgstr "Mais cela échoue!"
+
+msgid "But it had no effect!"
+msgstr "Mais ça n'a pas d'effets!"
+
+msgid "But nothing happened!"
+msgstr "Mais rien ne se passe!"
+
+msgid "But the effects of a Repel lingered from earlier."
+msgstr "Mais les effets du Repousse se sont dissipés."
+
+msgid "But there was no PP left for the move!"
+msgstr "Mais il n'y a pas suffisamment de PP pour le mouvement!"
+
+msgid "But there was no target..."
+msgstr "Mais il n'y a pas de cible..."
+
+msgid "But {1} already caught a Pokémon in this area!"
+msgstr "Mais {1} a déjà attrapé un Pokémon dans cette zone!"
+
+msgid "But {1} already fought a wild Pokémon in this area!"
+msgstr "Mais {1} a déjà combattu un Pokémon sauvage dans cette zone!"
+
+msgid "But {1} can't learn more than four moves."
+msgstr "Mais {1} ne peut apprendre plus que quatre attaques."
+
+msgid "But {1} can't learn more than four moves."
+msgstr "Mais {1} connait déjà quatre attaque."
+
+msgid "But {1} can't sleep in an uproar!"
+msgstr "Mais {1} ne peut pas dormir à cause du brouhaha!"
+
+msgid "But {1} couldn't sleep!"
+msgstr "Mais {1} ne peut plus dormir!"
+
+msgid "But, only one will be crowned Champion today."
+msgstr "Mais ils le savent tous: il ne peut y avoir qu'un Champion."
+
+msgid "But,\\. don't worry!\\nYour Pokémon are safe and sound."
+msgstr "Mais,\\. pas d'inquiétudes!\\nVos Pokémon sont sains et saufs."
+
+msgid "Buy"
+msgstr "Acheter"
+
+msgid "By the blessing of Aotius!"
+msgstr "Par la bénédiction d'Aotius!"
+
+msgid "C: Load/rename an animation\nEsc: Cancel"
+msgstr "C : Charger/renommer une animation\nEsc : Annuler"
+
+msgid "CANCEL"
+msgstr "ANNULER"
+
+msgid "CATEGORY"
+msgstr "CATÉGORIE"
+
+msgid "CLOSE BAG"
+msgstr "FERMER LE SAC"
+
+msgid "CONFIRM"
+msgstr "CONFIRMER"
+
+msgid "Call"
+msgstr "Appel"
+
+msgid "Calm"
+msgstr "Calme"
+
+msgid "Camper Barry"
+msgstr "Campeur Barry"
+
+msgid "Can't catch any more..."
+msgstr "Vous ne pouvez plus chasser..."
+
+msgid "Can't deposit from box..."
+msgstr "Vous ne pouvez le déposer de la boîte..."
+
+msgid "Can't deposit the last Pokémon!"
+msgstr "Vous ne pouvez déposer le dernier Pokémon!"
+
+msgid "Can't escape!"
+msgstr "Fuite impossible!"
+
+msgid "Can't find deposited Pokémon"
+msgstr "Aucun Pokémon déposé n'a été trouvé"
+
+msgid "Can't find the map 'Map{1:03d}' in the Data folder. The game will resume at the player's position."
+msgstr "Impossible de trouver la carte 'Map{1:03d}' dans le fichier Data. Le jeu reprendra là où le joueur s'est arrêté."
+
+msgid "Can't find trainer ({1}, {2}, ID {3})"
+msgstr "Dresseur non trouvé ({1}, {2}, ID {3})"
+
+msgid "Can't find {1}"
+msgstr "Introuvable{1}"
+
+msgid "Can't place a Shadow Pokemon there."
+msgstr "Vous ne pouvez placer un Pokémon Obscur ici."
+
+msgid "Can't place an egg there."
+msgstr "Vous ne pouvez placer un oeuf ici."
+
+msgid "Can't re-store deleted item in bag"
+msgstr "Vous ne pouvez ranger un objet supprimé dans le sac"
+
+msgid "Can't save. No name was entered."
+msgstr "Sauvegarde impossible. Aucun nom n'a été entré."
+
+msgid "Can't save. The Pokémon list is empty."
+msgstr "Sauvegarde impossible. La liste Pokémon est vide."
+
+msgid "Can't store the Pokémon..."
+msgstr "Vous ne pouvez stocker le Pokémon..."
+
+msgid "Can't store the egg"
+msgstr "Vous ne pouvez stocker l'oeuf"
+
+msgid "Can't store the {1}."
+msgstr "Vous ne pouvez ranger le {1}."
+
+msgid "Can't use that here."
+msgstr "Vous ne pouvez pas utiliser ça ici."
+
+msgid "Can't use that while on a bicycle."
+msgstr "Vous ne pouvez utiliser ça sur votre bicyclette."
+
+msgid "Can't withdraw from party..."
+msgstr "Vous ne pouvez quitter le groupe..."
+
+msgid "Cancel"
+msgstr "Retour"
+
+msgid "Cancel?"
+msgstr "Annuler?"
+
+msgid "Capable of taking hits."
+msgstr "Capable de prendre des coups."
+
+msgid "Caps Lock"
+msgstr "Ver. Maj"
+
+msgid "Careful"
+msgstr "Prudent"
+
+msgid "Careless Ribbon"
+msgstr "Ruban Négligeant"
+
+msgid "Caught {1}!"
+msgstr "{1} attrapé!"
+
+msgid "Certainly. You want {1}.\nThat will be ${2}. OK?"
+msgstr "Certainement. Vous désirez {1}.\nÇa vous fera {2}$. OK?"
+
+msgid "Certainly. You want {2} {1}(s)?"
+msgstr "Certainement. Vous désirez {2} {1}(s)?"
+
+msgid "Challenge Mode"
+msgstr "Mode Défi"
+
+msgid "Champion Ribbon"
+msgstr "Ruban Champion"
+
+msgid "Change Game Ruleset"
+msgstr "Changer les règles du jeu"
+
+msgid "Change Player Outfit"
+msgstr "Changer la Tenue du Joueur"
+
+msgid "Change tileset"
+msgstr "Changer tileset"
+
+msgid "Change which EV?"
+msgstr "Changer quel EV?"
+
+msgid "Changed to Blade Forme!"
+msgstr "Passage en Forme Assaut!"
+
+msgid "Changed to Shield Forme!"
+msgstr "Passage en Forme Parade!"
+
+msgid "Charti Berries"
+msgstr "Baies Charti"
+
+msgid "Check for Updates"
+msgstr "Vérification des Mises à jour"
+
+msgid "Check for new awards"
+msgstr "Vérification des nouvelles récompenses"
+
+msgid "Check opponent's cards."
+msgstr "Regardez les cartes de l'adversaire."
+
+msgid "Checks"
+msgstr "Contrôles"
+
+msgid "Cheri Berries"
+msgstr "Baies Ceriz"
+
+msgid "Chesto Berries"
+msgstr "Baies Maron"
+
+msgid "Chilan Berries"
+msgstr "Baies Zalis"
+
+msgid "Choose Pokémon and confirm."
+msgstr "Choisissez le Pokémon et confirmez."
+
+msgid "Choose Pokémon or cancel."
+msgstr "Choisissez un Pokémon ou annulez."
+
+msgid "Choose a Pokémon."
+msgstr "Choisis un Pokémon."
+
+msgid "Choose a battle."
+msgstr "Choisissez un combat."
+
+msgid "Choose a card, or check opponent with Z."
+msgstr "Choisissez une carte, ou regardez celles de l'adversaire avec Z."
+
+msgid "Choose a card."
+msgstr "Choisissez une carte."
+
+msgid "Choose a challenge."
+msgstr "Choisissez une épreuve."
+
+msgid "Choose a command."
+msgstr "Choisissez une commande."
+
+msgid "Choose a phrase to be where the gift Pokémon was obtained from."
+msgstr "Choisissez une phrase pour dire d'où vient le cadeau Pokémon."
+
+msgid "Choose a quantity."
+msgstr "Choisissez une quantité."
+
+msgid "Choose a region map."
+msgstr "Choisissez une carte de région."
+
+msgid "Choose a unique ID for this gift."
+msgstr "Choisissez un ID unique pour ce cadeau."
+
+msgid "Choose a value for {1}."
+msgstr "Choisissez une valeur pour {1}."
+
+msgid "Choose a weather effect."
+msgstr "Choisissez un effet météo."
+
+msgid "Choose move to forget."
+msgstr "Choisir une attaque à oublier."
+
+msgid "Choose save file to be loaded"
+msgstr "Choisissez une sauvegarde à charger"
+
+msgid "Choose the direction to face in."
+msgstr "Choisissez la direction à faire face."
+
+msgid "Choose the first Pokémon."
+msgstr "Choisissez le premier Pokémon."
+
+msgid "Choose the gift you want to receive.\\wtnp[0]"
+msgstr "Choisissez le cadeau que vous désirez recevoir.\\wtnp[0]"
+
+msgid "Choose the new player character."
+msgstr "Choisissez le nouveau personnage joueur."
+
+msgid "Choose the number of items."
+msgstr "Choisissez le nombre d'objets."
+
+msgid "Choose the second Pokémon."
+msgstr "Choisissez le second Pokémon."
+
+msgid "Choose the third Pokémon."
+msgstr "Choisissez le troisième Pokémon."
+
+msgid "Choose your game mode:"
+msgstr "Choisissez votre mode de jeu:"
+
+msgid "Choose {1} cards to use for this duel."
+msgstr "Choisissez {1} cartes à utiliser pour ce duel ."
+
+msgid "Choosing the starting player..."
+msgstr "Le premier joueur va être choisit..."
+
+msgid "Chople Berries"
+msgstr "Baies Pomroz"
+
+msgid "City"
+msgstr "Ville"
+
+msgid "Classic Ribbon"
+msgstr "Ruban Classique"
+
+msgid "Clear"
+msgstr "Supprimer"
+
+msgid "Clear Frame"
+msgstr "Nettoyer le Cadre"
+
+msgid "Clear Frames..."
+msgstr "Nettoyer les Cadres..."
+
+msgid "Clear Pokérus"
+msgstr "Retirer le Pokérus"
+
+msgid "Clear Storage Boxes"
+msgstr "Nettoyer les Boîtes de Rangement"
+
+msgid "Click a point on the map."
+msgstr "Cliquez sur un point de la carte."
+
+msgid "Click to select a map"
+msgstr "Cliquer pour sélectionner une carte\n"
+
+msgid "Click!\n...... ......"
+msgstr "Clic!\n...... ......"
+
+msgid "Close bag."
+msgstr "Fermer le sac."
+
+msgid "Close storage."
+msgstr "Fermer le rangement."
+
+msgid "Closes the PokéPod and returns to the game."
+msgstr "Fermer le PokéPod et retourner au jeu."
+
+msgid "Coba Berries"
+msgstr "Baies Cobaba"
+
+msgid "Coins were scattered everywhere!"
+msgstr "Des pièces s'éparpillent partout!"
+
+msgid "Coins:\n{1}"
+msgstr "Pièces :\n{1}"
+
+msgid "Coins: {1}"
+msgstr "Pièces : {1}"
+
+msgid "Colbur Berries"
+msgstr "Baies Lampou"
+
+msgid "Collect egg"
+msgstr "Recueillir l'oeuf"
+
+msgid "Collected the {1} egg."
+msgstr "Vous avez récupéré l'oeuf de {1}."
+
+msgid "Compete"
+msgstr "Rivaliser"
+
+msgid "Competitive sharply raised {1}'s Special Attack!"
+msgstr "La compétition augmente vivement l'Attaque Spéciale de {1}!"
+
+msgid "Compile Data"
+msgstr "Compiler les Données"
+
+msgid "Compile Text"
+msgstr "Compiler le Texte"
+
+msgid "Compile Text?"
+msgstr "Compiler le Texte?"
+
+msgid "Compile existing Award DEBUG ONLY"
+msgstr "Compiler récompenses existantes SEULEMENT EN MODE DÉBUG"
+
+msgid "Compiling Pokemon data"
+msgstr "Compilation des données Pokémon"
+
+msgid "Compiling Trainer data"
+msgstr "Compilation des données Dresseur"
+
+msgid "Compiling ability data"
+msgstr "Compilation des données d'habiletés"
+
+msgid "Compiling battle Trainer data"
+msgstr "Compilation des données du combat de Dresseur"
+
+msgid "Compiling encounter data"
+msgstr "Compilation des données de rencontre"
+
+msgid "Compiling item data"
+msgstr "Compilation des données des objets"
+
+msgid "Compiling machine data"
+msgstr "Compilation des données des machines"
+
+msgid "Compiling map connection data"
+msgstr "Compilation des données de connexion des cartes"
+
+msgid "Compiling messages"
+msgstr "Compilation des messages"
+
+msgid "Compiling metadata"
+msgstr "Compilation des métadonnées"
+
+msgid "Compiling move data"
+msgstr "Compilation des données des mouvements"
+
+msgid "Compiling phone data"
+msgstr "Compilation des données du téléphone"
+
+msgid "Compiling shadow move data"
+msgstr "Compilation des données des mouvements spectre"
+
+msgid "Compiling town map data"
+msgstr "Compilation des données des cartes de villes"
+
+msgid "Compiling type data"
+msgstr "Compilation des données type"
+
+msgid "Congratulations on advancing to the final round!\nThe final battle will take place in the Champion's Arena. Its winner will be crowned Champion of Tandor!"
+msgstr "Félicitations d'être arrivé en finale!\nLe dernier combat se déroulera dans l'Arène Victorieuse. Le vainqueur sera couronné Champion de Tandor!"
+
+msgid "Congratulations!"
+msgstr "Félicitations!"
+
+msgid "Congratulations!\nYour {1} evolved into {2}!"
+msgstr "Félicitations!\nVotre {1} évolue en {2}!"
+
+msgid "Congratulations, {1}!"
+msgstr "Félicitations, {1}!"
+
+msgid "Continue Box operations?"
+msgstr "Continuer la gestion de la Boîte?"
+
+msgid "Continue the game with those options permanently disabled?"
+msgstr "Continuer le jeu avec ces options désactivées de manière permanante?"
+
+msgid "Controls"
+msgstr "Contrôles"
+
+msgid "Cool Ribbon"
+msgstr "Ruban Cool"
+
+msgid "Cool Ribbon Great"
+msgstr "Grand Ruban Cool"
+
+msgid "Cool Ribbon Hyper"
+msgstr "Ruban Cool Hyper"
+
+msgid "Cool Ribbon Master"
+msgstr "Ruban Cool Master"
+
+msgid "Cool Ribbon Super"
+msgstr "Ruban Cool Super"
+
+msgid "Cool Ribbon Ultra"
+msgstr "Ruban Cool Ultra"
+
+msgid "Cool Trainer Nick"
+msgstr "TopDresseur Nick"
+
+msgid "Copy"
+msgstr "Copier"
+
+msgid "Copy Frame"
+msgstr "Copier le Cadre"
+
+msgid "Copy Frames..."
+msgstr "Copier les Cadres..."
+
+msgid "Copy to:"
+msgstr "Copier sur :"
+
+msgid "Cornn Berries"
+msgstr "Baies Siam"
+
+msgid "Corrupted Save File"
+msgstr "Sauvegarde corrompue"
+
+msgid "Could it be the seed of greatness?\\.\nThe potential to transform yourself completely?\\^"
+msgstr "Serait-ce les prémices de la grandeur?\\. \nLe potentiel de complètement te métamorphoser?\\^"
+
+msgid "Could not reach server to determine if your game is up-to-date. \\wtnp[40]"
+msgstr "Le serveur distant n'arrive pas a determiner si votre jeu est à jour. \\wtnp[40]"
+
+msgid "Couldn't edit the gift."
+msgstr "Le cadeau n'a pu être édité."
+
+msgid "Couldn't find an unclaimed Mystery Gift with ID {1}."
+msgstr "Vous n'avez aucun Cadeau Mystère réclamé avec l'ID{1}."
+
+msgid "Couldn't return unusable item to Bag somehow."
+msgstr "Vous ne pouvez remettre un objet inutilisable dans le Sac."
+
+msgid "Couldn't return unused item to Bag somehow."
+msgstr "Impossible de renvoyer un objet inutilisé dans le sac."
+
+msgid "Couldn't save the animation to {1}."
+msgstr "L'animation n'a pu être sauvegardée dans {1}."
+
+msgid "Couldn't save the gift to MysteryGiftMaster.txt."
+msgstr "Vous n'avez pas pu sauvegardé le Cadeau Mystère dans MysteryGiftMaster.txt."
+
+msgid "Couldn't save the gifts to MysteryGift.txt."
+msgstr "Vous n'avez pas pu sauvegarder les cadeaux dans MysteryGift.txt."
+
+msgid "Country Ribbon"
+msgstr "Ruban Pays"
+
+msgid "Crafty Shield protected your team!"
+msgstr "Vigilance protège votre équipe!"
+
+msgid "Crafty Shield protected {1}!"
+msgstr "Vigilance protège {1}!"
+
+msgid "Crag"
+msgstr "Montagneux"
+
+msgid "Credits"
+msgstr "Générique"
+
+msgid "Cupu Berries"
+msgstr "Baies Cupu"
+
+msgid "Current Version = {1} \\wtnp[30]"
+msgstr "VErsion Actuelle = {1} \\wtnp[30]"
+
+msgid "Custap Berries"
+msgstr "Baies Chérim"
+
+msgid "Custom"
+msgstr "Musiques personnalisées"
+
+msgid "Custom Game Settings"
+msgstr "Paramètres de la partie custom"
+
+msgid "Custom/Nuzlocke Mode"
+msgstr "Mode Personalisé/Nuzlocke"
+
+msgid "Cut"
+msgstr "Couper"
+
+msgid "Cute Ribbon"
+msgstr "Ruban Joli"
+
+msgid "Cute Ribbon Great"
+msgstr "Grand Ruban Joli"
+
+msgid "Cute Ribbon Hyper"
+msgstr "Ruban Joli Hyper"
+
+msgid "Cute Ribbon Master"
+msgstr "Ruban Joli Master"
+
+msgid "Cute Ribbon Super"
+msgstr "Ruban Joli Super"
+
+msgid "Cute Ribbon Ultra"
+msgstr "Ruban Joli Ultra"
+
+msgid "Cycling character sprite."
+msgstr "Sprite du personnage à bicyclette."
+
+msgid "DEFEND"
+msgstr "DÉFENDRE"
+
+msgid "DEL: Delete map from canvas"
+msgstr "DEL : Supprimer une carte du tableau\n"
+
+msgid "DEPOSIT POKéMON"
+msgstr "DÉPOSER LE POKÉMON"
+
+msgid "DESELECT"
+msgstr "DÉSÉLECTIONNER"
+
+msgid "DOUBLE Cup"
+msgstr "DOUBLE Coupe"
+
+msgid "DOUBLE TRAINER 1"
+msgstr "Dresseur DOUBLE 1"
+
+msgid "DOUBLE TRAINER 2"
+msgstr "Dresseur DOUBLE 2"
+
+msgid "Dark"
+msgstr "Ténèbres"
+
+msgid "Dark Mega Dramsama"
+msgstr "Mega Dramsama Obscur"
+
+msgid "Data saved."
+msgstr "Donnée sauvegardée."
+
+msgid "Day Care Options..."
+msgstr "Options de la Garderie..."
+
+msgid "Day-Care Couple"
+msgstr "Garderie"
+
+msgid "Debug"
+msgstr "Débug"
+
+msgid "Debug Console"
+msgstr "Débuguer la Console"
+
+msgid "December"
+msgstr "Décembre"
+
+msgid "Decimal"
+msgstr "Décimal"
+
+msgid "Default"
+msgstr "Défaut"
+
+msgid "Default BGM for Trainer battles."
+msgstr "Musique de fond par défaut pour les combats contre les Dresseurs."
+
+msgid "Default BGM for trainer battles on this map."
+msgstr "Musique de fond par défaut pour les Dresseurs qui se battent dans cette carte."
+
+msgid "Default BGM for wild Pokémon battles on this map."
+msgstr "Musique de fond par défaut pour les Pokémon sauvages qui se battent dans cette carte."
+
+msgid "Default BGM for wild Pokémon battles."
+msgstr "Musique de fond par défaut pour les combats contre les Pokémon sauvages."
+
+msgid "Default ME played after winning a Trainer battle on this map."
+msgstr "Musique par défaut après avoir gagné contre un Dresseur dans cette carte."
+
+msgid "Default ME played after winning a Trainer battle."
+msgstr "Musique par défaut pour les combats contre les Dresseurs."
+
+msgid "Default ME played after winning a wild Pokémon battle on this map."
+msgstr "Musique par défaut après avoir gagné contre un Pokémon sauvage dans cette carte."
+
+msgid "Default ME played after winning a wild Pokémon battle."
+msgstr "Musique par défaut pour les combats contre les Pokémon sauvages."
+
+msgid "Defense"
+msgstr "Défense"
+
+msgid "Defiant sharply raised {1}'s Attack!"
+msgstr "Le défi augmente vivement l'Attaque de {1}!"
+
+msgid "Define Curve"
+msgstr "Définir la Courbe"
+
+msgid "Define Path"
+msgstr "Définir le Chemin"
+
+msgid "Delete"
+msgstr "Supprimer"
+
+msgid "Delete Frame"
+msgstr "Supprimer le Cadre"
+
+msgid "Delete This Save File"
+msgstr "Supprimer ce ficher de sauvegarde"
+
+msgid "Delete Timing"
+msgstr "Supprimer le Timing"
+
+msgid "Delete a move to make\nroom for {1}?"
+msgstr "Supprimer une attaque pour faire\nde la place pour {1}?"
+
+msgid "Delete a move to make room for {1}?"
+msgstr "Oublier une attaque pour {1}?"
+
+msgid "Delete the encounter type {1}?"
+msgstr "Supprimer le type de rencontre {1}?"
+
+msgid "Density: Not Defined Yet"
+msgstr "Densité : Pas Encore Définie"
+
+msgid "Density: {1},{2},{3}"
+msgstr "Densité : {1},{2},{3}"
+
+msgid "Deposit Item"
+msgstr "Déposer des Objets"
+
+msgid "Deposit Pokémon"
+msgstr "Déposer Pokémon"
+
+msgid "Deposit in which Box?"
+msgstr "Le déposer dans quelle Boîte?"
+
+msgid "Deposited {1} {2}(s)."
+msgstr "Déposer{1} {2}(s)."
+
+msgid "Deposited {1}."
+msgstr "Déposer {1}."
+
+msgid "Deselect"
+msgstr "Désélectionner"
+
+msgid "Desert"
+msgstr "Désert"
+
+msgid "Dex List Accessibility"
+msgstr "Accessibilité de la Liste Dex"
+
+msgid "Didn't create a gift."
+msgstr "Vous n'avez pas crée de cadeau."
+
+msgid "Disable Healing In Battle"
+msgstr "Désactiver le Soin en Combat"
+
+msgid "Disable Pokémarts"
+msgstr "Désactiver les Boutiques Pokémon"
+
+msgid "Dispose egg"
+msgstr "Disposer l'oeuf"
+
+msgid "Disposed of the egg."
+msgstr "L'oeuf a été disposé."
+
+msgid "Divide"
+msgstr "Divise"
+
+msgid "Diving"
+msgstr "Plongée"
+
+msgid "Diving character sprite."
+msgstr "Sprite de plongée du personnage."
+
+msgid "Do it! {1}!"
+msgstr "Vas-y! {1}!"
+
+msgid "Do not underestimate the might of Dragons!"
+msgstr "Ne sous-estimez pas la puissance des Dragons!"
+
+msgid "Do what with an item?"
+msgstr "Que faire avec l'objet?"
+
+msgid "Do what with the mail?"
+msgstr "Que faire avec le courrier?"
+
+msgid "Do what with {1}?"
+msgstr "Que faire avec {1}?"
+
+msgid "Do you want to change its song now?"
+msgstr "Voulez-vous changer sa chanson maintenant?"
+
+msgid "Do you want to change {1}'s ability to {2}?"
+msgstr "Désirez-vous changer le talent de {1} en {2}?"
+
+msgid "Do you want to delete the save file and start anew?"
+msgstr "Voulez-vous supprimer le fichier sauvegardé et en créer un nouveau?"
+
+msgid "Do you want to load those recent edits?"
+msgstr "Voulez-vous charger les éditions récentes?"
+
+msgid "Do you want to run the patcher now?"
+msgstr "Voulez-vous lancer le patcher maintenant?"
+
+msgid "Do you want to try and run the patcher anyway?"
+msgstr "Voulez-vous quand même essayer de lancer le patcher?"
+
+msgid "Do you want to use another Repel?"
+msgstr "Utiliser un autre Repousse?"
+
+msgid "Does this gift need a plural form of its name?"
+msgstr "Ce cadeau a-t-il besoin d'une forme des noms au pluriel?"
+
+msgid "Done!"
+msgstr "C'est fait!"
+
+msgid "Done! All your converted sprites are saved in the Graphics/Battlers/Cut/ folder."
+msgstr "Et voilà! Tous vos sprites convertis sont sauvergardés dans le dossier: Graphics/Battlers/Cut/ ."
+
+msgid "Double Ability Ribbon"
+msgstr "Ruban Double Habileté"
+
+msgid "Double-click: Edit map's metadata"
+msgstr "Double-clic : Édite les métadonnées de la carte\n"
+
+msgid "Down"
+msgstr "Bas"
+
+msgid "Downcast Ribbon"
+msgstr "Ruban Abattu"
+
+msgid "Drag map to move it"
+msgstr "Pour bouger une carte faites un cliquer-glisser\n"
+
+msgid "Dreams"
+msgstr "Rêves"
+
+msgid "Dupes Clause"
+msgstr "Clause de Duplication"
+
+msgid "Duplicate"
+msgstr "Multiplier"
+
+msgid "Duration:"
+msgstr "Durée :"
+
+msgid "Durin Berries"
+msgstr "Baies Durin"
+
+msgid "E: Edit map's encounters"
+msgstr "E : Édite les rencontres de la carte\n"
+
+msgid "EDIT"
+msgstr "ÉDITER"
+
+msgid "EXCHANGE"
+msgstr "ÉCHANGE"
+
+msgid "EXIT"
+msgstr "QUITTER"
+
+msgid "Each Pokemon's HP was halved!"
+msgstr "Les PV de chaque Pokémon sont divisés en deux!"
+
+msgid "Earned coins"
+msgstr "Jetons gagnés"
+
+msgid "Earth Ribbon"
+msgstr "Ruban Terre"
+
+msgid "East side of first map must connect with west side of second map\n{1}"
+msgstr "Le côté est de la première carte doit être connecté avec le côté ouest de la seconde carte\n{1}"
+
+msgid "Edit"
+msgstr "Editer"
+
+msgid "Edit Trainer Types"
+msgstr "Éditer les Types de Dresseurs"
+
+msgid "Effort Ribbon"
+msgstr "Ruban Effort"
+
+msgid "Egg"
+msgstr "oeuf"
+
+msgid "Egg is available, can't deposit Pokémon."
+msgstr "Un oeuf est disponible, vous ne pouvez déposer de Pokémon."
+
+msgid "Egg is available, can't withdraw Pokémon."
+msgstr "Un oeuf est disponible, vous ne pouvez retirer de Pokémon."
+
+msgid "Egg with eggsteps: {1}."
+msgstr "oeuf avec des pas : {1}."
+
+msgid "Eggs can't hold items."
+msgstr "Les oeufs ne peuvent tenir des objets."
+
+msgid "Eggs can't hold mail."
+msgstr "Les oeufs ne peuvent tenir un mail."
+
+msgid "Electric"
+msgstr "Électrik"
+
+msgid "Electricity's power was weakened!"
+msgstr "Le pouvoir Electrik s'affaiblit!"
+
+msgid "Eletux is the best pick!\\wtnp[160]"
+msgstr "Électrott est le meilleur choix!\\wtnp[160]"
+
+msgid "Empty Bag"
+msgstr "Vider le Sac"
+
+msgid "Enable the setting {1}?"
+msgstr "Activer le paramètre {1}?"
+
+msgid "Encounter type out of range"
+msgstr "Une rencontre étrange"
+
+msgid "End"
+msgstr "Fin"
+
+msgid "Ending Frame:"
+msgstr "Cadre de Fin :"
+
+msgid "Enigma Berries"
+msgstr "Baies Enigma"
+
+msgid "Enter"
+msgstr "Entrer"
+
+msgid "Enter a filename."
+msgstr "Entrer un nom de fichier."
+
+msgid "Enter a name for the gift."
+msgstr "Entrer un nom pour le cadeau."
+
+msgid "Enter a phrase."
+msgstr "Entrer une phrase."
+
+msgid "Enter a plural form of {1}."
+msgstr "Entrer une forme plurielle de {1}."
+
+msgid "Enter text using the keyboard. Press ENTER to confirm."
+msgstr "Entrez votre texte en utilisant le clavier. Pressez \nESC pour annuler, ou ENTRER pour confirmer."
+
+msgid "Enter text using the keyboard. Press ESC to cancel, or ENTER to confirm."
+msgstr "Entrez votre texte en utilisant le clavier Pressez ESC pour annuler,\n ou ENTRER pour confirmer."
+
+msgid "Enter {1}'s name."
+msgstr "Entrez le nom de {1}."
+
+msgid "Entire Slide..."
+msgstr "Diapositive Entière..."
+
+msgid "Entry"
+msgstr "Entrée"
+
+msgid "Enumeration not defined\n{1}"
+msgstr "Énumération non définie\n{1}"
+
+msgid "Erase name"
+msgstr "Effacer le nom"
+
+msgid "Error extracting text. No text found."
+msgstr "Erreur lors de l'extraction du texte. Aucun texte trouvé."
+
+msgid "Event Ribbon"
+msgstr "Ruban Évènement"
+
+msgid "Everything was dug up!"
+msgstr "Tout a été déterré!"
+
+msgid "Execute"
+msgstr "Exécuter"
+
+msgid "Execute search."
+msgstr "Entrer la recherche."
+
+msgid "Execute sort."
+msgstr "Trier."
+
+msgid "Exit"
+msgstr "Quitter"
+
+msgid "Exit To Desktop"
+msgstr "Retour au Bureau"
+
+msgid "Exit To Menu"
+msgstr "Quitter vers le menu"
+
+msgid "Exit from the Box?"
+msgstr "Sortir de la Boîte?"
+
+msgid "Exit from the editor?"
+msgstr "Quitter l'éditeur?"
+
+msgid "Exit from the map?"
+msgstr "Sortir de la carte?"
+
+msgid "Exp. Points"
+msgstr "Points Exp."
+
+msgid "Expected a number for the number of Pokémon\n{1}"
+msgstr "Nombre attendu pour le nombre de Pokémon\n{1}"
+
+msgid "Expected a number for the trainer battle ID\n{1}"
+msgstr "Nombre attendu pour l'ID combat du Dresseur\n{1}"
+
+msgid "Expected a number in section {1}, got {2} instead"
+msgstr "J'espérais un nombre dans la section{1}, j'ai eu {2} à la place"
+
+msgid "Expected a section at the beginning of the file\n{1}"
+msgstr "Section attendue au début du fichier\n{1}"
+
+msgid "Expected a section at the beginning of the file (line {1})"
+msgstr "Section attendue au début du fichier(line {1})"
+
+msgid "Expected a section at the beginning of the file (line {1}). Sections begin with '[name of section]'"
+msgstr "Section attendue au début de ce fichier (ligne {1}). Les sections débutent avec '[nom de section]'"
+
+msgid "Expected a section at the beginning of the file. This error may also occur if the file was not saved in UTF-8.\n{1}"
+msgstr "Section attendue au début du dossier. Cette erreur peut également se produire si le dossier n'a pas été sauvegardé dans UTF-8.\n{1}"
+
+msgid "Expected a species name: {1}\n{2}"
+msgstr "Nom d'espèces attendu : {1}\n{2}"
+
+msgid "Export"
+msgstr "Exporter"
+
+msgid "Export Anim..."
+msgstr "Exporter Anim..."
+
+msgid "Export selected to file"
+msgstr "Export sélectionné dans le fichier"
+
+msgid "Extract Text"
+msgstr "Extraire le Texte"
+
+msgid "F5: Help"
+msgstr "F5 : Aide"
+
+msgid "F5: Help [{1:03d} {2:s}]"
+msgstr "F5 : Aide [{1:03d} {2:s}]"
+
+msgid "FANCY Cup"
+msgstr "Coupe FANTASIE"
+
+msgid "FIERCE ATTACK"
+msgstr "ATTAQUE FÉROCE"
+
+msgid "FIFTH"
+msgstr "CINQUIÈME"
+
+msgid "FIRST"
+msgstr "PREMIER"
+
+msgid "FLOW"
+msgstr "FLUX"
+
+msgid "FORMS"
+msgstr "FORMES"
+
+msgid "FORMS SEEN"
+msgstr "FORMES CONNUES"
+
+msgid "FOURTH"
+msgstr "QUATRIÈME"
+
+msgid "Failed to compile text: {1}"
+msgstr "Échec de la compilation du texte : {1}"
+
+msgid "Failed to connect, the servers may be experiencing problems. Please try again later."
+msgstr "Échec de la connexion, les serveurs rencontrent peut-être des problèmes. Veuillez rééssayer plus tard."
+
+msgid "Failed to create the trainer type. Choose a different name."
+msgstr "Échec à la création du Dresseur. Choisissez un nom différent."
+
+msgid "Failed to delete stored items"
+msgstr "Échec de la suppression des objets stockés"
+
+msgid "Failed to load data from server!"
+msgstr "Echec du chargement des données du serveur!"
+
+msgid "Failed to load the bitmap located at: {1}"
+msgstr "Échec de lancement du bitmap localisé sur : {1}"
+
+msgid "Fainted"
+msgstr "Évanoui"
+
+msgid "Fainted Pokémon are considered dead and only one can be caught per route."
+msgstr "Les Pokémon mis K.O. sont \"morts\". Seul le 1er Pokémon de la zone est capturable."
+
+msgid "Fairy"
+msgstr "Fée"
+
+msgid "False"
+msgstr "Faux"
+
+msgid "Faraway place"
+msgstr "Endroit Lointain"
+
+msgid "Fast"
+msgstr "Rapide"
+
+msgid "Feb."
+msgstr "Fev."
+
+msgid "February"
+msgstr "Février"
+
+msgid "Female"
+msgstr "Femelle"
+
+msgid "Female Shiny"
+msgstr "Femelle Shiny"
+
+msgid "Feminine"
+msgstr "Féminin"
+
+msgid "Fertilize"
+msgstr "Fertiliser"
+
+msgid "Field '{1}' is not a hexadecimal number\n{2}"
+msgstr "Champ '{1}' doit être un nombre hexadécimal\n{2}"
+
+msgid "Field '{1}' must be 0 or greater\n{2}"
+msgstr "Champ '{1}' doit faire 0 ou être plus grand\n{2}"
+
+msgid "Field '{1}' must be greater than 0\n{2}"
+msgstr "Champ '{1}' doit être plus grand que 0\n{2}"
+
+msgid "Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.\n{2}"
+msgstr "Champ '{1}' ne doit contenir que des lettres, des chiffres, et\ndes tirets bas et ne peut commencer avec un nombre.\n{2}"
+
+msgid "Field {1} is not a Boolean value (true, false, 1, 0)\n{2}"
+msgstr "Champ {1} n'est pas une valeur Booléenne (vrai, faux, 1, 0)\n{2}"
+
+msgid "Field {1} is not a number\n{2}"
+msgstr "Champ {1} n'est pas un nombre\n{2}"
+
+msgid "Field {1} is not a positive integer\n{2}"
+msgstr "Champ {1} n'est pas un entier positif\n{2}"
+
+msgid "Field {1} is not an integer\n{2}"
+msgstr "Champ {1} n'est pas un entier\n{2}"
+
+msgid "Fifth Pokémon."
+msgstr "Cinquième Pokémon."
+
+msgid "Fight"
+msgstr "Attaque"
+
+msgid "Fighting"
+msgstr "Combat"
+
+msgid "Figy Berries"
+msgstr "Baies Figuy"
+
+msgid "File {1}, line {2}\n{3}"
+msgstr "Fichier {1}, ligne {2}\n{3}\n"
+
+msgid "File {1}, section {2}, key {3}\n{4}"
+msgstr "Fichier {1}, section {2}, clef {3}\n{4}\n"
+
+msgid "File: \"{1}\""
+msgstr "Dossier : \"{1}\""
+
+msgid "Fill Bag"
+msgstr "Remplir le Sac"
+
+msgid "Fill Storage Boxes"
+msgstr "Remplir les Boîtes de Rangement"
+
+msgid "Fill all fields!"
+msgstr "Remplissez tous les champs!"
+
+msgid "Filled party with demo Pokémon."
+msgstr "Groupe rempli avec la démo Pokémon."
+
+msgid "Finally someone worth battling!"
+msgstr "Enfin quelqu'un digne de mon temps!"
+
+msgid "Fire"
+msgstr "Feu"
+
+msgid "Fire's power was weakened!"
+msgstr "Le pouvoir du Feu est affaiblit!"
+
+msgid "First Frame:"
+msgstr "Premier Cadre :"
+
+msgid "First Pokémon."
+msgstr "Premier Pokémon."
+
+msgid "First move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Premier mouvement. Laissez tous les mouvement vides (utilisez la touche Z) pour donner un mouvement violent."
+
+msgid "First, define the type of trainer."
+msgstr "Premièrement, définissez le type de Dresseur."
+
+msgid "Fishing"
+msgstr "Pêche"
+
+msgid "Fishing character sprite."
+msgstr "Sprite de pêche du personnage."
+
+msgid "Fishing while surfing character sprite."
+msgstr "Sprite du personnage pendant la pêche et le surf"
+
+msgid "Flip:"
+msgstr "Feuilleter :"
+
+msgid "Flying"
+msgstr "Vol"
+
+msgid "Focus:"
+msgstr "centre :"
+
+msgid "Folks, we're back with Round 2!"
+msgstr "Cher public, nous sommes retour pour jouer le second Tour!"
+
+msgid "Font Style"
+msgstr "Polices"
+
+msgid "Footprint Ribbon"
+msgstr "Ruban Empreinte"
+
+msgid "For a Balanced trainer like you...\\^"
+msgstr "Pour un Dresseur équilibré comme toi...\\^"
+
+msgid "For a Defensive trainer like you...\\^"
+msgstr "Pour un Dresseur défensif comme toi...\\^"
+
+msgid "For an Offensive trainer like you...\\^"
+msgstr "Pour un Dresseur offensif comme toi...\\^"
+
+msgid "For some reason this Pokémon can't be caught!"
+msgstr "Pour certaines raisons ce Pokémon ne peut être attrapé!"
+
+msgid "For {1}'s {2},\n{3} sends {4}."
+msgstr "Pour {2} de {1},\n{3} envoie {4}."
+
+msgid "For {1}'s {2},\n{3} sends {4}."
+msgstr "Pour le {2} de {1},\n{3} envoie {4}."
+
+msgid "For {1}, the {2} was too bitter!"
+msgstr "Pour {1}, le {2} était trop amer!"
+
+msgid "For {1}, the {2} was too dry!"
+msgstr "Pour {1}, le {2} était trop sec!"
+
+msgid "For {1}, the {2} was too sour!"
+msgstr "Pour {1}, le {2} était trop acide!"
+
+msgid "For {1}, the {2} was too spicy!"
+msgstr "Pour {1}, le {2} était trop épicé!"
+
+msgid "For {1}, the {2} was too sweet!"
+msgstr "pour {1}, le {2} était trop doux!"
+
+msgid "Foreign Pokémon\n{1}\n{2}\n{3} ({4})"
+msgstr "Pokémon étranger\n{1}\n{2}\n{3} ({4})"
+
+msgid "Forest"
+msgstr "Forêt"
+
+msgid "Forget move"
+msgstr "Oublier l'attaque"
+
+msgid "Form"
+msgstr "Forme"
+
+msgid "Form of the Pokémon."
+msgstr "Forme du Pokémon."
+
+msgid "Fourth Pokémon."
+msgstr "Quatrième Pokémon."
+
+msgid "Fourth move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Quatrième mouvement. Laissez tous les mouvements vides (utilisez la touche Z) pour donner un mouvement violent."
+
+msgid "Frame height is 0"
+msgstr "La hauteur du cadre est de 0"
+
+msgid "Frame width is 0"
+msgstr "La largeur du cadre est de 0"
+
+msgid "Frame:"
+msgstr "Cadre :"
+
+msgid "Frames:"
+msgstr "Cadres :"
+
+msgid "Friday"
+msgstr "Vendredi"
+
+msgid "Front"
+msgstr "Devant"
+
+msgid "Function code"
+msgstr "Code de fonction"
+
+msgid "Fuse with which Pokémon?"
+msgstr "Faire fusionner avec quel Pokémon?"
+
+msgid "Game Version: {1}\nServer Version: {2}"
+msgstr "Version du Jeu: {1}\nVersion à jour: {2}"
+
+msgid "Ganlon Berries"
+msgstr "Baies Lingan"
+
+msgid "Gave Mega Ring."
+msgstr "Méga-Anneau donné."
+
+msgid "Gave Pokédex."
+msgstr "Pokédex donné."
+
+msgid "Gave Pokégear."
+msgstr "PokéMatos donné."
+
+msgid "Gave Running Shoes."
+msgstr "Chaussures de Course données."
+
+msgid "Gender"
+msgstr "Genre"
+
+msgid "Gender flag. 0=male, 1=female."
+msgstr "Drapeau genre. 0 = mâle, 1 = femelle."
+
+msgid "Gender of this Trainer type."
+msgstr "Genre de ce type de Dresseur."
+
+msgid "Gender override removed."
+msgstr "L'annulation des genres est retirée."
+
+msgid "Gender {1} is being forced."
+msgstr "Le genre {1} est forcé."
+
+msgid "Gender {1} is natural."
+msgstr "Le genre {1} est naturel."
+
+msgid "Genderless"
+msgstr "Sans genre"
+
+msgid "Genderless Shiny"
+msgstr "Sans genre Shiny"
+
+msgid "Generate Pokemon teams for this challenge?"
+msgstr "Générer les équipes Pokémon pour cette épreuve?"
+
+msgid "Generate egg"
+msgstr "Générer un oeuf"
+
+msgid "Generating teams ({1} of {2})"
+msgstr "Génération des équipes({1} of {2})"
+
+msgid "Gentle"
+msgstr "Gentil"
+
+msgid "Ghost"
+msgstr "Spectre"
+
+msgid "Give"
+msgstr "Donner"
+
+msgid "Give Demo Party"
+msgstr "Donner la Demo de Groupe"
+
+msgid "Give random strain"
+msgstr "Donner une souche au hasard"
+
+msgid "Give to which Pokémon?"
+msgstr "Le donner à quel Pokémon?"
+
+msgid "Give up trying to teach a new move to {1}?"
+msgstr "Ne plus apprendre l'attaque au {1}?"
+
+msgid "Global Metadata"
+msgstr "Metadonnées Globales"
+
+msgid "Go back to the previous menu."
+msgstr "Revenir au menu précédent."
+
+msgid "Go for it, {1}!"
+msgstr "Fonce, {1}!"
+
+msgid "Go to Map"
+msgstr "Aller à la carte"
+
+msgid "Go to bottom"
+msgstr "Aller en bas"
+
+msgid "Go to top"
+msgstr "Aller en haut"
+
+msgid "Go! {1} and {2}!"
+msgstr "{1} et {2}! Go!"
+
+msgid "Go! {1}!"
+msgstr "{1}! Go!"
+
+msgid "Good endurance."
+msgstr "Bonne endurance."
+
+msgid "Good perseverance."
+msgstr "Bonne persévérance."
+
+msgid "Goodness! That was quite a thorough rout.\nI may require some tea and\nbiscuits after this match.\nIf you like, you would be welcome to join me."
+msgstr "Bonté Divine! C'était une débacle rigoureuse.\n Il me faudrait un thé et des \nbiscuits après ce match.\nSi l'envie vous en prend, rejoignez moi avec plaisir."
+
+msgid "Goodness, you are really quite strong."
+msgstr "Bonté Divine, tu es vraiment fort."
+
+msgid "Gorgeous Ribbon"
+msgstr "Ruban Somptueux"
+
+msgid "Gorgeous Royal Ribbon"
+msgstr "Ruban Somptueux Royal"
+
+msgid "Got all opponent's cards."
+msgstr "Vous obtenez toutes les cartes de l'adversaire."
+
+msgid "Got away safely!"
+msgstr "Partez sans risque!"
+
+msgid "Got opponent's {1} card."
+msgstr "Vous obtenez la carte {1} de l'adversaire."
+
+msgid "Gotcha! {1} was caught!"
+msgstr "Je t'ai eu! {1} a été capturé!"
+
+msgid "Graphics/Pictures/BATTLE/battleBagChoices"
+msgstr "Graphics/Translations/French/battleBagChoices_fr"
+
+msgid "Graphics/Pictures/BATTLE/battleBagLast"
+msgstr "Graphics/Translations/French/battleBagLast_fr"
+
+msgid "Graphics/Pictures/BATTLE/battleFoeBoxS"
+msgstr "Graphics/Translations/French/battleFoeBoxS_fr"
+
+msgid "Graphics/Pictures/BATTLE/battleItemConfirm"
+msgstr "Graphics/Translations/French/battleItemConfirm_fr"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerBoxS"
+msgstr "Graphics/Translations/French/battlePlayerBoxS_fr"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerHPbar"
+msgstr "Graphics/Translations/French/battlePlayerHPbar_fr"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerHPbar2"
+msgstr "Graphics/Translations/French/battlePlayerHPbar2_fr"
+
+msgid "Graphics/Pictures/BATTLE/battlePlayerHPbar3"
+msgstr "Graphics/Translations/French/battlePlayerHPbar3_fr"
+
+msgid "Graphics/Pictures/BATTLE/moveSelButtons"
+msgstr "Graphics/Translations/French/moveSelButtons_fr"
+
+msgid "Graphics/Pictures/Pokedex/entryicons"
+msgstr "raphics/Translations/French/entryicons_fr"
+
+msgid "Graphics/Pictures/Summary/summary0text"
+msgstr "Graphics/Translations/French/summary0text_fr"
+
+msgid "Graphics/Pictures/Summary/summary1text"
+msgstr "Graphics/Translations/French/summary1text_fr"
+
+msgid "Graphics/Pictures/Summary/summary2text"
+msgstr "Graphics/Translations/French/summary2text_fr"
+
+msgid "Graphics/Pictures/Summary/summary3text"
+msgstr "Graphics/Translations/French/summary3text_fr"
+
+msgid "Graphics/Pictures/Summary/summary4text"
+msgstr "Graphics/Translations/French/summary4text_fr"
+
+msgid "Graphics/Pictures/battleStatuses"
+msgstr "Graphics/Translations/French/battleStatuses_fr"
+
+msgid "Graphics/Pictures/boxpartytab"
+msgstr "Graphics/Translations/French/boxpartytab_fr"
+
+msgid "Graphics/Pictures/boxsides"
+msgstr "Graphics/Translations/French/boxsides_fr"
+
+msgid "Graphics/Pictures/jukeboxbg"
+msgstr "Graphics/Translations/French/jukeboxbg_fr"
+
+msgid "Graphics/Pictures/statuses"
+msgstr "Graphics/Translations/French/statuses_fr"
+
+msgid "Graphics/Pictures/trcard.png"
+msgstr "Graphics/Translations/French/trcard_fr.png"
+
+msgid "Graphics/Pictures/typesbw"
+msgstr "Graphics/Translations/French/typesbw_fr"
+
+msgid "Graphics/Titles/Start"
+msgstr "Graphics/Translations/French/Start_fr"
+
+msgid "Graphics/Titles/custom_pokelogo"
+msgstr "Graphics/Translations/French/custom_pokelogo_fr"
+
+msgid "Graphics/Titles/custom_pokelogo_shine"
+msgstr "Graphics/Translations/French/custom_pokelogo_shine_fr"
+
+msgid "Graphics/Titles/pic_4"
+msgstr "Graphics/Translations/French/pic_4_fr"
+
+msgid "Graphics/Titles/pic_4under"
+msgstr "Graphics/Translations/French/pic_4under_fr"
+
+msgid "Grass"
+msgstr "Plante"
+
+msgid "Grass grew to cover the battlefield!"
+msgstr "De l'herbe pousse et couvre le champ de bataille!"
+
+msgid "Gravity intensified!"
+msgstr "La gravité devient plus lourde!"
+
+msgid "Gravity returned to normal!"
+msgstr "La gravité revient à la normale!"
+
+msgid "Gray"
+msgstr "Gris"
+
+msgid "Gray Tone:"
+msgstr "Ton Gris :"
+
+msgid "Great Ability Ribbon"
+msgstr "Gros Ruban Habileté"
+
+msgid "Green"
+msgstr "Vert"
+
+msgid "Green Offset:"
+msgstr "Décalage Vert :"
+
+msgid "Green:"
+msgstr "Vert :"
+
+msgid "Grepa Berries"
+msgstr "Baies Résin"
+
+msgid "Ground"
+msgstr "Sol"
+
+msgid "Guara Berries"
+msgstr "Baies Guara"
+
+msgid "Gyahahaha! I expected nothing less from you! Go on to the next round, then. You deserve it!"
+msgstr "Bahahaha! Je n'en attendais pas moins de toi! Va mener le prochain tour. Tu le mérites!"
+
+msgid "HM moves can't be forgotten now."
+msgstr "Les CS ne peuvent être oubliées maintenant."
+
+msgid "HP"
+msgstr "PV"
+
+msgid "HP greater than total HP"
+msgstr "PV plus forts que le total"
+
+msgid "HP less than 0"
+msgstr "PV en dessous de 0"
+
+msgid "HP/Status"
+msgstr "PV/Statut"
+
+msgid "HT"
+msgstr "Taille :"
+
+msgid "Haban Berries"
+msgstr "Baies Fraigo"
+
+msgid "Hafli Berries"
+msgstr "Baies Hafli"
+
+msgid "Hail continues to fall."
+msgstr "La grêle continue de tomber."
+
+msgid "Hail is falling."
+msgstr "La grêle tombe."
+
+msgid "Hall of Fame"
+msgstr "Panthéon"
+
+msgid "Hall of Fame No."
+msgstr "Panthéon No."
+
+msgid "Happiness"
+msgstr "Bonheur"
+
+msgid "Happiness of the Pokémon."
+msgstr "Bonheur du Pokémon."
+
+msgid "Hardy"
+msgstr "Hardi"
+
+msgid "Has strain {1}, infectious for {2} more days."
+msgstr "{1} est contaminé pendant {2} jours de plus."
+
+msgid "Has strain {1}, not infectious."
+msgstr "{1} possède la souche, mais n'est pas contagieux."
+
+msgid "Hasty"
+msgstr "Pressé"
+
+msgid "Hates to lose."
+msgstr "Déteste perdre."
+
+msgid "Heal"
+msgstr "Soin"
+
+msgid "Heal Party"
+msgstr "Groupe Soin"
+
+msgid "Healing in-battle is disabled by your custom game settings!"
+msgstr "Le soin en combat est désactivé par les paramètres de ta partie personnalisée."
+
+msgid "Heart gauge is {1}."
+msgstr "La jauge de conscience est de {1}."
+
+msgid "Heavy to Light"
+msgstr "Lourd -> Leger"
+
+msgid "Held item"
+msgstr "Objet tenu"
+
+msgid "Helloooooo ladies, gentlemen,\npeople of Tandor!"
+msgstr "Bonjouuuuur mesdames, messieurs,\nhabitants de Tandor!"
+
+msgid "Help"
+msgstr "Aide"
+
+msgid "Here I come!"
+msgstr "J'arrive!"
+
+msgid "Here we are! Round 4, the semifinals!"
+msgstr "Nous y voilà! Quatrième Tour, les demi finales!"
+
+msgid "Here you are!\nThank you!"
+msgstr "Et voilà!\nMerci!"
+
+msgid "Here you go!"
+msgstr "Et voilà!"
+
+msgid "Hi there, \\PN!\nI wanted to thank you for stopping the Power Plant attacks.\nYou really did a good thing for Bealbeach City, and for all of Tandor!\nEver since I heard about that, I've been itching for a rematch.\nThis time, my team and I are going all-out!\nI hope you'll go all-out, too!"
+msgstr "Salut, \\PN!\nJe voulais te remercier d'avoir arrêté les attaques sur les centrales.\nTu as sauvé ma ville, sans parler de tout Tandor!\nC'est bête, mais je suis contente d'être l'adversaire d'un dresseur aussi fort.\nCette fois, mon équipe et moi, on va tout donner!\nEt vous avez intérêt à nous rendre la pareille!"
+
+msgid "Hidden Power:\n{1}, power {2}."
+msgstr "Pouvoir Caché :\n{1}, pouvoir {2}."
+
+msgid "Highly curious."
+msgstr "Très curieux."
+
+msgid "Highly persistent."
+msgstr "Très persistant."
+
+msgid "Hit {1} time!"
+msgstr "Touché {1} fois!"
+
+msgid "Hit {1} times!"
+msgstr "A touché {1} fois!"
+
+msgid "Hiyah! I have honed my skills as a Surfer and a Ninja! We command mastery over the waves!"
+msgstr "Hiyah! Mes talents de Surfer et de Ninja sont sans égal! Les vagues nous obéissent!"
+
+msgid "Hmm... impressive."
+msgstr "Hmm... impressionnant."
+
+msgid "Hmph."
+msgstr "Hmf."
+
+msgid "Hoenn Beauty Contest Hyper Rank winner!"
+msgstr "Gagnant du Classement au Concours Beauté de Hoenn catégorie Hyper!"
+
+msgid "Hoenn Beauty Contest Master Rank winner!"
+msgstr "Gagnant du Classement au Concours Beauté de Hoenn catégorie Master!"
+
+msgid "Hoenn Beauty Contest Normal Rank winner!"
+msgstr "Gagnant du Classement au Concours Beauté de Hoenn catégorie Normal!"
+
+msgid "Hoenn Beauty Contest Super Rank winner!"
+msgstr "Gagnant du Classement au Concours Beauté de Hoenn catégorie Super!"
+
+msgid "Hoenn Cool Contest Hyper Rank winner!"
+msgstr "Gagnant du Classement au Concours Cool de Hoenn catégorie Hyper!"
+
+msgid "Hoenn Cool Contest Master Rank winner!"
+msgstr "Gagnant du Classement au Concours Cool de Hoenn catégorie Master!"
+
+msgid "Hoenn Cool Contest Normal Rank winner!"
+msgstr "Gagnant du Classement au Concours Cool de Hoenn catégorie Normal!"
+
+msgid "Hoenn Cool Contest Super Rank winner!"
+msgstr "Gagnant du Classement au Concours Cool de Hoenn catégorie Super!"
+
+msgid "Hoenn Cute Contest Hyper Rank winner!"
+msgstr "Gagnant du Classement au Concours Mignon de Hoenn catégorie Hyper!"
+
+msgid "Hoenn Cute Contest Master Rank winner!"
+msgstr "Gagnant du Classement au Concours Mignon de Hoenn catégorie Master!"
+
+msgid "Hoenn Cute Contest Normal Rank winner!"
+msgstr "Gagnant du Classement au Concours Mignon de Hoenn catégorie Normal!"
+
+msgid "Hoenn Cute Contest Super Rank winner!"
+msgstr "Gagnant du Classement au Concours Mignon de Hoenn catégorie Super!"
+
+msgid "Hoenn Smart Contest Hyper Rank winner!"
+msgstr "Gagnant du Classement au Concours Malin de Hoenn catégorie Hyper!"
+
+msgid "Hoenn Smart Contest Master Rank winner!"
+msgstr "Gagnant du Classement au Concours Malin de Hoenn catégorie Master!"
+
+msgid "Hoenn Smart Contest Normal Rank winner!"
+msgstr "Gagnant du Classement au Concours Malin de Hoenn catégorie Normal!"
+
+msgid "Hoenn Smart Contest Super Rank winner!"
+msgstr "Gagnant du Classement au Concours Malin de Hoenn catégorie Super!"
+
+msgid "Hoenn Tough Contest Hyper Rank winner!"
+msgstr "Gagnant du Classement au Concours Force de Hoenn catégorie Hyper!"
+
+msgid "Hoenn Tough Contest Master Rank winner!"
+msgstr "Gagnant du Classement au Concours Force de Hoenn catégorie Master!"
+
+msgid "Hoenn Tough Contest Normal Rank winner!"
+msgstr "Gagnant du Classement au Concours Force de Hoenn catégorie Normal!"
+
+msgid "Hoenn Tough Contest Super Rank winner!"
+msgstr "Gagnant du Classement au Concours Force de Hoenn catégorie Super!"
+
+msgid "Hold down while walking to run."
+msgstr "Maintenir appuyé pour courir."
+
+msgid "Hondew Berries"
+msgstr "Baies Lonme"
+
+msgid "Honored \\PN,\nThere is a stirring in the wind.\nThe Gods murmur in the deep.\nA storm brews on the horizon.\nOur Village will soon be in danger.\nWithout your help, Tsukinami will fall."
+msgstr "Très cher \\PN,\nLes vents nous font part de terribles nouvelles.\nLes Dieux murmurent dans les profondeurs.\nUne tempête se prépare à l'horizon.\nNotre village sera bientôt en danger.\nSans votre aide, Tsukinami tombera."
+
+msgid "How many do you want to deposit?"
+msgstr "En déposer combien?"
+
+msgid "How many do you want to withdraw?"
+msgstr "Combien voulez-vous en retirer?"
+
+msgid "Hue:"
+msgstr "Teinte :"
+
+msgid "Huh?\nThe {1}'s responding!"
+msgstr "Hein?\nLe {1} réagit!"
+
+msgid "Huh?\n{1} stopped evolving!"
+msgstr "Euh?\n{1} a cessé d'évoluer!"
+
+msgid "I alone command the incredible power of Dragons! Fear our unstoppable might!"
+msgstr "Moi seul commande le pouvoir incroyable des Dragons! Craignez notre puissance instoppable!"
+
+msgid "I am a fossil revivification expert."
+msgstr "Je me spécialise dans la résurrection des fossiles."
+
+msgid "I can feel the anticipation in the air.\nThese trainers have spent their entire lives preparing for this moment!"
+msgstr "Je peux sentir l'anticipation dans l'air...\nCes 32 Dresseurs ont passé leurs vies entières à se préparer pour cet instant!"
+
+msgid "I can feel the tension crackling in the air."
+msgstr "Je sens la tension qui grimpe dans l'air."
+
+msgid "I can pay ${1}.\nWould that be OK?"
+msgstr "J'achète pour {1}$.\nC'est bon?"
+
+msgid "I can pay ${1}. Would that be OK?"
+msgstr "Je peux payer {1}$. Ça irait?"
+
+msgid "I can tell that they both are itching for another fight!"
+msgstr "Je peux vous dire qu'ils brûlent d'envie de disputer un autre combat!"
+
+msgid "I can tell the crowd is loving this! It only gets more intense from here on out, folks!"
+msgstr "Je vois que la foule la foule en délire! Et ça ne fera que s'intensifier à partir de maintenant, cher public!"
+
+msgid "I do say!\nHave we perchance met before?\nI am certain we have.\nYou do leave quite an impression, indeed.\nHowever, allow me to reintroduce myself:\nI am Sr. Goldkorn.\nI represent a refined style of battle.\nA tradition which is sadly going away, it seems... But, I shall prove that refinement still has a place in the arena.\nPlease allow us to have a clean, civil match."
+msgstr "Je le dit!\nNous sommes nous par chance déjà rencontré?\nJe suis sûr que oui.\nVous faites assez forte impression, en effet.\nCependant, laissez moi me présenter à nouveau:\nJe suis Sir Goldkorn.\nJe représente un style de combat raffiné.\nUne tradition qui disparait tristement, il semblerait... Cependant, je prouverai que ce raffinement à toujours sa place dans l'arène.\ns'il-vous-plaît, permettez-nous d'avoir un combat équitable et civilisé."
+
+msgid "I have created... life!"
+msgstr "J'ai créé... de la vie!"
+
+msgid "I kept the best for last!"
+msgstr "J'ai gardé le meilleur pour la fin!"
+
+msgid "I know I look cute, but you shouldn't underestimate me! I won last year and I'll do it again!"
+msgstr "Je sais que j'ai l'air mignonne, mais faut pas me sous-estimer! J'ai gagné l'année dernière et je gagnerai cette année!"
+
+msgid "I say!"
+msgstr "Et bien!"
+
+msgid "I see a great future ahead of you, but are you ready for this?"
+msgstr "Je vois un futur glorieux qui t'attend, mais peux tu faire face au présent?"
+
+msgid "I see you command your Pokémon with great intelligence and respect. A lesser trainer could not have triumphed against us. I must bow to your superiority."
+msgstr "Je vois que tu commandes tes Pokémon avec intelligence et respect. Un Dresseur moindre n'aurait pas pu triompher de nous. Je m'incline devant ta supériorité."
+
+msgid "I specialize in the mysterious and mystical Fairy type. Soon, you'll be under our spell."
+msgstr "Je suis spécialisée dans le mystérieux et mystique type Fée et bientôt, vous serez tous sous notre charme."
+
+msgid "I use only the most perfect mechanical Pokémon. Your puny team won't stand a chance."
+msgstr "Je n'utilise que les Pokémon méchaniques les plus parfaits. Ta frêle équipe n'a aucune chance."
+
+msgid "I will bring your Pokémon back to life in just a moment."
+msgstr "Je vais ressusciter votre Pokémon dans un instant."
+
+msgid "I'd like to know your name.\nPlease tell me."
+msgstr "J'aimerais connaître ton nom.\nPeux-tu me le donner?"
+
+msgid "I'll throw in a Premier Ball, too."
+msgstr "Et voici une Honor Ball en cadeau."
+
+msgid "I've done it!"
+msgstr "J'ai réussi!"
+
+msgid "ID used to distinguish Trainers with the same name and trainer type."
+msgstr "ID utilisé pour distinguer les Dresseurs avec le même nom et le même type de Dresseur."
+
+msgid "INELIGIBLE"
+msgstr "INÉLIGIBLE"
+
+msgid "Iapapa Berries"
+msgstr "Baies Papaya"
+
+msgid "Ice"
+msgstr "Glace"
+
+msgid "Identifies the point on the regional map for this map."
+msgstr "Identifie le point de la carte sur la carte régionale."
+
+msgid "If both trainers are ready, then..."
+msgstr "Si les Dresseurs sont prêts, et bien..."
+
+msgid "If set to true, the Pokémon is a Shadow Pokémon."
+msgstr "Le Pokémon est un Pokémon Obscur."
+
+msgid "If set to true, the Pokémon is a different-colored Pokémon."
+msgstr "Le Pokémon est de couleur différente."
+
+msgid "If the mail is removed, the message will be lost. OK?"
+msgstr "Si le mail est enlevé, le message sera perdu. OK?"
+
+msgid "If true, the bicycle can be used on this map."
+msgstr "Si c'est vrai, la bicyclette pourra être utilisée sur cette carte."
+
+msgid "If true, the bicycle will be mounted automatically on this map and cannot be dismounted."
+msgstr "Si c'est vrai, la bicyclette sera montée automatiquement sur cette carte et ne pourra être démontée."
+
+msgid "If true, the game will display the map's name upon entry."
+msgstr "Si c'est vrai, le jeu affichera le nom de la carte à l'entrée."
+
+msgid "If true, this map has a randomly generated layout. See the wiki for more information."
+msgstr "Si c'est vrai, cette carte est générée de façon aléatoire. Voir le wiki pour plus d'infos."
+
+msgid "If true, this map is an outdoor map and will be tinted according to time of day."
+msgstr "Si c'est vrai, cette carte est une carte d'extérieur, et sera aux couleurs de la journée."
+
+msgid "If true, this map is dark and a circle of light appears around the player. Flash can be used to expand the circle."
+msgstr "Si c'est vrai, cette carte est sombre et un cercle de lumière apparaît autour du joueur. L'utilisation de la capacité Flash permet d'étendre ce cercle."
+
+msgid "If true, this map is part of the Safari Zone (both indoor and outdoor). Not to be used in the reception desk."
+msgstr "Si c'est vrai, cette carte est une partie de la Zone Safari (intérieure et extérieure). Ne doit pas etre utilisée pour le bureau de réception."
+
+msgid "If true, when the player goes near this map's edge, the game doesn't center the player as usual."
+msgstr "Si c'est vrai, quand le joueur se rapproche des bords de la carte, le jeu ne centre plus la vue sur le joueur comme d'habitude."
+
+msgid "If you bring me a Pokémon fossil, I can restore it to life."
+msgstr "Si vous me ramenez un Pokémon fossile, je peux le ressusciter."
+
+msgid "If you quit now, you will recieve {1} Coin(s). Will you quit?"
+msgstr "Si vous partez maintenant vous recevrez {1} Jetons. Voulez-vous quitter?"
+
+msgid "If you see one, bring it to me."
+msgstr "Ramène-moi en un si tu en trouves."
+
+msgid "Impetuous and silly."
+msgstr "Violent et idiot."
+
+msgid "Impish"
+msgstr "Malin"
+
+msgid "Import Anim..."
+msgstr "Importer Anim..."
+
+msgid "Import Pokémon Data"
+msgstr "Importer les Données Pokémon"
+
+msgid "In Bag:{1:d}"
+msgstr "Dans le Sac :{1:d}"
+
+msgid "In encounters.txt, expected a species entry line,\ngot \"{1}\" instead (probably too few entries in an encounter type).\nPlease check the format of the section numbered {2},\nwhich is just before this line.\n{3}"
+msgstr "In encounters.txt, expected a species entry line,\ngot \"{1}\" instead (probably too few entries in an encounter type).\nPlease check the format of the section numbered {2},\nwhich is just before this line.\n{3}"
+
+msgid "In the spirit of fairness all online features will be disabled on this save."
+msgstr "Dans un esprit de fair-play, tous les paramètres en ligne seront désactivés sur cette sauvegarde."
+
+msgid "Incorrect value {1} in {2}\n{3}"
+msgstr "Valeur incorrecte {1} dans {2}\n{3}"
+
+msgid "Individual values of each of the Pokémon's stats."
+msgstr "Les valeurs individuelles de chaque stats Pokémon."
+
+msgid "Insert"
+msgstr "Insérer"
+
+msgid "Insert Frame"
+msgstr "Insérer le Cadre"
+
+msgid "Internal Name"
+msgstr "Nom Interne"
+
+msgid "Internal name that appears in constructs like PBTrainers::XXX."
+msgstr "Nom interne qui apparaît dans la construction comme PBTrainers::XXX."
+
+msgid "Invalid internal name: {1} (section {2}, PBS/pokemon.txt)"
+msgstr "Nom interne invalide : {1} (section {2}, PBS/pokemon.txt)"
+
+msgid "Invalid pocket: {1}"
+msgstr "Poche invalide : {1}"
+
+msgid "Invalid quoted field (in: {1})\n{2}"
+msgstr "Champ de citation invalide (in : {1})\n{2}"
+
+msgid "Invalid section name {1}"
+msgstr "Nom de section invalide {1}"
+
+msgid "Is it OK to throw away {1} {2}(s)?"
+msgstr "Êtes-vous d'accord pour jeter {1} {2}(s)?"
+
+msgid "Is the Trainer male, female, or mixed gender?"
+msgstr "Le Dresseur est-il mâle, femelle, ou les deux?"
+
+msgid "Is there anything else I can help you with?"
+msgstr "Puis-je faire autre chose pour vous aider?"
+
+msgid "It appears to move occasionally. It may be close to hatching."
+msgstr "Il bouge de temps en temps. Il va sans doute bientôt éclore."
+
+msgid "It broke all barriers!"
+msgstr "Il casse toutes les barrières!"
+
+msgid "It can't be used when you have someone with you."
+msgstr "Ne peut être utilisé lorsque vous êtes avec quelqu'un."
+
+msgid "It can't be used while in the Hazard Suit."
+msgstr "Ne peut être utilisé lorsque la Combinaison de Protection est portée."
+
+msgid "It contained {1}."
+msgstr "Elle contient {1}."
+
+msgid "It created a bizarre area in which Pokémon's held items lose their effects!"
+msgstr "une zone étrange est créée dans laquelle les objets tenus perdent leurs effets!"
+
+msgid "It created a bizarre area in which the Defense and Sp. Def stats are swapped!"
+msgstr "Il crée une zone bizarre où les stats de la Défense et de la Def Sp. sont échangés!"
+
+msgid "It doesn't affect\n{1}..."
+msgstr "Ça n'affecte pas\n{1}..."
+
+msgid "It doesn't affect {1}.."
+msgstr "Cela n'affecte pas {1}.."
+
+msgid "It doesn't affect {1}..."
+msgstr "Ça n'affecte pas {1}..."
+
+msgid "It had no effect."
+msgstr "Ça n'a eu aucun effet."
+
+msgid "It hurt itself from its confusion!"
+msgstr "Il se blesse dans sa confusion!"
+
+msgid "It hurt itself in its confusion!"
+msgstr "Il se blesse dans sa confusion!"
+
+msgid "It is not often that we come down from the peak of Mt. Lanthanite. But, this region deserves a reminder of the power of dragons! You, who have proved yourself in the Five Trials... Have you what it takes to defeat us at our full strength?\nWRRRROOOAAAAARRRR!\nHear our battle cry!"
+msgstr "Il est rare pour nous de descendre du pic du Mont Lanthanite. Cependant, cette région mérite qu'on lui rappelle la puissance des dragons! Toi, qui a fait tes preuves lors les Cinq Épreuves... As-tu ce qu'il faut pour nous défaire à pleine puissance?\nWRRRROOOAAAAARRRR!\nEntends notre cri de guerr!"
+
+msgid "It is raining."
+msgstr "Il pleut."
+
+msgid "It looks like this Egg will take a long time to hatch."
+msgstr "On dirait que ça va prendre du temps avant l'éclosion de l'oeuf."
+
+msgid "It poisoned {1}!"
+msgstr "Ça a empoisonné {1}!"
+
+msgid "It reduced the PP of {1}'s {2} by {3}!"
+msgstr "Réduit les PP de {2} de {1} par {3}!"
+
+msgid "It started to hail!"
+msgstr "Il commence à grêler!"
+
+msgid "It started to rain!"
+msgstr "Il commence à pleuvoir!"
+
+msgid "It stole {1}'s {2}!"
+msgstr "Oh, {1} s'est fait voler son objet! Adieu, {2}!"
+
+msgid "It was alerted to {1}'s {2}!"
+msgstr "Attention, {1} connaît {2}!"
+
+msgid "It was stored in box \"{1}\"."
+msgstr "Il a été placé dans la boîte \"{1}\"."
+
+msgid "It was stored in box \"{1}.\""
+msgstr "Il a été stocké dans la boîte \"{1}.\""
+
+msgid "It was too weak to make a substitute!"
+msgstr "Il est trop faible pour faire un clone!"
+
+msgid "It will forget the song it knows."
+msgstr "Il oubliera la chanson."
+
+msgid "It won't have any effect"
+msgstr "Ça n'aura aucun effet"
+
+msgid "It won't have any effect."
+msgstr "Ça n'aura aucun effet."
+
+msgid "It's a Slot Machine."
+msgstr "C'est une Machine à Sous."
+
+msgid "It's a big boulder, but a Pokémon may be able to push it aside."
+msgstr "C'est un gros rocher, mais un Pokémon pourrait le déplacer."
+
+msgid "It's a dead coral, but a Pokémon may be able to smash it."
+msgstr "C'est du corail mort, mais un Pokémon est capable de le briser."
+
+msgid "It's a large waterfall. Would you like to climb it?"
+msgstr "C'est une grande cascade. Voulez-vous l'escalader?"
+
+msgid "It's a one-hit KO!"
+msgstr "KO en un seul coup!"
+
+msgid "It's a rugged rock, but a Pokémon may be able to smash it."
+msgstr "C'est un rocher solide, mais un Pokémon pourrait l'éclater."
+
+msgid "It's a text file, so it can be transferred to others easily."
+msgstr "C'est un fichier texte, il peut être facilement transféré."
+
+msgid "It's empty."
+msgstr "C'est vide."
+
+msgid "It's impossible to aim without being focused!"
+msgstr "Impossible de viser sans se concentrer!"
+
+msgid "It's no good! It's impossible to aim when there are two Pokémon!"
+msgstr "Ça n'est pas bon! Impossible de viser lorsqu'il y a deux Pokémon!"
+
+msgid "It's not very effective..."
+msgstr "Ce n'est pas très efficace..."
+
+msgid "It's soft, earthy soil."
+msgstr "C'est un sol doux et fertile."
+
+msgid "It's soft, loamy soil.\nPlant a berry?"
+msgstr "C'est un sol doux et argileux.\nPlanter une baie?"
+
+msgid "It's super effective!"
+msgstr "C'est super efficace!"
+
+msgid "It's too dangerous to fly to this location!"
+msgstr "C'est trop dangereux de voler vers cet endroit!"
+
+msgid "Item"
+msgstr "Objet"
+
+msgid "Item 1"
+msgstr "Objet 1"
+
+msgid "Item 2"
+msgstr "Objet 2"
+
+msgid "Item 3"
+msgstr "Objet 3"
+
+msgid "Item 4"
+msgstr "Objet 4"
+
+msgid "Item 5"
+msgstr "Objet 5"
+
+msgid "Item 6"
+msgstr "Objet 6"
+
+msgid "Item 7"
+msgstr "Objet 7"
+
+msgid "Item 8"
+msgstr "Objet 8"
+
+msgid "Item Storage"
+msgstr "Rangement Objet"
+
+msgid "Item held by the Pokémon."
+msgstr "Objet tenu par le Pokémon."
+
+msgid "Item used by the trainer during battle."
+msgstr "Objet utilisé par le Dresseur pendant le combat."
+
+msgid "Items"
+msgstr "Objets"
+
+msgid "Items aren't allowed in Tandor Championship battles."
+msgstr "L'utilisation d'Objets en combat est interdite au Championnat de Tandor."
+
+msgid "Items aren't allowed in the Trial of Truth."
+msgstr "Les Objets sont interdits dans le Défi de la Vérité."
+
+msgid "Items can't be used here."
+msgstr "Les objets ne peuvent être utilisés ici."
+
+msgid "Its hyper mode attack hurt {1}!"
+msgstr "Son attaque en mode hyper blesse {1}!"
+
+msgid "Jaboca Berries"
+msgstr "Baies Jaboca"
+
+msgid "January"
+msgstr "Janvier"
+
+msgid "Jolly"
+msgstr "Jovial"
+
+msgid "Judgment"
+msgstr "Jugement"
+
+msgid "July"
+msgstr "Juillet"
+
+msgid "Jump"
+msgstr "Sauter"
+
+msgid "Jump to which Box?"
+msgstr "Aller dans quelle Boîte?"
+
+msgid "June"
+msgstr "Juin"
+
+msgid "Kasib Berries"
+msgstr "Baies Sédra"
+
+msgid "Kebia Berries"
+msgstr "Baies Kébia"
+
+msgid "Kelpsy Berries"
+msgstr "Baies Alga"
+
+msgid "Kept all cards of your color."
+msgstr "Toutes les cartes à votre couleur sont gardées."
+
+msgid "Key Items"
+msgstr "Objets Rares"
+
+msgid "Kimono Girl"
+msgstr "Fille en Kimono"
+
+msgid "Kind {1} is greater than 20 characters long (section {2}, PBS/pokemon.txt)"
+msgstr "Sorte {1} est plus grand que 20 caractères (section {2}, PBS/pokemon.txt)"
+
+msgid "LEARNED"
+msgstr "APPRIS"
+
+msgid "LIGHT Cup"
+msgstr "Coupe LUMIÈRE"
+
+msgid "LITTLE Cup"
+msgstr "Coupe PETIT"
+
+msgid "Landed a Pokémon!"
+msgstr "Un Pokémon a mordu à l'hameçon!"
+
+msgid "Language"
+msgstr "Langage"
+
+msgid "Lansat Berries"
+msgstr "Baies Lansat"
+
+msgid "Lass Abby"
+msgstr "Canon Abby"
+
+msgid "Last Frame:"
+msgstr "Dernier Cadre :"
+
+msgid "Latest Version = {1} \\wtnp[30]"
+msgstr "Dernière Version = {1} \\wtnp[30]"
+
+msgid "Lax"
+msgstr "Lâche"
+
+msgid "Lazy made {1} sleep!"
+msgstr "Paresseux endort {1}!"
+
+msgid "League Champion! Congratulations!"
+msgstr "Champion de la Ligue! Félicitations!"
+
+msgid "League champion!\nCongratulations!\\^"
+msgstr "Le Champion de la Ligue!\nFélicitations!\\^"
+
+msgid "Left"
+msgstr "Gauche"
+
+msgid "Left: {1}"
+msgstr "Gauche : {1}"
+
+msgid "Legend Ribbon"
+msgstr "Ruban Légende"
+
+msgid "Leppa Berries"
+msgstr "Baies Meppo"
+
+msgid "Let me register you."
+msgstr "Laissez-moi vous inscrire."
+
+msgid "Let me tell you a story.\nThere once was a girl who dreamed of being a star in the Opera. ...Oh? You have heard this before? Alas... I was looking forward to my monologue.\nNow, I recall... you are \\PN.\nOn ye of great destiny... have your dreams become reality?\nOr are they still dreams?\nCan you tell the difference?\nCome, let us captivate the audience with our spectacular act!"
+msgstr "Laisse moi te conter une histoire.\nIl fut une fille qui rêvait de devenir une célébrité à l'Opéra. ...Oh? Tu l'as déjà entendue?\nLas... J'étais si impatiente de régaler l'auditoire de mon monologue.\nMaintenant, je me souviens... tu es\\PN.\nPromis à un grand destin... tes rêves sont-ils devenus réalité?\nOu titubes-tu toujours dans tes onirismes...?\nPeux-tu faire la différence?\nAllons! Le public attends un spectacle!"
+
+msgid "Let's enjoy cycling!"
+msgstr "C'est parti pour une balade à vélo!"
+
+msgid "Let's go!"
+msgstr "Allons-y!"
+
+msgid "Let's make this battle one to remember!"
+msgstr "Ce combat sera, sans nul doute, mémorable!"
+
+msgid "Let's see how you fare against this final dance move!"
+msgstr "Voyons comment tu vas t'en sortir face au dernier pas de cette danse!"
+
+msgid "Level"
+msgstr "Niveau"
+
+msgid "Level number is not valid: {1}\n{2}"
+msgstr "Level number is not valid: {1}\n{2}"
+
+msgid "Level of the Pokémon."
+msgstr "Niveau du Pokémon."
+
+msgid "Level {1}"
+msgstr "Niveau {1}"
+
+msgid "Liechi Berries"
+msgstr "Baies Lichii"
+
+msgid "Light"
+msgstr "Lumière"
+
+msgid "Light Screen raised the opposing team's Special Defense!"
+msgstr "Mur Lumière augmente la Défense Spéciale de l'équipe adverse!"
+
+msgid "Light Screen raised your team's Special Defense!"
+msgstr "Mur Lumière augmente la Défense Spéciale de votre équipe!"
+
+msgid "Light is filtering down from above. A Pokémon may be able to surface here."
+msgstr "Une lumière vient d\"en haut. Un Pokémon pourrait remonter ici."
+
+msgid "Light is filtering down from above. Would you like to surface?"
+msgstr "Une lumière vient d\"en haut. Voulez-vous refaire surface?"
+
+msgid "Light to Heavy"
+msgstr "Leger -> Lourd"
+
+msgid "Likes to fight."
+msgstr "Aime se battre."
+
+msgid "Likes to relax."
+msgstr "Aime se détendre."
+
+msgid "Likes to run."
+msgstr "Aime courir."
+
+msgid "Likes to thrash about."
+msgstr "Adore les commérages."
+
+msgid "List by body color.\nSpotted Pokémon only."
+msgstr "Classer selon la couleur.\nJuste les Pokémon."
+
+msgid "List by the first letter in the name.\nSpotted Pokémon only."
+msgstr "Classer selon la 1ère lettre dans le nom.\nJuste les Pokémon."
+
+msgid "List by type.\nOwned Pokémon only."
+msgstr "Classer par type.\nJuste les Pokémon possédés."
+
+msgid "List of Animations"
+msgstr "Liste des Animations"
+
+msgid "Load Animation"
+msgstr "Charger l'Animation"
+
+msgid "Log Off"
+msgstr "Se déconnecter"
+
+msgid "Lonely"
+msgstr "Solo"
+
+msgid "Look like the innocent flower, but be the serpent under it."
+msgstr "Imitez l'innocente fleur, mais soyez le serpent qu'elle dissimule."
+
+msgid "Lost Mega Ring."
+msgstr "Perte du Méga-Anneau."
+
+msgid "Lost Pokédex."
+msgstr "Perte du Pokédex."
+
+msgid "Lost Pokégear."
+msgstr "Perte du PokéMatos."
+
+msgid "Lost Running Shoes."
+msgstr "Perte des Chaussures de Course."
+
+msgid "Loves to eat."
+msgstr "Adore manger."
+
+msgid "Lower heart gauge"
+msgstr "Baisser la jauge de conscience."
+
+msgid "Lucky Chant shielded the opposing team from critical hits!"
+msgstr "Air Veinard protège l'équipe ennemie des coups critiques!"
+
+msgid "Lucky Chant shielded your team from critical hits!"
+msgstr "Air Veinard protège votre équipe des coups critiques!"
+
+msgid "Lullaby"
+msgstr "Tonalité: Berceuse"
+
+msgid "Lum Berries"
+msgstr "Baies Prine"
+
+msgid "Lv."
+msgstr "Nv."
+
+msgid "Lv. {1}"
+msgstr "Nv. {1}"
+
+msgid "Lv.{1}"
+msgstr "Nv.{1}"
+
+msgid "ME played before battles against trainers of this type."
+msgstr "ME joué avant les combats contre les Dresseurs de ce type."
+
+msgid "ME played when player wins battles against trainers of this type."
+msgstr "ME joué lorsque le joueur gagnes les combats contre les Dresseurs de ce type."
+
+msgid "MONEY:"
+msgstr "ARGENT :"
+
+msgid "MOVE"
+msgstr "DÉPLACER"
+
+msgid "MOVE ITEMS"
+msgstr "DÉPLACERLES OBJETS"
+
+msgid "MOVE POKéMON"
+msgstr "DÉPLACER LE POKÉMON"
+
+msgid "Magic Room wore off, and held items' effects returned to normal!"
+msgstr "Zone Magique disparaît, et les effets des objets tenus retournent à la normale!"
+
+msgid "Magnificent! A flawless performance!"
+msgstr "Magnifique! Une performance parfaite!"
+
+msgid "Mago Berries"
+msgstr "Baies Mago"
+
+msgid "Magost Berries"
+msgstr "Baies Mangou"
+
+msgid "Mail must be removed before holding an item."
+msgstr "Le courrier doit être retiré avant de faire tenir un objet."
+
+msgid "Mail was taken from the Pokémon."
+msgstr "Le mail est retiré du Pokémon"
+
+msgid "Mail was transferred from the Mailbox."
+msgstr "Courrier transféré dans la Boîte Mail."
+
+msgid "Mailbox"
+msgstr "Boîte Mail"
+
+msgid "Main Save"
+msgstr "Sauvegarde principale"
+
+msgid "Main version is up-to-date however, there MAY be a new minor patch available.\\wtnp[30]"
+msgstr "La version stable est à jour , mais il y a peut être un patch mineur est disponible.\\wtnp[30]"
+
+msgid "Main version is up-to-date however, there is a new minor patch available.\\wtnp[30]"
+msgstr "La version stable est à jour , mais un patch mineur est disponible.\\wtnp[30]"
+
+msgid "Make MGift"
+msgstr "Faire MGift"
+
+msgid "Make Mystery Gift"
+msgstr "Offrir un Cadeau Mystérieux"
+
+msgid "Make Pokémon"
+msgstr "Faire un Pokémon"
+
+msgid "Make Shadow"
+msgstr "Obscurcir"
+
+msgid "Make egg"
+msgstr "Faire un oeuf"
+
+msgid "Make female"
+msgstr "Rend femelle"
+
+msgid "Make male"
+msgstr "Rend mâle"
+
+msgid "Make normal"
+msgstr "Le faire normal"
+
+msgid "Make not infectious"
+msgstr "Ne pas la rendre contagieuse"
+
+msgid "Make player's"
+msgstr "Créer le joueur"
+
+msgid "Make rental"
+msgstr "Louer"
+
+msgid "Make shiny"
+msgstr "Faire un shiny"
+
+msgid "Male"
+msgstr "Mâle"
+
+msgid "Male Shiny"
+msgstr "Mâle Shiny"
+
+msgid "Man, I lost!"
+msgstr "Mince, j'ai perdu!"
+
+msgid "Manage Mystery Gifts"
+msgstr "Gestion des Cadeaux Mystère"
+
+msgid "Map"
+msgstr "Carte"
+
+msgid "Map Connections"
+msgstr "Connexions des Cartes"
+
+msgid "Map ID and X and Y coordinates of where the player goes if no Pokémon Center was entered after a loss."
+msgstr "L'identifiant de la carte et les coordonnées X et Y montrent où se rend le joueur si aucun centre Pokémon n'est inscrit après une défaite."
+
+msgid "Map ID of this Pokemon Center's town, and X and Y coordinates of its entrance within that town."
+msgstr "ID de la carte de la ville du centre Pokémon, et les coordonnées X et Y de l'entrée de la ville."
+
+msgid "Map {1} was not found."
+msgstr "Carte {1} n'a pas été trouvée."
+
+msgid "March"
+msgstr "Tonalité: Marche"
+
+msgid "Mark"
+msgstr "Marquer"
+
+msgid "Mark your Pokemon."
+msgstr "Marquez votre Pokémon."
+
+msgid "Masculine"
+msgstr "Masculin"
+
+msgid "Max. HP+{1}\nAttack+{2}\nDefense+{3}\nSp. Atk+{4}\nSp. Def+{5}\nSpeed+{6}"
+msgstr "PV max.+{1}\nAttaque+{2}\nDéfense+{3}\nAt. Spé.+{4}\nDef. Spé.+{5}\nVitesse+{6}"
+
+msgid "Max. HP{1}\nAttack{2}\nDefense{3}\nSp. Atk{4}\nSp. Def{5}\nSpeed{6}"
+msgstr "PV max.{1}\nAttaque{2}\nDéfense{3}\nAT. Spé.{4}\nDef. Spé.{5}\nVitesse{6}"
+
+msgid "Maximum level must be 0 through 9."
+msgstr "Le niveau maximum doit se situer entre 0 et 9."
+
+msgid "Maximum level shouldn't be less than the minimum level."
+msgstr "Le niveau maximal ne peut être inférieur au niveau minimum."
+
+msgid "May"
+msgstr "Mai"
+
+msgid "Medicine"
+msgstr "Soins"
+
+msgid "Mega Ampharos"
+msgstr "Méga-Pharamp"
+
+msgid "Mega Arbok"
+msgstr "Méga-Arbok"
+
+msgid "Mega Archilles"
+msgstr "Méga-Caldéraptor"
+
+msgid "Mega Baariette"
+msgstr "Méga-Cauchebouk"
+
+msgid "Mega Daikatuna"
+msgstr "Méga-Daikathona"
+
+msgid "Mega Dramsama"
+msgstr "Méga-Dramsama"
+
+msgid "Mega Drilgann"
+msgstr "Méga-Tauperfore"
+
+msgid "Mega Electruxo"
+msgstr "Méga-Cavalux"
+
+msgid "Mega Gengar"
+msgstr "Méga-Ectoplasma"
+
+msgid "Mega Gyarados"
+msgstr "Méga-Leviator"
+
+msgid "Mega Inflagetah"
+msgstr "Méga-Enflaguépar"
+
+msgid "Mega Kiricorn"
+msgstr "Méga-Kiricorne"
+
+msgid "Mega Metalynx"
+msgstr "Méga-Métalynx"
+
+msgid "Mega S51-A T"
+msgstr "Méga-S51-A T"
+
+msgid "Mega Sableye"
+msgstr "Méga-Ténéfix"
+
+msgid "Mega Syrentide"
+msgstr "Méga-Sirénaïade"
+
+msgid "Mega Whimsicott"
+msgstr "Méga-Farfaduvet"
+
+msgid "Mega {1}"
+msgstr "Méga {1}"
+
+msgid "Micle Berries"
+msgstr "Baies Micle"
+
+msgid "Mid"
+msgstr "Moyen"
+
+msgid "Mild"
+msgstr "Doux"
+
+msgid "Mind"
+msgstr "Esprit"
+
+msgid "Minimum level is greater than maximum level: {1}\n{2}"
+msgstr "Minimum level is greater than maximum level: {1}\n{2}"
+
+msgid "Minimum level must be 0 through 9."
+msgstr "Le niveau minimum doit se situer entre 0 et 9."
+
+msgid "Mischievous."
+msgstr "Malicieux."
+
+msgid "Mist swirled about the battlefield!"
+msgstr "Brume tourne autour du champ de bataille!"
+
+msgid "Mixed"
+msgstr "Mélangé"
+
+msgid "Mixed gender"
+msgstr "Genre mixés"
+
+msgid "Modest"
+msgstr "Modeste"
+
+msgid "Monday"
+msgstr "Lundi"
+
+msgid "Money Per Level"
+msgstr "Argent Par Niveau"
+
+msgid "Money:\n{1}"
+msgstr "Argent :\n{1}"
+
+msgid "Money:\n${1}"
+msgstr "Argent :\n{1}$"
+
+msgid "Money:\n{1}"
+msgstr "Argent:\n{1}"
+
+msgid "Most of it is illegible, I can only make out a few words."
+msgstr "La plupart est illisible, je ne peux discerner que quelques mots."
+
+msgid "Most of the pages are missing. I can't make out anything."
+msgstr "La plupart des pages sont manquantes. Je ne peux rien discerner."
+
+msgid "Move"
+msgstr "Déplacer"
+
+msgid "Move 1"
+msgstr "Mouvement 1"
+
+msgid "Move 2"
+msgstr "Mouvement 2"
+
+msgid "Move 3"
+msgstr "Mouvement 3"
+
+msgid "Move 4"
+msgstr "Mouvement 4"
+
+msgid "Move Pokémon"
+msgstr "Déplacer Pokémon"
+
+msgid "Move Pokémon stored in Boxes to your party."
+msgstr "Déplacer les Pokémon rangés dans les boîtes, dans votre équipe."
+
+msgid "Move Pokémon stored in boxes to your party."
+msgstr "Déplacer le Pokémon de la boîte dans votre groupe."
+
+msgid "Move items held by any Pokémon in a Box and your party."
+msgstr "Prendre les objets tenus par n'importe quel Pokémon dans la Boîte et votre groupe."
+
+msgid "Move to Bag"
+msgstr "Aller dans le Sac"
+
+msgid "Move to where?"
+msgstr "Déplacer ici?"
+
+msgid "Moves"
+msgstr "Coups"
+
+msgid "Moves the main character. Also used to scroll through list entries."
+msgstr "Bouge le joueur. Également utilisé pour faire défiler les listes."
+
+msgid "Multi Ability Ribbon"
+msgstr "Ruban Habileté Multiple"
+
+msgid "Multiply"
+msgstr "Multiplie"
+
+msgid "Music Volume"
+msgstr "Volume de la Musique"
+
+msgid "My Pokémon have saved countless lives on the sea. We're ready for any challenge!"
+msgstr "Mes Pokémon ont sauvé un nombre incalculable de vies en mer. Nous sommes prêts pour n'importe quel défi!"
+
+msgid "My Pokémon's fiery dance moves will ignite the battlefield!"
+msgstr "Les pas de danses féroces de mes Pokémon enflammeront le champ de bataille!"
+
+msgid "Mystery Gift"
+msgstr "Cadeau Mystère"
+
+msgid "NAME: {1}"
+msgstr "NOM : {1}"
+
+msgid "NO"
+msgstr "NON"
+
+msgid "NOT ABLE"
+msgstr "NON APTE"
+
+msgid "NOT ENTERED"
+msgstr "PAS ENTRÉ"
+
+msgid "NOW RECORDING\nPress ESC to stop recording."
+msgstr "ENREGISTREMENT EN COURS\nAppuyez sur ESC pour arrêter l'enregistrement."
+
+msgid "Naive"
+msgstr "Naïf"
+
+msgid "Name"
+msgstr "Nom"
+
+msgid "Name of the Pokémon."
+msgstr "Nom du Pokémon."
+
+msgid "Name of the Trainer."
+msgstr "Nom du Dresseur."
+
+msgid "Name of the trainer type as displayed by the game."
+msgstr "Nom du Dresseur type qui s'affiche en jeu."
+
+msgid "Name of the trainer type for this Trainer."
+msgstr "Nom du type du Dresseur pour ce Dresseur."
+
+msgid "Name: {1}"
+msgstr "Nom : {1}"
+
+msgid "Name{1}
"
+msgstr "Nom{1}
"
+
+msgid "Nanab Berries"
+msgstr "Baies Nanab"
+
+msgid "National Champion Ribbon"
+msgstr "Ruban Champion National"
+
+msgid "National Pokédex"
+msgstr "Pokédex National"
+
+msgid "National Ribbon"
+msgstr "Ruban National"
+
+msgid "Nature of the Pokémon."
+msgstr "Nature du Pokémon."
+
+msgid "Nature {1} is being forced."
+msgstr "La nature de {1} est forcée."
+
+msgid "Nature {1} is natural."
+msgstr "La nature de {1} est naturelle."
+
+msgid "Naughty"
+msgstr "Mauvais"
+
+msgid "Neutral"
+msgstr "Neutre"
+
+msgid "New Game"
+msgstr "Nouvelle partie"
+
+msgid "New Name:"
+msgstr "Nouveau Nom :"
+
+msgid "New Number:"
+msgstr "Nouveau Numéro :"
+
+msgid "New maps copied to the Data folder were successfully imported."
+msgstr "Les nouvelles cartes copiées dans le dossier des Données ont été importées avec succès."
+
+msgid "Newer"
+msgstr "Plus récente"
+
+msgid "Nickname"
+msgstr "Surnom"
+
+msgid "No"
+msgstr "Non"
+
+msgid "No Data in PokeData.txt"
+msgstr "Pas de données dans PokeData.txt"
+
+msgid "No Entry"
+msgstr "Entrée interdite"
+
+msgid "No Pokemon was found."
+msgstr "Aucun Pokémon trouvé."
+
+msgid "No Pokémon are in the Day Care."
+msgstr "Aucun Pokémon n'est à la Garderie."
+
+msgid "No Pokémon species are defined in pokemon.txt"
+msgstr "Aucune espèce Pokémon n'est définie dans pokemon.txt"
+
+msgid "No Pokémon type is defined in section {2} (PBS/pokemon.txt)"
+msgstr "Aucun type Pokémon n'est défini en section {2} (PBS/pokemon.txt)"
+
+msgid "No ability"
+msgstr "Pas d'abilité"
+
+msgid "No animations exist."
+msgstr "Aucune animation n'existe."
+
+msgid "No encounters for map {1}, so can't judge contest"
+msgstr "Aucun combat pour la carte {1}, le conflit ne peut être jugé"
+
+msgid "No identical hold items."
+msgstr "Pas d'objets tenus identiques."
+
+msgid "No identical nicknames."
+msgstr "Pas de surnoms identiques."
+
+msgid "No item"
+msgstr "Pas d'objet"
+
+msgid "No items may be used other than what the Pokémon already hold."
+msgstr "Aucun autre objet que ceux tenus par les Pokémon ne peut être utilisé."
+
+msgid "No matching Pokémon were found."
+msgstr "Aucune correspondance Pokémon n'a été trouvée."
+
+msgid "No more than {1} Pokémon may enter."
+msgstr "Pas plus de {1} Pokémon ne peut entrer."
+
+msgid "No new gifts are available."
+msgstr "Aucun nouveau cadeau n'est disponible."
+
+msgid "No online Mystery Gifts found.\\wtnp[20]"
+msgstr "Aucun Cadeau Mystère n'a été trouvé.\\wtnp[20]"
+
+msgid "No options have been disabled."
+msgstr "Aucune option n'a été désactivée."
+
+msgid "No region maps are defined."
+msgstr "Aucunes cartes des régions n'ont été définies."
+
+msgid "No roaming Pokémon defined."
+msgstr "Aucun Pokémon vagabond défini."
+
+msgid "No room to deposit a Pokémon"
+msgstr "Aucune place pour déposer un Pokémon"
+
+msgid "No starting position was set in the map editor."
+msgstr "Aucune position de départ n'a été établie sur la carte."
+
+msgid "No supported recording device was found. Recording is not possible."
+msgstr "Un micro non supporté a été trouvé. L'enregistrement n'est pas possible."
+
+msgid "No surfing here!"
+msgstr "Vous ne pouvez surfer ici!"
+
+msgid "No targets somehow..."
+msgstr "Aucune cible de toute façon..."
+
+msgid "No trainer data file given in section {1}\n{2}"
+msgstr "Aucun dossier de données de Dresseur dans la section {1}\n{2}"
+
+msgid "No weather"
+msgstr "Pas de météo"
+
+msgid "No! There's no running from a Nuclear Horde!"
+msgstr "Non! Aucune échappatoire face à la Horde Nucléaire!"
+
+msgid "No! There's no running from a Trainer battle!"
+msgstr "Non! Il n'y a pas d'échappatoire dans un combat de Dresseur!"
+
+msgid "Nomel Berries"
+msgstr "Baies Tronci"
+
+msgid "None"
+msgstr "Rien"
+
+msgid "Nope. Nothing..."
+msgstr "Non. Rien..."
+
+msgid "Normal Save"
+msgstr "Sauvegarde Normale"
+
+msgid "North side of first map must connect with south side of second map\n{1}"
+msgstr "Le côté nord de la première carte doit être connecté avec le côté sud de la seconde carte\n{1}"
+
+msgid "Not a Shadow Pokémon."
+msgstr "N'est pas un Pokémon Obscur."
+
+msgid "Not an egg"
+msgstr "Pas un oeuf"
+
+msgid "Not enough HP..."
+msgstr "Pas assez de PV..."
+
+msgid "Not even a nibble..."
+msgstr "Rien de rien..."
+
+msgid "Not... strong enough..."
+msgstr "Pas... assez fort...?"
+
+msgid "Note: The number of storage spaces ({1} boxes of 30) is less than the number of species."
+msgstr "Note: le nombre d'espace de stockage ({1} boîtes sur 30) est inférieur au nombre d'espèces."
+
+msgid "Note: You will NOT be able to change these later!"
+msgstr "Note: Tu ne pourras PAS les changer plus tard!"
+
+msgid "November"
+msgstr "Novembre"
+
+msgid "Now enter the trainer's name."
+msgstr "Entrez maintenant le nom du Dresseur."
+
+msgid "Nuclear"
+msgstr "Nucléaire"
+
+msgid "Num Lock"
+msgstr "Ver Pavé Numérique"
+
+msgid "Number"
+msgstr "Mode numérique"
+
+msgid "Number of frames:"
+msgstr "Nombre de cadres :"
+
+msgid "Number of rounds is 0 or less."
+msgstr "Nombre de tours 0 ou moins."
+
+msgid "Number of the Poké Ball the Pokémon is kept in."
+msgstr "Numéro de la Poké Ball dans laquelle se trouve le Pokémon."
+
+msgid "Numpad 0"
+msgstr "PavéNumérique 0"
+
+msgid "Numpad 1"
+msgstr "PavéNumérique 1"
+
+msgid "Numpad 2"
+msgstr "PavéNumérique 2"
+
+msgid "Numpad 3"
+msgstr "PavéNumérique 3"
+
+msgid "Numpad 4"
+msgstr "PavéNumérique 4"
+
+msgid "Numpad 5"
+msgstr "PavéNumérique 5"
+
+msgid "Numpad 6"
+msgstr "PavéNumérique 6"
+
+msgid "Numpad 7"
+msgstr "PavéNumérique 7"
+
+msgid "Numpad 8"
+msgstr "PavéNumérique 8"
+
+msgid "Numpad 9"
+msgstr "PavéNumérique 9"
+
+msgid "OBTAINED{1:d}"
+msgstr "OBTENU{1:d}"
+
+msgid "OT"
+msgstr "DO"
+
+msgid "OTHERS"
+msgstr "AUTRES"
+
+msgid "Oak"
+msgstr "Show du prof. Chêne"
+
+msgid "Occa Berries"
+msgstr "Baies Chocco"
+
+msgid "October"
+msgstr "Octobre"
+
+msgid "Of the 32 trainers that entered the arena today, only 8 remain!"
+msgstr "Parmi les 32 Dresseurs qui ont sont rentrés dans l'Arène aujourd'hui, seul 8 sont encore en lisse!"
+
+msgid "Often dozes off."
+msgstr "Dors souvent."
+
+msgid "Often lost in thought."
+msgstr "Souvent perdu dans ses pensées."
+
+msgid "Often scatters things."
+msgstr "Éparpille souvent les choses."
+
+msgid "Oh no! The Pokémon broke free!"
+msgstr "Oh non! Le Pokémon s'est libéré!"
+
+msgid "Oh!\nA Shadow Pokemon!"
+msgstr "Ohv!\nUn Pokémon Spectre!"
+
+msgid "Oh! A bite!"
+msgstr "\nOh! Ça mord!"
+
+msgid "Oh! \\PN, it is good to see you again.\nI'll never forget how you rescued me from the clutches of the Seikamater.\nIn my Gym, you dazzled us with your flawless coordinated moves.\nI can see you have gotten far stronger. But so have we!\nCan you keep up with our fast footwork?\nLet our beautiful dance moves set this arena aflame!"
+msgstr "Oh! \\PN, c'est bon de te revoir.\nMerci encore de nous avoir sauvé, moi et mon équipe, des griffes de Seikamater.\nDéjà à mon Arène, tes mouvements coordonnés nous ont éblouis.\nEt je vois que tu es devenu encore plus fort. Mais nous aussi!\nPourrez-vous suivre notre jeu de jambe rapide?\nQue nos magnifiques pas de danses mettent le feu à ce stade!"
+
+msgid "Oh, marvelous! And in such good condition too."
+msgstr "Oh, quelle merveille! Et en bon état de conservation."
+
+msgid "Oh, your {1}... It's Hidden Power is {2} type with a base power of {3}."
+msgstr "Oh, ton {1}... Sa Puissance Caché est de Type {2} avec une base d'attaque de {3}."
+
+msgid "Oh... my... GOSH!!\nCan it be? Is it \\PN?\nI totally remember you!\nIt feels like forever ago that you challenged my gym.\nYou know, I totally went easy on you back then, right?~\nBut here in the arena, I won't hold back at all!\nI didn't win the Championship one time by slacking off, ya know?"
+msgstr "Oh... par... ARCEUS!!\n\\PN?!\nC'est toi! Comment va?\nJ'ai l'impression que ça fait une éternité que t'as débarqué dans mon Arène, et maintenant tu es le \"Héros de Tandor\"! Si t'as des fans trop insistants, appelle-moi et je lâcherai Féligre sur eux! Hé hé...\nBon, tu sais que j'y étais allée mollo, hein?~\nÇa fait du bien de savoir que là je vais pouvoir t'affronter au max!\nJ'ai pas remporté la Ligue en lambinant!"
+
+msgid "Old Number: {1}"
+msgstr "Ancien Numéro : {1}"
+
+msgid "Old School Poison"
+msgstr "Poison à l'Ancienne"
+
+msgid "Omigosh! You're totally incredible!~"
+msgstr "Oh la la! Je savais que t'étais doué!~"
+
+msgid "Once again...\nI am shown defeat.\nHow can I cope with such disgrace?\nTo my home village, I return once again."
+msgstr "À nouveau...\nJe suis vaincu.\nComment vivre avec cet honteux fardeau?\nDans mon village natal, je retourne à nouveau."
+
+msgid "One or more fonts used in this game do not exist on the system."
+msgstr "Une ou plusieurs polices de caractères utilisées en jeu n'existent pas dans le système."
+
+msgid "One {1} was found, but you have no room for it."
+msgstr "Un {1} a été trouvé, mais vous n'avez pas de place."
+
+msgid "One {1} was obtained.\\se[itemlevel]\\wtnp[30]"
+msgstr "Un {1} a été obtenu.\\se[itemlevel]\\wtnp[30]"
+
+msgid "Online ID set to {1}."
+msgstr "L'ID En ligne est devenu{1}."
+
+msgid "Online Mystery Gifts found.\\wtnp[20]"
+msgstr "Un Cadeau Mystère a été trouvé.\\wtnp[20]"
+
+msgid "Only a Shadow Pokémon can go there."
+msgstr "Seul un Pokémon Obscur peut venir ici."
+
+msgid "Only four trainers remain in the arena. They are Tandor's best and brightest!"
+msgstr "Il reste quatre Dresseurs dans cette Arène. Ils sont la crème de la crème du grand gâteau de Tandor!"
+
+msgid "Only one or two wild Pokémon are allowed"
+msgstr "Seulement un ou deux Pokémon sont autorisés!"
+
+msgid "Only one wild Pokémon is allowed in single battles"
+msgstr "Seulement un Pokémon sauvage est autorisé dans les combats simples."
+
+msgid "Only two wild Pokémon are allowed in double battles"
+msgstr "Seulement deux Pokémon sauvages sont autorisés dans les combats doubles."
+
+msgid "Ooh, I'm so excited!"
+msgstr "Ooh, je suis si excité!"
+
+msgid "Opacity/Blending"
+msgstr "Opacité/Mélange"
+
+msgid "Opacity:"
+msgstr "Opacité :"
+
+msgid "Opponent 1 doesn't have any eligible pokemon for a sky battle"
+msgstr "L'adversaire 1 n'a aucun Pokémon éligible pour un combat dans les airs"
+
+msgid "Opponent 1 has no unfainted Pokémon"
+msgstr "L'adversaire 1 ne possède pas de Pokémon évanoui."
+
+msgid "Opponent 1's party has more than three Pokémon, which is not allowed"
+msgstr "Le groupe 1 de l'adversaire possède plus de trois Pokémon, ce qui est interdit"
+
+msgid "Opponent 2 doesn't have any eligible pokemon for a sky battle"
+msgstr "L'adversaire 2 n'a aucun Pokémon éligible pour un combat dans les airs"
+
+msgid "Opponent 2 has no unfainted Pokémon"
+msgstr "L'adversaire 2 ne possède pas de Pokémon évanoui."
+
+msgid "Opponent 2's party has more than three Pokémon, which is not allowed"
+msgstr "Le groupe 2 de l'adversaire possède plus de trois Pokémon, ce qui est interdit"
+
+msgid "Opponent doesn't have two unfainted Pokémon"
+msgstr "L'adversaire ne possède pas deux Pokémon évanouis."
+
+msgid "Opponent has an illegal card, \"{1}\"."
+msgstr "L'adversaire possède une carte illégale, \"{1}\"."
+
+msgid "Opponent trainer must be only one person in single battles"
+msgstr "Le Dresseur adverse doit être seul lors des combats solo."
+
+msgid "Opponent won all your cards."
+msgstr "L'adversaire gagne toutes vos cartes."
+
+msgid "Opponent won your {1} card."
+msgstr "L'adversaire gagne votre carte {1}."
+
+msgid "Opponents with zero or more than two people are not allowed"
+msgstr "Les adversaires avec zéro ou plus de deux personnes ne sont pas admis."
+
+msgid "Or maybe it's just that you're so young, I can't tell.\\^"
+msgstr "Ou c'est peut-être simplement la fougue de la jeunesse, je ne saurais le dire.\\^"
+
+msgid "Oran Berries"
+msgstr "Baies Oran"
+
+msgid "Orchynx is the best pick!\\wtnp[160]"
+msgstr "Pétalynx est le meilleur choix!\\wtnp[160]"
+
+msgid "Organize the Pokémon in Boxes and in your party."
+msgstr "Organiser le Pokémon dans les Boîtes et dans votre groupe."
+
+msgid "Other Save Files"
+msgstr "Autres fichiers de sauvegarde"
+
+msgid "Our sophisticated strategy will overcome trainers of a lower class."
+msgstr "Notre stratégie sophistiquée fera plier les Dresseurs de classe inférieur."
+
+msgid "Owned Pokémon are listed from heaviest to lightest."
+msgstr "les Pokémon possédés sont listés du plus lourd au plus léger."
+
+msgid "Owned Pokémon are listed from lightest to heaviest."
+msgstr "les Pokémon possédés sont listés du plus léger au plus lourd."
+
+msgid "Owned Pokémon are listed from smallest to tallest."
+msgstr "les Pokémon possédés sont listés du plus petit au plus grand."
+
+msgid "Owned Pokémon are listed from tallest to smallest."
+msgstr "les Pokémon possédés sont listés du plus grand au plus petit."
+
+msgid "Ownership"
+msgstr "Propriété"
+
+msgid "PA: Ding-dong!"
+msgstr "PA : Ding-dong!"
+
+msgid "PA: You have no Safari Balls left! Game over!"
+msgstr "PA : Vous n'avez plus de Safari Balls! Le jeu est terminé!"
+
+msgid "PA: Your safari game is over!"
+msgstr "PA : Le jeu safari est terminé!"
+
+msgid "PKMN FOR SWAP"
+msgstr "PKMN POUR ÉCHANGE"
+
+msgid "PLAYING BACK..."
+msgstr "LECTURE..."
+
+msgid "PNG files named 'battlebgXXX', 'enemybaseXXX', 'playerbaseXXX' in Battlebacks folder, where XXX is this property's value."
+msgstr "Les fichiers png nommés 'battlebgXXX', 'enemybaseXXX', 'playerbaseXXX' dans le fichier Battlebaks, où XXX est la valeur de leurs paramètres."
+
+msgid "POKeDEX:"
+msgstr "POKÉDEX:"
+
+msgid "POKéMON SWAP"
+msgstr "ÉCHANGE POKÉMON"
+
+msgid "POWER"
+msgstr "PUISSANCE"
+
+msgid "PP was restored."
+msgstr "Les PP ont été restaurés."
+
+msgid "PRECISE ATTACK"
+msgstr "ATTAQUE PRÉCISE"
+
+msgid "PU-Intro1"
+msgstr "../Translations/French/PU-Intro1_fr"
+
+msgid "Page Down"
+msgstr "Bas de Page"
+
+msgid "Page Up"
+msgstr "Haut de Page"
+
+msgid "Pair Ability Ribbon"
+msgstr "Ruban Paire Habileté"
+
+msgid "Pamtre Berries"
+msgstr "Baies Palma"
+
+msgid "Party 1 has more than {1} Pokémon."
+msgstr "Le groupe 1 possède plus de Pokémon {1}."
+
+msgid "Party 1 has no Pokémon."
+msgstr "Partie 1 n'a aucun Pokémon."
+
+msgid "Party 2 has more than {1} Pokémon."
+msgstr "Le groupe 2 possède plus de Pokémon {1}."
+
+msgid "Party 2 has no Pokémon."
+msgstr "Partie 2 n'a aucun Pokémon."
+
+msgid "Party is empty, can't desposit Pokémon."
+msgstr "L'équipe est vide, vous ne pouvez déposer de Pokémon."
+
+msgid "Party is full, can't collect the egg."
+msgstr "L'équipe est pleine, vous ne pouvez prende l'oeuf."
+
+msgid "Party is full, can't withdraw Pokémon."
+msgstr "L'équipe est pleine, vous ne pouvez retirer de Pokémon."
+
+msgid "Passho Berries"
+msgstr "Baies Pocpoc"
+
+msgid "Paste"
+msgstr "Coller"
+
+msgid "Paste Frame"
+msgstr "Coller le Cadre"
+
+msgid "Paste Last"
+msgstr "Copier le Dernier"
+
+msgid "Patience and endurance are your biggest assets.\\^"
+msgstr "Patience et endurance sont tes plus grandes qualités.\\^"
+
+msgid "Pattern"
+msgstr "Modèle"
+
+msgid "Pattern:"
+msgstr "Modèle :"
+
+msgid "Payapa Berries"
+msgstr "Baies Yapap"
+
+msgid "Pecha Berries"
+msgstr "Baies Pêcha"
+
+msgid "Performance Mode"
+msgstr "Mode Performance"
+
+msgid "Permanently disable the options you unchecked."
+msgstr "Désactive de manière permanente les options que vous avez décoché."
+
+msgid "Persim Berries"
+msgstr "Baies Kika"
+
+msgid "Petaya Berries"
+msgstr "Baies Pitaye"
+
+msgid "Phew! That was fun!"
+msgstr "Ouf! C'était amusant!"
+
+msgid "Phone"
+msgstr "Téléphone"
+
+msgid "Pick the wallpaper."
+msgstr "Choisir le fond d'écran"
+
+msgid "Picnicker Cindy"
+msgstr "Pique-Nique Cindy"
+
+msgid "Pinap Berries"
+msgstr "Baies Nanana"
+
+msgid "Pink"
+msgstr "Rose"
+
+msgid "Pitch:"
+msgstr "Pas:"
+
+msgid "PkMn Trainer"
+msgstr "Dresseur PkMn"
+
+msgid "Place"
+msgstr "Placer"
+
+msgid "Place the card."
+msgstr "Placez la carte."
+
+msgid "Plant Berry"
+msgstr "Planter Baie"
+
+msgid "Play Animation"
+msgstr "Jouer l'Animation"
+
+msgid "Play Credits"
+msgstr "Voir les Crédits"
+
+msgid "Play Sound"
+msgstr "Jouer le Son"
+
+msgid "Play Voltorb Flip Lv. {1}?"
+msgstr "Jouer à Voltorbataille Nv. {1}?"
+
+msgid "Play the game in {1}?"
+msgstr "Jouer au jeu en {1}?"
+
+msgid "Play the game with a custom ruleset for increased difficulty.\nNot recommended for new players."
+msgstr "Vous jouerez au jeu avec des règles personalisées pour une plus haute difficulté.\nPas recommandé aux joueurs débutants."
+
+msgid "Player 1 has no unfainted Pokémon"
+msgstr "Le Joueur 1 n'a aucun Pokémon en état de combattre."
+
+msgid "Player 2 has no unfainted Pokémon"
+msgstr "Le Joueur 2 n'a aucun Pokémon en état de combattre."
+
+msgid "Player doesn't have two unfainted Pokémon"
+msgstr "Le Joueur ne possède pas de Pokémon évanoui."
+
+msgid "Player earns this amount times the highest level among the trainer's Pokémon."
+msgstr "Le joueur gagne ce montant ainsi que le plus haut niveau des Pokémon du Dresseur."
+
+msgid "Player has no unfainted Pokémon"
+msgstr "Le Joueur ne possède pas de Pokémon evanoui."
+
+msgid "Player trainer must be only one person in single battles"
+msgstr "Le Dresseur doit être seul lors des combats solo."
+
+msgid "Player trainers with zero or more than two people are not allowed"
+msgstr "Les Dresseurs avec zéro ou plus de deux personnes ne sont pas admis."
+
+msgid "Player's Pokémon\n{1}\n{2}\n{3} ({4})"
+msgstr "Pokémon du joueur\n{1}\n{2}\n{3} ({4})"
+
+msgid "Player's outfit was changed."
+msgstr "La tenue a été changée."
+
+msgid "Player{2}
"
+msgstr "Joueur{2}
"
+
+msgid "Please choose the new settings for your Nuzlocke game."
+msgstr "Choisis les nouveaux paramètres de ta partie de Nuzlocke."
+
+msgid "Please come again!"
+msgstr "Revenez quand vous voulez!"
+
+msgid "Please enter a message (max. 256 characters)."
+msgstr "Merci d'entrer un message (max. 256 caractères)."
+
+msgid "Please enter a message (max. {1} characters)."
+msgstr "Merci d'entrer un message (max. {1} caractères)."
+
+msgid "Please enter the first Pokémon."
+msgstr "Merci d'entrer le premier Pokémon."
+
+msgid "Please enter the search criteria."
+msgstr "Merci d'entrer les critères de recherche."
+
+msgid "Please enter the trainer type's name."
+msgstr "s'il-vous-plaît, entrez le nom du Dresseur."
+
+msgid "Please pick up your gift from the deliveryman in any Poké Mart."
+msgstr "Merci de vous rendre dans un Magasin Pokémon afin de récupérer votre cadeau."
+
+msgid "Please remove the Mail."
+msgstr "Merci de retirer le Courrier."
+
+msgid "Please remove the mail."
+msgstr "Retirez le courrier S'il-vous-plaît."
+
+msgid "Please wait.\\wtnp[0]"
+msgstr "Attendez s'il-vous-plaît.\\wtnp[0]"
+
+msgid "Please, run the patcher.exe on your game folder."
+msgstr "Veuillez lancer le \"Patcher\" dans le dossier du jeu."
+
+msgid "Pointed stones dug into {1}!"
+msgstr "Des rochers pointus creusent dans {1}!"
+
+msgid "Pointed stones float in the air around your foe's team!"
+msgstr "Des pierres pointues flottent autour de l'équipe ennemie!"
+
+msgid "Pointed stones float in the air around your team!"
+msgstr "Des pierres pointues flottent autour de votre équipe!"
+
+msgid "Poison spikes were scattered all around the opposing team's feet!"
+msgstr "Des Pics Toxik se répandent autour de l'équipe ennemie!"
+
+msgid "Poison spikes were scattered all around your team's feet!"
+msgstr "Des piques empoisonnées s'éparpillent autour de votre équipe!"
+
+msgid "PokeData.txt not found."
+msgstr "PokeData.txt n'as pas été trouvé."
+
+msgid "Pokedex/dex_discover"
+msgstr "../Translations/French/dex_discover_fr"
+
+msgid "Pokedex/searchdex"
+msgstr "../Translations/French/searchdex_fr"
+
+msgid "Pokedex/selectdex"
+msgstr "../Translations/French/selectdex_fr"
+
+msgid "Pokemon"
+msgstr "Pokémon"
+
+msgid "Pokemon Box data is corrupt and can not be automatically recovered."
+msgstr "Boite de Données Pokémon est corrompue et ne peux pas être restaurée automatiquement ."
+
+msgid "Pokemon Box data was corrupt and has been automatically recovered."
+msgstr "Boite de Données Pokémon a été corrompue et restaurée automatiquement ."
+
+msgid "Poké Marts are disabled by your custom game settings!"
+msgstr "Les Boutiques Pokémon sont désactivés par les paramètres de ta partie personnalisée."
+
+msgid "Pokédex registration completed."
+msgstr "Pokédex rempli."
+
+msgid "Pokédex:"
+msgstr "Pokédex :"
+
+msgid "Pokémon Event Participation Ribbon."
+msgstr "Ruban de Participation à un Évènement Pokémon."
+
+msgid "Pokémon League Champion Ribbon."
+msgstr "Ruban du Champion de la League Pokémon."
+
+msgid "Pokémon World Championships National Champion Ribbon."
+msgstr "Ruban du Champion National du Championnat Mondial Pokémon."
+
+msgid "Pokémon World Championships Regional Champion Ribbon."
+msgstr "Ruban du Champion Régional du Championnat Mondial Pokémon."
+
+msgid "Pokémon World Championships World Champion Ribbon."
+msgstr "Ruban du Champion Mondial du Championnat Mondial Pokémon."
+
+msgid "Pokémon already has mail"
+msgstr "Le Pokémon a déjà un courrier"
+
+msgid "Pokémon are listed according to their number."
+msgstr "les Pokémon sont classés selon leur numéro."
+
+msgid "Pokémon can be killed by poison outside of battle as in the first three gens."
+msgstr "Le poison peut mettre les Pokémon K.O. hors-combat, comme dans la 3G."
+
+msgid "Pokémon can't be the same."
+msgstr "Le Pokémon ne peut être le même."
+
+msgid "Pokémon have roamed."
+msgstr "les Pokémon ont erré."
+
+msgid "Pokémon of a species you already caught don't count as an encounter if you run."
+msgstr "Les Pokémon déjà obtenus ne comptent pas comme 1ère rencontre si vous fuyez."
+
+msgid "Pomeg Berries"
+msgstr "Baies Grena"
+
+msgid "Poof!"
+msgstr "Pouf!"
+
+msgid "Position {1},{2} is empty..."
+msgstr "Position {1},{2} est vide..."
+
+msgid "Position {1},{2} is not empty..."
+msgstr "Position {1},{2} n'est pas vidé..."
+
+msgid "Premier Ribbon"
+msgstr "Ruban Premier"
+
+msgid "Preparing to generate teams"
+msgstr "Préparation pour générer les équipes"
+
+msgid "Press a new key."
+msgstr "Appuyez sur une touche."
+
+msgid "Press to use a registered Key Item."
+msgstr "Utilise un Objet rare enregistré."
+
+msgid "Prevents Pokémarts from being used."
+msgstr "Empêche les Boutiques Pokémon d'être utilisées."
+
+msgid "Prevents the player from using healing items in battle."
+msgstr "Empêche le joueur d'utiliser des objets de soin en combat."
+
+msgid "Print"
+msgstr "Imprimer"
+
+msgid "Print Screen"
+msgstr "Imprimer Écran"
+
+msgid "Priority"
+msgstr "Priorité"
+
+msgid "Priority:"
+msgstr "Priorité :"
+
+msgid "Proceed anyway?"
+msgstr "Continuer quand même?"
+
+msgid "Processing common events"
+msgstr "Traitement des événements communs"
+
+msgid "Processing line {1}"
+msgstr "Ligne de traitement{1}"
+
+msgid "Processing map {1} ({2})"
+msgstr "Carte en traitement {1} ({2})"
+
+msgid "Processing moves {1}..."
+msgstr "Attaques en traitement {1}..."
+
+msgid "Processing species {1}..."
+msgstr "Traitement des espèces {1}..."
+
+msgid "Prog--- is ---- --- -- --dename 092. --- ----- --- from radiation-----s biofiber. It ---- -- ---- to reconstru-- --- -- damage-"
+msgstr "Prog--- est ---- --- -- --fini 092. --- ----- --- par les radiations-----s biofibre. Il ---- -- ---- pour reconstru-- --- -- dégâts-"
+
+msgid "Pronouns"
+msgstr "Pronoms"
+
+msgid "Properties..."
+msgstr "Propriétés..."
+
+msgid "Proud of its power."
+msgstr "Fier de sa puissance."
+
+msgid "Psychic"
+msgstr "Psy"
+
+msgid "Purify Chamber"
+msgstr "Chambre de purification"
+
+msgid "Purple"
+msgstr "Violet"
+
+msgid "Put the Trainer's graphic (trainer{1:03d}.png or trainer{2:s}.png) in Graphics/Characters, or it will be blank."
+msgstr "met l'image du Dresseur (trainer{1:03d}.png or trainer{2:s}.png) dans Graphics/Characters, ou il sera blanc."
+
+msgid "Qualot Berries"
+msgstr "Baies Qualot"
+
+msgid "Quick Guard protected your team!"
+msgstr "Prévention protège votre équipe!"
+
+msgid "Quick Guard protected {1}!"
+msgstr "Prévention protège {1}!"
+
+msgid "Quick Hatch"
+msgstr "Piège Rapide"
+
+msgid "Quick tempered."
+msgstr "S'emporte rapidement."
+
+msgid "Quick to flee."
+msgstr "S'enfuit rapidement."
+
+msgid "Quiet"
+msgstr "Discret"
+
+msgid "Quirky"
+msgstr "Bizarre"
+
+msgid "Quit"
+msgstr "Quitter"
+
+msgid "Quit shopping."
+msgstr "Arrêter les achats."
+
+msgid "Quit swapping?"
+msgstr "Quitter l'échange?"
+
+msgid "RECHOOSE"
+msgstr "RECHOISIR"
+
+msgid "REFEREE: Judging category 1, Mind!\nThe Pokemon showing the most guts!\\wtnp[40]"
+msgstr "ARBITRE : Jugement catégorie 1, l'Esprit!\nLe Pokémon qui a montré le plus de cran!\\wtnp[40]"
+
+msgid "REFEREE: Judging category 2, Skill!\nThe Pokemon using moves the best!\\wtnp[40]"
+msgstr "ARBITRE : Jugement catégorie 2, Compétence!\nLe Pokémon qui a le mieux utilisé ses attaques!\\wtnp[40]"
+
+msgid "REFEREE: Judging category 3, Body!\nThe Pokemon with the most vitality!\\wtnp[40]"
+msgstr "ARBITRE : Jugement catégorie 3, le Corps!\nLe Pokémon avec le plus de vitalité!\\wtnp[40]"
+
+msgid "REFEREE: Judgment: {1} to {2}!\nThe winner is {3}!\\wtnp[40]"
+msgstr "ARBITRE : Jugement : {1} à {2}!\nLe gagnant est {3}!\\wtnp[40]"
+
+msgid "REFEREE: Judgment: {1} to {2}!\nThe winner is {3}'s {4}!\\wtnp[40]"
+msgstr "ARBITRE : Jugement : {1} à {2}!\nLe gagnant est le {4} de {3}!\\wtnp[40]"
+
+msgid "REFEREE: Judgment: {1} to {2}!\nWe have a draw!\\wtnp[40]"
+msgstr "ARBITRE : Jugement : {1} à {2}!\nNous avons un tirage!\\wtnp[40]"
+
+msgid "REFEREE: That's it! We will now go to judging to determine the winner!\\wtnp[20]"
+msgstr "ARBITRE : C'est terminé! Nous allons à présent délibérer pour déterminer le vainqueur!\\wtnp[20]"
+
+msgid "REFEREE: {1} VS {2}!\nCommence battling!\\wtnp[20]"
+msgstr "ARBITRE : {1} VS {2}!\nCommencez le combat!\\wtnp[20]"
+
+msgid "RENT"
+msgstr "LOUER"
+
+msgid "RENTAL"
+msgstr "LOCATION"
+
+msgid "RENTAL POKéMON"
+msgstr "LOCATION POKÉMON"
+
+msgid "REPLACE"
+msgstr "REMPLACER"
+
+msgid "RESULTS{1:d}"
+msgstr "RÉSULTATS{1:d}"
+
+msgid "ROTATE"
+msgstr "ROTATION"
+
+msgid "Rabuta Berries"
+msgstr "Baies Rabuta"
+
+msgid "Rain"
+msgstr "Pluie"
+
+msgid "Rain continues to fall."
+msgstr "La pluie continue de tomber."
+
+msgid "Raises trainer's Pokémon levels while keeping the same EXP yields."
+msgstr "Augmente les niveaux des dresseurs adverses sans changer les gains d'EXP."
+
+msgid "Random foreign ID"
+msgstr "ID étrangère aléatoire"
+
+msgid "Randomise Player's ID"
+msgstr "Définir l'ID Joueur au hasard"
+
+msgid "Randomise all"
+msgstr "Tout randomiser"
+
+msgid "Randomizer"
+msgstr "Aléatoire"
+
+msgid "Raptorch is the best pick!\\wtnp[160]"
+msgstr "Raptorche est le meilleur choix!\\wtnp[160]"
+
+msgid "Rash"
+msgstr "Foufou"
+
+msgid "Rawst Berries"
+msgstr "Baies Fraive"
+
+msgid "Razz Berries"
+msgstr "Baies Framby"
+
+msgid "Reached end of file unexpectedly. There were too few entries in the last section, expected {1} entries.\nPlease check the format of the section numbered {2}.\n{3}"
+msgstr "Reached end of file unexpectedly. There were too few entries in the last section, expected {1} entries.\nPlease check the format of the section numbered {2}.\n{3}"
+
+msgid "Read"
+msgstr "Lire"
+
+msgid "Ready Phone Rematches"
+msgstr "Ré-affrontement des joueurs dans le téléphone"
+
+msgid "Receive"
+msgstr "Recevoir"
+
+msgid "Received the {1} from {2}."
+msgstr "A reçu le {1} de le part de {2}."
+
+msgid "Record Ribbon"
+msgstr "Ruban Note"
+
+msgid "Recording failed: {1}"
+msgstr "L'enregistrement a échoué : {1}"
+
+msgid "Recording in {1:d} second(s)...\nPress ESC to cancel."
+msgstr "Enregistrement en{1:d} second(s)...\nAppuyez sur ESC pour annuler."
+
+msgid "Red"
+msgstr "Rouge"
+
+msgid "Red Offset:"
+msgstr "Décalage Rouge :"
+
+msgid "Red:"
+msgstr "Rouge :"
+
+msgid "Reflect raised the opposing team's Defense!"
+msgstr "Protection augmente la Défense de l'équipe adverse!"
+
+msgid "Reflect raised your team's Defense!"
+msgstr "Protection augmente la Défense de votre équipe!"
+
+msgid "Refresh Map"
+msgstr "Rafraîchir la Carte"
+
+msgid "Regardless...\\. For a Trainer like you...\\^"
+msgstr "Quoi qu'il en soit...\\. Pour un Dresseur comme toi...\\^"
+
+msgid "Regional Champion Ribbon"
+msgstr "Ruban Champion Régional"
+
+msgid "Register"
+msgstr "Enregistrer"
+
+msgid "Registered {1} in the Poképod."
+msgstr "Vous avez enregistré {1} dans le Poképod."
+
+msgid "Registered
"
+msgstr "Enregistré
"
+
+msgid "Regular Mode"
+msgstr "Mode Normal"
+
+msgid "Relax Ribbon"
+msgstr "Ruban Détente"
+
+msgid "Relaxed"
+msgstr "Relax"
+
+msgid "Release"
+msgstr "Relâcher"
+
+msgid "Release All"
+msgstr "Relâcher tous"
+
+msgid "Release this Pokémon?"
+msgstr "Relâcher ce Pokémon?"
+
+msgid "Relic Stone"
+msgstr "Relique Sacrée"
+
+msgid "Remap controls to any other keys."
+msgstr "Redéfinir les contrôles à toute autre touche."
+
+msgid "Remember Save"
+msgstr "Se souvenir de la Sauvergarde"
+
+msgid "Remove Dependent Events"
+msgstr "Retirer les événements"
+
+msgid "Remove override"
+msgstr "Retirer l'annulation"
+
+msgid "Removes some details to improve performance, specially in battle."
+msgstr "Retire quelques détails pour améliorer la performance, surtout en combat."
+
+msgid "Rename"
+msgstr "Renommer"
+
+msgid "Rename Player"
+msgstr "Renommer le Joueur"
+
+msgid "Renumber..."
+msgstr "Renuméroter..."
+
+msgid "Repel isn't working in this location!"
+msgstr "Repousse ne fonctionne pas ici!"
+
+msgid "Repel's effect wore off..."
+msgstr "Les effets du Repousse se dissipent..."
+
+msgid "Report #01"
+msgstr "Rapport #01"
+
+msgid "Report #01:"
+msgstr "Rapport #01:"
+
+msgid "Report #02"
+msgstr "Rapport #02"
+
+msgid "Report #02:"
+msgstr "Rapport #02:"
+
+msgid "Report #03"
+msgstr "Rapport #03"
+
+msgid "Report #03:"
+msgstr "Rapport #03:"
+
+msgid "Report #04"
+msgstr "Rapport #04"
+
+msgid "Report #04:"
+msgstr "Rapport #04:"
+
+msgid "Report #05"
+msgstr "Rapport #05"
+
+msgid "Report #05:"
+msgstr "Rapport #05:"
+
+msgid "Required entry {1} is missing or empty in section {2} (PBS/pokemon.txt)"
+msgstr "L'entrée requise {1} est manquante ou vide dans la section {2} (PBS/pokemon.txt)"
+
+msgid "Required value '{1}' not given in section '{2}'\n{3}"
+msgstr "Valeur requise'{1}' non donnée en section '{2}'\n{3}"
+
+msgid "Reset Trainers"
+msgstr "Réinitialiser les Dresseurs"
+
+msgid "Reset movelist"
+msgstr "Réinitialiser la liste d'attaques"
+
+msgid "Reset the setting {1}?"
+msgstr "Réinitialiser le paramètre {1}?"
+
+msgid "Resize Animation List"
+msgstr "Redimensionner la Liste d'Animation"
+
+msgid "Restore which move?"
+msgstr "Restaurer quelle attaque?"
+
+msgid "Return To Game"
+msgstr "Retour au jeu"
+
+msgid "Return To Menu"
+msgstr "Retour au Menu"
+
+msgid "Return to game mode selection menu?"
+msgstr "Retourner au menu de sélection du mode de jeu?"
+
+msgid "Return to previous menu."
+msgstr "Retourner au menu précédent."
+
+msgid "Return to the previous menu."
+msgstr "Retour au menu précédent."
+
+msgid "Ribbon awarded for beating the Sinnoh Champion and entering the Hall of Fame."
+msgstr "Ruban gagné pour avoir vaincu le Champion de Sinnoh et être entré dans le Panthéon."
+
+msgid "Ribbon awarded for being an exceptionally hard worker."
+msgstr "Ruban donné en récompense pour avoir été un travailleur exceptionnel."
+
+msgid "Ribbon awarded for being chosen as a super sketch model in Hoenn."
+msgstr "Ruban donné en récompense pour avoir été élu top modèle à Hoenn."
+
+msgid "Ribbon awarded for clearing Hoenn's Battle Tower's Lv. 100 challenge."
+msgstr "Ruban gagné pour avoir terminé la Tour Combat de Hoenn au niv. 100."
+
+msgid "Ribbon awarded for clearing Hoenn's Battle Tower's Lv. 50 challenge."
+msgstr "Ruban gagné pour avoir terminé la Tour Combat de Hoenn au niv. 50."
+
+msgid "Ribbon for clearing the Pokémon League and entering the Hall of Fame in another region."
+msgstr "Ruban gagné pour avoir terminé la Ligue Pokémon et pour être entré dans le Hall des Panthéon dans une autre région."
+
+msgid "Ribbons"
+msgstr "Rubans"
+
+msgid "Right"
+msgstr "Droit"
+
+msgid "Rindo Berries"
+msgstr "Baies Ratam"
+
+msgid "River"
+msgstr "Rivière"
+
+msgid "Roaming Pokémon Status"
+msgstr "Statut des Pokémon Errants"
+
+msgid "Rock"
+msgstr "Caillou"
+
+msgid "Rowap Berries"
+msgstr "Baies Pommo"
+
+msgid "Royal Ribbon"
+msgstr "Ruban Royal"
+
+msgid "Run"
+msgstr "Fuite"
+
+msgid "Running"
+msgstr "Course"
+
+msgid "Running character sprite."
+msgstr "Sprite de course du personnage."
+
+msgid "S: Go to another map"
+msgstr "S : Aller sur une autre carte\n"
+
+msgid "SAVE"
+msgstr "SAUVEGARDER"
+
+msgid "SE Volume"
+msgstr "Volume SE"
+
+msgid "SEE YA!"
+msgstr "À PLUS!"
+
+msgid "SEEN{1:d}"
+msgstr "VU{1:d}"
+
+msgid "SET ENCOUNTERS"
+msgstr "ÉTABLIR LES RENCONTRES"
+
+msgid "SET METADATA"
+msgstr "DÉFINIR LES METADONNÉES"
+
+msgid "SHINY SEEN"
+msgstr "CHROMATIQUES CONNUS"
+
+msgid "SINGLE TRAINER"
+msgstr "Dresseur SEUL"
+
+msgid "SIXTH"
+msgstr "SIXIÈME"
+
+msgid "SKIPPING BATTLE..."
+msgstr "PASSER LE COMBAT..."
+
+msgid "SPECIAL ATTACK"
+msgstr "ATTAQUE SPÉCIALE"
+
+msgid "STANDARD Cup"
+msgstr "Coupe STANDARD"
+
+msgid "STOCK POKéMON:\n{1} Lv{2} MaxHP: {3}\nTHIS POKéMON:\n{4} Lv{5} MaxHP: {6}"
+msgstr "STOCK POKÉMON :\n {1} Niv{2} PVMax : {3}\nCE POKÉMON :\n {4} Niv{5} PVMax : {6}"
+
+msgid "SUMMARY"
+msgstr "RÉSUMÉ"
+
+msgid "SWAP"
+msgstr "ÉCHANGE"
+
+msgid "SWITCH"
+msgstr "ÉCHANGER"
+
+msgid "Salac Berries"
+msgstr "Baies Sailak"
+
+msgid "Sandstorm"
+msgstr "Tempête de sable"
+
+msgid "Sassy"
+msgstr "Malpoli"
+
+msgid "Saturday"
+msgstr "Samedi"
+
+msgid "Savanna"
+msgstr "Savane"
+
+msgid "Save changes?"
+msgstr "Sauvegarder les changements?"
+
+msgid "Scatters things often."
+msgstr "Éparpille souvent les choses."
+
+msgid "Score: {1}\nHits: {2}/{3}"
+msgstr "Score: {1} \nCoups : {2}/{3}"
+
+msgid "Screen"
+msgstr "Écran"
+
+msgid "Screen Size"
+msgstr "Taille Écran"
+
+msgid "Scroll Lock"
+msgstr "Ver Défillement Ecran"
+
+msgid "Seafloor"
+msgstr "Fond Marin"
+
+msgid "Search"
+msgstr "Recherche"
+
+msgid "Search Mode"
+msgstr "Mode de Recherche"
+
+msgid "Search for Pokémon based on selected parameters."
+msgstr "Rechercher des Pokémon selon les paramètres sélectionnés."
+
+msgid "Search for new Awards (Online)"
+msgstr "Rechercher de nouvelles Récompenses (Online)"
+
+msgid "Searching for a gift.\nPlease wait...\\wtnp[0]"
+msgstr "Recherche d'un cadeau.\nVeuillez patienter...\\wtnp[0]"
+
+msgid "Searching for online gifts...\\wtnp[0]"
+msgstr "Recherche de cadeaux en ligne...\\wtnp[0]"
+
+msgid "Second Pokémon."
+msgstr "Deuxième Pokémon."
+
+msgid "Second move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Deuxième mouvement. Laissez tous les mouvements vides (utilisez la touche Z) pour donner un mouvement violent."
+
+msgid "Section {1} can't be an ordered list (section was recognized as an ordered list because its first line is a number)"
+msgstr "Section {1} ne peut être classé dans une liste (section reconnue commme une liste classée car la première ligne est un nombre)"
+
+msgid "Section {1} has an odd number of entries (section was recognized as a hash because its first line is not a number)"
+msgstr "La section {1} comporte des nombres impairs en entrée (section reconnue comme une liste classée car la première ligne est un nombre)"
+
+msgid "Section {1}'s line count is not divisible by 3 (section was recognized as an ordered list because its first line is a number)"
+msgstr "Le nombre de lignes de la section {1} n'est pas divisbile par 3 (section reconnue comme une liste classée car la première ligne est un nombre)"
+
+msgid "See the documentation on the wiki to learn how to edit this file."
+msgstr "Se référer à la documentation sur le wiki pour apprendre comment éditer ce fichier."
+
+msgid "See ya!"
+msgstr "À plus!"
+
+msgid "Select"
+msgstr "Sélectionner"
+
+msgid "Select Level (Max 20)"
+msgstr "Sélectioner Niveau(Max 20)"
+
+msgid "Select Pokémon to accept."
+msgstr "Sélectionnez un Pokémon pour accepter."
+
+msgid "Select Pokémon to swap."
+msgstr "Sélectionnez un Pokémon à échanger."
+
+msgid "Select the Pokédex listing mode."
+msgstr "Sélectionner le mode classement du Pokédex."
+
+msgid "Select the online ID."
+msgstr "Sélectionner l'ID en ligne."
+
+msgid "Sell"
+msgstr "Vendre"
+
+msgid "Send the removed mail to your PC?"
+msgstr "Envoyer le mail enlevé sur votre PC?"
+
+msgid "Separator"
+msgstr "Séparateur"
+
+msgid "September"
+msgstr "Septembre"
+
+msgid "Serious"
+msgstr "Sérieux"
+
+msgid "Set"
+msgstr "Ensemble"
+
+msgid "Set Badges"
+msgstr "Établir les Badges"
+
+msgid "Set Blending Color"
+msgstr "Régler le Mélange de Couleur"
+
+msgid "Set Coins"
+msgstr "Établir les Jetons"
+
+msgid "Set Color Tone"
+msgstr "Régler le Ton de Couleur"
+
+msgid "Set Controls"
+msgstr "Définir les Contrôles"
+
+msgid "Set EVs"
+msgstr "Établir les EV"
+
+msgid "Set Encounters"
+msgstr "Définir les Rencontres"
+
+msgid "Set Frame"
+msgstr "Définir le Cadre"
+
+msgid "Set HP"
+msgstr "Déterminer PV"
+
+msgid "Set IVs"
+msgstr "Établir les IV"
+
+msgid "Set Metadata"
+msgstr "Définir le Metadata"
+
+msgid "Set Money"
+msgstr "Établir l'Argent"
+
+msgid "Set OT's gender"
+msgstr "Établir le sexe du joueur"
+
+msgid "Set OT's gender."
+msgstr "Établir le sexe du joueur"
+
+msgid "Set OT's name"
+msgstr "Établir le nom du joueur principal"
+
+msgid "Set Player Character"
+msgstr "Créer le Personnage Joueur"
+
+msgid "Set Player's Online ID"
+msgstr "Définir l'ID en ligne du joueur"
+
+msgid "Set Terrain Tags"
+msgstr "Définir les Étiquettes de Terrain"
+
+msgid "Set eggsteps to 1"
+msgstr "Établir le nombre de pas à 1"
+
+msgid "Set foreign ID"
+msgstr "Établir une ID étrangère"
+
+msgid "Set how often the game will autosave in minutes."
+msgstr "Règle la fréquence de sauvergarde du jeu en minutes."
+
+msgid "Set the EV for {1} (max. 255)."
+msgstr "Établir l'EV de {1} (max. 255)."
+
+msgid "Set the IV for {1} (max. 31)."
+msgstr "Établir les IV pour {1} (max. 31)."
+
+msgid "Set the Pokémon's HP (max. {1})."
+msgstr "Régler les PV du Pokémon (max. {1})."
+
+msgid "Set the Pokémon's form."
+msgstr "Établir la forme du Pokémon"
+
+msgid "Set the Pokémon's happiness (max. 255)."
+msgstr "Établie le bonheur du Pokémon (max. 255)."
+
+msgid "Set the Pokémon's language (max. 20)."
+msgstr "Définir la langue du Pokémon (max. 20)."
+
+msgid "Set the Pokémon's level (max. {1})."
+msgstr "Établie le niveau du Pokémon (max. {1})."
+
+msgid "Set the Pokémon's level."
+msgstr "Définir le niveau du Pokémon"
+
+msgid "Set the Pokémon's sleep count."
+msgstr "Régler les heures de sommeil du Pokémon."
+
+msgid "Set the density of Pokémon in caves (default {1})."
+msgstr "Définir la densité de Pokémon dans les grottes (default {1})."
+
+msgid "Set the density of Pokémon on land (default {1})."
+msgstr "Définir la densité de Pokémon dans les plaines (default {1})."
+
+msgid "Set the density of Pokémon on water (default {1})."
+msgstr "Définir la densité de Pokémon dans l'eau (default {1})."
+
+msgid "Set the first Pokémon's level."
+msgstr "Définissez le niveau du premier Pokémon."
+
+msgid "Set the level for {1}."
+msgstr "Établir le niveau pour {1}."
+
+msgid "Set the maximum level."
+msgstr "Définir le niveau maximum."
+
+msgid "Set the minimum level."
+msgstr "Définir le niveau minimum."
+
+msgid "Set the money per level won for defeating the Trainer."
+msgstr "Définir l'argent gagné par niveau lors de défis pour le Dresseur."
+
+msgid "Set the name for this point."
+msgstr "Définir le nom du point."
+
+msgid "Set the new ID (max. 65535)."
+msgstr "Établir le nouvel ID (max. 65535)."
+
+msgid "Set the player's Coin amount."
+msgstr "Définir le montant des Jetons du joueur."
+
+msgid "Set the player's money."
+msgstr "Définir l'argent du joueur."
+
+msgid "Set the player's outfit."
+msgstr "Définir la tenue du joueur."
+
+msgid "Set the probability of the weather."
+msgstr "Définissez les probabilités météo."
+
+msgid "Set the second Pokémon's level."
+msgstr "Définissez le niveau du second Pokémon."
+
+msgid "Set the terrain tag."
+msgstr "Établir l'étiquette terrain?."
+
+msgid "Set the value for {1}."
+msgstr "Établir la valeur pour {1}."
+
+msgid "Set variable {1}."
+msgstr "Variable définie {1}."
+
+msgid "Shade"
+msgstr "Ombre"
+
+msgid "Shadow"
+msgstr "Obscur"
+
+msgid "Shadow Pokémon"
+msgstr "Pokémon Obscur"
+
+msgid "Shadow Pokémon can't be taught any moves."
+msgstr "les Pokémon Obscurs ne peuvent apprendre aucune attaque."
+
+msgid "Shift"
+msgstr "Décalage"
+
+msgid "Shininess"
+msgstr "Brillant"
+
+msgid "Shininess ({1}) is being forced."
+msgstr "La brillance de ({1}) est forcée."
+
+msgid "Shininess ({1}) is natural."
+msgstr "La brillance de ({1}) est naturelle."
+
+msgid "Shiny"
+msgstr "Chromatique"
+
+msgid "Shiny Clause"
+msgstr "Clause Chromatique"
+
+msgid "Shock Ribbon"
+msgstr "Ruban Choc"
+
+msgid "Shoot! It was so close, too!"
+msgstr "Zut! C'était pas loin!"
+
+msgid "Short to Tall"
+msgstr "Petit -> Grand"
+
+msgid "Should {1} stop learning {2}?"
+msgstr "{1} doit-il arrêter d'apprendre {2}?"
+
+msgid "Shuca Berries"
+msgstr "Baies Jouca"
+
+msgid "Simply stunning!"
+msgstr "Juste époustouflant!"
+
+msgid "Simulating battles ({1} of {2})"
+msgstr "Simulation des combats ({1} of {2})"
+
+msgid "Sinnoh Champ Ribbon"
+msgstr "Ruban Champion Sinnoh"
+
+msgid "Sitrus Berries"
+msgstr "Baies Sitrus"
+
+msgid "Sixth Pokémon."
+msgstr "Sixième Pokémon."
+
+msgid "Skill"
+msgstr "Compétence"
+
+msgid "Skill level of this Trainer type."
+msgstr "Niveau de compétence pour ce type de Dresseur."
+
+msgid "Skip intro?"
+msgstr "Passer l'intro?"
+
+msgid "Sky"
+msgstr "Ciel"
+
+msgid "Slot Machine/bg"
+msgstr "../Translations/French/bg_fr"
+
+msgid "Slow"
+msgstr "Lent"
+
+msgid "Smart Ribbon"
+msgstr "Ruban Malin"
+
+msgid "Smart Ribbon Great"
+msgstr "Grand Ruban Malin"
+
+msgid "Smart Ribbon Hyper"
+msgstr "Ruban Malin Hyper"
+
+msgid "Smart Ribbon Master"
+msgstr "Ruban Malin Master"
+
+msgid "Smart Ribbon Super"
+msgstr "Ruban Malin Super"
+
+msgid "Smart Ribbon Ultra"
+msgstr "Ruban Malin Ultra"
+
+msgid "Smile Ribbon"
+msgstr "Ruban Sourire"
+
+msgid "Snooze Ribbon"
+msgstr "Ruban Sieste"
+
+msgid "Snow"
+msgstr "Neige"
+
+msgid "Some of the fonts were successfully installed."
+msgstr "Certaines polices ont été installées avec succès."
+
+msgid "Someone's PC"
+msgstr "PC de???"
+
+msgid "Something pinged in the wall!\n{1} confirmed!"
+msgstr "Quelque chose sonne dans le mur!\n{1} confirmé!"
+
+msgid "Somewhat of a clown."
+msgstr "Un genre de clown."
+
+msgid "Somewhat stubborn."
+msgstr "Quelque peu têtu."
+
+msgid "Somewhat vain."
+msgstr "Un peu vaillant."
+
+msgid "Sorry, a new Badge is required."
+msgstr "Désolée, un nouveau badge est requis."
+
+msgid "Sorry, but you're stuck with this one."
+msgstr "Désolé, mais vous êtes bloqués avec celui là."
+
+msgid "Sounds can be heard coming from inside! It will hatch soon!"
+msgstr "On entend du bruit à l'intérieur! Il va bientôt éclore!"
+
+msgid "South side of first map must connect with north side of second map\n{1}"
+msgstr "Le côté sud de la première carte doit être connecté avec le côté nord de la seconde carte\n{1}"
+
+msgid "Souvenir Ribbon"
+msgstr "Ruban Souvenir"
+
+msgid "Sp. Atk."
+msgstr "Att. Spé."
+
+msgid "Sp. Attack"
+msgstr "Attaque Spé."
+
+msgid "Sp. Def"
+msgstr "Déf. Spé."
+
+msgid "Sp. Defense"
+msgstr "Défense Spé."
+
+msgid "Space"
+msgstr "Espace"
+
+msgid "Special Attack"
+msgstr "Attaque Spéciale"
+
+msgid "Special Defense"
+msgstr "Défense Spéciale"
+
+msgid "Special Holiday Ribbon."
+msgstr "Ruban Spécial Vacances."
+
+msgid "Special Ribbon"
+msgstr "Ruban Spécial"
+
+msgid "Species"
+msgstr "Spécialités"
+
+msgid "Species name {1} is greater than 20 characters long (section {2}, PBS/pokemon.txt)"
+msgstr "Le nom des espèces {1} est plus grand que 20 caractères (section {2}, PBS/pokemon.txt)"
+
+msgid "Species of the Pokémon."
+msgstr "Espèces de Pokémon."
+
+msgid "Specifies player A."
+msgstr "Spécifie le joueur A."
+
+msgid "Specifies player B."
+msgstr "Spécifie le joueur B."
+
+msgid "Specifies player C."
+msgstr "Spécifie le joueur C."
+
+msgid "Specifies player D."
+msgstr "Spécifie le joueur D."
+
+msgid "Specifies player E."
+msgstr "Spécifie le joueur E."
+
+msgid "Specifies player F."
+msgstr "Spécifie le joueur F."
+
+msgid "Specifies player G."
+msgstr "Spécifie le joueur G."
+
+msgid "Specifies player H."
+msgstr "Spécifie le joueur H."
+
+msgid "Specifies the underwater layer of this map. Use only if this map has deep water."
+msgstr "Spécifie la couche sous-marine de cette carte. A n'utiliser que s'il y a des eaux profondes."
+
+msgid "Speed"
+msgstr "Vitesse"
+
+msgid "Spelon Berries"
+msgstr "Baies Kiwan"
+
+msgid "Spikes were scattered all around the feet of the opposing team!"
+msgstr "Des picots s'éparpillent autour de l'équipe ennemie!"
+
+msgid "Spikes were scattered all around the feet of your team!"
+msgstr "Des piques s'éparpillent autour de votre équipe!"
+
+msgid "Splendid!\nYou battle with great finesse and expertise.\nLet us tango together again sometime!"
+msgstr "Splendide!\nTu te bats avec finesse et expertise.\nOn se fait un autre tango, un de ces quatres?"
+
+msgid "Sport Balls: {1}"
+msgstr "Sport Balls : {1}"
+
+msgid "Spotted and owned Pokémon are listed alphabetically."
+msgstr "les Pokémon vus et possédés sont classés alphabétiquement."
+
+msgid "Spring"
+msgstr "Printemps"
+
+msgid "Starf Berries"
+msgstr "Baies Frista"
+
+msgid "Start Game"
+msgstr "Démarrer la partie"
+
+msgid "Starting Frame:"
+msgstr "Cadre de Départ :"
+
+msgid "Status moves must have a base damage of 0, use either Physical or Special\n{1}"
+msgstr "Les attaques de statut doivent avoir des dégâts de base 0, en utilisant le Physique ou le Spécial\n{1}"
+
+msgid "Status: Burn"
+msgstr "Statut : Brûlé"
+
+msgid "Status: Frozen"
+msgstr "Statut : Gelé"
+
+msgid "Status: Paralysis"
+msgstr "Statut : Paralysé"
+
+msgid "Status: Poison"
+msgstr "Statut : Empoisonné"
+
+msgid "Status: Sleep"
+msgstr "Statut : Endormi"
+
+msgid "Steel"
+msgstr "Acier"
+
+msgid "Stop Sound"
+msgstr "Arrêter le Son"
+
+msgid "Stop editng this gift?"
+msgstr "Arrêter la création du cadeau?"
+
+msgid "Stop giving the Pokémon Mail?"
+msgstr "Arrêter de donner son Mail Pokémon?"
+
+msgid "Store"
+msgstr "Ranger"
+
+msgid "Store Pokémon in your party in Boxes."
+msgstr "Ranger le Pokémon de votre groupe dans les Boîtes."
+
+msgid "Store items in the PC."
+msgstr "Ranger les objets dans le PC."
+
+msgid "Storm"
+msgstr "Tempête"
+
+msgid "Strength is already being used."
+msgstr "Force est déjà utilisé."
+
+msgid "Strength made it possible to move boulders around."
+msgstr "Force permet de bouger les rochers alentours."
+
+msgid "Strong willed."
+msgstr "Très déterminé."
+
+msgid "Strongly defiant."
+msgstr "Très provocateur."
+
+msgid "Sturdy body."
+msgstr "Corps robuste."
+
+msgid "Subtract"
+msgstr "Soustrait"
+
+msgid "Successfully compiled text and saved it to intl.dat."
+msgstr "Compilation du texte réussie et sauvegardée dans intl.dat."
+
+msgid "Summary"
+msgstr "Resumé"
+
+msgid "Summer"
+msgstr "Été"
+
+msgid "Sunday"
+msgstr "Dimanche"
+
+msgid "Sunny"
+msgstr "Ensoleillé"
+
+msgid "Super Contest Beauty Category Great Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Beauté de Hoenn catégorie Génial!"
+
+msgid "Super Contest Beauty Category Master Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Beauté de Hoenn catégorie Master!"
+
+msgid "Super Contest Beauty Category Normal Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Beauté de Hoenn catégorie Normal!"
+
+msgid "Super Contest Beauty Category Ultra Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Beauté de Hoenn catégorie Ultra!"
+
+msgid "Super Contest Cool Category Great Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Cool de Hoenn catégorie Génial!"
+
+msgid "Super Contest Cool Category Master Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Cool de Hoenn catégorie Master!"
+
+msgid "Super Contest Cool Category Normal Rank winner!"
+msgstr "Gagnant du Classement au Concours Force de Hoenn catégorie Super!"
+
+msgid "Super Contest Cool Category Ultra Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Cool de Hoenn catégorie Ultra!"
+
+msgid "Super Contest Cute Category Great Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Mignon de Hoenn catégorie Génial!"
+
+msgid "Super Contest Cute Category Master Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Mignon de Hoenn catégorie Master!"
+
+msgid "Super Contest Cute Category Normal Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Mignon de Hoenn catégorie Normal!"
+
+msgid "Super Contest Cute Category Ultra Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Mignon de Hoenn catégorie Ultra!"
+
+msgid "Super Contest Smart Category Great Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Génial!"
+
+msgid "Super Contest Smart Category Master Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Master!"
+
+msgid "Super Contest Smart Category Normal Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Normal!"
+
+msgid "Super Contest Smart Category Ultra Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Ultra!"
+
+msgid "Super Contest Tough Category Great Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Génial!"
+
+msgid "Super Contest Tough Category Master Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Master!"
+
+msgid "Super Contest Tough Category Normal Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Force de Hoenn catégorie Normal!"
+
+msgid "Super Contest Tough Category Ultra Rank winner!"
+msgstr "Gagnant du Classement au Super Concours Malin de Hoenn catégorie Ultra!"
+
+msgid "Surf-Fishing"
+msgstr "Surf-pêche"
+
+msgid "Surfing"
+msgstr "Surf"
+
+msgid "Surfing character sprite."
+msgstr "Sprite du personnage qui surfe."
+
+msgid "Switch"
+msgstr "Echanger"
+
+msgid "Switch In"
+msgstr "Echanger"
+
+msgid "Switch Pokédex listings."
+msgstr "Changer les listes du Pokédex."
+
+msgid "Switch Pokémon?"
+msgstr "Changer de Pokémon?"
+
+msgid "Switched the Experience Share {1}."
+msgstr "Échange du Partage d'Expérience {1}."
+
+msgid "Switches"
+msgstr "Changements"
+
+msgid "THIRD"
+msgstr "TROISIÈME"
+
+msgid "TIME:"
+msgstr "HEURE :"
+
+msgid "TM PBS Options..."
+msgstr "Option CT PBS..."
+
+msgid "TMs & HMs"
+msgstr "CT & CS"
+
+msgid "Tab"
+msgstr "Tabulation"
+
+msgid "Take"
+msgstr "Prendre"
+
+msgid "Take good care of {1}."
+msgstr "Prends soin de {1}."
+
+msgid "Take out items from the PC."
+msgstr "Retirer les objets du PC."
+
+msgid "Take this {1}?"
+msgstr "Prendre ce {1}?"
+
+msgid "Tall to Short"
+msgstr "Grand -> Petit"
+
+msgid "Tamato Berries"
+msgstr "Baies Tamato"
+
+msgid "Tandor Pokédex"
+msgstr "Pokédex de Tandor"
+
+msgid "Tanga Berries"
+msgstr "Baies Panga"
+
+msgid "Target"
+msgstr "Cible"
+
+msgid "Teach move"
+msgstr "Apprendre l'attaque"
+
+msgid "Teach which Pokémon?"
+msgstr "L'apprendre à quel Pokémon?"
+
+msgid "Teach which move to {1}?"
+msgstr "Enseigner quelle attaque au {1}?"
+
+msgid "Teach {1} to a Pokémon?"
+msgstr "Apprendre {1} à un Pokémon?"
+
+msgid "Teach {1} to {2}?"
+msgstr "Enseigner {1} à {2}?"
+
+msgid "Teach {1}?"
+msgstr "Apprendre {1}?"
+
+msgid "Team generation complete."
+msgstr "Génération de l'équipe terminée."
+
+msgid "Test Double Trainer Battle"
+msgstr "Tester le Double Combat Dresseur"
+
+msgid "Test Double Wild Battle"
+msgstr "Tester le Double Combat Sauvage"
+
+msgid "Test Trainer Battle"
+msgstr "Tester le Combat Dresseur"
+
+msgid "Test Vibration"
+msgstr "Test des Vibrations"
+
+msgid "Test Wild Battle"
+msgstr "Tester le Combat Sauvage"
+
+msgid "Test if controller vibration is working."
+msgstr "Testez si les les vibrations du contrôleur marchent."
+
+msgid "Text Speed"
+msgstr "Vitesse Texte"
+
+msgid "Th- MRI ------ anomalous brainwave ------ns. --- specim-n ----- -- inca----e -- indep---ent thoug--. We --- ---ing -- - suppress---."
+msgstr "L- MRI ------ onde cérébrale anormale ------ns. --- spécim-n ----- -- inca----e -- indep---ant pens--. Nous --- ---ons -- - suppri---."
+
+msgid "That ID is already used by a Mystery Gift."
+msgstr "Cet ID est déjà utilisé par un Cadeau Mystère."
+
+msgid "That Pokémon can't be placed there."
+msgstr "Ce Pokémon ne peut être placé ici."
+
+msgid "That won't fertilize the soil!"
+msgstr "Ça ne fertilise pas le sol!"
+
+msgid "That's not Mulch."
+msgstr "Ce n'est pas de l'engrais."
+
+msgid "That's not a Berry."
+msgstr "Ça n'est pas une baie."
+
+msgid "That's not the right item."
+msgstr "Ce n'est pas le bon objet."
+
+msgid "That's too important to toss out!"
+msgstr "C'est trop important pour être jeté!"
+
+msgid "That's your last Pokémon!"
+msgstr "C'est votre dernier Pokémon!"
+
+msgid "The Bag is full."
+msgstr "Le Sac est plein."
+
+msgid "The Bag is full. The Pokémon's item could not be removed."
+msgstr "Le sac est plein. L'objet Pokémon ne peut être déplacé."
+
+msgid "The Bag was cleared."
+msgstr "Le Sac a été nettoyé."
+
+msgid "The Bag was filled with {1} of each item."
+msgstr "Le Sac a été rempli avec {1} de chaque objet."
+
+msgid "The Box is full."
+msgstr "La Boîte est pleine."
+
+msgid "The Boxes were cleared."
+msgstr "Les Boîtes ont été nettoyées."
+
+msgid "The Fire-type attack fizzled out in the heavy rain!"
+msgstr "L'attaque Feu est submergée par la pluie battante!"
+
+msgid "The Hall Of Fame!"
+msgstr "Le Panthéon!"
+
+msgid "The Happy Hour started!"
+msgstr "L'ambiance est euphorique!"
+
+msgid "The Ion Deluge started!"
+msgstr "Déluge Plasmique commence!"
+
+msgid "The Mail was returned to the Bag with its message erased."
+msgstr "Le Courrier est revenu dans le Sac, avec son message supprimé."
+
+msgid "The Pokémon Boxes are full and can't accept any more!"
+msgstr "Les Boîtes PC sont pleines et ne peuvent plus rien accepter!"
+
+msgid "The Pokémon got away..."
+msgstr "Le Pokémon est parti..."
+
+msgid "The Pokémon in the Day Care can't breed."
+msgstr "Le Pokémon à la Garderie ne peut se reproduire."
+
+msgid "The Pokémon was deleted."
+msgstr "Le Pokémon a été supprimé."
+
+msgid "The Pokémon was duplicated."
+msgstr "Le Pokémon a été dupliqué."
+
+msgid "The Power Glove made it possible to move boulders around!"
+msgstr "Les gants de force permettent de bouger les rochers!"
+
+msgid "The Tailwind blew from behind the opposing team!"
+msgstr "Un vent arrière souffle derrière l'équipe ennemie!"
+
+msgid "The Tailwind blew from behind your team!"
+msgstr "Un vent arrière souffle derrière votre équipe!"
+
+msgid "The Trainer battle was deleted."
+msgstr "Le combat de Dresseur a été supprimé."
+
+msgid "The Trainer blocked the Ball!\nDon't be a thief!"
+msgstr "Le Dresseur arrête la Ball!\nEspece de voleur!"
+
+msgid "The Trainer is close by.\nTalk to the Trainer in person!"
+msgstr "Le Dresseur est dans les parages.\nParler au Dresseur en personne!"
+
+msgid "The Trainer is out of range."
+msgstr "Le Dresseur est hors de portée."
+
+msgid "The Trainer type was created (ID: {1})."
+msgstr "Le Dresseur a été crée(ID : {1})."
+
+msgid "The Trainer type was deleted."
+msgstr "Le type de Dresseur a été supprimé."
+
+msgid "The Trainer's data was added to the list of battles and at PBS/trainers.txt."
+msgstr "Les données Dresseurs ont été ajoutée à la liste des combats sur PBS/trainers.txt."
+
+msgid "The Water-type attack evaporated in the harsh sunlight!"
+msgstr "L'attaque Eau s'évapore sous un soleil de plomb!"
+
+msgid "The Weakness Policy raised {1}'s Attack!"
+msgstr "Vulné-Assurance de {1} augmente son Attaque!"
+
+msgid "The Weakness Policy raised {1}'s Special Attack!"
+msgstr "Vulné-Assurance de {1} augmente son Attaque Spéciale!"
+
+msgid "The air is clean again."
+msgstr "L'air est à nouveau propre."
+
+msgid "The air is filled with toxicity."
+msgstr "L'air devient toxique."
+
+msgid "The ally {1}"
+msgstr "Le {1} allié"
+
+msgid "The animation file {1} was not found. The animation will load anyway."
+msgstr "Le dossier animation {1} n'a pas été trouvé. L'animation chargera de toute manière."
+
+msgid "The animation is invalid or could not be loaded."
+msgstr "L'animation est invalide ou n'a pas pu être chargée."
+
+msgid "The battery has run dry!\nFor it to recharge, you need to walk another {1} steps."
+msgstr "La batterie est à plat!\nPour la recharger, vous devez marcher pendant {1} pas."
+
+msgid "The battle will continue until either side has no Pokémon left that can fight."
+msgstr "Le combat continuera jusqu'à ce que l'un des deux Dresseurs n'ait plus de Pokémon capable de se battre."
+
+msgid "The battlers shared their pain!"
+msgstr "Les combattants ont partagé leur douleur!"
+
+msgid "The boxes are full! You can't catch any more Pokémon!"
+msgstr "Les boîtes sont pleines! Vous ne pouvez plus attraper de Pokémon!"
+
+msgid "The bursting flame hit the opposing {2}!"
+msgstr "Les éclats de flammes frappent le {2} adverse!"
+
+msgid "The bursting flame hit {2}!"
+msgstr "Les éclats de flammes frappent {2}!"
+
+msgid "The combined levels exceed {1:d}."
+msgstr "Les niveaux combinés dépassent {1:d}."
+
+msgid "The current map has no region set. Please set the MapPosition metadata setting for this map."
+msgstr "La carte actuelle n'a aucune région établie. Merci de préparer les réglages pour les données de la carte."
+
+msgid "The darkness of caves is my home. My Pokémon team knows no fear!"
+msgstr "Les ténèbres des grottes sont ma maison! Mon équipe Pokémon n'a peur de rien!"
+
+msgid "The deposited Pokémon can breed."
+msgstr "Le Pokémon déposé peut se reproduire."
+
+msgid "The deposited Pokémon can't breed."
+msgstr "Le Pokémon déposé ne peut se reproduire."
+
+msgid "The editor has detected that the tileset data was recently edited in RPG Maker XP."
+msgstr "L'éditeur a détecté que les données tileset ont été récemment éditées dans RPG Maker XP."
+
+msgid "The effects of Mud Sport have faded."
+msgstr "Les effets de Lance Boue s'affaiblissent ."
+
+msgid "The effects of Water Sport have faded."
+msgstr "Les effets de Tourniquet s'affaiblissent."
+
+msgid "The effects of the weather disappeared!"
+msgstr "Les effets de la météo se dissipent."
+
+msgid "The effects of the {1} prevent status moves from being used!"
+msgstr "Les effets de {1} empêche les attaques de statut d'être utilisées!"
+
+msgid "The electricity disappeared from the battlefield."
+msgstr "L'électricité disparaît du champ de bataille."
+
+msgid "The entry Home is required in metadata.txt section [{1}]"
+msgstr "L'entrée HOME est requise dans la section metadata.txt [{1}]"
+
+msgid "The entry PlayerA is required in metadata.txt section [{1}]"
+msgstr "L'entrée PlayerA est requise dans la section metadata.txt [{1}]"
+
+msgid "The foe {1}"
+msgstr "Le {1} ennemi"
+
+msgid "The fonts were successfully installed."
+msgstr "Les polices ont été installées avec succès."
+
+msgid "The future is a blank slate.\\. You, together with your Pokémon, are going to fill it. There will be challenges and thrills, and you're bound to make exciting discoveries."
+msgstr "Le futur est une page blanche.\\. Toi, en compagnie de tes Pokémon, allez la remplir. Il y aura des défis et des frissons, et tu feras des découvertes excitantes."
+
+msgid "The game can be played, but the look of the game's text will not be optimal."
+msgstr "Le jeu est jouable, mais l'aspect du texte ne sera pas optimal."
+
+msgid "The game cannot continue."
+msgstr "Le jeu ne peut pas continuer."
+
+msgid "The game has detected that the battery is low. You should save soon to avoid losing your progress."
+msgstr "Batterie faible. Vous devriez vite sauvergarder avant de perdre votre progression."
+
+msgid "The game is a draw."
+msgstr "C'est un tirage au sort."
+
+msgid "The gift has been received!"
+msgstr "Vous avez reçu le cadeau!"
+
+msgid "The gift was saved to MysteryGiftMaster.txt."
+msgstr "Le cadeau a été sauvegardé dans MysteryGiftMaster.txt."
+
+msgid "The gifts were saved to MysteryGift.txt."
+msgstr "Les cadeaux ont été sauvegardés sur MysteryGift.txt."
+
+msgid "The grass disappeared from the battlefield."
+msgstr "L'herbe disparaît du champ de bataille."
+
+msgid "The grassy patch remained quiet..."
+msgstr "Ces hautes herbes restent silencieuses..."
+
+msgid "The hail stopped."
+msgstr "La grêle s'est arrêtée."
+
+msgid "The healing wish came true for {1}!"
+msgstr "Voeu Soin est devenu réel pour {1}!"
+
+msgid "The item number is invalid."
+msgstr "Le nombre d'objets est invalide."
+
+msgid "The item was added."
+msgstr "L'objet a été ajouté."
+
+msgid "The level number ({1}) is invalid."
+msgstr "Le numéro de niveau ({1}) est invalide."
+
+msgid "The mail was sent to your PC."
+msgstr "Le mail est envoyé sur votre PC."
+
+msgid "The map data cannot be found."
+msgstr "Les données de la carte ne peuvent être trouvées."
+
+msgid "The map is corrupt. The game cannot continue."
+msgstr "La carte est corrompue. Le jeu ne peut continuer."
+
+msgid "The map was not found. The game cannot continue."
+msgstr "La carte n'a pas été trouvée. Le jeu ne peut continuer."
+
+msgid "The map will refresh."
+msgstr "La carte va se réinitialiser."
+
+msgid "The message will be lost. Is that OK?"
+msgstr "Le message sera perdu. OK?"
+
+msgid "The mirror move failed!"
+msgstr "Le mouvement miroir a échoué!"
+
+msgid "The mist disappeared from the battlefield."
+msgstr "La brume disparaît du champ de bataille."
+
+msgid "The new level ({1}) is less than the Pokémon's\ncurrent level ({2}), which shouldn't happen.\n[Debug: {3}]"
+msgstr "Le nouveau niveau de ({1}) est inférieur à celui du niveau du\nPokémon actuel ({2}), ce qui ne devrait pas arriver.\n[Debug: {3}]"
+
+msgid "The opponent pierces through your defenses!"
+msgstr "L'adversaire a percé vos défenses!"
+
+msgid "The opponents don't have any eligible pokemon for a sky battle"
+msgstr "Les adversaires n'ont aucun Pokémon éligible pour un combat dans les airs"
+
+msgid "The opposing team became cloaked in a mystical veil!"
+msgstr "L'équipe ennemie est enveloppée d'un voile mystique!"
+
+msgid "The opposing team became shrouded in mist!"
+msgstr "L'équipe ennemie s'enveloppe dans la brume!"
+
+msgid "The opposing team is no longer protected by Safeguard!"
+msgstr "L'équipe ennemie n'est plus protégée par Rune Protect!"
+
+msgid "The opposing team is no longer protected by mist!"
+msgstr "L'équipe ennemie n'est plus entourée de brume!"
+
+msgid "The opposing team is too nervous to eat Berries!"
+msgstr "L'équipe adverse est trop nerveuse pour manger des Baies!"
+
+msgid "The opposing team's Light Screen faded!"
+msgstr "Mur Lumière de l'équipe ennemie s'est arrêté!"
+
+msgid "The opposing team's Light Screen wore off!"
+msgstr "Mur Lumière de l'équipe ennemie disparaît!"
+
+msgid "The opposing team's Lucky Chant wore off!"
+msgstr "Air Veinard de l'équipe ennemie fini!"
+
+msgid "The opposing team's Mist faded!"
+msgstr "La Brume de l'équipe ennemie s'est arrêté!"
+
+msgid "The opposing team's Reflect faded!"
+msgstr "Protection de l'équipe ennemie s'est arrêté!"
+
+msgid "The opposing team's Reflect wore off!"
+msgstr "Protection de l'équipe ennemie s'évapore!"
+
+msgid "The opposing team's Tailwind petered out!"
+msgstr "Vent Arrière ne souffle plus sur l'équipe ennemie!"
+
+msgid "The opposing {1}"
+msgstr "Le {1} ennemi"
+
+msgid "The options you unchecked can't be turned back on."
+msgstr "Les options que vous avez décoché ne peuvent pas être recochées."
+
+msgid "The phone is not working."
+msgstr "Le téléphone ne fonctionne pas."
+
+msgid "The plant seemed to be delighted."
+msgstr "Le plant semble ravi."
+
+msgid "The player character was changed."
+msgstr "Le personnage joueur a été changé."
+
+msgid "The player is not on a map, so the region could not be determined."
+msgstr "Le joueur n'est pas sur la carte, donc la région ne peut être déterminée."
+
+msgid "The player's ID was changed to {1} (2)."
+msgstr "L'ID du personnage a été changé de {1} (2)."
+
+msgid "The player's name was changed to {1}."
+msgstr "Le nom du personnage a été changé pour {1}."
+
+msgid "The pointed stones disappeared from around the opposing team!"
+msgstr "Les pierres pointues ne flottent plus autour de l'équipe ennemie!"
+
+msgid "The pointed stones disappeared from around your team!"
+msgstr "Les pierres pointues ne flottent plus autour de votre équipe!"
+
+msgid "The poisoned spikes disappeared from around the opposing team's feet!"
+msgstr "Les Pics Toxik autour de l'équipe ennemie ont disparu!"
+
+msgid "The poisoned spikes disappeared from around the your team's feet!"
+msgstr "Les Pics Toxik autour de votre équipe ont disparu!"
+
+msgid "The poisoned spikes disappeared from around your team's feet!"
+msgstr "Les Pics Toxik autour de votre équipe ont disparu!"
+
+msgid "The poisoned spikes disappeared from around {1}'s feet!"
+msgstr "Les piques empoisonnés disparaissent des pieds de {1}!"
+
+msgid "The power of {1}'s Fire-type moves rose!"
+msgstr "La puissance des attaques de type Feu de {1} augmente!"
+
+msgid "The rain stopped."
+msgstr "La pluie s'est arrêtée."
+
+msgid "The rainbow faded."
+msgstr "L'arc-en-ciel s'estompe."
+
+msgid "The recorded data could not be found or saved."
+msgstr "Les données enregistrées n'ont pu être trouvées ou sauvegardées."
+
+msgid "The recorded data was in an invalid format."
+msgstr "Les données enregistrées se trouvent dans un format invalide."
+
+msgid "The recorded data's format is not supported."
+msgstr "Les données enregistrées ne sont pas supportées."
+
+msgid "The rules of battle will be as follows:"
+msgstr "Les règles du combat seront les suivantes:"
+
+msgid "The sandstorm rages."
+msgstr "La tempête de sable fait rage."
+
+msgid "The sandstorm subsided."
+msgstr "La tempête de sable se calme."
+
+msgid "The save file was deleted."
+msgstr "Le fichier sauvegardé a été supprimé."
+
+msgid "The saying \"the best defense is a good offense\" is probably your mantra.\\^"
+msgstr "Si je devais deviner ton credo, ce serait sûrement \"la meilleure défense, c'est l'attaque\"!\\^"
+
+msgid "The sea is deep here. A Pokémon may be able to go underwater."
+msgstr "La mer est profonde ici. Un Pokémon pourrait peut-être y plonger."
+
+msgid "The sea is deep here. Would you like to go underwater?"
+msgstr "La mer est profonde ici. Voulez-vous plonger?"
+
+msgid "The sea of fire faded."
+msgstr "La mer de feu disparaît."
+
+msgid "The settings file is corrupt and could not be loaded.\nSettings have been reset to default."
+msgstr "The fichier de paramètres est corrompu et n'a pas pu être chargé.\nLes paramètres par défaut ont été restaurés."
+
+msgid "The shadow sky continues."
+msgstr "Le ciel est toujours obscur."
+
+msgid "The shadow sky faded."
+msgstr "Le ciel noir disparaît."
+
+msgid "The soil returned to its soft and earthy state."
+msgstr "Le sol retrouve sa douceur et son état fertile."
+
+msgid "The soil returned to its soft and loamy state."
+msgstr "Le sol redevient doux et argileux."
+
+msgid "The species number (no. {1} of {2}) is invalid."
+msgstr "Le nombre d'espèces (no. {1} of {2}) est invalide."
+
+msgid "The spikes disappeared from around the opposing team's feet!"
+msgstr "Les Picots autour de l'équipe ennemie ont disparu!"
+
+msgid "The spikes disappeared from around your team's feet!"
+msgstr "Les Picots autour de votre équipe ont disparu!"
+
+msgid "The stickiness disappeared from the battlefield."
+msgstr "Le terrain n'est plus collant."
+
+msgid "The sticky web has disappeared from beneath the opposing team's feet!"
+msgstr "La Toile Gluante ne gêne plus l'équipe ennemie!"
+
+msgid "The sticky web has disappeared from beneath your team's feet!"
+msgstr "La Toile Gluante ne gêne plus votre équipe!"
+
+msgid "The substitute took damage for {1}!"
+msgstr "Le clone a pris l'attaque à la place de {1}!"
+
+msgid "The sunlight faded."
+msgstr "Le soleil baisse."
+
+msgid "The sunlight is strong."
+msgstr "Le soleil tape fort."
+
+msgid "The sunlight turned extremely harsh!"
+msgstr "Les rayons du soleil s'intensifient!"
+
+msgid "The sunlight turned harsh!"
+msgstr "Les rayons du soleil brillent!"
+
+msgid "The swamp faded."
+msgstr "Le marais sèche."
+
+msgid "The thunderstorm rages."
+msgstr "L'orage éclate."
+
+msgid "The thunderstorm subsided."
+msgstr "L'orage diminue."
+
+msgid "The twisted dimensions returned to normal!"
+msgstr "Les dimensions tordues retrouvent leurs normalités!"
+
+msgid "The value \"{1}\" must be from -128 through 127, got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from -128 through 127, got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from -32768 through 32767, got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from -32768 through 32767, got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from 0 through 255 (0x00-0xFF in hex), got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from 0 through 255 (0x00-0xFF in hex), got a value of {2}\n{3}"
+
+msgid "The value \"{1}\" must be from 0 through 65535 (0x0000-0xFFFF in hex), got a value of {2}\n{3}"
+msgstr "The value \"{1}\" must be from 0 through 65535 (0x0000-0xFFFF in hex), got a value of {2}\n{3}"
+
+msgid "The wall collapsed!"
+msgstr "Le mur s'écroule!"
+
+msgid "The water is dyed a deep blue...\nWould you like to surf?"
+msgstr "L'eau semble d'un bleu profond...\nvoulez-vous surfer?"
+
+msgid "The width of the map in Town Map squares, and a string indicating which squares are part of this map."
+msgstr "La largeur de la carte dans le carré \"Town Map\", et une chaîne de caractères indiquent quels carrés sont une partie de la map."
+
+msgid "The width of this map in Region Map squares."
+msgstr "Largeur de la carte dans les carrée de la Carte des Régions."
+
+msgid "The wild {1}"
+msgstr "Le {1} sauvage"
+
+msgid "The {1} can't be held."
+msgstr "Le {1} ne peut être tenu."
+
+msgid "The {1} card? Certainly.\nHow many would you like?"
+msgstr "La carte {1}? Certainement.\nCombien en voulez-vous?"
+
+msgid "The {1} card? How many would you like to sell?"
+msgstr "La carte {1}? Combien voulez-vous en vendre?"
+
+msgid "The {1} card? Oh, no.\nI can't buy that."
+msgstr "La carte {1}? Oh, non.\nJe ne peux pas acheter ça."
+
+msgid "The {1} has sprouted."
+msgstr "La {1} a germé."
+
+msgid "The {1} only allows the use of {2}!"
+msgstr "Le {1} autorise seulement l'utilisation de {2}!"
+
+msgid "The {1} plant is growing bigger."
+msgstr "La {1} grandit beaucoup."
+
+msgid "The {1} strengthened {2}'s power!"
+msgstr "Le {1} renforce la puissance de {2}!"
+
+msgid "The {1} was planted in the soft, earthy soil."
+msgstr "Une {1} a été planté dans le sol doux et fertile."
+
+msgid "The {1} was scattered on the soil."
+msgstr "Le {1} est éparpillé sur le sol."
+
+msgid "The {1} was taken and replaced with the {2}."
+msgstr "Le {1} est pris et remplacé par le {2}."
+
+msgid "The {1} weakened the damage to {2}!"
+msgstr "Le {1} mitige les dégâts contre {2}!"
+
+msgid "The {1}'s indicating something right underfoot!"
+msgstr "Le {1} montre quelque chose juste sous les pieds!"
+
+msgid "The {2} raised {1}'s Attack!"
+msgstr "Le {2} augmente l'Attaque de {1}!"
+
+msgid "The {2} raised {1}'s Defense!"
+msgstr "Le {2} augmente la Défense de {1}!"
+
+msgid "The {2} raised {1}'s Special Attack!"
+msgstr "Le {2} augmente l'Attaque Spéciale de {1}!"
+
+msgid "The {2} raised {1}'s Special Defense!"
+msgstr "Le {2} augmente la Défense Spéciale de {1}!"
+
+msgid "Their strength is no joke!"
+msgstr "Leur force est terrifiante!"
+
+msgid "Theo...\\^"
+msgstr "Théo...\\^"
+
+msgid "There appears to be nothing here..."
+msgstr "Il n'y a rien ici..."
+
+msgid "There are no Mystery Gifts defined."
+msgstr "Aucun Cadeau Mystère n'a été défini."
+
+msgid "There are no cards that you can buy."
+msgstr "Il n'y a aucune carte que vous pouvez acheter."
+
+msgid "There are no files."
+msgstr "Il n'y a aucun fichiers."
+
+msgid "There are no items."
+msgstr "Il n'y a pas d'objets."
+
+msgid "There are no new awards...."
+msgstr "Aucune nouvelle récompense...."
+
+msgid "There are no phone numbers stored."
+msgstr "Il n'y a aucun numéros enregistrés."
+
+msgid "There are no trainers in the Phone."
+msgstr "Il n'y a aucun Dresseurs dans le Téléphone."
+
+msgid "There are {1} {2}!\nWant to pick them?"
+msgstr "Il y a {1} {2}!\nVoulez-vous les prendre?"
+
+msgid "There aren't 2 Pokémon in the Day Care."
+msgstr "Il n'y a pas 2 Pokémon à la Garderie."
+
+msgid "There is 1 {1}!\nWant to pick it?"
+msgstr "Il y a 1 {1}!\nVoulez-vous le prendre?"
+
+msgid "There is a Pokemon that is ready to open its heart!"
+msgstr "Un Pokémon est prêt à ouvrir sa conscience!"
+
+msgid "There is a gift for you there!"
+msgstr "Voici un cadeau pour vous!"
+
+msgid "There is a more recent update available."
+msgstr "Une mis à jour plus récente est disponible."
+
+msgid "There is a total of #{@files.length} GIFs available for conversion. Would you like to begin the process?"
+msgstr "Il y a un total de #{@files.length} GIFS disponibles pour la conversion. Voulez-vous commencer le processus?"
+
+msgid "There is a total of #{@files.length} PNG(s) available for conversion. Would you like to begin the process?"
+msgstr "Il y a un total de #{@files.length} PNG(s) disponibles pour la conversion. Voulez-vous lancer le processus?"
+
+msgid "There is already a saved file. Is it OK to overwrite it?"
+msgstr "Un fichier jeu différent a déjà été sauvegardé. Voulez-vous l'écraser?"
+
+msgid "There is another Pokemon that is ready to open its heart!"
+msgstr "Il y a un autre Pokémon prêt à ouvrir sa conscience!"
+
+msgid "There is no Pokémon."
+msgstr "Il n'y a pas de Pokémon."
+
+msgid "There is no egg available."
+msgstr "Il n'y a aucun oeuf disponible."
+
+msgid "There is no room left in the PC!"
+msgstr "Il n'y a plus de place dans le PC!"
+
+msgid "There is no room to create a trainer of that type and name."
+msgstr "Il n'y a pas de place pour créer un Dresseur avec ce type et ce nom."
+
+msgid "There is only one player defined."
+msgstr "Il n'y a qu'un seul joueur défini."
+
+msgid "There was no sound in the recording. Please ensure that a microphone is attached to the computer and is ready."
+msgstr "Il n'y a pas de son dans l'enregistrement. Faites en sorte que votre micro soit correctement branché à votre ordinateur."
+
+msgid "There! All happy!"
+msgstr "Et voilà! Tout content!"
+
+msgid "There's a Pokemon that may open the door to its heart!"
+msgstr "Il y a un Pokémon qui pourrait ouvrir sa conscience!"
+
+msgid "There's an item buried around here!"
+msgstr "Il y a un objet enterré quelque part!"
+
+msgid "There's no Mail here."
+msgstr "Il n'y a pas de Courrier ici."
+
+msgid "There's no PP left for this move!"
+msgstr "Il n'y a pas assez de PP pour ce mouvement!"
+
+msgid "There's no Pokémon here..."
+msgstr "Aucun Pokémon ici..."
+
+msgid "There's no more room for Pokémon!"
+msgstr "Il n'y a plus de place pour ce Pokémon!"
+
+msgid "There's no more room in the Bag."
+msgstr "Il n'y a plus de place dans le Sac."
+
+msgid "There's no room to store items."
+msgstr "Il n'y a pas de place pour ranger les objets."
+
+msgid "These are among the toughest of Tandor! The paragons of our region!"
+msgstr "Ils sont parmis les plus forts de Tandor! Les modèles de notre région!"
+
+msgid "These pokemon can't fight in a sky battle!"
+msgstr "ces Pokémon ne peuvent combattre en combat aérien!"
+
+msgid "These trainers' skill in battle will determine that answer!"
+msgstr "Les talents de ces Dresseurs nous donneront la réponse!"
+
+msgid "They can be transferred over and will be deposited in your PC."
+msgstr "Ils peuvent être transférés et seront déposés dans votre PC."
+
+msgid "Third Pokémon."
+msgstr "Troisième Pokémon."
+
+msgid "Third move. Leave all moves blank (use Z key) to give it a wild move set."
+msgstr "Troisième mouvement. Laissez tous les mouvements vides (utilisez la touche Z) pour donner un mouvement violent."
+
+msgid "This Pokémon can't be chosen."
+msgstr "Ce Pokémon ne peut être choisi."
+
+msgid "This Pokémon is holding an item. It can't hold mail."
+msgstr "Ce Pokémon tient un objet. Il ne peut tenir un mail."
+
+msgid "This box is already empty."
+msgstr "Cette boîte est déjà vide."
+
+msgid "This challenge will use the Pokemon list from {1}."
+msgstr "Cette épreuve utilisera la liste Pokémon de {1}."
+
+msgid "This command can't be used here."
+msgstr "Cette commande ne peut être utilisée ici."
+
+msgid "This is in use already."
+msgstr "Est déjà utilisé."
+
+msgid "This isn't a fossil!"
+msgstr "Ce n'est pas un fossile!"
+
+msgid "This isn't over yet!"
+msgstr "Ce n'est pas encore fini!"
+
+msgid "This item can't be used on that Pokemon."
+msgstr "Cet objet ne peut être utilisé sur ce Pokémon."
+
+msgid "This item can't be used on that Pokémon."
+msgstr "Cet objet ne peut être utilisé sur ce Pokémon."
+
+msgid "This may take a long time. Are you sure?"
+msgstr "Ça peut prendre du temps. Êtes-vous sû{r|re}?"
+
+msgid "This means you've found all the Coins in this game, so the game is now over."
+msgstr "Ce qui veut dire que vous avez trouvé tous les Jetons dans le jeu, c'est donc terminé."
+
+msgid "This old, dead coral looks like it can be broken. Would you like to use Coral Break?"
+msgstr "Ce vieux corail a l'air de pouvoir être brisé. Voulez-vous utilisez Éclate-Corail?"
+
+msgid "This pokemon can't fight in a sky battle!"
+msgstr "Ce Pokémon ne peuvent combattre en combat aérien!"
+
+msgid "This property can't be edited here at this time."
+msgstr "Cette propriété ne peut être éditée maintenant."
+
+msgid "This property cannot be edited."
+msgstr "Cette propriété ne peut être éditée."
+
+msgid "This rock appears breakable. Would you like to smash it?"
+msgstr "Ce rocher a l'air fissuré. Voulez-vous l'éclater?"
+
+msgid "This save file is corrupt or incompatible with this game."
+msgstr "Le fichier sauvegardé est corrompu ou incompatible avec le jeu."
+
+msgid "This save file is corrupt, but an automatic backup has been found and will be loaded instead."
+msgstr "Le fichier sauvegardé est corrompu, mais une sauvegarde automatique à été trouvé et va être chargé à la place."
+
+msgid "This save file is corrupt, but another working file in this slot has been found and will be loaded instead."
+msgstr "Cette sauvegarde est corrompue, mais un autre fichier fonctionnel de cet emplacement a été trouvé et sera chargé."
+
+msgid "This save file is corrupt, but other working files in this slot were found."
+msgstr "Cette sauvegarde est corrompue, mais d'autre fichiers fonctionnels on été trouvés dans cet emplacement"
+
+msgid "This team is not allowed."
+msgstr "Cette équipe n'est pas autorisée."
+
+msgid "This trainer must have at least 1 Pokémon!"
+msgstr "Ce Dresseur doit posséder au moins 1 Pokémon!"
+
+msgid "This tree looks like it can be cut down!"
+msgstr "Cet abre à l'air de pouvoir être coupé!"
+
+msgid "This tree looks like it can be cut down."
+msgstr "Cet arbre ne peut être coupé."
+
+msgid "This {1} is ready to open its heart. However, there must be at least one regular Pokémon in the set to perform a purification ceremony."
+msgstr "Le {1} est prêt à ouvrir sa conscience. Cependant, il faut qu'il y ait au moins un Pokémon incorrompu pour entamer la cérémonie de purification."
+
+msgid "This {1} plant is blooming cutely!"
+msgstr "La {1} a des fleurs toute mignonnes!"
+
+msgid "This {1} plant is blooming prettily!"
+msgstr "La {1} a de jolies fleurs!"
+
+msgid "This {1} plant is blooming very beautifully!"
+msgstr "La {1} fleurit magnifiquement!"
+
+msgid "This {1} plant is in bloom!"
+msgstr "Cette {1} est en pleine floraison!"
+
+msgid "This {1} plant is in fabulous bloom!"
+msgstr "La {1} fait une superbe floraison!"
+
+msgid "Thoroughly cunning."
+msgstr "Complètement rusé."
+
+msgid "Threw away {1} {2}(s)."
+msgstr "Vous jetez {1} {2}(s)."
+
+msgid "Throw away items stored in the PC."
+msgstr "Jeter les objets rangés dans le PC."
+
+msgid "Thursday"
+msgstr "Jeudi"
+
+msgid "Time:"
+msgstr "Temps :"
+
+msgid "Time{2:02d}:{3:02d}
"
+msgstr "Jeu{2:02d}:{3:02d}
"
+
+msgid "Time{1:02d}:{2:02d}
"
+msgstr "Temps{1:02d}:{2:02d}
"
+
+msgid "Timid"
+msgstr "Timide"
+
+msgid "To Next Lv."
+msgstr "Au prochain Nv."
+
+msgid "To ensure that the changes remain, close and reopen RPG Maker XP."
+msgstr "Pour vous assurer que les changements restent, fermez et rouvrez RPG Maker XP."
+
+msgid "To install the other fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel."
+msgstr "Pour installer d'autres polices, copiez les fichiers dans le dossier Fonts de ce jeu dans le dossier Fonts du Control Panel."
+
+msgid "To localize the text for a particular language, translate every second line in the file."
+msgstr "Pour localiser les textes pour une langue particulière, traduisez toutes les secondes lignes dans le dossier."
+
+msgid "To use the file in a game, place the file in the Data folder under a different name, and edit the LANGUAGES array in the Settings script."
+msgstr "Pour utiliser le fichier en jeu, placez-le dans le dossier Data sous un nom différent, et éditez les tableau les LANGUES dans le texte des Réglages."
+
+msgid "Toggle Bag Access"
+msgstr "Activer l'accès au Sac"
+
+msgid "Toggle Internal Flag"
+msgstr "Bascule du Drapeau Interne"
+
+msgid "Toggle Mega Ring Ownership"
+msgstr "Activer la Propriété du Méga-Anneau"
+
+msgid "Toggle Pokédex Ownership"
+msgstr "Activer la Propriété du Pokédex"
+
+msgid "Toggle Pokégear Ownership"
+msgstr "Activer la Propriété du PokéMatos"
+
+msgid "Toggle Running Shoes Ownership"
+msgstr "Activer la Propriété des Chaussures de Course"
+
+msgid "Toggle on/offline"
+msgstr "Basculer en ligne/hors ligne"
+
+msgid "Too bad...\nThe bag is full."
+msgstr "Dommage...\nLe sac est plein."
+
+msgid "Too bad... The Bag is full..."
+msgstr "Dommage... le Sac est plein..."
+
+msgid "Too few bug catching contestants"
+msgstr "Trop peu de concurrents scouts"
+
+msgid "Took the {1}."
+msgstr "{1} est pris."
+
+msgid "Toss"
+msgstr "Jeter"
+
+msgid "Toss\nItem"
+msgstr "Jeter\nObjet"
+
+msgid "Toss Item"
+msgstr "Jeter des Objets"
+
+msgid "Toss out how many {1}(s)?"
+msgstr "Jeter combien de {1}(s)?"
+
+msgid "Total Animations:"
+msgstr "Total des Animations :"
+
+msgid "Total Frames: {1}"
+msgstr "Total des Cadres : {1}"
+
+msgid "Total PP"
+msgstr "PP totaux"
+
+msgid "Tough Ribbon"
+msgstr "Ruban Force"
+
+msgid "Tough Ribbon Great"
+msgstr "Grand Ruban Force"
+
+msgid "Tough Ribbon Hyper"
+msgstr "Ruban Force Hyper"
+
+msgid "Tough Ribbon Master"
+msgstr "Ruban Force Master"
+
+msgid "Tough Ribbon Super"
+msgstr "Ruban Force Super"
+
+msgid "Tough Ribbon Ultra"
+msgstr "Ruban Force Ultra"
+
+msgid "Trainer Battles"
+msgstr "Combats de Dresseurs"
+
+msgid "Trainer Name"
+msgstr "Nom Dresseur"
+
+msgid "Trainer Type"
+msgstr "Type du Dresseur"
+
+msgid "Trainer Types"
+msgstr "Type de Dresseurs"
+
+msgid "Trainer has no unfainted Pokémon"
+msgstr "Le Dresseur ne possède pas de Pokémon évanoui."
+
+msgid "Trainer name too long\n{1}"
+msgstr "Nom de Dresseur trop long\n{1}"
+
+msgid "Trainer type does not exist ({1}, {2}, ID {3})"
+msgstr "Ces types de Dresseurs n'existent pas ({1}, {2}, ID {3})"
+
+msgid "Trainer type of this player."
+msgstr "Type de Dresseur de ce joueur."
+
+msgid "Transferring\\wt[8].\\wt[8].\\wt[8].\\wtnp[18]"
+msgstr "Transfère\\wt[8].\\wt[8].\\wt[8].\\wtnp[18]"
+
+msgid "Treat this battle as a loss?"
+msgstr "Considérer ce combat comme une défaite?"
+
+msgid "Treat this battle as a win?"
+msgstr "Considérer ce combat comme une victoire?"
+
+msgid "True"
+msgstr "Vrai"
+
+msgid "Tuesday"
+msgstr "Mardi"
+
+msgid "Turn Off"
+msgstr "Éteindre"
+
+msgid "Turned over the {1} and received ${2}."
+msgstr "Tournez le {1} et recevez {2}$."
+
+msgid "Turned over the {1} card and received ${2}."
+msgstr "Vous retournez la carte {1} et recevez {2}$."
+
+msgid "Tweening..."
+msgstr "Interpolation..."
+
+msgid "Two Pokémon are deposited already."
+msgstr "Deux Pokémon sont déjà déposés."
+
+msgid "Two trainer types ({1} and {2}) have the same ID ({3}), which is not allowed.\n{4}"
+msgstr "Deux types de Dresseurs({1} et {2}) ont le même ID ({3}), ce qui n'est pas autorisé.\n{4}"
+
+msgid "UPPER"
+msgstr "MAJ"
+
+msgid "Undefined Trainer constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nIn addition, the name must be defined\nin trainertypes.txt.\n{1}"
+msgstr "Undefined Trainer constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nIn addition, the name must be defined\nin trainertypes.txt.\n{1}"
+
+msgid "Undefined encounter type {1}, expected one of the following:\n{2}\n{3}"
+msgstr "Undefined encounter type {1}, expected one of the following:\n{2}\n{3}"
+
+msgid "Undefined item constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the item is defined in\nPBS/items.txt.\n{1}"
+msgstr "Undefined item constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the item is defined in\nPBS/items.txt.\n{1}"
+
+msgid "Undefined move constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/moves.txt.\n{1}"
+msgstr "Undefined move constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/moves.txt.\n{1}"
+
+msgid "Undefined nature constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nthe script section PBNatures.\n{1}"
+msgstr "Undefined nature constant name: %s\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nthe script section PBNatures.\n{1}"
+
+msgid "Undefined species constant name: [%s]\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/pokemon.txt.\n{1}"
+msgstr "Undefined species constant name: [%s]\nName must consist only of letters, numbers, and\nunderscores and can't begin with a number.\nMake sure the name is defined in\nPBS/pokemon.txt.\n{1}"
+
+msgid "Undefined value {1} (expected one of: {2})\n{3}"
+msgstr "Valeur indéfinie {1} (Une attendue sur : {2})\n{3}"
+
+msgid "Undefined value {1} in {2}\n{3}"
+msgstr "Valeur indéfinie {1} dans {2}\n{3}"
+
+msgid "Unknown"
+msgstr "Inconnu"
+
+msgid "Unknown happiness-changing method."
+msgstr "Méthode de changement d'humeur inconnue."
+
+msgid "Up"
+msgstr "Haut"
+
+msgid "Up next:\\wt[20] Round {1}\\wt[25]\n\\PN versus {2}!"
+msgstr "À venir:\\wt[20] Tour{1}\\wt[25]\n\\PN contre {2}!"
+
+msgid "Updating game maps, you will be sent to the nearest Pokémon Center"
+msgstr "Téléchargement des cartes du jeu, vous serez envoyé au centre Pokémon le plus proche"
+
+msgid "Upload MysteryGift.txt to the Internet."
+msgstr "Télécharger MysteryGift.txt sur Internet."
+
+msgid "Upon this consecrated ground, I shall invoke the blessings of the sea!"
+msgstr "Sur ce terrain sacralisé, j'invoque la bénédiction de la mer!"
+
+msgid "Use"
+msgstr "Utiliser"
+
+msgid "Use PC"
+msgstr "Utiliser le PC"
+
+msgid "Use existing type"
+msgstr "Utilisez le type existant"
+
+msgid "Use new type"
+msgstr "Utilisez un nouveau type"
+
+msgid "Use next Pokémon?"
+msgstr "Utiliser le Pokémon suivant?"
+
+msgid "Use on which Pokémon?"
+msgstr "L'utiliser sur quel Pokémon?"
+
+msgid "Use the patcher.exe in your game folder to check for patches!\\wtnp[40]"
+msgstr "Utilisez patcher.exe pour verifier les mises à jour des patchs!\\wtnp[40]"
+
+msgid "Used to confirm a choice, check things, and talk to people."
+msgstr "Utilisé pour sélectionner, checker les objets et parler aux gens."
+
+msgid "Used to exit, cancel a choice or mode, and open the pause menu."
+msgstr "Utilisé pour sortir, annuler un choix et ouvre le menu pause."
+
+msgid "User"
+msgstr "Utilisateur"
+
+msgid "User and target"
+msgstr "Utilisateur et cible"
+
+msgid "Using item..."
+msgstr "Objet utilisé..."
+
+msgid "Using its {1}, the Attack of {2} rose!"
+msgstr "{2} voit son Attaque augmenter! Merci, {1}!"
+
+msgid "Using its {1}, the Defense of {2} rose!"
+msgstr "{2} voit sa Défense augmenter! Merci, {1}!"
+
+msgid "Using its {1}, the Special Attack of {2} rose!"
+msgstr "{2} voit son Attaque Spéciale augmenter! Merci, {1}!"
+
+msgid "Using its {1}, the Special Defense of {2} rose!"
+msgstr "{2} voit sa Défense Spéciale augmenter! Merci, {1}!"
+
+msgid "Using its {1}, the Speed of {2} rose!"
+msgstr "{2} voit sa Vitesse augmenter! Merci, {1}!"
+
+msgid "Using {1}, the Attack of {2} rose sharply!"
+msgstr "{2} voit son Attaque nettement augmenter! Merci, {1}!"
+
+msgid "Using {1}, the Defense of {2} rose sharply!"
+msgstr "{2} voit sa Défense nettement augmenter! Merci, {1}!"
+
+msgid "Using {1}, the Special Attack of {2} rose sharply!"
+msgstr "{2} voit son Attaque Spéciale nettement augmenter! Merci, {1}!"
+
+msgid "Using {1}, the Special Defense of {2} rose sharply!"
+msgstr "{2} voit sa Défense Spéciale nettement augmenter! Merci, {1}!"
+
+msgid "Using {1}, the Speed of {2} rose sharply!"
+msgstr "{2} voit sa Vitesse nettement augmenter! Merci, {1}!"
+
+msgid "Valid Squares"
+msgstr "Carrés valides."
+
+msgid "Value '{1}' can't be less than or close to 0 (section {2}, PBS/pokemon.txt)"
+msgstr "Valeur '{1}' ne peut être inférieur ou proche de 0 (section {2}, PBS/pokemon.txt)"
+
+msgid "Value {1} not defined by a constant in {2}"
+msgstr "Valeur {1} non définie par une constante {2}"
+
+msgid "Version is up-to-date, no update needed! \\wtnp[30]"
+msgstr "Version à jour, aucune mise à jour neccessaire! \\wtnp[30]"
+
+msgid "Very finicky."
+msgstr "Très pointilleux."
+
+msgid "Vibration"
+msgstr "Vibrations"
+
+msgid "Victory Ribbon"
+msgstr "Ruban Victoire"
+
+msgid "Volcano"
+msgstr "Volcan"
+
+msgid "Volume:"
+msgstr "Volume :"
+
+msgid "WARP TO MAP"
+msgstr "DÉFORMATION DE LA CARTE"
+
+msgid "WITHDRAW"
+msgstr "RETIRER"
+
+msgid "WITHDRAW POKéMON"
+msgstr "RETIRER LE POKÉMON"
+
+msgid "WT"
+msgstr "Poids :"
+
+msgid "Wacan Berries"
+msgstr "Baies Parma"
+
+msgid "Waiting for a rematch{1}"
+msgstr "En attente de la revanche{1}"
+
+msgid "Walking character sprite."
+msgstr "Sprite du personnage qui marche."
+
+msgid "Wallpaper"
+msgstr "Fond d'écran"
+
+msgid "Want to escape from here and return to {1}?"
+msgstr "S'échapper d'ici et revenir à {1}?"
+
+msgid "Want to plant a Berry?"
+msgstr "Planter une Baie?"
+
+msgid "Want to return to the healing spot used last in {1}?"
+msgstr "Retourner au dernier point soin à{1}?"
+
+msgid "Want to sprinkle some water with the {1}?"
+msgstr "Voulez-vous arroser avec le {1}?"
+
+msgid "Warning: Map {1}, as mentioned in the map\nconnection data, was not found.\n{2}"
+msgstr "Avertissement : Carte {1}, comment mentionné dans la carte\ndonnées de connexion non trouvées.\n{2}"
+
+msgid "Warning: Physical and special moves can't have a base damage of 0, changing to a Status move\n{1}"
+msgstr "Avertissement : les mouvement physiques et spéciaux ne peuvent avoir des dégâts de base à 0, en changeant les attaques de Statut\n{1}"
+
+msgid "Warning: Randomizer Mode greatly affects the balance of the game."
+msgstr "Attention: le Mode Aléatoire affecte grandement l'équilibrage du jeu."
+
+msgid "Warp to Map"
+msgstr "Déformation de la Carte"
+
+msgid "Water"
+msgstr "Eau"
+
+msgid "Watmel Berries"
+msgstr "Baies Stekpa"
+
+msgid "We have some of Tandor's best and brightest here to dazzle you with their spectacular battling skills!"
+msgstr "Nous avons ici quelques-uns des meilleurs et des plus brillants Dresseurs de Tandor, réunis pour vous éblouir de leurs prouesses!"
+
+msgid "We hope you enjoy playing Pokémon Uranium!"
+msgstr "Nous espérons que vous avez apprécié jouer à Pokémon Uranium!"
+
+msgid "We tried our hardest in this battle, and that's what counts."
+msgstr "Nous avons tout donné dans ce combat, et c'est ce qui compte."
+
+msgid "We're back with Round 3, the quarterfinals!"
+msgstr "Nous sommes de retour pour jouer le troisième Tour, les quarts de finale!"
+
+msgid "Weather conditions in effect for this map."
+msgstr "Les conditions météo appliquées sur cette carte."
+
+msgid "Wednesday"
+msgstr "Mercredi"
+
+msgid "Welcome to the Hall of Fame!"
+msgstr "Bienvenue dans le Panthéon!"
+
+msgid "Welcome to the first round of the\nPokémon League Tournament!"
+msgstr "Bienvenue au premier tour de ce\nTournoi de la Ligue Pokémon!"
+
+msgid "Welcome!\nHow may I serve you?"
+msgstr "Bienvenue!\nQu'est-ce que je vous sers?"
+
+msgid "Well fought, indeed! You deserved this victory."
+msgstr "Bien combattu, en effet! Tu mérites cette victoire."
+
+msgid "Well, it has been a while, hasn't it?\nWhen I battled you, you were just a naive child, fumbling around in the dark.\nNow, you face me in the arena with confidence!\nYour fighting spirit is like a bright, shining light!\nI can tell you are no longer afraid.\nGyahahaha!! That's what I like to see!\nShow me your fearlessness in battle!"
+msgstr "Et bien, ça fait un bail, n'est ce pas?\nQuand je t'ai combattu, tu n'étais qu'un morveux naïf, avançant dans le noir à tâtons.\nEt regarde la confiance que tu montres maintenant!\nTon esprit combatif est tel une lumière vive et éclatante!\nJe vois que tu n'es plus effrayé.\nBahahaha!! C'est ce que j'aime voir!\nMontre-moi ton intrépidité au combat!"
+
+msgid "Well, let's not delay... on with the match!"
+msgstr "Et qui somme-nous pour les en empêcher?! Place au combat!"
+
+msgid "Well, you certainly know what you want out of life.\\^"
+msgstr "Et bien, tu sais ce que tu veux dans la vie.\\^"
+
+msgid "Wepear Berries"
+msgstr "Baie Repoi"
+
+msgid "West side of first map must connect with east side of second map\n{1}"
+msgstr "Le côté ouest de la première carte doit être connecté avec le côté est de la seconde carte\n{1}"
+
+msgid "What a match!"
+msgstr "Quel match!"
+
+msgid "What could be in store for us this round?"
+msgstr "Qu'est-ce qui pourrait nous attendre pour ce tour?"
+
+msgid "What do you want to do with {1}'s Mail?"
+msgstr "Que voulez-vous faire avec le Courrier de {1}?"
+
+msgid "What do you want to do?"
+msgstr "Que voulez-vous faire?"
+
+msgid "What shall I do with this {1}?"
+msgstr "Que dois-je faire avec ce {1}?"
+
+msgid "What will\n{1} do?"
+msgstr "Qu'est-ce que\n{1} va faire?"
+
+msgid "What will\n{1} throw?"
+msgstr "Qu'est-ce que\n{1} va lancer?"
+
+msgid "What will hatch from this? It doesn't seem close to hatching."
+msgstr "Combien de temps prendra l'éclosion? Ça n'a pas l'air immédiat."
+
+msgid "What will {1} do?"
+msgstr "Que doit faire {1}?"
+
+msgid "What?\n{1} is evolving!"
+msgstr "Quoi?\n{1} évolue!"
+
+msgid "When the flame touched the powder on the Pokémon, it exploded!"
+msgstr "Quand la flamme a touché la poudre sur le Pokémon, il a explosé!"
+
+msgid "Which PC should be accessed?"
+msgstr "A quel PC souhait-vous accéder?"
+
+msgid "Which move should be forgotten?"
+msgstr "Oublier quelle attaque?"
+
+msgid "Which one do you want back?"
+msgstr "Lequel voulez-vous récupérer?"
+
+msgid "Which one will you take?"
+msgstr "Lequel prenez-vous?"
+
+msgid "Which report should I read?"
+msgstr "Quel rapport dois-je lire??"
+
+msgid "White"
+msgstr "Blanc"
+
+msgid "White Tiles: {1}"
+msgstr "Tuiles Blanches: {1}"
+
+msgid "Who are you?\\^"
+msgstr "Qui es-tu?\\^"
+
+msgid "Who will it be?"
+msgstr "Mais qui?"
+
+msgid "Wide Guard protected your team!"
+msgstr "Garde Large protège votre équipe!"
+
+msgid "Wide Guard protected {1}!"
+msgstr "Garde Large protège {1}!"
+
+msgid "Width"
+msgstr "Largeur"
+
+msgid "Wiki Berries"
+msgstr "Baies Wiki"
+
+msgid "Wild Pokémon will be lured."
+msgstr "les Pokémon sauvages seront attirés."
+
+msgid "Wild Pokémon will be repelled."
+msgstr "les Pokémon sauvages apparaîtront moins souvent."
+
+msgid "Wild battles with more than two Pokémon are not allowed."
+msgstr "Les combats sauvages avec plus de deux Pokémon sont interdits."
+
+msgid "Wild {1} and\n{2} appeared!"
+msgstr "Un {1} sauvage et\n{2} sont apparus!"
+
+msgid "Wild {1} appeared!"
+msgstr "Un {1} sauvage apparaît!"
+
+msgid "Will convert animations now."
+msgstr "Conversion des animations maintenant."
+
+msgid "Will you switch your Pokémon?"
+msgstr "Voulez-vous changer votre Pokémon?"
+
+msgid "Winning Ribbon"
+msgstr "Ruban Gagnant"
+
+msgid "Winter"
+msgstr "Hiver"
+
+msgid "Wishing Ribbon"
+msgstr "Ruban Souhait"
+
+msgid "Withdraw"
+msgstr "Retirer"
+
+msgid "Withdraw\nItem"
+msgstr "Retirer\nObjet"
+
+msgid "Withdraw Item"
+msgstr "Retirer des Objets"
+
+msgid "Withdraw Pokémon"
+msgstr "Retirer Pokémon"
+
+msgid "Withdrew {1} {2}(s)."
+msgstr "Retirer {1} {2}(s)."
+
+msgid "Withdrew {1}."
+msgstr "{1} a été récupéré."
+
+msgid "Wonder Room wore off, and the Defense and Sp. Def stats returned to normal!"
+msgstr "Zone Étrange disparaît et les stats de la Défense et de la Def Sp. sont échangés!"
+
+msgid "Woooow! Like, that was a totally sweet battle!~ I guess this just isn't my year to win. But now, you'd better win in my stead, okay?~"
+msgstr "Woooow! Genre... ce combat était si cool! J'imagine que c'est juste pas mon année, ha ha! Mais maintenant, t'as intérêt à gagner à ma place, d'accord?~"
+
+msgid "World Ability Ribbon"
+msgstr "Ruban Mondial Habileté"
+
+msgid "World Champion Ribbon"
+msgstr "Ruban Champion Mondial"
+
+msgid "World Ribbon"
+msgstr "Ruban Mondial"
+
+msgid "Would you like to cut it?"
+msgstr "Voulez-vous le couper?"
+
+msgid "Would you like to forfeit the match and quit now?"
+msgstr "Désirez-vous déclarer forfait et partir maintenant?"
+
+msgid "Would you like to give a nickname to {1}?"
+msgstr "Voulez-vous donner un surnom à {1}?"
+
+msgid "Would you like to move it?"
+msgstr "Voulez-vous le deplacer?"
+
+msgid "Would you like to nickname the newly hatched {1}?"
+msgstr "Voulez-vous donnez un surnom au nouveau {1}?"
+
+msgid "Would you like to restart the game and apply the changes?"
+msgstr "Désirez-vous redémarrer le jeu pour appliquer les changements?"
+
+msgid "Would you like to save the game?"
+msgstr "Voulez-vous sauvegarder la partie?"
+
+msgid "Would you like to switch the two items?"
+msgstr "Voulez-vous inverser les deux objets?"
+
+msgid "Wow! That battle was quite a workout, huh?\nI think it's safe to say that you're the stronger among us.\nI'll be cheering you on from here on out!"
+msgstr "Ouah! C'était sportif, hein?\nJe peux dire sans trop me mouiller que tu es plus fort que moi.\nJe t'encouragerai depuis les gradins, alors donne tout!"
+
+msgid "Wow, you look like a really strong trainer...\nUm. I'm Angelica, and I train Fairy types.\nWe're cute, but don't let it fool you:\nwe're really strong too.\nAfter all, Fairies can stand up to the power of dragons. So we aren't afraid of any tough-looking trainers, either. If you aren't acquainted with the power of fairies, then, you'll know soon enough!"
+msgstr "Woaw, tu as l'air d'être un Dresseur vraiment fort...\nHm. Je suis Angelica, et j'entraîne des types Fée, enchantée.\nNous sommes mignons, mais ne te laisse pas duper:\nnous sommes aussi très forts.\nAprès tout, les Fées peuvent faire face au pouvoir des Dragons, donc nous ne craignons pas les Dresseurs qui ont l'air forts. Si tu n'es pas familier avec le pouvoir féérique, tu le seras bien assez tôt!"
+
+msgid "Writing results"
+msgstr "Écriture des résultats"
+
+msgid "Wrong syntax for densities in encounters.txt; got \"{1}\"\n{2}"
+msgstr "Wrong syntax for densities in encounters.txt; got \"{1}\"\n{2}"
+
+msgid "X-Axis Movement"
+msgstr "Mouvement X-Axis"
+
+msgid "X:"
+msgstr "X :"
+
+msgid "Y-Axis Movement"
+msgstr "Mouvement Y-Axis"
+
+msgid "Y:"
+msgstr "Y :"
+
+msgid "YES"
+msgstr "OUI"
+
+msgid "YES, USE EXISTING"
+msgstr "OUI, UTILISER CEUX EXISTANT"
+
+msgid "YES, USE NEW"
+msgstr "OUI, UTILISER LES NOUVEAUX"
+
+msgid "Yache Berries"
+msgstr "Baies Nanone"
+
+msgid "Yellow"
+msgstr "Jaune"
+
+msgid "Yes"
+msgstr "Oui"
+
+msgid "Yes, I won!"
+msgstr "Super, j'ai gagné!"
+
+msgid "You already caught a {1}."
+msgstr "Vous avez déjà attrapé {1}."
+
+msgid "You can catch shiny Pokemon even if they aren't your first encounter."
+msgstr "Les Pokémon chromatiques peuvent toujours être attrapés."
+
+msgid "You can choose from three different game screen sizes."
+msgstr "Vous pouvez choisir trois formats d'écran en jeu."
+
+msgid "You can choose from three different text-scrolling speeds."
+msgstr "Vous pouvez choisir trois vitesses différentes pour le texte."
+
+msgid "You can choose if the game should remember the last save you loaded."
+msgstr "Tu peux choisir si le jeu doit se souvenir de la dernière sauvergarde chargée."
+
+msgid "You can choose the style of the game's font."
+msgstr "Tu peux choisir le style de police du jeu."
+
+msgid "You can choose to switch Pokémon when an opponent's Pokémon faints."
+msgstr "Vous pouvez choisir de changer de Pokémon lorsque celui de l'adversaire est vaincu."
+
+msgid "You can choose whether controller vibration is enabled."
+msgstr "Vous pouvez choisir d'activer les vibrations du contrôleur."
+
+msgid "You can choose whether to view move animations."
+msgstr "Vous pouvez choisir de voir les animations des attaques."
+
+msgid "You can receive even more Coins in the next game!"
+msgstr "Vous pourrez recevoir encore plus de Jetons dans le jeu suivant!"
+
+msgid "You can select your preferred pronouns."
+msgstr "Vous pouvez sélectionner vos pronoms."
+
+msgid "You can set the game's SFX volume."
+msgstr "Vous pouvez définir le volume SFX du jeu."
+
+msgid "You can set the game's frames per second."
+msgstr "Tu peux régler les frames par secondes du jeu."
+
+msgid "You can set the game's language."
+msgstr "Tu peux régler la langue du jeu."
+
+msgid "You can set the game's music volume."
+msgstr "Vous pouvez définir le volume de musique du jeu."
+
+msgid "You can use the patcher.exe in your game folder to update! \\wtnp[40]"
+msgstr "Vous pouvez utiliser patcher.exe pour mettre à jour Pokémon Uranium! \\wtnp[40]"
+
+msgid "You can't dismount your Bike here."
+msgstr "Vous ne pouvez pas descendre de votre Vélo ici."
+
+msgid "You can't play unless you have a Coin Case."
+msgstr "Vous ne pouvez pas jouer sans Boîte Jetons."
+
+msgid "You can't release an Egg."
+msgstr "Vous ne pouvez relâcher un oeuf."
+
+msgid "You can't release eggs."
+msgstr "Vous ne pouvez pas relâcher des oeufs."
+
+msgid "You can't switch {1}'s Pokémon with one of yours!"
+msgstr "Vous ne pouvez pas changer le Pokémon de {1} avec l'un des vôtre!"
+
+msgid "You cross blades with the opponent!"
+msgstr "Vous avez croisé le fer avec l'adversaire!"
+
+msgid "You don't have any Coins to play!"
+msgstr "Vous n'avez pas assez de Jetons pour jouer!"
+
+msgid "You don't have any eligible pokemon for a sky battle"
+msgstr "Vous n'avez aucun Pokémon éligibles pour un combat aérien"
+
+msgid "You don't have any other save files"
+msgstr "Vous n'aviez pas d'autres fichiers de sauvegarde"
+
+msgid "You don't have enough berries."
+msgstr "Vous n'avez pas suffisamment de baies."
+
+msgid "You don't have enough cards."
+msgstr "Vous n'avez pas assez de cartes."
+
+msgid "You don't have enough money."
+msgstr "Vous n'avez pas assez d'argent."
+
+msgid "You don't have your bag."
+msgstr "Vous n'avez pas de sac."
+
+msgid "You evade the opponent's attack!"
+msgstr "Vous évitez l'attaque adverse!"
+
+msgid "You fail to block the opponent's attack!"
+msgstr "Vous avez échoué à bloquer les attaques de l'adversaire!"
+
+msgid "You got ${1}"
+msgstr "Vous avez {1}$"
+
+msgid "You have a burning spirit within you that never ceases!\\^"
+msgstr "En toi brûle un esprit ardent qui ne s'éteint jamais!\\^"
+
+msgid "You have a great future ahead, but what about now?"
+msgstr "Tu as un bel avenir devant toi, mais qu'en est-il du présent?"
+
+msgid "You have completed {1}!"
+msgstr "Vous avez complété {1}!"
+
+msgid "You have no Pokemon that can be purified."
+msgstr "Vous n'avez aucun Pokémon pouvant être purifiés."
+
+msgid "You have no cards."
+msgstr "Vous n'avez pas de cartes."
+
+msgid "You have no more room in the Bag."
+msgstr "Vous n'avez plus de place dans votre Sac."
+
+msgid "You have no room for more cards."
+msgstr "Vous n'avez aucune place pour des cartes supplémentaires."
+
+msgid "You have no room left in the Bag."
+msgstr "Vous n'avez plus de place dans le Sac."
+
+msgid "You have no usable items in this pocket."
+msgstr "Vous n'avez aucun objet utilisable dans cette poche."
+
+msgid "You have received a mystery award! Search to find what has been unlocked!"
+msgstr "Vous avez reçu une récompense mystérieuse! Trouvez ce qui a été déverrouillé!"
+
+msgid "You haven't found any Coins! Are you sure you want to quit?"
+msgstr "Tu n'as trouvé aucune pièce! Etes vous sûr de vouloir quitter?"
+
+msgid "You hit each other!"
+msgstr "Vous vous battez!"
+
+msgid "You know that the best things in life come to those who wait.\\^"
+msgstr "J'imagine que tu te dis que \"tout vient à point à qui sait attendre\"...\\^"
+
+msgid "You must choose a move!"
+msgstr "Vous devez choisir une attaque!"
+
+msgid "You must choose at least one rule to play a custom game."
+msgstr "Vous devez choisir au moins une règle pour une partie personnalisée."
+
+msgid "You must complete the game at least once to unlock Randomizer."
+msgstr "Finissez le jeu pour débloquer le mode Aléatoire."
+
+msgid "You must enable Nuzlocke to select this."
+msgstr "Vous devez activer Nuzlocke pour sélectionner ceci."
+
+msgid "You need an internet connection to use the GTS, WT and VT"
+msgstr "Une connexion internet est nécessaire pour utiliser la GTS, l'Échange Miracle et les DV"
+
+msgid "You now have ${1}."
+msgstr "Vous avez maintenant {1}$."
+
+msgid "You now have {1} Coins."
+msgstr "Vous avez à présent {1} Jeton."
+
+msgid "You picked the {1} {2}.\\wtnp[30]"
+msgstr "Vous avez pris les {1} {2}.\\wtnp[30]"
+
+msgid "You picked the {1}.\\wtnp[30]"
+msgstr "Vous avez pris les {1}.\\wtnp[30]"
+
+msgid "You pierce through the opponent's defenses!"
+msgstr "Vous avez percé les défenses de l'adversaire!"
+
+msgid "You prefer to adapt to overcome challenges in your path.\\^"
+msgstr "Tu préfères t'adapter pour relever les défis sur ton chemin.\\^"
+
+msgid "You prefer to overwhelm your opponents with sheer force and firepower.\\^"
+msgstr "Tu préfères utiliser ta force brute et ta puissance de feu pour submerger tes adversaires.\\^"
+
+msgid "You seem to be a Trainer who likes to play it safe.\\^"
+msgstr "Tu n'as pas l'air d'aimer le risque.\\^"
+
+msgid "You seem to be a trainer that is capable of many different strategies.\\^"
+msgstr "Tu sembles être capable de bien des stratégies.\\^"
+
+msgid "You seem to be a trainer who won't hesitate to go for what you want.\\^"
+msgstr "Visiblement, tu n'hésites pas à foncer dans le tas pour avoir ce que tu veux.\\^"
+
+msgid "You study each other's movements..."
+msgstr "Vous étudiez les mouvements de l'un et de l'autre..."
+
+msgid "You used your last {1}."
+msgstr "Vous avez utilisé votre dernier {1}."
+
+msgid "You're already surfing."
+msgstr "Vous êtes déjà en train de surfer."
+
+msgid "You're holding a Pokémon!"
+msgstr "Vous tenez un Pokémon!"
+
+msgid "You're impulsive, impatient, and care mostly about your own desires.\\^"
+msgstr "Tu es impulsif, impatient, et tu fais passer tes envies avant presque tout le reste.\\^"
+
+msgid "You've found all of the hidden x2 and x3 cards."
+msgstr "Vous avez trouvé toutes les cartes cachées x2 et x3."
+
+msgid "You've got 99,999 Coins."
+msgstr "Vous avez 99,999 Jetons."
+
+msgid "You've run out of Coins.\nGame over!"
+msgstr "Vous n'avez plus de Jetons.\nGame over!"
+
+msgid "Youngster Samuel"
+msgstr "Gamin Samuel"
+
+msgid "Your Coin Case has been filled."
+msgstr "Votre Boîte à Jetons a été remplie."
+
+msgid "Your Coin Case is full!"
+msgstr "Votre Boîte à Jetons est pleine!"
+
+msgid "Your PC's Mailbox is full."
+msgstr "Votre Boîte Mail est pleine."
+
+msgid "Your Pokémon were healed."
+msgstr "Vos Pokémon ont été soignés."
+
+msgid "Your Pokémon will be waiting for you in the Pokémon Storage System."
+msgstr "Votre Pokémon vous attendra dans le Système de Stockage Pokémon."
+
+msgid "Your attack was evaded!"
+msgstr "Votre attaque a été évitée!"
+
+msgid "Your attack was not blocked!"
+msgstr "Votre attaque n'a pas été bloquée!"
+
+msgid "Your calm, rational approach will come to aid you in the future.\\^"
+msgstr "Ton approche calme et rationnelle te sera d'une grande aide dans le futur.\\^"
+
+msgid "Your coins"
+msgstr "Vos jetons"
+
+msgid "Your foe's weak!\nGet 'em, {1}!"
+msgstr "L'ennemi est faible!\nAttaque, {1}!"
+
+msgid "Your game is out-of-date!\nUpdate required. \\wtnp[30]"
+msgstr "Votre jeu n'est pas à jour! \nUpdate required. \\wtnp[30]"
+
+msgid "Your journey --- your story --- is about to unfold."
+msgstr "Ton voyage... Ton histoire, est sur le point de commencer."
+
+msgid "Your name is {1}?"
+msgstr "Ton nom est {1}?"
+
+msgid "Your name?"
+msgstr "Ton nom?"
+
+msgid "Your old Nuzlocke savefile needs to be converted to the new system."
+msgstr "Ta vieille sauvegarde de Nuzlocke doit être convertie pour le nouveau système."
+
+msgid "Your party Pokémon and any in the Daycare will be deposited, too."
+msgstr "Votre équipe Pokémon et ceux de la Garderie seront également déposé."
+
+msgid "Your party is full!"
+msgstr "Votre équipe est pleine!"
+
+msgid "Your party is full! You can't unfuse {1}."
+msgstr "Votre groupe est plein! Vous ne pouvez pas désunifier {1}."
+
+msgid "Your party's full!"
+msgstr "Votre groupe est plein!"
+
+msgid "Your philosophy is probably to just \"go with the flow\".\\^"
+msgstr "Ta philosophie est probablement juste \"va où le vent te porte\".\\^"
+
+msgid "Your special attacks collide!"
+msgstr "Votre attaque spéciale touche!"
+
+msgid "Your starter as well as all wild and trainer Pokémon will be randomized."
+msgstr "Les Pokémon de départ, sauvages et des équipes des dresseurs seront aléatoires."
+
+msgid "Your team became cloaked in a mystical veil!"
+msgstr "Votre équipe est enveloppé d'un voile mystique!"
+
+msgid "Your team became shrouded in mist!"
+msgstr "Votre équipe est enveloppée dans la brume!"
+
+msgid "Your team is no longer protected by Safeguard!"
+msgstr "Votre équipe n'est plus protégée par Rune Protect!"
+
+msgid "Your team is no longer protected by mist!"
+msgstr "Votre équipe n'est plus entourée de Brume!"
+
+msgid "Your team is too nervous to eat Berries!"
+msgstr "Votre équipe est trop nerveuse pour manger des Baies!"
+
+msgid "Your team's Light Screen faded!"
+msgstr "Mur Lumière de votre équipe s'est arrêté!"
+
+msgid "Your team's Light Screen wore off!"
+msgstr "Mur Lumière de votre équipe disparaît!"
+
+msgid "Your team's Lucky Chant wore off!"
+msgstr "Air Veinard de votre équipe fini!"
+
+msgid "Your team's Mist faded!"
+msgstr "La Brume de votre équipe s'est arrêté!"
+
+msgid "Your team's Reflect faded!"
+msgstr "Protection de votre équipe s'est arrêté!"
+
+msgid "Your team's Reflect wore off!"
+msgstr "Protection de votre équipe s'évapore!"
+
+msgid "Your team's Tailwind petered out!"
+msgstr "Vent Arrière ne souffle plus sur votre équipe!"
+
+msgid "Your {1} in the Purify Chamber is ready for purification!"
+msgstr "Votre {1} est dans la Chambre Purifiée prêt pour sa purification!"
+
+msgid "Z+Up/Down: Swap\nZ+Left: Delete\nZ+Right: Insert"
+msgstr "Z+Up/Bas : Changer\nZ+Gauche : Supprimer\nZ+Droit : Insérer"
+
+msgid "Zoom X:"
+msgstr "Zoom X :"
+
+msgid "Zoom Y:"
+msgstr "Zoom Y :"
+
+msgid "[NEW ITEM]"
+msgstr "[NOUVEL OBJET]"
+
+msgid "[NEW TRAINER BATTLE]"
+msgstr "[NOUVEAU COMBAT DE Dresseur]"
+
+msgid "[NEW TRAINER TYPE]"
+msgstr "[NOUVEAU TYPER DE Dresseur]"
+
+msgid "[New Encounter Type]"
+msgstr "[Nouveau Type de Rencontre]"
+
+msgid "\\GHere you go!"
+msgstr "\\GEt voilà!"
+
+msgid "\\GYou don't have enough money."
+msgstr "\\GVous n'avez pas assez d'argent."
+
+msgid "\\GYou have no room left in the Bag."
+msgstr "\\GVous n'avez plus de place dans le Sac."
+
+msgid "\\PN, are you ready?"
+msgstr "Es-tu prê{t|te}, \\PN?"
+
+msgid "\\c[7]ENGAGEMENT FAILED.\\wt[16]\nA POWER CELL IS NEEDED."
+msgstr "\\c[7]ACTIVATION ECHOUE.\\wt[16]\nUNE BATTERIE EST NECESSAIRE."
+
+msgid "\\c[7]ENGAGEMENT SUCCESSFUL."
+msgstr "\\c[7]ACTIVATION REUSSIE."
+
+msgid "\\c[7]OBSTACLE DETECTED.\\wt[20]\nENGAGING STRENGTH PROTOCOL\\wt[8].\\wt[8].\\wt[8].\\wt[8]"
+msgstr "\\c[7]OBSTACLE DETECTE.\\wt[20]\nPROTOCOLE DE FORCE ACTIVE\\wt[8].\\wt[8].\\wt[8].\\wt[8]"
+
+msgid "\\me[Jingle - HMTM]Obtained \\c[1]{1}\\c[0]!\nIt contained \\c[1]{2}\\c[0].\\wtnp[55]"
+msgstr "\\me[Jingle - HMTM]Obtient \\c[1]{1}\\c[0]!\nElle contient \\c[1]{2}\\c[0].\\wtnp[55]"
+
+msgid "\\me[Jingle - HMTM]{1} found \\c[1]{2}\\c[0]!\nIt contained \\c[1]{3}\\c[0].\\wtnp[55]"
+msgstr "\\me[Jingle - HMTM]{1} a trouvé la \\c[1]{2}\\c[0]!\nElle contient \\c[1]{3}\\c[0].\\wtnp[55]"
+
+msgid "\\me[Jingle - Regular Item]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]Obtient \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]Obtained \\c[1]{1}s\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]Obtient \\c[1]{1}s\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]Obtained some \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]Obtient quelques \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found one \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} trouve l'objet \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found some \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} trouve quelques \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} trouve {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jingle - Regular Item]{1} found {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jingle - Regular Item]{1} trouve {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jinlge - KeyItem]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jinlge - KeyItem]Obtient \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Jinlge - KeyItem]Randomizer Mode has been unlocked!\\wt[30]\nIt will be available when starting a new Custom Game."
+msgstr "\\me[Jinlge - KeyItem]Mode Random debloqué!\\wt[30]\nIl devrait apparaitre lors d'une creation de jeu personnalisé."
+
+msgid "\\me[Jinlge - KeyItem]\\sign[sign1]Obtained \\c[1]{1}\\c[0]!\\wtnp[30]"
+msgstr "\\me[Jinlge - KeyItem]\\sign[sign1]Obtient \\c[1]{1}\\c[0]!\\wtnp[30]"
+
+msgid "\\me[Voltorb Flip Game Over]Oh no! You get 0 Coins!\\wtnp[50]"
+msgstr "\\me[Voltorbataille Game Over]Oh non! Vous avez obtenu 0 Jetons!\\wtnp[50]"
+
+msgid "\\me[Voltorb Flip Win]Board clear!\\wtnp[40]"
+msgstr "\\me[Voltorbataille Victoire]Tableau terminé!\\wtnp[40]"
+
+msgid "\\se[Voltorb Flip Level Dropped]Dropped to Game Lv. {1}!"
+msgstr "\\se[Voltorbataille le Niveau Chute]A chuté au Nv. {1}!"
+
+msgid "\\se[]1,\\wt[4] 2,\\wt[4] and...\\wt[8] ...\\wt[8] ...\\wt[8] Poof!\\se[balldrop]"
+msgstr "\\se[]1,\\wt[4] 2,\\wt[4] et...\\wt[8] ...\\wt[8] ... \\wt[8]Pouf!\\se[balldrop]"
+
+msgid "\\se[]Save failed.\\wtnp[30]"
+msgstr "\\se[]Échec de la sauvegarde.\\wtnp[30]"
+
+msgid "\\se[]{1} hatched from the Egg!\\wt[80]"
+msgstr "\\se[]{1} a éclot!\\wt[80]"
+
+msgid "\\se[]{1} learned {2}!\\se[itemlevel]"
+msgstr "\\se[]{1} a appris {2}!\\se[itemlevel]"
+
+msgid "\\se[]{1} saved the game.\\se[save]\\wtnp[30]"
+msgstr "\\se[]{1} a sauvegardé la partie.\\se[save]\\wtnp[30]"
+
+msgid "\\se[accesspc]Accessed the Hall of Fame."
+msgstr "\\se[accesspc]Accès au Panthéon."
+
+msgid "\\se[accesspc]Accessed the Purify Chamber."
+msgstr "\\se[accesspc]Accéder à la Chambre de purification."
+
+msgid "\\se[accesspc]Accessed {1}'s PC."
+msgstr "\\se[accesspc]Accède au PC de {1}."
+
+msgid "\\se[accesspc]Booted up a TM."
+msgstr "\\se[accesspc]CT activée."
+
+msgid "\\se[accesspc]Booted up an HM."
+msgstr "\\se[accesspc]CS activée."
+
+msgid "\\se[accesspc]The Pokémon Storage System was opened."
+msgstr "\\se[accesspc]Le Système de Rangement Pokémon a été ouvert."
+
+msgid "\\se[computeropen]{1} booted up the PC."
+msgstr "\\se[computeropen]{1} allume le PC."
+
+msgid "\\se[itemlevel]{1} received \\c[1]{2}\\c[0]!\\nIt contained \\c[1]{3}\\c[0].\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} a été reçu \\c[1]{2}\\c[0]!\\nIl contient \\c[1]{3}\\c[0].\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received a \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} vous avez reçu un \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received an \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} vous avez reçu un \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received some \\c[1]{2}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} vous avez reçu \\c[1]{2}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} vous avez reçu {2} \\c[1]{3}\\c[0]!\\wtnp[30]"
+
+msgid "\\se[itemlevel]{1} received {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+msgstr "\\se[itemlevel]{1} vous avez reçu {2} \\c[1]{3}s\\c[0]!\\wtnp[30]"
+
+msgid "\\ts[]Manage Mystery Gifts (X=online)."
+msgstr "\\ts[]Recevoir les Cadeaux Mystères (X=online)."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]After the unfortunate defeat, {1} scurried home."
+msgstr "\\w[]\\wm\\c[8]\\l[3]Après cette triste défaite, {1} s'est précipité chez lui."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]After the unfortunate defeat, {1} scurried to a Pokémon Center."
+msgstr "\\w[]\\wm\\c[8]\\l[3]Après cette triste défaite, {1} se précipite vers un centre Pokémon."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]{1} scurried home, protecting the exhausted and fainted Pokémon from further harm."
+msgstr "\\w[]\\wm\\c[8]\\l[3]{1} s'est précipité chez lui, protégeant contre davantage de dégâts, son Pokémon épuisé."
+
+msgid "\\w[]\\wm\\c[8]\\l[3]{1} scurried to a Pokémon Center, protecting the exhausted and fainted Pokémon from further harm."
+msgstr "\\w[]\\wm\\c[8]\\l[3]{1} s'est précipité vers un centre Pokémon, tout en protégeant, contre davantage de dégâts, son Pokémon épuisé."
+
+msgid "accuracy"
+msgstr "précision"
+
+msgid "an egg"
+msgstr "un oeuf"
+
+msgid "boardbg"
+msgstr "../../Translations/French/boardbg_fr"
+
+msgid "egg"
+msgstr "oeuf"
+
+msgid "evasiveness"
+msgstr "évasion"
+
+msgid "female"
+msgstr "femelle"
+
+msgid "genderless"
+msgstr "Sans genre"
+
+msgid "lower"
+msgstr "min"
+
+msgid "male"
+msgstr "mâle"
+
+msgid "memo"
+msgstr "../../Translations/French/memo_fr"
+
+msgid "off"
+msgstr "Desactivé"
+
+msgid "on"
+msgstr "Activé"
+
+msgid "other"
+msgstr "autre"
+
+msgid "phonebg"
+msgstr "../Translations/French/phonebg_fr"
+
+msgid "pokemon -> tm"
+msgstr "pokemon -> ct"
+
+msgid "pokemon -> tutor"
+msgstr "pokemon -> tuteur"
+
+msgid "pokemon <- tm"
+msgstr "pokemon <-ct"
+
+msgid "pokemon <- tutor"
+msgstr "pokemon <- tuteur"
+
+msgid "the ally {1}"
+msgstr "le {1} allié"
+
+msgid "the egg"
+msgstr "l'oeuf"
+
+msgid "the foe {1}"
+msgstr "le {1} ennemi"
+
+msgid "the opposing {1}"
+msgstr "le {1} ennemi"
+
+msgid "the wild {1}"
+msgstr "le {1} sauvage"
+
+msgid "their egg"
+msgstr "leur oeuf"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}"
+msgstr "{1:s}\nID: {2:05d} OT: {3:s}"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}"
+msgstr "{1:s}\nID: {2:05d} OT: {3:s}"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}\\wtnp[0]"
+msgstr "{1:s}\nID: {2:05d} OT: {3:s}\\wtnp[0]"
+
+msgid "{1:s}\nID: {2:05d} OT: {3:s}\\wtnp[100]"
+msgstr "{1:s}\nID: {2:05d} OT: {3:s}\\wtnp[100]"
+
+msgid "{1:s} (F, Lv{2:d})"
+msgstr "{1:s} (F, Niv{2:d})"
+
+msgid "{1:s} (Lv{2:d})"
+msgstr "{1:s} (Niv{2:d})"
+
+msgid "{1:s} (M, Lv{2:d})"
+msgstr "{1:s} (M, Niv{2:d})"
+
+msgid "{1:s} Pokémon"
+msgstr "Pokémon {1:s}"
+
+msgid "{1:s}: Search Mode"
+msgstr "{1:s}: Mode Recherche"
+
+msgid "{1:s}POWER/{2:s}\nPP/{3:d}ACCURACY/{4:s}"
+msgstr " {1:s}PUISSANCE/{2:s}\n PP/{3:d}PRÉCISION/{4:s}"
+
+msgid "{1}\nwould like to battle!"
+msgstr "{1}\nveut se battre!"
+
+msgid "{1}\n{2}"
+msgstr "{1}\n{2}"
+
+msgid "{1} ${2}"
+msgstr "{1} {2}$"
+
+msgid "{1} (Lv.{2}) caught."
+msgstr "{1} (Nv.{2}) attrapé."
+
+msgid "{1} (Lv.{2}) defeated."
+msgstr "{1} (Nv.{2}) battu."
+
+msgid "{1} (Lv.{2}) not roaming (switch {3} is off)."
+msgstr "{1} (Nv.{2}) non errant (interrupteur {3} est éteint)."
+
+msgid "{1} (Lv.{2}) roaming (map not set)."
+msgstr "{1} (Nv.{2}) errant (carte non définie)."
+
+msgid "{1} (Lv.{2}) roaming on map {3} ({4}){5}"
+msgstr "{1} (Nv.{2}) errant sur la carte {3} ({4}){5}"
+
+msgid "{1} (PP: ---)"
+msgstr "{1} (PP : ---)"
+
+msgid "{1} (PP: {2}/{3})"
+msgstr "{1} (PP : {2}/{3})"
+
+msgid "{1} - {2} POKéMON"
+msgstr "{1} - {2} POKÉMON"
+
+msgid "{1} Female"
+msgstr "{1} Femelle"
+
+msgid "{1} Female Shiny"
+msgstr "{1} Femelle Shiny"
+
+msgid "{1} Lv{2} {3}"
+msgstr "{1} Niv{2} {3}"
+
+msgid "{1} Lv{2} {3}/{4}"
+msgstr "{1} Niv{2} {3}/{4}"
+
+msgid "{1} Male"
+msgstr "{1} Mâle"
+
+msgid "{1} Male Shiny"
+msgstr "{1} Mâle Shiny"
+
+msgid "{1} Pokémon are in the Day Care."
+msgstr "{1} Pokémon sont à la Garderie."
+
+msgid "{1} Pokémon are needed."
+msgstr "{1} Pokémon sont requis."
+
+msgid "{1} Pokémon will be released, 1 of them is shiny. Are you absolutely certain?"
+msgstr "Vous allez relâcher {1} Pokémon, dont 1 shiny. Êtes-vous absolument certain?"
+
+msgid "{1} Pokémon will be released, {2} of them are shiny. Are you absolutely certain?"
+msgstr "Vous allez relâcher {1} Pokémon, dont {2} shiny. Êtes-vous absolument certain?"
+
+msgid "{1} Pokémon will be released. Are you absolutely certain?"
+msgstr "Vous allez relâcher {1} Pokémon. Êtes-vous absolument certain?"
+
+msgid "{1} absorbed nutrients with its roots!"
+msgstr "{1} absorbe les nutriments avec ses racines!"
+
+msgid "{1} acquired {2}!"
+msgstr "{1} acquiert {2}!"
+
+msgid "{1} adores you!\nThe base Attack fell!"
+msgstr "{1} vous adore!\nL'Attaque de base baisse!"
+
+msgid "{1} adores you!\nThe base Defense fell!"
+msgstr "{1} vous adore!\nLa Défense de base baisse!"
+
+msgid "{1} adores you!\nThe base HP fell!"
+msgstr "{1} vous adore!\nLes PV de base baissent!"
+
+msgid "{1} adores you!\nThe base Special Attack fell!"
+msgstr "{1} vous adore!\nL'Attaque Spéciale de base baisse!"
+
+msgid "{1} adores you!\nThe base Special Defense fell!"
+msgstr "{1} vous adore!\nLa Défense Spéciale baisse!"
+
+msgid "{1} adores you!\nThe base Speed fell!"
+msgstr "{1} vous adore!\nLa Vitesse de base baisse!"
+
+msgid "{1} adores you!\nThe door to its heart opened a little."
+msgstr "{1} vous adore!\nSa conscience s'ouvre un peu."
+
+msgid "{1} already has a burn."
+msgstr "{1} est déjà brûlé."
+
+msgid "{1} already has a substitute!"
+msgstr "{1} est déjà cloné!"
+
+msgid "{1} already knows\n{2}."
+msgstr "{1} connait déjà\n{2}."
+
+msgid "{1} anchored itself with its roots!"
+msgstr "{1} s'attache avec ses racines!"
+
+msgid "{1} anchored itself with {2}!"
+msgstr "{1} s'attache avec {2}!"
+
+msgid "{1} anchored itself!"
+msgstr "{1} s'enracine!"
+
+msgid "{1} and {2} are attacking!"
+msgstr "{1} et {2} attaquent!"
+
+msgid "{1} and {2} want to battle!"
+msgstr "{1} et {2} veulent se battre!"
+
+msgid "{1} animations converted to new format."
+msgstr "{1} animations converties au nouveau format."
+
+msgid "{1} appears incapable of using its power!"
+msgstr "{1} semble incapable d'utiliser son pouvoir!"
+
+msgid "{1} avoided damage with Wonder Guard!"
+msgstr "{1} annule les dégâts avec Garde Mystik!"
+
+msgid "{1} avoided the attack!"
+msgstr "{1} évite l'attaque!"
+
+msgid "{1} avoids attacks by its ally Pokémon!"
+msgstr "{1} évite les attaques de Pokémon alliés!"
+
+msgid "{1} became cloaked in a freezing light!"
+msgstr "{1} est enveloppé d'une lumière glaciale!"
+
+msgid "{1} became cloaked in freezing air!"
+msgstr "{1} est enveloppé d'un air glacial!"
+
+msgid "{1} became cloaked in mystical moonlight!"
+msgstr "{1} s'enveloppe d'un clair de lune mystique!"
+
+msgid "{1} became confused due to fatigue!"
+msgstr "{1} devient confus à cause de la fatigue!"
+
+msgid "{1} became confused!"
+msgstr "{1} est confus!"
+
+msgid "{1} became healthy!"
+msgstr "{1} est en bonne santé!"
+
+msgid "{1} became healthy."
+msgstr "{1} retrouve la santé."
+
+msgid "{1} became nimble!"
+msgstr "{1} est devenu agile!"
+
+msgid "{1} became the center of attention!"
+msgstr "{1} est devenu le centre d'attention!"
+
+msgid "{1} became trapped by Sand Tomb!"
+msgstr "{1} est piégé dans une tempête de sable!"
+
+msgid "{1} became trapped by swirling magma!"
+msgstr "{1} est piégé par un tourbillon de magma!"
+
+msgid "{1} began charging power!"
+msgstr "{1} commence à accumuler de l'énergie!"
+
+msgid "{1} began growling deeply!"
+msgstr "{1} commence a grogner longuement!"
+
+msgid "{1} began having a nightmare!"
+msgstr "{1} commence à faire un cauchemar!"
+
+msgid "{1} bids farewell to {2}."
+msgstr "{1} dit au revoir à {2}."
+
+msgid "{1} blacked out!"
+msgstr "{1} a tout oublié!"
+
+msgid "{1} bounced the {2} back!"
+msgstr "{1} renvoie le {2}!"
+
+msgid "{1} braced itself!"
+msgstr "{1} se prépare!"
+
+msgid "{1} breaks the mold!"
+msgstr "{1} brise le moule!"
+
+msgid "{1} burrowed its way under the ground!"
+msgstr "{1} creuse un trou dans le sol!"
+
+msgid "{1} called {2}!"
+msgstr "{1} appelle {2}!"
+
+msgid "{1} calmed down."
+msgstr "{1} se calme."
+
+msgid "{1} came to its senses from the Trainer's call!"
+msgstr "{1} est venu à l'appel du Dresseur!"
+
+msgid "{1} came to its senses from the {2}!"
+msgstr "{1} est revenu à la raison {2}!"
+
+msgid "{1} can now be purified!"
+msgstr "{1} peut être purifié à présent!"
+
+msgid "{1} can use items again!"
+msgstr "{1} peut de nouveau utiliser des objets!"
+
+msgid "{1} can't be fused with itself!"
+msgstr "{1} ne peut pas fusionner avec lui-même!"
+
+msgid "{1} can't be fused with {2}."
+msgstr "{1} ne peut être fusionné avec {2}."
+
+msgid "{1} can't be learned."
+msgstr "{1} ne peut être appris."
+
+msgid "{1} can't be switched out!"
+msgstr "{1} ne peut être changé!"
+
+msgid "{1} can't be taught to an Egg."
+msgstr "{1} ne peut être appris par un oeuf."
+
+msgid "{1} can't be taught to this Pokémon."
+msgstr "{1} ne peut être appris à ce Pokémon."
+
+msgid "{1} can't be used in a sky battle!"
+msgstr "{1} ne peut être utilisé en combat aérien!"
+
+msgid "{1} can't escape now!"
+msgstr "{1} ne peut pas s'enfuir!"
+
+msgid "{1} can't fight in a sky battle!"
+msgstr "{1} ne peut combat dans un combat aérien!"
+
+msgid "{1} can't get it going!"
+msgstr "{1} n'arrive pas à se motiver!"
+
+msgid "{1} can't move somehow..."
+msgstr "{1} ne peut rien faire de plus..."
+
+msgid "{1} can't move!"
+msgstr "{1} ne peut pas bouger!"
+
+msgid "{1} can't stockpile any more!"
+msgstr "{1} ne peut plus rien stocker!"
+
+msgid "{1} can't use items anymore!"
+msgstr "{1} ne peut plus utiliser d'objets!"
+
+msgid "{1} can't use the same move twice in a row due to the torment!"
+msgstr "Tourmente empêche {1} d'utiliser la même attaque deux fois de suite!"
+
+msgid "{1} can't use the sealed {2}!"
+msgstr "{1} ne peut utiliser le sceau {2}!"
+
+msgid "{1} can't use {2} after the taunt!"
+msgstr "{1} ne peut utiliser {2} la provocation!"
+
+msgid "{1} can't use {2} because of Heal Block!"
+msgstr "{1} ne peut utiliser {2} après Anti-Soin!"
+
+msgid "{1} cannot be an egg. Make egg anyway?"
+msgstr "{1} ne peut être un oeuf. En faire un quand même?"
+
+msgid "{1} cannot use {2}!"
+msgstr "{1} ne peut pas utiliser {2}!"
+
+msgid "{1} cards have been chosen."
+msgstr "{1} cartes ont été choisies."
+
+msgid "{1} caused an uproar!"
+msgstr "{1} provoque un tumulte!"
+
+msgid "{1} changed Forme!"
+msgstr "{1} a changé de Forme!"
+
+msgid "{1} chose Doom Desire as its destiny!"
+msgstr "{1} a choisit Carnareket comme destinée!"
+
+msgid "{1} clamped {2}!"
+msgstr "{1} serre {2}!"
+
+msgid "{1} consumed its {2}!"
+msgstr "{1} a utilisé {2}!"
+
+msgid "{1} copied {2}'s stat changes!"
+msgstr "{1} à copié les changement de stat de {2}!"
+
+msgid "{1} copied {2}'s {3}!"
+msgstr "{1} a copié le {3} de {2}!"
+
+msgid "{1} cured its infatuation status using its {2}!"
+msgstr "{1} a été guéri de sa passion grâce à sa {2}!"
+
+msgid "{1} cut its own HP and laid a curse on {2}!"
+msgstr "{1} sacrifie ses PV et maudit {2}!"
+
+msgid "{1} cut its own HP and maximized its Attack!"
+msgstr "{1} divise ses PV et augmente son Attaque au max!"
+
+msgid "{1} defeated\n{2}!"
+msgstr "{1} a vaincu\n{2}!"
+
+msgid "{1} defeated the opponent\n{2} in a referee's decision!"
+msgstr "{1} a vaincu l'adversaire\n{2} lors d'une décision de l'arbitre!"
+
+msgid "{1} defeated {2} and {3}!"
+msgstr "{1} a vaincu {2} et {3}!"
+
+msgid "{1} did a headbutt!"
+msgstr "{1} donne un coup de boule!"
+
+msgid "{1} did not learn {2}."
+msgstr "{1} n'a pas appris {2}."
+
+msgid "{1} doesn't become confused!"
+msgstr "{1} ne devient pas confus!"
+
+msgid "{1} doesn't have Pokérus."
+msgstr "{1} n'a pas le Pokérus."
+
+msgid "{1} endured the hit!"
+msgstr "{1} encaisse le choc!"
+
+msgid "{1} evaded the attack!"
+msgstr "{1} évite l'attaque!"
+
+msgid "{1} fainted!"
+msgstr "{1} est K.O.!"
+
+msgid "{1} fainted...\\"
+msgstr "{1} s'écroule...\\"
+
+msgid "{1} fell asleep!"
+msgstr "{1} s'endort!"
+
+msgid "{1} fell for the taunt!"
+msgstr "{1} répond à la provoc!"
+
+msgid "{1} fell in love!"
+msgstr "{1} tombe amoureux!"
+
+msgid "{1} fell straight down!"
+msgstr "{1} tombe!"
+
+msgid "{1} fled from battle!"
+msgstr "{1} a fuit le combat!"
+
+msgid "{1} fled using Run Away!"
+msgstr "{1} fuit en utilisant Fuite!"
+
+msgid "{1} fled using its {2}!"
+msgstr "{1} fuit en utilisant {2}!"
+
+msgid "{1} fled!"
+msgstr "{1} a fuit!"
+
+msgid "{1} flew up high!"
+msgstr "{1} s'est envolé!"
+
+msgid "{1} flew {2} up into the air!"
+msgstr "{1} fait s'envoler {2} dans les airs!"
+
+msgid "{1} flinched and couldn't move!"
+msgstr "{1} a peur et ne bouge plus!"
+
+msgid "{1} flung its {2}!"
+msgstr "{1} jette son {2}!"
+
+msgid "{1} foresaw an attack!"
+msgstr "{1} prévoit une attaque!"
+
+msgid "{1} forfeited the match!"
+msgstr "{1} a déclaré forfait!"
+
+msgid "{1} forgot how to\nuse {2}."
+msgstr "{1} oublie comment \nutiliser {2}."
+
+msgid "{1} forgot {2}."
+msgstr "{1} oublie {2}."
+
+msgid "{1} forgot {2}..."
+msgstr "{1} oublie {2}..."
+
+msgid "{1} found \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "{1} trouve \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found one \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "{1} trouve \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found one {2}!"
+msgstr "{1} a trouvé l'objet: {2}!"
+
+msgid "{1} found some \\c[1]{2}\\c[0]!\\wtnp[20]"
+msgstr "{1} trouve quelques \\c[1]{2}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found {2} \\c[1]{3}\\c[0]!\\wtnp[20]"
+msgstr "{1} trouve {2} \\c[1]{3}\\c[0]!\\wtnp[20]"
+
+msgid "{1} found {2} \\c[1]{3}s\\c[0]!\\wtnp[20]"
+msgstr "{1} trouve {2} \\c[1]{3}s\\c[0]!\\wtnp[20]"
+
+msgid "{1} frisked the foe and found one {2}!"
+msgstr "{1} fouille l'ennemi et trouve une {2}!"
+
+msgid "{1} frisked the other foe and found one {2}!"
+msgstr "{1} fouille l'autre adversaire et trouve un {2}!"
+
+msgid "{1} frisked {2} and found its {3}!"
+msgstr "{1} fouille {2} et trouve son {3}!"
+
+msgid "{1} gained a boosted {2} Exp. Points!"
+msgstr "{1} gagne un bonus de {2} Points Exp.!"
+
+msgid "{1} gained {2} Exp. Points!"
+msgstr "{1} a gagné {2} Points d'Exp!"
+
+msgid "{1} gave ${2} to the winner..."
+msgstr "{1} donne {2}$ au gagnant..."
+
+msgid "{1} gave {2} its {3}!"
+msgstr "{1} donne {2} à son {3}!"
+
+msgid "{1} got ${2}\nfor winning!"
+msgstr "{1} obtient {2}$\npour sa victoire!"
+
+msgid "{1} got free of {2}'s {3}!"
+msgstr "{1} est libre du {3} de {2}!"
+
+msgid "{1} got over its infatuation."
+msgstr "{1} a surmonté son engouement."
+
+msgid "{1} grew to Lv. {2}!"
+msgstr "{1} monte au Nv. {2}!"
+
+msgid "{1} had its HP restored."
+msgstr "{1} voit ses PV restaurés."
+
+msgid "{1} had its energy drained!"
+msgstr "{1} a son énergie drainée!"
+
+msgid "{1} harvested one {2}!"
+msgstr "{1} récolte un {2}!"
+
+msgid "{1} has Air Lock!"
+msgstr "{1} possède Air Lock!"
+
+msgid "{1} has Mega Evolved into {2}!"
+msgstr "{1} a Mega Évolué en {2}!"
+
+msgid "{1} has already been selected."
+msgstr "{1} est déjà sélectionné."
+
+msgid "{1} has been afflicted with infestation by {2}!"
+msgstr "{1} est harcelé par {2}!"
+
+msgid "{1} has been cured of its corruption!"
+msgstr "{1} n'est plus corrompu!"
+
+msgid "{1} has been laid down."
+msgstr "{1} a été déposé."
+
+msgid "{1} has no energy left to battle!"
+msgstr "{1} n'est plus en forme pour se battre!"
+
+msgid "{1} has no more Pokémon that can fight!"
+msgstr "{1} n'a plus aucun Pokémon qui peut se battre!"
+
+msgid "{1} has no moves left!"
+msgstr "{1} ne peut plus attaquer!"
+
+msgid "{1} has no nickname."
+msgstr "{1} n'a pas de surnom."
+
+msgid "{1} has no usable Pokémon!"
+msgstr "{1} n'a plus de Pokémon viable!"
+
+msgid "{1} has the nickname {2}."
+msgstr "{1} est surnommé {2}."
+
+msgid "{1} held up its Red Card against {2}!"
+msgstr "{1} dresse son Carton Rouge contre {2}!"
+
+msgid "{1} helped {2} move next!"
+msgstr "{1} aide {2} pour la prochaine attaque!"
+
+msgid "{1} hid underwater!"
+msgstr "{1} se cache sous l'eau!"
+
+msgid "{1} hung on using its Focus Band!"
+msgstr "{1} tient bon avec Bandeau!"
+
+msgid "{1} hung on using its Focus Sash!"
+msgstr "{1} tient bon avec Ceinture Force!"
+
+msgid "{1} hung on with Sturdy!"
+msgstr "{1} tient bon avec Fermeté!"
+
+msgid "{1} ignored orders while asleep!"
+msgstr "{1} les ordres sont ignorés pendant le sommeil!"
+
+msgid "{1} ignored orders!"
+msgstr "{1} ignore les ordres!"
+
+msgid "{1} intends to flip up a mat and block incoming attacks!"
+msgstr "{1} va retourner un tatami pour bloquer les capacités!"
+
+msgid "{1} is about to send in {2}."
+msgstr "{1} s'apprête à envoyer {2}."
+
+msgid "{1} is absorbing power!"
+msgstr "{1} absorbe de la puissance!"
+
+msgid "{1} is affected by the radiation!"
+msgstr "{1} est affecté par la radiation!"
+
+msgid "{1} is afflicted by the curse!"
+msgstr "{1} est affecté par la malédiction!"
+
+msgid "{1} is already a Shadow Pokémon."
+msgstr "{1} est déjà un Pokémon Obscur."
+
+msgid "{1} is already asleep!"
+msgstr "{1} est déjà endormi!"
+
+msgid "{1} is already confused!"
+msgstr "{1} est déjà confus!"
+
+msgid "{1} is already holding one {2}."
+msgstr "{1} tient déjà {2}."
+
+msgid "{1} is already in battle!"
+msgstr "{1} est déjà en combat!"
+
+msgid "{1} is already paralyzed!"
+msgstr "{1} est déjà paralysé!"
+
+msgid "{1} is already poisoned."
+msgstr "{1} est déjà empoisonné."
+
+msgid "{1} is angry!"
+msgstr "{1} est enragé!"
+
+msgid "{1} is attacking!"
+msgstr "{1} attaque!"
+
+msgid "{1} is badly poisoned!"
+msgstr "{1} est gravement empoisonné!"
+
+msgid "{1} is buffeted by the hail!"
+msgstr "{1} est touché par la grêle!"
+
+msgid "{1} is buffeted by the sandstorm!"
+msgstr "{1} est touché par la tempête de sable!"
+
+msgid "{1} is confused!"
+msgstr "{1} est confus!"
+
+msgid "{1} is covered in powder!"
+msgstr "{1} est couvert de poudre!"
+
+msgid "{1} is damaged by the recoil!"
+msgstr "{1} subit le contrecoup!"
+
+msgid "{1} is disabled no more!"
+msgstr "{1} n'est plus paralysé!"
+
+msgid "{1} is eager for more!"
+msgstr "{1} en veut encore plus!"
+
+msgid "{1} is eating!"
+msgstr "{1} mange!"
+
+msgid "{1} is exerting its Pressure!"
+msgstr "{1} augmente la pression!"
+
+msgid "{1} is fast asleep."
+msgstr "{1} s'endort."
+
+msgid "{1} is frozen solid!"
+msgstr "{1} est gelé!"
+
+msgid "{1} is genderless."
+msgstr "{1} n'a pas de genre."
+
+msgid "{1} is getting into position!"
+msgstr "{1} se met en position!"
+
+msgid "{1} is getting pumped!"
+msgstr "{1} commence à se booster!"
+
+msgid "{1} is glowing!"
+msgstr "{1} luit!"
+
+msgid "{1} is having a bad dream!"
+msgstr "{1} fait un mauvais rêve!"
+
+msgid "{1} is healed by poison!"
+msgstr "{1} est guéri par le poison!"
+
+msgid "{1} is hit by lightning!"
+msgstr "{1} est touché par Paratonnerre!"
+
+msgid "{1} is hurt by its burn!"
+msgstr "{1} est blessé par la brûlure!"
+
+msgid "{1} is hurt by its {2}!"
+msgstr "{1} est blessé par son {2}!"
+
+msgid "{1} is hurt by poison!"
+msgstr "{1} est blessé par le poison!"
+
+msgid "{1} is hurt by {2}!"
+msgstr "{1} est blessé par {2}!"
+
+msgid "{1} is immobilized by love!"
+msgstr "{1} est transi d'amour!"
+
+msgid "{1} is in love with {2}!"
+msgstr "{1} est amoureux de {2}!"
+
+msgid "{1} is loafing around!"
+msgstr "{1} flemmarde!"
+
+msgid "{1} is locked in a nightmare!"
+msgstr "{1} est enfermé dans un cauchemar!"
+
+msgid "{1} is making a move..."
+msgstr "{1} fait un mouvement..."
+
+msgid "{1} is making an uproar!"
+msgstr "{1} fait un brouhaha!"
+
+msgid "{1} is not a Shadow Pokémon."
+msgstr "{1} n'est pas un Pokémon Obscur."
+
+msgid "{1} is not affected by {2} thanks to its Safety Goggles!"
+msgstr "{1} n'est pas affecté par {2} grâce aux Lunettes Filtre!"
+
+msgid "{1} is not allowed."
+msgstr "{1} n'est pas autorisé."
+
+msgid "{1} is not compatible with {2}."
+msgstr "{1} n'est pas compatible avec {2}."
+
+msgid "{1} is now a Shadow Pokémon."
+msgstr "{1} est maintenant un Pokémon Obscur."
+
+msgid "{1} is now being held."
+msgstr "{1} est tenu maintenant."
+
+msgid "{1} is now female."
+msgstr "{1} est maintenant une femelle."
+
+msgid "{1} is now male."
+msgstr "{1} est maintenant un mâle."
+
+msgid "{1} is paralyzed! It can't move!"
+msgstr "{1} est paralysé! Il ne peut pas bouger!"
+
+msgid "{1} is paralyzed! It may be unable to move!"
+msgstr "{1} est paralysé! Il ne peut plus bouger!"
+
+msgid "{1} is poisoned!"
+msgstr "{1} est empoisonné!"
+
+msgid "{1} is protected by Aroma Veil!"
+msgstr "{1} est protégé par Aroma-Voile!"
+
+msgid "{1} is protected by Mist!"
+msgstr "{1} est protégé par Brume!"
+
+msgid "{1} is protected by Safeguard!"
+msgstr "{1} est protégé par Rune Protect!"
+
+msgid "{1} is protected by the Sticky Terrain!"
+msgstr "{1} est protégé par le Terrain Gluant!"
+
+msgid "{1} is protected by the mist!"
+msgstr "{1} est protégé par la brume!"
+
+msgid "{1} is radiating a blazing aura!"
+msgstr "{1} dégage une aura de flammes incandescente!"
+
+msgid "{1} is radiating a bursting aura!"
+msgstr "{1} dégage une aura électrique instable!"
+
+msgid "{1} is radiating a dark aura!"
+msgstr "{1} dégage une aura de ténèbre!"
+
+msgid "{1} is radiating a fairy aura!"
+msgstr "{1} dégage une aura enchanteresse!"
+
+msgid "{1} is ready to help {2}!"
+msgstr "{1} est prêt à aider {2}!"
+
+msgid "{1} is selected."
+msgstr "{1} est sélectionné."
+
+msgid "{1} is storing energy!"
+msgstr "{1} emmagazine de l'énergie!"
+
+msgid "{1} is struggling!"
+msgstr "{1} lutte!"
+
+msgid "{1} is switched out with the Eject Button!"
+msgstr "{1} sort du combat avec le Bouton Fuite!"
+
+msgid "{1} is tightening its focus!"
+msgstr "{1} se concentre!"
+
+msgid "{1} is tormented!"
+msgstr "{1} est tourmenté!"
+
+msgid "{1} is trying to\nlearn {2}."
+msgstr "{1} tente d'apprendre\n{2}."
+
+msgid "{1} is trying to learn {2}."
+msgstr "{1} tente d'apprendre {2}."
+
+msgid "{1} is trying to take its foe down with it!"
+msgstr "{1} tente d'emporter son ennemi dans sa chute!"
+
+msgid "{1} is unaffected!"
+msgstr "{1} n'est pas affecté!"
+
+msgid "{1} is waiting for {2}'s move..."
+msgstr "{1} attend l'attaque de {2}..."
+
+msgid "{1} is watching carefully!"
+msgstr "{1} observe avec attention!"
+
+msgid "{1} isn't holding anything."
+msgstr "{1} ne tient rien."
+
+msgid "{1} kept going and crashed!"
+msgstr "{1} s'est écrasé dans son élan!"
+
+msgid "{1} knocked off {2}'s {3}!"
+msgstr "{1} s'est débarassé du {3} de {2}!"
+
+msgid "{1} learned a new song!"
+msgstr "{1} apprend une nouvelle chanson!"
+
+msgid "{1} learned {2}!"
+msgstr "{1} a appris {2}!"
+
+msgid "{1} learned {2}!\\se[itemlevel]"
+msgstr "{1} a appris \n{2}!\\se[itemlevel]"
+
+msgid "{1} levitated with electromagnetism!"
+msgstr "{1} lévite avec électromagnétisme!"
+
+msgid "{1} lost against\n{2}!"
+msgstr "{1} a perdu contre\n{2}!"
+
+msgid "{1} lost against {2} and {3}!"
+msgstr "{1} a perdu contre {2} et {3}!"
+
+msgid "{1} lost against {2}."
+msgstr "{1} a perdu contre {2}."
+
+msgid "{1} lost its focus and couldn't move!"
+msgstr "{1} perd sa concentration et ne peut plus bouger!"
+
+msgid "{1} lost some of its HP!"
+msgstr "{1} perd un peu de PV!"
+
+msgid "{1} lost to the opponent\n{2} in a referee's decision!"
+msgstr "{1} a perdu contre l'adversaire\n{2} lors d'une décision de l'arbitre!"
+
+msgid "{1} lowered its head!"
+msgstr "{1} baisse la tête!"
+
+msgid "{1} made {2} drowsy!"
+msgstr "{1} et {2} somnolent!"
+
+msgid "{1} makes Fairy-type moves miss with Disenchant!"
+msgstr "{1} annule les attaques Fée grâce à Désenchantement!"
+
+msgid "{1} makes Ground moves miss with Levitate!"
+msgstr "{1} évite les attaques Sol grâce à Lévitation!"
+
+msgid "{1} makes Nuclear-type moves miss with Radiation Proof!"
+msgstr "{1} annule les attaques de type Nucléaire grâce à Radiation Imperméble!"
+
+msgid "{1} maxed its Attack!"
+msgstr "L'attaque de {1} monte au maximum!"
+
+msgid "{1} must recharge!"
+msgstr "{1} doit se recharger!"
+
+msgid "{1} obtained {2}!\\me[PU-PokemonObtained]"
+msgstr "{1} obtient {2}!\\me[PU-PokemonObtained]"
+
+msgid "{1} obtained {2}!\\se[itemlevel]"
+msgstr "{1} a obtenu {2}!\\se[niveauobjet]"
+
+msgid "{1} obtained {2}."
+msgstr "{1} obtient {2}."
+
+msgid "{1} opened the door to its heart!"
+msgstr "{1} a ouvert sa conscience!"
+
+msgid "{1} panicked and dropped\n${2}..."
+msgstr "{1} panique et fait tomber\n{2}$..."
+
+msgid "{1} picked up ${2}!"
+msgstr "{1} ramasse {2}$!"
+
+msgid "{1} picked up {2} from the pokemon!"
+msgstr "{1} a pris {2} au Pokémon!"
+
+msgid "{1} pickpocketed {2}'s {3}!"
+msgstr "{1} pique l'objet que {2} tenait! Adieu, {3}!"
+
+msgid "{1} planted a {2} in the soft loamy soil."
+msgstr "{1} plante une baie {2} dans le sol doux et argileux."
+
+msgid "{1} planted its roots!"
+msgstr "{1} plante ses racines!"
+
+msgid "{1} pretended not to notice!"
+msgstr "{1} prétend ne rien remarquer!"
+
+msgid "{1} protected itself!"
+msgstr "{1} se protège!"
+
+msgid "{1} put away the {2} in the \\c[1]Berries\\c[0] Pocket."
+msgstr "{1} place {2} dans la \\c[1]Poche\\c[0] Baies."
+
+msgid "{1} put in a substitute!"
+msgstr "{1} est remplacé par un clone!"
+
+msgid "{1} put the \\c[1]{2}\\c[0]\nin the \\c[1]{4}\\c[0] Pocket."
+msgstr "{1} place l'objet \\c[1]{2}\\c[0]\ndans la \\c[1]Poche {4}\\c[0]."
+
+msgid "{1} put the \\c[1]{2}s\\c[0]\nin the