diff --git a/levels/scene302/po/ru.po b/levels/scene302/po/ru.po
index d70cad6c..3add971c 100644
--- a/levels/scene302/po/ru.po
+++ b/levels/scene302/po/ru.po
@@ -20,35 +20,38 @@ msgstr ""
#: scene302.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene302/scene.txt:1
#, no-wrap
msgid "scene302:Amnesia"
-msgstr ""
+msgstr "scene302:Амнезия"
#. type: Resume-text
#: scene302/scene.txt:2
#, no-wrap
msgid "scene302:Find your spaceship in the Tropica maze."
-msgstr ""
+msgstr "scene302:Найдите свой космический корабль в лабиринте Тропики."
#. type: \b; header
#: scene302-help/mhtropi2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene302-help/mhtropi2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is our hope that this message will reach you."
-msgstr ""
+msgstr "Мы надеемся, что вы получите это сообщение."
#. type: Plain text
#: scene302-help/mhtropi2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A transmission from the observation satellite a few hours ago informed us "
"that you seemed to be wandering in a frighteningly uncoordinated "
@@ -57,10 +60,17 @@ msgid ""
"lake. If this is indeed the case, do not try to retrieve it, do not go into "
"the water! Water on Tropica is highly toxic. You would not survive it."
msgstr ""
+"В передаче с наблюдательного спутника, которую мы получили несколько часов "
+"назад, говорится о том, что вы перемещаетесь каким-то странным образом. Ваш "
+"Сатком прекратил передачу. Ваш реактор, похоже, получил повреждения, а ваш "
+"шлем был обнаружен на дне озера. Если это действительно так, то вы не должны "
+"отправляться за ним. Не входите в воду! Вода на Тропике очень ядовита. Вы "
+"можете не выйти оттуда живым."
#. type: Plain text
#: scene302-help/mhtropi2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Get back to your ship as quickly as possible and try to transmit information "
"about the possible causes of this disaster. The satellite's information "
@@ -68,10 +78,16 @@ msgid ""
"since the first expedition got lost. It appears you have just encountered "
"it."
msgstr ""
+"Как можно быстрее возвращайтесь обратно на корабль и попытайтесь сообщить "
+"нам о вероятных причинах этого несчастья. Мы не можем окончательно "
+"расшифровать информацию, полученную нами со спутника. Мы размышляли о X-"
+"факторе с того момента, как прервалась связь с первой экспедицией. Нам "
+"кажется, что вы их встретили."
#. type: Plain text
#: scene302-help/mhtropi2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"There is nothing we can really do to guide you but don't forget that you're "
"following in the footsteps of a previous expedition. If what happened to you "
@@ -79,117 +95,167 @@ msgid ""
"the way back to their own spaceship which landed in roughly the same area as "
"yours. Use those clues."
msgstr ""
+"Мы ничего не сможем сделать для того, чтобы показывать вам направление, но "
+"не забывайте о том, что вам предстоит идти по следам предыдущей экспедиции. "
+"Если с вами случится то же самое, что и с ними, то существует шанс того, вы "
+"найдете ключи, которые смогут привести вас то же место, где приземлился их "
+"корабль. Используйте эти ключи."
#. type: Plain text
#: scene302-help/mhtropi2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You may also want to consider planting flags. They indicate the direction of "
"the wind so you can use them to orient yourself."
msgstr ""
+"Вы также можете пожелать оставить после себя флаги. Они показывают "
+"направления ветра, поэтому вы можете использовать их для того, чтобы "
+"ориентироваться на местности."
#. type: Plain text
#: scene302-help/mhtropi2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This is all we can say for now...\n"
"Good Luck..."
msgstr ""
+"Это все, что мы можем сказать вам на данный момент...\n"
+"Удачи..."
#. type: Plain text
#: scene302-help/mhtropi2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene302-help/mhtropi2.txt:17 scene302-help/mstropi2.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene302-help/mhtropi2.txt:18 scene302-help/mstropi2.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
#. type: \b; header
#: scene302-help/mstropi2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene302-help/mstropi2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Here is a breakdown of the steps to follow to get back to the spaceship."
msgstr ""
+"Вот схема действий, которые вы должны выполнить, чтобы вернуться на свой "
+"корабль."
#. type: Bullet: '1)'
#: scene302-help/mstropi2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Go round the lake, and head towards the green fluorescent globe. This globe "
"is generated by a gravi-plant that will make flight impossible inside the "
"globe."
msgstr ""
+"Обойдите озеро и направляйтесь в сторону зеленого светящегося шара. Этот шар "
+"создается грави-растением, что делает полет внутри него невозможным."
#. type: Bullet: '2)'
#: scene302-help/mstropi2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Follow the left flank of the valley, passing a pond on your right, and climb "
"the small slope. On top you will be facing some giant ants: run as fast as "
"you can towards another gravi-plant a little further on your right, your "
"wounds will have time to heal later."
msgstr ""
+"Следуйте по левой стороне долины, обходя пруд справа от вас. После этого "
+"взберитесь на небольшой уступ. На вершине вы встретите нескольких гигантских "
+"муравьев: бегите как можно быстрее к другому грави-растению чуть дальше "
+"направо. Потом у вас будет достаточно времени, чтобы залечить свои раны."
#. type: Bullet: '3)'
#: scene302-help/mstropi2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Use your reactor to fly past the lake before the gravi-plant on your right."
msgstr ""
+"Используйте свой реактор чтобы перелететь через озеро перед грави-растением "
+"справа от вас."
#. type: Bullet: '4)'
#: scene302-help/mstropi2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"When you leave the gravi-plant, keep on the left-hand side of the lake, and "
"follow the shore until you reach a peninsula adorned with fern-like plants."
msgstr ""
+"Когда вы покинете грави-растение, держитесь левой стороны озера и идите по "
+"берегу, пока не достигните полуострова, украшенного растениями, похожими на "
+"папоротник."
#. type: Bullet: '5)'
#: scene302-help/mstropi2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Do some island-hopping across the larger lake. Aim for the trees in order to "
"avoid falling into the water on the other side of the island. The last "
"island is 50 cm under water but you can still land on it without having your "
"head submerged. "
msgstr ""
+"Перепрыгните через озеро побольше. Направляйтесь к деревьям, чтобы не упасть "
+"в воду на другой стороне острова. Последний остров расположен на глубине 50 "
+"см. под водой, но вы все еще можете приземлиться на нем, не окунув голову "
+"под воду."
#. type: Bullet: '6)'
#: scene302-help/mstropi2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The path continues to the left. A giant ant is waiting for you there, but it "
"will not do you much harm."
msgstr ""
+"Тропа ведет налево. Там вас поджидает гигантский муравей, но он не сможет "
+"причинить вам особого вреда."
#. type: Bullet: '7)'
#: scene302-help/mstropi2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Give your reactor enough time to cool down, then fly across the small "
"lake. Try to land as high on the right as you can, this is the best way not "
"to fall into the second lake."
msgstr ""
+"Позвольте своему реактору остыть, а после этого перелетите через небольшое "
+"озеро. Попытайтесь приземлиться как можно выше справа, это лучший способ не "
+"упасть во второе озеро."
#. type: Bullet: '8)'
#: scene302-help/mstropi2.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid "Cross the second lake, get aboard the spaceship, and take off."
msgstr ""
+"Переберитесь через второе озеро, садитесь в космический корабль и взлетайте."
diff --git a/levels/scene303/po/ru.po b/levels/scene303/po/ru.po
index 7b01ec47..3f8704dd 100644
--- a/levels/scene303/po/ru.po
+++ b/levels/scene303/po/ru.po
@@ -20,110 +20,140 @@ msgstr ""
#: scene303.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene303/scene.txt:2
#, no-wrap
msgid "scene303:On the Offensive"
-msgstr ""
+msgstr "scene303:В атаку"
#. type: Resume-text
#: scene303/scene.txt:3
#, no-wrap
msgid "scene303:Develop an offensive weapons system and confront the giant ants."
msgstr ""
+"scene303:Разработайте атакующее оружие и нанесите удар гигантским муравьям."
#. type: \b; header
#: scene303-help/mhtropi3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene303-help/mhtropi3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Terminate all hostile life-form.\n"
"Perform the necessary research program in order to "
"develop an offensive weapon system."
msgstr ""
+"Уничтожьте все враждебные формы жизни.\n"
+"Начните необходимые исследовательские программы, "
+"чтобы разработать наступательные системы оружия."
#. type: Plain text
#: scene303-help/mhtropi3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The satellite has detected an energy source, on a spot marked by the "
"previous expedition with a blue flag (blue cross on the mini-map)."
msgstr ""
+"Спутником был замечен источник энергии, который находится в точке, "
+"отмеченной предыдущей экспедицией синим флагом (синий крестик на миникарте)."
#. type: Plain text
#: scene303-help/mhtropi3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Do not forget to take a look at the satellite report before "
"you venture any further in a mission; we suspect that you have not always "
"done this."
msgstr ""
+"Не забывайте просматривать рапорт со спутника перед тем, как "
+"вы будете продвигаться дальше в выполнении своей миссии; мы подозреваем, что "
+"вы не всегда это делаете."
#. type: Plain text
#: scene303-help/mhtropi3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We have improved the recharge program. Please refer to the page ."
msgstr ""
+"Мы улучшили программу подзарядки. Посмотрите пожалуйста страницу ."
#. type: Plain text
#: scene303-help/mhtropi3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A note of warning: bots cannot be submerged. If in doubt, test the water "
"yourself if you plan to radio-control a non-winged bot across - water "
"shouldn't be deeper than knee-level."
msgstr ""
+"Предупреждение: ботов нельзя затоплять. Если вы сомневаетесь, "
+"собственноручно проверьте глубину воды, если вы собираетесь дистанционно "
+"управлять некрылатыми ботами при переправке их по воде - глубина должна быть "
+"максимум до колена."
#. type: Plain text
#: scene303-help/mhtropi3.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene303-help/mhtropi3.txt:15 scene303-help/mstropi3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene303-help/mhtropi3.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene303-help/mitropi3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene303-help/mitropi3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Tropica."
-msgstr ""
+msgstr "Геостацианарная орбита Тропики."
#. type: \s; block (usually verbatim code)
#: scene303-help/mitropi3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene303-help/mitropi3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 29.6C\n"
"\\tab;Atmosphere: helium, oxygen\n"
@@ -131,46 +161,63 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 29.6C\n"
+"\\tab;Атмосфера: гелий, кислород\n"
+"\\tab;Ветер: 1.5 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene303-help/mitropi3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene303-help/mitropi3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: isolated (blue flag)\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: изолированные (синий флаг)\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene303-help/mitropi3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene303-help/mitropi3.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: reusable derelicts"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: многочисленные руины"
#. type: \b; header
#: scene303-help/mltropi3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene303-help/mltropi3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We have improved the recharge program. When it arrives at the power station, the bot does not wait exactly 5 seconds, "
@@ -178,10 +225,15 @@ msgid ""
"the bot is back at the initial position, it displays a message on the "
"screen."
msgstr ""
+"Мы улучшили программу подзарядки. Когда он прибывает на электростанцию, бот не ждет именно 5 секунд, а только до "
+"того момента, когда батареи полностью зарядятся. После "
+"того, как бот вернется в начальную позицию, на экране появляется сообщение."
#. type: \s; block (usually verbatim code)
#: scene303-help/mltropi3.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Recharge2()\n"
"{\n"
@@ -204,59 +256,93 @@ msgid ""
"\tmessage(\"Recharge completed\");\n"
"}"
msgstr ""
+"extern void object::Recharge2()\n"
+"{\n"
+"\tpoint start; // переменная начальной позиции.\n"
+"\tobject item; // информация об электростанции\n"
+"\t\n"
+"\tstart = position; // сохранить начальную позицию\n"
+"\t\n"
+"\titem = radar(PowerStation); // "
+"искать станцию\n"
+"\tgoto(item.position); // идти к электростанции\n"
+"\t\n"
+"\twhile ( energyCell.energyLevel < 1 )\n"
+"\t{\n"
+"\t\twait(1); // ждать окончания зарядки\n"
+"\t}\n"
+"\t\n"
+"\tgoto(start); // вернуться в начальную позицию.\n"
+"\tmessage(\"Зарядка проведена\");\n"
+"}"
#. type: \b; header
#: scene303-help/mltropi3.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene303-help/mltropi3.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene303-help/mltropi3.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: Bullet: 'o'
#: scene303-help/mltropi3.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: \b; header
#: scene303-help/mstropi3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene303-help/mstropi3.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"There is a titanium cube west of your present location, "
"near the blue flag/blue cross on your mini map. You don't need to move the "
"cube, just build a power station right there on the "
"spot."
msgstr ""
+"К западу от того места, где вы сейчас стоите, около синего флага/синего "
+"креста на вашей миникарте, лежит титановый слиток. Вы не "
+"должны передвигать слиток, просто постройте электростанцию прямо там на метке."
#. type: Bullet: '2)'
#: scene303-help/mstropi3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"With the titanium cubes on the spaceship, build a research center and execute the ."
msgstr ""
+"Используя титановые слитки с корабля, постройте "
+"исследовательский центр и начните <исследовательскую программу орудия> <"
+"button 67/>."
#. type: Bullet: '3)'
#: scene303-help/mstropi3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a bot factory and a winged "
"shooter. If this bot is destroyed by enemy fire, you will find some "
@@ -264,25 +350,38 @@ msgid ""
"northwest of the spaceship. You can bring them back with the winged grabber."
msgstr ""
+"Постройте фабрику ботов и крылатого "
+"стрелка. Если этот бот будет уничтожить во время битвы с врагом, вы "
+"найдете некоторое количество дополнительных титановых "
+"слитков в небольшой туманной долине на северо-западе от корабля. Вы "
+"можете притащить их обратно с помощью крылатого "
+"сборщика."
#. type: Bullet: '4)'
#: scene303-help/mstropi3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a radar station in order to see the location of "
"the ants on the mini-map, and let the hunt begin. Be careful not to run out "
"of energy and not to overheat the reactor of a bot while over water. If a "
"bot falls into deep water, it explodes."
msgstr ""
+"Постройте радарную станцию, чтобы увидеть на миникарте "
+"где находятся муравьи. После этого начнется охота. Будьте осторожны и не "
+"допустите, чтобы у бота, когда тот летит над водой, не закончилась энергия "
+"или не перегрелся реактор. Если бот падает в глуюокую воду, он взрывается."
#. type: Bullet: '5)'
#: scene303-help/mstropi3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Once you have killed all the ants, get on board and take off."
-msgstr ""
+msgstr "Когда вы перебьете всех муравьев, садитесь в корабль и улетайте."
#. type: Plain text
#: scene303-help/mstropi3.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene304/po/ru.po b/levels/scene304/po/ru.po
index 8d81e85e..d4d08047 100644
--- a/levels/scene304/po/ru.po
+++ b/levels/scene304/po/ru.po
@@ -20,102 +20,128 @@ msgstr ""
#: scene304.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene304/scene.txt:1
#, no-wrap
msgid "scene304:Shooting Drill #1"
-msgstr ""
+msgstr "scene304:Тренировочная стрельба #1"
#. type: Resume-text
#: scene304/scene.txt:2
#, no-wrap
msgid "scene304:Sharpen your flying and shooting skills."
-msgstr ""
+msgstr "scene304:Отточите свои способности пилота и стрелка."
#. type: \b; header
#: scene304-help/mhtropi4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene304-help/mhtropi4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This is another training course set up by your predecessors and intended "
"this time to test and train the firing capacity of winged "
"bots. Use it to familiarize yourself with the two simultaneous actions "
"of shooting while flying."
msgstr ""
+"Это еще один тренировочный курс, разработанный вашими предшественниками. Он "
+"предназначен для тестирования и тренировки стрельбы крылатых "
+"ботов. Используйте его, чтобы ознакомиться с возможностью стрельбы во "
+"время полета."
#. type: Plain text
#: scene304-help/mhtropi4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Fly quickly through all targets and shoot all 10 explosive devices scattered "
"along the way. Try to complete the drill without touching down. Watch your "
"reactor though: if it overheats, just settle the bot and let it cool off."
msgstr ""
+"Быстро пролетите через все мишени и подорвите все 10 взрывных устройств, "
+"разбросанных по пути. Попытайтесь выполнить это задание не приземляясь. "
+"Наблюдайте за своим реактором: если он перегреется, просто посадите бота и "
+"позвольте ему остыть."
#. type: Plain text
#: scene304-help/mhtropi4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use one hand on the keyboard to pilot the bot, and the other hand on the "
"mouse to aim and to shoot (left button)."
msgstr ""
+"Держите одну руку на клавиатуре, чтобы управлять ботом, а вторую руку на "
+"мыши, чтобы прицеливаться и стрелять (левая кнопка)."
#. type: Plain text
#: scene304-help/mhtropi4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"It may be useful to come back to these drills once in a while if you wish to "
"improve your reflexes further."
msgstr ""
+"Если вы в будущем захотите улучшить свои рефлексы, то можете в любой момент "
+"вернуться к этой тренировке."
#. type: Plain text
#: scene304-help/mhtropi4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene304-help/mhtropi4.txt:12 scene304-help/mstropi4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene304-help/mhtropi4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene304-help/mitropi4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene304-help/mitropi4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Tropica."
-msgstr ""
+msgstr "Геостацианарная орбита Тропики."
#. type: \s; block (usually verbatim code)
#: scene304-help/mitropi4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene304-help/mitropi4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 32.2C\n"
"\\tab;Atmosphere: helium, oxygen\n"
@@ -123,93 +149,123 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 32.2C\n"
+"\\tab;Атмосфера: гелий, кислород\n"
+"\\tab;Ветер: 0.7 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene304-help/mitropi4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene304-help/mitropi4.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \b; header
#: scene304-help/mltropi4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene304-help/mltropi4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene304-help/mltropi4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene304-help/mltropi4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene304-help/mltropi4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene304-help/mltropi4.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene304-help/mltropi4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene304-help/mstropi4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene304-help/mstropi4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If your bot suddenly explodes, this means that you have hit the steel "
"structures too often. Drive more slowly, so your bot will not be damaged "
"even if you bump into an obstacle."
msgstr ""
+"Если ваш бот внезапно взорвется, это означает, что вы слишком часто "
+"ударялись о стальные конструкции. Перемещайте бота медленее, чтобы он не "
+"повредился, даже если вы вдруг столкнетесь с препятствием."
#. type: Plain text
#: scene304-help/mstropi4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If you can not take off after you completed the training, this means that "
"you have not hit all the targets. Go round one more time, and check if any "
"of the explosive devices or crosses in the center of the steel structures "
"are left."
msgstr ""
+"Если вы не можете взлететь после того, как закончили тренировку, это значит, "
+"что вы не пролетели через все мишени. Вернитесь обратно и пролетите через "
+"все мишени, в которых в центре все еще остался крест."
#. type: Plain text
#: scene304-help/mstropi4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene305/po/ru.po b/levels/scene305/po/ru.po
index a9951cd3..714ddb57 100644
--- a/levels/scene305/po/ru.po
+++ b/levels/scene305/po/ru.po
@@ -20,85 +20,105 @@ msgstr ""
#: scene305.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene305/scene.txt:1
#, no-wrap
msgid "scene305:Black Box"
-msgstr ""
+msgstr "scene305:Черный ящик"
#. type: Resume-text
#: scene305/scene.txt:2
#, no-wrap
msgid "scene305:Explore the underwater world looking for another black box."
msgstr ""
+"scene305:Исследуйте подводные пространства в поисках еще одного черного "
+"ящика."
#. type: \b; header
#: scene305-help/mhtropi5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene305-help/mhtropi5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Locate and retrieve another black box from the previous "
"expedition."
msgstr ""
+"Найдите и возьмите еще один черный ящик, оставленный "
+"предыдущей экспедицией."
#. type: Plain text
#: scene305-help/mhtropi5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The observation satellite seems to have spotted it underwater. Water is "
"harmless to you as long as you wear your helmet but keep in mind that you "
"can't carry objects underwater. A subber may come in "
"handy."
msgstr ""
+"Наблюдательный спутник обнаружил его под поверхностью воды. Вода не может "
+"повредить вам, пока у вас на голове есть шлем, но помните о том, что вы не "
+"можете перетаскивать предметы под водой. Поэтому вам может пригодиться саббер."
#. type: Plain text
#: scene305-help/mhtropi5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene305-help/mhtropi5.txt:8 scene305-help/mstropi5.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene305-help/mhtropi5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene305-help/mitropi5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene305-help/mitropi5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Tropica."
-msgstr ""
+msgstr "Геостацианарная орбита Тропики."
#. type: \s; block (usually verbatim code)
#: scene305-help/mitropi5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene305-help/mitropi5.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 29.4C\n"
"\\tab;Atmosphere: helium, oxygen\n"
@@ -106,150 +126,194 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 29.4C\n"
+"\\tab;Атмосфера: гелий, кислород\n"
+"\\tab;Ветер: 0.3 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene305-help/mitropi5.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene305-help/mitropi5.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene305-help/mitropi5.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene305-help/mitropi5.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: titanium ore\n"
"\\tab; - Requires: converter\n"
"\\tab;Detected: scattered derelicts\n"
"\\tab;Detected: black box (underwater)"
msgstr ""
+"\\tab;Замечено: Титановая руда\n"
+"\\tab; - Необходим: преобразователь\n"
+"\\tab;Замечено: разбросанные руины\n"
+"\\tab;Замечено: черный ящик (под водой)"
#. type: \b; header
#: scene305-help/mltropi5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene305-help/mltropi5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene305-help/mltropi5.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene305-help/mltropi5.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene305-help/mltropi5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene305-help/mltropi5.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene305-help/mltropi5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene305-help/mstropi5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene305-help/mstropi5.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Locate the black box on your own. You can try to spot it "
"from above, using your jet engine, or dive into the water."
msgstr ""
+"Найдите сами черный ящик. Вы можете попытаться найти его "
+"сверху, используя свой реактивный двигатель, или нырнуть под воду."
#. type: Bullet: '2)'
#: scene305-help/mstropi5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a converter near the chunks of titanium "
"ore. You'll find them in the vicinity of the spaceship to the east."
msgstr ""
+"Постройте преобразователь около кусков титановой руды. "
+"Вы найдете их недалеко от корабля на востоке."
#. type: Bullet: '3)'
#: scene305-help/mstropi5.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Produce two cubes."
-msgstr ""
+msgstr "Изготовьте несколько слитков."
#. type: Bullet: '4)'
#: scene305-help/mstropi5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a bot factory not too far from the black box."
msgstr ""
+"Постройте фабрику ботов недалеко от черного ящика."
#. type: Bullet: '5)'
#: scene305-help/mstropi5.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Manufacture a subber."
-msgstr ""
+msgstr "Постройте саббер."
#. type: Bullet: '6)'
#: scene305-help/mstropi5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Bring the black box back on board."
-msgstr ""
+msgstr "Доставьте черный ящик на борт."
#. type: Bullet: '7)'
#: scene305-help/mstropi5.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Take off."
-msgstr ""
+msgstr "Взлетайте."
#. type: Plain text
#: scene305-help/mstropi5.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The black box is lying at the bottom of a small lake, northeast of the "
"spaceship."
msgstr ""
+"Черный ящик лежит на дне небольшого озера, на северо-востоке от корабля."
#. type: Plain text
#: scene305-help/mstropi5.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "You can build the bot factory right beside the lake, on the south bank."
msgstr ""
+"Вы можете построить фабрику ботов прямо около озера на его южном берегу."
#. type: Plain text
#: scene305-help/mstropi5.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene4-po/ru.po b/levels/scene4-po/ru.po
index 9b5f41e4..b4295fb2 100644
--- a/levels/scene4-po/ru.po
+++ b/levels/scene4-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: scene4.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene4/scene400.txt:1
#, no-wrap
msgid "scene400:On Crystalium"
-msgstr ""
+msgstr "scene400:На Кристаллиуме"
#. type: Title-resume
#: scene4/scene400.txt:1
#, no-wrap
msgid "scene400:Crystalium"
-msgstr ""
+msgstr "scene400:Кристаллиум"
diff --git a/levels/scene401/po/ru.po b/levels/scene401/po/ru.po
index 661e56b0..bd25c831 100644
--- a/levels/scene401/po/ru.po
+++ b/levels/scene401/po/ru.po
@@ -20,39 +20,46 @@ msgstr ""
#: scene401.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene401/scene.txt:1
#, no-wrap
msgid "scene401:Viruses"
-msgstr ""
+msgstr "scene401:Вирусы"
#. type: Resume-text
#: scene401/scene.txt:2
#, no-wrap
msgid "scene401:A new bug threatens all your systems."
-msgstr ""
+msgstr "scene401:Новые насекомые угрожают всем вашим системам."
#. type: \b; header
#: scene401-help/mhcrys1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene401-help/mhcrys1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a radar on the highest point in the area. Make "
"sure that the radar will work safely even after your departure to other "
"planets. Your research center should be able to "
"provide a solution."
msgstr ""
+"Постройте радар в самой высокой точке этой местности. "
+"Убедитесь в том, что радар будет продолжать нормально работать даже после "
+"того, как вы отправитесь на другие планеты. Ваш "
+"иследовательский центр должен быть в состоянии это обеспечить."
#. type: Plain text
#: scene401-help/mhcrys1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"It is possible that the organisms detected are in fact the worms alluded to by the first expedition. If this is indeed "
@@ -60,10 +67,16 @@ msgid ""
"organisms but could cause the programs of bots and buildings to malfunction "
"through the emission of viruses."
msgstr ""
+"Возможно, что замеченные организмы фактически являются червями, о которых сообщала первая экспедиция. Если все дело "
+"в этом, не стоит слишком волноваться: они почти не опасны для живых "
+"организмов, но обладая способностью выпускать вирусы, оин могут на некоторое "
+"время парализовать работу программ ботов и построек."
#. type: Plain text
#: scene401-help/mhcrys1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Radars not only give you precious information about objects and organisms "
"present in the region, they also relay information to and from the Earth "
@@ -71,58 +84,78 @@ msgid ""
"problems with the radar stations built by the first expedition caused the "
"transmission problems that we are aware of."
msgstr ""
+"Радары не только предоставляют вам точную информацию об объектах и "
+"организмах, присутствующих в этой зоне. С их помощью также происходит обмен "
+"информацией с Землей, когда вы отправляетесь на другие планеты. Существует "
+"высокая вероятность того, что проблемы с радарными станциями, построенными "
+"первой экспедицией, стали причиной возникновения проблем, о которых нас "
+"предупреждали."
#. type: Plain text
#: scene401-help/mhcrys1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to help you with the boring task of gathering the necessary raw "
"material, we have developed a program that instructs the wheeled grabber to look for titanium "
"ore on its own (see the programming page )."
msgstr ""
+"Чтобы помочь вам выполнить скучную задачу по сбору необходимого сырья, мы "
+"разработали программу, которая заставляет колесного "
+"сборщика искать титановую руду (см. страницу с "
+"программой )."
#. type: Plain text
#: scene401-help/mhcrys1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene401-help/mhcrys1.txt:12 scene401-help/mscrys1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene401-help/mhcrys1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene401-help/micrys1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene401-help/micrys1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Crystalium."
-msgstr ""
+msgstr "Геостацианарная орбита Кристаллиума."
#. type: \s; block (usually verbatim code)
#: scene401-help/micrys1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene401-help/micrys1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 5.4C\n"
"\\tab;Atmosphere: nitrogen\n"
@@ -130,55 +163,76 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 5.4C\n"
+"\\tab;Атмосфера: азот\n"
+"\\tab;Ветер: 0.0 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene401-help/micrys1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene401-help/micrys1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: data not available\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: данные недоступны\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene401-help/micrys1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene401-help/micrys1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: unidentified organisms\n"
"\\tab; - Danger: ?"
msgstr ""
+"\\tab;Замечено: неизвестные организмы\n"
+"\\tab; - Опасность: ?"
#. type: \b; header
#: scene401-help/mlcrys1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene401-help/mlcrys1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Below is one of the programs that has been developed by our engineers.\n"
"It instructs a grabber to retrieve the nearest chunk of "
"titanium ore and place it on the converter."
msgstr ""
+"Ниже приведен текст программы, написанной одним из наших инженеров.\n"
+"Она инструктирует сборщика взять ближайший кусок титановой руды и разместить его в преобразователе."
#. type: Plain text
#: scene401-help/mlcrys1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to execute this program, select the program "
"CollectTitanium1 in the list of the programs available on the "
@@ -186,10 +240,15 @@ msgid ""
"symbol . At any moment you can stop the program and take over at "
"the controls with the stop button ."
msgstr ""
+"Чтобы запустить программу, выберите программу CollectTitanium1 "
+"из списка программ, доступных для бота (в левом нижнем углу экрана), и "
+"щелкните на стрелке . Вы можете в любой момент остановить "
+"программу и взять управление в свои руки, нажав кнопку стоп ."
#. type: \s; block (usually verbatim code)
#: scene401-help/mlcrys1.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::CollectTitanium1()\n"
"{\n"
@@ -210,93 +269,131 @@ msgid ""
"\tmove(-2.5); // step back 2.5 m\n"
"}"
msgstr ""
+"extern void object::CollectTitanium1()\n"
+"{\n"
+"\t// 1) Задание переменной.\n"
+"\tobject item; // информация об объектах\n"
+"\t\n"
+"\t// 2) Перейти к тиатновой руде и взять ее.\n"
+"\titem = radar(TitaniumOre);// искать "
+"титановую руду\n"
+"\tgoto(item.position); // перейти к месту\n"
+"\tgrab(); // взять титан\n"
+"\t\n"
+"\t// 3) Перейти к преобразователю и сбросить руду.\n"
+"\titem = radar(Converter); // искать "
+"преобразователь\n"
+"\tgoto(item.position); // перейти к месту\n"
+"\tdrop(); // сбросить титан\n"
+"\tmove(-2.5); // отойти назад на 2.5 м\n"
+"}"
#. type: \b; header
#: scene401-help/mlcrys1.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene401-help/mlcrys1.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene401-help/mlcrys1.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene401-help/mlcrys1.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene401-help/mlcrys1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene401-help/mscrys1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene401-help/mscrys1.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a bot factory."
-msgstr ""
+msgstr "Постройте фабрику ботов."
#. type: Bullet: '2)'
#: scene401-help/mscrys1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Produce a winged grabber."
-msgstr ""
+msgstr "Создайте крылатого сборщика."
#. type: Bullet: '3)'
#: scene401-help/mscrys1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Carry a titanium cube to the highest point."
msgstr ""
+"Отнесите титановый слиток в самую высокую точку "
+"местности."
#. type: Bullet: '4)'
#: scene401-help/mscrys1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a radar on the spot."
-msgstr ""
+msgstr "Постройте радар на метке."
#. type: Bullet: '5)'
#: scene401-help/mscrys1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a research center next to the spaceship."
msgstr ""
+"Постройте исследовательский центр около космического "
+"корабля."
#. type: Bullet: '6)'
#: scene401-help/mscrys1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Initiate the ."
-msgstr ""
+msgstr "Начните <исследовательксую программу защитной башни> ."
#. type: Bullet: '7)'
#: scene401-help/mscrys1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build the defense tower next to the radar."
-msgstr ""
+msgstr "Постройте защитную башню возле радара."
#. type: Bullet: '8)'
#: scene401-help/mscrys1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "When all the worms are destroyed, you can go back to your ship and take off."
msgstr ""
+"Когда все черви будут уничтожены, вы можете вернуться на корабль и взлетать."
#. type: Plain text
#: scene401-help/mscrys1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene402/po/ru.po b/levels/scene402/po/ru.po
index d445cc88..77e76731 100644
--- a/levels/scene402/po/ru.po
+++ b/levels/scene402/po/ru.po
@@ -20,46 +20,56 @@ msgstr ""
#: scene402.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene402/scene.txt:1
#, no-wrap
msgid "scene402:Subterranean strategy"
-msgstr ""
+msgstr "scene402:Подземная стратегия"
#. type: Resume-text
#: scene402/scene.txt:2
#, no-wrap
msgid "scene402:Use the planet's resources to combat the virus-spreading worms."
msgstr ""
+"scene402:Используйте ресурсы планеты чтобы противостоять червям паразитам."
#. type: \b; header
#: scene402-help/mhcrys2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene402-help/mhcrys2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Cleanse the area of all hostile organisms. The way you accomplish this (defense tower or winged shooter) is up "
"to you."
msgstr ""
+"Очистите зону от всех враждебных организмов. То, как вы это будете делать (<"
+"a object|tower>оборонная башня или летающий стрелок)"
+", зависит только от вас."
#. type: Plain text
#: scene402-help/mhcrys2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The radar seems to be perfectly suited to the detection of worms. Keep in "
"mind though that they only appear when they are on the surface."
msgstr ""
+"Похоже, что радар отлично подходит для поиска червяков. Помните о том, что "
+"их можно увидеть только тогда, когда они появляются на поверхности."
#. type: Plain text
#: scene402-help/mhcrys2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We relayed a transmission to your bot factory. It "
"concerns a bot designed to detect raw materials in the subsoil: energy "
@@ -70,48 +80,65 @@ msgid ""
"save some precious time. A derrick is of course "
"required for the extraction."
msgstr ""
+"Мы передали сообщение на вашу фабрику ботов. Оно имеет "
+"отношение к боту, который должен искать полезные ископаемые под поверхностью:"
+" источники энергии и руду. Мы называем его сниффером. "
+"Предварительный анализ говорит о том, что наличие на Кристаллиуме титиновой "
+"руды очень тесно связано с ростом больших синих кристаллов. Если дело именно "
+"в этом, тогда эта информация позволит вам сэкономить много драгоценного "
+"времени. Конечно же, добыча не может начаться без буровой "
+"вышки."
#. type: Plain text
#: scene402-help/mhcrys2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene402-help/mhcrys2.txt:10 scene402-help/mscrys2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene402-help/mhcrys2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene402-help/micrys2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene402-help/micrys2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Crystalium."
-msgstr ""
+msgstr "Геостацианарная орбита Кристаллиума."
#. type: \s; block (usually verbatim code)
#: scene402-help/micrys2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene402-help/micrys2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 3.2C\n"
"\\tab;Atmosphere: nitrogen\n"
@@ -119,64 +146,90 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 3.2C\n"
+"\\tab;Атмосфера: азот\n"
+"\\tab;Ветер: 0.0 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene402-help/micrys2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene402-help/micrys2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: isolated (close to the spaceship)\n"
"\\tab;Titanium ore: scattered\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: изолированные (близко от космического корабля)\n"
+"\\tab;Титановая руда: разбросанные\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene402-help/micrys2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene402-help/micrys2.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: worms\n"
"\\tab; - Danger: no"
msgstr ""
+"\\tab;Замечено: черви\n"
+"\\tab; - Опасность: no"
#. type: \b; header
#: scene402-help/mlcrys2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene402-help/mlcrys2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Below is one of the programs that has been developed by our engineers.\n"
"An upgrade on the previous program: the grabber, on its "
"way back from the converter, makes a stop, if necessary, at the power station to recharge its power cell."
msgstr ""
+"Ниже приведен текст программы, написанной одним из наших инженеров.\n"
+"Улучшение предыдущей программы: сборщик на своем пути от "
+"преобразователя останавливается, если в этом возникает необходимость, около <"
+"a object|station>электростанции, чтобы подзарядить свою энергетическую "
+"батарейку."
#. type: Plain text
#: scene402-help/mlcrys2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This program also works on winged grabbers, if the derrick is on another island than the converter."
msgstr ""
+"Эта программа также работает для крылатых сборщиков, "
+"если деррики расположены не на том же самом острове, "
+"что и преобразователь."
#. type: \s; block (usually verbatim code)
#: scene402-help/mlcrys2.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::CollectTitanium2()\n"
"{\n"
@@ -206,125 +259,179 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::CollectTitanium2()\n"
+"{\n"
+"\t// 1) Задание переменной.\n"
+"\tobject item; // информация об объектах\n"
+"\t\n"
+"\t// 2) Перейти к тиатновой руде и взять ее.\n"
+"\titem = radar(TitaniumOre);// искать "
+"титановую руду\n"
+"\tgoto(item.position); // перейти к месту\n"
+"\tgrab(); // взять титан\n"
+"\t\n"
+"\t// 3) Перейти к преобразователю и сбросить руду.\n"
+"\titem = radar(Converter); // искать "
+"преобразователь\n"
+"\tgoto(item.position); // перейти к месту\n"
+"\tdrop(); // сбросить титан\n"
+"\tmove(-2.5); // отойти назад на 2.5 м\n"
+"\t\t\n"
+"\t// 4) Если энергетическая батарейка пуста, подзарядить.\n"
+"\tif ( energyCell.energyLevel < 0.5 )\n"
+"\t{ // если так:\n"
+"\t\titem = radar(PowerStation); // "
+"искать станцию\n"
+"\t\tgoto(item.position); // перейти туда\n"
+"\t\twait(5); // ждать\n"
+"\t}\n"
+"}"
#. type: \b; header
#: scene402-help/mlcrys2.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene402-help/mlcrys2.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene402-help/mlcrys2.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene402-help/mlcrys2.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene402-help/mlcrys2.txt:37
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene402-help/mlcrys2.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene402-help/mscrys2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene402-help/mscrys2.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a bot factory."
-msgstr ""
+msgstr "Постройте фабрику ботов."
#. type: Bullet: '2)'
#: scene402-help/mscrys2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Produce a winged sniffer."
-msgstr ""
+msgstr "Создайте крылатого сниффера."
#. type: Bullet: '3)'
#: scene402-help/mscrys2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Sniff the ground near the large crystals until you get a red cross."
msgstr ""
+"Исследуйте землю около большого кристалла, пока не обнаружите красный крест."
#. type: Bullet: '4)'
#: scene402-help/mscrys2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a derrick near the red cross."
-msgstr ""
+msgstr "Постройте деррик около красного креста."
#. type: Bullet: '5)'
#: scene402-help/mscrys2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a converter."
-msgstr ""
+msgstr "Постройте преобразователь."
#. type: Plain text
#: scene402-help/mscrys2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The pairing of a derrick and a converter allows for an unlimited supply of "
"titanium. In order to leave this task to a bot, execute "
"the program CollectTitanium2."
msgstr ""
+"Спаривание деррика и преобразователя позволяет получать неограниченное "
+"количество титана. Чтобы поручить это задание боту, "
+"запустите программу CollectTitanium2."
#. type: Bullet: '6)'
#: scene402-help/mscrys2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Sniff the area at the foot of the spaceship. A green "
"cross means you can build a power station on the "
"spot."
msgstr ""
+"Исследуйте местность около космического корабля. Зеленый "
+"крест означает, что на метке вы можете построить электростанцию."
#. type: Bullet: '7)'
#: scene402-help/mscrys2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a radar."
-msgstr ""
+msgstr "Постройте радар."
#. type: Bullet: '8)'
#: scene402-help/mscrys2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Produce a winged shooter."
-msgstr ""
+msgstr "Создайте крылатого стрелка."
#. type: Bullet: '9)'
#: scene402-help/mscrys2.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Eliminate all worms."
-msgstr ""
+msgstr "Уничтожьте всех червей."
#. type: Plain text
#: scene402-help/mscrys2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "10) Go back to your ship and take off."
-msgstr ""
+msgstr "10) Возвращайтесь к своему кораблю и взлетайте."
#. type: Plain text
#: scene402-help/mscrys2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene403/po/ru.po b/levels/scene403/po/ru.po
index a159f000..2e2a49f3 100644
--- a/levels/scene403/po/ru.po
+++ b/levels/scene403/po/ru.po
@@ -20,84 +20,101 @@ msgstr ""
#: scene403.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene403/scene.txt:1
#, no-wrap
msgid "scene403:System Failure"
-msgstr ""
+msgstr "scene403:Системная ошибка"
#. type: Resume-text
#: scene403/scene.txt:2
#, no-wrap
msgid "scene403:Pursue a rogue bot."
-msgstr ""
+msgstr "scene403:Преследуйте бота шалуна."
#. type: \b; header
#: scene403-help/mhcrys3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene403-help/mhcrys3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We have just received this warning from the observation satellite: a rogue "
"bot from the previous expedition has seized the black box from your "
"spaceship."
msgstr ""
+"Мы только что получили предупреждение с наблюдательного спутника: подлый бот "
+"из предыдущей экспедиции захватил с вашего корабля черный ящик."
#. type: Plain text
#: scene403-help/mhcrys3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We are going to investigate this incident further but it is of vital "
"importance that you retrieve your black box at once."
msgstr ""
+"Мы собираемся тщательно расследовать обстоятельства этого происшествия, но "
+"для нас жизненно важно то, что вы должны вернуть этот черный ящик как можно "
+"быстрее."
#. type: Plain text
#: scene403-help/mhcrys3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene403-help/mhcrys3.txt:8 scene403-help/mscrys3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene403-help/mhcrys3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene403-help/micrys3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene403-help/micrys3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Crystalium."
-msgstr ""
+msgstr "Геостацианарная орбита Кристаллиума."
#. type: \s; block (usually verbatim code)
#: scene403-help/micrys3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene403-help/micrys3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 4.3C\n"
"\\tab;Atmosphere: nitrogen\n"
@@ -105,118 +122,154 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 4.3C\n"
+"\\tab;Атмосфера: азот\n"
+"\\tab;Ветер: 0.0 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene403-help/micrys3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene403-help/micrys3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene403-help/micrys3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene403-help/micrys3.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: unknown organisms\n"
"\\tab; - Danger: ?"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: неизвестные организмы\n"
+"\\tab; - Опасность: ?"
#. type: \b; header
#: scene403-help/mlcrys3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene403-help/mlcrys3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene403-help/mlcrys3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene403-help/mlcrys3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene403-help/mlcrys3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene403-help/mlcrys3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene403-help/mlcrys3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene403-help/mlcrys3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene403-help/mlcrys3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene403-help/mscrys3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene403-help/mscrys3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If you lose the bot, it will drop the black box somewhere southwest of your "
"spaceship on a region surrounded by crystals."
msgstr ""
+"Если вы потеряете бота, он должен сбросить черный ящик где-то на юго-западе "
+"от вашего корабля в местности, окруженной кристаллами."
#. type: Plain text
#: scene403-help/mscrys3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In case your power runs out before you can bring the black box back, use the "
"second grabber left on the spaceship."
msgstr ""
+"В случае, если у вас закончится энергия до того, как вы вернете черный ящик "
+"обратно, используйте второго сборщика слева от космического корабля."
#. type: Plain text
#: scene403-help/mscrys3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene404/po/ru.po b/levels/scene404/po/ru.po
index 01b001a2..52c77499 100644
--- a/levels/scene404/po/ru.po
+++ b/levels/scene404/po/ru.po
@@ -20,91 +20,110 @@ msgstr ""
#: scene404.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene404/scene.txt:1
#, no-wrap
msgid "scene404:The Lost Valley"
-msgstr ""
+msgstr "scene404:Заброшенная долина"
#. type: Resume-text
#: scene404/scene.txt:2
#, no-wrap
msgid "scene404:Explore a foggy and perilous valley."
-msgstr ""
+msgstr "scene404:Исследуйте туманную и опасную долину."
#. type: \b; header
#: scene404-help/mhcrys4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene404-help/mhcrys4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This planet has turned out to be a very unlikely candidate for "
"colonization. Better to leave it for good. Retrieve the black "
"box from the previous expedition and head towards the next planet."
msgstr ""
+"Эта планета не является потенциальным кандидатом на колонизацию. Лучше "
+"оставить ее а покое. Найдите черный ящик предыдущей "
+"экспедиции направляйтесь к следующей планете."
#. type: Plain text
#: scene404-help/mhcrys4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The observation satellite has indicated that its present location is at the "
"bottom of a valley. However the pervasive stratum of electromagnetic smog "
"could make all satellite information rather undependable."
msgstr ""
+"Спутник наблюдатель сообщил о том, что он находится на дне долины. Тем не "
+"менее, толстые слои электромагнитного смога могли стать причиной того, что "
+"спутник мог ошибиться."
#. type: Plain text
#: scene404-help/mhcrys4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Stay alert."
-msgstr ""
+msgstr "Будьте предельно внимательны."
#. type: Plain text
#: scene404-help/mhcrys4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene404-help/mhcrys4.txt:10 scene404-help/mscrys4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene404-help/mhcrys4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene404-help/micrys4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene404-help/micrys4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Crystalium."
-msgstr ""
+msgstr "Геостацианарная орбита Кристаллиума."
#. type: \s; block (usually verbatim code)
#: scene404-help/micrys4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene404-help/micrys4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 1.2C\n"
"\\tab;Atmosphere: nitrogen\n"
@@ -112,110 +131,142 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 1.2C\n"
+"\\tab;Атмосфера: азот\n"
+"\\tab;Ветер: 0.0 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene404-help/micrys4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene404-help/micrys4.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene404-help/micrys4.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene404-help/micrys4.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: electromagnetic smog\n"
"\\tab;Detected: reusable derelicts"
msgstr ""
+"\\tab;Замечено: electromagnetic smog\n"
+"\\tab;Замечено: многочисленные руины"
#. type: \b; header
#: scene404-help/mlcrys4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene404-help/mlcrys4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene404-help/mlcrys4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene404-help/mlcrys4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene404-help/mlcrys4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene404-help/mlcrys4.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene404-help/mlcrys4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene404-help/mlcrys4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene404-help/mlcrys4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene404-help/mscrys4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene404-help/mscrys4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Somewhere northeast in the valley itself you should come across a fully "
"functional power station. Northwest you will find "
"several power cells."
msgstr ""
+"Где-то на северо-востоке в какой-то из долин вы должны найти работающую электростанцию. На северо-западе вы найдете несколько батарей."
#. type: Plain text
#: scene404-help/mscrys4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A few shooters in working condition have been abandoned in and around the "
"same area in the valley; use them to shoot all the ants. With the black box that is located behind the derelict spaceship and "
"take off."
msgstr ""
+"В том же месте в долине были покинуты несколько совершенно новых стрелков; с "
+"их помощью вы должны уничтожить всех муравьев. С помощью "
+"крылатого сборщика вы можете найти черный ящик, "
+"расположенный за старым космическим кораблем. После этого вы можете взлетать."
#. type: Plain text
#: scene404-help/mscrys4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene5-po/ru.po b/levels/scene5-po/ru.po
index aa36ba0f..5286fd69 100644
--- a/levels/scene5-po/ru.po
+++ b/levels/scene5-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: scene5.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene5/scene500.txt:1
#, no-wrap
msgid "scene500:On Saari"
-msgstr ""
+msgstr "scene500:На Саари"
#. type: Title-resume
#: scene5/scene500.txt:1
#, no-wrap
msgid "scene500:Saari"
-msgstr ""
+msgstr "scene500:Саари"
diff --git a/levels/scene501/po/ru.po b/levels/scene501/po/ru.po
index 788f8fb8..42fecb02 100644
--- a/levels/scene501/po/ru.po
+++ b/levels/scene501/po/ru.po
@@ -20,76 +20,90 @@ msgstr ""
#: scene501.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene501/scene.txt:1
#, no-wrap
msgid "scene501:Uranium"
-msgstr ""
+msgstr "scene501:Уран"
#. type: Resume-text
#: scene501/scene.txt:2
#, no-wrap
msgid "scene501:An attempt to retrieve some uranium ore."
-msgstr ""
+msgstr "scene501:Попытка получить некоторое количество урановой руды."
#. type: \b; header
#: scene501-help/mhsaari1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene501-help/mhsaari1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The observation satellite has detected a chunk of uranium "
"ore on the summit of the main mountain. You need to bring it back to "
"your spaceship."
msgstr ""
+"Наблюдательный спутник на орбите обнаружил на вершине главной горы залежи урановой руды. Вы должны доставить ее на ваш космический "
+"корабль."
#. type: Plain text
#: scene501-help/mhsaari1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene501-help/mhsaari1.txt:6 scene501-help/mssaari1.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene501-help/mhsaari1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene501-help/misaari1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene501-help/misaari1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Saari."
-msgstr ""
+msgstr "Геостацианарная орбита Саари."
#. type: \s; block (usually verbatim code)
#: scene501-help/misaari1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene501-help/misaari1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 41.3C\n"
"\\tab;Atmosphere: CO2, oxygen, nitrogen\n"
@@ -97,150 +111,196 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: some (mountain summit)"
msgstr ""
+"\\tab;Температура: 41.3C\n"
+"\\tab;Атмосфера: CO2, кислород, азот\n"
+"\\tab;Ветер: 2.3 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: немного (вершины гор)"
#. type: \s; block (usually verbatim code)
#: scene501-help/misaari1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene501-help/misaari1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: everywhere\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: везде\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene501-help/misaari1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene501-help/misaari1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: reusable derelicts \n"
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate"
msgstr ""
+"\\tab;Замечено: многочисленные руины\n"
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая"
#. type: \b; header
#: scene501-help/mlsaari1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene501-help/mlsaari1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene501-help/mlsaari1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene501-help/mlsaari1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene501-help/mlsaari1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene501-help/mlsaari1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene501-help/mlsaari1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene501-help/mlsaari1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene501-help/mlsaari1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene501-help/mssaari1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene501-help/mssaari1.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You'll find a titanium cube left in a smashed up bot "
"factory. Use it to build a power station."
msgstr ""
+"В разрушенной фабрике ботов вы найдете титановый слиток. "
+"С его помощью постройте электростанцию."
#. type: Bullet: '2)'
#: scene501-help/mssaari1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The recycler is designed to convert derelicts back "
"into usable titanium cubes."
msgstr ""
+"Утилизатор разработан для преобразования обломков в "
+"титановые слитки, которые затем можно будет использовать."
#. type: Bullet: '3)'
#: scene501-help/mssaari1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build both a repair center and a radar."
msgstr ""
+"Постройте пункт ремонта и радар."
#. type: Bullet: '4)'
#: scene501-help/mssaari1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Recharge one of the power cells available and power a winged shooter."
msgstr ""
+"Зарядите одну из доступных батарей и оснастите нею крылатого стрелка."
#. type: Bullet: '5)'
#: scene501-help/mssaari1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Eliminate all ants. Note that you should recharge and "
"repair the shooter regularly. Check your levels."
msgstr ""
+"Уничтожьте всех муравьев. Помните, что вы постоянно должны "
+"заряжать и ремонтировать стрелка. Проверяйте его состояние."
#. type: Bullet: '6)'
#: scene501-help/mssaari1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Fully charge the grabber's power cell, then "
"radio-control it to the summit..."
msgstr ""
+"Полностью зарядите батарею сборщика, после этого, "
+"управляя им по радио, отправьте его на вершину..."
#. type: Plain text
#: scene501-help/mssaari1.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" a) Access the first level by ramp on west;\n"
" b) On first level travel east to find second ramp;\n"
@@ -249,15 +309,24 @@ msgid ""
"...then, with the chunk, straight back to the spaceship by the most direct "
"route so as to save the remaining power."
msgstr ""
+" a) Доберитесь до первого уровня по западному склону;\n"
+" b) Пройдите на восток по первому уровню чтобы найти второй склон;\n"
+" c) Пройдите на юг по второму уровню, чтобы найти третий склон;\n"
+" d) На третьем уровне направляйтесь на запад чтобы взобраться на "
+"вершину;\n"
+"...после этого, используя кусок, отправляйтесь к космическому кораблю по "
+"самому короткому пути чтобы сохранить оставшуюся энергию."
#. type: Bullet: '7)'
#: scene501-help/mssaari1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "Climb aboard the ship yourself and take off."
-msgstr ""
+msgstr "Садитесь в корабль и взлетайте."
#. type: Plain text
#: scene501-help/mssaari1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene502/po/ru.po b/levels/scene502/po/ru.po
index 6c86792b..5945fab7 100644
--- a/levels/scene502/po/ru.po
+++ b/levels/scene502/po/ru.po
@@ -20,92 +20,113 @@ msgstr ""
#: scene502.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene502/scene.txt:2
#, no-wrap
msgid "scene502:Invasion"
-msgstr ""
+msgstr "scene502:Вторжение"
#. type: Resume-text
#: scene502/scene.txt:3
#, no-wrap
msgid "scene502:Hold out against a giant ant invasion."
-msgstr ""
+msgstr "scene502:Отбейте атаку гигантских муравьев."
#. type: \b; header
#: scene502-help/mhsaari2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene502-help/mhsaari2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Eliminate all hostile presence from the region."
-msgstr ""
+msgstr "Уничтожьте в этом регионе все враждебно настроенные существа."
#. type: Plain text
#: scene502-help/mhsaari2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Your current situation is of utmost concern to us. The satellite has "
"detected an extremely strong enemy presence approaching your spaceship from "
"all directions. Use your best judgment and the quickest, most efficient "
"defense: either towers or shooters."
msgstr ""
+"Нас очень интересует ваше текущее положение. Спутник заметил огромные силы "
+"врага, приближающиеся к вашему кораблю со всех сторон. Действуйте так, как "
+"следует действовать в подобных ситуациях, используйте самую эффективную "
+"оборону: защитные башни или стрелков."
#. type: Plain text
#: scene502-help/mhsaari2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to increase your survival chances, we have developed a program that "
"will protect your west flank if you execute it on your wheeled shooter; see the program page ."
msgstr ""
+"Чтобы увеличить ваши шансы на выживание, мы разработали программу, которая "
+"будет защищать ваш западный фланг, если вы запустите ее на своем колесном стрелке; просмотрите страницу программы ."
#. type: Plain text
#: scene502-help/mhsaari2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene502-help/mhsaari2.txt:10 scene502-help/mssaari2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene502-help/mhsaari2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene502-help/misaari2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene502-help/misaari2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Saari."
-msgstr ""
+msgstr "Геостацианарная орбита Саари."
#. type: \s; block (usually verbatim code)
#: scene502-help/misaari2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene502-help/misaari2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 38.4C\n"
"\\tab;Atmosphere: CO2, oxygen, nitrogen\n"
@@ -113,54 +134,74 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 38.4C\n"
+"\\tab;Атмосфера: CO2, кислород, азот\n"
+"\\tab;Ветер: 1.4 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene502-help/misaari2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene502-help/misaari2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: everywhere\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: везде\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene502-help/misaari2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene502-help/misaari2.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants approaching \n"
"\\tab; - Danger: yes, immediate"
msgstr ""
+"\\tab;Замечено: приближающиеся гигантские муравьи\n"
+"\\tab; - Опасность: есть, прямая"
#. type: \b; header
#: scene502-help/mlsaari2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene502-help/mlsaari2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Execute the program KillAnt1 immediately on your wheeled shooter, it will protect your west flank. Meantime "
"you can elaborate your defense strategy."
msgstr ""
+"Немедленно запустите программу KillAnt1 на вашем колесном стрелке, он будет защищать ваш западный фланг. Тем "
+"временем вы можете детально разработать свою оборонительную стратегию."
#. type: \s; block (usually verbatim code)
#: scene502-help/mlsaari2.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::KillAnt1()\n"
"{\n"
@@ -182,77 +223,115 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::KillAnt1()\n"
+"{\n"
+"\tobject item; // информация об объекте\n"
+"\t\n"
+"\tgoto(-30, 0); // идти на запад\n"
+"\taim(0); // прицелиться прямо\n"
+"\t\n"
+"\twhile ( true ) // повторять всегда:\n"
+"\t{\n"
+"\t\titem = radar(AlienAnt, 0, 360, 0, "
+"40);\n"
+"\t\tif ( item != null ) // замечен муравей ?\n"
+"\t\t{\n"
+"\t\t\tturn(direction(item.position));\n"
+"\t\t\tfire(0.5); // выстрел 0.5 с\n"
+"\t\t}\n"
+"\t\twait(1); // ждать 1 секунду\n"
+"\t}\n"
+"}"
#. type: \b; header
#: scene502-help/mlsaari2.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene502-help/mlsaari2.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene502-help/mlsaari2.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene502-help/mlsaari2.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene502-help/mlsaari2.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene502-help/mlsaari2.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene502-help/mlsaari2.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene502-help/mssaari2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene502-help/mssaari2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Execute immediately the program KillAnt1 on the wheeled shooter; it will take care of the first wave of "
"attack coming from west."
msgstr ""
+"Немедленно запустите программу KillAnt1 на "
+"колесном стрелке; он будет отвечать за отражение первой атаки, которая "
+"надвигается с запада."
#. type: Plain text
#: scene502-help/mssaari2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Then build two defense towers one in the north of the spaceship, the other one in the south (you have to do this "
"VERY quickly). While you are building, use the grabber to get a power cell."
msgstr ""
+"После этого постройте две защитные башни, одну на севере "
+"от космического корабля, а другую на юге (вы должны "
+"сделать это очень быстро). Пока вы занимаетесь "
+"постройкой, используйте сборщика чтобы получить батарею."
#. type: Plain text
#: scene502-help/mssaari2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As soon as the successive waves of attack, made up of about fifteen ants, are gone, you have time to take care of the ants that "
@@ -261,9 +340,17 @@ msgid ""
"object|station>power station and a winged shooter in "
"order to get rid of them..."
msgstr ""
+"После того, как будут отражены атаки, в которых примет участие более "
+"пятнадцати муравьев, у вас появится время чтобы "
+"разобраться с теми муравьями, которые не принимали участие в атаке. "
+"Постройте радар чтобы их обнаружить. Постройте также преобразователь, фабрику ботов, электростанцию и крылатого стрелка, "
+"чтобы избавиться от них..."
#. type: Plain text
#: scene502-help/mssaari2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene503/po/ru.po b/levels/scene503/po/ru.po
index 3eedbe48..84b207bc 100644
--- a/levels/scene503/po/ru.po
+++ b/levels/scene503/po/ru.po
@@ -20,86 +20,105 @@ msgstr ""
#: scene503.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene503/scene.txt:1
#, no-wrap
msgid "scene503:Disarmed"
-msgstr ""
+msgstr "scene503:Безоружен"
#. type: Resume-text
#: scene503/scene.txt:2
#, no-wrap
msgid "scene503:Figure out a stratagem."
-msgstr ""
+msgstr "scene503:Постигните стратегию."
#. type: \b; header
#: scene503-help/mhsaari3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene503-help/mhsaari3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Your satellite has located the remains of the previous expedition. You "
"should come across a black box not too far from there. It "
"will give you the coordinates of your next destination."
msgstr ""
+"Ваш спутник обнаружил остатки предыдущей экспедиции. Вы должны наткнуться на "
+"черный ящик, который должен быть недалеко от этого места. "
+"Так вы узнаете координаты места, куда вы должны после этого отправиться."
#. type: Plain text
#: scene503-help/mhsaari3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Exterminate the few remaining ants. We've been notified that your neutron "
"gun is currently out of order so you will not be able to build new "
"bots. We're convinced that you're resourceful enough at this point to come "
"up with a solution."
msgstr ""
+"Уничтожьте несколько оставшихся муравьев. Мы заметили, что ваша нейтронная "
+"пушка в данный момент не работает, поэтому вы будете не в состоянии "
+"создавать новых ботов. Мы убеждены в том, что вы достаточно изобретательны и "
+"сможете найти выход из создавшегося положения."
#. type: Plain text
#: scene503-help/mhsaari3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene503-help/mhsaari3.txt:8 scene503-help/mssaari3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene503-help/mhsaari3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene503-help/misaari3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene503-help/misaari3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Saari."
-msgstr ""
+msgstr "Геостацианарная орбита Саари."
#. type: \s; block (usually verbatim code)
#: scene503-help/misaari3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene503-help/misaari3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 44.3C\n"
"\\tab;Atmosphere: CO2, oxygen, nitrogen\n"
@@ -107,130 +126,168 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 44.3C\n"
+"\\tab;Атмосфера: CO2, кислород, азот\n"
+"\\tab;Ветер: 2.3 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene503-help/misaari3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene503-help/misaari3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene503-help/misaari3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene503-help/misaari3.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: reusable derelicts \n"
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: ?"
msgstr ""
+"\\tab;Замечено: многочисленные руины\n"
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: ?"
#. type: \b; header
#: scene503-help/mlsaari3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene503-help/mlsaari3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene503-help/mlsaari3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene503-help/mlsaari3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene503-help/mlsaari3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene503-help/mlsaari3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene503-help/mlsaari3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene503-help/mlsaari3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene503-help/mlsaari3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene503-help/mlsaari3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene503-help/mssaari3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene503-help/mssaari3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "You should build a radar first."
-msgstr ""
+msgstr "Сначала вы должны построить радар."
#. type: Plain text
#: scene503-help/mssaari3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The ants appear to be running away from you. Try to circle "
"around each one of them until they find themselves trapped between you and a "
"mine. They'll opt for the mine and blow themselves up."
msgstr ""
+"Похоже, что муравьи убегают от вас. Попытайтесь обойти "
+"каждого из них пока они не окажутся в ловушке между вами и миной. Они предпочтут мину и подорвутся."
#. type: Plain text
#: scene503-help/mssaari3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Then bring the black box aboard your ship. It is next to "
"the derelict spaceship."
msgstr ""
+"После этого доставьте на борт своего корабля черный ящик. "
+"Он находится около обломков космического корабля."
#. type: Plain text
#: scene503-help/mssaari3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene6-po/ru.po b/levels/scene6-po/ru.po
index 6daaecdb..a2f66311 100644
--- a/levels/scene6-po/ru.po
+++ b/levels/scene6-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: scene6.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene6/scene600.txt:1
#, no-wrap
msgid "scene600:On Volcano"
-msgstr ""
+msgstr "scene600:На Вулкане"
#. type: Title-resume
#: scene6/scene600.txt:1
#, no-wrap
msgid "scene600:Volcano"
-msgstr ""
+msgstr "scene600:Вулкан"
diff --git a/levels/scene601/po/ru.po b/levels/scene601/po/ru.po
index 3e1478ec..56584063 100644
--- a/levels/scene601/po/ru.po
+++ b/levels/scene601/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: scene601.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene601/scene.txt:1
#, no-wrap
msgid "scene601:Transport"
-msgstr ""
+msgstr "scene601:Транспорт"
#. type: Resume-text
#: scene601/scene.txt:2
@@ -35,88 +35,114 @@ msgid ""
"scene601:Develop your nuclear technology in order to increase your operating "
"range."
msgstr ""
+"scene601:Развивайте свою ядерную технологию чтобы увеличить свои возможности."
#. type: \b; header
#: scene601-help/mhvolca1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene601-help/mhvolca1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You need to retrieve an explosive device that has been "
"spotted in a deep valley next to a lake of boiling lava."
msgstr ""
+"Вы должны взять взрывное устройство, обнаруженное в "
+"глубокой долине сразу за озером кипящей лавы."
#. type: Plain text
#: scene601-help/mhvolca1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Because of the high temperatures, reactors no longer function, i.e. flying "
"is impossible. It is a long way there and you should equip your bots with nuclear power cells. Nuclear power cells are manufactured "
"from uranium ore."
msgstr ""
+"Из-за высокой температуры реакторы больше не работают, то есть лететь вы не "
+"сможете. Дорога туда далекая, поэтому вы должны оснастить своих ботов атомными энергетическими батарейками. Атомные "
+"энергетические батарейки изготавливаются из урановой "
+"руды."
#. type: Plain text
#: scene601-help/mhvolca1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A more efficient program for the gathering of raw materials is attached to "
"this message."
msgstr ""
+"Вместе с этим сообщением вы получаете более эффективную программу сбора "
+"сырья."
#. type: Plain text
#: scene601-help/mhvolca1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A note of warning: the explosive device is extremely volatile. Use extreme "
"caution."
msgstr ""
+"Внимание: взрывное устройство очень неустойчиво. Будьте предельно "
+"внимательны."
#. type: Plain text
#: scene601-help/mhvolca1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene601-help/mhvolca1.txt:12 scene601-help/msvolca1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene601-help/mhvolca1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene601-help/mivolca1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene601-help/mivolca1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Volcano."
-msgstr ""
+msgstr "Геостацианарная орбита Вулкана."
#. type: \s; block (usually verbatim code)
#: scene601-help/mivolca1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene601-help/mivolca1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 84.6C\n"
"\\tab;Atmosphere: CO2, SO2, HCN, HS, CH4, NH3\n"
@@ -124,46 +150,63 @@ msgid ""
"\\tab;Titanium ore: everywhere\n"
"\\tab;Uranium ore: some"
msgstr ""
+"\\tab;Температура: 84.6C\n"
+"\\tab;Атмосфера: CO2, SO2, HCN, HS, CH4, NH3\n"
+"\\tab;Ветер: 2.2 м/с\n"
+"\\tab;Титановая руда: везде\n"
+"\\tab;Урановая руда: немного"
#. type: \s; block (usually verbatim code)
#: scene601-help/mivolca1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene601-help/mivolca1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: everywhere\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: везде\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene601-help/mivolca1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene601-help/mivolca1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: reusable derelicts \n"
"\\tab;Detected: unknown organisms\n"
"\\tab; - Danger: ?"
msgstr ""
+"\\tab;Замечено: многочисленные руины\n"
+"\\tab;Замечено: неизвестные организмы\n"
+"\\tab; - Опасность: ?"
#. type: \b; header
#: scene601-help/mlvolca1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene601-help/mlvolca1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As you will need lots of titanium for this mission, we have made the program "
"CollectTitanium still more efficient. It gathers a whole series "
@@ -171,10 +214,16 @@ msgid ""
"also recharges itself at the power station if "
"necessary."
msgstr ""
+"Так как вам в этой миссии будет необходимо много титана, мы написали очень "
+"эффективную программу CollectTitanium. Она одновременно "
+"собирает все титановые слитки на свободной поверхности, поэтому вы можете "
+"позволить ей самой выполнить всю работу. Она также сама себя подзаряжает у <"
+"a object|station>электростанции, если в этом возникает необходимость."
#. type: \s; block (usually verbatim code)
#: scene601-help/mlvolca1.txt:52
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::CollectTitanium3()\n"
"{\n"
@@ -229,113 +278,195 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::CollectTitanium3()\n"
+"{\n"
+"\t// 1) Задание переменной.\n"
+"\tobject item; // информация об объектах\n"
+"\t\n"
+"\twhile (true) // повторять всегда\n"
+"\t{\n"
+"\t\t\n"
+"\t\t// 2) Перейти к титановой руде и взять ее.\n"
+"\t\titem = radar(TitaniumOre);// "
+"искать титан\n"
+"\t\tgoto(item.position); // перейти к позиции\n"
+"\t\tgrab(); // взять титан\n"
+"\t\t\n"
+"\t\t// 3) Перейти к преобразователю и сбросить его.\n"
+"\t\titem = radar(Converter); // "
+"искать преобразователь\n"
+"\t\tgoto(item.position); // перейти к позиции\n"
+"\t\tdrop(); // сбросить титан\n"
+"\t\tmove(-2.5); // отойти назад на 2,5 метра\n"
+"\t\t\n"
+"\t\t// 4) Подождать пока титан будет преобразован и забрать его\n"
+"\t\tdo\n"
+"\t\t{\n"
+"\t\t\twait(1); // ждать слиток\n"
+"\t\t\titem = radar(Titanium, 0, 45, "
+"0, 5);\n"
+"\t\t}\n"
+"\t\twhile ( item == null );\n"
+"\t\tgoto(item.position);\n"
+"\t\tgrab(); // взять его\n"
+"\t\t\n"
+"\t\t// 5) Drop on a free space\n"
+"\t\tgoto(space(position)); // выйти на "
+"свободное место\n"
+"\t\tdrop(); // сбросить титан\n"
+"\t\t\n"
+"\t\t// 6) Если батарея разряжена, зарядить ее.\n"
+"\t\tif ( energyCell.energyLevel < 0.5 )\n"
+"\t\t{ // if so:\n"
+"\t\t\titem = radar(PowerStation);\n"
+"\t\t\tif ( item != null ) // станция найдена ?\n"
+"\t\t\t{\n"
+"\t\t\t\tgoto(item.position); // идти туда\n"
+"\t\t\t\twhile ( energyCell.energyLevel < 1 )\n"
+"\t\t\t\t{ // пока идет зарядка:\n"
+"\t\t\t\t\twait(1); // ждать\n"
+"\t\t\t\t}\n"
+"\t\t\t}\n"
+"\t\t}\n"
+"\t}\n"
+"}"
#. type: \b; header
#: scene601-help/mlvolca1.txt:53
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene601-help/mlvolca1.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene601-help/mlvolca1.txt:56
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene601-help/mlvolca1.txt:57
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene601-help/mlvolca1.txt:58
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene601-help/mlvolca1.txt:59
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene601-help/mlvolca1.txt:60
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene601-help/mlvolca1.txt:61
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene601-help/msvolca1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene601-help/msvolca1.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Start by recharging a regular power cell and power the "
"research center. Use it to research the technology "
"for the building of a nuclear plant ."
msgstr ""
+"Начните с зарядки обычной батареи и запустите исследовательский центр. С его помощью разработайте "
+"технологию создания ядерный завода ."
#. type: Bullet: '2)'
#: scene601-help/msvolca1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Produce a wheeled grabber."
-msgstr ""
+msgstr "Создайте колесного сборщика."
#. type: Bullet: '3)'
#: scene601-help/msvolca1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Find some uranium ore northwest of your position. The "
"nuclear plant will then transform it into nuclear power "
"cells of a longer duration."
msgstr ""
+"На северо-западе от того места, где вы стоите, поищите "
+"урановую руду. После этого ядерный завод превратит ее в "
+"атомную батарею, которая намного мощнее обычной."
#. type: Bullet: '4)'
#: scene601-help/msvolca1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Power a wheeled shooter with one of your new nuclear "
"cells. Dispatch it to kill all intruding spiders along "
"the way."
msgstr ""
+"Оснастите колесного стрелка одной из своих новых атомных "
+"батарей. С его помощью уничтожьте всех пауков, которых "
+"встретите на своем пути."
#. type: Bullet: '5)'
#: scene601-help/msvolca1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A radar is optional but could turn out useful to mark "
"the position of the spiders on your mini map."
msgstr ""
+"Радар необязателен, но он может оказаться полезным для "
+"того, чтобы обозначить место, где есть пауки на вашей миникарте."
#. type: Bullet: '6)'
#: scene601-help/msvolca1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A wheeled grabber should be part of the expedition. It will both clear the "
"way cluttered with titanium ore and bring the explosive device back."
msgstr ""
+"Колесный сборщик должен стать частью экспедиции. Он должен очистить путь, "
+"загроможденный титановой рудой и доставить взрывное устройство обратно."
#. type: Plain text
#: scene601-help/msvolca1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene602/po/ru.po b/levels/scene602/po/ru.po
index 97c2d0f2..f22be86f 100644
--- a/levels/scene602/po/ru.po
+++ b/levels/scene602/po/ru.po
@@ -20,29 +20,31 @@ msgstr ""
#: scene602.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene602/scene.txt:1
#, no-wrap
msgid "scene602:Analysis"
-msgstr ""
+msgstr "scene602:Анализ"
#. type: Resume-text
#: scene602/scene.txt:2
#, no-wrap
msgid "scene602:Recover and analyze some organic matter."
-msgstr ""
+msgstr "scene602:Найдите и проанализируйте органическую материю."
#. type: \b; header
#: scene602-help/mhvolca2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene602-help/mhvolca2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The previous expedition provided us with a piece of information about some "
"organic matter, which seems to be produced by the органической материи, которая, судя по всему, производится "
+"муравьями, и открывает перед вами новые возможности. В "
+"частности, она позволяет вам создавать новые типы мутантных ботов, которые "
+"являются более эффективными, так как для их создания используются различные "
+"части тела насекомых."
#. type: Plain text
#: scene602-help/mhvolca2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Your mission is to experiment with the first practical application of this "
"\"green gold\". Build a legged grabber bot, load it on "
"the spaceship and take off."
msgstr ""
+"Целью вашей миссии является проведение эксперимента с первым вариантом "
+"применения этого \"зеленого золота\". Постройте шагающего "
+"бота сборщика, загрузите его на космический корабль и взлетайте."
#. type: \b; header
#: scene602-help/mhvolca2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Procedure"
-msgstr ""
+msgstr "Процедура"
#. type: Plain text
#: scene602-help/mhvolca2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Take a sample of organic matter from a nest of giant ants. The analysis of "
"it will be performed by an autolab, which will also "
"perform the necessary research to allow a practical application."
msgstr ""
+"Возьмите образец органической материи из гнезда гигантских муравьев. Ее "
+"анализ будет проведен автолабораторией, которая также "
+"проведет необходимые исследования, позволяющие ее практическое применение."
#. type: Plain text
#: scene602-help/mhvolca2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to improve your defense capacity, we have transmitted a program to "
"your grabber bots that takes care of recharging the "
"power cell of a defense tower (see )."
msgstr ""
+"Чтобы улучшить свои оборонительные способности, мы передали вашим ботам сборщикам программу, которая отвечает за подзарядку "
+"энергетических батареек оборонительной башни (см. <"
+"button 53/> )."
#. type: \b; header
#: scene602-help/mhvolca2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Note"
-msgstr ""
+msgstr "Внимание"
#. type: Plain text
#: scene602-help/mhvolca2.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The temperature has dropped significantly, it should therefore be possible "
"to fly."
-msgstr ""
+msgstr "Температура снизилась, поэтому вы снова можете летать."
#. type: Plain text
#: scene602-help/mhvolca2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene602-help/mhvolca2.txt:16 scene602-help/msvolca2.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene602-help/mhvolca2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene602-help/mivolca2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene602-help/mivolca2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Volcano."
-msgstr ""
+msgstr "Геостацианарная орбита Вулкана."
#. type: \s; block (usually verbatim code)
#: scene602-help/mivolca2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene602-help/mivolca2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 53.1C\n"
"\\tab;Atmosphere: CO2, SO2, HCN, HS, CH4, NH3\n"
@@ -146,81 +179,108 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: little"
msgstr ""
+"\\tab;Температура: 53.1C\n"
+"\\tab;Атмосфера: CO2, SO2, HCN, HS, CH4, NH3\n"
+"\\tab;Ветер: 0.3 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: мало"
#. type: \s; block (usually verbatim code)
#: scene602-help/mivolca2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene602-help/mivolca2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: everywhere\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: везде\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene602-help/mivolca2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene602-help/mivolca2.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: yes, not immediate\n"
"\\tab;Detected: unknown flying organisms\n"
"\\tab; - Danger: yes, immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: есть, непрямая\n"
+"\\tab;Замечено: неизвестные летающие организмы\n"
+"\\tab; - Опасность: да, прямая"
#. type: \b; header
#: scene602-help/mlvolca2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene602-help/mlvolca2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We have developed a program that takes care of recharging the power cell of "
"a defense tower:"
msgstr ""
+"Мы написали программу, которая отвечает за подзарядку батарей оборонной башни:"
#. type: Bullet: '1)'
#: scene602-help/mlvolca2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Go to a defense tower."
-msgstr ""
+msgstr "Перейти к оборонной башни."
#. type: Bullet: '2)'
#: scene602-help/mlvolca2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Wait until the power cell is 80% empty."
-msgstr ""
+msgstr "Подождать пока батарея разрядится на 80%."
#. type: Bullet: '3)'
#: scene602-help/mlvolca2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Grab the power cell and recharge it on a power station."
msgstr ""
+"Взять батарея и зарядить ее на электростанции."
#. type: Bullet: '4)'
#: scene602-help/mlvolca2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Put it back on the defense tower."
-msgstr ""
+msgstr "Вернуть ее обратно на оборонную башню."
#. type: Plain text
#: scene602-help/mlvolca2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build the power station as close as possible to the "
"tower in order to reduce the time when the tower has got no power cell. A "
@@ -229,10 +289,17 @@ msgid ""
"arrives when the defense tower has got no energy, only the power cell is "
"destroyed and not the defense tower."
msgstr ""
+"Постройте электростанцию как можно ближе к башне, "
+"чтобы уменьшить время, пока башня стоит без батареи. Неплохо было бы "
+"разместить батарею на земле около башни. На батарею нападет оса, и если "
+"первый выстрел будет неточным, или оса прилетит в тот момент, когда "
+"оборонная башня будет обесточена, уничтожена будет только батарея, а не "
+"оборонная башня."
#. type: \s; block (usually verbatim code)
#: scene602-help/mlvolca2.txt:42
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::ServiceTower1()\n"
"{\n"
@@ -266,70 +333,112 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::ServiceTower1()\n"
+"{\n"
+"\tobject tower; // информация о башне\n"
+"\tobject station; // информация о станции\n"
+"\t\n"
+"\t// 1) перейти к оборонной башне\n"
+"\ttower = radar(DefenseTower); // искать башню\n"
+"\tgoto(tower.position); // идти туда\n"
+"\t\n"
+"\twhile ( true ) // повторять всегда\n"
+"\t{\n"
+"\t\t// 2) подождать пока разрядится батарея\n"
+"\t\twhile ( tower.energyCell.energyLevel > 0.2 )\n"
+"\t\t{\n"
+"\t\t\twait(2);\n"
+"\t\t}\n"
+"\t\tgrab(); // взять батарею\n"
+"\t\t\n"
+"\t\t// 3) отправится к электростанции для подзарядки\n"
+"\t\tstation = radar(PowerStation);\n"
+"\t\tgoto(station.position); // идти туда\n"
+"\t\twhile ( load.energyLevel < 1 )\n"
+"\t\t{\n"
+"\t\t\twait(1); // ждать пока пройдет зарядка\n"
+"\t\t}\n"
+"\t\t\n"
+"\t\t// 4) вернуться к оборонной башне\n"
+"\t\tgoto(tower.position); // идти к башне\n"
+"\t\tdrop(); // бросить батарею\n"
+"\t}\n"
+"}"
#. type: \b; header
#: scene602-help/mlvolca2.txt:43
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene602-help/mlvolca2.txt:45
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:46
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:48
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:49
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:51
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene602-help/mlvolca2.txt:52
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene602-help/msvolca2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene602-help/msvolca2.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Quickly build a defense tower north of your spaceship. "
"After you powered it, execute the program "
@@ -337,65 +446,93 @@ msgid ""
"will recharge the power cell when it is empty. Place another power cell 2 m "
"north of the tower as a first target for the attacking wasps."
msgstr ""
+"Быстро постройте защитную башню на севере от вашего "
+"космического корабля. После того, как вы ее запустите, "
+"запустите программу ServiceTower1 га одном из сборщиков, которая будет заряжать батарею, когда та "
+"разрядится. Разместите еще одну батарею на расстоянии 2 м на север от башни "
+"как первую мишень для атакующих ос."
#. type: Bullet: '2)'
#: scene602-help/msvolca2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a power station close to the defense tower."
-msgstr ""
+msgstr "Постройте возле защитной башни электростанцию."
#. type: Bullet: '3)'
#: scene602-help/msvolca2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a converter south of the spaceship and execute "
"the program CollectTitanium3 on the second grabber in order to produce some titanium."
msgstr ""
+"Постройте преобразователь на юге от космического "
+"корабля и запустите программу CollectTitanium3 на втором сборщике, чтобы выработать некоторое количество титана."
#. type: Bullet: '4)'
#: scene602-help/msvolca2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a bot factory and a winged "
"shooter to eliminate the ants."
msgstr ""
+"Постройте фабрику ботов и крылатого "
+"стрелка, чтобы уничтожить муравьев."
#. type: Bullet: '5)'
#: scene602-help/msvolca2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use a winged grabber to bring back some organic matter from the island in the middle of the lava "
"lake."
msgstr ""
+"С помощью крылатого сборщика добудьте некоторое "
+"количество органической материи на острове посреди "
+"озера лавы."
#. type: Bullet: '6)'
#: scene602-help/msvolca2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build an autolab, drop the organic "
"matter on the platform and click the button in order to "
"develop the blueprints for legged bots."
msgstr ""
+"Постройте автолабораторию, бросьте "
+"органическую материю на платформу и нажмите кнопку , чтобы "
+"разработать чертежи шагающих ботов."
#. type: Bullet: '7)'
#: scene602-help/msvolca2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As soon as the organic matter has been analyzed, produce a legged grabber and bring it aboard the spaceship."
msgstr ""
+"Как только будет проведен анализ органической материи, создайте шагающего сборщика и доставьте его на борт корабля."
#. type: Bullet: '8)'
#: scene602-help/msvolca2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "Take off."
-msgstr ""
+msgstr "Взлетайте."
#. type: Plain text
#: scene602-help/msvolca2.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene603/po/ru.po b/levels/scene603/po/ru.po
index 5a146300..961829d3 100644
--- a/levels/scene603/po/ru.po
+++ b/levels/scene603/po/ru.po
@@ -20,75 +20,90 @@ msgstr ""
#: scene603.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene603/scene.txt:1
#, no-wrap
msgid "scene603:Mountain Warfare"
-msgstr ""
+msgstr "scene603:Война в горах"
#. type: Resume-text
#: scene603/scene.txt:2
#, no-wrap
msgid "scene603:Use legged bots to fight on broken terrain."
msgstr ""
+"scene603:Используйте шагающих ботов чтобы сражаться на пересеченной "
+"местности."
#. type: \b; header
#: scene603-help/mhvolca3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene603-help/mhvolca3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This planet is obviously unsuited to a long-lasting colonization. Retrieve "
"the black box from the previous expedition then take off."
msgstr ""
+"Эта планета не подходит для долгосрочной колонизации. Найдите "
+"черный ящик, оставленный предыдущей экспедицией и улетайте оттуда."
#. type: Plain text
#: scene603-help/mhvolca3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene603-help/mhvolca3.txt:6 scene603-help/msvolca3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene603-help/mhvolca3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene603-help/mivolca3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene603-help/mivolca3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Volcano."
-msgstr ""
+msgstr "Геостацианарная орбита Вулкана."
#. type: \s; block (usually verbatim code)
#: scene603-help/mivolca3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene603-help/mivolca3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 83.5C\n"
"\\tab;Atmosphere: CO2, SO2, HCN, HS, CH4, NH3\n"
@@ -96,150 +111,193 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 83.5C\n"
+"\\tab;Атмосфера: CO2, SO2, HCN, HS, CH4, NH3\n"
+"\\tab;Ветер: 3.4 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene603-help/mivolca3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene603-help/mivolca3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: everywhere\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: везде\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene603-help/mivolca3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene603-help/mivolca3.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая"
#. type: \b; header
#: scene603-help/mlvolca3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene603-help/mlvolca3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene603-help/mlvolca3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene603-help/mlvolca3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene603-help/mlvolca3.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene603-help/msvolca3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene603-help/msvolca3.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Power a legged shooter. There is even a nuclear cell left behind the bot "
"factory."
msgstr ""
+"Включите шагающего стрелка. Вы можете использовать даже <"
+"a object|atomic>атомную батарею, оставленную за "
+"фабрикой ботов."
#. type: Bullet: '2)'
#: scene603-help/msvolca3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Climb the northern cliff and kill a few ants. The best "
"access is from the east."
msgstr ""
+"Подымитесь на северный утес и убейте нескольких муравьев. "
+"Туда лучше всего подниматься с востока."
#. type: Bullet: '3)'
#: scene603-help/msvolca3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Keep going until all ants are out of the way."
-msgstr ""
+msgstr "Продолжайте, пока не будет убит последний муравей."
#. type: Bullet: '4)'
#: scene603-help/msvolca3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Climb the northern cliff with a legged grabber and "
"retrieve the black box that you will find in the derelict "
"bot factory."
msgstr ""
+"На шагающем сборщике поднимитесь на северный утес и "
+"возьмите там черный ящик, который вы найдете в "
+"заброшенной фабрике ботов."
#. type: Plain text
#: scene603-help/msvolca3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene604/po/ru.po b/levels/scene604/po/ru.po
index 9b9dacae..0a341346 100644
--- a/levels/scene604/po/ru.po
+++ b/levels/scene604/po/ru.po
@@ -20,85 +20,103 @@ msgstr ""
#: scene604.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene604/scene.txt:1
#, no-wrap
msgid "scene604:Technological Treasure"
-msgstr ""
+msgstr "scene604:Технологическое сокровище"
#. type: Resume-text
#: scene604/scene.txt:2
#, no-wrap
msgid "scene604:Rediscover a new type of bot."
-msgstr ""
+msgstr "scene604:Откройте для себя новый тип бота."
#. type: \b; header
#: scene604-help/mhvolca4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "An urgent notification from Mission Control"
-msgstr ""
+msgstr "Срочное сообщение центра управления полетом"
#. type: Plain text
#: scene604-help/mhvolca4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As you were about to take off, we received from the satellite the following "
"piece of information: a bot of a type yet unknown has been spotted on "
"Volcano. Try to bring it back onto your spaceship for further study."
msgstr ""
+"Когда вы уже собирались взлететь, мы получили со спутника следующий обрывок "
+"информации: на Вулкане обнаружен неизвестного пока типа бот. Попытайтесь "
+"доставить его к себе на корабль для продолжения дальнейших исследований."
#. type: Plain text
#: scene604-help/mhvolca4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Our engineers on Earth have very recently come up with a formula that should "
"allow reactors to function properly, at least for a short while, despite the "
"high temperatures. The data have been transmitted to you."
msgstr ""
+"Наши инженеры на Земле недавно вывели формулу, которая должна обеспечить "
+"нормальную работу реакторов, по крайней мере, некоторое время, несмотря на "
+"высокую температуру. Данные об этом были вам переданы."
#. type: Plain text
#: scene604-help/mhvolca4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene604-help/mhvolca4.txt:8 scene604-help/msvolca4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene604-help/mhvolca4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene604-help/mivolca4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene604-help/mivolca4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Volcano."
-msgstr ""
+msgstr "Геостацианарная орбита Вулкана."
#. type: \s; block (usually verbatim code)
#: scene604-help/mivolca4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene604-help/mivolca4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 96.7C\n"
"\\tab;Atmosphere: CO2, SO2, HCN, HS, CH4, NH3\n"
@@ -106,136 +124,175 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 96.7C\n"
+"\\tab;Атмосфера: CO2, SO2, HCN, HS, CH4, NH3\n"
+"\\tab;Ветер: 2.8 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene604-help/mivolca4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene604-help/mivolca4.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene604-help/mivolca4.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene604-help/mivolca4.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: bot\n"
"\\tab; - Type: unknown\n"
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate"
msgstr ""
+"\\tab;Замечено: бот\n"
+"\\tab; - Тип: неизвестен\n"
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая"
#. type: \b; header
#: scene604-help/mlvolca4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene604-help/mlvolca4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene604-help/mlvolca4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene604-help/mlvolca4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene604-help/mlvolca4.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene604-help/msvolca4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene604-help/msvolca4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "A gap in the northwest mountain leads the way to a lake of boiling lava."
-msgstr ""
+msgstr "Проход с горах на северо-западе ведет к озеру кипящей лавы."
#. type: Plain text
#: scene604-help/msvolca4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Just hop from one rocky island to the next. Keep checking your reactor, let "
"it cool off completely before taking off again. The mini map will help you "
"to figure out where the closest island is."
msgstr ""
+"Просто перепрыгните с одного скалистого острова на другой. Продолжайте "
+"следить за своим реактором, позвольте ему полностью остыть перед тем, как "
+"снова подняться в воздух. Миникарта поможет вам определить место, где "
+"расположен ближайший остров."
#. type: Plain text
#: scene604-help/msvolca4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In case of an ant attack, don't worry too much. Just take the time for your "
"reactor to cool off, without lingering longer than necessary, and your "
@@ -243,27 +300,42 @@ msgid ""
"from time to time (key Esc, and \"Save\"), so you will not have to start "
"from the beginning in case of a landing in the lava lake."
msgstr ""
+"Если на вас нападут муравьи, не стоит очень сильно беспокоиться. Просто "
+"дайте остыть своему реактору, но не стоит очень долго задерживаться на "
+"месте. Ваш встроенный щит должен защищать вас. Тем не менее, мы советуем вам "
+"время от времени сохраняться (клавиша Esc, и \"Сохранить\"), чтобы вам не "
+"пришлось начинать все с самого начала, если вы вдруг приземлитесь в озеро "
+"лавы."
#. type: Plain text
#: scene604-help/msvolca4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The bot is at the westernmost point on your map though you'll have to take a "
"roundabout route to reach it. A nuclear power cell lies "
"nearby."
msgstr ""
+"Бот расположен в самой западной точке карты, поэтому вы должны будете "
+"проследовать по окольному пути, чтобы добраться до него. Неподалеку лежит атомная батарея."
#. type: Plain text
#: scene604-help/msvolca4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You don't have to radio-control the bot back to the spaceship by the same "
"way you came because its reactor has a greater range than yours. One or two "
"stops may still be needed and watch out for those ants."
msgstr ""
+"Вы не должны управлять по радио ботом, который направляется обратно к "
+"кораблю по тому же пути, так как его реактор имеет большую мощность чем ваш. "
+"Будет необходимо сделать одну или две остановки. И не забывайте о муравьях."
#. type: Plain text
#: scene604-help/msvolca4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene605/po/ru.po b/levels/scene605/po/ru.po
index e6656436..1473b7fe 100644
--- a/levels/scene605/po/ru.po
+++ b/levels/scene605/po/ru.po
@@ -20,91 +20,110 @@ msgstr ""
#: scene605.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene605/scene.txt:1
#, no-wrap
msgid "scene605:Safe Home"
-msgstr ""
+msgstr "scene605:Дома безопасней"
#. type: Resume-text
#: scene605/scene.txt:2
#, no-wrap
msgid "scene605:Get back to your spaceship."
-msgstr ""
+msgstr "scene605:Возвращайтесь на космический корабль."
#. type: \b; header
#: scene605-help/mhvolca5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления полетом"
#. type: Plain text
#: scene605-help/mhvolca5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Congratulations on a fine job as usual."
-msgstr ""
+msgstr "Мы поздравляем вас с успешно выполненной работой."
#. type: Plain text
#: scene605-help/mhvolca5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This new weapon appears to be yet another practical application of what "
"we've come to refer to as \"green gold\", the organic "
"matter produced by the insects. We've named this bot the orga shooter or bot equipped with an orgaball cannon."
msgstr ""
+"Похоже, что это новое оружие может стать еще одним практическим применением "
+"того, что мы называем \"зеленым золотом\", органической "
+"материи, производимой насекомыми. Мы назвали этого бота "
+"орга стрелком, или ботом, оснащенным огранической пушкой."
#. type: Plain text
#: scene605-help/mhvolca5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"It will most certainly come in handy as you make your way back to your spaceship."
msgstr ""
+"Он может вам пригодиться, когда вы будете пробираться к своему космическому кораблю."
#. type: Plain text
#: scene605-help/mhvolca5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene605-help/mhvolca5.txt:10 scene605-help/msvolca5.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene605-help/mhvolca5.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene605-help/mivolca5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene605-help/mivolca5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Volcano."
-msgstr ""
+msgstr "Геостацианарная орбита Вулкана."
#. type: \s; block (usually verbatim code)
#: scene605-help/mivolca5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene605-help/mivolca5.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 96.6C\n"
"\\tab;Atmosphere: CO2, SO2, HCN, HS, CH4, NH3\n"
@@ -112,137 +131,176 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 96.6C\n"
+"\\tab;Атмосфера: CO2, SO2, HCN, HS, CH4, NH3\n"
+"\\tab;Ветер: 2.7 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene605-help/mivolca5.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene605-help/mivolca5.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene605-help/mivolca5.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene605-help/mivolca5.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate\n"
"\\tab;Detected: giant spiders\n"
"\\tab; - Danger: not immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая\n"
+"\\tab;Замечено: гигантские пауки\n"
+"\\tab; - Опасность: непрямая"
#. type: \b; header
#: scene605-help/mlvolca5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene605-help/mlvolca5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene605-help/mlvolca5.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene605-help/mlvolca5.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene605-help/mlvolca5.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene605-help/msvolca5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene605-help/msvolca5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Everything is blowing up around you. You need to leave the old basecamp as "
"quickly as possible. Just retreat the same way you came."
msgstr ""
+"Вокруг вас все взрывается. Вы должны как можно быстрее покинуть старый "
+"лагерь. Отступайте по тому же пути, по которому пришли сюда."
#. type: Plain text
#: scene605-help/msvolca5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Ants are fairly easy to avoid. If you're badly hit, find a "
"quiet spot and wait until your shield has regenerated."
msgstr ""
+"Муравьев очень просто избежать. Если вы тяжело ранены, "
+"отыщите тихое место и подождите, пока восстановится ваш щит."
#. type: Plain text
#: scene605-help/msvolca5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Spiders are a bit tougher but also more stupid. As soon "
"as they see you, they burst their abdomen, dying in the process. If one "
@@ -250,19 +308,31 @@ msgid ""
"yourself of a spider consists in moving dangerously close and, when the "
"spider's abdomen starts inflating, swiftly fly backwards to safety."
msgstr ""
+"Пауки немного опаснее, но также и тупее. Как только они "
+"вас увидят, они разрывают свое брюхо и при этом умирают. Если в вас попадет "
+"один из кусков их плоти, вы тоже умрете. Рискованый но эффективный метод "
+"избавиться от паука заключается в том, что вы должны приблизиться к нему "
+"вплотную и, когда брюхо паука начинает раздуваться, мягко отлететь назад на "
+"безопасное расстояние."
#. type: Plain text
#: scene605-help/msvolca5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As soon as you have reached a quiet island, you can use the winged orga shooter to clear your way of hostile "
"insects. Be careful not to lose it, otherwise the whole mission would be in "
"vain."
msgstr ""
+"Как только вы доберетесь до спокойного острова, вы можете использовать крылатого орга стрелка, чтобы очистить путь от враждебных "
+"насекомых. Будьте осторожны и не потеряйте его, иначе все миссия пойдет "
+"насмарку."
#. type: Plain text
#: scene605-help/msvolca5.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene606/po/ru.po b/levels/scene606/po/ru.po
index 69879d02..d6a660c1 100644
--- a/levels/scene606/po/ru.po
+++ b/levels/scene606/po/ru.po
@@ -20,73 +20,84 @@ msgstr ""
#: scene606.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene606/scene.txt:1
#, no-wrap
msgid "scene606:Time for a sharp exit"
-msgstr ""
+msgstr "scene606:Время уйти не попрощавшись"
#. type: Resume-text
#: scene606/scene.txt:2
#, no-wrap
msgid "scene606:Try to leave the planet alive."
-msgstr ""
+msgstr "scene606:Попытайтесь улететь с планеты живым."
#. type: \b; header
#: scene606-help/mhvolca6.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene606-help/mhvolca6.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "You need to repel a last minute ant attack before taking off."
-msgstr ""
+msgstr "Перед тем, как взлететь, вы должны отразить последнюю атаку муравьев."
#. type: Plain text
#: scene606-help/mhvolca6.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene606-help/mhvolca6.txt:6 scene606-help/msvolca6.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene606-help/mhvolca6.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene606-help/mivolca6.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene606-help/mivolca6.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Volcano."
-msgstr ""
+msgstr "Геостацианарная орбита Вулкана."
#. type: \s; block (usually verbatim code)
#: scene606-help/mivolca6.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene606-help/mivolca6.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 96.6C\n"
"\\tab;Atmosphere: CO2, SO2, HCN, HS, CH4, NH3\n"
@@ -94,145 +105,190 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 96.6C\n"
+"\\tab;Атмосфера: CO2, SO2, HCN, HS, CH4, NH3\n"
+"\\tab;Ветер: 2.7 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene606-help/mivolca6.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene606-help/mivolca6.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene606-help/mivolca6.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene606-help/mivolca6.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая"
#. type: \b; header
#: scene606-help/mlvolca6.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene606-help/mlvolca6.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene606-help/mlvolca6.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene606-help/mlvolca6.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene606-help/mlvolca6.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene606-help/msvolca6.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene606-help/msvolca6.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"It is safer for you to stay on the spaceship. You may get hit a few times but not fatally."
msgstr ""
+"Для вас безопаснее всего будет оставаться на космическом корабле. В вас могут несколько раз попасть, но "
+"это не смертельно."
#. type: Plain text
#: scene606-help/msvolca6.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Put your new winged orga shooter to good use and don't "
"waste any time. First shoot the ants on your right, then turn clockwise "
"around the spaceship, flying at low altitude."
msgstr ""
+"Примените свой новый крылатый орга срелок и не теряйте "
+"больше время. Сначала стреляйте по муравьях справа от вас, после этого "
+"обойдите корабль по часовой стрелке, летя на небольшой высоте."
#. type: Plain text
#: scene606-help/msvolca6.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If you can not do it this way, place the winged orga "
"shooter on a safe place north of the spaceship, then save yourself. You "
"can then take your time to shoot the ants one after another; they can do no "
"harm to the spaceship and the black box."
msgstr ""
+"Если у вас не получается сделать это, отведите крылатого "
+"орга стрелка в безопасное место на севере от космического корабля. После "
+"этого позаботьтесь о собственной безопасности. После этого вы можете сами "
+"заняться отстрелом муравьев; они не могут нанести повреждения космическому "
+"кораблю и черному ящику."
#. type: Plain text
#: scene606-help/msvolca6.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene7-po/ru.po b/levels/scene7-po/ru.po
index c1558adc..8e7adb85 100644
--- a/levels/scene7-po/ru.po
+++ b/levels/scene7-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: scene7.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene7/scene700.txt:1
#, no-wrap
msgid "scene700:On Centaury"
-msgstr ""
+msgstr "scene700:На Центавре"
#. type: Title-resume
#: scene7/scene700.txt:1
#, no-wrap
msgid "scene700:Centaury"
-msgstr ""
+msgstr "scene700:Центавр"
diff --git a/levels/scene701/po/ru.po b/levels/scene701/po/ru.po
index ec29a997..9d626d76 100644
--- a/levels/scene701/po/ru.po
+++ b/levels/scene701/po/ru.po
@@ -20,92 +20,113 @@ msgstr ""
#: scene701.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene701/scene.txt:1
#, no-wrap
msgid "scene701:Cloning"
-msgstr ""
+msgstr "scene701:Клонирование"
#. type: Resume-text
#: scene701/scene.txt:2
#, no-wrap
msgid "scene701:Reproduce the technology to manufacture an orga shooter yourself."
-msgstr ""
+msgstr "scene701:Разработайте технологию для создания орга стрелков."
#. type: \b; header
#: scene701-help/mhcent1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из Центра управления миссии"
#. type: Plain text
#: scene701-help/mhcent1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Find some more organic matter and, given an appropriate "
"research program performed by your autolab, you should be able to manufacture orga shooters yourself."
msgstr ""
+"Отыщите еще немного органической материи и, получив в "
+"свое распоряжение соответствующую исследовательскую программу, проводимую "
+"вашей автолаб, вы должны начать "
+"производство орга-стрелков."
#. type: Plain text
#: scene701-help/mhcent1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Produce a legged orga shooter and bring it back aboard "
"your spaceship."
msgstr ""
+"Изготовьте шагающего орга-стрелка и доставьте его на "
+"свой корабль."
#. type: Plain text
#: scene701-help/mhcent1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Please keep in mind that low energy resources are a major concern on this "
"planet."
msgstr ""
+"Пожалуйста не забывайте о том, что основной проблемой этой планеты является "
+"отсутствие достаточного количества запасов энергии."
#. type: Plain text
#: scene701-help/mhcent1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene701-help/mhcent1.txt:10 scene701-help/mscent1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene701-help/mhcent1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene701-help/micent1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene701-help/micent1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Centaury."
-msgstr ""
+msgstr "Геостацианарная орбита Центавра."
#. type: \s; block (usually verbatim code)
#: scene701-help/micent1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene701-help/micent1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 23.4C\n"
"\\tab;Atmosphere: oxygen, nitrogen, ammonia\n"
@@ -113,177 +134,233 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: some"
msgstr ""
+"\\tab;Температура: 23.4C\n"
+"\\tab;Атмосфера: кислород, азот, аммиак\n"
+"\\tab;Ветер: 1.2 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: немного"
#. type: \s; block (usually verbatim code)
#: scene701-help/micent1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene701-help/micent1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene701-help/micent1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene701-help/micent1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: reusable derelicts"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: многочисленные руины"
#. type: \b; header
#: scene701-help/mlcent1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene701-help/mlcent1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene701-help/mlcent1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene701-help/mlcent1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, созданных для предыдущих миссий:"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene701-help/mlcent1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene701-help/mscent1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene701-help/mscent1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "You'll find some useful items in a small valley northeast.\n"
msgstr ""
+"В небольшой долине на северо-востоке отсюда вы найдете несколько полезных "
+"предметов.\n"
#. type: Bullet: 'o'
#: scene701-help/mscent1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A recycler that will allow you to make your first titanium cube."
msgstr ""
+"Ресайклер, с помощью которого вы сможете изготовить "
+"свой первый титановый слиток."
#. type: Bullet: 'o'
#: scene701-help/mscent1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A legged grabber that is very good at climbing steep "
"slopes."
msgstr ""
+"Шагающий сборщик, с помощью которого очень хорошо "
+"преодолевать препятствия."
#. type: Bullet: 'o'
#: scene701-help/mscent1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "A nearly charged nuclear power cell."
-msgstr ""
+msgstr "Почти заряженную атомную батарею."
#. type: Bullet: '1)'
#: scene701-help/mscent1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Power the legged grabber with the nuclear power cell, and use it to carry a titanium cube to the spaceship. Choose "
"the direct way over the mountains."
msgstr ""
+"Включите шагающий сборщик, используя "
+"атомную батарею, и используйте его, чтобы перетащить "
+"титановый слиток на космический корабль. Выберите "
+"прямой путь над горами."
#. type: Bullet: '2)'
#: scene701-help/mscent1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the titanium to build a converter. Execute the "
"program CollectTitanium3 on the legged "
"grabber and you will have plenty of titanium."
msgstr ""
+"Используя титан постройте преобразователь. Запустите "
+"программу CollectTitanium3 на ходящем "
+"сборщике и у вас сразу появится большое количество титана."
#. type: Bullet: '3)'
#: scene701-help/mscent1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Stop the program, and use the grabber to collect some uranium ore in a second small valley to the east. Again, "
"do not take the way of the valley which is crawling with ants, but take the "
"direct way over the mountains."
msgstr ""
+"Остановите программу, и с помощью сборщика соберите некоторое количество урановой руды во второй небольшой долине на востоке. И "
+"снова, не идите в том направлении по долине, где много муравьев, а "
+"направляйтесь напрямую над горами."
#. type: Bullet: '4)'
#: scene701-help/mscent1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a winged shooter and power it with a nuclear power cell. If you take the pass south-east, you "
@@ -291,26 +368,39 @@ msgid ""
"ball of organic matter to the spaceship."
msgstr ""
+"Создайте крылатого стрелка и оснастите его атомной батарейкой. Если вы отправитесь на юго-восток, то "
+"вскоре окажитесь у муравейника. Убейте всех муравьев, и принесите шар, "
+"состоящий из органической материи на "
+"космический корабль."
#. type: Bullet: '5)'
#: scene701-help/mscent1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build an auto-lab, drop the organic "
"matter on the platform and click the button in order to "
"develop the blueprints for the orgaShooter cannon."
msgstr ""
+"Постройте автолабораторию, бросьте "
+"органическую материю на платформу и нажмите клавишу , "
+"чтобы создать чертеж пушки орга стрелка."
#. type: Bullet: '6)'
#: scene701-help/mscent1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a legged orga shooter, bring it aboard and take "
"off."
msgstr ""
+"Создайте шагающего орга стрелка, возьмите его на борт и "
+"взлетайте."
#. type: Plain text
#: scene701-help/mscent1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene702/po/ru.po b/levels/scene702/po/ru.po
index 70a0a646..39dae5b6 100644
--- a/levels/scene702/po/ru.po
+++ b/levels/scene702/po/ru.po
@@ -20,77 +20,93 @@ msgstr ""
#: scene702.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene702/scene.txt:1
#, no-wrap
msgid "scene702:Target Practice"
-msgstr ""
+msgstr "scene702:Тренировка по прицеливанию"
#. type: Resume-text
#: scene702/scene.txt:2
#, no-wrap
msgid "scene702:Practise shooting with your new orgaball canon."
-msgstr ""
+msgstr "scene702:Потренируйтесь в стрельбе из своей новой органической пушки."
#. type: \b; header
#: scene702-help/mhcent2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из Центра управления миссии"
#. type: Plain text
#: scene702-help/mhcent2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"It is time for you to improve your shooting skills "
"again. In the following drill, hit all the explosive "
"devices but watch out: your orga shooter has very "
"little power left in it, barely enough to complete the drill."
msgstr ""
+"Пришло время для вас еще раз потренироваться в стрельбе. "
+"На предстоящих учениях вы должны были попасть во все "
+"взрывоопасные устройства, но будьте внимательны: у вашего орга-стрелка осталось очень мало энергии, которой едва "
+"хватит, чтобы закончить учения."
#. type: Plain text
#: scene702-help/mhcent2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene702-help/mhcent2.txt:6 scene702-help/mscent2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene702-help/mhcent2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene702-help/micent2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene702-help/micent2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Centaury."
-msgstr ""
+msgstr "Геостацианарная орбита Центавра."
#. type: \s; block (usually verbatim code)
#: scene702-help/micent2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene702-help/micent2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 25.4C\n"
"\\tab;Atmosphere: oxygen, nitrogen, ammonia\n"
@@ -98,114 +114,146 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 25.4C\n"
+"\\tab;Атмосфера: кислород, азот, аммиак\n"
+"\\tab;Ветер: 1.2 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene702-help/micent2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene702-help/micent2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \b; header
#: scene702-help/mlcent2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene702-help/mlcent2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene702-help/mlcent2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene702-help/mlcent2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene702-help/mlcent2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene702-help/mscent2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene702-help/mscent2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Drive the legged orga shooter to each of the pads in "
"front of the targets, and hit all targets that you see with only one burst, "
"moving the mouse during the burst. With 4 bursts, you must be able to hit "
"all the targets."
msgstr ""
+"Подведите шагающего орга стрелка к каждой площадке перед "
+"целью и стреляйте по каждой из целей, которые вы видите, одним зарядом, "
+"перемещая мышь во время выстрела. Произведя 4 выстрела, вы должны попасть во "
+"все цели."
#. type: Plain text
#: scene702-help/mscent2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene703/po/ru.po b/levels/scene703/po/ru.po
index 4b8e2e50..7086a0dd 100644
--- a/levels/scene703/po/ru.po
+++ b/levels/scene703/po/ru.po
@@ -20,85 +20,104 @@ msgstr ""
#: scene703.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene703/scene.txt:1
#, no-wrap
msgid "scene703:Cleansing"
-msgstr ""
+msgstr "scene703:Очистка"
#. type: Resume-text
#: scene703/scene.txt:2
#, no-wrap
msgid "scene703:Find the resources you need to eradicate all life in the region."
msgstr ""
+"scene703:Найдите ресурсы, необходимые вам для уничтожения всего живого в "
+"этом регионе."
#. type: \b; header
#: scene703-help/mhcent3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из Центра управления миссии"
#. type: Plain text
#: scene703-help/mhcent3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a radar on one of the highest accessible spots and "
"make sure that no organism can destroy it after you're "
"gone."
msgstr ""
+"Постройте радар на одной из самых высоких доступных "
+"точек и проследите за тем, чтобы никакому организму не удалось уничтожить ее "
+"после того, как вы уйдете."
#. type: Plain text
#: scene703-help/mhcent3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The destruction of a previous radar set up by the first expedition was "
"probably the cause of a communication breakdown, which led to complete loss "
"of contact."
msgstr ""
+"Причиной уничтожения предыдущего радара, установленного первой экспедицией, "
+"могла быть неполадка в системе связи, что привело к потери объекта."
#. type: Plain text
#: scene703-help/mhcent3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene703-help/mhcent3.txt:8 scene703-help/mscent3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene703-help/mhcent3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene703-help/micent3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene703-help/micent3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Centaury."
-msgstr ""
+msgstr "Геостацианарная орбита Центавра."
#. type: \s; block (usually verbatim code)
#: scene703-help/micent3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene703-help/micent3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 25.4C\n"
"\\tab;Atmosphere: oxygen, nitrogen, ammonia\n"
@@ -106,31 +125,43 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: some"
msgstr ""
+"\\tab;Температура: 25.4C\n"
+"\\tab;Атмосфера: кислород, азот, аммиак\n"
+"\\tab;Ветер: 0.7 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: немного"
#. type: \s; block (usually verbatim code)
#: scene703-help/micent3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene703-help/micent3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene703-help/micent3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene703-help/micent3.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
@@ -138,90 +169,112 @@ msgid ""
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: reusable derelicts"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: пауки\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: многочисленные руины"
#. type: \b; header
#: scene703-help/mlcent3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene703-help/mlcent3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene703-help/mlcent3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene703-help/mlcent3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene703-help/mlcent3.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene703-help/mscent3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene703-help/mscent3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to kill all ants and spiders in this large and mountainous region, "
"you will need a winged orga shooter powered with power cells and even a winged grabber "
"in working condition."
msgstr ""
+"Чтобы уничтожить всех муравьев и пауков в этой обширной горной местности, "
+"вам будет необходим крылатый орга стрелок, оснащенный атомной батарейкой. Направляйтесь на юго-восток по "
+"небольшой долине и вы найдете все, что вам нужно: "
+"титановые слитки, батареи и даже "
+"крылатых сборщиков в рабочем состоянии."
#. type: Bullet: '1)'
#: scene703-help/mscent3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a radar and a winged shooter "
"and power it. Kill the ant that is watching over the uranium ore further north."
msgstr ""
+"Постройте радар и крылатого стрелка "
+"и запустите их. Убейте муравья, охраняющего урановую "
+"руду дальше на севере."
#. type: Bullet: '2)'
#: scene703-help/mscent3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the abandoned nuclear plant on the hill above and "
"the winged grabber to produce several nuclear power cells, and use one to power the winged shooter."
msgstr ""
+"Используйте заброшенную ядерную фабрику на холме и крылатого сборщика, чтобы изготовить несколько атомных батарей. Используйте одну из них, чтобы запустить <"
+"a object|botfj>крылатого стрелка."
#. type: Bullet: '3)'
#: scene703-help/mscent3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Wipe out all insects from the region. There is one isolated ant in the "
"northwest hidden in a hole: an approach from the west thorough the deep "
"valley will make it easier to hit."
msgstr ""
+"Уничтожьте всех насекомых, которых вы встретите в этом регионе. На северо-"
+"западе есть один муравей, который прячется в норе: приближаясь к нему с "
+"запада по глубокой долине, вы легко сможете от него избавиться."
#. type: Plain text
#: scene703-help/mscent3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene704/po/ru.po b/levels/scene704/po/ru.po
index beb538b4..7c210764 100644
--- a/levels/scene704/po/ru.po
+++ b/levels/scene704/po/ru.po
@@ -20,29 +20,33 @@ msgstr ""
#: scene704.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene704/scene.txt:2
#, no-wrap
msgid "scene704:New Policies"
-msgstr ""
+msgstr "scene704:Новая политика"
#. type: Resume-text
#: scene704/scene.txt:3
#, no-wrap
msgid "scene704:Try a more humane method of dealing with insects."
msgstr ""
+"scene704:Примените более гуманный метод, который следует применить в борьбе "
+"с насекомыми."
#. type: \b; header
#: scene704-help/mhcent4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "A Word on New Policies"
-msgstr ""
+msgstr "Мир новой политики"
#. type: Plain text
#: scene704-help/mhcent4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We are sorry to have to bring this to your attention but this seems like a "
"good a time to let you in on a little concern we're having at the "
@@ -51,10 +55,16 @@ msgid ""
"inhabitants\" of the planets you've been visiting. Congress has chosen to "
"demonstrate its sensitivity to the concerns of the general population."
msgstr ""
+"Нам очень неприятно сообщить вам о том, что пришло самое время, чтобы "
+"сообщить вам кое о чем. Общественное мнение очень бурно прореагировало на "
+"ваше систематическое уничтожение \"аборигенов\" планет, которые вы "
+"исследуете. Конгресс также был очен взволнован вашими действиями. Он решил "
+"продемонстрировать свое отношение к вопросу общего населения."
#. type: Plain text
#: scene704-help/mhcent4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We hereby relay their new directives and these directives intimate for you "
"to limit the casualties as much as humanly possible. In other words, do your "
@@ -62,34 +72,49 @@ msgid ""
"should of course in no way find itself jeopardized by this new course of "
"action."
msgstr ""
+"Таким образом, мы передаем вам их новые директивы, в которых говорится о "
+"том, что вы должны постараться сделать так, чтобы число жертв было "
+"минимальным. Другими словами, сделайте все, что в ваших силах, чтобы с этого "
+"времени не причинять вреда формам жизни, которые вам встретятся. Ваша миссия "
+"не должна пострадать из-за этого."
#. type: \b; header
#: scene704-help/mhcent4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из Центра управления миссии"
#. type: Plain text
#: scene704-help/mhcent4.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Your energy resources appear dangerously limited at this time and so is your "
"arsenal but you need to locate and retrieve the previous expedition's black box so you can proceed to the next planet."
msgstr ""
+"Ваши энергетические запасы почти исчерпались, как и ваш арсенал, но вы "
+"должны найти и доставить черный ящик, который должен был "
+"остаться от первой экспедиции, чтобы вы смогли перелететь на другую планету."
#. type: Plain text
#: scene704-help/mhcent4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We received a piece of information from your predecessors, via the "
"observation satellite, regarding a new type of weaponry they have developed "
"precisely for a predicament such as this one."
msgstr ""
+"Мы получили обрывки информации от ваших предшественников с помощью спутника "
+"наблюдения. Они имеют отношение к новому типу оружия, разработанному именно "
+"для такой ситуации, в которую попали вы."
#. type: Plain text
#: scene704-help/mhcent4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This weapon will offer you an opportunity to demonstrate your newfound "
"compassion towards indigenous species for it is not a "
@@ -98,63 +123,84 @@ msgid ""
"temporarily, harmless. If this is indeed the case, you'll need to act "
"quickly before they are given a chance to become hostile to you again."
msgstr ""
+"Это оружие предоставит вам возможность продемонстрировать свое сострадание в "
+"отношении аборигенных видов , так как это не оружие "
+"массового уничтожения. Тем не менее, оно воплотило в себя все достижения "
+"человеческого разума. С его помощью можно на время вывести из строя врага, "
+"оказывая тем самым им же услугу. Но если вы причините им боль, тогда должны "
+"будете действовать очень быстро, иначе у них появится шанс снова стать вашим "
+"врагом."
#. type: \b; header
#: scene704-help/mhcent4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Procedure"
-msgstr ""
+msgstr "Процедура"
#. type: Plain text
#: scene704-help/mhcent4.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Perform the research program and experiment for "
"yourself but don't forget to bring this new weapon back on board. We are "
"very curious to study its workings."
msgstr ""
+"Выполните исследовательскую программу и проведите для "
+"себя эксперимент, но не забывайте вернуть обратно это новое оружие. Нам "
+"очень любопытно узнать о принципах его работы."
#. type: Plain text
#: scene704-help/mhcent4.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene704-help/mhcent4.txt:18 scene704-help/mscent4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene704-help/mhcent4.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene704-help/micent4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene704-help/micent4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Centaury."
-msgstr ""
+msgstr "Геостацианарная орбита Центавра."
#. type: \s; block (usually verbatim code)
#: scene704-help/micent4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene704-help/micent4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 21.3C\n"
"\\tab;Atmosphere: oxygen, nitrogen, ammonia\n"
@@ -162,171 +208,216 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 21.3C\n"
+"\\tab;Атмосфера: кислород, азот, аммиак\n"
+"\\tab;Ветер: 1.9 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene704-help/micent4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene704-help/micent4.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene704-help/micent4.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene704-help/micent4.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: derelicts of no particular use"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: останки, которые нельзя использовать"
#. type: \b; header
#: scene704-help/mlcent4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene704-help/mlcent4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene704-help/mlcent4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene704-help/mlcent4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene704-help/mlcent4.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene704-help/mscent4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene704-help/mscent4.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid "Search the area for titanium."
-msgstr ""
+msgstr "Обыщите местность в поисках титана."
#. type: Bullet: '2)'
#: scene704-help/mscent4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a converter."
-msgstr ""
+msgstr "Постройте преобразователь."
#. type: Bullet: '3)'
#: scene704-help/mscent4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a research center."
-msgstr ""
+msgstr "Постройте исследовательский центр."
#. type: Bullet: '4)'
#: scene704-help/mscent4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Run the ."
msgstr ""
+"Запустите <исследовательскую программу ударного источника> ."
#. type: Bullet: '5)'
#: scene704-help/mscent4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Manufacture a thumper."
-msgstr ""
+msgstr "Создайте ударный источник."
#. type: Bullet: '6)'
#: scene704-help/mscent4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Position the thumper close to the derelict spaceship and \"thump\" the "
"ground."
msgstr ""
+"Разместите ударный источник около покинутого космического корабля и \""
+"ударьте\" по земле."
#. type: Bullet: '7)'
#: scene704-help/mscent4.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Quickly retrieve the black box and bring it back aboard "
"your spaceship."
msgstr ""
+"Быстро заберите черный ящик и доставьте его на борт "
+"вашего космического корабля."
#. type: Bullet: '8)'
#: scene704-help/mscent4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Bring the thumper along and take off."
-msgstr ""
+msgstr "Возьмите ударный источник с собой и взлетайте."
#. type: Plain text
#: scene704-help/mscent4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene705/po/ru.po b/levels/scene705/po/ru.po
index c54e6fce..db88805a 100644
--- a/levels/scene705/po/ru.po
+++ b/levels/scene705/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: scene705.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene705/scene.txt:1
#, no-wrap
msgid "scene705:Self-defense"
-msgstr ""
+msgstr "scene705:Самооборона"
#. type: Resume-text
#: scene705/scene.txt:2
@@ -35,69 +35,86 @@ msgid ""
"scene705:Combine defensive and offensive weapons to deal with a massive "
"attack."
msgstr ""
+"scene705:Совместите защитное и наступательное оружие чтобы отразить "
+"массивную атаку."
#. type: \b; header
#: scene705-help/mhcent5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene705-help/mhcent5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "You're under attack and this is no time for compassion..."
-msgstr ""
+msgstr "На вас напали и сейчас не время проявлять сострадание..."
#. type: Plain text
#: scene705-help/mhcent5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Your new thumper might come in very handy. However, we "
"emphasize that you should not risk a takeoff if there are any ants still "
"alive in the vicinity of the spaceship."
msgstr ""
+"Ваш новый ударник может очень пригодиться. Тем не "
+"менее, мы настаиваем на том, что вы не должны рисковать и взлетать, если "
+"около космического корабля все еще остались живые муравьи."
#. type: Plain text
#: scene705-help/mhcent5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene705-help/mhcent5.txt:8 scene705-help/mscent5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene705-help/mhcent5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene705-help/micent5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene705-help/micent5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Centaury."
-msgstr ""
+msgstr "Геостацианарная орбита Центавра."
#. type: \s; block (usually verbatim code)
#: scene705-help/micent5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene705-help/micent5.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 21.3C\n"
"\\tab;Atmosphere: oxygen, nitrogen, ammonia\n"
@@ -105,146 +122,187 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 21.3C\n"
+"\\tab;Атмосфера: кислород, азот, аммиак\n"
+"\\tab;Ветер: 1.9 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene705-help/micent5.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene705-help/micent5.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene705-help/micent5.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene705-help/micent5.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая"
#. type: \b; header
#: scene705-help/mlcent5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene705-help/mlcent5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene705-help/mlcent5.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene705-help/mlcent5.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene705-help/mlcent5.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene705-help/mscent5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene705-help/mscent5.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Thump the deck of the spaceship. You don't need to move "
"the thumper anywhere."
msgstr ""
+"Оставьте прибор на борту корабля. Вы не должны больше "
+"перемещать ударный источник."
#. type: Bullet: '2)'
#: scene705-help/mscent5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Locate the orga shooter approximately 70 meters to the "
"east."
msgstr ""
+"Найдите орга стрелка, расположенного около 70 метров на "
+"востоке."
#. type: Bullet: '3)'
#: scene705-help/mscent5.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Terminate the ants while they are still on their backs."
msgstr ""
+"Уничтожьте всех муравьев, пока они все еще лежат на своих "
+"спинах."
#. type: Bullet: '4)'
#: scene705-help/mscent5.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Take off."
-msgstr ""
+msgstr "Взлетайте."
#. type: Plain text
#: scene705-help/mscent5.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene8-po/ru.po b/levels/scene8-po/ru.po
index 9227d985..a6e95b8c 100644
--- a/levels/scene8-po/ru.po
+++ b/levels/scene8-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: scene8.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene8/scene800.txt:1
#, no-wrap
msgid "scene800:On Orpheon"
-msgstr ""
+msgstr "scene800:На Орфее"
#. type: Title-resume
#: scene8/scene800.txt:1
#, no-wrap
msgid "scene800:Orpheon"
-msgstr ""
+msgstr "scene800:Орфей"
diff --git a/levels/scene801/po/ru.po b/levels/scene801/po/ru.po
index 61eecb4b..daaba053 100644
--- a/levels/scene801/po/ru.po
+++ b/levels/scene801/po/ru.po
@@ -20,95 +20,114 @@ msgstr ""
#: scene801.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene801/scene.txt:2
#, no-wrap
msgid "scene801:Logistics"
-msgstr ""
+msgstr "scene801:Организация тыла"
#. type: Resume-text
#: scene801/scene.txt:3
#, no-wrap
msgid "scene801:Lay the foundations for a relay station and a refueling station."
msgstr ""
+"scene801:Закладите фундамент ретрансляционной станции и станции дозаправки."
#. type: \b; header
#: scene801-help/mhorph1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene801-help/mhorph1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "It seems obvious enough that this planet will be no haven for humanity. "
-msgstr ""
+msgstr "Похоже стало ясно, что эта планета не станет раем для человечества."
#. type: Plain text
#: scene801-help/mhorph1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a radar to relay future transmissions."
-msgstr ""
+msgstr "Постройте радар, чтобы быть в состоянии обмениваться информацией."
#. type: Plain text
#: scene801-help/mhorph1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Also... we're very sorry to inform you that you may need to exterminate all "
"hostile organisms."
msgstr ""
+"И еще... нам очень жаль, но мы должны сообщить вам о том, что вы должны "
+"будете уничтожить все враждебно настроенные организмы."
#. type: Plain text
#: scene801-help/mhorph1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The first expedition located titanium ore under the "
"surface of Orpheon. The spot is marked with a blue flag."
msgstr ""
+"Первая экспедиция обнаружила титановую руду под "
+"поверхностью Орфея. Это место обозначено синим флагом."
#. type: Plain text
#: scene801-help/mhorph1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene801-help/mhorph1.txt:12 scene801-help/msorph1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene801-help/mhorph1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene801-help/miorph1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene801-help/miorph1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Orpheon."
-msgstr ""
+msgstr "Геостацианарная орбита Орфея."
#. type: \s; block (usually verbatim code)
#: scene801-help/miorph1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene801-help/miorph1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: -72.8C\n"
"\\tab;Atmosphere: none\n"
@@ -116,191 +135,243 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: -72.8C\n"
+"\\tab;Атмосфера: нет\n"
+"\\tab;Ветер: 0.0 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene801-help/miorph1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene801-help/miorph1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: some (blue flag)\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: немного (синий флаг)\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene801-help/miorph1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene801-help/miorph1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: fierce electromagnetic storms"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: мощные электромагнитные бури"
#. type: \b; header
#: scene801-help/mlorph1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene801-help/mlorph1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene801-help/mlorph1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene801-help/mlorph1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene801-help/mlorph1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene801-help/msorph1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Bullet: '1)'
#: scene801-help/msorph1.txt:2
#, no-wrap
+#, fuzzy, no-wrap
msgid "Quickly build a power captor near the blue flag."
msgstr ""
+"Быстро постройте энергетическую ловушку около синего "
+"флага."
#. type: Plain text
#: scene801-help/msorph1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"All subsequent buildings should be erected within the "
"covered by the power captor.\n"
msgstr ""
+"Все последующие здания должны быть построены в пределах "
+"под прикрытием энергетической ловушки.\n"
#. type: Bullet: '2)'
#: scene801-help/msorph1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Carry some empty power cells under the power "
"captor. When lightning strikes, they will be recharged."
msgstr ""
+"Поднесите несколько разряженных батарей под источник "
+"энергии. Когда ударит молния, они будут заряжены."
#. type: Bullet: '3)'
#: scene801-help/msorph1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a derrick."
-msgstr ""
+msgstr "Постройте деррик."
#. type: Bullet: '4)'
#: scene801-help/msorph1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a converter."
-msgstr ""
+msgstr "Постройте преобразователь."
#. type: Bullet: '5)'
#: scene801-help/msorph1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Execute the program CollectTitanium3 in order to produce titanium."
msgstr ""
+"Запустите программу CollectTitanium3 чтобы начать производство <"
+"a object|titan>титана."
#. type: Bullet: '6)'
#: scene801-help/msorph1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a bot factory."
-msgstr ""
+msgstr "Постройте фабрику ботов."
#. type: Bullet: '7)'
#: scene801-help/msorph1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Manufacture a winged orga shooter."
-msgstr ""
+msgstr "Соберите крылатого орга стрелка."
#. type: Bullet: '8)'
#: scene801-help/msorph1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Build a radar."
-msgstr ""
+msgstr "Постройте радар."
#. type: Bullet: '9)'
#: scene801-help/msorph1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Locate and terminate all ants."
-msgstr ""
+msgstr "Найдите и уничтожьте всех муравьев."
#. type: Plain text
#: scene801-help/msorph1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "10) Return to your spaceship and take off."
msgstr ""
+"10) Возвращайтесь на свой космический корабль и взлетайте."
#. type: Plain text
#: scene801-help/msorph1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene802/po/ru.po b/levels/scene802/po/ru.po
index 1704f9db..96bac2e7 100644
--- a/levels/scene802/po/ru.po
+++ b/levels/scene802/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: scene802.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene802/scene.txt:1
#, no-wrap
msgid "scene802:Storm Shelter"
-msgstr ""
+msgstr "scene802:Укрытие от бури"
#. type: Resume-text
#: scene802/scene.txt:2
@@ -35,77 +35,95 @@ msgid ""
"scene802:Retrieve the black box while protecting your bots from electrical "
"storms."
msgstr ""
+"scene802:Найдите черный ящик когда будете защищать своих ботов от "
+"электромагнитной бури."
#. type: \b; header
#: scene802-help/mhorph2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene802-help/mhorph2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Retrieve the black box."
-msgstr ""
+msgstr "Найдите черный ящик."
#. type: Plain text
#: scene802-help/mhorph2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Electromagnetic lightning bolts appear to strike even more frequently now "
"than they did previously. You need to protect your equipment."
-msgstr ""
+msgstr "Молнии теперь будут ударять еще чаще, чем это было раньше."
#. type: Plain text
#: scene802-help/mhorph2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Please note that your spaceship also naturally acts as a lightning "
"conductor, and our engineers assure us that your space suit does not attract "
"lightning."
msgstr ""
+"Примите пожалуйста во внимание тот факт, что ваш космический корабль хорошо "
+"притягивает к себе молнии, а наши инженеры заверили нас, что ваш космический "
+"скафандр не притягивает к себе молнии."
#. type: Plain text
#: scene802-help/mhorph2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene802-help/mhorph2.txt:10 scene802-help/msorph2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene802-help/mhorph2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene802-help/miorph2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene802-help/miorph2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Orpheon."
-msgstr ""
+msgstr "Геостацианарная орбита Орфея."
#. type: \s; block (usually verbatim code)
#: scene802-help/miorph2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene802-help/miorph2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: -64.7C\n"
"\\tab;Atmosphere: none\n"
@@ -113,120 +131,152 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: -64.7C\n"
+"\\tab;Атмосфера: нет\n"
+"\\tab;Ветер: 0.0 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene802-help/miorph2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene802-help/miorph2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene802-help/miorph2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene802-help/miorph2.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: fierce electromagnetic storms"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: мощные электромагнитные бури"
#. type: \b; header
#: scene802-help/mlorph2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene802-help/mlorph2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene802-help/mlorph2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene802-help/mlorph2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene802-help/mlorph2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene802-help/msorph2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene802-help/msorph2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You will find a radar, a power "
"captor, a power cell and a winged "
@@ -235,26 +285,39 @@ msgid ""
"object|bbox>black box in the north next to the remains of the first "
"expedition spaceship."
msgstr ""
+"В долине к югу от космического корабля вы найдете радар, "
+"энергетическую ловушку, батарею и <"
+"a object|botoj>крылатого орга стрелка. Это позволит вам убить муравьев "
+"около космического корабля и отыскать черный ящик к "
+"северу от останков космического корабля первой экспедиции."
#. type: Plain text
#: scene802-help/msorph2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Build a succession of power captors along the natural "
"path offered by the northern mountain peaks. 5 or 6 captors should offer "
"sufficient protection against lightning."
msgstr ""
+"Постройте ряд энергетических ловушек вдоль "
+"естественного пути, образованного горными вершинами на севере. 5 или 6 "
+"ловушек смогут обеспечить надежную защиту от ударов молний."
#. type: Plain text
#: scene802-help/msorph2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Bring the black box back aboard your spaceship and take "
"off."
msgstr ""
+"Доставьте черный ящик на борт вашего космического корабля "
+"и взлетайте."
#. type: Plain text
#: scene802-help/msorph2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene9-po/ru.po b/levels/scene9-po/ru.po
index 7c6cc38f..12a5acb1 100644
--- a/levels/scene9-po/ru.po
+++ b/levels/scene9-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: scene9.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene9/scene900.txt:1
#, no-wrap
msgid "scene900:On Terranova"
-msgstr ""
+msgstr "scene900:На Терранове"
#. type: Title-resume
#: scene9/scene900.txt:1
#, no-wrap
msgid "scene900:Terranova"
-msgstr ""
+msgstr "scene900:Терранова"
diff --git a/levels/scene901/po/ru.po b/levels/scene901/po/ru.po
index 3638b06a..6968f979 100644
--- a/levels/scene901/po/ru.po
+++ b/levels/scene901/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: scene901.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene901/scene.txt:1
#, no-wrap
msgid "scene901:Killer Mushrooms"
-msgstr ""
+msgstr "scene901:Убийца грибов"
#. type: Resume-text
#: scene901/scene.txt:2
@@ -34,17 +34,19 @@ msgstr ""
msgid ""
"scene901:Run the gauntlet of poison-spitting mushrooms and find the first "
"key to the vault."
-msgstr ""
+msgstr "scene901:Пробегите между ядовитыми грибами и найдите ключ от погреба."
#. type: \b; header
#: scene901-help/mhterra1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene901-help/mhterra1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We've just received information that the first expedition designed a brand "
"new weapon to be used on Terranova. It was safely stored away from possible "
@@ -52,18 +54,27 @@ msgid ""
"using four keys. The keys are scattered on or under the "
"planet surface."
msgstr ""
+"Мы только что получили информацию о том, что первая экспедиция разработала "
+"совершенно новый вид оружия, которое можно использовать на Терранове. Оно "
+"хорошо спрятано, так, что враг не сможет его найти, внутри хранилища, в которое можно попасть только с помощью четырех <"
+"a object|key>ключей. Ключи расбросаны под поверхностью планеты."
#. type: Plain text
#: scene901-help/mhterra1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The observation satellite has located one of these keys (A) north of your "
"present position."
msgstr ""
+"Спутник наблюдатель заметил один из этих ключей (A) на севере от вашей "
+"текущей позиции."
#. type: Plain text
#: scene901-help/mhterra1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In compliance with Congress directives, our engineers have developed yet "
"another strictly \"defensive\" bot : it is called a research center along with a couple of relevant "
"programs."
msgstr ""
+"В соответствии с директивами Конгресса, наши инженеры недавно разработали "
+"еще одного чисто \"обороннительного\" бота : он называется "
+"передвижной щит и сможет обеспечить необходимую защиту по указанному "
+"периметру. Данные были переданы в ваш исследовательский "
+"центр вместе с несколькими необходимыми программами."
#. type: Plain text
#: scene901-help/mhterra1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As you may know, uranium ore in the subsoil is a powerful fertilizer, "
"furthering the growth of a variety of mushrooms. Please also note that titanium ore is often located at the bottom of lakes on "
"this planet."
msgstr ""
+"Как вы знаете, урановая руда под поверхностью планеты является хорошим "
+"удобрением, стимулирующим рост разнообразных грибов. Примите во внимание "
+"также и то, что титановая руда часто находится на дне "
+"озер, которых так много на этой планете."
#. type: Plain text
#: scene901-help/mhterra1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"When your mission is completed and before taking off, bring both a shielder and a subber aboard your "
"spaceship."
msgstr ""
+"Когда ваша миссия будет выполнена, до того, как взлететь, вы должны "
+"доставить на борт корабля передвижной щит и саббера."
#. type: Plain text
#: scene901-help/mhterra1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene901-help/mhterra1.txt:14 scene901-help/msterra1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene901-help/mhterra1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene901-help/miterra1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene901-help/miterra1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Terranova."
-msgstr ""
+msgstr "Геостацианарная орбита Террановы."
#. type: \s; block (usually verbatim code)
#: scene901-help/miterra1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene901-help/miterra1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 24.8C\n"
"\\tab;Atmosphere: oxygen\n"
@@ -140,31 +174,43 @@ msgid ""
"\\tab;Titanium ore: underwater\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 24.8C\n"
+"\\tab;Атмосфера: кислород\n"
+"\\tab;Ветер: 0.7 м/с\n"
+"\\tab;Титановая руда: под водой\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene901-help/miterra1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene901-help/miterra1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: at some places\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: some"
msgstr ""
+"\\tab;Источники энергии: в некоторых местах\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: немного"
#. type: \s; block (usually verbatim code)
#: scene901-help/miterra1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene901-help/miterra1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate\n"
@@ -172,26 +218,38 @@ msgid ""
"\\tab; - Danger: not immediate\n"
"\\tab;Detected: reusable derelicts"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая\n"
+"\\tab;Замечено: гигантские осы\n"
+"\\tab; - Опасность: непрямая\n"
+"\\tab;Замечено: многочисленные руины"
#. type: \b; header
#: scene901-help/mlterra1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene901-help/mlterra1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"According to the data transmitted by the satellite, our engineers have "
"developed two programs. The first one guides the shielder "
"bot through the narrow valley north close to the place where the key has "
"been located. You can follow it without fearing any attack:"
msgstr ""
+"Согласно данным, переданными со спутника, наши инженеры разработали две "
+"программы. Первая управляет перемещением бронированного "
+"бота по узкой долине недалеко на север от того места, где был обнаружен "
+"ключ. Вы можете продвигаться по этому пути не опасаясь атак:"
#. type: \s; block (usually verbatim code)
#: scene901-help/mlterra1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Outward()\n"
"{\n"
@@ -200,18 +258,28 @@ msgid ""
"\tshield(0,15); // deactivate the shield\n"
"}"
msgstr ""
+"extern void object::Outward()\n"
+"{\n"
+"\tshield(1,15); // активировать щит\n"
+"\tgoto(6,160); // подойти вплотную к ключу\n"
+"\tshield(0,15); // отключить щит\n"
+"}"
#. type: Plain text
#: scene901-help/mlterra1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The second program guides the shielder bot back to the "
"spaceship:"
msgstr ""
+"Вторая программа ведет бронированного бота обратно к <"
+"a object|base>космическому кораблю:"
#. type: \s; block (usually verbatim code)
#: scene901-help/mlterra1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Return()\n"
"{\n"
@@ -220,83 +288,104 @@ msgid ""
"\tshield(0,15); // deactivate the shield\n"
"}"
msgstr ""
+"extern void object::Return()\n"
+"{\n"
+"\tshield(1,15); // активировать щит\n"
+"\tgoto(8,60); // идти к космическому кораблю\n"
+"\tshield(0,15); // отключить щит\n"
+"}"
#. type: \b; header
#: scene901-help/mlterra1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene901-help/mlterra1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene901-help/mlterra1.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene901-help/msterra1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene901-help/msterra1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Unfortunately no walkthrough has been provided for this mission.\n"
"You are on your own..."
msgstr ""
+"К сожалению, в этой миссии мы ничем не сможем вам помочь.\n"
+"Вы должны додуматься до всего сами..."
#. type: Plain text
#: scene901-help/msterra1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene902/po/ru.po b/levels/scene902/po/ru.po
index 17f9e2f8..92211ea2 100644
--- a/levels/scene902/po/ru.po
+++ b/levels/scene902/po/ru.po
@@ -20,84 +20,101 @@ msgstr ""
#: scene902.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene902/scene.txt:1
#, no-wrap
msgid "scene902:Poison Hail"
-msgstr ""
+msgstr "scene902:Ядовитый град"
#. type: Resume-text
#: scene902/scene.txt:2
#, no-wrap
msgid "scene902:Retrieve the second key using only defensive strategies."
-msgstr ""
+msgstr "scene902:Найдите второй ключ используя только оборонные стратегии."
#. type: \b; header
#: scene902-help/mhterra2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene902-help/mhterra2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Retrieve the second key (B). It should be located near "
"your current position."
msgstr ""
+"Найдите второй ключ (B). Он должен находится недалеко от "
+"того места, где вы сейчас находитесь."
#. type: Plain text
#: scene902-help/mhterra2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"When your mission is completed and before taking off, bring both shielder and subber aboard your "
"spaceship."
msgstr ""
+"Когда ваша миссия будет выполнена, до того, как взлететь, вы должны "
+"доставить на борт корабля передвижной щит и саббера."
#. type: Plain text
#: scene902-help/mhterra2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene902-help/mhterra2.txt:8 scene902-help/msterra2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene902-help/mhterra2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene902-help/miterra2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene902-help/miterra2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Terranova."
-msgstr ""
+msgstr "Геостацианарная орбита Террановы."
#. type: \s; block (usually verbatim code)
#: scene902-help/miterra2.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene902-help/miterra2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 24.3C\n"
"\\tab;Atmosphere: oxygen\n"
@@ -105,126 +122,160 @@ msgid ""
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Температура: 24.3C\n"
+"\\tab;Атмосфера: кислород\n"
+"\\tab;Ветер: 0.8 м/с\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene902-help/miterra2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene902-help/miterra2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene902-help/miterra2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene902-help/miterra2.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая"
#. type: \b; header
#: scene902-help/mlterra2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene902-help/mlterra2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene902-help/mlterra2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene902-help/mlterra2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene902-help/mlterra2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene902-help/msterra2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene902-help/msterra2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Unfortunately no walkthrough has been provided for this mission.\n"
"You are on your own..."
msgstr ""
+"К сожалению, в этой миссии мы ничем не сможем вам помочь.\n"
+"Вы должны додуматься до всего сами..."
#. type: Plain text
#: scene902-help/msterra2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene903/po/ru.po b/levels/scene903/po/ru.po
index 03f2b9d4..948224ce 100644
--- a/levels/scene903/po/ru.po
+++ b/levels/scene903/po/ru.po
@@ -20,85 +20,103 @@ msgstr ""
#: scene903.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene903/scene.txt:2
#, no-wrap
msgid "scene903:Gold Digger"
-msgstr ""
+msgstr "scene903:Золотоискатель"
#. type: Resume-text
#: scene903/scene.txt:3
#, no-wrap
msgid "scene903:Be prepared to dig for buried treasure."
-msgstr ""
+msgstr "scene903:Будьте готовы к тому, что найдете сокровище."
#. type: \b; header
#: scene903-help/mhterra3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene903-help/mhterra3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The third key (C) is buried in a mushroom-infested area. A "
"sniffer should be able to locate it and a derrick should be able to extract it."
msgstr ""
+"Третий ключ (C) зарыт в зараженной грибами местности. Сниффер должен найти его, а буровая "
+"вышка выкопать."
#. type: Plain text
#: scene903-help/mhterra3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"When your mission is completed and before taking off, bring both shielder and subber aboard your "
"spaceship."
msgstr ""
+"Когда ваша миссия будет выполнена, до того, как взлететь, вы должны "
+"доставить на борт корабля защитника и саббера."
#. type: Plain text
#: scene903-help/mhterra3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene903-help/mhterra3.txt:8 scene903-help/msterra3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene903-help/mhterra3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene903-help/miterra3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene903-help/miterra3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Terranova."
-msgstr ""
+msgstr "Геостацианарная орбита Террановы."
#. type: \s; block (usually verbatim code)
#: scene903-help/miterra3.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene903-help/miterra3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 26.1C\n"
"\\tab;Atmosphere: oxygen\n"
@@ -106,128 +124,164 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: some"
msgstr ""
+"\\tab;Температура: 26.1C\n"
+"\\tab;Атмосфера: кислород\n"
+"\\tab;Ветер: 0.4 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: немного"
#. type: \s; block (usually verbatim code)
#: scene903-help/miterra3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene903-help/miterra3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: none\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: нет\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene903-help/miterra3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene903-help/miterra3.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate\n"
"\\tab;Detected: giant wasps\n"
"\\tab; - Danger: immediate"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая\n"
+"\\tab;Замечено: гигантские осы\n"
+"\\tab; - Опасность: прямая"
#. type: \b; header
#: scene903-help/mlterra3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene903-help/mlterra3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We did not develop a specific program for this mission. However, you can "
"develop your own programs if you think it would be useful."
msgstr ""
+"Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы "
+"можете сами написать свою собственную программу, если вы считаете, что это "
+"может вам понадобиться."
#. type: \b; header
#: scene903-help/mlterra3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene903-help/mlterra3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene903-help/mlterra3.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene903-help/msterra3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene903-help/msterra3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Unfortunately no walkthrough has been provided for this mission.\n"
"You are on your own..."
msgstr ""
+"К сожалению, в этой миссии мы ничем не сможем вам помочь.\n"
+"Вы должны додуматься до всего сами..."
#. type: Plain text
#: scene903-help/msterra3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/scene904/po/ru.po b/levels/scene904/po/ru.po
index 730c3338..5562f552 100644
--- a/levels/scene904/po/ru.po
+++ b/levels/scene904/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: scene904.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: scene904/scene.txt:1
#, no-wrap
msgid "scene904:Alien Queen"
-msgstr ""
+msgstr "scene904:Королева пришельцев"
#. type: Resume-text
#: scene904/scene.txt:2
@@ -35,91 +35,121 @@ msgid ""
"scene904:Get the fourth key, open the vault and make the planet safe for "
"human habitation."
msgstr ""
+"scene904:Найдите четвертый ключ, откройте погреб и сделайте так, чтобы "
+"планета стала безопасной для людей."
#. type: \b; header
#: scene904-help/mhterra4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "From Mission Control"
-msgstr ""
+msgstr "Из центра управления миссии"
#. type: Plain text
#: scene904-help/mhterra4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"With the help of the fourth key (D) located nearby, you "
"will finally gain access to the vault. The groundbreaking "
"bot you'll find inside was named a \"phazer\"."
msgstr ""
+"С помощью четвертого ключа key (D), который находится "
+"недалеко, вы наконец-то сможете попасть в склеп. Огромный "
+"бот, которого вы найдете внутри, называется \"фазером\""
+"."
#. type: Plain text
#: scene904-help/mhterra4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A program allowing for a collaboration between a phazer and a shielder has been "
"attached."
msgstr ""
+"Программа, позволяющая сотрудничество между фазером и <"
+"a object|botshld>защитником, прилагается."
#. type: Plain text
#: scene904-help/mhterra4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You should soon find yourself in a position to test your new weapon. Your "
"last mission is to dispose of the Alien Queen, the "
"egglayer responsible for the growing number of insects on Terranova. The "
"phazer might very well be the only bot capable of getting the job done."
msgstr ""
+"Скоро вы окажетесь в месте, где сможете протестировать свое новое оружие. "
+"Ваша последняя миссия имеет отношение к Королеве "
+"пришельцев, котороя откладывает яйца и иммет отношение к все "
+"возростающему количеству насекомых на Терранове. Фазер может оказаться "
+"единственным ботом, который сможет справиться с этим заданием."
#. type: Plain text
#: scene904-help/mhterra4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"There will then be no further obstacle to the human colonization of this "
"magnificent planet and you'll soon be able to notify Earth of the success of "
"your mission."
msgstr ""
+"После этого на пути колонизации людьми этой чудесной планеты больше не будет "
+"никаких препятствий, и вскоре вы сможете сообщить Земле об успешном "
+"выполнении своей миссии."
#. type: Plain text
#: scene904-help/mhterra4.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times on your personal SatCom ."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время с помощью вашего личного Саткома ."
#. type: \t; header
#: scene904-help/mhterra4.txt:12 scene904-help/msterra4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: scene904-help/mhterra4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls and CBOT Language"
-msgstr ""
+msgstr "Управление и Язык CBOT"
#. type: \b; header
#: scene904-help/miterra4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Satellite Report"
-msgstr ""
+msgstr "Сообщение со спутника"
#. type: Plain text
#: scene904-help/miterra4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Currently in a geo-stationary orbit of Terranova."
-msgstr ""
+msgstr "Геостацианарная орбита Террановы."
#. type: \s; block (usually verbatim code)
#: scene904-help/miterra4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SURFACE"
-msgstr ""
+msgstr "-> ПОВЕРХНОСТЬ"
#. type: Plain text
#: scene904-help/miterra4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Temperature: 23.7C\n"
"\\tab;Atmosphere: oxygen\n"
@@ -127,61 +157,83 @@ msgid ""
"\\tab;Titanium ore: some\n"
"\\tab;Uranium ore: some"
msgstr ""
+"\\tab;Температура: 23.7C\n"
+"\\tab;Атмосфера: кислород\n"
+"\\tab;Ветер: 0.5 м/с\n"
+"\\tab;Титановая руда: немного\n"
+"\\tab;Урановая руда: немного"
#. type: \s; block (usually verbatim code)
#: scene904-help/miterra4.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> SUBSOIL"
-msgstr ""
+msgstr "-> ПОДПОЧВА"
#. type: Plain text
#: scene904-help/miterra4.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Energy source: in some places (spaceship)\n"
"\\tab;Titanium ore: none\n"
"\\tab;Uranium ore: none"
msgstr ""
+"\\tab;Источники энергии: в некоторых местах (космические корабли)\n"
+"\\tab;Титановая руда: нет\n"
+"\\tab;Урановая руда: нет"
#. type: \s; block (usually verbatim code)
#: scene904-help/miterra4.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "-> ADDITIONAL INFORMATION"
-msgstr ""
+msgstr "-> ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"
#. type: Plain text
#: scene904-help/miterra4.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\\tab;Detected: giant ants\n"
"\\tab; - Danger: immediate\n"
"\\tab;Detected: giant egglayer\n"
"\\tab; - Danger: ?"
msgstr ""
+"\\tab;Замечено: гигантские муравьи\n"
+"\\tab; - Опасность: прямая\n"
+"\\tab;Замечено: гигансткие животные, откладывающие яйца\n"
+"\\tab; - Опасность: ?"
#. type: \b; header
#: scene904-help/mlterra4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Programs dispatched by Houston"
-msgstr ""
+msgstr "Программы, отправленные Хьюстоном"
#. type: Plain text
#: scene904-help/mlterra4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Below is a program that has been developed by our engineers."
-msgstr ""
+msgstr "Ниже приведена программа, разработанная нашими инженерами."
#. type: Plain text
#: scene904-help/mlterra4.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"It instructs the shielder to follow and protect the phazer."
msgstr ""
+"Она приказывает бронеботу следовать за фазером и защищать его."
#. type: \s; block (usually verbatim code)
#: scene904-help/mlterra4.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::FollowPhazer()\n"
"{\n"
@@ -217,83 +269,131 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::FollowPhazer()\n"
+"{\n"
+"\tobject item; // информация о фазере\n"
+"\tpoint dest; // место назначения\n"
+"\tfloat dist; // расстояние до фазера\n"
+"\t\n"
+"\titem = radar(PhazerShooter);\n"
+"\tif ( item == null )\n"
+"\t{\n"
+"\t\tmessage(\"Фазер не найден\");\n"
+"\t\treturn; // остановить программу\n"
+"\t}\n"
+"\tshield(1, 25); // включить щит\n"
+"\t\n"
+"\twhile ( true ) // повторять всегда\n"
+"\t{\n"
+"\t\titem = radar(PhazerShooter);// искать фазер\n"
+"\t\tif ( item == null ) break;\n"
+"\t\t\n"
+"\t\tdist = distance(item.position, position);\n"
+"\t\tif ( dist < 5 )\n"
+"\t\t{ // если ближе 5 метров:\n"
+"\t\t\twait(1); // ждать\n"
+"\t\t}\n"
+"\t\telse // иначе:\n"
+"\t\t{ // Рассчитать расстояние в 5 м. перед фазером\n"
+"\t\t\tdest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;\n"
+"\t\t\tdest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;\n"
+"\t\t\tdest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;\n"
+"\t\t\tgoto(dest, 0, 1, 1); // перейти туда\n"
+"\t\t}\n"
+"\t}\n"
+"}"
#. type: \b; header
#: scene904-help/mlterra4.txt:40
#, no-wrap
+#, fuzzy, no-wrap
msgid "Archives"
-msgstr ""
+msgstr "Архивы"
#. type: Plain text
#: scene904-help/mlterra4.txt:42
#, no-wrap
+#, fuzzy, no-wrap
msgid "Index of the programs dispatched in former missions:"
-msgstr ""
+msgstr "Список программ, отправленных в предыдущих миссиях"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:43
#, no-wrap
+#, fuzzy, no-wrap
msgid "ServiceTower1"
-msgstr ""
+msgstr "ServiceTower1"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:44
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium3"
-msgstr ""
+msgstr "CollectTitanium3"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:45
#, no-wrap
+#, fuzzy, no-wrap
msgid "KillAnt1"
-msgstr ""
+msgstr "KillAnt1"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:46
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium2"
-msgstr ""
+msgstr "CollectTitanium2"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid "CollectTitanium1"
-msgstr ""
+msgstr "CollectTitanium1"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:48
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge2"
-msgstr ""
+msgstr "Recharge2"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:49
#, no-wrap
+#, fuzzy, no-wrap
msgid "Recharge1"
-msgstr ""
+msgstr "Recharge1"
#. type: Bullet: 'o'
#: scene904-help/mlterra4.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid "SwitchCell1"
-msgstr ""
+msgstr "SwitchCell1"
#. type: \b; header
#: scene904-help/msterra4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walkthrough"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: scene904-help/msterra4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Unfortunately no walkthrough has been provided for this mission.\n"
"You are on your own..."
msgstr ""
+"К сожалению, в этой миссии мы ничем не сможем вам помочь.\n"
+"Вы должны додуматься до всего сами..."
#. type: Plain text
#: scene904-help/msterra4.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Controls"
-msgstr ""
+msgstr "Управление"
diff --git a/levels/train1-po/ru.po b/levels/train1-po/ru.po
index c9522498..6b02f6f2 100644
--- a/levels/train1-po/ru.po
+++ b/levels/train1-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: train1.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train1/train100.txt:1
#, no-wrap
msgid "train100:Spiders and supply"
-msgstr ""
+msgstr "train100:Пауки и еда"
#. type: Title-resume
#: train1/train100.txt:1
#, no-wrap
msgid "train100:Supply problems and fight against motionless targets"
-msgstr ""
+msgstr "train100:Проблемы с продовольствием и битва с ужасными тварями"
diff --git a/levels/train101/po/ru.po b/levels/train101/po/ru.po
index 2ff17a33..478b2226 100644
--- a/levels/train101/po/ru.po
+++ b/levels/train101/po/ru.po
@@ -20,107 +20,131 @@ msgstr ""
#: train101.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train101/scene.txt:1
#, no-wrap
msgid "train101:Spiders 1"
-msgstr ""
+msgstr "train101:Пауки 1"
#. type: Resume-text
#: train101/scene.txt:2
#, no-wrap
msgid "train101:Kill three spiders with a small program."
-msgstr ""
+msgstr "train101:Убейте трех пауков с помощью небольшой программки."
#. type: ScriptName-text
#: train101/scene.txt:3
#, no-wrap
msgid "train101:Spider1"
-msgstr ""
+msgstr "train101:Spider1"
#. type: \b; header
#: train101-help/tspid1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train101-help/tspid1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Write a small program to kill three spiders."
-msgstr ""
+msgstr "Напишите небольшую программу чтобы убить три паука."
#. type: \t; header
#: train101-help/tspid1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Procedure"
-msgstr ""
+msgstr "Процедура"
#. type: Bullet: '1)'
#: train101-help/tspid1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "In order to program the bot, select it."
-msgstr ""
+msgstr "Для того, чтобы запрограммировать бота, выберите его."
#. type: Bullet: '2)'
#: train101-help/tspid1.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Числа от 1 до 4, соответсвующие программам, сожержащимся в боте, появятся в "
+"левом нижнем углу экрана. Выберите первую строчку."
#. type: Bullet: '3)'
#: train101-help/tspid1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Click the button with the braces , and you will arrive in an "
"editor where you can write the program."
msgstr ""
+"Щелкните на кнопке со скобками , и вы попадете в редактор, где "
+"сможете написать программу."
#. type: Bullet: '4)'
#: train101-help/tspid1.txt:8
#, no-wrap
+#, fuzzy, 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 ""
+"Пока вы пишите программу, ключ будет "
+"отображать текст, который вы сейчас читаете. Когда вы закончите писать "
+"программу, нажмите кнопку \"OK\"."
#. type: Bullet: '5)'
#: train101-help/tspid1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "In order to execute the program, click the arrow button ."
-msgstr ""
+msgstr "Чтобы запустить программу, нажмите кнопку со стрелкой ."
#. type: \t; header
#: train101-help/tspid1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train101-help/tspid1.txt:13
#, no-wrap
+#, fuzzy, 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 ""
+"Вы должны точно, шаг за шагом, рассказать боту о том, что он должен делать "
+"для того, чтобы убить трех пауков. Бот понимает только точные инструкции, "
+"которые должны выполняться одна за другой."
#. type: Plain text
#: train101-help/tspid1.txt:15
#, no-wrap
+#, fuzzy, 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 ""
+"Когда вы нажмете кнопку со скобками чтобы написать программу, "
+"там уже будет вот эта ее часть:"
#. type: \s; block (usually verbatim code)
#: train101-help/tspid1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Spider1( )\n"
"{\n"
@@ -129,42 +153,56 @@ msgid ""
"\t\n"
"}"
msgstr ""
+"extern void object::Spider1( )\n"
+"{\n"
+"\t\n"
+"\tздесь вы пишите свой код ...\n"
+"\t\n"
+"}"
#. type: Plain text
#: train101-help/tspid1.txt:24
#, no-wrap
+#, fuzzy, 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 ""
+"Все, что было написано до того, как вы запустили редактор, не должно быть "
+"изменено. Вставьте под курсор необходимые инструкции."
#. type: Plain text
#: train101-help/tspid1.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "You will need the following instructions:"
-msgstr ""
+msgstr "Вам понадобятся следующие инструкции:"
#. type: \s; block (usually verbatim code)
#: train101-help/tspid1.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "aim(0);"
-msgstr ""
+msgstr "aim(0);"
#. type: Plain text
#: train101-help/tspid1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid "Puts the cannon straight."
-msgstr ""
+msgstr "Направляет пушку прямо."
#. type: \s; block (usually verbatim code)
#: train101-help/tspid1.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid "turn();"
-msgstr ""
+msgstr "turn();"
#. type: Plain text
#: train101-help/tspid1.txt:32
#, no-wrap
+#, fuzzy, 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 "
@@ -173,66 +211,83 @@ msgid ""
"negative values turn right. turn(180); will make the bot face in the "
"opposite direction."
msgstr ""
+"Выполняет поворот на указанный угол, заданный в скобках в градусах. "
+"Например, turn(90); повернет бота на 90 градусов влево, то есть "
+"четверть оборота влево. turn(-90); повернет бота на 90 градусов "
+"вправо (четверть оборота вправо). Положительное значение поворачивает бота "
+"влево, а отрицательное вправо. turn(180); развернет бота."
#. type: \s; block (usually verbatim code)
#: train101-help/tspid1.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid "fire(1);"
-msgstr ""
+msgstr "fire(1);"
#. type: Plain text
#: train101-help/tspid1.txt:35
#, no-wrap
+#, fuzzy, 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 ""
+"Стреляет из орудия. Число в скобках указывает на продолжительность "
+"выстрела. В большинстве случаев выстрел продолжается 1 секунду."
#. type: Plain text
#: train101-help/tspid1.txt:37
#, no-wrap
+#, fuzzy, no-wrap
msgid "Let us see the beginning of the program:\n"
-msgstr ""
+msgstr "Давайте посмотрим на начало программы:\n"
#. type: Bullet: 'o'
#: train101-help/tspid1.txt:37
#, no-wrap
+#, fuzzy, no-wrap
msgid "put the cannon straight with aim(0);"
-msgstr ""
+msgstr "установите пушку прямо aim(0);"
#. type: Bullet: 'o'
#: train101-help/tspid1.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid "shoot the spider straight ahead with fire(1);"
-msgstr ""
+msgstr "выстрельте в паука прямо перед собой fire(1);"
#. type: Bullet: 'o'
#: train101-help/tspid1.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid "turn 90 degrees left with turn(90)"
-msgstr ""
+msgstr "поверните бота на 90 градусов влево turn(90)"
#. type: Bullet: 'o'
#: train101-help/tspid1.txt:40
#, no-wrap
+#, fuzzy, no-wrap
msgid "shoot with fire(1);"
-msgstr ""
+msgstr "стреляйте fire(1);"
#. type: Bullet: 'o'
#: train101-help/tspid1.txt:41
#, no-wrap
+#, fuzzy, no-wrap
msgid "etc."
-msgstr ""
+msgstr "и т.п."
#. type: Plain text
#: train101-help/tspid1.txt:44
#, no-wrap
+#, fuzzy, no-wrap
msgid "Here is the program that does all this :"
-msgstr ""
+msgstr "Вот программа, которое все это делает :"
#. type: \s; block (usually verbatim code)
#: train101-help/tspid1.txt:54
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Spider1( )\n"
"{\n"
@@ -244,57 +299,87 @@ msgid ""
"\t\n"
"}"
msgstr ""
+"extern void object::Spider1( )\n"
+"{\n"
+"\t\n"
+"\taim(0);\n"
+"\tfire(1);\n"
+"\tturn(90);\n"
+"\tfire(1);\n"
+"\t\n"
+"}"
#. type: Plain text
#: train101-help/tspid1.txt:56
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is up to you now to write the rest of the program!"
-msgstr ""
+msgstr "Теперь вы должны сами окончить эту программу!"
#. type: Plain text
#: train101-help/tspid1.txt:58
#, no-wrap
+#, fuzzy, no-wrap
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 ""
+"Если у вас возникнут проблемы, вы можете посмотреть решение: выберите "
+"программу Solution в левом нижнем углу экрана и нажмите кнопку "
+"со скобками . Вы даже можете запустить программу решения, нажав "
+"кнопку со стрелкой ."
#. type: \t; header
#: train101-help/tspid1.txt:59
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remarks"
-msgstr ""
+msgstr "Комментарии"
#. type: Plain text
#: train101-help/tspid1.txt:61
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Be careful to write the instructions precisely, respecting lower and upper "
"case letters."
msgstr ""
+"Будьте осторожны и пишите инструкции последовательно, соблюдая верхний и "
+"нижний регистр букв."
#. type: Plain text
#: train101-help/tspid1.txt:63
#, no-wrap
+#, fuzzy, no-wrap
msgid "Always write one instruction per line, finishing each line with a semicolon."
msgstr ""
+"В каждой строке всегда пишите только одну инструкцию, заканчивая каждую "
+"строку точкой с запятой."
#. type: Plain text
#: train101-help/tspid1.txt:65
#, no-wrap
+#, fuzzy, 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 ""
+"Если вдруг ваша программа делает не совсем то, что хотелось бы, вы можете "
+"вернуть бота обратно в стартовую точку, нажав кнопку . Вы также "
+"можете начать все с самого начала (нажмите кнопку \"Esc\" и выберите \""
+"Заново\"). Написанная вами программа будет сохранена."
#. type: Plain text
#: train101-help/tspid1.txt:66
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время."
diff --git a/levels/train102/po/ru.po b/levels/train102/po/ru.po
index babc0437..c48f2516 100644
--- a/levels/train102/po/ru.po
+++ b/levels/train102/po/ru.po
@@ -20,195 +20,243 @@ msgstr ""
#: train102.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train102/scene.txt:1
#, no-wrap
msgid "train102:Power Cell 1"
-msgstr ""
+msgstr "train102:Батарея 1"
#. type: Resume-text
#: train102/scene.txt:2
#, no-wrap
msgid "train102:Instruct a bot to change the power cell of a nearby winged shooter."
-msgstr ""
+msgstr "train102:Прикажите боту поменять батарею ближайшего крылатого стрелка."
#. type: ScriptName-text
#: train102/scene.txt:3
#, no-wrap
msgid "train102:Spider2"
-msgstr ""
+msgstr "train102:Spider2"
#. type: \b; header
#: train102-help/tcell1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train102-help/tcell1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Запрограммируйте бота сборщика поменять батареюкрылатого стрелка. После этого "
+"крылатый стрелок сможет убивать пауков."
#. type: \t; header
#: train102-help/tcell1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Procedure"
-msgstr ""
+msgstr "Процедура"
#. type: Bullet: '1)'
#: train102-help/tcell1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program the grabber bot."
-msgstr ""
+msgstr "Запрограммировать бота сборщика."
#. type: Bullet: '2)'
#: train102-help/tcell1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Execute the program with the arrow button ."
-msgstr ""
+msgstr "Запустить программу нажатием кнопки со стрелкой ."
#. type: Plain text
#: train102-help/tcell1.txt:8
#, no-wrap
+#, fuzzy, 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 ""
+"Крылатый стрелок уже запрограммирован, он начнет "
+"выполнять свою работу как только получит новую батарею."
#. type: \t; header
#: train102-help/tcell1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train102-help/tcell1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "You will need the following instructions:"
-msgstr ""
+msgstr "Вам понадобятся следующие инструкции:"
#. type: \s; block (usually verbatim code)
#: train102-help/tcell1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "grab();"
-msgstr ""
+msgstr "grab();"
#. type: Plain text
#: train102-help/tcell1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "Takes whatever there is in front of the bot."
-msgstr ""
+msgstr "Берет все, что лежит перед ботом."
#. type: \s; block (usually verbatim code)
#: train102-help/tcell1.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "drop();"
-msgstr ""
+msgstr "drop();"
#. type: Plain text
#: train102-help/tcell1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "Drops whatever the bot is carrying in front."
-msgstr ""
+msgstr "Сбрасывает все, что бот несет перед собой."
#. type: \s; block (usually verbatim code)
#: train102-help/tcell1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "turn();"
-msgstr ""
+msgstr "turn();"
#. type: Plain text
#: train102-help/tcell1.txt:20
#, no-wrap
+#, fuzzy, 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 ""
+"Мы уже встречались с этой инструкцией в предыдущем упражнении: она "
+"производит поворот на указанный угол, заданный в градусах."
#. type: Plain text
#: train102-help/tcell1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid "Let us see the beginning of the program:\n"
-msgstr ""
+msgstr "Давайте посмотрим на начало программы:\n"
#. type: Bullet: 'o'
#: train102-help/tcell1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid "pick up the empty power cell with grab();"
-msgstr ""
+msgstr "подобрать пустую батарею grab();"
#. type: Bullet: 'o'
#: train102-help/tcell1.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "turn left 90 degrees (quarter turn) with turn(90)"
msgstr ""
+"повернуться влево на 90 градусов (четверть оборота) turn(90)"
#. type: Bullet: 'o'
#: train102-help/tcell1.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "drop the empty cell with drop();"
-msgstr ""
+msgstr "бросить пустую батарею drop();"
#. type: Bullet: 'o'
#: train102-help/tcell1.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "etc."
-msgstr ""
+msgstr "и т.п."
#. type: Plain text
#: train102-help/tcell1.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is up to you now to write the rest of the program!"
msgstr ""
+"То, как будет выгледеть остальная часть программы, зависит только от вас!"
#. type: Plain text
#: train102-help/tcell1.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If you have got a problem, you can always look at the solution: select the "
"Solution program, and click the braces button ."
msgstr ""
+"Если у вас вдруг возникнут проблемы, вы всегда можете посмотреть на решение: "
+"выберите программу Solution, и нажмите фигурную скобку ."
#. type: \t; header
#: train102-help/tcell1.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remarks"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train102-help/tcell1.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Be careful to write the instructions precisely, respecting lower and upper "
"case letters."
msgstr ""
+"Когда вы пишите инструкции, будьте предельно внимательны и различайте буквы, "
+"написанные в верхнем и нижнем регистре."
#. type: Plain text
#: train102-help/tcell1.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid "Always write one instruction per line, finishing each line with a semicolon."
msgstr ""
+"В одной строке всегда пишите только одну инструкцию, заканчмвая каждую "
+"строку точкой с запятой."
#. type: Plain text
#: train102-help/tcell1.txt:37
#, no-wrap
+#, fuzzy, 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 ""
+"В случае, если ваша программа делает не совсем то, что вы хотели, вы можете "
+"вернуть бота обратно на стартовую позицию, нажав кнопку . Вы "
+"также можете начать все с самого начала (нажмите клавишу \"Esc\", после "
+"этого выберите \"Заново\"). Программа, которую вы написали, будет сохранена."
#. type: Plain text
#: train102-help/tcell1.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время."
diff --git a/levels/train103/po/ru.po b/levels/train103/po/ru.po
index 5b06c600..8f49c740 100644
--- a/levels/train103/po/ru.po
+++ b/levels/train103/po/ru.po
@@ -20,71 +20,85 @@ msgstr ""
#: train103.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train103/scene.txt:1
#, no-wrap
msgid "train103:Titanium 1"
-msgstr ""
+msgstr "train103:Титан 1"
#. type: Resume-text
#: train103/scene.txt:2
#, no-wrap
msgid "train103:Take a chunk of titanium ore and bring it to the converter."
msgstr ""
+"train103:Возьмите кусок титановой руды и отнесите его к преобразователю."
#. type: ScriptName-text
#: train103/scene.txt:3
#, no-wrap
msgid "train103:Titanium1"
-msgstr ""
+msgstr "train103:Titanium1"
#. type: \b; header
#: train103-help/ttit1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train103-help/ttit1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Напишите программу, которая берет кусок титановой руды"
+" и сбрасывает его на преобразователь, чтобы выплавить <"
+"a object|titan>титановый слиток."
#. type: \t; header
#: train103-help/ttit1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train103-help/ttit1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "You will need a new instruction:"
-msgstr ""
+msgstr "Вам будет нужна новая инструкция:"
#. type: \s; block (usually verbatim code)
#: train103-help/ttit1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "move();"
-msgstr ""
+msgstr "move();"
#. type: Plain text
#: train103-help/ttit1.txt:9
#, no-wrap
+#, fuzzy, 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 ""
+"Приказывает боту идти вперед или назад. Расстояние задается в скобках в "
+"метрах: move(10); перемещает бота на 10 метров вперед, "
+"move(-1); перемещает бота на 1 метр назад."
#. type: Plain text
#: train103-help/ttit1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instructions turn(), grab() and drop() have "
@@ -92,21 +106,35 @@ msgid ""
"about these instructions, click the name of the instruction underlined in "
"blue, and an explanation of the instruction will appear."
msgstr ""
+"Инструкции turn(), grab() и drop() уже были "
+"объяснены в предыдущем упражнении. Если у вас возникнут вопросы по этим "
+"инструкциям, щелкните на названии инструкции, выделенной синим цветом. После "
+"этого должно появиться объяснение к этой инструкции."
#. type: Plain text
#: train103-help/ttit1.txt:13
#, no-wrap
+#, fuzzy, 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 ""
+"Титановая руда лежит в 20 метрах от бота, преобразователь расположен в 10 метрах перед ботом. После "
+"того, как бот сбросит титановую руду на преобразователь, не забывайте "
+"отвести его назад (например move(-2.5);) чтобы преобразователь мог "
+"приступить к выполнению своей работы."
#. type: Plain text
#: train103-help/ttit1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" allows you to review these instructions at "
"all times."
msgstr ""
+" позволяет вам просмотреть эти инструкции в "
+"любое время."
diff --git a/levels/train104/po/ru.po b/levels/train104/po/ru.po
index 5718d95a..33fb0eac 100644
--- a/levels/train104/po/ru.po
+++ b/levels/train104/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: train104.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train104/scene.txt:1
#, no-wrap
msgid "train104:Titanium 2"
-msgstr ""
+msgstr "train104:Титан 2"
#. type: Resume-text
#: train104/scene.txt:2
@@ -35,46 +35,59 @@ msgid ""
"train104:Use the bot's radar to look for the titanium ore and bring it to "
"the converter."
msgstr ""
+"train104:С помощью радара бота ищите титановую руду и относите ее к "
+"преобразователю."
#. type: ScriptName-text
#: train104/scene.txt:3
#, no-wrap
msgid "train104:Titanium2"
-msgstr ""
+msgstr "train104:Titanium2"
#. type: \b; header
#: train104-help/ttit2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train104-help/ttit2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Возьмите кусок титановой руды, точное размещение "
+"которого неизвестно. Чтобы его найти, используйте радар бота. Отнесите "
+"титановую руду к преобразователю."
#. type: \t; header
#: train104-help/ttit2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train104-help/ttit2.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Как вы уже должно быть заметили, программы, написанные в предыдущих "
+"упражнениях, были полностью \"слепыми\": если бы титановая руда, батарея или "
+"пауки находились бы в другом месте, бот не смог бы найти их."
#. type: Plain text
#: train104-help/ttit2.txt:8
#, no-wrap
+#, fuzzy, 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); somewhere. For this task we will need "
"a variable."
msgstr ""
+"Радар представляет собой \"глаза\" бота. С помощью радара бот может замечать "
+"вокруг себя различные объекты. Например, инструкция radar(TitaniumOre); возвратит информацию о ближайшем "
+"куске титановой руды. Тем не менее, нам необходимо "
+"где-нибудь \"сохранить\" информацию, возвращенную инструкцией radar(TitaniumOre);. Для этой задачи нам будет нужна переменная."
#. type: Plain text
#: train104-help/ttit2.txt:10
#, no-wrap
+#, fuzzy, 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 "
@@ -99,30 +120,45 @@ msgid ""
"example item. If we put this together, we get the following "
"line:"
msgstr ""
+"Переменная представляет собой как бы маленький ящик с "
+"названием, в который мы можем положить какую-то информацию, взять ее оттуда, "
+"изменить ее, и т.п. Перед тем, как вы сможете использовать переменную, вы "
+"должны задать ее. Сначала вы должны указать тип переменной, "
+"для этого объекта. Переменная этого типа может содержать всю "
+"информацию, описывающую объект (например, титановую руду, паука, муравья, "
+"бота, батарею и т.п.). После этого вы должны указать имя, которое хотите "
+"присвоить этой переменной, например item. Если мы сложим все "
+"это вместе, то получим следующую строку:"
#. type: \s; block (usually verbatim code)
#: train104-help/ttit2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "object item;"
-msgstr ""
+msgstr "object item;"
#. type: Plain text
#: train104-help/ttit2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Then we must put the information returned by the instruction radar(TitaniumOre) into this variable:"
msgstr ""
+"После этого мы должны ввести информацию, возвращенную инструкцией radar(TitaniumOre), в эту переменную:"
#. type: \s; block (usually verbatim code)
#: train104-help/ttit2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "item = radar(TitaniumOre);"
-msgstr ""
+msgstr "item = radar(TitaniumOre);"
#. type: Plain text
#: train104-help/ttit2.txt:18
#, no-wrap
+#, fuzzy, 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 "
@@ -131,38 +167,52 @@ msgid ""
"order to move the bot to this position. Here is a line that puts all this "
"together:"
msgstr ""
+"Переменная item содержит различные виды информации: позицию, "
+"ориентацию, высоту и т.п. Чтобы узнать размещение куска титановой руды, "
+"напишите item.position. После этого мы используем инструкцию "
+"goto(); чтобы переместить бота в эту позицию. Вот строка, собирающая "
+"все это вместе:"
#. type: \s; block (usually verbatim code)
#: train104-help/ttit2.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "goto(item.position);"
-msgstr ""
+msgstr "goto(item.position);"
#. type: Plain text
#: train104-help/ttit2.txt:22
#, no-wrap
+#, fuzzy, 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 ""
+"Если мы \"переведем\" все на русский язык, это будет означать: отправиться к "
+"позиции объекта, описанной переменной item."
#. type: Plain text
#: train104-help/ttit2.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You can then just pick up what is at this position with the instruction "
"grab();."
msgstr ""
+"После этого вы можете взять то, что лежит в этом месте с помощью инструкции "
+"grab();."
#. type: Plain text
#: train104-help/ttit2.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "If we put all this together, we get the following program:"
-msgstr ""
+msgstr "Если мы соберем все это вместе, то получим следующую программу:"
#. type: \s; block (usually verbatim code)
#: train104-help/ttit2.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Titanium2( )\n"
"{\n"
@@ -174,71 +224,104 @@ msgid ""
"\t\n"
"}"
msgstr ""
+"extern void object::Titanium2( )\n"
+"{\n"
+"\t\n"
+"\tobject item;\n"
+"\titem = radar(TitaniumOre);\n"
+"\tgoto(item.position);\n"
+"\tgrab();\n"
+"\t\n"
+"}"
#. type: Plain text
#: train104-help/ttit2.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Then you must look for the converter, and put the "
"information about the converter into the variable item:"
msgstr ""
+"После этого вы должны найти преобразователь и поместить "
+"информацию о преобразователе в переменной item:"
#. type: \s; block (usually verbatim code)
#: train104-help/ttit2.txt:40
#, no-wrap
+#, fuzzy, no-wrap
msgid "item = radar(Converter);"
-msgstr ""
+msgstr "item = radar(Converter);"
#. type: Plain text
#: train104-help/ttit2.txt:42
#, no-wrap
+#, fuzzy, 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 ""
+"Подойдите к преобразователю с помощью все той же инструкции goto(item.position); , как было сделано выше, сбросьте "
+"титан и отойдите назад. Все остальное поручите сделать преобразователю."
#. type: Plain text
#: train104-help/ttit2.txt:44
#, no-wrap
+#, fuzzy, 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 ""
+"Если вы хотите узнать больше об \"именах\" различных объектов в языке "
+"программирования, обратитесь пожалуйста к тексту о "
+"категориях."
#. type: \t; header
#: train104-help/ttit2.txt:45
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remarks"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train104-help/ttit2.txt:47
#, no-wrap
+#, fuzzy, 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 ""
+"Переменная должна быть задана только один раз в начале "
+"программы! Потом вы можете использовать ее сколько угодно."
#. type: Plain text
#: train104-help/ttit2.txt:49
#, no-wrap
+#, fuzzy, 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 ""
+"Чтобы избежать перепечатывания инструкций, о которых говорилось выше, вы "
+"можете выбрать их с помощью мыши, и копировать-вставить их в "
+"свою программу."
#. type: \t; header
#: train104-help/ttit2.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train104-help/ttit2.txt:51
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train105/po/ru.po b/levels/train105/po/ru.po
index 3cf0af5b..a9efad22 100644
--- a/levels/train105/po/ru.po
+++ b/levels/train105/po/ru.po
@@ -20,60 +20,73 @@ msgstr ""
#: train105.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train105/scene.txt:1
#, no-wrap
msgid "train105:Power Cell 2"
-msgstr ""
+msgstr "train105:Батарея 2"
#. type: Resume-text
#: train105/scene.txt:2
#, no-wrap
msgid "train105:Power all the winged shooters."
-msgstr ""
+msgstr "train105:Оснастите батареей всех крылатых стрелков."
#. type: ScriptName-text
#: train105/scene.txt:3
#, no-wrap
msgid "train105:Spider2"
-msgstr ""
+msgstr "train105:Spider2"
#. type: \b; header
#: train105-help/tcell2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train105-help/tcell2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Оснастите крылатых стрелковбатареями, чтобы они смогли начать уничтожать муравьев в "
+"муравейнике, расположенном в норе на севере от вашей текущей позиции."
#. type: \t; header
#: train105-help/tcell2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train105-help/tcell2.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Крылатый сборщик должен подойти к батарее, взять ее, отправиться к крылатому "
+"стрелку и бросить там батарею. Это задание очень напоминает задание, "
+"которое мы выполняли в предыдущем упражнении. Ниже мы еще раз приводим текст "
+"этой программы:"
#. type: \s; block (usually verbatim code)
#: train105-help/tcell2.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Titanium2()\n"
"{\n"
@@ -88,10 +101,23 @@ msgid ""
"\tdrop();\n"
"}"
msgstr ""
+"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"
+"}"
#. type: Plain text
#: train105-help/tcell2.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The best way to solve the present exercise is to copy the "
"program above into the clipboard (from object to "
@@ -99,10 +125,16 @@ msgid ""
"you just have to make the necessary changes in order to adapt it to the new "
"task."
msgstr ""
+"Лучшим способом решения этого упражнения будет копирование "
+"программы, приведенной выше, в буфер обмена (от object до "
+"drop();). После этого вставьте ее в редактор программ. "
+"После этого вы должны будете просто сделать небольшие изменения, чтобы "
+"приспособить ее к новому заданию."
#. type: Plain text
#: train105-help/tcell2.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Instead of looking for titanium ore (TitaniumOre), look for a "
"power cell (PowerCell). Instead of going to a converter "
@@ -110,34 +142,49 @@ msgid ""
"(WingedShooter). As soon as the winged shooter has got a new "
"power cell, it will get down to work."
msgstr ""
+"Вместо того, чтобы искать титановую руду (TitaniumOre), ищите "
+"батареи (PowerCell). Вместо перехода к преобразователю "
+"(Converter), идите к крылатому стрелку "
+"(WingedShooter). Как только у крылатого стрелка появится новая "
+"батарея, он приступит к работе."
#. type: Plain text
#: train105-help/tcell2.txt:25
#, no-wrap
+#, fuzzy, 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 ""
+"Если вы хотите больше узнать об \"именах\" различных объектов этого языка "
+"программирования, обратитесь пожалуйста к тексту о "
+"категориях."
#. type: \t; header
#: train105-help/tcell2.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "Further improvement: loops"
-msgstr ""
+msgstr "Дальнейшее улучшение: циклы"
#. type: Plain text
#: train105-help/tcell2.txt:28
#, no-wrap
+#, fuzzy, 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 ""
+"Как только программа, приведенная выше, заработает, вы можете улучшить ее, "
+"чтобы повторять задание снова и снова. Тогда вам не придется запускать "
+"программу каждый раз, когда возникает необходимость оснастить бота батареей."
#. type: Plain text
#: train105-help/tcell2.txt:30
#, no-wrap
+#, fuzzy, 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 "
@@ -147,10 +194,18 @@ msgid ""
"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 ""
+"Все программы, написанные до этого момента, выполняют все инструкции только "
+"один раз, одну за другой, с самого начала и до конца программы. Вы можете "
+"приказать ботам повторять некоторые инструкции: просто напишите while "
+"(true), открывающая скобка, инструкции, которые следует повторять, и "
+"закрывающая скобка. Повторение некоторых инструкций таким способом носит "
+"название цикла. Вот пример программы, которая снова и снова повторяет "
+"инструкции, которые ищут батарею, берут ее и бросают крылатому стрелку:"
#. type: \s; block (usually verbatim code)
#: train105-help/tcell2.txt:41
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\twhile (true)\n"
"\t{\n"
@@ -163,41 +218,64 @@ msgid ""
"\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
#: train105-help/tcell2.txt:43
#, no-wrap
+#, fuzzy, 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 ""
+"Конечно же, задание переменной object item; не должно производиться "
+"внутри цикла, а перед ним: задавайте переменную только один раз."
#. type: \t; header
#: train105-help/tcell2.txt:44
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train105-help/tcell2.txt:46
#, no-wrap
+#, fuzzy, 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 ""
+"Бот сам отлично справляется с задачей запуска програмы. В то же время, вы, "
+"например, можете выбрать астронавта и посмотреть на то, что происходит в "
+"гнезде. Это просто нужно увидеть. Но будьте осторожны, чтобы не быть "
+"подстреленным своими же собственными ботами..."
#. type: \t; header
#: train105-help/tcell2.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train105-help/tcell2.txt:48
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train106/po/ru.po b/levels/train106/po/ru.po
index 06b3e09c..fc62175b 100644
--- a/levels/train106/po/ru.po
+++ b/levels/train106/po/ru.po
@@ -20,49 +20,55 @@ msgstr ""
#: train106.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train106/scene.txt:1
#, no-wrap
msgid "train106:Spiders 2"
-msgstr ""
+msgstr "train106:Пауки 2"
#. type: Resume-text
#: train106/scene.txt:2
#, no-wrap
msgid "train106:Use the radar to find and kill all ants."
-msgstr ""
+msgstr "train106:С помощью радара найдите и убейте всех муравьев."
#. type: ScriptName-text
#: train106/scene.txt:3
#, no-wrap
msgid "train106:Spider2"
-msgstr ""
+msgstr "train106:Spider2"
#. type: \b; header
#: train106-help/tspid2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train106-help/tspid2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Kill several spiders whose exact location we do not know. Use the bot's "
"radar to find them."
msgstr ""
+"Убейте несколько пауков, чья точная позиция нам не известна. Чтобы их найти, "
+"используйте радар бота."
#. type: \t; header
#: train106-help/tspid2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train106-help/tspid2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Find the closest spider with the instruction radar(AlienSpider);, as we did it in the previous "
@@ -73,47 +79,68 @@ msgid ""
"rotation that the robot must perform in order to aim at the spider. In order "
"to actually aim at the spider, just write:"
msgstr ""
+"Найдите ближайшего паука с помощью инструкции radar(AlienSpider);, как мы делали это с титановой рудой "
+"и батареями. Но не идите к пауку, бот будет уничтожен до того, как дойдет "
+"туда. Просто обойдите паука. Инструкция direction(item.position) высчитывает угол вращения, "
+"чтобы бот мог прицелиться в паука. Чтобы точно прицелиться по пауку, просто "
+"напишите:"
#. type: \s; block (usually verbatim code)
#: train106-help/tspid2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tturn(direction(item.position));"
-msgstr ""
+msgstr "\tturn(direction(item.position));"
#. type: Plain text
#: train106-help/tspid2.txt:10
#, no-wrap
+#, fuzzy, 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 ""
+"Заметьте, что в конце строки перед точкой с запятой стоят две закрывающие "
+"скобки. В строке есть две открывающие скобки, поэтому там должны быть и две "
+"закрывающие скобки."
#. type: Plain text
#: train106-help/tspid2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Then shoot with the instruction fire(1);."
-msgstr ""
+msgstr "После этого стреляйте инструкцией fire(1);."
#. type: Plain text
#: train106-help/tspid2.txt:14
#, no-wrap
+#, fuzzy, 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 ""
+"И еще, вы можете использовать цикл while "
+"(true) чтобы не запускать программу для каждого паука, как мы делали "
+"это в предыдущем упражнении."
#. type: \t; header
#: train106-help/tspid2.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train106-help/tspid2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train107/po/ru.po b/levels/train107/po/ru.po
index 3dd406cf..d4eb03e4 100644
--- a/levels/train107/po/ru.po
+++ b/levels/train107/po/ru.po
@@ -20,55 +20,65 @@ msgstr ""
#: train107.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train107/scene.txt:1
#, no-wrap
msgid "train107:Spiders 3"
-msgstr ""
+msgstr "train107:Пауки 3"
#. type: Resume-text
#: train107/scene.txt:2
#, no-wrap
msgid "train107:Learn to move the bot so that no spider can escape."
-msgstr ""
+msgstr "train107:Научитесь управлять ботом так, чтобы паук не смог убежать."
#. type: ScriptName-text
#: train107/scene.txt:3
#, no-wrap
msgid "train107:Spider3"
-msgstr ""
+msgstr "train107:Spider3"
#. type: \b; header
#: train107-help/tspid3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train107-help/tspid3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move towards the spiders that are out of shooting range."
msgstr ""
+"Передвигайтесь к паукам, которые находятся за пределами досягаемости ваших "
+"орудий."
#. type: \t; header
#: train107-help/tspid3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train107-help/tspid3.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Программа будет выглядеть как и предыдущая, но перед тем, как вы будете "
+"стрелять, используйте инструкцию move(); чтобы "
+"подойти достаточно близко."
#. type: Plain text
#: train107-help/tspid3.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The question is just how many meters the bot must move. The instruction "
"distance( , ) calculates the distance between "
@@ -81,33 +91,53 @@ msgid ""
"bot must move forward distance(position, "
"item.position)-40 meters. The following line will do this:"
msgstr ""
+"Вопрос просто в том, как близко должен подойти бот к пауку. Инструкция "
+"distance( , ) рассчитывает расстояние между "
+"двумя позициями. В этом случае мы должны узнать расстояние между ботом и "
+"целью. Позиция цели задается инструкцией item.position, позиция "
+"бота задается position. Расстояние между ботом и целью задается "
+"distance(position, item.position). Дальность "
+"полета огненного шара из пушки 40 метров. Чтобы подойти достаточно близко, "
+"бот должен пройти вперед distance(position, "
+"item.position)-40 метров. Это будет сделано с помощью следующей "
+"строки:"
#. type: \s; block (usually verbatim code)
#: train107-help/tspid3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tmove(distance(position, "
"item.position)-40);"
msgstr ""
+"\tmove(distance(position, "
+"item.position)-40);"
#. type: Plain text
#: train107-help/tspid3.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Just insert this line into the program before the instruction "
"fire(1);, and the bot will start to move."
msgstr ""
+"Просто вставьте в программу эту строку перед инструкцией fire(1);, "
+"и бот начнет двигаться."
#. type: \t; header
#: train107-help/tspid3.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train107-help/tspid3.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train2-po/ru.po b/levels/train2-po/ru.po
index 4131cf92..48979574 100644
--- a/levels/train2-po/ru.po
+++ b/levels/train2-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: train2.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train2/train200.txt:1
#, no-wrap
msgid "train200:Ants and wasps"
-msgstr ""
+msgstr "train200:Муравьи и осы"
#. type: Title-resume
#: train2/train200.txt:1
#, no-wrap
msgid "train200:Fight against moving targets"
-msgstr ""
+msgstr "train200:Война с двищущимися целями"
diff --git a/levels/train201/po/ru.po b/levels/train201/po/ru.po
index 7712b444..d5993a56 100644
--- a/levels/train201/po/ru.po
+++ b/levels/train201/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: train201.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train201/scene.txt:1
#, no-wrap
msgid "train201:Barrage Fire"
-msgstr ""
+msgstr "train201:Заград. огонь"
#. type: Resume-text
#: train201/scene.txt:2
@@ -35,36 +35,44 @@ msgid ""
"train201:Set the power of the different motors in order to achieve a barrage "
"fire."
msgstr ""
+"train201:Установите мощность различных моторов, чтобы добиться "
+"заградительного огня."
#. type: ScriptName-text
#: train201/scene.txt:3
#, no-wrap
msgid "train201:Move"
-msgstr ""
+msgstr "train201:Move"
#. type: \b; header
#: train201-help/tant1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train201-help/tant1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"В качестве защиты от нескольких гигантских муравьев, атакующих вас с севера, "
+"во время выстрела поверните бота, чтобы получился заградительный огонь."
#. type: \t; header
#: train201-help/tant1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train201-help/tant1.txt:6
#, no-wrap
+#, fuzzy, 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 "
@@ -79,10 +87,23 @@ msgid ""
"motor(1,-1); will turn the bot clockwise on the spot: the left-hand "
"motor moves forward, the right-hand motor moves backward."
msgstr ""
+"Когда вы управляете ботом по радио, вы можете поворачивать пушку во время "
+"выстрела, чтобы обстреливать большой угол. Вы также можете сделать это, "
+"программируя бота, но тогда вы должны будете поворачивать всего бота "
+"инструкцией motor( , ). Для это инструкции "
+"необходимо два значения: скорость левого мотора и скорость правого мотора. "
+"Эти значения должны находится в пределах -1 и +1. motor(1,1); "
+"перемещает бота вперед на максимальной скорости (оба мотора работают на "
+"полную мощность). motor(-1,-1); бот двигается назад на полной "
+"скорости. motor(1,0.9); бот двигается вперед, при этом незначительно "
+"сворачивает направо: левосторонний мотор вращается несколько быстрее, чем "
+"правосторонний. И motor(1,-1); развернет бота на месте по часовой "
+"стрелке: левосторонний мотор двигает бота вперед, а правосторонний - назад."
#. type: Plain text
#: train201-help/tant1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"After a motor instruction the motors will keep this speed "
"until the next motor, move, "
@@ -91,51 +112,71 @@ msgid ""
"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 ""
+"После инструкции motor, двигатели будут поддерживать эту "
+"скорость до следующей инструкции motor, move, turn или goto. Например, если вы делаете вращение на месте с "
+"использованием инструкции motor(1,-1); а после этого стреляете из "
+"орудия fire(1);, бот будет продолжать вращаться во время выстрела, "
+"таким образом, обстреливая большую зону."
#. type: Plain text
#: train201-help/tant1.txt:10
#, no-wrap
+#, fuzzy, 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:\n"
msgstr ""
+"Муравьи атакуют с севера. Чтобы обстрелять всю зону на север от бота, "
+"сначала поверните его на 90 градусов влево: turn(90);, после этого "
+"примените повторять всегда: while (true) "
+"следующие инструкции:\n"
#. type: Bullet: 'o'
#: train201-help/tant1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "rotate clockwise with motor(1,-1);"
-msgstr ""
+msgstr "вращать по часовой стрелке motor(1,-1);"
#. type: Bullet: 'o'
#: train201-help/tant1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "a 2 seconds burst with fire(2);"
-msgstr ""
+msgstr "стрелять 2 секунды fire(2);"
#. type: Bullet: 'o'
#: train201-help/tant1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "rotate counter-clockwise with motor(-1,1);"
-msgstr ""
+msgstr "вращать против часовой стрелки motor(-1,1);"
#. type: Bullet: 'o'
#: train201-help/tant1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "a 2 seconds burst."
-msgstr ""
+msgstr "стрелять 2 секунды."
#. type: \t; header
#: train201-help/tant1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train201-help/tant1.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train202/po/ru.po b/levels/train202/po/ru.po
index 57537e18..710a7492 100644
--- a/levels/train202/po/ru.po
+++ b/levels/train202/po/ru.po
@@ -20,58 +20,68 @@ msgstr ""
#: train202.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train202/scene.txt:1
#, no-wrap
msgid "train202:Flying tower 1"
-msgstr ""
+msgstr "train202:Летающая башня 1"
#. type: Resume-text
#: train202/scene.txt:2
#, no-wrap
msgid "train202:Make a flying defense tower out of a winged shooter."
-msgstr ""
+msgstr "train202:Создайте летающую защитную крепость из крылатого стрелка."
#. type: ScriptName-text
#: train202/scene.txt:3
#, no-wrap
msgid "train202:Move"
-msgstr ""
+msgstr "train202:Move"
#. type: \b; header
#: train202-help/tant2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train202-help/tant2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Примените в качестве защиты при нападении муравьев со всех сторон программу "
+"Spider2, чтобы иметь возможность лететь на заданной высоте."
#. type: \t; header
#: train202-help/tant2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train202-help/tant2.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Программа, необходимая для выполнения этой задачи, чем-то напоминает "
+"программу Spider2, которая ищет ближайшего муравья, "
+"поворачивает бота ему навстречу и стреляет из пушки:"
#. type: \s; block (usually verbatim code)
#: train202-help/tant2.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Spider2()\n"
"{\t\n"
@@ -85,10 +95,22 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"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"
+"}"
#. type: Plain text
#: train202-help/tant2.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You can copy-paste it to the editor, and adapt it. Replace "
"radar(AlienSpider); by radar(AlienAnt);, and write before "
@@ -96,10 +118,16 @@ msgid ""
"winged shooter until the bot reaches an altitude of 20 "
"meters."
msgstr ""
+"Вы можете копировать-вставить ее редактор, и запустить. Замените "
+"radar(AlienSpider); на radar(AlienAnt);, и напишите перед "
+"циклом while еще один цикл, активирующий под "
+"крылатым стрелком реактивный двигатель, пока бот не наберет высоту 20 "
+"мметров."
#. type: Plain text
#: train202-help/tant2.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instruction jet() controls the jet beneath "
"winged bots. The number in brackets must range between -1 and "
@@ -109,10 +137,19 @@ msgid ""
"upward slowly with jet(0.2);, wait until it has reached the desired "
"height, then stabilize the altitude with jet(0);."
msgstr ""
+"Инструкция jet() управляет двигателем под "
+"крылатыми ботами. Число в кавычках должно быть между -1 и "
+"1. jet(1); перемещает бота вверх с максимальной "
+"скоростью. jet(-1); перемещает бота с максимальной скоростью вниз, а "
+"jet(0); стабилизирует высоту. Так как боту необходимо набрать "
+"определенную высоту, медленно поднимите его вверх с jet(0.2);, "
+"подождите, пока он наберет желаемую высоту, а после этого стабилизируйте его "
+"с помощью команды jet(0);."
#. type: Plain text
#: train202-help/tant2.txt:24
#, no-wrap
+#, fuzzy, 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 "
@@ -123,20 +160,33 @@ msgid ""
"and the z-axis is the vertical axis. Therefore we must wait while "
"position.z is smaller than 20:"
msgstr ""
+"Чтобы \"подождать, пока он наберет желаемую высоту\", нам нужен цикл с "
+"условием: инструкции внутри цикла будут повторяться до того времени, пока "
+"определенное условие будет истинным. Высота бота определяется "
+"position.z. Мы уже видели, что position задает "
+"позицию бота. Позиция задается тремя координатами x, y и z: ось x - это ось "
+"запад-восток, ось y - ось юг-север, а ось z - это вертикальная ось. Поэтому "
+"мы должны подождать, пока position.z будет меньше 20 метров:"
#. type: \s; block (usually verbatim code)
#: train202-help/tant2.txt:29
#, no-wrap
+#, fuzzy, 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
#: train202-help/tant2.txt:31
#, no-wrap
+#, fuzzy, 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, "
@@ -144,17 +194,26 @@ msgid ""
"}. Do not forget after the loop to stabilize the altitude with "
"jet(0);."
msgstr ""
+"После задержки в 0.2 секунды программа проверит, какова высота бота над "
+"поверхностью, и не находится ли он ниже 20 метров. Если это так, она "
+"подождет еще немного, а если нет, программа будет продолжена после цикла, то "
+"есть после закрывающей скобки }. Не забудьте после цикла "
+"стабилизировать высоту jet(0);."
#. type: \t; header
#: train202-help/tant2.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train202-help/tant2.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train203/po/ru.po b/levels/train203/po/ru.po
index 96b52937..fe3fbc09 100644
--- a/levels/train203/po/ru.po
+++ b/levels/train203/po/ru.po
@@ -20,57 +20,69 @@ msgstr ""
#: train203.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train203/scene.txt:1
#, no-wrap
msgid "train203:Flying Tower 2"
-msgstr ""
+msgstr "train203:Летающая башня 2"
#. type: Resume-text
#: train203/scene.txt:2
#, no-wrap
msgid "train203:Program a flying tower that wastes less energy."
msgstr ""
+"train203:Запрограммируйте летающую башню так, чтобы она расходовала меньше "
+"энергии."
#. type: ScriptName-text
#: train203/scene.txt:3
#, no-wrap
msgid "train203:Move"
-msgstr ""
+msgstr "train203:Move"
#. type: \b; header
#: train203-help/tant3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train203-help/tant3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Adapt the program Tower1 in order to avoid wasting energy when "
"shooting at ants that are out of range."
msgstr ""
+"Переделайте программу Tower1, чтобы предотвратить расход "
+"энергии во время стрельбы по муравьям, которые находятся вне зоны "
+"досягаемости."
#. type: \t; header
#: train203-help/tant3.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train203-help/tant3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The program Tower1 shoots in the direction of the closest ant, "
"even if it is still out of range:"
msgstr ""
+"Программа Tower1 стреляет в направлении ближайшего муравья, "
+"даже если он находится вне досягаемости:"
#. type: \s; block (usually verbatim code)
#: train203-help/tant3.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Tour1()\n"
"{\n"
@@ -91,20 +103,45 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"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"
+"}"
#. type: Plain text
#: train203-help/tant3.txt:27
#, no-wrap
+#, fuzzy, 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 ""
+"Если бот должен проделывать то же самое действие, что и раньше болько с "
+"одной обычной батареей, вы можете вставить цикл, который "
+"заставит его подождать, пока муравей подойдет на близкое расстояние, то "
+"есть, пока муравей не окажется на расстоянии менее 40 метров. Тогда для "
+"уничтожения муравья будет достаточно всего одного выстрела."
#. type: Plain text
#: train203-help/tant3.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You can give the instruction radar more "
"parameters (numbers) indicating where the radar should look for the "
@@ -117,44 +154,73 @@ msgid ""
"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 ""
+"Вы можете задать инструкции radar больше "
+"параметров (чисел), указывающих направление, в котором радар должен искать "
+"муравьев. Например, radar(AlienAnt,0,360,0,40); будет искать только "
+"тех муравьев, которые находятся на расстоянии менее 40 метров. Первые два "
+"числа сообщают радару о том, что он должен проводить поиск во всех "
+"направлениях, а два последних числа говорят радару замечать только тех "
+"муравьев, которые находятся на расстоянии от 0 до 40 метров. Если на "
+"расстоянии менее 40 метров не обнаружено ни одного муравья, инструкции "
+"radar возвращается значение "
+"null. Теперь мы можем написать цикл с условием, похожий на "
+"цикл, написанный в последнем упражнении, который ждет, пока нет ни одного "
+"муравья на расстоянии менее 40 метров:"
#. type: \s; block (usually verbatim code)
#: train203-help/tant3.txt:34
#, no-wrap
+#, fuzzy, 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
#: train203-help/tant3.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Notice that two equal signs \"==\" are needed to perform a comparison of "
"equality."
msgstr ""
+"Заметьте, что два знака равенства \"==\" необходимы для того, чтобы "
+"произвести сравнение равенств."
#. type: Plain text
#: train203-help/tant3.txt:38
#, no-wrap
+#, fuzzy, 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 ""
+"Просто вставьте эти линии перед инструкцией fire(0);, и будет ждать "
+"перед тем, как сделать выстрел того момента, пока муравей не приблизится на "
+"расстояние менее 40 метров. Обычной батареи хватает для того, чтобы убить "
+"всех муравьев."
#. type: \t; header
#: train203-help/tant3.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train203-help/tant3.txt:40
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train204/po/ru.po b/levels/train204/po/ru.po
index ac9aad1a..1de9cfc7 100644
--- a/levels/train204/po/ru.po
+++ b/levels/train204/po/ru.po
@@ -20,56 +20,66 @@ msgstr ""
#: train204.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train204/scene.txt:1
#, no-wrap
msgid "train204:Fighter Jet 1"
-msgstr ""
+msgstr "train204:Истребитель 1"
#. type: Resume-text
#: train204/scene.txt:2
#, no-wrap
msgid "train204:Instruct a winged shooter to clean the whole region."
-msgstr ""
+msgstr "train204:Прикажите крылатому стрелку очистить зону."
#. type: ScriptName-text
#: train204/scene.txt:3
#, no-wrap
msgid "train204:Move"
-msgstr ""
+msgstr "train204:Move"
#. type: \b; header
#: train204-help/tant4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objectif"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train204-help/tant4.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program a winged shooter to hunt all ants in the region."
msgstr ""
+"Запрограммируйте крылатого стрелка, чтобы тот уничтожил "
+"всех муравьев в этом регионе."
#. type: \t; header
#: train204-help/tant4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train204-help/tant4.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"В этом болоте от колесного или гусеничного стрелка пользы мало. А муравьи, в "
+"отличие от пауков, продолжают двигаться: вы не можете просто повернуться к "
+"ближайшему муравью, вы должны идти вперед и стрелять."
#. type: Plain text
#: train204-help/tant4.txt:8
#, no-wrap
+#, fuzzy, 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 "
@@ -79,17 +89,30 @@ msgid ""
"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 ""
+"Самый простой способ решения это проблемы заключается в том, что вы должны "
+"летать но высоте 10 метров, целиться вниз aim(-20);, и, "
+"приближаться к муравью с условным циклом, пока distance "
+"больше 20 м. В этом условном цикле вы должны найти ближайшего муравья, "
+"развернуться в его сторону, разогнать моторы на полную мощность "
+"motor(1,1);, и немного подождать, например, 0.2 секунды. Все эти "
+"инструкции должны повторяться до тех пор, пока муравей не приблизиться к вам "
+"на расстояние менее 20 метров. После этого вы должны просто выстрелить в "
+"него."
#. type: \t; header
#: train204-help/tant4.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train204-help/tant4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train205/po/ru.po b/levels/train205/po/ru.po
index 94900dcd..a49659ec 100644
--- a/levels/train205/po/ru.po
+++ b/levels/train205/po/ru.po
@@ -20,55 +20,64 @@ msgstr ""
#: train205.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train205/scene.txt:1
#, no-wrap
msgid "train205:Fighter Jet 2"
-msgstr ""
+msgstr "train205:Истребитель 2"
#. type: Resume-text
#: train205/scene.txt:2
#, no-wrap
msgid "train205:Adapt the program to a mountainous terrain."
-msgstr ""
+msgstr "train205:Приспособьте программу к горной местности."
#. type: ScriptName-text
#: train205/scene.txt:3
#, no-wrap
msgid "train205:Move"
-msgstr ""
+msgstr "train205:Move"
#. type: \b; header
#: train205-help/tant5.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train205-help/tant5.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Adapt the flying height of the winged shooter to the "
"terrain."
msgstr ""
+"Приспособьте высоту полета крылатого стрелка к "
+"неровностям местности."
#. type: \t; header
#: train205-help/tant5.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train205-help/tant5.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Here is one more time the program of the previous exercise that hunts ants:"
msgstr ""
+"Еще раз приводится программа из предыдущего упражнения, которая охотится на "
+"муравьев:"
#. type: \s; block (usually verbatim code)
#: train205-help/tant5.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::JetFighter1()\n"
"{\n"
@@ -95,10 +104,35 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"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"
+"}"
#. type: Plain text
#: train205-help/tant5.txt:33
#, no-wrap
+#, fuzzy, 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 "
@@ -106,10 +140,17 @@ msgid ""
"wait(0.2); a test to see if the height above ground is too low or "
"too high, and to react accordingly."
msgstr ""
+"Бот всегда остается на высоте 10 метров над уровнем моря. Это не подходит "
+"для горной местности текущего упражнения, бот должен приспособиться к "
+"местности. Лучший способ достичь этого заключается в том, чтобы вставить "
+"перед wait(0.2); проверку, чтобы узнать текущую высоту бота над "
+"землей: большая она или малая, и заставить бота соответственно реагировать "
+"на это."
#. type: Plain text
#: train205-help/tant5.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We already saw that position.z gives the altitude above sea "
"level. topo(position) gives the altitude of "
@@ -121,10 +162,20 @@ msgid ""
"program these tests, use the instruction if, "
"that executes the instructions in braces only once if the condition is true:"
msgstr ""
+"Мы уже увидели, что position.z задает высоту над уровнем моря. "
+"topo(position) задает высоту земли в том "
+"месте, где стоит бот. Если мы хотим, чтобы бот оставался над землей на "
+"высоте между 6 и 9 метрами, то должны учитывать следующие случаи: если "
+"position.z-topo(position) меньше 6, бот должен набрать высоту "
+"jet(1);. Если position.z-topo(position) больше 9, бот "
+"должен опуститься вниз jet(-1);. Чтобы запрограммировать эти "
+"проверки, используйте инструкцию if, которая "
+"запускает инструкцию в скобках только раз, если условие истинно:"
#. type: \s; block (usually verbatim code)
#: train205-help/tant5.txt:46
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tjet(0);\n"
"\tif (position.z-topo(position) < 6)\n"
@@ -137,36 +188,60 @@ msgid ""
"\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
#: train205-help/tant5.txt:48
#, no-wrap
+#, fuzzy, 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 ""
+"Перед тем, как начать проверку, стабилизируйте высоту бота jet(0);: "
+"в случае, когда высота над землей лежит между 6 и 9 метрами, бот не должен "
+"подниматься или опускаться. В противном случае выполняется или "
+"jet(1); или jet(-1); , что отменит предыдущее "
+"jet(0);."
#. type: Plain text
#: train205-help/tant5.txt:50
#, no-wrap
+#, fuzzy, 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 ""
+"Просто вставьте эти строки перед wait(0.2), и бот сможет "
+"приспосабливаться к местности. После этого вы можете удалить первые строки "
+"программы, устанавливающие начальную высоту в 10 метров."
#. type: \t; header
#: train205-help/tant5.txt:51
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train205-help/tant5.txt:52
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train206/po/ru.po b/levels/train206/po/ru.po
index 5410fc77..15556abd 100644
--- a/levels/train206/po/ru.po
+++ b/levels/train206/po/ru.po
@@ -20,55 +20,62 @@ msgstr ""
#: train206.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train206/scene.txt:1
#, no-wrap
msgid "train206:Wasp Hunter 1"
-msgstr ""
+msgstr "train206:Охотник на ос 1"
#. type: Resume-text
#: train206/scene.txt:2
#, no-wrap
msgid "train206:Shoot down the flying wasps."
-msgstr ""
+msgstr "train206:Уничтожьте летающих ос."
#. type: ScriptName-text
#: train206/scene.txt:3
#, no-wrap
msgid "train206:Wasp1"
-msgstr ""
+msgstr "train206:Wasp1"
#. type: \b; header
#: train206-help/twasp1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train206-help/twasp1.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid "Shoot down the flying wasps."
-msgstr ""
+msgstr "Убейте летающих ос."
#. type: \t; header
#: train206-help/twasp1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train206-help/twasp1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Here is again the program of the previous exercise that shoots all ants and "
"adapts to the terrain:"
msgstr ""
+"Вот программа из предыдущего упражнения, которая стреляет по муравьям и "
+"приспосабливается к местности:"
#. type: \s; block (usually verbatim code)
#: train206-help/twasp1.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::JetFighter2()\n"
"{\n"
@@ -101,10 +108,41 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::JetFighter2()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\taim(-20);\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\t\n"
+"\t\t\tjet(0);\n"
+"\t\t\tif (position.z-topo(position) < 6)\n"
+"\t\t\t{\n"
+"\t\t\t\tjet(1);\n"
+"\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tif (position.z-topo(position) > 9)\n"
+"\t\t\t{\n"
+"\t\t\t\tjet(-1);\n"
+"\t\t\t}\n"
+"\t\t\twait(0.2);\n"
+"\t\t}\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train206-help/twasp1.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to adapt the program to shooting wasps, you need to make a few "
"changes. Replace all radar(AlienAnt) with "
@@ -120,33 +158,56 @@ msgid ""
"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 ""
+"Чтобы приспособить программу к уничтожению ос, вы должны сделать некоторые "
+"изменения. Замените все radar(AlienAnt) на "
+"radar(AlienWasp). Пушка должна целиться премо вперед, а не "
+"вниз, замените aim(-20); на aim(0);. Бот должен лететь на "
+"той же высоте, что и оса. Для этого вы должны сравнить высоту полета бота, "
+"заданную position.z, с высотой полета осы, заданной "
+"item.position.z: если position.z > item.position.z"
+", медленно снизьте высоту jet(-0.3);. Если position.z < "
+"item.position.z-1, медленно наберите высоту jet(0.3);. "
+"Крылатый стрелок выше осы, поэтому будет лучше, если высота полета бота "
+"будет немного меньше высоты полета осы. В этом случае мы допускаем, что "
+"высота бота может изменяться от высоты полета осы до высоты полета осы минус "
+"1."
#. type: \t; header
#: train206-help/twasp1.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid "Further improvement"
-msgstr ""
+msgstr "Дальнейшее улучшение"
#. type: Plain text
#: train206-help/twasp1.txt:41
#, no-wrap
+#, fuzzy, 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 ""
+"Осы летают очень быстро. Чтобы увеличить свои шансы попадания в осу, лучше "
+"повторить сразу перед fire(1);radar и "
+"turn , чтобы провести последнее исправление направления перед "
+"тем, как сделать выстрел."
#. type: \t; header
#: train206-help/twasp1.txt:42
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train206-help/twasp1.txt:43
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train207/po/pl.po b/levels/train207/po/pl.po
index 5d392762..cd232e94 100644
--- a/levels/train207/po/pl.po
+++ b/levels/train207/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train207.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train207/scene.txt:1
#, no-wrap
msgid "train207:Wasp Hunter 2"
-msgstr ""
+msgstr "train207:Polowanie na osy 2"
#. type: Resume-text
#: train207/scene.txt:2
#, no-wrap
msgid "train207:Get better at shooting down the wasps."
-msgstr ""
+msgstr "train207:Doskonal się w zestrzeliwaniu os."
#. type: ScriptName-text
#: train207/scene.txt:3
#, no-wrap
msgid "train207:Wasp2"
-msgstr ""
+msgstr "train207:Osa2"
#. type: \b; header
#: train207-help/twasp2.txt:1
#, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Zadanie"
#. type: Plain text
#: train207-help/twasp2.txt:3
@@ -52,13 +52,13 @@ msgstr ""
msgid ""
"Bring down the flying wasps in a more efficient way than with the previous "
"program."
-msgstr ""
+msgstr "Zestrzel wszystkie osy nieco efektywniej niż w poprzednim programie."
#. type: \b; header
#: train207-help/twasp2.txt:4
#, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train207-help/twasp2.txt:6
@@ -67,6 +67,8 @@ msgid ""
"Here is again the program of the previous exercise that shoots down all the "
"wasps after many, many unsuccessful attempts:"
msgstr ""
+"Oto program z poprzedniego ćwiczenia, który zabija wszystkie osy, jednak po "
+"bardzo wielu nieudanych próbach:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:39
@@ -106,6 +108,39 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::Wasp1()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\taim(0);\n"
+"\t\n"
+"\twhile (true)\n"
+"\t{\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"
+"\t\t\tmotor(1,1);\n"
+"\t\t\t\n"
+"\t\t\tjet(0);\n"
+"\t\t\tif (position.z > item.position.z)\n"
+"\t\t\t{\n"
+"\t\t\t\tjet(-0.3);\n"
+"\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tif (position.z < item.position.z - 1)\n"
+"\t\t\t{\n"
+"\t\t\t\tjet(0.3);\n"
+"\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\twait(0.2);\n"
+"\t\t}\n"
+"\t\titem = radar(AlienWasp);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train207-help/twasp2.txt:41
@@ -116,6 +151,10 @@ msgid ""
"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 ""
+"Wiele niecelnych strzałów jest spowodowanych faktem, że osa odleciała, zanim "
+"doleciał do niej pocisk. Jedynym sposobem usprawnienia programu jest "
+"ustawienie mocy obu silników oraz silnika odrzutowego w ten sposób, aby "
+"robot podążał tą samą trasą co cel podczas strzału."
#. type: Plain text
#: train207-help/twasp2.txt:43
@@ -128,6 +167,11 @@ msgid ""
"left during the burst; if the angle was negative, the bot must continue to "
"turn right."
msgstr ""
+"Bezpośrednio przed strzałem program po raz ostatni reguluje kierunek "
+"instrukcją turn(direction(item.position));. Aby podążać za osą w "
+"trakcie strzelania, należy \"zapamiętać\" kąt ostatniego obrotu: jeśli był "
+"on dodatni(obrót w lewo), robot powinien się obracać w lewo podczas "
+"strzelania; jeśli był ujemny, robot powinien obracać się w prawo."
#. type: Plain text
#: train207-help/twasp2.txt:45
@@ -138,12 +182,15 @@ msgid ""
"angle, we must define the variable with the following line at "
"the beginning of the program:"
msgstr ""
+"Do \"zapamiętania\" kąta ostatniego obrotu potrzebna będzie zmienna, "
+"zawierająca tylko jedną liczbę. Jeśli nazwiesz ją angle, należy "
+"zdefiniować zmienną za pomocą następującego wiersza na początku programu:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:47
#, no-wrap
msgid "\tfloat angle;"
-msgstr ""
+msgstr "\tfloat angle;"
#. type: Plain text
#: train207-help/twasp2.txt:49
@@ -154,6 +201,10 @@ msgid ""
"text about variable types if you want to know more about "
"the different types of variables and what they can contain."
msgstr ""
+"Zmienna typu float jest zmienną typu, który może "
+"przechowywać każdą liczbę, całkowitą bądź rzeczywistą. Zobacz "
+"tekst o typach zmiennych jeśli chcesz wiedzieć więcej o różnych typach "
+"zmiennych oraz co one zawierają."
#. type: Plain text
#: train207-help/twasp2.txt:51
@@ -163,12 +214,15 @@ msgid ""
"cbot|turn>turn(direction(item.position));, we "
"will put the rotation angle into the variable angle:"
msgstr ""
+"Bezpośrednio przed instrukcją fire(1);, zamiast pisać turn(direction(item.position));, umieść "
+"kąt obrotu w zmiennej angle:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:53
#, no-wrap
msgid "\tangle = direction(item.position);"
-msgstr ""
+msgstr "\tangle = direction(item.position);"
#. type: Plain text
#: train207-help/twasp2.txt:55
@@ -177,6 +231,8 @@ msgid ""
"Then we perform the rotation, and we set the power of the motors so that the "
"bot continues the movement:"
msgstr ""
+"Następnie wykonaj obrót i ustaw moc silników tak, aby robot kontynuował "
+"poruszanie się:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:65
@@ -192,6 +248,15 @@ msgid ""
"\t\tmotor(0.5,1);\n"
"\t}"
msgstr ""
+"\tturn(angle);\n"
+"\tif (angle < 0)\n"
+"\t{\n"
+"\t\tmotor(1,0.5);\n"
+"\t}\n"
+"\telse\n"
+"\t{\n"
+"\t\tmotor(0.5,1);\n"
+"\t}"
#. type: Plain text
#: train207-help/twasp2.txt:67
@@ -201,6 +266,8 @@ msgid ""
"should execute if the condition stated in the if instruction is "
"false."
msgstr ""
+"Instrukcja else określa jakie instrukcje powinien wykonać "
+"program jeśli warunek podany instrukcji if jest fałszywy."
#. type: Plain text
#: train207-help/twasp2.txt:69
@@ -209,6 +276,8 @@ msgid ""
"Then we must set the power of the jet so that the bot follows the wasp also "
"in the vertical direction:"
msgstr ""
+"Następnie trzeba ustawić moc silników odrzutowych, aby robot utrzymywał "
+"również tą samą wysokość co osa:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:80
@@ -225,18 +294,29 @@ msgid ""
"\t\tjet(0.3);\n"
"\t}"
msgstr ""
+"\tjet(0);\n"
+"\tif(position.z > item.position.z)\n"
+"\t{\n"
+"\t\tjet(-0.3);\n"
+"\t}\n"
+"\t\n"
+"\tif(position.z < item.position.z - 1)\n"
+"\t{\n"
+"\t\tjet(0.3);\n"
+"\t}"
#. type: Plain text
#: train207-help/twasp2.txt:82
#, no-wrap
msgid "As you will see, this program is much more efficient than the previous one!"
msgstr ""
+"Każdy zauważy, że ten program jest o wiele skuteczniejszy od poprzedniego!"
#. type: \t; header
#: train207-help/twasp2.txt:83
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train207-help/twasp2.txt:84
@@ -245,3 +325,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train207/po/ru.po b/levels/train207/po/ru.po
index 81d42169..d51e4181 100644
--- a/levels/train207/po/ru.po
+++ b/levels/train207/po/ru.po
@@ -20,57 +20,66 @@ msgstr ""
#: train207.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train207/scene.txt:1
#, no-wrap
msgid "train207:Wasp Hunter 2"
-msgstr ""
+msgstr "train207:Охотник на ос 2"
#. type: Resume-text
#: train207/scene.txt:2
#, no-wrap
msgid "train207:Get better at shooting down the wasps."
-msgstr ""
+msgstr "train207:Улучшите технику стрельбы по осам."
#. type: ScriptName-text
#: train207/scene.txt:3
#, no-wrap
msgid "train207:Wasp2"
-msgstr ""
+msgstr "train207:Wasp2"
#. type: \b; header
#: train207-help/twasp2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Objective"
-msgstr ""
+msgstr "Задание"
#. type: Plain text
#: train207-help/twasp2.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Bring down the flying wasps in a more efficient way than with the previous "
"program."
msgstr ""
+"Убейте ос с еще большей эффективностью, чем вы делали это с помощью "
+"предыдущей программы."
#. type: \b; header
#: train207-help/twasp2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train207-help/twasp2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Here is again the program of the previous exercise that shoots down all the "
"wasps after many, many unsuccessful attempts:"
msgstr ""
+"Вот программа из предыдущего упражнения, которая уничтожила всех ос после "
+"многих, многих неудачных попыток:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Wasp1()\n"
"{\n"
@@ -106,20 +115,59 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::Wasp1()\n"
+"{\n"
+"\tobject item;\n"
+"\t\n"
+"\taim(0);\n"
+"\t\n"
+"\twhile (true)\n"
+"\t{\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"
+"\t\t\tmotor(1,1);\n"
+"\t\t\t\n"
+"\t\t\tjet(0);\n"
+"\t\t\tif (position.z > item.position.z)\n"
+"\t\t\t{\n"
+"\t\t\t\tjet(-0.3);\n"
+"\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tif (position.z < item.position.z - 1)\n"
+"\t\t\t{\n"
+"\t\t\t\tjet(0.3);\n"
+"\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\twait(0.2);\n"
+"\t\t}\n"
+"\t\titem = radar(AlienWasp);\n"
+"\t\tturn(direction(item.position));\n"
+"\t\tfire(1);\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train207-help/twasp2.txt:41
#, no-wrap
+#, fuzzy, 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 ""
+"Многие ошибки возникали из-за того, что оса уже улетела до того, как пуля "
+"могла в нее попасть. Единственный способ улучшить программу- это установить "
+"мощность двух моторов и реактивного двигателя таким способом, чтобы во время "
+"выстрела бот летел по тому же курсу, что и цель."
#. type: Plain text
#: train207-help/twasp2.txt:43
#, no-wrap
+#, fuzzy, 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 "
@@ -128,59 +176,85 @@ msgid ""
"left during the burst; if the angle was negative, the bot must continue to "
"turn right."
msgstr ""
+"Сразу перед выстрелом программа настраивает последнее направление с помощью "
+"turn(direction(item.position));. Чтобы лететь за осой во время "
+"выстрела, вы должны \"запомнить\" угол этого последнего поворота: если угол "
+"был положительный (поворот влево), бот должен продолжать разворачиваться "
+"влево во время выстрела; если же угол был отрицательным, бот должен "
+"продолжать поворачиваться вправо."
#. type: Plain text
#: train207-help/twasp2.txt:45
#, no-wrap
+#, fuzzy, 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 ""
+"Чтобы \"запомнить\" угол последнего поворота, нам нужна переменная, которая "
+"может содержать только одно число. Если мы назовем ее angle, мы "
+"должны задать переменную со следующей строки в самом начале программы:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tfloat angle;"
-msgstr ""
+msgstr "\tfloat angle;"
#. type: Plain text
#: train207-help/twasp2.txt:49
#, no-wrap
+#, fuzzy, 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 ""
+"Тип переменной float это изменчивый тип, который может "
+"содержать любое число, то есть целые числа или вещественные числа. "
+"Обратитесь пожалуйста к тексту о типах переменных , если вы "
+"захотите узнать больше о различных типах переменных и о том, что они могут "
+"содержать."
#. type: Plain text
#: train207-help/twasp2.txt:51
#, no-wrap
+#, fuzzy, 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 ""
+"Сразу перед инструкцией fire(1);, вместо того, чтобы писать turn(direction(item.position));, мы "
+"установим угол поворота в переменную angle:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:53
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tangle = direction(item.position);"
-msgstr ""
+msgstr "\tangle = direction(item.position);"
#. type: Plain text
#: train207-help/twasp2.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Then we perform the rotation, and we set the power of the motors so that the "
"bot continues the movement:"
msgstr ""
+"После этого мы произведем поворот и установим мощность моторов таким "
+"образом, чтобы бот продолжил движение:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:65
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tturn(angle);\n"
"\tif (angle < 0)\n"
@@ -192,27 +266,44 @@ msgid ""
"\t\tmotor(0.5,1);\n"
"\t}"
msgstr ""
+"\tturn(angle);\n"
+"\tif (angle < 0)\n"
+"\t{\n"
+"\t\tmotor(1,0.5);\n"
+"\t}\n"
+"\telse\n"
+"\t{\n"
+"\t\tmotor(0.5,1);\n"
+"\t}"
#. type: Plain text
#: train207-help/twasp2.txt:67
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instruction else determines what instructions the program "
"should execute if the condition stated in the if instruction is "
"false."
msgstr ""
+"Инструкция else определяет то, какую инструкцию должна "
+"выполнить программа, если условие, указанное инструкцией if, "
+"ложное."
#. type: Plain text
#: train207-help/twasp2.txt:69
#, no-wrap
+#, fuzzy, 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 ""
+"Потом мы должны установить мощность двигателя таким образом, чтобы бот "
+"следовал за осой также и в вертикальном направлении:"
#. type: \s; block (usually verbatim code)
#: train207-help/twasp2.txt:80
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tjet(0);\n"
"\tif(position.z > item.position.z)\n"
@@ -225,23 +316,38 @@ msgid ""
"\t\tjet(0.3);\n"
"\t}"
msgstr ""
+"\tjet(0);\n"
+"\tif(position.z > item.position.z)\n"
+"\t{\n"
+"\t\tjet(-0.3);\n"
+"\t}\n"
+"\t\n"
+"\tif(position.z < item.position.z - 1)\n"
+"\t{\n"
+"\t\tjet(0.3);\n"
+"\t}"
#. type: Plain text
#: train207-help/twasp2.txt:82
#, no-wrap
+#, fuzzy, no-wrap
msgid "As you will see, this program is much more efficient than the previous one!"
-msgstr ""
+msgstr "Как вы видите, эта программа намного эффективней предыдущей!"
#. type: \t; header
#: train207-help/twasp2.txt:83
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train207-help/twasp2.txt:84
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train3-po/pl.po b/levels/train3-po/pl.po
index 4aa09a19..aec2212a 100644
--- a/levels/train3-po/pl.po
+++ b/levels/train3-po/pl.po
@@ -20,10 +20,10 @@ msgstr ""
#: train3.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-resume
#: train3/train300.txt:1 train3/train300.txt:1
#, no-wrap
msgid "train300:Fundamentals"
-msgstr ""
+msgstr "train300:Podstawy"
diff --git a/levels/train3-po/ru.po b/levels/train3-po/ru.po
index d85d2b4c..bfefabe1 100644
--- a/levels/train3-po/ru.po
+++ b/levels/train3-po/ru.po
@@ -20,10 +20,10 @@ msgstr ""
#: train3.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-resume
#: train3/train300.txt:1 train3/train300.txt:1
#, no-wrap
msgid "train300:Fundamentals"
-msgstr ""
+msgstr "train300:Основы"
diff --git a/levels/train301/po/pl.po b/levels/train301/po/pl.po
index fbae287c..4da2b33b 100644
--- a/levels/train301/po/pl.po
+++ b/levels/train301/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train301.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train301/scene.txt:1
#, no-wrap
msgid "train301:Follow a path"
-msgstr ""
+msgstr "train301:Podążaj ścieżką"
#. type: Resume-text
#: train301/scene.txt:2
#, no-wrap
msgid "train301:Move the bot along a given path."
-msgstr ""
+msgstr "train301:Poruszaj robotem wzdłuż zadanej trasy."
#. type: ScriptName-text
#: train301/scene.txt:3
#, no-wrap
msgid "train301:Move"
-msgstr ""
+msgstr "train301:Poruszanie"
#. type: \b; header
#: train301-help/tmove1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train301-help/tmove1.txt:3
@@ -53,24 +53,26 @@ msgid ""
"Program the robot in such a way that it arrives on the finishing pad, after "
"having passed by the three blue crosses."
msgstr ""
+"Zaprogramuj robota aby dotarł na platformę końcową po przejściu przez trzy "
+"niebieskie plusy."
#. type: \b; header
#: train301-help/tmove1.txt:4
#, no-wrap
msgid "Procedure"
-msgstr ""
+msgstr "Procedura"
#. type: Bullet: '1)'
#: train301-help/tmove1.txt:5
#, no-wrap
msgid "Take the power cell and put it on the rear of the bot."
-msgstr ""
+msgstr "Weź ogniwo elektryczne i umieść je z tyłu robota."
#. type: Bullet: '2)'
#: train301-help/tmove1.txt:6
#, no-wrap
msgid "Walk around on reconnaissance to understand what the bot must do. "
-msgstr ""
+msgstr "Zrób rekonesans, aby zrozumieć co powinien zrobić robot. "
#. type: Bullet: '3)'
#: train301-help/tmove1.txt:7
@@ -79,6 +81,8 @@ 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 ""
+"Zaprogramuj robota. Aby to zrobić, musisz go zaznaczyć, a następnie kliknąć "
+"przycisk z klamrami ; dostaniesz się do edytora programu."
#. type: Bullet: '4)'
#: train301-help/tmove1.txt:8
@@ -87,12 +91,14 @@ msgid ""
"Once you finished writing the program, click \"OK\", and execute the program "
"with the arrow key ."
msgstr ""
+"Po zakończeniu pisania programu, kliknij przycisk \"OK\" i uruchom program "
+"przyciskiem strzałki ."
#. type: \b; header
#: train301-help/tmove1.txt:10
#, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train301-help/tmove1.txt:15
@@ -103,12 +109,16 @@ msgid ""
"The instruction turn(90); turns left with an angle of 90 degrees. \n"
"The instruction turn(-90); turns right with an angle of 90 degrees. "
msgstr ""
+"Odległości między platformami wynoszą po 20 metrów.\n"
+"Instrukcja move(20); przemieszcza robota 20 metrów do przodu. \n"
+"Instrukcja turn(90); obraca robota w lewo o 90 stopni. \n"
+"Instrukcja turn(-90); obraca robota w prawo o 90 stopni. "
#. type: Plain text
#: train301-help/tmove1.txt:17
#, no-wrap
msgid "The frame of the program consists in:"
-msgstr ""
+msgstr "Schemat programu wygląda następująco:"
#. type: \s; block (usually verbatim code)
#: train301-help/tmove1.txt:22
@@ -119,6 +129,10 @@ msgid ""
"\t\t\\\\write the necessary instructions here ...\n"
"\t}"
msgstr ""
+"\textern void object::MoveBot( )\n"
+"\t{\n"
+"\t\t\\\\tutaj wpisz potrzebne instrukcje...\n"
+"\t}"
#. type: Plain text
#: train301-help/tmove1.txt:24
@@ -128,12 +142,14 @@ msgid ""
"instructions you need to move the bot around between the braces { "
"}."
msgstr ""
+"Jak na razie nie musisz zmieniać tego schematu. Wystarczy pomiędzy klamry "
+"{ } wstawić potrzebne instrukcje, poruszające robotem."
#. type: \b; header
#: train301-help/tmove1.txt:25
#, no-wrap
msgid "Attention"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train301-help/tmove1.txt:28
@@ -142,12 +158,14 @@ msgid ""
"Be very careful about upper case and lower case letters!\n"
"Every instruction must be terminated with a semicolon. "
msgstr ""
+"Zwracaj uwagę na wielkie i małe litery!\n"
+"Każda instrukcja powinna być zakończona średnikiem. "
#. type: \b; header
#: train301-help/tmove1.txt:29
#, no-wrap
msgid "Helpful trick"
-msgstr ""
+msgstr "Przydatna sztuczka"
#. type: Plain text
#: train301-help/tmove1.txt:31
@@ -157,12 +175,15 @@ msgid ""
"button , and by moving the mouse to the edges of the "
"window to turn the camera. "
msgstr ""
+"Podczas pisania programu możesz obserwować scenę, klikając przycisk "
+" i poruszając myszą w kierunku krawędzi ekranu w celu "
+"obrócenia kamery. "
#. type: \t; header
#: train301-help/tmove1.txt:32
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train301-help/tmove1.txt:33
@@ -171,3 +192,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train301/po/ru.po b/levels/train301/po/ru.po
index 323fe538..e99700a7 100644
--- a/levels/train301/po/ru.po
+++ b/levels/train301/po/ru.po
@@ -20,154 +20,195 @@ msgstr ""
#: train301.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train301/scene.txt:1
#, no-wrap
msgid "train301:Follow a path"
-msgstr ""
+msgstr "train301:Следуйте по тропе"
#. type: Resume-text
#: train301/scene.txt:2
#, no-wrap
msgid "train301:Move the bot along a given path."
-msgstr ""
+msgstr "train301:Ведите бота по указанному пути."
#. type: ScriptName-text
#: train301/scene.txt:3
#, no-wrap
msgid "train301:Move"
-msgstr ""
+msgstr "train301:Move"
#. type: \b; header
#: train301-help/tmove1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train301-help/tmove1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Запрограммируйте бота таким образом, чтобы он прибыл на финишную площадку "
+"после того, как пройдет три синих креста."
#. type: \b; header
#: train301-help/tmove1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Procedure"
-msgstr ""
+msgstr "Процедура"
#. type: Bullet: '1)'
#: train301-help/tmove1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Take the power cell and put it on the rear of the bot."
-msgstr ""
+msgstr "Взять батарею и разместить ее в задней части бота."
#. type: Bullet: '2)'
#: train301-help/tmove1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Walk around on reconnaissance to understand what the bot must do. "
-msgstr ""
+msgstr "Произвести разведку, чтобы понять то, что должен сделать бот."
#. type: Bullet: '3)'
#: train301-help/tmove1.txt:7
#, no-wrap
+#, fuzzy, 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 ""
+"Запрограммируйте бота. Чтобы сделать это, вы должны выбрать его и щелкнуть "
+"на кнопке скобок ; и вы окажетесь в редакторе программы."
#. type: Bullet: '4)'
#: train301-help/tmove1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Once you finished writing the program, click \"OK\", and execute the program "
"with the arrow key ."
msgstr ""
+"После того, как вы закончите писать программу, нажмите \"OK\" и запустите "
+"программу, нажав кнопку со стрелкой ."
#. type: \b; header
#: train301-help/tmove1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train301-help/tmove1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The pads are at a distance of 20 meters from each other.\n"
"The instruction move(20); moves 20 meters forward. \n"
"The instruction turn(90); turns left with an angle of 90 degrees. \n"
"The instruction turn(-90); turns right with an angle of 90 degrees. "
msgstr ""
+"Площадки расположены на расстоянии 20 метров друг от друга.\n"
+"Инструкция move(20); перемещает на 20 метров вперед.\n"
+"Инструкция turn(90); разворачивает влево на угол в 90 градусов.\n"
+"Инструкция turn(-90); разворачивает вправо на угол в 90 градусов."
#. type: Plain text
#: train301-help/tmove1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "The frame of the program consists in:"
-msgstr ""
+msgstr "Фрейм программы заключается в:"
#. type: \s; block (usually verbatim code)
#: train301-help/tmove1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\textern void object::MoveBot( )\n"
"\t{\n"
"\t\t\\\\write the necessary instructions here ...\n"
"\t}"
msgstr ""
+"\textern void object::MoveBot( )\n"
+"\t{\n"
+"\t\t\\\\write the necessary instructions here ...\n"
+"\t}"
#. type: Plain text
#: train301-help/tmove1.txt:24
#, no-wrap
+#, fuzzy, 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 { "
"}."
msgstr ""
+"Вы не должны изменять фрейм программы. Просто вставьте сюда инструкции, "
+"которые вам необходимы для перемещения бота в кавычках { }."
#. type: \b; header
#: train301-help/tmove1.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "Attention"
-msgstr ""
+msgstr "Внимание"
#. type: Plain text
#: train301-help/tmove1.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Be very careful about upper case and lower case letters!\n"
"Every instruction must be terminated with a semicolon. "
msgstr ""
+"Будьте очень внимательны с символами в верхнем и нижнем регистре!\n"
+"Каждая инструкция должна заканчиваться точкой с запятой."
#. type: \b; header
#: train301-help/tmove1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid "Helpful trick"
-msgstr ""
+msgstr "Полезные подсказки"
#. type: Plain text
#: train301-help/tmove1.txt:31
#, no-wrap
+#, fuzzy, 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 ""
+"Когда вы пишите программу, вы можете просмотреть сцену, нажав клавишу "
+"<Уменьшить> , и подводя мышь к краям окна, чтобы повернуть "
+"камеру."
#. type: \t; header
#: train301-help/tmove1.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train301-help/tmove1.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train302/po/pl.po b/levels/train302/po/pl.po
index e6a2cb8c..89c51d15 100644
--- a/levels/train302/po/pl.po
+++ b/levels/train302/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train302.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train302/scene.txt:1
#, no-wrap
msgid "train302:Follow with variables"
-msgstr ""
+msgstr "train302:Podążaj ze zmiennymi"
#. type: Resume-text
#: train302/scene.txt:2
#, no-wrap
msgid "train302:Use variables in order to store the parameters of the path."
-msgstr ""
+msgstr "train302:Użyj zmiennych do zapamiętania parametrów ścieżki."
#. type: ScriptName-text
#: train302/scene.txt:3
#, no-wrap
msgid "train302:Move"
-msgstr ""
+msgstr "train302:Poruszanie"
#. type: \b; header
#: train302-help/tmove2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train302-help/tmove2.txt:4
@@ -58,6 +58,13 @@ msgid ""
"rewriting the same values over and over again in the program, we can store "
"them in a variable: "
msgstr ""
+"To ćwiczenie jest bardzo podobne do poprzedniego. Robot musi się poruszać "
+"dokładnie w ten sam sposób, ale podczas pisania programu musisz użyć nowego, "
+"niezwykle ważnego w programowaniu rozwiązania, a mianowicie zmiennych.\n"
+"Jak wiadomo, odległości pomiędzy platformami wynoszą 20 metrów, a wszystkie "
+"wykonywane obroty mają po 90 stopni. Zamiast w programie wciąż przepisywać "
+"te same wartości, można przechować je w zmiennych: "
#. type: Plain text
#: train302-help/tmove2.txt:7
@@ -66,6 +73,8 @@ msgid ""
"Instead of:\n"
"\tmove(20);"
msgstr ""
+"Zamiast:\n"
+"\tmove(20);"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:11
@@ -76,6 +85,10 @@ msgid ""
"\tturn(-90);\n"
"\t..."
msgstr ""
+"\tturn(90);\n"
+"\tmove(20);\n"
+"\tturn(-90);\n"
+"\t..."
#. type: Plain text
#: train302-help/tmove2.txt:14
@@ -84,6 +97,8 @@ msgid ""
"We write :\n"
"\tdist = 20;"
msgstr ""
+"Napiszemy:\n"
+"\tdist = 20;"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:20
@@ -96,42 +111,48 @@ msgid ""
"\tturn(-dir);\n"
"\t..."
msgstr ""
+"\tdir = 90;\n"
+"\tmove(dist);\n"
+"\tturn(dir);\n"
+"\tmove(dist);\n"
+"\tturn(-dir);\n"
+"\t..."
#. type: \b; header
#: train302-help/tmove2.txt:21
#, no-wrap
msgid "Variables"
-msgstr ""
+msgstr "Zmienne"
#. type: Plain text
#: train302-help/tmove2.txt:23
#, no-wrap
msgid "A variable is composed of three elements: \n"
-msgstr ""
+msgstr "Zmienna składa się z trzech elementów: \n"
#. type: Bullet: '1)'
#: train302-help/tmove2.txt:23
#, no-wrap
msgid "The name,"
-msgstr ""
+msgstr "Nazwy"
#. type: Bullet: '2)'
#: train302-help/tmove2.txt:24
#, no-wrap
msgid "The type of the content,"
-msgstr ""
+msgstr "Typu zawartości"
#. type: Bullet: '3)'
#: train302-help/tmove2.txt:25
#, no-wrap
msgid "The content."
-msgstr ""
+msgstr "Zawartości"
#. type: \t; header
#: train302-help/tmove2.txt:27
#, no-wrap
msgid "The name"
-msgstr ""
+msgstr "Nazwa"
#. type: Plain text
#: train302-help/tmove2.txt:29
@@ -143,12 +164,17 @@ msgid ""
"dist, dir, p2, a, "
"x, nothing_2_grab, etc."
msgstr ""
+"Nazwa służy do odwoływania się do zmiennej. Zamiast pisać move(20);, "
+"wystarczy napisać move(dist);, gdzie \"dist\" jest nazwą zmiennej. "
+"Zmiennej można nadać prawie dowolną nazwę, na przykład dist, "
+"dir, p2, a, x, "
+"nothing_2_grab, itd."
#. type: \t; header
#: train302-help/tmove2.txt:30
#, no-wrap
msgid "The type"
-msgstr ""
+msgstr "Typ"
#. type: Plain text
#: train302-help/tmove2.txt:32
@@ -159,12 +185,16 @@ msgid ""
"real number, a character string, the coordinates of a point, etc. Here is a "
"list with the most common variable types: \n"
msgstr ""
+"Typ zmiennej określa jaki rodzaj informacji jest przechowywany przez "
+"zmienną. Zależnie od typu, zmienna może zawierać liczby całkowite, liczby "
+"rzeczywiste, ciągi znakowe, współrzędne punktu, itd. Oto lista najbardziej "
+"popularnych typów zmiennych: \n"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:32
#, no-wrap
msgid "int for a whole number (12, -500, etc.)"
-msgstr ""
+msgstr "int dla liczb całkowitych (12, -500, itd.)"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:33
@@ -173,6 +203,8 @@ msgid ""
"float for a real number (3.14, 0.2, -99.98, "
"etc.)"
msgstr ""
+"float dla liczb rzeczywistych (3.14, 0.2, -"
+"99.98, itd.)"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:34
@@ -181,6 +213,8 @@ msgid ""
"string for a character string (\"Hello!\", "
"\"Nothing to grab\", etc.)"
msgstr ""
+"string dla łańcuchów znakowych (\"Cześć!\", "
+"\"Nie ma nic do podniesienia\", itd.)"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:35
@@ -189,6 +223,7 @@ msgid ""
"point for the x,y,z-coordinates of a point in "
"space"
msgstr ""
+"point dla współrzędnych przestrzeni x, y, z"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:36
@@ -197,12 +232,14 @@ msgid ""
"object for the information about an object "
"(bot, building, etc.) "
msgstr ""
+"object dla informacji o obiekcie (robocie, "
+"budynku, itd.) "
#. type: \t; header
#: train302-help/tmove2.txt:38
#, no-wrap
msgid "The content"
-msgstr ""
+msgstr "Zawartość"
#. type: Plain text
#: train302-help/tmove2.txt:40
@@ -212,6 +249,9 @@ msgid ""
"according to the type of the variable. The content of a variable can change "
"many times during the execution of a program. "
msgstr ""
+"Zawartością zmiennej może być liczba, łańcuch, współrzędne, itd., zależnie "
+"od typu zmiennej. Zawartość zmiennej może być wielokrotnie modyfikowana w "
+"trakcie wykonywania programu. "
#. type: Plain text
#: train302-help/tmove2.txt:42
@@ -221,6 +261,9 @@ msgid ""
"you can use the two variables dist and dir, you "
"must declare them with the following lines: "
msgstr ""
+"Przed użyciem zmiennej konieczne jest jej zadeklarowanie. Na przykład przed "
+"użyciem dwóch zmiennych dist i dir, należy je "
+"zadeklarować w następujący sposób: "
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:45
@@ -229,6 +272,8 @@ msgid ""
"\tfloat dist;\n"
"\tfloat dir;"
msgstr ""
+"\tfloat dist;\n"
+"\tfloat dir;"
#. type: Plain text
#: train302-help/tmove2.txt:47
@@ -237,6 +282,8 @@ msgid ""
"Now you can use the two variables. To put the value 20 into "
"dist and 90 into dir, write:"
msgstr ""
+"Teraz już można ich używać. Aby przypisać zmiennej dist wartość "
+"20 a zmiennej dir wartość 90, napisz:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:50
@@ -245,6 +292,8 @@ msgid ""
"\tdist = 20;\n"
"\tdir = 90;"
msgstr ""
+"\tdist = 20;\n"
+"\tdir = 90;"
#. type: Plain text
#: train302-help/tmove2.txt:52
@@ -253,6 +302,8 @@ msgid ""
"Now you can move and turn the bot with the instructions move and turn:"
msgstr ""
+"Teraz można poruszać i obracać robota instrukcjami move i turn:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:55
@@ -261,6 +312,8 @@ msgid ""
"\tmove(dist);\n"
"\tturn(dir);"
msgstr ""
+"\tmove(dist);\n"
+"\tturn(dir);"
#. type: Plain text
#: train302-help/tmove2.txt:57
@@ -269,6 +322,8 @@ msgid ""
"You can also use a whole mathematical expression instead of "
"just the variable:"
msgstr ""
+"Można również użyć całego wyrażenia matematycznego zamiast "
+"samej zmiennej:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:60
@@ -277,12 +332,14 @@ msgid ""
"\tmove(dist+100);\n"
"\tturn(-dir);"
msgstr ""
+"\tmove(dist+100);\n"
+"\tturn(-dir);"
#. type: Plain text
#: train302-help/tmove2.txt:62
#, no-wrap
msgid "The latter instruction will be needed to turn the bot right. "
-msgstr ""
+msgstr "Druga z instrukcji będzie potrzebna do obrócenia robota w prawo. "
#. type: Plain text
#: train302-help/tmove2.txt:64
@@ -291,12 +348,14 @@ 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 ""
+"A teraz przepisz program z poprzedniego ćwiczenia, używając jednak zmiennych "
+"dla odległości i kąta obrotu. "
#. type: \t; header
#: train302-help/tmove2.txt:65
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train302-help/tmove2.txt:66
@@ -305,3 +364,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train302/po/ru.po b/levels/train302/po/ru.po
index bdba087e..a84b9f0d 100644
--- a/levels/train302/po/ru.po
+++ b/levels/train302/po/ru.po
@@ -20,35 +20,37 @@ msgstr ""
#: train302.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train302/scene.txt:1
#, no-wrap
msgid "train302:Follow with variables"
-msgstr ""
+msgstr "train302:За переменными"
#. type: Resume-text
#: train302/scene.txt:2
#, no-wrap
msgid "train302:Use variables in order to store the parameters of the path."
-msgstr ""
+msgstr "train302:С помощью переменных сохраните параметры пути."
#. type: ScriptName-text
#: train302/scene.txt:3
#, no-wrap
msgid "train302:Move"
-msgstr ""
+msgstr "train302:Move"
#. type: \b; header
#: train302-help/tmove2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train302-help/tmove2.txt:4
#, no-wrap
+#, fuzzy, 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 "
@@ -58,36 +60,54 @@ msgid ""
"rewriting the same values over and over again in the program, we can store "
"them in a variable: "
msgstr ""
+"Это упражнение очень напоминает предыдущее. Бот должен делать то же самое. "
+"Но когда вы будете писать программу, то должны использовать новый принцип, "
+"который очень важен для программиста: переменные.\n"
+"Мы видели, что все площадки расположены на расстоянии 20 метров друг от "
+"друга. А все углы поворота имели значение 90 градусов. Вместо того, чтобы "
+"каждый раз вводить одни и те же значения, мы можем сохранить их в переменной:"
#. type: Plain text
#: train302-help/tmove2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Instead of:\n"
"\tmove(20);"
msgstr ""
+"Вместо:\n"
+"\tmove(20);"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:11
#, no-wrap
+#, fuzzy, 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
#: train302-help/tmove2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"We write :\n"
"\tdist = 20;"
msgstr ""
+"Мы напишем :\n"
+"\tdist = 20;"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tdir = 90;\n"
"\tmove(dist);\n"
@@ -96,46 +116,59 @@ msgid ""
"\tturn(-dir);\n"
"\t..."
msgstr ""
+"\tdir = 90;\n"
+"\tmove(dist);\n"
+"\tturn(dir);\n"
+"\tmove(dist);\n"
+"\tturn(-dir);\n"
+"\t..."
#. type: \b; header
#: train302-help/tmove2.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid "Variables"
-msgstr ""
+msgstr "Переменные"
#. type: Plain text
#: train302-help/tmove2.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "A variable is composed of three elements: \n"
-msgstr ""
+msgstr "Переменная состоит из трех элементов:\n"
#. type: Bullet: '1)'
#: train302-help/tmove2.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "The name,"
-msgstr ""
+msgstr "Имя,"
#. type: Bullet: '2)'
#: train302-help/tmove2.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "The type of the content,"
-msgstr ""
+msgstr "Тип содержания,"
#. type: Bullet: '3)'
#: train302-help/tmove2.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "The content."
-msgstr ""
+msgstr "Содержание."
#. type: \t; header
#: train302-help/tmove2.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "The name"
-msgstr ""
+msgstr "Имя"
#. type: Plain text
#: train302-help/tmove2.txt:29
#, no-wrap
+#, fuzzy, 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 "
@@ -143,165 +176,226 @@ msgid ""
"dist, dir, p2, a, "
"x, nothing_2_grab, etc."
msgstr ""
+"Используйте имя, чтобы обращаться к переменной. Например, вместо того, чтобы "
+"писать move(20);, напишите move(dist);: \"dist\" - это имя "
+"переменной. Для переменных вы можете выбирать любое имя, например "
+"dist, dir, p2, a, "
+"x, nothing_2_grab, и т.п."
#. type: \t; header
#: train302-help/tmove2.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "The type"
-msgstr ""
+msgstr "Тип"
#. type: Plain text
#: train302-help/tmove2.txt:32
#, no-wrap
+#, fuzzy, 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: \n"
msgstr ""
+"Тип переменной определяет то, какой тип информации содержится в переменной. "
+"Согласно типу, переменная может содержать целое число, вещественное число, "
+"строку символов, координаты точки и т.п. Вот список часто употребляемых "
+"переменных:\n"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "int for a whole number (12, -500, etc.)"
-msgstr ""
+msgstr "int для целого числа (12, -500, и т.д.)"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"float for a real number (3.14, 0.2, -99.98, "
"etc.)"
msgstr ""
+"float для вещественного числа (3.14, 0.2, -"
+"99.98, и т.д.)"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"string for a character string (\"Hello!\", "
"\"Nothing to grab\", etc.)"
msgstr ""
+"string для строки символов (\"Привет!\", \""
+"Нечего взять\", и т.д.)"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"point for the x,y,z-coordinates of a point in "
"space"
msgstr ""
+"point для координат точки в пространстве x,y,z"
#. type: Bullet: 'o'
#: train302-help/tmove2.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"object for the information about an object "
"(bot, building, etc.) "
msgstr ""
+"object для информации об объекте (бот, "
+"здание, и т.д.)"
#. type: \t; header
#: train302-help/tmove2.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid "The content"
-msgstr ""
+msgstr "Содержание"
#. type: Plain text
#: train302-help/tmove2.txt:40
#, no-wrap
+#, fuzzy, 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 ""
+"Содержание переменной может быть числом, строкой, координатами и т.п., "
+"согласно типу переменной. Содержание переменной может изменяться много раз "
+"во время выполнения программы."
#. type: Plain text
#: train302-help/tmove2.txt:42
#, no-wrap
+#, fuzzy, 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 ""
+"Перед тем, как использовать переменную, вы должны задать ее. Например, перед "
+"тем, как вы сможете использовать две переменные dist и "
+"dir, вы должны задать их с помощью следующих строк:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:45
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tfloat dist;\n"
"\tfloat dir;"
msgstr ""
+"\tfloat dist;\n"
+"\tfloat dir;"
#. type: Plain text
#: train302-help/tmove2.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Now you can use the two variables. To put the value 20 into "
"dist and 90 into dir, write:"
msgstr ""
+"Теперь вы можете использовать эти две переменные. Чтобы придать значение 20 "
+"dist и 90 dir, напишите:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tdist = 20;\n"
"\tdir = 90;"
msgstr ""
+"\tdist = 20;\n"
+"\tdir = 90;"
#. type: Plain text
#: train302-help/tmove2.txt:52
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Now you can move and turn the bot with the instructions move and turn:"
msgstr ""
+"Теперь вы можете перемещать и поворачивать бота инструкциями move и turn:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tmove(dist);\n"
"\tturn(dir);"
msgstr ""
+"\tmove(dist);\n"
+"\tturn(dir);"
#. type: Plain text
#: train302-help/tmove2.txt:57
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You can also use a whole mathematical expression instead of "
"just the variable:"
msgstr ""
+"Вы также можете использовать целое маетматическое выражение"
+" вместо переменной:"
#. type: \s; block (usually verbatim code)
#: train302-help/tmove2.txt:60
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tmove(dist+100);\n"
"\tturn(-dir);"
msgstr ""
+"\tmove(dist+100);\n"
+"\tturn(-dir);"
#. type: Plain text
#: train302-help/tmove2.txt:62
#, no-wrap
+#, fuzzy, no-wrap
msgid "The latter instruction will be needed to turn the bot right. "
-msgstr ""
+msgstr "ПОследняя инструкция необходима для того, чтобы повернуть бота вправо."
#. type: Plain text
#: train302-help/tmove2.txt:64
#, no-wrap
+#, fuzzy, 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 ""
+"Теперь перепишиет программу из предыдущего упражнения с использованием "
+"переменных дистанции и еще одной переменной для задания угла поворота."
#. type: \t; header
#: train302-help/tmove2.txt:65
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train302-help/tmove2.txt:66
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train303/po/pl.po b/levels/train303/po/pl.po
index 6407a574..9a8c62a2 100644
--- a/levels/train303/po/pl.po
+++ b/levels/train303/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train303.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train303/scene.txt:1
#, no-wrap
msgid "train303:Massacre"
-msgstr ""
+msgstr "train303:Masakra"
#. type: Resume-text
#: train303/scene.txt:2
#, no-wrap
msgid "train303:Use a loop in order to destroy six targets."
-msgstr ""
+msgstr "train303:Użyj pętli w celu zniszczenia sześciu celów."
#. type: ScriptName-text
#: train303/scene.txt:3
#, no-wrap
msgid "train303:Go"
-msgstr ""
+msgstr "trai303:Idź"
#. type: \b; header
#: train303-help/tfor.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train303-help/tfor.txt:3
@@ -53,12 +53,14 @@ 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 ""
+"Zniszcz sześć celów używając programu z pętlą. "
+"Odległości pomiędzy celami wynoszą 5 metrów."
#. type: \b; header
#: train303-help/tfor.txt:4
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train303-help/tfor.txt:7
@@ -67,72 +69,74 @@ msgid ""
"The program must execute the following scheme:\n"
"Repeat 6 times :\n"
msgstr ""
+"Program powinien być uruchomiony według następującego schematu:\n"
+"Powtórz 6 razy:\n"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:7
#, no-wrap
msgid "move 5m forward"
-msgstr ""
+msgstr "idź 5 m naprzód."
#. type: Bullet: 'o'
#: train303-help/tfor.txt:8
#, no-wrap
msgid "turn 90 degrees left"
-msgstr ""
+msgstr "skręć o 90 stopni w lewo"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:9
#, no-wrap
msgid "shoot"
-msgstr ""
+msgstr "strzelaj"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:10
#, no-wrap
msgid "turn 90 degrees right"
-msgstr ""
+msgstr "skręć o 90 stopni w prawo"
#. type: Image filename
#: train303-help/tfor.txt:12
#, no-wrap
msgid "tfor1"
-msgstr ""
+msgstr "tfor1"
#. type: \b; header
#: train303-help/tfor.txt:13
#, no-wrap
msgid "Instruction for ( )"
-msgstr ""
+msgstr "Instrukcja for ( )"
#. type: Plain text
#: train303-help/tfor.txt:15
#, no-wrap
msgid "The instruction for asks for 3 expressions:\n"
-msgstr ""
+msgstr "Instrukcja for wymaga 3 wyrażeń:\n"
#. type: Bullet: '1)'
#: train303-help/tfor.txt:15
#, no-wrap
msgid "Initialize the counting variable."
-msgstr ""
+msgstr "Inicjalizacji zmiennej liczącej."
#. type: Bullet: '2)'
#: train303-help/tfor.txt:16
#, no-wrap
msgid "The end condition."
-msgstr ""
+msgstr "Warunku zakończenia pętli."
#. type: Bullet: '3)'
#: train303-help/tfor.txt:17
#, no-wrap
msgid "The counting expression."
-msgstr ""
+msgstr "Wyrażenia liczącego."
#. type: Plain text
#: train303-help/tfor.txt:20
#, no-wrap
msgid "Here is the loop once it is integrated into the program frame:"
-msgstr ""
+msgstr "Oto pętla umieszczona w programie:"
#. type: \s; block (usually verbatim code)
#: train303-help/tfor.txt:27
@@ -146,6 +150,13 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::Masakra( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<6 ; i=i+1 )\n"
+"\t{\n"
+"\t\tinstrukcje powtarzane 6 razy...\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train303-help/tfor.txt:29
@@ -154,18 +165,20 @@ msgid ""
"ATTENTION: The line for ( ) must not be followed by a semicolon !"
msgstr ""
+"UWAGA: Na końcu wiersza z for ( ) nie powinno być średnika!"
#. type: \b; header
#: train303-help/tfor.txt:30
#, no-wrap
msgid "Explanation of the instruction for ( )"
-msgstr ""
+msgstr "Opis instrukcji for ( )"
#. type: Bullet: '1)'
#: train303-help/tfor.txt:31
#, no-wrap
msgid "int i=0"
-msgstr ""
+msgstr "int i=0"
#. type: Plain text
#: train303-help/tfor.txt:33
@@ -174,36 +187,40 @@ msgid ""
" The variable i is set to zero before the beginning of "
"the loop."
msgstr ""
+" Przed rozpoczęciem pętli zmiennej i jest przypisywana "
+"wartość 0."
#. type: Bullet: '2)'
#: train303-help/tfor.txt:34
#, no-wrap
msgid "i<6"
-msgstr ""
+msgstr "i<6"
#. type: Plain text
#: train303-help/tfor.txt:36
#, no-wrap
msgid " The loop will be executed as long as i is smaller than 6."
msgstr ""
+" Pętla będzie wykonywana tak długo, aż wartość zmiennej i będzie mniejsza "
+"od 6."
#. type: Bullet: '3)'
#: train303-help/tfor.txt:37
#, no-wrap
msgid "i=i+1"
-msgstr ""
+msgstr "i=i+1"
#. type: Plain text
#: train303-help/tfor.txt:39
#, no-wrap
msgid " At the end of every loop, add 1 to the variable i."
-msgstr ""
+msgstr " Zwiększa o 1 zmienną i na końcu każdej pętli."
#. type: \b; header
#: train303-help/tfor.txt:40
#, no-wrap
msgid "Blocks"
-msgstr ""
+msgstr "Bloki"
#. type: Plain text
#: train303-help/tfor.txt:42
@@ -213,6 +230,9 @@ msgid ""
"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 ""
+"Do utworzenia bloku użyj nawiasów klamrowych { "
+"}. Wszystkie instrukcje, które powinny być wykonywane przez pętlę "
+"for są zgrupowane w blok. Również cały program jest blokiem:"
#. type: \s; block (usually verbatim code)
#: train303-help/tfor.txt:47
@@ -223,6 +243,10 @@ msgid ""
"\tfill in here ...\n"
"}"
msgstr ""
+"extern void object::Masakra( )\n"
+"{\n"
+"\ttutaj wpisz instrukcje...\n"
+"}"
#. type: Plain text
#: train303-help/tfor.txt:50
@@ -235,12 +259,18 @@ msgid ""
"order to improve readability, the editor lines up the braces belonging to "
"the different blocks."
msgstr ""
+"Nigdy nie zmieniaj tych znaków. Wystarczy dodać instrukcje programu pomiędzy "
+"klamrami.\n"
+"Możesz umieszczać bloki wewnątrz innego bloku. Na przykład blok "
+"for jest zagnieżdżony w bloku całego programu. W celu poprawy "
+"czytelności programu, edytor ustawia w odpowiednich liniach klamry należące "
+"do różnych bloków."
#. type: \b; header
#: train303-help/tfor.txt:51
#, no-wrap
msgid "Remember"
-msgstr ""
+msgstr "Zapamiętaj"
#. type: Plain text
#: train303-help/tfor.txt:55
@@ -253,12 +283,19 @@ msgid ""
"cbot|fire>fire(1);. A one-second burst allows to destroy all six targets."
msgstr ""
+"Instrukcja używana do poruszania się naprzód: move();.\n"
+"Instrukcja używana do obracania robota: turn();. "
+"Kąt dodatni obraca w lewo.\n"
+"Instrukcja używana do strzelania z działka: fire(1);"
+". Jednosekundowa seria umożliwia zniszczenie wszystkich sześciu celów."
#. type: \t; header
#: train303-help/tfor.txt:56
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train303-help/tfor.txt:57
@@ -267,3 +304,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train303/po/ru.po b/levels/train303/po/ru.po
index c6cb8aa4..95288713 100644
--- a/levels/train303/po/ru.po
+++ b/levels/train303/po/ru.po
@@ -20,123 +20,144 @@ msgstr ""
#: train303.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train303/scene.txt:1
#, no-wrap
msgid "train303:Massacre"
-msgstr ""
+msgstr "train303:Резня"
#. type: Resume-text
#: train303/scene.txt:2
#, no-wrap
msgid "train303:Use a loop in order to destroy six targets."
-msgstr ""
+msgstr "train303:С помощью цикла уничтожьте шесть целей."
#. type: ScriptName-text
#: train303/scene.txt:3
#, no-wrap
msgid "train303:Go"
-msgstr ""
+msgstr "train303:Go"
#. type: \b; header
#: train303-help/tfor.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train303-help/tfor.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Уничтожьте шесть мишеней программой, в которой "
+"используется цикл. Бот должен пройти вперед 5 метров, чтобы переместиться от "
+"одной цели к другой."
#. type: \b; header
#: train303-help/tfor.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train303-help/tfor.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The program must execute the following scheme:\n"
"Repeat 6 times :\n"
msgstr ""
+"Программа должна выполнить следующую схему:\n"
+"Повторять 6 раз :\n"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "move 5m forward"
-msgstr ""
+msgstr "пройти вперед на 5 метров"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "turn 90 degrees left"
-msgstr ""
+msgstr "развернуться влево на 90 градусов"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "shoot"
-msgstr ""
+msgstr "выстрелить"
#. type: Bullet: 'o'
#: train303-help/tfor.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "turn 90 degrees right"
-msgstr ""
+msgstr "развернуться вправо на 90 градусов"
#. type: Image filename
#: train303-help/tfor.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "tfor1"
-msgstr ""
+msgstr "tfor1"
#. type: \b; header
#: train303-help/tfor.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Instruction for ( )"
-msgstr ""
+msgstr "Инструкция for ( )"
#. type: Plain text
#: train303-help/tfor.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "The instruction for asks for 3 expressions:\n"
-msgstr ""
+msgstr "Инструкция forзапрашивает 3 выражения:\n"
#. type: Bullet: '1)'
#: train303-help/tfor.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Initialize the counting variable."
-msgstr ""
+msgstr "Начать рассчет переменной."
#. type: Bullet: '2)'
#: train303-help/tfor.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "The end condition."
-msgstr ""
+msgstr "Конечное условие."
#. type: Bullet: '3)'
#: train303-help/tfor.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "The counting expression."
-msgstr ""
+msgstr "Рассчетное выражение."
#. type: Plain text
#: train303-help/tfor.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "Here is the loop once it is integrated into the program frame:"
-msgstr ""
+msgstr "Вот цикл, каким он должен быть в программе:"
#. type: \s; block (usually verbatim code)
#: train303-help/tfor.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::Massacre( )\n"
"{\n"
@@ -146,87 +167,116 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::Massacre( )\n"
+"{\n"
+"\tfor ( int i=0 ; i<6 ; i=i+1 )\n"
+"\t{\n"
+"\t\tинструкции, которые нужно повторить 6 раз...\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train303-help/tfor.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"ATTENTION: The line for ( ) must not be followed by a semicolon !"
msgstr ""
+"ВНИМАНИЕ: Строка for ( ) не должна заканчиваться "
+"точкой с запятой !"
#. type: \b; header
#: train303-help/tfor.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "Explanation of the instruction for ( )"
-msgstr ""
+msgstr "Объяснение инструкции for ( )"
#. type: Bullet: '1)'
#: train303-help/tfor.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid "int i=0"
-msgstr ""
+msgstr "int i=0"
#. type: Plain text
#: train303-help/tfor.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" The variable i is set to zero before the beginning of "
"the loop."
msgstr ""
+" Переменная i устанавливается на ноль до начала цикла."
#. type: Bullet: '2)'
#: train303-help/tfor.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid "i<6"
-msgstr ""
+msgstr "i<6"
#. type: Plain text
#: train303-help/tfor.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid " The loop will be executed as long as i is smaller than 6."
-msgstr ""
+msgstr " Цикл будет выполняться до тех пор, пока i меньше 6."
#. type: Bullet: '3)'
#: train303-help/tfor.txt:37
#, no-wrap
+#, fuzzy, no-wrap
msgid "i=i+1"
-msgstr ""
+msgstr "i=i+1"
#. type: Plain text
#: train303-help/tfor.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid " At the end of every loop, add 1 to the variable i."
-msgstr ""
+msgstr " В конце каждого цикла прибавляет 1 к значению переменной i."
#. type: \b; header
#: train303-help/tfor.txt:40
#, no-wrap
+#, fuzzy, no-wrap
msgid "Blocks"
-msgstr ""
+msgstr "Блоки"
#. type: Plain text
#: train303-help/tfor.txt:42
#, no-wrap
+#, fuzzy, 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 ""
+"Используйте скобки { } чтобы создавать блоки. "
+"Все инструкции, которые должны быть выполнены в цикле for "
+"должны представлять собой блок. Вся программа состоит из блоков:"
#. type: \s; block (usually verbatim code)
#: train303-help/tfor.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"extern void object::massacre( )\n"
"{\n"
"\tfill in here ...\n"
"}"
msgstr ""
+"extern void object::massacre( )\n"
+"{\n"
+"\tваш код ...\n"
+"}"
#. type: Plain text
#: train303-help/tfor.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Never change these characters. Just add the instructions of the program "
"between the braces.\n"
@@ -235,16 +285,23 @@ msgid ""
"order to improve readability, the editor lines up the braces belonging to "
"the different blocks."
msgstr ""
+"Никогда не изменяйте эти символы. Просто добавляйте между скобками "
+"инструкции программы.\n"
+"Вы можете заключать несколько блоков друг в друга. Например, блок "
+"for вставлен в блок всей программы. Для того, чтобы программу "
+"было легче читать, редактор отделяет скобки, принадлежащие разным блокам."
#. type: \b; header
#: train303-help/tfor.txt:51
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remember"
-msgstr ""
+msgstr "Помните"
#. type: Plain text
#: train303-help/tfor.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instruction used to move forward is move();.\n"
"The instruction used to turn the bot is turn();. A "
@@ -253,17 +310,28 @@ msgid ""
"cbot|fire>fire(1);. A one-second burst allows to destroy all six targets."
msgstr ""
+"Инструкция, которая используется для движения вперед move();.\n"
+"Инструкция, которая используется для поворота бота turn();. Положительный угол поворачивает влево.\n"
+"Инструкция, которая используется для стрельбы из орудия fire(1);. Мгновенный взрыв позволяет уничтожить все шесть <"
+"a object|bottarg>целей."
#. type: \t; header
#: train303-help/tfor.txt:56
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train303-help/tfor.txt:57
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train304/po/pl.po b/levels/train304/po/pl.po
index 52858bea..9b579234 100644
--- a/levels/train304/po/pl.po
+++ b/levels/train304/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train304.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train304/scene.txt:1
#, no-wrap
msgid "train304:Exchange posts 1"
-msgstr ""
+msgstr "train304:Stacje przekaźnikowe 1"
#. type: Resume-text
#: train304/scene.txt:2
#, no-wrap
msgid "train304:Collect valuable information from information exchange posts."
-msgstr ""
+msgstr "train304:Uzyskaj cenne informacje ze stacji przekaźnikowych."
#. type: ScriptName-text
#: train304/scene.txt:3
#, no-wrap
msgid "train304:Info"
-msgstr ""
+msgstr "train304:Informacje"
#. type: \b; header
#: train304-help/texch1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train304-help/texch1.txt:4
@@ -58,24 +58,31 @@ msgid ""
"object|mine>mine.\n"
"The exchange posts are distant 20m from each other."
msgstr ""
+"Kilka stacji przekaźnikowych informacji stoi na "
+"środku pola minowego. Gdy robot jest wystarczająco blisko "
+"stacji przekaźnikowej, może odczytać zawarte w niej informacje. Każda stacja "
+"przekaźnikowa zawiera kąt obrotu, który powinien wykonać robot, aby dotrzeć "
+"do następnej stacji przekaźnikowej bez wpadnięcia na minę."
+"\n"
+"Odległość pomiędzy stacjami przekaźnikowymi wynosi 20 metrów."
#. type: \b; header
#: train304-help/texch1.txt:5
#, no-wrap
msgid "General principe"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train304-help/texch1.txt:7
#, no-wrap
msgid "Repeat 5 times :\n"
-msgstr ""
+msgstr "Powtórz 5 razy:\n"
#. type: Bullet: 'o'
#: train304-help/texch1.txt:7
#, no-wrap
msgid "Move 20m forward."
-msgstr ""
+msgstr "Idź 20 m naprzód."
#. type: Bullet: 'o'
#: train304-help/texch1.txt:8
@@ -84,18 +91,20 @@ msgid ""
"Read the direction of the next information exchange "
"post."
msgstr ""
+"Odczytaj kierunek następnej stacji przekaźnikowej "
+"informacji."
#. type: Bullet: 'o'
#: train304-help/texch1.txt:9
#, no-wrap
msgid "Execute the necessary rotation."
-msgstr ""
+msgstr "Wykonaj obrót."
#. type: Image filename
#: train304-help/texch1.txt:11
#, no-wrap
msgid "tinfo1"
-msgstr ""
+msgstr "tinfo1"
#. type: Plain text
#: train304-help/texch1.txt:13
@@ -104,18 +113,20 @@ msgid ""
"In order to repeat the steps above, use a for "
"loop, as we saw it before."
msgstr ""
+"Do powtarzania powyższych instrukcji, tak jak poprzednio użyj instrukcji "
+"for."
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:14
#, no-wrap
msgid "\tfor ( int i=0 ; i<5 ; i=i+1 )"
-msgstr ""
+msgstr "\tfor ( int i=0 ; i<5 ; i=i+1 )"
#. type: Plain text
#: train304-help/texch1.txt:16
#, no-wrap
msgid "Move forward with the instruction move(20);."
-msgstr ""
+msgstr "Przesuń robota do przodu instrukcją move(20);."
#. type: Plain text
#: train304-help/texch1.txt:19
@@ -129,12 +140,18 @@ msgid ""
"the exchange post. Let us call it dir; you must declare it with "
"the following line:"
msgstr ""
+"Do odczytania informacji ze stacji przekaźnikowej "
+"użyj instrukcji receive(\"Direction\");. Jest to "
+"oczywiście możliwe tylko gdy robot jest wystarczająco blisko stacji.\n"
+"Do przechowywania wartości pobranej ze stacji przekaźnikowej potrzebna "
+"będzie zmienna. Nazwijmy ją dir; należy ją "
+"zadeklarować w następujący sposób:"
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:20
#, no-wrap
msgid "\tfloat dir;"
-msgstr ""
+msgstr "\tfloat dir;"
#. type: Plain text
#: train304-help/texch1.txt:22
@@ -143,30 +160,32 @@ msgid ""
"Then retrieve the rotation angle from the exchange post, and put it into the "
"variable:"
msgstr ""
+"Aby odczytać kąt obrotu ze stacji przekaźnikowej, przypisz zmiennej jej "
+"wartość:"
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:23
#, no-wrap
msgid "\tdir = receive(...);"
-msgstr ""
+msgstr "\tdir = receive(...);"
#. type: Plain text
#: train304-help/texch1.txt:25
#, no-wrap
msgid "Then you can execute the rotation:"
-msgstr ""
+msgstr "Następnie wykonaj obrót:"
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:26
#, no-wrap
msgid "\tturn(dir);"
-msgstr ""
+msgstr "\tturn(dir);"
#. type: \b; header
#: train304-help/texch1.txt:27
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train304-help/texch1.txt:29
@@ -178,12 +197,17 @@ msgid ""
"contain up to 10 different values, as you will see in some of the following "
"exercises."
msgstr ""
+"Możesz kliknąć na stacji przekaźnikowej informacji "
+"aby przeczytać zawarte w niej informacje. W tym ćwiczeniu każda stacja "
+"przekaźnikowa zawiera tylko jedną wartość zwaną \"Direction\" "
+"(kierunek), ale może zawierać do 10 różnych wartości, o czym przekonasz się "
+"w niektórych z dalszych ćwiczeń."
#. type: \t; header
#: train304-help/texch1.txt:30
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train304-help/texch1.txt:31
@@ -192,3 +216,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train304/po/ru.po b/levels/train304/po/ru.po
index 540eb8a0..f75a4037 100644
--- a/levels/train304/po/ru.po
+++ b/levels/train304/po/ru.po
@@ -20,35 +20,37 @@ msgstr ""
#: train304.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train304/scene.txt:1
#, no-wrap
msgid "train304:Exchange posts 1"
-msgstr ""
+msgstr "train304:Обменные посты 1"
#. type: Resume-text
#: train304/scene.txt:2
#, no-wrap
msgid "train304:Collect valuable information from information exchange posts."
-msgstr ""
+msgstr "train304:Соберите важную информацию на постах обмена информации."
#. type: ScriptName-text
#: train304/scene.txt:3
#, no-wrap
msgid "train304:Info"
-msgstr ""
+msgstr "train304:Info"
#. type: \b; header
#: train304-help/texch1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train304-help/texch1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Several information exchange posts stand in the "
"middle of a mine field. When the bot is close enough to "
@@ -58,68 +60,89 @@ msgid ""
"object|mine>mine.\n"
"The exchange posts are distant 20m from each other."
msgstr ""
+"Несколько постов обмена информацией стоят посреди минного поля. Когда бот подходит к посту обмена на "
+"достаточно близкое расстояние, он может прочитать информацию, которая там "
+"содержиться. Каждому пункту обмена присущ угол поворота, на который нужно "
+"повернуться, чтобы перейти к следующему посту обмена, не наступив на мину.\n"
+"Посты обмена расположены на расстоянии 20 метров друг от друга."
#. type: \b; header
#: train304-help/texch1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principe"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train304-help/texch1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Repeat 5 times :\n"
-msgstr ""
+msgstr "Повторять 5 раз :\n"
#. type: Bullet: 'o'
#: train304-help/texch1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move 20m forward."
-msgstr ""
+msgstr "Перейти на 20 метров вперед."
#. type: Bullet: 'o'
#: train304-help/texch1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Read the direction of the next information exchange "
"post."
msgstr ""
+"Прочитать информацию о месте следующего поста обмена "
+"информации."
#. type: Bullet: 'o'
#: train304-help/texch1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Execute the necessary rotation."
-msgstr ""
+msgstr "Произвести необходимый поворот."
#. type: Image filename
#: train304-help/texch1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "tinfo1"
-msgstr ""
+msgstr "tinfo1"
#. type: Plain text
#: train304-help/texch1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to repeat the steps above, use a for "
"loop, as we saw it before."
msgstr ""
+"Чтобы повторять шаги, приведенные выше, используйте цикл for, как мы делали это раньше."
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tfor ( int i=0 ; i<5 ; i=i+1 )"
-msgstr ""
+msgstr "\tfor ( int i=0 ; i<5 ; i=i+1 )"
#. type: Plain text
#: train304-help/texch1.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move forward with the instruction move(20);."
-msgstr ""
+msgstr "Переместитесь вперед с помощью инструкции move(20);."
#. type: Plain text
#: train304-help/texch1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the instruction receive(\"Direction\"); in "
"order to read the information contained in the exchange "
@@ -129,48 +152,64 @@ msgid ""
"the exchange post. Let us call it dir; you must declare it with "
"the following line:"
msgstr ""
+"Используйте инструкцию receive(\"Направление\"); "
+"чтобы прочитать информацию, которая содержится в посте "
+"обмена. Это возможно сделать только тогда, когда бот подойтет к нему на "
+"достаточно близкое расстояние.\n"
+"Вам будет нужна переменная, которая будет задавать значение, "
+"полученное на посту обмена. Давайте назовем ее dir; вы должны "
+"задать ее следующей строкой:"
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tfloat dir;"
-msgstr ""
+msgstr "\tfloat dir;"
#. type: Plain text
#: train304-help/texch1.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Then retrieve the rotation angle from the exchange post, and put it into the "
"variable:"
msgstr ""
+"Затем на обменном посту необходимо получить угол поворота, и включить его в "
+"значение переменной:"
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tdir = receive(...);"
-msgstr ""
+msgstr "\tdir = receive(...);"
#. type: Plain text
#: train304-help/texch1.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "Then you can execute the rotation:"
-msgstr ""
+msgstr "После этого вы можете сделать поворот:"
#. type: \s; block (usually verbatim code)
#: train304-help/texch1.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tturn(dir);"
-msgstr ""
+msgstr "\tturn(dir);"
#. type: \b; header
#: train304-help/texch1.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train304-help/texch1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You can click on an information exchange post in "
"order to read what information it contains. In this exercise, every exchange "
@@ -178,17 +217,26 @@ msgid ""
"contain up to 10 different values, as you will see in some of the following "
"exercises."
msgstr ""
+"Вы можете щелкнуть на посту обмена информацией, чтобы "
+"прочитать информацию, которую он содержит. В этом упражнении каждый пункт "
+"обмена содержит только одно значение, которое называется \"Напрвление\""
+", но он может содержать и до 10 различных значений, в чем вы "
+"убедитесь в некоторых последующих упражнениях."
#. type: \t; header
#: train304-help/texch1.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train304-help/texch1.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train305/po/pl.po b/levels/train305/po/pl.po
index 6c69314c..30098b23 100644
--- a/levels/train305/po/pl.po
+++ b/levels/train305/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train305.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train305/scene.txt:1
#, no-wrap
msgid "train305:Exchange posts 2"
-msgstr ""
+msgstr "train305:Stacje przekaźnikowe 2"
#. type: Resume-text
#: train305/scene.txt:2
#, no-wrap
msgid "train305:Collect more valuable information from information exchange posts."
-msgstr ""
+msgstr "train305:Uzyskaj cenne informacje ze stacji przekaźnikowych."
#. type: ScriptName-text
#: train305/scene.txt:3
#, no-wrap
msgid "train305:Info"
-msgstr ""
+msgstr "train305:Informacje"
#. type: \b; header
#: train305-help/texch2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train305-help/texch2.txt:3
@@ -55,48 +55,51 @@ msgid ""
"you do not know how many exchange posts you must get in touch with before "
"arriving at your goal."
msgstr ""
+"W tym ćwiczeniu stacje przekaźnikowe wzdłuż drogi "
+"zawierają kierunek i odległość do następnej stacji. Nie jest znana liczba "
+"stacji przekaźnikowych koniecznych do dotarcia do celu."
#. type: \b; header
#: train305-help/texch2.txt:4
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train305-help/texch2.txt:6
#, no-wrap
msgid "\tRepeat forever:\n"
-msgstr ""
+msgstr "\tPowtarzaj w nieskończoność:\n"
#. type: Bullet: 'o'
#: train305-help/texch2.txt:6
#, no-wrap
msgid "Retrieve the direction from the exchange post."
-msgstr ""
+msgstr "Pobierz kierunek ze stacji przekaźnikowej."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:7
#, no-wrap
msgid "Retrieve the distance from the exchange post."
-msgstr ""
+msgstr "Pobierz odległość ze stacji przekaźnikowej."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:8
#, no-wrap
msgid "If no information could be retrieved, stop the program."
-msgstr ""
+msgstr "Jeśli nie ma żadnych informacji, zatrzymaj program."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:9
#, no-wrap
msgid "Execute the rotation."
-msgstr ""
+msgstr "Wykonaj obrót."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:10
#, no-wrap
msgid "Move forward to the next post."
-msgstr ""
+msgstr "Idź do następnej stacji."
#. type: Plain text
#: train305-help/texch2.txt:13
@@ -107,12 +110,16 @@ msgid ""
"over and over, or until a break instruction "
"is executed."
msgstr ""
+"Do nieskończonego powtarzania użyj pętli while "
+"(true). Instrukcje pomiędzy klamrami { } będą powtarzane "
+"w nieskończoność lub do czasu wykonania instrukcji break."
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:14
#, no-wrap
msgid "\twhile ( true )"
-msgstr ""
+msgstr "\twhile ( true )"
#. type: Plain text
#: train305-help/texch2.txt:16
@@ -121,18 +128,21 @@ msgid ""
"This time you need 2 variables, one for the rotation angle, "
"one for the distance, for example dir and len :"
msgstr ""
+"Tym razem potrzebne będą dwie zmienne, jedna dla kąta "
+"obrotu, druga dla odległości, na przykład dir i "
+"len:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:17
#, no-wrap
msgid "\tfloat dir, len;"
-msgstr ""
+msgstr "\tfloat dir, len;"
#. type: Plain text
#: train305-help/texch2.txt:19
#, no-wrap
msgid "Then you can retrieve the information:"
-msgstr ""
+msgstr "Następnie można pobrać informacje:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:21
@@ -141,6 +151,8 @@ msgid ""
"\tdir = receive(\"Direction\");\n"
"\tlen = receive(\"Length\");"
msgstr ""
+"\tdir = receive(\"Direction\");\n"
+"\tlen = receive(\"Length\");"
#. type: Plain text
#: train305-help/texch2.txt:24
@@ -156,12 +168,21 @@ msgid ""
"program if necessary with the instruction break:"
msgstr ""
+"Zmienna typufloat może "
+"również przyjmować specjalną wartość zwaną nan. "
+"Oznacza ona, że zmienna nie zawiera liczby (Not A Number).\n"
+"Jeśli w pobliżu nie ma stacji przekaźnikowej z powodu "
+"osiągnięcia przez robota celu, bądź zgubienia drogi, dwie zmienne "
+"dir i len zawierają wartość nan. Możesz to sprawdzić instrukcją if i jeśli to konieczne zatrzymać program instrukcją "
+"break:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:25
#, no-wrap
msgid "\tif ( dir == nan ) break;"
-msgstr ""
+msgstr "\tif ( dir == nan ) break;"
#. type: Plain text
#: train305-help/texch2.txt:27
@@ -170,30 +191,32 @@ msgid ""
"If the information retrieval from the exchange post "
"has been performed successfully, execute the rotation:"
msgstr ""
+"Jeśli pomyślnie pobrano informacje ze stacji "
+"przekaźnikowej wykonaj obrót:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:28
#, no-wrap
msgid "\tturn(dir);"
-msgstr ""
+msgstr "\tturn(dir);"
#. type: Plain text
#: train305-help/texch2.txt:30
#, no-wrap
msgid "And move forward:"
-msgstr ""
+msgstr "I idź naprzód:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:31
#, no-wrap
msgid "\tmove(len);"
-msgstr ""
+msgstr "\tmove(len);"
#. type: \b; header
#: train305-help/texch2.txt:32
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train305-help/texch2.txt:34
@@ -204,12 +227,16 @@ msgid ""
"post contains two values called \"Direction\" and "
"\"Length\"."
msgstr ""
+"Możesz kliknąć na stacji przekaźnikowej informacji "
+"aby przeczytać zawarte w niej informacje. W tym ćwiczeniu, każda stacja "
+"przekaźnikowa zawiera dwie wartości \"Direction\" (kierunek) i "
+"\"Length\" (odległość)."
#. type: \t; header
#: train305-help/texch2.txt:35
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train305-help/texch2.txt:36
@@ -218,3 +245,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train305/po/ru.po b/levels/train305/po/ru.po
index 77c9e7ca..8972c087 100644
--- a/levels/train305/po/ru.po
+++ b/levels/train305/po/ru.po
@@ -20,131 +20,161 @@ msgstr ""
#: train305.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train305/scene.txt:1
#, no-wrap
msgid "train305:Exchange posts 2"
-msgstr ""
+msgstr "train305:Обменные посты 2"
#. type: Resume-text
#: train305/scene.txt:2
#, no-wrap
msgid "train305:Collect more valuable information from information exchange posts."
msgstr ""
+"train305:Соберите еще больше важной информации на постах обмена информации."
#. type: ScriptName-text
#: train305/scene.txt:3
#, no-wrap
msgid "train305:Info"
-msgstr ""
+msgstr "train305:Info"
#. type: \b; header
#: train305-help/texch2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train305-help/texch2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"В этом упражнении посты обмена информацией по всему "
+"пути содержат направление к следующему посту и расстояние к нему. И вы не "
+"знаете, сколько постов обмена вы можете встретить до того, как достигните "
+"цели."
#. type: \b; header
#: train305-help/texch2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train305-help/texch2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tRepeat forever:\n"
-msgstr ""
+msgstr "\tПовторять всегда:\n"
#. type: Bullet: 'o'
#: train305-help/texch2.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Retrieve the direction from the exchange post."
-msgstr ""
+msgstr "Получите направление на посту обмена."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Retrieve the distance from the exchange post."
-msgstr ""
+msgstr "Получите расстояние на посту обмена."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "If no information could be retrieved, stop the program."
-msgstr ""
+msgstr "Если вы не можете получить никакой информации, остановите программу."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Execute the rotation."
-msgstr ""
+msgstr "Произведите поворот."
#. type: Bullet: 'o'
#: train305-help/texch2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move forward to the next post."
-msgstr ""
+msgstr "Следуйте прямо к следующему посту."
#. type: Plain text
#: train305-help/texch2.txt:13
#, no-wrap
+#, fuzzy, 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 ""
+"Чтобы повторять всегда, используйте цикл while "
+"(true). Инструкция в скобках { } будет повторяться снова "
+"и снова, или пока не будет выполнена функция break."
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "\twhile ( true )"
-msgstr ""
+msgstr "\twhile ( true )"
#. type: Plain text
#: train305-help/texch2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"This time you need 2 variables, one for the rotation angle, "
"one for the distance, for example dir and len :"
msgstr ""
+"В этот раз вам будут необходимы 2 переменные, одна для угла "
+"поворота, вторая для расстояния. Например, dir и "
+"len :"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tfloat dir, len;"
-msgstr ""
+msgstr "\tfloat dir, len;"
#. type: Plain text
#: train305-help/texch2.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "Then you can retrieve the information:"
-msgstr ""
+msgstr "После этого вы можете получить информацию:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tdir = receive(\"Direction\");\n"
"\tlen = receive(\"Length\");"
msgstr ""
+"\tdir = receive(\"Направление\");\n"
+"\tlen = receive(\"Длина\");"
#. type: Plain text
#: train305-help/texch2.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A variable of the typefloat "
"can take a special value called nan. This value "
@@ -156,65 +186,91 @@ msgid ""
"program if necessary with the instruction break:"
msgstr ""
+"Переменная typefloat может "
+"принимать определенное значение, называемое nan"
+". Оно означает, что переменная не содержит чисел (Not A Number).\n"
+"Когда поблизости нет обменных пунктов потому что бот "
+"достиг цели или потому что он пошел в неправильном направлении, две "
+"переменные dir и len содержат это значение. Вы "
+"можете проверить это с помощью инструкции if, и "
+"остановить программу, если в этом возникает необходимость, с помощью "
+"инструкции break:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tif ( dir == nan ) break;"
-msgstr ""
+msgstr "\tif ( dir == nan ) break;"
#. type: Plain text
#: train305-help/texch2.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If the information retrieval from the exchange post "
"has been performed successfully, execute the rotation:"
msgstr ""
+"Если получение информации на обменном посту прошло "
+"успешно, произведите поворот:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tturn(dir);"
-msgstr ""
+msgstr "\tturn(dir);"
#. type: Plain text
#: train305-help/texch2.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "And move forward:"
-msgstr ""
+msgstr "И идите вперед:"
#. type: \s; block (usually verbatim code)
#: train305-help/texch2.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tmove(len);"
-msgstr ""
+msgstr "\tmove(len);"
#. type: \b; header
#: train305-help/texch2.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train305-help/texch2.txt:34
#, no-wrap
+#, fuzzy, 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\"."
msgstr ""
+"Вы можете щелкнуть на посту обмена информации, чтобы "
+"прочитать ту информацию, которую он содержит. В этом упражнении каждый пункт "
+"обмена содержит две переменные, которые называются \"Направление\""
+" и \"Длина\"."
#. type: \t; header
#: train305-help/texch2.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train305-help/texch2.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train306/po/pl.po b/levels/train306/po/pl.po
index 1ca8b70a..ab74b875 100644
--- a/levels/train306/po/pl.po
+++ b/levels/train306/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train306.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train306/scene.txt:1
#, no-wrap
msgid "train306:Labyrinth 1"
-msgstr ""
+msgstr "train306:Labirynt 1"
#. type: Resume-text
#: train306/scene.txt:2
#, no-wrap
msgid "train306:Teach your bot how to find its way out of the labyrinth."
-msgstr ""
+msgstr "train306:Naucz swojego robota jak znaleść wyjście z labiryntu."
#. type: ScriptName-text
#: train306/scene.txt:3
#, no-wrap
msgid "train306:Labyrinth"
-msgstr ""
+msgstr "train306:Labirynt"
#. type: \b; header
#: train306-help/tlaby1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train306-help/tlaby1.txt:3
@@ -55,12 +55,16 @@ msgid ""
"labyrinth, but there are no bifurcations, and no dead-ends. The labyrinth is "
"made of squares measuring 5m each."
msgstr ""
+"Zaprogramuj robota, aby znajdował wyjście z labiryntu bez uderzania o "
+"ściany. Zakładamy, że konfiguracja labiryntu nie jest znana, jednak nie ma w "
+"nim rozwidleń ani ślepych uliczek. Labirynt składa się z kwadratów o boku 5 "
+"m każdy."
#. type: \b; header
#: train306-help/tlaby1.txt:4
#, no-wrap
msgid "The instruction radar"
-msgstr ""
+msgstr "Instrukcja radar"
#. type: Plain text
#: train306-help/tlaby1.txt:6
@@ -70,12 +74,15 @@ msgid ""
"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 ""
+"Instrukcja radar(Barrier, 0, 45, 0, 5); znajdzie <"
+"a object|barrier>barierę przed robotem, która jest bliżej niż 5 metrów. "
+"Przyjrzyjmy się bliżej pięciu użytym parametrom:"
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:8
#, no-wrap
msgid "Barrier"
-msgstr ""
+msgstr "Barrier"
#. type: Plain text
#: train306-help/tlaby1.txt:9
@@ -84,12 +91,13 @@ msgid ""
"Category of the object that the radar must look for, "
"i.e. a barrier."
msgstr ""
+"Kategoria obiektu, którego ma szukać radar, np. bariera."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:11 train306-help/tlaby1.txt:17
#, no-wrap
msgid "0"
-msgstr ""
+msgstr "0"
#. type: Plain text
#: train306-help/tlaby1.txt:12
@@ -98,12 +106,14 @@ msgid ""
"Direction of the radar. 0 means that the radar must search "
"straight forward."
msgstr ""
+"Kierunek, w którym \"patrzy\" radar. 0 oznacza, że radar "
+"powinien szukać obiektu wprost przed sobą."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:14
#, no-wrap
msgid "45"
-msgstr ""
+msgstr "45"
#. type: Plain text
#: train306-help/tlaby1.txt:15
@@ -113,6 +123,9 @@ msgid ""
"situated between 22.5 degrees to the left and 22.5 degrees to the right will "
"be detected."
msgstr ""
+"Kąt widzenia, w stopniach. Z kątem widzenia równym 45 stopni, wykryte "
+"zostaną bariery znajdujące się pomiędzy 22,5 stopnia w lewo a 22,5 stopnia w "
+"prawo."
#. type: Plain text
#: train306-help/tlaby1.txt:18
@@ -121,12 +134,14 @@ msgid ""
"Minimum detection distance. 0 means that even object that are "
"very close to the bot will be detected."
msgstr ""
+"Minimalna odległość wykrywania. 0 oznacza, że zostaną wykryte "
+"nawet obiekty będące bardzo blisko robota."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:20
#, no-wrap
msgid "5"
-msgstr ""
+msgstr "5"
#. type: Plain text
#: train306-help/tlaby1.txt:21
@@ -135,6 +150,8 @@ msgid ""
"Maximum detection range. Any barrier situated beyond 5 meters "
"will not be detected."
msgstr ""
+"Maksymalna odległość wykrywania. Żadna bariera dalej niż 5 "
+"metrów nie zostanie wykryta."
#. type: Plain text
#: train306-help/tlaby1.txt:23
@@ -144,18 +161,21 @@ msgid ""
"5); will direct the radar 90 degrees to the left, in order to test if "
"the way to the left is free."
msgstr ""
+"Weźmy inny przykład, radar(Barrier, 90, 45, 0, 5); "
+"skieruje radar 90 stopni w lewo, w celu sprawdzenia, czy droga po lewej "
+"stronie jest wolna."
#. type: Image filename
#: train306-help/tlaby1.txt:24
#, no-wrap
msgid "tlaby1"
-msgstr ""
+msgstr "tlaby1"
#. type: \b; header
#: train306-help/tlaby1.txt:25
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train306-help/tlaby1.txt:27
@@ -165,24 +185,30 @@ msgid ""
"will have to execute it several times in order to arrive at the finishing "
"pad.\n"
msgstr ""
+"Program powinien zajmować się tylko pojedynczymi kwadratami labiryntu. "
+"Należy uruchomić go wielokrotnie, aby robot doszedł do platformy końcowej.\n"
#. type: Bullet: 'o'
#: train306-help/tlaby1.txt:27
#, no-wrap
msgid "If there is nothing in front, move forward."
-msgstr ""
+msgstr "Jeśli nie ma niczego przed robotem, idź naprzód."
#. type: Bullet: 'o'
#: train306-help/tlaby1.txt:28
#, no-wrap
msgid "If there is nothing on the left side, quarter turn left, move forward."
msgstr ""
+"Jeśli nie ma niczego po lewej stronie, wykonaj ćwierć obrotu w lewo i idź "
+"naprzód."
#. type: Bullet: 'o'
#: train306-help/tlaby1.txt:29
#, no-wrap
msgid "If there is nothing on the right side, quarter turn right, move forward."
msgstr ""
+"Jeśli nie ma niczego po prawej stronie, wykonaj ćwierć obrotu w prawo i idź "
+"naprzód."
#. type: Bullet: '1)'
#: train306-help/tlaby1.txt:31
@@ -193,12 +219,16 @@ msgid ""
"left and right. Variables of this type can contain "
"the description of any object, for example of a barrier found by the radar."
msgstr ""
+"Na początek zadeklaruj trzy zmienne typu object, nazwane front, left "
+"i right. Zmienne tego typu mogą zawierać opisy dowolnych "
+"obiektów, w tym przypadku bariery znalezionej przez radar."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:33
#, no-wrap
msgid "\tobject front, left, right;"
-msgstr ""
+msgstr "\tobject front, left, right;"
#. type: Bullet: '2)'
#: train306-help/tlaby1.txt:34
@@ -209,6 +239,10 @@ msgid ""
"1). If the radar finds nothing, the variable will contain the value null."
msgstr ""
+"Szukaj bariery we wszystkich trzech kierunkach, a wyniki instrukcji "
+"radar umieść w trzech zmiennych zdefiniowanych w punkcie 1). "
+"Jeśli radar niczego nie wykryje, zmienna będzie zawierała wartość null."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:38
@@ -218,6 +252,9 @@ msgid ""
"\tleft = radar(Barrier, 90, 45, 0, 5);\n"
"\tright = radar(Barrier, -90, 45, 0, 5);"
msgstr ""
+"\tfront = radar(Barrier, 0, 45, 0, 5);\n"
+"\tleft = radar(Barrier, 90, 45, 0, 5);\n"
+"\tright = radar(Barrier, -90, 45, 0, 5);"
#. type: Bullet: '3)'
#: train306-help/tlaby1.txt:39
@@ -228,12 +265,17 @@ msgid ""
"{ } will be executed, otherwise the execution will resume after "
"the closing brace }."
msgstr ""
+"Używając instrukcji if, sprawdź droga przed "
+"robotem jest wolna. Jeśli warunek będzie prawdziwy, zostaną wykonane "
+"instrukcje w klamrach { }, w przeciwnym wypadku, działanie "
+"programu zostanie wznowione po klamrze zamykającej }."
#. type: Plain text
#: train306-help/tlaby1.txt:41
#, no-wrap
msgid "The instruction return leaves the program: the job is done."
msgstr ""
+"Instrukcja return opuszcza program: zadanie zostało wykonane."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:46
@@ -245,6 +287,11 @@ msgid ""
"\treturn;\n"
"}"
msgstr ""
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
#. type: Bullet: '4)'
#: train306-help/tlaby1.txt:47
@@ -253,6 +300,8 @@ msgid ""
"Test if it is possible to turn left; if so, turn left with the instruction "
"turn and move 5m forward."
msgstr ""
+"Sprawdź, czy możliwy jest obrót w lewo; jeśli tak, skręć w lewo instrukcją "
+"turn i idź 5 metrów do przodu."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:54
@@ -265,24 +314,30 @@ msgid ""
"\treturn;\n"
"}"
msgstr ""
+"if ( left == null )\n"
+"{\n"
+"\tturn(90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
#. type: Bullet: '5)'
#: train306-help/tlaby1.txt:55
#, no-wrap
msgid "Test if it is possible to turn right."
-msgstr ""
+msgstr "Sprawdź, czy możliwy jest obrót w prawo."
#. type: Plain text
#: train306-help/tlaby1.txt:57
#, no-wrap
msgid " ..."
-msgstr ""
+msgstr " ..."
#. type: \b; header
#: train306-help/tlaby1.txt:58
#, no-wrap
msgid "Attention"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train306-help/tlaby1.txt:60
@@ -291,12 +346,14 @@ msgid ""
"The instruction if ( ) must never be followed by a semicolon."
msgstr ""
+"Po instrukcji if ( ) nigdy nie powinien wystąpić średnik."
#. type: \t; header
#: train306-help/tlaby1.txt:61
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train306-help/tlaby1.txt:62
@@ -305,3 +362,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train306/po/ru.po b/levels/train306/po/ru.po
index 32c093e4..cff7c3ea 100644
--- a/levels/train306/po/ru.po
+++ b/levels/train306/po/ru.po
@@ -20,224 +20,293 @@ msgstr ""
#: train306.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train306/scene.txt:1
#, no-wrap
msgid "train306:Labyrinth 1"
-msgstr ""
+msgstr "train306:Лабиринт 1"
#. type: Resume-text
#: train306/scene.txt:2
#, no-wrap
msgid "train306:Teach your bot how to find its way out of the labyrinth."
-msgstr ""
+msgstr "train306:Научите своего бота находить выход из лабиринта."
#. type: ScriptName-text
#: train306/scene.txt:3
#, no-wrap
msgid "train306:Labyrinth"
-msgstr ""
+msgstr "train306:Labyrinth"
#. type: \b; header
#: train306-help/tlaby1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train306-help/tlaby1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Запрограммируйте бота так, чтобы он нашел себе путь и не столкнулся со "
+"стенами лабиринта. Мы предполагаем, что конфигурация лабаринта вам "
+"неизвестна, но там нет раздвоений и тупиков. Лабиринт состоит из квадратов "
+"размером 5 метров каждый."
#. type: \b; header
#: train306-help/tlaby1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "The instruction radar"
-msgstr ""
+msgstr "Инструкция radar"
#. type: Plain text
#: train306-help/tlaby1.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Инструкция radar(Barrier, 0, 45, 0, 5); будет "
+"искать любую преграду, расположенную перед радаром на "
+"расстоянии менее 5 метров. Давайте поближе рассмотрим пять использующихся "
+"параметров:"
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "Barrier"
-msgstr ""
+msgstr "Barrier"
#. type: Plain text
#: train306-help/tlaby1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Category of the object that the radar must look for, "
"i.e. a barrier."
msgstr ""
+"Категория объекта, который должен искать радар, то есть "
+"преграда."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:11 train306-help/tlaby1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "0"
-msgstr ""
+msgstr "0"
#. type: Plain text
#: train306-help/tlaby1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Direction of the radar. 0 means that the radar must search "
"straight forward."
msgstr ""
+"Направление радара. 0 означает, что радар должен искать ее "
+"прямо перед собой."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "45"
-msgstr ""
+msgstr "45"
#. type: Plain text
#: train306-help/tlaby1.txt:15
#, no-wrap
+#, fuzzy, 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 ""
+"Открывающий угол в градусах. С открывающим углом в 45 градусов, будут "
+"замечены преграды, расположенные между 22.5 градусами влево 22.5 градусами "
+"вправо."
#. type: Plain text
#: train306-help/tlaby1.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Minimum detection distance. 0 means that even object that are "
"very close to the bot will be detected."
msgstr ""
+"Минимальное расстояние обнаружения. 0 означает, что будут "
+"обнаружены даже те объекты, которые расположены вплотную к боту."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "5"
-msgstr ""
+msgstr "5"
#. type: Plain text
#: train306-help/tlaby1.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Maximum detection range. Any barrier situated beyond 5 meters "
"will not be detected."
msgstr ""
+"Максимальное расстояние обнаружения. Любая преграда, расположенная на "
+"расстоянии более 5 метров не будет обнаружена."
#. type: Plain text
#: train306-help/tlaby1.txt:23
#, no-wrap
+#, fuzzy, 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 ""
+"Чтобы привести еще один пример, radar(Barrier, 90, 45, "
+"0, 5); направит радар на 90 градусов влево, чтобы проверить, нет ли "
+"слева прохода."
#. type: Image filename
#: train306-help/tlaby1.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "tlaby1"
-msgstr ""
+msgstr "tlaby1"
#. type: \b; header
#: train306-help/tlaby1.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train306-help/tlaby1.txt:27
#, no-wrap
+#, fuzzy, 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.\n"
msgstr ""
+"Программа должна заниматься только одним участком лабиринта. Вы должны "
+"будете запустить ее несколько раз, чтобы добраться до финальной площадки.\n"
#. type: Bullet: 'o'
#: train306-help/tlaby1.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid "If there is nothing in front, move forward."
-msgstr ""
+msgstr "Если впереди ничего нет, идти вперед."
#. type: Bullet: 'o'
#: train306-help/tlaby1.txt:28
#, no-wrap
+#, fuzzy, no-wrap
msgid "If there is nothing on the left side, quarter turn left, move forward."
-msgstr ""
+msgstr "Если слева ничего нет, поворот на четверть оборота влево, идти вперед."
#. type: Bullet: 'o'
#: train306-help/tlaby1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid "If there is nothing on the right side, quarter turn right, move forward."
msgstr ""
+"Если справа ничего нет, поворот на четверть оборота вправо, идти вперед."
#. type: Bullet: '1)'
#: train306-help/tlaby1.txt:31
#, no-wrap
+#, fuzzy, 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 ""
+"Сначала задайте три переменные типа объект, которые мы называем front, "
+"left и right. Переменные этого типа могут "
+"содержать описание любого объекта, например преграды, обнаруженной радаром."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tobject front, left, right;"
-msgstr ""
+msgstr "\tobject front, left, right;"
#. type: Bullet: '2)'
#: train306-help/tlaby1.txt:34
#, no-wrap
+#, fuzzy, 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 ""
+"Искать преграды во всех трех направлениях, и выводить результат инструкции "
+"radar в три переменные, заданные в пункте 1). Если радар не "
+"найдет ничего, переменная будет содержать значение null."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:38
#, no-wrap
+#, fuzzy, 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 ""
+"\tfront = radar(Barrier, 0, 45, 0, 5);\n"
+"\tleft = radar(Barrier, 90, 45, 0, 5);\n"
+"\tright = radar(Barrier, -90, 45, 0, 5);"
#. type: Bullet: '3)'
#: train306-help/tlaby1.txt:39
#, no-wrap
+#, fuzzy, 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 ""
+"Проверка наличия свободного пространства перед ботом с помощью инструкции "
+"if. Если проверка истинна, будет выполнена "
+"инструкция, заключенная в скобках { } , иначе продолжится "
+"выполнение кода после закрывающей скобки }."
#. type: Plain text
#: train306-help/tlaby1.txt:41
#, no-wrap
+#, fuzzy, no-wrap
msgid "The instruction return leaves the program: the job is done."
msgstr ""
+"Инструкция return прводит к остановке программы: работа "
+"выполнена."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:46
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"if ( front == null )\n"
"{\n"
@@ -245,18 +314,27 @@ msgid ""
"\treturn;\n"
"}"
msgstr ""
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
#. type: Bullet: '4)'
#: train306-help/tlaby1.txt:47
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Test if it is possible to turn left; if so, turn left with the instruction "
"turn and move 5m forward."
msgstr ""
+"Проверка возможности повернуть влево; если так, проводится поворот влево "
+"инструкцией turn и бот идет 5 метров вперед."
#. type: \s; block (usually verbatim code)
#: train306-help/tlaby1.txt:54
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"if ( left == null )\n"
"{\n"
@@ -265,43 +343,59 @@ msgid ""
"\treturn;\n"
"}"
msgstr ""
+"if ( left == null )\n"
+"{\n"
+"\tturn(90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
#. type: Bullet: '5)'
#: train306-help/tlaby1.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid "Test if it is possible to turn right."
-msgstr ""
+msgstr "Проверка возможности повернуть вправо."
#. type: Plain text
#: train306-help/tlaby1.txt:57
#, no-wrap
+#, fuzzy, no-wrap
msgid " ..."
-msgstr ""
+msgstr " ..."
#. type: \b; header
#: train306-help/tlaby1.txt:58
#, no-wrap
+#, fuzzy, no-wrap
msgid "Attention"
-msgstr ""
+msgstr "Внимание"
#. type: Plain text
#: train306-help/tlaby1.txt:60
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instruction if ( ) must never be followed by a semicolon."
msgstr ""
+"Инструкция if ( ) не должна заканчиваться точкой с "
+"запятой."
#. type: \t; header
#: train306-help/tlaby1.txt:61
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train306-help/tlaby1.txt:62
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train307/po/pl.po b/levels/train307/po/pl.po
index d1f859dc..828d0847 100644
--- a/levels/train307/po/pl.po
+++ b/levels/train307/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train307.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train307/scene.txt:1
#, no-wrap
msgid "train307:Labyrinth 2"
-msgstr ""
+msgstr "train307:Labirynt 2"
#. type: Resume-text
#: train307/scene.txt:2
#, no-wrap
msgid "train307:Teach your bot to do the same job in a more autonomous way."
-msgstr ""
+msgstr "train307:Naucz swojego robota działać bardziej samodzielnie."
#. type: ScriptName-text
#: train307/scene.txt:3
#, no-wrap
msgid "train307:Labyrinth"
-msgstr ""
+msgstr "train307:Labirynt"
#. type: \b; header
#: train307-help/tlaby2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train307-help/tlaby2.txt:3
@@ -54,12 +54,15 @@ msgid ""
"find its way alone from the start to the goal; you will have to execute the "
"program only once."
msgstr ""
+"To ćwiczenie jest bardzo podobne do poprzedniego. Tym razem robot powinien "
+"samodzielnie znaleźć drogę od startu do celu; musisz uruchomić program tylko "
+"jeden raz."
#. type: \b; header
#: train307-help/tlaby2.txt:4
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train307-help/tlaby2.txt:6
@@ -68,18 +71,20 @@ msgid ""
"The labyrinth is not exactly the same, but this should be of no importance, "
"as the program adapts to what it \"sees\"."
msgstr ""
+"Labirynt nie jest dokładnie taki sam ale powinno to być bez znaczenia, gdyż "
+"program przystosowuje się do tego co \"widzi\"."
#. type: Image filename
#: train307-help/tlaby2.txt:7
#, no-wrap
msgid "tlaby1"
-msgstr ""
+msgstr "tlaby1"
#. type: \b; header
#: train307-help/tlaby2.txt:8
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train307-help/tlaby2.txt:10
@@ -88,6 +93,8 @@ msgid ""
"Use an infinite while loop in order to "
"execute the previous program several times:"
msgstr ""
+"Użyj nieskończonej pętli while aby "
+"wielokrotnie wykonać poprzedni program:"
#. type: \s; block (usually verbatim code)
#: train307-help/tlaby2.txt:16
@@ -100,6 +107,12 @@ msgid ""
"\tIf there is nothing on your right hand, turn right\n"
"}"
msgstr ""
+"while ( true )\n"
+"{\n"
+"\tJeśli nie ma niczego z przodu, idź naprzód\n"
+"\tJeśli nie ma niczego po lewej, skręć w lewo\n"
+"\tJeśli nie ma niczego po prawej, skręć w prawo\n"
+"}"
#. type: Plain text
#: train307-help/tlaby2.txt:18
@@ -111,6 +124,11 @@ msgid ""
"we want here. continue will just resume the execution at the "
"beginning of the while loop:"
msgstr ""
+"Wewnątrz pętli while zastąp instrukcje return "
+"instrukcjami continue. return "
+"kończy działanie programu, co nie jest pożądane w tym przypadku. "
+"continue wznawia wykonywanie na początku pętli while:"
#. type: \s; block (usually verbatim code)
#: train307-help/tlaby2.txt:23
@@ -122,18 +140,23 @@ msgid ""
"\tcontinue;\n"
"}"
msgstr ""
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\tcontinue;\n"
+"}"
#. type: \b; header
#: train307-help/tlaby2.txt:24
#, no-wrap
msgid "Remember"
-msgstr ""
+msgstr "Zapamiętaj"
#. type: Plain text
#: train307-help/tlaby2.txt:26
#, no-wrap
msgid "Here is again the program of the previous exercise :"
-msgstr ""
+msgstr "Oto jeszcze raz program z poprzedniego ćwiczenia:"
#. type: \s; block (usually verbatim code)
#: train307-help/tlaby2.txt:50
@@ -163,12 +186,35 @@ msgid ""
"\treturn;\n"
"}"
msgstr ""
+"object front, left, right;\n"
+"\n"
+"front = radar(Barrier, 0, 45, 0, 5);\n"
+"left = radar(Barrier, 90, 45, 0, 5);\n"
+"right = radar(Barrier, -90, 45, 0, 5);\n"
+"\n"
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}\n"
+"if ( left == null )\n"
+"{\n"
+"\tturn(90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}\n"
+"if ( right == null )\n"
+"{\n"
+"\tturn(-90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
#. type: \b; header
#: train307-help/tlaby2.txt:51
#, no-wrap
msgid "Help"
-msgstr ""
+msgstr "Pomoc"
#. type: Plain text
#: train307-help/tlaby2.txt:53
@@ -178,12 +224,15 @@ msgid ""
"radar, if, "
"move or turn."
msgstr ""
+"Jeśli potrzebujesz pomocy, kliknij na hiperłączu instrukcji radar, if, move lub turn."
#. type: \t; header
#: train307-help/tlaby2.txt:54
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train307-help/tlaby2.txt:55
@@ -192,3 +241,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train307/po/ru.po b/levels/train307/po/ru.po
index ffb35273..13f7260f 100644
--- a/levels/train307/po/ru.po
+++ b/levels/train307/po/ru.po
@@ -20,78 +20,93 @@ msgstr ""
#: train307.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train307/scene.txt:1
#, no-wrap
msgid "train307:Labyrinth 2"
-msgstr ""
+msgstr "train307:Лабиринт 2"
#. type: Resume-text
#: train307/scene.txt:2
#, no-wrap
msgid "train307:Teach your bot to do the same job in a more autonomous way."
-msgstr ""
+msgstr "train307:Научите своего бота делать ту же работу в автономном режиме."
#. type: ScriptName-text
#: train307/scene.txt:3
#, no-wrap
msgid "train307:Labyrinth"
-msgstr ""
+msgstr "train307:Labyrinth"
#. type: \b; header
#: train307-help/tlaby2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train307-help/tlaby2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Это упражнение очень напоминает предыдущее упражнение. В этот раз бот должен "
+"сам найти этот путь со стартовой точки и до финиша; вы должны будете "
+"запустить программу только один раз."
#. type: \b; header
#: train307-help/tlaby2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train307-help/tlaby2.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Лабиринт слегка отличается от предыдущего, но это не важно, так как "
+"программа приспособится к тому, что она \"видит\"."
#. type: Image filename
#: train307-help/tlaby2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "tlaby1"
-msgstr ""
+msgstr "tlaby1"
#. type: \b; header
#: train307-help/tlaby2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train307-help/tlaby2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use an infinite while loop in order to "
"execute the previous program several times:"
msgstr ""
+"Используйте бесконечный цикл while, чтобы "
+"выполнять предыдущую несколько раз:"
#. type: \s; block (usually verbatim code)
#: train307-help/tlaby2.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"while ( true )\n"
"{\n"
@@ -100,10 +115,17 @@ msgid ""
"\tIf there is nothing on your right hand, turn right\n"
"}"
msgstr ""
+"while ( true )\n"
+"{\n"
+"\tЕсли спереди нет ничего, идти вперед\n"
+"\tЕсли слева ничего нет, повернуть налево\n"
+"\tЕсли саправа ничего нет, повернуть направо\n"
+"}"
#. type: Plain text
#: train307-help/tlaby2.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Inside this while loop, replace the return "
"instructions by continue "
@@ -111,10 +133,16 @@ msgid ""
"we want here. continue will just resume the execution at the "
"beginning of the while loop:"
msgstr ""
+"Внутри цикла while замените инструкции return на "
+"инструкции continue. return "
+"приведет к выходу из программы, что не совсем то, что нам нужно. "
+"continue просто продолжит выполнение программы с самого начала "
+"цикла while:"
#. type: \s; block (usually verbatim code)
#: train307-help/tlaby2.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"if ( front == null )\n"
"{\n"
@@ -122,22 +150,30 @@ msgid ""
"\tcontinue;\n"
"}"
msgstr ""
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\tcontinue;\n"
+"}"
#. type: \b; header
#: train307-help/tlaby2.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remember"
-msgstr ""
+msgstr "Помните"
#. type: Plain text
#: train307-help/tlaby2.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "Here is again the program of the previous exercise :"
-msgstr ""
+msgstr "Программа из предыдущего упражнения :"
#. type: \s; block (usually verbatim code)
#: train307-help/tlaby2.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"object front, left, right;\n"
"\n"
@@ -163,32 +199,64 @@ msgid ""
"\treturn;\n"
"}"
msgstr ""
+"object front, left, right;\n"
+"\n"
+"front = radar(Barrier, 0, 45, 0, 5);\n"
+"left = radar(Barrier, 90, 45, 0, 5);\n"
+"right = radar(Barrier, -90, 45, 0, 5);\n"
+"\n"
+"if ( front == null )\n"
+"{\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}\n"
+"if ( left == null )\n"
+"{\n"
+"\tturn(90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}\n"
+"if ( right == null )\n"
+"{\n"
+"\tturn(-90);\n"
+"\tmove(5);\n"
+"\treturn;\n"
+"}"
#. type: \b; header
#: train307-help/tlaby2.txt:51
#, no-wrap
+#, fuzzy, no-wrap
msgid "Help"
-msgstr ""
+msgstr "Помощь"
#. type: Plain text
#: train307-help/tlaby2.txt:53
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"If you need some help, just click on the hyperlinks of the instructions "
"radar, if, "
"move or turn."
msgstr ""
+"Если вам понадобится помощь, шелкните на гиперлинке инструкций radar, if, move или turn."
#. type: \t; header
#: train307-help/tlaby2.txt:54
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train307-help/tlaby2.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train308/po/pl.po b/levels/train308/po/pl.po
index 175240e3..715ea3f6 100644
--- a/levels/train308/po/pl.po
+++ b/levels/train308/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train308.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train308/scene.txt:1
#, no-wrap
msgid "train308:The gold digger"
-msgstr ""
+msgstr "train308:Poszukiwacz złota"
#. type: Resume-text
#: train308/scene.txt:2
#, no-wrap
msgid "train308:Instruct your bot to search a zone for subsoil resources."
-msgstr ""
+msgstr "train308:Zaprogramuj robota do szukania podziemnych zasobów."
#. type: ScriptName-text
#: train308/scene.txt:3
#, no-wrap
msgid "train308:Digger"
-msgstr ""
+msgstr "train308:Koparka"
#. type: \b; header
#: train308-help/tsniff.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train308-help/tsniff.txt:3
@@ -55,12 +55,16 @@ msgid ""
"subsoil and discovers an adequate location for a derrick, it will mark it "
"with a red cross."
msgstr ""
+"Przeszukaj robotem szperaczem całą strefę otoczoną "
+"barierami, aby znaleźć odpowiednie miejsce na kopalnię. Gdy robot przebada "
+"podglebie i odkryje odpowiednie miejsce na kopalnię, oznaczy je czerwonym "
+"plusem."
#. type: \b; header
#: train308-help/tsniff.txt:4
#, no-wrap
msgid "Description"
-msgstr ""
+msgstr "Opis"
#. type: Plain text
#: train308-help/tsniff.txt:6
@@ -69,12 +73,14 @@ msgid ""
"The zone inside the barriers is a square of 25 meters. The most efficient "
"way is to check every 5 meters."
msgstr ""
+"Strefa otoczona barierami jest kwadratem o boku 25 metrów. "
+"Najskuteczniejszym sposobem działania jest sprawdzanie podglebia co 5 metrów."
#. type: Image filename
#: train308-help/tsniff.txt:7
#, no-wrap
msgid "sniff1"
-msgstr ""
+msgstr "sniff1"
#. type: Plain text
#: train308-help/tsniff.txt:9
@@ -83,6 +89,8 @@ msgid ""
"One way to achieve this is to fit two for loops "
"one into another:"
msgstr ""
+"Jedynym sposobem osiągnięcia tego jest zagnieżdżenie wewnątrz siebie dwóch "
+"pętli for:"
#. type: \s; block (usually verbatim code)
#: train308-help/tsniff.txt:22
@@ -101,6 +109,18 @@ msgid ""
"\tquarter turn left\n"
"}"
msgstr ""
+"for ( int y=0 ; y<6 ; y=y+1 )\n"
+"{\n"
+"\tfor ( int x=0 ; x<5 ; x=x+1 )\n"
+"\t{\n"
+"\t\tbada podglebie\n"
+"\t\tjedzie 5m naprzód\n"
+"\t}\n"
+"\tbada podglebie\n"
+"\tćwierć obrotu w lewo\n"
+"\tjedzie 5m naprzód\n"
+"\tćwierć obrotu w lewo\n"
+"}"
#. type: Plain text
#: train308-help/tsniff.txt:27
@@ -119,6 +139,19 @@ msgid ""
"} will be executed. Otherwise, the second block { } will "
"be executed."
msgstr ""
+"Program działa dobrze tylko na początku. Po pierwszym wierszu robot obraca "
+"się prawidłowo w lewo i bada drugą linię. Ale po drugiej linii powinien "
+"skręcić w prawo!\n"
+"Należy zauważyć, że jeśli y jest parzyste, robot powinien "
+"skręcić w lewo, a jeśli y jest nieparzyste, powinien skręcić w "
+"prawo.\n"
+"Wyrażeniey%2 podaje resztę z dzielenia "
+"y przez 2. Na przykład jeśli y=3, "
+"wyrażenie zwróci wartość 1.\n"
+"Po teście if { } może pojawić się instrukcja "
+"else { }. Jeśli warunek jest prawdziwy, wykonywany jest "
+"pierwszy blok{ }. W przeciwnym przypadku "
+"zostanie wykonany drugi blok { }."
#. type: \s; block (usually verbatim code)
#: train308-help/tsniff.txt:36
@@ -133,18 +166,26 @@ msgid ""
"\ty is uneven\n"
"}"
msgstr ""
+"if ( y%2 == 0 )\n"
+"{\n"
+"\ty jest parzyste\n"
+"}\n"
+"else\n"
+"{\n"
+"\ty jest nieparzyste\n"
+"}"
#. type: Plain text
#: train308-help/tsniff.txt:38
#, no-wrap
msgid "It is up to you to finish the program."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu."
#. type: \b; header
#: train308-help/tsniff.txt:39
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train308-help/tsniff.txt:41
@@ -154,12 +195,15 @@ msgid ""
"subsoil, and move( ) and turn( ) to move the bot."
msgstr ""
+"Użyj instrukcji sniff( ) do badania podglebia "
+"oraz instrukcji move( ) i turn( ) przemieszczania robota."
#. type: \t; header
#: train308-help/tsniff.txt:42
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train308-help/tsniff.txt:43
@@ -168,3 +212,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train308/po/ru.po b/levels/train308/po/ru.po
index 36a7c206..a86d86f7 100644
--- a/levels/train308/po/ru.po
+++ b/levels/train308/po/ru.po
@@ -20,73 +20,90 @@ msgstr ""
#: train308.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train308/scene.txt:1
#, no-wrap
msgid "train308:The gold digger"
-msgstr ""
+msgstr "train308:Золотоискатель"
#. type: Resume-text
#: train308/scene.txt:2
#, no-wrap
msgid "train308:Instruct your bot to search a zone for subsoil resources."
msgstr ""
+"train308:Прикажите своему боту исследовать местность в поисках полезных "
+"ископаемых."
#. type: ScriptName-text
#: train308/scene.txt:3
#, no-wrap
msgid "train308:Digger"
-msgstr ""
+msgstr "train308:Digger"
#. type: \b; header
#: train308-help/tsniff.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train308-help/tsniff.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Обыщите всю территорию между барьерами, используя "
+"проверочного бота в поисках подходящего места для постройки деррика. "
+"Когда бот простукивает землю и находит подходящее для деррика место, он "
+"обозначит это место красным крестом."
#. type: \b; header
#: train308-help/tsniff.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Description"
-msgstr ""
+msgstr "Описание"
#. type: Plain text
#: train308-help/tsniff.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Зона между барьерами имеет площадь 25 квадратных метров. Наиболее эффективно "
+"будет проверять каждые 5 метров."
#. type: Image filename
#: train308-help/tsniff.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "sniff1"
-msgstr ""
+msgstr "sniff1"
#. type: Plain text
#: train308-help/tsniff.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"One way to achieve this is to fit two for loops "
"one into another:"
msgstr ""
+"Лучший способ достичь этого - вложить два цикла for один в другой:"
#. type: \s; block (usually verbatim code)
#: train308-help/tsniff.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"for ( int y=0 ; y<6 ; y=y+1 )\n"
"{\n"
@@ -101,10 +118,23 @@ msgid ""
"\tquarter turn left\n"
"}"
msgstr ""
+"for ( int y=0 ; y<6 ; y=y+1 )\n"
+"{\n"
+"\tfor ( int x=0 ; x<5 ; x=x+1 )\n"
+"\t{\n"
+"\t\tзондирование почвы\n"
+"\t\tперейти на 5 метров вперед\n"
+"\t}\n"
+"\tзондирование почвы\n"
+"\tчетверть оборота влево\n"
+"\tперейти на 5 метров вперед\n"
+"\tчетверть оборота вправо\n"
+"}"
#. type: Plain text
#: train308-help/tsniff.txt:27
#, no-wrap
+#, fuzzy, 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, "
@@ -119,10 +149,22 @@ msgid ""
"} will be executed. Otherwise, the second block { } will "
"be executed."
msgstr ""
+"Эта программа хорошо работает только в начале. После первой линии бот "
+"поворачивает точно налево и исследует второю линию. Но после второй линии он "
+"должен свернуть вправо!\n"
+"Вы заметите, что если y четное, бот должен повернуть налево, а "
+"если y нечетное, бот должен повернуть направо.\n"
+"Выражениеy%2 возвращает остаток от деления "
+"y на 2. например, если y=3, выражение "
+"возвращает 1.\n"
+"Проверьте if { } может следовать за else { "
+"}. Если проверка истинная, будет выполнен первый блок"
+" { }. Иначе будет выполнен второй блок { }."
#. type: \s; block (usually verbatim code)
#: train308-help/tsniff.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"if ( y%2 == 0 )\n"
"{\n"
@@ -133,38 +175,56 @@ msgid ""
"\ty is uneven\n"
"}"
msgstr ""
+"if ( y%2 == 0 )\n"
+"{\n"
+"\ty четное\n"
+"}\n"
+"else\n"
+"{\n"
+"\ty нечетное\n"
+"}"
#. type: Plain text
#: train308-help/tsniff.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is up to you to finish the program."
-msgstr ""
+msgstr "Теперь вы должны сами закончить программу."
#. type: \b; header
#: train308-help/tsniff.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train308-help/tsniff.txt:41
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the instruction sniff( ) to sound the "
"subsoil, and move( ) and turn( ) to move the bot."
msgstr ""
+"Используйте инструкцию sniff( ) чтобы "
+"простукать почву, и move( ) и turn( ) чтобы перемещать бота."
#. type: \t; header
#: train308-help/tsniff.txt:42
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train308-help/tsniff.txt:43
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train309/po/pl.po b/levels/train309/po/pl.po
index 986aad16..6f6fe1ae 100644
--- a/levels/train309/po/pl.po
+++ b/levels/train309/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train309.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train309/scene.txt:1
#, no-wrap
msgid "train309:Remote control #1"
-msgstr ""
+msgstr "train309:Zdalna kontrola #1"
#. type: Resume-text
#: train309/scene.txt:2
@@ -35,18 +35,20 @@ msgid ""
"train309:Remote control a robot using an information exchange post, so it "
"will transport uranium ore."
msgstr ""
+"train309:Kontroluj zdalnie robota używając stacji przekaźnikowej, aby "
+"przenieść rudę uranu"
#. type: ScriptName-text
#: train309/scene.txt:3
#, no-wrap
msgid "train309:remote"
-msgstr ""
+msgstr "train309:Zdalnie"
#. type: \b; header
#: train309-help/tremote1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train309-help/tremote1.txt:4
@@ -56,12 +58,15 @@ msgid ""
"post, so it will transport uranium ore.\n"
"The main actors of this exercise are¦:"
msgstr ""
+"Pokieruj zdalnie robotem, używając stacji przekaźnikowej "
+"informacji, aby przetransportować rudę uranu.\n"
+"Głównymi postaciami tego ćwiczenia są¦:"
#. type: Bullet: '1)'
#: train309-help/tremote1.txt:5
#, no-wrap
msgid "A sniffer (can't carry anything)."
-msgstr ""
+msgstr "Robot szperacz (nie może niczego przenosić)."
#. type: Bullet: '2)'
#: train309-help/tremote1.txt:6
@@ -70,6 +75,8 @@ msgid ""
"An information exchange post that receives "
"information from a sender and then transmits it to a receiver."
msgstr ""
+"Stacja przekaźnikowa informacji, otrzymująca "
+"informacje od nadawcy i przekazująca je do odbiorcy."
#. type: Bullet: '3)'
#: train309-help/tremote1.txt:7
@@ -78,12 +85,14 @@ msgid ""
"A grabber which waits for orders from the exchange "
"post. You have no way control this robot directly."
msgstr ""
+"Transporter, czekający na rozkazy ze stacji "
+"przekaźnikowej. Nie jest możliwe bezpośrednie kontrolowania tego robota."
#. type: Image filename
#: train309-help/tremote1.txt:9
#, no-wrap
msgid "tremot1a"
-msgstr ""
+msgstr "tremot1a"
#. type: Plain text
#: train309-help/tremote1.txt:11
@@ -92,18 +101,20 @@ msgid ""
"An information exchange post stores \"name/value\" couples. To control the "
"\"slave\" robot we use just one couple¦:"
msgstr ""
+"Stacja przekaźnikowa informacji przechowuje pary \"nazwa/wartość\". Aby "
+"kontrolować robota podległego wystarczy użyć tylko jednej pary¦:"
#. type: Plain text
#: train309-help/tremote1.txt:13
#, no-wrap
msgid " name=\"order\", valuer=order number"
-msgstr ""
+msgstr " nazwa=\"order\", wartoscr=numer rozkazu"
#. type: Plain text
#: train309-help/tremote1.txt:15
#, no-wrap
msgid "The slace robot understands following orders¦:"
-msgstr ""
+msgstr "Robot odbiorca rozumie następujące rozkazy¦:"
#. type: Plain text
#: train309-help/tremote1.txt:20
@@ -114,6 +125,10 @@ msgid ""
" 3 -> move(10); // move 10 meters forward\n"
" 4 -> move(-10); // move 10 meters backwards"
msgstr ""
+" 1 -> grab(); // podnieś obiekt\n"
+" 2 -> drop(); // upuść obiekt\n"
+" 3 -> move(10); // przesuń robota 10 metrów naprzód\n"
+" 4 -> move(-10); // cofnij robota o 10 metrów"
#. type: Plain text
#: train309-help/tremote1.txt:23
@@ -123,6 +138,10 @@ msgid ""
"\tsend(\"order\", 3, 100); // order 3 -> "
"\"move(10)\""
msgstr ""
+"Aby rozkazać robotowi podległemu przemieścić się 10 metrów naprzód, "
+"wystarczy napisać¦:\n"
+"\tsend(\"order\", 3, 100); // order 3 -> \"move(10)"
+"\""
#. type: Plain text
#: train309-help/tremote1.txt:26
@@ -132,6 +151,9 @@ msgid ""
"done.\n"
"\twait(5);"
msgstr ""
+"Po wysłaniu instrukcji odczekaj 5 sekund, aby upewnić się, że ruch został "
+"wykonany.\n"
+"\twait(5);"
#. type: Plain text
#: train309-help/tremote1.txt:28
@@ -140,48 +162,50 @@ 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 ""
+"Wskazówka: Jest lepszy sposób na czekanie na zakończenie wykonywania "
+"rozkazu, ale zobaczymy to w późniejszym ćwiczeniu \"Kontrola zdalna #2\"."
#. type: Plain text
#: train309-help/tremote1.txt:30
#, no-wrap
msgid "To finish the exercise you must¦:"
-msgstr ""
+msgstr "Aby zakończyć ćwiczenie, robot musi¦:"
#. type: Bullet: '1)'
#: train309-help/tremote1.txt:31
#, no-wrap
msgid "Take the uranium ore"
-msgstr ""
+msgstr "Podnieść rudę uranu"
#. type: Bullet: '2)'
#: train309-help/tremote1.txt:32
#, no-wrap
msgid "Move forward by 10 meters"
-msgstr ""
+msgstr "Iść od przodu o 10 metrów"
#. type: Bullet: '3)'
#: train309-help/tremote1.txt:33
#, no-wrap
msgid "Drop the uranium ore"
-msgstr ""
+msgstr "Zostawić rudę uranu"
#. type: Bullet: '4)'
#: train309-help/tremote1.txt:34
#, no-wrap
msgid "Move backwards by 10 meters"
-msgstr ""
+msgstr "Cofnąć się o 10 metrów"
#. type: Plain text
#: train309-help/tremote1.txt:37
#, no-wrap
msgid "It's up to you to write the program."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu..."
#. type: \t; header
#: train309-help/tremote1.txt:38
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train309-help/tremote1.txt:39
@@ -190,3 +214,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train309/po/ru.po b/levels/train309/po/ru.po
index 3e119673..065a13fd 100644
--- a/levels/train309/po/ru.po
+++ b/levels/train309/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: train309.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train309/scene.txt:1
#, no-wrap
msgid "train309:Remote control #1"
-msgstr ""
+msgstr "train309:Дистанционное управление #1"
#. type: Resume-text
#: train309/scene.txt:2
@@ -35,63 +35,81 @@ msgid ""
"train309:Remote control a robot using an information exchange post, so it "
"will transport uranium ore."
msgstr ""
+"train309:Написать программу для бота так, чтобы он мог транспортировать "
+"урановую руду, используя пост обмена информацией как пульт дистанционного "
+"управления."
#. type: ScriptName-text
#: train309/scene.txt:3
#, no-wrap
msgid "train309:remote"
-msgstr ""
+msgstr "train309:remote"
#. type: \b; header
#: train309-help/tremote1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train309-help/tremote1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Remote control a robot using an information exchange "
"post, so it will transport uranium ore.\n"
"The main actors of this exercise are¦:"
msgstr ""
+"Написать программу для бота так, чтобы он мог транспортировать урановую руду, используя пост обмена "
+"информацией как пульт дистанционного управления.\n"
+"Что потребуется¦:"
#. type: Bullet: '1)'
#: train309-help/tremote1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "A sniffer (can't carry anything)."
-msgstr ""
+msgstr "Сниффер (не может ничего нести)."
#. type: Bullet: '2)'
#: train309-help/tremote1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"An information exchange post that receives "
"information from a sender and then transmits it to a receiver."
msgstr ""
+"Пост обмена информацией - для приема и передачи "
+"информации."
#. type: Bullet: '3)'
#: train309-help/tremote1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A grabber which waits for orders from the exchange "
"post. You have no way control this robot directly."
-msgstr ""
+msgstr "Сборщик, которым вы не сможете управлять вручную."
#. type: Image filename
#: train309-help/tremote1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "tremot1a"
-msgstr ""
+msgstr "tremot1a"
#. type: Plain text
#: train309-help/tremote1.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"An information exchange post stores \"name/value\" couples. To control the "
"\"slave\" robot we use just one couple¦:"
msgstr ""
+"Пост обмена информацией хранит данные в виде \"name/value\"(имя/значение) "
+"только парами. Для управления ботом нам потребуется только одна такая пара ¦:"
#. type: Plain text
#: train309-help/tremote1.txt:13
@@ -102,74 +120,97 @@ msgstr ""
#. type: Plain text
#: train309-help/tremote1.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "The slace robot understands following orders¦:"
-msgstr ""
+msgstr "Робот понимает следующие команды(вместо значения order number)¦:"
#. type: Plain text
#: train309-help/tremote1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" 1 -> grab(); // take an object\n"
" 2 -> drop(); // drop an object\n"
" 3 -> move(10); // move 10 meters forward\n"
" 4 -> move(-10); // move 10 meters backwards"
msgstr ""
+" 1 -> grab(); // взять объект\n"
+" 2 -> drop(); // положить объект\n"
+" 3 -> move(10); // двигаться на 10 метров вперед\n"
+" 4 -> move(-10); // двигаться на 10 метров назад"
#. type: Plain text
#: train309-help/tremote1.txt:23
#, no-wrap
+#, fuzzy, 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)\""
msgstr ""
+"Для того, чтобы бот двигался вперед на 10 метров, ему нужно подать "
+"инструкции¦:\n"
+"\tsend(\"order\", 3, 100); // order 3 -> \"move(10)"
+"\""
#. type: Plain text
#: train309-help/tremote1.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"After the send instruction we wait for 5 seconds to be sure the move is "
"done.\n"
"\twait(5);"
msgstr ""
+"После отправки инструкций ждем 5 секунд, чтобы убедиться, что программа "
+"работает.\n"
+"\twait(5);"
#. type: Plain text
#: train309-help/tremote1.txt:28
#, no-wrap
+#, fuzzy, 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 ""
+"Примечание: Существует более лучший способ для выполнения данной миссии, но "
+"мы увидим его позже в упражнении \"Дистанционное управление № 2»."
#. type: Plain text
#: train309-help/tremote1.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "To finish the exercise you must¦:"
-msgstr ""
+msgstr "Для завершения упражнения вы должны¦:"
#. type: Bullet: '1)'
#: train309-help/tremote1.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid "Take the uranium ore"
-msgstr ""
+msgstr "Взять урановую руду"
#. type: Bullet: '2)'
#: train309-help/tremote1.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move forward by 10 meters"
-msgstr ""
+msgstr "Продвинуться вперед на 10 метров"
#. type: Bullet: '3)'
#: train309-help/tremote1.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid "Drop the uranium ore"
-msgstr ""
+msgstr "Положить урановую руду"
#. type: Bullet: '4)'
#: train309-help/tremote1.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move backwards by 10 meters"
-msgstr ""
+msgstr "Отъехать назад на 10 метров"
#. type: Plain text
#: train309-help/tremote1.txt:37
@@ -180,13 +221,17 @@ msgstr ""
#. type: \t; header
#: train309-help/tremote1.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Смотри также"
#. type: Plain text
#: train309-help/tremote1.txt:39
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Язык CBOT, Переменные и Категории."
diff --git a/levels/train4-po/pl.po b/levels/train4-po/pl.po
index ad527ce9..382e6b6e 100644
--- a/levels/train4-po/pl.po
+++ b/levels/train4-po/pl.po
@@ -20,16 +20,16 @@ msgstr ""
#: train4.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train4/train400.txt:1
#, no-wrap
msgid "train400:Motors"
-msgstr ""
+msgstr "train400:Silniki"
#. type: Title-resume
#: train4/train400.txt:1
#, no-wrap
msgid "train400:Motor"
-msgstr ""
+msgstr "train400:Silnik"
diff --git a/levels/train4-po/ru.po b/levels/train4-po/ru.po
index ce42da48..e4b4a3cf 100644
--- a/levels/train4-po/ru.po
+++ b/levels/train4-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: train4.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train4/train400.txt:1
#, no-wrap
msgid "train400:Motors"
-msgstr ""
+msgstr "train400:Моторы"
#. type: Title-resume
#: train4/train400.txt:1
#, no-wrap
msgid "train400:Motor"
-msgstr ""
+msgstr "train400:Мотор"
diff --git a/levels/train401/po/pl.po b/levels/train401/po/pl.po
index 2bcb916e..dcb637e2 100644
--- a/levels/train401/po/pl.po
+++ b/levels/train401/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train401.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: ScriptName-text
#: train401/scene.txt:1 train401/scene.txt:3
#, no-wrap
msgid "train401:Dragster"
-msgstr ""
+msgstr "train401:Spowalniacz"
#. type: Resume-text
#: train401/scene.txt:2
@@ -35,12 +35,14 @@ msgid ""
"train401:Program a progressive deceleration in order to avoid the mines "
"right behind the goal."
msgstr ""
+"train401:Zaprogramuj stopniowe zwalnianie, w celu uniknięcia min "
+"znajdujących się bezpośrednio za celem."
#. type: \b; header
#: train401-help/tdragst.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train401-help/tdragst.txt:3
@@ -51,6 +53,9 @@ msgid ""
"progressively at the end of the move, otherwise the bot will get blown up on "
"the mines."
msgstr ""
+"Dotrzyj jak najszybciej do platformy końcowej (25 m przed Tobą), używając "
+"instrukcji motor( , ). Przed końcem ruchu musisz stopniowo "
+"zwalniać, aby robot nie wpadł na miny i nie wybuchł."
#. type: Plain text
#: train401-help/tdragst.txt:5
@@ -60,42 +65,46 @@ msgid ""
"this would work perfectly well. However, the aim of this exercise is to "
"learn how to use the instruction motor."
msgstr ""
+"Równie dobrze możesz napisać jedynie instrukcję move(25);, która wykona to samo zadanie, jednak celem tego "
+"ćwiczenia jest nauka używania instrukcji motor."
#. type: Plain text
#: train401-help/tdragst.txt:7
#, no-wrap
msgid "This instruction asks for two values:\n"
-msgstr ""
+msgstr "Instrukcja ta potrzebuje dwóch wartości:\n"
#. type: Bullet: '1)'
#: train401-help/tdragst.txt:7
#, no-wrap
msgid "The speed of the left-hand motor."
-msgstr ""
+msgstr "Prędkości lewego silnika."
#. type: Bullet: '2)'
#: train401-help/tdragst.txt:8
#, no-wrap
msgid "The speed of the right-hand motor."
-msgstr ""
+msgstr "Prędkości prawego silnika."
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:11
#, no-wrap
msgid "\tmotor( left, right );"
-msgstr ""
+msgstr "\tmotor( lewy, prawy );"
#. type: Plain text
#: train401-help/tdragst.txt:13
#, no-wrap
msgid "The values must range between -1 and 1:\n"
-msgstr ""
+msgstr "Wartości muszą się zawierać w przedziale od -1 do 1:\n"
#. type: Bullet: '-'
#: train401-help/tdragst.txt:13
#, no-wrap
msgid "1 = full throttle backward"
-msgstr ""
+msgstr "1 = pełny ciąg wstecz"
#. type: Plain text
#: train401-help/tdragst.txt:16
@@ -104,6 +113,8 @@ msgid ""
" 0 = stop\n"
" 1 = full throttle forward"
msgstr ""
+" 0 = silnik zatrzymany\n"
+" 1 = pełny ciąg naprzód"
#. type: Plain text
#: train401-help/tdragst.txt:18
@@ -112,6 +123,8 @@ 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 ""
+"Na przykład instrukcja motor(0.5, 0.5); będzie poruszała robotem "
+"naprzód z połową prędkości, aż do podania silnikom nowych instrukcji."
#. type: Plain text
#: train401-help/tdragst.txt:20
@@ -122,12 +135,16 @@ msgid ""
"right-hand motor moves a little faster (0.6) than the left-hand "
"motor (0.5)."
msgstr ""
+"Po napotkaniu instrukcji motor(0.5, 0.6);, robot będzie się poruszał "
+"do przodu z połową prędkości, wykonując w tym samym czasie niewielki obrót w "
+"lewo: prawy silnik porusza się nieco szybciej (0.6) niż lewy "
+"(0.5)."
#. type: \b; header
#: train401-help/tdragst.txt:21
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train401-help/tdragst.txt:24
@@ -145,18 +162,28 @@ msgid ""
"between the starting position and your current position with "
"distance(position, start)."
msgstr ""
+"Aby przejechać dokładnie 25 metrów, należy jechać z pełną prędkością przez "
+"pierwsze 23 metry, a następnie stopniowo zmniejszać prędkość przez ostatnie "
+"dwa metry.\n"
+"Zmiennaposition podaje bieżącą pozycję "
+"robota, a instrukcja distance( , ); oblicza "
+"odległość między dwoma punktami. Najlepszy sposób na poznanie własnej "
+"pozycji, polega na zachowaniu bieżącej pozycji przed startem w zmiennej, nazwanej na przykład start. Następnie "
+"można obliczyć odległość między pozycją startową i bieżącą pozycją za pomocą "
+"instrukcji distance(position, start)."
#. type: \b; header
#: train401-help/tdragst.txt:25
#, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Program"
#. type: Bullet: '1)'
#: train401-help/tdragst.txt:26
#, no-wrap
msgid "declare the variables"
-msgstr ""
+msgstr "zadeklaruj zmienne"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:29
@@ -165,36 +192,38 @@ msgid ""
"\tpoint start;\n"
"\tfloat len;"
msgstr ""
+"\tpoint start;\n"
+"\tfloat len;"
#. type: Bullet: '2)'
#: train401-help/tdragst.txt:30
#, no-wrap
msgid "save the starting position"
-msgstr ""
+msgstr "zapisz pozycję startową"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:32
#, no-wrap
msgid "\tstart = position;"
-msgstr ""
+msgstr "\tstart = position;"
#. type: Bullet: '3)'
#: train401-help/tdragst.txt:33
#, no-wrap
msgid "start full throttle :"
-msgstr ""
+msgstr "na początek z pełną mocą:"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:35
#, no-wrap
msgid "\tmotor(1, 1);"
-msgstr ""
+msgstr "\tmotor(1, 1);"
#. type: Bullet: '4)'
#: train401-help/tdragst.txt:36
#, no-wrap
msgid "Perform an infinite while loop:"
-msgstr ""
+msgstr "wykonaj pętlę nieskończoną while:"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:45
@@ -209,6 +238,14 @@ msgid ""
"\t\t}\n"
"\t}"
msgstr ""
+"\twhile ( true )\n"
+"\t{\n"
+"\t\tlen = distance(position, start);\n"
+"\t\tif ( len > 25-2 )\n"
+"\t\t{\n"
+"\t\t\tmotor( mniej niż poprzednio! );\n"
+"\t\t}\n"
+"\t}"
#. type: Plain text
#: train401-help/tdragst.txt:47
@@ -220,6 +257,10 @@ msgid ""
"their maximum speed as they were told by the motor(1,1); instruction."
msgstr ""
+"Tak długo jak odległość pomiędzy pozycją startową i bieżącą jest mniejsza od "
+"23m, instrukcje w klamrach po instrukcji if nie "
+"będą wykonywane, więc silniki utrzymają maksymalną prędkość nadaną im "
+"instrukcją motor(1,1);."
#. type: Plain text
#: train401-help/tdragst.txt:49
@@ -228,42 +269,46 @@ msgid ""
"In order to slow down progressively, the speed of the motors must be "
"proportional to the remaining distance:\n"
msgstr ""
+"Aby stopniowo zwalniać, prędkość silników musi być proporcjonalna do "
+"pozostałej odległości:\n"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:49
#, no-wrap
msgid "2.0 meters left -> speed = 1.00 (maximum)"
msgstr ""
+"zostały 2.0 metry -> prędkość = 1.00 (maksymalna)"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:50
#, no-wrap
msgid "1.5 meters left -> speed = 0.75"
-msgstr ""
+msgstr "zostało 1.5 metra -> prędkość = 0.75"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:51
#, no-wrap
msgid "1.0 meter left -> speed = 0.50"
-msgstr ""
+msgstr "został 1.0 metr -> prędkość = 0.50"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:52
#, no-wrap
msgid "0.5 meter left -> speed = 0.25"
-msgstr ""
+msgstr "zostało 0.5 metra -> prędkość = 0.25"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:53
#, no-wrap
msgid "0.0 meter left -> speed = 0.00 (stop)"
msgstr ""
+"zostało 0.0 metrów -> prędkość = 0.00 (zatrzymanie)"
#. type: Image filename
#: train401-help/tdragst.txt:55
#, no-wrap
msgid "tdragst1"
-msgstr ""
+msgstr "tdragst1"
#. type: Plain text
#: train401-help/tdragst.txt:57
@@ -273,18 +318,21 @@ msgid ""
"(25-len)/2 in order to calculate the value for the speed "
"instruction that must be given to the motors."
msgstr ""
+"Do obliczenia prędkości, która zostanie podana silnikom możesz użyć "
+"następującego wyrażenia: (25-len)/2."
#. type: Plain text
#: train401-help/tdragst.txt:59
#, no-wrap
msgid "It is now up to you to put everything together and to test the program."
msgstr ""
+"Do Ciebie należy złożenie tego wszystkiego razem i przetestowanie programu."
#. type: \b; header
#: train401-help/tdragst.txt:60
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train401-help/tdragst.txt:62
@@ -293,12 +341,14 @@ msgid ""
"You can use values greater than 1 for the instruction motor();, but the bot will not move any faster."
msgstr ""
+"Możesz używać wartości większych od 1 dla instrukcji motor();, ale robot nie będzie poruszał się szybciej."
#. type: \t; header
#: train401-help/tdragst.txt:63
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train401-help/tdragst.txt:64
@@ -307,3 +357,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train401/po/ru.po b/levels/train401/po/ru.po
index 074919ee..143ef31d 100644
--- a/levels/train401/po/ru.po
+++ b/levels/train401/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: train401.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: ScriptName-text
#: train401/scene.txt:1 train401/scene.txt:3
#, no-wrap
msgid "train401:Dragster"
-msgstr ""
+msgstr "train401:Миноискатель"
#. type: Resume-text
#: train401/scene.txt:2
@@ -35,103 +35,135 @@ msgid ""
"train401:Program a progressive deceleration in order to avoid the mines "
"right behind the goal."
msgstr ""
+"train401:Запрограммируйте постепенное снижение скорости, чтобы избежать мины "
+"прямо перед целью."
#. type: \b; header
#: train401-help/tdragst.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train401-help/tdragst.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Достигните финишной площадки (25 м перед вами) как можно быстрее, используя "
+"инструкцию motor( , ). В конце движения вы должны будете "
+"постепенно снизить свою скорость, или бот подорвется на минах."
#. type: Plain text
#: train401-help/tdragst.txt:5
#, no-wrap
+#, fuzzy, 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 ""
+"Вы можете ничего больше не писать кроме move(25);, "
+"это должно сработать просто идеально. Тем не менее, это упражнение "
+"преследует цель изучить использование инструкции motor."
#. type: Plain text
#: train401-help/tdragst.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "This instruction asks for two values:\n"
-msgstr ""
+msgstr "Эта инструкция запрашивает два значения:\n"
#. type: Bullet: '1)'
#: train401-help/tdragst.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "The speed of the left-hand motor."
-msgstr ""
+msgstr "Скорость левостороннего мотора."
#. type: Bullet: '2)'
#: train401-help/tdragst.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "The speed of the right-hand motor."
-msgstr ""
+msgstr "Скорость правостороннего мотора."
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tmotor( left, right );"
-msgstr ""
+msgstr "\tmotor( left, right );"
#. type: Plain text
#: train401-help/tdragst.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "The values must range between -1 and 1:\n"
-msgstr ""
+msgstr "Значения должны быть между -1 и 1:\n"
#. type: Bullet: '-'
#: train401-help/tdragst.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "1 = full throttle backward"
-msgstr ""
+msgstr "1 = полная тяга назад"
#. type: Plain text
#: train401-help/tdragst.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" 0 = stop\n"
" 1 = full throttle forward"
msgstr ""
+" 0 = стоп\n"
+" 1 = полная тяга вперед"
#. type: Plain text
#: train401-help/tdragst.txt:18
#, no-wrap
+#, fuzzy, 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 ""
+"Например, motor(0.5, 0.5); будет двигать машину вперед на среднем "
+"ходу, пока она не получит дальнейших инструкций."
#. type: Plain text
#: train401-help/tdragst.txt:20
#, no-wrap
+#, fuzzy, 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 (0.5)."
msgstr ""
+"С помощью инструкции motor(0.5, 0.6);, можно заставить бота "
+"двигаться вперед на среднем ходу, одновременно медленно поворачиваясь влево: "
+"правосторонний мотор движется немного быстрее (0.6), чем "
+"левосторонний мотор (0.5)."
#. type: \b; header
#: train401-help/tdragst.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Обший принцип"
#. type: Plain text
#: train401-help/tdragst.txt:24
#, no-wrap
+#, fuzzy, 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 "
@@ -145,60 +177,82 @@ msgid ""
"between the starting position and your current position with "
"distance(position, start)."
msgstr ""
+"Чтобы переместиться вперед точно на 25 метров и остановиться, вы должны "
+"двигаться первые 23 метра на полной скорости, а после этого снизить скорость "
+"на последнем отрезке длиной два метра.\n"
+"Переменнаяposition в любой момент "
+"сообщает вам о текущей позиции бота, а инструкция distance( , ); выдает расстояние между двумя точками. "
+"Лучший способ узнать ваше текущее положение заключается в сохранении текущей "
+"позиции перед тем, как задать переменную. Например, "
+"переменную, которая называется start. После этого вы сможете "
+"высчитать расстояние между начальной позицией и вашей текущей позицией: "
+"distance(позиция, старт)."
#. type: \b; header
#: train401-help/tdragst.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Программа"
#. type: Bullet: '1)'
#: train401-help/tdragst.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "declare the variables"
-msgstr ""
+msgstr "задание переменных"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tpoint start;\n"
"\tfloat len;"
msgstr ""
+"\tpoint start;\n"
+"\tfloat len;"
#. type: Bullet: '2)'
#: train401-help/tdragst.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "save the starting position"
-msgstr ""
+msgstr "сохранение стартовой позиции"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tstart = position;"
-msgstr ""
+msgstr "\tstart = position;"
#. type: Bullet: '3)'
#: train401-help/tdragst.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid "start full throttle :"
-msgstr ""
+msgstr "start full throttle :"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid "\tmotor(1, 1);"
-msgstr ""
+msgstr "\tmotor(1, 1);"
#. type: Bullet: '4)'
#: train401-help/tdragst.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid "Perform an infinite while loop:"
-msgstr ""
+msgstr "Бесконечный цикл while:"
#. type: \s; block (usually verbatim code)
#: train401-help/tdragst.txt:45
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\twhile ( true )\n"
"\t{\n"
@@ -209,10 +263,19 @@ msgid ""
"\t\t}\n"
"\t}"
msgstr ""
+"\twhile ( true )\n"
+"\t{\n"
+"\t\tlen = distance(позиция, старт);\n"
+"\t\tif ( len > 25-2 )\n"
+"\t\t{\n"
+"\t\t\tmotor( меньше, чем раньше ! );\n"
+"\t\t}\n"
+"\t}"
#. type: Plain text
#: train401-help/tdragst.txt:47
#, no-wrap
+#, fuzzy, 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 motor(1,1); instruction."
msgstr ""
+"Пока расстояние между стартовой и текущей позициями меньше 23 метров, "
+"инструкция в скобках после if выполняться не "
+"будет, поэтом моторы будут продолжать на максимальной мощности, как им и "
+"было приказано инструкцией motor(1,1);."
#. type: Plain text
#: train401-help/tdragst.txt:49
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to slow down progressively, the speed of the motors must be "
"proportional to the remaining distance:\n"
msgstr ""
+"Чтобы постепенно снизить скорость, скорость моторов должна быть "
+"пропорциональной оставшемуся расстоянию:\n"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:49
#, no-wrap
+#, fuzzy, no-wrap
msgid "2.0 meters left -> speed = 1.00 (maximum)"
msgstr ""
+"2.0 метра осталось -> скорость = 1.00 (максимум)"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:50
#, no-wrap
+#, fuzzy, no-wrap
msgid "1.5 meters left -> speed = 0.75"
-msgstr ""
+msgstr "1.5 метра осталось -> скорость = 0.75"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:51
#, no-wrap
+#, fuzzy, no-wrap
msgid "1.0 meter left -> speed = 0.50"
-msgstr ""
+msgstr "1.0 метр остался -> скорость = 0.50"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:52
#, no-wrap
+#, fuzzy, no-wrap
msgid "0.5 meter left -> speed = 0.25"
-msgstr ""
+msgstr "0.5 метра осталось -> скорость = 0.25"
#. type: Bullet: 'o'
#: train401-help/tdragst.txt:53
#, no-wrap
+#, fuzzy, no-wrap
msgid "0.0 meter left -> speed = 0.00 (stop)"
msgstr ""
+"0.0 метров осталось -> скорость = 0.00 (стоп)"
#. type: Image filename
#: train401-help/tdragst.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid "tdragst1"
-msgstr ""
+msgstr "tdragst1"
#. type: Plain text
#: train401-help/tdragst.txt:57
#, no-wrap
+#, fuzzy, 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 ""
+"Вы можете использовать следующее выражение "
+"(25-len)/2 чтобы высчитать значение для инструкции скорости, "
+"которая должна быть дана моторам."
#. type: Plain text
#: train401-help/tdragst.txt:59
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is now up to you to put everything together and to test the program."
-msgstr ""
+msgstr "Теперь вы должны сложить все это вместе и проверить программу."
#. type: \b; header
#: train401-help/tdragst.txt:60
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train401-help/tdragst.txt:62
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"You can use values greater than 1 for the instruction motor();, but the bot will not move any faster."
msgstr ""
+"Вы можете использовать значения больше 1 для инструкции motor();, но от этого бот быстрее двигаться не будет."
#. type: \t; header
#: train401-help/tdragst.txt:63
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train401-help/tdragst.txt:64
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train402/po/pl.po b/levels/train402/po/pl.po
index 390dd372..0e9d3dfa 100644
--- a/levels/train402/po/pl.po
+++ b/levels/train402/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train402.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train402/scene.txt:1
#, no-wrap
msgid "train402:Radar"
-msgstr ""
+msgstr "train402:Radar"
#. type: Resume-text
#: train402/scene.txt:2
#, no-wrap
msgid "train402:Use the radar to find lots of stupid blue crosses."
-msgstr ""
+msgstr "train402:Użyj radaru do znalezienia mnóstwa głupich niebieskich plusów."
#. type: ScriptName-text
#: train402/scene.txt:3
#, no-wrap
msgid "train402:Find"
-msgstr ""
+msgstr "train402:Znajdź"
#. type: \b; header
#: train402-help/tradar1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train402-help/tradar1.txt:3
@@ -54,30 +54,33 @@ msgid ""
"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 ""
+"Napisz program umożliwiający robotowi znalezienie wszystkich niebieskich plusów leżących na ziemi. Plusy znikają po "
+"przejściu przez nie robota. Oto główna zasada działania programu:"
#. type: Plain text
#: train402-help/tradar1.txt:5
#, no-wrap
msgid "Repeat forever:\n"
-msgstr ""
+msgstr "Powtarzaj w nieskończoność:\n"
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:5
#, no-wrap
msgid "Look for a cross"
-msgstr ""
+msgstr "Szukaj plusa"
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:6
#, no-wrap
msgid "If there is none, stop the program."
-msgstr ""
+msgstr "Jeśli nie ma żadnego, zatrzymaj program."
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:7
#, no-wrap
msgid "Calculate the direction of the cross."
-msgstr ""
+msgstr "Oblicz kierunek do plusa."
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:8
@@ -85,13 +88,13 @@ msgstr ""
msgid ""
"Set the speed of the motors in such a way that they will find their way to "
"the cross."
-msgstr ""
+msgstr "Ustaw prędkości silników tak, aby robot dotarł do znalezionego plusa."
#. type: \b; header
#: train402-help/tradar1.txt:10
#, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train402-help/tradar1.txt:12
@@ -100,6 +103,8 @@ msgid ""
"Use a while loop in order to repeat several "
"instructions over and over:"
msgstr ""
+"Użyj pętli while do wielokrotnego powtarzania "
+"instrukcji:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:16
@@ -110,6 +115,10 @@ msgid ""
"\tinstructions...\n"
"}"
msgstr ""
+"while ( true )\n"
+"{\n"
+"\tinstrukcje...\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:18
@@ -121,12 +130,16 @@ msgid ""
"needs only one parameter, i.e. the category of the object that it must look "
"for:"
msgstr ""
+"Instrukcja radar wykryje niebieskie plusy i "
+"umieści ich opis w zmiennej, na przykład spot. W tym przypadku "
+"instrukcja radar() potrzebuje tylko jednego "
+"parametru, to jest kategorii obiektu, który musi znaleźć:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:19
#, no-wrap
msgid "spot = radar(WayPoint);"
-msgstr ""
+msgstr "spot = radar(WayPoint);"
#. type: Plain text
#: train402-help/tradar1.txt:21
@@ -136,6 +149,10 @@ msgid ""
"value null. You will have to test this case "
"and react accordingly with the instruction if:"
msgstr ""
+"Po znalezieniu wszystkich plusów, instrukcja radar zwróci "
+"wartość null. Konieczne będzie sprawdzanie "
+"tego warunku instrukcją if i odpowiednie "
+"reagowanie:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:26
@@ -147,6 +164,11 @@ msgid ""
"\tbreak; // stops the loop\n"
"}"
msgstr ""
+"if ( spot == null ) // nie ma więcej?\n"
+"{\n"
+"\tmotor(0, 0); // zatrzymaj silniki\n"
+"\tbreak; // zatrzymaj pętlę\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:27
@@ -155,6 +177,8 @@ msgid ""
"The instruction break will stop the "
"infinite loop while (true)."
msgstr ""
+"Instrukcja break zatrzyma nieskończoną "
+"pętlę while (true)."
#. type: Plain text
#: train402-help/tradar1.txt:29
@@ -166,12 +190,17 @@ msgid ""
"spot.position. The following line will put the angle of the "
"necessary rotation into the variabledir:"
msgstr ""
+"Użyj instrukcji direction() do obliczenia "
+"kąta obrotu, jaki musi wykonać robot, aby iść w kierunku niebieskiego plusa. "
+"Współrzędne obiektu są podawane przez spot.position. "
+"Następujący wiersz umieści kąt niezbędnego obrotu w zmiennej "
+"dir:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:30
#, no-wrap
msgid "dir = direction(spot.position);"
-msgstr ""
+msgstr "dir = direction(spot.position);"
#. type: Plain text
#: train402-help/tradar1.txt:32
@@ -182,6 +211,10 @@ msgid ""
"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 ""
+"Wartość kąta jest dodatnia, gdy niebieski plus jest po lewej stronie a "
+"ujemna, gdy jest po prawej. Jeśli plus jest po lewej stronie, należy ustawić "
+"pełną prędkość prawego silnika i zmniejszyć prędkość lewego silnika w "
+"zależności od kąta:"
#. type: Plain text
#: train402-help/tradar1.txt:38
@@ -193,6 +226,11 @@ msgid ""
" direction = 135 -> speed = -0.5\n"
" direction = 180 -> speed = -1.0"
msgstr ""
+" kierunek = 0 -> prędkość = 1.0\n"
+" kierunek = 45 -> prędkość = 0.5\n"
+" kierunek = 90 -> prędkość = 0.0\n"
+" kierunek = 135 -> prędkość = -0.5\n"
+" kierunek = 180 -> prędkość = -1.0"
#. type: Plain text
#: train402-help/tradar1.txt:40
@@ -202,12 +240,14 @@ msgid ""
"set by the instruction motor, according to "
"the angle:"
msgstr ""
+"Poniższy schemat pokazuje zależność prędkości lewego i prawego silnika, "
+"ustawianego instrukcją motor, od kąta:"
#. type: Image filename
#: train402-help/tradar1.txt:41
#, no-wrap
msgid "radar2"
-msgstr ""
+msgstr "radar2"
#. type: Plain text
#: train402-help/tradar1.txt:43
@@ -219,6 +259,11 @@ msgid ""
"the expression1+dir/90 in order to calculate "
"the necessary speed of the motors:"
msgstr ""
+"Jeśli plus jest wprost przed robotem, kąt jest równy 0 stopni. Prędkości obu "
+"silników zostaną ustawione na 1, czyli pełną prędkość naprzód. Jeśli plus "
+"jest za robotem, prędkość prawego silnika zostanie ustawiona na -1, co "
+"obróci robota dookoła. Można użyć wyrażenia "
+"1+dir/90 w celu obliczenia niezbędnej prędkości silników:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:47
@@ -229,6 +274,10 @@ msgid ""
"\tmotor(1, 1+dir/90); // turns more or less\n"
"}"
msgstr ""
+"if ( dir < 0 ) // po prawej stronie?\n"
+"{\n"
+"\tmotor(1, 1+dir/90); // skręca bardziej lub mniej\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:49
@@ -238,6 +287,8 @@ msgid ""
"between 0 and 180 degrees. It is up to you to work out the exact "
"instructions to be performed:"
msgstr ""
+"Użyj tej samej metody w przypadku dodatniej wartości kąta, w przedziale od 0 "
+"do 180 stopni. Do Ciebie należy napisanie dokładnych instrukcji do wykonania:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:53
@@ -248,6 +299,10 @@ msgid ""
"\tup to you to fill in here...\n"
"}"
msgstr ""
+"else // po lewej stronie?\n"
+"{\n"
+"\tdo Ciebie należy wypełnienie tego...\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:55
@@ -258,12 +313,15 @@ msgid ""
"cbot|object>object, whereas dir is of type float."
msgstr ""
+"Na początku programu musisz zadeklarować wszystkie zmienne. spot"
+" jest typu object, podczas gdy "
+"dir jest typu float."
#. type: \t; header
#: train402-help/tradar1.txt:56
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train402-help/tradar1.txt:57
@@ -272,3 +330,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train402/po/ru.po b/levels/train402/po/ru.po
index f88f47a4..a3e50a13 100644
--- a/levels/train402/po/ru.po
+++ b/levels/train402/po/ru.po
@@ -20,100 +20,122 @@ msgstr ""
#: train402.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train402/scene.txt:1
#, no-wrap
msgid "train402:Radar"
-msgstr ""
+msgstr "train402:Радар"
#. type: Resume-text
#: train402/scene.txt:2
#, no-wrap
msgid "train402:Use the radar to find lots of stupid blue crosses."
-msgstr ""
+msgstr "train402:С помощью радара найдите множество синих крестов."
#. type: ScriptName-text
#: train402/scene.txt:3
#, no-wrap
msgid "train402:Find"
-msgstr ""
+msgstr "train402:Find"
#. type: \b; header
#: train402-help/tradar1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train402-help/tradar1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Пусть бот отыщет на земле все синие кресты. Как "
+"только бот пройдет над одним из крестов, он исчезнет. Вот общий принцип, "
+"который вы должны применить:"
#. type: Plain text
#: train402-help/tradar1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Repeat forever:\n"
-msgstr ""
+msgstr "Повторять всегда:\n"
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid "Look for a cross"
-msgstr ""
+msgstr "Искать крест"
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "If there is none, stop the program."
-msgstr ""
+msgstr "Если креста нет, остановить программу."
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Calculate the direction of the cross."
-msgstr ""
+msgstr "Рассчитать направление к кресту."
#. type: Bullet: 'o'
#: train402-help/tradar1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Set the speed of the motors in such a way that they will find their way to "
"the cross."
msgstr ""
+"Установить скорость моторов таким способом, чтобы они могли найти путь к "
+"кресту."
#. type: \b; header
#: train402-help/tradar1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train402-help/tradar1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use a while loop in order to repeat several "
"instructions over and over:"
msgstr ""
+"Используйте цикл while, чтобы повторять "
+"несколько инструкций снова и снова:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"while ( true )\n"
"{\n"
"\tinstructions...\n"
"}"
msgstr ""
+"while ( true )\n"
+"{\n"
+"\tинструкции...\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instruction radar will detect the blue "
"crosses and put their description into a variable, for example "
@@ -121,25 +143,35 @@ msgid ""
"needs only one parameter, i.e. the category of the object that it must look "
"for:"
msgstr ""
+"Инструкция radar будет искать синие кресты и "
+"переводить направление к ним в переменную, например spot. В "
+"этом случае инструкции radar() необходим "
+"всего один параметр, т.е. категория объекта, который он должен искать:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "spot = radar(WayPoint);"
-msgstr ""
+msgstr "spot = radar(WayPoint);"
#. type: Plain text
#: train402-help/tradar1.txt:21
#, no-wrap
+#, fuzzy, 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 ""
+"Когда будут найдены все кресты, radar возвратит значение <"
+"a cbot|null>null. Вы должны будете все это проверить и "
+"действовать согласно инструкции if:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"if ( spot == null ) // no more ?\n"
"{\n"
@@ -147,18 +179,27 @@ msgid ""
"\tbreak; // stops the loop\n"
"}"
msgstr ""
+"if ( spot == null ) // no more ?\n"
+"{\n"
+"\tmotor(0, 0); // stops the motors\n"
+"\tbreak; // stops the loop\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The instruction break will stop the "
"infinite loop while (true)."
msgstr ""
+"Инструкция break остановит бесконечный "
+"цикл while (true)."
#. type: Plain text
#: train402-help/tradar1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the instruction direction() to calculate "
"the angle of the rotation that the bot must perform in order to turn towards "
@@ -166,26 +207,38 @@ msgid ""
"spot.position. The following line will put the angle of the "
"necessary rotation into the variabledir:"
msgstr ""
+"Используйте инструкцию direction() чтобы "
+"рассчитать угол, на который должен развернуться бот, чтобы повернуться в "
+"направлении синего креста. Координаты объекта задаются "
+"spot.position. Следующие строки устанавливают угол необходимого "
+"поворота в переменнуюdir:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:30
#, no-wrap
+#, fuzzy, no-wrap
msgid "dir = direction(spot.position);"
-msgstr ""
+msgstr "dir = direction(spot.position);"
#. type: Plain text
#: train402-help/tradar1.txt:32
#, no-wrap
+#, fuzzy, 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 ""
+"Значение угла положительное, если синий крест расположен слева от вас, и "
+"отрицательное, если он справа. Если крест расположен слева, вы должны "
+"установить максимальную скорость правостороннего мотора и установить "
+"левосторонний мотор на более низкие обороты, в соответствии с углом:"
#. type: Plain text
#: train402-help/tradar1.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
" direction = 0 -> speed = 1.0\n"
" direction = 45 -> speed = 0.5\n"
@@ -193,25 +246,36 @@ msgid ""
" direction = 135 -> speed = -0.5\n"
" direction = 180 -> speed = -1.0"
msgstr ""
+" направлние = 0 -> скорость = 1.0\n"
+" направлние = 45 -> скорость = 0.5\n"
+" направлние = 90 -> скорость = 0.0\n"
+" направлние = 135 -> скорость = -0.5\n"
+" направлние = 180 -> скорость = -1.0"
#. type: Plain text
#: train402-help/tradar1.txt:40
#, no-wrap
+#, fuzzy, 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 ""
+"График внизу отображает скорость левостороннего и правостороннего мотора, "
+"как было задано инструкцией motor, в "
+"соответствии с углом:"
#. type: Image filename
#: train402-help/tradar1.txt:41
#, no-wrap
+#, fuzzy, no-wrap
msgid "radar2"
-msgstr ""
+msgstr "radar2"
#. type: Plain text
#: train402-help/tradar1.txt:43
#, no-wrap
+#, fuzzy, 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, "
@@ -219,56 +283,83 @@ msgid ""
"the expression1+dir/90 in order to calculate "
"the necessary speed of the motors:"
msgstr ""
+"Если крест расположен прямо впереди, угол равен 0 градусов. Моторы будут "
+"работать на скорости 1 и 1, что означает полный вперед. Если крест сзади, "
+"правый мотор будет работать на скорости -1: бот развернется. Вы можете "
+"использовать выражение1+dir/90 чтобы "
+"рассчитать необходимую скорость моторов:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:47
#, no-wrap
+#, fuzzy, 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 ) // справа?\n"
+"{\n"
+"\tmotor(1, 1+dir/90); // поворачивает\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:49
#, no-wrap
+#, fuzzy, 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 ""
+"Используйте тот же принцип, если угол принимает положительное значение между "
+"0 и 180 градусами. Вы можете использовать или не использовать в точности эти "
+"инструкции:"
#. type: \s; block (usually verbatim code)
#: train402-help/tradar1.txt:53
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"else // on the left side?\n"
"{\n"
"\tup to you to fill in here...\n"
"}"
msgstr ""
+"else // слева?\n"
+"{\n"
+"\tздесь идет код, написанный вами...\n"
+"}"
#. type: Plain text
#: train402-help/tradar1.txt:55
#, no-wrap
+#, fuzzy, 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 ""
+"В самом начале программы вы должны задать переменные. spot "
+"относится к типу object, а dir "
+"к типу float."
#. type: \t; header
#: train402-help/tradar1.txt:56
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train402-help/tradar1.txt:57
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train403/po/pl.po b/levels/train403/po/pl.po
index 0815759d..afd1f209 100644
--- a/levels/train403/po/pl.po
+++ b/levels/train403/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train403.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train403/scene.txt:1
#, no-wrap
msgid "train403:Crazy bot"
-msgstr ""
+msgstr "train403:Szalony robot"
#. type: Resume-text
#: train403/scene.txt:2
@@ -34,19 +34,19 @@ msgstr ""
msgid ""
"train403:Use the radar to put some order into a big mess left behind by a "
"crazy bot."
-msgstr ""
+msgstr "train403:Użyj radaru przy sprzątaniu bałaganu po szalonym robocie."
#. type: ScriptName-text
#: train403/scene.txt:3
#, no-wrap
msgid "train403:Move"
-msgstr ""
+msgstr "train403:Poruszanie"
#. type: \b; header
#: train403-help/tradar2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train403-help/tradar2.txt:3
@@ -57,12 +57,16 @@ msgid ""
"written in the previous exercise. This can show you the flexibility of such "
"a program: it adapts to whatever environment it encounters."
msgstr ""
+"W tym ćwiczeniu \"szalony robot\" porozrzucał wiele "
+"niebieskich plusów na ziemi. Aby je znaleźć, możesz użyć ponownie "
+"programu napisanego w poprzednim ćwiczeniu. Ukazuje to elastyczność takiego "
+"programu: przystosowuje się on do każdego napotkanego środowiska."
#. type: \t; header
#: train403-help/tradar2.txt:4
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train403-help/tradar2.txt:6
@@ -72,12 +76,14 @@ msgid ""
"immediately. Fortunately, as long as you are in the program editor, the game "
"will pause."
msgstr ""
+"Nie czekaj zbyt długo, gdyż szalony robot natychmiast rozpoczyna swoją "
+"pracę. Na szczęście gra jest zatrzymywana, gdy jesteś w edytorze programu."
#. type: \t; header
#: train403-help/tradar2.txt:7
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train403-help/tradar2.txt:8
@@ -86,3 +92,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train403/po/ru.po b/levels/train403/po/ru.po
index 0ce9b486..b8d77542 100644
--- a/levels/train403/po/ru.po
+++ b/levels/train403/po/ru.po
@@ -20,13 +20,13 @@ msgstr ""
#: train403.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train403/scene.txt:1
#, no-wrap
msgid "train403:Crazy bot"
-msgstr ""
+msgstr "train403:Сумасшедший бот"
#. type: Resume-text
#: train403/scene.txt:2
@@ -35,54 +35,72 @@ msgid ""
"train403:Use the radar to put some order into a big mess left behind by a "
"crazy bot."
msgstr ""
+"train403:С помощью радара наведите порядок в том, что оставил после себя "
+"сумасшедший бот."
#. type: ScriptName-text
#: train403/scene.txt:3
#, no-wrap
msgid "train403:Move"
-msgstr ""
+msgstr "train403:Move"
#. type: \b; header
#: train403-help/tradar2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train403-help/tradar2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"В этом упражнении \"сумасшедший бот\" размещает на земле много синих крестов. Чтобы найти их, вы можете повторно "
+"использовать программу, написанную в предыдущем упражнении. Это "
+"продемонстрирует вам гибкость этой программы: она может быть приспособлена к "
+"любому окружению."
#. type: \t; header
#: train403-help/tradar2.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train403-help/tradar2.txt:6
#, no-wrap
+#, fuzzy, 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 ""
+"Не ждите слишком долго, так как сумасшедший бот приступает к работе "
+"немедленно. К счастью, пока вы занимаетесь написанием программы, игра будет "
+"приостановлена."
#. type: \t; header
#: train403-help/tradar2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train403-help/tradar2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train404/po/pl.po b/levels/train404/po/pl.po
index 8300b672..66c3c290 100644
--- a/levels/train404/po/pl.po
+++ b/levels/train404/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train404.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train404/scene.txt:1
#, no-wrap
msgid "train404:Patient hunter"
-msgstr ""
+msgstr "train404:Cierpliwy myśliwy"
#. type: Resume-text
#: train404/scene.txt:2
#, no-wrap
msgid "train404:Be patient enough not to waste your ammunitions."
-msgstr ""
+msgstr "train404:Bądź na tyle cierpliwy, aby nie marnować amunicji."
#. type: ScriptName-text
#: train404/scene.txt:3
#, no-wrap
msgid "train404:Patient"
-msgstr ""
+msgstr "train404:Cierpliwy"
#. type: \b; header
#: train404-help/tchasse.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train404-help/tchasse.txt:3
@@ -54,12 +54,15 @@ msgid ""
"bots without wasting one shot. Notice that after every move, the targets "
"will stay motionless during one second."
msgstr ""
+"Musisz znaleźć sposób na zniszczenie czterech robotów "
+"celów bez marnowania amunicji. Warto zauważyć, że po każdym ruchu cele "
+"są nieruchome przez jedną sekundę."
#. type: \b; header
#: train404-help/tchasse.txt:4
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Bullet: '1)'
#: train404-help/tchasse.txt:5
@@ -67,31 +70,31 @@ msgstr ""
msgid ""
"Detect a target with the instruction radar(TargetBot);."
-msgstr ""
+msgstr "Wykryj cel instrukcją radar(TargetBot);."
#. type: Bullet: '2)'
#: train404-help/tchasse.txt:6
#, no-wrap
msgid "Turn towards the target with turn(direction());."
-msgstr ""
+msgstr "Obróć się w kierunku celu: turn(direction());."
#. type: Bullet: '3)'
#: train404-help/tchasse.txt:7
#, no-wrap
msgid "After the rotation, check if the target did not move."
-msgstr ""
+msgstr "Po wykonaniu obrotu sprawdź, czy cel się nie poruszył."
#. type: Bullet: '4)'
#: train404-help/tchasse.txt:8
#, no-wrap
msgid "If it did not, wait 0.2 seconds with wait(0.2);."
-msgstr ""
+msgstr "Jeśli nie, poczekaj 0,2 sekundy: wait(0.2);."
#. type: Bullet: '5)'
#: train404-help/tchasse.txt:9
#, no-wrap
msgid "Re-check if the target did not move."
-msgstr ""
+msgstr "Ponownie sprawdź, czy cel się nie poruszył."
#. type: Bullet: '6)'
#: train404-help/tchasse.txt:10
@@ -100,18 +103,20 @@ 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 ""
+"Jeśli nie, strzel, wykonując instrukcję fire(2); i "
+"czekając przez 2 sekundy na trafienie i zniszczenie celu."
#. type: Plain text
#: train404-help/tchasse.txt:13
#, no-wrap
msgid "There are of course other ways to achieve the goal."
-msgstr ""
+msgstr "Są oczywiście również inne sposoby osiągnięcia tego samego celu."
#. type: \b; header
#: train404-help/tchasse.txt:14
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train404-help/tchasse.txt:16
@@ -120,12 +125,14 @@ msgid ""
"In order to increase the efficiency of your shots, aim a little downward "
"with aim(-3);."
msgstr ""
+"Aby zwiększyć skuteczność strzałów, celuj nieco w dół instrukcją aim(-3);."
#. type: \t; header
#: train404-help/tchasse.txt:17
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train404-help/tchasse.txt:18
@@ -134,3 +141,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train404/po/ru.po b/levels/train404/po/ru.po
index b91bb2c0..327c750e 100644
--- a/levels/train404/po/ru.po
+++ b/levels/train404/po/ru.po
@@ -20,117 +20,144 @@ msgstr ""
#: train404.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train404/scene.txt:1
#, no-wrap
msgid "train404:Patient hunter"
-msgstr ""
+msgstr "train404:Терпеливый охотник"
#. type: Resume-text
#: train404/scene.txt:2
#, no-wrap
msgid "train404:Be patient enough not to waste your ammunitions."
msgstr ""
+"train404:Будьте достаточно терпеливы и не израсходуйте все свои боеприпасы."
#. type: ScriptName-text
#: train404/scene.txt:3
#, no-wrap
msgid "train404:Patient"
-msgstr ""
+msgstr "train404:Patient"
#. type: \b; header
#: train404-help/tchasse.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train404-help/tchasse.txt:3
#, no-wrap
+#, fuzzy, no-wrap
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 ""
+"Вы должны найти способ уничтожить четырех движущихся ботов "
+"мишеней, не потеряв ни одного заряда. Заметьте, что после каждого "
+"движения цели будут оставаться неподвижными одну секунду."
#. type: \b; header
#: train404-help/tchasse.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Bullet: '1)'
#: train404-help/tchasse.txt:5
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Detect a target with the instruction radar(TargetBot);."
msgstr ""
+"Отыщите цель с помощью инструкции radar(TargetBot);."
#. type: Bullet: '2)'
#: train404-help/tchasse.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Turn towards the target with turn(direction());."
msgstr ""
+"Развернитесь в сторону цели turn(direction());."
#. type: Bullet: '3)'
#: train404-help/tchasse.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "After the rotation, check if the target did not move."
-msgstr ""
+msgstr "После поворота проверьте, не сдвинулась ли с места цель."
#. type: Bullet: '4)'
#: train404-help/tchasse.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "If it did not, wait 0.2 seconds with wait(0.2);."
-msgstr ""
+msgstr "Если нет, подождите 0.2 секунды wait(0.2);."
#. type: Bullet: '5)'
#: train404-help/tchasse.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Re-check if the target did not move."
-msgstr ""
+msgstr "Еще раз проверьте цель на предмет смещения."
#. type: Bullet: '6)'
#: train404-help/tchasse.txt:10
#, no-wrap
+#, fuzzy, 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 ""
+"Если нет, стреляйте fire(2); и подождите 2 секунды, "
+"пока до цели долетят пули и она будет уничтожена."
#. type: Plain text
#: train404-help/tchasse.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "There are of course other ways to achieve the goal."
-msgstr ""
+msgstr "Для достижения цели существует еще много способов кроме этого."
#. type: \b; header
#: train404-help/tchasse.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Комментарий"
#. type: Plain text
#: train404-help/tchasse.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to increase the efficiency of your shots, aim a little downward "
"with aim(-3);."
msgstr ""
+"Чтобы увеличить эффективность стрельбы, прицеливайтесь слегка вниз aim(-3);."
#. type: \t; header
#: train404-help/tchasse.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train404-help/tchasse.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train405/po/pl.po b/levels/train405/po/pl.po
index be4242e4..2b6a8333 100644
--- a/levels/train405/po/pl.po
+++ b/levels/train405/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train405.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train405/scene.txt:1
#, no-wrap
msgid "train405:Shadow"
-msgstr ""
+msgstr "train405:Cień"
#. type: Resume-text
#: train405/scene.txt:2
#, no-wrap
msgid "train405:Follow a bot, as if you were its shadow."
-msgstr ""
+msgstr "train405:Podążaj za robotem, stając się jego cieniem."
#. type: ScriptName-text
#: train405/scene.txt:3
#, no-wrap
msgid "train405:Follow"
-msgstr ""
+msgstr "train405:Podążaj"
#. type: \b; header
#: train405-help/tfollow1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train405-help/tfollow1.txt:3
@@ -57,42 +57,50 @@ msgid ""
"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 ""
+"Podążaj za robotem celem niosącym ładunek wybuchowy. "
+"Bądź ostrożny, gdyż zderzenie z nim grozi wybuchem. Podczas każdego "
+"zatrzymania robota celu należy być odpowiednio blisko niego (mniej niż 10 "
+"metrów). Gdy uda się być w pobliżu robota 10 razy z rzędu, ćwiczenie "
+"zakończy się wraz z jego dotarciem na platformę końcową. Przy każdym "
+"zatrzymaniu robot cel sprawdza, czy śledzący go robot jest odpowiednio "
+"blisko. Jeśli nie, liczenie zaczyna się od początku."
#. type: \b; header
#: train405-help/tfollow1.txt:4
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train405-help/tfollow1.txt:6
#, no-wrap
msgid "Repeat forever :\n"
-msgstr ""
+msgstr "Powtarzaj w nieskończoność:\n"
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:6
#, no-wrap
msgid "Look for the target bot."
-msgstr ""
+msgstr "Znajdź robot cel."
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:7
#, no-wrap
msgid "Calculate the distance to the bot."
-msgstr ""
+msgstr "Oblicz odległość do robota."
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:8
#, no-wrap
msgid "if the distance to the target bot is less than 5m, move backward."
-msgstr ""
+msgstr "Jeśli odległość jest mniejsza niż 5 m, cofnij się."
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:9
#, no-wrap
msgid "Otherwise, calculate the direction of the target bot, and move towards it."
msgstr ""
+"W przeciwnym przypadku oblicz kierunek do robota celu i idź w jego stronę."
#. type: Plain text
#: train405-help/tfollow1.txt:12
@@ -101,6 +109,8 @@ msgid ""
"As many times before, use while (true) in "
"order to perform the infinite loop:"
msgstr ""
+"Podobnie jak poprzednio użyj nieskończonej pętli while (true):"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:16
@@ -111,6 +121,10 @@ msgid ""
"\tinstructions to be repeated ...\n"
"}"
msgstr ""
+"while (true)\n"
+"{\n"
+"\tinstrukcje, które mają być powtarzane ...\n"
+"}"
#. type: Plain text
#: train405-help/tfollow1.txt:18
@@ -118,19 +132,19 @@ msgstr ""
msgid ""
"Look for the target bot with the instruction radar:"
-msgstr ""
+msgstr "Znajdź robot cel instrukcją radar:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:19
#, no-wrap
msgid "\ttarget = radar(TargetBot);"
-msgstr ""
+msgstr "\ttarget = radar(TargetBot);"
#. type: Plain text
#: train405-help/tfollow1.txt:21
#, no-wrap
msgid "You do not have to test if the radar found a target bot: there must be one."
-msgstr ""
+msgstr "Nie musisz sprawdzać, czy robot znalazł cel: na pewno tam jest."
#. type: Plain text
#: train405-help/tfollow1.txt:23
@@ -141,12 +155,16 @@ msgid ""
"your own bot, given by position. The second point is the "
"position of the target bot, given by target.position."
msgstr ""
+"Użyj instrukcji distance( , ) do obliczenie "
+"odległości między dwoma punktami. Pierwszym jest pozycja Twojego robota, "
+"podana przez position. Drugim jest pozycja robota celu, podana "
+"przez target.position."
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:24
#, no-wrap
msgid "len = distance(position, target.position);"
-msgstr ""
+msgstr "len = distance(position, target.position);"
#. type: Plain text
#: train405-help/tfollow1.txt:30
@@ -162,6 +180,15 @@ msgid ""
"order to achieve this, together with the if to "
"test if the target is closer than 5m:"
msgstr ""
+"Jeśli odległość od robota celu jest mniejsza niż 5 metrów, oddal się od "
+"niego z prędkością odwrotnie proporcjonalną do odległości: im bliżej jest "
+"robot, tym szybciej należy się cofać.\n"
+"\tOdległość = 5.0 metrów -> prędkość = 0.0\n"
+"\tOdległość = 2.5 metra -> prędkość = -0.5\n"
+"\tOdległość = 0.0 metrów -> prędkość = -1.0\n"
+"Aby to uzyskać, możesz użyć wyrażenia "
+"distance/5-1, wspólnie z instrukcją if sprawdzającą, czy cel jest bliżej niż 5 m:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:34
@@ -172,6 +199,10 @@ msgid ""
"\tmotor(len/5-1, len/5-1); // moves backward\n"
"}"
msgstr ""
+"if ( len < 5 ) // za blisko?\n"
+"{\n"
+"\tmotor(len/5-1, len/5-1); // cofnij\n"
+"}"
#. type: Plain text
#: train405-help/tfollow1.txt:36
@@ -183,6 +214,10 @@ msgid ""
"the speed of the right-hand and left-hand motor in order to follow the "
"target:"
msgstr ""
+"Jeśli odległość do celu jest większa niż 5m, poruszaj się w jego kierunku. "
+"Najpierw oblicz kąt niezbędny do obrócenia się w jego kierunku używając "
+"instrukcji direction. Następnie dostosuj "
+"prędkości prawego i lewego silnika, aby Twój robot podążał za celem:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:48
@@ -201,6 +236,18 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"else\n"
+"{\n"
+"\tdir = direction(target.position);\n"
+"\tif ( dir >= 0 ) // cel po lewej stronie?\n"
+"\t{\n"
+"\t\tmotor(1-dir/90, 1);\n"
+"\t}\n"
+"\telse // cel po prawej stronie?\n"
+"\t{\n"
+"\t\tdo Ciebie należy uzupełnienie tego\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train405-help/tfollow1.txt:55
@@ -216,12 +263,20 @@ msgid ""
"\tdirection = 135 -> speed = -0.5\n"
"\tdirection = 180 -> speed = -1.0"
msgstr ""
+"Gdy cel jest po lewej stronie, zmienna dir ma wartość dodatnią, "
+"pomiędzy 0 i 180. Wyrażenie1-dir/90 zwraca "
+"prędkość w zakresie pomiędzy 1 i -1 w zależności od kierunku:\n"
+"\tkierunek = 0 -> prędkość = 1.0\n"
+"\tkierunek = 45 -> prędkość = 0.5\n"
+"\tkierunek = 90 -> prędkość = 0.0\n"
+"\tkierunek = 135 -> prędkość = -0.5\n"
+"\tkierunek = 180 -> prędkość = -1.0"
#. type: Image filename
#: train405-help/tfollow1.txt:56
#, no-wrap
msgid "radar2"
-msgstr ""
+msgstr "radar2"
#. type: Plain text
#: train405-help/tfollow1.txt:58
@@ -230,6 +285,8 @@ msgid ""
"When the target is on the right side, dir is negative, ranging "
"between 0 and -180."
msgstr ""
+"Gdy cel jest po prawej stronie, zmienna dir ma wartość ujemną, "
+"pomiędzy 0 i -180."
#. type: Plain text
#: train405-help/tfollow1.txt:60
@@ -240,12 +297,16 @@ msgid ""
"object, whereas dir and len are of "
"type float."
msgstr ""
+"Jedynym zadaniem jakie jeszcze Ci zostało jest zadeklarowanie zmiennych używanych w programie. target jest typu "
+"object, podczas gdy dir i len są typu "
+"float."
#. type: \t; header
#: train405-help/tfollow1.txt:61
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train405-help/tfollow1.txt:62
@@ -254,3 +315,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train405/po/ru.po b/levels/train405/po/ru.po
index 1b9ec6f4..82954331 100644
--- a/levels/train405/po/ru.po
+++ b/levels/train405/po/ru.po
@@ -20,35 +20,37 @@ msgstr ""
#: train405.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train405/scene.txt:1
#, no-wrap
msgid "train405:Shadow"
-msgstr ""
+msgstr "train405:Тень"
#. type: Resume-text
#: train405/scene.txt:2
#, no-wrap
msgid "train405:Follow a bot, as if you were its shadow."
-msgstr ""
+msgstr "train405:Следуйте за ботом, как будто вы его тень."
#. type: ScriptName-text
#: train405/scene.txt:3
#, no-wrap
msgid "train405:Follow"
-msgstr ""
+msgstr "train405:Follow"
#. type: \b; header
#: train405-help/tfollow1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train405-help/tfollow1.txt:3
#, no-wrap
+#, fuzzy, 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 "
@@ -57,100 +59,134 @@ msgid ""
"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 ""
+"Вы должны следовать за целевым ботом со взрывным "
+"устройством, не прикасаясь к нему, иначе он взорвется. Каждый раз, когда бот "
+"останавливается, вы должны находится вблизи от него (менее 10 метров). После "
+"того, как вам удастся остановиться неподалеку от бота 10 раз, он отведет вас "
+"на финишную площадку, и упражнение будет выполнено. При каждой остановке "
+"целевой бот проверяет ваше присутствие за спиной. Если вас там, вы должны "
+"будете начать все с самого начала."
#. type: \b; header
#: train405-help/tfollow1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train405-help/tfollow1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Repeat forever :\n"
-msgstr ""
+msgstr "Повторять всегда :\n"
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid "Look for the target bot."
-msgstr ""
+msgstr "Искать целевого бота."
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "Calculate the distance to the bot."
-msgstr ""
+msgstr "Рассчитать расстояние до бота."
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "if the distance to the target bot is less than 5m, move backward."
-msgstr ""
+msgstr "если расстояние до целевого бота меньше 5 метров, отойти назад."
#. type: Bullet: 'o'
#: train405-help/tfollow1.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid "Otherwise, calculate the direction of the target bot, and move towards it."
-msgstr ""
+msgstr "Иначе рассчитать направление до целевого бота и двигаться к нему."
#. type: Plain text
#: train405-help/tfollow1.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"As many times before, use while (true) in "
"order to perform the infinite loop:"
msgstr ""
+"Как и много раз до этого, используйте while "
+"(true), чтобы создать бесконечный цикл:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"while (true)\n"
"{\n"
"\tinstructions to be repeated ...\n"
"}"
msgstr ""
+"while (true)\n"
+"{\n"
+"\tинструкции, которые следует повторять ...\n"
+"}"
#. type: Plain text
#: train405-help/tfollow1.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Look for the target bot with the instruction radar:"
msgstr ""
+"Ищите целевого бота с помощью инструкции radar:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "\ttarget = radar(TargetBot);"
-msgstr ""
+msgstr "\ttarget = radar(TargetBot);"
#. type: Plain text
#: train405-help/tfollow1.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid "You do not have to test if the radar found a target bot: there must be one."
msgstr ""
+"Вы не должны проверять то, нашел ли радар целевого бота: он там всего один."
#. type: Plain text
#: train405-help/tfollow1.txt:23
#, no-wrap
+#, fuzzy, 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 ""
+"Используйте инструкцию distance( , ) чтобы "
+"рассчитать расстояние между двумя точками. Первая точка будет позицией "
+"вашего собственного бота, заданная position. Вторая точка будет "
+"позицией целевого бота, заданная target.position."
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "len = distance(position, target.position);"
-msgstr ""
+msgstr "len = distance(position, target.position);"
#. type: Plain text
#: train405-help/tfollow1.txt:30
#, no-wrap
+#, fuzzy, 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, "
@@ -162,20 +198,35 @@ msgid ""
"order to achieve this, together with the if to "
"test if the target is closer than 5m:"
msgstr ""
+"Если расстояние до целевого бота меньше 5 метров, отойдите назад со "
+"скоростью, обратно пропорциональной расстоянию: чем ближе вы к боту, тем "
+"быстрее вы должны отойти назад.\n"
+"\tРасстояние = 5.0 метров -> скорость = 0.0\n"
+"\tРасстояние = 2.5 метров -> скорость = -0.5\n"
+"\tРасстояние = 0.0 метров -> скорость = -1.0\n"
+"Теперь вы можете использовать выражение "
+"distance/5-1 чтобы выполнить это, вместе с if , чтобы проверить, не находится ли цель ближе 5 метров:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"if ( len < 5 ) // too close ?\n"
"{\n"
"\tmotor(len/5-1, len/5-1); // moves backward\n"
"}"
msgstr ""
+"if ( len < 5 ) // слишком близко ?\n"
+"{\n"
+"\tmotor(len/5-1, len/5-1); // отходит назад\n"
+"}"
#. type: Plain text
#: train405-help/tfollow1.txt:36
#, no-wrap
+#, fuzzy, 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 "
@@ -183,10 +234,16 @@ msgid ""
"the speed of the right-hand and left-hand motor in order to follow the "
"target:"
msgstr ""
+"Если расстояние до цели больше 5 метров, двигайтесь по направлению к цели. "
+"Сначала определите угол поворота, на который следует развернуться, чтобы "
+"двигаться с помощью инструкции direction. "
+"После этого вы можете настроить скорость правостороннего и левостороннего "
+"двигателей, чтобы следовать за целью:"
#. type: \s; block (usually verbatim code)
#: train405-help/tfollow1.txt:48
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"else\n"
"{\n"
@@ -201,10 +258,23 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"else\n"
+"{\n"
+"\tdir = direction(target.position);\n"
+"\tif ( dir >= 0 ) // цель слева ?\n"
+"\t{\n"
+"\t\tmotor(1-dir/90, 1);\n"
+"\t}\n"
+"\telse // цель справа?\n"
+"\t{\n"
+"\t\tздесь пишите вы\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train405-help/tfollow1.txt:55
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"When the target is on your left, dir takes a positive value, "
"ranging between 0 and 180. The expression "
@@ -216,41 +286,63 @@ msgid ""
"\tdirection = 135 -> speed = -0.5\n"
"\tdirection = 180 -> speed = -1.0"
msgstr ""
+"Когда цель расположена слева от вас, dir принимает "
+"положительное значение, колебаясь от 0 до 180. Выражение "
+"1-dir/90 возвращает скорость, которая изменяется от 1 до -1, в "
+"соответствии с направлением:\n"
+"\tнаправление = 0 -> скорость = 1.0\n"
+"\tнаправление = 45 -> скорость = 0.5\n"
+"\tнаправление = 90 -> скорость = 0.0\n"
+"\tнаправление = 135 -> скорость = -0.5\n"
+"\tнаправление = 180 -> скорость = -1.0"
#. type: Image filename
#: train405-help/tfollow1.txt:56
#, no-wrap
+#, fuzzy, no-wrap
msgid "radar2"
-msgstr ""
+msgstr "radar2"
#. type: Plain text
#: train405-help/tfollow1.txt:58
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"When the target is on the right side, dir is negative, ranging "
"between 0 and -180."
msgstr ""
+"Когда цель расположена справа, dir отрицательное, колебаясь "
+"между 0 и -180."
#. type: Plain text
#: train405-help/tfollow1.txt:60
#, no-wrap
+#, fuzzy, 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, whereas dir and len are of "
"type float."
msgstr ""
+"Теперь вы должны выполнить только одно - задать переменные, "
+"которые использует программа. target относится к типу "
+"object, поскольку dir и len относятся "
+"к типу float."
#. type: \t; header
#: train405-help/tfollow1.txt:61
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train405-help/tfollow1.txt:62
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train5-po/pl.po b/levels/train5-po/pl.po
index fe186eab..9a8b48b2 100644
--- a/levels/train5-po/pl.po
+++ b/levels/train5-po/pl.po
@@ -20,16 +20,16 @@ msgstr ""
#: train5.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train5/train500.txt:1
#, no-wrap
msgid "train500:Mover"
-msgstr ""
+msgstr "train500:Poruszanie się"
#. type: Title-resume
#: train5/train500.txt:1
#, no-wrap
msgid "train500:Move"
-msgstr ""
+msgstr "train500:Poruszanie się"
diff --git a/levels/train5-po/ru.po b/levels/train5-po/ru.po
index 1e9cc3d5..2321c4e3 100644
--- a/levels/train5-po/ru.po
+++ b/levels/train5-po/ru.po
@@ -20,16 +20,16 @@ msgstr ""
#: train5.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train5/train500.txt:1
#, no-wrap
msgid "train500:Mover"
-msgstr ""
+msgstr "train500:Переселенец"
#. type: Title-resume
#: train5/train500.txt:1
#, no-wrap
msgid "train500:Move"
-msgstr ""
+msgstr "train500:Переселение"
diff --git a/levels/train501/po/pl.po b/levels/train501/po/pl.po
index a3ae1262..57696b5c 100644
--- a/levels/train501/po/pl.po
+++ b/levels/train501/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train501.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train501/scene.txt:1
#, no-wrap
msgid "train501:Mover 1"
-msgstr ""
+msgstr "train501:Poruszanie się 1"
#. type: Resume-text
#: train501/scene.txt:2
#, no-wrap
msgid "train501:Retrieve a titanium cube."
-msgstr ""
+msgstr "train501:Zdobądź kostkę tytanu."
#. type: ScriptName-text
#: train501/scene.txt:3
#, no-wrap
msgid "train501:Mover"
-msgstr ""
+msgstr "train501:Poruszanie"
#. type: \b; header
#: train501-help/tremova1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train501-help/tremova1.txt:3
@@ -54,12 +54,14 @@ msgid ""
"know the position of the titanium, but we can tell you the position of the "
"finishing pad x=10 and y=-60."
msgstr ""
+"Przenieś kostkę tytanu na platformę końcową. Pozycja "
+"tytanu nie jest znana, ale współrzędne platformy końcowej to: x=10, y=-60."
#. type: \b; header
#: train501-help/tremova1.txt:4
#, no-wrap
msgid "The instruction goto"
-msgstr ""
+msgstr "Instrukcja goto"
#. type: Plain text
#: train501-help/tremova1.txt:6
@@ -71,18 +73,23 @@ msgid ""
"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 ""
+"Aby łatwiej rozwiązać ten problem, użyjemy nowego sposobu poruszania "
+"robotem, instrukcji goto. Dzięki niej można "
+"bardzo łatwo dotrzeć do każdej pozycji, jeśli tylko znana jest jej dokładna "
+"lokalizacja w postaci współrzędnych x i y. Robot obróci się w kierunku celu, "
+"pojedzie naprzód, a nawet ominie napotkane przeszkody."
#. type: Plain text
#: train501-help/tremova1.txt:8
#, no-wrap
msgid "If we summarize, the following are the different ways to move a bot:"
-msgstr ""
+msgstr "Podsumowując, są trzy różne sposoby poruszania robotem:"
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:10
#, no-wrap
msgid "motor(left, right)"
-msgstr ""
+msgstr "motor(lewy, prawy)"
#. type: Plain text
#: train501-help/tremova1.txt:11
@@ -90,13 +97,13 @@ msgstr ""
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 ""
+msgstr "Umożliwia ciągłą i bezpośrednią kontrolę nad oboma silnikami robota."
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:13
#, no-wrap
msgid "move(distance) and turn(angle)"
-msgstr ""
+msgstr "move(distance) i turn(angle)"
#. type: Plain text
#: train501-help/tremova1.txt:14
@@ -106,24 +113,27 @@ msgid ""
"perform a rotation of a certain angle. All parameters are relative to the "
"current position of the bot."
msgstr ""
+"Użyj tych instrukcji do przemieszczania robota o określoną odległość lub "
+"obrotu o określony kąt. Wszystkie parametry odnoszą się do obecnej pozycji "
+"robota."
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:16
#, no-wrap
msgid "goto(position)"
-msgstr ""
+msgstr "goto(pozycja)"
#. type: Plain text
#: train501-help/tremova1.txt:17
#, no-wrap
msgid "Allows you to reach easily a given absolute position."
-msgstr ""
+msgstr "Umożliwia łatwe dotarcie do podanej pozycji."
#. type: \b; header
#: train501-help/tremova1.txt:18
#, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train501-help/tremova1.txt:20
@@ -135,6 +145,11 @@ msgid ""
"there is a titanium cube somewhere. However, it is better to take the habit "
"of testing whatever your radar returns:"
msgstr ""
+"Użyj instrukcji radar(Titanium); do znalezienia "
+"kostki tytanu. Następnie sprawdź, czy kostka tytanu rzeczywiście została "
+"znaleziona. W tym ćwiczeniu ta linia nie jest bardzo przydatna, gdyż "
+"wiadomo, że gdzieś jest kostka tytanu. Jednakże warto wyrobić sobie nawyk "
+"sprawdzania danych podawanych przez radar:"
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:25
@@ -145,6 +160,10 @@ msgid ""
"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
#: train501-help/tremova1.txt:27
@@ -154,6 +173,9 @@ msgid ""
"cbot|object>object. In order to know the exact location of the "
"object described by the variable, just write item.position."
msgstr ""
+"Zmienna item jest typu object. "
+"Aby poznać dokładną pozycję obiektu opisywanego przez zmienną, wystarczy "
+"napisać item.position."
#. type: Plain text
#: train501-help/tremova1.txt:29
@@ -162,6 +184,8 @@ msgid ""
"In order to take the titanium cube, use the instruction grab() without any parameter."
msgstr ""
+"Do podniesienia kostki tytanu użyj instrukcji grab() bez parametrów."
#. type: Plain text
#: train501-help/tremova1.txt:31
@@ -170,6 +194,8 @@ msgid ""
"In order to drop the titanium, use the instruction drop() without any parameter."
msgstr ""
+"Do upuszczenia tytanu użyj instrukcji drop() "
+"bez parametrów."
#. type: Plain text
#: train501-help/tremova1.txt:34
@@ -182,18 +208,24 @@ msgid ""
"Remark: You do not have to take care of the z coordinate in the "
"case of a bot that can not fly."
msgstr ""
+"Współrzędne platformy końcowej to: x=10, y=-60. Należy zadeklarować zmienną typu point, a następnie przypisać jej "
+"odpowiednie współrzędne. Później można ją podać jako parametr instrukcji "
+"goto.\n"
+"Wskazówka: Nie musisz się przejmować współrzędną z w przypadku "
+"robotów nie potrafiących latać."
#. type: Plain text
#: train501-help/tremova1.txt:36
#, no-wrap
msgid "It is now up to you to finish the program..."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu..."
#. type: \t; header
#: train501-help/tremova1.txt:37
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train501-help/tremova1.txt:38
@@ -202,3 +234,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train501/po/ru.po b/levels/train501/po/ru.po
index a06da1c3..6b98e99f 100644
--- a/levels/train501/po/ru.po
+++ b/levels/train501/po/ru.po
@@ -20,50 +20,57 @@ msgstr ""
#: train501.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train501/scene.txt:1
#, no-wrap
msgid "train501:Mover 1"
-msgstr ""
+msgstr "train501:Переселенец 1"
#. type: Resume-text
#: train501/scene.txt:2
#, no-wrap
msgid "train501:Retrieve a titanium cube."
-msgstr ""
+msgstr "train501:Найдите титановый слиток."
#. type: ScriptName-text
#: train501/scene.txt:3
#, no-wrap
msgid "train501:Mover"
-msgstr ""
+msgstr "train501:Mover"
#. type: \b; header
#: train501-help/tremova1.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train501-help/tremova1.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Переместите титановый слиток на финишную площадку. Вы не "
+"знаете, где лежит титан, но мы можем дать вам место, где находится финишная "
+"площадка x=10 и y=-60."
#. type: \b; header
#: train501-help/tremova1.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "The instruction goto"
-msgstr ""
+msgstr "Инструкция goto"
#. type: Plain text
#: train501-help/tremova1.txt:6
#, no-wrap
+#, fuzzy, 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 "
@@ -71,63 +78,83 @@ msgid ""
"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 ""
+"Чтобы легко справиться с этой задачей, мы будем использовать новый способ "
+"перемещения бота с помощью инструкции goto. "
+"Используя эту инструкцию, вы можете очень легко перейти к любой позиции, "
+"если вы точно знаете ее местоположение, то есть координаты x и y. Бот "
+"повернется в направлении цели, пойдет вперед и даже сможет обходить любые "
+"преграды."
#. type: Plain text
#: train501-help/tremova1.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "If we summarize, the following are the different ways to move a bot:"
-msgstr ""
+msgstr "Подводя итог, ниже приведено несколько способов движения бота:"
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "motor(left, right)"
-msgstr ""
+msgstr "motor(левый, правый)"
#. type: Plain text
#: train501-help/tremova1.txt:11
#, no-wrap
+#, fuzzy, 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 ""
+"Позволяет прямо и точно управлять двумя моторами и дает вам возможность "
+"управлять моторами в любой момент."
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "move(distance) and turn(angle)"
-msgstr ""
+msgstr "move(дистанция) и turn(угол)"
#. type: Plain text
#: train501-help/tremova1.txt:14
#, no-wrap
+#, fuzzy, 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 ""
+"Используйте эти инструкции чтобы перейти вперед на указанную дистанцию, или "
+"произвести поворот на указанный угол. Все параметры имеют отношение к "
+"текущей позиции бота."
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "goto(position)"
-msgstr ""
+msgstr "goto(позиция)"
#. type: Plain text
#: train501-help/tremova1.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "Allows you to reach easily a given absolute position."
-msgstr ""
+msgstr "Позволяет вам легко перейти к заданной абсолютной позиции."
#. type: \b; header
#: train501-help/tremova1.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train501-help/tremova1.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the instruction radar(Titanium); in order to "
"find the titanium cube. Then test if a titanium cube has actually been "
@@ -135,45 +162,66 @@ msgid ""
"there is a titanium cube somewhere. However, it is better to take the habit "
"of testing whatever your radar returns:"
msgstr ""
+"Используйте инструкцию radar(Titanium); чтобы "
+"найти титановый слиток. После этого проверьте, найден ли титановый слиток. В "
+"этом упражнении эта строка нам не очень пригодится, так как мы знаем, что "
+"титановый слиток где-то есть. Тем не менее, лучше приучить себя проверять "
+"все, что выдает вам ваш радар:"
#. type: \s; block (usually verbatim code)
#: train501-help/tremova1.txt:25
#, no-wrap
+#, fuzzy, 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
#: train501-help/tremova1.txt:27
#, no-wrap
+#, fuzzy, 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 ""
+"Переменная item относится к типу object. Чтобы узнать точную позицию объекта, "
+"описанного переменной, просто напишите item.position."
#. type: Plain text
#: train501-help/tremova1.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to take the titanium cube, use the instruction grab() without any parameter."
msgstr ""
+"Чтобы взять титановый слиток, используйте инструкцию grab() без параметров."
#. type: Plain text
#: train501-help/tremova1.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to drop the titanium, use the instruction drop() without any parameter."
msgstr ""
+"Чтобы бросить титановый слиток, используйте инструкцию drop() без параметров."
#. type: Plain text
#: train501-help/tremova1.txt:34
#, no-wrap
+#, fuzzy, 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 "
@@ -182,23 +230,35 @@ msgid ""
"Remark: You do not have to take care of the z coordinate in the "
"case of a bot that can not fly."
msgstr ""
+"Нам известны координаты финишной площадки: x=10 и y=-60. Вы должны задать переменную типа point, а после этого "
+"присвоить ей соответствующие координаты. После этого вы можете использовать "
+"эту переменную как параметр для инструкции goto.\n"
+"Комментарий: Вас не должна беспокоить координата z , так как "
+"бот не умеет летать."
#. type: Plain text
#: train501-help/tremova1.txt:36
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is now up to you to finish the program..."
-msgstr ""
+msgstr "Теперь вы должны завершить написание программы..."
#. type: \t; header
#: train501-help/tremova1.txt:37
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train501-help/tremova1.txt:38
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train502/po/pl.po b/levels/train502/po/pl.po
index 62a582dd..ff24f867 100644
--- a/levels/train502/po/pl.po
+++ b/levels/train502/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train502.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train502/scene.txt:1
#, no-wrap
msgid "train502:Mover 2"
-msgstr ""
+msgstr "train502:Poruszanie się 2"
#. type: Resume-text
#: train502/scene.txt:2
#, no-wrap
msgid "train502:Retrieve several titanium cubes."
-msgstr ""
+msgstr "train502:Zdobądź wiele kostek tytanu."
#. type: ScriptName-text
#: train502/scene.txt:3
#, no-wrap
msgid "train502:Mover"
-msgstr ""
+msgstr "train502:Poruszanie"
#. type: \b; header
#: train502-help/tremova2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train502-help/tremova2.txt:3
@@ -54,6 +54,9 @@ msgid ""
"object|titan>titanium cubes that you must move to 3 finishing pads. Here "
"are the coordinates of the finishing pads:"
msgstr ""
+"To ćwiczenie jest bardzo podobne do poprzedniego. Tym razem mamy trzy kostki tytanu, które należy przenieść na 3 platformy "
+"końcowe. Oto współrzędne platform końcowych:"
#. type: Plain text
#: train502-help/tremova2.txt:7
@@ -63,18 +66,21 @@ msgid ""
"\tx=10, y=-65\n"
"\tx=10, y=-70"
msgstr ""
+"\tx=10, y=-60\n"
+"\tx=10, y=-65\n"
+"\tx=10, y=-70"
#. type: \b; header
#: train502-help/tremova2.txt:8
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train502-help/tremova2.txt:10
#, no-wrap
msgid "Repeat 3 times:\n"
-msgstr ""
+msgstr "Powtórz 3 razy:\n"
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:10
@@ -83,24 +89,26 @@ msgid ""
"Look for the most distant titanium cube with radar."
msgstr ""
+"Znajdź najdalszą kostkę tytanu za pomocą instrukcji radar."
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:11
#, no-wrap
msgid "Pick it up with grab."
-msgstr ""
+msgstr "Podnieś ją instrukcją grab."
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:12
#, no-wrap
msgid "Go to one of the pads with goto."
-msgstr ""
+msgstr "Podjedź do jednej z platform: goto."
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:13
#, no-wrap
msgid "Drop the titanium with drop."
-msgstr ""
+msgstr "Zostaw tytan: drop."
#. type: Plain text
#: train502-help/tremova2.txt:16
@@ -110,12 +118,14 @@ msgid ""
"already retrieved and dropped on a pad. Therefore you must look for the most "
"distant titanium cube."
msgstr ""
+"W przypadku szukania najbliższej kostki tytanu, radar znajdzie tytan dopiero "
+"co zaniesiony na platformę. Należy więc szukać najdalszej kostki tytanu."
#. type: \b; header
#: train502-help/tremova2.txt:17
#, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train502-help/tremova2.txt:19
@@ -128,6 +138,12 @@ msgid ""
"-1 means that instead of looking for the closest item, the "
"radar will return the most distant that it can find."
msgstr ""
+"Użyj pętli for do trzykrotnego powtórzenia "
+"wszystkich instrukcji niezbędnych do przeniesienia kostki tytanu. Wewnątrz "
+"pętli, aby znaleźć najdalszą kostkę tytanu, użyj instrukcji radar(Titanium, 0, 360, 0, 1000, -1);. Ostatnia wartość "
+"-1 oznacza, że zamiast szukać najbliższego przedmiotu, radar "
+"podaje w wyniku najdalszy przedmiot, który może znaleźć."
#. type: \s; block (usually verbatim code)
#: train502-help/tremova2.txt:24
@@ -138,6 +154,10 @@ msgid ""
"if ( metal == null ) return;\n"
"goto(metal.position);"
msgstr ""
+"object metal;\n"
+"metal = radar(Titanium, 0, 360, 0, 1000, -1);\n"
+"if ( metal == null ) return;\n"
+"goto(metal.position);"
#. type: Plain text
#: train502-help/tremova2.txt:26
@@ -147,6 +167,9 @@ msgid ""
"cbot|object>object. In order to know the position of the object "
"described by the variable, you must write metal.position."
msgstr ""
+"Zmienna metal jest typu object. "
+"Aby poznać pozycję obiektu opisanego przez zmienną, musisz napisać "
+"metal.position."
#. type: Plain text
#: train502-help/tremova2.txt:28
@@ -158,6 +181,11 @@ msgid ""
"i of the for loop that will take successively the "
"values 0, 1 and 2:"
msgstr ""
+"Współrzędna x wszystkich trzech platform jest taka sama i równa "
+"10. Współrzędne y odpowiednio wynoszą -60, -65 i -70. "
+"Najefektywniejszym sposobem otrzymania współrzędnych platform jest użycie "
+"wartości i z pętli for, która przyjmuje kolejno "
+"wartości 0, 1 i 2:"
#. type: \s; block (usually verbatim code)
#: train502-help/tremova2.txt:31
@@ -166,18 +194,20 @@ msgid ""
"dest.x = 10;\n"
"dest.y = -60-5*i;"
msgstr ""
+"dest.x = 10;\n"
+"dest.y = -60-5*i;"
#. type: Plain text
#: train502-help/tremova2.txt:33
#, no-wrap
msgid "It is up to you now to finish the program."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu..."
#. type: \t; header
#: train502-help/tremova2.txt:34
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train502-help/tremova2.txt:35
@@ -186,3 +216,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train502/po/ru.po b/levels/train502/po/ru.po
index 346cec4c..4ec7f1a1 100644
--- a/levels/train502/po/ru.po
+++ b/levels/train502/po/ru.po
@@ -20,106 +20,129 @@ msgstr ""
#: train502.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train502/scene.txt:1
#, no-wrap
msgid "train502:Mover 2"
-msgstr ""
+msgstr "train502:Переселенец 2"
#. type: Resume-text
#: train502/scene.txt:2
#, no-wrap
msgid "train502:Retrieve several titanium cubes."
-msgstr ""
+msgstr "train502:Найдите несколько титановых слитков."
#. type: ScriptName-text
#: train502/scene.txt:3
#, no-wrap
msgid "train502:Mover"
-msgstr ""
+msgstr "train502:Mover"
#. type: \b; header
#: train502-help/tremova2.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train502-help/tremova2.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Это упражнение очень напоминает предыдущее. Теперь у нас есть три титановых слитка которые вы должны доставить на 3 финишные "
+"площадки. Вот координаты финишной площадки:"
#. type: Plain text
#: train502-help/tremova2.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tx=10, y=-60\n"
"\tx=10, y=-65\n"
"\tx=10, y=-70"
msgstr ""
+"\tx=10, y=-60\n"
+"\tx=10, y=-65\n"
+"\tx=10, y=-70"
#. type: \b; header
#: train502-help/tremova2.txt:8
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train502-help/tremova2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "Repeat 3 times:\n"
-msgstr ""
+msgstr "Повторить 3 раза:\n"
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Look for the most distant titanium cube with radar."
msgstr ""
+"Искать самый отдаленный титановый слиток с помощью radar."
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:11
#, no-wrap
+#, fuzzy, no-wrap
msgid "Pick it up with grab."
-msgstr ""
+msgstr "Взять его с помощью grab."
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:12
#, no-wrap
+#, fuzzy, no-wrap
msgid "Go to one of the pads with goto."
-msgstr ""
+msgstr "Перейти к одной из площаок goto."
#. type: Bullet: 'o'
#: train502-help/tremova2.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "Drop the titanium with drop."
-msgstr ""
+msgstr "Бросить титин drop."
#. type: Plain text
#: train502-help/tremova2.txt:16
#, no-wrap
+#, fuzzy, 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 ""
+"Если вы ищите ближайший титановый слиток, радар укажет вам на тот, который "
+"вы уже нашли и принесли на площадку. Поэтому вы должны искать титановый "
+"слиток, находящийся от вас как можно дальше."
#. type: \b; header
#: train502-help/tremova2.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train502-help/tremova2.txt:19
#, no-wrap
+#, fuzzy, 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, "
@@ -128,29 +151,45 @@ msgid ""
"-1 means that instead of looking for the closest item, the "
"radar will return the most distant that it can find."
msgstr ""
+"Используйте цикл for, чтобы повторить все "
+"необходимые для поиска титанового слитка инструкции 3 раза. Внутри цикла, "
+"чтобы найти самый отдаленный титановый слиток, используйте инструкцию radar(Titanium, 0, 360, 0, 1000, -1);. Последнее значение "
+"-1 означает то, что вместо поиска ближайшего предмета, радар "
+"будет выдавать предмет, находящийся на самом большом расстоянии от бота."
#. type: \s; block (usually verbatim code)
#: train502-help/tremova2.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"object metal;\n"
"metal = radar(Titanium, 0, 360, 0, 1000, -1);\n"
"if ( metal == null ) return;\n"
"goto(metal.position);"
msgstr ""
+"object metal;\n"
+"metal = radar(Titanium, 0, 360, 0, 1000, -1);\n"
+"if ( metal == null ) return;\n"
+"goto(metal.position);"
#. type: Plain text
#: train502-help/tremova2.txt:26
#, no-wrap
+#, fuzzy, no-wrap
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 ""
+"Переменная metal относится к типу object. Чтобы узнать позицию объекта, описанного "
+"переменной, вы должны написать metal.position."
#. type: Plain text
#: train502-help/tremova2.txt:28
#, no-wrap
+#, fuzzy, 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 "
@@ -158,31 +197,43 @@ msgid ""
"i of the for loop that will take successively the "
"values 0, 1 and 2:"
msgstr ""
+"Координата x 3-х площадок равна 10. Координата y "
+"соответственно -60, -65 и -70. Самый простой способ получить координаты "
+"позиции заключается в использовании значения i цикла "
+"for , которая последовательно будет принимать значения 0, 1 и 2:"
#. type: \s; block (usually verbatim code)
#: train502-help/tremova2.txt:31
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"dest.x = 10;\n"
"dest.y = -60-5*i;"
msgstr ""
+"dest.x = 10;\n"
+"dest.y = -60-5*i;"
#. type: Plain text
#: train502-help/tremova2.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is up to you now to finish the program."
-msgstr ""
+msgstr "Теперь вы сами должны закончить программу."
#. type: \t; header
#: train502-help/tremova2.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train502-help/tremova2.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train503/po/pl.po b/levels/train503/po/pl.po
index 92c4db16..54d122af 100644
--- a/levels/train503/po/pl.po
+++ b/levels/train503/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train503.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train503/scene.txt:1
#, no-wrap
msgid "train503:Mover 3"
-msgstr ""
+msgstr "train503:Poruszanie się 3"
#. type: Resume-text
#: train503/scene.txt:2
#, no-wrap
msgid "train503:Convert some titanium ore to titanium cubes."
-msgstr ""
+msgstr "train503:Przetop nieco rudy tytanu na kostki tytanu."
#. type: ScriptName-text
#: train503/scene.txt:3
#, no-wrap
msgid "train503:Mover"
-msgstr ""
+msgstr "train503:Poruszanie"
#. type: \b; header
#: train503-help/tremova3.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train503-help/tremova3.txt:3
@@ -53,6 +53,9 @@ msgid ""
"Convert some titanium ore to titanium "
"cubes, then drop 2 titanium cubes on the pads whose coordinates are:"
msgstr ""
+"Przetop nieco rudy tytanu na kostki "
+"tytanu, a następnie dostarcz dwie kostki tytanu na platformy o podanych "
+"współrzędnych:"
#. type: Plain text
#: train503-help/tremova3.txt:6
@@ -61,12 +64,14 @@ msgid ""
"\tx=10, y=-60\n"
"\tx=10, y=-65"
msgstr ""
+"\tx=10, y=-60\n"
+"\tx=10, y=-65"
#. type: Image filename
#: train503-help/tremova3.txt:7
#, no-wrap
msgid "derrick"
-msgstr ""
+msgstr "derrick"
#. type: Plain text
#: train503-help/tremova3.txt:9
@@ -75,12 +80,14 @@ msgid ""
"The derrick extracts titanium ore from the subsoil; "
"you just have to pick it up."
msgstr ""
+"Kopalnia wydobywa rudę tytanu z podglebia; wystarczy "
+"tylko ją podnieść."
#. type: Image filename
#: train503-help/tremova3.txt:10
#, no-wrap
msgid "convert"
-msgstr ""
+msgstr "convert"
#. type: Plain text
#: train503-help/tremova3.txt:12
@@ -90,84 +97,87 @@ msgid ""
"cubes. Just drop the titanium ore on the platform, move backward, and wait "
"until it has been converted."
msgstr ""
+"Huta przetapia rudę tytanu na kostki tytanu. Wystarczy "
+"zostawić rudę tytanu na platformie, cofnąć się i poczekać na jej "
+"przetopienie."
#. type: \b; header
#: train503-help/tremova3.txt:13
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train503-help/tremova3.txt:15
#, no-wrap
msgid "Repeat two times :\n"
-msgstr ""
+msgstr "Powtórz dwa razy:\n"
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:15
#, no-wrap
msgid "Wait until there is some titanium ore."
-msgstr ""
+msgstr "Poczekaj na rudę tytanu."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:16
#, no-wrap
msgid "Go to the titanium ore."
-msgstr ""
+msgstr "Podejdź do rudy tytanu."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:17
#, no-wrap
msgid "Pick it up."
-msgstr ""
+msgstr "Podnieś ją."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:18
#, no-wrap
msgid "Go to converter."
-msgstr ""
+msgstr "Podejdź do huty."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:19
#, no-wrap
msgid "Drop the titanium ore."
-msgstr ""
+msgstr "Zostaw rudę tytanu."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:20
#, no-wrap
msgid "Move back 2.5 meters."
-msgstr ""
+msgstr "Cofnij się o 2,5 metra."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:21
#, no-wrap
msgid "Wait until there is a titanium cube."
-msgstr ""
+msgstr "Poczekaj na kostkę tytanu."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:22
#, no-wrap
msgid "Pick up the titanium cube."
-msgstr ""
+msgstr "Podnieś kostkę tytanu."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:23
#, no-wrap
msgid "Go to the platform."
-msgstr ""
+msgstr "Podejdź do platformy."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:24
#, no-wrap
msgid "Drop the titanium cube."
-msgstr ""
+msgstr "Zostaw kostkę tytanu."
#. type: \b; header
#: train503-help/tremova3.txt:26
#, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train503-help/tremova3.txt:29
@@ -179,6 +189,10 @@ msgid ""
"the derrick extracts it. Use a do loop, as "
"follows:"
msgstr ""
+"Pętla for umożliwia dwukrotne powtórzenie "
+"wszystkich instrukcji.\n"
+"Ruda tytanu nie jest dostępna natychmiast. Należy poczekać na jej wydobycie "
+"przez kopalnię. Użyj do tego pętli do:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:35
@@ -190,6 +204,11 @@ msgid ""
"}\n"
"while ( obj == null );"
msgstr ""
+"do\n"
+"{\n"
+"\tobj = radar(TitaniumOre);\n"
+"}\n"
+"while ( obj == null );"
#. type: Plain text
#: train503-help/tremova3.txt:38
@@ -201,12 +220,17 @@ msgid ""
"cbot|grab>grab to grab the titanium ore.\n"
"Use the following instruction in order to find the converter:"
msgstr ""
+"Po tej pętli (gdy radar znajdzie rudę tytanu), możesz do niej podejść "
+"obj.position używając instrukcji goto. Do podniesienia rudy tytanu użyj instrukcji "
+"grab.\n"
+"Użyj następującej instrukcji do znalezienia huty:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:40
#, no-wrap
msgid "obj = radar(Converter);"
-msgstr ""
+msgstr "obj = radar(Converter);"
#. type: Plain text
#: train503-help/tremova3.txt:43
@@ -218,6 +242,11 @@ msgid ""
"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 ""
+"Po umieszczeniu rudy w hucie, cofnij się o 2,5 metra: move(-2.5).\n"
+"Druga pętla do czeka aż będzie dostępna kostka tytanu. Musisz "
+"ograniczyć zasięg radaru do 5 metrów, w przeciwnym wypadku natychmiast "
+"znajdziesz kostkę tytanu właśnie dostarczoną na platformę:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:49
@@ -229,6 +258,11 @@ msgid ""
"}\n"
"while ( obj == null );"
msgstr ""
+"do\n"
+"{\n"
+"\tobj = radar(Titanium, 0, 360, 0, 5);\n"
+"}\n"
+"while ( obj == null );"
#. type: Plain text
#: train503-help/tremova3.txt:51
@@ -239,6 +273,10 @@ msgid ""
"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 ""
+"Współrzędne x dwóch platform są równe. Współrzędne "
+"y są odpowiednio równe -60 i -65. Najefektywniejszym sposobem "
+"otrzymania współrzędnych platform jest użycie wartości i z "
+"pętli for, która przyjmuje kolejno wartości 0 i 1:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:54
@@ -247,18 +285,20 @@ msgid ""
"dest.x = 10;\n"
"dest.y = -60-5*i;"
msgstr ""
+"dest.x = 10;\n"
+"dest.y = -60-5*i;"
#. type: Plain text
#: train503-help/tremova3.txt:56
#, no-wrap
msgid "It is up to you to finish the program..."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu..."
#. type: \t; header
#: train503-help/tremova3.txt:57
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train503-help/tremova3.txt:58
@@ -267,3 +307,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train503/po/ru.po b/levels/train503/po/ru.po
index b302be3f..a10208ba 100644
--- a/levels/train503/po/ru.po
+++ b/levels/train503/po/ru.po
@@ -20,158 +20,189 @@ msgstr ""
#: train503.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train503/scene.txt:1
#, no-wrap
msgid "train503:Mover 3"
-msgstr ""
+msgstr "train503:Переселенец 3"
#. type: Resume-text
#: train503/scene.txt:2
#, no-wrap
msgid "train503:Convert some titanium ore to titanium cubes."
-msgstr ""
+msgstr "train503:Изготовьте из титановой руды титановые слитки."
#. type: ScriptName-text
#: train503/scene.txt:3
#, no-wrap
msgid "train503:Mover"
-msgstr ""
+msgstr "train503:Mover"
#. type: \b; header
#: train503-help/tremova3.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train503-help/tremova3.txt:3
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Convert some titanium ore to titanium "
"cubes, then drop 2 titanium cubes on the pads whose coordinates are:"
msgstr ""
+"Преобразуйте некоторое количество титановой руды в титановые слитки, после этого сбросьте 2 титановых слитка "
+"на платформы, чьи координаты:"
#. type: Plain text
#: train503-help/tremova3.txt:6
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\tx=10, y=-60\n"
"\tx=10, y=-65"
msgstr ""
+"\tx=10, y=-60\n"
+"\tx=10, y=-65"
#. type: Image filename
#: train503-help/tremova3.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid "derrick"
-msgstr ""
+msgstr "derrick"
#. type: Plain text
#: train503-help/tremova3.txt:9
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The derrick extracts titanium ore from the subsoil; "
"you just have to pick it up."
msgstr ""
+"Деррики добывают титановую руду из-под земли; вы "
+"просто должны их подобрать."
#. type: Image filename
#: train503-help/tremova3.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid "convert"
-msgstr ""
+msgstr "convert"
#. type: Plain text
#: train503-help/tremova3.txt:12
#, no-wrap
+#, fuzzy, 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 ""
+"Преобразователь перерабатывает титановую руду в слитки "
+"титана. Просто сбросьте титановую руду на платформу, отойдите назад и "
+"подождите, пока она не будет переработана."
#. type: \b; header
#: train503-help/tremova3.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Общий принцип"
#. type: Plain text
#: train503-help/tremova3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Repeat two times :\n"
-msgstr ""
+msgstr "Повторить два раза :\n"
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:15
#, no-wrap
+#, fuzzy, no-wrap
msgid "Wait until there is some titanium ore."
-msgstr ""
+msgstr "Подождать пока не появится некоторое количество титановой руды."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid "Go to the titanium ore."
-msgstr ""
+msgstr "Перейти к титановой руде."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:17
#, no-wrap
+#, fuzzy, no-wrap
msgid "Pick it up."
-msgstr ""
+msgstr "Взять ее."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:18
#, no-wrap
+#, fuzzy, no-wrap
msgid "Go to converter."
-msgstr ""
+msgstr "Подойти к преобразователю."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:19
#, no-wrap
+#, fuzzy, no-wrap
msgid "Drop the titanium ore."
-msgstr ""
+msgstr "Сбросить титановую руду."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:20
#, no-wrap
+#, fuzzy, no-wrap
msgid "Move back 2.5 meters."
-msgstr ""
+msgstr "Отойти назад на 2,5 метра."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:21
#, no-wrap
+#, fuzzy, no-wrap
msgid "Wait until there is a titanium cube."
-msgstr ""
+msgstr "Подождать пока не появится титановый слиток."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:22
#, no-wrap
+#, fuzzy, no-wrap
msgid "Pick up the titanium cube."
-msgstr ""
+msgstr "Взять титановый слиток."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:23
#, no-wrap
+#, fuzzy, no-wrap
msgid "Go to the platform."
-msgstr ""
+msgstr "Подойти к платформе."
#. type: Bullet: 'o'
#: train503-help/tremova3.txt:24
#, no-wrap
+#, fuzzy, no-wrap
msgid "Drop the titanium cube."
-msgstr ""
+msgstr "Сбросить титановый слиток."
#. type: \b; header
#: train503-help/tremova3.txt:26
#, no-wrap
+#, fuzzy, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train503-help/tremova3.txt:29
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"A for loop allows you to repeat 2 times all the "
"instructions.\n"
@@ -179,10 +210,16 @@ msgid ""
"the derrick extracts it. Use a do loop, as "
"follows:"
msgstr ""
+"Цикл for позволяет вам 2 раза повторить все "
+"инструкции.\n"
+"Титановая руда не становится доступной моментально. Вы должны подождать "
+"некоторое время, пока деррик ее добудет. Используйте цикл do как приведено ниже:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:35
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"do\n"
"{\n"
@@ -190,10 +227,16 @@ msgid ""
"}\n"
"while ( obj == null );"
msgstr ""
+"do\n"
+"{\n"
+"\tobj = radar(TitaniumOre);\n"
+"}\n"
+"while ( obj == null );"
#. type: Plain text
#: train503-help/tremova3.txt:38
#, no-wrap
+#, fuzzy, 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 grab to grab the titanium ore.\n"
"Use the following instruction in order to find the converter:"
msgstr ""
+"После цикла (когда радар найдет одну единицу титановой руды), вы можете "
+"перейти к тому месту, где она лежит obj.position с помощью "
+"инструкции goto. Используйте инструкцию <"
+"a cbot|grab>grab, чтобы взять титановую руду.\n"
+"Используйте следующую инструкцию, чтобы найти преобразователь:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:40
#, no-wrap
+#, fuzzy, no-wrap
msgid "obj = radar(Converter);"
-msgstr ""
+msgstr "obj = radar(Converter);"
#. type: Plain text
#: train503-help/tremova3.txt:43
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"After you dropped the ore on the converter, move back 2.5 meters with "
"move(-2.5).\n"
@@ -218,10 +268,17 @@ msgid ""
"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 ""
+"После того, как вы сбросите руду на преобразователь, отойдите назад на 2.5 "
+"метра: move(-2.5).\n"
+"Второй цикл do позволяет вам подождать, пока титановый слиток "
+"станет доступным. Вы должны ограничить дальность видимости радара 5 метрами, "
+"в противном случае вы немедленно найдете титановый силток, который только "
+"что бросили на платформу:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:49
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"do\n"
"{\n"
@@ -229,41 +286,59 @@ msgid ""
"}\n"
"while ( obj == null );"
msgstr ""
+"do\n"
+"{\n"
+"\tobj = radar(Titanium, 0, 360, 0, 5);\n"
+"}\n"
+"while ( obj == null );"
#. type: Plain text
#: train503-help/tremova3.txt:51
#, no-wrap
+#, fuzzy, 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 ""
+"Координаты x двух платформ равны 10. Координаты y "
+"соответственно -60 и -65. Самый эффективный способ получения координат "
+"платформ - это использовать значение i цикла for, "
+"которое последовательно становится 0 и 1:"
#. type: \s; block (usually verbatim code)
#: train503-help/tremova3.txt:54
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"dest.x = 10;\n"
"dest.y = -60-5*i;"
msgstr ""
+"dest.x = 10;\n"
+"dest.y = -60-5*i;"
#. type: Plain text
#: train503-help/tremova3.txt:56
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is up to you to finish the program..."
-msgstr ""
+msgstr "Теперь вы должны сами закончить написание программы..."
#. type: \t; header
#: train503-help/tremova3.txt:57
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train503-help/tremova3.txt:58
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train504/po/pl.po b/levels/train504/po/pl.po
index 38547e8d..e82980fe 100644
--- a/levels/train504/po/pl.po
+++ b/levels/train504/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train504.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train504/scene.txt:1
#, no-wrap
msgid "train504:Flying mover"
-msgstr ""
+msgstr "train504:Latanie"
#. type: Resume-text
#: train504/scene.txt:2
#, no-wrap
msgid "train504:Move a titanium cube across obstacles."
-msgstr ""
+msgstr "train504:Przenieś kostkę tytanu ponad przeszkodami."
#. type: ScriptName-text
#: train504/scene.txt:3
#, no-wrap
msgid "train504:Mover"
-msgstr ""
+msgstr "train504:Poruszanie"
#. type: \b; header
#: train504-help/tremova4.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train504-help/tremova4.txt:3
@@ -54,12 +54,14 @@ msgid ""
"know the position of the titanium, but we can tell you the position of the "
"finishing pad x=10 and y=-60."
msgstr ""
+"Przenieś kostkę tytanu na platformę końcową. Pozycja "
+"tytanu nie jest znana, ale współrzędne platformy końcowej to: x=10, y=-60."
#. type: \b; header
#: train504-help/tremova4.txt:4
#, no-wrap
msgid "The instruction goto"
-msgstr ""
+msgstr "Instrukcja goto"
#. type: Plain text
#: train504-help/tremova4.txt:7
@@ -73,6 +75,12 @@ msgid ""
"compulsory: the flying altitude. If no second parameter is given, the flying "
"altitude will be set to the default value of 10m."
msgstr ""
+"Robot latający może omijać przeszkody. Instrukcja goto, wykonana przez robota latającego automatycznie "
+"spowoduje jego lot, start na początku trasy i lądowanie na jej końcu.\n"
+"Instrukcja ta może w rzeczywistości otrzymać również drugi parametr, który "
+"jednak nie jest obowiązkowy. Jeśli nie zostanie podany drugi parametr, "
+"przyjęta zostanie domyślna wysokość lotu równa 10 metrów."
#. type: Plain text
#: train504-help/tremova4.txt:10
@@ -81,6 +89,8 @@ msgid ""
"Therefore, the instruction:\n"
"goto(item.position);"
msgstr ""
+"Wobec czego, instrukcja:\n"
+"goto(item.position);"
#. type: Plain text
#: train504-help/tremova4.txt:13
@@ -89,12 +99,14 @@ msgid ""
"Is equivalent to:\n"
"goto(item.position, 10);"
msgstr ""
+"Jest równoważna:\n"
+"goto(item.position, 10);"
#. type: \b; header
#: train504-help/tremova4.txt:14
#, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Program"
#. type: Plain text
#: train504-help/tremova4.txt:16
@@ -106,6 +118,11 @@ msgid ""
"there is a titanium cube somewhere. However, it is better to take the habit "
"of testing whatever your radar returns:"
msgstr ""
+"Użyj instrukcji radar(Titanium); do znalezienia "
+"kostki tytanu. Następnie sprawdź, czy kostka tytanu rzeczywiście została "
+"znaleziona. W tym ćwiczeniu ta linia nie jest bardzo przydatna, gdyż "
+"wiadomo, że gdzieś jest kostka tytanu. Jednakże warto wyrobić sobie nawyk "
+"sprawdzania danych podawanych przez radar:"
#. type: \s; block (usually verbatim code)
#: train504-help/tremova4.txt:21
@@ -116,6 +133,10 @@ msgid ""
"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
#: train504-help/tremova4.txt:23
@@ -125,6 +146,9 @@ msgid ""
"cbot|object>object. In order to know the exact location of the "
"object described by the variable, just write item.position."
msgstr ""
+"Zmienna item jest typu object. "
+"Aby poznać dokładną pozycję obiektu opisywanego przez zmienną, wystarczy "
+"napisać item.position."
#. type: Plain text
#: train504-help/tremova4.txt:25
@@ -133,6 +157,8 @@ msgid ""
"In order to take the titanium cube, use the instruction grab() without any parameter."
msgstr ""
+"Do podniesienia kostki tytanu użyj instrukcji grab() bez parametrów."
#. type: Plain text
#: train504-help/tremova4.txt:27
@@ -141,6 +167,8 @@ msgid ""
"In order to drop the titanium, use the instruction drop() without any parameter."
msgstr ""
+"Do upuszczenia tytanu użyj instrukcji drop() "
+"bez parametrów."
#. type: Plain text
#: train504-help/tremova4.txt:30
@@ -153,18 +181,24 @@ msgid ""
"Remark: You do not have to take care of the z coordinate in the "
"case of a bot that can not fly."
msgstr ""
+"Współrzędne platformy końcowej to: x=10, y=-60. Należy zadeklarować zmienną typu point, a następnie przypisać jej "
+"odpowiednie współrzędne. Później można ją podać jako parametr instrukcji "
+"goto.\n"
+"Wskazówka: Nie musisz się przejmować współrzędną z w przypadku "
+"robotów nie potrafiących latać."
#. type: Plain text
#: train504-help/tremova4.txt:32
#, no-wrap
msgid "It is now up to you to finish the program..."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu..."
#. type: \t; header
#: train504-help/tremova4.txt:33
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train504-help/tremova4.txt:34
@@ -173,3 +207,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train504/po/ru.po b/levels/train504/po/ru.po
index b8b39665..1d7ea88c 100644
--- a/levels/train504/po/ru.po
+++ b/levels/train504/po/ru.po
@@ -20,50 +20,57 @@ msgstr ""
#: train504.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-text
#: train504/scene.txt:1
#, no-wrap
msgid "train504:Flying mover"
-msgstr ""
+msgstr "train504:В небе"
#. type: Resume-text
#: train504/scene.txt:2
#, no-wrap
msgid "train504:Move a titanium cube across obstacles."
-msgstr ""
+msgstr "train504:Переместите титановый слиток через препятствия."
#. type: ScriptName-text
#: train504/scene.txt:3
#, no-wrap
msgid "train504:Mover"
-msgstr ""
+msgstr "train504:Mover"
#. type: \b; header
#: train504-help/tremova4.txt:1
#, no-wrap
+#, fuzzy, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Упражнение"
#. type: Plain text
#: train504-help/tremova4.txt:3
#, no-wrap
+#, fuzzy, 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 ""
+"Переместите титановый слиток на финальную площадку. Вы "
+"не знаете, где лежит титан, но мы можем дать вам координаты финальной "
+"площадки x=10 и y=-60."
#. type: \b; header
#: train504-help/tremova4.txt:4
#, no-wrap
+#, fuzzy, no-wrap
msgid "The instruction goto"
-msgstr ""
+msgstr "Инструкция goto"
#. type: Plain text
#: train504-help/tremova4.txt:7
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"The winged bot can get across obstacles. The instruction goto, if performed on a winged bot, will automatically "
@@ -73,32 +80,46 @@ msgid ""
"compulsory: the flying altitude. If no second parameter is given, the flying "
"altitude will be set to the default value of 10m."
msgstr ""
+"Крылатый бот может перелетать через преграды. Инструкция goto, если ее применить на крылатом боте, позволит "
+"автоматически взлететь вначале и приземлиться в конце маршрута.\n"
+"Эта инструкция может получить и второй параметр, который не является "
+"обязательным: высоту полета. Если второй параметр не задан, высота полета "
+"будет установлена по умолчанию на 10 метров."
#. type: Plain text
#: train504-help/tremova4.txt:10
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Therefore, the instruction:\n"
"goto(item.position);"
msgstr ""
+"Поэтому инструкция:\n"
+"goto(item.position);"
#. type: Plain text
#: train504-help/tremova4.txt:13
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Is equivalent to:\n"
"goto(item.position, 10);"
msgstr ""
+"Равнозначна инструкции:\n"
+"goto(item.position, 10);"
#. type: \b; header
#: train504-help/tremova4.txt:14
#, no-wrap
+#, fuzzy, no-wrap
msgid "The program"
-msgstr ""
+msgstr "Программа"
#. type: Plain text
#: train504-help/tremova4.txt:16
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Use the instruction radar(Titanium); in order to "
"find the titanium cube. Then test if a titanium cube has actually been "
@@ -106,45 +127,66 @@ msgid ""
"there is a titanium cube somewhere. However, it is better to take the habit "
"of testing whatever your radar returns:"
msgstr ""
+"Используйте инструкцию radar(Titanium); чтобы "
+"найти титановый слиток. После этого проверьте, найден ли титан в "
+"действительности. В этом упражнении эта строка не имеет большого значения, "
+"так как мы знаем, что титановый слиток где-то есть. Тем не менее, хорошо "
+"будет приучить себя проверять все, что возвращает вам ваш радар:"
#. type: \s; block (usually verbatim code)
#: train504-help/tremova4.txt:21
#, no-wrap
+#, fuzzy, 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
#: train504-help/tremova4.txt:23
#, no-wrap
+#, fuzzy, 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 ""
+"Переменная item относится к типу object. Чтобы узнать точное место, где находится "
+"объект, описанный переменной, просто напишите item.position."
#. type: Plain text
#: train504-help/tremova4.txt:25
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to take the titanium cube, use the instruction grab() without any parameter."
msgstr ""
+"Чтобы взять титановый куб, используйте инструкцию grab() без параметров."
#. type: Plain text
#: train504-help/tremova4.txt:27
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"In order to drop the titanium, use the instruction drop() without any parameter."
msgstr ""
+"Чтобы бросить титановый куб, используйте инструкцию drop() без параметров."
#. type: Plain text
#: train504-help/tremova4.txt:30
#, no-wrap
+#, fuzzy, 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 "
@@ -153,23 +195,35 @@ msgid ""
"Remark: You do not have to take care of the z coordinate in the "
"case of a bot that can not fly."
msgstr ""
+"Нам известны координаты финишной площадки: x=10 и y=-60. Вы должны задать переменную типа point, а после этого "
+"присвоить ей соответствующие координаты. После этого вы можете использовать "
+"эту переменную как параметр для инструкции goto.\n"
+"Комментарий: Вы не должны волноваться о координате z, так как "
+"бот не умеет летать."
#. type: Plain text
#: train504-help/tremova4.txt:32
#, no-wrap
+#, fuzzy, no-wrap
msgid "It is now up to you to finish the program..."
-msgstr ""
+msgstr "Теперь вы должны закончить написание программы..."
#. type: \t; header
#: train504-help/tremova4.txt:33
#, no-wrap
+#, fuzzy, no-wrap
msgid "See also"
-msgstr ""
+msgstr "См. также"
#. type: Plain text
#: train504-help/tremova4.txt:34
#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"Programming, types and categories."
msgstr ""
+"Программирование, типы и категории."
diff --git a/levels/train6-po/pl.po b/levels/train6-po/pl.po
index ebe4f794..9c130f4c 100644
--- a/levels/train6-po/pl.po
+++ b/levels/train6-po/pl.po
@@ -20,10 +20,10 @@ msgstr ""
#: train6.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-resume
#: train6/train600.txt:1 train6/train600.txt:1
#, no-wrap
msgid "train600:Functions"
-msgstr ""
+msgstr "train600:Funkcje"
diff --git a/levels/train6-po/ru.po b/levels/train6-po/ru.po
index 7aff86c7..15d33eb2 100644
--- a/levels/train6-po/ru.po
+++ b/levels/train6-po/ru.po
@@ -20,10 +20,10 @@ msgstr ""
#: train6.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "R"
#. type: Title-resume
#: train6/train600.txt:1 train6/train600.txt:1
#, no-wrap
msgid "train600:Functions"
-msgstr ""
+msgstr "train600:Функции"
diff --git a/levels/train601/po/pl.po b/levels/train601/po/pl.po
index 8b9b1bb4..b8141abb 100644
--- a/levels/train601/po/pl.po
+++ b/levels/train601/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train601.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train601/scene.txt:1
#, no-wrap
msgid "train601:A function"
-msgstr ""
+msgstr "train601:Funkcja"
#. type: Resume-text
#: train601/scene.txt:2
#, no-wrap
msgid "train601:Create a function in order to make your program shorter."
-msgstr ""
+msgstr "train601:Utwórz funkcję, która pozwoli skrócić Twój program."
#. type: ScriptName-text
#: train601/scene.txt:3
#, no-wrap
msgid "train601:Move"
-msgstr ""
+msgstr "train601:Poruszanie"
#. type: \b; header
#: train601-help/tproc1.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train601-help/tproc1.txt:3
@@ -54,18 +54,21 @@ msgid ""
"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 ""
+"Robot musi przejść przez wszystkie "
+"niebieskie plusy leżące na ziemi. Droga, którą musi pokonać, składa się "
+"z dwóch kwadratów. Pierwszy ma bok równy 15 metrów a drugi, 25 metrów."
#. type: Image filename
#: train601-help/tproc1.txt:4
#, no-wrap
msgid "tproc1a"
-msgstr ""
+msgstr "tproc1a"
#. type: \b; header
#: train601-help/tproc1.txt:5
#, no-wrap
msgid "General principle"
-msgstr ""
+msgstr "Ogólny algorytm"
#. type: Plain text
#: train601-help/tproc1.txt:7
@@ -76,6 +79,9 @@ msgid ""
"square shape of a certain size. The main program becomes then very "
"simple:"
msgstr ""
+"Najbardziej efektywne rozwiązanie tego problemu polega na napisaniu funkcji, która porusza robotem po kwadracie określonego "
+"rozmiaru. Główny program staje się wtedy bardzo prosty:"
#. type: \s; block (usually verbatim code)
#: train601-help/tproc1.txt:12
@@ -87,6 +93,11 @@ msgid ""
"\tSquare(25);\n"
"}"
msgstr ""
+"extern void object::Funkcja1( )\n"
+"{\n"
+"\tKwadrat(15);\n"
+"\tKwadrat(25);\n"
+"}"
#. type: Plain text
#: train601-help/tproc1.txt:14
@@ -99,6 +110,12 @@ msgid ""
"will define the function Square. The program will take the "
"following shape:"
msgstr ""
+"Wciąż jednak należy zdefiniować funkcję nazwaną Kwadrat. Aby to "
+"zrobić, konieczne będzie napisanie kilku instrukcji poza blokiem który dotychczas był ramką dla każdego z Twoich "
+"programów. Na samym końcu programu, po ostatniej klamrze zamykającej, należy "
+"zdefiniować funkcję Kwadrat. Program będzie wyglądał "
+"następująco:"
#. type: \s; block (usually verbatim code)
#: train601-help/tproc1.txt:24
@@ -114,6 +131,15 @@ msgid ""
"\tnew function ...\n"
"}"
msgstr ""
+"extern void object::Funkcja1( )\n"
+"{\n"
+"\tgłówna funkcja...\n"
+"}\n"
+"\n"
+"void object::Kwadrat(float bok)\n"
+"{\n"
+"\tnowa funkcja...\n"
+"}"
#. type: Plain text
#: train601-help/tproc1.txt:26
@@ -122,6 +148,8 @@ msgid ""
"Let us look in detail at the different elements of the declaration of the "
"function Square:"
msgstr ""
+"Przyjrzyjmy się uważniej różnym elementom deklaracji funkcji "
+"Kwadrat:"
#. type: Plain text
#: train601-help/tproc1.txt:29
@@ -130,6 +158,8 @@ msgid ""
"void\n"
"This means that this function will return no value."
msgstr ""
+"void\n"
+"Oznacza, że ta funkcja nie zwraca żadnej wartości."
#. type: Plain text
#: train601-help/tproc1.txt:32
@@ -142,6 +172,11 @@ msgid ""
"element is not compulsory, as we will not need the characteristics of the "
"bot in the function."
msgstr ""
+"object::\n"
+"Napisanie tego przed nazwą funkcji oznacza, że będzie ona miała dostęp do "
+"wszystkich charakterystyk robota, takich jak position, "
+"orientation, itd. W tym ćwiczeniu element ten nie jest "
+"wymagany, jako że w funkcji nie będą potrzebne charakterystyki robota."
#. type: Plain text
#: train601-help/tproc1.txt:35
@@ -150,6 +185,8 @@ msgid ""
"Square ( )\n"
"This is the name of the function. You can call it Square, or any other name."
msgstr ""
+"Kwadrat ( )\n"
+"To jest nazwa funkcji. Możesz ją nazwać Kwadrat lub dowolnie inaczej."
#. type: Plain text
#: train601-help/tproc1.txt:38
@@ -162,18 +199,23 @@ msgid ""
"value 15. The second time, length will contain "
"25."
msgstr ""
+"float bok\n"
+"Tutaj definiujesz parametry, które otrzymuje funkcja podczas wywołania. Przy "
+"pierwszym wywołaniu funkcji Kwadrat(15), zmienna "
+"bok będzie miała wartość 15. Za drugim razem "
+"bok będzie równy 25."
#. type: Plain text
#: train601-help/tproc1.txt:40
#, no-wrap
msgid "Here is in detail what will happen when the program is executed:\n"
-msgstr ""
+msgstr "Oto szczegóły tego co zdarzy się po wykonaniu programu:\n"
#. type: Bullet: '-'
#: train601-help/tproc1.txt:40
#, no-wrap
msgid "First the main function Function will be executed."
-msgstr ""
+msgstr "Najpierw uruchamiana jest główna funkcja Funkcja1."
#. type: Bullet: '-'
#: train601-help/tproc1.txt:41
@@ -183,6 +225,9 @@ msgid ""
"and enter the function Square a first time, length "
"containing 15."
msgstr ""
+"W wierszu Kwadrat(15), program podąży za czerwoną strzałką i "
+"przejdzie do funkcji Kwadrat po raz pierwszy, bok "
+"równy 15."
#. type: Bullet: '-'
#: train601-help/tproc1.txt:42
@@ -191,6 +236,8 @@ msgid ""
"At the end of the function Square, the program follows the "
"orange arrow and comes back to the main function."
msgstr ""
+"Na końcu funkcji Kwadrat, program podąży za pomarańczową "
+"strzałką i wróci do funkcji głównej."
#. type: Bullet: '-'
#: train601-help/tproc1.txt:43
@@ -199,6 +246,8 @@ msgid ""
"At the line Square(25), the program will follow the blue arrow "
"and enter the function Square a second time."
msgstr ""
+"W wierszu Kwadrat(25), program podąży za niebieską strzałką, "
+"przechodząc po raz drugi do funkcji Kwadrat."
#. type: Bullet: '-'
#: train601-help/tproc1.txt:44
@@ -207,12 +256,14 @@ msgid ""
"At the end of the function Square, the program follows the "
"light blue arrow and comes back to the main function."
msgstr ""
+"Na końcu funkcji Kwadrat, program podąży za jasno niebieską "
+"strzałką i wróci do funkcji głównej."
#. type: Image filename
#: train601-help/tproc1.txt:46
#, no-wrap
msgid "tproc1b"
-msgstr ""
+msgstr "tproc1b"
#. type: Plain text
#: train601-help/tproc1.txt:48
@@ -224,6 +275,11 @@ msgid ""
"that will repeat the instructions move and "
"turn 4 times; however, this is not compulsory."
msgstr ""
+"W funkcji Kwadrat, użyj instrukcji move i turn. Aby skrócić "
+"program możesz użyć pętli for, która powtórzy 4 "
+"razy instrukcje move i turn, nie jest to jednak niezbędne."
#. type: \s; block (usually verbatim code)
#: train601-help/tproc1.txt:57
@@ -238,12 +294,20 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"void object::Kwadrat(float bok)\n"
+"{\n"
+"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
+"\t{\n"
+"\t\tmove(bok);\n"
+"\t\tturn(90);\n"
+"\t}\n"
+"}"
#. type: \t; header
#: train601-help/tproc1.txt:58
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train601-help/tproc1.txt:59
@@ -252,3 +316,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train602/po/pl.po b/levels/train602/po/pl.po
index 044768ac..2dbc931e 100644
--- a/levels/train602/po/pl.po
+++ b/levels/train602/po/pl.po
@@ -20,31 +20,31 @@ msgstr ""
#: train602.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train602/scene.txt:1
#, no-wrap
msgid "train602:Spiral"
-msgstr ""
+msgstr "train602:Spirala"
#. type: Resume-text
#: train602/scene.txt:2
#, no-wrap
msgid "train602:Create a procedure in order to teach your bot to perform a spiral."
-msgstr ""
+msgstr "train602:Użyj procedury, aby nauczyć robota poruszania się po spirali."
#. type: ScriptName-text
#: train602/scene.txt:3
#, no-wrap
msgid "train602:Move"
-msgstr ""
+msgstr "train602:Poruszanie"
#. type: \b; header
#: train602-help/tproc2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train602-help/tproc2.txt:3
@@ -53,18 +53,20 @@ 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.\n"
msgstr ""
+"Idź drogą w kształcie spirali. Robot musi przejść 2 razy 25 metrów naprzód i "
+"skręcić, a następnie 2 razy przejść po 20 metrów naprzód i skręcić, itd.\n"
#. type: Image filename
#: train602-help/tproc2.txt:3
#, no-wrap
msgid "tproc2"
-msgstr ""
+msgstr "tproc2"
#. type: \b; header
#: train602-help/tproc2.txt:4
#, no-wrap
msgid "Function"
-msgstr ""
+msgstr "Funkcja"
#. type: Plain text
#: train602-help/tproc2.txt:6
@@ -76,6 +78,11 @@ msgid ""
"with writing the function that will move the bot on a "
"\"L\"-shaped part whose length will be given as a parameter:"
msgstr ""
+"Warto zauważyć, że \"L\"-kształtne części pasują do siebie. Pierwsza część ("
+"ciemno niebieska) ma rozmiar dwa razy po 25 metrów. Druga (jasno niebieska) "
+"jest 5 metrów krótsza. Zacznijmy od napisania funkcji "
+"która będzie poruszać robotem po \"L\"-kształtnej części o długości podanej "
+"jako parametr:"
#. type: \s; block (usually verbatim code)
#: train602-help/tproc2.txt:15
@@ -90,6 +97,14 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"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"
+"}"
#. type: Plain text
#: train602-help/tproc2.txt:17
@@ -102,6 +117,12 @@ msgid ""
"the loop, first call the function Part (see above), then "
"subtract 5m to the length of the L."
msgstr ""
+"Teraz wystarczy tylko napisać główną funkcję, która będzie wywoływała "
+"funkcję Part. Na początku zmienna rest będzie "
+"miała wartość 25m. Pętla while będzie powtarzała instrukcje "
+"wewnątrz bloku tak długo, jak długo zmienna rest będzie większa "
+"od zera. Wewnątrz pętli najpierw należy wywołać funkcję Part ("
+"zobacz powyżej), a następnie odjąć 5m od długości L."
#. type: \s; block (usually verbatim code)
#: train602-help/tproc2.txt:27
@@ -117,6 +138,15 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"extern void object::Funkcja2( )\n"
+"{\n"
+"\tfloat\trest = 25;\n"
+"\twhile ( rest > 0 )\n"
+"\t{\n"
+"\t\tPart(rest);\n"
+"\t\trest = rest-5;\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train602-help/tproc2.txt:29
@@ -127,12 +157,15 @@ msgid ""
"of the variable rest to zero, and the while loop "
"will stop."
msgstr ""
+"Funkcja Part zostanie po raz ostatni wywołana z wartością "
+"5. Następnie wyrażenie rest-5 przypisze zmiennej "
+"rest wartość zero i pętla while zatrzyma się."
#. type: \b; header
#: train602-help/tproc2.txt:30
#, no-wrap
msgid "Remark"
-msgstr ""
+msgstr "Uwaga"
#. type: Plain text
#: train602-help/tproc2.txt:32
@@ -144,12 +177,16 @@ msgid ""
"functions in the program does not matter, you can write a program either "
"way."
msgstr ""
+"Można zauważyć, że w poprzednim ćwiczeniu główna funkcja była na początku "
+"programu, podczas gdy w tym ćwiczeniu jest ona na końcu programu, za funkcją "
+"Part. Kolejność funkcji w programie nie ma znaczenia, można je "
+"uszeregować dowolnie."
#. type: \t; header
#: train602-help/tproc2.txt:33
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train602-help/tproc2.txt:34
@@ -158,3 +195,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train603/po/pl.po b/levels/train603/po/pl.po
index 915958a7..74bf2e59 100644
--- a/levels/train603/po/pl.po
+++ b/levels/train603/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train603.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train603/scene.txt:1
#, no-wrap
msgid "train603:Remote control #2"
-msgstr ""
+msgstr "train603:Zdalna kontrola #2"
#. type: Resume-text
#: train603/scene.txt:2
@@ -35,18 +35,20 @@ msgid ""
"train603:Remote control a robot using an information exchange post, so it "
"will pass over the 6 blue waypoints."
msgstr ""
+"Kontoluj robota zdalnie używając stacji przekaźnikowej, aby przeszedł on "
+"przez 6 niebieskich plusów"
#. type: ScriptName-text
#: train603/scene.txt:3
#, no-wrap
msgid "train603:remote"
-msgstr ""
+msgstr "train603:Zdalnie"
#. type: \b; header
#: train603-help/tremote2.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train603-help/tremote2.txt:4
@@ -56,6 +58,9 @@ msgid ""
"post, so it will pass over the 6 blue waypoints.\n"
"The main actors of this exercise are¦:"
msgstr ""
+"Zaprogramuj zdalnie robota używając stacji przekaźnikowej "
+"informacji, aby przeszedł on przez 6 punktów kontrolnych.\n"
+"Głównymi postaciami tego ćwiczenia są¦:"
#. type: Bullet: '1)'
#: train603-help/tremote2.txt:5
@@ -64,6 +69,8 @@ msgid ""
"A wheeled grabber robot without an energy cell. This is "
"the master you have to program."
msgstr ""
+"Transporter na kołach bez ogniwa elektrycznego. Jest to "
+"robot nadrzędny, którego musisz zaprogramować."
#. type: Bullet: '2)'
#: train603-help/tremote2.txt:6
@@ -72,6 +79,8 @@ msgid ""
"An information exchange post that receives "
"information from the master and then transmits it to the slave."
msgstr ""
+"Stacja przekaźnikowa informacji, otrzymująca "
+"informacje od nadawcy i przekazująca je do odbiorcy."
#. type: Bullet: '3)'
#: train603-help/tremote2.txt:7
@@ -80,12 +89,14 @@ msgid ""
"A practice bot which waits for orders from the exchange "
"post. This robot has already been programmed."
msgstr ""
+"Robot treningowy czekający na rozkazy ze stacji "
+"przekaźnikowej. Ten robot został już zaprogramowany."
#. type: Image filename
#: train603-help/tremote2.txt:9
#, no-wrap
msgid "tremot2a"
-msgstr ""
+msgstr "tremot2a"
#. type: Plain text
#: train603-help/tremote2.txt:11
@@ -94,18 +105,20 @@ msgid ""
"An information exchange post stores \"name/value\" couples. To control the "
"\"slave\" robot we use two couples¦:"
msgstr ""
+"Stacja przekaźnikowa informacji przechowuje pary \"nazwa/wartość\". Aby "
+"kontrolować robota podległego należy użyć dwóch par¦:"
#. type: Bullet: '1)'
#: train603-help/tremote2.txt:12
#, no-wrap
msgid "name=\"order\", value=order number"
-msgstr ""
+msgstr "nazwa=\"order\", wartosc=numer rozkazu"
#. type: Bullet: '2)'
#: train603-help/tremote2.txt:13
#, no-wrap
msgid "nom=\"param\", valuer=parameter for the operation"
-msgstr ""
+msgstr "nom=\"param\", wartoscr=parametr dla rozkazu"
#. type: Plain text
#: train603-help/tremote2.txt:17
@@ -116,12 +129,16 @@ msgid ""
"meters write¦:\n"
"\tsend(\"order\", 1, 100); // order \"move\""
msgstr ""
+"Rozkaz numer 1 oznacza \"move\" a rozkaz numer 2 oznacza \"turn\". Parametr "
+"jest długością ruchu lub kątem obrotu. Na przykład robota podległego można "
+"przemieścić o 20 metrów pisząc¦:\n"
+"\tsend(\"order\", 1, 100); // rozkaz \"move\""
#. type: \s; block (usually verbatim code)
#: train603-help/tremote2.txt:18
#, no-wrap
msgid "\tsend(\"param\", 20, 100); // distance 20 meters"
-msgstr ""
+msgstr "\tsend(\"param\", 20, 100); // odległość 20 metrów"
#. type: Plain text
#: train603-help/tremote2.txt:22
@@ -132,6 +149,10 @@ msgid ""
" order=1\n"
" param=20"
msgstr ""
+"Te dwie instrukcje wysyłają następujące informacje do stacji przekaźnikowej¦:"
+"\n"
+" order=1\n"
+" param=20"
#. type: Plain text
#: train603-help/tremote2.txt:25
@@ -145,6 +166,13 @@ msgid ""
"\twhile ( testinfo(\"order\", 100) ) // wait "
"for end of work"
msgstr ""
+"Robot podległy czeka na rozkaz i wykonuje go. Po wykonaniu rozkazu, zostanie "
+"on usunięty ze stacji przekaźnikowej. Po wysłaniu rozkazu, robot nadrzędny "
+"musi poczekać na wykonanie rozkazu przed wysłaniem następnego. Można to "
+"zrobić, sprawdzając czy rozkaz wciąż jest w stacji przekaźnikowej. Wystarczy "
+"napisać¦:\n"
+"\twhile ( testinfo(\"order\", 100) ) // czekaj "
+"na koniec pracy"
#. type: \s; block (usually verbatim code)
#: train603-help/tremote2.txt:28
@@ -154,6 +182,9 @@ msgid ""
"\t\twait(1);\n"
"\t}"
msgstr ""
+"\t{\n"
+"\t\twait(1);\n"
+"\t}"
#. type: Plain text
#: train603-help/tremote2.txt:31
@@ -164,6 +195,10 @@ msgid ""
"wait for its completion¦:\n"
"void object::SendToPost(float order, float param)"
msgstr ""
+"Ponieważ konieczne jest wydanie więcej niż jednego rozkazu, przydatne będzie "
+"napisanie funkcjiSendToPost, która wysyła "
+"rozkaz i czeka na jego wykonanie¦:\n"
+"void object::SendToPost(float order, float param)"
#. type: \s; block (usually verbatim code)
#: train603-help/tremote2.txt:40
@@ -179,6 +214,15 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"{\n"
+"\tsend(\"param\", param, 100); // wyślij parametr\n"
+"\tsend(\"order\", order, 100); // wyślij rozkaz\n"
+"\n"
+"\twhile ( testinfo(\"order\", 100) ) // czekaj na koniec pracy\n"
+"\t{\n"
+"\t\twait(1);\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train603-help/tremote2.txt:43
@@ -187,30 +231,33 @@ msgid ""
"To move forward by 20 meters, you must write in the main program¦:\n"
"\tSendToPost(1, 20); // move(20);"
msgstr ""
+"Aby przemieścić robota o 20 metrów naprzód, należy napisać w głównym "
+"programie¦:\n"
+"\tSendToPost(1, 20); // move(20);"
#. type: Plain text
#: train603-help/tremote2.txt:45
#, no-wrap
msgid "This is the route the robot must travel through¦:"
-msgstr ""
+msgstr "Oto droga, którą powinien podróżować robot¦:"
#. type: Image filename
#: train603-help/tremote2.txt:46
#, no-wrap
msgid "tremot2b"
-msgstr ""
+msgstr "tremot2b"
#. type: Plain text
#: train603-help/tremote2.txt:48
#, no-wrap
msgid "It's up to you to finish the programming."
-msgstr ""
+msgstr "Do Ciebie należy dokończenie programu."
#. type: \t; header
#: train603-help/tremote2.txt:49
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train603-help/tremote2.txt:50
@@ -219,3 +266,5 @@ msgid ""
"Programming, types and categories."
msgstr ""
+"Programowanie, typy i kategorie."
diff --git a/levels/train7-po/pl.po b/levels/train7-po/pl.po
index b2170810..30124075 100644
--- a/levels/train7-po/pl.po
+++ b/levels/train7-po/pl.po
@@ -20,10 +20,10 @@ msgstr ""
#: train7.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-resume
#: train7/train700.txt:1 train7/train700.txt:1
#, no-wrap
msgid "train700:Classes"
-msgstr ""
+msgstr "train700:Klasy"
diff --git a/levels/train701/po/pl.po b/levels/train701/po/pl.po
index 183a9774..f644300c 100644
--- a/levels/train701/po/pl.po
+++ b/levels/train701/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train701.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train701/scene.txt:1
#, no-wrap
msgid "train701:Remote control #3"
-msgstr ""
+msgstr "train701:Zdalna kontrola #3"
#. type: Resume-text
#: train701/scene.txt:2
@@ -35,18 +35,20 @@ msgid ""
"train701:Remote control a bot without using an information exchange post by "
"using a string."
msgstr ""
+"train701:Zdalnie kontroluj robota bez użycia stacji przekaźnikowej używając "
+"zmiennej zawierającej tekst."
#. type: ScriptName-text
#: train701/scene.txt:3
#, no-wrap
msgid "train701:Remote3"
-msgstr ""
+msgstr "train701:Zdalnie3"
#. type: \b; header
#: train701-help/tremote3.txt:1
#, no-wrap
msgid "Exercice"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train701-help/tremote3.txt:3
@@ -62,12 +64,21 @@ msgid ""
"cbot|static>static class member that will be used to communicate "
"from the master to the slave."
msgstr ""
+"Zdalnie pokieruj robotem bez używania stacji "
+"przekaźnikowej informacji. Robot powinien przejść przez 6 niebieskich "
+"plusów. Musisz użyć łańcucha do przekazania rozkazów "
+"podległemu robotowi. Łańcuch zawiera rozkaz, który powinien być wykonany "
+"przez tego robota, na przykład \"move(20)\". Możesz użyć tej "
+"samej składni co w języku CBOT, choć możesz też wybrać dowolną inną, na "
+"przykład podobną do tej: \"advance=20\". Łańcuch będzie "
+"elementem klasy zdefiniowanym jako static, "
+"używanym do komunikacji pomiędzy robotem nadrzędnym i podległym."
#. type: Plain text
#: train701-help/tremote3.txt:5
#, no-wrap
msgid "The two main actors of this exercise are:\n"
-msgstr ""
+msgstr "Dwoma głównymi postaciami tego ćwiczenia są¦:\n"
#. type: Bullet: '1)'
#: train701-help/tremote3.txt:5
@@ -77,6 +88,9 @@ msgid ""
"immobile. This is the master you should program so it will transmit orders "
"to the slave."
msgstr ""
+"Transporter na kołach bez ogniwa elektrycznego, wobec "
+"czego unieruchomiony. Jest to robot nadrzędny, który powinien zostać "
+"zaprogramowany aby mógł przesyłać rozkazy do podległego mu robota."
#. type: Bullet: '2)'
#: train701-help/tremote3.txt:6
@@ -85,12 +99,14 @@ msgid ""
"The slave practice bot which is already programmed and "
"just waits for orders from the master."
msgstr ""
+"Podległy robot treningowy, który jest już zaprogramowany "
+"i tylko czeka na rozkazy od robota nadrzędnego."
#. type: \b; header
#: train701-help/tremote3.txt:8
#, no-wrap
msgid "The slave"
-msgstr ""
+msgstr "Robot podległy"
#. type: Plain text
#: train701-help/tremote3.txt:10
@@ -104,12 +120,18 @@ msgid ""
"m_order is shared between all instances of the class exchange."
msgstr ""
+"Najpierw musisz zrozumieć jak działa program robota podległego. Klasaexchange zawiera mechanizmy przekazywania "
+"rozkazów. Należy zadeklarować element klasy m_order jako <"
+"a cbot|static>static, będzie on zawierał rozkazy do wykonania. "
+"Słowo static zapewnia, że element m_order jest "
+"współużytkowany przez wszystkie instancje klasy exchange."
#. type: Plain text
#: train701-help/tremote3.txt:12
#, no-wrap
msgid "publicclass exchange"
-msgstr ""
+msgstr "publicclass exchange"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:14
@@ -119,6 +141,9 @@ msgid ""
"\tstaticprivatestring m_order = \"\";"
msgstr ""
+"{\n"
+"\tstaticprivatestring m_order = \"\";"
#. type: Plain text
#: train701-help/tremote3.txt:16
@@ -129,6 +154,10 @@ msgid ""
"empty, the slave has not finished the order and the put method "
"will return false and will do nothing."
msgstr ""
+"Metoda put będzie używana przez robota nadrzędnego do "
+"przesyłania rozkazów. Jeśli łańcuch m_order nie jest pusty, "
+"robot podległy nie zakończył wykonywania rozkazu a metoda put "
+"zwróci wartość false i niczego nie zrobi."
#. type: Plain text
#: train701-help/tremote3.txt:18
@@ -137,6 +166,8 @@ msgid ""
"\tsynchronizedbool put(string "
"order)"
msgstr ""
+"\tsynchronizedbool put(string "
+"order)"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:29
@@ -154,6 +185,17 @@ msgid ""
"\t\t}\n"
"\t}"
msgstr ""
+"\t{\n"
+"\t\tif ( m_order == \"\" )\n"
+"\t\t{\n"
+"\t\t\tm_order = order;\n"
+"\t\t\treturn true;\n"
+"\t\t}\n"
+"\t\telse\n"
+"\t\t{\n"
+"\t\t\treturn false;\n"
+"\t\t}\n"
+"\t}"
#. type: Plain text
#: train701-help/tremote3.txt:31
@@ -163,12 +205,15 @@ msgid ""
"orders. This method returns the string contained in m_order and "
"empties it, so a new order can be accepted:"
msgstr ""
+"Inna metoda get zostanie użyta przez robota podległego do "
+"pobrania rozkazów. Metoda ta zwraca łańcuch zawarty w zmiennej "
+"m_order i opróżnia ją, aby mógł być przyjęty nowy rozkaz:"
#. type: Plain text
#: train701-help/tremote3.txt:33
#, no-wrap
msgid "\tsynchronized string get()"
-msgstr ""
+msgstr "\tsynchronized string get()"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:39
@@ -181,6 +226,12 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"\t{\n"
+"\t\tstring ret = m_order;\n"
+"\t\tm_order = \"\";\n"
+"\t\treturn ret;\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train701-help/tremote3.txt:41
@@ -189,12 +240,14 @@ msgid ""
"The main program of the slave contains an instance of the class "
"exchange called list."
msgstr ""
+"Główny program niewolnika zawiera instancję klasy exchange "
+"nazwaną list."
#. type: Plain text
#: train701-help/tremote3.txt:43
#, no-wrap
msgid "extern void object::Slave3( )"
-msgstr ""
+msgstr "extern void object::Slave3( )"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:46
@@ -204,6 +257,9 @@ msgid ""
"\texchange list();\n"
"\tstring todo;"
msgstr ""
+"{\n"
+"\texchange list();\n"
+"\tstring todo;"
#. type: Plain text
#: train701-help/tremote3.txt:48
@@ -214,12 +270,16 @@ msgid ""
"method of the exchange class. As soon as get "
"returns a non empty string, the while loop stops."
msgstr ""
+"Zewnętrzna pętla while działa w nieskończoność. Wewnętrzna "
+"pętla while czeka na rozkaz używając metody get z "
+"klasy exchange. Pętla zatrzymuje się gdy metoda get"
+" zwróci pusty łańcuch."
#. type: Plain text
#: train701-help/tremote3.txt:50
#, no-wrap
msgid "\twhile ( true )"
-msgstr ""
+msgstr "\twhile ( true )"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:57
@@ -233,6 +293,13 @@ msgid ""
"\t\t\twait(1);\n"
"\t\t}"
msgstr ""
+"\t{\n"
+"\t\twhile ( true )\n"
+"\t\t{\n"
+"\t\t\ttodo = list.get();\n"
+"\t\t\tif ( todo != \"\" ) break;\n"
+"\t\t\twait(1);\n"
+"\t\t}"
#. type: Plain text
#: train701-help/tremote3.txt:59
@@ -241,12 +308,14 @@ msgid ""
"Now we have received the order in the todo variable. All we "
"have to do is execute it:"
msgstr ""
+"Po otrzymaniu rozkazu i zapisaniu go w zmiennej todo wystarczy "
+"jedynie go wykonać:"
#. type: Plain text
#: train701-help/tremote3.txt:61
#, no-wrap
msgid "\t\tif ( strfind(todo, \"move\") == 0 )"
-msgstr ""
+msgstr "\t\tif ( strfind(todo, \"move\") == 0 )"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:70
@@ -262,12 +331,21 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"\t\t{\n"
+"\t\t\tmove(strval(strmid(todo,5)));\n"
+"\t\t}\n"
+"\t\tif ( strfind(todo, \"turn\") == 0 )\n"
+"\t\t{\n"
+"\t\t\tturn(strval(strmid(todo,5)));\n"
+"\t\t}\n"
+"\t}\n"
+"}"
#. type: \b; header
#: train701-help/tremote3.txt:71
#, no-wrap
msgid "The master"
-msgstr ""
+msgstr "Robot nadrzędny"
#. type: Plain text
#: train701-help/tremote3.txt:73
@@ -276,12 +354,14 @@ msgid ""
"In the master we write an function called SendOrder which will "
"send an order to the slave:"
msgstr ""
+"W robocie nadrzędnym należy napisać funkcję nazwaną SendOrder, "
+"która wyśle rozkaz do robota podległego:"
#. type: Plain text
#: train701-help/tremote3.txt:75
#, no-wrap
msgid "void object::SendOrder(string order)"
-msgstr ""
+msgstr "void object::SendOrder(string order)"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:83
@@ -296,6 +376,14 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"{\n"
+"\texchange list();\n"
+"\t\n"
+"\twhile ( list.put(order) == false )\n"
+"\t{\n"
+"\t\twait(1);\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train701-help/tremote3.txt:86
@@ -305,12 +393,15 @@ msgid ""
"that is the slaved has exited from the get method.\n"
"Now the main program of the master is very simple:"
msgstr ""
+"Pętla while czeka na zakończenie oczekującego rozkazu, czyli na "
+"wyjście przez robota podległego z metody get.\n"
+"Główny program robota nadrzędnego jest bardzo prosty:"
#. type: Plain text
#: train701-help/tremote3.txt:88
#, no-wrap
msgid "extern void object::Remote3( )"
-msgstr ""
+msgstr "extern void object::Remote3( )"
#. type: \s; block (usually verbatim code)
#: train701-help/tremote3.txt:99
@@ -328,21 +419,34 @@ msgid ""
"\tSendOrder(\"move(10)\");\n"
"}"
msgstr ""
+"{\n"
+"\tSendOrder(\"move(20)\");\n"
+"\tSendOrder(\"turn(90)\");\n"
+"\tSendOrder(\"move(20)\");\n"
+"\tSendOrder(\"turn(90)\");\n"
+"\tSendOrder(\"move(10)\");\n"
+"\tSendOrder(\"turn(90)\");\n"
+"\tSendOrder(\"move(10)\");\n"
+"\tSendOrder(\"turn(-90)\");\n"
+"\tSendOrder(\"move(10)\");\n"
+"}"
#. type: Plain text
#: train701-help/tremote3.txt:101
#, no-wrap
msgid " show these instruction at any time."
msgstr ""
+"Klawisz umożliwia wyświetlenie tych "
+"informacji w dowolnej chwili."
#. type: \t; header
#: train701-help/tremote3.txt:102
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train701-help/tremote3.txt:103
#, no-wrap
msgid "Controls and programming."
-msgstr ""
+msgstr "Sterowanie i programowanie."
diff --git a/levels/train702/po/pl.po b/levels/train702/po/pl.po
index 66e395e7..0f9ed02a 100644
--- a/levels/train702/po/pl.po
+++ b/levels/train702/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train702.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train702/scene.txt:1
#, no-wrap
msgid "train702:Remote control #4"
-msgstr ""
+msgstr "train702:Zdalna kontrola #4"
#. type: Resume-text
#: train702/scene.txt:2
@@ -35,18 +35,20 @@ msgid ""
"train702:Remote control a bot without using an information exchange post by "
"defining a class for the orders."
msgstr ""
+"train702:Zdalnie kontroluj robota bez użycia stacji przekaźnikowej "
+"definiując klasę z rozkazami."
#. type: ScriptName-text
#: train702/scene.txt:3
#, no-wrap
msgid "train702:Remote4"
-msgstr ""
+msgstr "train702:Zdalnie4"
#. type: \b; header
#: train702-help/tremote4.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train702-help/tremote4.txt:3
@@ -57,12 +59,16 @@ msgid ""
"use a static variable to pass the orders to "
"the slave bot."
msgstr ""
+"Pokieruj zdalnie robotem podległym bez używania stacji "
+"przekaźnikowej informacji. Robot powinien przejść przez 6 niebieskich "
+"plusów. Musisz użyć zmiennej zadeklarowanej jako static do przekazania rozkazów robotowi podległemu."
#. type: Plain text
#: train702-help/tremote4.txt:5
#, no-wrap
msgid "The two main actors of this exercise are:\n"
-msgstr ""
+msgstr "Dwoma głównymi postaciami tego ćwiczenia są¦:\n"
#. type: Bullet: '1)'
#: train702-help/tremote4.txt:5
@@ -72,6 +78,9 @@ msgid ""
"immobile. This is the master you should program so it will transmit orders "
"to the slave."
msgstr ""
+"Transporter na kołach bez ogniwa elektrycznego, wobec "
+"czego unieruchomiony. Jest to robot nadrzędny, który powinien zostać "
+"zaprogramowany aby mógł przesyłać rozkazy do podległego mu robota."
#. type: Bullet: '2)'
#: train702-help/tremote4.txt:6
@@ -80,12 +89,14 @@ msgid ""
"The slave practice bot which is already programmed and "
"just waits for orders from the master."
msgstr ""
+"Podległy robot treningowy, który jest już zaprogramowany "
+"i tylko czeka na rozkazy od robota nadrzędnego."
#. type: \b; header
#: train702-help/tremote4.txt:8
#, no-wrap
msgid "The slave"
-msgstr ""
+msgstr "Robot podległy"
#. type: Plain text
#: train702-help/tremote4.txt:10
@@ -96,12 +107,16 @@ msgid ""
"m_type is the order to execute (move or turn) and "
"m_param is the distance to move or the rotation angle¦:"
msgstr ""
+"Najpierw musimy zrozumieć jak działa program robota podległego. Klasaorder zawiera dwa elementy: "
+"m_type jest rozkazem do wykonania (move lub turn), a "
+"m_param jest odległością do pokonania lub kątem obrotu¦:"
#. type: Plain text
#: train702-help/tremote4.txt:12
#, no-wrap
msgid "publicclass order"
-msgstr ""
+msgstr "publicclass order"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:16
@@ -112,6 +127,10 @@ msgid ""
"\tfloat m_param;\n"
"}"
msgstr ""
+"{\n"
+"\tint m_type = nan;\n"
+"\tfloat m_param;\n"
+"}"
#. type: Plain text
#: train702-help/tremote4.txt:18
@@ -124,12 +143,18 @@ msgid ""
"the member m_order is shared between all instances of the class exchange."
msgstr ""
+"Druga klasaexchange zawiera mechanizm "
+"przekazywania rozkazów. Deklarujemy jako static element klasy m_order, który "
+"będzie zawierał rozkaz do wykonania. Słowo static zapewnia, że "
+"element m_order będzie współużytkowany przez wszystkie "
+"instancje klasy exchange."
#. type: Plain text
#: train702-help/tremote4.txt:20
#, no-wrap
msgid "publicclass exchange"
-msgstr ""
+msgstr "publicclass exchange"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:22
@@ -139,6 +164,9 @@ msgid ""
"\tstaticprivate order m_order = new "
"order;"
msgstr ""
+"{\n"
+"\tstaticprivate order m_order = new "
+"order;"
#. type: Plain text
#: train702-help/tremote4.txt:24
@@ -150,6 +178,11 @@ msgid ""
"the put method will return false and will do "
"nothing¦:"
msgstr ""
+"Metoda put będzie używana przez robota nadrzędnego do "
+"przesyłania rozkazów. Jeśli zmienna m_order jest różna od "
+"nan, robot podległy nie zakończył wykonywania "
+"rozkazu a metoda put zwróci wartość false i "
+"niczego nie zrobi¦:"
#. type: Plain text
#: train702-help/tremote4.txt:26
@@ -158,6 +191,7 @@ msgid ""
"\tsynchronizedbool put(order "
"a)"
msgstr ""
+"\tsynchronizedbool put(order a)"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:37
@@ -175,6 +209,17 @@ msgid ""
"\t\t}\n"
"\t}"
msgstr ""
+"\t{\n"
+"\t\tif ( m_order.m_type == nan )\n"
+"\t\t{\n"
+"\t\t\tm_order = a;\n"
+"\t\t\treturn true;\n"
+"\t\t}\n"
+"\t\telse\n"
+"\t\t{\n"
+"\t\t\treturn false;\n"
+"\t\t}\n"
+"\t}"
#. type: Plain text
#: train702-help/tremote4.txt:39
@@ -183,12 +228,14 @@ msgid ""
"Another method get will be used by the slave to retrieve the "
"orders. This method returns the order to be executed:"
msgstr ""
+"Kolejna metoda get będzie używana przez robota podległego do "
+"otrzymywania rozkazów. Metoda ta jako wynik zwraca rozkaz do wykonania:"
#. type: Plain text
#: train702-help/tremote4.txt:41
#, no-wrap
msgid "\tsynchronized order get()"
-msgstr ""
+msgstr "\tsynchronized order get()"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:44
@@ -198,6 +245,9 @@ msgid ""
"\t\treturn m_order;\n"
"\t}"
msgstr ""
+"\t{\n"
+"\t\treturn m_order;\n"
+"\t}"
#. type: Plain text
#: train702-help/tremote4.txt:46
@@ -206,12 +256,14 @@ msgid ""
"A third method delete will be used by the slave to indicate "
"that the order has been executed:"
msgstr ""
+"Trzecia metoda delete będzie używana przez robota podległego do "
+"zaznaczenia, że rozkaz został wykonany:"
#. type: Plain text
#: train702-help/tremote4.txt:48
#, no-wrap
msgid "\tsynchronized void delete()"
-msgstr ""
+msgstr "\tsynchronized void delete()"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:52
@@ -222,6 +274,10 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"\t{\n"
+"\t\tm_order.m_type = nan;\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train702-help/tremote4.txt:54
@@ -232,12 +288,16 @@ msgid ""
"list in order to create an instance of the class "
"exchange."
msgstr ""
+"Główny program robota podległego zawiera instancję klasy "
+"exchange nazwaną list. Po słowie list "
+"należy napisać nawiasy (), w celu utworzenia instancji klasy "
+"exchange."
#. type: Plain text
#: train702-help/tremote4.txt:56
#, no-wrap
msgid "extern void object::Slave3( )"
-msgstr ""
+msgstr "extern void object::Slave3( )"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:59
@@ -247,6 +307,9 @@ msgid ""
"\texchange list();\n"
"\torder todo;"
msgstr ""
+"{\n"
+"\texchange list();\n"
+"\torder todo;"
#. type: Plain text
#: train702-help/tremote4.txt:61
@@ -257,12 +320,16 @@ msgid ""
"method of the exchange class. As soon as get "
"returns a value different from nan, the while loop stops."
msgstr ""
+"Zewnętrzna pętla while działa w nieskończoność. Wewnętrzna "
+"pętla while czeka na rozkaz używając metody get z "
+"klasy exchange. Pętla zatrzymuje się gdy get "
+"zwróci wartość różną od nan."
#. type: Plain text
#: train702-help/tremote4.txt:63
#, no-wrap
msgid "\twhile ( true )"
-msgstr ""
+msgstr "\twhile ( true )"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:70
@@ -276,6 +343,13 @@ msgid ""
"\t\t\twait(1);\n"
"\t\t}"
msgstr ""
+"\t{\n"
+"\t\twhile ( true )\n"
+"\t\t{\n"
+"\t\t\ttodo = list.get();\n"
+"\t\t\tif ( todo.m_type != nan ) break;\n"
+"\t\t\twait(1);\n"
+"\t\t}"
#. type: Plain text
#: train702-help/tremote4.txt:72
@@ -284,12 +358,14 @@ msgid ""
"Now we have received the order in the todo variable. All we "
"have to do is execute it:"
msgstr ""
+"Po otrzymaniu rozkazu i zapisaniu go w zmiennej todo wystarczy "
+"jedynie go wykonać:"
#. type: Plain text
#: train702-help/tremote4.txt:74
#, no-wrap
msgid "\t\tif ( todo.m_type == 1 )"
-msgstr ""
+msgstr "\t\tif ( todo.m_type == 1 )"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:85
@@ -307,6 +383,17 @@ msgid ""
"\t\t\tmessage(\"Unknown order\");\n"
"\t\t}"
msgstr ""
+"\t\t{\n"
+"\t\t\tmove(todo.m_param);\n"
+"\t\t}\n"
+"\t\telse if ( todo.m_type == 2 )\n"
+"\t\t{\n"
+"\t\t\tturn(todo.m_param);\n"
+"\t\t}\n"
+"\t\telse\n"
+"\t\t{\n"
+"\t\t\tmessage(\"Nieznany rozkaz\");\n"
+"\t\t}"
#. type: Plain text
#: train702-help/tremote4.txt:87
@@ -316,12 +403,14 @@ msgid ""
"delete method so the master knows that another order can be "
"sent¦:"
msgstr ""
+"Po zakończeniu wykonywania rozkazu, należy wywołać metodę delete"
+", aby powiadomić robota nadrzędnego, że może już przesłać następny rozkaz¦:"
#. type: Plain text
#: train702-help/tremote4.txt:89
#, no-wrap
msgid "\t\tlist.delete();"
-msgstr ""
+msgstr "\t\tlist.delete();"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:91
@@ -330,12 +419,14 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"\t}\n"
+"}"
#. type: \b; header
#: train702-help/tremote4.txt:92
#, no-wrap
msgid "The master"
-msgstr ""
+msgstr "Robot nadrzędny"
#. type: Plain text
#: train702-help/tremote4.txt:94
@@ -344,12 +435,14 @@ msgid ""
"In the master we write an function called SendOrder which will "
"send an order to the slave:"
msgstr ""
+"W robocie nadrzędnym należy napisać funkcję nazwaną SendOrder, "
+"która wyśle rozkaz do robota podległego:"
#. type: Plain text
#: train702-help/tremote4.txt:96
#, no-wrap
msgid "void object::SendOrder(float order, float param)"
-msgstr ""
+msgstr "void object::SendOrder(float order, float param)"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:108
@@ -368,6 +461,18 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"{\n"
+"\texchange list();\n"
+"\torder todo();\n"
+"\t\n"
+"\ttodo.m_type = order;\n"
+"\ttodo.m_param = param;\n"
+"\t\n"
+"\twhile ( list.put(todo) == false )\n"
+"\t{\n"
+"\t\twait(1);\n"
+"\t}\n"
+"}"
#. type: Plain text
#: train702-help/tremote4.txt:111
@@ -378,12 +483,16 @@ msgid ""
"delete method has been called.\n"
"Now the main program of the master is very simple:"
msgstr ""
+"Pętla while czeka na zakończenie oczekującego rozkazu, czyli na "
+"wyjście przez robota podległego z metody get i wywołanie metody "
+"delete.\n"
+"Główny program robota nadrzędnego jest bardzo prosty:"
#. type: Plain text
#: train702-help/tremote4.txt:113
#, no-wrap
msgid "extern void object::Remote4( )"
-msgstr ""
+msgstr "extern void object::Remote4( )"
#. type: \s; block (usually verbatim code)
#: train702-help/tremote4.txt:124
@@ -401,21 +510,34 @@ msgid ""
"\tSendOrder(1, 10); // move(10);\n"
"}"
msgstr ""
+"{\n"
+"\tSendOrder(1, 20); // move(20);\n"
+"\tSendOrder(2, 90); // turn(90);\n"
+"\tSendOrder(1, 20); // move(20);\n"
+"\tSendOrder(2, 90); // turn(90);\n"
+"\tSendOrder(1, 10); // move(10);\n"
+"\tSendOrder(2, 90); // turn(90);\n"
+"\tSendOrder(1, 10); // move(10);\n"
+"\tSendOrder(2,-90); // turn(-90);\n"
+"\tSendOrder(1, 10); // move(10);\n"
+"}"
#. type: Plain text
#: train702-help/tremote4.txt:126
#, no-wrap
msgid " show these instruction at any time."
msgstr ""
+"Klawisz umożliwia wyświetlenie tych "
+"informacji w dowolnej chwili."
#. type: \t; header
#: train702-help/tremote4.txt:128
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train702-help/tremote4.txt:129
#, no-wrap
msgid "Controls and programming."
-msgstr ""
+msgstr "Sterowanie i programowanie."
diff --git a/levels/train703/po/pl.po b/levels/train703/po/pl.po
index d23b040f..eff0b105 100644
--- a/levels/train703/po/pl.po
+++ b/levels/train703/po/pl.po
@@ -20,13 +20,13 @@ msgstr ""
#: train703.languagecode:1
#, no-wrap
msgid "E"
-msgstr ""
+msgstr "P"
#. type: Title-text
#: train703/scene.txt:1
#, no-wrap
msgid "train703:Remote control #5"
-msgstr ""
+msgstr "train703:Zdalna kontrola #5"
#. type: Resume-text
#: train703/scene.txt:2
@@ -35,18 +35,20 @@ msgid ""
"train703:Remote control a bot without using an information exchange post by "
"storing the orders."
msgstr ""
+"train703:Zdalnie kontroluj robota bez użycia stacji przekaźnikowej "
+"zachowując rozkazy"
#. type: ScriptName-text
#: train703/scene.txt:3
#, no-wrap
msgid "train703:Remote5"
-msgstr ""
+msgstr "train703:Zdalnie5"
#. type: \b; header
#: train703-help/tremote5.txt:1
#, no-wrap
msgid "Exercise"
-msgstr ""
+msgstr "Ćwiczenie"
#. type: Plain text
#: train703-help/tremote5.txt:3
@@ -55,12 +57,15 @@ msgid ""
"Remote control a slave robot without using an information "
"exchange post. The robot should pass over the 6 blue crosses. "
msgstr ""
+"Pokieruj zdalnie robotem podległym bez używania stacji "
+"przekaźnikowej informacji. Robot powinien przejść przez 6 niebieskich "
+"plusów. "
#. type: Plain text
#: train703-help/tremote5.txt:5
#, no-wrap
msgid "The two main actors of this exercise are:\n"
-msgstr ""
+msgstr "Dwoma głównymi postaciami tego ćwiczenia są¦:\n"
#. type: Bullet: '1)'
#: train703-help/tremote5.txt:5
@@ -70,6 +75,9 @@ msgid ""
"immobile. This is the master you should program so it will transmit orders "
"to the slave."
msgstr ""
+"Transporter na kołach bez ogniwa elektrycznego, wobec "
+"czego unieruchomiony. Jest to robot nadrzędny, który powinien zostać "
+"zaprogramowany aby mógł przesyłać rozkazy do podległego mu robota."
#. type: Bullet: '2)'
#: train703-help/tremote5.txt:6
@@ -78,6 +86,8 @@ msgid ""
"The slave practice bot which is already programmed and "
"just waits for orders from the master."
msgstr ""
+"Podległy robot treningowy, który jest już zaprogramowany "
+"i tylko czeka na rozkazy od robota nadrzędnego."
#. type: Plain text
#: train703-help/tremote5.txt:9
@@ -87,12 +97,15 @@ msgid ""
"orders without waiting for each order being processed. We use an array for this purpose."
msgstr ""
+"Rozkazy powinny być przechowywane, tak aby robot nadrzędny mógł wysłać wiele "
+"rozkazów bez czekania na przetworzenie każdego z nich. Do tego celu należy "
+"użyć tablicy."
#. type: \b; header
#: train703-help/tremote5.txt:10
#, no-wrap
msgid "The slave"
-msgstr ""
+msgstr "Robot podległy"
#. type: Plain text
#: train703-help/tremote5.txt:12
@@ -103,12 +116,16 @@ msgid ""
"m_type is the order to execute (move or turn) and "
"m_param is the distance to move or the rotation angle¦:"
msgstr ""
+"Najpierw musimy zrozumieć jak działa program robota podległego. Klasaorder zawiera dwa elementy: "
+"m_type jest rozkazem do wykonania (move lub turn), a "
+"m_param jest odległością do pokonania lub kątem obrotu¦:"
#. type: Plain text
#: train703-help/tremote5.txt:14
#, no-wrap
msgid "publicclass order"
-msgstr ""
+msgstr "publicclass order"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:18
@@ -119,6 +136,10 @@ msgid ""
"\tfloat m_param;\n"
"}"
msgstr ""
+"{\n"
+"\tint m_type;\n"
+"\tfloat m_param;\n"
+"}"
#. type: Plain text
#: train703-help/tremote5.txt:20
@@ -131,12 +152,18 @@ msgid ""
"insures that the member m_fifo is shared between all instances "
"of the class exchange."
msgstr ""
+"Druga klasaexchange zawiera mechanizm "
+"przekazywania rozkazów. Deklarujemy jako static element klasy m_fifo, który "
+"będzie zawierał listę rozkazów do wykonania. Słowo static "
+"zapewnia, że element m_fifo jest współużytkowany przez "
+"wszystkie instancje klasy exchange."
#. type: Plain text
#: train703-help/tremote5.txt:22
#, no-wrap
msgid "{"
-msgstr ""
+msgstr "{"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:23
@@ -145,6 +172,8 @@ msgid ""
"\tstaticprivate order m_fifo[] = "
"null;"
msgstr ""
+"\tstaticprivate order m_fifo[] = "
+"null;"
#. type: Plain text
#: train703-help/tremote5.txt:25
@@ -154,12 +183,15 @@ msgid ""
"transmitting an order. The order will simply be added at the end of the "
"m_fifo array:"
msgstr ""
+"Metoda put będzie używana przez robota nadrzędnego do "
+"przesyłania rozkazów. Rozkaz będzie dodawany na końcu tablicy "
+"m_fifo:"
#. type: Plain text
#: train703-help/tremote5.txt:27
#, no-wrap
msgid "\tsynchronized void put(order a)"
-msgstr ""
+msgstr "\tsynchronized void put(order a)"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:30
@@ -169,6 +201,9 @@ msgid ""
"\t\tm_fifo[sizeof(m_fifo)] = a;\n"
"\t}"
msgstr ""
+"\t{\n"
+"\t\tm_fifo[sizeof(m_fifo)] = a;\n"
+"\t}"
#. type: Plain text
#: train703-help/tremote5.txt:32
@@ -181,12 +216,19 @@ msgid ""
"remaining orders must be \"scrolled up\". As an array can not be "
"\"shortened\" we use a temporary array copy¦:"
msgstr ""
+"Kolejna metoda get będzie używana przez robota podległego do "
+"otrzymywania rozkazów. Metoda ta jako wynik zwraca rozkaz do wykonania. "
+"Jeśli lista jest pusta, zostanie zwrócona wartość null i robot "
+"powinien czekać na więcej rozkazów. W przeciwnym przypadku powinien zostać "
+"zwrócony pierwszy rozkaz na liście, a pozostałe muszą zostać \"przesunięte\""
+". Ponieważ tablica nie może być \"skrócona\", używamy pomocniczej tablicy "
+"copy¦:"
#. type: Plain text
#: train703-help/tremote5.txt:34
#, no-wrap
msgid "\tsynchronized order get()"
-msgstr ""
+msgstr "\tsynchronized order get()"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:46
@@ -205,6 +247,18 @@ msgid ""
"\t\treturn a;\n"
"\t}"
msgstr ""
+"\t{\n"
+"\t\tif ( sizeof(m_fifo) == 0 ) return null;\n"
+"\n"
+"\t\torder a = m_fifo[0];\n"
+"\t\torder copy[] = null;\n"
+"\t\tfor ( int i=1 ; ilist in order to create an instance of the class "
"exchange."
msgstr ""
+"Główny program robota podległego zawiera instancję klasy "
+"exchange nazwaną list. Po słowie list "
+"należy napisać nawiasy (), w celu utworzenia instancji klasy "
+"exchange."
#. type: Plain text
#: train703-help/tremote5.txt:50
#, no-wrap
msgid "extern void object::Slave5( )"
-msgstr ""
+msgstr "extern void object::Slave5( )"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:53
@@ -230,6 +288,9 @@ msgid ""
"\texchange list();\n"
"\torder todo;"
msgstr ""
+"{\n"
+"\texchange list();\n"
+"\torder todo;"
#. type: Plain text
#: train703-help/tremote5.txt:55
@@ -240,12 +301,16 @@ msgid ""
"method of the exchange class. As soon as get "
"returns a value different from null, the while loop stops."
msgstr ""
+"Zewnętrzna pętla while działa w nieskończoność. Wewnętrzna "
+"pętla while czeka na rozkaz używając metody get z "
+"klasy exchange. Pętla zatrzymuje się gdy metoda get"
+" zwróci wartość różną od null."
#. type: Plain text
#: train703-help/tremote5.txt:57
#, no-wrap
msgid "\twhile ( true )"
-msgstr ""
+msgstr "\twhile ( true )"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:64
@@ -259,6 +324,13 @@ msgid ""
"\t\t\twait(1);\n"
"\t\t}"
msgstr ""
+"\t{\n"
+"\t\twhile ( true )\n"
+"\t\t{\n"
+"\t\t\ttodo = list.get();\n"
+"\t\t\tif ( todo != null ) break;\n"
+"\t\t\twait(1);\n"
+"\t\t}"
#. type: Plain text
#: train703-help/tremote5.txt:66
@@ -267,12 +339,14 @@ msgid ""
"Now we have received the order in the todo variable. All we "
"have to do is execute it:"
msgstr ""
+"Po otrzymaniu rozkazu w zmiennej todo wystarczy tylko go "
+"wykonać:"
#. type: Plain text
#: train703-help/tremote5.txt:68
#, no-wrap
msgid "\t\tif ( todo.m_type == 1 )"
-msgstr ""
+msgstr "\t\tif ( todo.m_type == 1 )"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:81
@@ -292,12 +366,25 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"\t\t{\n"
+"\t\t\tmove(todo.m_param);\n"
+"\t\t}\n"
+"\t\telse if ( todo.m_type == 2 )\n"
+"\t\t{\n"
+"\t\t\tturn(todo.m_param);\n"
+"\t\t}\n"
+"\t\telse\n"
+"\t\t{\n"
+"\t\t\tmessage(\"Nieznany rozkaz\");\n"
+"\t\t}\n"
+"\t}\n"
+"}"
#. type: \b; header
#: train703-help/tremote5.txt:82
#, no-wrap
msgid "The master"
-msgstr ""
+msgstr "Robot nadrzędny"
#. type: Plain text
#: train703-help/tremote5.txt:84
@@ -306,12 +393,14 @@ msgid ""
"In the master we write a function called SendOrder which will "
"send an order to the slave:"
msgstr ""
+"W robocie nadrzędnym należy napisać funkcję nazwaną SendOrder, "
+"która wyśle rozkaz do robota podległego:"
#. type: Plain text
#: train703-help/tremote5.txt:86
#, no-wrap
msgid "void object::SendOrder(float order, float param)"
-msgstr ""
+msgstr "void object::SendOrder(float order, float param)"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:94
@@ -326,18 +415,26 @@ msgid ""
"\tlist.put(todo);\n"
"}"
msgstr ""
+"{\n"
+"\texchange list();\n"
+"\torder todo();\n"
+"\t\n"
+"\ttodo.m_type = order;\n"
+"\ttodo.m_param = param;\n"
+"\tlist.put(todo);\n"
+"}"
#. type: Plain text
#: train703-help/tremote5.txt:96
#, no-wrap
msgid "Now the main program of the master is very simple:"
-msgstr ""
+msgstr "Główny program robota nadrzędnego jest bardzo prosty:"
#. type: Plain text
#: train703-help/tremote5.txt:98
#, no-wrap
msgid "extern void object::Remote5( )"
-msgstr ""
+msgstr "extern void object::Remote5( )"
#. type: \s; block (usually verbatim code)
#: train703-help/tremote5.txt:109
@@ -355,21 +452,34 @@ msgid ""
"\tSendOrder(1, 10); // move(10);\n"
"}"
msgstr ""
+"{\n"
+"\tSendOrder(1, 20); // move(20);\n"
+"\tSendOrder(2, 90); // turn(90);\n"
+"\tSendOrder(1, 20); // move(20);\n"
+"\tSendOrder(2, 90); // turn(90);\n"
+"\tSendOrder(1, 10); // move(10);\n"
+"\tSendOrder(2, 90); // turn(90);\n"
+"\tSendOrder(1, 10); // move(10);\n"
+"\tSendOrder(2,-90); // turn(-90);\n"
+"\tSendOrder(1, 10); // move(10);\n"
+"}"
#. type: Plain text
#: train703-help/tremote5.txt:111
#, no-wrap
msgid " show these instruction at any time."
msgstr ""
+"Klawisz umożliwia wyświetlenie tych "
+"informacji w dowolnej chwili."
#. type: \t; header
#: train703-help/tremote5.txt:112
#, no-wrap
msgid "See also"
-msgstr ""
+msgstr "Zobacz również"
#. type: Plain text
#: train703-help/tremote5.txt:113
#, no-wrap
msgid "Controls and programming."
-msgstr ""
+msgstr "Sterowanie i programowanie."