about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFujnky <larsfunke1996@gmail.com>2010-06-05 23:36:52 +0200
committerFujnky <larsfunke1996@gmail.com>2010-06-05 23:36:52 +0200
commitbf68f803e3f0cdf529b454da63d3e86a9237598a (patch)
treeb81a8929b255b30bed6de17ab4daa60e88d2936b
parentd000766e9dc82b1632c2f7d826c68df15f8afd26 (diff)
downloadzcatch-bf68f803e3f0cdf529b454da63d3e86a9237598a.tar.gz
zcatch-bf68f803e3f0cdf529b454da63d3e86a9237598a.zip
Internationalized editor and updated german localization
-rw-r--r--data/languages/czech.txt318
-rw-r--r--data/languages/dutch.txt318
-rw-r--r--data/languages/french.txt318
-rw-r--r--data/languages/german.txt318
-rw-r--r--data/languages/italian.txt318
-rw-r--r--data/languages/portuguese.txt318
-rw-r--r--data/languages/swedish.txt318
-rw-r--r--src/game/editor/ed_editor.cpp146
-rw-r--r--src/game/editor/ed_layer_tiles.cpp12
-rw-r--r--src/game/editor/ed_popups.cpp29
10 files changed, 2322 insertions, 91 deletions
diff --git a/data/languages/czech.txt b/data/languages/czech.txt
index 21e937d6..cb90a6a3 100644
--- a/data/languages/czech.txt
+++ b/data/languages/czech.txt
@@ -462,4 +462,322 @@ error loading demo
 Error
 == Error
 
+Open map
+== Open map
+
+Open
+== Open
+
+Save map
+== Save map
+
+Save
+== Save
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [ctrl+h] Toggle High Detail
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [ctrl+m] Toggle animation
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumPad-] Zoom out
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumPad*] Zoom to normal and remove editor offset
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumPad+] Zoom in
+
+Increase animation speed
+== Increase animation speed
+
+Normal animation speed
+== Normal animation speed
+
+Decrease animation speed
+== Decrease animation speed
+
+[N] Flip brush horizontal
+== [N] Flip brush horizontal
+
+[M] Flip brush vertical
+== [M] Flip brush vertical
+
+CCW
+== CCW
+
+[R] Rotates the brush counter clockwise
+== [R] Rotates the brush counter clockwise
+
+CW
+== CW
+
+[T] Rotates the brush clockwise
+== [T] Rotates the brush clockwise
+
+Add Quad
+== Add Quad
+
+Adds a new quad
+== Adds a new quad
+
+Border
+== Border
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+
+Left mouse button to move. Hold shift to move the texture.
+== Left mouse button to move. Hold shift to move the texture.
+
+Use left mouse button to drag and create a brush.
+== Use left mouse button to drag and create a brush.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Use left mouse button to paint with the brush. Right button clears the brush.
+
+Decrease
+== Decrease
+
+Increase
+== Increase
+
+None
+== None
+
+Toggle group visibility
+== Toggle group visibility
+
+Select group. Right click for properties.
+== Select group. Right click for properties.
+
+Add group
+== Add group
+
+Adds a new group
+== Adds a new group
+
+Embed
+== Embed
+
+Embeds the image into the map file.
+== Embeds the image into the map file.
+
+Make external
+== Make external
+
+Removes the image from the map file.
+== Removes the image from the map file.
+
+Replace
+== Replace
+
+Replaces the image with a new one
+== Replaces the image with a new one
+
+Replace Image
+== Replace Image
+
+Remove
+== Remove
+
+Removes the image from the map
+== Removes the image from the map
+
+Embedded
+== Embedded
+
+External
+== External
+
+Select image
+== Select image
+
+Load a new image to use in the map
+== Load a new image to use in the map
+
+Add Image
+== Add Image
+
+Add
+== Add
+
+Filename:
+== Filename:
+
+Cancel
+== Cancel
+
+Layers
+== Layers
+
+Images
+== Images
+
+Switch between images and layers managment.
+== Switch between images and layers managment.
+
+Envelopes
+== Envelopes
+
+Toggles the envelope editor.
+== Toggles the envelope editor.
+
+%s Right click for context menu.
+== %s Right click for context menu.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Creates a new color envelope
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Creates a new pos envelope
+
+Previous Envelope
+== Previous Envelope
+
+Next Envelope
+== Next Envelope
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Press right mouse button to create a new point
+
+Switch curve type
+== Switch curve type
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+
+New
+== New
+
+Creates a new map
+== Creates a new map
+
+Opens a map for editing
+== Opens a map for editing
+
+Append
+== Append
+
+Opens a map and adds everything from that map to the current one
+== Opens a map and adds everything from that map to the current one
+
+Append map
+== Append map
+
+Saves the current map
+== Saves the current map
+
+Save As
+== Save As
+
+Saves the current map under a new name
+== Saves the current map under a new name
+
+Exits from the editor
+== Exits from the editor
+
+Clear collision
+== Clear collision
+
+Removes collision from this layer
+== Removes collision from this layer
+
+Make collision
+== Make collision
+
+Constructs collision from this layer
+== Constructs collision from this layer
+
+Width
+== Width
+
+Height
+== Height
+
+Image
+== Image
+
+Delete group
+== Delete group
+
+Add quads layer
+== Add quads layer
+
+Creates a new quad layer
+== Creates a new quad layer
+
+Add tile layer
+== Add tile layer
+
+Creates a new tile layer
+== Creates a new tile layer
+
+Delete layer
+== Delete Layer
+
+Deletes the layer
+== Deletes the layer
+
+Group
+== Group
+
+Order
+== Order
+
+Detail
+== Detail
+
+Delete
+== Delete
+
+Deletes the current quad
+== Deletes the current quad
+
+Square
+== Square
+
+Squares the current quad
+== Squares the current quad
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### old translations ####
diff --git a/data/languages/dutch.txt b/data/languages/dutch.txt
index 4f0f7185..be1eebfe 100644
--- a/data/languages/dutch.txt
+++ b/data/languages/dutch.txt
@@ -461,4 +461,322 @@ error loading demo
 Error
 == Error
 
+Open map
+== Open map
+
+Open
+== Open
+
+Save map
+== Save map
+
+Save
+== Save
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [ctrl+h] Toggle High Detail
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [ctrl+m] Toggle animation
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumPad-] Zoom out
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumPad*] Zoom to normal and remove editor offset
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumPad+] Zoom in
+
+Increase animation speed
+== Increase animation speed
+
+Normal animation speed
+== Normal animation speed
+
+Decrease animation speed
+== Decrease animation speed
+
+[N] Flip brush horizontal
+== [N] Flip brush horizontal
+
+[M] Flip brush vertical
+== [M] Flip brush vertical
+
+CCW
+== CCW
+
+[R] Rotates the brush counter clockwise
+== [R] Rotates the brush counter clockwise
+
+CW
+== CW
+
+[T] Rotates the brush clockwise
+== [T] Rotates the brush clockwise
+
+Add Quad
+== Add Quad
+
+Adds a new quad
+== Adds a new quad
+
+Border
+== Border
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+
+Left mouse button to move. Hold shift to move the texture.
+== Left mouse button to move. Hold shift to move the texture.
+
+Use left mouse button to drag and create a brush.
+== Use left mouse button to drag and create a brush.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Use left mouse button to paint with the brush. Right button clears the brush.
+
+Decrease
+== Decrease
+
+Increase
+== Increase
+
+None
+== None
+
+Toggle group visibility
+== Toggle group visibility
+
+Select group. Right click for properties.
+== Select group. Right click for properties.
+
+Add group
+== Add group
+
+Adds a new group
+== Adds a new group
+
+Embed
+== Embed
+
+Embeds the image into the map file.
+== Embeds the image into the map file.
+
+Make external
+== Make external
+
+Removes the image from the map file.
+== Removes the image from the map file.
+
+Replace
+== Replace
+
+Replaces the image with a new one
+== Replaces the image with a new one
+
+Replace Image
+== Replace Image
+
+Remove
+== Remove
+
+Removes the image from the map
+== Removes the image from the map
+
+Embedded
+== Embedded
+
+External
+== External
+
+Select image
+== Select image
+
+Load a new image to use in the map
+== Load a new image to use in the map
+
+Add Image
+== Add Image
+
+Add
+== Add
+
+Filename:
+== Filename:
+
+Cancel
+== Cancel
+
+Layers
+== Layers
+
+Images
+== Images
+
+Switch between images and layers managment.
+== Switch between images and layers managment.
+
+Envelopes
+== Envelopes
+
+Toggles the envelope editor.
+== Toggles the envelope editor.
+
+%s Right click for context menu.
+== %s Right click for context menu.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Creates a new color envelope
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Creates a new pos envelope
+
+Previous Envelope
+== Previous Envelope
+
+Next Envelope
+== Next Envelope
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Press right mouse button to create a new point
+
+Switch curve type
+== Switch curve type
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+
+New
+== New
+
+Creates a new map
+== Creates a new map
+
+Opens a map for editing
+== Opens a map for editing
+
+Append
+== Append
+
+Opens a map and adds everything from that map to the current one
+== Opens a map and adds everything from that map to the current one
+
+Append map
+== Append map
+
+Saves the current map
+== Saves the current map
+
+Save As
+== Save As
+
+Saves the current map under a new name
+== Saves the current map under a new name
+
+Exits from the editor
+== Exits from the editor
+
+Clear collision
+== Clear collision
+
+Removes collision from this layer
+== Removes collision from this layer
+
+Make collision
+== Make collision
+
+Constructs collision from this layer
+== Constructs collision from this layer
+
+Width
+== Width
+
+Height
+== Height
+
+Image
+== Image
+
+Delete group
+== Delete group
+
+Add quads layer
+== Add quads layer
+
+Creates a new quad layer
+== Creates a new quad layer
+
+Add tile layer
+== Add tile layer
+
+Creates a new tile layer
+== Creates a new tile layer
+
+Delete layer
+== Delete Layer
+
+Deletes the layer
+== Deletes the layer
+
+Group
+== Group
+
+Order
+== Order
+
+Detail
+== Detail
+
+Delete
+== Delete
+
+Deletes the current quad
+== Deletes the current quad
+
+Square
+== Square
+
+Squares the current quad
+== Squares the current quad
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### old translations ####
diff --git a/data/languages/french.txt b/data/languages/french.txt
index 390af2c6..6b17ca19 100644
--- a/data/languages/french.txt
+++ b/data/languages/french.txt
@@ -462,4 +462,322 @@ error loading demo
 Error
 == Error
 
+Open map
+== Open map
+
+Open
+== Open
+
+Save map
+== Save map
+
+Save
+== Save
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [ctrl+h] Toggle High Detail
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [ctrl+m] Toggle animation
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumPad-] Zoom out
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumPad*] Zoom to normal and remove editor offset
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumPad+] Zoom in
+
+Increase animation speed
+== Increase animation speed
+
+Normal animation speed
+== Normal animation speed
+
+Decrease animation speed
+== Decrease animation speed
+
+[N] Flip brush horizontal
+== [N] Flip brush horizontal
+
+[M] Flip brush vertical
+== [M] Flip brush vertical
+
+CCW
+== CCW
+
+[R] Rotates the brush counter clockwise
+== [R] Rotates the brush counter clockwise
+
+CW
+== CW
+
+[T] Rotates the brush clockwise
+== [T] Rotates the brush clockwise
+
+Add Quad
+== Add Quad
+
+Adds a new quad
+== Adds a new quad
+
+Border
+== Border
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+
+Left mouse button to move. Hold shift to move the texture.
+== Left mouse button to move. Hold shift to move the texture.
+
+Use left mouse button to drag and create a brush.
+== Use left mouse button to drag and create a brush.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Use left mouse button to paint with the brush. Right button clears the brush.
+
+Decrease
+== Decrease
+
+Increase
+== Increase
+
+None
+== None
+
+Toggle group visibility
+== Toggle group visibility
+
+Select group. Right click for properties.
+== Select group. Right click for properties.
+
+Add group
+== Add group
+
+Adds a new group
+== Adds a new group
+
+Embed
+== Embed
+
+Embeds the image into the map file.
+== Embeds the image into the map file.
+
+Make external
+== Make external
+
+Removes the image from the map file.
+== Removes the image from the map file.
+
+Replace
+== Replace
+
+Replaces the image with a new one
+== Replaces the image with a new one
+
+Replace Image
+== Replace Image
+
+Remove
+== Remove
+
+Removes the image from the map
+== Removes the image from the map
+
+Embedded
+== Embedded
+
+External
+== External
+
+Select image
+== Select image
+
+Load a new image to use in the map
+== Load a new image to use in the map
+
+Add Image
+== Add Image
+
+Add
+== Add
+
+Filename:
+== Filename:
+
+Cancel
+== Cancel
+
+Layers
+== Layers
+
+Images
+== Images
+
+Switch between images and layers managment.
+== Switch between images and layers managment.
+
+Envelopes
+== Envelopes
+
+Toggles the envelope editor.
+== Toggles the envelope editor.
+
+%s Right click for context menu.
+== %s Right click for context menu.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Creates a new color envelope
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Creates a new pos envelope
+
+Previous Envelope
+== Previous Envelope
+
+Next Envelope
+== Next Envelope
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Press right mouse button to create a new point
+
+Switch curve type
+== Switch curve type
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+
+New
+== New
+
+Creates a new map
+== Creates a new map
+
+Opens a map for editing
+== Opens a map for editing
+
+Append
+== Append
+
+Opens a map and adds everything from that map to the current one
+== Opens a map and adds everything from that map to the current one
+
+Append map
+== Append map
+
+Saves the current map
+== Saves the current map
+
+Save As
+== Save As
+
+Saves the current map under a new name
+== Saves the current map under a new name
+
+Exits from the editor
+== Exits from the editor
+
+Clear collision
+== Clear collision
+
+Removes collision from this layer
+== Removes collision from this layer
+
+Make collision
+== Make collision
+
+Constructs collision from this layer
+== Constructs collision from this layer
+
+Width
+== Width
+
+Height
+== Height
+
+Image
+== Image
+
+Delete group
+== Delete group
+
+Add quads layer
+== Add quads layer
+
+Creates a new quad layer
+== Creates a new quad layer
+
+Add tile layer
+== Add tile layer
+
+Creates a new tile layer
+== Creates a new tile layer
+
+Delete layer
+== Delete Layer
+
+Deletes the layer
+== Deletes the layer
+
+Group
+== Group
+
+Order
+== Order
+
+Detail
+== Detail
+
+Delete
+== Delete
+
+Deletes the current quad
+== Deletes the current quad
+
+Square
+== Square
+
+Squares the current quad
+== Squares the current quad
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### old translations ####
diff --git a/data/languages/german.txt b/data/languages/german.txt
index 300a162a..d5daf8a1 100644
--- a/data/languages/german.txt
+++ b/data/languages/german.txt
@@ -460,6 +460,324 @@ error loading demo
 Error
 == Fehlgeschlagen
 
+Open map
+== Map öffnen
+
+Open
+== Öffnen
+
+Save map
+== Map speichern
+
+Save
+== Speichern
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [Strg+H] Hohe Details umschalten
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [Strg+M] Animation umschalten
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [Strg+P] Schaltet Testrahmen um. Diese Rahmen zeigen, wie viel der Spieler höchstens sehen kann.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumBlock-] Verkleinern
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumBlock*] Normale Größe
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumBlock+] Vergrößern
+
+Increase animation speed
+== Animationsgeschwindigkeit erhöhen
+
+Normal animation speed
+== Normale Animationsgeschwindigkeit
+
+Decrease animation speed
+== Animationsgeschwindigkeit verringern
+
+[N] Flip brush horizontal
+== [N] Pinsel horizontal umdrehen
+
+[M] Flip brush vertical
+== [M] Pinsel vertikal umdrehen
+
+CCW
+== gg. UZS
+
+[R] Rotates the brush counter clockwise
+== [R] Dreht den Pinsel gegen den Uhrzeigersinn
+
+CW
+== UZS
+
+[T] Rotates the brush clockwise
+== [T] dreht den Pinsel im Uhrzeigersinn
+
+Add Quad
+== Quad hinzufügen
+
+Adds a new quad
+== Fügt ein neues Quad hinzu
+
+Border
+== Rahmen
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Linke Maustaste zum Bewegen. Umschalttaste gedrückt halten, um die Achse zu bewegen. Strg gedrückt halten zum drehen.
+
+Left mouse button to move. Hold shift to move the texture.
+== Linke Maustaste zum Bewegen. Umschalttaste gedrückt halten, um die Textur zu bewegen.
+
+Use left mouse button to drag and create a brush.
+== Benutze die linke Maustaste, um zu ziehen und einen Pinsel zu erstellen.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Benutze die linke Maustaste um mit dem Pinsel zu malen. Die rechte Maustaste löscht den Pinsel.
+
+Decrease
+== Verringern
+
+Increase
+== Vergrößern
+
+None
+== Kein
+
+Toggle group visibility
+== Gruppensichtbarkeit umschalten
+
+Select group. Right click for properties.
+== Gruppe auswählen. Rechtsklick für Eigenschaften.
+
+Add group
+== Gruppen hinzufügen
+
+Adds a new group
+== Fügt eine neue Gruppe hinzu
+
+Embed
+== Einbetten
+
+Embeds the image into the map file.
+== Bettet die Grafik in die Kartendatei ein.
+
+Make external
+== Extern machen.
+
+Removes the image from the map file.
+== Entfernt die Grafik aus der Kartendatei.
+
+Replace
+== Ersetzen
+
+Replaces the image with a new one
+== Ersetzt die Grafik durch ein neues
+
+Replace Image
+== Grafik ersetzen
+
+Remove
+== Entfernen
+
+Removes the image from the map
+== Entfernt die Grafik aus der Karte
+
+Embedded
+== Eingebettet
+
+External
+== Extern
+
+Select image
+== Grafik auswählen
+
+Load a new image to use in the map
+== Lädt eine neue Grafik, um sie in der Karte zu benutzen.
+
+Add Image
+== Grafik hinzufügen
+
+Add
+== Hinzufügen
+
+Filename:
+== Dateiname:
+
+Cancel
+== Abbrechen
+
+Layers
+== Ebenen
+
+Images
+== Grafiken
+
+Switch between images and layers managment.
+== Zwischen Ebenen- und Bildverwaltung umschalten.
+
+Envelopes
+== Animationen
+
+Toggles the envelope editor.
+== Schaltet den Animationseditor um.
+
+%s Right click for context menu.
+== %s Rechtsklick für Kontextmenü.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Erstellt eine neue Farbanimation
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Erstellt eine neue Positionsanimation
+
+Previous Envelope
+== Vorherige Animation
+
+Next Envelope
+== Nächste Animation
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Drücke die rechte Maustaste, um einen neuen Punkt zu erstellen
+
+Switch curve type
+== Kurventyp ändern
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Linke Maustaste zum ziehen. Halte die Umschalttaste, um auch den Zeit-Punkt zu verändern. Rechtsklick zum Löschen.
+
+New
+== Neu
+
+Creates a new map
+== Erstellt eine neue Karte
+
+Opens a map for editing
+== Öffnet eine Map zum Bearbeiten
+
+Append
+== Anhängen
+
+Opens a map and adds everything from that map to the current one
+== Öffnet eine Karte und fügt alles aus dieser in die aktuelle ein.
+
+Append map
+== Karte anhängen
+
+Saves the current map
+== Speichert die aktuelle Karte
+
+Save As
+== Speichern unter
+
+Saves the current map under a new name
+== Speichert die aktuelle Karte unter neuem Namen
+
+Exits from the editor
+== Schließt den Editor
+
+Clear collision
+== Kollision löschen
+
+Removes collision from this layer
+== Entfernt die Kollision aus dieser Ebene
+
+Make collision
+== Kollision erstellen
+
+Constructs collision from this layer
+== Erstellt die Kollision aus dieser Ebene
+
+Width
+== Breite
+
+Height
+== Höhe
+
+Image
+== Grafik
+
+Delete group
+== Gruppe löschen
+
+Add quads layer
+== Quad-Ebene hinzufügen
+
+Creates a new quad layer
+== Erstellt eine neue Quad-Ebene
+
+Add tile layer
+== Tile-Ebene hinzufügen
+
+Creates a new tile layer
+== Erstellt eine neue Tile-Ebene
+
+Delete layer
+== Ebene löschen
+
+Deletes the layer
+== Entfernt die Ebene
+
+Group
+== Gruppe
+
+Order
+== Reihenfolge
+
+Detail
+== Detail
+
+Delete
+== Löschen
+
+Deletes the current quad
+== Entfernt das ausgewählte Quad
+
+Square
+== Quadrat
+
+Squares the current quad
+== Macht das ausgewählte Quad zum Quadrat
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### needs translation ####
 
 
diff --git a/data/languages/italian.txt b/data/languages/italian.txt
index 24c54c7a..f697527a 100644
--- a/data/languages/italian.txt
+++ b/data/languages/italian.txt
@@ -462,4 +462,322 @@ error loading demo
 Error
 == Error
 
+Open map
+== Open map
+
+Open
+== Open
+
+Save map
+== Save map
+
+Save
+== Save
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [ctrl+h] Toggle High Detail
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [ctrl+m] Toggle animation
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumPad-] Zoom out
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumPad*] Zoom to normal and remove editor offset
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumPad+] Zoom in
+
+Increase animation speed
+== Increase animation speed
+
+Normal animation speed
+== Normal animation speed
+
+Decrease animation speed
+== Decrease animation speed
+
+[N] Flip brush horizontal
+== [N] Flip brush horizontal
+
+[M] Flip brush vertical
+== [M] Flip brush vertical
+
+CCW
+== CCW
+
+[R] Rotates the brush counter clockwise
+== [R] Rotates the brush counter clockwise
+
+CW
+== CW
+
+[T] Rotates the brush clockwise
+== [T] Rotates the brush clockwise
+
+Add Quad
+== Add Quad
+
+Adds a new quad
+== Adds a new quad
+
+Border
+== Border
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+
+Left mouse button to move. Hold shift to move the texture.
+== Left mouse button to move. Hold shift to move the texture.
+
+Use left mouse button to drag and create a brush.
+== Use left mouse button to drag and create a brush.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Use left mouse button to paint with the brush. Right button clears the brush.
+
+Decrease
+== Decrease
+
+Increase
+== Increase
+
+None
+== None
+
+Toggle group visibility
+== Toggle group visibility
+
+Select group. Right click for properties.
+== Select group. Right click for properties.
+
+Add group
+== Add group
+
+Adds a new group
+== Adds a new group
+
+Embed
+== Embed
+
+Embeds the image into the map file.
+== Embeds the image into the map file.
+
+Make external
+== Make external
+
+Removes the image from the map file.
+== Removes the image from the map file.
+
+Replace
+== Replace
+
+Replaces the image with a new one
+== Replaces the image with a new one
+
+Replace Image
+== Replace Image
+
+Remove
+== Remove
+
+Removes the image from the map
+== Removes the image from the map
+
+Embedded
+== Embedded
+
+External
+== External
+
+Select image
+== Select image
+
+Load a new image to use in the map
+== Load a new image to use in the map
+
+Add Image
+== Add Image
+
+Add
+== Add
+
+Filename:
+== Filename:
+
+Cancel
+== Cancel
+
+Layers
+== Layers
+
+Images
+== Images
+
+Switch between images and layers managment.
+== Switch between images and layers managment.
+
+Envelopes
+== Envelopes
+
+Toggles the envelope editor.
+== Toggles the envelope editor.
+
+%s Right click for context menu.
+== %s Right click for context menu.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Creates a new color envelope
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Creates a new pos envelope
+
+Previous Envelope
+== Previous Envelope
+
+Next Envelope
+== Next Envelope
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Press right mouse button to create a new point
+
+Switch curve type
+== Switch curve type
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+
+New
+== New
+
+Creates a new map
+== Creates a new map
+
+Opens a map for editing
+== Opens a map for editing
+
+Append
+== Append
+
+Opens a map and adds everything from that map to the current one
+== Opens a map and adds everything from that map to the current one
+
+Append map
+== Append map
+
+Saves the current map
+== Saves the current map
+
+Save As
+== Save As
+
+Saves the current map under a new name
+== Saves the current map under a new name
+
+Exits from the editor
+== Exits from the editor
+
+Clear collision
+== Clear collision
+
+Removes collision from this layer
+== Removes collision from this layer
+
+Make collision
+== Make collision
+
+Constructs collision from this layer
+== Constructs collision from this layer
+
+Width
+== Width
+
+Height
+== Height
+
+Image
+== Image
+
+Delete group
+== Delete group
+
+Add quads layer
+== Add quads layer
+
+Creates a new quad layer
+== Creates a new quad layer
+
+Add tile layer
+== Add tile layer
+
+Creates a new tile layer
+== Creates a new tile layer
+
+Delete layer
+== Delete Layer
+
+Deletes the layer
+== Deletes the layer
+
+Group
+== Group
+
+Order
+== Order
+
+Detail
+== Detail
+
+Delete
+== Delete
+
+Deletes the current quad
+== Deletes the current quad
+
+Square
+== Square
+
+Squares the current quad
+== Squares the current quad
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### old translations ####
diff --git a/data/languages/portuguese.txt b/data/languages/portuguese.txt
index c7a83c48..6e827bb8 100644
--- a/data/languages/portuguese.txt
+++ b/data/languages/portuguese.txt
@@ -462,4 +462,322 @@ error loading demo
 Error
 == Error
 
+Open map
+== Open map
+
+Open
+== Open
+
+Save map
+== Save map
+
+Save
+== Save
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [ctrl+h] Toggle High Detail
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [ctrl+m] Toggle animation
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumPad-] Zoom out
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumPad*] Zoom to normal and remove editor offset
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumPad+] Zoom in
+
+Increase animation speed
+== Increase animation speed
+
+Normal animation speed
+== Normal animation speed
+
+Decrease animation speed
+== Decrease animation speed
+
+[N] Flip brush horizontal
+== [N] Flip brush horizontal
+
+[M] Flip brush vertical
+== [M] Flip brush vertical
+
+CCW
+== CCW
+
+[R] Rotates the brush counter clockwise
+== [R] Rotates the brush counter clockwise
+
+CW
+== CW
+
+[T] Rotates the brush clockwise
+== [T] Rotates the brush clockwise
+
+Add Quad
+== Add Quad
+
+Adds a new quad
+== Adds a new quad
+
+Border
+== Border
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+
+Left mouse button to move. Hold shift to move the texture.
+== Left mouse button to move. Hold shift to move the texture.
+
+Use left mouse button to drag and create a brush.
+== Use left mouse button to drag and create a brush.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Use left mouse button to paint with the brush. Right button clears the brush.
+
+Decrease
+== Decrease
+
+Increase
+== Increase
+
+None
+== None
+
+Toggle group visibility
+== Toggle group visibility
+
+Select group. Right click for properties.
+== Select group. Right click for properties.
+
+Add group
+== Add group
+
+Adds a new group
+== Adds a new group
+
+Embed
+== Embed
+
+Embeds the image into the map file.
+== Embeds the image into the map file.
+
+Make external
+== Make external
+
+Removes the image from the map file.
+== Removes the image from the map file.
+
+Replace
+== Replace
+
+Replaces the image with a new one
+== Replaces the image with a new one
+
+Replace Image
+== Replace Image
+
+Remove
+== Remove
+
+Removes the image from the map
+== Removes the image from the map
+
+Embedded
+== Embedded
+
+External
+== External
+
+Select image
+== Select image
+
+Load a new image to use in the map
+== Load a new image to use in the map
+
+Add Image
+== Add Image
+
+Add
+== Add
+
+Filename:
+== Filename:
+
+Cancel
+== Cancel
+
+Layers
+== Layers
+
+Images
+== Images
+
+Switch between images and layers managment.
+== Switch between images and layers managment.
+
+Envelopes
+== Envelopes
+
+Toggles the envelope editor.
+== Toggles the envelope editor.
+
+%s Right click for context menu.
+== %s Right click for context menu.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Creates a new color envelope
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Creates a new pos envelope
+
+Previous Envelope
+== Previous Envelope
+
+Next Envelope
+== Next Envelope
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Press right mouse button to create a new point
+
+Switch curve type
+== Switch curve type
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+
+New
+== New
+
+Creates a new map
+== Creates a new map
+
+Opens a map for editing
+== Opens a map for editing
+
+Append
+== Append
+
+Opens a map and adds everything from that map to the current one
+== Opens a map and adds everything from that map to the current one
+
+Append map
+== Append map
+
+Saves the current map
+== Saves the current map
+
+Save As
+== Save As
+
+Saves the current map under a new name
+== Saves the current map under a new name
+
+Exits from the editor
+== Exits from the editor
+
+Clear collision
+== Clear collision
+
+Removes collision from this layer
+== Removes collision from this layer
+
+Make collision
+== Make collision
+
+Constructs collision from this layer
+== Constructs collision from this layer
+
+Width
+== Width
+
+Height
+== Height
+
+Image
+== Image
+
+Delete group
+== Delete group
+
+Add quads layer
+== Add quads layer
+
+Creates a new quad layer
+== Creates a new quad layer
+
+Add tile layer
+== Add tile layer
+
+Creates a new tile layer
+== Creates a new tile layer
+
+Delete layer
+== Delete Layer
+
+Deletes the layer
+== Deletes the layer
+
+Group
+== Group
+
+Order
+== Order
+
+Detail
+== Detail
+
+Delete
+== Delete
+
+Deletes the current quad
+== Deletes the current quad
+
+Square
+== Square
+
+Squares the current quad
+== Squares the current quad
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### old translations ####
diff --git a/data/languages/swedish.txt b/data/languages/swedish.txt
index e36c84f7..83e0e0fc 100644
--- a/data/languages/swedish.txt
+++ b/data/languages/swedish.txt
@@ -462,4 +462,322 @@ error loading demo
 Error
 == Error
 
+Open map
+== Open map
+
+Open
+== Open
+
+Save map
+== Save map
+
+Save
+== Save
+
+HD
+== HD
+
+[ctrl+h] Toggle High Detail
+== [ctrl+h] Toggle High Detail
+
+Anim
+== Anim
+
+[ctrl+m] Toggle animation
+== [ctrl+m] Toggle animation
+
+Proof
+== Proof
+
+[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+== [ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.
+
+ZO
+== ZO
+
+[NumPad-] Zoom out
+== [NumPad-] Zoom out
+
+[NumPad*] Zoom to normal and remove editor offset
+== [NumPad*] Zoom to normal and remove editor offset
+
+ZI
+== ZI
+
+[NumPad+] Zoom in
+== [NumPad+] Zoom in
+
+Increase animation speed
+== Increase animation speed
+
+Normal animation speed
+== Normal animation speed
+
+Decrease animation speed
+== Decrease animation speed
+
+[N] Flip brush horizontal
+== [N] Flip brush horizontal
+
+[M] Flip brush vertical
+== [M] Flip brush vertical
+
+CCW
+== CCW
+
+[R] Rotates the brush counter clockwise
+== [R] Rotates the brush counter clockwise
+
+CW
+== CW
+
+[T] Rotates the brush clockwise
+== [T] Rotates the brush clockwise
+
+Add Quad
+== Add Quad
+
+Adds a new quad
+== Adds a new quad
+
+Border
+== Border
+
+Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+== Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.
+
+Left mouse button to move. Hold shift to move the texture.
+== Left mouse button to move. Hold shift to move the texture.
+
+Use left mouse button to drag and create a brush.
+== Use left mouse button to drag and create a brush.
+
+Use left mouse button to paint with the brush. Right button clears the brush.
+== Use left mouse button to paint with the brush. Right button clears the brush.
+
+Decrease
+== Decrease
+
+Increase
+== Increase
+
+None
+== None
+
+Toggle group visibility
+== Toggle group visibility
+
+Select group. Right click for properties.
+== Select group. Right click for properties.
+
+Add group
+== Add group
+
+Adds a new group
+== Adds a new group
+
+Embed
+== Embed
+
+Embeds the image into the map file.
+== Embeds the image into the map file.
+
+Make external
+== Make external
+
+Removes the image from the map file.
+== Removes the image from the map file.
+
+Replace
+== Replace
+
+Replaces the image with a new one
+== Replaces the image with a new one
+
+Replace Image
+== Replace Image
+
+Remove
+== Remove
+
+Removes the image from the map
+== Removes the image from the map
+
+Embedded
+== Embedded
+
+External
+== External
+
+Select image
+== Select image
+
+Load a new image to use in the map
+== Load a new image to use in the map
+
+Add Image
+== Add Image
+
+Add
+== Add
+
+Filename:
+== Filename:
+
+Cancel
+== Cancel
+
+Layers
+== Layers
+
+Images
+== Images
+
+Switch between images and layers managment.
+== Switch between images and layers managment.
+
+Envelopes
+== Envelopes
+
+Toggles the envelope editor.
+== Toggles the envelope editor.
+
+%s Right click for context menu.
+== %s Right click for context menu.
+
+Color+
+== Color+
+
+Creates a new color envelope
+== Creates a new color envelope
+
+Pos.+
+== Pos.+
+
+Creates a new pos envelope
+== Creates a new pos envelope
+
+Previous Envelope
+== Previous Envelope
+
+Next Envelope
+== Next Envelope
+
+Name:
+== Name:
+
+Press right mouse button to create a new point
+== Press right mouse button to create a new point
+
+Switch curve type
+== Switch curve type
+
+Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+== Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.
+
+New
+== New
+
+Creates a new map
+== Creates a new map
+
+Opens a map for editing
+== Opens a map for editing
+
+Append
+== Append
+
+Opens a map and adds everything from that map to the current one
+== Opens a map and adds everything from that map to the current one
+
+Append map
+== Append map
+
+Saves the current map
+== Saves the current map
+
+Save As
+== Save As
+
+Saves the current map under a new name
+== Saves the current map under a new name
+
+Exits from the editor
+== Exits from the editor
+
+Clear collision
+== Clear collision
+
+Removes collision from this layer
+== Removes collision from this layer
+
+Make collision
+== Make collision
+
+Constructs collision from this layer
+== Constructs collision from this layer
+
+Width
+== Width
+
+Height
+== Height
+
+Image
+== Image
+
+Delete group
+== Delete group
+
+Add quads layer
+== Add quads layer
+
+Creates a new quad layer
+== Creates a new quad layer
+
+Add tile layer
+== Add tile layer
+
+Creates a new tile layer
+== Creates a new tile layer
+
+Delete layer
+== Delete Layer
+
+Deletes the layer
+== Deletes the layer
+
+Group
+== Group
+
+Order
+== Order
+
+Detail
+== Detail
+
+Delete
+== Delete
+
+Deletes the current quad
+== Deletes the current quad
+
+Square
+== Square
+
+Squares the current quad
+== Squares the current quad
+
+Pos. Env
+== Pos. Env
+
+Pos. TO
+== Pos. TO
+
+Color Env
+== Color Env
+
+Color TO
+== Color TO
+
 ##### old translations ####
diff --git a/src/game/editor/ed_editor.cpp b/src/game/editor/ed_editor.cpp
index 387ce104..409890a0 100644
--- a/src/game/editor/ed_editor.cpp
+++ b/src/game/editor/ed_editor.cpp
@@ -21,6 +21,8 @@
 #include "ed_editor.h"
 #include <game/client/lineinput.h>
 
+#include <game/localization.h>
+
 int CEditor::ms_CheckerTexture;
 int CEditor::ms_BackgroundTexture;
 int CEditor::ms_CursorTexture;
@@ -570,7 +572,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 
 	// ctrl+o to open
 	if(Input()->KeyDown('o') && (Input()->KeyPressed(KEY_LCTRL) || Input()->KeyPressed(KEY_RCTRL)))
-		InvokeFileDialog(IStorage::TYPE_ALL, "Open Map", "Open", "maps/", "", CallbackOpenMap, this);
+		InvokeFileDialog(IStorage::TYPE_ALL, Localize("Open map"), Localize("Open"), "maps/", "", CallbackOpenMap, this);
 
 	// ctrl+s to save
 	if(Input()->KeyDown('s') && (Input()->KeyPressed(KEY_LCTRL) || Input()->KeyPressed(KEY_RCTRL)))
@@ -578,13 +580,13 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 		if(m_aFileName[0])	
 			Save(m_aFileName);
 		else
-			InvokeFileDialog(IStorage::TYPE_SAVE, "Save Map", "Save", "maps/", "", CallbackSaveMap, this);
+			InvokeFileDialog(IStorage::TYPE_SAVE, Localize("Save map"), Localize("Save"), "maps/", "", CallbackSaveMap, this);
 	}
 
 	// detail button
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_HqButton = 0;
-	if(DoButton_Editor(&s_HqButton, "HD", m_ShowDetail, &Button, 0, "[ctrl+h] Toggle High Detail") ||
+	if(DoButton_Editor(&s_HqButton, Localize("HD"), m_ShowDetail, &Button, 0, Localize("[ctrl+h] Toggle High Detail")) ||
 		(Input()->KeyDown('h') && (Input()->KeyPressed(KEY_LCTRL) || Input()->KeyPressed(KEY_RCTRL))))
 	{
 		m_ShowDetail = !m_ShowDetail;
@@ -595,7 +597,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 	// animation button
 	TB_Top.VSplitLeft(40.0f, &Button, &TB_Top);
 	static int s_AnimateButton = 0;
-	if(DoButton_Editor(&s_AnimateButton, "Anim", m_Animate, &Button, 0, "[ctrl+m] Toggle animation") ||
+	if(DoButton_Editor(&s_AnimateButton, Localize("Anim"), m_Animate, &Button, 0, ("[ctrl+m] Toggle animation")) ||
 		(Input()->KeyDown('m') && (Input()->KeyPressed(KEY_LCTRL) || Input()->KeyPressed(KEY_RCTRL))))
 	{
 		m_AnimateStart = time_get();
@@ -607,7 +609,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 	// proof button
 	TB_Top.VSplitLeft(40.0f, &Button, &TB_Top);
 	static int s_ProofButton = 0;
-	if(DoButton_Editor(&s_ProofButton, "Proof", m_ProofBorders, &Button, 0, "[ctrl-p] Toggles proof borders. These borders represent what a player maximum can see.") ||
+	if(DoButton_Editor(&s_ProofButton, Localize("Proof"), m_ProofBorders, &Button, 0, Localize("[ctrl+p] Toggles proof borders. These borders represent what a player maximum can see.")) ||
 		(Input()->KeyDown('p') && (Input()->KeyPressed(KEY_LCTRL) || Input()->KeyPressed(KEY_RCTRL))))
 	{
 		m_ProofBorders = !m_ProofBorders;
@@ -618,12 +620,12 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 	// zoom group
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_ZoomOutButton = 0;
-	if(DoButton_Ex(&s_ZoomOutButton, "ZO", 0, &Button, 0, "[NumPad-] Zoom out", CUI::CORNER_L) || Input()->KeyDown(KEY_KP_MINUS))
+	if(DoButton_Ex(&s_ZoomOutButton, Localize("ZO"), 0, &Button, 0, Localize("[NumPad-] Zoom out"), CUI::CORNER_L) || Input()->KeyDown(KEY_KP_MINUS))
 		m_ZoomLevel += 50;
 
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_ZoomNormalButton = 0;
-	if(DoButton_Ex(&s_ZoomNormalButton, "1:1", 0, &Button, 0, "[NumPad*] Zoom to normal and remove editor offset", 0) || Input()->KeyDown(KEY_KP_MULTIPLY))
+	if(DoButton_Ex(&s_ZoomNormalButton, "1:1", 0, &Button, 0, Localize("[NumPad*] Zoom to normal and remove editor offset"), 0) || Input()->KeyDown(KEY_KP_MULTIPLY))
 	{
 		m_EditorOffsetX = 0;
 		m_EditorOffsetY = 0;
@@ -632,7 +634,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_ZoomInButton = 0;
-	if(DoButton_Ex(&s_ZoomInButton, "ZI", 0, &Button, 0, "[NumPad+] Zoom in", CUI::CORNER_R) || Input()->KeyDown(KEY_KP_PLUS))
+	if(DoButton_Ex(&s_ZoomInButton, Localize("ZI"), 0, &Button, 0, Localize("[NumPad+] Zoom in"), CUI::CORNER_R) || Input()->KeyDown(KEY_KP_PLUS))
 		m_ZoomLevel -= 50;
 
 	TB_Top.VSplitLeft(10.0f, 0, &TB_Top);
@@ -640,17 +642,17 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 	// animation speed
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_AnimFasterButton = 0;
-	if(DoButton_Ex(&s_AnimFasterButton, "A+", 0, &Button, 0, "Increase animation speed", CUI::CORNER_L))
+	if(DoButton_Ex(&s_AnimFasterButton, "A+", 0, &Button, 0, Localize("Increase animation speed"), CUI::CORNER_L))
 		m_AnimateSpeed += 0.5f;
 
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_AnimNormalButton = 0;
-	if(DoButton_Ex(&s_AnimNormalButton, "1", 0, &Button, 0, "Normal animation speed", 0))
+	if(DoButton_Ex(&s_AnimNormalButton, "1", 0, &Button, 0, Localize("Normal animation speed"), 0))
 		m_AnimateSpeed = 1.0f;
 
 	TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 	static int s_AnimSlowerButton = 0;
-	if(DoButton_Ex(&s_AnimSlowerButton, "A-", 0, &Button, 0, "Decrease animation speed", CUI::CORNER_R))
+	if(DoButton_Ex(&s_AnimSlowerButton, "A-", 0, &Button, 0, Localize("Decrease animation speed"), CUI::CORNER_R))
 	{
 		if(m_AnimateSpeed > 0.5f)
 			m_AnimateSpeed -= 0.5f;
@@ -676,7 +678,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 		// flip buttons
 		TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 		static int s_FlipXButton = 0;
-		if(DoButton_Ex(&s_FlipXButton, "X/X", Enabled, &Button, 0, "[N] Flip brush horizontal", CUI::CORNER_L) || Input()->KeyDown('n'))
+		if(DoButton_Ex(&s_FlipXButton, "X/X", Enabled, &Button, 0, Localize("[N] Flip brush horizontal"), CUI::CORNER_L) || Input()->KeyDown('n'))
 		{
 			for(int i = 0; i < m_Brush.m_lLayers.size(); i++)
 				m_Brush.m_lLayers[i]->BrushFlipX();
@@ -684,7 +686,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 
 		TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 		static int s_FlipyButton = 0;
-		if(DoButton_Ex(&s_FlipyButton, "Y/Y", Enabled, &Button, 0, "[M] Flip brush vertical", CUI::CORNER_R) || Input()->KeyDown('m'))
+		if(DoButton_Ex(&s_FlipyButton, "Y/Y", Enabled, &Button, 0, Localize("[M] Flip brush vertical"), CUI::CORNER_R) || Input()->KeyDown('m'))
 		{
 			for(int i = 0; i < m_Brush.m_lLayers.size(); i++)
 				m_Brush.m_lLayers[i]->BrushFlipY();
@@ -700,7 +702,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 		TB_Top.VSplitLeft(5.0f, &Button, &TB_Top);
 		TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 		static int s_CcwButton = 0;
-		if(DoButton_Ex(&s_CcwButton, "CCW", Enabled, &Button, 0, "[R] Rotates the brush counter clockwise", CUI::CORNER_L) || Input()->KeyDown('r'))
+		if(DoButton_Ex(&s_CcwButton, Localize("CCW"), Enabled, &Button, 0, Localize("[R] Rotates the brush counter clockwise"), CUI::CORNER_L) || Input()->KeyDown('r'))
 		{
 			for(int i = 0; i < m_Brush.m_lLayers.size(); i++)
 				m_Brush.m_lLayers[i]->BrushRotate(-s_RotationAmount/360.0f*pi*2);
@@ -708,7 +710,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 
 		TB_Top.VSplitLeft(30.0f, &Button, &TB_Top);
 		static int s_CwButton = 0;
-		if(DoButton_Ex(&s_CwButton, "CW", Enabled, &Button, 0, "[T] Rotates the brush clockwise", CUI::CORNER_R) || Input()->KeyDown('t'))
+		if(DoButton_Ex(&s_CwButton, Localize("CW"), Enabled, &Button, 0, Localize("[T] Rotates the brush clockwise"), CUI::CORNER_R) || Input()->KeyDown('t'))
 		{
 			for(int i = 0; i < m_Brush.m_lLayers.size(); i++)
 				m_Brush.m_lLayers[i]->BrushRotate(s_RotationAmount/360.0f*pi*2);
@@ -724,7 +726,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 
 		CLayerQuads *pQLayer = (CLayerQuads *)GetSelectedLayerType(0, LAYERTYPE_QUADS);
 		//CLayerTiles *tlayer = (CLayerTiles *)get_selected_layer_type(0, LAYERTYPE_TILES);
-		if(DoButton_Editor(&s_NewButton, "Add Quad", pQLayer?0:-1, &Button, 0, "Adds a new quad"))
+		if(DoButton_Editor(&s_NewButton, Localize("Add Quad"), pQLayer?0:-1, &Button, 0, Localize("Adds a new quad")))
 		{
 			if(pQLayer)
 			{
@@ -750,7 +752,7 @@ void CEditor::DoToolbar(CUIRect ToolBar)
 		static int s_BorderBut = 0;
 		CLayerTiles *pT = (CLayerTiles *)GetSelectedLayerType(0, LAYERTYPE_TILES);
 		
-		if(DoButton_Editor(&s_BorderBut, "Border", pT?0:-1, &Button, 0, "Border"))
+		if(DoButton_Editor(&s_BorderBut, Localize("Border"), pT?0:-1, &Button, 0, Localize("Border")))
 		{
 			if(pT)
                 DoMapBorder();
@@ -862,7 +864,7 @@ void CEditor::DoQuad(CQuad *q, int Index)
 		ms_pUiGotContext = pId;
 
 		Graphics()->SetColor(1,1,1,1);
-		m_pTooltip = "Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate";
+		m_pTooltip = Localize("Left mouse button to move. Hold shift to move pivot. Hold ctrl to rotate.");
 
 		if(UI()->MouseButton(0))
 		{
@@ -999,7 +1001,7 @@ void CEditor::DoQuadPoint(CQuad *q, int QuadIndex, int v)
 		ms_pUiGotContext = pId;
 
 		Graphics()->SetColor(1,1,1,1);
-		m_pTooltip = "Left mouse button to move. Hold shift to move the texture.";
+		m_pTooltip = Localize("Left mouse button to move. Hold shift to move the texture.");
 
 		if(UI()->MouseButton(0))
 		{
@@ -1029,13 +1031,13 @@ void CEditor::DoQuadPoint(CQuad *q, int QuadIndex, int v)
 			s_Operation = OP_CONTEXT_MENU;
 			m_SelectedQuad = QuadIndex;
 			UI()->SetActiveItem(pId);
-			if(!(m_SelectedPoints&(1<<v)))

-			{

-				if(Input()->KeyPressed(KEY_LSHIFT) || Input()->KeyPressed(KEY_RSHIFT))

-					m_SelectedPoints |= 1<<v;

-				else

-					m_SelectedPoints = 1<<v;

-				s_Moved = true;

+			if(!(m_SelectedPoints&(1<<v)))
+			{
+				if(Input()->KeyPressed(KEY_LSHIFT) || Input()->KeyPressed(KEY_RSHIFT))
+					m_SelectedPoints |= 1<<v;
+				else
+					m_SelectedPoints = 1<<v;
+				s_Moved = true;
 			}
 		}
 	}
@@ -1185,9 +1187,9 @@ void CEditor::DoMapEditor(CUIRect View, CUIRect ToolBar)
 		if(UI()->HotItem() == s_pEditorId)
 		{
 			if(m_Brush.IsEmpty())
-				m_pTooltip = "Use left mouse button to drag and create a brush.";
+				m_pTooltip = Localize("Use left mouse button to drag and create a brush.");
 			else
-				m_pTooltip = "Use left mouse button to paint with the brush. Right button clears the brush.";
+				m_pTooltip = Localize("Use left mouse button to paint with the brush. Right button clears the brush.");
 
 			if(UI()->ActiveItem() == s_pEditorId)
 			{
@@ -1514,7 +1516,7 @@ int CEditor::DoProperties(CUIRect *pToolBox, CProperty *pProps, int *pIds, int *
 			RenderTools()->DrawUIRect(&Shifter, vec4(1,1,1,0.5f), 0, 0.0f);
 			UI()->DoLabel(&Shifter, aBuf, 10.0f, 0, -1);
 
-			if(DoButton_ButtonDec(&pIds[i], 0, 0, &Dec, 0, "Decrease"))
+			if(DoButton_ButtonDec(&pIds[i], 0, 0, &Dec, 0, Localize("Decrease")))
 			{
 				if(Input()->KeyPressed(KEY_LSHIFT) || Input()->KeyPressed(KEY_RSHIFT))
 					*pNewVal = pProps[i].m_Value-5;
@@ -1522,7 +1524,7 @@ int CEditor::DoProperties(CUIRect *pToolBox, CProperty *pProps, int *pIds, int *
 					*pNewVal = pProps[i].m_Value-1;
 				Change = i;
 			}
-			if(DoButton_ButtonInc(((char *)&pIds[i])+1, 0, 0, &Inc, 0, "Increase"))
+			if(DoButton_ButtonInc(((char *)&pIds[i])+1, 0, 0, &Inc, 0, Localize("Increase")))
 			{
 				if(Input()->KeyPressed(KEY_LSHIFT) || Input()->KeyPressed(KEY_RSHIFT))
 					*pNewVal = pProps[i].m_Value+5;
@@ -1535,12 +1537,12 @@ int CEditor::DoProperties(CUIRect *pToolBox, CProperty *pProps, int *pIds, int *
 		{
 			CUIRect No, Yes;
 			Shifter.VSplitMid(&No, &Yes);
-			if(DoButton_ButtonDec(&pIds[i], "No", !pProps[i].m_Value, &No, 0, ""))
+			if(DoButton_ButtonDec(&pIds[i], Localize("No"), !pProps[i].m_Value, &No, 0, ""))
 			{
 				*pNewVal = 0;
 				Change = i;
 			}
-			if(DoButton_ButtonInc(((char *)&pIds[i])+1, "Yes", pProps[i].m_Value, &Yes, 0, ""))
+			if(DoButton_ButtonInc(((char *)&pIds[i])+1, Localize("Yes"), pProps[i].m_Value, &Yes, 0, ""))
 			{
 				*pNewVal = 1;
 				Change = i;
@@ -1584,7 +1586,7 @@ int CEditor::DoProperties(CUIRect *pToolBox, CProperty *pProps, int *pIds, int *
 		{
 			char aBuf[64];
 			if(pProps[i].m_Value < 0)
-				str_copy(aBuf, "None", sizeof(aBuf));
+				str_copy(aBuf, Localize("None"), sizeof(aBuf));
 			else
 				str_format(aBuf, sizeof(aBuf),"%s",  m_Map.m_lImages[pProps[i].m_Value]->m_aName);
 
@@ -1628,12 +1630,12 @@ void CEditor::RenderLayers(CUIRect ToolBox, CUIRect ToolBar, CUIRect View)
 			CUIRect VisibleToggle;
 			LayersBox.HSplitTop(12.0f, &Slot, &LayersBox);
 			Slot.VSplitLeft(12, &VisibleToggle, &Slot);
-			if(DoButton_Ex(&m_Map.m_lGroups[g]->m_Visible, m_Map.m_lGroups[g]->m_Visible?"V":"H", 0, &VisibleToggle, 0, "Toggle group visibility", CUI::CORNER_L))
+			if(DoButton_Ex(&m_Map.m_lGroups[g]->m_Visible, m_Map.m_lGroups[g]->m_Visible?"V":"H", 0, &VisibleToggle, 0, Localize("Toggle group visibility"), CUI::CORNER_L))
 				m_Map.m_lGroups[g]->m_Visible = !m_Map.m_lGroups[g]->m_Visible;
 
 			str_format(aBuf, sizeof(aBuf),"#%d %s", g, m_Map.m_lGroups[g]->m_pName);
 			if(int Result = DoButton_Ex(&m_Map.m_lGroups[g], aBuf, g==m_SelectedGroup, &Slot,
-				BUTTON_CONTEXT, "Select group. Right click for properties.", CUI::CORNER_R))
+				BUTTON_CONTEXT, Localize("Select group. Right click for properties."), CUI::CORNER_R))
 			{
 				m_SelectedGroup = g;
 				m_SelectedLayer = 0;
@@ -1652,12 +1654,12 @@ void CEditor::RenderLayers(CUIRect ToolBox, CUIRect ToolBar, CUIRect View)
 				Slot.VSplitLeft(12.0f, 0, &Button);
 				Button.VSplitLeft(15, &VisibleToggle, &Button);
 
-				if(DoButton_Ex(&m_Map.m_lGroups[g]->m_lLayers[i]->m_Visible, m_Map.m_lGroups[g]->m_lLayers[i]->m_Visible?"V":"H", 0, &VisibleToggle, 0, "Toggle layer visibility", CUI::CORNER_L))
+				if(DoButton_Ex(&m_Map.m_lGroups[g]->m_lLayers[i]->m_Visible, m_Map.m_lGroups[g]->m_lLayers[i]->m_Visible?"V":"H", 0, &VisibleToggle, 0, Localize("Toggle layer visibility"), CUI::CORNER_L))
 					m_Map.m_lGroups[g]->m_lLayers[i]->m_Visible = !m_Map.m_lGroups[g]->m_lLayers[i]->m_Visible;
 
 				str_format(aBuf, sizeof(aBuf),"#%d %s ", i, m_Map.m_lGroups[g]->m_lLayers[i]->m_pTypeName);
 				if(int Result = DoButton_Ex(m_Map.m_lGroups[g]->m_lLayers[i], aBuf, g==m_SelectedGroup&&i==m_SelectedLayer, &Button,
-					BUTTON_CONTEXT, "Select layer. Right click for properties.", CUI::CORNER_R))
+					BUTTON_CONTEXT, Localize("Select layer. Right click for properties."), CUI::CORNER_R))
 				{
 					m_SelectedLayer = i;
 					m_SelectedGroup = g;
@@ -1678,7 +1680,7 @@ void CEditor::RenderLayers(CUIRect ToolBox, CUIRect ToolBar, CUIRect View)
 		LayersBox.HSplitTop(12.0f, &Slot, &LayersBox);
 
 		static int s_NewGroupButton = 0;
-		if(DoButton_Editor(&s_NewGroupButton, "Add Group", 0, &Slot, 0, "Adds a new group"))
+		if(DoButton_Editor(&s_NewGroupButton, Localize("Add group"), 0, &Slot, 0, Localize("Adds a new group")))
 		{
 			m_Map.NewGroup();
 			m_SelectedGroup = m_Map.m_lGroups.size()-1;
@@ -1780,7 +1782,7 @@ int CEditor::PopupImage(CEditor *pEditor, CUIRect View)
 	static int s_ExternalButton = 0;
 	if(pImg->m_External)
 	{
-		if(pEditor->DoButton_MenuItem(&s_ExternalButton, "Embedd", 0, &Slot, 0, "Embedds the image into the map file."))
+		if(pEditor->DoButton_MenuItem(&s_ExternalButton, Localize("Embed"), 0, &Slot, 0, Localize("Embeds the image into the map file.")))
 		{
 			pImg->m_External = 0;
 			return 1;
@@ -1788,7 +1790,7 @@ int CEditor::PopupImage(CEditor *pEditor, CUIRect View)
 	}
 	else
 	{
-		if(pEditor->DoButton_MenuItem(&s_ExternalButton, "Make external", 0, &Slot, 0, "Removes the image from the map file."))
+		if(pEditor->DoButton_MenuItem(&s_ExternalButton, Localize("Make external"), 0, &Slot, 0, Localize("Removes the image from the map file.")))
 		{
 			pImg->m_External = 1;
 			return 1;
@@ -1797,15 +1799,15 @@ int CEditor::PopupImage(CEditor *pEditor, CUIRect View)
 
 	View.HSplitTop(10.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_ReplaceButton, "Replace", 0, &Slot, 0, "Replaces the image with a new one"))
+	if(pEditor->DoButton_MenuItem(&s_ReplaceButton, Localize("Replace"), 0, &Slot, 0, Localize("Replaces the image with a new one")))
 	{
-		pEditor->InvokeFileDialog(IStorage::TYPE_ALL, "Replace Image", "Replace", "mapres/", "", ReplaceImage, pEditor);
+		pEditor->InvokeFileDialog(IStorage::TYPE_ALL, Localize("Replace Image"), Localize("Replace"), "mapres/", "", ReplaceImage, pEditor);
 		return 1;
 	}
 
 	View.HSplitTop(10.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_RemoveButton, "Remove", 0, &Slot, 0, "Removes the image from the map"))
+	if(pEditor->DoButton_MenuItem(&s_RemoveButton, Localize("Remove"), 0, &Slot, 0, Localize("Removes the image from the map")))
 	{
 		delete pImg;
 		pEditor->m_Map.m_lImages.remove_index(pEditor->m_SelectedImage);
@@ -1825,9 +1827,9 @@ void CEditor::RenderImages(CUIRect ToolBox, CUIRect ToolBar, CUIRect View)
 		CUIRect Slot;
 		ToolBox.HSplitTop(15.0f, &Slot, &ToolBox);
 		if(e == 0)
-			UI()->DoLabel(&Slot, "Embedded", 12.0f, 0);
+			UI()->DoLabel(&Slot, Localize("Embedded"), 12.0f, 0);
 		else
-			UI()->DoLabel(&Slot, "External", 12.0f, 0);
+			UI()->DoLabel(&Slot, Localize("External"), 12.0f, 0);
 
 		for(int i = 0; i < m_Map.m_lImages.size(); i++)
 		{
@@ -1842,7 +1844,7 @@ void CEditor::RenderImages(CUIRect ToolBox, CUIRect ToolBar, CUIRect View)
 			ToolBox.HSplitTop(12.0f, &Slot, &ToolBox);
 
 			if(int Result = DoButton_Editor(&m_Map.m_lImages[i], aBuf, m_SelectedImage == i, &Slot,
-				BUTTON_CONTEXT, "Select image"))
+				BUTTON_CONTEXT, Localize("Select image")))
 			{
 				m_SelectedImage = i;
 
@@ -1880,8 +1882,8 @@ void CEditor::RenderImages(CUIRect ToolBox, CUIRect ToolBar, CUIRect View)
 	static int s_NewImageButton = 0;
 	ToolBox.HSplitTop(10.0f, &Slot, &ToolBox);
 	ToolBox.HSplitTop(12.0f, &Slot, &ToolBox);
-	if(DoButton_Editor(&s_NewImageButton, "Add", 0, &Slot, 0, "Load a new image to use in the map"))
-		InvokeFileDialog(IStorage::TYPE_ALL, "Add Image", "Add", "mapres/", "", AddImage, this);
+	if(DoButton_Editor(&s_NewImageButton, "Add", 0, &Slot, 0, Localize("Load a new image to use in the map")))
+		InvokeFileDialog(IStorage::TYPE_ALL, Localize("Add Image"), Localize("Add"), "mapres/", "", AddImage, this);
 }
 
 
@@ -1966,7 +1968,7 @@ void CEditor::RenderFileDialog()
 
 	// filebox
 	static int s_FileBoxId = 0;
-	UI()->DoLabel(&FileBoxLabel, "Filename:", 10.0f, -1, -1);
+	UI()->DoLabel(&FileBoxLabel, Localize("Filename:"), 10.0f, -1, -1);
 	DoEditBox(&s_FileBoxId, &FileBox, gs_FileDialogFileName, sizeof(gs_FileDialogFileName), 10.0f);
 
 	gs_aFileDialogCompleteFilename[0] = 0;
@@ -2029,7 +2031,7 @@ void CEditor::RenderFileDialog()
 
 	ButtonBar.VSplitRight(40.0f, &ButtonBar, &Button);
 	ButtonBar.VSplitRight(50.0f, &ButtonBar, &Button);
-	if(DoButton_Editor(&s_CancelButton, "Cancel", 0, &Button, 0, 0) || Input()->KeyPressed(KEY_ESCAPE))
+	if(DoButton_Editor(&s_CancelButton, Localize("Cancel"), 0, &Button, 0, 0) || Input()->KeyPressed(KEY_ESCAPE))
 		m_Dialog = DIALOG_NONE;
 }
 
@@ -2064,8 +2066,8 @@ void CEditor::RenderModebar(CUIRect View)
 		View.VSplitLeft(65.0f, &Button, &View);
 		Button.HSplitTop(30.0f, 0, &Button);
 		static int s_Button = 0;
-		const char *pButName = m_Mode == MODE_LAYERS ? "Layers" : "Images";
-		if(DoButton_Tab(&s_Button, pButName, 0, &Button, 0, "Switch between images and layers managment."))
+		const char *pButName = m_Mode == MODE_LAYERS ? Localize("Layers") : Localize("Images");
+		if(DoButton_Tab(&s_Button, pButName, 0, &Button, 0, Localize("Switch between images and layers managment.")))
 		{
 		    if(m_Mode == MODE_LAYERS)
                 m_Mode = MODE_IMAGES;
@@ -2082,7 +2084,7 @@ void CEditor::RenderStatusbar(CUIRect View)
 	CUIRect Button;
 	View.VSplitRight(60.0f, &View, &Button);
 	static int s_EnvelopeButton = 0;
-	if(DoButton_Editor(&s_EnvelopeButton, "Envelopes", m_ShowEnvelopeEditor, &Button, 0, "Toggles the envelope editor."))
+	if(DoButton_Editor(&s_EnvelopeButton, Localize("Envelopes"), m_ShowEnvelopeEditor, &Button, 0, Localize("Toggles the envelope editor.")))
 		m_ShowEnvelopeEditor = (m_ShowEnvelopeEditor+1)%4;
 
 	if(m_pTooltip)
@@ -2090,7 +2092,7 @@ void CEditor::RenderStatusbar(CUIRect View)
 		if(ms_pUiGotContext && ms_pUiGotContext == UI()->HotItem())
 		{
 			char aBuf[512];
-			str_format(aBuf, sizeof(aBuf),"%s Right click for context menu.", m_pTooltip);
+			str_format(aBuf, sizeof(aBuf), Localize("%s Right click for context menu."), m_pTooltip);
 			UI()->DoLabel(&View, aBuf, 10.0f, -1, -1);
 		}
 		else
@@ -2133,13 +2135,13 @@ void CEditor::RenderEnvelopeEditor(CUIRect View)
 
 		ToolBar.VSplitRight(50.0f, &ToolBar, &Button);
 		static int s_New4dButton = 0;
-		if(DoButton_Editor(&s_New4dButton, "Color+", 0, &Button, 0, "Creates a new color envelope"))
+		if(DoButton_Editor(&s_New4dButton, Localize("Color+"), 0, &Button, 0, Localize("Creates a new color envelope")))
 			pNewEnv = m_Map.NewEnvelope(4);
 
 		ToolBar.VSplitRight(5.0f, &ToolBar, &Button);
 		ToolBar.VSplitRight(50.0f, &ToolBar, &Button);
 		static int s_New2dButton = 0;
-		if(DoButton_Editor(&s_New2dButton, "Pos.+", 0, &Button, 0, "Creates a new pos envelope"))
+		if(DoButton_Editor(&s_New2dButton, Localize("Pos.+"), 0, &Button, 0, Localize("Creates a new pos envelope")))
 			pNewEnv = m_Map.NewEnvelope(3);
 
 		if(pNewEnv) // add the default points
@@ -2166,18 +2168,18 @@ void CEditor::RenderEnvelopeEditor(CUIRect View)
 		UI()->DoLabel(&Shifter, aBuf, 10.0f, 0, -1);
 
 		static int s_PrevButton = 0;
-		if(DoButton_ButtonDec(&s_PrevButton, 0, 0, &Dec, 0, "Previous Envelope"))
+		if(DoButton_ButtonDec(&s_PrevButton, 0, 0, &Dec, 0, Localize("Previous Envelope")))
 			m_SelectedEnvelope--;
 
 		static int s_NextButton = 0;
-		if(DoButton_ButtonInc(&s_NextButton, 0, 0, &Inc, 0, "Next Envelope"))
+		if(DoButton_ButtonInc(&s_NextButton, 0, 0, &Inc, 0, Localize("Next Envelope")))
 			m_SelectedEnvelope++;
 
 		if(pEnvelope)
 		{
 			ToolBar.VSplitLeft(15.0f, &Button, &ToolBar);
 			ToolBar.VSplitLeft(35.0f, &Button, &ToolBar);
-			UI()->DoLabel(&Button, "Name:", 10.0f, -1, -1);
+			UI()->DoLabel(&Button, Localize("Name:"), 10.0f, -1, -1);
 
 			ToolBar.VSplitLeft(80.0f, &Button, &ToolBar);
 
@@ -2258,7 +2260,7 @@ void CEditor::RenderEnvelopeEditor(CUIRect View)
 						f2fx(aChannels[2]), f2fx(aChannels[3]));
 				}
 
-				m_pTooltip = "Press right mouse button to create a new point";
+				m_pTooltip = Localize("Press right mouse button to create a new point");
 			}
 		}
 
@@ -2319,7 +2321,7 @@ void CEditor::RenderEnvelopeEditor(CUIRect View)
 					"N", "L", "S", "F", "M"
 					};
 
-				if(DoButton_Editor(pId, paTypeName[pEnvelope->m_lPoints[i].m_Curvetype], 0, &v, 0, "Switch curve type"))
+				if(DoButton_Editor(pId, paTypeName[pEnvelope->m_lPoints[i].m_Curvetype], 0, &v, 0, Localize("Switch curve type")))
 					pEnvelope->m_lPoints[i].m_Curvetype = (pEnvelope->m_lPoints[i].m_Curvetype+1)%NUM_CURVETYPES;
 			}
 		}
@@ -2435,7 +2437,7 @@ void CEditor::RenderEnvelopeEditor(CUIRect View)
 
 						ColorMod = 100.0f;
 						Graphics()->SetColor(1,0.75f,0.75f,1);
-						m_pTooltip = "Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.";
+						m_pTooltip = Localize("Left mouse to drag. Hold shift to alter time point aswell. Right click to delete.");
 					}
 
 					if(UI()->ActiveItem() == pId || UI()->HotItem() == pId)
@@ -2470,7 +2472,7 @@ int CEditor::PopupMenuFile(CEditor *pEditor, CUIRect View)
 	CUIRect Slot;
 	View.HSplitTop(2.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_NewMapButton, "New", 0, &Slot, 0, "Creates a new map"))
+	if(pEditor->DoButton_MenuItem(&s_NewMapButton, Localize("New"), 0, &Slot, 0, Localize("Creates a new map")))
 	{
 		pEditor->Reset();
 		pEditor->m_aFileName[0] = 0;
@@ -2479,42 +2481,42 @@ int CEditor::PopupMenuFile(CEditor *pEditor, CUIRect View)
 
 	View.HSplitTop(10.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_OpenButton, "Open", 0, &Slot, 0, "Opens a map for editing"))
+	if(pEditor->DoButton_MenuItem(&s_OpenButton, Localize("Open"), 0, &Slot, 0, Localize("Opens a map for editing")))
 	{
-		pEditor->InvokeFileDialog(IStorage::TYPE_ALL, "Open Map", "Open", "maps/", "", CallbackOpenMap, pEditor);
+		pEditor->InvokeFileDialog(IStorage::TYPE_ALL, Localize("Open map"), Localize("Open"), "maps/", "", CallbackOpenMap, pEditor);
 		return 1;
 	}
 
 	View.HSplitTop(10.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_AppendButton, "Append", 0, &Slot, 0, "Opens a map and adds everything from that map to the current one"))
+	if(pEditor->DoButton_MenuItem(&s_AppendButton, Localize("Append"), 0, &Slot, 0, Localize("Opens a map and adds everything from that map to the current one")))
 	{
-		pEditor->InvokeFileDialog(IStorage::TYPE_ALL, "Append Map", "Append", "maps/", "", CallbackAppendMap, pEditor);
+		pEditor->InvokeFileDialog(IStorage::TYPE_ALL, Localize("Append map"), Localize("Append"), "maps/", "", CallbackAppendMap, pEditor);
 		return 1;
 	}
 
 	View.HSplitTop(10.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_SaveButton, "Save", 0, &Slot, 0, "Saves the current map"))
+	if(pEditor->DoButton_MenuItem(&s_SaveButton, Localize("Save"), 0, &Slot, 0, Localize("Saves the current map")))
 	{
 		if(pEditor->m_aFileName[0])	
 			pEditor->Save(pEditor->m_aFileName);
 		else
-			pEditor->InvokeFileDialog(IStorage::TYPE_SAVE, "Save Map", "Save", "maps/", "", CallbackSaveMap, pEditor);
+			pEditor->InvokeFileDialog(IStorage::TYPE_SAVE, Localize("Save Map"), Localize("Save"), "maps/", "", CallbackSaveMap, pEditor);
 		return 1;
 	}
 
 	View.HSplitTop(2.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_SaveAsButton, "Save As", 0, &Slot, 0, "Saves the current map under a new name"))
+	if(pEditor->DoButton_MenuItem(&s_SaveAsButton, Localize("Save As"), 0, &Slot, 0, Localize("Saves the current map under a new name")))
 	{
-		pEditor->InvokeFileDialog(IStorage::TYPE_SAVE, "Save Map", "Save", "maps/", "", CallbackSaveMap, pEditor);
+		pEditor->InvokeFileDialog(IStorage::TYPE_SAVE, Localize("Save Map"), Localize("Save"), "maps/", "", CallbackSaveMap, pEditor);
 		return 1;
 	}
 
 	View.HSplitTop(10.0f, &Slot, &View);
 	View.HSplitTop(12.0f, &Slot, &View);
-	if(pEditor->DoButton_MenuItem(&s_ExitButton, "Exit", 0, &Slot, 0, "Exits from the editor"))
+	if(pEditor->DoButton_MenuItem(&s_ExitButton, "Exit", 0, &Slot, 0, Localize("Exits from the editor")))
 	{
 		g_Config.m_ClEditor = 0;
 		return 1;
diff --git a/src/game/editor/ed_layer_tiles.cpp b/src/game/editor/ed_layer_tiles.cpp
index ecd7c62c..d093cab2 100644
--- a/src/game/editor/ed_layer_tiles.cpp
+++ b/src/game/editor/ed_layer_tiles.cpp
@@ -7,6 +7,8 @@
 #include <game/client/render.h>
 #include "ed_editor.h"
 
+#include <game/localization.h>
+
 CLayerTiles::CLayerTiles(int w, int h)
 {
 	m_Type = LAYERTYPE_TILES;
@@ -248,7 +250,7 @@ int CLayerTiles::RenderProperties(CUIRect *pToolBox)
 	if(m_pEditor->m_Map.m_pGameLayer == this)
 		InGameGroup = false;
 	static int s_ColclButton = 0;
-	if(m_pEditor->DoButton_Editor(&s_ColclButton, "Clear Collision", InGameGroup?0:-1, &Button, 0, "Removes collision from this layer"))
+	if(m_pEditor->DoButton_Editor(&s_ColclButton, Localize("Clear collision"), InGameGroup?0:-1, &Button, 0, Localize("Removes collision from this layer")))
 	{
 		CLayerTiles *gl = m_pEditor->m_Map.m_pGameLayer;
 		int w = min(gl->m_Width, m_Width);
@@ -266,7 +268,7 @@ int CLayerTiles::RenderProperties(CUIRect *pToolBox)
 	static int s_ColButton = 0;
 	pToolBox->HSplitBottom(5.0f, pToolBox, &Button);
 	pToolBox->HSplitBottom(12.0f, pToolBox, &Button);
-	if(m_pEditor->DoButton_Editor(&s_ColButton, "Make Collision", InGameGroup?0:-1, &Button, 0, "Constructs collision from this layer"))
+	if(m_pEditor->DoButton_Editor(&s_ColButton, Localize("Make collision"), InGameGroup?0:-1, &Button, 0, Localize("Constructs collision from this layer")))
 	{
 		CLayerTiles *gl = m_pEditor->m_Map.m_pGameLayer;
 		int w = min(gl->m_Width, m_Width);
@@ -290,9 +292,9 @@ int CLayerTiles::RenderProperties(CUIRect *pToolBox)
 	};
 	
 	CProperty aProps[] = {
-		{"Width", m_Width, PROPTYPE_INT_STEP, 1, 1000000000},
-		{"Height", m_Height, PROPTYPE_INT_STEP, 1, 1000000000},
-		{"Image", m_Image, PROPTYPE_IMAGE, 0, 0},
+		{Localize("Width"), m_Width, PROPTYPE_INT_STEP, 1, 1000000000},
+		{Localize("Height"), m_Height, PROPTYPE_INT_STEP, 1, 1000000000},
+		{Localize("Image"), m_Image, PROPTYPE_IMAGE, 0, 0},
 		{0},
 	};
 	
diff --git a/src/game/editor/ed_popups.cpp b/src/game/editor/ed_popups.cpp
index 2e58ae3a..d442fd7f 100644
--- a/src/game/editor/ed_popups.cpp
+++ b/src/game/editor/ed_popups.cpp
@@ -3,6 +3,7 @@
 #include <engine/keys.h>
 #include "ed_editor.h"
 
+#include <game/localization.h>
 
 // popup menu handling
 static struct
@@ -80,7 +81,7 @@ int CEditor::PopupGroup(CEditor *pEditor, CUIRect View)
 	
 	// don't allow deletion of game group
 	if(pEditor->m_Map.m_pGameGroup != pEditor->GetSelectedGroup() &&
-		pEditor->DoButton_Editor(&s_DeleteButton, "Delete Group", 0, &Button, 0, "Delete group"))
+		pEditor->DoButton_Editor(&s_DeleteButton, Localize("Delete group"), 0, &Button, 0, Localize("Delete group")))
 	{
 		pEditor->m_Map.DeleteGroup(pEditor->m_SelectedGroup);
 		return 1;
@@ -90,7 +91,7 @@ int CEditor::PopupGroup(CEditor *pEditor, CUIRect View)
 	View.HSplitBottom(10.0f, &View, &Button);
 	View.HSplitBottom(12.0f, &View, &Button);
 	static int s_NewQuadLayerButton = 0;
-	if(pEditor->DoButton_Editor(&s_NewQuadLayerButton, "Add Quads Layer", 0, &Button, 0, "Creates a new quad layer"))
+	if(pEditor->DoButton_Editor(&s_NewQuadLayerButton, Localize("Add quads layer"), 0, &Button, 0, Localize("Creates a new quad layer")))
 	{
 		CLayer *l = new CLayerQuads;
 		l->m_pEditor = pEditor;
@@ -103,7 +104,7 @@ int CEditor::PopupGroup(CEditor *pEditor, CUIRect View)
 	View.HSplitBottom(5.0f, &View, &Button);
 	View.HSplitBottom(12.0f, &View, &Button);
 	static int s_NewTileLayerButton = 0;
-	if(pEditor->DoButton_Editor(&s_NewTileLayerButton, "Add Tile Layer", 0, &Button, 0, "Creates a new tile layer"))
+	if(pEditor->DoButton_Editor(&s_NewTileLayerButton, Localize("Add tile layer"), 0, &Button, 0, Localize("Creates a new tile layer")))
 	{
 		CLayer *l = new CLayerTiles(50, 50);
 		l->m_pEditor = pEditor;
@@ -179,7 +180,7 @@ int CEditor::PopupLayer(CEditor *pEditor, CUIRect View)
 	
 	// don't allow deletion of game layer
 	if(pEditor->m_Map.m_pGameLayer != pEditor->GetSelectedLayer(0) &&
-		pEditor->DoButton_Editor(&s_DeleteButton, "Delete Layer", 0, &Button, 0, "Deletes the layer"))
+		pEditor->DoButton_Editor(&s_DeleteButton, Localize("Delete Layer"), 0, &Button, 0, Localize("Deletes the layer")))
 	{
 		pEditor->m_Map.m_lGroups[pEditor->m_SelectedGroup]->DeleteLayer(pEditor->m_SelectedLayer);
 		return 1;
@@ -199,9 +200,9 @@ int CEditor::PopupLayer(CEditor *pEditor, CUIRect View)
 	};
 	
 	CProperty aProps[] = {
-		{"Group", pEditor->m_SelectedGroup, PROPTYPE_INT_STEP, 0, pEditor->m_Map.m_lGroups.size()-1},
-		{"Order", pEditor->m_SelectedLayer, PROPTYPE_INT_STEP, 0, pCurrentGroup->m_lLayers.size()},
-		{"Detail", pCurrentLayer->m_Flags&LAYERFLAG_DETAIL, PROPTYPE_BOOL, 0, 1},
+		{Localize("Group"), pEditor->m_SelectedGroup, PROPTYPE_INT_STEP, 0, pEditor->m_Map.m_lGroups.size()-1},
+		{Localize("Order"), pEditor->m_SelectedLayer, PROPTYPE_INT_STEP, 0, pCurrentGroup->m_lLayers.size()},
+		{Localize("Detail"), pCurrentLayer->m_Flags&LAYERFLAG_DETAIL, PROPTYPE_BOOL, 0, 1},
 		{0},
 	};
 
@@ -246,7 +247,7 @@ int CEditor::PopupQuad(CEditor *pEditor, CUIRect View)
 	// delete button
 	View.HSplitBottom(12.0f, &View, &Button);
 	static int s_DeleteButton = 0;
-	if(pEditor->DoButton_Editor(&s_DeleteButton, "Delete", 0, &Button, 0, "Deletes the current quad"))
+	if(pEditor->DoButton_Editor(&s_DeleteButton, Localize("Delete"), 0, &Button, 0, Localize("Deletes the current quad")))
 	{
 		CLayerQuads *pLayer = (CLayerQuads *)pEditor->GetSelectedLayerType(0, LAYERTYPE_QUADS);
 		if(pLayer)
@@ -261,7 +262,7 @@ int CEditor::PopupQuad(CEditor *pEditor, CUIRect View)
 	View.HSplitBottom(10.0f, &View, &Button);
 	View.HSplitBottom(12.0f, &View, &Button);
 	static int s_Button = 0;
-	if(pEditor->DoButton_Editor(&s_Button, "Square", 0, &Button, 0, "Squares the current quad"))
+	if(pEditor->DoButton_Editor(&s_Button, Localize("Square"), 0, &Button, 0, Localize("Squares the current quad")))
 	{
 		int Top = pQuad->m_aPoints[0].y;
 		int Left = pQuad->m_aPoints[0].x;
@@ -294,10 +295,10 @@ int CEditor::PopupQuad(CEditor *pEditor, CUIRect View)
 	};
 	
 	CProperty aProps[] = {
-		{"Pos. Env", pQuad->m_PosEnv, PROPTYPE_INT_STEP, -1, pEditor->m_Map.m_lEnvelopes.size()},
-		{"Pos. TO", pQuad->m_PosEnvOffset, PROPTYPE_INT_SCROLL, -1000000, 1000000},
-		{"Color Env", pQuad->m_ColorEnv, PROPTYPE_INT_STEP, -1, pEditor->m_Map.m_lEnvelopes.size()},
-		{"Color TO", pQuad->m_ColorEnvOffset, PROPTYPE_INT_SCROLL, -1000000, 1000000},
+		{Localize("Pos. Env"), pQuad->m_PosEnv, PROPTYPE_INT_STEP, -1, pEditor->m_Map.m_lEnvelopes.size()},
+		{Localize("Pos. TO"), pQuad->m_PosEnvOffset, PROPTYPE_INT_SCROLL, -1000000, 1000000},
+		{Localize("Color Env"), pQuad->m_ColorEnv, PROPTYPE_INT_STEP, -1, pEditor->m_Map.m_lEnvelopes.size()},
+		{Localize("Color TO"), pQuad->m_ColorEnvOffset, PROPTYPE_INT_SCROLL, -1000000, 1000000},
 		
 		{0},
 	};
@@ -389,7 +390,7 @@ int CEditor::PopupSelectImage(CEditor *pEditor, CUIRect View)
 			
 		if(i == -1)
 		{
-			if(pEditor->DoButton_MenuItem(&pEditor->m_Map.m_lImages[i], "None", i==g_SelectImageCurrent, &Button))
+			if(pEditor->DoButton_MenuItem(&pEditor->m_Map.m_lImages[i], Localize("None"), i==g_SelectImageCurrent, &Button))
 				g_SelectImageSelected = -1;
 		}
 		else