diff --git a/help/bots/po/br.po b/help/bots/po/pt.po
similarity index 85%
rename from help/bots/po/br.po
rename to help/bots/po/pt.po
index 18609ae4..6beaa745 100644
--- a/help/bots/po/br.po
+++ b/help/bots/po/pt.po
@@ -53,13 +53,13 @@ msgid "Tracked bots can ascend steep inclinations but they are quite slow and us
msgstr "Robôs com esteiras podem subir inclinações íngremes, porém eles são bem lentos e usam muita energia. Em solos planos para distâncias pequenas, um atirador com rodas é uma melhor opção. Quando for possível construir robôs alados, estes sim representam a melhor solução para longas distâncias."
#. type: \t; header
-#: ../E/botfc.txt:11 ../E/botfj.txt:13 ../E/botfr.txt:11 ../E/botfs.txt:11 ../E/botgc.txt:24 ../E/botgj.txt:26 ../E/botgr.txt:24 ../E/botgs.txt:24 ../E/botoc.txt:9 ../E/botoj.txt:11 ../E/botor.txt:9 ../E/botos.txt:9 ../E/botphaz.txt:5 ../E/botrecy.txt:5 ../E/botsc.txt:11 ../E/botshld.txt:9 ../E/botsj.txt:13 ../E/botsr.txt:11 ../E/botss.txt:11 ../E/botsub.txt:7
+#: ../E/botbc.txt:23 ../E/botbj.txt:23 ../E/botbr.txt:23 ../E/botbs.txt:23 ../E/botfc.txt:11 ../E/botfj.txt:13 ../E/botfr.txt:11 ../E/botfs.txt:11 ../E/botgc.txt:24 ../E/botgj.txt:26 ../E/botgr.txt:24 ../E/botgs.txt:24 ../E/botoc.txt:9 ../E/botoj.txt:11 ../E/botor.txt:9 ../E/botos.txt:9 ../E/botphaz.txt:5 ../E/botrecy.txt:5 ../E/botsc.txt:11 ../E/botshld.txt:9 ../E/botsj.txt:13 ../E/botsr.txt:11 ../E/botss.txt:11 ../E/botsub.txt:7
#, no-wrap
msgid "Programming"
msgstr "Programando"
#. type: Plain text
-#: ../E/botfc.txt:12 ../E/botfr.txt:12 ../E/botfs.txt:12 ../E/botgc.txt:25 ../E/botgj.txt:27 ../E/botgr.txt:25 ../E/botgs.txt:25 ../E/botoc.txt:10 ../E/botor.txt:10 ../E/botos.txt:10 ../E/botphaz.txt:6 ../E/botrecy.txt:6 ../E/botsc.txt:12 ../E/botshld.txt:10 ../E/botsr.txt:12 ../E/botss.txt:12 ../E/botsub.txt:8 ../E/bottump.txt:10
+#: ../E/botbc.txt:24 ../E/botbr.txt:24 ../E/botbs.txt:24 ../E/botfc.txt:12 ../E/botfr.txt:12 ../E/botfs.txt:12 ../E/botgc.txt:25 ../E/botgj.txt:27 ../E/botgr.txt:25 ../E/botgs.txt:25 ../E/botoc.txt:10 ../E/botor.txt:10 ../E/botos.txt:10 ../E/botphaz.txt:6 ../E/botrecy.txt:6 ../E/botsc.txt:12 ../E/botshld.txt:10 ../E/botsr.txt:12 ../E/botss.txt:12 ../E/botsub.txt:8 ../E/bottump.txt:10
#, no-wrap
msgid "To program the bot's movements, use the following commands : move, turn, motor, goto."
msgstr "Para programar os movimentos do robô, use os seguintes comandos: move, turn, motor, goto."
@@ -71,7 +71,7 @@ msgid "To program the fireball cannon, use fire. T
msgstr "Para programar o canhão de bolas de fogo, use fire. Para subir ou abaixar a mira, use aim."
#. type: \t; header
-#: ../E/botfc.txt:16 ../E/botfj.txt:18 ../E/botfr.txt:16 ../E/botfs.txt:16 ../E/botgc.txt:29 ../E/botgj.txt:31 ../E/botgr.txt:29 ../E/botgs.txt:29 ../E/botoc.txt:14 ../E/botoj.txt:16 ../E/botor.txt:14 ../E/botos.txt:14 ../E/botphaz.txt:10 ../E/botrecy.txt:10 ../E/botsc.txt:16 ../E/botshld.txt:14 ../E/botsj.txt:18 ../E/botsr.txt:16 ../E/botss.txt:16 ../E/botsub.txt:12 ../E/bottarg.txt:7 ../E/bottr.txt:8 ../E/bottump.txt:14
+#: ../E/botbc.txt:28 ../E/botbj.txt:28 ../E/botbr.txt:28 ../E/botbs.txt:28 ../E/botfc.txt:16 ../E/botfj.txt:18 ../E/botfr.txt:16 ../E/botfs.txt:16 ../E/botgc.txt:29 ../E/botgj.txt:31 ../E/botgr.txt:29 ../E/botgs.txt:29 ../E/botoc.txt:14 ../E/botoj.txt:16 ../E/botor.txt:14 ../E/botos.txt:14 ../E/botphaz.txt:10 ../E/botrecy.txt:10 ../E/botsc.txt:16 ../E/botshld.txt:14 ../E/botsj.txt:18 ../E/botsr.txt:16 ../E/botss.txt:16 ../E/botsub.txt:12 ../E/bottarg.txt:7 ../E/bottr.txt:8 ../E/bottump.txt:14
#, no-wrap
msgid "Object Category"
msgstr "Categorias de objeto"
@@ -83,13 +83,13 @@ msgid "TrackedShooter"
msgstr "TrackedShooter"
#. type: \t; header
-#: ../E/botfc.txt:19 ../E/botfj.txt:21 ../E/botfr.txt:19 ../E/botfs.txt:19 ../E/botgc.txt:32 ../E/botgj.txt:34 ../E/botgr.txt:32 ../E/botgs.txt:32 ../E/botoc.txt:17 ../E/botoj.txt:19 ../E/botor.txt:17 ../E/botos.txt:17 ../E/botphaz.txt:13 ../E/botrecy.txt:13 ../E/botsc.txt:19 ../E/botshld.txt:17 ../E/botsj.txt:21 ../E/botsr.txt:19 ../E/botss.txt:19 ../E/botsub.txt:15 ../E/bottarg.txt:10 ../E/bottr.txt:11 ../E/bottump.txt:17
+#: ../E/botbc.txt:31 ../E/botbj.txt:31 ../E/botbr.txt:31 ../E/botbs.txt:31 ../E/botfc.txt:19 ../E/botfj.txt:21 ../E/botfr.txt:19 ../E/botfs.txt:19 ../E/botgc.txt:32 ../E/botgj.txt:34 ../E/botgr.txt:32 ../E/botgs.txt:32 ../E/botoc.txt:17 ../E/botoj.txt:19 ../E/botor.txt:17 ../E/botos.txt:17 ../E/botphaz.txt:13 ../E/botrecy.txt:13 ../E/botsc.txt:19 ../E/botshld.txt:17 ../E/botsj.txt:21 ../E/botsr.txt:19 ../E/botss.txt:19 ../E/botsub.txt:15 ../E/bottarg.txt:10 ../E/bottr.txt:11 ../E/bottump.txt:17
#, no-wrap
msgid "See also"
msgstr "Veja também"
#. type: Plain text
-#: ../E/botfc.txt:20 ../E/botfj.txt:22 ../E/botfr.txt:20 ../E/botfs.txt:20 ../E/botgc.txt:33 ../E/botgj.txt:35 ../E/botgr.txt:33 ../E/botgs.txt:33 ../E/botoc.txt:18 ../E/botoj.txt:20 ../E/botor.txt:18 ../E/botos.txt:18 ../E/botphaz.txt:14 ../E/botrecy.txt:14 ../E/botsc.txt:20 ../E/botshld.txt:18 ../E/botsj.txt:22 ../E/botsr.txt:20 ../E/botss.txt:20 ../E/botsub.txt:16 ../E/bottarg.txt:11 ../E/bottr.txt:12 ../E/bottump.txt:18
+#: ../E/botbc.txt:32 ../E/botbj.txt:32 ../E/botbr.txt:32 ../E/botbs.txt:32 ../E/botfc.txt:20 ../E/botfj.txt:22 ../E/botfr.txt:20 ../E/botfs.txt:20 ../E/botgc.txt:33 ../E/botgj.txt:35 ../E/botgr.txt:33 ../E/botgs.txt:33 ../E/botoc.txt:18 ../E/botoj.txt:20 ../E/botor.txt:18 ../E/botos.txt:18 ../E/botphaz.txt:14 ../E/botrecy.txt:14 ../E/botsc.txt:20 ../E/botshld.txt:18 ../E/botsj.txt:22 ../E/botsr.txt:20 ../E/botss.txt:20 ../E/botsub.txt:16 ../E/bottarg.txt:11 ../E/bottr.txt:12 ../E/bottump.txt:18
#, no-wrap
msgid "CBOT Language, Variables and Categories."
msgstr "Linguagem CBOT, Variáveis e Categorias."
@@ -125,7 +125,7 @@ msgid "Winged bots can fly across natural obstacles such as mountains or lakes b
msgstr "Robôs alados podem voar sobre obstáculos naturais como montanhas ou lagos, porém sua reserva de energia é usada rapidamente. Eles são lentos no chão. Para cobrir uma distância curta onde não é necessário voar, é recomendado usar um robô com rodas em seu lugar."
#. type: Plain text
-#: ../E/botfj.txt:14 ../E/botoj.txt:12 ../E/botsj.txt:14
+#: ../E/botbj.txt:24 ../E/botfj.txt:14 ../E/botoj.txt:12 ../E/botsj.txt:14
#, no-wrap
msgid "To program the bot's movements, use the following commands : move, turn, motor, jet, goto."
msgstr "Para programar os movimentos do robô, use os seguintes comandos: move, turn, motor, jet, goto."
@@ -947,3 +947,150 @@ msgstr "Thumper"
#, no-wrap
msgid "TODO"
msgstr "A FAZER"
+
+#. type: \b; header
+#: ../E/botbc.txt:1
+#, no-wrap
+msgid " Tracked Builder"
+msgstr ""
+
+#. type: Image filename
+#: ../E/botbc.txt:2
+#, no-wrap
+msgid "botbc"
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbc.txt:3
+#, no-wrap
+msgid "Tracked bot equipped with a neutron gun."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbc.txt:5 ../E/botbj.txt:5 ../E/botbr.txt:5 ../E/botbs.txt:5
+#, no-wrap
+msgid ""
+" Opens a build menu with the following options :\n"
+" BotFactoryRobot Factory\n"
+" ResearchCenterResearch Center\n"
+" RadarStationRadar\n"
+" ExchangePostInformation Exchange Post\n"
+" RepairCenterRepair Center\n"
+" DefenseTowerDefense Tower\n"
+" AutoLabOrganic Matter Analyzer \n"
+" PowerStationPower Station\n"
+" PowerPlantPower Cell Factory\n"
+" NuclearPlantNuclear Plant\n"
+" ConverterTitanium Converter\n"
+" DerrickDerrick\n"
+" PowerCaptorParabolic Lightning Conductor\n"
+" VaultVault"
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbc.txt:21
+#, no-wrap
+msgid "Tracked bots can ascend steep inclinations but they are quite slow and use a lot of energy. On flat ground for short distances, a wheeled builder is a better option. When it is possible to build winged bots, these represent the best solution for long distances."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbc.txt:26 ../E/botbj.txt:26 ../E/botbr.txt:26 ../E/botbs.txt:26
+#, no-wrap
+msgid "To program the neutron gun, use build."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbc.txt:29
+#, no-wrap
+msgid "TrackedBuilder"
+msgstr ""
+
+#. type: \b; header
+#: ../E/botbj.txt:1
+#, no-wrap
+msgid " Winged Builder"
+msgstr ""
+
+#. type: Image filename
+#: ../E/botbj.txt:2
+#, no-wrap
+msgid "botbj"
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbj.txt:3
+#, no-wrap
+msgid "Jet propelled flying bot equipped with a neutron gun."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbj.txt:21
+#, no-wrap
+msgid "Winged bots can fly across natural obstacles such as mountains or lakes but their energy supply is used up quickly. They're slow on the ground. To cover a short distance that will not call for flying, it is recommended to use a wheeled builder instead."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbj.txt:29
+#, no-wrap
+msgid "WingedBuilder"
+msgstr ""
+
+#. type: \b; header
+#: ../E/botbr.txt:1
+#, no-wrap
+msgid " Wheeled Builder"
+msgstr ""
+
+#. type: Image filename
+#: ../E/botbr.txt:2
+#, no-wrap
+msgid "botbr"
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbr.txt:3
+#, no-wrap
+msgid "Wheeled bot equipped with a neutron gun."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbr.txt:21
+#, no-wrap
+msgid "Wheels constitute a standard, fast and energy-saving mode of propulsion, which is perfectly adapted for a relatively flat terrain. Whenever the terrain gets sloped, it is advised to use a winged builder instead, or, if this is impossible, a tracked builder."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbr.txt:29
+#, no-wrap
+msgid "WheeledBuilder"
+msgstr ""
+
+#. type: \b; header
+#: ../E/botbs.txt:1
+#, no-wrap
+msgid " Legged Builder"
+msgstr ""
+
+#. type: Image filename
+#: ../E/botbs.txt:2
+#, no-wrap
+msgid "botbs"
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbs.txt:3
+#, no-wrap
+msgid "Ant-legged creeping bot equipped with a neutron gun."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbs.txt:21
+#, no-wrap
+msgid "A moving legged builder uses up half as much energy as a wheeled builder. A legged bot is also perfectly adapted to climb the steepest slopes."
+msgstr ""
+
+#. type: Plain text
+#: ../E/botbs.txt:29
+#, no-wrap
+msgid "LeggedBuilder"
+msgstr ""
diff --git a/help/cbot/po/br.po b/help/cbot/po/pt.po
similarity index 99%
rename from help/cbot/po/br.po
rename to help/cbot/po/pt.po
index 993e86af..9a1a9598 100644
--- a/help/cbot/po/br.po
+++ b/help/cbot/po/pt.po
@@ -53,7 +53,7 @@ msgid "Time in seconds."
msgstr "Tempo em segundos."
#. type: \t; header
-#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:41 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:109 ../E/ceil.txt:12 ../E/class.txt:120 ../E/close.txt:6 ../E/cond.txt:4 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/detect.txt:27 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:197 ../E/extends.txt:105 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:51 ../E/function.txt:165 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:19 ../E/openfile.txt:11 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:19 ../E/produce.txt:30 ../E/protected.txt:26 ../E/public.txt:49 ../E/radar.txt:80 ../E/radarall.txt:19 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/super.txt:45 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
+#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:41 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:114 ../E/ceil.txt:12 ../E/class.txt:120 ../E/close.txt:6 ../E/cond.txt:4 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/detect.txt:27 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:197 ../E/extends.txt:105 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:51 ../E/function.txt:165 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:19 ../E/openfile.txt:11 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:19 ../E/produce.txt:30 ../E/protected.txt:26 ../E/public.txt:49 ../E/radar.txt:80 ../E/radarall.txt:19 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/super.txt:45 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
#, no-wrap
msgid "See also"
msgstr "Veja também"
@@ -521,7 +521,7 @@ msgstr ""
" LeggedOrgaShooterAtirador orgânico com pernas"
#. type: Plain text
-#: ../E/category.txt:70
+#: ../E/category.txt:75
#, no-wrap
msgid ""
" SubberSubber\n"
@@ -537,7 +537,7 @@ msgstr ""
" PhazerShooterAtirador phazer"
#. type: Plain text
-#: ../E/category.txt:79
+#: ../E/category.txt:84
#, no-wrap
msgid ""
" AlienQueenAlien Queen\n"
@@ -555,7 +555,7 @@ msgstr ""
" AlienWormVerme"
#. type: Plain text
-#: ../E/category.txt:89
+#: ../E/category.txt:94
#, no-wrap
msgid ""
" MeYou!\n"
@@ -571,7 +571,7 @@ msgstr ""
" RuinEdifício abandonado"
#. type: Plain text
-#: ../E/category.txt:110
+#: ../E/category.txt:115
#, no-wrap
msgid "CBOT Language and Variables."
msgstr "Linguagem CBOT e variáveis."
@@ -5925,19 +5925,19 @@ msgid "Robots:"
msgstr "Robôs:"
#. type: \t; header
-#: ../E/category.txt:77
+#: ../E/category.txt:82
#, no-wrap
msgid "Enemies:"
msgstr "Inimigos:"
#. type: \t; header
-#: ../E/category.txt:87
+#: ../E/category.txt:92
#, no-wrap
msgid "Miscellaneous:"
msgstr "Variados:"
#. type: \t; header
-#: ../E/category.txt:96
+#: ../E/category.txt:101
#, no-wrap
msgid "Flags and Other Indicators:"
msgstr "Bandeiras e outros indicadores:"
@@ -8353,7 +8353,7 @@ msgstr ""
"}"
#. type: Plain text
-#: ../E/category.txt:98
+#: ../E/category.txt:103
#, no-wrap
msgid ""
" BlueFlagBlue Flag\n"
@@ -9343,3 +9343,13 @@ msgstr ""
#, no-wrap
msgid "Note that in the above example overloading causes the first default parameter to be useless as caller needs to pass it anyway in order to distinguish the two functions."
msgstr "Note que no exemplo acima o sobrecarregamento torna o primeiro parâmetro padrão inútil, já que ao chamar a função ele deve ser informado para que as duas funções possam ser distinguidas."
+
+#. type: Plain text
+#: ../E/category.txt:70
+#, no-wrap
+msgid ""
+" WheeledBuilderWheeled Builder\n"
+" TrackedBuilderTracked Builder\n"
+" WingedBuilderWinged Builder\n"
+" LeggedBuilderLegged Builder"
+msgstr ""
diff --git a/help/generic/po/br.po b/help/generic/po/pt.po
similarity index 63%
rename from help/generic/po/br.po
rename to help/generic/po/pt.po
index 0de15ab4..47f9c3a6 100644
--- a/help/generic/po/br.po
+++ b/help/generic/po/pt.po
@@ -19,18 +19,14 @@ msgstr ""
#. type: Plain text
#: ../E/authors.txt:1
#, no-wrap
-msgid ""
-"Developers and internal betatesters of Original COLOBOT game from EPSITEC"
-msgstr ""
-"Desenvolvedores e betatesters internos do jogo original COLOBOT da EPSITEC"
+msgid "Developers and internal betatesters of Original COLOBOT game from EPSITEC"
+msgstr "Desenvolvedores e betatesters internos do jogo original COLOBOT da EPSITEC"
#. type: Bullet: '-'
#: ../E/authors.txt:2
#, no-wrap
-msgid ""
-"Daniel Roux -Denis Dumoulin -Otto Kölbl -Michael Walz -Didier Gertsch"
-msgstr ""
-"Daniel Roux -Denis Dumoulin -Otto Kölbl -Michael Walz -Didier Gertsch"
+msgid "Daniel Roux -Denis Dumoulin -Otto Kölbl -Michael Walz -Didier Gertsch"
+msgstr "Daniel Roux -Denis Dumoulin -Otto Kölbl -Michael Walz -Didier Gertsch"
#. type: Bullet: '-'
#: ../E/authors.txt:3
@@ -59,11 +55,8 @@ msgstr "Time Terranova: https://github.com/orgs/colobot/members"
#. type: Bullet: '-'
#: ../E/authors.txt:8
#, no-wrap
-msgid ""
-"Contributors on GitHub: https://github.com/colobot/colobot/graphs/contributors"
-msgstr ""
-"Colaboradores em GitHub: https://github.com/colobot/colobot/graphs/contributor"
-"s"
+msgid "Contributors on GitHub: https://github.com/colobot/colobot/graphs/contributors"
+msgstr "Colaboradores em GitHub: https://github.com/colobot/colobot/graphs/contributors"
#. type: \b; header
#: ../E/cbot.txt:1
@@ -75,21 +68,11 @@ msgstr "Programação - a linguagem CBOT"
#: ../E/cbot.txt:2
#, no-wrap
msgid ""
-"The CBOT language is very close in structure and syntax to C++ and Java. It"
-" has been adapted for the specific purposes of COLOBOT, and for an efficient"
-" pedagogical approach.\n"
-"This language is made up of instructions (see below), blocks, functions, classes, variables, arrays, expressions and conditions."
+"The CBOT language is very close in structure and syntax to C++ and Java. It has been adapted for the specific purposes of COLOBOT, and for an efficient pedagogical approach.\n"
+"This language is made up of instructions (see below), blocks, functions, classes, variables, arrays, expressions and conditions."
msgstr ""
-"A linguagem CBOT é muito perto em estrutura a sintaxe de C++ e Java. Ela foi"
-" adaptada para os propósitos específicos de COLOBOT, e para uma abordagem"
-" pedagógica eficiente.\n"
-"A linguagem é formada por várias instruções (veja abaixo), blocos, funções, classes, variáveis, matrizes, expressões<"
-"/a> e condições."
+"A linguagem CBOT é muito perto em estrutura a sintaxe de C++ e Java. Ela foi adaptada para os propósitos específicos de COLOBOT, e para uma abordagem pedagógica eficiente.\n"
+"A linguagem é formada por várias instruções (veja abaixo), blocos, funções, classes, variáveis, matrizes, expressões e condições."
#. type: Bullet: 'o'
#: ../E/cbot.txt:8
@@ -226,12 +209,8 @@ msgstr "Controles"
#. type: Plain text
#: ../E/command.txt:2
#, no-wrap
-msgid ""
-"You are advised to play with one hand on the arrow keys and the other hand on"
-" the mouse."
-msgstr ""
-"Você é aconselhado a jogar com uma mão nas teclas direcionais e outra no"
-" mouse."
+msgid "You are advised to play with one hand on the arrow keys and the other hand on the mouse."
+msgstr "Você é aconselhado a jogar com uma mão nas teclas direcionais e outra no mouse."
#. type: \t; header
#: ../E/command.txt:4
@@ -247,15 +226,13 @@ msgid ""
" = turn right\n"
" = move forward\n"
" = move back\n"
-"These controls are unavailable when working with the practice"
-" bots."
+"These controls are unavailable when working with the practice bots."
msgstr ""
" = girar a esquerda\n"
" = girar a direita\n"
" = mover para frente\n"
" = mover para trás\n"
-"Estes controles estão indisponíveis enquanto trabalhando com os robôs de prática."
+"Estes controles estão indisponíveis enquanto trabalhando com os robôs de prática."
#. type: Plain text
#: ../E/command.txt:11
@@ -263,15 +240,11 @@ msgstr ""
msgid ""
" = take off and climb \n"
" = descend and land \n"
-"These controls are of course restricted to the astronaut"
-" as well as the various winged bots and in selected"
-" missions only."
+"These controls are of course restricted to the astronaut as well as the various winged bots and in selected missions only."
msgstr ""
" = decolar e escalar \n"
" = descer e pousar \n"
-"Estes controles são, claro, restritos ao astronauta, bem"
-" como aos vários robôs alados e apenas em missões"
-" selecionadas."
+"Estes controles são, claro, restritos ao astronauta, bem como aos vários robôs alados e apenas em missões selecionadas."
#. type: Plain text
#: ../E/command.txt:15
@@ -281,31 +254,23 @@ msgid ""
"mouse backward = lower aim\n"
"mouse right = aim right\n"
"mouse left = aim left\n"
-"These controls are only available to the shooters, the orga shooters and the phazer shooter."
+"These controls are only available to the shooters, the orga shooters and the phazer shooter."
msgstr ""
"mouse para frente = subir mira\n"
"mouse para trás = descer mira\n"
"mouse para direita = mirar a direita\n"
"mouse para esquerda = mirar a esquerda\n"
-"Estes controles somente estão disponíveis para os atiradores<"
-"/a>, atiradores orgânicos e o atirador"
-" phazer."
+"Estes controles somente estão disponíveis para os atiradores, atiradores orgânicos e o atirador phazer."
#. type: Plain text
#: ../E/command.txt:21
#, no-wrap
msgid ""
-" = main action for a given selection (human"
-" or bot)\n"
-"This control will for example operate the arm of a grabber or fire a shooter ."
+" = main action for a given selection (human or bot)\n"
+"This control will for example operate the arm of a grabber or fire a shooter ."
msgstr ""
-" = principal ação para uma dada seleção"
-" (humano ou robô)\n"
-"Este controle irá por exemplo, operar o braço de um agarrador ou atirar o canhão de um atirador ."
+" = principal ação para uma dada seleção (humano ou robô)\n"
+"Este controle irá por exemplo, operar o braço de um agarrador ou atirar o canhão de um atirador ."
#. type: \t; header
#: ../E/command.txt:24
@@ -335,20 +300,15 @@ msgstr "Câmera"
#: ../E/command.txt:30
#, no-wrap
msgid ""
-" = shifts between onboard and following"
-" cameras \n"
+" = shifts between onboard and following cameras \n"
" = zoom in\n"
" = zoom out\n"
-" = pauses the game and shows where the"
-" latest message originated. Press again to show origin of previous message."
+" = pauses the game and shows where the latest message originated. Press again to show origin of previous message."
msgstr ""
-" = muda entre as câmeras a borde e"
-" seguintes \n"
+" = muda entre as câmeras a borde e seguintes \n"
" = mais zoom\n"
" = menos zoom\n"
-" = pausa o jogo e mostra de onde a última"
-" mensagem se originou. Pressione de novo para exibir a origem da mensagem"
-" anterior."
+" = pausa o jogo e mostra de onde a última mensagem se originou. Pressione de novo para exibir a origem da mensagem anterior."
#. type: \t; header
#: ../E/command.txt:35
@@ -373,25 +333,10 @@ msgid "Game"
msgstr "Jogo"
#. type: Plain text
-#: ../E/command.txt:40
-#, no-wrap
-msgid ""
-" = normal speed x1\n"
-" = medium speed x1.5\n"
-" = faster speed x2\n"
-" = exits mission "
-msgstr ""
-" = velocidade normal x1\n"
-" = velocidade métida x1.5\n"
-" = velocidade rápida x2\n"
-" = sair da missão "
-
-#. type: Plain text
-#: ../E/command.txt:45
+#: ../E/command.txt:47
#, no-wrap
msgid "All these commands can be redefined in the options/controls menu."
-msgstr ""
-"Todos estes comandos podem ser redefinidos no menu de controles em opções."
+msgstr "Todos estes comandos podem ser redefinidos no menu de controles em opções."
#. type: \b; header
#: ../E/freehelp.txt:1
@@ -402,14 +347,8 @@ msgstr "Objetivo"
#. type: Plain text
#: ../E/freehelp.txt:2
#, no-wrap
-msgid ""
-"Here you can play around without any definite objective. You can do whatever"
-" you want, explore the region, build a base camp and several bots, run"
-" various research programs, kill the insects if you find some, etc."
-msgstr ""
-"Aqui você pode jogar sem nenhum objetivo definido. Você pode fazer o que você"
-" quiser, explorar a região, construir uma base e vários robôs, executar"
-" vários programas de pesquisa, matar os insetos se você encontrar algum, etc."
+msgid "Here you can play around without any definite objective. You can do whatever you want, explore the region, build a base camp and several bots, run various research programs, kill the insects if you find some, etc."
+msgstr "Aqui você pode jogar sem nenhum objetivo definido. Você pode fazer o que você quiser, explorar a região, construir uma base e vários robôs, executar vários programas de pesquisa, matar os insetos se você encontrar algum, etc."
#. type: Plain text
#: ../E/freehelp.txt:5
@@ -420,27 +359,14 @@ msgstr "Controles."
#. type: Plain text
#: ../E/licences.txt:1
#, no-wrap
-msgid ""
-"The photograph of the nebula NGC3606 illuminating the sky on Orpheon and the"
-" installation program was taken with the Hubble space telescope. It is used"
-" with the permission of the authors Wolfgang Brandner (JPL/IPAC), Eva K."
-" Grebel (Washington University), You-Hua Chu (Illinois Urbana-Champaign"
-" University) and NASA."
-msgstr ""
-"A fotografia da nebulosa NGC3606 iluminando o céu de Orpheon e o programa de"
-" instalação foi tirada com o telescópio espacial Hubble. Ela é usada com a"
-" permissão dos autores Wolfgang Brandner (JPL/IPAC), Eva K. Grebel"
-" (Washington University), You-Hua Chu (Illinois Urbana-Champaign University)"
-" e NASA."
+msgid "The photograph of the nebula NGC3606 illuminating the sky on Orpheon and the installation program was taken with the Hubble space telescope. It is used with the permission of the authors Wolfgang Brandner (JPL/IPAC), Eva K. Grebel (Washington University), You-Hua Chu (Illinois Urbana-Champaign University) and NASA."
+msgstr "A fotografia da nebulosa NGC3606 iluminando o céu de Orpheon e o programa de instalação foi tirada com o telescópio espacial Hubble. Ela é usada com a permissão dos autores Wolfgang Brandner (JPL/IPAC), Eva K. Grebel (Washington University), You-Hua Chu (Illinois Urbana-Champaign University) e NASA."
#. type: Plain text
#: ../E/licences.txt:3
#, no-wrap
-msgid ""
-"The thunder sound on Orpheon is used by limited permission from CREATIVE."
-msgstr ""
-"O som de trovão usado em Orpheon é usado com uma permissão limitada de"
-" CREATIVE."
+msgid "The thunder sound on Orpheon is used by limited permission from CREATIVE."
+msgstr "O som de trovão usado em Orpheon é usado com uma permissão limitada de CREATIVE."
#. type: \b; header
#: ../E/navig.txt:1
@@ -451,50 +377,38 @@ msgstr "Navegação"
#. type: Plain text
#: ../E/navig.txt:2
#, no-wrap
-msgid ""
-"The three buttons on the upper left-hand corner of the screen allow you to"
-" navigate in the different texts of the help file:"
-msgstr ""
-"Os três botões no canto superior esquerdo da tela permitem a você navegar"
-" entre os diferentes textos do arquivo de ajuda:"
+msgid "The three buttons on the upper left-hand corner of the screen allow you to navigate in the different texts of the help file:"
+msgstr "Os três botões no canto superior esquerdo da tela permitem a você navegar entre os diferentes textos do arquivo de ajuda:"
#. type: Plain text
#: ../E/navig.txt:4
#, no-wrap
msgid ""
" Home\n"
-"Get back to the home page, i.e. the first page that was displayed, for"
-" example when you hit the or <"
-"key prog/> key."
+"Get back to the home page, i.e. the first page that was displayed, for example when you hit the or key."
msgstr ""
" Início\n"
-"Volta para a página inicial, isto é, a primeira página que foi exibida, por"
-" exemplo, quando você pressiona as teclas ou"
-" ."
+"Volta para a página inicial, isto é, a primeira página que foi exibida, por exemplo, quando você pressiona as teclas ou ."
#. type: Plain text
#: ../E/navig.txt:7
#, no-wrap
msgid ""
" Previous\n"
-"Get back to the previous page, i.e. the page that was displayed before you"
-" clicked on a link."
+"Get back to the previous page, i.e. the page that was displayed before you clicked on a link."
msgstr ""
" Anterior\n"
-"Volta para a página anterior, isto é, a página que estava sendo exibida antes"
-" de você clicar no link."
+"Volta para a página anterior, isto é, a página que estava sendo exibida antes de você clicar no link."
#. type: Plain text
#: ../E/navig.txt:10
#, no-wrap
msgid ""
" Next\n"
-"Get again to the next page, after you used the \"Home\" or \"Previous\""
-" button."
+"Get again to the next page, after you used the \"Home\" or \"Previous\" button."
msgstr ""
" Próxima\n"
-"Volta de novo para a próxima página, depois que você usou os botões"
-" \"Início\" ou \"Anterior\"."
+"Volta de novo para a próxima página, depois que você usou os botões \"Início\" ou \"Anterior\"."
#. type: \t; header
#: ../E/navig.txt:13
@@ -506,14 +420,10 @@ msgstr "Observação"
#: ../E/navig.txt:14
#, no-wrap
msgid ""
-"When a button is gray, this means that it can not be used at this precise"
-" moment. For example, when you are in the home page, the \"Home\" button is"
-" gray, because it does not make sense to use it.\n"
+"When a button is gray, this means that it can not be used at this precise moment. For example, when you are in the home page, the \"Home\" button is gray, because it does not make sense to use it.\n"
"This remark is valid for all buttons in COLOBOT."
msgstr ""
-"Quando um botão está cinza, isto significa que ele não pode ser usado neste"
-" momento. Por exemplo, quando você está na pagina inicial, o botão \"Início\""
-" está cinza, porque não faz sentido você usar ele.\n"
+"Quando um botão está cinza, isto significa que ele não pode ser usado neste momento. Por exemplo, quando você está na pagina inicial, o botão \"Início\" está cinza, porque não faz sentido você usar ele.\n"
"Esta observação é válida para todos os botões em COLOBOT."
#. type: \t; header
@@ -525,14 +435,8 @@ msgstr "Rolagem de texto"
#. type: Plain text
#: ../E/navig.txt:18
#, no-wrap
-msgid ""
-"If your mouse is equipped with a wheel, you can use it to scroll the text up"
-" and down. Otherwise, use the arrow keys and the scroll bar on the right-hand"
-" side of the screen."
-msgstr ""
-"Se seu você é equipado com uma roda, você pode usá-la para rolar o texto para"
-" cima ou para baixo. Caso não tenha, use as teclas direcionais e a barra de"
-" rolagem no lado direito da tela."
+msgid "If your mouse is equipped with a wheel, you can use it to scroll the text up and down. Otherwise, use the arrow keys and the scroll bar on the right-hand side of the screen."
+msgstr "Se seu você é equipado com uma roda, você pode usá-la para rolar o texto para cima ou para baixo. Caso não tenha, use as teclas direcionais e a barra de rolagem no lado direito da tela."
#. type: \t; header
#: ../E/navig.txt:20
@@ -543,19 +447,14 @@ msgstr "Tamanho da fonte"
#. type: Plain text
#: ../E/navig.txt:21
#, no-wrap
-msgid ""
-"The cursor on the upper side of the screen allows you to change the font size"
-" of the text."
-msgstr ""
-"O cursor na parte superior da tela permite a você alterar o tamanho da fonte"
-" do texto."
+msgid "The cursor on the upper side of the screen allows you to change the font size of the text."
+msgstr "O cursor na parte superior da tela permite a você alterar o tamanho da fonte do texto."
#. type: Plain text
#: ../E/win.txt:2
#, no-wrap
msgid ""
-"Houston congratulates you in the name of mankind for the success of your"
-" mission.\n"
+"Houston congratulates you in the name of mankind for the success of your mission.\n"
"The Great Migration to Terra Nova will start very soon."
msgstr ""
"Houston parabeniza você em nome da humanidade pelo sucesso da sua missão.\n"
@@ -570,40 +469,20 @@ msgstr "Batalhas de código"
#. type: Plain text
#: ../E/battles.txt:2
#, no-wrap
-msgid ""
-"Code battle is a completely new game mode featured in Colobot: Gold Edition."
-" The idea is that you set up two programs (yours and the opponent's) to fight"
-" with each other. The player can't interact with the world manually."
-msgstr ""
-"Uma batalha de código é um modo de jogo completamente novo desenvolvido em"
-" Colobot: edição de ouro. A ideia é que você crie dois programas (um seu e"
-" outro do oponente) para lutar um contra o outro. O jogador não pode"
-" interagir com o mundo manualmente."
+msgid "Code battle is a completely new game mode featured in Colobot: Gold Edition. The idea is that you set up two programs (yours and the opponent's) to fight with each other. The player can't interact with the world manually."
+msgstr "Uma batalha de código é um modo de jogo completamente novo desenvolvido em Colobot: edição de ouro. A ideia é que você crie dois programas (um seu e outro do oponente) para lutar um contra o outro. O jogador não pode interagir com o mundo manualmente."
#. type: Plain text
#: ../E/battles.txt:18
#, no-wrap
-msgid ""
-"With the new functions provided in the Gold Edition, you can create a fully"
-" automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
-msgstr ""
-"Com as novas funções fornecidade na Edição de Ouro, você pode criar uma base"
-" totalmente automatizada, que não necessita de nenhuma influência de um humano. Tudo sobre isso está escrito na documentação CBOT."
+msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
+msgstr "Com as novas funções fornecidade na Edição de Ouro, você pode criar uma base totalmente automatizada, que não necessita de nenhuma influência de um humano. Tudo sobre isso está escrito na documentação CBOT."
#. type: Plain text
#: ../E/battles.txt:20
#, no-wrap
-msgid ""
-"Production line is explained in Missions and Exercises, but you may want to"
-" jump into code battles right away without beating the whole game. So here is"
-" a brief description of how the things works in Colobot."
-msgstr ""
-"A linha de produção é explicada em Missões e Exercícios, porém você pode"
-" pular direto para batalhas de códigos sem bater o jogo inteiro. Aqui está"
-" uma breve descrição de como as coisas funcionam em Colobot."
+msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
+msgstr "A linha de produção é explicada em Missões e Exercícios, porém você pode pular direto para batalhas de códigos sem bater o jogo inteiro. Aqui está uma breve descrição de como as coisas funcionam em Colobot."
#. type: \t; header
#: ../E/battles.txt:22
@@ -614,28 +493,8 @@ msgstr "O que você quer alcançar"
#. type: Plain text
#: ../E/battles.txt:23
#, no-wrap
-msgid ""
-"Basically, you want to destroy the opponent. To do that, you will need"
-" something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you"
-" should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots"
-" needs batteries. Anyway, before you can start, you must"
-" also do some researches to get better technologies."
-" And here we are at the beginning, with a single robot"
-" and a Titanium."
-msgstr ""
-"Basicamente, você quer destruir o oponente. Para fazer isso, você precisa de"
-" algo letal, por exemplo, um robô, especificamente, um atirador. Mas provavelmente você irá perdê-los com bastante frequência,"
-" então talvez você deva continuar a produção. Por exemplo, mais agarradores ou mais fábricas, conversores e assim por diante serão úteis. Lembre-se que"
-" robôs necessitam de baterias. De qualquer forma, antes"
-" de você iniciar, você deve fazer algumas pesquisas"
-" para obter melhores tecnologias. E isso é só o começo, com um único robô e um cubo de titânio."
+msgid "Basically, you want to destroy the opponent. To do that, you will need something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots needs batteries. Anyway, before you can start, you must also do some researches to get better technologies. And here we are at the beginning, with a single robot and a Titanium."
+msgstr "Basicamente, você quer destruir o oponente. Para fazer isso, você precisa de algo letal, por exemplo, um robô, especificamente, um atirador. Mas provavelmente você irá perdê-los com bastante frequência, então talvez você deva continuar a produção. Por exemplo, mais agarradores ou mais fábricas, conversores e assim por diante serão úteis. Lembre-se que robôs necessitam de baterias. De qualquer forma, antes de você iniciar, você deve fazer algumas pesquisas para obter melhores tecnologias. E isso é só o começo, com um único robô e um cubo de titânio."
#. type: Image filename
#: ../E/battles.txt:25
@@ -656,16 +515,14 @@ msgid ""
"1. Find a Titanium.\n"
"2. Build a Converter.\n"
"3. Find a TitaniumOre.\n"
-"4. Place it in the converter. Move back and wait until the converter is"
-" done.\n"
+"4. Place it in the converter. Move back and wait until the converter is done.\n"
"5. Use or move somewhere your new Titanium.\n"
"Repeat steps 3-5 in order to keep your production going."
msgstr ""
"1. Encontre um cubo de titânio.\n"
"2. Construa um conversor.\n"
"3. Encontre um minério de titânio.\n"
-"4. Coloque-o no conversor. Mova-se para trás e espere até que o conversor"
-" termine.\n"
+"4. Coloque-o no conversor. Mova-se para trás e espere até que o conversor termine.\n"
"5. Use ou mova para algum lugar seu novo cubo de titânio.\n"
"Repita os passos 3-5 em ordem a manter sua linha de produção em andamento."
@@ -681,13 +538,11 @@ msgstr "Pesquisas"
msgid ""
"1. Build a ResearchCenter.\n"
"2. Power it with a PowerCell.\n"
-"3. Request a research and wait"
-" until the research center is done."
+"3. Request a research and wait until the research center is done."
msgstr ""
"1. Construa um centro de pesquisa.\n"
"2. Ligue-o com uma célula de energia.\n"
-"3. Solicite uma pesquisa e"
-" aguarde até que a mesma seja finalizada."
+"3. Solicite uma pesquisa e aguarde até que a mesma seja finalizada."
#. type: \t; header
#: ../E/battles.txt:40
@@ -701,15 +556,12 @@ msgstr "Produção de robôs"
msgid ""
"1. Build a BotFactory.\n"
"2. Place a Titanium inside and move back.\n"
-"3. Request a construction of a robot and wait until the"
-" bot factory is done.\n"
+"3. Request a construction of a robot and wait until the bot factory is done.\n"
"4. Power the robot with a PowerCell."
msgstr ""
"1. Construa uma fábrica de robôs.\n"
-"2. Coloque um cubo de titânio dentro e mova-se para"
-" trás.\n"
-"3. Solicite uma construção de um robô e espere até que a"
-" fábrica termine.\n"
+"2. Coloque um cubo de titânio dentro e mova-se para trás.\n"
+"3. Solicite uma construção de um robô e espere até que a fábrica termine.\n"
"4. Ligue o robô com uma célula de energia."
#. type: \t; header
@@ -723,12 +575,10 @@ msgstr "Produção de células de energia"
#, no-wrap
msgid ""
"1. Build a PowerPlant.\n"
-"2. Place a Titanium in it and wait until the power plant"
-" is done."
+"2. Place a Titanium in it and wait until the power plant is done."
msgstr ""
"1. Construa uma planta de energia.\n"
-"2. Coloque um cubo de titânio nela e espere até que a"
-" célula esteja pronta."
+"2. Coloque um cubo de titânio nela e espere até que a célula esteja pronta."
#. type: \t; header
#: ../E/battles.txt:50
@@ -739,24 +589,14 @@ msgstr "Há mais"
#. type: Plain text
#: ../E/battles.txt:51
#, no-wrap
-msgid ""
-"There is much more options, but this is the basis. Read documentation, play"
-" the game and think creatively to come up with new ideas. Good luck and have"
-" fun!"
-msgstr ""
-"Ainda há muito mais opções, isto é somente a base. Leia a documentação, jogue"
-" o jogo e pense criativamente para chegar a novas ideias. Boa sorte e"
-" divirta-se."
+msgid "There is much more options, but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
+msgstr "Ainda há muito mais opções, isto é somente a base. Leia a documentação, jogue o jogo e pense criativamente para chegar a novas ideias. Boa sorte e divirta-se."
#. type: Plain text
#: ../E/battles.txt:54
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
#. type: Plain text
#: ../E/cbot.txt:15
@@ -800,8 +640,7 @@ msgid ""
"flatgroundReturns radius of a flat area"
msgstr ""
"spaceCalcula um espaço livre\n"
-"flatspaceCalcula um espaço livre e"
-" plano\n"
+"flatspaceCalcula um espaço livre e plano\n"
"topoRetorna a altitude de um ponto\n"
"flatgroundRetorna o raio de uma área plana"
@@ -818,10 +657,8 @@ msgid ""
"fireFires the cannon\n"
"aimRotates the cannon\n"
"buildBuilds a building\n"
-"canbuildChecks if a building can be"
-" built\n"
-"buildingenabledChecks if a building"
-" can be built in the level"
+"canbuildChecks if a building can be built\n"
+"buildingenabledChecks if a building can be built in the level"
msgstr ""
"grabPega um objeto\n"
"dropSolta um objeto\n"
@@ -832,10 +669,8 @@ msgstr ""
"fireAtira o canhão\n"
"aimRotaciona o canhão\n"
"buildConstrói um edifício\n"
-"canbuildCheca se um edifício pode ser"
-" construído\n"
-"buildingenabledCheca se um edifício"
-" pode ser construído na missão"
+"canbuildCheca se um edifício pode ser construído\n"
+"buildingenabledCheca se um edifício pode ser construído na missão"
#. type: \t; header
#: ../E/cbot.txt:73
@@ -870,10 +705,8 @@ msgid ""
"randReturns a random value\n"
"powReturns a power\n"
"sqrtReturns a square root\n"
-"floorReturns the largest previous"
-" integer\n"
-"ceilReturns the smallest following"
-" integer\n"
+"floorReturns the largest previous integer\n"
+"ceilReturns the smallest following integer\n"
"roundReturns a rounded number\n"
"truncReturns a truncated number\n"
"sinReturns a sine\n"
@@ -882,8 +715,7 @@ msgid ""
"asinReturns an arcus sine\n"
"acosReturns an arcus cosine\n"
"atanReturns an arcus tangent\n"
-"atan2Returns an arcus tangent, has two"
-" arguments"
+"atan2Returns an arcus tangent, has two arguments"
msgstr ""
"randRetorna um valor aleatório\n"
"powRetorna uma potência\n"
@@ -898,44 +730,29 @@ msgstr ""
"asinRetorna uma cossecante\n"
"acosRetorna uma secante\n"
"atanRetorna uma cotangente\n"
-"atan2Retorna uma cotangente, tem 2"
-" argumentos"
+"atan2Retorna uma cotangente, tem 2 argumentos"
#. type: Plain text
#: ../E/cbot.txt:9
#, no-wrap
-msgid ""
-"The type of a variable appears like that: type<"
-"/format>. "
-msgstr ""
-"O tipo de uma variável aparece assim: tipo<"
-"/format>. "
+msgid "The type of a variable appears like that: type. "
+msgstr "O tipo de uma variável aparece assim: tipo. "
#. type: Plain text
#: ../E/cbot.txt:12
#, no-wrap
-msgid ""
-"Constants like categories are displayed like that: <"
-"format const>constant. "
-msgstr ""
-"Constantes como categorias são exibidas assim: constante. "
+msgid "Constants like categories are displayed like that: constant. "
+msgstr "Constantes como categorias são exibidas assim: constante. "
#. type: Plain text
#: ../E/cbot.txt:5
#, no-wrap
msgid ""
"o |c;Instructions\n"
-"In the program editor, an instruction in the CBOT language is always"
-" displayed like that: instruction. If an instruction"
-" is not highlighted, this means that it has been misspelled. Instruction"
-" names are always written in lower case. "
+"In the program editor, an instruction in the CBOT language is always displayed like that: instruction. If an instruction is not highlighted, this means that it has been misspelled. Instruction names are always written in lower case. "
msgstr ""
"o |c;Instruções\n"
-"No editor do programa, uma instrução da linguagem CBOT sempre é exibida"
-" assim: instrução. Se uma instrução não está"
-" destacada, isto significa que ela foi escrita incorretamente. Nomes de"
-" instruções sempre são escritos em letras minúsculas."
+"No editor do programa, uma instrução da linguagem CBOT sempre é exibida assim: instrução. Se uma instrução não está destacada, isto significa que ela foi escrita incorretamente. Nomes de instruções sempre são escritos em letras minúsculas."
#. type: \b; header
#: ../E/cheats.txt:1
@@ -946,14 +763,8 @@ msgstr "Trapaças"
#. type: Plain text
#: ../E/cheats.txt:2
#, no-wrap
-msgid ""
-"Great, you have found this secret page. We hope you will use informations"
-" contained here only for other than cheating purposes. Like testing the game"
-" or recording a cool video about Colobot."
-msgstr ""
-"Ótimo, você encontrou esta página secreta. Nós esperamos que você use as"
-" informações contidas aqui somente para outros usos que não sejam trapaças."
-" Como testar o jogo ou gravar um vídeo legal sobre Colobot."
+msgid "Great, you have found this secret page. We hope you will use informations contained here only for other than cheating purposes. Like testing the game or recording a cool video about Colobot."
+msgstr "Ótimo, você encontrou esta página secreta. Nós esperamos que você use as informações contidas aqui somente para outros usos que não sejam trapaças. Como testar o jogo ou gravar um vídeo legal sobre Colobot."
#. type: \b; header
#: ../E/cheats.txt:4
@@ -964,14 +775,8 @@ msgstr "Console"
#. type: Plain text
#: ../E/cheats.txt:5
#, no-wrap
-msgid ""
-"You can open the console by pressing the ~ button"
-" on your keyboard. Press ENTER to hide it or pass"
-" one of the commands below."
-msgstr ""
-"Você pode abrir o console pressionando a tecla ~ do"
-" seu teclado. Pressione ENTER para ocultá-lo ou"
-" passar um dos comandos abaixo."
+msgid "You can open the console by pressing the ~ button on your keyboard. Press ENTER to hide it or pass one of the commands below."
+msgstr "Você pode abrir o console pressionando a tecla ~ do seu teclado. Pressione ENTER para ocultá-lo ou passar um dos comandos abaixo."
#. type: \t; header
#: ../E/cheats.txt:7
@@ -1006,10 +811,8 @@ msgstr "CBOT"
#. type: Bullet: 'o'
#: ../E/cheats.txt:45
#, no-wrap
-msgid ""
-"produceImmediately creates an object"
-msgstr ""
-"produceImediatamente cria um objeto"
+msgid "produceImmediately creates an object"
+msgstr "produceImediatamente cria um objeto"
#. type: Bullet: 'o'
#: ../E/cheats.txt:8
@@ -1038,25 +841,20 @@ msgstr "allbuildings Todos os edifícios são habilitados"
#. type: Bullet: 'o'
#: ../E/cheats.txt:16
#, no-wrap
-msgid ""
-"all allbuildings + allresearch"
-msgstr ""
-"all allbuildings + allresearch"
+msgid "all allbuildings + allresearch"
+msgstr "all allbuildings + allresearch"
#. type: Bullet: 'o'
#: ../E/cheats.txt:17
#, no-wrap
msgid "fullenergy Restore energy in the currently selected bot"
-msgstr ""
-"fullenergy Restaura a energia do robô atualmente selecionado"
+msgstr "fullenergy Restaura a energia do robô atualmente selecionado"
#. type: Bullet: 'o'
#: ../E/cheats.txt:18
#, no-wrap
-msgid ""
-"fullshield Restore shield in the currently selected object"
-msgstr ""
-"fullshield Restaura o escudo do objeto atualmente selecionado"
+msgid "fullshield Restore shield in the currently selected object"
+msgstr "fullshield Restaura o escudo do objeto atualmente selecionado"
#. type: Bullet: 'o'
#: ../E/cheats.txt:19
@@ -1067,22 +865,14 @@ msgstr "fullrange Reator de vôo está frio"
#. type: Bullet: 'o'
#: ../E/cheats.txt:20
#, no-wrap
-msgid ""
-"fullpower fullenergy + fullshield +"
-" fullrange"
-msgstr ""
-"fullpower fullenergy + fullshield +"
-" fullrange"
+msgid "fullpower fullenergy + fullshield + fullrange"
+msgstr "fullpower fullenergy + fullshield + fullrange"
#. type: Bullet: 'o'
#: ../E/cheats.txt:22
#, no-wrap
-msgid ""
-"fly You can fly even if flying is disabled in the"
-" current mission"
-msgstr ""
-"fly Você pode voar mesmo se voar está desabilitado na"
-" missão"
+msgid "fly You can fly even if flying is disabled in the current mission"
+msgstr "fly Você pode voar mesmo se voar está desabilitado na missão"
#. type: Bullet: 'o'
#: ../E/cheats.txt:24
@@ -1105,74 +895,44 @@ msgstr "nolimit Você pode voar alto"
#. type: Bullet: 'o'
#: ../E/cheats.txt:27
#, no-wrap
-msgid ""
-"trainerpilot You can drive robots which could be previously"
-" controlled only by programs"
-msgstr ""
-"trainerpilot Você pode pilotar robôs que antes só poderiam ser"
-" controlados por programas."
+msgid "trainerpilot You can drive robots which could be previously controlled only by programs"
+msgstr "trainerpilot Você pode pilotar robôs que antes só poderiam ser controlados por programas."
#. type: Bullet: 'o'
#: ../E/cheats.txt:38
#, no-wrap
-msgid ""
-"photo1 Free camera, you can change angle with + and - keys, type again to set it"
-" off"
-msgstr ""
-"photo1 Câmera livre, você pode mudar o ângulo com as"
-" teclas + e -, digite de"
-" novo para desligar."
+msgid "photo1 Free camera, you can change angle with + and - keys, type again to set it off"
+msgstr "photo1 Câmera livre, você pode mudar o ângulo com as teclas + e -, digite de novo para desligar."
#. type: Bullet: 'o'
#: ../E/cheats.txt:39
#, no-wrap
-msgid ""
-"photo2 Same as photo1, except it hides"
-" interface, type again to set it off"
-msgstr ""
-"photo2 O mesmo que photo1, porém oculta a"
-" interface, digite de novo para desligar."
+msgid "photo2 Same as photo1, except it hides interface, type again to set it off"
+msgstr "photo2 O mesmo que photo1, porém oculta a interface, digite de novo para desligar."
#. type: Bullet: 'o'
#: ../E/cheats.txt:47
#, no-wrap
-msgid ""
-"delete Damages the object, 1: object's ID, <"
-"code>2: magnifyDamage multiplier, without 2 the object"
-" explodes"
-msgstr ""
-"delete Causa dano ao objeto, 1: ID do objeto,"
-" 2: multiplicador de dano, sem 2 o objeto explode"
+msgid "delete Damages the object, 1: object's ID, 2: magnifyDamage multiplier, without 2 the object explodes"
+msgstr "delete Causa dano ao objeto, 1: ID do objeto, 2: multiplicador de dano, sem 2 o objeto explode"
#. type: Bullet: 'o'
#: ../E/cheats.txt:48
#, no-wrap
-msgid ""
-"setbuild Sets buildings bitmask, 1: new bitmask"
-msgstr ""
-"setbuild Define a bitmask de edifícios, 1: nova"
-" bitmask"
+msgid "setbuild Sets buildings bitmask, 1: new bitmask"
+msgstr "setbuild Define a bitmask de edifícios, 1: nova bitmask"
#. type: Bullet: 'o'
#: ../E/cheats.txt:49
#, no-wrap
-msgid ""
-"setresearchenable Sets researches bitmask, 1: new"
-" bitmask"
-msgstr ""
-"setresearchenable Define a bitmask de pesquisas, 1:"
-" nova bitmask"
+msgid "setresearchenable Sets researches bitmask, 1: new bitmask"
+msgstr "setresearchenable Define a bitmask de pesquisas, 1: nova bitmask"
#. type: Bullet: 'o'
#: ../E/cheats.txt:50
#, no-wrap
-msgid ""
-"setresearchdone Sets done researches bitmask, 1:"
-" new bitmask"
-msgstr ""
-"setresearchdone Define a bitmask de pesquisas finalizadas, 1: nova bitmask"
+msgid "setresearchdone Sets done researches bitmask, 1: new bitmask"
+msgstr "setresearchdone Define a bitmask de pesquisas finalizadas, 1: nova bitmask"
#. type: Bullet: 'o'
#: ../E/cheats.txt:51
@@ -1190,18 +950,13 @@ msgstr "getresearchenable Retorna a bitmask de pesquisas"
#: ../E/cheats.txt:53
#, no-wrap
msgid "getresearchdone Returns done researches bitmask"
-msgstr ""
-"getresearchdone Retorna a bitmask de pesquisas finalizadas"
+msgstr "getresearchdone Retorna a bitmask de pesquisas finalizadas"
#. type: Bullet: 'o'
#: ../E/cheats.txt:54
#, no-wrap
-msgid ""
-"playmusic Plays music, 1: file name, 2<"
-"/code>: repeat"
-msgstr ""
-"playmusic Toca uma música, 1: nome do arquivo, <"
-"code>2: repetir"
+msgid "playmusic Plays music, 1: file name, 2: repeat"
+msgstr "playmusic Toca uma música, 1: nome do arquivo, 2: repetir"
#. type: Bullet: 'o'
#: ../E/cheats.txt:55
@@ -1212,132 +967,78 @@ msgstr "stopmusic Para a música"
#. type: Bullet: 'o'
#: ../E/cheats.txt:10
#, no-wrap
-msgid ""
-"allmission All missions are unlocked, works also in main menu"
-msgstr ""
-"allmission Todas as missões são destravadas, também funciona"
-" no menu principal"
+msgid "allmission All missions are unlocked, works also in main menu"
+msgstr "allmission Todas as missões são destravadas, também funciona no menu principal"
#. type: Bullet: 'o'
#: ../E/cheats.txt:11
#, no-wrap
-msgid ""
-"showsoluce All solutions are unlocked, works also in main menu"
-msgstr ""
-"showsoluce Todas as soluções são destravadas, também funciona"
-" no menu principal"
+msgid "showsoluce All solutions are unlocked, works also in main menu"
+msgstr "showsoluce Todas as soluções são destravadas, também funciona no menu principal"
#. type: Bullet: 'o'
#: ../E/cheats.txt:21
#, no-wrap
-msgid ""
-"selectinsect You can select and control aliens, works also in"
-" main menu, type again to disable"
-msgstr ""
-"selectinsect Você pode selecionar e controlar alienígenas,"
-" também funciona no menu principal, digite novamente para desativar."
+msgid "selectinsect You can select and control aliens, works also in main menu, type again to disable"
+msgstr "selectinsect Você pode selecionar e controlar alienígenas, também funciona no menu principal, digite novamente para desativar."
#. type: Bullet: 'o'
#: ../E/cheats.txt:23
#, no-wrap
-msgid ""
-"invradar Mini-map works like you would have built a radar, works also in main menu, type again to disable"
-msgstr ""
-"invradar O mini-mapa funcionará como se você tivesse um radar embutido, também funciona no menu principal, digite"
-" novamente para desativar."
+msgid "invradar Mini-map works like you would have built a radar, works also in main menu, type again to disable"
+msgstr "invradar O mini-mapa funcionará como se você tivesse um radar embutido, também funciona no menu principal, digite novamente para desativar."
#. type: Bullet: 'o'
#: ../E/cheats.txt:28
#, no-wrap
-msgid ""
-"noclip The currently selected object can pass through"
-" objects"
-msgstr ""
-"noclip O objeto selecionado atualmente pode atravessar"
-" outros objetos."
+msgid "noclip The currently selected object can pass through objects"
+msgstr "noclip O objeto selecionado atualmente pode atravessar outros objetos."
#. type: Bullet: 'o'
#: ../E/cheats.txt:29
#, no-wrap
-msgid ""
-"clip Disable noclip on the currently"
-" selected object"
-msgstr ""
-"clip Desabilita noclip no objeto"
-" selecionado atualmente"
+msgid "clip Disable noclip on the currently selected object"
+msgstr "clip Desabilita noclip no objeto selecionado atualmente"
#. type: Bullet: 'o'
#: ../E/cheats.txt:30
#, no-wrap
-msgid ""
-"speed Set the speed of the game to the given number, for"
-" example speed 2 - two times faster, speed 0.5 -"
-" two times slower, works also in main menu"
-msgstr ""
-"speed Define a velocidade do jogo para o número"
-" informado, por exemplo: velocidade 2 - 2 vezes mais rápido, <"
-"code>velocidade 0.5 - duas vezes mais devagar, também funciona no menu"
-" principal."
+msgid "speed Set the speed of the game to the given number, for example speed 2 - two times faster, speed 0.5 - two times slower, works also in main menu"
+msgstr "speed Define a velocidade do jogo para o número informado, por exemplo: velocidade 2 - 2 vezes mais rápido, velocidade 0.5 - duas vezes mais devagar, também funciona no menu principal."
#. type: Plain text
#: ../E/cheats.txt:33
#, no-wrap
msgid "These commands work also in main menu. Type them again to set them off."
-msgstr ""
-"Estes comandos também funcionam no menu principal. Digite eles de novo para"
-" desativa-los."
+msgstr "Estes comandos também funcionam no menu principal. Digite eles de novo para desativa-los."
#. type: Bullet: 'o'
#: ../E/cheats.txt:34
#, no-wrap
-msgid ""
-"showstat Show debug statistics on the screen, F12 keyboard key has the same effect"
-msgstr ""
-"showstat Mostra estatísticas de depuração na tela, a tecla <"
-"format key>F12 do teclado possui o mesmo efeito"
+msgid "showstat Show debug statistics on the screen, F12 keyboard key has the same effect"
+msgstr "showstat Mostra estatísticas de depuração na tela, a tecla F12 do teclado possui o mesmo efeito"
#. type: Bullet: 'o'
#: ../E/cheats.txt:35
#, no-wrap
-msgid ""
-"debugmode Enable debug mode (useful for the game developers):"
-" the verbose debugging of events and other things; make sure you run the game"
-" with -loglevel trace to see the effect; see also -debug<"
-"/code> commandline parameter"
-msgstr ""
-"debugmode Habilita modo de depuração (útil para"
-" desenvolvedores de jogos): a depuração detalhada de eventos e outras coisas;"
-" tenha certeza de ter executado o jogo com -loglevel trace para"
-" ver o efeito; veja também o parâmetro de linha de comando -debug "
+msgid "debugmode Enable debug mode (useful for the game developers): the verbose debugging of events and other things; make sure you run the game with -loglevel trace to see the effect; see also -debug commandline parameter"
+msgstr "debugmode Habilita modo de depuração (útil para desenvolvedores de jogos): a depuração detalhada de eventos e outras coisas; tenha certeza de ter executado o jogo com -loglevel trace para ver o efeito; veja também o parâmetro de linha de comando -debug "
#. type: Plain text
#: ../E/cheats.txt:42
#, no-wrap
msgid ""
-"There are hidden commands in CBOT that are not even highlighted in the"
-" editor. They are considered cheating, so do not use them for \"legal\""
-" programs. It should be fine to use them for level creation though if there"
-" is no other way.\n"
+"There are hidden commands in CBOT that are not even highlighted in the editor. They are considered cheating, so do not use them for \"legal\" programs. It should be fine to use them for level creation though if there is no other way.\n"
"Numbers mean order of parameters."
msgstr ""
-"Aqui estão comandos ocultos em CBOT que não são realçados no editor. Eles são"
-" considerados trapaça, então não os use para programais \"válidos\". Deve ser"
-" bom usá-los para a criação de níveis, se não houver outra maneira.\n"
+"Aqui estão comandos ocultos em CBOT que não são realçados no editor. Eles são considerados trapaça, então não os use para programais \"válidos\". Deve ser bom usá-los para a criação de níveis, se não houver outra maneira.\n"
"Números significam ordem dos parâmetros."
#. type: Bullet: 'o'
#: ../E/cheats.txt:46
#, no-wrap
-msgid ""
-"ipf Sets the number of instructions per frame, 1<"
-"/code>: the number, default is 100"
-msgstr ""
-"ipf Define o número de instruções por quadro, 1<"
-"/code>: o número, o padrão é 100"
+msgid "ipf Sets the number of instructions per frame, 1: the number, default is 100"
+msgstr "ipf Define o número de instruções por quadro, 1: o número, o padrão é 100"
#. type: \b; header
#: ../E/battles.txt:17
@@ -1367,9 +1068,7 @@ msgstr "Controlando a visão do espectador"
#: ../E/battles.txt:12
#, no-wrap
msgid "After a code battle is started, the camera is put into a special mode:"
-msgstr ""
-"Depois que uma batalha de código é iniciada, a câmera é colocada em um modo"
-" especial:"
+msgstr "Depois que uma batalha de código é iniciada, a câmera é colocada em um modo especial:"
#. type: Plain text
#: ../E/battles.txt:7
@@ -1386,38 +1085,20 @@ msgstr ""
#. type: Bullet: 'o'
#: ../E/battles.txt:13
#, no-wrap
-msgid ""
-"One can select objects as a player normally would, but one will not see their"
-" interface and the camera does not rotate when the object rotates. One can"
-" also use numerical keyboard instead of mouse in order to rotate the"
-" object-centered camera."
-msgstr ""
-"Pode-se selecionar objetos como um jogador normalmente faria, porém não se"
-" pode ver sua interface e a câmera não rotaciona quando o objeto gira."
-" Pode-se usar o teclado numérico em vez do mouse para rotacionar a câmera"
-" centrada no objeto."
+msgid "One can select objects as a player normally would, but one will not see their interface and the camera does not rotate when the object rotates. One can also use numerical keyboard instead of mouse in order to rotate the object-centered camera."
+msgstr "Pode-se selecionar objetos como um jogador normalmente faria, porém não se pode ver sua interface e a câmera não rotaciona quando o objeto gira. Pode-se usar o teclado numérico em vez do mouse para rotacionar a câmera centrada no objeto."
#. type: Bullet: 'o'
#: ../E/battles.txt:15
#, no-wrap
-msgid ""
-"One can return to the normal view by pressing the button above"
-" the mini-map."
-msgstr ""
-"Pode-se retornar a visualização normal pressionando o botão "
-" sobre o mini-mapa."
+msgid "One can return to the normal view by pressing the button above the mini-map."
+msgstr "Pode-se retornar a visualização normal pressionando o botão sobre o mini-mapa."
#. type: Bullet: 'o'
#: ../E/battles.txt:14
#, no-wrap
-msgid ""
-"One can also switch to the free camera view by clicking somewhere on the map."
-" One can move around in this view by using the numerical keyboard and PageUp/PageDown keys."
-msgstr ""
-"Pode-se também trocar para a câmera livre clicando em algum lugar no mapa."
-" Pode-se mover neste visão usando o teclado numérico e as teclas PageUp/PageDown."
+msgid "One can also switch to the free camera view by clicking somewhere on the map. One can move around in this view by using the numerical keyboard and PageUp/PageDown keys."
+msgstr "Pode-se também trocar para a câmera livre clicando em algum lugar no mapa. Pode-se mover neste visão usando o teclado numérico e as teclas PageUp/PageDown."
#. type: Plain text
#: ../E/cbot.txt:30
@@ -1425,10 +1106,8 @@ msgstr ""
msgid ""
"detectSimple object detection\n"
"radarAdvanced object detection\n"
-"radarallAdvanced multiple objects"
-" detection\n"
-"searchObject detection from a specific"
-" point\n"
+"radarallAdvanced multiple objects detection\n"
+"searchObject detection from a specific point\n"
"directionCalculates a rotation angle\n"
"distanceCalculates a distance\n"
"distance2dCalculates a distance\n"
@@ -1446,17 +1125,13 @@ msgid ""
"penupStops drawing\n"
"pencolorChanges the pen color\n"
"penwidthChanges the pen width\n"
-"canresearchChecks if a technology can"
-" be researched\n"
-"researchedChecks if a technology is"
-" researched"
+"canresearchChecks if a technology can be researched\n"
+"researchedChecks if a technology is researched"
msgstr ""
"detectDetecção simples de objetos\n"
"radarDetecção avançada de objetos\n"
-"radarallDetecção avançada múltipla de"
-" objetos\n"
-"searchDetecção de objetos a partir de um"
-" ponto\n"
+"radarallDetecção avançada múltipla de objetos\n"
+"searchDetecção de objetos a partir de um ponto\n"
"directionCalcula um ângulo de rotação\n"
"distanceCalcula uma distância\n"
"distance2dCalcula uma distância\n"
@@ -1474,10 +1149,8 @@ msgstr ""
"penupPara de desenhar\n"
"pencolorMuda a cor da caneta\n"
"penwidthMuda a largura da caneta\n"
-"canresearchCheca se uma tecnologia pode"
-" ser pesquisada\n"
-"researchedVerifica se uma tecnologia foi"
-" pesquisada"
+"canresearchCheca se uma tecnologia pode ser pesquisada\n"
+"researchedVerifica se uma tecnologia foi pesquisada"
#. type: Plain text
#: ../E/cbot.txt:86
@@ -1486,28 +1159,33 @@ msgid ""
"classClass declararion\n"
"publicDeclares a public class member\n"
"privateDeclares a private class member\n"
-"protectedDeclares a protected class"
-" member\n"
+"protectedDeclares a protected class member\n"
"staticDeclares a static class member\n"
-"synchronizedPrevents simultaneous"
-" execution\n"
+"synchronizedPrevents simultaneous execution\n"
"newCreates a new instance\n"
"thisReference to the current instance\n"
"extendsExtends a class\n"
"superGrants access to the parent class"
msgstr ""
"classDeclaração de classes\n"
-"publicDeclara um membro de classe"
-" público\n"
-"privateDeclara um membro de classe"
-" privado\n"
-"protectedDeclara um membro de classe"
-" protegido\n"
-"staticDeclara um membro de classe"
-" estático\n"
+"publicDeclara um membro de classe público\n"
+"privateDeclara um membro de classe privado\n"
+"protectedDeclara um membro de classe protegido\n"
+"staticDeclara um membro de classe estático\n"
"synchronizedPrevine execução simultânea\n"
"newCria uma nova instância\n"
"thisReferência para a instância atual\n"
"extendsExtende uma classe\n"
"superGarante acesso a classe pai"
+#. type: Plain text
+#: ../E/command.txt:40
+#, no-wrap
+msgid ""
+" = slow down speed by half\n"
+" = normal speed x1\n"
+" = increase speed twice\n"
+" = quick save\n"
+" = quick load\n"
+" = exits mission "
+msgstr ""
diff --git a/help/object/po/br.po b/help/object/po/pt.po
similarity index 100%
rename from help/object/po/br.po
rename to help/object/po/pt.po
diff --git a/help/programs/po/br.po b/help/programs/po/pt.po
similarity index 100%
rename from help/programs/po/br.po
rename to help/programs/po/pt.po
diff --git a/levels/battles/chapter001/level001/po/br.po b/levels/battles/chapter001/level001/po/br.po
deleted file mode 100644
index 94ab5489..00000000
--- a/levels/battles/chapter001/level001/po/br.po
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-15 10:06-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Code battle - vs aliens"
-msgstr "Code battle - vs alienígenas"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid ""
-"A map for begginers! Research all needed technologies and build your"
-" infrastructure to kill all the aliens on the opposite side of the river -"
-" using programming only!"
-msgstr ""
-"Um mapa para iniciantes! Pesquise todas as tecnologias necessárias e construa"
-" sua infraestrutura para matar todos os alienígenas do lado oposto do rio -"
-" usando apenas programação!"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Code Battle (vs Aliens)"
-msgstr "Batalha de Código (vs Alienígenas)"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"This is a training code battle level, which purpose is to familiarize you"
-" with this game mode."
-msgstr ""
-"Este é um nível de batalha de código de treinamento, cujo objetivo é"
-" familiarizá-lo com este modo de jogo."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Brief introduction"
-msgstr "Breve introdução"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"Code battle is a completely new game mode featured in Colobot: Gold Edition."
-" There are two or more teams and the one that survives the longest is the"
-" winner. As the name suggest, you can only use programming in this game mode."
-msgstr ""
-"Batalha de código é um modo de jogo completamente novo apresentado no"
-" Colobot: Edição de Ouro. Existem duas ou mais equipes e a que sobrevive por"
-" mais tempo é a vencedora. Como o nome sugere, você só pode usar a"
-" programação neste modo de jogo."
-
-#. type: Plain text
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"It is recommended to read the notes section below."
-msgstr ""
-"Recomenda-se a leitura da seção de notas "
-" abaixo."
-
-#. type: \b; header
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid "Your objective"
-msgstr "Seu objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:10
-#, no-wrap
-msgid "Kill all the aliens located on the other side of the river."
-msgstr "Mate todos os alienígenas localizados no outro lado do rio."
-
-#. type: \b; header
-#: ../help/help.E.txt:12
-#, no-wrap
-msgid "Notes\\m notes;"
-msgstr "Notas\\m notas;"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid ""
-"The aliens will not attack you, unless you come too close"
-" to them."
-msgstr ""
-"Os alienígenas não atacarão você, a menos que você chegue"
-" muito perto deles."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:16
-#, no-wrap
-msgid "The CBOT documentation might come in handy."
-msgstr " A documentação do CBOT pode ser útil."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:14
-#, no-wrap
-msgid ""
-"There is an underground power source only under the"
-" beginning base areas."
-msgstr ""
-"Existe uma fonte de energia subterrânea apenas nas"
-" áreas de base iniciais."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:17
-#, no-wrap
-msgid ""
-"If you have not played Colobot before, it is recommended to read about the basics of production line."
-msgstr ""
-"Se você ainda não jogou Colobot, é recomendado ler sobre os fundamentos da linha de produção."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid ""
-"The pre-built Derrick and RadarStation are indestructible."
-msgstr ""
-"O pré-construído Extrator e Estação"
-" de radar são indestrutíveis."
-
diff --git a/levels/battles/chapter001/level001/po/pt.po b/levels/battles/chapter001/level001/po/pt.po
new file mode 100644
index 00000000..9aa60e09
--- /dev/null
+++ b/levels/battles/chapter001/level001/po/pt.po
@@ -0,0 +1,107 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-15 10:06-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Code battle - vs aliens"
+msgstr "Code battle - vs alienígenas"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!"
+msgstr "Um mapa para iniciantes! Pesquise todas as tecnologias necessárias e construa sua infraestrutura para matar todos os alienígenas do lado oposto do rio - usando apenas programação!"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Code Battle (vs Aliens)"
+msgstr "Batalha de Código (vs Alienígenas)"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "This is a training code battle level, which purpose is to familiarize you with this game mode."
+msgstr "Este é um nível de batalha de código de treinamento, cujo objetivo é familiarizá-lo com este modo de jogo."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Brief introduction"
+msgstr "Breve introdução"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "Code battle is a completely new game mode featured in Colobot: Gold Edition. There are two or more teams and the one that survives the longest is the winner. As the name suggest, you can only use programming in this game mode."
+msgstr "Batalha de código é um modo de jogo completamente novo apresentado no Colobot: Edição de Ouro. Existem duas ou mais equipes e a que sobrevive por mais tempo é a vencedora. Como o nome sugere, você só pode usar a programação neste modo de jogo."
+
+#. type: Plain text
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "It is recommended to read the notes section below."
+msgstr "Recomenda-se a leitura da seção de notas abaixo."
+
+#. type: \b; header
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "Your objective"
+msgstr "Seu objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:10
+#, no-wrap
+msgid "Kill all the aliens located on the other side of the river."
+msgstr "Mate todos os alienígenas localizados no outro lado do rio."
+
+#. type: \b; header
+#: ../help/help.E.txt:12
+#, no-wrap
+msgid "Notes\\m notes;"
+msgstr "Notas\\m notas;"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "The aliens will not attack you, unless you come too close to them."
+msgstr "Os alienígenas não atacarão você, a menos que você chegue muito perto deles."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:16
+#, no-wrap
+msgid "The CBOT documentation might come in handy."
+msgstr " A documentação do CBOT pode ser útil."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:14
+#, no-wrap
+msgid "There is an underground power source only under the beginning base areas."
+msgstr "Existe uma fonte de energia subterrânea apenas nas áreas de base iniciais."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:17
+#, no-wrap
+msgid "If you have not played Colobot before, it is recommended to read about the basics of production line."
+msgstr "Se você ainda não jogou Colobot, é recomendado ler sobre os fundamentos da linha de produção."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "The pre-built Derrick and RadarStation are indestructible."
+msgstr "O pré-construído Extrator e Estação de radar são indestrutíveis."
diff --git a/levels/battles/chapter001/level002/po/br.po b/levels/battles/chapter001/level002/po/pt.po
similarity index 57%
rename from levels/battles/chapter001/level002/po/br.po
rename to levels/battles/chapter001/level002/po/pt.po
index 364f7034..79668129 100644
--- a/levels/battles/chapter001/level002/po/br.po
+++ b/levels/battles/chapter001/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:08-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,14 +25,8 @@ msgstr "Batalha de código - vs computador"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Challenge your... computer? Actually, challenge the developers! But, for"
-" real, this is just a simple enemy program that you can use if you don't have"
-" any real opponent"
-msgstr ""
-"Desafie seu ... computador? Na verdade, desafie os desenvolvedores! Mas, de"
-" verdade, este é apenas um simples programa inimigo que você pode usar se não"
-" tiver um adversário real"
+msgid "Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent"
+msgstr "Desafie seu ... computador? Na verdade, desafie os desenvolvedores! Mas, de verdade, este é apenas um simples programa inimigo que você pode usar se não tiver um adversário real"
#. type: \b; header
#: ../help/help.E.txt:1
@@ -43,12 +37,8 @@ msgstr "Batalha de Código (vs Computador)"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This is a code battle level, where you fight against a simple"
-" program written by the developers of the game."
-msgstr ""
-"Este é um nível de batalhas de código onde você luta contra"
-" um programa simples escrito pelos desenvolvedores do jogo."
+msgid "This is a code battle level, where you fight against a simple program written by the developers of the game."
+msgstr "Este é um nível de batalhas de código onde você luta contra um programa simples escrito pelos desenvolvedores do jogo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -71,20 +61,11 @@ msgstr "Notas\\m notas;"
#. type: Bullet: 'o'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"There is an underground power source only under the"
-" beginning base areas."
-msgstr ""
-"Existe uma fonte de energia subterrânea apenas nas"
-" áreas de base iniciais."
+msgid "There is an underground power source only under the beginning base areas."
+msgstr "Existe uma fonte de energia subterrânea apenas nas áreas de base iniciais."
#. type: Bullet: 'o'
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"The pre-built Derricks and RadarStations are indestructible."
-msgstr ""
-"O pré-construído Extrator e Estação"
-" de radar são indestrutíveis."
-
+msgid "The pre-built Derricks and RadarStations are indestructible."
+msgstr "O pré-construído Extrator e Estação de radar são indestrutíveis."
diff --git a/levels/battles/chapter001/level003/po/br.po b/levels/battles/chapter001/level003/po/pt.po
similarity index 61%
rename from levels/battles/chapter001/level003/po/br.po
rename to levels/battles/chapter001/level003/po/pt.po
index f81cd733..89aaf2ea 100644
--- a/levels/battles/chapter001/level003/po/br.po
+++ b/levels/battles/chapter001/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:11-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -37,12 +37,8 @@ msgstr "Batalha de Código (vs Jogador)"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This is a code battle level, where you fight against an other"
-" program, presumably written by some other player."
-msgstr ""
-"Este é um nível de batalhas de código onde você luta contra"
-" outro programa, presumivelmente escrito por algum outro jogador."
+msgid "This is a code battle level, where you fight against an other program, presumably written by some other player."
+msgstr "Este é um nível de batalhas de código onde você luta contra outro programa, presumivelmente escrito por algum outro jogador."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -65,30 +61,17 @@ msgstr "Notas\\m notas;"
#. type: Bullet: 'o'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"There is an underground power source only under the"
-" beginning base areas."
-msgstr ""
-"Existe uma fonte de energia subterrânea apenas nas"
-" áreas de base iniciais."
+msgid "There is an underground power source only under the beginning base areas."
+msgstr "Existe uma fonte de energia subterrânea apenas nas áreas de base iniciais."
#. type: Bullet: 'o'
#: ../help/help.E.txt:10
#, no-wrap
-msgid ""
-"You can try to find a program to fight against in the International Colobot"
-" Community (http://colobot.info)."
-msgstr ""
-"Você pode tentar encontrar um programa para lutar na comunidade internacional"
-" de Colobot ( http://colobot.info code>)."
+msgid "You can try to find a program to fight against in the International Colobot Community (http://colobot.info)."
+msgstr "Você pode tentar encontrar um programa para lutar na comunidade internacional de Colobot ( http://colobot.info code>)."
#. type: Bullet: 'o'
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"The pre-built Derricks and RadarStations are indestructible."
-msgstr ""
-"O pré-construído Extrator e Estação"
-" de radar são indestrutíveis."
-
+msgid "The pre-built Derricks and RadarStations are indestructible."
+msgstr "O pré-construído Extrator e Estação de radar são indestrutíveis."
diff --git a/levels/battles/chapter002/level001/po/br.po b/levels/battles/chapter002/level001/po/pt.po
similarity index 82%
rename from levels/battles/chapter002/level001/po/br.po
rename to levels/battles/chapter002/level001/po/pt.po
index e448b21c..c8adf6e6 100644
--- a/levels/battles/chapter002/level001/po/br.po
+++ b/levels/battles/chapter002/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:12-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -49,10 +49,5 @@ msgstr "Destrua o alvo localizado no lado oposto do rio."
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This is a code battle level, where you need to shoot a"
-" harmless target, in order to learn how to aim properly."
-msgstr ""
-"Este é um nível de batalhas de código onde você precisa atirar"
-" em um alvo inofensivo, a fim de aprender como mirar corretamente."
-
+msgid "This is a code battle level, where you need to shoot a harmless target, in order to learn how to aim properly."
+msgstr "Este é um nível de batalhas de código onde você precisa atirar em um alvo inofensivo, a fim de aprender como mirar corretamente."
diff --git a/levels/battles/chapter002/level002/po/br.po b/levels/battles/chapter002/level002/po/pt.po
similarity index 69%
rename from levels/battles/chapter002/level002/po/br.po
rename to levels/battles/chapter002/level002/po/pt.po
index c840761a..9c42b495 100644
--- a/levels/battles/chapter002/level002/po/br.po
+++ b/levels/battles/chapter002/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:13-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,21 +43,11 @@ msgstr "Objetivo"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"Destroy the other Shooter located on the opposite side of"
-" the river."
-msgstr ""
-"Destrua o outro Atirador localizado no lado oposto do rio."
+msgid "Destroy the other Shooter located on the opposite side of the river."
+msgstr "Destrua o outro Atirador localizado no lado oposto do rio."
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This is a code battle level, where you fight against a simple"
-" program for Shooter, written by the developers of the game, in order to"
-" improve your aim."
-msgstr ""
-"Este é um nível de batalha de código onde você luta contra um"
-" programa simples para Atiradores, escrito pelos desenvolvedores do jogo,"
-" para melhorar sua pontaria."
-
+msgid "This is a code battle level, where you fight against a simple program for Shooter, written by the developers of the game, in order to improve your aim."
+msgstr "Este é um nível de batalha de código onde você luta contra um programa simples para Atiradores, escrito pelos desenvolvedores do jogo, para melhorar sua pontaria."
diff --git a/levels/battles/chapter002/level003/po/br.po b/levels/battles/chapter002/level003/po/pt.po
similarity index 63%
rename from levels/battles/chapter002/level003/po/br.po
rename to levels/battles/chapter002/level003/po/pt.po
index 0f55c41d..4f78c749 100644
--- a/levels/battles/chapter002/level003/po/br.po
+++ b/levels/battles/chapter002/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:14-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,11 +43,8 @@ msgstr "Objetivo"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"Destroy the other Shooter located on the opposite side of"
-" the river."
-msgstr ""
-"Destrua o outro Atirador localizado no lado oposto do rio."
+msgid "Destroy the other Shooter located on the opposite side of the river."
+msgstr "Destrua o outro Atirador localizado no lado oposto do rio."
#. type: \b; header
#: ../help/help.E.txt:7
@@ -58,22 +55,11 @@ msgstr "Notas\\m notas;"
#. type: Bullet: 'o'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"You can try to find a program to fight against in the International Colobot"
-" Community (http://colobot.info)."
-msgstr ""
-"Você pode tentar encontrar um programa para lutar na comunidade internacional"
-" de Colobot ( http://colobot.info code>)."
+msgid "You can try to find a program to fight against in the International Colobot Community (http://colobot.info)."
+msgstr "Você pode tentar encontrar um programa para lutar na comunidade internacional de Colobot ( http://colobot.info code>)."
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This is a code battle level, where you fight against an other"
-" program, presumably written by some other player, in order to improve your"
-" aim."
-msgstr ""
-"Este é um nível de batalha de código onde você luta contra um"
-" outro programa, presumivelmente escrito por algum outro jogador, a fim de"
-" melhorar sua pontaria."
-
+msgid "This is a code battle level, where you fight against an other program, presumably written by some other player, in order to improve your aim."
+msgstr "Este é um nível de batalha de código onde você luta contra um outro programa, presumivelmente escrito por algum outro jogador, a fim de melhorar sua pontaria."
diff --git a/levels/battles/po/br.po b/levels/battles/po/pt.po
similarity index 99%
rename from levels/battles/po/br.po
rename to levels/battles/po/pt.po
index 5dae952d..065c92a7 100644
--- a/levels/battles/po/br.po
+++ b/levels/battles/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:14-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text, Title-resume
#: ../chapter001/chaptertitle.txt:1
@@ -27,4 +27,3 @@ msgstr "Batalha de código"
#, no-wrap
msgid "Shooting battle"
msgstr "Batalha de tiro"
-
diff --git a/levels/challenges/chapter001/level001/po/br.po b/levels/challenges/chapter001/level001/po/pt.po
similarity index 86%
rename from levels/challenges/chapter001/level001/po/br.po
rename to levels/challenges/chapter001/level001/po/pt.po
index a2bcf7f2..5705c0e9 100644
--- a/levels/challenges/chapter001/level001/po/br.po
+++ b/levels/challenges/chapter001/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:18-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -44,12 +44,10 @@ msgstr "Exercício"
#: ../help/help.E.txt:2
#, no-wrap
msgid ""
-"Program the robot in such a way that it arrives on the finishing pad, after"
-" having passed by the three blue crosses.\n"
+"Program the robot in such a way that it arrives on the finishing pad, after having passed by the three blue crosses.\n"
"The platforms and the crosses are all distant of 20m from each other."
msgstr ""
-"Programe o robô de tal forma que ele chegue ao finalizador, depois de passar"
-" pelas três cruzes azuis. \n"
+"Programe o robô de tal forma que ele chegue ao finalizador, depois de passar pelas três cruzes azuis. \n"
"As plataformas e as cruzes estão todas distantes de 20m umas das outras."
#. type: \b; header
@@ -77,10 +75,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:10
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter001/level002/po/br.po b/levels/challenges/chapter001/level002/po/pt.po
similarity index 79%
rename from levels/challenges/chapter001/level002/po/br.po
rename to levels/challenges/chapter001/level002/po/pt.po
index cf640517..409398f2 100644
--- a/levels/challenges/chapter001/level002/po/br.po
+++ b/levels/challenges/chapter001/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:20-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,12 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Destroy all four targets with a program using a for loop. You must move 10m to get from one target to another."
-msgstr ""
-"Destrua todos os quatro alvos com um programa usando um"
-" laço for. Você deve mover 10 m para ir de um alvo para outro."
+msgid "Destroy all four targets with a program using a for loop. You must move 10m to get from one target to another."
+msgstr "Destrua todos os quatro alvos com um programa usando um laço for. Você deve mover 10 m para ir de um alvo para outro."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -79,10 +75,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter001/level003/po/br.po b/levels/challenges/chapter001/level003/po/pt.po
similarity index 74%
rename from levels/challenges/chapter001/level003/po/br.po
rename to levels/challenges/chapter001/level003/po/pt.po
index 3b5484bc..06f829b3 100644
--- a/levels/challenges/chapter001/level003/po/br.po
+++ b/levels/challenges/chapter001/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:23-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,20 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Several information exchange posts are standing along"
-" the way. When the bot is close enough to a post, it can read the"
-" instructions it contains. The information exchange posts<"
-"/a> along the way contain the direction of the next post and the distance."
-" And you do not know how many exchange posts you must get in touch with"
-" before arriving at your goal."
-msgstr ""
-"Vários postos de troca de informações estão no"
-" caminho. Quando o robô está perto o suficiente de um posto, ele pode ler as"
-" instruções nele contidas. Os postos de troca de"
-" informações ao longo do caminho contêm a direção do próximo posto e a"
-" distância. E você não sabe com quantos postos de troca você deve entrar em"
-" contato antes de chegar ao seu objetivo."
+msgid "Several information exchange posts are standing along the way. When the bot is close enough to a post, it can read the instructions it contains. The information exchange posts along the way contain the direction of the next post and the distance. And you do not know how many exchange posts you must get in touch with before arriving at your goal."
+msgstr "Vários postos de troca de informações estão no caminho. Quando o robô está perto o suficiente de um posto, ele pode ler as instruções nele contidas. Os postos de troca de informações ao longo do caminho contêm a direção do próximo posto e a distância. E você não sabe com quantos postos de troca você deve entrar em contato antes de chegar ao seu objetivo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -129,10 +117,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:19
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter001/level004/po/br.po b/levels/challenges/chapter001/level004/po/pt.po
similarity index 72%
rename from levels/challenges/chapter001/level004/po/br.po
rename to levels/challenges/chapter001/level004/po/pt.po
index 2f4d676b..28e6622b 100644
--- a/levels/challenges/chapter001/level004/po/br.po
+++ b/levels/challenges/chapter001/level004/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:24-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,16 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Program the bot so that it will find its way without hitting the walls of the"
-" labyrinth. We suppose that you do not know the configuration of the"
-" labyrinth, but there are no bifurcations, and no dead-ends. The labyrinth is"
-" made of squares measuring 5m each."
-msgstr ""
-"Programe o robô para que ele encontre o caminho sem bater nas paredes do"
-" labirinto. Supomos que você não conheça a configuração do labirinto, mas não"
-" há bifurcações nem becos sem saída. O labirinto é feito de quadrados medindo"
-" 5m cada."
+msgid "Program the bot so that it will find its way without hitting the walls of the labyrinth. We suppose that you do not know the configuration of the labyrinth, but there are no bifurcations, and no dead-ends. The labyrinth is made of squares measuring 5m each."
+msgstr "Programe o robô para que ele encontre o caminho sem bater nas paredes do labirinto. Supomos que você não conheça a configuração do labirinto, mas não há bifurcações nem becos sem saída. O labirinto é feito de quadrados medindo 5m cada."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -83,10 +75,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter002/level001/po/br.po b/levels/challenges/chapter002/level001/po/pt.po
similarity index 64%
rename from levels/challenges/chapter002/level001/po/br.po
rename to levels/challenges/chapter002/level001/po/pt.po
index c14bf7a7..6c8b706f 100644
--- a/levels/challenges/chapter002/level001/po/br.po
+++ b/levels/challenges/chapter002/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:26-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,11 +25,8 @@ msgstr "Robô louco 2"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Use the radar to put some order into a big mess left behind by a crazy bot."
-msgstr ""
-"Use o radar para colocar alguma ordem em uma grande bagunça deixada por um"
-" robô maluco."
+msgid "Use the radar to put some order into a big mess left behind by a crazy bot."
+msgstr "Use o radar para colocar alguma ordem em uma grande bagunça deixada por um robô maluco."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -46,12 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"In this exercise, a \"crazy bot\" places many blue"
-" crosses on the ground. Just try to find them all."
-msgstr ""
-"Neste exercício, um \"robô maluco\" coloca muitas cruzes"
-" azuis no chão. Apenas tente encontrar todos elas."
+msgid "In this exercise, a \"crazy bot\" places many blue crosses on the ground. Just try to find them all."
+msgstr "Neste exercício, um \"robô maluco\" coloca muitas cruzes azuis no chão. Apenas tente encontrar todos elas."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -63,14 +56,12 @@ msgstr "Instruções úteis"
#: ../help/help.E.txt:5
#, no-wrap
msgid ""
-"radar to detect the blue crosses (category <"
-"code>WayPoint)\n"
+"radar to detect the blue crosses (category WayPoint)\n"
"direction to calculate a direction\n"
"if to test a condition\n"
"motor to set the motor speeds"
msgstr ""
-"radar para detectar as cruzes azuis (categoria"
-" WayPoint)\n"
+"radar para detectar as cruzes azuis (categoria WayPoint)\n"
"direction para calcular a direção\n"
"if para testar uma condição\n"
"motor para definir a velocidade do motor"
@@ -84,13 +75,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"Do not wait too long, because the crazy bot gets down to work immediately."
-" Fortunately, as long as you are in the program editor, the game will pause."
-msgstr ""
-"Não espere muito, porque o robô maluco começa a funcionar imediatamente."
-" Felizmente, contanto que você esteja no editor do programa, o jogo fará uma"
-" pausa."
+msgid "Do not wait too long, because the crazy bot gets down to work immediately. Fortunately, as long as you are in the program editor, the game will pause."
+msgstr "Não espere muito, porque o robô maluco começa a funcionar imediatamente. Felizmente, contanto que você esteja no editor do programa, o jogo fará uma pausa."
#. type: \t; header
#: ../help/help.E.txt:13
@@ -101,10 +87,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:14
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter002/level002/po/br.po b/levels/challenges/chapter002/level002/po/pt.po
similarity index 67%
rename from levels/challenges/chapter002/level002/po/br.po
rename to levels/challenges/chapter002/level002/po/pt.po
index 7b01372d..0def1de9 100644
--- a/levels/challenges/chapter002/level002/po/br.po
+++ b/levels/challenges/chapter002/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:27-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,20 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"You must follow the target bot with the explosive device,"
-" but without touching it, otherwise it will blow up. Every time the target"
-" bot stops, you must be close to it (less than 10m). After you managed to"
-" stay close to the target bot at 10 successive stops, it will lead you to the"
-" finishing pad, and the exercise is over. At every stop, the target bot"
-" checks that you are there. If you are not there, you must start over again."
-msgstr ""
-"Você deve seguir o robô alvo com o dispositivo explosivo,"
-" mas sem tocá-lo, caso contrário ele explodirá. Toda vez que o robô alvo"
-" parar, você deve estar perto dele (menos de 10m). Depois que você conseguir"
-" ficar perto do robô de destino em 10 paradas sucessivas, ele o levará até o"
-" finalizador e o exercício terminará. A cada parada, o robô de destino"
-" verifica se você está lá. Se você não está lá, você deve começar de novo."
+msgid "You must follow the target bot with the explosive device, but without touching it, otherwise it will blow up. Every time the target bot stops, you must be close to it (less than 10m). After you managed to stay close to the target bot at 10 successive stops, it will lead you to the finishing pad, and the exercise is over. At every stop, the target bot checks that you are there. If you are not there, you must start over again."
+msgstr "Você deve seguir o robô alvo com o dispositivo explosivo, mas sem tocá-lo, caso contrário ele explodirá. Toda vez que o robô alvo parar, você deve estar perto dele (menos de 10m). Depois que você conseguir ficar perto do robô de destino em 10 paradas sucessivas, ele o levará até o finalizador e o exercício terminará. A cada parada, o robô de destino verifica se você está lá. Se você não está lá, você deve começar de novo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -91,10 +79,8 @@ msgstr "se a distância ao robô alvo for menor que 5m, mova-se para trás."
#. type: Bullet: 'o'
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"Otherwise, calculate the direction of the target bot, and move towards it."
-msgstr ""
-"Caso contrário, calcule a direção do robô alvo e mova-se em direção a ele."
+msgid "Otherwise, calculate the direction of the target bot, and move towards it."
+msgstr "Caso contrário, calcule a direção do robô alvo e mova-se em direção a ele."
#. type: \b; header
#: ../help/help.E.txt:11
@@ -106,16 +92,14 @@ msgstr "Instruções úteis"
#: ../help/help.E.txt:12
#, no-wrap
msgid ""
-"radar to look for the bot (category TargetBot)\n"
+"radar to look for the bot (category TargetBot)\n"
"radar to detect obstacles\n"
"distance to calculate a distance\n"
"direction to calculate a direction\n"
"if to test a condition\n"
"motor to set the motor speeds"
msgstr ""
-"radar para procurar pelo robô (categoria TargetBot)\n"
+"radar para procurar pelo robô (categoria TargetBot)\n"
"radar para detectar obstáculos\n"
"distance para calcular a distância\n"
"direction para calcular a direção\n"
@@ -131,10 +115,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:20
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter002/level003/po/br.po b/levels/challenges/chapter002/level003/po/pt.po
similarity index 73%
rename from levels/challenges/chapter002/level003/po/br.po
rename to levels/challenges/chapter002/level003/po/pt.po
index d0b78ab8..90eeb311 100644
--- a/levels/challenges/chapter002/level003/po/br.po
+++ b/levels/challenges/chapter002/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:45-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -55,16 +55,8 @@ msgstr "Princípio geral"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"The range of your cannon is about 40m. The category of the enemies is AlienAnt. Turn towards the closest ant, even if it is still more than"
-" 40m away. But shoot only when it is closer than 40m, in order not to waste"
-" your energy."
-msgstr ""
-"O alcance do seu canhão é de cerca de 40m. A categoria dos inimigos é AlienAnt. Vire-se para a formiga mais próxima, mesmo que esteja a"
-" mais de 40 m de distância. Mas atire somente quando estiver a menos de 40m,"
-" para não desperdiçar sua energia."
+msgid "The range of your cannon is about 40m. The category of the enemies is AlienAnt. Turn towards the closest ant, even if it is still more than 40m away. But shoot only when it is closer than 40m, in order not to waste your energy."
+msgstr "O alcance do seu canhão é de cerca de 40m. A categoria dos inimigos é AlienAnt. Vire-se para a formiga mais próxima, mesmo que esteja a mais de 40 m de distância. Mas atire somente quando estiver a menos de 40m, para não desperdiçar sua energia."
#. type: \b; header
#: ../help/help.E.txt:7
@@ -76,15 +68,13 @@ msgstr "Instruções úteis"
#: ../help/help.E.txt:8
#, no-wrap
msgid ""
-"radar to detect your enemies (category <"
-"a object|ant>AlienAnt)\n"
+"radar to detect your enemies (category AlienAnt)\n"
"direction to calculate a direction\n"
"distance to calculate a distance\n"
"fire to fire your cannon\n"
"wait to wait"
msgstr ""
-"radar para detectar seus inimigos (categoria <"
-"code>AlienAnt)\n"
+"radar para detectar seus inimigos (categoria AlienAnt)\n"
"direction para calcular a direção\n"
"distance para calcular a distância\n"
"fire para atirar seu canhão\n"
@@ -99,10 +89,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:15
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter002/level004/po/br.po b/levels/challenges/chapter002/level004/po/pt.po
similarity index 77%
rename from levels/challenges/chapter002/level004/po/br.po
rename to levels/challenges/chapter002/level004/po/pt.po
index 535ea3b9..d89f183a 100644
--- a/levels/challenges/chapter002/level004/po/br.po
+++ b/levels/challenges/chapter002/level004/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:49-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -26,8 +26,7 @@ msgstr "Radar e armadilhas 1"
#: ../scene.txt:2
#, no-wrap
msgid "Use your radar to look for various items, but watch out for the mines."
-msgstr ""
-"Use seu radar para procurar por vários itens, mas cuidado com as minas."
+msgstr "Use seu radar para procurar por vários itens, mas cuidado com as minas."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -44,14 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Instruct the bot to find all the blue crosses on the"
-" ground, but do not get too close to the mines. When the"
-" bot passes over a cross, it disappears. Here is the general principle:"
-msgstr ""
-"Instrua o robô para encontrar todas as cruzes azuis no"
-" chão, mas não se aproxime demais das minas. Quando o robô"
-" passa por cima de uma cruz, ela desaparece. Aqui está o princípio geral:"
+msgid "Instruct the bot to find all the blue crosses on the ground, but do not get too close to the mines. When the bot passes over a cross, it disappears. Here is the general principle:"
+msgstr "Instrua o robô para encontrar todas as cruzes azuis no chão, mas não se aproxime demais das minas. Quando o robô passa por cima de uma cruz, ela desaparece. Aqui está o princípio geral:"
#. type: Plain text
#: ../help/help.E.txt:4
@@ -111,17 +104,13 @@ msgstr "A instrução radar"
#: ../help/help.E.txt:14
#, no-wrap
msgid ""
-"In order to detect a mine with the radar, we"
-" recommend the following parameters:\n"
+"In order to detect a mine with the radar, we recommend the following parameters:\n"
"\tradar(Mine, 0, 180, 0, 5);\n"
-"With the opening angle of 180 degrees, mines that are behind the bot will not"
-" be found. Mines that are at more than 5 meters are also ignored."
+"With the opening angle of 180 degrees, mines that are behind the bot will not be found. Mines that are at more than 5 meters are also ignored."
msgstr ""
-"Para detectar uma mina com o radar,"
-" recomendamos os seguintes parâmetros: \n"
+"Para detectar uma mina com o radar, recomendamos os seguintes parâmetros: \n"
"\tradar(Mine, 0, 180, 0, 5);\n"
-"Com o ângulo de abertura de 180 graus, as minas que estão atrás do bot não"
-" serão encontradas. As minas com mais de 5 metros também são ignoradas."
+"Com o ângulo de abertura de 180 graus, as minas que estão atrás do bot não serão encontradas. As minas com mais de 5 metros também são ignoradas."
#. type: Plain text
#: ../help/help.E.txt:18
@@ -139,13 +128,11 @@ msgstr ""
#: ../help/help.E.txt:22
#, no-wrap
msgid ""
-"In order to calculate a direction, use direction<"
-"/code>.\n"
+"In order to calculate a direction, use direction.\n"
"In order to set the motor speeds, use motor."
msgstr ""
"Para calcular uma direção, use direction.\n"
-"Para definir as velocidades do motor, use motor."
+"Para definir as velocidades do motor, use motor."
#. type: \t; header
#: ../help/help.E.txt:25
@@ -156,10 +143,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:26
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter002/level005/po/br.po b/levels/challenges/chapter002/level005/po/pt.po
similarity index 55%
rename from levels/challenges/chapter002/level005/po/br.po
rename to levels/challenges/chapter002/level005/po/pt.po
index 5fd53cc3..41fd07e7 100644
--- a/levels/challenges/chapter002/level005/po/br.po
+++ b/levels/challenges/chapter002/level005/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:51-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,28 +43,14 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Instruct your bot to find all the blue"
-" crosses on the ground, but do not get too close to the mines."
-msgstr ""
-"Instrua seu robô para encontrar todas as cruzes azuis no chão, mas não se aproxime demais das minas."
+msgid "Instruct your bot to find all the blue crosses on the ground, but do not get too close to the mines."
+msgstr "Instrua seu robô para encontrar todas as cruzes azuis no chão, mas não se aproxime demais das minas."
#. type: Plain text
#: ../help/help.E.txt:4
#, no-wrap
-msgid ""
-"If a bot gets within less than 2m of the center of a mine (which is the"
-" position returned by the radar instruction), il will blow up. However, you"
-" must take into account the inertia of the bot. Probably a safety distance of"
-" 3 to 3.5m would be more appropriate."
-msgstr ""
-"Se um robô ficar a menos de 2m do centro de uma mina (que é a posição"
-" retornada pela instrução de radar), ela explodirá. No entanto, você deve"
-" levar em conta a inércia do robô. Provavelmente, uma distância de segurança"
-" de 3 a 3,5 m seria mais apropriada."
+msgid "If a bot gets within less than 2m of the center of a mine (which is the position returned by the radar instruction), il will blow up. However, you must take into account the inertia of the bot. Probably a safety distance of 3 to 3.5m would be more appropriate."
+msgstr "Se um robô ficar a menos de 2m do centro de uma mina (que é a posição retornada pela instrução de radar), ela explodirá. No entanto, você deve levar em conta a inércia do robô. Provavelmente, uma distância de segurança de 3 a 3,5 m seria mais apropriada."
#. type: \t; header
#: ../help/help.E.txt:6
@@ -75,10 +61,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:7
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter003/level001/po/br.po b/levels/challenges/chapter003/level001/po/pt.po
similarity index 76%
rename from levels/challenges/chapter003/level001/po/br.po
rename to levels/challenges/chapter003/level001/po/pt.po
index 682ac94f..92736f30 100644
--- a/levels/challenges/chapter003/level001/po/br.po
+++ b/levels/challenges/chapter003/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:53-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -26,8 +26,7 @@ msgstr "Mover 1"
#: ../scene.txt:2
#, no-wrap
msgid "Retrieve some titanium ore in order to convert it to titanium cubes."
-msgstr ""
-"Recupere um pouco de minério de titânio para convertê-lo em cubos de titânio."
+msgstr "Recupere um pouco de minério de titânio para convertê-lo em cubos de titânio."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -44,13 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Convert some titanium ore to titanium"
-" cubes, then drop 2 titanium cubes on the pads whose coordinates are:"
-msgstr ""
-"Converta algum minério de titânio em cubos de titânio, depois derrube 2 cubos de titânio nos blocos cujas"
-" coordenadas são:"
+msgid "Convert some titanium ore to titanium cubes, then drop 2 titanium cubes on the pads whose coordinates are:"
+msgstr "Converta algum minério de titânio em cubos de titânio, depois derrube 2 cubos de titânio nos blocos cujas coordenadas são:"
#. type: Plain text
#: ../help/help.E.txt:4
@@ -71,12 +65,8 @@ msgstr "extrator"
#. type: Plain text
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"The derrick extracts titanium ore from the subsoil; you"
-" just have to pick it up."
-msgstr ""
-"A extrator extrai o minério de titânio do subsolo; você"
-" só tem que pegá-lo."
+msgid "The derrick extracts titanium ore from the subsoil; you just have to pick it up."
+msgstr "A extrator extrai o minério de titânio do subsolo; você só tem que pegá-lo."
#. type: Image filename
#: ../help/help.E.txt:10
@@ -87,14 +77,8 @@ msgstr "converter"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"The converter converts titanium ore to titanium cubes."
-" Just drop the titanium ore on the platform, move backward, and wait until it"
-" has been converted."
-msgstr ""
-"O conversor converte minério de titânio em cubos de"
-" titânio. Basta soltar o minério de titânio na plataforma, recuar e esperar"
-" até que ele seja convertido."
+msgid "The converter converts titanium ore to titanium cubes. Just drop the titanium ore on the platform, move backward, and wait until it has been converted."
+msgstr "O conversor converte minério de titânio em cubos de titânio. Basta soltar o minério de titânio na plataforma, recuar e esperar até que ele seja convertido."
#. type: \b; header
#: ../help/help.E.txt:13
@@ -201,10 +185,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:35
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter003/level002/po/br.po b/levels/challenges/chapter003/level002/po/pt.po
similarity index 73%
rename from levels/challenges/chapter003/level002/po/br.po
rename to levels/challenges/chapter003/level002/po/pt.po
index be72a1cf..d5018d49 100644
--- a/levels/challenges/chapter003/level002/po/br.po
+++ b/levels/challenges/chapter003/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:54-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,14 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Move the titanium cube on the finishing pad. You do not"
-" know the position of the titanium, but we can tell you the position of the"
-" finishing pad x=10 and y=-60."
-msgstr ""
-"Mova o cubo de titânio no bloco alvo. Você não sabe a"
-" posição do titânio, mas podemos dizer-lhe a posição do bloco alvo: x = 10 e"
-" y = -60."
+msgid "Move the titanium cube on the finishing pad. You do not know the position of the titanium, but we can tell you the position of the finishing pad x=10 and y=-60."
+msgstr "Mova o cubo de titânio no bloco alvo. Você não sabe a posição do titânio, mas podemos dizer-lhe a posição do bloco alvo: x = 10 e y = -60."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -62,14 +56,12 @@ msgstr "Instruções úteis"
#: ../help/help.E.txt:5
#, no-wrap
msgid ""
-"radar to find the titanium cube (category <"
-"code>Titanium)\n"
+"radar to find the titanium cube (category Titanium)\n"
"goto to move the bot\n"
"grab to grab an object\n"
"drop to drop an object"
msgstr ""
-"radar para encontrar o cubo de titânio"
-" (categoria Titanium)\n"
+"radar para encontrar o cubo de titânio (categoria Titanium)\n"
"goto para mover o robô\n"
"grab para pegar um objeto\n"
"drop para largar um objeto"
@@ -83,10 +75,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter004/level001/po/br.po b/levels/challenges/chapter004/level001/po/pt.po
similarity index 65%
rename from levels/challenges/chapter004/level001/po/br.po
rename to levels/challenges/chapter004/level001/po/pt.po
index 0cd2118e..e260f170 100644
--- a/levels/challenges/chapter004/level001/po/br.po
+++ b/levels/challenges/chapter004/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:56-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,14 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"The bot must pass over all the blue"
-" crosses on the ground. The way that must be covered is made of two"
-" squares. The first one measures 15 meters, the second 25 meters."
-msgstr ""
-"O robô deve passar por todas as cruzes"
-" azuis no solo. O caminho que deve ser coberto é feito de dois quadrados."
-" O primeiro mede 15 metros, o segundo 25 metros."
+msgid "The bot must pass over all the blue crosses on the ground. The way that must be covered is made of two squares. The first one measures 15 meters, the second 25 meters."
+msgstr "O robô deve passar por todas as cruzes azuis no solo. O caminho que deve ser coberto é feito de dois quadrados. O primeiro mede 15 metros, o segundo 25 metros."
#. type: Image filename
#: ../help/help.E.txt:4
@@ -67,16 +61,8 @@ msgstr "Princípio geral"
#. type: Plain text
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"In order to solve this problem, the most efficient solution consists in"
-" creating a function that instructs the bot to move on a"
-" square shape of a certain size. The main program becomes then very simple:<"
-"c/>"
-msgstr ""
-"Para resolver esse problema, a solução mais eficiente consiste em criar uma <"
-"a cbot|function>função que instrui o robô a se mover em uma forma"
-" quadrada de um determinado tamanho. O programa principal torna-se então"
-" muito simples: "
+msgid "In order to solve this problem, the most efficient solution consists in creating a function that instructs the bot to move on a square shape of a certain size. The main program becomes then very simple:"
+msgstr "Para resolver esse problema, a solução mais eficiente consiste em criar uma função que instrui o robô a se mover em uma forma quadrada de um determinado tamanho. O programa principal torna-se então muito simples: "
#. type: Source code
#: ../help/help.E.txt:8
@@ -88,7 +74,7 @@ msgid ""
"\t\tSquare(25);\n"
"\t}"
msgstr ""
-"\extern void object::Funcao3( )\n"
+"\\extern void object::Funcao3( )\n"
"{\n"
"\tQuadrado(15);\n"
"\tQuadrado(25);\n"
@@ -121,10 +107,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:20
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/chapter004/level002/po/br.po b/levels/challenges/chapter004/level002/po/pt.po
similarity index 62%
rename from levels/challenges/chapter004/level002/po/br.po
rename to levels/challenges/chapter004/level002/po/pt.po
index 32de39d9..43ef47e8 100644
--- a/levels/challenges/chapter004/level002/po/br.po
+++ b/levels/challenges/chapter004/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:57-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,13 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Follow the way in form of a spiral. The bot must move 2 times 25m forward and"
-" turn, then move 2 times 20m forward and turn, and so on."
-msgstr ""
-"Siga o caminho em forma de espiral. O robô deve mover-se 2 vezes 25m para a"
-" frente e virar, e então mover 2 vezes 20m para a frente e virar, e assim por"
-" diante."
+msgid "Follow the way in form of a spiral. The bot must move 2 times 25m forward and turn, then move 2 times 20m forward and turn, and so on."
+msgstr "Siga o caminho em forma de espiral. O robô deve mover-se 2 vezes 25m para a frente e virar, e então mover 2 vezes 20m para a frente e virar, e assim por diante."
#. type: Image filename
#: ../help/help.E.txt:3
@@ -66,18 +61,8 @@ msgstr "Função"
#. type: Plain text
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"You will have noticed that the way is made of \"L\"-shaped parts that are fit"
-" one into another. The first one (dark blue) measures two times 25 meters."
-" The second one (light blue) measures 5 meters less. Let us start with"
-" writing the function that will move the bot on a"
-" \"L\"-shaped part whose length will be given as a parameter."
-msgstr ""
-"Você deve ter notado que o caminho é feito de peças em forma de \"L\" que se"
-" encaixam umas nas outras. O primeiro (azul escuro) mede duas vezes 25"
-" metros. O segundo (azul claro) mede 5 metros a menos. Vamos começar"
-" escrevendo a função que moverá o robô em uma parte em"
-" \"L\" cujo comprimento será dado como um parâmetro."
+msgid "You will have noticed that the way is made of \"L\"-shaped parts that are fit one into another. The first one (dark blue) measures two times 25 meters. The second one (light blue) measures 5 meters less. Let us start with writing the function that will move the bot on a \"L\"-shaped part whose length will be given as a parameter."
+msgstr "Você deve ter notado que o caminho é feito de peças em forma de \"L\" que se encaixam umas nas outras. O primeiro (azul escuro) mede duas vezes 25 metros. O segundo (azul claro) mede 5 metros a menos. Vamos começar escrevendo a função que moverá o robô em uma parte em \"L\" cujo comprimento será dado como um parâmetro."
#. type: \b; header
#: ../help/help.E.txt:8
@@ -106,10 +91,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:14
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/challenges/po/br.po b/levels/challenges/po/pt.po
similarity index 99%
rename from levels/challenges/po/br.po
rename to levels/challenges/po/pt.po
index ec95639d..47d3e4b9 100644
--- a/levels/challenges/po/br.po
+++ b/levels/challenges/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:57-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text, Title-resume
#: ../chapter001/chaptertitle.txt:1
@@ -51,4 +51,3 @@ msgstr "Mover"
#, no-wrap
msgid "Functions"
msgstr "Funções"
-
diff --git a/levels/exercises/chapter001/level001/po/br.po b/levels/exercises/chapter001/level001/po/pt.po
similarity index 50%
rename from levels/exercises/chapter001/level001/po/br.po
rename to levels/exercises/chapter001/level001/po/pt.po
index 9a0613a4..bfbe60fb 100644
--- a/levels/exercises/chapter001/level001/po/br.po
+++ b/levels/exercises/chapter001/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:15-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -61,34 +61,20 @@ msgstr "Para programar o robô, selecione-o."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"The numbers 1 to 4 corresponding to the programs contained in the bot appear"
-" on the lower left-hand corner of your screen. Select the first line."
-msgstr ""
-"Os números 1 a 4 correspondentes aos programas contidos no robô aparecem no"
-" canto inferior esquerdo da tela. Selecione a primeira linha."
+msgid "The numbers 1 to 4 corresponding to the programs contained in the bot appear on the lower left-hand corner of your screen. Select the first line."
+msgstr "Os números 1 a 4 correspondentes aos programas contidos no robô aparecem no canto inferior esquerdo da tela. Selecione a primeira linha."
#. type: Bullet: '3)'
#: ../help/help.E.txt:7
#, no-wrap
-msgid ""
-"Click the button with the braces , and you will arrive in an"
-" editor where you can write the program."
-msgstr ""
-"Clique no botão com as chaves e você chegará em um editor onde"
-" poderá escrever o programa."
+msgid "Click the button with the braces , and you will arrive in an editor where you can write the program."
+msgstr "Clique no botão com as chaves e você chegará em um editor onde poderá escrever o programa."
#. type: Bullet: '4)'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"While you are writing the program, the key "
-" will display the text you are reading right now. When you have finished"
-" writing the program, click the \"OK\" button."
-msgstr ""
-"Enquanto você estiver escrevendo o programa, a tecla <"
-"/format> exibirá o texto que você está lendo no momento. Quando terminar de"
-" escrever o programa, clique no botão \"OK\"."
+msgid "While you are writing the program, the key will display the text you are reading right now. When you have finished writing the program, click the \"OK\" button."
+msgstr "Enquanto você estiver escrevendo o programa, a tecla exibirá o texto que você está lendo no momento. Quando terminar de escrever o programa, clique no botão \"OK\"."
#. type: Bullet: '5)'
#: ../help/help.E.txt:9
@@ -105,24 +91,14 @@ msgstr "Programa"
#. type: Plain text
#: ../help/help.E.txt:12
#, no-wrap
-msgid ""
-"You must tell the bot exactly step by step what it must do in order to kill"
-" the three spiders. The bot understands only precise instructions, which it"
-" will execute one after another."
-msgstr ""
-"Você deve dizer ao robô exatamente o que deve fazer para matar as três"
-" aranhas. O robô entende apenas instruções precisas, que serão executadas uma"
-" após a outra."
+msgid "You must tell the bot exactly step by step what it must do in order to kill the three spiders. The bot understands only precise instructions, which it will execute one after another."
+msgstr "Você deve dizer ao robô exatamente o que deve fazer para matar as três aranhas. O robô entende apenas instruções precisas, que serão executadas uma após a outra."
#. type: Plain text
#: ../help/help.E.txt:14
#, no-wrap
-msgid ""
-"When you click the braces button in order to write the program,"
-" a part of the program will already be there:"
-msgstr ""
-"Quando você clica no botão de chaves para escrever o programa,"
-" uma parte do programa já estará lá:"
+msgid "When you click the braces button in order to write the program, a part of the program will already be there:"
+msgstr "Quando você clica no botão de chaves para escrever o programa, uma parte do programa já estará lá:"
#. type: Source code
#: ../help/help.E.txt:16
@@ -145,12 +121,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:23
#, no-wrap
-msgid ""
-"Everything that is already written when you arrive in the editor must not be"
-" altered. Just introduce the necessary instructions at the cursor."
-msgstr ""
-"Tudo o que já está escrito quando você chega ao editor não deve ser alterado."
-" Apenas introduza as instruções necessárias no cursor."
+msgid "Everything that is already written when you arrive in the editor must not be altered. Just introduce the necessary instructions at the cursor."
+msgstr "Tudo o que já está escrito quando você chega ao editor não deve ser alterado. Apenas introduza as instruções necessárias no cursor."
#. type: Plain text
#: ../help/help.E.txt:25
@@ -179,20 +151,8 @@ msgstr "turn();"
#. type: Plain text
#: ../help/help.E.txt:31
#, no-wrap
-msgid ""
-"Executes a rotation of a certain angle, given in brackets in degrees. For"
-" example turn(90); will turn the bot 90 degrees to the left, i.e. a"
-" quarter turn to the left. turn(-90); will turn the bot 90 degrees to"
-" the right (quarter turn right). Positive values turn left, negative values"
-" turn right. turn(180); will make the bot face in the opposite"
-" direction."
-msgstr ""
-"Executa uma rotação de um determinado ângulo, dado entre parênteses em"
-" graus. Por exemplo, turn (90); irá girar o robô 90 graus para a"
-" esquerda, ou seja, um quarto para a esquerda. turn(-90); irá girar o"
-" robô 90 graus para a direita (quarto de volta à direita). Valores positivos"
-" vire à esquerda, valores negativos vire à direita. turn(180); fará"
-" com que o robô fique na direção oposta."
+msgid "Executes a rotation of a certain angle, given in brackets in degrees. For example turn(90); will turn the bot 90 degrees to the left, i.e. a quarter turn to the left. turn(-90); will turn the bot 90 degrees to the right (quarter turn right). Positive values turn left, negative values turn right. turn(180); will make the bot face in the opposite direction."
+msgstr "Executa uma rotação de um determinado ângulo, dado entre parênteses em graus. Por exemplo, turn (90); irá girar o robô 90 graus para a esquerda, ou seja, um quarto para a esquerda. turn(-90); irá girar o robô 90 graus para a direita (quarto de volta à direita). Valores positivos vire à esquerda, valores negativos vire à direita. turn(180); fará com que o robô fique na direção oposta."
#. type: Source code
#: ../help/help.E.txt:33
@@ -203,12 +163,8 @@ msgstr "fire(1);"
#. type: Plain text
#: ../help/help.E.txt:34
#, no-wrap
-msgid ""
-"Shoots the cannon. The number in brackets indicates the duration of the"
-" burst. In most cases, shoot a burst of 1 second."
-msgstr ""
-" Atira o canhão. O número entre parênteses indica a duração da rajada. Na"
-" maioria dos casos, dispare uma rajada de 1 segundo."
+msgid "Shoots the cannon. The number in brackets indicates the duration of the burst. In most cases, shoot a burst of 1 second."
+msgstr " Atira o canhão. O número entre parênteses indica a duração da rajada. Na maioria dos casos, dispare uma rajada de 1 segundo."
#. type: Plain text
#: ../help/help.E.txt:36
@@ -285,16 +241,8 @@ msgstr "Cabe a você agora escrever o resto do programa!"
#. type: Plain text
#: ../help/help.E.txt:57
#, no-wrap
-msgid ""
-"If you have got a problem, you can always look at the solution: select the <"
-"code>Solution program on the lower left-hand corner of the screen, and"
-" click the braces button . You can even execute the solution"
-" program with the arrow button ."
-msgstr ""
-"Se você tiver um problema, pode sempre ver a solução: selecione o programa <"
-"code>Solucao code> no canto inferior esquerdo da tela e clique no botão de"
-" chaves . Você pode até mesmo executar o programa de solução com"
-" o botão de seta ."
+msgid "If you have got a problem, you can always look at the solution: select the Solution program on the lower left-hand corner of the screen, and click the braces button . You can even execute the solution program with the arrow button ."
+msgstr "Se você tiver um problema, pode sempre ver a solução: selecione o programa Solucao code> no canto inferior esquerdo da tela e clique no botão de chaves . Você pode até mesmo executar o programa de solução com o botão de seta ."
#. type: \t; header
#: ../help/help.E.txt:59
@@ -305,43 +253,23 @@ msgstr "Observações"
#. type: Plain text
#: ../help/help.E.txt:60
#, no-wrap
-msgid ""
-"Be careful to write the instructions precisely, respecting lower and upper"
-" case letters."
-msgstr ""
-"Tenha o cuidado de escrever as instruções com precisão, respeitando letras"
-" maiúsculas e minúsculas."
+msgid "Be careful to write the instructions precisely, respecting lower and upper case letters."
+msgstr "Tenha o cuidado de escrever as instruções com precisão, respeitando letras maiúsculas e minúsculas."
#. type: Plain text
#: ../help/help.E.txt:62
#, no-wrap
-msgid ""
-"Always write one instruction per line, finishing each line with a semicolon."
-msgstr ""
-"Sempre escreva uma instrução por linha, terminando cada linha com um ponto e"
-" vírgula."
+msgid "Always write one instruction per line, finishing each line with a semicolon."
+msgstr "Sempre escreva uma instrução por linha, terminando cada linha com um ponto e vírgula."
#. type: Plain text
#: ../help/help.E.txt:64
#, no-wrap
-msgid ""
-"In case your program does not do exactly what you wanted, you can put the bot"
-" back at the starting point with the button. You can also start"
-" over again from the beginning (hit the \"Esc\" key, then click \"Restart\")."
-" The program you have written will not be lost."
-msgstr ""
-"Caso seu programa não faça exatamente o que você queria, você pode colocar o"
-" robô de volta no ponto inicial com o botão . Você também pode"
-" começar tudo de novo desde o começo (aperte a tecla \"Esc\", depois clique"
-" em \"Reiniciar\"). O programa que você escreveu não será perdido."
+msgid "In case your program does not do exactly what you wanted, you can put the bot back at the starting point with the button. You can also start over again from the beginning (hit the \"Esc\" key, then click \"Restart\"). The program you have written will not be lost."
+msgstr "Caso seu programa não faça exatamente o que você queria, você pode colocar o robô de volta no ponto inicial com o botão . Você também pode começar tudo de novo desde o começo (aperte a tecla \"Esc\", depois clique em \"Reiniciar\"). O programa que você escreveu não será perdido."
#. type: Plain text
#: ../help/help.E.txt:66
#, no-wrap
-msgid ""
-" allows you to review these instructions at"
-" all times."
-msgstr ""
-" permite-lhe rever estas instruções a"
-" qualquer momento no seu SatCom pessoal "
-
+msgid " allows you to review these instructions at all times."
+msgstr " permite-lhe rever estas instruções a qualquer momento no seu SatCom pessoal "
diff --git a/levels/exercises/chapter001/level002/po/br.po b/levels/exercises/chapter001/level002/po/pt.po
similarity index 59%
rename from levels/exercises/chapter001/level002/po/br.po
rename to levels/exercises/chapter001/level002/po/pt.po
index eab1e8c1..ce4c29b8 100644
--- a/levels/exercises/chapter001/level002/po/br.po
+++ b/levels/exercises/chapter001/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:23-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -26,8 +26,7 @@ msgstr "Célula de energia 1"
#: ../scene.txt:2
#, no-wrap
msgid "Instruct a bot to change the power cell of a nearby winged shooter."
-msgstr ""
-"Instrua um robô para mudar a célula de energia de um atirador alado próximo."
+msgstr "Instrua um robô para mudar a célula de energia de um atirador alado próximo."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -44,14 +43,8 @@ msgstr "Objetivo"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Program the grabber bot to change the power cell of the winged shooter. The winged shooter"
-" can then shoot the spiders."
-msgstr ""
-"Programe o robô agarrador para trocar a célula de energia do atirador alado. O atirador"
-" alado pode atirar nas aranhas."
+msgid "Program the grabber bot to change the power cell of the winged shooter. The winged shooter can then shoot the spiders."
+msgstr "Programe o robô agarrador para trocar a célula de energia do atirador alado. O atirador alado pode atirar nas aranhas."
#. type: \t; header
#: ../help/help.E.txt:4
@@ -74,12 +67,8 @@ msgstr "Execute o programa com o botão de seta ."
#. type: Plain text
#: ../help/help.E.txt:7
#, no-wrap
-msgid ""
-"The winged shooter is already programmed, it will do its"
-" job as soon as it has got a new power cell."
-msgstr ""
-"O atirador alado já está programado, ele fará seu"
-" trabalho assim que tiver uma nova célula de energia."
+msgid "The winged shooter is already programmed, it will do its job as soon as it has got a new power cell."
+msgstr "O atirador alado já está programado, ele fará seu trabalho assim que tiver uma nova célula de energia."
#. type: \t; header
#: ../help/help.E.txt:9
@@ -126,12 +115,8 @@ msgstr "turn();"
#. type: Plain text
#: ../help/help.E.txt:19
#, no-wrap
-msgid ""
-"We have seen this instruction already in the previous exercise: it"
-" performs a rotation of a certain angle, given in degrees."
-msgstr ""
-" Já vimos esta instrução no exercício anterior: ela executa uma rotação"
-" de um certo ângulo, dado em graus."
+msgid "We have seen this instruction already in the previous exercise: it performs a rotation of a certain angle, given in degrees."
+msgstr " Já vimos esta instrução no exercício anterior: ela executa uma rotação de um certo ângulo, dado em graus."
#. type: Plain text
#: ../help/help.E.txt:21
@@ -172,12 +157,8 @@ msgstr "Cabe a você agora escrever o resto do programa!"
#. type: Plain text
#: ../help/help.E.txt:29
#, no-wrap
-msgid ""
-"If you have got a problem, you can always look at the solution: select the <"
-"code>Solution program, and click the braces button ."
-msgstr ""
-"Se você tiver um problema, você sempre pode olhar para a solução: selecione o"
-" programa Solucao code>, e clique no botão de chaves ."
+msgid "If you have got a problem, you can always look at the solution: select the Solution program, and click the braces button ."
+msgstr "Se você tiver um problema, você sempre pode olhar para a solução: selecione o programa Solucao code>, e clique no botão de chaves ."
#. type: \t; header
#: ../help/help.E.txt:31
@@ -188,43 +169,23 @@ msgstr "Observações"
#. type: Plain text
#: ../help/help.E.txt:32
#, no-wrap
-msgid ""
-"Be careful to write the instructions precisely, respecting lower and upper"
-" case letters."
-msgstr ""
-"Tenha o cuidado de escrever as instruções com precisão, respeitando letras"
-" maiúsculas e minúsculas."
+msgid "Be careful to write the instructions precisely, respecting lower and upper case letters."
+msgstr "Tenha o cuidado de escrever as instruções com precisão, respeitando letras maiúsculas e minúsculas."
#. type: Plain text
#: ../help/help.E.txt:34
#, no-wrap
-msgid ""
-"Always write one instruction per line, finishing each line with a semicolon."
-msgstr ""
-"Sempre escreva uma instrução por linha, terminando cada linha com um ponto e"
-" vírgula."
+msgid "Always write one instruction per line, finishing each line with a semicolon."
+msgstr "Sempre escreva uma instrução por linha, terminando cada linha com um ponto e vírgula."
#. type: Plain text
#: ../help/help.E.txt:36
#, no-wrap
-msgid ""
-"In case your program does not do exactly what you wanted, you can put the bot"
-" back at the starting point with the button . You can also start"
-" over again from the beginning (hit the key \"Esc\", the click \"Restart\")."
-" The program you have written will not be lost."
-msgstr ""
-"Caso o seu programa não faça exatamente o que você queria, você pode colocar"
-" o robô de volta no ponto de partida com o botão . Você também"
-" pode começar de novo desde o início (aperte a tecla \"Esc\", clique em"
-" \"Reiniciar\"). O programa que você escreveu não será perdido."
+msgid "In case your program does not do exactly what you wanted, you can put the bot back at the starting point with the button . You can also start over again from the beginning (hit the key \"Esc\", the click \"Restart\"). The program you have written will not be lost."
+msgstr "Caso o seu programa não faça exatamente o que você queria, você pode colocar o robô de volta no ponto de partida com o botão . Você também pode começar de novo desde o início (aperte a tecla \"Esc\", clique em \"Reiniciar\"). O programa que você escreveu não será perdido."
#. type: Plain text
#: ../help/help.E.txt:38
#, no-wrap
-msgid ""
-" allows you to review these instructions at"
-" all times."
-msgstr ""
-" permite-lhe rever estas instruções a"
-" qualquer momento no seu SatCom pessoal "
-
+msgid " allows you to review these instructions at all times."
+msgstr " permite-lhe rever estas instruções a qualquer momento no seu SatCom pessoal "
diff --git a/levels/exercises/chapter001/level003/po/br.po b/levels/exercises/chapter001/level003/po/br.po
deleted file mode 100644
index f2df977b..00000000
--- a/levels/exercises/chapter001/level003/po/br.po
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-07 09:28-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Titanium 1"
-msgstr "Titânio 1"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Take a chunk of titanium ore and bring it to the converter."
-msgstr "Pegue um pedaço de minério de titânio e leve-o ao conversor."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Titanium1"
-msgstr "Titanio1"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Write a program that takes a chunk of titanium ore and"
-" drops in on the converter in order to produce a titanium cube."
-msgstr ""
-"Escreva um programa que pegue um pedaço de minério de"
-" titânio e coloque no conversor para produzir um cubo de titânio."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid "You will need a new instruction:"
-msgstr "Você precisará de uma nova instrução:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "move();"
-msgstr "move();"
-
-#. type: Plain text
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid ""
-"Instructs the bot to move forward or backward. The distance of the move is"
-" given in brackets in meters: move(10); moves the bot 10m forward, <"
-"c/>move(-1); moves the bot 1m backward."
-msgstr ""
-"Instrui o robô a avançar ou retroceder. A distância do movimento é dada entre"
-" parênteses em metros: move(10); move o robô 10 m para frente, move(-1); move o robô 1 m para trás ."
-
-#. type: Plain text
-#: ../help/help.E.txt:10
-#, no-wrap
-msgid ""
-"The instructions turn(), grab() and drop() have already been"
-" explained in the previous exercises. If you have any questions about these"
-" instructions, click the name of the instruction underlined in blue, and an"
-" explanation of the instruction will appear."
-msgstr ""
-"As instruções turn(), grab<"
-"/a>() e drop() já foram explicadas nos"
-" exercícios anteriores. Se você tiver alguma dúvida sobre essas instruções,"
-" clique no nome da instrução sublinhada em azul e uma explicação da instrução"
-" será exibida."
-
-#. type: Plain text
-#: ../help/help.E.txt:12
-#, no-wrap
-msgid ""
-"The titanium ore is 20m in front of the bot, the converter is 10m behind the bot. After dropping the"
-" titanium ore on the converter, do not forget to move back (for example move(-2.5);) so as to allow the converter to get down to work."
-msgstr ""
-"O minério de titânio está 20 m à frente do robô, o conversor está 10 m atrás do robô. Depois de soltar o"
-" minério de titânio no conversor, não se esqueça de voltar (por exemplo, move(-2.5);) para permitir que o conversor funcione."
-
-#. type: Plain text
-#: ../help/help.E.txt:14
-#, no-wrap
-msgid ""
-" allows you to review these instructions at"
-" all times."
-msgstr ""
-" permite-lhe rever estas instruções a"
-" qualquer momento no seu SatCom pessoal "
-
diff --git a/levels/exercises/chapter001/level003/po/pt.po b/levels/exercises/chapter001/level003/po/pt.po
new file mode 100644
index 00000000..e94b56dd
--- /dev/null
+++ b/levels/exercises/chapter001/level003/po/pt.po
@@ -0,0 +1,89 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-07 09:28-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Titanium 1"
+msgstr "Titânio 1"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Take a chunk of titanium ore and bring it to the converter."
+msgstr "Pegue um pedaço de minério de titânio e leve-o ao conversor."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Titanium1"
+msgstr "Titanio1"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Write a program that takes a chunk of titanium ore and drops in on the converter in order to produce a titanium cube."
+msgstr "Escreva um programa que pegue um pedaço de minério de titânio e coloque no conversor para produzir um cubo de titânio."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "You will need a new instruction:"
+msgstr "Você precisará de uma nova instrução:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "move();"
+msgstr "move();"
+
+#. type: Plain text
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid "Instructs the bot to move forward or backward. The distance of the move is given in brackets in meters: move(10); moves the bot 10m forward, move(-1); moves the bot 1m backward."
+msgstr "Instrui o robô a avançar ou retroceder. A distância do movimento é dada entre parênteses em metros: move(10); move o robô 10 m para frente, move(-1); move o robô 1 m para trás ."
+
+#. type: Plain text
+#: ../help/help.E.txt:10
+#, no-wrap
+msgid "The instructions turn(), grab() and drop() have already been explained in the previous exercises. If you have any questions about these instructions, click the name of the instruction underlined in blue, and an explanation of the instruction will appear."
+msgstr "As instruções turn(), grab() e drop() já foram explicadas nos exercícios anteriores. Se você tiver alguma dúvida sobre essas instruções, clique no nome da instrução sublinhada em azul e uma explicação da instrução será exibida."
+
+#. type: Plain text
+#: ../help/help.E.txt:12
+#, no-wrap
+msgid "The titanium ore is 20m in front of the bot, the converter is 10m behind the bot. After dropping the titanium ore on the converter, do not forget to move back (for example move(-2.5);) so as to allow the converter to get down to work."
+msgstr "O minério de titânio está 20 m à frente do robô, o conversor está 10 m atrás do robô. Depois de soltar o minério de titânio no conversor, não se esqueça de voltar (por exemplo, move(-2.5);) para permitir que o conversor funcione."
+
+#. type: Plain text
+#: ../help/help.E.txt:14
+#, no-wrap
+msgid " allows you to review these instructions at all times."
+msgstr " permite-lhe rever estas instruções a qualquer momento no seu SatCom pessoal "
diff --git a/levels/exercises/chapter001/level004/po/br.po b/levels/exercises/chapter001/level004/po/br.po
deleted file mode 100644
index 4bf4107f..00000000
--- a/levels/exercises/chapter001/level004/po/br.po
+++ /dev/null
@@ -1,295 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-07 10:57-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Titanium 2"
-msgstr "Titânio 2"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid ""
-"Use the bot's radar to look for the titanium ore and bring it to the"
-" converter."
-msgstr ""
-"Use o radar do robô para procurar o minério de titânio e levá-lo ao conversor."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Titanium2"
-msgstr "Titanio2"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Take a chunk of titanium ore the exact location of"
-" which we do not know. Use the bot's radar to find it. Bring the titanium ore"
-" to the converter."
-msgstr ""
-"Pegue um pedaço de minério de titânio no local exato"
-" do qual não sabemos. Use o radar do robô para encontrá-lo. Traga o minério"
-" de titânio para o conversor."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"As you have certainly noticed, the programs written in the previous exercises"
-" were completely \"blind\": if the titanium ore, the power cell or the"
-" spiders had been at another location, the bot would not have found them."
-msgstr ""
-"Como você certamente notou, os programas escritos nos exercícios anteriores"
-" eram completamente \"cegos\": se o minério de titânio, a célula de potência"
-" ou as aranhas estivessem em outro local, o robô não os teria encontrado."
-
-#. type: Plain text
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"The radar represents the \"eyes\" of the bot. With the radar, it can detect"
-" the objects around it. For example the instruction radar<"
-"/a>(TitaniumOre); will return information about the closest chunk of titanium ore. However, we will have to \"store\" the"
-" information returned by the instruction radar(TitaniumOre); somewhere. For this task we will need a variable."
-msgstr ""
-"O radar representa os \"olhos\" do robô. Com o radar, ele pode detectar os"
-" objetos ao seu redor. Por exemplo, a instrução radar(TitaniumOre); retornará informações sobre o pedaço mais próximo de minério de titânio. No entanto, teremos que"
-" \"armazenar\" as informações retornadas pela instrução radar(TitaniumOre); em algum lugar. Para esta tarefa, precisaremos"
-" de uma variável."
-
-#. type: Plain text
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid ""
-"A variable is like a small box with a name where you can put"
-" some information, retrieve it, change it, etc. Before you can use a"
-" variable, you have got to declare it. First you must indicate the type of the variable, in this case object. A"
-" variable of this type can contain all the information describing an object"
-" such as a chunk of titanium ore, a spider, an ant, a bot, a power cell, etc."
-" Then you must write the name that you want to give to the variable, for"
-" example item. If we put this together, we get the following"
-" line:"
-msgstr ""
-"Uma variável é como uma pequena caixa com um nome onde você"
-" pode colocar algumas informações, recuperá-las, alterá-las, etc. Antes de"
-" poder usar uma variável, você precisa declará-la. Primeiro você deve indicar"
-" o tipo da variável, neste caso object. Uma"
-" variável desse tipo pode conter todas as informações que descrevem um"
-" objeto, como um pedaço de minério de titânio, uma aranha, uma formiga, um"
-" robô, uma célula de energia, etc. Então você deve escrever o nome que deseja"
-" dar à variável, por exemplo, item. Se juntarmos isso, obtemos a"
-" seguinte linha:"
-
-#. type: Source code
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid "object item;"
-msgstr "object item;"
-
-#. type: Plain text
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid ""
-"Then we must put the information returned by the instruction radar(TitaniumOre) into this variable:"
-msgstr ""
-"Então devemos colocar a informação retornada pela instrução radar(TitaniumOre) nesta variável:"
-
-#. type: Source code
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid "item = radar(TitaniumOre);"
-msgstr "item = radar(TitaniumOre);"
-
-#. type: Plain text
-#: ../help/help.E.txt:17
-#, no-wrap
-msgid ""
-"The variable item contains many different kinds of information:"
-" it contains the position, the orientation, the pitch, etc. In order to get"
-" the position of the chunk of titanium ore, write item.position."
-" Then we use the instruction goto(); in order to move the bot to this"
-" position. Here is a line that puts all this together:"
-msgstr ""
-"A variável item contém muitos tipos diferentes de informação:"
-" contém a posição, a orientação, o tom, etc. Para obter a posição do pedaço"
-" de minério de titânio, escreva item.position. Então usamos a"
-" instrução goto(); para mover o robô para essa posição. Aqui está uma"
-" linha que coloca tudo isso junto:"
-
-#. type: Source code
-#: ../help/help.E.txt:19
-#, no-wrap
-msgid "goto(item.position);"
-msgstr "goto(item.position);"
-
-#. type: Plain text
-#: ../help/help.E.txt:21
-#, no-wrap
-msgid ""
-"If we \"translate\" this into English, this would mean: go to the position of"
-" the object described by the variable item."
-msgstr ""
-"Se \"traduzirmos\" isso para o português, isso significaria: ir para a"
-" posição do objeto descrito pela variável item."
-
-#. type: Plain text
-#: ../help/help.E.txt:23
-#, no-wrap
-msgid ""
-"You can then just pick up what is at this position with the instruction <"
-"a cbot|grab>grab();."
-msgstr ""
-"Você pode então pegar o que está nessa posição com a instrução grab();."
-
-#. type: Plain text
-#: ../help/help.E.txt:25
-#, no-wrap
-msgid "If we put all this together, we get the following program:"
-msgstr "Se juntarmos tudo isso, obtemos o seguinte programa:"
-
-#. type: Source code
-#: ../help/help.E.txt:27
-#, no-wrap
-msgid ""
-"extern void object::Titanium2( )\n"
-"{\n"
-"\t\n"
-"\tobject item;\n"
-"\titem = radar(TitaniumOre);\n"
-"\tgoto(item.position);\n"
-"\tgrab();\n"
-"\t\n"
-"}"
-msgstr ""
-"extern void object::Titanio2( )\n"
-"{\n"
-"\t\n"
-"\tobject item;\n"
-"\titem = radar(TitaniumOre);\n"
-"\tgoto(item.position);\n"
-"\tgrab();\n"
-"\t\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:37
-#, no-wrap
-msgid ""
-"Then you must look for the converter, and put the"
-" information about the converter into the variable item:"
-msgstr ""
-"Então você deve procurar o conversor e colocar as"
-" informações sobre o conversor na variável item:"
-
-#. type: Source code
-#: ../help/help.E.txt:39
-#, no-wrap
-msgid "item = radar(Converter);"
-msgstr "item = radar(Converter);"
-
-#. type: Plain text
-#: ../help/help.E.txt:41
-#, no-wrap
-msgid ""
-"Go to the converter with the same instruction goto(item.position); as above, drop the titanium, and step back. The"
-" converter will take care of the rest."
-msgstr ""
-"Vá para o conversor com a mesma instrução goto(item.position); como acima, solte o titânio e recue. O conversor"
-" cuidará do resto."
-
-#. type: Plain text
-#: ../help/help.E.txt:43
-#, no-wrap
-msgid ""
-"If you want to know more about the \"names\" of the different objects in the"
-" programming language, please refer to the text about"
-" categories."
-msgstr ""
-"Se você quiser saber mais sobre os \"nomes\" dos diferentes objetos na"
-" linguagem de programação, consulte o texto sobre as"
-" categorias."
-
-#. type: \t; header
-#: ../help/help.E.txt:45
-#, no-wrap
-msgid "Remarks"
-msgstr "Observações"
-
-#. type: Plain text
-#: ../help/help.E.txt:46
-#, no-wrap
-msgid ""
-"A variable must be declared only once at the beginning of the"
-" program! You can then use it as often as you want."
-msgstr ""
-"Uma variável deve ser declarada apenas uma vez no início do"
-" programa! Você pode usá-la quantas vezes quiser."
-
-#. type: Plain text
-#: ../help/help.E.txt:48
-#, no-wrap
-msgid ""
-"In order to avoid retyping the instructions explained above, you can select"
-" them with the mouse, and copy-paste them into your program."
-msgstr ""
-"Para evitar redigitar as instruções explicadas acima, você pode selecioná-las"
-" com o mouse e copiar e colar o no seu programa."
-
-#. type: \t; header
-#: ../help/help.E.txt:50
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:51
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter001/level004/po/pt.po b/levels/exercises/chapter001/level004/po/pt.po
new file mode 100644
index 00000000..16e46912
--- /dev/null
+++ b/levels/exercises/chapter001/level004/po/pt.po
@@ -0,0 +1,197 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-07 10:57-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Titanium 2"
+msgstr "Titânio 2"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Use the bot's radar to look for the titanium ore and bring it to the converter."
+msgstr "Use o radar do robô para procurar o minério de titânio e levá-lo ao conversor."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Titanium2"
+msgstr "Titanio2"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Take a chunk of titanium ore the exact location of which we do not know. Use the bot's radar to find it. Bring the titanium ore to the converter."
+msgstr "Pegue um pedaço de minério de titânio no local exato do qual não sabemos. Use o radar do robô para encontrá-lo. Traga o minério de titânio para o conversor."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "As you have certainly noticed, the programs written in the previous exercises were completely \"blind\": if the titanium ore, the power cell or the spiders had been at another location, the bot would not have found them."
+msgstr "Como você certamente notou, os programas escritos nos exercícios anteriores eram completamente \"cegos\": se o minério de titânio, a célula de potência ou as aranhas estivessem em outro local, o robô não os teria encontrado."
+
+#. type: Plain text
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "The radar represents the \"eyes\" of the bot. With the radar, it can detect the objects around it. For example the instruction radar(TitaniumOre); will return information about the closest chunk of titanium ore. However, we will have to \"store\" the information returned by the instruction radar(TitaniumOre); somewhere. For this task we will need a variable."
+msgstr "O radar representa os \"olhos\" do robô. Com o radar, ele pode detectar os objetos ao seu redor. Por exemplo, a instrução radar(TitaniumOre); retornará informações sobre o pedaço mais próximo de minério de titânio. No entanto, teremos que \"armazenar\" as informações retornadas pela instrução radar(TitaniumOre); em algum lugar. Para esta tarefa, precisaremos de uma variável."
+
+#. type: Plain text
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "A variable is like a small box with a name where you can put some information, retrieve it, change it, etc. Before you can use a variable, you have got to declare it. First you must indicate the type of the variable, in this case object. A variable of this type can contain all the information describing an object such as a chunk of titanium ore, a spider, an ant, a bot, a power cell, etc. Then you must write the name that you want to give to the variable, for example item. If we put this together, we get the following line:"
+msgstr "Uma variável é como uma pequena caixa com um nome onde você pode colocar algumas informações, recuperá-las, alterá-las, etc. Antes de poder usar uma variável, você precisa declará-la. Primeiro você deve indicar o tipo da variável, neste caso object. Uma variável desse tipo pode conter todas as informações que descrevem um objeto, como um pedaço de minério de titânio, uma aranha, uma formiga, um robô, uma célula de energia, etc. Então você deve escrever o nome que deseja dar à variável, por exemplo, item. Se juntarmos isso, obtemos a seguinte linha:"
+
+#. type: Source code
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "object item;"
+msgstr "object item;"
+
+#. type: Plain text
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "Then we must put the information returned by the instruction radar(TitaniumOre) into this variable:"
+msgstr "Então devemos colocar a informação retornada pela instrução radar(TitaniumOre) nesta variável:"
+
+#. type: Source code
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "item = radar(TitaniumOre);"
+msgstr "item = radar(TitaniumOre);"
+
+#. type: Plain text
+#: ../help/help.E.txt:17
+#, no-wrap
+msgid "The variable item contains many different kinds of information: it contains the position, the orientation, the pitch, etc. In order to get the position of the chunk of titanium ore, write item.position. Then we use the instruction goto(); in order to move the bot to this position. Here is a line that puts all this together:"
+msgstr "A variável item contém muitos tipos diferentes de informação: contém a posição, a orientação, o tom, etc. Para obter a posição do pedaço de minério de titânio, escreva item.position. Então usamos a instrução goto(); para mover o robô para essa posição. Aqui está uma linha que coloca tudo isso junto:"
+
+#. type: Source code
+#: ../help/help.E.txt:19
+#, no-wrap
+msgid "goto(item.position);"
+msgstr "goto(item.position);"
+
+#. type: Plain text
+#: ../help/help.E.txt:21
+#, no-wrap
+msgid "If we \"translate\" this into English, this would mean: go to the position of the object described by the variable item."
+msgstr "Se \"traduzirmos\" isso para o português, isso significaria: ir para a posição do objeto descrito pela variável item."
+
+#. type: Plain text
+#: ../help/help.E.txt:23
+#, no-wrap
+msgid "You can then just pick up what is at this position with the instruction grab();."
+msgstr "Você pode então pegar o que está nessa posição com a instrução grab();."
+
+#. type: Plain text
+#: ../help/help.E.txt:25
+#, no-wrap
+msgid "If we put all this together, we get the following program:"
+msgstr "Se juntarmos tudo isso, obtemos o seguinte programa:"
+
+#. type: Source code
+#: ../help/help.E.txt:27
+#, no-wrap
+msgid ""
+"extern void object::Titanium2( )\n"
+"{\n"
+"\t\n"
+"\tobject item;\n"
+"\titem = radar(TitaniumOre);\n"
+"\tgoto(item.position);\n"
+"\tgrab();\n"
+"\t\n"
+"}"
+msgstr ""
+"extern void object::Titanio2( )\n"
+"{\n"
+"\t\n"
+"\tobject item;\n"
+"\titem = radar(TitaniumOre);\n"
+"\tgoto(item.position);\n"
+"\tgrab();\n"
+"\t\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:37
+#, no-wrap
+msgid "Then you must look for the converter, and put the information about the converter into the variable item:"
+msgstr "Então você deve procurar o conversor e colocar as informações sobre o conversor na variável item:"
+
+#. type: Source code
+#: ../help/help.E.txt:39
+#, no-wrap
+msgid "item = radar(Converter);"
+msgstr "item = radar(Converter);"
+
+#. type: Plain text
+#: ../help/help.E.txt:41
+#, no-wrap
+msgid "Go to the converter with the same instruction goto(item.position); as above, drop the titanium, and step back. The converter will take care of the rest."
+msgstr "Vá para o conversor com a mesma instrução goto(item.position); como acima, solte o titânio e recue. O conversor cuidará do resto."
+
+#. type: Plain text
+#: ../help/help.E.txt:43
+#, no-wrap
+msgid "If you want to know more about the \"names\" of the different objects in the programming language, please refer to the text about categories."
+msgstr "Se você quiser saber mais sobre os \"nomes\" dos diferentes objetos na linguagem de programação, consulte o texto sobre as categorias."
+
+#. type: \t; header
+#: ../help/help.E.txt:45
+#, no-wrap
+msgid "Remarks"
+msgstr "Observações"
+
+#. type: Plain text
+#: ../help/help.E.txt:46
+#, no-wrap
+msgid "A variable must be declared only once at the beginning of the program! You can then use it as often as you want."
+msgstr "Uma variável deve ser declarada apenas uma vez no início do programa! Você pode usá-la quantas vezes quiser."
+
+#. type: Plain text
+#: ../help/help.E.txt:48
+#, no-wrap
+msgid "In order to avoid retyping the instructions explained above, you can select them with the mouse, and copy-paste them into your program."
+msgstr "Para evitar redigitar as instruções explicadas acima, você pode selecioná-las com o mouse e copiar e colar o no seu programa."
+
+#. type: \t; header
+#: ../help/help.E.txt:50
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:51
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter001/level005/po/br.po b/levels/exercises/chapter001/level005/po/br.po
deleted file mode 100644
index 4a4b01cd..00000000
--- a/levels/exercises/chapter001/level005/po/br.po
+++ /dev/null
@@ -1,257 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-07 11:10-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Power Cell 2"
-msgstr "Célula de energia 2"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Power all the winged shooters."
-msgstr "Ligue todos os atiradores alados."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Spider2"
-msgstr "Aranha2"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Power the winged shooters with power"
-" cells, so that they can kill the ants in the ant nest located in a hole"
-" north of your position."
-msgstr ""
-"Alimente os atiradores alados com células"
-" de energia, para que eles possam matar as formigas no formigueiro"
-" localizado em um buraco ao norte de sua posição."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"The wheeled grabber must go to a power"
-" cell, grab it, go to a winged shooter, and drop the"
-" cell. This task is very similar to the task performed in the previous"
-" exercise. Here is this program again:"
-msgstr ""
-"O agarrador com rodas deve ir para uma célula de energia, pegá-la, ir para um atirador alado, e soltar a célula. Essa tarefa é muito semelhante à tarefa executada no"
-" exercício anterior. Aqui está este programa novamente:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"extern void object::Titanium2()\n"
-"{\n"
-"\tobject item;\n"
-"\t\n"
-"\titem = radar(TitaniumOre);\n"
-"\tgoto(item.position);\n"
-"\tgrab();\n"
-"\t\n"
-"\titem = radar(Converter);\n"
-"\tgoto(item.position);\n"
-"\tdrop();\n"
-"}"
-msgstr ""
-"extern void object::Titanio2()\n"
-"{\n"
-"\tobject item;\n"
-"\t\n"
-"\titem = radar(TitaniumOre);\n"
-"\tgoto(item.position);\n"
-"\tgrab();\n"
-"\t\n"
-"\titem = radar(Converter);\n"
-"\tgoto(item.position);\n"
-"\tdrop();\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:20
-#, no-wrap
-msgid ""
-"The best way to solve the present exercise is to copy the"
-" program above into the clipboard (from object to drop();), and paste it into the program editor. Then you just have to"
-" make the necessary changes in order to adapt it to the new task."
-msgstr ""
-"A melhor maneira de resolver o presente exercício é copiar o"
-" programa acima para a área de transferência (de object code> para <"
-"c/>drop();), e colar no editor do programa. Então você só"
-" precisa fazer as alterações necessárias para adaptá-lo à nova tarefa."
-
-#. type: Plain text
-#: ../help/help.E.txt:22
-#, no-wrap
-msgid ""
-"Instead of looking for titanium ore (TitaniumOre), look for a"
-" power cell (PowerCell). Instead of going to a converter (Converter), go to a winged shooter (WingedShooter). As"
-" soon as the winged shooter has got a new power cell, it will get down to"
-" work."
-msgstr ""
-"Em vez de procurar minério de titânio (TitaniumOre), procure por"
-" uma célula de energia (PowerCell). Em vez de ir para um"
-" conversor (Converter), vá para um atirador alado (WingedShooter). Assim que o atirador alado tiver uma nova célula de"
-" potência, ela começará a funcionar."
-
-#. type: Plain text
-#: ../help/help.E.txt:24
-#, no-wrap
-msgid ""
-"If you want to know more about the \"names\" of the different objects in the"
-" programming language, please refer to the text about"
-" categories."
-msgstr ""
-"Se você quiser saber mais sobre os \"nomes\" dos diferentes objetos na"
-" linguagem de programação, consulte o texto sobre as"
-" categorias."
-
-#. type: \t; header
-#: ../help/help.E.txt:26
-#, no-wrap
-msgid "Further improvement: loops"
-msgstr "Melhoria adicional: laços"
-
-#. type: Plain text
-#: ../help/help.E.txt:27
-#, no-wrap
-msgid ""
-"Once the program explained above works properly, you can improve it in order"
-" to repeat the task over and over again. Like this you will not have to"
-" execute the program several times in order to power several bots."
-msgstr ""
-"Depois que o programa explicado acima funcionar corretamente, você poderá"
-" melhorá-lo para repetir a tarefa várias vezes. Assim você não terá que"
-" executar o programa várias vezes para alimentar vários robôs."
-
-#. type: Plain text
-#: ../help/help.E.txt:29
-#, no-wrap
-msgid ""
-"All programs written until now execute all instructions only once, one after"
-" another, from the beginning to the end of the program. You can also tell the"
-" bot to repeat some instructions: just write while (true), an"
-" open brace, the instructions to be repeated, and a closing brace. Repeating"
-" some instructions several times in this way is called a loop. Here is an"
-" example of a program that repeats over and over the instructions that look"
-" for a power cell, grab it, and drop it on a winged shooter:"
-msgstr ""
-"Todos os programas escritos até agora executam todas as instruções apenas uma"
-" vez, uma após a outra, do começo ao fim do programa. Você também pode dizer"
-" ao robô para repetir algumas instruções: basta escrever while(true)<"
-"/code>, uma chave aberta, as instruções a serem repetidas e uma chave de"
-" fechamento. Repetir algumas instruções várias vezes dessa maneira é chamado"
-" de laço (loop). Aqui está um exemplo de um programa que repete várias vezes"
-" as instruções que buscam uma célula de energia, agarra-a e solta-a em um"
-" atirador alado:"
-
-#. type: Source code
-#: ../help/help.E.txt:31
-#, no-wrap
-msgid ""
-"\twhile (true)\n"
-"\t{\n"
-"\t\titem = radar(PowerCell);\n"
-"\t\tgoto(item.position);\n"
-"\t\tgrab();\n"
-"\t\t\n"
-"\t\titem = radar(WingedShooter);\n"
-"\t\tgoto(item.position);\n"
-"\t\tdrop();\n"
-"\t}"
-msgstr ""
-"\twhile (true)\n"
-"\t{\n"
-"\t\titem = radar(PowerCell);\n"
-"\t\tgoto(item.position);\n"
-"\t\tgrab();\n"
-"\t\t\n"
-"\t\titem = radar(WingedShooter);\n"
-"\t\tgoto(item.position);\n"
-"\t\tdrop();\n"
-"\t}"
-
-#. type: Plain text
-#: ../help/help.E.txt:42
-#, no-wrap
-msgid ""
-"Of course the variable declaration object item; must not be inside"
-" the loop, but just before: declare a variable only once."
-msgstr ""
-"É claro que a declaração da variável object item; não deve estar"
-" dentro do loop, mas antes: declarar uma variável apenas uma vez."
-
-#. type: \t; header
-#: ../help/help.E.txt:44
-#, no-wrap
-msgid "Remark"
-msgstr "Observação"
-
-#. type: Plain text
-#: ../help/help.E.txt:45
-#, no-wrap
-msgid ""
-"A bot can execute a program perfectly well on his own. Meantime you can for"
-" example select the astronaut and take a look at what is happening at the"
-" nest, the show is worth it. But be careful not to get shot by your own"
-" bots..."
-msgstr ""
-"Um robô pode executar um programa perfeitamente por conta própria. Enquanto"
-" você pode, por exemplo, selecionar o astronauta e dar uma olhada no que está"
-" acontecendo no ninho, o show vale a pena. Mas tenha cuidado para não levar"
-" um tiro com seus próprios robôs ..."
-
-#. type: \t; header
-#: ../help/help.E.txt:47
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:48
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter001/level005/po/pt.po b/levels/exercises/chapter001/level005/po/pt.po
new file mode 100644
index 00000000..bff0db7f
--- /dev/null
+++ b/levels/exercises/chapter001/level005/po/pt.po
@@ -0,0 +1,181 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-07 11:10-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Power Cell 2"
+msgstr "Célula de energia 2"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Power all the winged shooters."
+msgstr "Ligue todos os atiradores alados."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Spider2"
+msgstr "Aranha2"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Power the winged shooters with power cells, so that they can kill the ants in the ant nest located in a hole north of your position."
+msgstr "Alimente os atiradores alados com células de energia, para que eles possam matar as formigas no formigueiro localizado em um buraco ao norte de sua posição."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "The wheeled grabber must go to a power cell, grab it, go to a winged shooter, and drop the cell. This task is very similar to the task performed in the previous exercise. Here is this program again:"
+msgstr "O agarrador com rodas deve ir para uma célula de energia, pegá-la, ir para um atirador alado, e soltar a célula. Essa tarefa é muito semelhante à tarefa executada no exercício anterior. Aqui está este programa novamente:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"extern void object::Titanium2()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\titem = radar(TitaniumOre);\n"
+"\tgoto(item.position);\n"
+"\tgrab();\n"
+"\t\n"
+"\titem = radar(Converter);\n"
+"\tgoto(item.position);\n"
+"\tdrop();\n"
+"}"
+msgstr ""
+"extern void object::Titanio2()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\titem = radar(TitaniumOre);\n"
+"\tgoto(item.position);\n"
+"\tgrab();\n"
+"\t\n"
+"\titem = radar(Converter);\n"
+"\tgoto(item.position);\n"
+"\tdrop();\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:20
+#, no-wrap
+msgid "The best way to solve the present exercise is to copy the program above into the clipboard (from object to drop();), and paste it into the program editor. Then you just have to make the necessary changes in order to adapt it to the new task."
+msgstr "A melhor maneira de resolver o presente exercício é copiar o programa acima para a área de transferência (de object code> para drop();), e colar no editor do programa. Então você só precisa fazer as alterações necessárias para adaptá-lo à nova tarefa."
+
+#. type: Plain text
+#: ../help/help.E.txt:22
+#, no-wrap
+msgid "Instead of looking for titanium ore (TitaniumOre), look for a power cell (PowerCell). Instead of going to a converter (Converter), go to a winged shooter (WingedShooter). As soon as the winged shooter has got a new power cell, it will get down to work."
+msgstr "Em vez de procurar minério de titânio (TitaniumOre), procure por uma célula de energia (PowerCell). Em vez de ir para um conversor (Converter), vá para um atirador alado (WingedShooter). Assim que o atirador alado tiver uma nova célula de potência, ela começará a funcionar."
+
+#. type: Plain text
+#: ../help/help.E.txt:24
+#, no-wrap
+msgid "If you want to know more about the \"names\" of the different objects in the programming language, please refer to the text about categories."
+msgstr "Se você quiser saber mais sobre os \"nomes\" dos diferentes objetos na linguagem de programação, consulte o texto sobre as categorias."
+
+#. type: \t; header
+#: ../help/help.E.txt:26
+#, no-wrap
+msgid "Further improvement: loops"
+msgstr "Melhoria adicional: laços"
+
+#. type: Plain text
+#: ../help/help.E.txt:27
+#, no-wrap
+msgid "Once the program explained above works properly, you can improve it in order to repeat the task over and over again. Like this you will not have to execute the program several times in order to power several bots."
+msgstr "Depois que o programa explicado acima funcionar corretamente, você poderá melhorá-lo para repetir a tarefa várias vezes. Assim você não terá que executar o programa várias vezes para alimentar vários robôs."
+
+#. type: Plain text
+#: ../help/help.E.txt:29
+#, no-wrap
+msgid "All programs written until now execute all instructions only once, one after another, from the beginning to the end of the program. You can also tell the bot to repeat some instructions: just write while (true), an open brace, the instructions to be repeated, and a closing brace. Repeating some instructions several times in this way is called a loop. Here is an example of a program that repeats over and over the instructions that look for a power cell, grab it, and drop it on a winged shooter:"
+msgstr "Todos os programas escritos até agora executam todas as instruções apenas uma vez, uma após a outra, do começo ao fim do programa. Você também pode dizer ao robô para repetir algumas instruções: basta escrever while(true), uma chave aberta, as instruções a serem repetidas e uma chave de fechamento. Repetir algumas instruções várias vezes dessa maneira é chamado de laço (loop). Aqui está um exemplo de um programa que repete várias vezes as instruções que buscam uma célula de energia, agarra-a e solta-a em um atirador alado:"
+
+#. type: Source code
+#: ../help/help.E.txt:31
+#, no-wrap
+msgid ""
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(PowerCell);\n"
+"\t\tgoto(item.position);\n"
+"\t\tgrab();\n"
+"\t\t\n"
+"\t\titem = radar(WingedShooter);\n"
+"\t\tgoto(item.position);\n"
+"\t\tdrop();\n"
+"\t}"
+msgstr ""
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(PowerCell);\n"
+"\t\tgoto(item.position);\n"
+"\t\tgrab();\n"
+"\t\t\n"
+"\t\titem = radar(WingedShooter);\n"
+"\t\tgoto(item.position);\n"
+"\t\tdrop();\n"
+"\t}"
+
+#. type: Plain text
+#: ../help/help.E.txt:42
+#, no-wrap
+msgid "Of course the variable declaration object item; must not be inside the loop, but just before: declare a variable only once."
+msgstr "É claro que a declaração da variável object item; não deve estar dentro do loop, mas antes: declarar uma variável apenas uma vez."
+
+#. type: \t; header
+#: ../help/help.E.txt:44
+#, no-wrap
+msgid "Remark"
+msgstr "Observação"
+
+#. type: Plain text
+#: ../help/help.E.txt:45
+#, no-wrap
+msgid "A bot can execute a program perfectly well on his own. Meantime you can for example select the astronaut and take a look at what is happening at the nest, the show is worth it. But be careful not to get shot by your own bots..."
+msgstr "Um robô pode executar um programa perfeitamente por conta própria. Enquanto você pode, por exemplo, selecionar o astronauta e dar uma olhada no que está acontecendo no ninho, o show vale a pena. Mas tenha cuidado para não levar um tiro com seus próprios robôs ..."
+
+#. type: \t; header
+#: ../help/help.E.txt:47
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:48
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter001/level006/po/br.po b/levels/exercises/chapter001/level006/po/br.po
deleted file mode 100644
index 51d0dff4..00000000
--- a/levels/exercises/chapter001/level006/po/br.po
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-07 11:13-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Spiders 2"
-msgstr "Aranhas 2"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Use the radar to find and kill all spiders."
-msgstr "Use o radar para encontrar e matar todas as aranhas."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Spider2"
-msgstr "Aranha2"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Kill several spiders whose exact location we do not know. Use the bot's radar"
-" to find them."
-msgstr ""
-"Mate várias aranhas cuja localização exata não sabemos. Use o radar do robô"
-" para encontrá-las."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"Find the closest spider with the instruction radar(AlienSpider);, as we did it in the previous exercises with titanium ore"
-" and power cells. But do not go to the position of the spider, the bot would"
-" be destroyed before arriving there. Just turn towards the spider. The"
-" instruction direction(item.position)"
-" calculates the angle of the rotation that the robot must perform in order to"
-" aim at the spider. In order to actually aim at the spider, just write:"
-msgstr ""
-"Encontre a aranha mais próxima com a instrução radar(AlienSpider);, como fizemos nos exercícios anteriores com minério de"
-" titânio e células de energia. Mas não vá para a posição da aranha, o robô"
-" seria destruído antes de chegar lá. Apenas vire para a aranha. A instrução <"
-"code>direction(item.position) calcula o ângulo de"
-" rotação que o robô deve executar para mirar na aranha. Para realmente mirar"
-" na aranha, basta escrever:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "\tturn(direction(item.position));"
-msgstr "\tturn(direction(item.position));"
-
-#. type: Plain text
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid ""
-"Notice the two closing brackets at the end of the line, before the semicolon."
-" There are two open brackets, so there must be two closing brackets."
-msgstr ""
-"Observe os dois parênteses no final da linha, antes do ponto e vírgula."
-" Existem dois parênteses abertos, portanto, deve haver dois parênteses de"
-" fechamento."
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid "Then shoot with the instruction fire(1);."
-msgstr "Então atire com a instrução fire(1);."
-
-#. type: Plain text
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid ""
-"Here also, you can use a loop with while (true) in order not to have to execute the program again for every spider, as we"
-" did in the last exercise."
-msgstr ""
-"Aqui também, você pode usar um loop com while"
-" (true) para não ter que executar o programa novamente para cada"
-" aranha, como fizemos no último exercício."
-
-#. type: \t; header
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:16
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter001/level006/po/pt.po b/levels/exercises/chapter001/level006/po/pt.po
new file mode 100644
index 00000000..413f0a20
--- /dev/null
+++ b/levels/exercises/chapter001/level006/po/pt.po
@@ -0,0 +1,95 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-07 11:13-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Spiders 2"
+msgstr "Aranhas 2"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Use the radar to find and kill all spiders."
+msgstr "Use o radar para encontrar e matar todas as aranhas."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Spider2"
+msgstr "Aranha2"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Kill several spiders whose exact location we do not know. Use the bot's radar to find them."
+msgstr "Mate várias aranhas cuja localização exata não sabemos. Use o radar do robô para encontrá-las."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "Find the closest spider with the instruction radar(AlienSpider);, as we did it in the previous exercises with titanium ore and power cells. But do not go to the position of the spider, the bot would be destroyed before arriving there. Just turn towards the spider. The instruction direction(item.position) calculates the angle of the rotation that the robot must perform in order to aim at the spider. In order to actually aim at the spider, just write:"
+msgstr "Encontre a aranha mais próxima com a instrução radar(AlienSpider);, como fizemos nos exercícios anteriores com minério de titânio e células de energia. Mas não vá para a posição da aranha, o robô seria destruído antes de chegar lá. Apenas vire para a aranha. A instrução direction(item.position) calcula o ângulo de rotação que o robô deve executar para mirar na aranha. Para realmente mirar na aranha, basta escrever:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "\tturn(direction(item.position));"
+msgstr "\tturn(direction(item.position));"
+
+#. type: Plain text
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "Notice the two closing brackets at the end of the line, before the semicolon. There are two open brackets, so there must be two closing brackets."
+msgstr "Observe os dois parênteses no final da linha, antes do ponto e vírgula. Existem dois parênteses abertos, portanto, deve haver dois parênteses de fechamento."
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "Then shoot with the instruction fire(1);."
+msgstr "Então atire com a instrução fire(1);."
+
+#. type: Plain text
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "Here also, you can use a loop with while (true) in order not to have to execute the program again for every spider, as we did in the last exercise."
+msgstr "Aqui também, você pode usar um loop com while (true) para não ter que executar o programa novamente para cada aranha, como fizemos no último exercício."
+
+#. type: \t; header
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:16
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter001/level007/po/br.po b/levels/exercises/chapter001/level007/po/br.po
deleted file mode 100644
index 4abbad8c..00000000
--- a/levels/exercises/chapter001/level007/po/br.po
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 10:33-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Spiders 3"
-msgstr "Aranhas 3"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Learn to move the bot so that no spider can escape."
-msgstr "Aprenda a mover o robô para que nenhuma aranha possa escapar."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Spider3"
-msgstr "Aranha3"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid "Move towards the spiders that are out of shooting range."
-msgstr "Mova-se em direção as aranhas que estão fora do alcance de tiro."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"The program will look like the previous one, but before you shoot, use the"
-" instruction move(); in order to get close enough."
-msgstr ""
-"O programa será parecido com o anterior, mas antes de disparar, use a"
-" instrução move(); para chegar perto o suficiente."
-
-#. type: Plain text
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"The question is just how many meters the bot must move. The instruction distance( , ) calculates the distance between two"
-" positions. In this case, we need to know the distance between the bot and"
-" the target. The position of the target is given by item.position, the position of the bot is given by position. The distance"
-" between the bot and the target is given by distance(position, item.position). The range of a fireball cannon is 40"
-" meters. In order to get close enough, the bot must move forward distance(position, item.position)-40 meters. The"
-" following line will do this:"
-msgstr ""
-"A questão é quantos metros o robô deve mover. A instrução distance( , ) calcula a distância entre duas posições. Nesse"
-" caso, precisamos saber a distância entre o robô e o alvo. A posição do alvo"
-" é dada por item.position, a posição do robô é dada por position. A distância entre o robô e o alvo é dada por distance(position, item.position). O alcance de um"
-" canhão de bola de fogo é de 40 metros. Para se aproximar o suficiente, o"
-" robô deve avançar distância(position, item.position)"
-" -40 metros. A linha a seguir fará isso:"
-
-#. type: Source code
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid ""
-"\tmove(distance(position,"
-" item.position)-40);"
-msgstr ""
-"\tmove(distance(position,"
-" item.position)-40);"
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid ""
-"Just insert this line into the program before the instruction fire(1);, and the bot will start to move."
-msgstr ""
-"Apenas insira esta linha no programa antes da instrução fire(1);, e o"
-" robô começará a se mover."
-
-#. type: \t; header
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:14
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
-
diff --git a/levels/exercises/chapter001/level007/po/pt.po b/levels/exercises/chapter001/level007/po/pt.po
new file mode 100644
index 00000000..da33239f
--- /dev/null
+++ b/levels/exercises/chapter001/level007/po/pt.po
@@ -0,0 +1,89 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 10:33-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Spiders 3"
+msgstr "Aranhas 3"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Learn to move the bot so that no spider can escape."
+msgstr "Aprenda a mover o robô para que nenhuma aranha possa escapar."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Spider3"
+msgstr "Aranha3"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Move towards the spiders that are out of shooting range."
+msgstr "Mova-se em direção as aranhas que estão fora do alcance de tiro."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "The program will look like the previous one, but before you shoot, use the instruction move(); in order to get close enough."
+msgstr "O programa será parecido com o anterior, mas antes de disparar, use a instrução move(); para chegar perto o suficiente."
+
+#. type: Plain text
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "The question is just how many meters the bot must move. The instruction distance( , ) calculates the distance between two positions. In this case, we need to know the distance between the bot and the target. The position of the target is given by item.position, the position of the bot is given by position. The distance between the bot and the target is given by distance(position, item.position). The range of a fireball cannon is 40 meters. In order to get close enough, the bot must move forward distance(position, item.position)-40 meters. The following line will do this:"
+msgstr "A questão é quantos metros o robô deve mover. A instrução distance( , ) calcula a distância entre duas posições. Nesse caso, precisamos saber a distância entre o robô e o alvo. A posição do alvo é dada por item.position, a posição do robô é dada por position. A distância entre o robô e o alvo é dada por distance(position, item.position). O alcance de um canhão de bola de fogo é de 40 metros. Para se aproximar o suficiente, o robô deve avançar distância(position, item.position) -40 metros. A linha a seguir fará isso:"
+
+#. type: Source code
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "\tmove(distance(position, item.position)-40);"
+msgstr "\tmove(distance(position, item.position)-40);"
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "Just insert this line into the program before the instruction fire(1);, and the bot will start to move."
+msgstr "Apenas insira esta linha no programa antes da instrução fire(1);, e o robô começará a se mover."
+
+#. type: \t; header
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:14
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level001/po/br.po b/levels/exercises/chapter002/level001/po/br.po
deleted file mode 100644
index f9afa73a..00000000
--- a/levels/exercises/chapter002/level001/po/br.po
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 11:07-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Barrage Fire"
-msgstr "Fogo de Barragem"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid ""
-"Set the power of the different motors in order to achieve a barrage fire."
-msgstr ""
-"Defina o poder dos diferentes motores, a fim de conseguir um fogo de barragem."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"As a defense against several giant ants attacking from the north, rotate the"
-" bot when shooting in order to perform barrage fire."
-msgstr ""
-"Como uma defesa contra várias formigas gigantes atacando do norte, gire o"
-" robô quando estiver atirando para executar fogo de barragem."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"When you are radio-guiding a bot, you can rotate the cannon during the burst"
-" in order to sweep a whole zone. You can also do this when programming the"
-" bot, but you have to turn the whole bot with the instruction motor( , ). This instruction asks for two numbers: the"
-" speed of the left-hand motor, and the speed of the right-hand motor. These"
-" numbers must range between -1 and +1. motor(1,1); moves the bot"
-" forward with maximum speed (both motors at full power). motor(-1,-1); moves the bot backward with maximum speed. motor(1,0.9); moves the"
-" bot forward with a slight turn to the right: the left-hand motor turns a"
-" little faster than the right-hand motor. And motor(1,-1); will turn"
-" the bot clockwise on the spot: the left-hand motor moves forward, the"
-" right-hand motor moves backward."
-msgstr ""
-"Quando você está controlando um robô, você pode girar o canhão durante a"
-" rajada para varrer uma zona inteira. Você também pode fazer isso ao"
-" programar o robô, mas você tem que girar o robô inteiro com a instrução <"
-"code>motor(,) code>. Esta instrução pede dois números: a"
-" velocidade do motor do lado esquerdo e a velocidade do motor do lado"
-" direito. Estes números devem variar entre -1 e +1. motor (1,1); "
-" move o robô para a frente com velocidade máxima (ambos motores com potência"
-" máxima). motor (-1, -1); move o robô para trás com velocidade"
-" máxima. motor (1, 0.9); move o robô para a frente com um leve giro"
-" para a direita: o motor da mão esquerda vira um pouco mais rápido que o"
-" motor da direita. E motor (1, -1); irá girar o robô no sentido"
-" horário no ponto: o motor da esquerda se move para frente, o motor da"
-" direita se move para trás."
-
-#. type: Plain text
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"After a motor instruction the motors will keep this speed"
-" until the next motor, move, turn or goto"
-" instruction. For example, if you perform a rotation on the spot with motor(1,-1); and afterward you shoot with fire(1);, the bot will"
-" continue to turn during the burst, and will sweep a whole zone."
-msgstr ""
-"Depois de uma instrução motor os motores manterão esta"
-" velocidade até a próxima instrução motor, move, turn ou goto. Por exemplo, se você executar uma rotação no local com motor(1,-1); e depois você atirar com fire(1);, o robô irá"
-" continuar a girar durante a rajada e varrer uma zona inteira."
-
-#. type: Plain text
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid ""
-"The ants attack from the north. In order to sweep the whole zone north of the"
-" bot, first turn 90 degrees left with turn(90);, then repeat always"
-" with while (true) the following instructions:"
-msgstr ""
-"As formigas atacam do norte. Para varrer toda a zona ao norte do robô,"
-" primeiro gire 90 graus para a esquerda com turn(90);, depois repita"
-" sempre com while (true) as seguintes"
-" instruções:"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:10
-#, no-wrap
-msgid "rotate clockwise with motor(1,-1);"
-msgstr "gire no sentido horário com motor(1,-1);"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid "a 2 seconds burst with fire(2);"
-msgstr "uma rajada de 2 segundos com fire(2);"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:12
-#, no-wrap
-msgid "rotate counter-clockwise with motor(-1,1);"
-msgstr "gire no sentido anti-horário com motor(-1,1);"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid "a 2 seconds burst."
-msgstr "uma rajada de 2 segundos."
-
-#. type: \t; header
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:16
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter002/level001/po/pt.po b/levels/exercises/chapter002/level001/po/pt.po
new file mode 100644
index 00000000..6dc5ecd1
--- /dev/null
+++ b/levels/exercises/chapter002/level001/po/pt.po
@@ -0,0 +1,107 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 11:07-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Barrage Fire"
+msgstr "Fogo de Barragem"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Set the power of the different motors in order to achieve a barrage fire."
+msgstr "Defina o poder dos diferentes motores, a fim de conseguir um fogo de barragem."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "As a defense against several giant ants attacking from the north, rotate the bot when shooting in order to perform barrage fire."
+msgstr "Como uma defesa contra várias formigas gigantes atacando do norte, gire o robô quando estiver atirando para executar fogo de barragem."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "When you are radio-guiding a bot, you can rotate the cannon during the burst in order to sweep a whole zone. You can also do this when programming the bot, but you have to turn the whole bot with the instruction motor( , ). This instruction asks for two numbers: the speed of the left-hand motor, and the speed of the right-hand motor. These numbers must range between -1 and +1. motor(1,1); moves the bot forward with maximum speed (both motors at full power). motor(-1,-1); moves the bot backward with maximum speed. motor(1,0.9); moves the bot forward with a slight turn to the right: the left-hand motor turns a little faster than the right-hand motor. And motor(1,-1); will turn the bot clockwise on the spot: the left-hand motor moves forward, the right-hand motor moves backward."
+msgstr "Quando você está controlando um robô, você pode girar o canhão durante a rajada para varrer uma zona inteira. Você também pode fazer isso ao programar o robô, mas você tem que girar o robô inteiro com a instrução motor(,) code>. Esta instrução pede dois números: a velocidade do motor do lado esquerdo e a velocidade do motor do lado direito. Estes números devem variar entre -1 e +1. motor (1,1); move o robô para a frente com velocidade máxima (ambos motores com potência máxima). motor (-1, -1); move o robô para trás com velocidade máxima. motor (1, 0.9); move o robô para a frente com um leve giro para a direita: o motor da mão esquerda vira um pouco mais rápido que o motor da direita. E motor (1, -1); irá girar o robô no sentido horário no ponto: o motor da esquerda se move para frente, o motor da direita se move para trás."
+
+#. type: Plain text
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "After a motor instruction the motors will keep this speed until the next motor, move, turn or goto instruction. For example, if you perform a rotation on the spot with motor(1,-1); and afterward you shoot with fire(1);, the bot will continue to turn during the burst, and will sweep a whole zone."
+msgstr "Depois de uma instrução motor os motores manterão esta velocidade até a próxima instrução motor, move, turn ou goto. Por exemplo, se você executar uma rotação no local com motor(1,-1); e depois você atirar com fire(1);, o robô irá continuar a girar durante a rajada e varrer uma zona inteira."
+
+#. type: Plain text
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "The ants attack from the north. In order to sweep the whole zone north of the bot, first turn 90 degrees left with turn(90);, then repeat always with while (true) the following instructions:"
+msgstr "As formigas atacam do norte. Para varrer toda a zona ao norte do robô, primeiro gire 90 graus para a esquerda com turn(90);, depois repita sempre com while (true) as seguintes instruções:"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:10
+#, no-wrap
+msgid "rotate clockwise with motor(1,-1);"
+msgstr "gire no sentido horário com motor(1,-1);"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "a 2 seconds burst with fire(2);"
+msgstr "uma rajada de 2 segundos com fire(2);"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:12
+#, no-wrap
+msgid "rotate counter-clockwise with motor(-1,1);"
+msgstr "gire no sentido anti-horário com motor(-1,1);"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "a 2 seconds burst."
+msgstr "uma rajada de 2 segundos."
+
+#. type: \t; header
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:16
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level002/po/br.po b/levels/exercises/chapter002/level002/po/br.po
deleted file mode 100644
index 855202d8..00000000
--- a/levels/exercises/chapter002/level002/po/br.po
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 11:16-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Flying tower 1"
-msgstr "Torre voadora 1"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Make a flying defense tower out of a winged shooter."
-msgstr "Faça uma torre de defesa voadora de um atirador alado."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"As a defense against ants attacking from all sides, adapt the program Spider2 in order to fly at a given altitude."
-msgstr ""
-"Como defesa contra formigas atacando de todos os lados, adapte o programa <"
-"code>Aranha2 para voar a uma determinada altitude."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"The program necessary for this task is somewhat similar to the program Spider2 that looks for the closest ant, turns towards it and fires:"
-msgstr ""
-"O programa necessário para esta tarefa é um pouco semelhante ao programa <"
-"code>Aranha2 que procura a formiga mais próxima, gira para ela e"
-" dispara:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"extern void object::Spider2()\n"
-"{\t\n"
-"\tobject item;\n"
-"\t\n"
-"\twhile (true)\n"
-"\t{\n"
-"\t\titem = radar(AlienSpider);\n"
-"\t\tturn(direction(item.position));\n"
-"\t\tfire(1);\n"
-"\t}\n"
-"}"
-msgstr ""
-"extern void object::Aranha2()\n"
-"{\t\n"
-"\tobject item;\n"
-"\t\n"
-"\twhile (true)\n"
-"\t{\n"
-"\t\titem = radar(AlienSpider);\n"
-"\t\tturn(direction(item.position));\n"
-"\t\tfire(1);\n"
-"\t}\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:19
-#, no-wrap
-msgid ""
-"You can copy-paste it to the editor, and adapt it. Replace radar(AlienSpider); by radar(AlienAnt);, and write before the <"
-"code>while loop another loop that activates the jet beneath the winged shooter until the bot reaches an altitude of 20"
-" meters."
-msgstr ""
-"Você pode copiá-lo e colá-lo no editor e adaptá-lo. Substitua radar(AlienSpider); por radar(AlienAnt);, e escreva antes do"
-" laço while outro laço que ativa o jato abaixo do atirador alado até o robô atingir uma altitude de 20 metros."
-
-#. type: Plain text
-#: ../help/help.E.txt:21
-#, no-wrap
-msgid ""
-"The instruction jet() controls the jet beneath"
-" winged bots. The number in brackets must range between -1 and <"
-"code>1. jet(1); moves the bot upward with maximum speed."
-" jet(-1); moves the bot downward with maximum speed, and jet(0);"
-" stabilizes the altitude. As the bot must reach a precise altitude, move it"
-" upward slowly with jet(0.2);, wait until it has reached the desired"
-" height, then stabilize the altitude with jet(0);."
-msgstr ""
-"A instrução jet() controla o jato abaixo dos"
-" robôs alados. O número entre parênteses deve variar entre -1 e"
-" 1. jet(1); move o robô para cima com velocidade"
-" máxima. jet(-1); move o robô para baixo com velocidade máxima e jet(0); estabiliza a altitude. Como o robô deve alcançar uma altitude"
-" precisa, mova-o para cima lentamente com jet(0.2);, espere até"
-" atingir a altura desejada e estabilize a altitude com jet(0);."
-
-#. type: Plain text
-#: ../help/help.E.txt:23
-#, no-wrap
-msgid ""
-"In order to \"wait until it has reached the desired height\", we need a"
-" conditional loop: the instructions inside the loop will be repeated only as"
-" long as a certain condition is true. The altitude of the bot is given by <"
-"code>position.z. We already saw that position gives the"
-" position of the bot. And a position is given by the three coordinates x, y"
-" and z: the x-axis is the axis west-east, the y-axis is the axis south-north,"
-" and the z-axis is the vertical axis. Therefore we must wait while position.z is smaller than 20:"
-msgstr ""
-"Para \"esperar até alcançar a altura desejada\", precisamos de um laço"
-" condicional: as instruções dentro do loop serão repetidas apenas enquanto"
-" uma determinada condição for verdadeira. A altitude do robô é dada por position.z. Nós já vimos que position dá a posição do"
-" robô. E uma posição é dada pelas três coordenadas x, y e z: o eixo x é o"
-" eixo oeste-leste, o eixo y é o eixo sul-norte e o eixo z é o eixo vertical."
-" Portanto, devemos aguardar enquanto position.z for menor que 20:"
-
-#. type: Source code
-#: ../help/help.E.txt:25
-#, no-wrap
-msgid ""
-"\twhile (position.z < 20)\n"
-"\t{\n"
-"\t\twait(0.2);\n"
-"\t}"
-msgstr ""
-"\twhile (position.z < 20)\n"
-"\t{\n"
-"\t\twait(0.2);\n"
-"\t}"
-
-#. type: Plain text
-#: ../help/help.E.txt:30
-#, no-wrap
-msgid ""
-"After waiting 0.2 seconds, the program will check if the altitude is still"
-" below 20 meters. If this is the case, it will wait a little more, if not,"
-" the program continues after the loop, i.e. after the closing brace }<"
-"/code>. Do not forget after the loop to stabilize the altitude with jet(0);."
-msgstr ""
-"Depois de esperar 0,2 segundos, o programa verificará se a altitude ainda"
-" está abaixo dos 20 metros. Se este for o caso, ele irá esperar um pouco"
-" mais, se não, o programa continua após o loop, ou seja, após a chave de"
-" fechamento }. Não esqueça de estabilizar a altitude após o laço"
-" com jet(0);."
-
-#. type: \t; header
-#: ../help/help.E.txt:32
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:33
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter002/level002/po/pt.po b/levels/exercises/chapter002/level002/po/pt.po
new file mode 100644
index 00000000..2a7b13c2
--- /dev/null
+++ b/levels/exercises/chapter002/level002/po/pt.po
@@ -0,0 +1,137 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 11:16-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Flying tower 1"
+msgstr "Torre voadora 1"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Make a flying defense tower out of a winged shooter."
+msgstr "Faça uma torre de defesa voadora de um atirador alado."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "As a defense against ants attacking from all sides, adapt the program Spider2 in order to fly at a given altitude."
+msgstr "Como defesa contra formigas atacando de todos os lados, adapte o programa Aranha2 para voar a uma determinada altitude."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "The program necessary for this task is somewhat similar to the program Spider2 that looks for the closest ant, turns towards it and fires:"
+msgstr "O programa necessário para esta tarefa é um pouco semelhante ao programa Aranha2 que procura a formiga mais próxima, gira para ela e dispara:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"extern void object::Spider2()\n"
+"{\t\n"
+"\tobject item;\n"
+"\t\n"
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(AlienSpider);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+"extern void object::Aranha2()\n"
+"{\t\n"
+"\tobject item;\n"
+"\t\n"
+"\twhile (true)\n"
+"\t{\n"
+"\t\titem = radar(AlienSpider);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:19
+#, no-wrap
+msgid "You can copy-paste it to the editor, and adapt it. Replace radar(AlienSpider); by radar(AlienAnt);, and write before the while loop another loop that activates the jet beneath the winged shooter until the bot reaches an altitude of 20 meters."
+msgstr "Você pode copiá-lo e colá-lo no editor e adaptá-lo. Substitua radar(AlienSpider); por radar(AlienAnt);, e escreva antes do laço while outro laço que ativa o jato abaixo do atirador alado até o robô atingir uma altitude de 20 metros."
+
+#. type: Plain text
+#: ../help/help.E.txt:21
+#, no-wrap
+msgid "The instruction jet() controls the jet beneath winged bots. The number in brackets must range between -1 and 1. jet(1); moves the bot upward with maximum speed. jet(-1); moves the bot downward with maximum speed, and jet(0); stabilizes the altitude. As the bot must reach a precise altitude, move it upward slowly with jet(0.2);, wait until it has reached the desired height, then stabilize the altitude with jet(0);."
+msgstr "A instrução jet() controla o jato abaixo dos robôs alados. O número entre parênteses deve variar entre -1 e 1. jet(1); move o robô para cima com velocidade máxima. jet(-1); move o robô para baixo com velocidade máxima e jet(0); estabiliza a altitude. Como o robô deve alcançar uma altitude precisa, mova-o para cima lentamente com jet(0.2);, espere até atingir a altura desejada e estabilize a altitude com jet(0);."
+
+#. type: Plain text
+#: ../help/help.E.txt:23
+#, no-wrap
+msgid "In order to \"wait until it has reached the desired height\", we need a conditional loop: the instructions inside the loop will be repeated only as long as a certain condition is true. The altitude of the bot is given by position.z. We already saw that position gives the position of the bot. And a position is given by the three coordinates x, y and z: the x-axis is the axis west-east, the y-axis is the axis south-north, and the z-axis is the vertical axis. Therefore we must wait while position.z is smaller than 20:"
+msgstr "Para \"esperar até alcançar a altura desejada\", precisamos de um laço condicional: as instruções dentro do loop serão repetidas apenas enquanto uma determinada condição for verdadeira. A altitude do robô é dada por position.z. Nós já vimos que position dá a posição do robô. E uma posição é dada pelas três coordenadas x, y e z: o eixo x é o eixo oeste-leste, o eixo y é o eixo sul-norte e o eixo z é o eixo vertical. Portanto, devemos aguardar enquanto position.z for menor que 20:"
+
+#. type: Source code
+#: ../help/help.E.txt:25
+#, no-wrap
+msgid ""
+"\twhile (position.z < 20)\n"
+"\t{\n"
+"\t\twait(0.2);\n"
+"\t}"
+msgstr ""
+"\twhile (position.z < 20)\n"
+"\t{\n"
+"\t\twait(0.2);\n"
+"\t}"
+
+#. type: Plain text
+#: ../help/help.E.txt:30
+#, no-wrap
+msgid "After waiting 0.2 seconds, the program will check if the altitude is still below 20 meters. If this is the case, it will wait a little more, if not, the program continues after the loop, i.e. after the closing brace }. Do not forget after the loop to stabilize the altitude with jet(0);."
+msgstr "Depois de esperar 0,2 segundos, o programa verificará se a altitude ainda está abaixo dos 20 metros. Se este for o caso, ele irá esperar um pouco mais, se não, o programa continua após o loop, ou seja, após a chave de fechamento }. Não esqueça de estabilizar a altitude após o laço com jet(0);."
+
+#. type: \t; header
+#: ../help/help.E.txt:32
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:33
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level003/po/br.po b/levels/exercises/chapter002/level003/po/br.po
deleted file mode 100644
index b9493240..00000000
--- a/levels/exercises/chapter002/level003/po/br.po
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 11:34-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Flying Tower 2"
-msgstr "Torre voadora 2"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Program a flying tower that wastes less energy."
-msgstr "Programe uma torre voadora que desperdice menos energia."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Adapt the program Tower1 in order to avoid wasting energy when"
-" shooting at ants that are out of range."
-msgstr ""
-"Adapte o programa Torre1 para evitar o desperdício de energia ao"
-" atirar em formigas que estejam fora do alcance."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"The program Tower1 shoots in the direction of the closest ant,"
-" even if it is still out of range:"
-msgstr ""
-"O programa Torre1 dispara na direção da formiga mais próxima,"
-" mesmo que ela ainda esteja fora do alcance:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"extern void object::Tour1()\n"
-"{\n"
-"\tobject item;\n"
-"\t\n"
-"\tjet(0.2);\n"
-"\twhile(position.z < 20)\n"
-"\t{\n"
-"\t\twait(0.2);\n"
-"\t}\n"
-"\tjet(0);\n"
-"\t\n"
-"\twhile(true)\n"
-"\t{\n"
-"\t\titem = radar(AlienAnt);\n"
-"\t\tturn(direction(item.position));\n"
-"\t\tfire(1);\n"
-"\t}\n"
-"}"
-msgstr ""
-"extern void object::Torre1()\n"
-"{\n"
-"\tobject item;\n"
-"\t\n"
-"\tjet(0.2);\n"
-"\twhile(position.z < 20)\n"
-"\t{\n"
-"\t\twait(0.2);\n"
-"\t}\n"
-"\tjet(0);\n"
-"\t\n"
-"\twhile(true)\n"
-"\t{\n"
-"\t\titem = radar(AlienAnt);\n"
-"\t\tturn(direction(item.position));\n"
-"\t\tfire(1);\n"
-"\t}\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:26
-#, no-wrap
-msgid ""
-"If the bot must perform the same task than before with only a regular power cell, you can insert a loop that waits until the ant is"
-" close enough, i.e. until the ant is at less than 40 meters. Only one burst"
-" will be needed for every ant then."
-msgstr ""
-"Se o robô deve executar a mesma tarefa que antes, com apenas uma célula de energia normal, você pode inserir um laço que"
-" aguarde até que a formiga esteja próxima o suficiente, ou seja, até que a"
-" formiga esteja abaixo de 40 metros. Apenas uma rajada será necessária para"
-" cada formiga."
-
-#. type: Plain text
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid ""
-"You can give the instruction radar more"
-" parameters (numbers) indicating where the radar should look for the ants."
-" For example radar(AlienAnt,0,360,0,40); will only look for ants that"
-" are closer than 40 meters. The two first numbers tell the radar to search in"
-" all directions, the two last numbers tell the radar to detect only ants that"
-" are at a distance between 0 and 40 meters. If no ant is found that is closer"
-" than 40 meters, the instruction radar"
-" returns the value null. We can then write a conditional loop"
-" similar to the one written in the last exercise that waits as long as there"
-" is no ant closer than 40 meters:"
-msgstr ""
-"Você pode dar à instrução radar mais"
-" parâmetros (números) indicando onde o radar deve procurar as formigas. Por"
-" exemplo, radar(AlienAnt,0,360,0,40); só procurará formigas com menos"
-" de 40 metros. Os dois primeiros números dizem ao radar para procurar em"
-" todas as direções, os dois últimos números dizem ao radar para detectar"
-" apenas as formigas que estão a uma distância entre 0 e 40 metros. Se nenhuma"
-" formiga for encontrada a menos de 40 metros, a instrução radar retornará o valor null. Podemos,"
-" então, escrever um laço condicional semelhante ao que foi escrito no último"
-" exercício que aguarda, desde que não haja formigas a menos de 40 metros:"
-
-#. type: Source code
-#: ../help/help.E.txt:30
-#, no-wrap
-msgid ""
-"\t\twhile (radar(AlienAnt, 0, 360, 0, 40) == null)\n"
-"\t\t{\n"
-"\t\t\twait(0.2);\n"
-"\t\t}"
-msgstr ""
-"\t\twhile (radar(AlienAnt, 0, 360, 0, 40) == null)\n"
-"\t\t{\n"
-"\t\t\twait(0.2);\n"
-"\t\t}"
-
-#. type: Plain text
-#: ../help/help.E.txt:35
-#, no-wrap
-msgid ""
-"Notice that two equal signs \"==\" are needed to perform a comparison of"
-" equality."
-msgstr ""
-"Observe que dois sinais de igual \"==\" são necessários para realizar uma"
-" comparação de igualdade."
-
-#. type: Plain text
-#: ../help/help.E.txt:37
-#, no-wrap
-msgid ""
-"Just insert these lines before the instruction fire(0);, and the bot"
-" will wait before shooting until the ant is closer than 40 meters. Like this"
-" a regular power cell is enough to kill all ants. "
-msgstr ""
-"Apenas insira estas linhas antes da instrução fire(0);, e o robô"
-" esperará antes de disparar até que a formiga esteja a menos de 40 metros."
-" Assim, uma célula de energia regular será suficiente para matar todas as"
-" formigas."
-
-#. type: \t; header
-#: ../help/help.E.txt:39
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:40
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter002/level003/po/pt.po b/levels/exercises/chapter002/level003/po/pt.po
new file mode 100644
index 00000000..181b34c3
--- /dev/null
+++ b/levels/exercises/chapter002/level003/po/pt.po
@@ -0,0 +1,151 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 11:34-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Flying Tower 2"
+msgstr "Torre voadora 2"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Program a flying tower that wastes less energy."
+msgstr "Programe uma torre voadora que desperdice menos energia."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Adapt the program Tower1 in order to avoid wasting energy when shooting at ants that are out of range."
+msgstr "Adapte o programa Torre1 para evitar o desperdício de energia ao atirar em formigas que estejam fora do alcance."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "The program Tower1 shoots in the direction of the closest ant, even if it is still out of range:"
+msgstr "O programa Torre1 dispara na direção da formiga mais próxima, mesmo que ela ainda esteja fora do alcance:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"extern void object::Tour1()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\tjet(0.2);\n"
+"\twhile(position.z < 20)\n"
+"\t{\n"
+"\t\twait(0.2);\n"
+"\t}\n"
+"\tjet(0);\n"
+"\t\n"
+"\twhile(true)\n"
+"\t{\n"
+"\t\titem = radar(AlienAnt);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+"extern void object::Torre1()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\tjet(0.2);\n"
+"\twhile(position.z < 20)\n"
+"\t{\n"
+"\t\twait(0.2);\n"
+"\t}\n"
+"\tjet(0);\n"
+"\t\n"
+"\twhile(true)\n"
+"\t{\n"
+"\t\titem = radar(AlienAnt);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:26
+#, no-wrap
+msgid "If the bot must perform the same task than before with only a regular power cell, you can insert a loop that waits until the ant is close enough, i.e. until the ant is at less than 40 meters. Only one burst will be needed for every ant then."
+msgstr "Se o robô deve executar a mesma tarefa que antes, com apenas uma célula de energia normal, você pode inserir um laço que aguarde até que a formiga esteja próxima o suficiente, ou seja, até que a formiga esteja abaixo de 40 metros. Apenas uma rajada será necessária para cada formiga."
+
+#. type: Plain text
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid "You can give the instruction radar more parameters (numbers) indicating where the radar should look for the ants. For example radar(AlienAnt,0,360,0,40); will only look for ants that are closer than 40 meters. The two first numbers tell the radar to search in all directions, the two last numbers tell the radar to detect only ants that are at a distance between 0 and 40 meters. If no ant is found that is closer than 40 meters, the instruction radar returns the value null. We can then write a conditional loop similar to the one written in the last exercise that waits as long as there is no ant closer than 40 meters:"
+msgstr "Você pode dar à instrução radar mais parâmetros (números) indicando onde o radar deve procurar as formigas. Por exemplo, radar(AlienAnt,0,360,0,40); só procurará formigas com menos de 40 metros. Os dois primeiros números dizem ao radar para procurar em todas as direções, os dois últimos números dizem ao radar para detectar apenas as formigas que estão a uma distância entre 0 e 40 metros. Se nenhuma formiga for encontrada a menos de 40 metros, a instrução radar retornará o valor null. Podemos, então, escrever um laço condicional semelhante ao que foi escrito no último exercício que aguarda, desde que não haja formigas a menos de 40 metros:"
+
+#. type: Source code
+#: ../help/help.E.txt:30
+#, no-wrap
+msgid ""
+"\t\twhile (radar(AlienAnt, 0, 360, 0, 40) == null)\n"
+"\t\t{\n"
+"\t\t\twait(0.2);\n"
+"\t\t}"
+msgstr ""
+"\t\twhile (radar(AlienAnt, 0, 360, 0, 40) == null)\n"
+"\t\t{\n"
+"\t\t\twait(0.2);\n"
+"\t\t}"
+
+#. type: Plain text
+#: ../help/help.E.txt:35
+#, no-wrap
+msgid "Notice that two equal signs \"==\" are needed to perform a comparison of equality."
+msgstr "Observe que dois sinais de igual \"==\" são necessários para realizar uma comparação de igualdade."
+
+#. type: Plain text
+#: ../help/help.E.txt:37
+#, no-wrap
+msgid "Just insert these lines before the instruction fire(0);, and the bot will wait before shooting until the ant is closer than 40 meters. Like this a regular power cell is enough to kill all ants. "
+msgstr "Apenas insira estas linhas antes da instrução fire(0);, e o robô esperará antes de disparar até que a formiga esteja a menos de 40 metros. Assim, uma célula de energia regular será suficiente para matar todas as formigas."
+
+#. type: \t; header
+#: ../help/help.E.txt:39
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:40
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level004/po/br.po b/levels/exercises/chapter002/level004/po/br.po
deleted file mode 100644
index 7a3ec830..00000000
--- a/levels/exercises/chapter002/level004/po/br.po
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 11:40-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Fighter Jet 1"
-msgstr "Jato de combate 1"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Instruct a winged shooter to clean the whole region."
-msgstr "Instrua um atirador alado para limpar toda a região."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objectif"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Program a winged shooter to hunt all ants in the region."
-msgstr ""
-"Programe um atirador alado para caçar todas as formigas"
-" na região."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"In this swamp, a wheeled or tracked shooter is of little use. And ants, in"
-" opposition to spiders, keep moving: you can not just turn towards the"
-" closest ant, move forward and shoot."
-msgstr ""
-"Neste pântano, um atirador com rodas ou esteiras é de pouca utilidade. E as"
-" formigas, em oposição às aranhas, continuam em movimento: você não pode"
-" simplesmente virar-se para a formiga mais próxima, seguir em frente e atirar."
-
-#. type: Plain text
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"The easiest way to solve the problem consists in flying at a height of 10"
-" meters, aiming downward with aim(-20);, and approaching the ant with"
-" a conditional loop as long as the distance is greater than"
-" 20m. In this conditional loop, you must look for the closest ant, turn"
-" towards it, set the motors at full speed with motor(1,1);, and wait"
-" a little, for example 0.2 seconds. All these instructions must be repeated"
-" until the ant is at less than 20 meters. Then just shoot it."
-msgstr ""
-"A maneira mais fácil de resolver o problema consiste em voar a uma altura de"
-" 10 metros, apontando para baixo com aim(-20);, e aproximando a"
-" formiga com um laço condicional enquanto a distância é"
-" maior que 20 metros. Neste laço condicional, você deve procurar a formiga"
-" mais próxima, girar em direção a ela, colocar os motores em velocidade"
-" máxima com motor(1,1); e esperar um pouco, por exemplo 0,2 segundos."
-" Todas estas instruções devem ser repetidas até que a formiga esteja a menos"
-" de 20 metros. Então apenas atire nela."
-
-#. type: \t; header
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:10
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter002/level004/po/pt.po b/levels/exercises/chapter002/level004/po/pt.po
new file mode 100644
index 00000000..9850c68a
--- /dev/null
+++ b/levels/exercises/chapter002/level004/po/pt.po
@@ -0,0 +1,77 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 11:40-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Fighter Jet 1"
+msgstr "Jato de combate 1"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Instruct a winged shooter to clean the whole region."
+msgstr "Instrua um atirador alado para limpar toda a região."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objectif"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Program a winged shooter to hunt all ants in the region."
+msgstr "Programe um atirador alado para caçar todas as formigas na região."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "In this swamp, a wheeled or tracked shooter is of little use. And ants, in opposition to spiders, keep moving: you can not just turn towards the closest ant, move forward and shoot."
+msgstr "Neste pântano, um atirador com rodas ou esteiras é de pouca utilidade. E as formigas, em oposição às aranhas, continuam em movimento: você não pode simplesmente virar-se para a formiga mais próxima, seguir em frente e atirar."
+
+#. type: Plain text
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "The easiest way to solve the problem consists in flying at a height of 10 meters, aiming downward with aim(-20);, and approaching the ant with a conditional loop as long as the distance is greater than 20m. In this conditional loop, you must look for the closest ant, turn towards it, set the motors at full speed with motor(1,1);, and wait a little, for example 0.2 seconds. All these instructions must be repeated until the ant is at less than 20 meters. Then just shoot it."
+msgstr "A maneira mais fácil de resolver o problema consiste em voar a uma altura de 10 metros, apontando para baixo com aim(-20);, e aproximando a formiga com um laço condicional enquanto a distância é maior que 20 metros. Neste laço condicional, você deve procurar a formiga mais próxima, girar em direção a ela, colocar os motores em velocidade máxima com motor(1,1); e esperar um pouco, por exemplo 0,2 segundos. Todas estas instruções devem ser repetidas até que a formiga esteja a menos de 20 metros. Então apenas atire nela."
+
+#. type: \t; header
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:10
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level005/po/br.po b/levels/exercises/chapter002/level005/po/br.po
deleted file mode 100644
index 90ce3e69..00000000
--- a/levels/exercises/chapter002/level005/po/br.po
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 11:51-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Fighter Jet 2"
-msgstr "Jato de combate 2"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Adapt the program to a mountainous terrain."
-msgstr "Adapte o programa a um terreno montanhoso."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Objective"
-msgstr "Objetivo"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Adapt the flying height of the winged shooter to the"
-" terrain."
-msgstr ""
-"Adapte a altura de vôo do atirador alado de acordo com o"
-" terreno."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Program"
-msgstr "Programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"Here is one more time the program of the previous exercise that hunts ants:"
-msgstr ""
-"Aqui está mais uma vez o programa do exercício anterior que caça formigas:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"extern void object::JetFighter1()\n"
-"{\n"
-"\tobject item;\n"
-"\t\n"
-"\taim(-20);\n"
-"\tjet(0.2);\n"
-"\twhile (position.z < 10)\n"
-"\t{\n"
-"\t\twait(0.2);\n"
-"\t}\n"
-"\tjet(0);\n"
-"\t\n"
-"\twhile (true)\n"
-"\t{\n"
-"\t\twhile (radar(AlienAnt, 0, 360, 0, 20) == null)\n"
-"\t\t{\n"
-"\t\t\titem = radar(AlienAnt);\n"
-"\t\t\tturn(direction(item.position));\n"
-"\t\t\tmotor(1,1);\n"
-"\t\t\twait(0.2);\n"
-"\t\t}\n"
-"\t\tfire(1);\n"
-"\t}\n"
-"}"
-msgstr ""
-"extern void object::LutadorJato1()\n"
-"{\n"
-"\tobject item;\n"
-"\t\n"
-"\taim(-20);\n"
-"\tjet(0.2);\n"
-"\twhile (position.z < 10)\n"
-"\t{\n"
-"\t\twait(0.2);\n"
-"\t}\n"
-"\tjet(0);\n"
-"\t\n"
-"\twhile (true)\n"
-"\t{\n"
-"\t\twhile (radar(AlienAnt, 0, 360, 0, 20) == null)\n"
-"\t\t{\n"
-"\t\t\titem = radar(AlienAnt);\n"
-"\t\t\tturn(direction(item.position));\n"
-"\t\t\tmotor(1,1);\n"
-"\t\t\twait(0.2);\n"
-"\t\t}\n"
-"\t\tfire(1);\n"
-"\t}\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:32
-#, no-wrap
-msgid ""
-"The bot always stays at an altitude of 10m above sea level. This is not"
-" adapted to the mountainous terrain of the present exercise, the bot has got"
-" to adapt to the terrain. The best way to do so is to insert just before the"
-" wait(0.2); a test to see if the height above ground is too low or"
-" too high, and to react accordingly."
-msgstr ""
-"O robô sempre fica a uma altitude de 10m acima do nível do mar. Isto não está"
-" adaptado ao terreno montanhoso do presente exercício, o robô tem que se"
-" adaptar ao terreno. A melhor maneira de fazer isso é inserir antes do wait(0.2); um teste para ver se a altura acima do solo é muito baixa ou"
-" muito alta, e reagir de acordo."
-
-#. type: Plain text
-#: ../help/help.E.txt:34
-#, no-wrap
-msgid ""
-"We already saw that position.z gives the altitude above sea"
-" level. topo(position) gives the altitude of"
-" the ground at the position of the bot. If we want the bot to stay at an"
-" altitude between 6 and 9m above ground, we must treat the following cases:"
-" if position.z-topo(position) is smaller than 6, the bot must"
-" climb with jet(1);. If position.z-topo(position) is"
-" greater than 9, the bot must go down with jet(-1);. In order to"
-" program these tests, use the instruction if,"
-" that executes the instructions in braces only once if the condition is true:"
-msgstr ""
-"Nós já vimos que position.z dá a altitude acima do nível do mar."
-" topo(position) dá a altitude do solo na"
-" posição do robô. Se quisermos que o robô permaneça a uma altitude entre 6 e"
-" 9m acima do solo, devemos tratar os seguintes casos: se position.z-topo(position) for menor que 6, o robô deve subir com jet(1);. Se position.z-topo(position) for maior que 9, o"
-" robô deve descer com jet(-1);. Para programar esses testes, use a"
-" instrução if, que executa as instruções entre"
-" chaves apenas uma vez se a condição for verdadeira:"
-
-#. type: Source code
-#: ../help/help.E.txt:36
-#, no-wrap
-msgid ""
-"\tjet(0);\n"
-"\tif (position.z-topo(position) < 6)\n"
-"\t{\n"
-"\t\tjet(1);\n"
-"\t}\n"
-"\t\n"
-"\tif (position.z-topo(position) > 9)\n"
-"\t{\n"
-"\t\tjet(-1);\n"
-"\t}"
-msgstr ""
-"\tjet(0);\n"
-"\tif (position.z-topo(position) < 6)\n"
-"\t{\n"
-"\t\tjet(1);\n"
-"\t}\n"
-"\t\n"
-"\tif (position.z-topo(position) > 9)\n"
-"\t{\n"
-"\t\tjet(-1);\n"
-"\t}"
-
-#. type: Plain text
-#: ../help/help.E.txt:47
-#, no-wrap
-msgid ""
-"Before starting the testing, stabilize the altitude with jet(0);: in"
-" case the height above ground lies between 6 and 9m, the bot must neither"
-" climb nor go down. If afterwards either jet(1); or jet(-1);"
-" is executed, it will cancel the previous jet(0);."
-msgstr ""
-"Antes de iniciar o teste, estabilize a altitude com jet(0);: no caso"
-" de a altura acima do solo ficar entre 6 e 9m, o robô não deve nem subir nem"
-" descer. Se depois jet(1); ou jet(-1); for executado, ele"
-" cancelará a instrução jet(0); anterior."
-
-#. type: Plain text
-#: ../help/help.E.txt:49
-#, no-wrap
-msgid ""
-"Just insert these lines before the wait(0.2), and the bot will"
-" adapt to the terrain. You can then delete the first lines of the program"
-" that set the initial altitude at 10m."
-msgstr ""
-"Apenas insira estas linhas antes do wait(0.2), e o robô irá se"
-" adaptar ao terreno. Você pode então excluir as primeiras linhas do programa"
-" que definem a altitude inicial em 10m."
-
-#. type: \t; header
-#: ../help/help.E.txt:51
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:52
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter002/level005/po/pt.po b/levels/exercises/chapter002/level005/po/pt.po
new file mode 100644
index 00000000..3a6d5da9
--- /dev/null
+++ b/levels/exercises/chapter002/level005/po/pt.po
@@ -0,0 +1,175 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 11:51-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Fighter Jet 2"
+msgstr "Jato de combate 2"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Adapt the program to a mountainous terrain."
+msgstr "Adapte o programa a um terreno montanhoso."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Objective"
+msgstr "Objetivo"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Adapt the flying height of the winged shooter to the terrain."
+msgstr "Adapte a altura de vôo do atirador alado de acordo com o terreno."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Program"
+msgstr "Programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "Here is one more time the program of the previous exercise that hunts ants:"
+msgstr "Aqui está mais uma vez o programa do exercício anterior que caça formigas:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"extern void object::JetFighter1()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\taim(-20);\n"
+"\tjet(0.2);\n"
+"\twhile (position.z < 10)\n"
+"\t{\n"
+"\t\twait(0.2);\n"
+"\t}\n"
+"\tjet(0);\n"
+"\t\n"
+"\twhile (true)\n"
+"\t{\n"
+"\t\twhile (radar(AlienAnt, 0, 360, 0, 20) == null)\n"
+"\t\t{\n"
+"\t\t\titem = radar(AlienAnt);\n"
+"\t\t\tturn(direction(item.position));\n"
+"\t\t\tmotor(1,1);\n"
+"\t\t\twait(0.2);\n"
+"\t\t}\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+msgstr ""
+"extern void object::LutadorJato1()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\taim(-20);\n"
+"\tjet(0.2);\n"
+"\twhile (position.z < 10)\n"
+"\t{\n"
+"\t\twait(0.2);\n"
+"\t}\n"
+"\tjet(0);\n"
+"\t\n"
+"\twhile (true)\n"
+"\t{\n"
+"\t\twhile (radar(AlienAnt, 0, 360, 0, 20) == null)\n"
+"\t\t{\n"
+"\t\t\titem = radar(AlienAnt);\n"
+"\t\t\tturn(direction(item.position));\n"
+"\t\t\tmotor(1,1);\n"
+"\t\t\twait(0.2);\n"
+"\t\t}\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:32
+#, no-wrap
+msgid "The bot always stays at an altitude of 10m above sea level. This is not adapted to the mountainous terrain of the present exercise, the bot has got to adapt to the terrain. The best way to do so is to insert just before the wait(0.2); a test to see if the height above ground is too low or too high, and to react accordingly."
+msgstr "O robô sempre fica a uma altitude de 10m acima do nível do mar. Isto não está adaptado ao terreno montanhoso do presente exercício, o robô tem que se adaptar ao terreno. A melhor maneira de fazer isso é inserir antes do wait(0.2); um teste para ver se a altura acima do solo é muito baixa ou muito alta, e reagir de acordo."
+
+#. type: Plain text
+#: ../help/help.E.txt:34
+#, no-wrap
+msgid "We already saw that position.z gives the altitude above sea level. topo(position) gives the altitude of the ground at the position of the bot. If we want the bot to stay at an altitude between 6 and 9m above ground, we must treat the following cases: if position.z-topo(position) is smaller than 6, the bot must climb with jet(1);. If position.z-topo(position) is greater than 9, the bot must go down with jet(-1);. In order to program these tests, use the instruction if, that executes the instructions in braces only once if the condition is true:"
+msgstr "Nós já vimos que position.z dá a altitude acima do nível do mar. topo(position) dá a altitude do solo na posição do robô. Se quisermos que o robô permaneça a uma altitude entre 6 e 9m acima do solo, devemos tratar os seguintes casos: se position.z-topo(position) for menor que 6, o robô deve subir com jet(1);. Se position.z-topo(position) for maior que 9, o robô deve descer com jet(-1);. Para programar esses testes, use a instrução if, que executa as instruções entre chaves apenas uma vez se a condição for verdadeira:"
+
+#. type: Source code
+#: ../help/help.E.txt:36
+#, no-wrap
+msgid ""
+"\tjet(0);\n"
+"\tif (position.z-topo(position) < 6)\n"
+"\t{\n"
+"\t\tjet(1);\n"
+"\t}\n"
+"\t\n"
+"\tif (position.z-topo(position) > 9)\n"
+"\t{\n"
+"\t\tjet(-1);\n"
+"\t}"
+msgstr ""
+"\tjet(0);\n"
+"\tif (position.z-topo(position) < 6)\n"
+"\t{\n"
+"\t\tjet(1);\n"
+"\t}\n"
+"\t\n"
+"\tif (position.z-topo(position) > 9)\n"
+"\t{\n"
+"\t\tjet(-1);\n"
+"\t}"
+
+#. type: Plain text
+#: ../help/help.E.txt:47
+#, no-wrap
+msgid "Before starting the testing, stabilize the altitude with jet(0);: in case the height above ground lies between 6 and 9m, the bot must neither climb nor go down. If afterwards either jet(1); or jet(-1); is executed, it will cancel the previous jet(0);."
+msgstr "Antes de iniciar o teste, estabilize a altitude com jet(0);: no caso de a altura acima do solo ficar entre 6 e 9m, o robô não deve nem subir nem descer. Se depois jet(1); ou jet(-1); for executado, ele cancelará a instrução jet(0); anterior."
+
+#. type: Plain text
+#: ../help/help.E.txt:49
+#, no-wrap
+msgid "Just insert these lines before the wait(0.2), and the bot will adapt to the terrain. You can then delete the first lines of the program that set the initial altitude at 10m."
+msgstr "Apenas insira estas linhas antes do wait(0.2), e o robô irá se adaptar ao terreno. Você pode então excluir as primeiras linhas do programa que definem a altitude inicial em 10m."
+
+#. type: \t; header
+#: ../help/help.E.txt:51
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:52
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level006/po/br.po b/levels/exercises/chapter002/level006/po/pt.po
similarity index 53%
rename from levels/exercises/chapter002/level006/po/br.po
rename to levels/exercises/chapter002/level006/po/pt.po
index fb5d599b..9ec85cd8 100644
--- a/levels/exercises/chapter002/level006/po/br.po
+++ b/levels/exercises/chapter002/level006/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 12:02-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -49,12 +49,8 @@ msgstr "Programa"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"Here is again the program of the previous exercise that shoots all ants and"
-" adapts to the terrain:"
-msgstr ""
-"Aqui está novamente o programa do exercício anterior que atira em todas as"
-" formigas e se adapta ao terreno:"
+msgid "Here is again the program of the previous exercise that shoots all ants and adapts to the terrain:"
+msgstr "Aqui está novamente o programa do exercício anterior que atira em todas as formigas e se adapta ao terreno:"
#. type: Source code
#: ../help/help.E.txt:7
@@ -68,8 +64,7 @@ msgid ""
"\t\n"
"\twhile (true)\n"
"\t{\n"
-"\t\twhile (radar(AlienAnt, 0, 360, 0, 20)"
-" == null)\n"
+"\t\twhile (radar(AlienAnt, 0, 360, 0, 20) == null)\n"
"\t\t{\n"
"\t\t\titem = radar(AlienAnt);\n"
"\t\t\tturn(direction(item.position));\n"
@@ -99,8 +94,7 @@ msgstr ""
"\t\n"
"\twhile (true)\n"
"\t{\n"
-"\t\twhile (radar(AlienAnt, 0, 360, 0, 20)"
-" == null)\n"
+"\t\twhile (radar(AlienAnt, 0, 360, 0, 20) == null)\n"
"\t\t{\n"
"\t\t\titem = radar(AlienAnt);\n"
"\t\t\tturn(direction(item.position));\n"
@@ -125,33 +119,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:37
#, no-wrap
-msgid ""
-"In order to adapt the program to shooting wasps, you need to make a few"
-" changes. Replace all radar(AlienAnt) with radar(AlienWasp). The cannon must aim straight forward and not"
-" downward, replace aim(-20); with aim(0);. And the bot must"
-" fly at the same height as the wasp. For this, you must compare the altitude"
-" of the bot given by position.z with the altitude of the wasp"
-" given by item.position.z: if position.z >"
-" item.position.z, go down slowly with jet(-0.3);. If position.z < item.position.z-1, climb slowly with jet(0.3);."
-" A winged shooter is higher than a wasp, therefore it is better if the"
-" altitude of the bot is a little lower than the altitude of the wasp. In this"
-" case, we admit that the altitude of the bot ranges between the altitude of"
-" the wasp and the altitude of the wasp minus 1."
-msgstr ""
-"A fim de adaptar o programa para atirar em vespas, você precisa fazer algumas"
-" alterações. Substitua todos os radar(AlienAnt) por radar(AlienWasp). O canhão deve apontar para frente e não para baixo,"
-" substituir aim(-20); por aim(0);. E o robô deve voar na"
-" mesma altura da vespa. Para isso, você deve comparar a altitude do robô dada"
-" por position.z com a altitude da vespa dada por item.position.z: se position.z > item.position.z, desça"
-" lentamente com jet(-0.3);. Se position.z < item.position.z-1<"
-"/code>, suba lentamente com jet(0.3);. Um atirador alado é mais alto"
-" que uma vespa, portanto é melhor se a altitude do robô for um pouco menor"
-" que a altitude da vespa. Neste caso, admitimos que a altitude do robô varia"
-" entre a altitude da vespa e a altitude da vespa menos 1."
+msgid "In order to adapt the program to shooting wasps, you need to make a few changes. Replace all radar(AlienAnt) with radar(AlienWasp). The cannon must aim straight forward and not downward, replace aim(-20); with aim(0);. And the bot must fly at the same height as the wasp. For this, you must compare the altitude of the bot given by position.z with the altitude of the wasp given by item.position.z: if position.z > item.position.z, go down slowly with jet(-0.3);. If position.z < item.position.z-1, climb slowly with jet(0.3);. A winged shooter is higher than a wasp, therefore it is better if the altitude of the bot is a little lower than the altitude of the wasp. In this case, we admit that the altitude of the bot ranges between the altitude of the wasp and the altitude of the wasp minus 1."
+msgstr "A fim de adaptar o programa para atirar em vespas, você precisa fazer algumas alterações. Substitua todos os radar(AlienAnt) por radar(AlienWasp). O canhão deve apontar para frente e não para baixo, substituir aim(-20); por aim(0);. E o robô deve voar na mesma altura da vespa. Para isso, você deve comparar a altitude do robô dada por position.z com a altitude da vespa dada por item.position.z: se position.z > item.position.z, desça lentamente com jet(-0.3);. Se position.z < item.position.z-1, suba lentamente com jet(0.3);. Um atirador alado é mais alto que uma vespa, portanto é melhor se a altitude do robô for um pouco menor que a altitude da vespa. Neste caso, admitimos que a altitude do robô varia entre a altitude da vespa e a altitude da vespa menos 1."
#. type: \t; header
#: ../help/help.E.txt:39
@@ -162,16 +131,8 @@ msgstr "Melhoria adicional"
#. type: Plain text
#: ../help/help.E.txt:40
#, no-wrap
-msgid ""
-"Wasps move very fast. In order to increase your chances to get them, better"
-" to repeat just before the fire(1); a radar and a turn in order to perform a last readjustment of the direction before"
-" the shot."
-msgstr ""
-"Vespas se movem muito rápido. Para aumentar suas chances de abatê-las, é"
-" melhor repetir logo antes do fire(1); um radar e um <"
-"code>turn a fim de executar um último reajuste na direção antes do"
-" tiro."
+msgid "Wasps move very fast. In order to increase your chances to get them, better to repeat just before the fire(1); a radar and a turn in order to perform a last readjustment of the direction before the shot."
+msgstr "Vespas se movem muito rápido. Para aumentar suas chances de abatê-las, é melhor repetir logo antes do fire(1); um radar e um turn a fim de executar um último reajuste na direção antes do tiro."
#. type: \t; header
#: ../help/help.E.txt:42
@@ -182,10 +143,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:43
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter002/level007/po/br.po b/levels/exercises/chapter002/level007/po/pt.po
similarity index 51%
rename from levels/exercises/chapter002/level007/po/br.po
rename to levels/exercises/chapter002/level007/po/pt.po
index 33f4e296..75c62bbc 100644
--- a/levels/exercises/chapter002/level007/po/br.po
+++ b/levels/exercises/chapter002/level007/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 12:16-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,12 +43,8 @@ msgstr "Objetivo"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Bring down the flying wasps in a more efficient way than with the previous"
-" program."
-msgstr ""
-"Derrube as vespas voadoras de uma maneira mais eficiente do que com o"
-" programa anterior."
+msgid "Bring down the flying wasps in a more efficient way than with the previous program."
+msgstr "Derrube as vespas voadoras de uma maneira mais eficiente do que com o programa anterior."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -59,12 +55,8 @@ msgstr "Programa"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"Here is again the program of the previous exercise that shoots down all the"
-" wasps after many, many unsuccessful attempts:"
-msgstr ""
-"Aqui está novamente o programa do exercício anterior que abate todas as"
-" vespas depois de muitas, muitas tentativas malsucedidas:"
+msgid "Here is again the program of the previous exercise that shoots down all the wasps after many, many unsuccessful attempts:"
+msgstr "Aqui está novamente o programa do exercício anterior que abate todas as vespas depois de muitas, muitas tentativas malsucedidas:"
#. type: Source code
#: ../help/help.E.txt:7
@@ -78,8 +70,7 @@ msgid ""
"\t\n"
"\twhile (true)\n"
"\t{\n"
-"\t\twhile (radar(AlienWasp, 0, 360, 0,"
-" 20) == null)\n"
+"\t\twhile (radar(AlienWasp, 0, 360, 0, 20) == null)\n"
"\t\t{\n"
"\t\t\titem = radar(AlienWasp);\n"
"\t\t\tturn(direction(item.position));\n"
@@ -112,8 +103,7 @@ msgstr ""
"\t\n"
"\twhile (true)\n"
"\t{\n"
-"\t\twhile (radar(AlienWasp, 0, 360, 0,"
-" 20) == null)\n"
+"\t\twhile (radar(AlienWasp, 0, 360, 0, 20) == null)\n"
"\t\t{\n"
"\t\t\titem = radar(AlienWasp);\n"
"\t\t\tturn(direction(item.position));\n"
@@ -141,47 +131,20 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:40
#, no-wrap
-msgid ""
-"The many failures are due to the fact that the wasp is already gone before"
-" the bullets can reach it. The only way to improve the program consists in"
-" setting the power of the two motors and of the jet in such a way that the"
-" bot follows the movement of the target during the burst."
-msgstr ""
-"As muitas falhas se devem ao fato de que a vespa já se foi antes que as balas"
-" possam alcançá-la. A única maneira de melhorar o programa consiste em"
-" ajustar a potência dos dois motores e do jato de tal maneira que o robô siga"
-" o movimento do alvo durante a rajada."
+msgid "The many failures are due to the fact that the wasp is already gone before the bullets can reach it. The only way to improve the program consists in setting the power of the two motors and of the jet in such a way that the bot follows the movement of the target during the burst."
+msgstr "As muitas falhas se devem ao fato de que a vespa já se foi antes que as balas possam alcançá-la. A única maneira de melhorar o programa consiste em ajustar a potência dos dois motores e do jato de tal maneira que o robô siga o movimento do alvo durante a rajada."
#. type: Plain text
#: ../help/help.E.txt:42
#, no-wrap
-msgid ""
-"Just before the shot, the program adjusts a last time the direction with turn(direction(item.position));. In order to follow the wasp during the"
-" burst, you have to \"remember\" the angle of this last rotation: if the"
-" angle was positive (rotation to the left), the bot must continue to turn"
-" left during the burst; if the angle was negative, the bot must continue to"
-" turn right."
-msgstr ""
-"Pouco antes do disparo, o programa ajusta pela última vez a direção com turn(direction(item.position));. Para acompanhar a vespa durante a"
-" rajada, você deve \"lembrar\" o ângulo desta última rotação: se o ângulo foi"
-" positivo (rotação para a esquerda), o robô deve continuar a virar à esquerda"
-" durante a rajada; Se o ângulo foi negativo, o robô deve continuar a virar à"
-" direita."
+msgid "Just before the shot, the program adjusts a last time the direction with turn(direction(item.position));. In order to follow the wasp during the burst, you have to \"remember\" the angle of this last rotation: if the angle was positive (rotation to the left), the bot must continue to turn left during the burst; if the angle was negative, the bot must continue to turn right."
+msgstr "Pouco antes do disparo, o programa ajusta pela última vez a direção com turn(direction(item.position));. Para acompanhar a vespa durante a rajada, você deve \"lembrar\" o ângulo desta última rotação: se o ângulo foi positivo (rotação para a esquerda), o robô deve continuar a virar à esquerda durante a rajada; Se o ângulo foi negativo, o robô deve continuar a virar à direita."
#. type: Plain text
#: ../help/help.E.txt:44
#, no-wrap
-msgid ""
-"In order to \"remember\" the angle of the last rotation, we need a variable"
-" that can contain just one number. If we choose to call it angle, we must define the variable with the following line at the beginning of"
-" the program:"
-msgstr ""
-"Para \"lembrar\" o ângulo da última rotação, precisamos de uma variável que"
-" possa conter apenas um número. Se escolhermos chamá-lo de angulo"
-" code>, devemos definir a variável com a seguinte linha no início do programa:"
+msgid "In order to \"remember\" the angle of the last rotation, we need a variable that can contain just one number. If we choose to call it angle, we must define the variable with the following line at the beginning of the program:"
+msgstr "Para \"lembrar\" o ângulo da última rotação, precisamos de uma variável que possa conter apenas um número. Se escolhermos chamá-lo de angulo code>, devemos definir a variável com a seguinte linha no início do programa:"
#. type: Source code
#: ../help/help.E.txt:46
@@ -192,28 +155,14 @@ msgstr "\tfloat angulo;"
#. type: Plain text
#: ../help/help.E.txt:48
#, no-wrap
-msgid ""
-"The variable type float is the variable type that can"
-" contain any number, i.e. whole numbers or real numbers. Please refer to the"
-" text about variable types if you want to know more about"
-" the different types of variables and what they can contain."
-msgstr ""
-"O tipo de variável float é o tipo de variável que pode"
-" conter qualquer número, ou seja, números inteiros ou reais. Por favor,"
-" consulte o texto sobre tipos de variáveis se você quiser"
-" saber mais sobre os diferentes tipos de variáveis e o que elas podem conter."
+msgid "The variable type float is the variable type that can contain any number, i.e. whole numbers or real numbers. Please refer to the text about variable types if you want to know more about the different types of variables and what they can contain."
+msgstr "O tipo de variável float é o tipo de variável que pode conter qualquer número, ou seja, números inteiros ou reais. Por favor, consulte o texto sobre tipos de variáveis se você quiser saber mais sobre os diferentes tipos de variáveis e o que elas podem conter."
#. type: Plain text
#: ../help/help.E.txt:50
#, no-wrap
-msgid ""
-"Just before the instruction fire(1);, instead of writing turn(direction(item.position));, we"
-" will put the rotation angle into the variable angle:"
-msgstr ""
-"Pouco antes da instrução fire(1);, em vez de escrever turn(direction(item.position));, vamos"
-" colocar o ângulo de rotação na variável angulo:"
+msgid "Just before the instruction fire(1);, instead of writing turn(direction(item.position));, we will put the rotation angle into the variable angle:"
+msgstr "Pouco antes da instrução fire(1);, em vez de escrever turn(direction(item.position));, vamos colocar o ângulo de rotação na variável angulo:"
#. type: Source code
#: ../help/help.E.txt:52
@@ -224,12 +173,8 @@ msgstr "\tangulo = direction(item.position);"
#. type: Plain text
#: ../help/help.E.txt:54
#, no-wrap
-msgid ""
-"Then we perform the rotation, and we set the power of the motors so that the"
-" bot continues the movement:"
-msgstr ""
-"Em seguida, realizamos a rotação e definimos a potência dos motores para que"
-" o robô continue o movimento:"
+msgid "Then we perform the rotation, and we set the power of the motors so that the bot continues the movement:"
+msgstr "Em seguida, realizamos a rotação e definimos a potência dos motores para que o robô continue o movimento:"
#. type: Source code
#: ../help/help.E.txt:56
@@ -258,23 +203,14 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:66
#, no-wrap
-msgid ""
-"The instruction else determines what instructions the program"
-" should execute if the condition stated in the if instruction is"
-" false."
-msgstr ""
-"A instrução else determina quais instruções o programa deve"
-" executar se a condição declarada na instrução if for falsa."
+msgid "The instruction else determines what instructions the program should execute if the condition stated in the if instruction is false."
+msgstr "A instrução else determina quais instruções o programa deve executar se a condição declarada na instrução if for falsa."
#. type: Plain text
#: ../help/help.E.txt:68
#, no-wrap
-msgid ""
-"Then we must set the power of the jet so that the bot follows the wasp also"
-" in the vertical direction:"
-msgstr ""
-"Então devemos definir o poder do jato para que o robô siga a vespa também na"
-" direção vertical:"
+msgid "Then we must set the power of the jet so that the bot follows the wasp also in the vertical direction:"
+msgstr "Então devemos definir o poder do jato para que o robô siga a vespa também na direção vertical:"
#. type: Source code
#: ../help/help.E.txt:70
@@ -305,8 +241,7 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:81
#, no-wrap
-msgid ""
-"As you will see, this program is much more efficient than the previous one!"
+msgid "As you will see, this program is much more efficient than the previous one!"
msgstr "Como você verá, este programa é muito mais eficiente que o anterior!"
#. type: \t; header
@@ -318,10 +253,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:84
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level001/po/br.po b/levels/exercises/chapter003/level001/po/pt.po
similarity index 68%
rename from levels/exercises/chapter003/level001/po/br.po
rename to levels/exercises/chapter003/level001/po/pt.po
index 40ed1f59..ad80717e 100644
--- a/levels/exercises/chapter003/level001/po/br.po
+++ b/levels/exercises/chapter003/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 12:41-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,12 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Program the robot in such a way that it arrives on the finishing pad, after"
-" having passed by the three blue crosses."
-msgstr ""
-"Programe o robô de tal maneira que ele chegue ao finalizador, depois de"
-" passar pelas três cruzes azuis."
+msgid "Program the robot in such a way that it arrives on the finishing pad, after having passed by the three blue crosses."
+msgstr "Programe o robô de tal maneira que ele chegue ao finalizador, depois de passar pelas três cruzes azuis."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -71,22 +67,14 @@ msgstr "Ande por aí em reconhecimento para entender o que o robô deve fazer."
#. type: Bullet: '3)'
#: ../help/help.E.txt:7
#, no-wrap
-msgid ""
-"Program the bot. To do so, you must select it, and then click on the braces"
-" button ; you will get into the program editor."
-msgstr ""
-"Programe o robô. Para fazer isso, você deve selecioná-lo e, em seguida,"
-" clicar no botão de chaves ; você entrará no editor do programa."
+msgid "Program the bot. To do so, you must select it, and then click on the braces button ; you will get into the program editor."
+msgstr "Programe o robô. Para fazer isso, você deve selecioná-lo e, em seguida, clicar no botão de chaves ; você entrará no editor do programa."
#. type: Bullet: '4)'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"Once you finished writing the program, click \"OK\", and execute the program"
-" with the arrow key ."
-msgstr ""
-"Quando terminar de escrever o programa, clique em \"OK\" e execute o programa"
-" com a tecla de seta ."
+msgid "Once you finished writing the program, click \"OK\", and execute the program with the arrow key ."
+msgstr "Quando terminar de escrever o programa, clique em \"OK\" e execute o programa com a tecla de seta ."
#. type: \b; header
#: ../help/help.E.txt:10
@@ -105,8 +93,7 @@ msgid ""
msgstr ""
"As almofadas estão a uma distância de 20 metros uma da outra. \n"
"A instrução move (20); move-se 20 metros para a frente. \n"
-"A instrução gira (90); vira à esquerda com um ângulo de 90 graus."
-" \n"
+"A instrução gira (90); vira à esquerda com um ângulo de 90 graus. \n"
"A instrução gira (-90); vira à direita com um ângulo de 90 graus."
#. type: Plain text
@@ -132,13 +119,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:23
#, no-wrap
-msgid ""
-"For now, you must not change the frame of the program. Just insert the"
-" instructions you need to move the bot around between the braces { }<"
-"/code>."
-msgstr ""
-"Por enquanto, você não deve alterar o quadro do programa. Basta inserir as"
-" instruções necessárias para mover o robô entre as chaves { }."
+msgid "For now, you must not change the frame of the program. Just insert the instructions you need to move the bot around between the braces { }."
+msgstr "Por enquanto, você não deve alterar o quadro do programa. Basta inserir as instruções necessárias para mover o robô entre as chaves { }."
#. type: \b; header
#: ../help/help.E.txt:25
@@ -165,13 +147,8 @@ msgstr "Truque Útil"
#. type: Plain text
#: ../help/help.E.txt:30
#, no-wrap
-msgid ""
-"When you write the program, you can watch the scene by clicking on the button"
-" , and by moving the mouse to the edges of the window to"
-" turn the camera. "
-msgstr ""
-"Ao escrever o programa, você pode assistir a cena clicando no botão "
-" , e movendo o mouse até as bordas da janela para girar a câmera."
+msgid "When you write the program, you can watch the scene by clicking on the button , and by moving the mouse to the edges of the window to turn the camera. "
+msgstr "Ao escrever o programa, você pode assistir a cena clicando no botão , e movendo o mouse até as bordas da janela para girar a câmera."
#. type: \t; header
#: ../help/help.E.txt:32
@@ -182,10 +159,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:33
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level002/po/br.po b/levels/exercises/chapter003/level002/po/br.po
deleted file mode 100644
index 0532c874..00000000
--- a/levels/exercises/chapter003/level002/po/br.po
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 14:17-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Follow with variables"
-msgstr "Siga com variáveis"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Use variables in order to store the parameters of the path."
-msgstr "Use variáveis para armazenar os parâmetros do caminho."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"This exercise is very similar to the previous one. The bot must move exactly"
-" in the same way, but when writing the program, you must use a new concept"
-" that is extremely important in programming: variables.\n"
-"We saw that all the pads are at a distance form each other of 20 meters. And"
-" all the rotations performed consist in 90 degree angles. Instead of"
-" rewriting the same values over and over again in the program, we can store"
-" them in a variable: "
-msgstr ""
-"Este exercício é muito semelhante ao anterior. O robô deve se mover"
-" exatamente da mesma maneira, mas ao escrever o programa, você deve usar um"
-" novo conceito que é extremamente importante na programação: variáveis. \n"
-"Vimos que todas as almofadas estão a uma distância de 20 metros. E todas as"
-" rotações realizadas consistem em ângulos de 90 graus. Em vez de reescrever"
-" os mesmos valores repetidas vezes no programa, podemos armazená-los em uma"
-" variável:"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"Instead of:\n"
-"\tmove(20);"
-msgstr ""
-"Em vez de:\n"
-"\tmove(20);"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"\tturn(90);\n"
-"\tmove(20);\n"
-"\tturn(-90);\n"
-"\t..."
-msgstr ""
-"\tturn(90);\n"
-"\tmove(20);\n"
-"\tturn(-90);\n"
-"\t..."
-
-#. type: Plain text
-#: ../help/help.E.txt:12
-#, no-wrap
-msgid ""
-"We write :\n"
-"\tdist = 20;"
-msgstr ""
-"Nós escrevemos:\n"
-"\tdist = 20;"
-
-#. type: Source code
-#: ../help/help.E.txt:14
-#, no-wrap
-msgid ""
-"\tdir = 90;\n"
-"\tmove(dist);\n"
-"\tturn(dir);\n"
-"\tmove(dist);\n"
-"\tturn(-dir);\n"
-"\t..."
-msgstr ""
-"\tdir = 90;\n"
-"\tmove(dist);\n"
-"\tturn(dir);\n"
-"\tmove(dist);\n"
-"\tturn(-dir);\n"
-"\t..."
-
-#. type: \b; header
-#: ../help/help.E.txt:21
-#, no-wrap
-msgid "Variables"
-msgstr "Variáveis"
-
-#. type: Plain text
-#: ../help/help.E.txt:22
-#, no-wrap
-msgid "A variable is composed of three elements: "
-msgstr "Uma variável é composta de três elementos:"
-
-#. type: Bullet: '1)'
-#: ../help/help.E.txt:23
-#, no-wrap
-msgid "The name,"
-msgstr "O nome,"
-
-#. type: Bullet: '2)'
-#: ../help/help.E.txt:24
-#, no-wrap
-msgid "The type of the content,"
-msgstr "O tipo do conteúdo,"
-
-#. type: Bullet: '3)'
-#: ../help/help.E.txt:25
-#, no-wrap
-msgid "The content."
-msgstr "O conteúdo."
-
-#. type: \t; header
-#: ../help/help.E.txt:27
-#, no-wrap
-msgid "The name"
-msgstr "O nome"
-
-#. type: Plain text
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid ""
-"Use the name to refer to a variable. For example, instead of writing move(20);, write move(dist);: \"dist\" is the name of the"
-" variable. You can choose almost any name for a variable, for example dist, dir, p2, a, x<"
-"/code>, nothing_2_grab, etc."
-msgstr ""
-"Use o nome para se referir a uma variável. Por exemplo, em vez de escrever <"
-"c/>move(20);, escreva move(dist);: \"dist\" é o nome da variável."
-" Você pode escolher praticamente qualquer nome para uma variável, por"
-" exemplo, dist, dir, p2, a, x, nada_pegar, etc."
-
-#. type: \t; header
-#: ../help/help.E.txt:30
-#, no-wrap
-msgid "The type"
-msgstr "O tipo"
-
-#. type: Plain text
-#: ../help/help.E.txt:31
-#, no-wrap
-msgid ""
-"The type of a variable determines what kind of information the variable can"
-" contain. According to the type, a variable can contain a whole number, a"
-" real number, a character string, the coordinates of a point, etc. Here is a"
-" list with the most common variable types: "
-msgstr ""
-"O tipo de variável determina o tipo de informação que a variável pode conter."
-" De acordo com o tipo, uma variável pode conter um número inteiro, um número"
-" real, uma cadeia de caracteres, as coordenadas de um ponto, etc. Aqui está"
-" uma lista com os tipos de variáveis mais comuns:"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:32
-#, no-wrap
-msgid "int for a whole number (12, -500, etc.)"
-msgstr ""
-"int para um número inteiro (12, -500, etc.)"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:33
-#, no-wrap
-msgid ""
-"float for a real number (3.14, 0.2, -99.98,"
-" etc.)"
-msgstr ""
-"float para um número real (3.14, 0.2, -99.98,"
-" etc.)"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:34
-#, no-wrap
-msgid ""
-"string for a character string (\"Hello!\","
-" \"Nothing to grab\", etc.)"
-msgstr ""
-"string para uma cadeira de caracteres"
-" (\"Olá!\", \"Nada para pegar\", etc.)"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:35
-#, no-wrap
-msgid ""
-"point for the x,y,z-coordinates of a point in"
-" space"
-msgstr ""
-"point para as coordenadas x, y e z de um ponto"
-" no espaço"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:36
-#, no-wrap
-msgid ""
-"object for the information about an object"
-" (bot, building, etc.) "
-msgstr ""
-"object para as informações sobre um objeto"
-" (robô, edifício, etc.)"
-
-#. type: \t; header
-#: ../help/help.E.txt:38
-#, no-wrap
-msgid "The content"
-msgstr "O conteúdo"
-
-#. type: Plain text
-#: ../help/help.E.txt:39
-#, no-wrap
-msgid ""
-"The content of a variable can be a number, a string, coordinates, etc.,"
-" according to the type of the variable. The content of a variable can change"
-" many times during the execution of a program. "
-msgstr ""
-"O conteúdo de uma variável pode ser um número, uma string, coordenadas, etc.,"
-" de acordo com o tipo da variável. O conteúdo de uma variável pode mudar"
-" muitas vezes durante a execução de um programa."
-
-#. type: Plain text
-#: ../help/help.E.txt:41
-#, no-wrap
-msgid ""
-"Before you can use a variable, you have to declare it. For example, before"
-" you can use the two variables dist and dir, you"
-" must declare them with the following lines: "
-msgstr ""
-"Antes de poder usar uma variável, você precisa declará-la. Por exemplo, antes"
-" de poder usar as duas variáveis dist e dir, você"
-" deve declará-las com as seguintes linhas:"
-
-#. type: Source code
-#: ../help/help.E.txt:43
-#, no-wrap
-msgid ""
-"\tfloat dist;\n"
-"\tfloat dir;"
-msgstr ""
-"\tfloat dist;\n"
-"\tfloat dir;"
-
-#. type: Plain text
-#: ../help/help.E.txt:46
-#, no-wrap
-msgid ""
-"Now you can use the two variables. To put the value 20 into dist"
-" and 90 into dir, write:"
-msgstr ""
-"Agora você pode usar as duas variáveis. Para colocar o valor 20 em dist e 90 em dir, escreva:"
-
-#. type: Source code
-#: ../help/help.E.txt:48
-#, no-wrap
-msgid ""
-"\tdist = 20;\n"
-"\tdir = 90;"
-msgstr ""
-"\tdist = 20;\n"
-"\tdir = 90;"
-
-#. type: Plain text
-#: ../help/help.E.txt:51
-#, no-wrap
-msgid ""
-"Now you can move and turn the bot with the instructions move and turn:"
-msgstr ""
-"Agora você pode mover e girar o robô com as instruções move e turn:"
-
-#. type: Source code
-#: ../help/help.E.txt:53
-#, no-wrap
-msgid ""
-"\tmove(dist);\n"
-"\tturn(dir);"
-msgstr ""
-"\tmove(dist);\n"
-"\tturn(dir);"
-
-#. type: Plain text
-#: ../help/help.E.txt:56
-#, no-wrap
-msgid ""
-"You can also use a whole mathematical expression instead of"
-" just the variable:"
-msgstr ""
-"Você também pode usar uma expressão matemática em vez de"
-" apenas a variável:"
-
-#. type: Source code
-#: ../help/help.E.txt:58
-#, no-wrap
-msgid ""
-"\tmove(dist+100);\n"
-"\tturn(-dir);"
-msgstr ""
-"\tmove(dist+100);\n"
-"\tturn(-dir);"
-
-#. type: Plain text
-#: ../help/help.E.txt:61
-#, no-wrap
-msgid "The latter instruction will be needed to turn the bot right. "
-msgstr "A última instrução será necessária para ativar o robô."
-
-#. type: Plain text
-#: ../help/help.E.txt:63
-#, no-wrap
-msgid ""
-"Now, rewrite the program of the previous exercise, but use a variable for the"
-" distance and another variable for the angle of the rotation. "
-msgstr ""
-"Agora, reescreva o programa do exercício anterior, mas use uma variável para"
-" a distância e outra variável para o ângulo da rotação."
-
-#. type: \t; header
-#: ../help/help.E.txt:65
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:66
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter003/level002/po/pt.po b/levels/exercises/chapter003/level002/po/pt.po
new file mode 100644
index 00000000..285afe92
--- /dev/null
+++ b/levels/exercises/chapter003/level002/po/pt.po
@@ -0,0 +1,287 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 14:17-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Follow with variables"
+msgstr "Siga com variáveis"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Use variables in order to store the parameters of the path."
+msgstr "Use variáveis para armazenar os parâmetros do caminho."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid ""
+"This exercise is very similar to the previous one. The bot must move exactly in the same way, but when writing the program, you must use a new concept that is extremely important in programming: variables.\n"
+"We saw that all the pads are at a distance form each other of 20 meters. And all the rotations performed consist in 90 degree angles. Instead of rewriting the same values over and over again in the program, we can store them in a variable: "
+msgstr ""
+"Este exercício é muito semelhante ao anterior. O robô deve se mover exatamente da mesma maneira, mas ao escrever o programa, você deve usar um novo conceito que é extremamente importante na programação: variáveis. \n"
+"Vimos que todas as almofadas estão a uma distância de 20 metros. E todas as rotações realizadas consistem em ângulos de 90 graus. Em vez de reescrever os mesmos valores repetidas vezes no programa, podemos armazená-los em uma variável:"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid ""
+"Instead of:\n"
+"\tmove(20);"
+msgstr ""
+"Em vez de:\n"
+"\tmove(20);"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"\tturn(90);\n"
+"\tmove(20);\n"
+"\tturn(-90);\n"
+"\t..."
+msgstr ""
+"\tturn(90);\n"
+"\tmove(20);\n"
+"\tturn(-90);\n"
+"\t..."
+
+#. type: Plain text
+#: ../help/help.E.txt:12
+#, no-wrap
+msgid ""
+"We write :\n"
+"\tdist = 20;"
+msgstr ""
+"Nós escrevemos:\n"
+"\tdist = 20;"
+
+#. type: Source code
+#: ../help/help.E.txt:14
+#, no-wrap
+msgid ""
+"\tdir = 90;\n"
+"\tmove(dist);\n"
+"\tturn(dir);\n"
+"\tmove(dist);\n"
+"\tturn(-dir);\n"
+"\t..."
+msgstr ""
+"\tdir = 90;\n"
+"\tmove(dist);\n"
+"\tturn(dir);\n"
+"\tmove(dist);\n"
+"\tturn(-dir);\n"
+"\t..."
+
+#. type: \b; header
+#: ../help/help.E.txt:21
+#, no-wrap
+msgid "Variables"
+msgstr "Variáveis"
+
+#. type: Plain text
+#: ../help/help.E.txt:22
+#, no-wrap
+msgid "A variable is composed of three elements: "
+msgstr "Uma variável é composta de três elementos:"
+
+#. type: Bullet: '1)'
+#: ../help/help.E.txt:23
+#, no-wrap
+msgid "The name,"
+msgstr "O nome,"
+
+#. type: Bullet: '2)'
+#: ../help/help.E.txt:24
+#, no-wrap
+msgid "The type of the content,"
+msgstr "O tipo do conteúdo,"
+
+#. type: Bullet: '3)'
+#: ../help/help.E.txt:25
+#, no-wrap
+msgid "The content."
+msgstr "O conteúdo."
+
+#. type: \t; header
+#: ../help/help.E.txt:27
+#, no-wrap
+msgid "The name"
+msgstr "O nome"
+
+#. type: Plain text
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid "Use the name to refer to a variable. For example, instead of writing move(20);, write move(dist);: \"dist\" is the name of the variable. You can choose almost any name for a variable, for example dist, dir, p2, a, x, nothing_2_grab, etc."
+msgstr "Use o nome para se referir a uma variável. Por exemplo, em vez de escrever move(20);, escreva move(dist);: \"dist\" é o nome da variável. Você pode escolher praticamente qualquer nome para uma variável, por exemplo, dist, dir, p2, a, x, nada_pegar, etc."
+
+#. type: \t; header
+#: ../help/help.E.txt:30
+#, no-wrap
+msgid "The type"
+msgstr "O tipo"
+
+#. type: Plain text
+#: ../help/help.E.txt:31
+#, no-wrap
+msgid "The type of a variable determines what kind of information the variable can contain. According to the type, a variable can contain a whole number, a real number, a character string, the coordinates of a point, etc. Here is a list with the most common variable types: "
+msgstr "O tipo de variável determina o tipo de informação que a variável pode conter. De acordo com o tipo, uma variável pode conter um número inteiro, um número real, uma cadeia de caracteres, as coordenadas de um ponto, etc. Aqui está uma lista com os tipos de variáveis mais comuns:"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:32
+#, no-wrap
+msgid "int for a whole number (12, -500, etc.)"
+msgstr "int para um número inteiro (12, -500, etc.)"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:33
+#, no-wrap
+msgid "float for a real number (3.14, 0.2, -99.98, etc.)"
+msgstr "float para um número real (3.14, 0.2, -99.98, etc.)"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:34
+#, no-wrap
+msgid "string for a character string (\"Hello!\", \"Nothing to grab\", etc.)"
+msgstr "string para uma cadeira de caracteres (\"Olá!\", \"Nada para pegar\", etc.)"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:35
+#, no-wrap
+msgid "point for the x,y,z-coordinates of a point in space"
+msgstr "point para as coordenadas x, y e z de um ponto no espaço"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:36
+#, no-wrap
+msgid "object for the information about an object (bot, building, etc.) "
+msgstr "object para as informações sobre um objeto (robô, edifício, etc.)"
+
+#. type: \t; header
+#: ../help/help.E.txt:38
+#, no-wrap
+msgid "The content"
+msgstr "O conteúdo"
+
+#. type: Plain text
+#: ../help/help.E.txt:39
+#, no-wrap
+msgid "The content of a variable can be a number, a string, coordinates, etc., according to the type of the variable. The content of a variable can change many times during the execution of a program. "
+msgstr "O conteúdo de uma variável pode ser um número, uma string, coordenadas, etc., de acordo com o tipo da variável. O conteúdo de uma variável pode mudar muitas vezes durante a execução de um programa."
+
+#. type: Plain text
+#: ../help/help.E.txt:41
+#, no-wrap
+msgid "Before you can use a variable, you have to declare it. For example, before you can use the two variables dist and dir, you must declare them with the following lines: "
+msgstr "Antes de poder usar uma variável, você precisa declará-la. Por exemplo, antes de poder usar as duas variáveis dist e dir, você deve declará-las com as seguintes linhas:"
+
+#. type: Source code
+#: ../help/help.E.txt:43
+#, no-wrap
+msgid ""
+"\tfloat dist;\n"
+"\tfloat dir;"
+msgstr ""
+"\tfloat dist;\n"
+"\tfloat dir;"
+
+#. type: Plain text
+#: ../help/help.E.txt:46
+#, no-wrap
+msgid "Now you can use the two variables. To put the value 20 into dist and 90 into dir, write:"
+msgstr "Agora você pode usar as duas variáveis. Para colocar o valor 20 em dist e 90 em dir, escreva:"
+
+#. type: Source code
+#: ../help/help.E.txt:48
+#, no-wrap
+msgid ""
+"\tdist = 20;\n"
+"\tdir = 90;"
+msgstr ""
+"\tdist = 20;\n"
+"\tdir = 90;"
+
+#. type: Plain text
+#: ../help/help.E.txt:51
+#, no-wrap
+msgid "Now you can move and turn the bot with the instructions move and turn:"
+msgstr "Agora você pode mover e girar o robô com as instruções move e turn:"
+
+#. type: Source code
+#: ../help/help.E.txt:53
+#, no-wrap
+msgid ""
+"\tmove(dist);\n"
+"\tturn(dir);"
+msgstr ""
+"\tmove(dist);\n"
+"\tturn(dir);"
+
+#. type: Plain text
+#: ../help/help.E.txt:56
+#, no-wrap
+msgid "You can also use a whole mathematical expression instead of just the variable:"
+msgstr "Você também pode usar uma expressão matemática em vez de apenas a variável:"
+
+#. type: Source code
+#: ../help/help.E.txt:58
+#, no-wrap
+msgid ""
+"\tmove(dist+100);\n"
+"\tturn(-dir);"
+msgstr ""
+"\tmove(dist+100);\n"
+"\tturn(-dir);"
+
+#. type: Plain text
+#: ../help/help.E.txt:61
+#, no-wrap
+msgid "The latter instruction will be needed to turn the bot right. "
+msgstr "A última instrução será necessária para ativar o robô."
+
+#. type: Plain text
+#: ../help/help.E.txt:63
+#, no-wrap
+msgid "Now, rewrite the program of the previous exercise, but use a variable for the distance and another variable for the angle of the rotation. "
+msgstr "Agora, reescreva o programa do exercício anterior, mas use uma variável para a distância e outra variável para o ângulo da rotação."
+
+#. type: \t; header
+#: ../help/help.E.txt:65
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:66
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level003/po/br.po b/levels/exercises/chapter003/level003/po/pt.po
similarity index 72%
rename from levels/exercises/chapter003/level003/po/br.po
rename to levels/exercises/chapter003/level003/po/pt.po
index de8d679b..3a6041f7 100644
--- a/levels/exercises/chapter003/level003/po/br.po
+++ b/levels/exercises/chapter003/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 14:35-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,12 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Destroy the six targets with a program using a loop."
-" The bot must move 5m forward to get from one target to the next."
-msgstr ""
-"Destrua os seis alvos com um programa usando um laço. O"
-" robô deve mover 5 m para frente para ir de um alvo para o próximo."
+msgid "Destroy the six targets with a program using a loop. The bot must move 5m forward to get from one target to the next."
+msgstr "Destrua os seis alvos com um programa usando um laço. O robô deve mover 5 m para frente para ir de um alvo para o próximo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -105,8 +101,7 @@ msgstr "Instrução for ( )"
#. type: Plain text
#: ../help/help.E.txt:14
#, no-wrap
-msgid ""
-"The instruction for asks for 3 expressions:"
+msgid "The instruction for asks for 3 expressions:"
msgstr "A instrução for pede 3 expressões:"
#. type: Bullet: '1)'
@@ -156,12 +151,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:28
#, no-wrap
-msgid ""
-"ATTENTION: The line for ( ) must not be followed by a semicolon !"
-msgstr ""
-"ATENÇÃO: A linha for ( ) não deve ser seguida por ponto e vírgula!"
+msgid "ATTENTION: The line for ( ) must not be followed by a semicolon !"
+msgstr "ATENÇÃO: A linha for ( ) não deve ser seguida por ponto e vírgula!"
#. type: \b; header
#: ../help/help.E.txt:30
@@ -178,11 +169,8 @@ msgstr "int i=0"
#. type: Plain text
#: ../help/help.E.txt:32
#, no-wrap
-msgid ""
-" The variable i is set to zero before the beginning of the"
-" loop."
-msgstr ""
-"A variável i é definida como zero antes do início do laço."
+msgid " The variable i is set to zero before the beginning of the loop."
+msgstr "A variável i é definida como zero antes do início do laço."
#. type: Bullet: '2)'
#: ../help/help.E.txt:34
@@ -217,14 +205,8 @@ msgstr "Blocos"
#. type: Plain text
#: ../help/help.E.txt:41
#, no-wrap
-msgid ""
-"Use braces { } in order to create a block. All"
-" the instructions that must be executed in the for loop are held"
-" together by a block. The whole program itself is made up of a block:"
-msgstr ""
-"Use chaves { } code> para criar um bloco. Todas as"
-" instruções que devem ser executadas no laço for são mantidas"
-" juntas por um bloco. Todo o programa em si é composto de um bloco:"
+msgid "Use braces { } in order to create a block. All the instructions that must be executed in the for loop are held together by a block. The whole program itself is made up of a block:"
+msgstr "Use chaves { } code> para criar um bloco. Todas as instruções que devem ser executadas no laço for são mantidas juntas por um bloco. Todo o programa em si é composto de um bloco:"
#. type: Source code
#: ../help/help.E.txt:43
@@ -244,18 +226,11 @@ msgstr ""
#: ../help/help.E.txt:48
#, no-wrap
msgid ""
-"Never change these characters. Just add the instructions of the program"
-" between the braces.\n"
-"You can fit several blocks one into the other. For example the for<"
-"/code> block is fitted into the block of the whole program. In order to"
-" improve readability, the editor lines up the braces belonging to the"
-" different blocks."
+"Never change these characters. Just add the instructions of the program between the braces.\n"
+"You can fit several blocks one into the other. For example the for block is fitted into the block of the whole program. In order to improve readability, the editor lines up the braces belonging to the different blocks."
msgstr ""
-"Nunca mude esses personagens. Basta adicionar as instruções do programa entre"
-" as chaves. \n"
-"Você pode colocar vários blocos um no outro. Por exemplo, o bloco for"
-" code> é encaixado no bloco de todo o programa. Para melhorar a legibilidade,"
-" o editor alinha as chaves pertencentes aos diferentes blocos."
+"Nunca mude esses personagens. Basta adicionar as instruções do programa entre as chaves. \n"
+"Você pode colocar vários blocos um no outro. Por exemplo, o bloco for code> é encaixado no bloco de todo o programa. Para melhorar a legibilidade, o editor alinha as chaves pertencentes aos diferentes blocos."
#. type: \b; header
#: ../help/help.E.txt:51
@@ -268,17 +243,12 @@ msgstr "Lembre-se"
#, no-wrap
msgid ""
"The instruction used to move forward is move();.\n"
-"The instruction used to turn the bot is turn();. A"
-" positive angle turns left.\n"
-"The instruction used to fire the cannon is fire(1);."
-" A one-second burst allows to destroy all six targets."
+"The instruction used to turn the bot is turn();. A positive angle turns left.\n"
+"The instruction used to fire the cannon is fire(1);. A one-second burst allows to destroy all six targets."
msgstr ""
"A instrução usada para avançar é move();.\n"
-"A instrução usada para ativar o bot é turn();. Um"
-" ângulo positivo vira à esquerda. \n"
-"A instrução usada para disparar o canhão é fire(1);."
-" Uma rajada de um segundo permite destruir todos os seis alvos."
+"A instrução usada para ativar o bot é turn();. Um ângulo positivo vira à esquerda. \n"
+"A instrução usada para disparar o canhão é fire(1);. Uma rajada de um segundo permite destruir todos os seis alvos."
#. type: \t; header
#: ../help/help.E.txt:56
@@ -289,10 +259,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:57
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level004/po/br.po b/levels/exercises/chapter003/level004/po/pt.po
similarity index 56%
rename from levels/exercises/chapter003/level004/po/br.po
rename to levels/exercises/chapter003/level004/po/pt.po
index 344d9b27..949788af 100644
--- a/levels/exercises/chapter003/level004/po/br.po
+++ b/levels/exercises/chapter003/level004/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 15:08-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -44,18 +44,10 @@ msgstr "Exercício"
#: ../help/help.E.txt:2
#, no-wrap
msgid ""
-"Several information exchange posts stand in the middle"
-" of a mine field. When the bot is close enough to an"
-" exchange post, it can read the information that it contains. Every exchange"
-" post contains the angle of the rotation that must be performed in order to"
-" reach the next exchange post, without touching a mine.\n"
+"Several information exchange posts stand in the middle of a mine field. When the bot is close enough to an exchange post, it can read the information that it contains. Every exchange post contains the angle of the rotation that must be performed in order to reach the next exchange post, without touching a mine.\n"
"The exchange posts are distant 20m from each other."
msgstr ""
-"Vários postos de troca de informações estão no meio de"
-" um campo minado. Quando o robô está próximo o suficiente"
-" para um posto de troca, ele pode ler as informações que ele contém. Cada"
-" postagem de troca contém o ângulo de rotação que deve ser executado para"
-" alcançar o próximo posto de troca, sem tocar uma mina. \n"
+"Vários postos de troca de informações estão no meio de um campo minado. Quando o robô está próximo o suficiente para um posto de troca, ele pode ler as informações que ele contém. Cada postagem de troca contém o ângulo de rotação que deve ser executado para alcançar o próximo posto de troca, sem tocar uma mina. \n"
"Os postos de troca estão distantes 20 metros um do outro."
#. type: \b; header
@@ -79,12 +71,8 @@ msgstr "Mova 20 m para frente."
#. type: Bullet: 'o'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"Read the direction of the next information exchange post<"
-"/a>."
-msgstr ""
-"Leia a direção do próximo posto de troca de informações."
+msgid "Read the direction of the next information exchange post."
+msgstr "Leia a direção do próximo posto de troca de informações."
#. type: Bullet: 'o'
#: ../help/help.E.txt:9
@@ -101,12 +89,8 @@ msgstr "tinfo1"
#. type: Plain text
#: ../help/help.E.txt:12
#, no-wrap
-msgid ""
-"In order to repeat the steps above, use a for"
-" loop, as we saw it before."
-msgstr ""
-"Para repetir os passos acima, use um laço for,"
-" como vimos antes."
+msgid "In order to repeat the steps above, use a for loop, as we saw it before."
+msgstr "Para repetir os passos acima, use um laço for, como vimos antes."
#. type: Source code
#: ../help/help.E.txt:13
@@ -124,21 +108,11 @@ msgstr "Avance com a instrução move(20);."
#: ../help/help.E.txt:17
#, no-wrap
msgid ""
-"Use the instruction receive(\"Direction\"); in"
-" order to read the information contained in the exchange"
-" post. This is of course possible only when the bot is close enough to"
-" the exchange post.\n"
-"You will need a variable to contain the value retrieved from"
-" the exchange post. Let us call it dir; you must declare it with"
-" the following line:"
+"Use the instruction receive(\"Direction\"); in order to read the information contained in the exchange post. This is of course possible only when the bot is close enough to the exchange post.\n"
+"You will need a variable to contain the value retrieved from the exchange post. Let us call it dir; you must declare it with the following line:"
msgstr ""
-"Use a instrução receive(\"Direction\"); para ler"
-" as informações contidas no posto de troca . É claro"
-" que isso é possível apenas quando o robô está próximo o suficiente do posto"
-" de troca. \n"
-"Você precisará de uma variável para conter o valor recuperado"
-" do posto de troca. Vamos chamá-lo de dir; você deve declará-lo"
-" com a seguinte linha:"
+"Use a instrução receive(\"Direction\"); para ler as informações contidas no posto de troca . É claro que isso é possível apenas quando o robô está próximo o suficiente do posto de troca. \n"
+"Você precisará de uma variável para conter o valor recuperado do posto de troca. Vamos chamá-lo de dir; você deve declará-lo com a seguinte linha:"
#. type: Source code
#: ../help/help.E.txt:19
@@ -149,12 +123,8 @@ msgstr "\tfloat dir;"
#. type: Plain text
#: ../help/help.E.txt:21
#, no-wrap
-msgid ""
-"Then retrieve the rotation angle from the exchange post, and put it into the"
-" variable:"
-msgstr ""
-"Em seguida, recupere o ângulo de rotação do posto de troca e coloque-o na"
-" variável:"
+msgid "Then retrieve the rotation angle from the exchange post, and put it into the variable:"
+msgstr "Em seguida, recupere o ângulo de rotação do posto de troca e coloque-o na variável:"
#. type: Source code
#: ../help/help.E.txt:22
@@ -183,18 +153,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:28
#, no-wrap
-msgid ""
-"You can click on an information exchange post in order"
-" to read what information it contains. In this exercise, every exchange post"
-" contains only one value called \"Direction\", but it can"
-" contain up to 10 different values, as you will see in some of the following"
-" exercises."
-msgstr ""
-"Você pode clicar em um posto de troca de informações"
-" para ler quais informações ele contém. Neste exercício, todo posto de troca"
-" contém apenas um valor chamado \"Direction\" code>, mas ele pode"
-" conter até 10 valores diferentes, como você verá em alguns dos exercícios"
-" seguintes."
+msgid "You can click on an information exchange post in order to read what information it contains. In this exercise, every exchange post contains only one value called \"Direction\", but it can contain up to 10 different values, as you will see in some of the following exercises."
+msgstr "Você pode clicar em um posto de troca de informações para ler quais informações ele contém. Neste exercício, todo posto de troca contém apenas um valor chamado \"Direction\" code>, mas ele pode conter até 10 valores diferentes, como você verá em alguns dos exercícios seguintes."
#. type: \t; header
#: ../help/help.E.txt:30
@@ -205,10 +165,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:31
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level005/po/br.po b/levels/exercises/chapter003/level005/po/pt.po
similarity index 54%
rename from levels/exercises/chapter003/level005/po/br.po
rename to levels/exercises/chapter003/level005/po/pt.po
index 5244382d..e8e65f01 100644
--- a/levels/exercises/chapter003/level005/po/br.po
+++ b/levels/exercises/chapter003/level005/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 15:19-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,16 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"In this exercise, the information exchange posts along"
-" the way contain the direction of the next post and the distance. And you do"
-" not know how many exchange posts you must get in touch with before arriving"
-" at your goal."
-msgstr ""
-"Neste exercício, os postos de troca de informações ao"
-" longo do caminho contêm a direção do próximo posto e a distância. E você não"
-" sabe com quantos postos de troca você deve entrar em contato antes de chegar"
-" ao seu objetivo."
+msgid "In this exercise, the information exchange posts along the way contain the direction of the next post and the distance. And you do not know how many exchange posts you must get in touch with before arriving at your goal."
+msgstr "Neste exercício, os postos de troca de informações ao longo do caminho contêm a direção do próximo posto e a distância. E você não sabe com quantos postos de troca você deve entrar em contato antes de chegar ao seu objetivo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -99,16 +91,8 @@ msgstr "Avançe para o próximo posto."
#. type: Plain text
#: ../help/help.E.txt:12
#, no-wrap
-msgid ""
-"In order to repeat always, use a while (true)"
-" loop. The instructions between the braces { } will be repeated"
-" over and over, or until a break instruction"
-" is executed."
-msgstr ""
-"Para repetir sempre, use um laço while (true)."
-" As instruções entre as chaves { } code> serão repetidas"
-" repetidamente, ou até que uma instrução break"
-" seja executada."
+msgid "In order to repeat always, use a while (true) loop. The instructions between the braces { } will be repeated over and over, or until a break instruction is executed."
+msgstr "Para repetir sempre, use um laço while (true). As instruções entre as chaves { } code> serão repetidas repetidamente, ou até que uma instrução break seja executada."
#. type: Source code
#: ../help/help.E.txt:13
@@ -119,13 +103,8 @@ msgstr "\twhile ( true )"
#. type: Plain text
#: ../help/help.E.txt:15
#, no-wrap
-msgid ""
-"This time you need 2 variables, one for the rotation angle,"
-" one for the distance, for example dir and len :"
-msgstr ""
-"Desta vez você precisa de 2 variáveis, uma para o ângulo de"
-" rotação, uma para a distância, por exemplo dir e dist"
-" code>:"
+msgid "This time you need 2 variables, one for the rotation angle, one for the distance, for example dir and len :"
+msgstr "Desta vez você precisa de 2 variáveis, uma para o ângulo de rotação, uma para a distância, por exemplo dir e dist code>:"
#. type: Source code
#: ../help/help.E.txt:16
@@ -153,25 +132,11 @@ msgstr ""
#: ../help/help.E.txt:22
#, no-wrap
msgid ""
-"A variable of the typefloat"
-" can take a special value called nan. This value"
-" means that the variable contains no number (Not A Number).\n"
-"When there is no exchange post nearby, either because"
-" the bot has reached the goal, or because it took the wrong way, the two"
-" variables dir and len contain this value. You can"
-" test this with the instruction if, and stop the"
-" program if necessary with the instruction break<"
-"/code>:"
+"A variable of the typefloat can take a special value called nan. This value means that the variable contains no number (Not A Number).\n"
+"When there is no exchange post nearby, either because the bot has reached the goal, or because it took the wrong way, the two variables dir and len contain this value. You can test this with the instruction if, and stop the program if necessary with the instruction break:"
msgstr ""
-"Uma variável do tipofloat pode ter"
-" um valor especial chamado nan. Este valor"
-" significa que a variável não contém nenhum número (Not An Number - Não Um"
-" Número). \n"
-"Quando não há postos de troca por perto, seja porque o"
-" robô alcançou o objetivo, ou porque tomou o caminho errado, as duas"
-" variáveis dir code> e dist code> contém este valor. Você"
-" pode testar isso com a instrução if, e parar o"
-" programa se necessário com a instrução break:"
+"Uma variável do tipofloat pode ter um valor especial chamado nan. Este valor significa que a variável não contém nenhum número (Not An Number - Não Um Número). \n"
+"Quando não há postos de troca por perto, seja porque o robô alcançou o objetivo, ou porque tomou o caminho errado, as duas variáveis dir code> e dist code> contém este valor. Você pode testar isso com a instrução if, e parar o programa se necessário com a instrução break:"
#. type: Source code
#: ../help/help.E.txt:24
@@ -182,12 +147,8 @@ msgstr "\tif ( dir == nan ) break;"
#. type: Plain text
#: ../help/help.E.txt:26
#, no-wrap
-msgid ""
-"If the information retrieval from the exchange post"
-" has been performed successfully, execute the rotation:"
-msgstr ""
-"Se a recuperação de informações do posto de troca"
-" tiver sido executada com sucesso, execute a rotação:"
+msgid "If the information retrieval from the exchange post has been performed successfully, execute the rotation:"
+msgstr "Se a recuperação de informações do posto de troca tiver sido executada com sucesso, execute a rotação:"
#. type: Source code
#: ../help/help.E.txt:27
@@ -216,16 +177,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:33
#, no-wrap
-msgid ""
-"You can click on an information exchange post in order"
-" to read what information it contains. In this exercise, every exchange post"
-" contains two values called \"Direction\" and \"Length\"<"
-"/code>."
-msgstr ""
-"Você pode clicar em um posto de troca de informações"
-" para ler quais informações ele contém. Neste exercício, todos os postos de"
-" troca contêm dois valores chamados \"Direction\" e \"Length\"."
+msgid "You can click on an information exchange post in order to read what information it contains. In this exercise, every exchange post contains two values called \"Direction\" and \"Length\"."
+msgstr "Você pode clicar em um posto de troca de informações para ler quais informações ele contém. Neste exercício, todos os postos de troca contêm dois valores chamados \"Direction\" e \"Length\"."
#. type: \t; header
#: ../help/help.E.txt:35
@@ -236,10 +189,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:36
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level006/po/br.po b/levels/exercises/chapter003/level006/po/br.po
deleted file mode 100644
index 0e41b515..00000000
--- a/levels/exercises/chapter003/level006/po/br.po
+++ /dev/null
@@ -1,362 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 15:36-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Labyrinth 1"
-msgstr "Labirinto 1"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Teach your bot how to find its way out of the labyrinth."
-msgstr "Ensine seu robô a descobrir como sair do labirinto."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Labyrinth"
-msgstr "Labirinto"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Program the bot so that it will find its way without hitting the walls of the"
-" labyrinth. We suppose that you do not know the configuration of the"
-" labyrinth, but there are no bifurcations, and no dead-ends. The labyrinth is"
-" made of squares measuring 5m each."
-msgstr ""
-"Programe o robô para que ele encontre o caminho sem bater nas paredes do"
-" labirinto. Supomos que você não conheça a configuração do labirinto, mas não"
-" há bifurcações nem becos sem saída. O labirinto é feito de quadrados medindo"
-" 5m cada."
-
-#. type: \b; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "The instruction radar"
-msgstr "A instrução radar"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"The instruction radar(Barrier, 0, 45, 0, 5); will"
-" find any barrier in front of the radar that is closer"
-" than 5m. Let us take a closer look at the five parameters used:"
-msgstr ""
-"A instrução radar(Barrier, 0, 45, 0, 5); "
-" encontrará qualquer barreira na frente do radar que"
-" está mais perto do que 5m. Vamos dar uma olhada mais de perto nos cinco"
-" parâmetros usados:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "Barrier"
-msgstr "Barrier"
-
-#. type: Plain text
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid ""
-"Category of the object that the radar must look for,"
-" i.e. a barrier."
-msgstr ""
-"Categoria do objeto que o radar deve procurar, ou seja,"
-" uma barreira."
-
-#. type: Source code
-#: ../help/help.E.txt:10 ../help/help.E.txt:16
-#, no-wrap
-msgid "0"
-msgstr "0"
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid ""
-"Direction of the radar. 0 means that the radar must search"
-" straight forward."
-msgstr ""
-"Direção do radar. 0 code> significa que o radar deve procurar"
-" diretamente a frente."
-
-#. type: Source code
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid "45"
-msgstr "45"
-
-#. type: Plain text
-#: ../help/help.E.txt:14
-#, no-wrap
-msgid ""
-"Opening angle in degrees. With an opening angle of 45 degrees, barriers"
-" situated between 22.5 degrees to the left and 22.5 degrees to the right will"
-" be detected."
-msgstr ""
-"Ângulo de abertura em graus. Com um ângulo de abertura de 45 graus, serão"
-" detectadas barreiras situadas entre 22,5 graus para a esquerda e 22,5 graus"
-" para a direita."
-
-#. type: Plain text
-#: ../help/help.E.txt:17
-#, no-wrap
-msgid ""
-"Minimum detection distance. 0 means that even object that are"
-" very close to the bot will be detected."
-msgstr ""
-"Distância mínima de detecção 0 code> significa que mesmo objetos"
-" muito próximos do robô serão detectados."
-
-#. type: Source code
-#: ../help/help.E.txt:19
-#, no-wrap
-msgid "5"
-msgstr "5"
-
-#. type: Plain text
-#: ../help/help.E.txt:20
-#, no-wrap
-msgid ""
-"Maximum detection range. Any barrier situated beyond 5 meters"
-" will not be detected."
-msgstr ""
-"Faixa máxima de detecção. Qualquer barreira situada além de 5"
-" metros não será detectada."
-
-#. type: Plain text
-#: ../help/help.E.txt:22
-#, no-wrap
-msgid ""
-"To take another example, radar(Barrier, 90, 45, 0, 5);<"
-"n/> will direct the radar 90 degrees to the left, in order to test if the way"
-" to the left is free."
-msgstr ""
-"Para dar outro exemplo, radar(Barrier, 90, 45, 0, 5);<"
-"n/> direcionará o radar 90 graus para a esquerda, a fim de testar se o"
-" caminho para a esquerda está livre."
-
-#. type: Image filename
-#: ../help/help.E.txt:24
-#, no-wrap
-msgid "tlaby1"
-msgstr "tlaby1"
-
-#. type: \b; header
-#: ../help/help.E.txt:25
-#, no-wrap
-msgid "General principle"
-msgstr "Princípio geral"
-
-#. type: Plain text
-#: ../help/help.E.txt:26
-#, no-wrap
-msgid ""
-"The program must only take care of one square portion of the labyrinth. You"
-" will have to execute it several times in order to arrive at the finishing"
-" pad."
-msgstr ""
-"O programa deve cuidar apenas de uma parte quadrada do labirinto. Você terá"
-" que executá-lo várias vezes para chegar ao bloco de acabamento."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:27
-#, no-wrap
-msgid "If there is nothing in front, move forward."
-msgstr "Se não houver nada na frente, avance."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid "If there is nothing on the left side, quarter turn left, move forward."
-msgstr "Se não houver nada no lado esquerdo, vire à esquerda, avance."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:29
-#, no-wrap
-msgid ""
-"If there is nothing on the right side, quarter turn right, move forward."
-msgstr "Se não houver nada do lado direito, vire à direita, avance."
-
-#. type: Bullet: '1)'
-#: ../help/help.E.txt:31
-#, no-wrap
-msgid ""
-"First of all declare three variables of type object, that we call front, left<"
-"/code> and right. Variables of this type can contain the"
-" description of any object, for example of a barrier found by the radar."
-msgstr ""
-"Primeiro de tudo, declare três variáveis do tipo object, que chamamos de frente, esquerda e direita. Variáveis desse tipo podem conter a"
-" descrição de qualquer objeto, por exemplo, de uma barreira encontrada pelo"
-" radar."
-
-#. type: Source code
-#: ../help/help.E.txt:32
-#, no-wrap
-msgid "\tobject front, left, right;"
-msgstr "\tobject frente, esquerda, direita;"
-
-#. type: Bullet: '2)'
-#: ../help/help.E.txt:34
-#, no-wrap
-msgid ""
-"Look for barriers in all three directions, and put the result of the radar instruction into the three variables defined at point 1). If"
-" the radar finds nothing, the variable will contain the value null."
-msgstr ""
-"Procure barreiras nas três direções e coloque o resultado da instrução radar nas três variáveis definidas no ponto 1). Se o radar não"
-" encontrar nada, a variável conterá o valor null."
-
-#. type: Source code
-#: ../help/help.E.txt:35
-#, no-wrap
-msgid ""
-"\tfront = radar(Barrier, 0, 45, 0, 5);\n"
-"\tleft = radar(Barrier, 90, 45, 0, 5);\n"
-"\tright = radar(Barrier, -90, 45, 0, 5);"
-msgstr ""
-"\tfrente = radar(Barrier, 0, 45, 0, 5);\n"
-"\tesquerda = radar(Barrier, 90, 45, 0, 5);\n"
-"\tdireita = radar(Barrier, -90, 45, 0, 5);"
-
-#. type: Bullet: '3)'
-#: ../help/help.E.txt:39
-#, no-wrap
-msgid ""
-"Test if the way is free in front of the bot with the instruction if. If the test is true, the instructions in braces { } will be executed, otherwise the execution will resume after the"
-" closing brace }."
-msgstr ""
-"Teste se o caminho está livre na frente do robô com a instrução if. Se o teste for verdadeiro, as instruções em chaves <"
-"code>{ } serão executadas, caso contrário a execução será retomada"
-" após a chave de fechamento }."
-
-#. type: Plain text
-#: ../help/help.E.txt:40
-#, no-wrap
-msgid ""
-"The instruction return leaves the program: the job is done."
-msgstr ""
-"A instrução return sai do programa: o trabalho está feito."
-
-#. type: Source code
-#: ../help/help.E.txt:41
-#, no-wrap
-msgid ""
-"if ( front == null )\n"
-"{\n"
-"\tmove(5);\n"
-"\treturn;\n"
-"}"
-msgstr ""
-"if ( frente == null )\n"
-"{\n"
-"\tmove(5);\n"
-"\treturn;\n"
-"}"
-
-#. type: Bullet: '4)'
-#: ../help/help.E.txt:47
-#, no-wrap
-msgid ""
-"Test if it is possible to turn left; if so, turn left with the instruction <"
-"code>turn and move 5m forward."
-msgstr ""
-"Teste se é possível virar à esquerda; Se assim for, vire à esquerda com a"
-" instrução turn e mova 5m para a frente."
-
-#. type: Source code
-#: ../help/help.E.txt:48
-#, no-wrap
-msgid ""
-"if ( left == null )\n"
-"{\n"
-"\tturn(90);\n"
-"\tmove(5);\n"
-"\treturn;\n"
-"}"
-msgstr ""
-"if ( esquerda == null )\n"
-"{\n"
-"\tturn(90);\n"
-"\tmove(5);\n"
-"\treturn;\n"
-"}"
-
-#. type: Bullet: '5)'
-#: ../help/help.E.txt:55
-#, no-wrap
-msgid "Test if it is possible to turn right."
-msgstr "Teste se é possível virar à direita."
-
-#. type: Plain text
-#: ../help/help.E.txt:56
-#, no-wrap
-msgid " ..."
-msgstr " ..."
-
-#. type: \b; header
-#: ../help/help.E.txt:58
-#, no-wrap
-msgid "Attention"
-msgstr "Atenção"
-
-#. type: Plain text
-#: ../help/help.E.txt:59
-#, no-wrap
-msgid ""
-"The instruction if ( ) must never be followed by a semicolon."
-msgstr ""
-"A instrução if ( ) code> nunca deve ser seguida por ponto e vírgula."
-
-#. type: \t; header
-#: ../help/help.E.txt:61
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:62
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter003/level006/po/pt.po b/levels/exercises/chapter003/level006/po/pt.po
new file mode 100644
index 00000000..d1864eed
--- /dev/null
+++ b/levels/exercises/chapter003/level006/po/pt.po
@@ -0,0 +1,273 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 15:36-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Labyrinth 1"
+msgstr "Labirinto 1"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Teach your bot how to find its way out of the labyrinth."
+msgstr "Ensine seu robô a descobrir como sair do labirinto."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Labyrinth"
+msgstr "Labirinto"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Program the bot so that it will find its way without hitting the walls of the labyrinth. We suppose that you do not know the configuration of the labyrinth, but there are no bifurcations, and no dead-ends. The labyrinth is made of squares measuring 5m each."
+msgstr "Programe o robô para que ele encontre o caminho sem bater nas paredes do labirinto. Supomos que você não conheça a configuração do labirinto, mas não há bifurcações nem becos sem saída. O labirinto é feito de quadrados medindo 5m cada."
+
+#. type: \b; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "The instruction radar"
+msgstr "A instrução radar"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "The instruction radar(Barrier, 0, 45, 0, 5); will find any barrier in front of the radar that is closer than 5m. Let us take a closer look at the five parameters used:"
+msgstr "A instrução radar(Barrier, 0, 45, 0, 5); encontrará qualquer barreira na frente do radar que está mais perto do que 5m. Vamos dar uma olhada mais de perto nos cinco parâmetros usados:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "Barrier"
+msgstr "Barrier"
+
+#. type: Plain text
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid "Category of the object that the radar must look for, i.e. a barrier."
+msgstr "Categoria do objeto que o radar deve procurar, ou seja, uma barreira."
+
+#. type: Source code
+#: ../help/help.E.txt:10 ../help/help.E.txt:16
+#, no-wrap
+msgid "0"
+msgstr "0"
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "Direction of the radar. 0 means that the radar must search straight forward."
+msgstr "Direção do radar. 0 code> significa que o radar deve procurar diretamente a frente."
+
+#. type: Source code
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "45"
+msgstr "45"
+
+#. type: Plain text
+#: ../help/help.E.txt:14
+#, no-wrap
+msgid "Opening angle in degrees. With an opening angle of 45 degrees, barriers situated between 22.5 degrees to the left and 22.5 degrees to the right will be detected."
+msgstr "Ângulo de abertura em graus. Com um ângulo de abertura de 45 graus, serão detectadas barreiras situadas entre 22,5 graus para a esquerda e 22,5 graus para a direita."
+
+#. type: Plain text
+#: ../help/help.E.txt:17
+#, no-wrap
+msgid "Minimum detection distance. 0 means that even object that are very close to the bot will be detected."
+msgstr "Distância mínima de detecção 0 code> significa que mesmo objetos muito próximos do robô serão detectados."
+
+#. type: Source code
+#: ../help/help.E.txt:19
+#, no-wrap
+msgid "5"
+msgstr "5"
+
+#. type: Plain text
+#: ../help/help.E.txt:20
+#, no-wrap
+msgid "Maximum detection range. Any barrier situated beyond 5 meters will not be detected."
+msgstr "Faixa máxima de detecção. Qualquer barreira situada além de 5 metros não será detectada."
+
+#. type: Plain text
+#: ../help/help.E.txt:22
+#, no-wrap
+msgid "To take another example, radar(Barrier, 90, 45, 0, 5); will direct the radar 90 degrees to the left, in order to test if the way to the left is free."
+msgstr "Para dar outro exemplo, radar(Barrier, 90, 45, 0, 5); direcionará o radar 90 graus para a esquerda, a fim de testar se o caminho para a esquerda está livre."
+
+#. type: Image filename
+#: ../help/help.E.txt:24
+#, no-wrap
+msgid "tlaby1"
+msgstr "tlaby1"
+
+#. type: \b; header
+#: ../help/help.E.txt:25
+#, no-wrap
+msgid "General principle"
+msgstr "Princípio geral"
+
+#. type: Plain text
+#: ../help/help.E.txt:26
+#, no-wrap
+msgid "The program must only take care of one square portion of the labyrinth. You will have to execute it several times in order to arrive at the finishing pad."
+msgstr "O programa deve cuidar apenas de uma parte quadrada do labirinto. Você terá que executá-lo várias vezes para chegar ao bloco de acabamento."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:27
+#, no-wrap
+msgid "If there is nothing in front, move forward."
+msgstr "Se não houver nada na frente, avance."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid "If there is nothing on the left side, quarter turn left, move forward."
+msgstr "Se não houver nada no lado esquerdo, vire à esquerda, avance."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:29
+#, no-wrap
+msgid "If there is nothing on the right side, quarter turn right, move forward."
+msgstr "Se não houver nada do lado direito, vire à direita, avance."
+
+#. type: Bullet: '1)'
+#: ../help/help.E.txt:31
+#, no-wrap
+msgid "First of all declare three variables of type object, that we call front, left and right. Variables of this type can contain the description of any object, for example of a barrier found by the radar."
+msgstr "Primeiro de tudo, declare três variáveis do tipo object, que chamamos de frente, esquerda e direita. Variáveis desse tipo podem conter a descrição de qualquer objeto, por exemplo, de uma barreira encontrada pelo radar."
+
+#. type: Source code
+#: ../help/help.E.txt:32
+#, no-wrap
+msgid "\tobject front, left, right;"
+msgstr "\tobject frente, esquerda, direita;"
+
+#. type: Bullet: '2)'
+#: ../help/help.E.txt:34
+#, no-wrap
+msgid "Look for barriers in all three directions, and put the result of the radar instruction into the three variables defined at point 1). If the radar finds nothing, the variable will contain the value null."
+msgstr "Procure barreiras nas três direções e coloque o resultado da instrução radar nas três variáveis definidas no ponto 1). Se o radar não encontrar nada, a variável conterá o valor null."
+
+#. type: Source code
+#: ../help/help.E.txt:35
+#, no-wrap
+msgid ""
+"\tfront = radar(Barrier, 0, 45, 0, 5);\n"
+"\tleft = radar(Barrier, 90, 45, 0, 5);\n"
+"\tright = radar(Barrier, -90, 45, 0, 5);"
+msgstr ""
+"\tfrente = radar(Barrier, 0, 45, 0, 5);\n"
+"\tesquerda = radar(Barrier, 90, 45, 0, 5);\n"
+"\tdireita = radar(Barrier, -90, 45, 0, 5);"
+
+#. type: Bullet: '3)'
+#: ../help/help.E.txt:39
+#, no-wrap
+msgid "Test if the way is free in front of the bot with the instruction if. If the test is true, the instructions in braces { } will be executed, otherwise the execution will resume after the closing brace }."
+msgstr "Teste se o caminho está livre na frente do robô com a instrução if. Se o teste for verdadeiro, as instruções em chaves { } serão executadas, caso contrário a execução será retomada após a chave de fechamento }."
+
+#. type: Plain text
+#: ../help/help.E.txt:40
+#, no-wrap
+msgid "The instruction return leaves the program: the job is done."
+msgstr "A instrução return sai do programa: o trabalho está feito."
+
+#. type: Source code
+#: ../help/help.E.txt:41
+#, no-wrap
+msgid ""
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
+msgstr ""
+"if ( frente == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
+
+#. type: Bullet: '4)'
+#: ../help/help.E.txt:47
+#, no-wrap
+msgid "Test if it is possible to turn left; if so, turn left with the instruction turn and move 5m forward."
+msgstr "Teste se é possível virar à esquerda; Se assim for, vire à esquerda com a instrução turn e mova 5m para a frente."
+
+#. type: Source code
+#: ../help/help.E.txt:48
+#, no-wrap
+msgid ""
+"if ( left == null )\n"
+"{\n"
+"\tturn(90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
+msgstr ""
+"if ( esquerda == null )\n"
+"{\n"
+"\tturn(90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
+
+#. type: Bullet: '5)'
+#: ../help/help.E.txt:55
+#, no-wrap
+msgid "Test if it is possible to turn right."
+msgstr "Teste se é possível virar à direita."
+
+#. type: Plain text
+#: ../help/help.E.txt:56
+#, no-wrap
+msgid " ..."
+msgstr " ..."
+
+#. type: \b; header
+#: ../help/help.E.txt:58
+#, no-wrap
+msgid "Attention"
+msgstr "Atenção"
+
+#. type: Plain text
+#: ../help/help.E.txt:59
+#, no-wrap
+msgid "The instruction if ( ) must never be followed by a semicolon."
+msgstr "A instrução if ( ) code> nunca deve ser seguida por ponto e vírgula."
+
+#. type: \t; header
+#: ../help/help.E.txt:61
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:62
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level007/po/br.po b/levels/exercises/chapter003/level007/po/pt.po
similarity index 63%
rename from levels/exercises/chapter003/level007/po/br.po
rename to levels/exercises/chapter003/level007/po/pt.po
index d2b67e9e..c972a23a 100644
--- a/levels/exercises/chapter003/level007/po/br.po
+++ b/levels/exercises/chapter003/level007/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 15:54-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,14 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This exercise is very similar to the previous one. This time the bot should"
-" find its way alone from the start to the goal; you will have to execute the"
-" program only once."
-msgstr ""
-"Este exercício é muito semelhante ao anterior. Desta vez, o robô deve"
-" encontrar o caminho sozinho desde o início até o objetivo; você terá que"
-" executar o programa apenas uma vez."
+msgid "This exercise is very similar to the previous one. This time the bot should find its way alone from the start to the goal; you will have to execute the program only once."
+msgstr "Este exercício é muito semelhante ao anterior. Desta vez, o robô deve encontrar o caminho sozinho desde o início até o objetivo; você terá que executar o programa apenas uma vez."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -61,12 +55,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"The labyrinth is not exactly the same, but this should be of no importance,"
-" as the program adapts to what it \"sees\"."
-msgstr ""
-"O labirinto não é exatamente o mesmo, mas isso não deve ser importante, pois"
-" o programa se adapta ao que \"vê\"."
+msgid "The labyrinth is not exactly the same, but this should be of no importance, as the program adapts to what it \"sees\"."
+msgstr "O labirinto não é exatamente o mesmo, mas isso não deve ser importante, pois o programa se adapta ao que \"vê\"."
#. type: Image filename
#: ../help/help.E.txt:7
@@ -83,12 +73,8 @@ msgstr "Princípio geral"
#. type: Plain text
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"Use an infinite while loop in order to execute"
-" the previous program several times:"
-msgstr ""
-"Use um laço infinito while para executar o"
-" programa anterior várias vezes:"
+msgid "Use an infinite while loop in order to execute the previous program several times:"
+msgstr "Use um laço infinito while para executar o programa anterior várias vezes:"
#. type: Source code
#: ../help/help.E.txt:10
@@ -111,18 +97,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
-msgid ""
-"Inside this while loop, replace the return"
-" instructions by continue instructions. <"
-"code>return would quit the program, which is not what we want here. <"
-"code>continue will just resume the execution at the beginning of the <"
-"code>while loop:"
-msgstr ""
-"Dentro deste laço while, substitua as instruções de return por instruções continue. <"
-"code>return sairia do programa, o que não é o que queremos aqui. continue apenas retomará a execução no início do laço while:"
+msgid "Inside this while loop, replace the return instructions by continue instructions. return would quit the program, which is not what we want here. continue will just resume the execution at the beginning of the while loop:"
+msgstr "Dentro deste laço while, substitua as instruções de return por instruções continue. return sairia do programa, o que não é o que queremos aqui. continue apenas retomará a execução no início do laço while:"
#. type: Source code
#: ../help/help.E.txt:18
@@ -213,14 +189,8 @@ msgstr "Ajuda"
#. type: Plain text
#: ../help/help.E.txt:52
#, no-wrap
-msgid ""
-"If you need some help, just click on the hyperlinks of the instructions radar, if, move or turn."
-msgstr ""
-"Se você precisar de alguma ajuda, basta clicar nos hyperlinks das instruções"
-" radar, if, move ou turn."
+msgid "If you need some help, just click on the hyperlinks of the instructions radar, if, move or turn."
+msgstr "Se você precisar de alguma ajuda, basta clicar nos hyperlinks das instruções radar, if, move ou turn."
#. type: \t; header
#: ../help/help.E.txt:54
@@ -231,10 +201,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:55
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level008/po/br.po b/levels/exercises/chapter003/level008/po/pt.po
similarity index 57%
rename from levels/exercises/chapter003/level008/po/br.po
rename to levels/exercises/chapter003/level008/po/pt.po
index e99bb197..87f36ebf 100644
--- a/levels/exercises/chapter003/level008/po/br.po
+++ b/levels/exercises/chapter003/level008/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 16:04-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,16 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Search the whole zone inside the barriers with the sniffer"
-" bot for adequate locations for a derrick. When the bot sounds the"
-" subsoil and discovers an adequate location for a derrick, it will mark it"
-" with a red cross."
-msgstr ""
-"Pesquise toda a zona dentro das barreiras com o robô"
-" farejador para locais adequados para um extrator. Quando o robô toca no"
-" subsolo e descobre um local adequado para um extrator, ele o marcará com uma"
-" cruz vermelha."
+msgid "Search the whole zone inside the barriers with the sniffer bot for adequate locations for a derrick. When the bot sounds the subsoil and discovers an adequate location for a derrick, it will mark it with a red cross."
+msgstr "Pesquise toda a zona dentro das barreiras com o robô farejador para locais adequados para um extrator. Quando o robô toca no subsolo e descobre um local adequado para um extrator, ele o marcará com uma cruz vermelha."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -63,12 +55,8 @@ msgstr "Descrição"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"The zone inside the barriers is a square of 25 meters. The most efficient way"
-" is to check every 5 meters."
-msgstr ""
-"A zona dentro das barreiras é um quadrado de 25 metros. A maneira mais"
-" eficiente é verificar a cada 5 metros."
+msgid "The zone inside the barriers is a square of 25 meters. The most efficient way is to check every 5 meters."
+msgstr "A zona dentro das barreiras é um quadrado de 25 metros. A maneira mais eficiente é verificar a cada 5 metros."
#. type: Image filename
#: ../help/help.E.txt:7
@@ -79,12 +67,8 @@ msgstr "sniff1"
#. type: Plain text
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"One way to achieve this is to fit two for loops"
-" one into another:"
-msgstr ""
-"Uma maneira de conseguir isso é encaixar dois laços for um no outro:"
+msgid "One way to achieve this is to fit two for loops one into another:"
+msgstr "Uma maneira de conseguir isso é encaixar dois laços for um no outro:"
#. type: Source code
#: ../help/help.E.txt:10
@@ -120,31 +104,15 @@ msgstr ""
#: ../help/help.E.txt:23
#, no-wrap
msgid ""
-"This program works well only at the beginning. After the first line, the bot"
-" turns correctly left and sounds the second line. But after the second line,"
-" it must turn right!\n"
-"You will have noticed that if y is even, the bot must turn left,"
-" and if y is odd, the bot must turn right.\n"
-"The expressiony%2 returns the rest of the"
-" division of y by 2. For example, if y=3<"
-"/code>, the expression returns 1.\n"
-"The test if { } can be followed by a else {"
-" }. If the test is true, the first block{ }<"
-"/code> will be executed. Otherwise, the second block { } will be"
-" executed."
+"This program works well only at the beginning. After the first line, the bot turns correctly left and sounds the second line. But after the second line, it must turn right!\n"
+"You will have noticed that if y is even, the bot must turn left, and if y is odd, the bot must turn right.\n"
+"The expressiony%2 returns the rest of the division of y by 2. For example, if y=3, the expression returns 1.\n"
+"The test if { } can be followed by a else { }. If the test is true, the first block{ } will be executed. Otherwise, the second block { } will be executed."
msgstr ""
-"Este programa funciona bem apenas no começo. Após a primeira linha, o robô"
-" gira corretamente para a esquerda e soa a segunda linha. Mas depois da"
-" segunda linha, deve virar à direita! \n"
-"Você deve ter notado que, se y code> for par, o robô deve virar à"
-" esquerda, e se y code> for ímpar, o robô deve virar à direita. \n"
-"A expressãoy%2 retorna o resto da divisão de <"
-"code>y code> por 2 code>. Por exemplo, se y = 3 code>, a"
-" expressão retorna 1 code>. \n"
-"O teste if { } pode ser seguido por um else"
-" { }. Se o teste for verdadeiro, o primeiro bloco <"
-"code>{ } será executado. Caso contrário, o segundo bloco { }<"
-"/code> será executado."
+"Este programa funciona bem apenas no começo. Após a primeira linha, o robô gira corretamente para a esquerda e soa a segunda linha. Mas depois da segunda linha, deve virar à direita! \n"
+"Você deve ter notado que, se y code> for par, o robô deve virar à esquerda, e se y code> for ímpar, o robô deve virar à direita. \n"
+"A expressãoy%2 retorna o resto da divisão de y code> por 2 code>. Por exemplo, se y = 3 code>, a expressão retorna 1 code>. \n"
+"O teste if { } pode ser seguido por um else { }. Se o teste for verdadeiro, o primeiro bloco{ } será executado. Caso contrário, o segundo bloco { } será executado."
#. type: Source code
#: ../help/help.E.txt:28
@@ -183,14 +151,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:40
#, no-wrap
-msgid ""
-"Use the instruction sniff( ) to sound the"
-" subsoil, and move( ) and turn( ) to move the bot."
-msgstr ""
-"Use a instrução sniff( ) para sondar o"
-" subsolo, e move( ) e turn<"
-"/a>( ) para mover o bot."
+msgid "Use the instruction sniff( ) to sound the subsoil, and move( ) and turn( ) to move the bot."
+msgstr "Use a instrução sniff( ) para sondar o subsolo, e move( ) e turn( ) para mover o bot."
#. type: \t; header
#: ../help/help.E.txt:42
@@ -201,10 +163,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:43
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter003/level009/po/br.po b/levels/exercises/chapter003/level009/po/pt.po
similarity index 68%
rename from levels/exercises/chapter003/level009/po/br.po
rename to levels/exercises/chapter003/level009/po/pt.po
index 08931e2f..87e6f1da 100644
--- a/levels/exercises/chapter003/level009/po/br.po
+++ b/levels/exercises/chapter003/level009/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 16:13-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,12 +25,8 @@ msgstr "Controle remoto #1"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Remote control a robot using an information exchange post, so it will"
-" transport uranium ore."
-msgstr ""
-"Controle remotamente um robô usando um posto de troca de informações, por"
-" isso vai transportar minério de urânio."
+msgid "Remote control a robot using an information exchange post, so it will transport uranium ore."
+msgstr "Controle remotamente um robô usando um posto de troca de informações, por isso vai transportar minério de urânio."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -48,13 +44,10 @@ msgstr "Exercício"
#: ../help/help.E.txt:2
#, no-wrap
msgid ""
-"Remote control a robot using an information exchange post<"
-"/a>, so it will transport uranium ore.\n"
+"Remote control a robot using an information exchange post, so it will transport uranium ore.\n"
"The main actors of this exercise are:"
msgstr ""
-"Controlar remotamente um robô usando um posto de troca de"
-" informações, para que ele transporte minério de"
-" urânio. \n"
+"Controlar remotamente um robô usando um posto de troca de informações, para que ele transporte minério de urânio. \n"
"Os principais atores deste exercício são:"
#. type: Bullet: '1)'
@@ -66,22 +59,14 @@ msgstr "Um farejador (não pode carregar nada)."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"An information exchange post that receives information"
-" from a sender and then transmits it to a receiver."
-msgstr ""
-"Um posto de troca de informações que recebe"
-" informações de um remetente e as transmite para um destinatário."
+msgid "An information exchange post that receives information from a sender and then transmits it to a receiver."
+msgstr "Um posto de troca de informações que recebe informações de um remetente e as transmite para um destinatário."
#. type: Bullet: '3)'
#: ../help/help.E.txt:7
#, no-wrap
-msgid ""
-"A grabber which waits for orders from the exchange post."
-" You have no way control this robot directly."
-msgstr ""
-"Um agarrador que aguarda ordens do posto de troca. Você"
-" não tem como controlar esse robô diretamente."
+msgid "A grabber which waits for orders from the exchange post. You have no way control this robot directly."
+msgstr "Um agarrador que aguarda ordens do posto de troca. Você não tem como controlar esse robô diretamente."
#. type: Image filename
#: ../help/help.E.txt:9
@@ -92,12 +77,8 @@ msgstr "tremot1a"
#. type: Plain text
#: ../help/help.E.txt:10
#, no-wrap
-msgid ""
-"An information exchange post stores \"name/value\" couples. To control the"
-" \"slave\" robot we use just one couple:"
-msgstr ""
-"Um posto de troca de informações armazena casais de \"nome / valor\". Para"
-" controlar o robô \"escravo\", usamos apenas um par:"
+msgid "An information exchange post stores \"name/value\" couples. To control the \"slave\" robot we use just one couple:"
+msgstr "Um posto de troca de informações armazena casais de \"nome / valor\". Para controlar o robô \"escravo\", usamos apenas um par:"
#. type: Plain text
#: ../help/help.E.txt:12
@@ -130,35 +111,26 @@ msgstr ""
#, no-wrap
msgid ""
"To instruct the slave to move forward 10 meters all you have to do is:\n"
-"\tsend(\"order\", 3, 100); // order 3 ->"
-" \"move(10)\""
+"\tsend(\"order\", 3, 100); // order 3 -> \"move(10)\""
msgstr ""
-"Para instruir o escravo a avançar 10 metros, tudo o que você precisa fazer é:"
-" \n"
-"\tsend(\"order\", 3, 100); // order 3 ->"
-" \"move(10)\""
+"Para instruir o escravo a avançar 10 metros, tudo o que você precisa fazer é: \n"
+"\tsend(\"order\", 3, 100); // order 3 -> \"move(10)\""
#. type: Plain text
#: ../help/help.E.txt:24
#, no-wrap
msgid ""
-"After the send instruction we wait for 5 seconds to be sure the move is"
-" done.\n"
+"After the send instruction we wait for 5 seconds to be sure the move is done.\n"
"\twait(5);"
msgstr ""
-"Após a instrução de envio, esperamos 5 segundos para garantir que a"
-" movimentação seja feita. \n"
+"Após a instrução de envio, esperamos 5 segundos para garantir que a movimentação seja feita. \n"
"\twait(5);"
#. type: Plain text
#: ../help/help.E.txt:27
#, no-wrap
-msgid ""
-"Remark: There is a better way for waiting the order has been executed, but"
-" we'll see this later in exercise \"Remote Control #2\"."
-msgstr ""
-"Observação: Existe uma maneira melhor de esperar que o pedido tenha sido"
-" executado, mas veremos isso mais tarde no exercício \"Controle Remoto # 2\"."
+msgid "Remark: There is a better way for waiting the order has been executed, but we'll see this later in exercise \"Remote Control #2\"."
+msgstr "Observação: Existe uma maneira melhor de esperar que o pedido tenha sido executado, mas veremos isso mais tarde no exercício \"Controle Remoto # 2\"."
#. type: Plain text
#: ../help/help.E.txt:29
@@ -205,10 +177,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:39
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter004/level001/po/br.po b/levels/exercises/chapter004/level001/po/pt.po
similarity index 52%
rename from levels/exercises/chapter004/level001/po/br.po
rename to levels/exercises/chapter004/level001/po/pt.po
index 5d14de17..28cd146f 100644
--- a/levels/exercises/chapter004/level001/po/br.po
+++ b/levels/exercises/chapter004/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 17:26-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text, ScriptName-text
#: ../scene.txt:1 ../scene.txt:3
@@ -25,12 +25,8 @@ msgstr "Dragster"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Program a progressive deceleration in order to avoid the mines right behind"
-" the goal."
-msgstr ""
-"Programe uma desaceleração progressiva para evitar as minas logo atrás da"
-" meta."
+msgid "Program a progressive deceleration in order to avoid the mines right behind the goal."
+msgstr "Programe uma desaceleração progressiva para evitar as minas logo atrás da meta."
#. type: \b; header
#: ../help/help.E.txt:1
@@ -41,29 +37,14 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Reach the finishing pad (25m in front of you) as fast as possible, using the"
-" instruction motor( , ). You will have to slow down"
-" progressively at the end of the move, otherwise the bot will get blown up on"
-" the mines."
-msgstr ""
-"Alcance o bloco de acabamento (25m à sua frente) o mais rápido possível,"
-" usando a instrução motor ( , ) . Você terá que desacelerar"
-" progressivamente no final do movimento, caso contrário, o robô será"
-" explodido nas minas."
+msgid "Reach the finishing pad (25m in front of you) as fast as possible, using the instruction motor( , ). You will have to slow down progressively at the end of the move, otherwise the bot will get blown up on the mines."
+msgstr "Alcance o bloco de acabamento (25m à sua frente) o mais rápido possível, usando a instrução motor ( , ) . Você terá que desacelerar progressivamente no final do movimento, caso contrário, o robô será explodido nas minas."
#. type: Plain text
#: ../help/help.E.txt:4
#, no-wrap
-msgid ""
-"You could very well write no more than move(25);,"
-" this would work perfectly well. However, the aim of this exercise is to"
-" learn how to use the instruction motor."
-msgstr ""
-"Você poderia muito bem escrever não mais que move(25);<"
-"n/>, isso funcionaria perfeitamente bem. No entanto, o objetivo deste"
-" exercício é aprender como usar a instrução motor<"
-"/code>."
+msgid "You could very well write no more than move(25);, this would work perfectly well. However, the aim of this exercise is to learn how to use the instruction motor."
+msgstr "Você poderia muito bem escrever não mais que move(25);, isso funcionaria perfeitamente bem. No entanto, o objetivo deste exercício é aprender como usar a instrução motor."
#. type: Plain text
#: ../help/help.E.txt:6
@@ -114,26 +95,14 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
-msgid ""
-"For example, motor(0.5, 0.5); will move the motor forward with"
-" half-speed, until new instructions are given to the motors."
-msgstr ""
-"Por exemplo, motor(0.5, 0.5); moverá o motor para a frente com meia"
-" velocidade, até que novas instruções sejam dadas aos motores."
+msgid "For example, motor(0.5, 0.5); will move the motor forward with half-speed, until new instructions are given to the motors."
+msgstr "Por exemplo, motor(0.5, 0.5); moverá o motor para a frente com meia velocidade, até que novas instruções sejam dadas aos motores."
#. type: Plain text
#: ../help/help.E.txt:19
#, no-wrap
-msgid ""
-"With the instruction motor(0.5, 0.6);, the bot will move forward with"
-" half-speed, turning at the same time slightly to the left: the right-hand"
-" motor moves a little faster (0.6) than the left-hand motor (<"
-"code>0.5)."
-msgstr ""
-"Com a instrução motor(0.5, 0.6);, o robô avançará com meia"
-" velocidade, girando ao mesmo tempo ligeiramente para a esquerda: o motor da"
-" direita se move um pouco mais rápido (0.6) que o motor da"
-" esquerda (0.5)."
+msgid "With the instruction motor(0.5, 0.6);, the bot will move forward with half-speed, turning at the same time slightly to the left: the right-hand motor moves a little faster (0.6) than the left-hand motor (0.5)."
+msgstr "Com a instrução motor(0.5, 0.6);, o robô avançará com meia velocidade, girando ao mesmo tempo ligeiramente para a esquerda: o motor da direita se move um pouco mais rápido (0.6) que o motor da esquerda (0.5)."
#. type: \b; header
#: ../help/help.E.txt:21
@@ -145,28 +114,11 @@ msgstr "Princípio geral"
#: ../help/help.E.txt:22
#, no-wrap
msgid ""
-"In order to move forward for exactly 25 meters and not more, you must move"
-" full speed during the first 23 meters, then reduce the speed of the motors"
-" progressively during the last two meters.\n"
-"The variableposition gives you at any"
-" moment the current position of the bot, and the instruction distance( , ); returns the distance between two points. The best way"
-" to know where you are consists in saving the current position before the"
-" start into a variable, for example a variable called start. Then you can calculate the distance between the starting"
-" position and your current position with distance(position, start)<"
-"/code>."
+"In order to move forward for exactly 25 meters and not more, you must move full speed during the first 23 meters, then reduce the speed of the motors progressively during the last two meters.\n"
+"The variableposition gives you at any moment the current position of the bot, and the instruction distance( , ); returns the distance between two points. The best way to know where you are consists in saving the current position before the start into a variable, for example a variable called start. Then you can calculate the distance between the starting position and your current position with distance(position, start)."
msgstr ""
-"Para avançar por exatamente 25 metros e não mais, você deve mover a"
-" velocidade máxima durante os primeiros 23 metros, depois reduzir a"
-" velocidade dos motores progressivamente durante os últimos dois metros. \n"
-"A variávelposition dá a você a qualquer"
-" momento a posição atual do robô, e a instrução distance( , ); retorna a distância entre dois pontos. A melhor maneira de saber"
-" onde você está consiste em salvar a posição atual antes do início em uma variável, por exemplo, uma variável chamada inicio. Então você pode calcular a distância entre a posição inicial e sua posição"
-" atual com distance (position, inicio)."
+"Para avançar por exatamente 25 metros e não mais, você deve mover a velocidade máxima durante os primeiros 23 metros, depois reduzir a velocidade dos motores progressivamente durante os últimos dois metros. \n"
+"A variávelposition dá a você a qualquer momento a posição atual do robô, e a instrução distance( , ); retorna a distância entre dois pontos. A melhor maneira de saber onde você está consiste em salvar a posição atual antes do início em uma variável, por exemplo, uma variável chamada inicio. Então você pode calcular a distância entre a posição inicial e sua posição atual com distance (position, inicio)."
#. type: \b; header
#: ../help/help.E.txt:25
@@ -245,33 +197,20 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:46
#, no-wrap
-msgid ""
-"As long as the distance between the start and the current position is smaller"
-" than 23m, the instruction in braces after the if"
-" instruction will not be executed, so the motors keep their maximum speed as"
-" they were told by the motor(1,1); instruction."
-msgstr ""
-"Enquanto a distância entre o início e a posição atual for menor que 23m, a"
-" instrução entre chaves após a instrução if não"
-" será executada, então os motores mantém sua velocidade máxima como foi dito"
-" pela instrução motor(1,1);."
+msgid "As long as the distance between the start and the current position is smaller than 23m, the instruction in braces after the if instruction will not be executed, so the motors keep their maximum speed as they were told by the motor(1,1); instruction."
+msgstr "Enquanto a distância entre o início e a posição atual for menor que 23m, a instrução entre chaves após a instrução if não será executada, então os motores mantém sua velocidade máxima como foi dito pela instrução motor(1,1);."
#. type: Plain text
#: ../help/help.E.txt:48
#, no-wrap
-msgid ""
-"In order to slow down progressively, the speed of the motors must be"
-" proportional to the remaining distance:"
-msgstr ""
-"Para diminuir progressivamente, a velocidade dos motores deve ser"
-" proporcional à distância restante:"
+msgid "In order to slow down progressively, the speed of the motors must be proportional to the remaining distance:"
+msgstr "Para diminuir progressivamente, a velocidade dos motores deve ser proporcional à distância restante:"
#. type: Bullet: 'o'
#: ../help/help.E.txt:49
#, no-wrap
msgid "2.0 meters left -> speed = 1.00 (maximum)"
-msgstr ""
-"2.0 metros restantes -> velocidade = 1.00 (máximo)"
+msgstr "2.0 metros restantes -> velocidade = 1.00 (máximo)"
#. type: Bullet: 'o'
#: ../help/help.E.txt:50
@@ -295,8 +234,7 @@ msgstr "0.5 metro restante -> velocidade = 0.25"
#: ../help/help.E.txt:53
#, no-wrap
msgid "0.0 meter left -> speed = 0.00 (stop)"
-msgstr ""
-"0.0 metro restante -> velocidade = 0.00 (parado)"
+msgstr "0.0 metro restante -> velocidade = 0.00 (parado)"
#. type: Image filename
#: ../help/help.E.txt:55
@@ -307,14 +245,8 @@ msgstr "tdragst1"
#. type: Plain text
#: ../help/help.E.txt:56
#, no-wrap
-msgid ""
-"You can use the following expression(25-len)/2"
-" in order to calculate the value for the speed instruction that must be given"
-" to the motors."
-msgstr ""
-"Você pode usar a seguinte expressão(25-dist)/2"
-" para calcular o valor da instrução de velocidade que deve ser dada aos"
-" motores."
+msgid "You can use the following expression(25-len)/2 in order to calculate the value for the speed instruction that must be given to the motors."
+msgstr "Você pode usar a seguinte expressão(25-dist)/2 para calcular o valor da instrução de velocidade que deve ser dada aos motores."
#. type: Plain text
#: ../help/help.E.txt:58
@@ -331,12 +263,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:61
#, no-wrap
-msgid ""
-"You can use values greater than 1 for the instruction motor();, but the bot will not move any faster."
-msgstr ""
-"Você pode usar valores maiores que 1 para a instrução motor();, mas o robô não se moverá mais rápido."
+msgid "You can use values greater than 1 for the instruction motor();, but the bot will not move any faster."
+msgstr "Você pode usar valores maiores que 1 para a instrução motor();, mas o robô não se moverá mais rápido."
#. type: \t; header
#: ../help/help.E.txt:63
@@ -347,10 +275,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:64
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter004/level002/po/br.po b/levels/exercises/chapter004/level002/po/br.po
deleted file mode 100644
index c21eea44..00000000
--- a/levels/exercises/chapter004/level002/po/br.po
+++ /dev/null
@@ -1,330 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 17:39-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Radar"
-msgstr "Radar"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Use the radar to find lots of stupid blue crosses."
-msgstr "Use o radar para encontrar muitas cruzes azuis estúpidas."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Find"
-msgstr "Encontrar"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Let the bot find all the blue crosses on the ground."
-" As soon as the bot passed over one of the crosses, it will disappear. Here"
-" is the general principle that you will apply:"
-msgstr ""
-"Deixe o robô encontrar todos as cruzes azuis no chão."
-" Assim que o robô passar por cima de uma das cruzes, ela desaparecerá. Aqui"
-" está o princípio geral que você aplicará:"
-
-#. type: Plain text
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Repeat forever:"
-msgstr "Repita para sempre:"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid "Look for a cross"
-msgstr "Procure uma cruz"
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:6
-#, no-wrap
-msgid "If there is none, stop the program."
-msgstr "Se não houver nenhum, pare o programa."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "Calculate the direction of the cross."
-msgstr "Calcule a direção da cruz."
-
-#. type: Bullet: 'o'
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid ""
-"Set the speed of the motors in such a way that they will find their way to"
-" the cross."
-msgstr ""
-"Defina a velocidade dos motores de tal forma que eles encontrem seu caminho"
-" para a cruz."
-
-#. type: \b; header
-#: ../help/help.E.txt:10
-#, no-wrap
-msgid "The program"
-msgstr "O programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid ""
-"Use a while loop in order to repeat several"
-" instructions over and over:"
-msgstr ""
-"Use um laço while para repetir várias"
-" instruções várias vezes:"
-
-#. type: Source code
-#: ../help/help.E.txt:12
-#, no-wrap
-msgid ""
-"while ( true )\n"
-"{\n"
-"\tinstructions...\n"
-"}"
-msgstr ""
-"while ( true )\n"
-"{\n"
-"\tinstruções...\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:17
-#, no-wrap
-msgid ""
-"The instruction radar will detect the blue"
-" crosses and put their description into a variable, for example spot<"
-"/code>. In this case, radar() needs only one"
-" parameter, i.e. the category of the object that it must look for:"
-msgstr ""
-"A instrução radar irá detectar as cruzes azuis"
-" e colocar sua descrição em uma variável, por exemplo local."
-" Neste caso, radar() precisa de apenas um"
-" parâmetro, ou seja, a categoria do objeto que ele deve procurar:"
-
-#. type: Source code
-#: ../help/help.E.txt:18
-#, no-wrap
-msgid "spot = radar(WayPoint);"
-msgstr "local = radar(WayPoint);"
-
-#. type: Plain text
-#: ../help/help.E.txt:20
-#, no-wrap
-msgid ""
-"Once all the crosses have been found, radar will return the"
-" value null. You will have to test this case"
-" and react accordingly with the instruction if:"
-msgstr ""
-"Uma vez que todas as cruzes tenham sido encontradas, radar"
-" retornará o valor null. Você terá que testar"
-" este caso e reagir de acordo com a instrução if:"
-
-#. type: Source code
-#: ../help/help.E.txt:21
-#, no-wrap
-msgid ""
-"if ( spot == null ) // no more ?\n"
-"{\n"
-"\tmotor(0, 0); // stops the motors\n"
-"\tbreak; // stops the loop\n"
-"}"
-msgstr ""
-"if ( local == null ) // acabou?\n"
-"{\n"
-"\tmotor(0, 0); // para os motores\n"
-"\tbreak; // para o laço\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:26
-#, no-wrap
-msgid ""
-"The instruction break will stop the"
-" infinite loop while (true)."
-msgstr ""
-" A instrução break irá parar o laço"
-" infinito while (true)."
-
-#. type: Plain text
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid ""
-"Use the instruction direction() to calculate"
-" the angle of the rotation that the bot must perform in order to turn towards"
-" the blue cross. The coordinates of the object are given by spot.position. The following line will put the angle of the necessary"
-" rotation into the variabledir:"
-msgstr ""
-"Use a instrução direction() para calcular o"
-" ângulo da rotação que o robô deve realizar para virar na direção da cruz"
-" azul. As coordenadas do objeto são dadas por local.position. A"
-" linha a seguir colocará o ângulo da rotação necessária na variáveldir:"
-
-#. type: Source code
-#: ../help/help.E.txt:29
-#, no-wrap
-msgid "dir = direction(spot.position);"
-msgstr "dir = direction(local.position);"
-
-#. type: Plain text
-#: ../help/help.E.txt:31
-#, no-wrap
-msgid ""
-"The value of the angle is positive if the blue cross is on your left hand,"
-" and negative if it is on your right hand. If the cross to be reached is on"
-" your left hand, you must set the right-hand motor to full speed, and set the"
-" left-hand motor to a lower speed, according to the angle:"
-msgstr ""
-"O valor do ângulo é positivo se a cruz azul estiver na sua mão esquerda e"
-" negativa se estiver na sua mão direita. Se a cruz a ser alcançada estiver à"
-" sua esquerda, você deve ajustar o motor do lado direito para a velocidade"
-" máxima e ajustar o motor do lado esquerdo para uma velocidade menor, de"
-" acordo com o ângulo:"
-
-#. type: Plain text
-#: ../help/help.E.txt:33
-#, no-wrap
-msgid ""
-" direction = 0 -> speed = 1.0\n"
-" direction = 45 -> speed = 0.5\n"
-" direction = 90 -> speed = 0.0\n"
-" direction = 135 -> speed = -0.5\n"
-" direction = 180 -> speed = -1.0"
-msgstr ""
-" direção = 0 -> velocidade = 1.0 \n"
-" direção = 45 -> velocidade = 0.5 \n"
-" direção = 90 -> velocidade = 0.0 \n"
-" direção = 135 -> velocidade = -0.5 \n"
-" direção = 180 -> velocidade = -1.0 "
-
-#. type: Plain text
-#: ../help/help.E.txt:39
-#, no-wrap
-msgid ""
-"The graphic below shows the speed of the left-hand and right-hand motor as"
-" set by the instruction motor, according to"
-" the angle:"
-msgstr ""
-"O gráfico abaixo mostra a velocidade do motor do lado esquerdo e do lado"
-" direito, conforme definido pela instrução motor<"
-"/code>, de acordo com o ângulo:"
-
-#. type: Image filename
-#: ../help/help.E.txt:41
-#, no-wrap
-msgid "radar2"
-msgstr "radar2"
-
-#. type: Plain text
-#: ../help/help.E.txt:42
-#, no-wrap
-msgid ""
-"If the cross is straight ahead, the angle is 0 degrees. The motors will get"
-" the speeds 1 and 1, which means full speed ahead. If the cross is behind,"
-" the right motor will be set to speed -1: it will turn around. You can use"
-" the expression1+dir/90 in order to calculate"
-" the necessary speed of the motors:"
-msgstr ""
-"Se a cruz estiver em frente, o ângulo é 0 graus. Os motores terão as"
-" velocidades 1 e 1, o que significa velocidade total à frente. Se a cruz"
-" estiver atrás, o motor direito será ajustado para a velocidade -1: ele"
-" girará. Você pode usar a expressão1+dir/90"
-" para calcular a velocidade necessária dos motores:"
-
-#. type: Source code
-#: ../help/help.E.txt:43
-#, no-wrap
-msgid ""
-"if ( dir < 0 ) // on the right side?\n"
-"{\n"
-"\tmotor(1, 1+dir/90); // turns more or less\n"
-"}"
-msgstr ""
-"if ( dir < 0 ) // no lado direito?\n"
-"{\n"
-"\tmotor(1, 1+dir/90); // gira mais ou menos\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:48
-#, no-wrap
-msgid ""
-"Use the same principle if the angle has got a positive value, ranging between"
-" 0 and 180 degrees. It is up to you to work out the exact instructions to be"
-" performed:"
-msgstr ""
-"Use o mesmo princípio se o ângulo tiver um valor positivo, variando entre 0 e"
-" 180 graus. Cabe a você descobrir as instruções exatas a serem executadas:"
-
-#. type: Source code
-#: ../help/help.E.txt:49
-#, no-wrap
-msgid ""
-"else // on the left side?\n"
-"{\n"
-"\tup to you to fill in here...\n"
-"}"
-msgstr ""
-"else // no lado esquerdo?\n"
-"{\n"
-"\tcabe a você preencher aqui...\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:54
-#, no-wrap
-msgid ""
-"At the beginning of the program, you must still declare all the variables. <"
-"code>spot is of type object, whereas <"
-"code>dir is of type float."
-msgstr ""
-"No início do programa, você ainda deve declarar todas as variáveis. local é do tipo object,"
-" enquanto dir é do tipo float."
-
-#. type: \t; header
-#: ../help/help.E.txt:56
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:57
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter004/level002/po/pt.po b/levels/exercises/chapter004/level002/po/pt.po
new file mode 100644
index 00000000..9b67a72b
--- /dev/null
+++ b/levels/exercises/chapter004/level002/po/pt.po
@@ -0,0 +1,247 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 17:39-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Radar"
+msgstr "Radar"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Use the radar to find lots of stupid blue crosses."
+msgstr "Use o radar para encontrar muitas cruzes azuis estúpidas."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Find"
+msgstr "Encontrar"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Let the bot find all the blue crosses on the ground. As soon as the bot passed over one of the crosses, it will disappear. Here is the general principle that you will apply:"
+msgstr "Deixe o robô encontrar todos as cruzes azuis no chão. Assim que o robô passar por cima de uma das cruzes, ela desaparecerá. Aqui está o princípio geral que você aplicará:"
+
+#. type: Plain text
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Repeat forever:"
+msgstr "Repita para sempre:"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "Look for a cross"
+msgstr "Procure uma cruz"
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:6
+#, no-wrap
+msgid "If there is none, stop the program."
+msgstr "Se não houver nenhum, pare o programa."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "Calculate the direction of the cross."
+msgstr "Calcule a direção da cruz."
+
+#. type: Bullet: 'o'
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid "Set the speed of the motors in such a way that they will find their way to the cross."
+msgstr "Defina a velocidade dos motores de tal forma que eles encontrem seu caminho para a cruz."
+
+#. type: \b; header
+#: ../help/help.E.txt:10
+#, no-wrap
+msgid "The program"
+msgstr "O programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "Use a while loop in order to repeat several instructions over and over:"
+msgstr "Use um laço while para repetir várias instruções várias vezes:"
+
+#. type: Source code
+#: ../help/help.E.txt:12
+#, no-wrap
+msgid ""
+"while ( true )\n"
+"{\n"
+"\tinstructions...\n"
+"}"
+msgstr ""
+"while ( true )\n"
+"{\n"
+"\tinstruções...\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:17
+#, no-wrap
+msgid "The instruction radar will detect the blue crosses and put their description into a variable, for example spot. In this case, radar() needs only one parameter, i.e. the category of the object that it must look for:"
+msgstr "A instrução radar irá detectar as cruzes azuis e colocar sua descrição em uma variável, por exemplo local. Neste caso, radar() precisa de apenas um parâmetro, ou seja, a categoria do objeto que ele deve procurar:"
+
+#. type: Source code
+#: ../help/help.E.txt:18
+#, no-wrap
+msgid "spot = radar(WayPoint);"
+msgstr "local = radar(WayPoint);"
+
+#. type: Plain text
+#: ../help/help.E.txt:20
+#, no-wrap
+msgid "Once all the crosses have been found, radar will return the value null. You will have to test this case and react accordingly with the instruction if:"
+msgstr "Uma vez que todas as cruzes tenham sido encontradas, radar retornará o valor null. Você terá que testar este caso e reagir de acordo com a instrução if:"
+
+#. type: Source code
+#: ../help/help.E.txt:21
+#, no-wrap
+msgid ""
+"if ( spot == null ) // no more ?\n"
+"{\n"
+"\tmotor(0, 0); // stops the motors\n"
+"\tbreak; // stops the loop\n"
+"}"
+msgstr ""
+"if ( local == null ) // acabou?\n"
+"{\n"
+"\tmotor(0, 0); // para os motores\n"
+"\tbreak; // para o laço\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:26
+#, no-wrap
+msgid "The instruction break will stop the infinite loop while (true)."
+msgstr " A instrução break irá parar o laço infinito while (true)."
+
+#. type: Plain text
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid "Use the instruction direction() to calculate the angle of the rotation that the bot must perform in order to turn towards the blue cross. The coordinates of the object are given by spot.position. The following line will put the angle of the necessary rotation into the variabledir:"
+msgstr "Use a instrução direction() para calcular o ângulo da rotação que o robô deve realizar para virar na direção da cruz azul. As coordenadas do objeto são dadas por local.position. A linha a seguir colocará o ângulo da rotação necessária na variáveldir:"
+
+#. type: Source code
+#: ../help/help.E.txt:29
+#, no-wrap
+msgid "dir = direction(spot.position);"
+msgstr "dir = direction(local.position);"
+
+#. type: Plain text
+#: ../help/help.E.txt:31
+#, no-wrap
+msgid "The value of the angle is positive if the blue cross is on your left hand, and negative if it is on your right hand. If the cross to be reached is on your left hand, you must set the right-hand motor to full speed, and set the left-hand motor to a lower speed, according to the angle:"
+msgstr "O valor do ângulo é positivo se a cruz azul estiver na sua mão esquerda e negativa se estiver na sua mão direita. Se a cruz a ser alcançada estiver à sua esquerda, você deve ajustar o motor do lado direito para a velocidade máxima e ajustar o motor do lado esquerdo para uma velocidade menor, de acordo com o ângulo:"
+
+#. type: Plain text
+#: ../help/help.E.txt:33
+#, no-wrap
+msgid ""
+" direction = 0 -> speed = 1.0\n"
+" direction = 45 -> speed = 0.5\n"
+" direction = 90 -> speed = 0.0\n"
+" direction = 135 -> speed = -0.5\n"
+" direction = 180 -> speed = -1.0"
+msgstr ""
+" direção = 0 -> velocidade = 1.0 \n"
+" direção = 45 -> velocidade = 0.5 \n"
+" direção = 90 -> velocidade = 0.0 \n"
+" direção = 135 -> velocidade = -0.5 \n"
+" direção = 180 -> velocidade = -1.0 "
+
+#. type: Plain text
+#: ../help/help.E.txt:39
+#, no-wrap
+msgid "The graphic below shows the speed of the left-hand and right-hand motor as set by the instruction motor, according to the angle:"
+msgstr "O gráfico abaixo mostra a velocidade do motor do lado esquerdo e do lado direito, conforme definido pela instrução motor, de acordo com o ângulo:"
+
+#. type: Image filename
+#: ../help/help.E.txt:41
+#, no-wrap
+msgid "radar2"
+msgstr "radar2"
+
+#. type: Plain text
+#: ../help/help.E.txt:42
+#, no-wrap
+msgid "If the cross is straight ahead, the angle is 0 degrees. The motors will get the speeds 1 and 1, which means full speed ahead. If the cross is behind, the right motor will be set to speed -1: it will turn around. You can use the expression1+dir/90 in order to calculate the necessary speed of the motors:"
+msgstr "Se a cruz estiver em frente, o ângulo é 0 graus. Os motores terão as velocidades 1 e 1, o que significa velocidade total à frente. Se a cruz estiver atrás, o motor direito será ajustado para a velocidade -1: ele girará. Você pode usar a expressão1+dir/90 para calcular a velocidade necessária dos motores:"
+
+#. type: Source code
+#: ../help/help.E.txt:43
+#, no-wrap
+msgid ""
+"if ( dir < 0 ) // on the right side?\n"
+"{\n"
+"\tmotor(1, 1+dir/90); // turns more or less\n"
+"}"
+msgstr ""
+"if ( dir < 0 ) // no lado direito?\n"
+"{\n"
+"\tmotor(1, 1+dir/90); // gira mais ou menos\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:48
+#, no-wrap
+msgid "Use the same principle if the angle has got a positive value, ranging between 0 and 180 degrees. It is up to you to work out the exact instructions to be performed:"
+msgstr "Use o mesmo princípio se o ângulo tiver um valor positivo, variando entre 0 e 180 graus. Cabe a você descobrir as instruções exatas a serem executadas:"
+
+#. type: Source code
+#: ../help/help.E.txt:49
+#, no-wrap
+msgid ""
+"else // on the left side?\n"
+"{\n"
+"\tup to you to fill in here...\n"
+"}"
+msgstr ""
+"else // no lado esquerdo?\n"
+"{\n"
+"\tcabe a você preencher aqui...\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:54
+#, no-wrap
+msgid "At the beginning of the program, you must still declare all the variables. spot is of type object, whereas dir is of type float."
+msgstr "No início do programa, você ainda deve declarar todas as variáveis. local é do tipo object, enquanto dir é do tipo float."
+
+#. type: \t; header
+#: ../help/help.E.txt:56
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:57
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter004/level003/po/br.po b/levels/exercises/chapter004/level003/po/br.po
deleted file mode 100644
index f72cecee..00000000
--- a/levels/exercises/chapter004/level003/po/br.po
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-08 17:42-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Crazy bot"
-msgstr "Robô louco"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid ""
-"Use the radar to put some order into a big mess left behind by a crazy bot."
-msgstr ""
-"Use o radar para colocar alguma ordem em uma grande bagunça deixada por um"
-" robô maluco."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"In this exercise, a \"crazy bot\" places many blue"
-" crosses on the ground. In order to find them, you can reuse the program"
-" written in the previous exercise. This can show you the flexibility of such"
-" a program: it adapts to whatever environment it encounters."
-msgstr ""
-"Neste exercício, um \"robô maluco\" coloca muitas cruzes"
-" azuis no chão. Para encontrá-las, você pode reutilizar o programa"
-" escrito no exercício anterior. Isso pode mostrar a flexibilidade de um"
-" programa desse tipo: ele se adapta a qualquer ambiente que encontre."
-
-#. type: \t; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Remark"
-msgstr "Observação"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"Do not wait too long, because the crazy bot gets down to work immediately."
-" Fortunately, as long as you are in the program editor, the game will pause."
-msgstr ""
-"Não espere muito, porque o robô maluco começa a funcionar imediatamente."
-" Felizmente, contanto que você esteja no editor do programa, o jogo fará uma"
-" pausa."
-
-#. type: \t; header
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter004/level003/po/pt.po b/levels/exercises/chapter004/level003/po/pt.po
new file mode 100644
index 00000000..61c027e9
--- /dev/null
+++ b/levels/exercises/chapter004/level003/po/pt.po
@@ -0,0 +1,71 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-08 17:42-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Crazy bot"
+msgstr "Robô louco"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Use the radar to put some order into a big mess left behind by a crazy bot."
+msgstr "Use o radar para colocar alguma ordem em uma grande bagunça deixada por um robô maluco."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "In this exercise, a \"crazy bot\" places many blue crosses on the ground. In order to find them, you can reuse the program written in the previous exercise. This can show you the flexibility of such a program: it adapts to whatever environment it encounters."
+msgstr "Neste exercício, um \"robô maluco\" coloca muitas cruzes azuis no chão. Para encontrá-las, você pode reutilizar o programa escrito no exercício anterior. Isso pode mostrar a flexibilidade de um programa desse tipo: ele se adapta a qualquer ambiente que encontre."
+
+#. type: \t; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Remark"
+msgstr "Observação"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "Do not wait too long, because the crazy bot gets down to work immediately. Fortunately, as long as you are in the program editor, the game will pause."
+msgstr "Não espere muito, porque o robô maluco começa a funcionar imediatamente. Felizmente, contanto que você esteja no editor do programa, o jogo fará uma pausa."
+
+#. type: \t; header
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter004/level004/po/br.po b/levels/exercises/chapter004/level004/po/pt.po
similarity index 59%
rename from levels/exercises/chapter004/level004/po/br.po
rename to levels/exercises/chapter004/level004/po/pt.po
index 54a19fbf..8a3eb18a 100644
--- a/levels/exercises/chapter004/level004/po/br.po
+++ b/levels/exercises/chapter004/level004/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 17:46-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,14 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"You must find a way to destroy the four moving target bots<"
-"/a> without wasting one shot. Notice that after every move, the targets will"
-" stay motionless during one second."
-msgstr ""
-"Você deve encontrar uma maneira de destruir os quatro robôs"
-" alvos em movimento sem perder um tiro. Observe que após cada movimento,"
-" os alvos permanecerão imóveis durante um segundo."
+msgid "You must find a way to destroy the four moving target bots without wasting one shot. Notice that after every move, the targets will stay motionless during one second."
+msgstr "Você deve encontrar uma maneira de destruir os quatro robôs alvos em movimento sem perder um tiro. Observe que após cada movimento, os alvos permanecerão imóveis durante um segundo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -61,17 +55,13 @@ msgstr "Princípio geral"
#. type: Bullet: '1)'
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"Detect a target with the instruction radar(TargetBot);<"
-"n/>."
-msgstr ""
-"Detectar um alvo com a instrução radar(TargetBot);."
+msgid "Detect a target with the instruction radar(TargetBot);."
+msgstr "Detectar um alvo com a instrução radar(TargetBot);."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"Turn towards the target with turn(direction());."
+msgid "Turn towards the target with turn(direction());."
msgstr "Vire para o alvo com turn(direction());."
#. type: Bullet: '3)'
@@ -83,10 +73,8 @@ msgstr "Após a rotação, verifique se o alvo não se moveu."
#. type: Bullet: '4)'
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"If it did not, wait 0.2 seconds with wait(0.2);."
-msgstr ""
-"Caso contrário, aguarde 0.2 segundos com wait(0.2);."
+msgid "If it did not, wait 0.2 seconds with wait(0.2);."
+msgstr "Caso contrário, aguarde 0.2 segundos com wait(0.2);."
#. type: Bullet: '5)'
#: ../help/help.E.txt:9
@@ -97,12 +85,8 @@ msgstr "Verifique novamente se o alvo não se moveu."
#. type: Bullet: '6)'
#: ../help/help.E.txt:10
#, no-wrap
-msgid ""
-"If it did not, shoot with fire(2); and wait 2"
-" seconds for the target to be hit by the bullets and destroyed."
-msgstr ""
-"Caso contrário, atire com fire(2); e espere 2"
-" segundos para que o alvo seja atingido pelas balas e destruído."
+msgid "If it did not, shoot with fire(2); and wait 2 seconds for the target to be hit by the bullets and destroyed."
+msgstr "Caso contrário, atire com fire(2); e espere 2 segundos para que o alvo seja atingido pelas balas e destruído."
#. type: Plain text
#: ../help/help.E.txt:12
@@ -119,12 +103,8 @@ msgstr "Observação"
#. type: Plain text
#: ../help/help.E.txt:15
#, no-wrap
-msgid ""
-"In order to increase the efficiency of your shots, aim a little downward with"
-" aim(-3);."
-msgstr ""
-"Para aumentar a eficiência de suas rajadas, aponte um pouco para baixo com <"
-"c/>aim(-3);."
+msgid "In order to increase the efficiency of your shots, aim a little downward with aim(-3);."
+msgstr "Para aumentar a eficiência de suas rajadas, aponte um pouco para baixo com aim(-3);."
#. type: \t; header
#: ../help/help.E.txt:17
@@ -135,10 +115,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:18
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter004/level005/po/br.po b/levels/exercises/chapter004/level005/po/pt.po
similarity index 51%
rename from levels/exercises/chapter004/level005/po/br.po
rename to levels/exercises/chapter004/level005/po/pt.po
index c5442d2e..b09ae021 100644
--- a/levels/exercises/chapter004/level005/po/br.po
+++ b/levels/exercises/chapter004/level005/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-08 18:14-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,20 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"You must follow the target bot with the explosive device,"
-" but without touching it, otherwise it will blow up. Every time the target"
-" bot stops, you must be close to it (less than 10m). After you managed to"
-" stay close to the target bot at 10 successive stops, it will lead you to the"
-" finishing pad, and the exercise is over. At every stop, the target bot"
-" checks that you are there. If you are not there, you must start over again."
-msgstr ""
-"Você deve seguir o robô alvo com o dispositivo explosivo,"
-" mas sem tocá-lo, caso contrário ele explodirá. Toda vez que o robô alvo"
-" parar, você deve estar perto dele (menos de 10m). Depois que você conseguir"
-" ficar perto do robô de destino em 10 paradas sucessivas, ele o levará até o"
-" finalizador e o exercício terminará. A cada parada, o robô de destino"
-" verifica se você está lá. Se você não está lá, você deve começar de novo."
+msgid "You must follow the target bot with the explosive device, but without touching it, otherwise it will blow up. Every time the target bot stops, you must be close to it (less than 10m). After you managed to stay close to the target bot at 10 successive stops, it will lead you to the finishing pad, and the exercise is over. At every stop, the target bot checks that you are there. If you are not there, you must start over again."
+msgstr "Você deve seguir o robô alvo com o dispositivo explosivo, mas sem tocá-lo, caso contrário ele explodirá. Toda vez que o robô alvo parar, você deve estar perto dele (menos de 10m). Depois que você conseguir ficar perto do robô de destino em 10 paradas sucessivas, ele o levará até o finalizador e o exercício terminará. A cada parada, o robô de destino verifica se você está lá. Se você não está lá, você deve começar de novo."
#. type: \b; header
#: ../help/help.E.txt:4
@@ -91,20 +79,14 @@ msgstr "se a distância ao robô alvo for menor que 5m, mova-se para trás."
#. type: Bullet: 'o'
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"Otherwise, calculate the direction of the target bot, and move towards it."
-msgstr ""
-"Caso contrário, calcule a direção do robô alvo e mova-se em direção a ele."
+msgid "Otherwise, calculate the direction of the target bot, and move towards it."
+msgstr "Caso contrário, calcule a direção do robô alvo e mova-se em direção a ele."
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"As many times before, use while (true) in"
-" order to perform the infinite loop:"
-msgstr ""
-"Como muitas vezes antes, use while (true) para"
-" executar um laço infinito:"
+msgid "As many times before, use while (true) in order to perform the infinite loop:"
+msgstr "Como muitas vezes antes, use while (true) para executar um laço infinito:"
#. type: Source code
#: ../help/help.E.txt:12
@@ -123,11 +105,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
-msgid ""
-"Look for the target bot with the instruction radar<"
-"/code>:"
-msgstr ""
-"Procure o robô alvo com a instrução radar:"
+msgid "Look for the target bot with the instruction radar:"
+msgstr "Procure o robô alvo com a instrução radar:"
#. type: Source code
#: ../help/help.E.txt:18
@@ -138,25 +117,14 @@ msgstr "\talvo = radar(TargetBot);"
#. type: Plain text
#: ../help/help.E.txt:20
#, no-wrap
-msgid ""
-"You do not have to test if the radar found a target bot: there must be one."
-msgstr ""
-"Você não precisa testar se o radar encontrou um robô de destino: deve haver"
-" um."
+msgid "You do not have to test if the radar found a target bot: there must be one."
+msgstr "Você não precisa testar se o radar encontrou um robô de destino: deve haver um."
#. type: Plain text
#: ../help/help.E.txt:22
#, no-wrap
-msgid ""
-"Use the instruction distance( , ) to calculate"
-" the distance between two points. The first point will be the position of"
-" your own bot, given by position. The second point is the"
-" position of the target bot, given by target.position."
-msgstr ""
-"Use a instrução distance( , ) para calcular a"
-" distância entre dois pontos. O primeiro ponto será a posição do seu próprio"
-" robô, dada por position. O segundo ponto é a posição do robô"
-" alvo, dada por alvo.position."
+msgid "Use the instruction distance( , ) to calculate the distance between two points. The first point will be the position of your own bot, given by position. The second point is the position of the target bot, given by target.position."
+msgstr "Use a instrução distance( , ) para calcular a distância entre dois pontos. O primeiro ponto será a posição do seu próprio robô, dada por position. O segundo ponto é a posição do robô alvo, dada por alvo.position."
#. type: Source code
#: ../help/help.E.txt:23
@@ -168,25 +136,17 @@ msgstr "dist = distance(position, alvo.position);"
#: ../help/help.E.txt:25
#, no-wrap
msgid ""
-"If the distance to the target bot is smaller than 5m, move backward with a"
-" speed inversely proportional to the distance: the closer you are to the bot,"
-" the faster you must move backward.\n"
+"If the distance to the target bot is smaller than 5m, move backward with a speed inversely proportional to the distance: the closer you are to the bot, the faster you must move backward.\n"
"\tDistance = 5.0 meters -> speed = 0.0\n"
"\tDistance = 2.5 meters -> speed = -0.5\n"
"\tDistance = 0.0 meters -> speed = -1.0\n"
-"You can use the expressiondistance/5-1 in"
-" order to achieve this, together with the if to"
-" test if the target is closer than 5m:"
+"You can use the expressiondistance/5-1 in order to achieve this, together with the if to test if the target is closer than 5m:"
msgstr ""
-"Se a distância até o robô alvo for menor que 5m, mova-se para trás com uma"
-" velocidade inversamente proporcional à distância: quanto mais próximo"
-" estiver do robô, mais rápido você deve se mover para trás. \n"
+"Se a distância até o robô alvo for menor que 5m, mova-se para trás com uma velocidade inversamente proporcional à distância: quanto mais próximo estiver do robô, mais rápido você deve se mover para trás. \n"
"\tDistância = 5,0 metros -> velocidade = 0,0 \n"
"\tDistância = 2,5 metros -> velocidade = -0,5 \n"
"\tDistância = 0,0 metros -> velocidade = -1,0 \n"
-"Você pode usar a expressãodist/5-1 para"
-" conseguir isso, junto com o if para testar se o"
-" alvo está a menos de 5m:"
+"Você pode usar a expressãodist/5-1 para conseguir isso, junto com o if para testar se o alvo está a menos de 5m:"
#. type: Source code
#: ../help/help.E.txt:30
@@ -205,16 +165,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:35
#, no-wrap
-msgid ""
-"If the distance to the target is greater than 5m, move towards the target."
-" First calculate the angle necessary to face the target with the instruction"
-" direction. You can then adjust the speed of"
-" the right-hand and left-hand motor in order to follow the target:"
-msgstr ""
-"Se a distância até o alvo for maior que 5m, mova-se em direção ao alvo."
-" Primeiro calcule o ângulo necessário para enfrentar o alvo com a instrução <"
-"code>direction. Você pode então ajustar a"
-" velocidade do motor direito e esquerdo para seguir o alvo:"
+msgid "If the distance to the target is greater than 5m, move towards the target. First calculate the angle necessary to face the target with the instruction direction. You can then adjust the speed of the right-hand and left-hand motor in order to follow the target:"
+msgstr "Se a distância até o alvo for maior que 5m, mova-se em direção ao alvo. Primeiro calcule o ângulo necessário para enfrentar o alvo com a instrução direction. Você pode então ajustar a velocidade do motor direito e esquerdo para seguir o alvo:"
#. type: Source code
#: ../help/help.E.txt:36
@@ -250,18 +202,14 @@ msgstr ""
#: ../help/help.E.txt:49
#, no-wrap
msgid ""
-"When the target is on your left, dir takes a positive value,"
-" ranging between 0 and 180. The expression1-dir/90<"
-"/code> returns a speed ranging between 1 and -1, according to the direction:\n"
+"When the target is on your left, dir takes a positive value, ranging between 0 and 180. The expression1-dir/90 returns a speed ranging between 1 and -1, according to the direction:\n"
"\tdirection = 0 -> speed = 1.0\n"
"\tdirection = 45 -> speed = 0.5\n"
"\tdirection = 90 -> speed = 0.0\n"
"\tdirection = 135 -> speed = -0.5\n"
"\tdirection = 180 -> speed = -1.0"
msgstr ""
-"Quando o alvo está à sua esquerda, dir recebe um valor positivo,"
-" variando entre 0 e 180. A expressão1-dir/90"
-" retorna uma velocidade que varia entre 1 e -1, de acordo com a direção: \n"
+"Quando o alvo está à sua esquerda, dir recebe um valor positivo, variando entre 0 e 180. A expressão1-dir/90 retorna uma velocidade que varia entre 1 e -1, de acordo com a direção: \n"
"\tdireção = 0 -> velocidade = 1,0 \n"
"\tdireção = 45 -> velocidade = 0,5 \n"
"\tdireção = 90 -> velocidade = 0.0 \n"
@@ -277,25 +225,14 @@ msgstr "radar2"
#. type: Plain text
#: ../help/help.E.txt:57
#, no-wrap
-msgid ""
-"When the target is on the right side, dir is negative, ranging"
-" between 0 and -180."
-msgstr ""
-"Quando o alvo está no lado direito, dir é negativo, variando"
-" entre 0 e -180."
+msgid "When the target is on the right side, dir is negative, ranging between 0 and -180."
+msgstr "Quando o alvo está no lado direito, dir é negativo, variando entre 0 e -180."
#. type: Plain text
#: ../help/help.E.txt:59
#, no-wrap
-msgid ""
-"The only task left for you now is to declare the variables"
-" that you use in the program. target is of type object<"
-"/code>, whereas dir and len are of type float."
-msgstr ""
-"A única tarefa que resta agora é declarar as variáveis que"
-" você usa no programa. alvo é do tipo object,"
-" enquanto dir e dist são do tipo float."
+msgid "The only task left for you now is to declare the variables that you use in the program. target is of type object, whereas dir and len are of type float."
+msgstr "A única tarefa que resta agora é declarar as variáveis que você usa no programa. alvo é do tipo object, enquanto dir e dist são do tipo float."
#. type: \t; header
#: ../help/help.E.txt:61
@@ -306,10 +243,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:62
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter005/level001/po/br.po b/levels/exercises/chapter005/level001/po/br.po
deleted file mode 100644
index 81c6df77..00000000
--- a/levels/exercises/chapter005/level001/po/br.po
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-11 10:24-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Mover 1"
-msgstr "Mover 1"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Retrieve a titanium cube."
-msgstr "Recupere um cubo de titânio."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Mover"
-msgstr "Le déménageur"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Move the titanium cube on the finishing pad. You do not"
-" know the position of the titanium, but we can tell you the position of the"
-" finishing pad x=10 and y=-60."
-msgstr ""
-"Mova o cubo de titânio no bloco alvo. Você não sabe a"
-" posição do titânio, mas podemos dizer-lhe a posição do bloco alvo: x = 10 e"
-" y = -60."
-
-#. type: \b; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "The instruction goto"
-msgstr "A instrução goto"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"In order to solve this problem easily, we will use a new way to move the bot"
-" with the instruction goto. With this"
-" instruction you can very easily reach every position, if you know the exact"
-" location in the form of its x and y coordinates. The bot will turn towards"
-" the goal, move forward, and even turn around any obstacle."
-msgstr ""
-"Para resolver este problema facilmente, usaremos uma nova maneira de mover o"
-" robô com a instrução goto. Com esta instrução,"
-" você pode facilmente alcançar todas as posições, se você souber a"
-" localização exata na forma de suas coordenadas x e y. O robô irá girar em"
-" direção ao alvo, seguir em frente e até mesmo virar qualquer obstáculo."
-
-#. type: Plain text
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "If we summarize, the following are the different ways to move a bot:"
-msgstr "Se resumirmos, as diferentes formas de mover um robô são as seguintes:"
-
-#. type: Source code
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid "motor(left, right)"
-msgstr "motor(esquerdo, direito)"
-
-#. type: Plain text
-#: ../help/help.E.txt:10
-#, no-wrap
-msgid ""
-"Allows a direct, precise control of the two motors, and allows you to stay in"
-" control of the motors at every fraction of a second."
-msgstr ""
-"Permite um controle direto e preciso dos dois motores e permite que você"
-" permaneça no controle dos motores a cada fração de segundo."
-
-#. type: Source code
-#: ../help/help.E.txt:12
-#, no-wrap
-msgid "move(distance) and turn(angle)"
-msgstr "move(distancia) e turn(angulo)"
-
-#. type: Plain text
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid ""
-"Use these instructions in order to move forward of a certain distance, or to"
-" perform a rotation of a certain angle. All parameters are relative to the"
-" current position of the bot."
-msgstr ""
-"Use estas instruções para avançar de uma determinada distância ou para"
-" executar uma rotação de um determinado ângulo. Todos os parâmetros são"
-" relativos à posição atual do robô."
-
-#. type: Source code
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid "goto(position)"
-msgstr "goto(posicao)"
-
-#. type: Plain text
-#: ../help/help.E.txt:16
-#, no-wrap
-msgid "Allows you to reach easily a given absolute position."
-msgstr "Permite que você alcance facilmente uma determinada posição absoluta."
-
-#. type: \b; header
-#: ../help/help.E.txt:18
-#, no-wrap
-msgid "The program"
-msgstr "O programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:19
-#, no-wrap
-msgid ""
-"Use the instruction radar(Titanium); in order to"
-" find the titanium cube. Then test if a titanium cube has actually been"
-" found. In this exercise, this line is not very useful, because we know that"
-" there is a titanium cube somewhere. However, it is better to take the habit"
-" of testing whatever your radar returns:"
-msgstr ""
-"Use a instrução radar(Titanium); para encontrar o"
-" cubo de titânio. Em seguida, teste se um cubo de titânio foi realmente"
-" encontrado. Neste exercício, essa linha não é muito útil, porque sabemos que"
-" existe um cubo de titânio em algum lugar. No entanto, é melhor ter o hábito"
-" de testar o que seu radar retorna:"
-
-#. type: Source code
-#: ../help/help.E.txt:21
-#, no-wrap
-msgid ""
-"object item;\n"
-"item = radar(Titanium);\n"
-"if ( item == null ) return;\n"
-"goto(item.position);"
-msgstr ""
-"object item;\n"
-"item = radar(Titanium);\n"
-"if ( item == null ) return;\n"
-"goto(item.position);"
-
-#. type: Plain text
-#: ../help/help.E.txt:26
-#, no-wrap
-msgid ""
-"The variable item is of type object<"
-"/code>. In order to know the exact location of the object described by the"
-" variable, just write item.position."
-msgstr ""
-"A variável item é do tipo object. Para saber a localização exata do objeto descrito pela variável, apenas"
-" escreva item.position."
-
-#. type: Plain text
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid ""
-"In order to take the titanium cube, use the instruction grab() without any parameter."
-msgstr ""
-"Para pegar o cubo de titânio, use a instrução grab()<"
-"/code> sem nenhum parâmetro."
-
-#. type: Plain text
-#: ../help/help.E.txt:30
-#, no-wrap
-msgid ""
-"In order to drop the titanium, use the instruction drop() without any parameter."
-msgstr ""
-"Para eliminar o titânio, use a instrução drop()"
-" sem nenhum parâmetro."
-
-#. type: Plain text
-#: ../help/help.E.txt:32
-#, no-wrap
-msgid ""
-"We know the coordinates of the finishing pad: x=10 et y=-60. You must declare"
-" a variable of the type point, then fill it"
-" with the right coordinates. Then you can give this variable as a parameter"
-" to the instruction goto.\n"
-"Remark: You do not have to take care of the z coordinate in the"
-" case of a bot that can not fly."
-msgstr ""
-"Conhecemos as coordenadas do bloco alvo: x = 10 e y = -60. Você deve declarar"
-" uma variável do tipo point, depois"
-" preenchê-la com as coordenadas corretas. Então você pode dar essa variável"
-" como um parâmetro para a instrução goto.\n"
-"Observação: Você não precisa cuidar da coordenada z no caso de"
-" um robô que não pode voar."
-
-#. type: Plain text
-#: ../help/help.E.txt:35
-#, no-wrap
-msgid "It is now up to you to finish the program..."
-msgstr "Agora cabe a você terminar o programa ..."
-
-#. type: \t; header
-#: ../help/help.E.txt:37
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:38
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
-
diff --git a/levels/exercises/chapter005/level001/po/pt.po b/levels/exercises/chapter005/level001/po/pt.po
new file mode 100644
index 00000000..9b739964
--- /dev/null
+++ b/levels/exercises/chapter005/level001/po/pt.po
@@ -0,0 +1,173 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-11 10:24-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Mover 1"
+msgstr "Mover 1"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Retrieve a titanium cube."
+msgstr "Recupere um cubo de titânio."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Mover"
+msgstr "Le déménageur"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Move the titanium cube on the finishing pad. You do not know the position of the titanium, but we can tell you the position of the finishing pad x=10 and y=-60."
+msgstr "Mova o cubo de titânio no bloco alvo. Você não sabe a posição do titânio, mas podemos dizer-lhe a posição do bloco alvo: x = 10 e y = -60."
+
+#. type: \b; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "The instruction goto"
+msgstr "A instrução goto"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "In order to solve this problem easily, we will use a new way to move the bot with the instruction goto. With this instruction you can very easily reach every position, if you know the exact location in the form of its x and y coordinates. The bot will turn towards the goal, move forward, and even turn around any obstacle."
+msgstr "Para resolver este problema facilmente, usaremos uma nova maneira de mover o robô com a instrução goto. Com esta instrução, você pode facilmente alcançar todas as posições, se você souber a localização exata na forma de suas coordenadas x e y. O robô irá girar em direção ao alvo, seguir em frente e até mesmo virar qualquer obstáculo."
+
+#. type: Plain text
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "If we summarize, the following are the different ways to move a bot:"
+msgstr "Se resumirmos, as diferentes formas de mover um robô são as seguintes:"
+
+#. type: Source code
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "motor(left, right)"
+msgstr "motor(esquerdo, direito)"
+
+#. type: Plain text
+#: ../help/help.E.txt:10
+#, no-wrap
+msgid "Allows a direct, precise control of the two motors, and allows you to stay in control of the motors at every fraction of a second."
+msgstr "Permite um controle direto e preciso dos dois motores e permite que você permaneça no controle dos motores a cada fração de segundo."
+
+#. type: Source code
+#: ../help/help.E.txt:12
+#, no-wrap
+msgid "move(distance) and turn(angle)"
+msgstr "move(distancia) e turn(angulo)"
+
+#. type: Plain text
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "Use these instructions in order to move forward of a certain distance, or to perform a rotation of a certain angle. All parameters are relative to the current position of the bot."
+msgstr "Use estas instruções para avançar de uma determinada distância ou para executar uma rotação de um determinado ângulo. Todos os parâmetros são relativos à posição atual do robô."
+
+#. type: Source code
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "goto(position)"
+msgstr "goto(posicao)"
+
+#. type: Plain text
+#: ../help/help.E.txt:16
+#, no-wrap
+msgid "Allows you to reach easily a given absolute position."
+msgstr "Permite que você alcance facilmente uma determinada posição absoluta."
+
+#. type: \b; header
+#: ../help/help.E.txt:18
+#, no-wrap
+msgid "The program"
+msgstr "O programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:19
+#, no-wrap
+msgid "Use the instruction radar(Titanium); in order to find the titanium cube. Then test if a titanium cube has actually been found. In this exercise, this line is not very useful, because we know that there is a titanium cube somewhere. However, it is better to take the habit of testing whatever your radar returns:"
+msgstr "Use a instrução radar(Titanium); para encontrar o cubo de titânio. Em seguida, teste se um cubo de titânio foi realmente encontrado. Neste exercício, essa linha não é muito útil, porque sabemos que existe um cubo de titânio em algum lugar. No entanto, é melhor ter o hábito de testar o que seu radar retorna:"
+
+#. type: Source code
+#: ../help/help.E.txt:21
+#, no-wrap
+msgid ""
+"object item;\n"
+"item = radar(Titanium);\n"
+"if ( item == null ) return;\n"
+"goto(item.position);"
+msgstr ""
+"object item;\n"
+"item = radar(Titanium);\n"
+"if ( item == null ) return;\n"
+"goto(item.position);"
+
+#. type: Plain text
+#: ../help/help.E.txt:26
+#, no-wrap
+msgid "The variable item is of type object. In order to know the exact location of the object described by the variable, just write item.position."
+msgstr "A variável item é do tipo object. Para saber a localização exata do objeto descrito pela variável, apenas escreva item.position."
+
+#. type: Plain text
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid "In order to take the titanium cube, use the instruction grab() without any parameter."
+msgstr "Para pegar o cubo de titânio, use a instrução grab() sem nenhum parâmetro."
+
+#. type: Plain text
+#: ../help/help.E.txt:30
+#, no-wrap
+msgid "In order to drop the titanium, use the instruction drop() without any parameter."
+msgstr "Para eliminar o titânio, use a instrução drop() sem nenhum parâmetro."
+
+#. type: Plain text
+#: ../help/help.E.txt:32
+#, no-wrap
+msgid ""
+"We know the coordinates of the finishing pad: x=10 et y=-60. You must declare a variable of the type point, then fill it with the right coordinates. Then you can give this variable as a parameter to the instruction goto.\n"
+"Remark: You do not have to take care of the z coordinate in the case of a bot that can not fly."
+msgstr ""
+"Conhecemos as coordenadas do bloco alvo: x = 10 e y = -60. Você deve declarar uma variável do tipo point, depois preenchê-la com as coordenadas corretas. Então você pode dar essa variável como um parâmetro para a instrução goto.\n"
+"Observação: Você não precisa cuidar da coordenada z no caso de um robô que não pode voar."
+
+#. type: Plain text
+#: ../help/help.E.txt:35
+#, no-wrap
+msgid "It is now up to you to finish the program..."
+msgstr "Agora cabe a você terminar o programa ..."
+
+#. type: \t; header
+#: ../help/help.E.txt:37
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:38
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter005/level002/po/br.po b/levels/exercises/chapter005/level002/po/pt.po
similarity index 50%
rename from levels/exercises/chapter005/level002/po/br.po
rename to levels/exercises/chapter005/level002/po/pt.po
index 658df507..a6b7799a 100644
--- a/levels/exercises/chapter005/level002/po/br.po
+++ b/levels/exercises/chapter005/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-11 10:32-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,14 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"This exercise is very similar to the previous one. There are now three titanium cubes that you must move to 3 finishing pads. Here"
-" are the coordinates of the finishing pads:"
-msgstr ""
-"Este exercício é muito semelhante ao anterior. Existem agora três cubos de titânio que você deve mover para 3 blocos alvo."
-" Aqui estão as coordenadas de cada bloco:"
+msgid "This exercise is very similar to the previous one. There are now three titanium cubes that you must move to 3 finishing pads. Here are the coordinates of the finishing pads:"
+msgstr "Este exercício é muito semelhante ao anterior. Existem agora três cubos de titânio que você deve mover para 3 blocos alvo. Aqui estão as coordenadas de cada bloco:"
#. type: Plain text
#: ../help/help.E.txt:4
@@ -79,12 +73,8 @@ msgstr "Repita 3 vezes:"
#. type: Bullet: 'o'
#: ../help/help.E.txt:10
#, no-wrap
-msgid ""
-"Look for the most distant titanium cube with radar<"
-"/code>."
-msgstr ""
-"Procure o cubo de titânio mais distante com radar<"
-"/code>."
+msgid "Look for the most distant titanium cube with radar."
+msgstr "Procure o cubo de titânio mais distante com radar."
#. type: Bullet: 'o'
#: ../help/help.E.txt:11
@@ -107,14 +97,8 @@ msgstr "Largue o titânio com drop."
#. type: Plain text
#: ../help/help.E.txt:15
#, no-wrap
-msgid ""
-"If you look for the nearest titanium cube, the radar would find one that you"
-" already retrieved and dropped on a pad. Therefore you must look for the most"
-" distant titanium cube."
-msgstr ""
-"Se você procurar o cubo de titânio mais próximo, o radar encontrará um que"
-" você já recuperou e deixou cair em um bloco. Portanto, você deve procurar o"
-" cubo de titânio mais distante."
+msgid "If you look for the nearest titanium cube, the radar would find one that you already retrieved and dropped on a pad. Therefore you must look for the most distant titanium cube."
+msgstr "Se você procurar o cubo de titânio mais próximo, o radar encontrará um que você já recuperou e deixou cair em um bloco. Portanto, você deve procurar o cubo de titânio mais distante."
#. type: \b; header
#: ../help/help.E.txt:17
@@ -125,20 +109,8 @@ msgstr "O programa"
#. type: Plain text
#: ../help/help.E.txt:18
#, no-wrap
-msgid ""
-"Use a for loop in order to repeat 3 times all"
-" the instructions necessary to retrieve the titanium cube. Inside the loop,"
-" in order to find the most distant titanium cube, use the instruction radar(Titanium, 0, 360, 0, 1000, -1);. The last value <"
-"code>-1 means that instead of looking for the closest item, the radar"
-" will return the most distant that it can find."
-msgstr ""
-"Use um laço for para repetir 3 vezes todas as"
-" instruções necessárias para recuperar o cubo de titânio. Dentro do laço, a"
-" fim de encontrar o cubo de titânio mais distante, use a instrução radar(Titanium, 0, 360, 0, 1000, -1);. O último valor <"
-"code>-1 significa que, em vez de procurar o item mais próximo, o radar"
-" retornará o mais distante que puder encontrar."
+msgid "Use a for loop in order to repeat 3 times all the instructions necessary to retrieve the titanium cube. Inside the loop, in order to find the most distant titanium cube, use the instruction radar(Titanium, 0, 360, 0, 1000, -1);. The last value -1 means that instead of looking for the closest item, the radar will return the most distant that it can find."
+msgstr "Use um laço for para repetir 3 vezes todas as instruções necessárias para recuperar o cubo de titânio. Dentro do laço, a fim de encontrar o cubo de titânio mais distante, use a instrução radar(Titanium, 0, 360, 0, 1000, -1);. O último valor -1 significa que, em vez de procurar o item mais próximo, o radar retornará o mais distante que puder encontrar."
#. type: Source code
#: ../help/help.E.txt:20
@@ -157,30 +129,14 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:25
#, no-wrap
-msgid ""
-"The variable metal if of type object<"
-"/code>. In order to know the position of the object described by the"
-" variable, you must write metal.position."
-msgstr ""
-"A variável metal é do tipo object. Para saber a posição do objeto descrito pela variável, você deve escrever"
-" metal.position."
+msgid "The variable metal if of type object. In order to know the position of the object described by the variable, you must write metal.position."
+msgstr "A variável metal é do tipo object. Para saber a posição do objeto descrito pela variável, você deve escrever metal.position."
#. type: Plain text
#: ../help/help.E.txt:27
#, no-wrap
-msgid ""
-"The x coordinates of the 3 pads are all equal to 10. The y coordinates are respectively -60, -65 and -70. The most efficient"
-" way to get the coordinates of the pads is to use the value of i"
-" of the for loop that will take successively the values 0, 1 and"
-" 2:"
-msgstr ""
-"As coordenadas x dos 3 blocos são todas iguais a 10. As"
-" coordenadas y são respectivamente -60, -65 e -70. A maneira"
-" mais eficiente de obter as coordenadas dos blocos é usar o valor de i<"
-"/code> do laço for, que tomará sucessivamente os valores 0, 1 e"
-" 2:"
+msgid "The x coordinates of the 3 pads are all equal to 10. The y coordinates are respectively -60, -65 and -70. The most efficient way to get the coordinates of the pads is to use the value of i of the for loop that will take successively the values 0, 1 and 2:"
+msgstr "As coordenadas x dos 3 blocos são todas iguais a 10. As coordenadas y são respectivamente -60, -65 e -70. A maneira mais eficiente de obter as coordenadas dos blocos é usar o valor de i do laço for, que tomará sucessivamente os valores 0, 1 e 2:"
#. type: Source code
#: ../help/help.E.txt:29
@@ -207,10 +163,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:35
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter005/level003/po/br.po b/levels/exercises/chapter005/level003/po/pt.po
similarity index 63%
rename from levels/exercises/chapter005/level003/po/br.po
rename to levels/exercises/chapter005/level003/po/pt.po
index e7033b77..5fb05239 100644
--- a/levels/exercises/chapter005/level003/po/br.po
+++ b/levels/exercises/chapter005/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-11 10:44-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -43,13 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Convert some titanium ore to titanium"
-" cubes, then drop 2 titanium cubes on the pads whose coordinates are:"
-msgstr ""
-"Converta algum minério de titânio em cubos de titânio, depois derrube 2 cubos de titânio nos blocos cujas"
-" coordenadas são:"
+msgid "Convert some titanium ore to titanium cubes, then drop 2 titanium cubes on the pads whose coordinates are:"
+msgstr "Converta algum minério de titânio em cubos de titânio, depois derrube 2 cubos de titânio nos blocos cujas coordenadas são:"
#. type: Plain text
#: ../help/help.E.txt:4
@@ -70,12 +65,8 @@ msgstr "extrator"
#. type: Plain text
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"The derrick extracts titanium ore from the subsoil; you"
-" just have to pick it up."
-msgstr ""
-"A extrator extrai o minério de titânio do subsolo; você"
-" só tem que pegá-lo."
+msgid "The derrick extracts titanium ore from the subsoil; you just have to pick it up."
+msgstr "A extrator extrai o minério de titânio do subsolo; você só tem que pegá-lo."
#. type: Image filename
#: ../help/help.E.txt:10
@@ -86,14 +77,8 @@ msgstr "conversor"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"The converter converts titanium ore to titanium cubes."
-" Just drop the titanium ore on the platform, move backward, and wait until it"
-" has been converted."
-msgstr ""
-"O conversor converte minério de titânio em cubos de"
-" titânio. Basta soltar o minério de titânio na plataforma, recuar e esperar"
-" até que ele seja convertido."
+msgid "The converter converts titanium ore to titanium cubes. Just drop the titanium ore on the platform, move backward, and wait until it has been converted."
+msgstr "O conversor converte minério de titânio em cubos de titânio. Basta soltar o minério de titânio na plataforma, recuar e esperar até que ele seja convertido."
#. type: \b; header
#: ../help/help.E.txt:13
@@ -177,17 +162,11 @@ msgstr "O programa"
#: ../help/help.E.txt:27
#, no-wrap
msgid ""
-"A for loop allows you to repeat 2 times all the"
-" instructions.\n"
-"The titanium ore is not available immediately. You will have to wait until"
-" the derrick extracts it. Use a do loop, as"
-" follows:"
+"A for loop allows you to repeat 2 times all the instructions.\n"
+"The titanium ore is not available immediately. You will have to wait until the derrick extracts it. Use a do loop, as follows:"
msgstr ""
-"Um laço for permite que você repita 2 vezes"
-" todas as instruções. \n"
-"O minério de titânio não está disponível imediatamente. Você terá que esperar"
-" até que o extrator o extraia. Use um laço do"
-" desta forma:"
+"Um laço for permite que você repita 2 vezes todas as instruções. \n"
+"O minério de titânio não está disponível imediatamente. Você terá que esperar até que o extrator o extraia. Use um laço do desta forma:"
#. type: Source code
#: ../help/help.E.txt:30
@@ -209,16 +188,10 @@ msgstr ""
#: ../help/help.E.txt:36
#, no-wrap
msgid ""
-"After the loop (when the radar has found one titanium ore), you can go to its"
-" location obj.position with the instruction goto. Use the instruction grab to"
-" grab the titanium ore.\n"
+"After the loop (when the radar has found one titanium ore), you can go to its location obj.position with the instruction goto. Use the instruction grab to grab the titanium ore.\n"
"Use the following instruction in order to find the converter:"
msgstr ""
-"Após o laço (quando o radar encontrou um minério de titânio), você pode ir"
-" para a sua localização obj.position com a instrução goto. Use a instrução grab para pegar o minério de titânio. \n"
+"Após o laço (quando o radar encontrou um minério de titânio), você pode ir para a sua localização obj.position com a instrução goto. Use a instrução grab para pegar o minério de titânio. \n"
"Use a seguinte instrução para encontrar o conversor:"
#. type: Source code
@@ -231,18 +204,11 @@ msgstr "obj = radar(Converter);"
#: ../help/help.E.txt:41
#, no-wrap
msgid ""
-"After you dropped the ore on the converter, move back 2.5 meters with <"
-"a cbot|move>move(-2.5).\n"
-"A second do loop allows you to wait until the titanium cube is"
-" available. You must limit the range of the radar to 5m, otherwise you would"
-" immediately find the titanium cube that you already dropped on a pad:"
+"After you dropped the ore on the converter, move back 2.5 meters with move(-2.5).\n"
+"A second do loop allows you to wait until the titanium cube is available. You must limit the range of the radar to 5m, otherwise you would immediately find the titanium cube that you already dropped on a pad:"
msgstr ""
-"Depois que você derrubar o minério no conversor, volte 2.5 metros com <"
-"a cbot|move>move(-2.5).\n"
-"Um segundo laço do permite esperar até que o cubo de titânio"
-" esteja disponível. Você deve limitar o alcance do radar a 5m, caso"
-" contrário, você encontrará imediatamente o cubo de titânio que já caiu em um"
-" bloco:"
+"Depois que você derrubar o minério no conversor, volte 2.5 metros com move(-2.5).\n"
+"Um segundo laço do permite esperar até que o cubo de titânio esteja disponível. Você deve limitar o alcance do radar a 5m, caso contrário, você encontrará imediatamente o cubo de titânio que já caiu em um bloco:"
#. type: Source code
#: ../help/help.E.txt:44
@@ -263,16 +229,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:50
#, no-wrap
-msgid ""
-"The x coordinates of the 2 pads are all equal to 10. The y coordinates are respectively -60 and -65. The most efficient way to"
-" get the coordinates of the pads is to use the value of i of the"
-" for loop that will take successively the values 0 and 1:"
-msgstr ""
-"As coordenadas de x dos 2 blocos são todas iguais a 10. As"
-" coordenadas de y são respectivamente -60 e -65. A maneira mais"
-" eficiente de obter as coordenadas dos blocos é usar o valor de i"
-" code> do laço for que tomará sucessivamente os valores 0 e 1:"
+msgid "The x coordinates of the 2 pads are all equal to 10. The y coordinates are respectively -60 and -65. The most efficient way to get the coordinates of the pads is to use the value of i of the for loop that will take successively the values 0 and 1:"
+msgstr "As coordenadas de x dos 2 blocos são todas iguais a 10. As coordenadas de y são respectivamente -60 e -65. A maneira mais eficiente de obter as coordenadas dos blocos é usar o valor de i code> do laço for que tomará sucessivamente os valores 0 e 1:"
#. type: Source code
#: ../help/help.E.txt:52
@@ -299,10 +257,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:58
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter005/level004/po/br.po b/levels/exercises/chapter005/level004/po/br.po
deleted file mode 100644
index 0ab34742..00000000
--- a/levels/exercises/chapter005/level004/po/br.po
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-11 10:52-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Flying mover"
-msgstr "Movimento voador"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Move a titanium cube across obstacles."
-msgstr "Mova um cubo de titânio através dos obstáculos."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Mover"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Move the titanium cube on the finishing pad. You do not"
-" know the position of the titanium, but we can tell you the position of the"
-" finishing pad x=10 and y=-60."
-msgstr ""
-"Mova o cubo de titânio no bloco alvo. Você não sabe a"
-" posição do titânio, mas podemos dizer-lhe a posição do bloco alvo: x = 10 e"
-" y = -60."
-
-#. type: \b; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "The instruction goto"
-msgstr "A instrução goto"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"The winged bot can get across obstacles. The instruction goto, if performed on a winged bot, will automatically perform a"
-" flying move, with a take-off at the beginning, and a landing at the end.\n"
-"This instruction can actually receive a second parameter, which is not"
-" compulsory: the flying altitude. If no second parameter is given, the flying"
-" altitude will be set to the default value of 10m."
-msgstr ""
-"O robô alado pode atravessar obstáculos. A instrução goto, se executada em um robô alado, executará automaticamente um"
-" movimento de vôo, com uma decolagem no início, e um pouso no final . \n"
-"Esta instrução pode realmente receber um segundo parâmetro, que não é"
-" obrigatório: a altitude de vôo. Se nenhum segundo parâmetro for dado, a"
-" altitude de vôo será definida para o valor padrão de 10m."
-
-#. type: Plain text
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid ""
-"Therefore, the instruction:\n"
-"goto(item.position);"
-msgstr ""
-"Portanto, a instrução: \n"
-"goto(item.position);"
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid ""
-"Is equivalent to:\n"
-"goto(item.position, 10);"
-msgstr ""
-"É equivalente a: \n"
-"goto(item.position, 10);"
-
-#. type: \b; header
-#: ../help/help.E.txt:14
-#, no-wrap
-msgid "The program"
-msgstr "O programa"
-
-#. type: Plain text
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid ""
-"Use the instruction radar(Titanium); in order to"
-" find the titanium cube. Then test if a titanium cube has actually been"
-" found. In this exercise, this line is not very useful, because we know that"
-" there is a titanium cube somewhere. However, it is better to take the habit"
-" of testing whatever your radar returns:"
-msgstr ""
-"Use a instrução radar(Titanium); para encontrar o"
-" cubo de titânio. Em seguida, teste se um cubo de titânio foi realmente"
-" encontrado. Neste exercício, essa linha não é muito útil, porque sabemos que"
-" existe um cubo de titânio em algum lugar. No entanto, é melhor ter o hábito"
-" de testar o que seu radar retorna:"
-
-#. type: Source code
-#: ../help/help.E.txt:17
-#, no-wrap
-msgid ""
-"object item;\n"
-"item = radar(Titanium);\n"
-"if ( item == null ) return;\n"
-"goto(item.position);"
-msgstr ""
-"object item;\n"
-"item = radar(Titanium);\n"
-"if ( item == null ) return;\n"
-"goto(item.position);"
-
-#. type: Plain text
-#: ../help/help.E.txt:22
-#, no-wrap
-msgid ""
-"The variable item is of type object<"
-"/code>. In order to know the exact location of the object described by the"
-" variable, just write item.position."
-msgstr ""
-"A variável item é do tipo object. Para saber a localização exata do objeto descrito pela variável, apenas"
-" escreva item.position."
-
-#. type: Plain text
-#: ../help/help.E.txt:24
-#, no-wrap
-msgid ""
-"In order to take the titanium cube, use the instruction grab() without any parameter."
-msgstr ""
-"Para pegar o cubo de titânio, use a instrução grab()<"
-"/code> sem nenhum parâmetro."
-
-#. type: Plain text
-#: ../help/help.E.txt:26
-#, no-wrap
-msgid ""
-"In order to drop the titanium, use the instruction drop() without any parameter."
-msgstr ""
-"Para eliminar o titânio, use a instrução drop()"
-" sem nenhum parâmetro."
-
-#. type: Plain text
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid ""
-"We know the coordinates of the finishing pad: x=10 et y=-60. You must declare"
-" a variable of the type point, then fill it"
-" with the right coordinates. Then you can give this variable as a parameter"
-" to the instruction goto.\n"
-"Remark: You do not have to take care of the z coordinate in the"
-" case of a bot that can not fly."
-msgstr ""
-"Conhecemos as coordenadas do bloco alvo: x = 10 e y = -60. Você deve declarar"
-" uma variável do tipo point, depois"
-" preenchê-la com as coordenadas corretas. Então você pode dar essa variável"
-" como um parâmetro para a instrução goto.\n"
-"Observação: Você não precisa cuidar da coordenada z no caso de"
-" um robô que não pode voar."
-
-#. type: Plain text
-#: ../help/help.E.txt:31
-#, no-wrap
-msgid "It is now up to you to finish the program..."
-msgstr "Agora cabe a você terminar o programa ..."
-
-#. type: \t; header
-#: ../help/help.E.txt:33
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:34
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter005/level004/po/pt.po b/levels/exercises/chapter005/level004/po/pt.po
new file mode 100644
index 00000000..a686e754
--- /dev/null
+++ b/levels/exercises/chapter005/level004/po/pt.po
@@ -0,0 +1,155 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-11 10:52-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Flying mover"
+msgstr "Movimento voador"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Move a titanium cube across obstacles."
+msgstr "Mova um cubo de titânio através dos obstáculos."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Mover"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Move the titanium cube on the finishing pad. You do not know the position of the titanium, but we can tell you the position of the finishing pad x=10 and y=-60."
+msgstr "Mova o cubo de titânio no bloco alvo. Você não sabe a posição do titânio, mas podemos dizer-lhe a posição do bloco alvo: x = 10 e y = -60."
+
+#. type: \b; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "The instruction goto"
+msgstr "A instrução goto"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid ""
+"The winged bot can get across obstacles. The instruction goto, if performed on a winged bot, will automatically perform a flying move, with a take-off at the beginning, and a landing at the end.\n"
+"This instruction can actually receive a second parameter, which is not compulsory: the flying altitude. If no second parameter is given, the flying altitude will be set to the default value of 10m."
+msgstr ""
+"O robô alado pode atravessar obstáculos. A instrução goto, se executada em um robô alado, executará automaticamente um movimento de vôo, com uma decolagem no início, e um pouso no final . \n"
+"Esta instrução pode realmente receber um segundo parâmetro, que não é obrigatório: a altitude de vôo. Se nenhum segundo parâmetro for dado, a altitude de vôo será definida para o valor padrão de 10m."
+
+#. type: Plain text
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid ""
+"Therefore, the instruction:\n"
+"goto(item.position);"
+msgstr ""
+"Portanto, a instrução: \n"
+"goto(item.position);"
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid ""
+"Is equivalent to:\n"
+"goto(item.position, 10);"
+msgstr ""
+"É equivalente a: \n"
+"goto(item.position, 10);"
+
+#. type: \b; header
+#: ../help/help.E.txt:14
+#, no-wrap
+msgid "The program"
+msgstr "O programa"
+
+#. type: Plain text
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "Use the instruction radar(Titanium); in order to find the titanium cube. Then test if a titanium cube has actually been found. In this exercise, this line is not very useful, because we know that there is a titanium cube somewhere. However, it is better to take the habit of testing whatever your radar returns:"
+msgstr "Use a instrução radar(Titanium); para encontrar o cubo de titânio. Em seguida, teste se um cubo de titânio foi realmente encontrado. Neste exercício, essa linha não é muito útil, porque sabemos que existe um cubo de titânio em algum lugar. No entanto, é melhor ter o hábito de testar o que seu radar retorna:"
+
+#. type: Source code
+#: ../help/help.E.txt:17
+#, no-wrap
+msgid ""
+"object item;\n"
+"item = radar(Titanium);\n"
+"if ( item == null ) return;\n"
+"goto(item.position);"
+msgstr ""
+"object item;\n"
+"item = radar(Titanium);\n"
+"if ( item == null ) return;\n"
+"goto(item.position);"
+
+#. type: Plain text
+#: ../help/help.E.txt:22
+#, no-wrap
+msgid "The variable item is of type object. In order to know the exact location of the object described by the variable, just write item.position."
+msgstr "A variável item é do tipo object. Para saber a localização exata do objeto descrito pela variável, apenas escreva item.position."
+
+#. type: Plain text
+#: ../help/help.E.txt:24
+#, no-wrap
+msgid "In order to take the titanium cube, use the instruction grab() without any parameter."
+msgstr "Para pegar o cubo de titânio, use a instrução grab() sem nenhum parâmetro."
+
+#. type: Plain text
+#: ../help/help.E.txt:26
+#, no-wrap
+msgid "In order to drop the titanium, use the instruction drop() without any parameter."
+msgstr "Para eliminar o titânio, use a instrução drop() sem nenhum parâmetro."
+
+#. type: Plain text
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid ""
+"We know the coordinates of the finishing pad: x=10 et y=-60. You must declare a variable of the type point, then fill it with the right coordinates. Then you can give this variable as a parameter to the instruction goto.\n"
+"Remark: You do not have to take care of the z coordinate in the case of a bot that can not fly."
+msgstr ""
+"Conhecemos as coordenadas do bloco alvo: x = 10 e y = -60. Você deve declarar uma variável do tipo point, depois preenchê-la com as coordenadas corretas. Então você pode dar essa variável como um parâmetro para a instrução goto.\n"
+"Observação: Você não precisa cuidar da coordenada z no caso de um robô que não pode voar."
+
+#. type: Plain text
+#: ../help/help.E.txt:31
+#, no-wrap
+msgid "It is now up to you to finish the program..."
+msgstr "Agora cabe a você terminar o programa ..."
+
+#. type: \t; header
+#: ../help/help.E.txt:33
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:34
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter006/level001/po/br.po b/levels/exercises/chapter006/level001/po/br.po
deleted file mode 100644
index 8a0955ac..00000000
--- a/levels/exercises/chapter006/level001/po/br.po
+++ /dev/null
@@ -1,316 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-11 17:07-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "A function"
-msgstr "Uma função"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Create a function in order to make your program shorter."
-msgstr "Crie uma função para tornar seu programa mais curto."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"The bot must pass over all the blue"
-" crosses on the ground. The way that must be covered is made of two"
-" squares. The first one measures 15 meters, the second 25 meters."
-msgstr ""
-"O robô deve passar por todas as cruzes"
-" azuis no solo. O caminho que deve ser coberto é feito de dois quadrados."
-" O primeiro mede 15 metros, o segundo 25 metros."
-
-#. type: Image filename
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "tproc1a"
-msgstr "tproc1a"
-
-#. type: \b; header
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid "General principle"
-msgstr "Princípio geral"
-
-#. type: Plain text
-#: ../help/help.E.txt:6
-#, no-wrap
-msgid ""
-"In order to solve this problem, the most efficient solution consists in"
-" creating a function that instructs the bot to move on a"
-" square shape of a certain size. The main program becomes then very simple:<"
-"c/>"
-msgstr ""
-"Para resolver esse problema, a solução mais eficiente consiste em criar uma <"
-"a cbot|function>função que instrui o robô a se mover em uma forma"
-" quadrada de um determinado tamanho. O programa principal torna-se então"
-" muito simples: "
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"extern void object::Function1( )\n"
-"{\n"
-"\tSquare(15);\n"
-"\tSquare(25);\n"
-"}"
-msgstr ""
-"extern void object::Funcao1( )\n"
-"{\n"
-"\tQuadrado(15);\n"
-"\tQuadrado(25);\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid ""
-"You still have to define the function called Square. In order to"
-" do this, you will have to write some instructions outside the block that until now was the frame of each one of your programs. At the"
-" very end of the program, after the last closing brace, we will define the"
-" function Square. The program will take the following shape:"
-msgstr ""
-"Você ainda precisa definir a função chamada Quadrado. Para fazer"
-" isso, você terá que escrever algumas instruções fora do bloco<"
-"/a> que até agora era o quadro de cada um dos seus programas. No final do"
-" programa, após a última chave de fechamento, definiremos a função Quadrado. O programa terá a seguinte forma:"
-
-#. type: Source code
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid ""
-"extern void object::Function1( )\n"
-"{\n"
-"\tmain function ...\n"
-"}\n"
-"\n"
-"void object::Square(float length)\n"
-"{\n"
-"\tnew function ...\n"
-"}"
-msgstr ""
-"extern void object::Funcao1( )\n"
-"{\n"
-"\tfunção principal...\n"
-"}\n"
-"\n"
-"void object::Quadrado(float comprimento)\n"
-"{\n"
-"\tnova função...\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:25
-#, no-wrap
-msgid ""
-"Let us look in detail at the different elements of the declaration of the"
-" function Square:"
-msgstr ""
-"Vamos olhar detalhadamente os diferentes elementos da declaração da função <"
-"code>Quadrado:"
-
-#. type: Plain text
-#: ../help/help.E.txt:27
-#, no-wrap
-msgid ""
-"void\n"
-"This means that this function will return no value."
-msgstr ""
-"void\n"
-"Isso significa que essa função não retornará nenhum valor."
-
-#. type: Plain text
-#: ../help/help.E.txt:30
-#, no-wrap
-msgid ""
-"object::\n"
-"When you write this in front of the function name, you can have access in the"
-" function to all the characteristics of the bot, such as position, orientation, etc. In this exercise, this element is not"
-" compulsory, as we will not need the characteristics of the bot in the"
-" function."
-msgstr ""
-"object::\n"
-"Quando você escreve isso na frente do nome da função, você pode ter acesso na"
-" função a todas as características do robô, como position, orientation, etc. Neste exercício, este elemento não é obrigatório,"
-" pois não precisaremos das características do robô na função."
-
-#. type: Plain text
-#: ../help/help.E.txt:33
-#, no-wrap
-msgid ""
-"Square ( )\n"
-"This is the name of the function. You can call it Square, or any other name."
-msgstr ""
-"Quadrado ( )\n"
-"Este é o nome da função. Você pode chamá-lo de Quadrado ou qualquer outro"
-" nome."
-
-#. type: Plain text
-#: ../help/help.E.txt:36
-#, no-wrap
-msgid ""
-"float length\n"
-"Here you define the parameters that the function will get when it is called."
-" The first time the function is actually called with Square(15),"
-" the variable length will contain the value 15. The"
-" second time, length will contain 25."
-msgstr ""
-"float comprimento\n"
-"Aqui você define os parâmetros que a função receberá quando for chamada."
-" A primeira vez que a função é chamada com Quadrado(15),"
-" a variável comprimento conterá o valor 15. A"
-" segunda vez, comprimento conterá 25."
-
-#. type: Plain text
-#: ../help/help.E.txt:39
-#, no-wrap
-msgid "Here is in detail what will happen when the program is executed:"
-msgstr ""
-"Aqui está em detalhes o que acontecerá quando o programa for executado:"
-
-#. type: Bullet: '-'
-#: ../help/help.E.txt:40
-#, no-wrap
-msgid "First the main function Function will be executed."
-msgstr "Primeiro a função principal Funcao1 será executada."
-
-#. type: Bullet: '-'
-#: ../help/help.E.txt:41
-#, no-wrap
-msgid ""
-"At the line Square(15), the program will follow the red arrow"
-" and enter the function Square a first time, length"
-" containing 15."
-msgstr ""
-"Na linha Quadrado(15), o programa seguirá a seta vermelha e"
-" entrará na função Quadrado pela primeira vez, comprimento contendo 15."
-
-#. type: Bullet: '-'
-#: ../help/help.E.txt:42
-#, no-wrap
-msgid ""
-"At the end of the function Square, the program follows the"
-" orange arrow and comes back to the main function."
-msgstr ""
-"No final da função Quadrado, o programa segue a seta laranja e"
-" volta para a função principal."
-
-#. type: Bullet: '-'
-#: ../help/help.E.txt:43
-#, no-wrap
-msgid ""
-"At the line Square(25), the program will follow the blue arrow"
-" and enter the function Square a second time."
-msgstr ""
-"Na linha Quadrado(25), o programa seguirá a seta azul e entrará"
-" na função Quadrado uma segunda vez."
-
-#. type: Bullet: '-'
-#: ../help/help.E.txt:44
-#, no-wrap
-msgid ""
-"At the end of the function Square, the program follows the light"
-" blue arrow and comes back to the main function."
-msgstr ""
-"No final da função Quadrado, o programa segue a seta azul clara"
-" e volta para a função principal."
-
-#. type: Image filename
-#: ../help/help.E.txt:46
-#, no-wrap
-msgid "tproc1b"
-msgstr "tproc1b"
-
-#. type: Plain text
-#: ../help/help.E.txt:47
-#, no-wrap
-msgid ""
-"In the function Square, use the instructions move and turn. In order to make it"
-" shorter, you can use a for loop, that will"
-" repeat the instructions move and turn 4 times; however, this is not compulsory."
-msgstr ""
-"Na função Quadrado, use as instruções move e turn. Para torná-lo mais curto, você"
-" pode usar um laço for, que irá repetir as"
-" instruções move e turn 4 vezes; no entanto, isso não é obrigatório."
-
-#. type: Source code
-#: ../help/help.E.txt:49
-#, no-wrap
-msgid ""
-"void object::Square(float length)\n"
-"{\n"
-"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
-"\t{\n"
-"\t\tmove(length);\n"
-"\t\tturn(90);\n"
-"\t}\n"
-"}"
-msgstr ""
-"void object::Quadrado(float comprimento)\n"
-"{\n"
-"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
-"\t{\n"
-"\t\tmove(comprimento);\n"
-"\t\tturn(90);\n"
-"\t}\n"
-"}"
-
-#. type: \t; header
-#: ../help/help.E.txt:58
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:59
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
-
diff --git a/levels/exercises/chapter006/level001/po/pt.po b/levels/exercises/chapter006/level001/po/pt.po
new file mode 100644
index 00000000..ee0670cf
--- /dev/null
+++ b/levels/exercises/chapter006/level001/po/pt.po
@@ -0,0 +1,239 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-11 17:07-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "A function"
+msgstr "Uma função"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Create a function in order to make your program shorter."
+msgstr "Crie uma função para tornar seu programa mais curto."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "The bot must pass over all the blue crosses on the ground. The way that must be covered is made of two squares. The first one measures 15 meters, the second 25 meters."
+msgstr "O robô deve passar por todas as cruzes azuis no solo. O caminho que deve ser coberto é feito de dois quadrados. O primeiro mede 15 metros, o segundo 25 metros."
+
+#. type: Image filename
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "tproc1a"
+msgstr "tproc1a"
+
+#. type: \b; header
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "General principle"
+msgstr "Princípio geral"
+
+#. type: Plain text
+#: ../help/help.E.txt:6
+#, no-wrap
+msgid "In order to solve this problem, the most efficient solution consists in creating a function that instructs the bot to move on a square shape of a certain size. The main program becomes then very simple:"
+msgstr "Para resolver esse problema, a solução mais eficiente consiste em criar uma função que instrui o robô a se mover em uma forma quadrada de um determinado tamanho. O programa principal torna-se então muito simples: "
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"extern void object::Function1( )\n"
+"{\n"
+"\tSquare(15);\n"
+"\tSquare(25);\n"
+"}"
+msgstr ""
+"extern void object::Funcao1( )\n"
+"{\n"
+"\tQuadrado(15);\n"
+"\tQuadrado(25);\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "You still have to define the function called Square. In order to do this, you will have to write some instructions outside the block that until now was the frame of each one of your programs. At the very end of the program, after the last closing brace, we will define the function Square. The program will take the following shape:"
+msgstr "Você ainda precisa definir a função chamada Quadrado. Para fazer isso, você terá que escrever algumas instruções fora do bloco que até agora era o quadro de cada um dos seus programas. No final do programa, após a última chave de fechamento, definiremos a função Quadrado. O programa terá a seguinte forma:"
+
+#. type: Source code
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid ""
+"extern void object::Function1( )\n"
+"{\n"
+"\tmain function ...\n"
+"}\n"
+"\n"
+"void object::Square(float length)\n"
+"{\n"
+"\tnew function ...\n"
+"}"
+msgstr ""
+"extern void object::Funcao1( )\n"
+"{\n"
+"\tfunção principal...\n"
+"}\n"
+"\n"
+"void object::Quadrado(float comprimento)\n"
+"{\n"
+"\tnova função...\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:25
+#, no-wrap
+msgid "Let us look in detail at the different elements of the declaration of the function Square:"
+msgstr "Vamos olhar detalhadamente os diferentes elementos da declaração da função Quadrado:"
+
+#. type: Plain text
+#: ../help/help.E.txt:27
+#, no-wrap
+msgid ""
+"void\n"
+"This means that this function will return no value."
+msgstr ""
+"void\n"
+"Isso significa que essa função não retornará nenhum valor."
+
+#. type: Plain text
+#: ../help/help.E.txt:30
+#, no-wrap
+msgid ""
+"object::\n"
+"When you write this in front of the function name, you can have access in the function to all the characteristics of the bot, such as position, orientation, etc. In this exercise, this element is not compulsory, as we will not need the characteristics of the bot in the function."
+msgstr ""
+"object::\n"
+"Quando você escreve isso na frente do nome da função, você pode ter acesso na função a todas as características do robô, como position, orientation, etc. Neste exercício, este elemento não é obrigatório, pois não precisaremos das características do robô na função."
+
+#. type: Plain text
+#: ../help/help.E.txt:33
+#, no-wrap
+msgid ""
+"Square ( )\n"
+"This is the name of the function. You can call it Square, or any other name."
+msgstr ""
+"Quadrado ( )\n"
+"Este é o nome da função. Você pode chamá-lo de Quadrado ou qualquer outro nome."
+
+#. type: Plain text
+#: ../help/help.E.txt:36
+#, no-wrap
+msgid ""
+"float length\n"
+"Here you define the parameters that the function will get when it is called. The first time the function is actually called with Square(15), the variable length will contain the value 15. The second time, length will contain 25."
+msgstr ""
+"float comprimento\n"
+"Aqui você define os parâmetros que a função receberá quando for chamada. A primeira vez que a função é chamada com Quadrado(15), a variável comprimento conterá o valor 15. A segunda vez, comprimento conterá 25."
+
+#. type: Plain text
+#: ../help/help.E.txt:39
+#, no-wrap
+msgid "Here is in detail what will happen when the program is executed:"
+msgstr "Aqui está em detalhes o que acontecerá quando o programa for executado:"
+
+#. type: Bullet: '-'
+#: ../help/help.E.txt:40
+#, no-wrap
+msgid "First the main function Function will be executed."
+msgstr "Primeiro a função principal Funcao1 será executada."
+
+#. type: Bullet: '-'
+#: ../help/help.E.txt:41
+#, no-wrap
+msgid "At the line Square(15), the program will follow the red arrow and enter the function Square a first time, length containing 15."
+msgstr "Na linha Quadrado(15), o programa seguirá a seta vermelha e entrará na função Quadrado pela primeira vez, comprimento contendo 15."
+
+#. type: Bullet: '-'
+#: ../help/help.E.txt:42
+#, no-wrap
+msgid "At the end of the function Square, the program follows the orange arrow and comes back to the main function."
+msgstr "No final da função Quadrado, o programa segue a seta laranja e volta para a função principal."
+
+#. type: Bullet: '-'
+#: ../help/help.E.txt:43
+#, no-wrap
+msgid "At the line Square(25), the program will follow the blue arrow and enter the function Square a second time."
+msgstr "Na linha Quadrado(25), o programa seguirá a seta azul e entrará na função Quadrado uma segunda vez."
+
+#. type: Bullet: '-'
+#: ../help/help.E.txt:44
+#, no-wrap
+msgid "At the end of the function Square, the program follows the light blue arrow and comes back to the main function."
+msgstr "No final da função Quadrado, o programa segue a seta azul clara e volta para a função principal."
+
+#. type: Image filename
+#: ../help/help.E.txt:46
+#, no-wrap
+msgid "tproc1b"
+msgstr "tproc1b"
+
+#. type: Plain text
+#: ../help/help.E.txt:47
+#, no-wrap
+msgid "In the function Square, use the instructions move and turn. In order to make it shorter, you can use a for loop, that will repeat the instructions move and turn 4 times; however, this is not compulsory."
+msgstr "Na função Quadrado, use as instruções move e turn. Para torná-lo mais curto, você pode usar um laço for, que irá repetir as instruções move e turn 4 vezes; no entanto, isso não é obrigatório."
+
+#. type: Source code
+#: ../help/help.E.txt:49
+#, no-wrap
+msgid ""
+"void object::Square(float length)\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
+"\t{\n"
+"\t\tmove(length);\n"
+"\t\tturn(90);\n"
+"\t}\n"
+"}"
+msgstr ""
+"void object::Quadrado(float comprimento)\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
+"\t{\n"
+"\t\tmove(comprimento);\n"
+"\t\tturn(90);\n"
+"\t}\n"
+"}"
+
+#. type: \t; header
+#: ../help/help.E.txt:58
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:59
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter006/level002/po/br.po b/levels/exercises/chapter006/level002/po/br.po
deleted file mode 100644
index cdc542d9..00000000
--- a/levels/exercises/chapter006/level002/po/br.po
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-05-11 17:12-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Spiral"
-msgstr "Espiral"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Create a procedure in order to teach your bot to perform a spiral."
-msgstr "Crie um procedimento para ensinar seu robô a executar uma espiral."
-
-#. type: ScriptName-text
-#: ../scene.txt:3
-#, no-wrap
-msgid "Move"
-msgstr "Mover"
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "Exercise"
-msgstr "Exercício"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Follow the way in form of a spiral. The bot must move 2 times 25m forward and"
-" turn, then move 2 times 20m forward and turn, and so on."
-msgstr ""
-"Siga o caminho em forma de espiral. O robô deve mover-se 2 vezes 25m para a"
-" frente e virar, e então mover 2 vezes 20m para a frente e virar, e assim por"
-" diante."
-
-#. type: Image filename
-#: ../help/help.E.txt:3
-#, no-wrap
-msgid "tproc2"
-msgstr "tproc2"
-
-#. type: \b; header
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid "Function"
-msgstr "Função"
-
-#. type: Plain text
-#: ../help/help.E.txt:5
-#, no-wrap
-msgid ""
-"You will have noticed that the way is made of \"L\"-shaped parts that are fit"
-" one into another. The first one (dark blue) measures two times 25 meters."
-" The second one (light blue) measures 5 meters less. Let us start with"
-" writing the function that will move the bot on a"
-" \"L\"-shaped part whose length will be given as a parameter:"
-msgstr ""
-"Você deve ter notado que o caminho é feito de peças em forma de \"L\" que se"
-" encaixam umas nas outras. O primeiro (azul escuro) mede duas vezes 25"
-" metros. O segundo (azul claro) mede 5 metros a menos. Vamos começar"
-" escrevendo a função que moverá o robô em uma parte em"
-" \"L\" cujo comprimento será dado como um parâmetro:"
-
-#. type: Source code
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid ""
-"void object::Part(float length)\n"
-"{\n"
-"\tfor ( int i=0 ; i<2 ; i=i+1 )\n"
-"\t{\n"
-"\t\tmove(length);\n"
-"\t\tturn(90);\n"
-"\t}\n"
-"}"
-msgstr ""
-"void object::Parte(float comprimento)\n"
-"{\n"
-"\tfor ( int i=0 ; i<2 ; i=i+1 )\n"
-"\t{\n"
-"\t\tmove(comprimento);\n"
-"\t\tturn(90);\n"
-"\t}\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:16
-#, no-wrap
-msgid ""
-"Now you just need to write the main function, that will call the function <"
-"code>Part. At the beginning the variable rest will be set"
-" to 25m. The while loop will then repeat the instructions inside"
-" the block as long as rest is greater than zero. Inside the"
-" loop, first call the function Part (see above), then subtract"
-" 5m to the length of the L."
-msgstr ""
-"Agora você só precisa escrever a função principal, que irá chamar a função <"
-"code>Parte. No início, a variável rest será configurada"
-" para 25m. O laço while irá então repetir as instruções dentro"
-" do bloco, contanto que rest code> seja maior que zero. Dentro do"
-" laço, primeiro chame a função Parte (veja acima), então"
-" subtraia 5m ao comprimento do L."
-
-#. type: Source code
-#: ../help/help.E.txt:18
-#, no-wrap
-msgid ""
-"extern void object::Function2( )\n"
-"{\n"
-"\tfloat\trest = 25;\n"
-"\twhile ( rest > 0 )\n"
-"\t{\n"
-"\t\tPart(rest);\n"
-"\t\trest = rest-5;\n"
-"\t}\n"
-"}"
-msgstr ""
-"extern void object::Funcao2( )\n"
-"{\n"
-"\tfloat\trest = 25;\n"
-"\twhile ( rest > 0 )\n"
-"\t{\n"
-"\t\tParte(rest);\n"
-"\t\trest = rest-5;\n"
-"\t}\n"
-"}"
-
-#. type: Plain text
-#: ../help/help.E.txt:28
-#, no-wrap
-msgid ""
-"The function Part will be called a last time with the value <"
-"code>5. Then the expression rest-5 will set the value of"
-" the variable rest to zero, and the while loop will"
-" stop."
-msgstr ""
-"A função Parte será chamada pela última vez com o valor 5<"
-"/code>. Então a expressão rest-5 irá setar o valor da variável <"
-"code>rest para zero, e o laço while irá parar."
-
-#. type: \b; header
-#: ../help/help.E.txt:30
-#, no-wrap
-msgid "Remark"
-msgstr "Observação"
-
-#. type: Plain text
-#: ../help/help.E.txt:31
-#, no-wrap
-msgid ""
-"You will have noticed that in the previous exercise, the main function was at"
-" the beginning of the program, whereas in this exercise, it is at the end of"
-" the program, after the function Part. The rank order of the"
-" functions in the program does not matter, you can write a program either way."
-msgstr ""
-"Você deve ter notado que no exercício anterior, a função principal estava no"
-" início do programa, enquanto que neste exercício, é no final do programa,"
-" após a função Parte. A ordem de classificação das funções no"
-" programa não importa, você pode escrever um programa de qualquer maneira."
-
-#. type: \t; header
-#: ../help/help.E.txt:33
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:34
-#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
diff --git a/levels/exercises/chapter006/level002/po/pt.po b/levels/exercises/chapter006/level002/po/pt.po
new file mode 100644
index 00000000..dbc26726
--- /dev/null
+++ b/levels/exercises/chapter006/level002/po/pt.po
@@ -0,0 +1,147 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-05-11 17:12-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Spiral"
+msgstr "Espiral"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Create a procedure in order to teach your bot to perform a spiral."
+msgstr "Crie um procedimento para ensinar seu robô a executar uma espiral."
+
+#. type: ScriptName-text
+#: ../scene.txt:3
+#, no-wrap
+msgid "Move"
+msgstr "Mover"
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "Exercise"
+msgstr "Exercício"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "Follow the way in form of a spiral. The bot must move 2 times 25m forward and turn, then move 2 times 20m forward and turn, and so on."
+msgstr "Siga o caminho em forma de espiral. O robô deve mover-se 2 vezes 25m para a frente e virar, e então mover 2 vezes 20m para a frente e virar, e assim por diante."
+
+#. type: Image filename
+#: ../help/help.E.txt:3
+#, no-wrap
+msgid "tproc2"
+msgstr "tproc2"
+
+#. type: \b; header
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Function"
+msgstr "Função"
+
+#. type: Plain text
+#: ../help/help.E.txt:5
+#, no-wrap
+msgid "You will have noticed that the way is made of \"L\"-shaped parts that are fit one into another. The first one (dark blue) measures two times 25 meters. The second one (light blue) measures 5 meters less. Let us start with writing the function that will move the bot on a \"L\"-shaped part whose length will be given as a parameter:"
+msgstr "Você deve ter notado que o caminho é feito de peças em forma de \"L\" que se encaixam umas nas outras. O primeiro (azul escuro) mede duas vezes 25 metros. O segundo (azul claro) mede 5 metros a menos. Vamos começar escrevendo a função que moverá o robô em uma parte em \"L\" cujo comprimento será dado como um parâmetro:"
+
+#. type: Source code
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid ""
+"void object::Part(float length)\n"
+"{\n"
+"\tfor ( int i=0 ; i<2 ; i=i+1 )\n"
+"\t{\n"
+"\t\tmove(length);\n"
+"\t\tturn(90);\n"
+"\t}\n"
+"}"
+msgstr ""
+"void object::Parte(float comprimento)\n"
+"{\n"
+"\tfor ( int i=0 ; i<2 ; i=i+1 )\n"
+"\t{\n"
+"\t\tmove(comprimento);\n"
+"\t\tturn(90);\n"
+"\t}\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:16
+#, no-wrap
+msgid "Now you just need to write the main function, that will call the function Part. At the beginning the variable rest will be set to 25m. The while loop will then repeat the instructions inside the block as long as rest is greater than zero. Inside the loop, first call the function Part (see above), then subtract 5m to the length of the L."
+msgstr "Agora você só precisa escrever a função principal, que irá chamar a função Parte. No início, a variável rest será configurada para 25m. O laço while irá então repetir as instruções dentro do bloco, contanto que rest code> seja maior que zero. Dentro do laço, primeiro chame a função Parte (veja acima), então subtraia 5m ao comprimento do L."
+
+#. type: Source code
+#: ../help/help.E.txt:18
+#, no-wrap
+msgid ""
+"extern void object::Function2( )\n"
+"{\n"
+"\tfloat\trest = 25;\n"
+"\twhile ( rest > 0 )\n"
+"\t{\n"
+"\t\tPart(rest);\n"
+"\t\trest = rest-5;\n"
+"\t}\n"
+"}"
+msgstr ""
+"extern void object::Funcao2( )\n"
+"{\n"
+"\tfloat\trest = 25;\n"
+"\twhile ( rest > 0 )\n"
+"\t{\n"
+"\t\tParte(rest);\n"
+"\t\trest = rest-5;\n"
+"\t}\n"
+"}"
+
+#. type: Plain text
+#: ../help/help.E.txt:28
+#, no-wrap
+msgid "The function Part will be called a last time with the value 5. Then the expression rest-5 will set the value of the variable rest to zero, and the while loop will stop."
+msgstr "A função Parte será chamada pela última vez com o valor 5. Então a expressão rest-5 irá setar o valor da variável rest para zero, e o laço while irá parar."
+
+#. type: \b; header
+#: ../help/help.E.txt:30
+#, no-wrap
+msgid "Remark"
+msgstr "Observação"
+
+#. type: Plain text
+#: ../help/help.E.txt:31
+#, no-wrap
+msgid "You will have noticed that in the previous exercise, the main function was at the beginning of the program, whereas in this exercise, it is at the end of the program, after the function Part. The rank order of the functions in the program does not matter, you can write a program either way."
+msgstr "Você deve ter notado que no exercício anterior, a função principal estava no início do programa, enquanto que neste exercício, é no final do programa, após a função Parte. A ordem de classificação das funções no programa não importa, você pode escrever um programa de qualquer maneira."
+
+#. type: \t; header
+#: ../help/help.E.txt:33
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:34
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter006/level003/po/br.po b/levels/exercises/chapter006/level003/po/pt.po
similarity index 62%
rename from levels/exercises/chapter006/level003/po/br.po
rename to levels/exercises/chapter006/level003/po/pt.po
index 07731569..22fee824 100644
--- a/levels/exercises/chapter006/level003/po/br.po
+++ b/levels/exercises/chapter006/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-11 17:29-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,12 +25,8 @@ msgstr "Controle remoto #2"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Remote control a robot using an information exchange post, so it will pass"
-" over the 6 blue waypoints."
-msgstr ""
-"Controle remotamente um robô usando uma posto de troca de informações, para"
-" que ele passe pelos 6 pontos de referência azuis."
+msgid "Remote control a robot using an information exchange post, so it will pass over the 6 blue waypoints."
+msgstr "Controle remotamente um robô usando uma posto de troca de informações, para que ele passe pelos 6 pontos de referência azuis."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -48,43 +44,29 @@ msgstr "Exercício"
#: ../help/help.E.txt:2
#, no-wrap
msgid ""
-"Remote control a robot using an information exchange post<"
-"/a>, so it will pass over the 6 blue waypoints.\n"
+"Remote control a robot using an information exchange post, so it will pass over the 6 blue waypoints.\n"
"The main actors of this exercise are:"
msgstr ""
-"Comande remotamente um robô usando uma posto de troca de"
-" informações, para que ele passe pelos 6 pontos de referência azuis. \n"
+"Comande remotamente um robô usando uma posto de troca de informações, para que ele passe pelos 6 pontos de referência azuis. \n"
"Os principais atores deste exercício são:"
#. type: Bullet: '1)'
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"A wheeled grabber robot without an energy cell. This is"
-" the master you have to program."
-msgstr ""
-"Um robô agarrador com rodas sem uma célula de energia."
-" Este é o mestre que você tem que programar."
+msgid "A wheeled grabber robot without an energy cell. This is the master you have to program."
+msgstr "Um robô agarrador com rodas sem uma célula de energia. Este é o mestre que você tem que programar."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"An information exchange post that receives information"
-" from the master and then transmits it to the slave."
-msgstr ""
-"Um posto de troca de informações que recebe"
-" informações do mestre e as transmite para o escravo."
+msgid "An information exchange post that receives information from the master and then transmits it to the slave."
+msgstr "Um posto de troca de informações que recebe informações do mestre e as transmite para o escravo."
#. type: Bullet: '3)'
#: ../help/help.E.txt:7
#, no-wrap
-msgid ""
-"A practice bot which waits for orders from the exchange"
-" post. This robot has already been programmed."
-msgstr ""
-"Um robô de prática que aguarda ordens do posto de troca."
-" Este robô já foi programado."
+msgid "A practice bot which waits for orders from the exchange post. This robot has already been programmed."
+msgstr "Um robô de prática que aguarda ordens do posto de troca. Este robô já foi programado."
#. type: Image filename
#: ../help/help.E.txt:9
@@ -95,12 +77,8 @@ msgstr "tremot2a"
#. type: Plain text
#: ../help/help.E.txt:10
#, no-wrap
-msgid ""
-"An information exchange post stores \"name/value\" couples. To control the"
-" \"slave\" robot we use two couples:"
-msgstr ""
-"Um posto de troca de informações armazena casais de \"nome / valor\". Para"
-" controlar o robô \"escravo\", usamos dois pares:"
+msgid "An information exchange post stores \"name/value\" couples. To control the \"slave\" robot we use two couples:"
+msgstr "Um posto de troca de informações armazena casais de \"nome / valor\". Para controlar o robô \"escravo\", usamos dois pares:"
#. type: Bullet: '1)'
#: ../help/help.E.txt:12
@@ -118,34 +96,27 @@ msgstr "nome=\"param\", valor=parâmetro para a operação"
#: ../help/help.E.txt:15
#, no-wrap
msgid ""
-"Order #1 means \"move\" and order #2 means \"turn\". The parameter is the"
-" distance to move or the turning angle. For example to make the slave move 20"
-" meters write:\n"
+"Order #1 means \"move\" and order #2 means \"turn\". The parameter is the distance to move or the turning angle. For example to make the slave move 20 meters write:\n"
"\tsend(\"order\", 1, 100); // order \"move\""
msgstr ""
-"A ordem nº 1 significa \"move\" e a ordem nº 2 significa \"turn\". O"
-" parâmetro é a distância a ser movida ou o ângulo de giro. Por exemplo, para"
-" fazer o escravo se mover 20 metros, escreva: \n"
+"A ordem nº 1 significa \"move\" e a ordem nº 2 significa \"turn\". O parâmetro é a distância a ser movida ou o ângulo de giro. Por exemplo, para fazer o escravo se mover 20 metros, escreva: \n"
"\tsend(\"order\", 1, 100); // ordem \"move\""
#. type: Source code
#: ../help/help.E.txt:17
#, no-wrap
msgid "\tsend(\"param\", 20, 100); // distance 20 meters"
-msgstr ""
-"\tsend(\"param\", 20, 100); // distância de 20 metros"
+msgstr "\tsend(\"param\", 20, 100); // distância de 20 metros"
#. type: Plain text
#: ../help/help.E.txt:19
#, no-wrap
msgid ""
-"These two instruction send following 2 pieces of information to the exchange"
-" post:\n"
+"These two instruction send following 2 pieces of information to the exchange post:\n"
" order=1\n"
" param=20"
msgstr ""
-"Essas duas instruções são enviadas após duas informações para o posto de"
-" troca: \n"
+"Essas duas instruções são enviadas após duas informações para o posto de troca: \n"
" order=1\n"
" param=20"
@@ -153,21 +124,11 @@ msgstr ""
#: ../help/help.E.txt:23
#, no-wrap
msgid ""
-"The slave robot waits for an order and executes it. Once the order has been"
-" executed by the slave, it removes the order from the exchange post. Once an"
-" order has been sent, the master must wait for the slave finishing the order"
-" before sending the next order. This is done by testing if the order is still"
-" inside the exchange post. Just write:\n"
-"\twhile ( testinfo(\"order\", 100) ) // wait"
-" for end of work"
+"The slave robot waits for an order and executes it. Once the order has been executed by the slave, it removes the order from the exchange post. Once an order has been sent, the master must wait for the slave finishing the order before sending the next order. This is done by testing if the order is still inside the exchange post. Just write:\n"
+"\twhile ( testinfo(\"order\", 100) ) // wait for end of work"
msgstr ""
-"O robô escravo espera por uma ordem e a executa. Uma vez que o pedido foi"
-" executado pelo escravo, ele remove o pedido do posto de troca. Uma vez"
-" enviado um pedido, o mestre deve aguardar o escravo concluir o pedido antes"
-" de enviar o próximo pedido. Isso é feito testando se o pedido ainda está"
-" dentro do posto de troca. Apenas escreva: \n"
-"\twhile ( testinfo(\"order\", 100) ) // espera"
-" pelo fim do trabalho"
+"O robô escravo espera por uma ordem e a executa. Uma vez que o pedido foi executado pelo escravo, ele remove o pedido do posto de troca. Uma vez enviado um pedido, o mestre deve aguardar o escravo concluir o pedido antes de enviar o próximo pedido. Isso é feito testando se o pedido ainda está dentro do posto de troca. Apenas escreva: \n"
+"\twhile ( testinfo(\"order\", 100) ) // espera pelo fim do trabalho"
#. type: Source code
#: ../help/help.E.txt:25
@@ -185,14 +146,10 @@ msgstr ""
#: ../help/help.E.txt:29
#, no-wrap
msgid ""
-"As we must give more than one order its most convenient to write a functionSendToPost, that sends the order and"
-" wait for its completion:\n"
+"As we must give more than one order its most convenient to write a functionSendToPost, that sends the order and wait for its completion:\n"
"void object::SendToPost(float order, float param)"
msgstr ""
-"Como devemos dar mais de um pedido, é mais conveniente escrever uma funçãoEnviarParaPosto code>, que envia o pedido e"
-" aguarda sua conclusão: \n"
+"Como devemos dar mais de um pedido, é mais conveniente escrever uma funçãoEnviarParaPosto code>, que envia o pedido e aguarda sua conclusão: \n"
"void object::EnviarParaPosto(float ordem, float parametro)"
#. type: Source code
@@ -256,10 +213,5 @@ msgstr "Veja também"
#. type: Plain text
#: ../help/help.E.txt:50
#, no-wrap
-msgid ""
-"Programming, types and categories."
-msgstr ""
-"Programação, tipos e categorias."
-
+msgid "Programming, types and categories."
+msgstr "Programação, tipos e categorias."
diff --git a/levels/exercises/chapter007/level001/po/br.po b/levels/exercises/chapter007/level001/po/pt.po
similarity index 52%
rename from levels/exercises/chapter007/level001/po/br.po
rename to levels/exercises/chapter007/level001/po/pt.po
index 07efc858..14e0e944 100644
--- a/levels/exercises/chapter007/level001/po/br.po
+++ b/levels/exercises/chapter007/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 09:02-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,12 +25,8 @@ msgstr "Controle remoto #3"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Remote control a bot without using an information exchange post by using a"
-" string."
-msgstr ""
-"Controle remotamente um robô sem usar um posto de troca de informações, mas"
-" sim uma string."
+msgid "Remote control a bot without using an information exchange post by using a string."
+msgstr "Controle remotamente um robô sem usar um posto de troca de informações, mas sim uma string."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -47,26 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Remote control a slave robot without using an information"
-" exchange post. The robot should pass over the 6 blue crosses. You must"
-" use a string to pass the orders to the slave bot. This"
-" string contains the order the slave shoud execute, for exemple \"move(20)\". You can see that this is the same syntax as used in the"
-" CBOT language but we could have chosen any other syntax for exemple"
-" something like \"advance=20\". The string will be a static class member that will be used to communicate"
-" from the master to the slave."
-msgstr ""
-"Controle remotamente um robô escravo sem usar um posto de"
-" troca de informações. O robô deve passar pelas 6 cruzes azuis. Você deve"
-" usar uma string para passar as ordens para o robô"
-" escravo. Esta string contém a ordem que o escravo deve executar, por exemplo"
-" \"move (20)\". Você pode ver que esta é a mesma sintaxe usada"
-" na linguagem CBOT, mas poderíamos ter escolhido qualquer outra sintaxe para"
-" exemplo algo como \"avance = 20\" code>. A string será um membro de"
-" classe static que será usada para se"
-" comunicar do mestre para o escravo."
+msgid "Remote control a slave robot without using an information exchange post. The robot should pass over the 6 blue crosses. You must use a string to pass the orders to the slave bot. This string contains the order the slave shoud execute, for exemple \"move(20)\". You can see that this is the same syntax as used in the CBOT language but we could have chosen any other syntax for exemple something like \"advance=20\". The string will be a static class member that will be used to communicate from the master to the slave."
+msgstr "Controle remotamente um robô escravo sem usar um posto de troca de informações. O robô deve passar pelas 6 cruzes azuis. Você deve usar uma string para passar as ordens para o robô escravo. Esta string contém a ordem que o escravo deve executar, por exemplo \"move (20)\". Você pode ver que esta é a mesma sintaxe usada na linguagem CBOT, mas poderíamos ter escolhido qualquer outra sintaxe para exemplo algo como \"avance = 20\" code>. A string será um membro de classe static que será usada para se comunicar do mestre para o escravo."
#. type: Plain text
#: ../help/help.E.txt:4
@@ -77,24 +55,14 @@ msgstr "Os dois principais atores deste exercício são:"
#. type: Bullet: '1)'
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"The wheeled grabber without an energy pack and therefore"
-" immobile. This is the master you should program so it will transmit orders"
-" to the slave."
-msgstr ""
-"O agarrador com rodas sem uma célula de energia e,"
-" portanto, imóvel. Este é o mestre que você deve programar para transmitir"
-" ordens ao escravo."
+msgid "The wheeled grabber without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
+msgstr "O agarrador com rodas sem uma célula de energia e, portanto, imóvel. Este é o mestre que você deve programar para transmitir ordens ao escravo."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"The slave practice bot which is already programmed and"
-" just waits for orders from the master."
-msgstr ""
-"O robô de prática escravo que já está programado e apenas"
-" aguarda ordens do mestre."
+msgid "The slave practice bot which is already programmed and just waits for orders from the master."
+msgstr "O robô de prática escravo que já está programado e apenas aguarda ordens do mestre."
#. type: \b; header
#: ../help/help.E.txt:8
@@ -105,21 +73,8 @@ msgstr "O escravo"
#. type: Plain text
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"First of all we must understand how the program of the slave works. The classexchange contains the mechanism for"
-" exchaning the orders. We declare a static"
-" class member m_order which will contain the order to be"
-" executed. The word static insures that the member m_order is shared between all instances of the class exchange."
-msgstr ""
-"Primeiro de tudo, devemos entender como funciona o programa do escravo. A classetroca contém o mecanismo de troca dos"
-" pedidos. Nós declaramos um membro de classe estáticom_ordem que conterá a ordem a ser executada. A palavra"
-" static assegura que o membro m_ordem seja"
-" compartilhado entre todas as instâncias da classe troca."
+msgid "First of all we must understand how the program of the slave works. The classexchange contains the mechanism for exchaning the orders. We declare a static class member m_order which will contain the order to be executed. The word static insures that the member m_order is shared between all instances of the class exchange."
+msgstr "Primeiro de tudo, devemos entender como funciona o programa do escravo. A classetroca contém o mecanismo de troca dos pedidos. Nós declaramos um membro de classe estáticom_ordem que conterá a ordem a ser executada. A palavra static assegura que o membro m_ordem seja compartilhado entre todas as instâncias da classe troca."
#. type: Plain text
#: ../help/help.E.txt:11
@@ -132,37 +87,22 @@ msgstr "publicclass troca"
#, no-wrap
msgid ""
"{\n"
-"\tstaticprivatestring m_order = \"\";"
+"\tstaticprivatestring m_order = \"\";"
msgstr ""
"{\n"
-"\tstaticprivatestring m_ordem = \"\";"
+"\tstaticprivatestring m_ordem = \"\";"
#. type: Plain text
#: ../help/help.E.txt:15
#, no-wrap
-msgid ""
-"The put method will be used by the master robot for"
-" transmitting an order. As long as the string m_order is not"
-" empty, the slave has not finished the order and the put method"
-" will return false and will do nothing."
-msgstr ""
-" O método colocar será usado pelo robô mestre para"
-" transmitir um pedido. Contanto que a string m_ordem não esteja"
-" vazia, o escravo não terminou a ordem e o método colocar code>"
-" retornará false e não fará nada...."
+msgid "The put method will be used by the master robot for transmitting an order. As long as the string m_order is not empty, the slave has not finished the order and the put method will return false and will do nothing."
+msgstr " O método colocar será usado pelo robô mestre para transmitir um pedido. Contanto que a string m_ordem não esteja vazia, o escravo não terminou a ordem e o método colocar code> retornará false e não fará nada...."
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
-msgid ""
-"\tsynchronizedbool put(string"
-" order)"
-msgstr ""
-"\tsynchronizedbool"
-" colocar(string"
-" ordem)"
+msgid "\tsynchronizedbool put(string order)"
+msgstr "\tsynchronizedbool colocar(string ordem)"
#. type: Source code
#: ../help/help.E.txt:18
@@ -195,14 +135,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:30
#, no-wrap
-msgid ""
-"Another method get will be used by the slave to retrieve the"
-" orders. This method returns the string contained in m_order and"
-" empties it, so a new order can be accepted:"
-msgstr ""
-"Outro método pegar será usado pelo escravo para recuperar as"
-" ordens. Este método retorna a string contida em m_ordem e a"
-" esvazia, então um novo pedido pode ser aceito:"
+msgid "Another method get will be used by the slave to retrieve the orders. This method returns the string contained in m_order and empties it, so a new order can be accepted:"
+msgstr "Outro método pegar será usado pelo escravo para recuperar as ordens. Este método retorna a string contida em m_ordem e a esvazia, então um novo pedido pode ser aceito:"
#. type: Plain text
#: ../help/help.E.txt:32
@@ -231,12 +165,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:40
#, no-wrap
-msgid ""
-"The main program of the slave contains an instance of the class exchange called list."
-msgstr ""
-"O programa principal do escravo contém uma instância da classe troca<"
-"/code> chamada lista."
+msgid "The main program of the slave contains an instance of the class exchange called list."
+msgstr "O programa principal do escravo contém uma instância da classe troca chamada lista."
#. type: Plain text
#: ../help/help.E.txt:42
@@ -259,16 +189,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:47
#, no-wrap
-msgid ""
-"The outer while loop lasts for ever. The inner while loop waits for an order by using the get method of the exchange class. As soon as get returns a non empty"
-" string, the while loop stops."
-msgstr ""
-"O laço externo while dura para sempre. O laço interno while espera por uma ordem usando o método pegar da"
-" classe troca. Assim que pegar retorna uma string"
-" não vazia, o laço while para."
+msgid "The outer while loop lasts for ever. The inner while loop waits for an order by using the get method of the exchange class. As soon as get returns a non empty string, the while loop stops."
+msgstr "O laço externo while dura para sempre. O laço interno while espera por uma ordem usando o método pegar da classe troca. Assim que pegar retorna uma string não vazia, o laço while para."
#. type: Plain text
#: ../help/help.E.txt:49
@@ -299,19 +221,14 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:58
#, no-wrap
-msgid ""
-"Now we have received the order in the todo variable. All we have"
-" to do is execute it:"
-msgstr ""
-"Agora recebemos a ordem na variável para_fazer. Tudo o que temos"
-" a fazer é executá-la:"
+msgid "Now we have received the order in the todo variable. All we have to do is execute it:"
+msgstr "Agora recebemos a ordem na variável para_fazer. Tudo o que temos a fazer é executá-la:"
#. type: Plain text
#: ../help/help.E.txt:60
#, no-wrap
msgid "\t\tif ( strfind(todo, \"move\") == 0 )"
-msgstr ""
-"\t\tif ( strfind(para_fazer, \"move\") == 0 )"
+msgstr "\t\tif ( strfind(para_fazer, \"move\") == 0 )"
#. type: Source code
#: ../help/help.E.txt:61
@@ -328,8 +245,7 @@ msgid ""
"}"
msgstr ""
"\t\t{\n"
-"\t\t\tmove(strval(strmid(para_fazer,5)));\n"
+"\t\t\tmove(strval(strmid(para_fazer,5)));\n"
"\t\t}\n"
"\t\tif ( strfind(para_fazer, \"turn\") == 0 )\n"
"\t\t{\n"
@@ -347,12 +263,8 @@ msgstr "O mestre"
#. type: Plain text
#: ../help/help.E.txt:72
#, no-wrap
-msgid ""
-"In the master we write an function called SendOrder which will"
-" send an order to the slave:"
-msgstr ""
-"No mestre nós escrevemos uma função chamada EnviarOrdem que irá"
-" enviar um pedido para o escravo:"
+msgid "In the master we write an function called SendOrder which will send an order to the slave:"
+msgstr "No mestre nós escrevemos uma função chamada EnviarOrdem que irá enviar um pedido para o escravo:"
#. type: Plain text
#: ../help/help.E.txt:74
@@ -386,12 +298,10 @@ msgstr ""
#: ../help/help.E.txt:84
#, no-wrap
msgid ""
-"The while loop waits until a pending order has been terminated,"
-" that is the slaved has exited from the get method.\n"
+"The while loop waits until a pending order has been terminated, that is the slaved has exited from the get method.\n"
"Now the main program of the master is very simple:"
msgstr ""
-"O laço while aguarda até que uma ordem pendente seja terminada,"
-" ou seja, o escravo saiu do método pegar. \n"
+"O laço while aguarda até que uma ordem pendente seja terminada, ou seja, o escravo saiu do método pegar. \n"
"Agora o programa principal do mestre é muito simples:"
#. type: Plain text
@@ -432,8 +342,7 @@ msgstr ""
#: ../help/help.E.txt:100
#, no-wrap
msgid " show these instruction at any time."
-msgstr ""
-" mostra essas instruções a qualquer momento."
+msgstr " mostra essas instruções a qualquer momento."
#. type: \t; header
#: ../help/help.E.txt:102
@@ -446,5 +355,3 @@ msgstr "Veja também"
#, no-wrap
msgid "Controls and programming."
msgstr "Controles e Linguagem CBOT"
-
-
diff --git a/levels/exercises/chapter007/level002/po/br.po b/levels/exercises/chapter007/level002/po/pt.po
similarity index 56%
rename from levels/exercises/chapter007/level002/po/br.po
rename to levels/exercises/chapter007/level002/po/pt.po
index 0630601e..e5b5485e 100644
--- a/levels/exercises/chapter007/level002/po/br.po
+++ b/levels/exercises/chapter007/level002/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 09:18-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,12 +25,8 @@ msgstr "Controle remoto #4"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Remote control a bot without using an information exchange post by defining a"
-" class for the orders."
-msgstr ""
-"Controle remotamente um robô sem usar uma posto de troca de informações"
-" definindo uma classe para os pedidos."
+msgid "Remote control a bot without using an information exchange post by defining a class for the orders."
+msgstr "Controle remotamente um robô sem usar uma posto de troca de informações definindo uma classe para os pedidos."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -47,16 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Remote control a slave robot without using an information"
-" exchange post. The robot should pass over the 6 blue crosses. You must"
-" use a static variable to pass the orders to"
-" the slave bot."
-msgstr ""
-"Controle remotamente um robô escravo sem usar um posto de"
-" troca de informações. O robô deve passar pelas 6 cruzes azuis. Você deve"
-" usar uma variável estática para passar as"
-" ordens para o robô escravo."
+msgid "Remote control a slave robot without using an information exchange post. The robot should pass over the 6 blue crosses. You must use a static variable to pass the orders to the slave bot."
+msgstr "Controle remotamente um robô escravo sem usar um posto de troca de informações. O robô deve passar pelas 6 cruzes azuis. Você deve usar uma variável estática para passar as ordens para o robô escravo."
#. type: Plain text
#: ../help/help.E.txt:4
@@ -67,24 +55,14 @@ msgstr "Os dois principais atores deste exercício são:"
#. type: Bullet: '1)'
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"The wheeled grabber without an energy pack and therefore"
-" immobile. This is the master you should program so it will transmit orders"
-" to the slave."
-msgstr ""
-"O agarrador com rodas sem uma célula de energia e,"
-" portanto, imóvel. Este é o mestre que você deve programar para transmitir"
-" ordens ao escravo."
+msgid "The wheeled grabber without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
+msgstr "O agarrador com rodas sem uma célula de energia e, portanto, imóvel. Este é o mestre que você deve programar para transmitir ordens ao escravo."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"The slave practice bot which is already programmed and"
-" just waits for orders from the master."
-msgstr ""
-"O robô de prática escravo que já está programado e apenas"
-" aguarda ordens do mestre."
+msgid "The slave practice bot which is already programmed and just waits for orders from the master."
+msgstr "O robô de prática escravo que já está programado e apenas aguarda ordens do mestre."
#. type: \b; header
#: ../help/help.E.txt:8
@@ -95,16 +73,8 @@ msgstr "O escravo"
#. type: Plain text
#: ../help/help.E.txt:9
#, no-wrap
-msgid ""
-"First of all we must understand how the program of the slave works. The classorder contains two members: m_type<"
-"/code> is the order to execute (move or turn) and m_param is the"
-" distance to move or the rotation angle:"
-msgstr ""
-"Primeiro de tudo, devemos entender como funciona o programa do escravo. A"
-" classe classeordem contém dois membros: <"
-"code>m_tipo é a ordem para executar (mover ou girar) e m_param<"
-"/code > é a distância para se mover ou o ângulo de rotação:"
+msgid "First of all we must understand how the program of the slave works. The classorder contains two members: m_type is the order to execute (move or turn) and m_param is the distance to move or the rotation angle:"
+msgstr "Primeiro de tudo, devemos entender como funciona o programa do escravo. A classe classeordem contém dois membros: m_tipo é a ordem para executar (mover ou girar) e m_param é a distância para se mover ou o ângulo de rotação:"
#. type: Plain text
#: ../help/help.E.txt:11
@@ -129,20 +99,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
-msgid ""
-"A second classexchange contains the mechanism"
-" for exchanging the orders. We declare a static<"
-"/code> class member m_order which will contain the order to be"
-" executed. The word static insures that the member m_order is shared between all instances of the class exchange."
-msgstr ""
-"Uma segunda classetroca code> contém o mecanismo"
-" para trocar as ordens. Nós declaramos um membro de classe estáticom_ordem que conterá a ordem a"
-" ser executada. A palavra static assegura que o membro m_ordem seja compartilhado entre todas as instâncias da classe troca."
+msgid "A second classexchange contains the mechanism for exchanging the orders. We declare a static class member m_order which will contain the order to be executed. The word static insures that the member m_order is shared between all instances of the class exchange."
+msgstr "Uma segunda classetroca code> contém o mecanismo para trocar as ordens. Nós declaramos um membro de classe estáticom_ordem que conterá a ordem a ser executada. A palavra static assegura que o membro m_ordem seja compartilhado entre todas as instâncias da classe troca."
#. type: Plain text
#: ../help/help.E.txt:19
@@ -155,35 +113,22 @@ msgstr "publicclass troca"
#, no-wrap
msgid ""
"{\n"
-"\tstaticprivate order m_order = new"
-" order;"
+"\tstaticprivate order m_order = new order;"
msgstr ""
"{\n"
-"\tstaticprivate ordem m_ordem = new"
-" ordem;"
+"\tstaticprivate ordem m_ordem = new ordem;"
#. type: Plain text
#: ../help/help.E.txt:23
#, no-wrap
-msgid ""
-"The put method will be used by the master robot for"
-" transmitting an order. As long as m_order is different from <"
-"code>nan, the slave has not finished the order and the"
-" put method will return false and will do nothing:"
-msgstr ""
-" O método colocar será usado pelo robô mestre para"
-" transmitir um pedido. Enquanto m_ordem é diferente de nan, o escravo não finalizou o pedido e o método colocar code> retornará false e não fará nada:"
+msgid "The put method will be used by the master robot for transmitting an order. As long as m_order is different from nan, the slave has not finished the order and the put method will return false and will do nothing:"
+msgstr " O método colocar será usado pelo robô mestre para transmitir um pedido. Enquanto m_ordem é diferente de nan, o escravo não finalizou o pedido e o método colocar code> retornará false e não fará nada:"
#. type: Plain text
#: ../help/help.E.txt:25
#, no-wrap
-msgid ""
-"\tsynchronizedbool put(order a)"
-msgstr ""
-"\tsynchronizedbool"
-" colocar(ordem a)"
+msgid "\tsynchronizedbool put(order a)"
+msgstr "\tsynchronizedbool colocar(ordem a)"
#. type: Source code
#: ../help/help.E.txt:26
@@ -216,12 +161,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:38
#, no-wrap
-msgid ""
-"Another method get will be used by the slave to retrieve the"
-" orders. This method returns the order to be executed:"
-msgstr ""
-"Outro método pegar será usado pelo escravo para recuperar as"
-" ordens. Este método retorna o pedido a ser executado:"
+msgid "Another method get will be used by the slave to retrieve the orders. This method returns the order to be executed:"
+msgstr "Outro método pegar será usado pelo escravo para recuperar as ordens. Este método retorna o pedido a ser executado:"
#. type: Plain text
#: ../help/help.E.txt:40
@@ -244,12 +185,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:45
#, no-wrap
-msgid ""
-"A third method delete will be used by the slave to indicate that"
-" the order has been executed:"
-msgstr ""
-"Um terceiro método excluir será usado pelo escravo para indicar"
-" que o pedido foi executado:"
+msgid "A third method delete will be used by the slave to indicate that the order has been executed:"
+msgstr "Um terceiro método excluir será usado pelo escravo para indicar que o pedido foi executado:"
#. type: Plain text
#: ../help/help.E.txt:47
@@ -274,15 +211,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:53
#, no-wrap
-msgid ""
-"The main program of the slave contains an instance of the class exchange called list. We put () after the word list in order to create an instance of the class exchange."
-msgstr ""
-"O programa principal do escravo contém uma instância da classe troca<"
-"/code> chamada lista. Nós colocamos () depois da palavra lista para criar uma instância da classe troca."
+msgid "The main program of the slave contains an instance of the class exchange called list. We put () after the word list in order to create an instance of the class exchange."
+msgstr "O programa principal do escravo contém uma instância da classe troca chamada lista. Nós colocamos () depois da palavra lista para criar uma instância da classe troca."
#. type: Plain text
#: ../help/help.E.txt:55
@@ -305,16 +235,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:60
#, no-wrap
-msgid ""
-"The outer while loop lasts for ever. The inner while loop waits for an order by using the get method of the exchange class. As soon as get returns a value different"
-" from nan, the while loop stops."
-msgstr ""
-"O laço externo while dura para sempre. O laço interno while espera por uma ordem usando o método pegar da"
-" classe troca. Assim que pegar retorna um valor"
-" diferente de nan, o laço while para."
+msgid "The outer while loop lasts for ever. The inner while loop waits for an order by using the get method of the exchange class. As soon as get returns a value different from nan, the while loop stops."
+msgstr "O laço externo while dura para sempre. O laço interno while espera por uma ordem usando o método pegar da classe troca. Assim que pegar retorna um valor diferente de nan, o laço while para."
#. type: Plain text
#: ../help/help.E.txt:62
@@ -345,12 +267,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:71
#, no-wrap
-msgid ""
-"Now we have received the order in the todo variable. All we have"
-" to do is execute it:"
-msgstr ""
-"Agora recebemos a ordem na variável para_fazer. Tudo o que temos"
-" a fazer é executá-la:"
+msgid "Now we have received the order in the todo variable. All we have to do is execute it:"
+msgstr "Agora recebemos a ordem na variável para_fazer. Tudo o que temos a fazer é executá-la:"
#. type: Plain text
#: ../help/help.E.txt:73
@@ -389,12 +307,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:86
#, no-wrap
-msgid ""
-"As soon as the execution of the order is finished, we must call the delete method so the master knows that another order can be sent:"
-msgstr ""
-"Assim que a execução do pedido estiver concluída, devemos chamar o método <"
-"code>excluir para que o mestre saiba que outro pedido pode ser enviado:"
+msgid "As soon as the execution of the order is finished, we must call the delete method so the master knows that another order can be sent:"
+msgstr "Assim que a execução do pedido estiver concluída, devemos chamar o método excluir para que o mestre saiba que outro pedido pode ser enviado:"
#. type: Plain text
#: ../help/help.E.txt:88
@@ -421,12 +335,8 @@ msgstr "O mestre"
#. type: Plain text
#: ../help/help.E.txt:93
#, no-wrap
-msgid ""
-"In the master we write an function called SendOrder which will"
-" send an order to the slave:"
-msgstr ""
-"No mestre nós escrevemos uma função chamada EnviarOrdem que irá"
-" enviar um pedido para o escravo:"
+msgid "In the master we write an function called SendOrder which will send an order to the slave:"
+msgstr "No mestre nós escrevemos uma função chamada EnviarOrdem que irá enviar um pedido para o escravo:"
#. type: Plain text
#: ../help/help.E.txt:95
@@ -468,14 +378,10 @@ msgstr ""
#: ../help/help.E.txt:109
#, no-wrap
msgid ""
-"The while loop waits until a pending order has been terminated,"
-" that is the slaved has exited from the get method and the delete method has been called.\n"
+"The while loop waits until a pending order has been terminated, that is the slaved has exited from the get method and the delete method has been called.\n"
"Now the main program of the master is very simple:"
msgstr ""
-"O laço while aguarda até que uma ordem pendente seja finalizada,"
-" ou seja, o escravo tenha saído do método pegar code> e o método <"
-"code>excluir tenha sido chamado . \n"
+"O laço while aguarda até que uma ordem pendente seja finalizada, ou seja, o escravo tenha saído do método pegar code> e o método excluir tenha sido chamado . \n"
"Agora o programa principal do mestre é muito simples:"
#. type: Plain text
@@ -516,8 +422,7 @@ msgstr ""
#: ../help/help.E.txt:125
#, no-wrap
msgid " show these instruction at any time."
-msgstr ""
-" mostra essas instruções a qualquer momento."
+msgstr " mostra essas instruções a qualquer momento."
#. type: \t; header
#: ../help/help.E.txt:128
@@ -530,4 +435,3 @@ msgstr "Veja também"
#, no-wrap
msgid "Controls and programming."
msgstr "Controles e Linguagem CBOT"
-
diff --git a/levels/exercises/chapter007/level003/po/br.po b/levels/exercises/chapter007/level003/po/pt.po
similarity index 55%
rename from levels/exercises/chapter007/level003/po/br.po
rename to levels/exercises/chapter007/level003/po/pt.po
index 61d361b5..965f1d5e 100644
--- a/levels/exercises/chapter007/level003/po/br.po
+++ b/levels/exercises/chapter007/level003/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:00-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,12 +25,8 @@ msgstr "Controle remoto #5"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Remote control a bot without using an information exchange post by storing"
-" the orders."
-msgstr ""
-"Controle remotamente um robô sem usar um posto de troca de informações"
-" armazenando os pedidos."
+msgid "Remote control a bot without using an information exchange post by storing the orders."
+msgstr "Controle remotamente um robô sem usar um posto de troca de informações armazenando os pedidos."
#. type: ScriptName-text
#: ../scene.txt:3
@@ -47,12 +43,8 @@ msgstr "Exercício"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
-msgid ""
-"Remote control a slave robot without using an information"
-" exchange post. The robot should pass over the 6 blue crosses. "
-msgstr ""
-"Controle remotamente um robô escravo sem usar um posto de"
-" troca de informações. O robô deve passar pelas 6 cruzes azuis."
+msgid "Remote control a slave robot without using an information exchange post. The robot should pass over the 6 blue crosses. "
+msgstr "Controle remotamente um robô escravo sem usar um posto de troca de informações. O robô deve passar pelas 6 cruzes azuis."
#. type: Plain text
#: ../help/help.E.txt:4
@@ -63,36 +55,20 @@ msgstr "Os dois principais atores deste exercício são:"
#. type: Bullet: '1)'
#: ../help/help.E.txt:5
#, no-wrap
-msgid ""
-"The wheeled grabber without an energy pack and therefore"
-" immobile. This is the master you should program so it will transmit orders"
-" to the slave."
-msgstr ""
-"O agarrador com rodas sem uma célula de energia e,"
-" portanto, imóvel. Este é o mestre que você deve programar para transmitir"
-" ordens ao escravo."
+msgid "The wheeled grabber without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
+msgstr "O agarrador com rodas sem uma célula de energia e, portanto, imóvel. Este é o mestre que você deve programar para transmitir ordens ao escravo."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
-msgid ""
-"The slave practice bot which is already programmed and"
-" just waits for orders from the master."
-msgstr ""
-"O robô de prática escravo que já está programado e apenas"
-" aguarda ordens do mestre."
+msgid "The slave practice bot which is already programmed and just waits for orders from the master."
+msgstr "O robô de prática escravo que já está programado e apenas aguarda ordens do mestre."
#. type: Plain text
#: ../help/help.E.txt:8
#, no-wrap
-msgid ""
-"The orders shall be stored, so the master will be able to transmit several"
-" orders without waiting for each order being processed. We use an array for this purpose."
-msgstr ""
-"As ordens devem ser armazenadas, para que o mestre possa transmitir várias"
-" ordens sem esperar que cada pedido seja processado. Usamos uma matriz para essa finalidade."
+msgid "The orders shall be stored, so the master will be able to transmit several orders without waiting for each order being processed. We use an array for this purpose."
+msgstr "As ordens devem ser armazenadas, para que o mestre possa transmitir várias ordens sem esperar que cada pedido seja processado. Usamos uma matriz para essa finalidade."
#. type: \b; header
#: ../help/help.E.txt:10
@@ -103,16 +79,8 @@ msgstr "O escravo"
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
-msgid ""
-"First of all we must understand how the program of the slave works. The classorder contains two members: m_type<"
-"/code> is the order to execute (move or turn) and m_param is the"
-" distance to move or the rotation angle:"
-msgstr ""
-"Primeiro de tudo, devemos entender como funciona o programa do escravo. A"
-" classe classeordem contém dois membros: <"
-"code>m_tipo é a ordem para executar (mover ou girar) e m_param<"
-"/code > é a distância para se mover ou o ângulo de rotação:"
+msgid "First of all we must understand how the program of the slave works. The classorder contains two members: m_type is the order to execute (move or turn) and m_param is the distance to move or the rotation angle:"
+msgstr "Primeiro de tudo, devemos entender como funciona o programa do escravo. A classe classeordem contém dois membros: m_tipo é a ordem para executar (mover ou girar) e m_param é a distância para se mover ou o ângulo de rotação:"
#. type: Plain text
#: ../help/help.E.txt:13
@@ -137,20 +105,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:19
#, no-wrap
-msgid ""
-"A second classexchange contains the mechanism"
-" for exchanging the orders. We declare a static<"
-"/code> class member m_fifo which will contain the list of orders"
-" to be executed. The word static insures that the member m_fifo is shared between all instances of the class"
-" exchange."
-msgstr ""
-"Uma segunda classetroca code> contém o mecanismo"
-" para trocar as ordens. Nós declaramos um membro de classe estáticom_fila que conterá a lista de"
-" ordens a serem executadas. A palavra static assegura que o"
-" membro m_fila seja compartilhado entre todas as instâncias da"
-" classe troca."
+msgid "A second classexchange contains the mechanism for exchanging the orders. We declare a static class member m_fifo which will contain the list of orders to be executed. The word static insures that the member m_fifo is shared between all instances of the class exchange."
+msgstr "Uma segunda classetroca code> contém o mecanismo para trocar as ordens. Nós declaramos um membro de classe estáticom_fila que conterá a lista de ordens a serem executadas. A palavra static assegura que o membro m_fila seja compartilhado entre todas as instâncias da classe troca."
#. type: Plain text
#: ../help/help.E.txt:21
@@ -161,22 +117,14 @@ msgstr "{"
#. type: Source code
#: ../help/help.E.txt:22
#, no-wrap
-msgid ""
-"\tstaticprivate order m_fifo[] = null;"
-msgstr ""
-"\tstaticprivate ordem m_fila[] = null;"
+msgid "\tstaticprivate order m_fifo[] = null;"
+msgstr "\tstaticprivate ordem m_fila[] = null;"
#. type: Plain text
#: ../help/help.E.txt:24
#, no-wrap
-msgid ""
-"The put method will be used by the master robot for transmitting"
-" an order. The order will simply be added at the end of the m_fifo<"
-"/code> array:"
-msgstr ""
-"O método colocar será usado pelo robô mestre para transmitir um"
-" pedido. A ordem será simplesmente adicionada no final da matriz m_fila:"
+msgid "The put method will be used by the master robot for transmitting an order. The order will simply be added at the end of the m_fifo array:"
+msgstr "O método colocar será usado pelo robô mestre para transmitir um pedido. A ordem será simplesmente adicionada no final da matriz m_fila:"
#. type: Plain text
#: ../help/help.E.txt:26
@@ -199,20 +147,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:31
#, no-wrap
-msgid ""
-"Another method get will be used by the slave to retrieve the"
-" orders. This method returns the order to be executed. If the list is empty,"
-" null will be returned and the robot must wait for more orders."
-" Otherwise the first order in the list must be returned and the remaining"
-" orders must be \"scrolled up\". As an array can not be \"shortened\" we use"
-" a temporary array copy:"
-msgstr ""
-"Outro método pegar será usado pelo escravo para recuperar as"
-" ordens. Este método retorna o pedido a ser executado. Se a lista estiver"
-" vazia, null será retornado e o robô deve esperar por mais"
-" pedidos. Caso contrário, o primeiro pedido na lista deve ser retornado e os"
-" pedidos restantes devem ser \"rolados para cima\". Como uma matriz não pode"
-" ser \"encurtada\", usamos uma matriz temporário copia:"
+msgid "Another method get will be used by the slave to retrieve the orders. This method returns the order to be executed. If the list is empty, null will be returned and the robot must wait for more orders. Otherwise the first order in the list must be returned and the remaining orders must be \"scrolled up\". As an array can not be \"shortened\" we use a temporary array copy:"
+msgstr "Outro método pegar será usado pelo escravo para recuperar as ordens. Este método retorna o pedido a ser executado. Se a lista estiver vazia, null será retornado e o robô deve esperar por mais pedidos. Caso contrário, o primeiro pedido na lista deve ser retornado e os pedidos restantes devem ser \"rolados para cima\". Como uma matriz não pode ser \"encurtada\", usamos uma matriz temporário copia:"
#. type: Plain text
#: ../help/help.E.txt:33
@@ -253,15 +189,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:47
#, no-wrap
-msgid ""
-"The main program of the slave contains an instance of the class exchange called list. We put () after the word list in order to create an instance of the class exchange."
-msgstr ""
-"O programa principal do escravo contém uma instância da classe troca<"
-"/code> chamada lista. Nós colocamos () depois da palavra lista para criar uma instância da classe troca."
+msgid "The main program of the slave contains an instance of the class exchange called list. We put () after the word list in order to create an instance of the class exchange."
+msgstr "O programa principal do escravo contém uma instância da classe troca chamada lista. Nós colocamos () depois da palavra lista para criar uma instância da classe troca."
#. type: Plain text
#: ../help/help.E.txt:49
@@ -284,16 +213,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:54
#, no-wrap
-msgid ""
-"The outer while loop lasts for ever. The inner while loop waits for an order by using the get method of the exchange class. As soon as get returns a value different"
-" from null, the while loop stops."
-msgstr ""
-"O laço externo while dura para sempre. O laço interno while espera por uma ordem usando o método pegar code> da"
-" classe troca. Assim que pegar retorna um valor"
-" diferente de null, o laço while para\t."
+msgid "The outer while loop lasts for ever. The inner while loop waits for an order by using the get method of the exchange class. As soon as get returns a value different from null, the while loop stops."
+msgstr "O laço externo while dura para sempre. O laço interno while espera por uma ordem usando o método pegar code> da classe troca. Assim que pegar retorna um valor diferente de null, o laço while para\t."
#. type: Plain text
#: ../help/help.E.txt:56
@@ -324,12 +245,8 @@ msgstr ""
#. type: Plain text
#: ../help/help.E.txt:65
#, no-wrap
-msgid ""
-"Now we have received the order in the todo variable. All we have"
-" to do is execute it:"
-msgstr ""
-"Agora recebemos a ordem na variável para_fazer. Tudo o que temos"
-" a fazer é executá-la:"
+msgid "Now we have received the order in the todo variable. All we have to do is execute it:"
+msgstr "Agora recebemos a ordem na variável para_fazer. Tudo o que temos a fazer é executá-la:"
#. type: Plain text
#: ../help/help.E.txt:67
@@ -378,12 +295,8 @@ msgstr "O mestre"
#. type: Plain text
#: ../help/help.E.txt:83
#, no-wrap
-msgid ""
-"In the master we write a function called SendOrder which will"
-" send an order to the slave:"
-msgstr ""
-"No mestre nós escrevemos uma função chamada EnviarOrdem que irá"
-" enviar uma ordem para o escravo:"
+msgid "In the master we write a function called SendOrder which will send an order to the slave:"
+msgstr "No mestre nós escrevemos uma função chamada EnviarOrdem que irá enviar uma ordem para o escravo:"
#. type: Plain text
#: ../help/help.E.txt:85
@@ -457,8 +370,7 @@ msgstr ""
#: ../help/help.E.txt:110
#, no-wrap
msgid " show these instruction at any time."
-msgstr ""
-" mostra essas instruções a qualquer momento."
+msgstr " mostra essas instruções a qualquer momento."
#. type: \t; header
#: ../help/help.E.txt:112
@@ -471,4 +383,3 @@ msgstr "Veja também"
#, no-wrap
msgid "Controls and programming."
msgstr "Controles e Linguagem CBOT"
-
diff --git a/levels/exercises/po/br.po b/levels/exercises/po/pt.po
similarity index 99%
rename from levels/exercises/po/br.po
rename to levels/exercises/po/pt.po
index 1e197d68..6bf0590c 100644
--- a/levels/exercises/po/br.po
+++ b/levels/exercises/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-15 10:02-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../chapter001/chaptertitle.txt:1
@@ -81,4 +81,3 @@ msgstr "Funções"
#, no-wrap
msgid "Classes"
msgstr "Classes"
-
diff --git a/levels/freemissions/chapter001/level001/po/br.po b/levels/freemissions/chapter001/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter001/level001/po/br.po
rename to levels/freemissions/chapter001/level001/po/pt.po
index bc691d14..c51acb75 100644
--- a/levels/freemissions/chapter001/level001/po/br.po
+++ b/levels/freemissions/chapter001/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:01-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter002/level001/po/br.po b/levels/freemissions/chapter002/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter002/level001/po/br.po
rename to levels/freemissions/chapter002/level001/po/pt.po
index b532b590..2a391124 100644
--- a/levels/freemissions/chapter002/level001/po/br.po
+++ b/levels/freemissions/chapter002/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:02-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter003/level001/po/br.po b/levels/freemissions/chapter003/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter003/level001/po/br.po
rename to levels/freemissions/chapter003/level001/po/pt.po
index b532b590..2a391124 100644
--- a/levels/freemissions/chapter003/level001/po/br.po
+++ b/levels/freemissions/chapter003/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:02-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter005/level001/po/br.po b/levels/freemissions/chapter004/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter005/level001/po/br.po
rename to levels/freemissions/chapter004/level001/po/pt.po
index e8493dfd..741602bf 100644
--- a/levels/freemissions/chapter005/level001/po/br.po
+++ b/levels/freemissions/chapter004/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:03-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter006/level001/po/br.po b/levels/freemissions/chapter005/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter006/level001/po/br.po
rename to levels/freemissions/chapter005/level001/po/pt.po
index e8493dfd..741602bf 100644
--- a/levels/freemissions/chapter006/level001/po/br.po
+++ b/levels/freemissions/chapter005/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:03-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter004/level001/po/br.po b/levels/freemissions/chapter006/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter004/level001/po/br.po
rename to levels/freemissions/chapter006/level001/po/pt.po
index e8493dfd..741602bf 100644
--- a/levels/freemissions/chapter004/level001/po/br.po
+++ b/levels/freemissions/chapter006/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:03-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter007/level001/po/br.po b/levels/freemissions/chapter007/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter007/level001/po/br.po
rename to levels/freemissions/chapter007/level001/po/pt.po
index e8493dfd..741602bf 100644
--- a/levels/freemissions/chapter007/level001/po/br.po
+++ b/levels/freemissions/chapter007/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:03-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter008/level001/po/br.po b/levels/freemissions/chapter008/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter008/level001/po/br.po
rename to levels/freemissions/chapter008/level001/po/pt.po
index 45c5084c..ee99370b 100644
--- a/levels/freemissions/chapter008/level001/po/br.po
+++ b/levels/freemissions/chapter008/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:04-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/chapter009/level001/po/br.po b/levels/freemissions/chapter009/level001/po/pt.po
similarity index 79%
rename from levels/freemissions/chapter009/level001/po/br.po
rename to levels/freemissions/chapter009/level001/po/pt.po
index 45c5084c..ee99370b 100644
--- a/levels/freemissions/chapter009/level001/po/br.po
+++ b/levels/freemissions/chapter009/level001/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:04-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../scene.txt:1
@@ -25,10 +25,5 @@ msgstr "Jogo livre"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
-msgid ""
-"Do whatever you want, build a base camp and some bots, without any precise"
-" objective."
-msgstr ""
-"Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum"
-" objetivo preciso."
-
+msgid "Do whatever you want, build a base camp and some bots, without any precise objective."
+msgstr "Faça o que quiser, construa um acampamento base e alguns robôs, sem nenhum objetivo preciso."
diff --git a/levels/freemissions/po/br.po b/levels/freemissions/po/pt.po
similarity index 99%
rename from levels/freemissions/po/br.po
rename to levels/freemissions/po/pt.po
index c88a0a49..4a2f18d3 100644
--- a/levels/freemissions/po/br.po
+++ b/levels/freemissions/po/pt.po
@@ -8,13 +8,13 @@ msgstr ""
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: 2018-05-07 09:05-0300\n"
"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
#. type: Title-text
#: ../chapter001/chaptertitle.txt:1
@@ -123,4 +123,3 @@ msgstr "Em Terranova"
#, no-wrap
msgid "Terranova"
msgstr "Terranova"
-
diff --git a/levels/missions/chapter001/level001/po/br.po b/levels/missions/chapter001/level001/po/br.po
deleted file mode 100644
index 142256e0..00000000
--- a/levels/missions/chapter001/level001/po/br.po
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-04-18 11:21-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Equipment"
-msgstr "Equipamento"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Prepare yourself to embark on mankind's most thrilling adventure yet."
-msgstr ""
-"Prepare-se para embarcar na aventura mais emocionante da humanidade até agora."
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "From the NASA Training Center"
-msgstr "Do Centro de Treinamento da NASA"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"We are pleased to inform you that you have been selected for the space"
-" exploration mission Colobot."
-msgstr ""
-"Temos o prazer de informar que você foi selecionado para a missão de"
-" exploração espacial Colobot."
-
-#. type: Plain text
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid ""
-"Your psychological profile has been established as more than 98.84%"
-" favorable, and your aptitude during the extensive testing period was"
-" undeniable. The detailed results are at your disposal in the central"
-" computer under the registration number that was assigned to you."
-msgstr ""
-"Seu perfil psicológico foi estabelecido como mais de 98,84% favorável, e sua"
-" aptidão durante o extenso período de testes foi inegável. Os resultados"
-" detalhados estão à sua disposição no computador central, sob o número de"
-" registro que foi atribuído a você."
-
-#. type: Plain text
-#: ../help/help.E.txt:6
-#, no-wrap
-msgid ""
-"Please report to the Houston Mission Control for further"
-" directives about your forthcoming mission."
-msgstr ""
-"Por favor, reporte-se ao Centro de Controle de Missões"
-" Houston para mais orientações sobre sua próxima missão."
-
-#. type: \b; header
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid "From Houston Mission Control"
-msgstr "Do Centro de Controle de Missões Houston"
-
-#. type: Plain text
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid ""
-"As you know, Earth is heading towards imminent disaster, due to increasing"
-" atmospheric pollution."
-msgstr ""
-"Como você sabe, a Terra está caminhando para um desastre iminente, devido ao"
-" aumento da poluição atmosférica."
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid ""
-"Your mission consists of exploring neighboring galaxies"
-" with the hopes of finding a planet that will be suitable to human needs and"
-" possibly serve as a shelter for mankind. You will be on your own for the"
-" entire mission but your spaceship will be carrying a few bots along."
-msgstr ""
-"Sua missão consiste em explorar galáxias vizinhas com a"
-" esperança de encontrar um planeta que seja adequado às necessidades humanas"
-" e, possivelmente, sirva de abrigo para a humanidade. Você estará por conta"
-" própria durante toda a missão, mas sua espaçonave levará alguns robôs."
-
-#. type: Plain text
-#: ../help/help.E.txt:13
-#, no-wrap
-msgid ""
-"Eight months ago an expedition composed entirely of robots was sent across"
-" the cosmos with the same objective. It encountered a fair share of obstacles"
-" along the way, apparently landing on planets that were unsuitable for"
-" colonization, even possibly outright hostile. Very recently all"
-" communications were terminated."
-msgstr ""
-"Oito meses atrás, uma expedição composta inteiramente de robôs foi enviada"
-" através do cosmos com o mesmo objetivo. Eles encontraram uma boa quantidade"
-" de obstáculos ao longo do caminho, aparentemente aterrissando em planetas"
-" que eram inadequados para a colonização, mesmo que possivelmente"
-" completamente hostis. Muito recentemente, todas as comunicações foram"
-" encerradas."
-
-#. type: Plain text
-#: ../help/help.E.txt:15
-#, no-wrap
-msgid ""
-"The reasons for the mission's failure are unclear at this date, mainly"
-" because of recurrent transmission problems. It is our hope that you will be"
-" able to use some of the data it gathered to your advantage."
-msgstr ""
-"As razões para o fracasso da missão não são claras nesta data, principalmente"
-" devido a problemas recorrentes de transmissão. Esperamos que você possa usar"
-" alguns dos dados coletados em seu proveito."
-
-#. type: \b; header
-#: ../help/help.E.txt:17
-#, no-wrap
-msgid "Immediate Objective"
-msgstr "Objetivo Imediato"
-
-#. type: Plain text
-#: ../help/help.E.txt:18
-#, no-wrap
-msgid ""
-"The Nevada desert is already bustling with activity. Bots are setting up a"
-" space station catered to your specific needs."
-msgstr ""
-"O deserto de Nevada já está cheio de atividade. Os robôs estão montando uma"
-" estação espacial adequada às suas necessidades específicas."
-
-#. type: Plain text
-#: ../help/help.E.txt:20
-#, no-wrap
-msgid ""
-"In order to let you familiarize with your spacesuit and equipment, we have"
-" set up a few training drills."
-msgstr ""
-"Para deixá-lo familiarizado com seu traje espacial e equipamentos, criamos"
-" alguns exercícios de treinamento."
-
-#. type: Plain text
-#: ../help/help.E.txt:22
-#, no-wrap
-msgid ""
-"In the first drill, you need to find your survival kit that contains all the"
-" tools necessary to brave the cold of outer space. It is easy to spot since"
-" it contains both an orange and a blue tank."
-msgstr ""
-"No primeiro exercício, você precisa encontrar o kit de sobrevivência que"
-" contém todas as ferramentas necessárias para enfrentar o frio do espaço"
-" sideral. É fácil de detectar, pois contém um tanque laranja e um azul."
-
-#. type: Plain text
-#: ../help/help.E.txt:24
-#, no-wrap
-msgid ""
-" allows you to review these instructions at"
-" all times on your personal SatCom ."
-msgstr ""
-" permite-lhe rever estas instruções a"
-" qualquer momento no seu SatCom pessoal ."
-
-#. type: \t; header
-#: ../help/help.E.txt:26 ../help/soluce.E.txt:10
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:27 ../help/soluce.E.txt:11
-#, no-wrap
-msgid "Controls"
-msgstr "Controles."
-
-#. type: \b; header
-#: ../help/soluce.E.txt:1
-#, no-wrap
-msgid "Walkthrough"
-msgstr "Passo a passo"
-
-#. type: Plain text
-#: ../help/soluce.E.txt:2
-#, no-wrap
-msgid "To find the survival kit from your starting point :"
-msgstr "Para encontrar o kit de sobrevivência do seu ponto de partida:"
-
-#. type: Bullet: '1)'
-#: ../help/soluce.E.txt:4
-#, no-wrap
-msgid "Follow the road heading south."
-msgstr "Siga a estrada em direção ao sul."
-
-#. type: Bullet: '2)'
-#: ../help/soluce.E.txt:5
-#, no-wrap
-msgid "Turn east (left) at the first crossroad."
-msgstr "Vire para leste (esquerda) no primeiro cruzamento."
-
-#. type: Bullet: '3)'
-#: ../help/soluce.E.txt:6
-#, no-wrap
-msgid ""
-"The survival kit is lying between the northern wall of Mission Control and"
-" the first tree on the right hand side of the road."
-msgstr ""
-"O kit de sobrevivência fica entre a parede norte do Controle da Missão e a"
-" primeira árvore do lado direito da estrada."
-
-#. type: Plain text
-#: ../help/soluce.E.txt:8
-#, no-wrap
-msgid "Just position yourself close to it to successfully complete the drill."
-msgstr "Apenas posicione-se perto dele para completar com sucesso a missão."
-
diff --git a/levels/missions/chapter001/level001/po/pt.po b/levels/missions/chapter001/level001/po/pt.po
new file mode 100644
index 00000000..fd0ae1c7
--- /dev/null
+++ b/levels/missions/chapter001/level001/po/pt.po
@@ -0,0 +1,161 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-04-18 11:21-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Equipment"
+msgstr "Equipamento"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Prepare yourself to embark on mankind's most thrilling adventure yet."
+msgstr "Prepare-se para embarcar na aventura mais emocionante da humanidade até agora."
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "From the NASA Training Center"
+msgstr "Do Centro de Treinamento da NASA"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "We are pleased to inform you that you have been selected for the space exploration mission Colobot."
+msgstr "Temos o prazer de informar que você foi selecionado para a missão de exploração espacial Colobot."
+
+#. type: Plain text
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "Your psychological profile has been established as more than 98.84% favorable, and your aptitude during the extensive testing period was undeniable. The detailed results are at your disposal in the central computer under the registration number that was assigned to you."
+msgstr "Seu perfil psicológico foi estabelecido como mais de 98,84% favorável, e sua aptidão durante o extenso período de testes foi inegável. Os resultados detalhados estão à sua disposição no computador central, sob o número de registro que foi atribuído a você."
+
+#. type: Plain text
+#: ../help/help.E.txt:6
+#, no-wrap
+msgid "Please report to the Houston Mission Control for further directives about your forthcoming mission."
+msgstr "Por favor, reporte-se ao Centro de Controle de Missões Houston para mais orientações sobre sua próxima missão."
+
+#. type: \b; header
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid "From Houston Mission Control"
+msgstr "Do Centro de Controle de Missões Houston"
+
+#. type: Plain text
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "As you know, Earth is heading towards imminent disaster, due to increasing atmospheric pollution."
+msgstr "Como você sabe, a Terra está caminhando para um desastre iminente, devido ao aumento da poluição atmosférica."
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid "Your mission consists of exploring neighboring galaxies with the hopes of finding a planet that will be suitable to human needs and possibly serve as a shelter for mankind. You will be on your own for the entire mission but your spaceship will be carrying a few bots along."
+msgstr "Sua missão consiste em explorar galáxias vizinhas com a esperança de encontrar um planeta que seja adequado às necessidades humanas e, possivelmente, sirva de abrigo para a humanidade. Você estará por conta própria durante toda a missão, mas sua espaçonave levará alguns robôs."
+
+#. type: Plain text
+#: ../help/help.E.txt:13
+#, no-wrap
+msgid "Eight months ago an expedition composed entirely of robots was sent across the cosmos with the same objective. It encountered a fair share of obstacles along the way, apparently landing on planets that were unsuitable for colonization, even possibly outright hostile. Very recently all communications were terminated."
+msgstr "Oito meses atrás, uma expedição composta inteiramente de robôs foi enviada através do cosmos com o mesmo objetivo. Eles encontraram uma boa quantidade de obstáculos ao longo do caminho, aparentemente aterrissando em planetas que eram inadequados para a colonização, mesmo que possivelmente completamente hostis. Muito recentemente, todas as comunicações foram encerradas."
+
+#. type: Plain text
+#: ../help/help.E.txt:15
+#, no-wrap
+msgid "The reasons for the mission's failure are unclear at this date, mainly because of recurrent transmission problems. It is our hope that you will be able to use some of the data it gathered to your advantage."
+msgstr "As razões para o fracasso da missão não são claras nesta data, principalmente devido a problemas recorrentes de transmissão. Esperamos que você possa usar alguns dos dados coletados em seu proveito."
+
+#. type: \b; header
+#: ../help/help.E.txt:17
+#, no-wrap
+msgid "Immediate Objective"
+msgstr "Objetivo Imediato"
+
+#. type: Plain text
+#: ../help/help.E.txt:18
+#, no-wrap
+msgid "The Nevada desert is already bustling with activity. Bots are setting up a space station catered to your specific needs."
+msgstr "O deserto de Nevada já está cheio de atividade. Os robôs estão montando uma estação espacial adequada às suas necessidades específicas."
+
+#. type: Plain text
+#: ../help/help.E.txt:20
+#, no-wrap
+msgid "In order to let you familiarize with your spacesuit and equipment, we have set up a few training drills."
+msgstr "Para deixá-lo familiarizado com seu traje espacial e equipamentos, criamos alguns exercícios de treinamento."
+
+#. type: Plain text
+#: ../help/help.E.txt:22
+#, no-wrap
+msgid "In the first drill, you need to find your survival kit that contains all the tools necessary to brave the cold of outer space. It is easy to spot since it contains both an orange and a blue tank."
+msgstr "No primeiro exercício, você precisa encontrar o kit de sobrevivência que contém todas as ferramentas necessárias para enfrentar o frio do espaço sideral. É fácil de detectar, pois contém um tanque laranja e um azul."
+
+#. type: Plain text
+#: ../help/help.E.txt:24
+#, no-wrap
+msgid " allows you to review these instructions at all times on your personal SatCom ."
+msgstr " permite-lhe rever estas instruções a qualquer momento no seu SatCom pessoal ."
+
+#. type: \t; header
+#: ../help/help.E.txt:26 ../help/soluce.E.txt:10
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:27 ../help/soluce.E.txt:11
+#, no-wrap
+msgid "Controls"
+msgstr "Controles."
+
+#. type: \b; header
+#: ../help/soluce.E.txt:1
+#, no-wrap
+msgid "Walkthrough"
+msgstr "Passo a passo"
+
+#. type: Plain text
+#: ../help/soluce.E.txt:2
+#, no-wrap
+msgid "To find the survival kit from your starting point :"
+msgstr "Para encontrar o kit de sobrevivência do seu ponto de partida:"
+
+#. type: Bullet: '1)'
+#: ../help/soluce.E.txt:4
+#, no-wrap
+msgid "Follow the road heading south."
+msgstr "Siga a estrada em direção ao sul."
+
+#. type: Bullet: '2)'
+#: ../help/soluce.E.txt:5
+#, no-wrap
+msgid "Turn east (left) at the first crossroad."
+msgstr "Vire para leste (esquerda) no primeiro cruzamento."
+
+#. type: Bullet: '3)'
+#: ../help/soluce.E.txt:6
+#, no-wrap
+msgid "The survival kit is lying between the northern wall of Mission Control and the first tree on the right hand side of the road."
+msgstr "O kit de sobrevivência fica entre a parede norte do Controle da Missão e a primeira árvore do lado direito da estrada."
+
+#. type: Plain text
+#: ../help/soluce.E.txt:8
+#, no-wrap
+msgid "Just position yourself close to it to successfully complete the drill."
+msgstr "Apenas posicione-se perto dele para completar com sucesso a missão."
diff --git a/levels/missions/chapter001/level002/po/br.po b/levels/missions/chapter001/level002/po/br.po
deleted file mode 100644
index fce363a4..00000000
--- a/levels/missions/chapter001/level002/po/br.po
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-04-18 11:33-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Building"
-msgstr "Construção"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Learn how to construct buildings."
-msgstr "Aprenda a construir edifícios."
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "From Mission Control"
-msgstr "Do Centro de Controle de Missões"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"This is your second drill. You should now familiarize"
-" yourself with the handling of basic equipment. This could turn out to be"
-" your best ally during the course of this expedition."
-msgstr ""
-"Esta é sua segunda missão. Você deve agora se"
-" familiarizar com o manuseio de equipamentos básicos. Isso pode se tornar seu"
-" melhor aliado durante o curso desta expedição."
-
-#. type: Plain text
-#: ../help/help.E.txt:4
-#, no-wrap
-msgid ""
-"The construction of buildings and the manufacturing of bots all require the"
-" use of titanium. Titanium is a mineral found in most"
-" solar systems in the universe."
-msgstr ""
-"A construção de edifícios e a fabricação de robôs requerem o uso de titânio. O titânio é um mineral encontrado na maioria dos"
-" sistemas solares do universo."
-
-#. type: \b; header
-#: ../help/help.E.txt:6
-#, no-wrap
-msgid "Procedure"
-msgstr "Procedimento"
-
-#. type: Bullet: '1)'
-#: ../help/help.E.txt:7
-#, no-wrap
-msgid "Position yourself close to the first titanium cube."
-msgstr "Posicione-se perto do primeiro cubo de titânio."
-
-#. type: Bullet: '2)'
-#: ../help/help.E.txt:8
-#, no-wrap
-msgid ""
-"Build a research center . Note that only"
-" you can accomplish the task of building; no bot can be"
-" substituted."
-msgstr ""
-"Construa um centro de pesquisas. Note que"
-" apenas você pode realizar a tarefa de construir; nenhum"
-" robô pode ser substituído."
-
-#. type: Bullet: '3)'
-#: ../help/help.E.txt:9
-#, no-wrap
-msgid ""
-"With a second titanium cube, build a bot factory ."
-msgstr ""
-"Com um segundo cubo de titânio, construa uma fábrica de robôs ."
-
-#. type: Plain text
-#: ../help/help.E.txt:11
-#, no-wrap
-msgid ""
-" allows you to review these instructions at"
-" all times on your personal SatCom ."
-msgstr ""
-" permite-lhe rever estas instruções a"
-" qualquer momento no seu SatCom pessoal ."
-
-#. type: \t; header
-#: ../help/help.E.txt:13 ../help/soluce.E.txt:10
-#, no-wrap
-msgid "See also"
-msgstr "Veja também"
-
-#. type: Plain text
-#: ../help/help.E.txt:14 ../help/soluce.E.txt:11
-#, no-wrap
-msgid "Controls"
-msgstr "Controles."
-
-#. type: \b; header
-#: ../help/soluce.E.txt:1
-#, no-wrap
-msgid "Walkthrough"
-msgstr "Passo a passo"
-
-#. type: Plain text
-#: ../help/soluce.E.txt:2
-#, no-wrap
-msgid ""
-"Walk down the street that runs beside Mission Control."
-" You will find a titanium cube on the left hand side of"
-" the road, right after the grabber bot."
-msgstr ""
-"Desça a rua que corre ao lado do Centro de Controle de"
-" Missões. Você encontrará um cubo de titânio no lado"
-" esquerdo da estrada, logo após o robô agarrador."
-
-#. type: Bullet: '1)'
-#: ../help/soluce.E.txt:4
-#, no-wrap
-msgid ""
-"Face the cube. Click on the first button at the bottom left of your screen: <"
-"button 163/> research center>."
-msgstr ""
-"Fique de frente para o cubo. Clique no primeiro botão no canto inferior"
-" esquerdo da tela: centro de"
-" pesquisa>."
-
-#. type: Bullet: '2)'
-#: ../help/soluce.E.txt:5
-#, no-wrap
-msgid ""
-"Walk further down the road. The second cube is on the right past the four"
-" green power cells."
-msgstr ""
-"Caminhe mais abaixo na estrada. O segundo cubo está à direita, passando pelas"
-" quatro células de energia verdes."
-
-#. type: Bullet: '3)'
-#: ../help/soluce.E.txt:6
-#, no-wrap
-msgid ""
-"Repeat 1) but click on the second button: bot factory>."
-msgstr ""
-"Repita 1) mas clique no segundo botão: fábrica de robôs>."
-
-#. type: Plain text
-#: ../help/soluce.E.txt:8
-#, no-wrap
-msgid "As soon as both buildings are completed, the mission is at an end."
-msgstr "Assim que os dois edifícios estiverem concluídos, a missão termina."
-
diff --git a/levels/missions/chapter001/level002/po/pt.po b/levels/missions/chapter001/level002/po/pt.po
new file mode 100644
index 00000000..68bb1c76
--- /dev/null
+++ b/levels/missions/chapter001/level002/po/pt.po
@@ -0,0 +1,125 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# José Robson Mariano Alves , 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: colobot-data 0.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: DATE\n"
+"PO-Revision-Date: 2018-04-18 11:33-0300\n"
+"Last-Translator: José Robson Mariano Alves \n"
+"Language-Team: Portuguese \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: Title-text
+#: ../scene.txt:1
+#, no-wrap
+msgid "Building"
+msgstr "Construção"
+
+#. type: Resume-text
+#: ../scene.txt:2
+#, no-wrap
+msgid "Learn how to construct buildings."
+msgstr "Aprenda a construir edifícios."
+
+#. type: \b; header
+#: ../help/help.E.txt:1
+#, no-wrap
+msgid "From Mission Control"
+msgstr "Do Centro de Controle de Missões"
+
+#. type: Plain text
+#: ../help/help.E.txt:2
+#, no-wrap
+msgid "This is your second drill. You should now familiarize yourself with the handling of basic equipment. This could turn out to be your best ally during the course of this expedition."
+msgstr "Esta é sua segunda missão. Você deve agora se familiarizar com o manuseio de equipamentos básicos. Isso pode se tornar seu melhor aliado durante o curso desta expedição."
+
+#. type: Plain text
+#: ../help/help.E.txt:4
+#, no-wrap
+msgid "The construction of buildings and the manufacturing of bots all require the use of titanium. Titanium is a mineral found in most solar systems in the universe."
+msgstr "A construção de edifícios e a fabricação de robôs requerem o uso de titânio. O titânio é um mineral encontrado na maioria dos sistemas solares do universo."
+
+#. type: \b; header
+#: ../help/help.E.txt:6
+#, no-wrap
+msgid "Procedure"
+msgstr "Procedimento"
+
+#. type: Bullet: '1)'
+#: ../help/help.E.txt:7
+#, no-wrap
+msgid "Position yourself close to the first titanium cube."
+msgstr "Posicione-se perto do primeiro cubo de titânio."
+
+#. type: Bullet: '2)'
+#: ../help/help.E.txt:8
+#, no-wrap
+msgid "Build a research center . Note that only you can accomplish the task of building; no bot can be substituted."
+msgstr "Construa um centro de pesquisas. Note que apenas você pode realizar a tarefa de construir; nenhum robô pode ser substituído."
+
+#. type: Bullet: '3)'
+#: ../help/help.E.txt:9
+#, no-wrap
+msgid "With a second titanium cube, build a bot factory ."
+msgstr "Com um segundo cubo de titânio, construa uma fábrica de robôs ."
+
+#. type: Plain text
+#: ../help/help.E.txt:11
+#, no-wrap
+msgid " allows you to review these instructions at all times on your personal SatCom ."
+msgstr " permite-lhe rever estas instruções a qualquer momento no seu SatCom pessoal ."
+
+#. type: \t; header
+#: ../help/help.E.txt:13 ../help/soluce.E.txt:10
+#, no-wrap
+msgid "See also"
+msgstr "Veja também"
+
+#. type: Plain text
+#: ../help/help.E.txt:14 ../help/soluce.E.txt:11
+#, no-wrap
+msgid "Controls"
+msgstr "Controles."
+
+#. type: \b; header
+#: ../help/soluce.E.txt:1
+#, no-wrap
+msgid "Walkthrough"
+msgstr "Passo a passo"
+
+#. type: Plain text
+#: ../help/soluce.E.txt:2
+#, no-wrap
+msgid "Walk down the street that runs beside Mission Control. You will find a titanium cube on the left hand side of the road, right after the grabber bot."
+msgstr "Desça a rua que corre ao lado do Centro de Controle de Missões. Você encontrará um cubo de titânio no lado esquerdo da estrada, logo após o robô agarrador."
+
+#. type: Bullet: '1)'
+#: ../help/soluce.E.txt:4
+#, no-wrap
+msgid "Face the cube. Click on the first button at the bottom left of your screen: research center>."
+msgstr "Fique de frente para o cubo. Clique no primeiro botão no canto inferior esquerdo da tela: centro de pesquisa>."
+
+#. type: Bullet: '2)'
+#: ../help/soluce.E.txt:5
+#, no-wrap
+msgid "Walk further down the road. The second cube is on the right past the four green power cells."
+msgstr "Caminhe mais abaixo na estrada. O segundo cubo está à direita, passando pelas quatro células de energia verdes."
+
+#. type: Bullet: '3)'
+#: ../help/soluce.E.txt:6
+#, no-wrap
+msgid "Repeat 1) but click on the second button: bot factory>."
+msgstr "Repita 1) mas clique no segundo botão: fábrica de robôs>."
+
+#. type: Plain text
+#: ../help/soluce.E.txt:8
+#, no-wrap
+msgid "As soon as both buildings are completed, the mission is at an end."
+msgstr "Assim que os dois edifícios estiverem concluídos, a missão termina."
diff --git a/levels/missions/chapter001/level003/po/br.po b/levels/missions/chapter001/level003/po/br.po
deleted file mode 100644
index 7d8f24b0..00000000
--- a/levels/missions/chapter001/level003/po/br.po
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright (C) 2016 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# José Robson Mariano Alves , 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: colobot-data 0.1.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: DATE\n"
-"PO-Revision-Date: 2018-04-18 13:03-0300\n"
-"Last-Translator: José Robson Mariano Alves \n"
-"Language: pt_PT\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 2.0\n"
-"Language-Team: Portuguese \n"
-
-#. type: Title-text
-#: ../scene.txt:1
-#, no-wrap
-msgid "Departure"
-msgstr "Saída"
-
-#. type: Resume-text
-#: ../scene.txt:2
-#, no-wrap
-msgid "Equip your spaceship and get ready for takeoff."
-msgstr "Equipe sua nave espacial e prepare-se para a decolagem."
-
-#. type: \b; header
-#: ../help/help.E.txt:1
-#, no-wrap
-msgid "From Mission Control"
-msgstr "Do Centro de Controle de Missões"
-
-#. type: Plain text
-#: ../help/help.E.txt:2
-#, no-wrap
-msgid ""
-"Your